Abstract:
A method, system and apparatus to distribute a clock signal among a plurality of memory units in a memory architecture. A buffer chip is coupled to a plurality of memory units each by a point to point link. The buffer chip includes a clock generator to generate a continuous free running clock that may be passed serially through a subset of memory units in the architecture. Sending of data is delayed over the point to point links based on proximity of the memory units to the buffer chip to accommodate delay in the multidrop clock signal.

Description:
BACKGROUND  
       [0001]     1. Field of the Invention  
         [0002]     Embodiments of the invention relate to power and performance in computer memory systems. More specifically, embodiments of the invention relate to providing a clocking signal within a memory subsystem.  
         [0003]     2. Background  
         [0004]     The power performance relationship in the personal computer (PC) environment continues to pressure platform designers to improve power at minimal cost. Unfortunately, to accommodate legacy dynamic random access memory (DRAM) using the industry standard double data rate 2 (DDR2) feature set early fully buffered dual in line memory modules (DIMM) (FBD) require higher power levels and prior evolutionary approaches as a result of the addition of a buffer chip. This feature set is defined in JEDEC Standard DDR2 SDRAM Specification JESD79-2A, published January 2004 (the DDR2 Standard). Moreover, the DDR2 feature set limited the ability to enable features in the buffer-DRAM interface to reduce power and improve performance at lower cost.  
         [0005]     Existing designs use an architecture with bi-directional strobes generated from the buffer chip to the DRAM. In this design, one output strobe is required per DRAM, the strobe design results in timing problems at higher speeds which is due to the uncertainty caused by drift effects between issue commands and N unit intervals until it is executed. While a steady state clock eliminates this uncertainty, it would cause the pin count to increase by two times at both the DRAM and the buffer chip. Such increased pin count results in increased cost and power dissipation. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0006]     The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.  
         [0007]      FIG. 1  is a block diagram of a system of one embodiment of the invention.  
         [0008]      FIG. 2  is a timing diagram of timeshifting data to accommodate a resulting timeshift in a free running clock in one embodiment of the invention.  
         [0009]      FIG. 3  is a timing diagram of an example of the free running clock in one embodiment of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0010]      FIG. 1  is a block diagram of a system of one embodiment of the invention. A processor  102  is coupled by a system bus  104  to chipset  106 . Chipset  106  provides an interface between the processor  102  and input/output (I/O) devices  108  via an I/O bus  110 . Additionally, chipset  102  includes a memory controller  112  which communicates over a high speed link  114  to a buffer chip  120  of a dual inline memory module (DIMM)  100 . In an alternative embodiment a single inline memory module (SIMM) may be used.  
         [0011]     DIMM  100  maybe inserted into a memory card slot with a motherboard not shown. DIMM  100  included two banks of memory units, a first bank (right bank) including dynamic random access memories  142 - 1  through  142 - 4  (collectively DRAM  142 ), and a second bank (left bank) including DRAMS  152 - 1  through  152 - 4 , (collectively DRAM  152 ). More of fewer memory units may exist in each bank of memory units. In an alternative embodiment a single inline memory module (SIMM) may be used. Buffer chip  120  controls the reading and writing from the plurality of memory units, e.g., DRAMs  142  and  152 . Buffer chip  120  maybe an integrated circuit (IC) fabricated using any conventional or subsequently developed technology.  
         [0012]     Buffer chip  120  includes at least one clock generator  122  to generate and source a free running (continuous) clock signal. In one embodiment, separate clock generators exist for each bank of memory units. In another embodiment, the clock continuous signal from a single clock generator  122  is split and supplied to both banks of memory units.  
         [0013]     In one embodiment, a clock signal is distributed serially through a subset of the memory units, e.g., DRAMs  142  along clockline  140 . In one embodiment, the clock signal is passed in a ring serially through DRAM  142 - 1  to DRAM  142 - 2  to DRAM  142 - 3  to DRAM  142 - 4  and back through DRAM  142 - 4 , DRAM  142 - 3 , DRAM  142 - 2 , DRAM  142 - 1  and then returns to the buffer chip  120 . In one embodiment, the clock serves as a write clock as if moves through memory units in decreasing proximity to the buffer chip  120  and serves as a read clock as it returns with increasing proximity to the buffer chip  120 .  
         [0014]     A point to point link between the buffer chip and each DRAM also exists. This point to point link is a path by which data may be sent to each DRAM. This path is also referred to herein as a data lane. In one embodiment, each datalane is 8 bits wide. Thus, data lanes  162 - 1  through  162 - 4  (collectively  162 ) and  172 - 1  through  172 - 4  (collectively  172 ) are shown. Use of the free running multi-drop clock reduces the pin count on both the DRAMs and the buffer chip over prior art strobing methods. However, the multi-drop clock topology results in a delay of the arrival of the clock signal at the DRAMs relative to the arrival of data over the point to point link. This delay increases with increasing distance from (decreasing proximity to) the buffer chip  120 . Thus, the clock signal, assuming it is concurrently sent in quadrature with the data on data lane  162 - 4 , would have a relationship furthest from quadrature it arrives at DRAM  142 - 4 . However, by providing timeshifters  124  to timeshift data sent over datalanes  162 , quadrature synchronization can be achieved at each of the inline memory units. Because the distance is known and the delay for each drop can be simulated, the delay for each timeshifter can be established in advance using delay lock loops  160 - 1  through  160 - 4 . In one embodiment, timeshifter  124 - 1  may be omitted since the signal should arrive at the first DRAM, the substantially same relationship as it had departing the buffered chip  120 . In another embodiment, timeshifters  124  may only be used for data lanes where the clock delay is determined to be likely to cause errors in writing valid data.  
         [0015]     Similarly, the read clock is provided as a clock signal returns through each memory unit in series. Thus, for example, the read will be initiated at point  158 . However, the clock signal will not return to the buffer chip  120  until after the read data is received at the buffer chip over datalane  172 - 4 . Thus, its necessary to delay the read data to synchronize with the returning clock. Deskew logic  126  provides for the deskewing of the phase relationship of received data and the returning clock signal on signal line  150 . A plurality of delay lock loops may be employed to appropriately delay the clock to deskew this phase relationship. This ensures valid data will be returned to the memory controller  112  for use by the processor or other requesting device.  
         [0016]     While the read operation has been described relative to the lefthand bank of memory units and the write operations have been described relative to the righthand bank of memory units, it should be understood that reading and writing occur over both banks of memory units and are performed analogously on either side of the DIMM  100 . Thus, in one embodiment, deskew logic as duplicated and is available for use by each bank of memory units. Similarly, timeshifters are supplied for each bank of memory units. Moreover, as noted above, in one embodiment, two clock generators exist on buffer chip  120  one to supply over a clock over signal line  140  and one to supply a clock over signal line  150 . In another embodiment, a singal clock generator is used to supply clocks over both signal line  140  and signal line  150 .  
         [0017]      FIG. 2  is a timing diagram of timeshifting data to accommodate a resulting timeshift in a free running clock in one embodiment of the invention. As can be seen, the clock at buffer chip has a quadrature relation with the data. However, as the clock signal transitions through each successive memory unit, the timeshift T 1SFT , T 2SFT , T 3SFT , T 4SFT  becomes increasingly great. Thus, if the data were sent over the data lanes concurrently with the clock leaving the buffer, the memory units more distal to the buffer chip would be increasingly likely to write invalid data. Thus, within the buffer chip, a timeshift of the data is introduced to insure that the quadrature relationship between the clock at the memory module and the receipt of valid data is maintained.  
         [0018]      FIG. 3  is a timing diagram of an example of the free running clock in one embodiment of the invention. The clock first appears recirculated at the memory unit most distant from the buffer chip. Because the memory unit does not have logic to insure any particular phase relationship with the clock, memory unit places the data on the point link response to receipt of the clock without concern for phase relation/clock time. A decreasing clock skew relative to the data returned occurs as the clock returns to the buffer in increasing proximity for each successive memory units. At the buffer, deskew logic insures the quadrature phase relationship by delaying the data from the respective memory units times T 4 , T 3 , T 2  and T 1  respectively. In this manner, deskew logic on the buffer chip insures valid data capture at the buffer chip.  
         [0019]     In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.