This application claims priority to Korean Patent Application No. 2004-73120, filed on Sep. 13, 2004, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present invention relates generally to memory modules, and more particularly, to a memory module with memory devices of different capacity for an additional function of the memory module.
2. Description of the Related Art
A memory module includes memory devices typically for storing data as part of a rank of the memory module. In addition, capacity of the memory devices may also be used for an additional function of the memory module. An example of such an additional function is for an error-correcting code (ECC) algorithm.
Such an error-correcting code (ECC) algorithm detects and self-corrects for an error occurring during reading/writing of data in the memory module thus providing data integrity. In particular, most high-end systems, such as servers, are adopting memory modules with an ECC algorithm (so-called ECC memory modules) for immunity to errors during data transmission.
In an ECC algorithm, parity bits are used to detect/correct such errors. Therefore, an ECC memory module uses memory capacity for storing the parity bits. To this end, a conventional ECC memory module includes additional memory devices for storing such parity bits in addition to the memory devices used for storing usual data as part of a rank of the memory module.
However, mounting additional memory devices on an ECC memory module may undesirably increase the size (hereinafter called “package size”) of the memory module. In addition, such additional memory devices may result in an increase of the load of a signal line, leading to an asymmetric topology of the signal line.
If the memory device 111 is small, the memory device 111 may not greatly affect the package size. However, as illustrated in
The problem is more serious particularly when a memory module uses an earlier version of a memory device, which is relatively larger, or when a high-capacity memory module uses a high-capacity memory device for error correction. Consequently, the competitiveness of earlier products or the competitiveness of high-capacity memory modules may be compromised.
However, if the load of the non-data signal line is very high, for example, in the case of a high-capacity memory module using a stack package, the load of the non-signal line is increased by mounting any additional memory device. Such increased load of the non-data signal line significantly limits an operating frequency of the memory module and may even make it impossible to secure a high-speed and/or high-capacity ECC memory module.
Referring to
However, a signal line for non-data signals, such as command signals or address signals, is shared by all memory devices. In most conventional memory modules, the non-data signal line has a T-branch structure or a tree structure (as illustrated by the dark lines in
Since data signal lines including signal lines for the parity bits have a point-to-point (P2P) topology, the data signal lines are not affected by the number of memory devices. However, a non-data signal line has a T-branch or tree structure. Thus, a symmetric topology is difficult to achieve for the non-data signal line unless a memory module has an even number of memory devices.
Such an asymmetric topology for the non-data signal line worsens signal distortion when a signal is transmitted/reflected, thereby reducing the fidelity of the signal line. The reduced fidelity of the signal line has a major effect in the case of a high-speed memory module.
Referring to
However, while the dummy capacitor may correct for the asymmetric topology, the dummy capacitor increases the load of the non-data signal line. In addition, when the load of the signal line is already high, the dummy capacitor cannot be used.
Accordingly, the present invention avoids an asymmetric topology of a signal line and yet provides additional memory capacity in a memory module.
In one aspect of the present invention, a memory module includes a first set of at least one first type of memory device and a second set of at least one second type of memory device having a higher capacity than the first type. In addition, an additional capacity portion of the first and second sets stores information for an additional function of the memory module, and a remaining capacity portion of the first and second sets forms a rank of the memory module.
In one embodiment of the present invention, a total number of the memory devices in the first and second sets is an even number. In that case, a non-data signal line coupled to the memory devices of the first and second sets has a T-branch topology with equal numbers of the memory devices to each side of the T-branch.
In another embodiment of the present invention, the memory devices of the first and second sets are all disposed on one side of the memory module with the remaining capacity portion of the first and second sets forming a single rank.
In an alternative embodiment of the present invention, the memory devices of the first and second sets are disposed on two sides of the memory module with the remaining capacity portion of the first and second sets forming double ranks.
In a further embodiment of the present invention, the memory devices of the first and second sets are disposed on two sides of the memory module with the remaining capacity portion of the first and second sets forming a single rank.
In an example embodiment of the present invention, the additional capacity portion is from only the second set. Alternatively, the additional capacity portion is from only the first set.
In another embodiment of the present invention, the second type of memory device has twice a density and twice a bit organization the first type of memory device.
In a further embodiment of the present invention, the first type of memory device and the second type of memory device have same address mapping. Alternatively, the memory module includes a presence detector that stores information regarding different address mappings of the first and second types of memory devices.
In another embodiment of the present invention, an advanced memory buffer device is disposed on a first side of the memory module, and no memory device is disposed on a second side of the memory module opposite the advanced memory buffer device.
In a further embodiment of the present invention, a respective interposer is disposed on the memory module for holding each of the second type of memory device.
The present invention may be used to particular advantage when the additional capacity portion stores parity bits for an error-correcting code (ECC) algorithm. However, the present invention may also be used for equalizing loads toward multiple directions of a non-data signal line when the additional capacity portion stores information for any other type of additional function of the memory module.
The above and other features and advantages of the present invention will become more apparent when described in detailed exemplary embodiments thereof with reference to the attached drawings in which:
The figures referred to herein are drawn for clarity of illustration and are not necessarily drawn to scale. Elements having the same reference number in
The ECC memory module 500 includes eight memory devices 501, 502, 503, 504, 505, 506, 507, and 508. Of the eight memory devices 501 through 508, each of the seven memory devices 501 through 507 is a ×8 (i.e., having 8 input signal lines) memory device having a 1× density, and the remaining one memory device 508 is a ×16 (i.e., having 16 input signal lines) memory device having a 2× density. Thus, the one memory device 508 has twice the data capacity and bit organization of each of the other seven memory devices 501 through 507.
The one memory device 508 is used as an ×8 memory device for forming a rank of the memory module 500, and is also used as an ×8 memory device for storing parity bits of the ECC function. A first portion of the one memory device 508 is an additional capacity portion for storing information for carrying out the ECC function. The other seven memory devices 501 through 507 and a second portion of the one memory device 508 comprise a remaining capacity portion forming a rank of the memory module 500.
However, the ×16 memory device 508 does not necessarily have to store the parity bits of the ECC function. For example, the ×16 memory device 508 may function as two ×8 memory devices for forming the rank, and one of the memory devices 501 through 507 may store the parity bits of the ECC function.
In
In
Referring to
Of the sixteen memory devices 601 through 608 and 611 through 618, each of the fourteen memory devices 601 through 607 and 611 through 617 is an ×8 memory device having a 1× density, and each of the remaining two memory devices 608 and 618 is an ×16 memory device having a 2× density. Thus, each of the memory devices 608 and 618 has twice the data capacity and bit organization of each of the other fourteen memory devices 601 through 607 and 611 through 617.
The memory device 608 is used as an ×8 memory device for forming a first rank of the memory module 600, and is also used as an ×8 memory device for storing parity bits of the ECC function. A portion of the memory device 608 is an additional capacity portion for storing information for carrying out the ECC function. The other seven memory devices 601 through 607 and another portion of the memory device 608 comprise a remaining capacity portion forming the first rank of the memory module 600.
The memory device 618 is used as an ×8 memory device for forming a second rank of the memory module 600, and is also used as an ×8 memory device for storing parity bits of the ECC function. A portion of the memory device 618 is an additional capacity portion for storing information for carrying out the ECC function. The other seven memory devices 611 through 617 and another portion of the memory device 618 comprise a remaining capacity portion forming the second rank of the memory module 600.
In another embodiment of the present invention, the ×16 bit memory device 608 may function as two ×8 memory devices for forming the first rank and one of the other ×8 memory devices 601 through 607 may store the parity bits of the ECC function. In addition, the ×16 memory device 618 may function as two ×8 memory devices for forming the second rank and one of the other ×8 memory devices 611 through 617 may store the parity bits of the ECC function.
In
Each of the fourteen memory devices 701 through 707 and 711 through 717 is an ×4 memory device having a 1× density, and each of the remaining two memory devices 708 and 718 is an ×8 memory device having a 2× density. Thus, portions of the memory devices 708 and 718 form an additional capacity portion for storing information for carrying out the ECC function. The other memory devices 701 through 707 and 711 through 717 and portions of the memory devices 708 and 718 comprise a remaining capacity portion forming a rank of the memory module 700.
In another embodiment of the present invention, the two ×8 bit memory devices 708 and 718 of the ECC memory module 700 may function as four ×4 memory devices for forming the rank of the memory module 700. In that case, two of the ×4 memory devices 701 through 707 and 711 through 717 provide the ECC function.
Of the 32 devices 801 through 808, 811 through 818, 821 through 828, and 831 through 838, each of the 28 memory devices 801 through 807, 811 through 817, 821 through 827, and 831 through 837 is a ×4 memory device having a 1× density, and each of the remaining four memory devices 808, 818, 828, and 838 is a ×8 memory device having a 2× density. Thus, each of the memory devices 808, 818, 828, and 838 has twice the data capacity and bit organization of each of the other memory devices 801 through 807, 811 through 817, 821 through 827, and 831 through 837.
The ×8 bit memory devices 808 and 818 are each used as a ×4 memory device for forming a first rank of the memory module 800, and are also each used as a ×4 memory device for storing parity bits of the ECC function. Portions of the memory devices 808 and 818 form an additional capacity portion for storing information for carrying out the ECC function. The other memory devices 801 through 807 and 811 through 817 and portions of the memory devices 808 and 818 comprise a remaining capacity portion forming the first rank of the memory module 800.
The ×8 bit memory devices 828 and 838 are each used as a ×4 memory device for forming a second rank of the memory module 800, and are also each used as a ×4 memory device for storing parity bits of the ECC function. Portions of the memory devices 828 and 838 form an additional capacity portion for storing information for carrying out the ECC function. The other memory devices 821 through 827 and 831 through 837 and portions of the memory devices 828 and 838 comprise a remaining capacity portion forming the second rank of the memory module 800.
In another embodiment of the present invention, each of the two ×8 bit memory devices 808 and 818 functions as two ×4 memory devices for forming the first rank. In that case, two of the ×4 memory devices 801 through 807 and 811 through 817 provide the ECC function. In addition, each of the two ×8 memory devices 828 and 838 on the back side functions as two ×4 memory devices for forming the second rank. In that case, two of the ×4 memory devices 821 through 827 and 831 through 837 provide the ECC function.
In
In the embodiments described above, the way in which the memory devices, having different data capacity and bit organization, share non-data signal lines may be a problem when such memory devices use different address mapping.
In one embodiment of the present invention, each of the memory devices on a memory module 500, 600, 700, or 800 have the same address mapping. In this case, there is no problem with sharing the same non-data signal lines. For example, since a 512 MB ×16 memory device has the same address mapping as a 256 MB ×8 memory device, the 512 MB ×16 memory device and the 256 MB ×8 memory device are used in the same ECC memory module without any problem.
In another embodiment of the present invention, a second type of memory device has double the capacity and bit organization of a first type of memory device, and such memory devices have different address mappings. In that case, a mechanism is desired for such memory devices to share the non-data signal lines. For example, different address mappings are used for a 1 Gbit ×16 memory device and a 512 Mbit ×8 memory device.
In other words, the presence detector 901 stores information needed to identify the ECC memory module 900 and transmits the information to a memory controller in a computer. The memory controller transmits information regarding the memory devices of the ECC memory module 900 according to the maximum number of row addresses of the memory devices. One of the memory devices having the maximum number of row addresses receives all signals from the memory controller, and a memory device having less row addresses receives only such a lower number of row address signals.
In addition, when transmitting a read/write command, the memory controller transmits information according to the maximum number of column addresses of the memory devices. One of the memory devices having the maximum number of column addresses receives all signals from the memory controller, and a memory device having less column addresses receives only such a lower number of column address signals.
In other words, the memory controller inputs a command signal based on the maximum number of column addresses and the maximum number of row addresses using information for identifying the memory devices included in the ECC memory module 900. Thus, the problem of sharing the non-data signal lines among memory devices with different address mappings is easily solved.
In an advanced memory buffer (AMB) DRAM, an AMB device is mounted on the center of a memory module, taking up space for the memory devices. The AMB device is mounted on a first side of the memory module, and memory devices are mounted on a second side of the memory module opposite the AMB device. However, since ball-out configurations of the AMB device and the memory devices are different, it is difficult to mount the memory devices opposite the AMB device.
In other words, the ball-out configuration of the AMB device should be designed to coincide with the ball-out configuration of the memory devices. Thus, the design of the AMB device may need to be changed according to the design of the memory device.
In an embodiment of a memory module of the present invention, a memory device with double the capacity and bit organization of other memory devices is used without mounting a memory device opposite the AMB device. Thus, the problem of different ball-out designs of the memory devices and the AMB device is solved.
The AMB device 1030 is mounted on the front side of the memory module 1000, and the two memory devices 1015 and 1016 are mounted on the back side of the memory module opposite the AMB device 1030. Thus, the two memory devices 1015 and 1016 must have similar ball-out design as the AMB device 1030.
Unlike the AMB ECC memory module 1000 of
Referring to
In another embodiment of the present invention, the memory device 1108 may function as two ×8 memory devices for forming the rank on the front side of the AMB ECC memory module 1100. In that case, one of the ×8 memory devices 1101 through 1107 may provide the ECC function. In addition, the memory device 1118 may function as two ×8 memory devices for forming the rank on the back side of the AMB ECC memory module 1100. In that case, one of the ×8 memory devices 1111 through 1117 may provide the ECC function.
A memory device with twice the capacity and bit organization of the other memory devices may be bigger than the other memory devices. Thus, such a bigger memory device may not be mounted to fit between smaller memory devices.
Then, the ×16 memory device 1208, which is bigger than the other memory devices 1201 through 1207, may be mounted on the interposer 1209. In this case, the interposer 129 is mounted higher than the memory devices 1201 through 1207. Thus, even if the ×16 memory device 1208 is bigger than the other memory devices 1201 through 1207, it may be mounted on the ECC memory module without taking up a larger area on the ECC memory module than the memory devices 1201 through 1207.
The ×16 bit memory device 1208 with a density twice those of the other memory devices 1201 through 1207 may function as a ×8 memory device for forming a rank and a ×8 memory device for providing the ECC function. In another embodiment, the ×16 memory device 1208 may function as two ×8 memory devices for forming the rank and one of the ×8 memory devices 1201 through 1207 may provide the ECC function.
The present invention can be used to solve the problem of increased loads of signal lines caused by an increase in the number of memory devices not only in an ECC memory module but also in all kinds of memory modules. At least one memory device with higher capacity and higher bit organization is used to provide an additional capacity portion for storing information for an additional function of the memory module aside from forming a rank.
The present invention has been described for the additional function being the ECC function. However, the present invention may be practiced for any other type of additional function of the memory module. For any such additional function, a memory module according to the present invention avoids decreased signal fidelity by preventing an increase in a package size, an increase in the load of signal lines, and asymmetric topology of signal lines.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
2004-73120 | Sep 2004 | KR | national |