US20250231686A1
MEMORY SYSTEM WITH THREADED TRANSACTION SUPPORT
Publication
Application
Classifications
IPC Classifications
CPC Classifications
Applicants
Rambus Inc.
Inventors
Frederick A. Ware, Ely Tsern
Abstract
Memory modules, systems, memory controllers and associated methods are disclosed. In one embodiment, a memory module includes a module substrate having first and second memory devices. Buffer circuitry disposed on the substrate couples to the first and second memory devices via respective first and second secondary interfaces. The buffer circuitry includes a primary signaling interface for coupling to a group of signaling links associated with a memory controller. The primary signaling interface operates at a primary signaling rate and the first and second secondary data interfaces operate at a secondary signaling rate. During a first mode of operation, the primary interface signaling rate is at least twice the secondary signaling rate. A first time interval associated with a transfer of first column data via the first secondary interface temporally overlaps a second time interval involving second column data transferred via the second secondary interface.
Figures
Description
CROSS REFERENCES TO RELATED APPLICATIONS
[0001]This application is a Continuation of U.S. application Ser. No. 18/492,296, filed Oct. 23, 2023, which is a Continuation of U.S. application Ser. No. 17/586,575, filed Jan. 27, 2022, now U.S. Pat. No. 11,809,712, which is a Continuation of U.S. application Ser. No. 16/805,535, filed Feb. 28, 2020, now U.S. Pat. No. 11,249,649, which is a Continuation of U.S. application Ser. No. 15/529,970, filed May 25, 2017, now U.S. Pat. No. 10,592,120, which is a national stage application of international application number PCT/US2015/066846, filed Dec. 18, 2015, which claims the benefit of U.S. Provisional Application No. 62/094,306, filed Dec. 19, 2014, all of which is incorporated by reference herein in its entirety.
TECHNICAL FIELD
[0002]The disclosure herein relates to memory systems, and more specifically to buffered memory modules and methods.
BACKGROUND
[0003]Memory modules come in a variety of configurations depending on a given application and desired storage capacity. For high-capacity memory modules that utilize significant numbers of memory devices, a buffered architecture is often employed. The buffered approach buffers data transferred between the memory devices and a memory controller, thus reducing loading of a data bus to the relatively few buffer devices, rather than the high number of memory devices. Address and control busses are also typically buffered in these systems.
[0004]Conventional buffered memory systems employ primary data paths between the memory controller and buffer(s), and secondary data paths between the buffer(s) and the memory devices. The primary and secondary paths transfer data at the same rate. While this may work adequately for some applications, there may be unused bandwidth if both the primary and secondary buses are locked to the same transfer rate.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005]Embodiments of the disclosure are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
DETAILED DESCRIPTION
[0013]Embodiments of integrated circuits, memory modules and associated methods are disclosed herein. In one embodiment, a memory module includes a module substrate having first and second memory devices. Buffer circuitry disposed on the substrate couples to the first and second memory devices via respective first and second secondary interfaces. The buffer circuitry includes a primary signaling interface for coupling to a group of signaling links associated with a memory controller. The primary signaling interface operates at a primary signaling rate and the first and second secondary data interfaces operate at a secondary signaling rate. During a first mode of operation, the primary interface signaling rate is at least twice the secondary signaling rate. A first time interval associated with a transfer of first column data via the first secondary interface temporally overlaps a second time interval involving second column data transferred via the second secondary interface.
[0014]In a further embodiment, a memory system is disclosed. The memory system includes a system substrate, a first buffered memory module coupled to the system substrate and a second buffered memory module coupled to the system substrate. Each of the first and second buffered memory modules include a module substrate and first and second memory devices disposed on the module substrate. Buffer circuitry disposed on the substrate couples to the first and second memory devices via respective first and second secondary data interfaces. The buffer circuitry includes a primary data interface for coupling to a group of data links formed on the system substrate. The primary data interface operates at a primary data rate and the first and second secondary data interfaces operate at a secondary data rate. During a first mode of operation, the primary interface data rate is at least twice the secondary data rate, and first column data transferred via the first secondary interface overlaps second column data transferred via the second secondary interface.
[0015]In yet another embodiment, a memory controller is disclosed. The memory controller includes a controller primary signaling interface for coupling to at least one buffered memory module via a group of data links. Command generation circuitry dispatches command signals to the least one buffered memory module. During a first mode of operation, a signaling rate of the controller primary signaling interface is twice a rate of the first and second secondary interfaces.
[0016]Referring to
[0017]Further referring to
[0018]
[0019]Each memory device 206 may be realized as a single memory chip, or packaged to include plural memory die in a stacked configuration. In some embodiments, an additional set of memory devices may be mounted on the back face of the module, and organized as an additional rank. The memory devices each may include multiple “banks,” and all of the banks organized within a given rank of devices. Each bank may be independently accessed via a given bank address.
[0020]Further referring to
[0021]With continued reference to
[0022]Further referring to
[0023]For example, and with continued reference to
[0024]In other embodiments, the number of modules may vary depending on the application. To support different data rates between the primary and the secondary interfaces, the transferred data may be organized in various ways for transfer along the primary data bus. This allows for effective steering of the data in the multiple modules to effect the reduced data rates along the secondary paths, and the concurrent accesses to the memory devices of the various modules.
[0025]
[0026]Further referring to
[0027]With continued reference to
[0028]The error encoding carried out on the transferred data may be generated in accordance with one of many acceptable EDC algorithms including, for example, straightforward single-bit Hamming codes, to more sophisticated high-speed BCH (Bose, Ray-Chaudhuri and Hocquenghem) codes. Other EDC codes, such as “Chipkill” codes, Reed-Solomon codes, turbo codes, cyclic redundancy codes (CRC) and low density parity check (LDPC) codes may also be acceptable.
[0029]
[0030]The description provided above, relating to the architecture and methods of
[0031]While the memory architecture and methods described above are shown primarily in a multi-drop context, where multiple memory modules are coupled to all of the memory controller input/output (I/O) data paths, point-to-point topologies are also envisioned.
[0032]Further referring to
[0033]
[0034]While
[0035]In one embodiment, the buffered module data transfer methodology of
[0036]Further referring to
[0037]For one embodiment, a given data transfer to a given module may involve concurrent accesses to a first group of memory devices on one side of the module, and a second group of memory devices on a second side of the module. Separate secondary data paths may be provided to the front and back devices to accomplish this. Additionally, the point-to-point data transfers between the memory controller 602 and modules 604 may be error coded. The error encoding may be generated in accordance with one of many acceptable EDC algorithms including, for example, straightforward single-bit Hamming codes, to more sophisticated high-speed BCH (Bose, Ray-Chaudhuri and Hocquenghem) codes. Other EDC codes, such as “Chipkill” codes, Reed-Solomon codes, turbo codes, cyclic redundancy codes (CRC) and low density parity check (LDPC) codes may also be acceptable.
[0038]
[0039]Those skilled in the art will appreciate that the embodiments described above allow for optimum bandwidth utilization along respective primary and secondary signaling paths associated with buffered memory architectures. By transferring data along a primary signaling path at a rate higher than a signaling rate along a secondary signaling path, less costly memory devices may be employed, reducing the overall costs of the memory system. Further, by optimizing the respective primary and secondary signaling bandwidth efficiencies, performance improvements in the memory system may be realized.
[0040]When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described circuits may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs including, without limitation, net-list generation programs, place and route programs and the like, to generate a representation or image of a physical manifestation of such circuits. Such representation or image may thereafter be used in device fabrication, for example, by enabling generation of one or more masks that are used to form various components of the circuits in a device fabrication process.
[0041]In the foregoing description and in the accompanying drawings, specific terminology and drawing symbols have been set forth to provide a thorough understanding of the present invention. In some instances, the terminology and symbols may imply specific details that are not required to practice the invention. For example, any of the specific numbers of bits, signal path widths, signaling or operating frequencies, component circuits or devices and the like may be different from those described above in alternative embodiments. Also, the interconnection between circuit elements or circuit blocks shown or described as multi-conductor signal links may alternatively be single-conductor signal links, and single conductor signal links may alternatively be multi-conductor signal links. Signals and signaling paths shown or described as being single-ended may also be differential, and vice-versa. Similarly, signals described or depicted as having active-high or active-low logic levels may have opposite logic levels in alternative embodiments. Component circuitry within integrated circuit devices may be implemented using metal oxide semiconductor (MOS) technology, bipolar technology or any other technology in which logical and analog circuits may be implemented. With respect to terminology, a signal is said to be “asserted” when the signal is driven to a low or high logic state (or charged to a high logic state or discharged to a low logic state) to indicate a particular condition. Conversely, a signal is said to be “deasserted” to indicate that the signal is driven (or charged or discharged) to a state other than the asserted state (including a high or low logic state, or the floating state that may occur when the signal driving circuit is transitioned to a high impedance condition, such as an open drain or open collector condition). A signal driving circuit is said to “output” a signal to a signal receiving circuit when the signal driving circuit asserts (or deasserts, if explicitly stated or indicated by context) the signal on a signal line coupled between the signal driving and signal receiving circuits. A signal line is said to be “activated” when a signal is asserted on the signal line, and “deactivated” when the signal is deasserted. Additionally, the prefix symbol “/” attached to signal names indicates that the signal is an active low signal (i.e., the asserted state is a logic low state). A line over a signal name (e.g., ‘
[0042]While the invention has been described with reference to specific embodiments thereof, it will be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. For example, features or aspects of any of the embodiments may be applied, at least where practicable, in combination with any other of the embodiments or in place of counterpart features or aspects thereof. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Claims
What is claimed is:
1. (canceled)
2. A memory module to couple to a memory controller, comprising:
a module substrate;
a first memory device and a second memory device, the first memory device and the second memory device disposed on the module substrate;
buffer circuitry disposed on the module substrate, the buffer circuitry comprising:
a first data buffer circuit comprising a primary interface to receive first write data from the memory controller, the first data buffer circuit comprising a first secondary interface coupled to the first memory device;
a second data buffer circuit comprising a second secondary interface coupled to the second memory device, the second data buffer circuit coupled to the first data buffer circuit via a data distribution path and to receive the first write data via the data distribution path; and
wherein the second memory device receives the first write data from the second data buffer circuit.
3. The memory module according to
the primary interface of the first data buffer circuit is to couple to one of a group of links associated with the memory controller.
4. The memory module according to
the memory module couples to the memory controller solely via the primary interface of the first data buffer circuit in a point-to-point configuration.
5. The memory module according to
the primary interface of the first data buffer circuit is to receive second write data from the memory controller; and
wherein the first memory device is to receive the second write data from the first secondary interface of the first data buffer circuit concurrent with the second memory device receiving the first write data from the second secondary interface of the second data buffer circuit.
6. The memory module according to
the first memory device is to receive the second write data during a first memory access time interval; and
wherein the second memory device is to receive the first write data during a second memory access time interval that at least partially overlaps the first memory access time interval.
7. The memory module according to
the primary interface of the first data buffer circuit is to receive the first write data from the memory controller in accordance with a dynamic random access memory (DRAM) protocol.
8. The memory module according to
the primary interface of the first data buffer circuit is to operate at a first data rate; and
the first secondary interface of the first data buffer circuit and the second secondary interface of the second data buffer circuit are to operate at a second data rate that is less than the first data rate.
9. The memory module according to
the second data rate comprises half the first data rate.
10. A method of operation in a memory module, the method comprising:
buffering a first memory device and a second memory device from a memory controller, the buffering comprising
interfacing with a memory controller via a group of links coupled to a primary interface of a first data buffer circuit;
interfacing with the first memory device via a first secondary interface of the first data buffer circuit and the second memory device via a second secondary interface of a second data buffer circuit;
distributing first write data received at the primary interface of the first data buffer circuit, from the memory controller, to the second data buffer circuit; and
transferring the first write data from the second secondary interface of the second data buffer circuit to the second memory device.
11. The method of
coupling the primary interface of the first data buffer circuit to one of a group of links associated with the memory controller.
12. The method of
coupling the memory module to the memory controller solely via the primary interface of the first data buffer circuit in a point-to-point configuration.
13. The method of
receiving, with the primary interface of the first data buffer circuit, second write data from the memory controller; and
receiving, with the first memory device, the second write data from the first secondary interface of the first data buffer circuit concurrent with the second memory device receiving the first write data from the second secondary interface of the second data buffer circuit.
14. The method of
receiving, with the first memory device, the second write data during a first memory access time interval; and
receiving, with the second memory device, the first write data during a second memory access time interval that at least partially overlaps the first memory access time interval.
15. The method of
receiving, with the primary interface of the first data buffer circuit, the first write data and the second write data from the memory controller comprises receiving the first write data and the second write data in accordance with a dynamic random access memory (DRAM) protocol.
16. An integrated circuit (IC) buffer chipset to mount on a memory module, comprising:
a first IC data buffer chip comprising a primary interface to receive first write data from a memory controller, the first IC data buffer chip comprising a first secondary interface coupled to a first memory device disposed on the memory module;
a second IC data buffer chip comprising a second secondary interface coupled to a second memory device disposed on the memory module, the second IC data buffer chip coupled to the first IC data buffer chip via a data distribution path and to receive the first write data via the data distribution path; and
wherein the second secondary interface of the second IC data buffer chip is to transfer the first write data to the second memory device.
17. The IC buffer chipset according to
solely the primary interface of the first IC data buffer chip is to couple to the memory controller in a point-to-point configuration; and
the second IC data buffer chip is to indirectly couple to the memory controller via the first IC data buffer chip.
18. The IC buffer chipset according to
the primary interface of the first IC data buffer chip is to receive second write data from the memory controller; and
wherein the first IC data buffer chip is to transfer the second write data to the first memory device concurrent with the second IC data buffer chip transferring the first write data to the second memory device.
19. The IC buffer chipset according to
the primary interface of the first IC data buffer chip is to receive the first write data from the memory controller in accordance with a dynamic random access memory (DRAM) protocol.
20. The IC buffer chipset according to
the primary interface of the first IC data buffer chip is to operate at a first data rate; and
the first secondary interface of the first IC data buffer chip and the second secondary interface of the second IC data buffer chip are to operate at a second data rate that is less than the first data rate.
21. The IC buffer chipset according to
the second data rate comprises half the first data rate.