1. Technical Field
The present inventions relate to memory systems and, in particular, to memory systems in which the memory chips provide a configurable number of read data bits.
2. Background Art
Various arrangements for memory chips in a memory system have been proposed. For example, in a traditional synchronous dynamic random access memory (DRAM) system, memory chips communicate data through bidirectional data buses and receive commands and addresses through command and addresses buses. The memory chips have stubs that connect to the buses. Other memory systems use unidirectional signaling. Some memory systems use a multi-drop signaling arrangement in which signals are transmitted to more than one receiver. Other memory systems use point-to-point signaling in which signals are transmitted to only one receiver.
In some memory systems, a memory chip receives signals and repeats them to a next memory chip in a series of two or more memory chips. In some of these systems, the last memory chip in the series can send a signal directly back to a memory controller. This is referred to as a ring. In some such systems, a memory chip provides some read data signals while also providing commands to another memory chip which provides additional read data signals. Unidirectional lanes have been used to carry packetized command, address, and write data signals, along with clocks signals, between memory controllers and memory chips, and between memory chips. The signals carrying write data may be separate from the signals carrying command and address signals. Status bits may be carried with the read data.
In some memory systems, some memory chips are populated on the motherboard that supports the chip containing the memory controller, while other memory chips are on a memory module that is on a different printed circuit board. The memory chips on the mother board are said to be “down,” while the memory chips on the memory module are said to be “up.” In some cases, these memory chips and the associated memory controller may have a limited number of balls (or pins) for interfacing outside them. This can create difficulty in having them each transmit and receive a relatively large number of data bits while some of the memory chips also provide commands to others of the memory chips.
SO-DIMMs are small outline dual in-line memory modules that are smaller than some other memory modules. They are often used in mobile computers. SFF (small form factor) is a generic term used for motherboards that are typically smaller than prevalent mobile computer sizes.
Ranks involve memory chips that are accessed together.
Memory modules include a substrate on which a number of memory chips are placed. The memory chips may be placed on only one side of the substrate or on both sides of the substrate. In some systems, a buffer is also placed on the substrate. For at least some signals, the buffer interfaces between the memory controller and the memory chips on the module. In such a buffered system, the memory controller can use different signaling (for example, frequency and voltage values, and point-to-point versus a multi-drop arrangement) with the buffer than the buffer uses with the memory chips.
Some memory controllers are included in processor chips that include processor cores. The processor chips are coupled to an input/output controller. Other memory controllers are included in memory controller hubs that are coupled to an input/output controller. In some implementations, the input/output controllers may be coupled to wireless transmitting and receiving circuitry.
The inventions will be understood more fully from the detailed description given below and from the accompanying drawings of embodiments of the inventions which, however, should not be taken to limit the inventions to the specific embodiments described, but are for explanation and understanding only.
Referring to
In the example of
By contrast, conductors 24-1, 24-2, 24-3, and 24-4 do not directly couple chips 20-1, 20-2, 20-3, and 20-4 to memory controller 12, but rather conductors 24-1, 24-2, 24-3, and 24-4 couple chips 20-1, 20-2, 20-3, and 20-4 to slot 14. When continuity card 18 is inserted in slot 14, conductors 24-1, 24-2, 24-3, and 24-4 are coupled to conductors 26-1, 26-2, 26-3, and 26-4 of continuity card 18. In turn, conductors 26-1, 26-2, 26-3, and 26-4 are coupled to memory controller 12 through conductors 34-1, 34-2, 34-3, and 34-4.
As an example, conductors 24-1-24-4, 26-1-26-4, and 34-1-34-4 each include four, lanes for read data and one lane for a clock signal. Accordingly, when chip 20-1 is in a X8 (eight bit) mode, four read data bits and a clock signal are provided through conductors 32-1 and another four read data bits and a clock signal are provided through conductors 24-1, 26-1, 34-1. Likewise, when chips 20-2, 20-3, and 20-4 are in a X8 (eight bit) mode, four read data bits and a clock signal are provided through each of conductors 32-2, 32-3, and 32-4, and another four read data bits and a clock signal are provided through each of conductors 24-2, 26-2, and 34-2; 24-3, 26-3 and 34-3; 24-4, 26-4, and 34-4. In some embodiments or modes within embodiments, chip 20-1 provides eight bits in response to a single read command, and in other embodiments or modes within embodiments, chip 20-1 provides multiple groups of eight bits in series (bursts) in response to a single read command. Likewise, with chips 20-2, 20-3, and 20-4.
Conductors 24-1, 24-2, 24-3, and 24-4, conductors 26-1, 26-2, 26-3, and 26-4, and conductors 34-1, 34-2, 34-3, and 34-4 may include pads and vias. A lane may include a single conductor with single ended signaling and two conductors with differential signaling. The command, address, and write data signals may be carried in frames or packets. However, in other embodiments, the commands, addresses, and write data signals are not conducted on the same conductors.
Referring to
Memory chips on motherboard 16 are referred to as “down” chips or being “down.” Memory chips on memory module 52 are referred to as “up” chips or being “up.” Memory controller 12 includes control circuitry 40, transmitter circuitry 46, and receiver circuitry 48. Transmitter circuitry 46 includes transmitters 46-1, 46-2, 46-3, and 46-4 which transmit signals on conductors 22-1, 22-2, 22-3, and 24-4. Receivers 48 includes receivers 48-1, 48-2, 48-3, 48-4, 48-5, 48-6, 48-7, 48-8, and 48-9 which receive signals from conductors 32-1, 34-1, 32-2, 34-2, 32-3, 34-3, 32-4, 34-4, and 38. Control circuitry 40 includes detection circuitry 42 and scheduling circuitry 44. Detection circuitry 42 detects whether a memory module is inserted in slot 14. In different embodiments, there are different techniques for detection circuitry 42 to detect whether a memory module is inserted in slot 14.
In some embodiments, a memory module 52 includes a serial presence detect memory (SPD) 36 that is coupled to receiver circuitry 48-9 through conductors 38 when memory module 52 is inserted in slot 14. When the system is first powered on, and/or from time to time after it is first powered on, memory controller 12 attempts to read the contents of the SPD. In the case of
When an appropriate signal from SPD 36 is received by receiver circuitry 48-9, detection circuitry 42 interprets the signaling as indicating that a memory module is coupled to memory module 12 (inserted in slot 14). In some embodiments, SPD signals may also indicate a variety of things about the module and the memory chips on the module. For example, the SPD signals may indicate how many memory chips are on the memory module (for example, compare
When detection circuitry 42 detects that a memory module is inserted in slot 14, it provides a signal indicating this to scheduling circuitry 44. Scheduling circuitry 44 provides memory chip configuration signals (commands) to chips 20-1-20-4 to place them in particular modes. At least some of the commands are passed by chips 20-1-20-4 to chips 54-1-54-4 to place them in particular modes. For example, the commands may place chips 20-1-20-4 and 54-1-54-4 in X4 modes described below. In some embodiments, chips 20-1-20-4 and 54-1-54-4 are in a X8 mode by default and have to be changed to a X4 mode. In other embodiments, chips 20-1-20-4 and 54-1-54-4 are in a X4 mode by default and have to be changed to a X8 mode. In still other embodiments, chips 20-1-20-4 and 54-1-54-4 are not in any mode by default and have to be set to a mode. In some embodiments, there may be other modes such as X16 or X2 modes. Control circuitry 40 is said to “selectively” provide the memory chip configuration signals to the transmitter circuitry because, as explained, under some situations, control circuitry 40 does provide the memory chip configuration signals and under some situations, control circuitry 40 does not provide the memory chip configuration signals.
In some embodiments, detection circuitry 42 detects whether a memory module is inserted in slot 14 through a technique other than or in addition to reading an SPD. For example, in some embodiments, detection circuitry 42 receives signals from one or more of receiver circuitry 48-2, 48-4, 48-6, and 48-8 to determine whether they are coupled to a memory module. In some embodiments, the available addresses could be different depending on whether a module is inserted. In some embodiments, detection circuitry 42 could observe timing differences between signals on conductors 32-1-32-4 and 34-1-34-4, although in other embodiments, there are not meaningful timing differences.
In a X8 mode, transmitters 66-1 transmit 4 bits of read data and a clock signal to internal conductors 90-1 which are coupled to external conductors 24-1. In a X4 mode (as shown in
In
In some embodiments, a rank is formed of chips that provide 32 read data bits. For example, in these embodiments, in
In some embodiments, the invention involves dynamically reconfiguring memory chips to provide a different number of read bits, while a rank including the memory chips continues to provide the same number of read data bits.
The invention could be used in a system including a buffer on the motherboard, wherein the buffer interfaces with the down memory chips, and another buffer on the memory module, wherein the other buffer interfaces with the up memory chips.
Status bits may be carried with the read data bits.
SO (small outline) modules and SFF systems may be used, but this is not required. Indeed, the invention may be used in a variety of systems with various types of memory modules. Modules other than DIMMs may be used.
The chip interface balls used and the arrangement of the conductors may be such as to avoid crossing conductors between chips.
The conductors mentioned herein do not have to be of continuous material. For example, they may include vias or other connection structures.
The inventions are not restricted to any particular signaling techniques or protocols. For example, the signaling may be single ended or differential. The signaling may include only two voltage levels or more than two voltage levels. The signaling may be single data rate, double data rate, quad data rate, or octal data, etc. The signaling may involve encoded symbols and/or packetized signals. A clock (or strobe) signal may be transmitted separately from the other signals or embedded in the other signals. Various coding techniques may be used. Strobe signals could be used rather than clock signals. Write buffers may be included in the memory chips. The write data signals do not have to be on the same conductor lanes as the address and command signals.
The figures are shown and described with unidirectional point-to-point signaling. However, some embodiments may include bi-directional signaling on some conductors and include some multi-drop rather than point-to-point conductors.
There may be intermediate structure between the memory controller chip, memory chips, and connector and the motherboard. The various chips described or illustrated herein may have additional inputs or outputs which are not illustrated or described. In actual implementations of the systems of the figures, there would be additional circuitry, control lines, and perhaps interconnects which are not illustrated. When the figures show two blocks connected through conductors, there may be intermediate circuitry that is not illustrated. The shape and relative sizes of the blocks is not intended to relate to actual shapes and relative sizes.
An embodiment is an implementation or example of the inventions. Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments. The various appearances of “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments.
When it is said the element “A” is coupled to element “B,” element A may be directly coupled to element B or be indirectly coupled through, for example, element C.
When the specification or claims state that a component, feature, structure, process, or characteristic A “causes” a component, feature, structure, process, or characteristic B, it means that “A” is at least a partial cause of “B” but that there may also be at least one other component, feature, structure, process, or characteristic that assists in causing “B.”
If the specification states a component, feature, structure, process, or characteristic “may”, “might”, or “could” be included, that particular component, feature, structure, process, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, that does not mean there is only one of the element.
The inventions are not restricted to the particular details described herein. Indeed, many other variations of the foregoing description and drawings may be made within the scope of the present inventions. Accordingly, it is the following claims including any amendments thereto that define the scope of the inventions.