Memory module with timing-controlled data buffering

Patent No. US10860506 (titled "Memory module with timing-controlled data buffering") on Apr 22, 2019. The application was issued on Dec 8, 2020.

What is this patent about?

’506 is related to the field of high-speed memory modules, specifically multi-rank dual in-line memory modules (DIMMs) that utilize a distributed buffering architecture. It addresses the technical challenges of maintaining signal integrity and precise timing synchronization as memory bus speeds increase and data windows shrink. The background context involves the difficulty of managing signal propagation delays and electrical loading across large numbers of memory chips, where traditional centralized control often fails to compensate for the physical distance between components on the module board.

The underlying idea behind ’506 is to decentralize the timing control by placing distributed buffer circuits directly between the memory controller and specific groups of memory devices. Instead of relying on the system memory controller to manage the complex flight-time variations of every individual chip, the invention shifts the responsibility to these local buffers. The key inventive insight is the use of a dynamic delay mechanism within each buffer that calculates the necessary timing offset based on signals observed during previous operations, effectively allowing the module to self-calibrate and align data edges locally.

The claims of ’506 focus on a memory module architecture where a central module control device manages command/address signals while a plurality of data buffers manage the data path. Specifically, the independent claims cover a mechanism where a data buffer receives module control signals and, in response, applies a predetermined delay to a read strobe signal received from a memory device. This delayed strobe is then used to sample the read data before it is transmitted to the system data bus, ensuring that the data is handed off to the memory controller with precise timing that accounts for board-level latencies.

In practice, the invention functions by having each buffer monitor the time interval between receiving a control signal from the module controller and receiving a strobe signal from the system controller during a write operation. This measured interval, which captures the unique physical propagation delay for that specific buffer's location on the board, is stored and used to program a delay circuit. When a subsequent read operation occurs, the buffer applies this learned timing to the outgoing data, ensuring the read data arrives at the memory controller exactly when expected according to the system's latency parameters.

This approach differs from prior solutions by moving away from fixed-length 'fly-by' wiring topologies or total reliance on the memory controller’s leveling capabilities. By implementing local synchronization at the buffer level, the invention mitigates the effects of process, voltage, and temperature variations that typically cause timing drift. Furthermore, it allows the module to support more memory ranks than the controller is natively designed to handle, as the buffers act as an abstraction layer that presents a simplified electrical load and a unified timing interface to the host system.

How does this patent fit in bigger picture?

Technical Landscape

In the early 2010s when ’506 was filed, memory module architectures were typically implemented using a fixed number of ranks directly addressed by a memory controller, where systems commonly relied on physical wire-length balancing to synchronize control and clock signals across memory devices. At a time when hardware constraints made increasing memory density non-trivial due to the limited number of chip-select signals supported by standard controllers, signal integrity and timing margins were managed through passive routing techniques. Engineering constraints related to electrical loading and propagation delays meant that as operating speeds increased, traditional leveling mechanisms in the memory controller were often insufficient to compensate for the skew introduced by high-density, multi-rank configurations.

Prosecution Position

The disclosed invention represents a technical advancement in memory architecture by integrating a localized control and timing management structure directly on the memory module to overcome the physical limitations of external memory controllers. This architectural shift enables the support of a higher number of memory ranks than the controller is natively designed to address, effectively decoupling the logical rank configuration from the physical device layout. By implementing localized signal distribution and timing compensation, the system achieves improved signal integrity and higher memory density without requiring the controller to manage the increased electrical load or complex timing skews associated with high-capacity modules.

Claims

The patent includes a total of 20 claims, with claims 1 and 14 serving as the independent claims. These independent claims focus on a memory module architecture and a corresponding method for managing memory read operations, specifically utilizing data buffers to delay read strobes by predetermined amounts based on signals from previous operations to sample and transmit read data. The dependent claims generally serve to further define the hardware configurations, such as bit widths and memory types, and detail specific operational enhancements including metastability detection, clock signal phase management, and the coordination of multiple data buffers and memory ranks.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Data buffers
(Claim 1, Claim 14)
The data buffers are coupled between the edge connections and the memory devices. Each data buffer is configurable to receive module control signals from the module control device. The data buffers function to sample read data from the memory devices using delayed read strobes and transmit that data to the data bus.Components mounted on the module board positioned between the edge connections and the memory devices that process read data and strobes, specifically capable of delaying strobes and sampling data based on control signals.
Delayed read strobe
(Claim 1, Claim 14)
A first data buffer is configurable to delay the first read strobe by a first predetermined amount to generate a first delayed read strobe. This delayed read strobe is then used to sample the first section of the read data. The delay amount is determined based at least on signals received by the first data buffer during one or more previous operations.A timing signal generated by shifting the phase or timing of a read strobe received from a memory device by a specific amount to ensure accurate sampling of read data.
First predetermined amount
(Claim 1, Claim 14)
The first predetermined amount is determined based at least on signals received by the first data buffer during one or more previous operations. This determination occurs before receiving the input C/A signals corresponding to the memory read operation. It is used to generate the delayed read strobe for sampling data.A specific delay value calculated or established during previous operations (such as training or leveling) used to adjust the timing of a read strobe.
Module control device
(Claim 1, Claim 14)
The module control device (also referred to as a module controller) receives C/A signals from the memory controller and outputs registered C/A signals to the memory devices. It also generates module control signals to control the operation of the data buffers. The module control device may include a register or a buffer to store and re-drive the C/A signals.A component on the memory module that receives input control and address (C/A) signals from a memory controller and generates registered C/A signals and module control signals to manage memory devices and data buffers.
Multiple ranks
(Claim 1, Claim 14)
The memory devices are organized in ranks, with each rank of memory devices generally having a bit width. A memory module can have multiple ranks to increase memory density. The registered C/A signals cause a selected rank of the multiple ranks to perform the memory read operation.Distinct groups of memory devices on the module board that are independently selectable for data access operations, where each rank typically matches the bit width of the data bus.
Registered C/A signals
(Claim 1, Claim 14)
The module control device is configurable to receive input C/A signals corresponding to a memory read operation and to output registered C/A signals in response. These registered C/A signals cause a selected rank of the multiple ranks to perform the memory read operation. They are conducted via module C/A signal lines to the memory devices.Control and address signals that have been processed, synchronized, or re-driven by the module control device before being sent to the memory devices to initiate operations.

Litigation Cases New

US Latest litigation cases involving this patent.

Case NumberFiling DateTitle
2:23-cv-00628Dec 22, 2023Netlist, Inc. v. Micron Technology, Inc. et al
2:22-cv-00203Jun 10, 2022Netlist, Inc. v. Micron Technology, Inc. et al
2:21-cv-00463Dec 20, 2021Netlist, Inc. v. SAMSUNG ELECTRONICS CO., LTD. et al

Patent Family

Patent Family

File Wrapper

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.

  • Get instant alerts for new documents

US10860506

Application Number
US16391151A
Filing Date
Apr 22, 2019
Publication Date
Dec 8, 2020
External Links
Slate, USPTO , Google Patents