Service interface to a memory system

Information

  • Patent Grant
  • 7610423
  • Patent Number
    7,610,423
  • Date Filed
    Tuesday, August 26, 2008
    16 years ago
  • Date Issued
    Tuesday, October 27, 2009
    15 years ago
Abstract
A cascaded interconnect system for providing a service interface to a memory system. The cascaded interconnect system includes a master service interface module, a service interface bus, and one or more slave service interface modules. The master service interface module and the slave interface modules are cascade interconnected via the service interface bus. Each slave service interface module is in communication with a corresponding memory module for providing a service to the memory module.
Description
BACKGROUND

The invention relates to a memory system and, in particular, to providing a service interface to a memory system.


Computer memory subsystems have evolved over the years but continue to retain many consistent attributes. Computer memory subsystems from the early 1980's, such as the one disclosed in U.S. Pat. No. 4,475,194 to LaVallee et al., of common assignment herewith, included a memory controller, a memory assembly (contemporarily called a basic storage module (BSM) by the inventors) with array devices, buffers, terminators and ancillary timing and control functions, as well as several point-to-point busses to permit each memory assembly to communicate with the memory controller via its own point-to-point address and data bus. FIG. 1 depicts an example of this early 1980 computer memory subsystem with two BSMs, a memory controller, a maintenance console, and point-to-point address and data busses connecting the BSMs and the memory controller.



FIG. 2, from U.S. Pat. No. 5,513,135 to Dell et al., of common assignment herewith, depicts an early synchronous memory module, which includes synchronous dynamic random access memories (DRAMs) 8, memory interface chips 12, an optimized pinout, an interconnect and a capacitive decoupling method to facilitate operation. The patent also describes the use of clock re-drive on the module, using such devices as phase lock loops (PLLs).



FIG. 3, from U.S. Pat. No. 6,510,100 to Grundon et al., of common assignment herewith, depicts a simplified diagram and description of a memory system 10 that includes up to four registered dual inline memory modules (DIMMs) 40 on a traditional multi-drop stub bus channel. The subsystem includes a memory controller 20, an external clock buffer 30, registered DIMMs 40, an address bus 50, a control bus 60 and a data bus 70 with terminators 95 on the address bus 50 and data bus 70.



FIG. 4 depicts a 1990's memory subsystem which evolved from the structure in FIG. 1 and includes a memory controller 402, one or more high speed point-to-point channels 404, each connected to a bus-to-bus converter chip 406, and each having a synchronous memory interface 408 that enables connection to one or more registered DIMMs 410. In this implementation, the high speed, point-to-point channel 404 operated at twice the DRAM data rate, allowing the bus-to-bus converter chip 406 to operate one or two registered DIMM memory channels at the full DRAM data rate. Each registered DIMM included a PLL, registers, DRAMs, a serial electrically erasable programmable read-only memory (SEEPROM) and terminators, in addition to other passive components.


As shown in FIG. 5, memory subsystems were often constructed with a memory controller connected either to a single memory module, or to two or more memory modules interconnected on a ‘stub’ bus. FIG. 5 is a simplified example of a multi-drop stub bus memory structure, similar to the one shown in FIG. 3. This structure offers a reasonable tradeoff between cost, performance, reliability and upgrade capability but has inherent limits on the number of modules that may be attached to the stub bus. The limit on the number of modules that may be attached to the stub bus is directly related to the data rate of the information transferred over the bus. As data rates increase, the number and length of the stubs must be reduced to ensure robust memory operation. Increasing the speed of the bus generally results in a reduction in modules on the bus, with the optimal electrical interface being one in which a single module is directly connected to a single controller, or a point-to-point interface with few, if any, stubs that will result in reflections and impedance discontinuities. As most memory modules are sixty-four or seventy-two bits in data width, this structure also requires a large number of pins to transfer address, command, and data. One hundred and twenty pins are identified in FIG. 5 as being a representative pincount.



FIG. 6, from U.S. Pat. No. 4,723,120 to Petty, of common assignment herewith, is related to the application of a daisy chain structure in a multipoint communication structure that would otherwise require multiple ports, each connected via point-to-point interfaces to separate devices. By adopting a daisy chain structure, the controlling station can be produced with fewer ports (or channels), and each device on the channel can utilize standard upstream and downstream protocols, independent of their location in the daisy chain structure.



FIG. 7 represents a daisy chained memory bus, implemented consistent with the teachings in U.S. Pat. No. 4,723,120. A memory controller 111 is connected to a memory bus 315, which further connects to a module 310a. The information on bus 315 is re-driven by the buffer on module 310a to a next module, 310b, which further re-drives the bus 315 to module positions denoted as 310n. Each module 310a includes a DRAM 311a and a buffer 320a. The bus 315 may be described as having a daisy chain structure with each bus being point-to-point in nature.


One drawback to the use of a daisy chain bus is associated with powering up, configuring and initializing the devices on the memory modules in the daisy chain. These devices typically require initialization instructions to perform such tasks as providing configuration information and to perform high speed memory bus interface training and optimization sequences. A service interface, which is available early in the power on reset sequence because it does not require an interface training and optimization procedure, can be used for these tasks. Because the number of memory modules on the daisy chain may vary, powering up, configuring and initializing must be able to handle a variable number of memory modules. A typical ring connected service interface topology (e.g., a joint test action group (JTAG) interface) may not support a variable number of plugged components without expensive, external multiplexing. In addition to a service interface that can handle a variable number of plugged components, it would be desirable for powering up, configuring and initializing to be performed efficiently and with high reliability.


SUMMARY

Exemplary embodiments of the present invention include a cascaded interconnect system for providing a service interface to a memory system. The cascaded interconnect system includes a master service interface module, a service interface bus, and one or more slave service interface modules. The master service interface module and the slave interface modules are cascade interconnected via the service interface bus. Each slave service interface module is in communication with a corresponding memory module for providing a service to the memory module.


Further exemplary embodiments include a storage medium for providing a service interface to a memory subsystem. The storage medium is encoded with machine readable computer program code for causing a computer to implement a method. The method includes receiving an input signal at a slave service interface module. The slave service interface module is included in a cascaded interconnect system that includes a master service interface module and one or more slave service interface modules that are interconnected by a service interface bus. In addition, the slave service interface module corresponds to a memory module. The input signal is transmitted in response to the receiving and a service is provided to the memory module in response to the input signal.





BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Referring now to the drawings wherein like elements are numbered alike in the several FIGURES:



FIG. 1 depicts a prior art memory controller connected to two buffered memory assemblies via separate point-to-point links;



FIG. 2 depicts a prior art synchronous memory module with a memory interface chip;



FIG. 3 depicts a prior art memory subsystem using registered DIMMs;



FIG. 4 depicts a prior art memory subsystem with point-to-point channels, registered DIMMs, and a 2:1 bus speed multiplier;



FIG. 5 depicts a prior art memory structure that utilizes a multidrop memory ‘stub’ bus;



FIG. 6 depicts a prior art daisy chain structure in a multipoint communication structure that would otherwise require multiple ports;



FIG. 7 depicts a prior art daisy chain connection between a memory controller and memory modules;



FIG. 8 depicts a cascaded memory structure that is utilized by exemplary embodiments of the present invention;



FIG. 9 depicts a memory structure with cascaded memory modules and unidirectional busses that is utilized by exemplary embodiments of the present invention;



FIG. 10 depicts a buffered module wiring system that is utilized by exemplary embodiments of the present invention;



FIG. 11 depicts bus and DRAM timing diagrams showing the four to one bus speed multiplier that is utilized by exemplary embodiments of the present invention;



FIG. 12 depicts a downstream frame format that is utilized by exemplary embodiments of the present invention;



FIG. 13 depicts a cascaded service interface that may be utilized by exemplary embodiments of the present invention;



FIG. 14 depicts an exemplary embodiment of the present invention that includes two parallel field replaceable unit service interfaces (FSIs) connected in a cascade fashion to memory modules;



FIG. 15 depicts a memory module that includes common field replaceable unit access macro (CFAM) logic and a service interface in accordance with exemplary embodiments of the present invention;



FIG. 16 depicts service interface logic in accordance with exemplary embodiments of the present invention;



FIG. 17 depicts an exemplary pin arrangement that may be utilized by exemplary embodiments of the present invention; and



FIG. 18 depicts an exemplary power on reset process and initialization process that is utilized by exemplary embodiments of the present invention.





DETAILED DESCRIPTION

Exemplary embodiments of the present invention include a cascaded interconnect service interface for a memory system. The service interface may be utilized for high performance and high reliability power on reset and initialization in a cascaded memory module structure.



FIG. 8 depicts a cascaded memory structure that may be utilized with exemplary embodiments of the power on reset and initialization described herein. This memory structure includes a memory controller 802 in communication with one or more memory modules 806 via a high speed point-to-point bus 804. Each bus 804 in the exemplary embodiment depicted in FIG. 8 includes approximately fifty high speed wires for the transfer of address, command, data and clocks. By using point-to-point busses as described in the aforementioned prior art, it is possible to optimize the bus design to permit significantly increased data rates, as well as to reduce the bus pincount by transferring data over multiple cycles. Whereas FIG. 4 depicts a memory subsystem with a two to one ratio between the data rate on any one of the busses connecting the memory controller to one of the bus converters (e.g., to 1,066 Mb/s per pin) versus any one of the busses between the bus converter and one or more memory modules (e.g., to 533 Mb/s per pin), an exemplary embodiment of the present invention, as depicted in FIG. 8, provides a four to one bus speed ratio to maximize bus efficiency and minimize pincount.


Although point-to-point interconnects permit higher data rates, overall memory subsystem efficiency must be achieved by maintaining a reasonable number of memory modules 806 and memory devices per channel (historically four memory modules with four to thirty-six chips per memory module, but as high as eight memory modules per channel and as few as one memory module per channel). Using a point-to-point bus necessitates a bus re-drive function on each memory module to permit memory modules to be cascaded such that each memory module is interconnected to other memory modules, as well as to the memory controller 802.



FIG. 9 depicts a memory structure with cascaded memory modules and unidirectional busses that is utilized by exemplary embodiments of the present invention. One of the functions provided by the memory modules 806 in the cascade structure is a re-drive function to send signals on the memory bus to other memory modules 806 or to the memory controller 802. FIG. 9 includes the memory controller 802 and four memory modules 806a, 806b, 806c and 806d, on each of two memory busses (a downstream memory bus 904 and an upstream memory bus 902), connected to the memory controller 802 in either a direct or cascaded manner. Memory module 806a is connected to the memory controller 802 in a direct manner. Memory modules 806b, 806c and 806d are connected to the memory controller 802 in a cascaded manner.


An exemplary embodiment of the present invention includes two uni-directional busses between the memory controller 802 and memory module 806a (“DIMM #1”), as well as between each successive memory module 806b-d (“DIMM #2”, “DIMM #3” and “DIMM #4”) in the cascaded memory structure. The downstream memory bus 904 is comprised of twenty-two single-ended signals and a differential clock pair. The downstream memory bus 904 is used to transfer address, control, write data and bus-level error code correction (ECC) bits downstream from the memory controller 802, over several clock cycles, to one or more of the memory modules 806 installed on the cascaded memory channel. The upstream memory bus 902 is comprised of twenty-three single-ended signals and a differential clock pair and is used to transfer read data and bus-level ECC bits upstream from the sourcing memory module 806 to the memory controller 802. Because the upstream memory bus 902 and the downstream memory bus 904 are unidirectional and operate independently, read data, write data and memory commands may be transmitted simultaneously. This increases effective memory subsystem bandwidth and may result in higher system performance. Using this memory structure, and a four to one data rate multiplier between the DRAM data rate (e.g., 400 to 800 Mb/s per pin) and the unidirectional memory bus data rate (e.g., 1.6 to 3.2 Gb/s per pin), the memory controller 802 signal pincount, per memory channel, is reduced from approximately one hundred and twenty pins to about fifty pins.



FIG. 10 depicts a buffered module wiring system that is utilized by exemplary embodiments of the present invention. FIG. 10 is a pictorial representation of a memory module with arrows representing the primary signal flows. The signal flows include the upstream memory bus 902, the downstream memory bus 904, memory device address and command busses 1010 and 1006, and memory device data busses 1012 and 1008. In an exemplary embodiment of the present invention, a memory interface chip 1002, also referred to as a memory interface chip, provides two copies of the address and command signals to the memory devices 1004 (e.g. synchronous DRAMs (SDRAMs)) with the right memory device address and command bus 1006 exiting from the right side of the memory interface chip 1002 for the memory devices 1004 located to the right side and behind the memory interface chip 1002 on the right. The left memory device address and command bus 1010 exits from the left side of the memory interface chip 1002 and connects to the memory devices 1004 to the left side and behind the memory interface chip 1002 on the left. Similarly, the data bits intended for memory devices 1004 to the right of the memory interface chip 1002 exit from the right of the memory interface chip 1002 on the right memory device data bus 1008. The data bits intended for the left side of the memory interface chip 1002 exit from the left of the memory interface chip 1002 on the left memory device data bus 1012. The high speed upstream memory bus 902 and downstream memory bus 904 exit from the lower portion of the memory interface chip 1002, and connect to a memory controller or other memory modules either upstream or downstream of this memory module 806, depending on the application. The memory interface chip 1002 receives signals that are four times the memory module data rate and converts them into signals at the memory module data rate.



FIG. 11 depicts bus and SDRAM timing diagrams showing the four to one bus speed multiplier that is utilized by exemplary embodiments of the present invention. FIG. 11 is a simplified “write” timing diagram that demonstrates the bus timing relationships for a write cycle in the preferred embodiment. The same approach may be taken for other cycles, such as a read cycle. A high speed bus clock (hsb_clk) 1102 is the notation for the positive side of the differential clock that travels with the high speed data traveling downstream from the memory controller 802 to the first memory module 806, or DIMM. Even though the hsb_clk 1102 is shown as being single-ended, in exemplary embodiments of the present invention, a differential clock is utilized to reduce clock sensitivity to external noise and coupling. A high speed data signal (hsb_data) 1104 shows a burst of eight transfers, operating at a double data rate speed (i.e., data is valid on both edges of the clock), which in this example constitutes a single frame of address, command and data to the first memory module 806 position. With the aforementioned downstream bus width of twenty-two bits, and the burst of eight, a full frame can constitute up to one hundred and seventy-six unique bits, depending on the assignment or use of these bits and the actual wires on the bus. This width is more than adequate to provide the approximately one hundred and twenty memory signals defined as being required by the memory module in FIG. 5, thereby enabling additional information to be included in the frame to further enhance overall system reliability, fault survivability and/or performance.


Also as shown in FIG. 11, the eight bits occur over four of the hsb_clk cycle times, at which point this example shows no further activity on the high speed bus. A local memory clock (m_clk) 1108 on the memory module 806 is derived from the hsb_clk 1102, and is shown as a single-ended signal m_clk (0:5) operating at one quarter the frequency of the hsb_clk 1102. Although shown as a single-ended clock, in an exemplary embodiment of the present invention, the m_clk 1108 would also operate as a differential clock. The decoded memory command signifying a ‘write’ operation to double data rate (DDR2) memory devices, or SDRAMS 1004 on the memory module 806, is shown on the signal labeled m_cmd 1106. This command is decoded from the high speed bus and is driven by the buffer to the DDR2 memory devices 1004 to ensure arrival at the memory devices 1004 prior to the rising edge of the clock at the memory devices 1004. The seventy-two bits of data written to the DDR2 memory devices 1004 is shown as m_dq(0:71) 1110, and is shown arriving at the memory devices 1004 one full memory clock after the write command is decoded, as a DDR signal relative to the m_clk 1108. In an exemplary embodiment of the present invention, the data, or m_dq(0:71) 1110 is single ended. The nine DDR data strobes (m_dqs_p) 1112 are also shown, as single ended signals, switching one quarter of a clock cycle prior to the DDR2 memory devices 1004, thereby ensuring that the strobe switches approximately in the center of each valid write data bit. In an exemplary embodiment of the present invention, the m_dqs_p 1112 is differential. This diagram demonstrates a burst of four data bits to the memory devices 1004 (wd0 through wd3), with seventy-two bits of memory data being provided to the memory devices every memory clock cycle. In this manner, the data rate of the slower memory modules 806 is matched to the high-speed memory bus that operates at four times the speed of the memory modules.



FIG. 12 depicts a downstream frame format that is utilized by exemplary embodiments of the present invention to transfer information downstream from the memory controller 802 to the memory modules 806. In an exemplary embodiment of the present invention, the downstream frame consists of eight transfers, with each transfer including twenty-two signals and a differential clock (twenty-four wires total). The frame further consists of eight command wires (c0 through c7) 1208, nine data wires (di0 through di8) 1206, four bus ECC (Error Correcting Code) wires (ecc0 through ecc3) 1204 and a spare wire (spare) 1202. The seventy-two data bits referenced in the timing diagram of FIG. 11 are shown in FIG. 12 as bits di0 through di8, and consist of nine wires with eight transfers on each wire for each frame. The numbering of each data bit, as well as for other bits, is based on the wire used, as well as the specific transfer. D34 refers to data bit 3 (of bits 0 through 8) and transfer 4 (of transfer 0 through 7). The command bit field is shown as c0 through c7 and consists of sixty-four bits of information provided to the module over eight transfers. The ECC bit field (ecc0 through ecc3) consists of thirty-two bit positions over eight transfers but is actually formatted in groups of sixteen bits. Each sixteen bit packet consists of four transfers over each of the four wires and provides the bus level fault detection and correction across each group of 4 bus transfers. The spare bit position may be used to logically replace any of the twenty-one wires, also defined as bitlanes, used to transfer bits in the command, data and ECC fields, should a failure occur in one of those bitlanes that results in errors that exceed a system-assigned failure threshold limit. Using this exemplary embodiment of the present invention provides that out of the one hundred and seventy-six possible bit positions, one hundred and sixty-eight are available for the transfer of information to the memory module 806, and of those one hundred and sixty-eight bit positions, thirty-two bit positions are further assigned to providing ECC protection on the bus transfers themselves, thereby allowing a total of one hundred and thirty-six bit positions to be used for the transfer of information to the memory module 806.


A service interface for communicating power on reset and initialization commands to cascaded memory systems, such as the ones depicted in FIGS. 8-10, is provided by exemplary embodiments of the present invention. Because of its support function on field replaceable units (FRUs), the dedicated interface is referred to herein as the FRU service interface (FSI). Like the high speed busses that form the memory controller interface (i.e., the upstream memory bus 902 and the downstream memory bus 904) in a cascaded memory structure, the FSI uses a cascaded architecture in which the FSI signals are received by memory modules 806 upstream (towards the memory controller) and repowered downstream.



FIG. 13 depicts a cascaded service interface for power on reset and initialization system that may be utilized by exemplary embodiments of the present invention. A master version of the FSI (FSI-M) 1302 resides external to the memory modules 806 and connects to the slave version of the FSI (FSI-S) 1304 contained in the first memory module 806 in the channel (e.g., 806a in FIG. 9). The FSI-S 1304 outputs are connected to the next cascaded FSI-S 1304 inputs as depicted in FIG. 13. In an exemplary embodiment of the present invention, there is one FSI-S 1304 for each memory module 806 in the cascaded memory structure and the FSI-M 1302 is located externally to the memory modules 806 and the FSI-S(s) 1304 are located within the memory modules 806. In an exemplary embodiment of the present invention, the FSI-M 1302 and FSI-S(s) 1304 are connected by a FSI link made up of a bi-directional data wire 1308 and a clock wire 1306. Any cascaded service interface typology may be implemented by exemplary embodiments of the present invention. The cascaded FSI architecture depicted in FIG. 13 results in point to point service interface connections that enable high bandwidth service commands that perform the power on reset and initialization sequence in a system that supports a variable number of plugged memory modules 806. The service interface may also be utilized during run time for diagnostics and for monitoring errors.



FIG. 14 depicts an exemplary embodiment of the present invention that includes two parallel FSI modules connected in a cascaded fashion to memory modules 806. The FSI-M's 1302 are located on FRU service processors (FSPs) 1404 that are located on FSP cards 1402. Connected to each bi-directional data wire 1308 is a ground resistor termination device 1406, as well as a pull up resistor termination device 1410. Another pull up resistor termination device 1408 is connected to the clock wire 1306. Each FSI-S 1304 is connected to a cascade logic 1412 to transmit data signals downstream on the bi-directional data wire 1308 and clock signals on the clock wire 1306 to the next FSI-S 1304 in the chain. In addition, the FSI cascade logic 1412 is utilized to receive data signals upstream on the bi-directional data wire 1308 from the next FSI-S 1304 in the chain. The FSI-S 1304 is also connected to common FRU access macro (CFAM) functions 1414 to determine which signals to utilize in the event that they contain different values. On each memory module 806, the FSI-Ss 1304, the FSI cascade logic 1412 and the CFAM function 1414 are located within CFAM logic block 1416 (e.g., “slave 1”, “slave 2”).


The point to point connections of the service interface depicted in FIG. 14 allow for high speed signaling and result in high bandwidth service commands. The dual FSI links (i.e., the bi-directional data wire 1308 and clock wire 1306) carry identical information and they are compared by voting logic within the CFAM logic block 1416. When an error is detected in one FSI transmission, the correct information from the alternate FSI interface is used. This redundancy may result in very high reliability. The FSI cascade logic 1412 re-drives the signals from the FSI-M 1302, thereby eliminating the need for additional external active circuits to support service interfaces to the memory modules 806.


The ground resistor termination device 1406, as well as the pull up resistor termination device 1410, improve electrical performance and support a plug detection capability. The values of the pull up resistor termination device 1410 and the ground resistor termination device 1406 on the FSI data signal are chosen such that when a memory module 806 is plugged in, a logic level of “1” can be detected. When a memory module 806 is not plugged in, a logic level of “0” can be detected. During power on reset and initialization of the buffered memory modules 806, an FSI topology sense and identification operation will be performed. During the FSI topology sense and identification procedure, the FSI-M 1302 performs plug detection on its data output net. If an FSI-S 1304 device is found (i.e., by sampling a logic “1”), the FSI-M 1302 will assign an identification value to the CFAM logic block 1416 labeled “slave 1” and enable the cascade logic on “slave 1.” With the cascade logic enabled, the FSI-M 1302 can then perform plug detection on the “slave 1” output port data signal. If an FSI-S 1304 device is found (i.e., by sampling a logic “1”), the FSI-M 1302 will assign an identification value to the CFAM logic block 1416 labeled “slave 2” and enable the cascade logic on “slave 2.” This process is repeated with other detected slave devices until a plug detection operation finds no further FSI-S 1304 devices cascaded onto the memory channel. After the FSI topology sense and identification operation has completed, all FSI-S 1304 devices will have unique identification values and will therefore be uniquely addressable by the FSI-M 1302,



FIG. 15 depicts the memory module 806 that includes CFAM logic block 1416 in accordance with exemplary embodiments of the present invention. The memory module 806 includes memory devices 1004 and a memory interface chip 1002 (also referred to as a memory interface chip). The memory interface chip 1002 includes CFAM logic block 1416 which may be implemented via circuitry and/or software instructions. The CFAM logic block 1416 is in communication with the serial electrically erasable programmable read only memory (SEEPROM) 1502 in the memory module 806. The SEEPROM includes vital product data such as what memory devices 1004 are included on the memory module 806 and the memory capacity of the memory module 806. Several voltage rails are depicted in FIG. 15: a voltage rail for the memory devices (VDD) 1508 (e.g., at 1.8 volts); the memory interface chip 1002 core logic voltage rail (VCC) 1510 (e.g., at 1.2 volts); a CFAM logic block 1416 voltage rail (Vstby12) 1512; and a SEEPROM 1502 voltage rail (Vstby25) 1506.


The FSI input and output 1504 depicted in FIG. 15 includes both the data wire 1308 and the clock wire 1306. In an alternate exemplary embodiment, such as the one depicted in FIG. 14, there is also a backup FSI input and output 1504. The serial data (SDA) signal 1514 and serial clock (SCL) signal 1516 are used to communicate with the SEEPROM 1502 and may be sourced from the CFAM logic block 1416 or from other logic outside of the memory interface chip 1002. In an exemplary embodiment of the present invention, the SDA signal 1514 and SCL signal 1516 are inter-integrated circuit (I2C) signals. I2C nets on the memory interface chip 1002 may be connected to CFAM logic block 1416 and memory module 806 tabs, or pins. Alternatively, they may be connected to separate memory module 806 tabs. If connected to separate memory module 806 tabs, the high levels of assembly may provide a connection between the I2C portion of the CFAM logic block 1416 and the SEEPROM 1502, for example by routing wires between the appropriate memory module 806 connector pins.



FIG. 16 depicts service interface logic in accordance with exemplary embodiments of the present invention that may be used in an alternate protocol mode of operation. By using jtag_nfsi input 1604 to control the circuitry in the CFAM logic block 1416, the JTAG mode can be selected. This allows the flexibility to choose the service interface protocol. In a similar manner, other service interface protocols may also be implemented by exemplary embodiments of the present invention.



FIG. 16 also depicts an optional, additional service interface port for inputting data and clock signals 1602 into FSI port (FSI-P) logic 1622. This additional port, data and clock signals 1602, and corresponding FSI-P logic 1622 may or may not have the redundant copy like FSI-S data wire 1308, clock wire 1306 and CFAM logic block 1416 depicted in FIG. 16, and described previously. The additional port allows multiple service interface masters to control the buffered memory modules 806. This can be very beneficial in memory subsystems that desire both service processor control, as well as memory controller service interface control. The combination of the two features can be used to allow a system with a JTAG debug port (which uses JTAG access logic 1624) along with a service interface connection to execute power on reset and initialization commands. The FSI-P logic 1622, FSI-S 1304 and JTAG access logic 1624 all have access to the CFAM functions 1414.


In an exemplary embodiment of the present invention, the CFAM functions 1414 include converting service interface commands received (e.g., via the data signal from in the data and clock signal 1602, the jtag_nfsi input 1604 and the data input on the data wire 1308) into alternate formats for devices located on or near the memory module 806. Examples include the SDA signal 1514 and SCL signal 1516 for output to an I2C device; universal asynchronous receiver transmitter (UART) signals 1616 and simple data input/output (DIO) signals 1618.


One of the capabilities provided by the CFAM functions 1414 in exemplary embodiments of the present invention is the ability to read and write accessible registers within the other memory module logic macros 1620. This may be done by utilizing a communications protocol between the CFAM functions 1414 and other mainline logic (e.g., the other memory module logic macros 1620). A parallel scan communications (PSCOM) protocol is created by a PSCOM engine 1628 contained in the CFAM logic block 1416. The information written in this fashion configures the buffered memory module 806 for operation which constitutes the initialization portion of the power on reset and initialization sequence.


Commands to the buffered memory module 806 that are part of the power on reset sequence are also communicated over the service interfaces by reading and writing special registers assigned to this purpose. These include, but are not limited to, commands to initiate a controller interface alignment procedure for the very high speed memory busses, commands to perform various self test operations (e.g., input/output built in self test (IOBIST), logic built in self test (LBIST), and memory card built in self test (MCBIST)), and commands to turn on error checking.



FIG. 17 depicts an exemplary pin arrangement that may be utilized by exemplary embodiments of the present invention. The CFAM logic block 1416 may optionally be operated in its own voltage island, referred to in FIG. 17 as a standby logic 1710. This allows the CFAM logic block 1416 to use a standby voltage source (i.e., “Vstby 1.2V” 1702) from the system power supplies. As shown in FIG. 17, the power sources for the rest of the memory module 806 are in the portion referred to as a general logic 1712. The Vstby 1.2V pin 1702 applies power only to the CFAM logic block 1416 and a Vlogic pin 1708 applies power only to portions of the memory module 806 outside the CFAM logic block 1416. The signal I/O in island pin 1704 and general ground (GND) pin 1706. The combination of Vstby power and GND pins in the voltage island allow the drivers, receivers and other logic devices connected to the voltage island signal I/O to be powered on prior to and independently from the rest of the memory module.


Separating the power sources allows the CFAM logic block 1416 to be powered on earlier in the power on reset sequence and available for operation before the rest of the system (e.g., memory module 806 and memory subsystem) has been powered on. In this manner, the system can power on its standby power supplies, which supply power to the CFAM logic block 1416, as well as to the SEEPROM 1502 located on the memory module. Serial presence detect (SPD) operations from within the CFAM logic block 1416 can be performed, (as controlled by the service interface(s)) including reading data from the SEEPROM 1502 before the rest of the system has been powered on. SPD information can then be used to determine how and in what sequence to power on the rest of the memory subsystem.



FIG. 18 depicts an exemplary power on reset process and initialization process for a memory subsystem that may be utilized by exemplary embodiments of the present invention. In an exemplary embodiment of the present invention, the performance of the steps depicted in FIG. 18 may be performed and/or directed by logic contained in the FSI-M 1302. In alternate exemplary embodiments of the present invention, the performance of one or more of the steps depicted in FIG. 18 may be performed and/or directed by logic contained in the FSI-S 1304, the memory controller 802 and/or an other external interface. At step 1802 in FIG. 18, power is applied to power up the CFAM logic block 1416 and the SEEPROM 1502 by powering up the system standby voltages (e.g., the Vstby 1.2V pin 1702) including any external standby voltages. In addition, the FSI-S 1304 clock and the FSI-P logic 1622 clock (if any) are started and maintained in a stable condition for a pre-determined number of cycles (e.g., two, five, and ten). At step 1804, the FSI-M 1302 executes SPD logic to determine what memory modules 806 are located in the memory subsystem. The FSI-M 1302 accesses the memory vital product data (for each memory module) located on the SEEPROM 1502 through the CFAM logic block 1416 in the memory interface chip or by a direct service processor I2C interface (e.g., via SDA signal 1514 and SCL signal 1516). The vital product data is utilized to determine the specific memory interface chip, memory configuration and mode setting(s) for each memory module 806 in the memory subsystem.


At step 1808, power is applied to the VDD 1508 to power up the general logic 1712 of the memory modules 806. In addition, the memory interface chip 1002 input signals that are pulled up or down, (e.g. jtag_nfsi) are ramped to their positive or negative values. Further, the clock for the memory subsystem that is sourced from the memory controller 802 is started and maintained in a stable condition for a pre-determined number of cycles (e.g., two, five, and ten). At step 1810, the memory interface chip 1002 drivers and receivers are enabled by programming the appropriate internal configuration bits. Also at step 1810, a command is issued to reset all memory interface chip latches (e.g. by flushing zeros into the memory module 806 logic scan chains).


Referring to step 1812 in FIG. 18, the memory module 806 clocks that are sourced from the memory buss interface clock, but do not pass through an internal phase locked loop, (PLL) are started by writing to the appropriate internal configuration register. At step 1814, the PLL mode register in the memory interface chip 1002 is configured and reset. A predetermined amount of time is waited for the PLL to lock. Optionally, the lock status is polled from an internal register. At step 1818, an optional electronic chip identification, (ECID) sense operation is performed to enable the ECID value of the memory interface chip 1002 to be read over the service interface. At step 1820, the memory interface chip 1002 internal, functional clocks sourced from the PLL are started are started by writing the appropriate clock control register.


At step 1822, all memory modules 806 in the channel, or in the memory subsystem, are configured with a unique identifier and other mode information. At step 1824, an interface alignment procedure is performed on the upstream memory bus 902 and the downstream memory bus 904. This calibrates and prepares the high speed memory busses for normal, system operation. At step 1826, the memory interface chip 1002 fence mode is de-activated allowing memory clocks to start and idle memory commands to be driven. This is done by setting the appropriate configuration register. At step 1828, commands to power up and initialize the memory devices 1004 are issued. In addition, an optional memory card built in self test, (MCBIST) sequence may also be executed. The memory module 806 is now ready for run time operation.


Exemplary embodiments of the present invention may be utilized to provide a service interface to cascaded memory subsystems. Portions of the memory module needed for power on reset and system initialization of the system may be powered on independently of the rest of the memory module. This capability allows the service interface to determine the number of memory modules included in the memory subsystem, as well as the memory capacity of the memory module in order to determine how much power to apply to the memory subsystem. Exemplary embodiments of the present invention interface to both a master service interface module (FSI-M), as well as other external sources of commands (e.g., a controller) and the slave service interface module (FSI-S). This provides flexibility in the types of commands and sources that can drive the service interface. Further, the service interface can support both a JTAG protocol and a FSI protocol and can produce FSI, I2C, UART and DIO output signals. An additional benefit of exemplary embodiments of the present invention may be realized by providing a redundant service interface for each memory module in order to increase the reliability of the service interface.


As described above, the embodiments of the invention may be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. Embodiments of the invention may also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a computer-readable storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.


While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another.

Claims
  • 1. A system for providing a service interface to a memory system, the system comprising: a first memory module including: connections to first and second cascade interconnected memory busses for transmitting memory commands and memory data in a cascaded interconnect memory system, the memory system comprising a memory controller and one or more memory modules including the first memory module; anda connection to a service interface bus that operates independently of the first and second memory busses;a master service interface module for generating service commands for the one or more memory modules in the memory system;the service interface bus comprising a bidirectional data wire and a clock wire; andone or more slave service interface modules, wherein the master service interface module and the slave service interface modules are cascade interconnected via the bidirectional data wire and the clock wire of the service interface bus and each slave service interface module is integrated on a corresponding memory module in the memory system for providing a service to the corresponding memory module in response to the service commands, thereby providing a dedicated service interface to the memory system.
  • 2. The system of claim 1 wherein the service includes power on reset.
  • 3. The system of claim 1 wherein the service includes initialization.
  • 4. The system of claim 1 wherein the service includes monitoring.
  • 5. The system of claim 1 wherein the service includes diagnostics.
  • 6. The system of claim 1 wherein the system further comprises a resistor termination device on the service interface bus for performing plug detection.
  • 7. The system of claim 1 wherein the memory controller transmits commands to one of the slave service interface modules.
  • 8. The system of claim 1 wherein each of the slave service interface modules and a serial electrically erasable programmable read only memory (SEEPROM) portion of the corresponding memory module accessible by the slave service interface module can be powered on independently of the other portions of the corresponding memory module.
  • 9. The system of claim 8 wherein the SEEPROM includes vital product data accessible by the corresponding slave service interface module.
  • 10. The system of claim 1 wherein status registers located on each of the memory modules are accessible by the corresponding slave service interface module.
  • 11. The system of claim 1 wherein the master service interface module and the slave service interface modules utilize a joint test action group (JTAG) interface protocol.
  • 12. The system of claim 1 wherein the slave service interface modules output one or more of an inter-integrated circuit (12C) signal, a universal asynchronous receiver transmitter (UART) signal, and a simple data input/output (DIO) signal.
  • 13. The system of claim 1 further comprising: a second master service interface module;a second service interface bus;one or more second slave service interface modules, wherein the second master service interface module and the second slave service interface modules are cascade interconnected via the second service interface bus and each second slave service interface module is in communication with one of the corresponding memory modules for performing a second service to the memory module; anda voting module for determining whether to apply the service or the second service to the memory module.
  • 14. The system of claim 1 wherein the service interface bus is physically separate from the memory busses.
  • 15. The system of claim 1 wherein the service commands are generated while the memory system is operational.
  • 16. The system of claim 1 wherein the service commands are generated contemporaneously with the memory system transmitting memory commands and memory data.
  • 17. A computer-readable storage medium encoded with machine readable computer program code for providing a service interface to a memory subsystem, the computer-readable storage medium including instructions for causing a computer to implement a method comprising: receiving an input signal at a slave service interface module in a cascaded interconnect system that includes a master service interface module for generating input signals and one or more slave service interface modules that are cascade interconnected by a bidirectional data wire and a clock wire of a service interface bus, each slave service interface module integrated on a corresponding memory module in a memory system that comprises one or more memory modules and a memory controller cascade interconnected by one or more memory busses for transmitting memory commands and memory data, wherein the service interface bus operates independently of and is physically separate from the memory busses, thereby providing a dedicated service interface to the memory system;transmitting the input signal via the service interface bus in response to the receiving; andproviding a service to the memory module in response to the input signal.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 10/977,921 filed Oct. 29, 2004, the contents of which are incorporated by reference herein in their entirety.

US Referenced Citations (340)
Number Name Date Kind
2842682 Clapper Jul 1958 A
3333253 Sahulka Jul 1967 A
3395400 De Witt et al. Jul 1968 A
3825904 Burk et al. Jul 1974 A
4028675 Frankenberg Jun 1977 A
4135240 Ritchie Jan 1979 A
4150428 Inrig et al. Apr 1979 A
4472780 Chenoweth et al. Sep 1984 A
4475194 LaVallee et al. Oct 1984 A
4486739 Franaszek et al. Dec 1984 A
4641263 Perlman et al. Feb 1987 A
4654857 Samson et al. Mar 1987 A
4723120 Petty, Jr. Feb 1988 A
4740916 Martin Apr 1988 A
4796231 Pinkham Jan 1989 A
4803485 Rypinkski Feb 1989 A
4833605 Terada et al. May 1989 A
4839534 Clasen Jun 1989 A
4943984 Pechanek et al. Jul 1990 A
4985828 Shimizu et al. Jan 1991 A
5053947 Heibel et al. Oct 1991 A
5177375 Ogawa et al. Jan 1993 A
5206946 Brunk Apr 1993 A
5214747 Cok May 1993 A
5265212 Bruce, II Nov 1993 A
5287531 Rogers, Jr. et al. Feb 1994 A
5347270 Matsuda et al. Sep 1994 A
5357621 Cox Oct 1994 A
5375127 Leak et al. Dec 1994 A
5387911 Gleichert et al. Feb 1995 A
5394535 Ohuchi Feb 1995 A
5454091 Sites et al. Sep 1995 A
5475690 Burns et al. Dec 1995 A
5513135 Dell et al. Apr 1996 A
5517626 Archer et al. May 1996 A
5522064 Aldereguia et al. May 1996 A
5537621 Charlot et al. Jul 1996 A
5544309 Chang et al. Aug 1996 A
5546023 Borkar et al. Aug 1996 A
5561826 Davies et al. Oct 1996 A
5592632 Leung et al. Jan 1997 A
5594925 Harder et al. Jan 1997 A
5611055 Krishan et al. Mar 1997 A
5613077 Leung et al. Mar 1997 A
5627963 Gabillard et al. May 1997 A
5629685 Allen et al. May 1997 A
5661677 Rondeau, II et al. Aug 1997 A
5666480 Leung et al. Sep 1997 A
5684418 Yanagiuchi Nov 1997 A
5706346 Katta et al. Jan 1998 A
5737589 Doi et al. Apr 1998 A
5754804 Cheselka et al. May 1998 A
5764155 Kertesz et al. Jun 1998 A
5822749 Agarwal Oct 1998 A
5852617 Mote, Jr. Dec 1998 A
5870320 Volkonsky Feb 1999 A
5870325 Nielsen et al. Feb 1999 A
5872996 Barth et al. Feb 1999 A
5881154 Nohara et al. Mar 1999 A
5917760 Millar Jun 1999 A
5917780 Berestov Jun 1999 A
5926838 Jeddeloh Jul 1999 A
5928343 Farmwald et al. Jul 1999 A
5930273 Mukojima Jul 1999 A
5959914 Gates et al. Sep 1999 A
5973951 Bechtolsheim et al. Oct 1999 A
5974493 Okumura et al. Oct 1999 A
5995405 Trick Nov 1999 A
6003121 Wirt Dec 1999 A
6011732 Harrison et al. Jan 2000 A
6038132 Tokunaga et al. Mar 2000 A
6049476 Laudon et al. Apr 2000 A
6076158 Sites et al. Jun 2000 A
6078515 Nielsen et al. Jun 2000 A
6081868 Brooks Jun 2000 A
6085276 VanDoren et al. Jul 2000 A
6096091 Hartmann Aug 2000 A
6128746 Clark et al. Oct 2000 A
6145028 Shank et al. Nov 2000 A
6170047 Dye Jan 2001 B1
6170059 Pruett et al. Jan 2001 B1
6173382 Dell et al. Jan 2001 B1
6185718 Dell et al. Feb 2001 B1
6198304 Sasaki Mar 2001 B1
6215686 Deneroff et al. Apr 2001 B1
6219288 Braceras et al. Apr 2001 B1
6219760 McMinn Apr 2001 B1
6233639 Dell et al. May 2001 B1
6260127 Olarig et al. Jul 2001 B1
6262493 Garnett Jul 2001 B1
6285172 Torbey Sep 2001 B1
6292903 Coteus et al. Sep 2001 B1
6301636 Schultz et al. Oct 2001 B1
6308247 Ackerman et al. Oct 2001 B1
6317352 Halbert et al. Nov 2001 B1
6321343 Toda Nov 2001 B1
6338113 Kubo et al. Jan 2002 B1
6349390 Dell et al. Feb 2002 B1
6357018 Stuewe et al. Mar 2002 B1
6370631 Dye Apr 2002 B1
6378018 Tsern et al. Apr 2002 B1
6381685 Dell et al. Apr 2002 B2
6393512 Chen et al. May 2002 B1
6393528 Arimilli et al. May 2002 B1
6408398 Freker et al. Jun 2002 B1
6425044 Jeddeloh Jul 2002 B1
6442698 Nizar Aug 2002 B2
6446174 Dow Sep 2002 B1
6467013 Nizar Oct 2002 B1
6473836 Ikeda Oct 2002 B1
6477614 Leddige et al. Nov 2002 B1
6477615 Tanaka Nov 2002 B1
6483755 Leung et al. Nov 2002 B2
6484271 Gray Nov 2002 B1
6487102 Halbert et al. Nov 2002 B1
6487627 Willke et al. Nov 2002 B1
6493250 Halbert et al. Dec 2002 B2
6496540 Widmer Dec 2002 B1
6496910 Baentsch et al. Dec 2002 B1
6499070 Whetsel Dec 2002 B1
6502161 Perego et al. Dec 2002 B1
6507888 Wu et al. Jan 2003 B2
6510100 Grundon et al. Jan 2003 B2
6513091 Blackmon et al. Jan 2003 B1
6526469 Drehmel et al. Feb 2003 B1
6530007 Olarig et al. Mar 2003 B2
6532525 Aleksic et al. Mar 2003 B1
6546359 Week Apr 2003 B1
6549971 Cecchi et al. Apr 2003 B1
6553450 Dodd et al. Apr 2003 B1
6557069 Drehmel et al. Apr 2003 B1
6564329 Cheung et al. May 2003 B1
6584576 Co Jun 2003 B1
6587912 Leddige et al. Jul 2003 B2
6590827 Chang et al. Jul 2003 B2
6594713 Fuocco et al. Jul 2003 B1
6594748 Lin Jul 2003 B1
6601121 Singh et al. Jul 2003 B2
6601149 Brock et al. Jul 2003 B1
6604180 Jeddeloh Aug 2003 B2
6611902 Kuroda et al. Aug 2003 B2
6611905 Grundon et al. Aug 2003 B1
6622217 Gharacorloo et al. Sep 2003 B2
6622227 Zumkehr et al. Sep 2003 B2
6625687 Halber et al. Sep 2003 B1
6625702 Rentschler et al. Sep 2003 B2
6628538 Funaba et al. Sep 2003 B2
6631439 Saulsbury et al. Oct 2003 B2
6636957 Stevens et al. Oct 2003 B2
6643745 Palanca et al. Nov 2003 B1
6671376 Koto et al. Dec 2003 B1
6675280 Cooksey et al. Jan 2004 B2
6678777 Rao et al. Jan 2004 B2
6678811 Rentschler et al. Jan 2004 B2
6681292 Creta et al. Jan 2004 B2
6684320 Mohamed et al. Jan 2004 B2
6697919 Gharacorloo et al. Feb 2004 B2
6704842 Janakiraman et al. Mar 2004 B1
6721185 Dong et al. Apr 2004 B2
6721944 Chaudhry et al. Apr 2004 B2
6735669 Woo May 2004 B2
6738836 Kessler et al. May 2004 B1
6741096 Moss May 2004 B2
6748518 Guthrie et al. Jun 2004 B1
6754762 Curley Jun 2004 B1
6760817 Arimilli et al. Jul 2004 B2
6766389 Hayter et al. Jul 2004 B2
6775747 Venkatraman Aug 2004 B2
6779075 Wu et al. Aug 2004 B2
6791555 Radke et al. Sep 2004 B1
6792495 Garney et al. Sep 2004 B1
6799241 Kahn et al. Sep 2004 B2
6807650 Lamb et al. Oct 2004 B2
6832286 Johnson et al. Dec 2004 B2
6834355 Uzelac Dec 2004 B2
6839393 Sidiropoulos Jan 2005 B1
6847583 Janzen et al. Jan 2005 B2
6851036 Toda et al. Feb 2005 B1
6854043 Hargis et al. Feb 2005 B2
6865646 David Mar 2005 B2
6871253 Greeff et al. Mar 2005 B2
6874102 Doody et al. Mar 2005 B2
6877076 Cho et al. Apr 2005 B1
6877078 Fujiwara et al. Apr 2005 B2
6882082 Greeff et al. Apr 2005 B2
6889284 Nizar et al. May 2005 B1
6898726 Lee May 2005 B1
6910146 Dow Jun 2005 B2
6918068 Vail et al. Jul 2005 B2
6922658 Bohizic et al. Jul 2005 B2
6925534 David Aug 2005 B2
6938119 Kohn et al. Aug 2005 B2
6944084 Wilcox Sep 2005 B2
6948091 Bartels et al. Sep 2005 B2
6949950 Takahashi et al. Sep 2005 B2
6952761 John Oct 2005 B2
6965952 Echartea et al. Nov 2005 B2
6977536 Chin-Chieh et al. Dec 2005 B2
6977979 Hartwell et al. Dec 2005 B1
6993612 Porterfield Jan 2006 B2
6996639 Narad Feb 2006 B2
7017020 Herbst et al. Mar 2006 B2
7024518 Halbert et al. Apr 2006 B2
7027336 Lee Apr 2006 B2
7039755 Helms May 2006 B1
7047370 Jeter, Jr. et al. May 2006 B1
7047371 Dortu May 2006 B2
7047373 Kim May 2006 B2
7047384 Bodas et al. May 2006 B2
7051172 Mastronarde et al. May 2006 B2
7073010 Chen et al. Jul 2006 B2
7076700 Rieger Jul 2006 B2
7091890 Sasaki et al. Aug 2006 B1
7093078 Kondo Aug 2006 B2
7096407 Olarig Aug 2006 B2
7103792 Moon Sep 2006 B2
7113418 Oberlin et al. Sep 2006 B2
7114109 Daily et al. Sep 2006 B2
7120743 Meyer et al. Oct 2006 B2
7127629 Vogt Oct 2006 B2
7133790 Liou Nov 2006 B2
7133972 Jeddeloh Nov 2006 B2
7136958 Jeddeloh Nov 2006 B2
7155016 Betts et al. Dec 2006 B1
7155623 Lefurgy et al. Dec 2006 B2
7162567 Jeddeloh et al. Jan 2007 B2
7165153 Vogt Jan 2007 B2
7177211 Zimmerman Feb 2007 B2
7181584 LaBerge Feb 2007 B2
7194593 Schnepper Mar 2007 B2
7197594 Raz et al. Mar 2007 B2
7200832 Butt et al. Apr 2007 B2
7203318 Collum et al. Apr 2007 B2
7206887 Jeddeloh Apr 2007 B2
7206962 Deegan Apr 2007 B2
7210059 Jeddeloh Apr 2007 B2
7216196 Jeddeloh May 2007 B2
7216276 Azimi et al. May 2007 B1
7222213 James May 2007 B2
7227949 Heegard et al. Jun 2007 B2
7234099 Gower et al. Jun 2007 B2
7240145 Holman Jul 2007 B2
7260685 Lee et al. Aug 2007 B2
7266634 Ware et al. Sep 2007 B2
7290190 Obara Oct 2007 B2
7296129 Gower et al. Nov 2007 B2
7304905 Hsu et al. Dec 2007 B2
7313583 Porten et al. Dec 2007 B2
7319340 Jeddeloh et al. Jan 2008 B2
7321979 Lee Jan 2008 B2
7331010 Dell et al. Feb 2008 B2
7334070 Borkenhagen Feb 2008 B2
7353316 Erdmann Apr 2008 B2
7360027 Huggahalli et al. Apr 2008 B2
7363419 Cronin et al. Apr 2008 B2
7363436 Yeh et al. Apr 2008 B1
7370134 Jeddeloh May 2008 B2
7373440 Huppenthal et al. May 2008 B2
7376146 Beverly et al. May 2008 B2
7386575 Bashant et al. Jun 2008 B2
7386696 Jakobs et al. Jun 2008 B2
7412566 Lee et al. Aug 2008 B2
7412574 Jeddeloh Aug 2008 B2
7418526 Jeddeloh Aug 2008 B2
7421525 Polzin et al. Sep 2008 B2
7433258 Pao et al. Oct 2008 B2
20020059439 Arroyo et al. May 2002 A1
20020103988 Dornier Aug 2002 A1
20020124201 Edwards et al. Sep 2002 A1
20030033364 Garnett et al. Feb 2003 A1
20030051055 Parrella et al. Mar 2003 A1
20030056183 Kobayashi Mar 2003 A1
20030084309 Kohn May 2003 A1
20030090879 Doblar et al. May 2003 A1
20030118044 Blanc et al. Jun 2003 A1
20030126354 Kahn et al. Jul 2003 A1
20030229770 Jeddeloh Dec 2003 A1
20030235222 Bridges et al. Dec 2003 A1
20040015650 Zumkehr et al. Jan 2004 A1
20040078615 Martin et al. Apr 2004 A1
20040098546 Bashant et al. May 2004 A1
20040098549 Dorst May 2004 A1
20040117588 Arimilli et al. Jun 2004 A1
20040123222 Widmer Jun 2004 A1
20040128474 Vorbach Jul 2004 A1
20040148482 Grundy et al. Jul 2004 A1
20040160832 Janzen et al. Aug 2004 A1
20040230718 Polzin et al. Nov 2004 A1
20040260957 Jeddeloh et al. Dec 2004 A1
20050023560 Ahn et al. Feb 2005 A1
20050027941 Wang et al. Feb 2005 A1
20050044305 Jakobs et al. Feb 2005 A1
20050050237 Jeddeloh et al. Mar 2005 A1
20050071542 Weber et al. Mar 2005 A1
20050071707 Hampel Mar 2005 A1
20050078506 Rao et al. Apr 2005 A1
20050080581 Zimmerman et al. Apr 2005 A1
20050081129 Shah et al. Apr 2005 A1
20050086424 Oh et al. Apr 2005 A1
20050086441 Meyer et al. Apr 2005 A1
20050105350 Zimmerman et al. May 2005 A1
20050125702 Huang et al. Jun 2005 A1
20050125703 Lefurgy et al. Jun 2005 A1
20050138246 Chen et al. Jun 2005 A1
20050138267 Bains et al. Jun 2005 A1
20050144399 Hosomi Jun 2005 A1
20050149665 Wolrich et al. Jul 2005 A1
20050166006 Talbot et al. Jul 2005 A1
20050216678 Jeddeloh Sep 2005 A1
20050220097 Swami et al. Oct 2005 A1
20050223196 Knowles Oct 2005 A1
20050289292 Morrow et al. Dec 2005 A1
20050289377 Luong et al. Dec 2005 A1
20060004953 Vogt Jan 2006 A1
20060036826 Dell et al. Feb 2006 A1
20060036827 Dell et al. Feb 2006 A1
20060080584 Hartnett et al. Apr 2006 A1
20060095679 Edirisooriya May 2006 A1
20060104371 Schuermans et al. May 2006 A1
20060112238 Jamil et al. May 2006 A1
20060161733 Beckett et al. Jul 2006 A1
20060162882 Ohara et al. Jul 2006 A1
20060168407 Stern Jul 2006 A1
20060179208 Jeddeloh Aug 2006 A1
20060190674 Poechmueller Aug 2006 A1
20060195631 Rajamani Aug 2006 A1
20060206742 James Sep 2006 A1
20060212666 Jeddeloh Sep 2006 A1
20060224764 Shinohara et al. Oct 2006 A1
20060277365 Pong Dec 2006 A1
20060288172 Lee et al. Dec 2006 A1
20070005922 Swaminathan et al. Jan 2007 A1
20070025304 Leelahakriengkrai et al. Feb 2007 A1
20070038907 Jeddeloh et al. Feb 2007 A1
20070067382 Sun Mar 2007 A1
20070083701 Kapil Apr 2007 A1
20070160053 Coteus et al. Jul 2007 A1
20080043808 Hsu et al. Feb 2008 A1
20080162807 Rothman et al. Jul 2008 A1
20080222379 Jeddeloh Sep 2008 A1
Foreign Referenced Citations (18)
Number Date Country
0229316 Jul 1987 EP
0470734 Feb 1992 EP
0899743 Jun 1998 EP
1429340 Jun 2004 EP
2396711 Jun 2004 GB
59153353 Sep 1984 JP
0114140 Jun 1989 JP
04326140 Nov 1992 JP
404326140 Nov 1992 JP
10011971 Jan 1998 JP
2004139552 May 2004 JP
2008003711 Jan 2008 JP
9621188 Jul 1996 WO
9812651 Mar 1998 WO
0004481 Jan 2000 WO
0223353 Mar 2002 WO
2005038660 Apr 2005 WO
2007109888 Oct 2007 WO
Related Publications (1)
Number Date Country
20080313374 A1 Dec 2008 US
Continuations (1)
Number Date Country
Parent 10977921 Oct 2004 US
Child 12198201 US