The inventions relate to memory module routing to maintain Error Correcting Code (ECC) and non-ECC form factor compatibility.
Today's computer systems include memory, which is typically held on a memory module. A memory module typically includes a circuit board, such as a printed circuit board (PCB), with a number of integrated circuits (ICs), or chips, coupled to one or more surfaces of the circuit board. The chips may be memory devices to provide memory resources to a computing platform such as, for example, a personal computer (PC). One type of memory module uses dynamic random access memory (DRAM) chips in a dual data rate (DDR) manner. These modules may arrange the DRAM chips as a Single In-line Memory Module (SIMM) or as a Dual In-line Memory Module (DIMM), for example.
The circuit board (or PCB) may have a connector along one edge that is compatible with a socket connector on a motherboard for integration of the memory module into the computing platform. One type of technology known as a DDR2 DIMM, has an electrical connector with 240 pins.
Dual inline memory modules (DIMMs) include multiple DRAM chips coupled to the PCB. For example, some implementations typically include eight DRAM chips coupled to the circuit board. In order to provide error correction coding an extra chip (for example, a ninth DRAM chip) is added to implement parity bit checking. However, the addition of an additional chip can make it difficult for the signal lines to turn the corner to provide fly-by sequencing of the chips while still fitting the module in the dimensions of existing sockets.
Large capacity size DRAM chips, for example, for future Dual Data Rate 3 (DDR3) technology, are projected to reach a size where convention routing techniques will not allow nine DRAMs to be placed on a singe side of a 5.25 inch long DIMM module (18 DRAMs if double sided). The physical size of the DRAMs (typically greater than 12.5 mm), combined with decoupling capacitors and termination resistors, will not allow Error Correcting Code (ECC) modules to fit within the same form factor as non-ECC DIMMs. Error Correcting Code memory is a type of memory that includes special circuitry for testing the accuracy of data as it passes in and out of memory. Non-ECC modules can include eight DRAM chips and ECC modules can include nine DRAM chips, for example. When combined with fly-by topology used for the DDR3 Command and Address bus, for example, there is simply not enough room on the DIMM circuit board to route the bus.
The Fully Buffered DIMM (FBD) solution to this problem has previously been to increase the size of the DIMM. Increasing the form factor size of the DIMM goes against form factor trends and makes it difficult for a high end desktop or a low end server, for example, to support both non-ECC and ECC DIMMs with one motherboard design.
Another possible solution to this problem is to add four more layers to each side of the DIMM circuit board (for example, two for routing, one for power, and one for ground). This results in a DIMM circuit board with ten layers.
The inventions will be understood more fully from the detailed description given below and from the accompanying drawings of some 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.
Some embodiments of the inventions relate to memory module routing to maintain Error Correcting Code (ECC) and non-ECC form factor compatibility.
In some embodiments a memory module circuit board includes a first surface adapted to couple a first plurality of memory devices, a plurality of signal lines, and a command and address bus coupled to the signal lines. The command and address bus is routed from the signal lines and adapted to couple to at least one of the first plurality of memory devices in a manner that does not require the command and address bus lines to turn more than approximately ninety degrees before coupling to the at least one of the first plurality of memory devices.
In some embodiments a memory module includes a circuit board having a first surface, a first plurality of memory devices coupled to the first surface, a plurality of signal lines, and a command and address bus coupled to the signal lines. The command and address bus is routed from the signal lines and adapted to couple to at least one of the first plurality of memory devices in a manner that does not require the command and address bus lines to turn more than approximately ninety degrees before coupling to the at least one of the first plurality of memory devices.
In some embodiments a system includes a motherboard and a memory module coupled to the motherboard. The memory module includes a circuit board having a first surface, a first plurality of memory devices coupled to the first surface, a plurality of signal lines, and a command and address bus coupled to the signal lines. The command and address bus is routed from the signal lines and adapted to couple to at least one of the first plurality of memory devices in a manner that does not require the command and address bus lines to turn more than approximately ninety degrees before coupling to the at least one of the first plurality of memory devices.
Some embodiments relate to a layered circuit board implementation to route ECC memory modules differently than non-ECC memory modules in order to maintain pin compatibility of the ECC memory modules and the non-ECC memory modules.
Some embodiments relate to a layered circuit board implementation to route memory modules.
In some embodiments a memory module circuit board includes a first layer with a first surface adapted to couple a first plurality of memory devices to the circuit board, and a second layer with a first portion and a second portion, the first portion including a plurality of first signal paths coupled to the first plurality of memory devices and the second portion including a reference voltage plane.
In some embodiments a memory module includes a first plurality of memory devices and a circuit board. The circuit board includes a first layer with a first surface, the first plurality of memory devices coupled to the first surface, and a second layer with a first portion and a second portion, the first portion including a plurality of first signal paths coupled to the first plurality of memory devices and the second portion including a reference voltage plane.
In some embodiments a system includes a motherboard and a memory module coupled to the motherboard. The memory module includes a first plurality of memory devices and a circuit board. The circuit board includes a first layer with a first surface, the first plurality of memory devices coupled to the first surface, and a second layer with a first portion and a second portion, the first portion including a plurality of first signal paths coupled to the first plurality of memory devices and the second portion including a reference voltage plane.
A problem with the type of compensation described above in reference to
Alternatively, changing the pinout at the connector 240 could also solve the problem. However, this completely eliminates the possibility of supporting ECC and non-ECC memory modules using the same motherboard. Rotating the memory chips 202, 204, 206, 208, 210, 212, 214, 216, and 218 would help to fix the command and address bus (C/A bus) problem, but would break the data bus routing from the connector pins straight up to the memory chips.
As illustrated in
The automatic flipping of the command and address bus without requiring additional vias can be implemented in some embodiments by having the command and address bus couple to the connector 340 in a separate layer from the layer to which the memory chips are coupled so that the bus runs from below the central portion of connector 340 to a portion of the separate layer that is generally under memory chip 318 so that it runs in that separate layer generally under the bottom arrow 330. In such embodiments that portion of the command and address bus is then coupled to another portion of the command and address bus that extends in yet another layer from below the memory chip 318 across to the other memory chips so that it runs in that yet another layer generally under the top arrow 330 in
Automatic flipping of the command and address bus allows an ECC memory module such as an ECC DIMM to be laid out with a different wiring style than an ECC memory module. In this manner ECC memory modules and non-ECC memory modules may be laid out with a different wiring style while maintaining a compatible edge finger pinout. This is particularly advantageous, for example, for an ECC DDR3 memory module.
In order to allow memory modules such as DDR3 memory modules to be supported in a four layer motherboard, it is necessary to have the data signals reference the ground planes and the command and address (C/A) signals reference the power planes for their return currents in a manner similar to that in DDR2. In order to double the maximum data rate beyond that of DDR2, however, DDR3 has adopted a fly-by topology for the command and address bus. Attempts at routing this topology have required additional layers to be added to the memory module (DIMM) to maintain four layer motherboard compatibility. Adding an ECC device to the memory module (DIMM) further complicates the routing design by eliminating any extra board area to let the command and access bus turn around at the end of the memory module. This problem may be overcome by using a symmetrical PCB stackup layering technique by splitting power layers and/or ground layers with signals to minimize the number of layers necessary to route large memory modules such as DDR3 memory modules.
The first layer 502 includes a surface 522 with a plurality of memory chips 524 (for example, DRAM memory chips) coupled thereto, for example by solder. Memory chips 524 are coupled (for example, by lines on the surface 522) to a plurality of data lines 526 included within a connector on the first layer 502. The data lines 526 of the first layer 502 are referenced to a ground portion (ground voltage reference plane) 532 of the second layer 504 as illustrated by arrow 534. Command and/or address bus lines 536 of the second layer 504 are referenced to a Vcc portion (Vcc voltage reference plane) 538 of third layer 506 as illustrated by arrow 540. Command and/or address bus lines 536 are also referred to as a second branch, for example corresponding to the top arrow 330 of
In some embodiments it is noted that first branch routings enter the memory chips on a right side in an ECC memory module with eight layers such as the memory module 500 illustrated in
Command and/or address bus lines 546 of the fifth layer 510 are referenced to a Vcc portion (Vcc voltage reference plane) 548 of sixth layer 512 as illustrated by arrow 550. Command and/or address bus lines 544 are also referred to as a first branch, for example corresponding to the bottom arrow 330 of
The eighth layer 516 includes a surface 562 with a plurality of memory chips 564 coupled thereto, for example by lines on the surface 562. Memory chips 564 are coupled to a plurality of data lines 566 included within a connector on the eighth layer 516. The data lines 566 of the eighth layer 516 are referenced to a ground portion (ground voltage reference plane) 568 of the seventh layer 514 as illustrated by arrow 570.
The routing per each layer illustrated in
The first layer 602 includes a surface 622 with a plurality of memory chips 624 (for example, DRAM memory chips) coupled thereto, for example by solder. Memory chips 624 are coupled (for example, by lines on the surface 622) to a plurality of data lines 626 included within a connector on the first layer 602. The data lines 626 of the first layer 602 are referenced to ground (for example, to ground portion 632 of the second layer 604). Command and/or address bus lines 636 of the second layer 604 are referenced to Vcc (for example, to a Vcc voltage reference plane portion 638 of third layer 606). Command and/or address bus lines 636 are also referred to as a second branch, for example corresponding to the top arrow 330 of
Command and/or address bus lines 642 have been illustrated in
The layer arrangement of memory module 600 as illustrated in
Although some embodiments have been described as relating to DIMMs and/or to DDR3, for example, other implementations are possible according to some embodiments, and the embodiments of the inventions are not necessarily limited to DIMMs or to DDR3, for example. Specifically, some embodiments may be implemented on any type of memory module and is not limited to a DIMM implementation and/or to a DDR3 implementation, for example.
Although some embodiments have been described in reference to particular implementations, other implementations are possible according to some embodiments. Additionally, the arrangement and/or order of circuit elements or other features illustrated in the drawings and/or described herein need not be arranged in the particular way illustrated and described. Many other arrangements are possible according to some embodiments.
In each system shown in a figure, the elements in some cases may each have a same reference number or a different reference number to suggest that the elements represented could be different and/or similar. However, an element may be flexible enough to have different implementations and work with some or all of the systems shown or described herein. The various elements shown in the figures may be the same or different. Which one is referred to as a first element and which is called a second element is arbitrary.
In the description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
An algorithm is here, and generally, considered to be a self-consistent sequence of acts or operations leading to a desired result. These include physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers or the like. It should be understood, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
Some embodiments may be implemented in one or a combination of hardware, firmware, and software. Some embodiments may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by a computing platform to perform the operations described herein. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, the interfaces that transmit and/or receive signals, etc.), and others.
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, of the inventions. The various appearances “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments.
If the specification states a component, feature, structure, or characteristic “may”, “might”, “can” or “could” be included, for example, that particular component, feature, structure, 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. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
Although flow diagrams and/or state diagrams may have been used herein to describe embodiments, the inventions are not limited to those diagrams or to corresponding descriptions herein. For example, flow need not move through each illustrated box or state, or in exactly the same order as illustrated and described herein.
The inventions are not restricted to the particular details listed herein. Indeed, those skilled in the art having the benefit of this disclosure will appreciate that many other variations from 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.
This application is related to an application entitled “Memory Module Circuit Board Layer Routing” filed on even date herewith with the same inventors as this application, attorney docket number 042390.P20944.
Number | Date | Country | |
---|---|---|---|
Parent | 11021611 | Dec 2004 | US |
Child | 12052804 | US |