Multiple processor system and method including multiple memory hub modules

Information

  • Patent Grant
  • 9082461
  • Patent Number
    9,082,461
  • Date Filed
    Tuesday, August 7, 2012
    12 years ago
  • Date Issued
    Tuesday, July 14, 2015
    9 years ago
Abstract
A processor-based electronic system includes several memory modules arranged in first and second ranks. The memory modules in the first rank are directly accessed by any of several processors, and the memory modules in the second rank are accessed by the processors through the memory modules in the first rank. The data bandwidth between the processors and the memory modules in the second rank is varied by varying the number of memory modules in the first rank that are used to access the memory module in the second set. Each of the memory modules includes several memory devices coupled to a memory hub. The memory hub includes a memory controller coupled to each memory device, a link interface coupled to a respective processor or memory module, and a cross bar switch coupling any of the memory controllers to any of the link interfaces.
Description
TECHNICAL FIELD

This invention relates to computer systems, and, more particularly, to a computer system having several processors or other memory access devices that can be coupled to several memory hub modules in a variety of configurations.


BACKGROUND OF THE INVENTION

Computer systems use memory devices, such as dynamic random access memory (“DRAM”) devices, to store instructions and data that are accessed by a processor. These memory devices are normally used as system memory in a computer system. In a typical computer system, the processor communicates with the system memory through a processor bus and a memory controller. The processor issues a memory request, which includes a memory command, such as a read command, and an address designating the location from which data or instructions are to be read or to which data or instructions are to be written. The memory controller uses the command and address to generate appropriate command signals as well as row and column addresses, which are applied to the system memory. In response to the commands and addresses, data are transferred between the system memory and the processor. The memory controller is often part of a system controller, which also includes bus bridge circuitry for coupling the processor bus to an expansion bus, such as a PCI bus.


Although the operating speed of memory devices has continuously increased, this increase in operating speed has not kept pace with increases in the operating speed of processors. As a result, the data bandwidth between a processor and memory devices to which it is coupled is significantly lower than the data bandwidth capabilities of the processor. The data bandwidth between the processor and memory devices is limited to a greater degree by the even lower data bandwidth between the processor and the memory devices.


In addition to the limited bandwidth between processors and memory devices, the performance of computer systems is also limited by latency problems that increase the time required to read data from the memory devices. More specifically, when a memory device read command is coupled to a memory device, such as a synchronous DRAM (“SDRAM”) device, the read data are output from the SDRAM device only after a delay of several clock periods. Therefore, although SDRAM devices can synchronously output burst data at a high data rate, the delay in initially providing the data can significantly slow the operating speed of a computer system using such SDRAM devices.


One approach to alleviating the memory latency problem is illustrated in FIG. 1. As shown in FIG. 1, a computer system 10 includes a processor 14 coupled to several memory modules 20a-f, although a lesser or greater number of memory modules 20 may be used. Each of the memory modules 20 includes a memory hub 24 coupled to several memory devices 28, which may be SDRAM devices. The memory modules 20 are shown in FIG. 1 as being coupled to the processor 14 and to each other 20 through unidirectional input buses 30 and unidirectional output buses 38. However, it will be understood that the memory modules 20 may be coupled to the processor 14 and to each other by bi-directional buses (not shown).


The memory modules 20 are shown in FIG. 1 as being coupled in a point-to-point arrangement in which each bus 30, 38 is coupled only between two points. However, other bus system may alternatively be used. For example, a switched bus system as shown in FIG. 2A, a shared bus system as shown in FIG. 2B, or some other bus system may also be used. The switched bus system shown in FIG. 2A includes a processor 40 coupled to a switching circuit 42. The switching circuit 42 is coupled to several memory modules 44a-d, a graphics processor 46 and an I/O device 48. In operation, the switching circuit 42 couples the processor 40 to either one of the memory modules 44a-d, the graphics processor 46 or the 110 device 48. The shared bus system shown in FIG. 2B includes a processor 50 coupled to several memory modules 54a-c through a shared bus system 58.


Any of the above-described architectures may also be used to couple multiple processors to multiple memory modules. For example, as shown in FIG. 3, a pair of a processors 60, 62 are coupled through respective bi-directional bus systems 64 to respective sets of memory modules 66a-e, 68a-e. Each of the memory modules 66a-e, 68a-e includes a memory hub 24 coupled to several memory devices 28.


A memory hub architecture as shown in FIGS. 1 and 3 can provide performance that is far superior to architectures in which a processor is coupled to several memory devices, either directly or through a system or memory controller. However, they nevertheless suffer from several limitations. For example, the architecture shown in FIG. 1 does not provide a great deal of flexibility in the manner in which the processor 14 can access the memory modules 20a-f. If, for example, the buses 30-38 include a 32-bit data bus, all accesses to the memory modules 20a-f will be in 32-bit double words even if a lesser number a data bits are being read from or written to the memory modules 20a-f.


The flexibility of the architectures shown in FIGS. 1 and 3 are also limited in other respects. For example, the architecture shown in FIG. 3 does not provide a great deal of flexibility in the manner in which the processors 60, 62 can access the memory modules 66a-e, 68a-e, respectively. Although the processor 60 can access any of the memory modules 66a-f, and the processor 62 can access any of the memory modules 68a-e, the processor 60 cannot access any of the memory modules 68a-e nor can the processor 62 access any of the memory modules 66a-e. As a result, if the processor 60 writes sufficient data to the memory modules 66a-e to reach the storage capacity of the modules 66a-e, the processor 60 will be unable to store any further data even though there may be substantial unused capacity in the memory modules 68a-e. Finally, the memory modules 66, 68 cannot be used to allow the processors 60, 62 to communicate with each other.


Another limitation of the memory architectures shown in FIGS. 1 and 3 is the relatively high latency that the processors 14, 60, 62 incur in accessing their respective memory modules 20, 66, 68. Insofar as each memory module is accessed through any memory module that is between it and the processor, substantial delays may be incurred in coupling address, data and control signals through the intervening memory modules. Further, if any of the memory modules 20, 66, 68 becomes defective, the memory modules that must be accessed through the defective memory module become unusable.


There is therefore a need for a memory system architecture that is relatively fault-intolerant, that provides relatively low latency memory accesses, an that allows multiple processor to have a great deal of flexibility in the manner in which they access hub-based memory modules.


SUMMARY OF THE INVENTION

A memory system includes a plurality of memory requestors coupled to a first rank of memory modules. The memory modules in the first rank each include a first set of memory ports corresponding in number to the number of memory requestors. Each of the memory ports in the first rank is coupled to a respective one of the memory requestors. The memory modules in the first rank further include a second set of memory ports. The memory system also includes a second rank of memory modules each of which has at least one memory port coupled to at least one memory module in the first rank through a memory port in the second set. Each of the memory modules in the first and second ranks include a plurality of memory devices and a memory hub coupled to the memory devices and to the memory ports in the first set and any second set. The memory hub preferably includes a plurality of memory controllers coupled to respective memory devices in the module, a plurality of link interfaces each of which is coupled to either one of the memory requestors or another module, and a cross bar switch having a first plurality of switch ports coupled to respective link interfaces and a plurality of memory ports coupled to respective memory controllers. The cross bar switch is operable to selectively couple each of the link interfaces to any one of the memory controllers.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of a conventional processor-based electronic system including several memory modules each of which include a memory hub coupled to several memory devices.



FIGS. 2A and 2B are block diagrams showing various conventional architectures for coupling memory modules to multiple processors.



FIG. 3 is a block diagram of a conventional processor-based electronic system including multiple processors coupled to respective sets of memory modules each of which include a memory hub coupled to several memory devices.



FIG. 4 is a block diagram of a processor-based system coupled to several memory modules according to one embodiment of the invention.



FIG. 5 is a block diagram of a memory module that can be used in the processor-based systems of FIGS. 4 and 6.



FIG. 6 is a block diagram of a processor-based system coupled to several memory modules according to another embodiment of the invention.





DETAILED DESCRIPTION OF THE INVENTION

A processor-based electronic system 100 according to one example of the invention is shown in FIG. 4. The system 100 includes three processors 104, 106, 108 and a direct memory access (“DMA”) device 110, such as a graphics controller. The DMA device 110 and each of the processors 104-108 includes four memory access ports 112, 114, 116, 118. The ports 112-118 preferably include a data port as well as either individual or a shared control and address ports. However, it will be understood that some other memory port configuration may be used, such as a port for receiving and transmitting packets. The system 100 also includes a first rank 130 of four memory modules 132, 134, 136, 138 each of which includes a first set of four memory access ports 142, 144, 146, 148. As explained below, each of the memory modules 132-138 includes a memory hub coupled to eight memory devices, which are preferably dynamic random access memory (“DRAM”) devices, and, more preferably, synchronous DRAM (“SDRAM”) devices. However, it will be understood that a greater or lesser number of memory devices may be coupled to the memory hub in each of the memory modules 132-138.


The memory access ports 112, 114, 116, 118 of the first processor 104 are coupled to the memory access port 142 of each of the memory modules 132, 134, 136, 138, respectively, through respective buses 162, 164, 166, 168. Similarly, the memory access ports 112, 114, 116, 118 of the second processor 106 are coupled to the memory access port 144 of each of the memory modules 132, 134, 136, 138, respectively, through respective buses 172, 174, 176, 178, and the memory access ports 112, 114, 116, 118 of the third processor 108 are coupled to the memory access port 146 of each of the memory modules 132, 134, 136, 138, respectively, through respective buses 182, 184, 186, 188. As a result, any of the processors 102-106 can access any of the memory modules 132-138. In a like manner, the memory access ports 112, 114, 116, 118 of the DMA device 110 are coupled to the memory access port 148 of each of the memory modules 132, 134, 136, 138, respectively, through respective buses 192, 194, 196, 198. Thus, the DMA device 108 can also access each of the memory modules 132, 134, 136, 138.


Each of the memory modules 132, 134, 136, 138 also includes a second set of four memory access ports 202, 204, 206, 208 that are coupled to a second rank 210 of four memory modules 212,214, 216, 218. More specifically, the memory access ports 202, 204, 206, 208 of the memory module 132 are coupled to a respective memory access port 222 of the memory modules 212, 214, 216, 218, respectively, tough respective buses 232, 234, 236, 238. Similarly, the memory access ports 202, 204, 206, 208 of the memory module 134 are coupled to the memory access port 224 of each of the memory modules 212, 214, 216, 218, respectively, through respective buses 242, 244, 246, 248, and the memory access ports 202, 204, 206, 208 of the memory module 136 are coupled to the memory access port 226 of each of the memory modules 212, 214, 216, 218, respectively, through respective buses 252, 254, 256, 258. Finally, the memory access ports 202, 204, 206, 208 of the memory module 138 are coupled to the memory access port 228 of each of the memory modules 212, 214, 216,218, respectively, through respective buses 262, 264,266,268.


Each of the memory modules 212-218 in the second rank 210, like the memory modules 132-138 in the first rank 130, includes a memory hub coupled to eight memory devices. As explained in greater detail below, each of the memory hubs in the first rank 130 of memory modules 132-138 includes a crossbar switch (not shown in FIG. 4) that can couple any of the memory access ports 112-118 to any of the memory access ports 202-208. In the same manner, a memory hub in each of the memory modules 212-218 in the second rank 210 can couple any of the memory access ports 202-208 to any of the memory access ports 222-228. As a result, any of the processors 102-106 and the DMA device 108 can access any of the memory modules 132-138 directly and any of the memory modules 212-218 through the memory modules 132-138. This close proximity between the processors 102-106 and the memory modules 132-138, 212-218 and between the DMA device 108 and the memory modules 132-138, 212-218 results in a relatively low latency compared to latencies that are achievable with memory architectures of the type illustrated in FIGS. 1 and 3.


An additional advantage of the memory topography shown in FIG. 4 is that the data bandwidth between any of the processors 102-106 or the DMA device 108 and any of the memory modules 212-218 in the second rank 210 can be varied by simply varying the number of interconnections to the memory modules 212-218. For example, if each of the buses are 16-bits wide, the processor 106 can be coupled to any of the memory modules 212-218 through a 16-bit data bus by using only a single one of the buses extending from the processor 106 to one of the modules 132-138 and a single one of the buses extending from one of the modules 132-138 to one of the modules 212-218. The processor 106 can be coupled to any of the memory modules 212-218 through a 32-bit data bus by being coupled to two of the modules 132-138, and from each of these two modules 132-138 to one of the modules 212-218 though a respective bus. The processor 106 can be coupled to any of the memory modules 212-218 through a 48-bit data bus by being coupled to three of the modules 132-138, and from each of these three modules 132-138 to one of the modules 212-218 through a respective bus. Finally, the processor 106 can be coupled to any of the memory modules 212-218 through a 64-bit data bus by being coupled to all four of the modules 132-138, and from each of these four modules 132-138 to one of the modules 212-218 though a respective bus.


One embodiment of a memory hub 300 that may be used in the memory modules 132-138, 212-218 of FIG. 4 is shown in FIG. 5. The memory hub 300 includes four link interfaces 304a-d that are coupled to respective buses, such as the buses in the first set shown in FIG. 4. Similarly, four additional link interfaces 308a-d are included that are also coupled to respective buses, such as the buses in the second set shown in FIG. 4. All of the link interfaces 304, 308 are coupled to a cross bar switch 310, which may be of a conventional or hereinafter developed design. The cross bar switch 310 can couple any of the link interfaces 304a-d to any of the link interfaces 308-a-d, as previously explained with respect to FIG. 4. The link interfaces 304a-d, 308a-d may be either unidirectional or duplex interfaces, and the nature of the memory accesses coupled to or from the link interfaces 304a-d, 308a-d may vary as desired, including conventional DRAM address, control and data signals, shared address and control signals and packetized memory access signals.


The cross bar switch 310 can also couple any of the link interfaces 304a-d, 308a-d to four DRAM controllers 314a-d, each of which is coupled to a plurality of DRAM devices (not shown in FIG. 5). The DRAM controllers 314a-d may be conventional DRAM controllers or some hereinafter developed design for a DRAM controller. The specific structure and operation of the DRAM controllers 314a-d will, of course, depend on the nature of the DRAM devices used in a memory module. The cross bar switch 310 couples the link interfaces 304a-d to the DRAM controllers 314a-d to allow any of a plurality of memory access devices to write data to or read data from DRAM devices coupled to the controllers 314a-d, as also explained above with reference to FIG. 5. The cross bar switch 310 couples the link interfaces 308a-d to the DRAM controllers 314a-d to allow any data to be transferred to or from DRAM devices coupled to the DRAM controllers 314a-d from or to, respectively, other memory modules containing a memory hub 300.


The memory hub 300 also includes a cache memory 320a-d and a write buffer 324a-d for each of the DRAM devices serviced by a respective DRAM controller 314a-d. As is well known in the art, each of the cache memories 320a-d, which may be a static random access memory (“SRAM”) device, stores recently or frequently accessed data stored in the DRAM devices serviced by the respective DRAM controller 314a-d. The write buffers 324a-d accumulate write addresses and data directed to DRAM devices serviced by a respective one of the DRAM controllers 314a-d if the DRAM devices are busy servicing a read memory request or there are other read requests pending. By accumulating the write memory requests in this manner, they can be processed more efficiently in a pipelined manner since there is no need to incur delays associated with alternating write and read requests.


As mentioned above, data can be transferred from one memory module containing a memory hub 300 to another memory module containing a memory hub 300. These inter-module data transfers are controlled by a direct memory access (“DMA”) engine 330, which may be of a conventional or hereinafter developed design. The DMA engine 330 may also be used to transfer data from a partially defective memory module to a properly functioning memory module prior to disabling the operation of the partially defective memory module.


The memory hub 300 will generally include components in addition to those shown in FIG. 5. However, these have been omitted in the interest of brevity or clarity. Also, in some applications, components shown in FIG. 5 may be omitted. For example, the write buffers 324a-d may be omitted if write/read access turnovers are acceptable. Also, although the memory hub 300 shown in FIG. 5 includes two sets of four link interfaces 304a-d, 308a-d and four DRAM controllers 314a-d, the number of sets of link interfaces, the number of link interfaces in each set and the number of DRAM controllers may vary as desired.


An alternative embodiment of a processor-based electronic system 350 is shown in FIG. 6. The system 350 includes four memory requestors 352a-d, such as processors or direct memory access devices, each of which is coupled to a first rank 354 of four memory modules 356a-d through buses, generally indicated at 358. The memory modules 356a-d are thus configured in the same manner as in the embodiment of FIG. 4. However, rather than coupling each of the memory modules 356 in the first rank 354 to each of the memory modules in a second rank of memory modules as in the embodiment of FIG. 4, the memory modules 356a-d are each coupled to a respective set of four memory modules in a second rank 360. Thus, the first memory module 356a is coupled to four memory modules 362a-d, the second memory module 356b is coupled to four memory modules 362e-h, the third memory module 356c is coupled to four memory modules 362i-1, and the fourth memory module 356d is coupled to four memory modules 362m-p. The advantage of the topography shown in FIG. 6 over the topography shown in FIG. 4 is that the second rank 360 of memory modules 362 provide a larger memory capacity than the memory modules in the second rank 210 using the topography shown in FIG. 4. However, a disadvantage of the memory topography shown in FIG. 6 is that it provides less bandwidth and flexibility in accessing the memory modules 362 in the second rank 360.


From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. For example, although the processors 104-108 and the DMA device 110 are shown as being coupled directly to the memory modules 132-138, it will be understood that they may be coupled through other devices, such as bus bridges. Also, the systems 100, 350 shown in FIGS. 4 and 6, respectively, would normally include components in addition to those shown. Accordingly, the invention is not limited except as by the appended claims.

Claims
  • 1. A computer system comprising: a plurality of devices capable of making memory requests, the devices selected from the group consisting of processors and direct memory access devices;a plurality of memory modules in communication with the plurality of devices, the memory modules each comprising a plurality of memory devices and a memory hub, the memory hub comprising:a plurality of memory controllers, each of the memory controllers being coupled to at least one of the memory devices in the memory module; anda switch coupled to: i) a plurality of first access ports each of the plurality of first access ports coupled to a different one of the plurality of devices capable or making memory requests:ii) a plurality of second access ports each being coupled to a respective one of a plurality of third access ports external to the memory module; andiii) a plurality of the memory controllers, wherein, in response to an output from a corresponding one of the plurality of devices capable of making memory requests, the switch is configured to selectively couple one of the plurality of the first access ports that receives the output from the corresponding one of the plurality of devices capable of making memory requests memory requester to either: one of the second access ports or one of the memory ports.
  • 2. The computer system of claim 1 wherein each of the memory devices comprises a dynamic random access memory device.
  • 3. The computer system of claim 1 wherein each of the memory hubs further comprises a respective cache memory device associated with each of the memory controllers, each of the cache memory devices being operable to store data that is accessed through a respective one of the memory access ports coupled to the switch.
  • 4. The computer system of claim 1 wherein the memory controllers and the switch are fabricated as a common integrated circuit in a semiconductor substrate.
  • 5. The computer system of claim 1 wherein the memory devices and the memory hub are fabricated as a common integrated circuit in a semiconductor substrate.
  • 6. The computer system of claim 1 wherein the memory hub further comprises a respective write buffer associated with each of the memory controllers, each of the write buffers being configured to receive write data and associated write addresses through a respective one of the memory ports of the switch and to store the write data and addresses for subsequent coupling to a respective one of the memory controllers.
  • 7. The computer system of claim 6 wherein each of the write buffers is configured to accumulate write data and addresses for a plurality of write memory accesses and to then sequentially couple the plurality of write data and addresses to a respective one of the memory controllers without any intervening read memory accesses.
  • 8. The computer system of claim 1 wherein each of the memory hubs further comprises a direct memory access device coupled to the switch and the memory controllers, the direct memory access device being configured to cause the switch and each of the memory controllers to perform memory write and read accesses.
  • 9. A computer system, comprising: a plurality of devices capable of making memory requests;a first plurality of memory modules coupled to the devices capable of making memory requests, the memory modules in the first plurality each comprising a first set of memory ports coupled to a respective one of the plurality of devices capable of making memory requests, the memory modules in the first plurality further including a second set of memory ports, each of the memory modules in the first plurality further comprising a plurality of memory devices; anda second plurality of memory modules each comprising at least one memory port coupled to a memory module in the first plurality through a memory port in the second set, each of the memory modules in the second plurality including a plurality of memory devices, each of the memory modules in the second plurality being accessed by at least one of the devices capable of making memory requests through at least one of the memory modules in the first plurality, the memory modules in the first plurality being configured to allow the number of memory modules in the first plurality through which the at least one memory module in the second plurality of memory modules is accessed to be adjustable to vary the data bandwidth between at least one of the devices capable of making memory requests and the at least one memory module in the second plurality of memory modules.
  • 10. The computer system of claim 9 wherein the number of ports in each of the modules in the second plurality of memory modules corresponds in number to the number of modules in the first plurality of memory modules.
  • 11. The computer system of claim 9 wherein the number of ports in of each module of the first plurality of memory modules corresponds in number to the number of devices capable of making memory requests.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 13/007,053 filed Jan. 14, 2012 and scheduled to issue as U.S. Pat. No. 8,244,952 on Aug. 14, 2012, which is a continuation of U.S. patent application Ser. No. 12/505,933 filed Jul. 20, 2009, which issued as U.S. Pat. No. 7,873,775 on Jan. 18, 2011, which application is a continuation of U.S. patent application Ser. No. 12/002,849, filed Dec. 18, 2007, which issued as U.S. Pat. No. 7,581,055 on Aug. 25, 2009, which application is a continuation of U.S. patent application Ser. No. 11/544,352, filed Oct. 5, 2006, which issued as U.S. Pat. No. 7,386,649 on Jun. 10, 2008, which application is a continuation of U.S. patent application Ser. No. 10/653,044, filed Aug. 28, 2003, which issued as U.S. Pat. No. 7,136,958 on Nov. 14, 2006. The entire disclosures of the foregoing applications and issued patents are incorporated herein by reference.

US Referenced Citations (281)
Number Name Date Kind
3742253 Kronies Jun 1973 A
4045781 Levy et al. Aug 1977 A
4078228 Miyazaki Mar 1978 A
4240143 Besemer et al. Dec 1980 A
4245306 Besemer et al. Jan 1981 A
4253144 Bellamy et al. Feb 1981 A
4253146 Bellamy et al. Feb 1981 A
4608702 Hirzel et al. Aug 1986 A
4707823 Holdren et al. Nov 1987 A
4724520 Athanas et al. Feb 1988 A
4831520 Rubinfeld et al. May 1989 A
4891808 Williams Jan 1990 A
4930128 Suzuki et al. May 1990 A
4953930 Ramsey et al. Sep 1990 A
4982185 Holmberg et al. Jan 1991 A
5241506 Motegi et al. Aug 1993 A
5243703 Farmwald et al. Sep 1993 A
5251303 Fogg, Jr. et al. Oct 1993 A
5269022 Shinjo et al. Dec 1993 A
5299293 Mestdagh et al. Mar 1994 A
5313590 Taylor May 1994 A
5317752 Jewett et al. May 1994 A
5319755 Farmwald et al. Jun 1994 A
5355391 Horowitz et al. Oct 1994 A
5432823 Gasbarro et al. Jul 1995 A
5432907 Picazo, Jr. et al. Jul 1995 A
5442770 Barratt Aug 1995 A
5461627 Rypinski Oct 1995 A
5465229 Bechtolsheim et al. Nov 1995 A
5479370 Furuyama et al. Dec 1995 A
5497476 Oldfield et al. Mar 1996 A
5497479 Hornbuckle Mar 1996 A
5502621 Schumacher et al. Mar 1996 A
5544319 Acton et al. Aug 1996 A
5566325 Bruce, II et al. Oct 1996 A
5577220 Combs et al. Nov 1996 A
5581767 Katsuki et al. Dec 1996 A
5606717 Farmwald et al. Feb 1997 A
5638334 Farmwald et al. Jun 1997 A
5638534 Mote, Jr. Jun 1997 A
5659798 Blumrich et al. Aug 1997 A
5687325 Chang Nov 1997 A
5706224 Srinivasan et al. Jan 1998 A
5710733 Chengson et al. Jan 1998 A
5715456 Bennett et al. Feb 1998 A
5729709 Harness Mar 1998 A
5748616 Riley May 1998 A
5796413 Shipp et al. Aug 1998 A
5818844 Singh et al. Oct 1998 A
5819304 Nilsen et al. Oct 1998 A
5822255 Uchida Oct 1998 A
5832250 Whittaker Nov 1998 A
5875352 Gentry et al. Feb 1999 A
5875454 Craft et al. Feb 1999 A
5887159 Burrows Mar 1999 A
5928343 Farmwald et al. Jul 1999 A
5966724 Ryan Oct 1999 A
5973935 Schoenfeld et al. Oct 1999 A
5973951 Bechtolsheim et al. Oct 1999 A
5978567 Rebane et al. Nov 1999 A
5987196 Noble Nov 1999 A
6011741 Wallace et al. Jan 2000 A
6023726 Saksena Feb 2000 A
6029250 Keeth Feb 2000 A
6031241 Silfvast et al. Feb 2000 A
6033951 Chao Mar 2000 A
6038630 Foster et al. Mar 2000 A
6061263 Boaz et al. May 2000 A
6061296 Ternullo, Jr. et al. May 2000 A
6064706 Driskill et al. May 2000 A
6067262 Irrinki et al. May 2000 A
6067649 Goodwin May 2000 A
6073190 Rooney Jun 2000 A
6076139 Welker et al. Jun 2000 A
6079008 Clery, III Jun 2000 A
6092158 Harriman et al. Jul 2000 A
6098158 Lay et al. Aug 2000 A
6100735 Lu Aug 2000 A
6105075 Ghaffari Aug 2000 A
6125431 Kobayashi Sep 2000 A
6128703 Bourekas et al. Oct 2000 A
6134624 Burns et al. Oct 2000 A
6137709 Boaz et al. Oct 2000 A
6144587 Yoshida Nov 2000 A
6167465 Parvin et al. Dec 2000 A
6167486 Lee et al. Dec 2000 A
6175571 Haddock et al. Jan 2001 B1
6185352 Hurley Feb 2001 B1
6185676 Poplingher et al. Feb 2001 B1
6186400 Dvorkis et al. Feb 2001 B1
6191663 Hannah Feb 2001 B1
6201724 Ishizaki et al. Mar 2001 B1
6208180 Fisch et al. Mar 2001 B1
6223301 Santeler et al. Apr 2001 B1
6233376 Updegrove May 2001 B1
6243769 Rooney Jun 2001 B1
6243831 Mustafa et al. Jun 2001 B1
6246618 Yamamoto et al. Jun 2001 B1
6247107 Christie Jun 2001 B1
6249802 Richardson et al. Jun 2001 B1
6256325 Park Jul 2001 B1
6256692 Yoda et al. Jul 2001 B1
6272609 Jeddeloh Aug 2001 B1
6278755 Baba et al. Aug 2001 B1
6285349 Smith Sep 2001 B1
6286083 Chin et al. Sep 2001 B1
6289068 Hassoun et al. Sep 2001 B1
6294937 Crafts et al. Sep 2001 B1
6301637 Krull et al. Oct 2001 B1
6324485 Ellis Nov 2001 B1
6327642 Lee et al. Dec 2001 B1
6327650 Bapst et al. Dec 2001 B1
6330205 Shimizu et al. Dec 2001 B2
6347055 Motomura Feb 2002 B1
6349363 Cai et al. Feb 2002 B2
6356573 Jonsson et al. Mar 2002 B1
6367074 Bates et al. Apr 2002 B1
6370068 Rhee Apr 2002 B2
6370611 Callison et al. Apr 2002 B1
6373777 Suzuki Apr 2002 B1
6381190 Shinkai Apr 2002 B1
6389514 Rokicki May 2002 B1
6392653 Malandain et al. May 2002 B1
6401213 Jeddeloh Jun 2002 B1
6405280 Ryan Jun 2002 B1
6421744 Morrison et al. Jul 2002 B1
6430696 Keeth Aug 2002 B1
6433785 Garcia et al. Aug 2002 B1
6434639 Haghighi Aug 2002 B1
6434696 Kang Aug 2002 B1
6434736 Schaecher et al. Aug 2002 B1
6438622 Haghighi et al. Aug 2002 B1
6438668 Esfahani et al. Aug 2002 B1
6449308 Knight, Jr. et al. Sep 2002 B1
6453393 Holman et al. Sep 2002 B1
6460114 Jeddeloh Oct 2002 B1
6462978 Shibata et al. Oct 2002 B2
6463059 Movshovich et al. Oct 2002 B1
6467013 Nizar Oct 2002 B1
6470422 Cai et al. Oct 2002 B2
6473828 Matsui Oct 2002 B1
6477592 Chen et al. Nov 2002 B1
6477614 Leddige et al. Nov 2002 B1
6477621 Lee et al. Nov 2002 B1
6479322 Kawata et al. Nov 2002 B2
6487556 Downs et al. Nov 2002 B1
6490188 Nuxoll et al. Dec 2002 B2
6496193 Surti et al. Dec 2002 B1
6496909 Schimmel Dec 2002 B1
6501471 Venkataraman et al. Dec 2002 B1
6505287 Uematsu Jan 2003 B2
6523092 Fanning Feb 2003 B1
6523093 Bogin et al. Feb 2003 B1
6526483 Cho et al. Feb 2003 B1
6539490 Forbes et al. Mar 2003 B1
6552564 Forbes et al. Apr 2003 B1
6587912 Leddige et al. Jul 2003 B2
6590816 Perner Jul 2003 B2
6594713 Fuoco et al. Jul 2003 B1
6594722 Willke, II et al. Jul 2003 B1
6598154 Vaid et al. Jul 2003 B1
6615325 Mailloux et al. Sep 2003 B2
6622188 Goodwin et al. Sep 2003 B1
6622227 Zumkehr et al. Sep 2003 B2
6628294 Sadowsky et al. Sep 2003 B1
6629220 Dyer Sep 2003 B1
6631440 Jenne et al. Oct 2003 B2
6636110 Ooishi et al. Oct 2003 B1
6636912 Ajanovic et al. Oct 2003 B2
6646929 Moss et al. Nov 2003 B1
6647470 Janzen Nov 2003 B1
6658509 Bonella et al. Dec 2003 B1
6662304 Keeth et al. Dec 2003 B2
6665202 Lindahl et al. Dec 2003 B2
6667895 Jang et al. Dec 2003 B2
6681292 Creta et al. Jan 2004 B2
6697926 Johnson et al. Feb 2004 B2
6715018 Farnworth et al. Mar 2004 B2
6718440 Maiyuran et al. Apr 2004 B2
6721195 Brunelle et al. Apr 2004 B2
6721226 Woo et al. Apr 2004 B2
6721860 Klein Apr 2004 B2
6724685 Braun et al. Apr 2004 B2
6728800 Lee et al. Apr 2004 B1
6735679 Herbst et al. May 2004 B1
6735682 Segelken et al. May 2004 B2
6742098 Halbert et al. May 2004 B1
6745275 Chang Jun 2004 B2
6751703 Chilton Jun 2004 B2
6754812 Abdallah et al. Jun 2004 B1
6756661 Tsuneda et al. Jun 2004 B2
6760833 Dowling Jul 2004 B1
6771538 Shukuri et al. Aug 2004 B2
6775747 Venkatraman Aug 2004 B2
6782435 Garcia et al. Aug 2004 B2
6785780 Klein et al. Aug 2004 B1
6789173 Tanaka et al. Sep 2004 B1
6792059 Yuan et al. Sep 2004 B2
6792496 Aboulenein et al. Sep 2004 B2
6795899 Dodd et al. Sep 2004 B2
6799246 Wise et al. Sep 2004 B1
6799268 Boggs et al. Sep 2004 B1
6804760 Wiliams Oct 2004 B2
6804764 LaBerge et al. Oct 2004 B2
6807630 Lay et al. Oct 2004 B2
6811320 Abbott Nov 2004 B1
6816947 Huffman Nov 2004 B1
6820181 Jeddeloh et al. Nov 2004 B2
6821029 Grung et al. Nov 2004 B1
6823023 Hannah Nov 2004 B1
6845409 Talagala et al. Jan 2005 B1
6901494 Zumkehr et al. May 2005 B2
6904556 Walton et al. Jun 2005 B2
6910109 Holman et al. Jun 2005 B2
6912612 Kapur et al. Jun 2005 B2
6947672 Jiang et al. Sep 2005 B2
6980042 LaBerge Dec 2005 B2
7046060 Minzoni et al. May 2006 B1
7068085 Gomm et al. Jun 2006 B2
7116143 Deivasigamani et al. Oct 2006 B2
7120743 Meyer et al. Oct 2006 B2
7133972 Jeddeloh Nov 2006 B2
7133991 James Nov 2006 B2
7136958 Jeddeloh Nov 2006 B2
7149874 Jeddeloh Dec 2006 B2
7181584 LaBerge Feb 2007 B2
7187742 Logue et al. Mar 2007 B1
7386649 Jeddeloh Jun 2008 B2
7581055 Jeddeloh Aug 2009 B2
20010038611 Darcie et al. Nov 2001 A1
20010039612 Lee Nov 2001 A1
20020112119 Halbert et al. Aug 2002 A1
20020116588 Beckert et al. Aug 2002 A1
20020144064 Fanning Oct 2002 A1
20020178319 Sanchez-Olea Nov 2002 A1
20030005223 Coulson et al. Jan 2003 A1
20030005344 Bhamidipati et al. Jan 2003 A1
20030043158 Wasserman et al. Mar 2003 A1
20030043426 Baker et al. Mar 2003 A1
20030093630 Richard et al. May 2003 A1
20030149809 Jensen et al. Aug 2003 A1
20030156581 Osborne Aug 2003 A1
20030163649 Kapur et al. Aug 2003 A1
20030177320 Sah et al. Sep 2003 A1
20030193927 Hronik Oct 2003 A1
20030217223 Nino et al. Nov 2003 A1
20030229762 Maiyuran et al. Dec 2003 A1
20030229770 Jeddeloh Dec 2003 A1
20040022094 Radhakrishnan et al. Feb 2004 A1
20040024948 Winkler et al. Feb 2004 A1
20040034753 Jeddeloh Feb 2004 A1
20040047169 Lee et al. Mar 2004 A1
20040126115 Levy et al. Jul 2004 A1
20040128449 Osborne et al. Jul 2004 A1
20040144994 Lee et al. Jul 2004 A1
20040160206 Komaki et al. Aug 2004 A1
20040193821 Ruhovets et al. Sep 2004 A1
20040225787 Ma et al. Nov 2004 A1
20040236885 Fredriksson et al. Nov 2004 A1
20040251936 Gomm Dec 2004 A1
20050015426 Woodruff et al. Jan 2005 A1
20050071542 Weber et al. Mar 2005 A1
20050105350 Zimmerman May 2005 A1
20050122153 Lin Jun 2005 A1
20050132159 Jeddeloh Jun 2005 A1
20050149603 DeSota et al. Jul 2005 A1
20050162882 Reeves et al. Jul 2005 A1
20050166006 Talbot et al. Jul 2005 A1
20050177677 Jeddeloh Aug 2005 A1
20050177695 Larson et al. Aug 2005 A1
20050213611 James Sep 2005 A1
20050216677 Jeddeloh et al. Sep 2005 A1
20050268060 Cronin et al. Dec 2005 A1
20060022724 Zerbe et al. Feb 2006 A1
20060066375 LaBerge Mar 2006 A1
20060136683 Meyer et al. Jun 2006 A1
20060174070 Jeddeloh Aug 2006 A1
20060200602 James Sep 2006 A1
20060218318 James Sep 2006 A1
20060271746 Meyer et al. Nov 2006 A1
20090013211 Vogt et al. Jan 2009 A1
Foreign Referenced Citations (5)
Number Date Country
0709786 May 1996 EP
0849685 Jun 1998 EP
2001265539 Sep 2001 JP
9319422 Sep 1993 WO
0227499 Apr 2002 WO
Non-Patent Literature Citations (9)
Entry
“Free On-Line Dictionary of Computing” entry 'Flash Erasable Programmable Read-Only Memory, online May 17, 2004 [http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?flash+memory]. cited by other.
“Free On-Line Dictionary of Computing” entry Flash Erasable Programmable Read-Only Memory, online May 17, 2004 [http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?flash+memory]. cited by other.
Intel, “Flash Memory PCI Add-In Card for Embedded Systems”, Application Note AP-758, Sep. 1997, pp. i-13. cited by other.
Intel, “Intel 840 Chipset: 82840 Memory Controller Hub (MCH)”, Datasheet, Oct. 1999, pp. 1-178. cited by other.
Intel, “Intel 840 Chipset: 82840 Memory Controller Hub (MCH)”, Datasheet, www.intel.com/design/chipsets/datashts/298020.htm, Oct. 1999, pp. 1-178. cited by other.
Micron Technology, Inc., “Synchronous DRAM Module 512MB/1GB (x72, ECC) 168-PIN Registered FBGA SDRAM DIMM”, Micron Technology, Inc., 2002, pp. 1-23. cited by other.
Micron Technology, Inc., Synchronous DRAM Module 512MB/1GB (x72, ECC) 168-PIN Registered FBGA SDRAM DIMM, Micron Technology, Inc., 2002, pp. 1-23. cited by other.
Rambus, Inc., “Direct Rambus.TM. Technology Disclosure”, Oct. 1997. pp. 1-16. cited by other.
Shanley, T. et al., “PCI System Architecture”, Third Edition, Mindshare, Inc., 1995, pp. 24-25. cited by other.
Related Publications (1)
Number Date Country
20120303885 A1 Nov 2012 US
Continuations (5)
Number Date Country
Parent 13007053 Jan 2011 US
Child 13568447 US
Parent 12505933 Jul 2009 US
Child 13007053 US
Parent 12002849 Dec 2007 US
Child 12505933 US
Parent 11544352 Oct 2006 US
Child 12002849 US
Parent 10653044 Aug 2003 US
Child 11544352 US