Abstract:
A clock signal is transmitted to first and second integrated circuit (IC) components via a clock signal line, the clock signal having a first arrival time at the first IC component and a second, later arrival time at the second IC component. A write command is transmitted to the first and second IC components to be sampled by those components at respective times corresponding to transitions of the clock signal, and write data is transmitted to the first and second IC components in association with the write command. First and second strobe signals are transmitted to the first and second IC components, respectively, to time reception of the first and second write data in those components. The first and second strobe signals are selected from a plurality of phase-offset timing signals to compensate for respective timing skews between the clock signal and the first and second strobe signals.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 13/890,801 filed May 9, 2013 and entitled “Memory Module Having a Write-Timing Calibration Mode,” which is a continuation of U.S. patent application Ser. No. 13/741,255 filed Jan. 14, 2013 and entitled “Memory Controller Having a Write-Timing Calibration Mode” (now U.S. Pat. No. 8,493,802), which is a continuation of U.S. patent application Ser. No. 13/554,967 filed Jul. 9, 2012 and entitled “Memory Controller Having a Write-Timing Calibration Mode” (now U.S. Pat. No. 8,363,493), which is a continuation of U.S. patent application Ser. No. 13/228,070 filed Sep. 8, 2011 and entitled “Memory Component Having a Write-Timing Calibration Mode” (now U.S. Pat. No. 8,218,832), which is a division of U.S. patent application Ser. No. 12/757,035 filed Apr. 8, 2010 and entitled “Memory-Write Timing Calibration Including Generation of Multiple Delayed Timing Signals” (now U.S. Pat. No. 8,045,407), which is a division of U.S. patent application Ser. No. 12/246,415 filed Oct. 6, 2008 and entitled “Memory Controller with Multiple Delayed Timing Signals” (now U.S. Pat. No. 7,724,590), which is a division of U.S. patent application Ser. No. 11/746,007 filed May 8, 2007 and entitled “Memory Component with Multiple Delayed Timing Signals” (now U.S. Pat. No. 7,480,193), which is a continuation of U.S. patent application Ser. No. 10/942,225 filed Sep. 15, 2004 and entitled “Memory Systems with Variable Delays for Write Data Signals” (now U.S. Pat. No. 7,301,831). Each of the above-referenced U.S. patent applications is hereby incorporated by reference. 
    
    
     FIELD OF THE INVENTION 
     The disclosure herein relates generally to memory systems and methods. In particular, this disclosure relates to systems and methods for transferring information among memory components and a memory controller. 
     BACKGROUND 
     High-speed processor-based electronic systems have become all-pervasive in computing, communications, and consumer electronic applications to name a few. The pervasiveness of these systems, many of which are based on multi-gigahertz processors, has led in turn to an increased demand for high performance memory systems. As one example,  FIG. 8  is a block diagram of a high performance memory system  800  under the prior art. This memory system  800  includes a memory controller  802  coupled to one or more memory component(s)  804 . The memory controller  802  includes address circuitry  812  to drive address/control information outputs and write data circuitry  822  to drive write data information outputs to the memory component(s)  804 . 
     Information is carried on signal paths between the memory controller  802  and the memory component(s)  804  by a signal, where the signal includes a symbol (such as a bit) that propagates along the signal path. The symbol is present at a particular point on the signal path for a characteristic time, called the symbol interval or symbol time. A signal path is typically composed of a conductive interconnect. A signal path may use one or two (or more) interconnects to encode the signal, along with return paths through adjacent power conductors. 
     The memory system  800  uses a variety of signals to couple the memory controller  802  and the memory component(s)  804 . One set of signals are address/control signals A and the corresponding timing signals TA (also referred to as address/control timing signals TAX). The address/control signals A carry address and control information, and are labeled as A 0 , A 1 , and A 2  to show the address/control signals at different points along the signal path between the memory controller  802  and the memory component(s)  804 . The timing signals TA carry timing information that indicates when information is valid on the address/control signals A. The timing signals are labeled as TA 0 , TA 1 , and TA 2  to show the timing signals at different points along the signal path between the memory controller  802  and the memory component(s)  804 . 
     Another set of signals that couple the memory controller  802  and the memory component(s)  804  are write data signals W and the corresponding data valid or timing signals TW (also referred to as write data valid signals or write data timing signals TW). The write data signals W carry write data information, and are labeled as W 0 , W 1 , and W 2  to show the write data signals at different points along the signal path between the memory controller  802  and the memory component(s)  804 . The timing signals TW carry timing information that indicates when information is valid on the write data signals W. The timing signals are labeled as TW 0 , TW 1 , and TW 2  to show the timing signals at different points along the signal path between the memory controller  802  and the memory component(s)  804 . Note that the label for address/control timing signal TA 0  is shortened to T 0  in the memory system  800 , and likewise, the label for write data timing signal TW 0  is shortened to T 0  because the address circuitry  812  and the write data circuitry  822  operate within a common timing domain in the memory controller  802 . 
     The timing signals TA and TW carry timing information in the form of events, such as a transition between two symbol values (such as a rising edge). A timing signal indicates when valid information is present on a set of related signals. Each timing event may be related to one symbol on each signal of the set, or it may be related to more than one symbol on each signal. The timing signal may only have timing events when there are valid symbols on the associated set of signals, or it may have timing events when there are no valid symbols. Consequently, each bit on the address/control signal A is associated with a timing event on the corresponding address timing signal TA (a rising edge for example). Similarly, each bit on the write data signal W is associated with a timing event on the write data timing signal TW. 
     The address and control information A 2  is received at the memory component(s)  804  with the timing signal TA 2 , and is coupled to the core circuitry  814  of the memory component(s)  804 . This core circuitry  814  operates in the TA 2  timing domain. The TA 2  timing domain is delayed from the T 0  timing domain of the memory controller  802  by the propagation delay time t PD-A  (the time required by the signals at A 1  and TA 1  to propagate to A 2  and TA 2 , respectively). 
     Further, the write data information W 2  is received at the write circuitry  824  of the memory component(s)  804  with the timing signal TW 2 . The write circuitry  824  operates in the TW 2  timing domain, where the TW 2  timing domain is delayed from the T 0  timing domain of the memory controller  802  by the propagation delay time t PD-W  (the time required by the signals at W 1  and TW 1  to propagate to W 2  and TW 2 , respectively). 
     In writing data to the core circuitry  814  of the memory component  804 , write data received at the write circuitry  824  (TW 2  timing domain) must be transferred to the core circuitry  814  (TA 2  timing domain). This transfer is accomplished by the interface circuitry  834 , where the interface circuitry  834  compensates for timing differences between the TW 2  timing domain and the TA 2  timing domain (determined by taking the difference between t PD-A  and t PD-W  propagation delay times). The interface circuitry  834  typically compensates for timing differences between the TW 2  timing domain and the TA 2  timing domain of approximately +/−t DQSS  (data sheet term representing system offsets and pin-to-pin offsets in a dynamic random access memory (DRAM)). Therefore, if the value of t DQSS  is made large, it relaxes the signal path matching constraints imposed on t PD-A  and t PD-W , but increases the burden on the interface circuitry  834  to resolve timing discrepancies between the different timing domains. 
     If however the value of t DQSS  is reduced in order to reduce the burden on the interface circuitry  834 , it increases the signal path matching constraints imposed on t PD-A  and t PD-W . Typically, the A and TA signal paths must be routed together and matched relatively tightly so the timing information on TA can be used to reliably sample the address and control information on the A signals. Similarly, the W and TW signal paths must be routed together and matched relatively tightly so the timing information on TW can be used to reliably sample the address and control information on the W signals. Thus, if the t DQSS  value is made small, the t PD-A  and t PD-W  values of all the A/TA and W/TW signals must be simultaneously matched. 
       FIG. 9  is a timing diagram  900  showing signals for a write operation in the memory system  800  under the prior art. Address/control information, “addr,” is placed on the address/control signal A 0  by the memory controller in response to the first rising edge of the T 0  timing signal. The address/control signal A 0  is then driven onto the signal path as the A 1  signal along with a rising edge of the corresponding TA 1  signal. The A 1  and TA 1  signals propagate to the core circuitry of the memory component and become the A 2  and TA 2  signals at time t PD-A  later. 
     Additionally, write data is placed on the write data signal W 0  by the memory controller in response to the first rising edge of the T 0  timing signal. The write data signal W 0  is held in the memory controller for a time t WL  (where t WL  is a fixed delay of two (2) cycles or periods for example) before being driven onto the W 1  signal (along with a rising edge of the corresponding TW 1  signal). The W 1  and TW 1  signals propagate to the write circuitry of the memory component and become the W 2  and TW 2  signals at time t PD-W  later. 
     The write operation in the memory system  800  results in a mismatch between the timing of the TA 2  and TW 2  timing signals at the memory component(s). In order for the interface circuitry to compensate for this timing mismatch, the magnitude of the mismatch must not exceed the difference between the value t DQSS  and the value t WL  (the quantity (t DQSS −t WL )); when the mismatch exceeds the difference between the value t DQSS  and the value t WL  the write data cannot be reliably transferred from the write circuitry to the core circuitry within the memory component. Consequently, there is a need in high performance memory systems to increase the reliability and accuracy of data writes to memory components while relaxing the signal path matching constraints (relating to the t PD-A  and t PD-W  values) and reducing the burden on the interface circuitry. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In the drawings, the same reference numbers identify identical or substantially similar elements or acts. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the Figure number in which that element is first introduced (e.g., element  150  is first introduced and discussed with respect to  FIG. 1 ). 
         FIG. 1  is a block diagram of a memory system that includes variable delay write circuitry for generating write data signals and data valid signals with variable delays, under an embodiment. 
         FIG. 2  is another block diagram of the memory system that includes variable delay write circuitry for generating variably delayed write data signals and variably delayed data valid signals, under an embodiment. 
         FIG. 3  is a timing diagram showing the delayed data valid along with the corresponding write data valid signals selected for output by the variable delay write circuitry, under an embodiment. 
         FIG. 4  is a block diagram for generating write data signals and write data valid signals with selectable delays for use in memory write operations, under an embodiment. 
         FIG. 5  is a timing diagram for signals of an example write operation in a memory system that generates write data signals with variable delays, under an embodiment. 
         FIG. 6  is a block diagram of a multiple-slice memory system that includes the variable delay write circuitry for generating write data signals and data valid signals with variable delays, under an embodiment. 
         FIG. 7  is a block diagram of a multiple-rank memory system that includes the variable delay write circuitry for generating write data signals and data valid signals with variable delays, under an embodiment. 
         FIG. 8  is a block diagram of a high performance memory system under the prior art. 
         FIG. 9  is a timing diagram showing signals for a write operation in the memory system under the prior art. 
     
    
    
     DETAILED DESCRIPTION 
     Systems and methods for generating write data signals having variable delays for use in writing data to memory components are provided below. These systems and methods, also referred to herein as variable delay write circuitry, receive a write data signal and a corresponding data valid or timing signal (also referred to as a write data valid signal or write data timing signal) and in turn generate multiple delayed versions of the write data signals and delayed valid signals. The memory system selects one of these delayed write data signals and delayed data valid signals for use in writing data to memory components. 
     In operation the variable delay write circuitry receives a write data signal and a corresponding data valid signal, and uses circuitry including register storage elements and calibrated delay elements to generate delayed write data signals and delayed valid signals with variable delays. The write data signal and the corresponding multiple delayed write data signals include data to be transferred to the memory components during a write operation. The data valid signal and corresponding delayed valid signals indicate when data of the write data signal is valid. The variable delays of the delayed write data signals and delayed valid signals of an embodiment are in a range of approximately 1.00 to 2.75 clock periods or cycles, but are not so limited. 
     The variable delay write circuitry selects one of the delayed write data signals and one of the delayed valid signals for output. Each of the selected output signals has a delay that best compensates for the mismatch of the propagation delay values resulting from differences in the signal paths used to couple signals between the variable delay write circuitry and the memory component. In this manner the variable delay write circuitry allows for relaxed signal path matching constraints (propagation delay values) and also reduces the burden on circuitry of the memory component to compensate for misalignment between the timing events of the various received signals. The variable delay write circuitry is for use in memory systems which include, for example, double data rate (DDR) systems like DDR SDRAM as well as DDR2 SDRAM and other DDR SDRAM variants, such as reduced latency DRAM (RLDRAM), RLDRAM2, Graphics DDR (GDDR) and GDDR2, GDDR3, but is not limited to these memory systems. 
     In the following description, numerous specific details are introduced to provide a thorough understanding of, and enabling description for, embodiments of the variable delay write circuitry. One skilled in the relevant art, however, will recognize that these embodiments can be practiced without one or more of the specific details, or with other components, systems, etc. In other instances, well-known structures or operations are not shown, or are not described in detail, to avoid obscuring aspects of the disclosed embodiments. 
       FIG. 1  is a block diagram of a memory system  100  that includes variable delay write circuitry  150  for generating write data signals and data valid signals with variable delays, under an embodiment. This memory system  100  includes a memory controller  102  coupled to one or more memory components  104 - 2  and  104 - 3 ; while two memory components  104 - 2 / 104 - 3  are shown the embodiment is not limited to any number of memory components. The memory system  100  operates in a number of modes including calibration, transmitter, and receiver modes. The memory controller  102  includes address circuitry  112  to drive address/control information to circuits or components that include the memory components  104 - 2 / 104 - 3 . The address/control information includes but is not limited to address/control signals A 0  and address/control valid signals T 0 . 
     The memory controller  102  of an embodiment includes the variable delay write circuitry  150  to drive write data information signals W 0  and T 0  to the memory components  104 - 2 / 104 - 3 . The variable delay write circuitry  150  of an embodiment includes delay circuits  152 , storage circuits  154 , and output circuits  156 , but is not limited to these circuits. The delay circuits  152  receive write data valid signals T 0  and in response generate a number of delayed data valid signals T 0 +Y. The multiple delayed data valid signals T 0 +Y include delayed versions of the write data valid signals T 0 , as described below. The delayed data valid signals T 0 +Y couple to the storage circuits  154  and the output circuits  156 , as described below. 
     The storage circuits  154  of an embodiment couple to receive the delayed data valid signals T 0 +Y from the delay circuits  152  as well as write data signal W 0 , data valid signal T 0 , and control signal Sel[ 2 ,  1 ,  0 ]. The storage circuits in turn generate a number of delayed write data signals WD. Each delayed write data signal WD is delayed a period of time in a range of approximately 1.00 to 2.75 clock periods or cycles, as described below, but is not so limited. The delayed write data signals WD couple to the output circuits  156 . 
     The output circuits  156  couple to receive the delayed write data signals WD from the storage circuits  154  and the delayed data valid signals T 0 +Y from the delay circuits  152 . Additionally the output circuits  156  couple to receive the control signal Sel[ 2 ,  1 ,  0 ]. The output circuits  156  in response to information of the control signal Sel[ 2 ,  1 ,  0 ] select one of the delayed write data signals WD for the transfer of write data information as write data signal W 1  to the memory components  104 - 2 / 104 - 3 , as described below. Further, the output circuits  156  select one of the delayed data valid signals T 0 +Y for output to the memory components  104 - 2 / 104 - 3  as write data valid signal TW 1  (also referred to as delayed write data valid signal TW 1 ). 
     Information is carried on signal paths between the memory controller  102  and the memory components  104 - 2 / 104 - 3  by a signal, where the signal includes a symbol that propagates along the signal path. The memory system  100  uses a variety of signals to couple the memory controller  102  and the memory components  104 - 2 / 104 - 3 , as described above. One set of signals include address/control signals A and the corresponding valid signals TA (also referred to as address/control valid signals TA). The address/control signals A carry address and control information, and are labeled as A 0 , A 1 , and A 2  to show the address/control signals at different points along the signal path between the memory controller  102  and the memory components  104 - 2 / 104 - 3 . The valid signals TA carry timing information that indicates when information is valid on the address/control signals A. The valid signals are labeled as TA 0 , TA 1 , and TA 2  to show the valid signals at different points along the signal path between the memory controller  102  and the memory components  104 - 2 / 104 - 3 . 
     Another set of signals that couple the memory controller  102  and the memory components  104 - 2 / 104 - 3  include write data signals W and the corresponding data valid signals TW (also referred to as write data valid signals TW). The write data signals W carry write data information, and are labeled as W 0 , W 1 , and W 2  to show the write data signals at different points along the signal path between the memory controller  102  and the memory components  104 - 2 / 104 - 3 . The data valid signals TW carry timing information that indicates when information is valid on the write data signals W. The valid signals are labeled as TW 0 , TW 1 , and TW 2  to show the valid signals at different points along the signal path between the memory controller  102  and the memory components  104 - 2 / 104 - 3 . Note that the label for address/control timing signal TA 0  is shortened to T 0  in the memory system  100 , and likewise, the label for data valid signal TW 0  is shortened to T 0  because the address circuitry  112  and the write data circuitry  150  operate within a common timing domain in the memory controller  102 . 
     The valid signals TA and TW carry timing information in the form of events, such as a transition between two symbol values. The transition between two symbol values can include, for example, a falling edge or a rising edge of the signal. A valid signal indicates when valid information is present on a set of related signals. Each timing event may be related to one symbol on each signal of the set, or it may be related to more than one symbol on each signal. The valid signal may only have timing events when there are valid symbols on the associated set of signals, or it may have timing events when there are no valid symbols. Consequently, each bit on the address/control signal A is associated with a timing event on the corresponding address valid signal TA (a rising edge for example). Similarly, each bit on the write data signal W is associated with a timing event on the data valid signal TW. 
     Alternative embodiments of the memory system described herein associate each rising edge on an address valid signal TA and/or data valid signal TW with two successive bits on each address and control signal A and/or write data signal W signal. Other alternative embodiments of the memory system described herein associate each rising edge and each falling edge on an address valid signal TA and/or data valid signal TW with each successive bit on each address and control signal A and/or write data signal W signal. 
     Taking one memory component as an example, the address and control signal A 2  is received at the memory component  104 - 2  along with the address valid signal TA 2 , and is coupled to the core circuitry  114 - 2  of the memory component  104 - 2 . This core circuitry  114 - 2  operates in the TA 2  timing domain. The TA 2  timing domain is delayed from the T 0  timing domain of the memory controller  102  by the propagation delay time t PD-A  (the time required by the signals at A 1  and TA 1  to propagate to A 2  and TA 2 , respectively). 
     Additionally the write data signal W 2  is received at the write circuitry  124 - 2  of the memory component  104 - 2  with the data valid signal TW 2 . The write circuitry  124 - 2  operates in the TW 2  timing domain, where the TW 2  timing domain is delayed from the T 0  timing domain of the memory controller  102  by the propagation delay time t PD-W  (the time required by the signals at W 1  and TW 1  to propagate to W 2  and TW 2 , respectively). 
     In writing data to the core circuitry  114 - 2  of the memory component  104 - 2  during a write operation, write data W 2  received at the write circuitry  124 - 2  (TW 2  timing domain) must be transferred to the core circuitry  114 - 2  (TA 2  timing domain). This transfer is accomplished by the interface circuitry  134 - 2 , where the interface circuitry  134 - 2  compensates for timing differences between the TW 2  timing domain and the TA 2  timing domain. The timing difference between the timing domains TW 2  and TA 2  is determined by taking the difference between t PD-A  and t PD-W  propagation delay times. 
     The interface circuitry  134 - 2  typically compensates for timing differences between the TW 2  timing domain and the TA 2  timing domain of approximately +/−t DQSS . During write operations the variable delay write circuitry  150 , using information of the control signal Sel[ 2 , 1 , 0 ], selects one signal of the delayed write data signals WD for transmission to memory component  104 - 2  as signal W 1  and one delayed data valid signal T 0 +Y for transmission to memory component  104 - 2  as signal TW 1 . Each of the selected signals W 1  and TW 1  has a delay that best compensates for the mismatch of the propagation delay values (t PD-A  and t PD-W  values) resulting from differences in the respective signal paths that couple the data W 1  and valid TW 1  signals to the memory component  104 - 2 . In this manner the variable delay write circuitry  150  allows for relaxed signal path matching constraints (for the t PD-A  and t PD-W  values) while reducing the burden on the interface circuitry to compensate for misalignment between the timing events of the data valid signals TW 2  and the corresponding address/control valid signals TA 2 . 
     Operation of memory component  104 - 3  is similar to that of memory component  104 - 2 . The address and control signal A 3  is received at the memory component  104 - 3  along with the address valid signal TA 3 , and is coupled to the core circuitry  114 - 3  of the memory component  104 - 3 . This core circuitry  114 - 3  operates in the TA 3  timing domain. The write data signal W 3  is received at the write circuitry  124 - 3  along with the data valid signal TW 3 . The write circuitry  124 - 3  operates in the TW 3  timing domain. In writing data to the core circuitry  114 - 3  of the memory component  104 - 3  during a write operation, write data W 3  received at the write circuitry  124 - 3  (TW 3  timing domain) must be transferred to the core circuitry  114 - 3  (TA 3  timing domain). This transfer is accomplished by the interface circuitry  134 - 3 , where the interface circuitry  134 - 3  compensates for timing differences between the TW 3  timing domain and the TA 3  timing domain. 
       FIG. 2  is another block diagram of the memory system  100  that includes variable delay write circuitry  150  for generating variably delayed write data signals W 1  and variably delayed data valid signals TW 1 , under an embodiment. As described above the variable delay write circuitry  150  includes delay circuits  152 , storage circuits  154 , and output circuits  156 . The delay circuits  152  receive write data valid signals T 0  and in response generate a plurality of data valid signals T 0 +Y. 
     The delay circuits  152  of an embodiment include a delay line  202 , a compare circuit or comparator  204 , and a delay control signal  206  that function as a delay-locked-loop (DLL) to produce a number of accurate delay signals. The delay line  202  includes four unit delay elements DE 1 , DE 2 , DE 3 , and DE 4  coupled in series; alternative embodiments can include any number of unit delay elements. Each unit delay element DE 1 -DE 4  delays the input signal by an amount that is approximately equal to the median delay of the variable delay element DE 1 -DE 4 , such as one-fourth of the timing signal period (i.e., 90 degrees), but alternative embodiments will use other delay values. 
     The first unit delay element DE 1  in the series of delay elements couples to receive the write data valid signal T 0  as an input. The delay line  202  provides a delayed signal having a total delay that is approximately one period of the write data timing signal T 0 . Therefore, each of the four unit delay elements DE 1 -DE 4  delays the write data valid signal T 0  by an amount that is approximately one-fourth of the write data valid signal T 0  period. 
     The delay line  202  (delayed signal) couples to a first input of the comparator  204  while the write data valid signal T 0  (undelayed signal) couples to a second input of the comparator  204 . The comparator uses information of a comparison between the write data valid signal T 0  and the delayed write data valid signal of the delay line  202  (one clock period delay) to generate the control signal  206 . The comparator outputs the control signal  206  for use in controlling delays or timing offsets of one or more of the unit delay elements DE 1 -DE 4 . The control signal  206  can be any of a variety of signal types known in the art, such as voltage bias signals, current bias signals, or digital delay-control signals. The offsets of the delay elements DE 1 -DE 4  are controlled within a pre-specified range in response to variations in operating parameters of the memory system  100 . 
     The delay circuits  152  output four data valid signals that couple to each of the storage circuits  154  and output circuits  156 . In addition to outputting the write data valid signal T 0  (alternatively referred to herein as T 0 +0.00), the delay circuits  152  provide three delayed valid signals with delays of +0.25, +0.50, and +0.75 clock periods or cycles of the write data valid signal T 0 . The output of the first unit delay element DE 1  provides the first delayed valid signal with a +0.25 period delay (T 0 +0.25), the output of the second unit delay element DE 2  provides the second delayed valid signal with a +0.50 period delay (T 0 +0.50), and the output of the third unit delay element DE 3  provides the third delayed valid signal with a +0.75 period delay (T 0 +0.75), but the embodiment is not so limited. 
     The delay circuits of various alternative embodiments can include one or more phase-locked-loops (PLLs) instead of the DLL to generate the delayed valid signals. The PLLs produce phase-aligned signals having four times the frequency of the write data valid signal, but are not so limited. 
     The storage circuits  154  of an embodiment include a 2-to-1 multiplexer  220  that couples to receive input signals comprising the write data signal W 0  and a delayed write data signal W 0 +1.00. The multiplexer  220  receives the delayed write data signal W 0 +1.00 via a coupling with a first register storage element  222 . The first register storage element  222  couples to receive and load the write data signal W 0  in response to a rising edge on the write data valid signal T 0 , but is not limited to loading on a rising edge. The first register storage element  222  outputs the delayed write data signal W 0 +1.00, which is delayed by approximately 1.00 clock period. The delayed write data signal W 0 +1.00 of alternative embodiments can be delayed by different clock periods. 
     The multiplexer  220  selects one of the write data signal W 0  and the delayed write data signal W 0 +1.00 as an output data signal  226  in response to information of a control signal Sel[ 2 ], as described below. Consequently, the multiplexer  220  provides output data signals  226  having a variable delay of approximately zero (0.00) or 1.00 clock periods or cycles. 
     The output data signal  226  of the multiplexer couples to an input of a second register storage element  228 . The second register storage element  228  receives and loads the output data signal  226  in response to a rising edge on the write data valid signal T 0 , but is not limited to loading the signal on the rising edge. The second register storage element  228  outputs a delayed write data signal  230  delayed by approximately 1.00 clock period relative to the received data signal  226 . The delayed write data signal  230  of alternative embodiments can be delayed by different time periods. 
     The delayed write data signal  230  output of the second register storage element  228  couples to a series coupling of four register storage elements  232 / 236 / 240 / 244 ; alternative embodiments can include any number/combination of register storage elements. Each of the series storage elements  232 / 236 / 240 / 244  generally couples to receive and load a delayed write data signal in response to a falling edge of a data valid signal received from the delay circuits  152 , but is not limited to loading the signal on the falling edge. Further, each of the series storage elements  232 / 236 / 240 / 244  outputs a delayed write data signal that is delayed relative to its input in accordance with the data valid signal used as the clock signal of the series storage element as described below; alternative embodiments can use different values and/or combinations of delay periods. 
     For example, the first series storage element  232  of the series couples to receive and load the delayed write data signal  230  from the second register storage element  228  in response to a falling edge on the write data valid signal T 0 +0.00. The first series storage element  232  outputs a delayed write data signal  234  that is undelayed relative to the delayed write data signal  230 . The delayed write data signal  234 , which has a delay of either approximately 1.00 or 2.00 clock periods relative to the write data signal W 0  (depending on control signal Sel[ 2 ]), couples to the input of the second series storage element  236  as well as an input of the output circuitry  156 . 
     The second series storage element  236  of the series couples to receive and load the delayed write data signal  234  from the first series storage element  232  in response to a falling edge on the write data valid signal T 0 +0.25. The second series storage element  236  therefore outputs a delayed write data signal  238  that is further delayed by one-quarter clock period relative to the delayed write data signal  234 . The delayed write data signal  238 , which has a delay of either approximately 1.25 or 2.25 clock periods relative to the write data signal W 0  (depending on control signal Sel[ 2 ]), couples to the input of the third series storage element  240  as well as an input of the output circuitry  156 . 
     The third series storage element  240  of the series couples to receive and load the delayed write data signal  238  from the second series storage element  236  in response to a falling edge on the write data timing valid T 0 +0.50. The third series storage element  240  thus outputs a delayed write data signal  242  that is further delayed by one-quarter clock period relative to the delayed write data signal  238 . The delayed write data signal  242 , which has a delay of either approximately 1.50 or 2.50 clock periods relative to the write data signal W 0  (depending on control signal Sel[ 2 ]), couples to the input of the fourth series storage element  244  as well as an input of the output circuitry  156 . 
     The fourth series storage element  244  of the series couples to receive and load the delayed write data signal  242  from the third series storage element  240  in response to a falling edge on the write data valid signal T 0 +0.75. The fourth series storage element  244  therefore outputs a delayed write data signal  246  that is further delayed by one-quarter clock period relative to the delayed write data signal  242 . The delayed write data signal  246 , which has a delay of either approximately 1.75 or 2.75 clock periods relative to the write data signal W 0  (depending on control signal Sel[ 2 ]), couples to an input of the output circuitry  156 . 
     The output circuitry  156  of an embodiment includes two multiplexers  262  and  264  which, under control of control signal Sel[ 1 , 0 ], allow selection of one of the four delayed versions of the write data signal W 0  and one of the four data valid signals T 0 , respectively, for output to the memory components. A first 4-to-1 multiplexer  262  couples to receive input signals  234 / 238 / 242 / 246  from the storage circuits  154 . The input signals  234 / 238 / 242 / 246  include the four delayed versions of the write data signal W 0 . When the input multiplexer  220  of the storage circuits  154  selects the write data signal W 0  as the output data signal  226  in response to information of control signal Sel[ 2 ], the input signals  234 / 238 / 242 / 246  have delays of approximately 1.00/1.25/1.50/1.75 periods, respectively. Alternatively, when the input multiplexer  220  of the storage circuits  154  selects the delayed write data signal W 0 +1.00 as the output data signal  226  in response to information of control signal Sel[ 2 ], the input signals  234 / 238 / 242 / 246  have delays of approximately 2.00/2.25/2.50/2.75 periods, respectively. The write data signal selected for output from the first multiplexer  262  is driven onto the write data signal path as variable delay write data signal W 1  for transmission to the memory components  104 . 
     A second 4-to-1 multiplexer  264  of the output circuitry  156  couples to receive input signals T 0 +0.00/T 0 +0.25/T 0 +0.50/T 0 +0.75 from the delay circuits  152 . The input signals T 0 +0.00/T 0 +0.25/T 0 +0.50/T 0 +0.75 include four different versions of the write data valid signal T 0 . The data valid signal selected for output from the second multiplexer  264  is driven onto the write data signal path as variable delay valid signal TW 1  for transmission to the memory components  104 . 
       FIG. 3  is a timing diagram  300  showing the delayed data valid signals T 0 +Y (where “Y” is one of 0.00 (+1.00), +0.25, +0.50, and +0.75) along with the corresponding write data valid signals TW 1  selected for output by the variable delay write circuitry, under an embodiment. With further reference to  FIG. 2 , the delay circuits  152  output the write data valid signal T 0  (T 0 +0.00) along with three delayed data valid signals, as described above. The first delayed data valid signal T 0 +0.25 has a +0.25 period delay, the second delayed data valid signal T 0 +0.050 has a +0.50 period delay, and the third delayed data valid signal T 0 +0.075 has a +0.75 period delay (T 0 +0.75), but the embodiment is not so limited. The T 0 +1.00 timing signal will be approximately the same as the T 0 +0.00 signal, since T 0  is periodic in this example. 
     The write data valid signals T 0 +Y are used as described above to generate numerous variable delay write data signals for use as data write signal W 1 . The write data signal W 1  is therefore a selectively delayed version of the write data signal W 0  which can be selectively delayed in approximately 0.25-period increments over a range of 1.00 to 2.75 periods using the control signal Sel[ 2 , 1 , 0 ]. Note that only the data valid signal TW 1  is shown in the timing diagram  300  to represent each of the eight delayed write data signals because the corresponding write data signal W 1  remains centered on the variable delay write data timing signal TW 1  in each case (as the relationship is shown with the signal combination W 0  relative to T 0   320 ). 
     The variable delay write circuitry outputs a write data valid signal TW 1   302  delayed by approximately 1.00 period when the control signal Sel[ 2 , 1 , 0 ] includes logic values “000”. With further reference to  FIG. 2 , the first logic value (“0”) forms control signal Sel[ 2 ] which selects write data signal W 0 +0.00 as the output of multiplexer  220 . The second and third logic values (“00”) of control signal Sel[ 1 , 0 ] select the timing signal T 0 +1.00 as the valid signal TW 1  output  302  of multiplexer  264  (it is assumed that the T 0  signal is periodic, so that a delay of T 0 +1.00 is generated using the next timing event (a rising edge in this example); the circuitry to do this is a component of enabling logic that creates timing events on the TW 1  signal when the TW 1  signal is not periodic). The control signal Sel[ 1 , 0 ] also selects the write data signal  234  (W 0 +1.00) as the write data signal W 1  output from multiplexer  262 . 
     The variable delay write circuitry outputs a write data valid signal TW 1   304  delayed by approximately 1.25 periods when the control signal Sel[ 2 , 1 , 0 ] includes logic values “001”. The first logic value (“0”) forms control signal Sel[ 2 ] which selects write data signal W 0 +0.00 as the output of multiplexer  220 . The second and third logic values (“01”) of control signal Sel[ 1 , 0 ] select the timing signal T 0 +0.25 as the valid signal TW 1  output  304  of multiplexer  264  (it is assumed that the T 0  signal is periodic, so that a delay of T 0 +1.25 is generated using the next timing event). The control signal Sel[ 1 , 0 ] also selects the write data signal  238  (W 0 +1.25) as the write data signal W 1  output of multiplexer  262 . 
     The variable delay write circuitry outputs a write data timing signal TW 1   306  delayed by approximately 1.50 periods when the control signal Sel[ 2 , 1 , 0 ] includes logic values “010”. The first logic value (“0”) forms control signal Sel[ 2 ] which selects write data signal W 0 +0.00 as the output of multiplexer  220 . The second and third logic values (“10”) of control signal Sel[ 1 , 0 ] select the timing signal T 0 +0.50 as the valid signal TW 1  output  306  of multiplexer  264  (it is assumed that the T 0  signal is periodic, so that a delay of T 0 +1.50 is generated using the next timing event). The control signal Sel[ 1 , 0 ] also selects the write data signal  242  (W 0 +1.50) as the write data signal W 1  output of multiplexer  262 . 
     The variable delay write circuitry outputs a write data timing signal TW 1   308  delayed by approximately 1.75 periods when the control signal Sel[ 2 , 1 , 0 ] includes logic values “011”. The first logic value (“0”) forms control signal Sel[ 2 ] which selects write data signal W 0 +0.00 as the output of multiplexer  220 . The second and third logic values (“11”) of control signal Sel[ 1 , 0 ] select the timing signal T 0 +0.75 as the valid signal TW 1  output  308  of multiplexer  264  (it is assumed that the T 0  signal is periodic, so that a delay of T 0 +1.75 is generated using the next timing event). The control signal Sel[ 1 , 0 ] also selects the write data signal  246  (W 0 +1.75) as the write data signal W 1  output of multiplexer  262 . 
     The variable delay write circuitry outputs a write data timing signal TW 1   310  delayed by approximately 2.00 periods when the control signal Sel[ 2 , 1 , 0 ] includes logic values “100”. The first logic value (“1”) forms control signal Sel[ 2 ] which selects write data signal W 0 +1.00 as the output of multiplexer  220 . The second and third logic values (“00”) of control signal Sel[ 1 , 0 ] select the timing signal T 0 +1.00 as the valid signal TW 1  output  310  of multiplexer  264  (it is assumed that the T 0  signal is periodic, so that a delay of T 0 +1.00 is generated using the next timing event (a rising edge in this example); the circuitry to do this is a component of enabling logic that creates timing events on the TW 1  signal when the TW 1  signal is not periodic). The control signal Sel[ 1 , 0 ] also selects the write data signal  234  (W 0 +2.00) as the write data signal W 1  output of multiplexer  262 . 
     The variable delay write circuitry outputs a write data timing signal TW 1   312  delayed by approximately 2.25 periods when the control signal Sel[ 2 , 1 , 0 ] includes logic values “101”. The first logic value (“1”) forms control signal Sel[ 2 ] which selects write data signal W 0 +1.00 as the output of multiplexer  220 . The second and third logic values (“01”) of control signal Sel[ 1 , 0 ] select the timing signal T 0 +0.25 as the valid signal TW 1  output  312  of multiplexer  264  (it is assumed that the T 0  signal is periodic, so that a delay of T 0 +1.25 is generated using the next timing event). The control signal Sel[ 1 , 0 ] also selects the write data signal  238  (W 0 +2.25) as the write data signal W 1  output of multiplexer  262 . 
     The variable delay write circuitry outputs a write data timing signal TW 1   314  delayed by approximately 2.50 periods when the control signal Sel[ 2 , 1 , 0 ] includes logic values “110”. The first logic value (“1”) forms control signal Sel[ 2 ] which selects write data signal W 0 +1.00 as the output of multiplexer  220 . The second and third logic values (“10”) of control signal Sel[ 1 , 0 ] select the timing signal T 0 +0.50 as the valid signal TW 1  output  314  of multiplexer  264  (it is assumed that the T 0  signal is periodic, so that a delay of T 0 +1.50 is generated using the next timing event). The control signal Sel[ 1 , 0 ] also selects the write data signal  242  (W 0 +2.50) as the write data signal W 1  output of multiplexer  262 . 
     The variable delay write circuitry outputs a write data timing signal TW 1   316  delayed by approximately 2.75 periods when the control signal Sel[ 2 , 1 , 0 ] includes logic values “111”. The first logic value (“1”) forms control signal Sel[ 2 ] which selects write data signal W 0 +1.00 as the output of multiplexer  220 . The second and third logic values (“11”) of control signal Sel[ 1 , 0 ] select the timing signal T 0 +0.75 as the valid signal TW 1  output  316  of multiplexer  264  (it is assumed that the T 0  signal is periodic, so that a delay of T 0 +1.75 is generated using the next timing event). The control signal Sel[ 1 , 0 ] also selects the write data signal  246  (W 0 +2.75) as the write data signal W 1  output of multiplexer  262 . 
     As described above, control signals Sel[ 2 , 1 , 0 ] control selection of a write data signal W 1  and the corresponding write data valid signal TW 1  having a delay value appropriate to the signal paths between the memory controller and the memory components. The control signals are provided by one or more control circuits (not shown) that are components of and/or coupled to the memory controller. As an example, the control circuits of one or more embodiments can include one or more programmable registers. The content of the programmable registers, which control selection of the write data signal W 1  and corresponding write data valid signal TW 1  provided by the variable delay write circuitry, is determined in accordance with several approaches, including both automatic and user-programmable processes. 
     In one embodiment the content of the programmable registers is determined using information of a calibration process and automatically programmed into the registers of the control circuits. Generally, a calibration process can evaluate and compare the relative propagation delay information of each of the address/control signals and the corresponding write data signals across the respective signal paths. In so doing, the calibration process determines which of the delayed write data signals and delayed write data valid signals is optimal for use in writing data to the memory components. Alternatively, the content of the programmable registers is manually programmed into the registers of the control circuits by a user. 
     Regarding the calibration process of an embodiment, and taking one memory component as an example, a memory controller or other component of a host system places one or more components of the memory system in a calibration mode. In the calibration mode, the memory controller performs a series of dummy write operations to the memory component during which a number of write operation are performed, with each write operation using a different one of the delayed versions of the write data signal. A dummy write is generally defined to include a process in which a memory controller writes pre-specified data to a memory component, independent of any data needs of components of the memory system or other higher layer machine-readable code; these writes are performed at power-up, or other intervals in which the memory component was otherwise not being utilized. 
     Following completion of the dummy write operations the memory controller reads the data of all dummy write operations from the memory component and compares the read data with the actual data written to identify successful write operations. Timing information of the successful dummy write operations allows for identification of the particular delayed write data signal providing the best timing margin. The logic values that identify the delayed write data signal providing the best timing margin are then programmed into the programmable registers. 
     Generally the memory system selects a delayed data signal for write operations that minimizes the difference between the propagation delay times of the data signals and the corresponding address/control signals. The propagation delay times are as measured across signal paths between the memory controller and one or more memory components but are not so limited.  FIG. 4  is a block diagram  400  for generating write data signals and write data valid signals with selectable delays for use in memory write operations, under an embodiment. Circuitry or components of a memory system, for example a memory controller, select data for write operations to memory components or devices, at block  402 . The memory system of an embodiment generates data signals and data valid signals for use in transferring the selected data of the write operation to the memory components via a first signal path, at block  404 . The memory system uses the data valid signals to generate delayed data valid signals that include multiple delayed versions of the data valid signal, at block  406 , where each delayed data valid signal has a different amount of delay. The memory system, using the delayed data valid signals, generates delayed data signals that include multiple delayed versions of the data signal, at block  408 . Each delayed data signal also has a different amount of delay, but the embodiment is not so limited. 
     During memory write operations, components of the memory system transfer the data signals and data valid signals to the memory components via a first signal path. Additionally, address/control signals and address/control valid signals are generated and transferred to the memory components via a second signal path. Control signals select one of the delayed data signals and one of the delayed data valid signals for use in driving data of the write operations to the memory components, at block  410 . Selection of a particular delayed data signal and corresponding delayed data valid signal is in accordance with pre-determined differences in propagation delay times between the first and second signal paths. Thus, the memory system selects the delayed data signal and delayed data valid signal that minimizes the difference between the propagation delay times of the data signals across the first signal path and the address/control signals across the second signal path. The selected data is transferred to the memory components using the delayed data signal, at block  412 . 
       FIG. 5  is a timing diagram  500  for signals of an example write operation in a memory system that generates write data signals with variable delays, under an embodiment. As described above, a memory controller selects write data for a write operation to a memory component and generates data signals W 0  and corresponding data valid signals T 0  for use in transferring the data to the memory components via a write data signal path. Additionally the memory controller generates address/control signals A 0  and address/control valid signals T 0  corresponding to the data signals W 0 , and transfers the signals A 0  and T 0  to the memory components via an address/control signal path. 
     The memory controller uses the data valid signals T 0  to generate a number of delayed data valid signals. The delayed data valid signals of an embodiment include a data valid signal delayed approximately 0.00 (1.00) clock periods, a data valid signal delayed approximately 0.25 clock periods, a data valid signal delayed approximately 0.50 clock periods, and a data valid signal delayed approximately 0.75 clock periods, but are not so limited. The memory system also uses the delayed data valid signals along with the data signals W 0  to generate a number of delayed data signals. The delayed data signals of an embodiment include a data signal delayed approximately 1.00 clock period, a data signal delayed approximately 1.25 clock periods, a data signal delayed approximately 1.50 clock periods, a data signal delayed approximately 1.75 clock periods, a data signal delayed approximately 2.00 clock periods, a data signal delayed approximately 2.25 clock periods, a data signal delayed approximately 2.50 clock periods, and a data signal delayed approximately 2.75 clock periods, but are not so limited. 
     The memory controller uses control signals to select one of the delayed data signals and one of the delayed data valid signals for use in the write operation. The selection of the delayed signals is in accordance with pre-determined differences between signal propagation times across the address/control signal path (t PD-A ) and signal propagation times across the write data signal path (t PD-w ). In particular, the memory controller selects the signals having a delay value that minimizes the difference between the propagation delay times t PD-A  and t PD-w . 
     The pre-determined differences between the signal propagation times are determined during a calibration process, as described above, but are not so limited. This example assumes a difference between propagation delay times that results in selection of a 2.25 clock period delay (corresponding to control signal Sel[ 2 , 1 , 0 ] that includes logic values “101”). 
     The memory controller drives the address/control signals A 0  and address/control valid signals T 0  onto the address/control signal path as address/control signals A 1  and address/control valid signals TA 1 . The memory component receives the address/control signals A 2  and address/control valid signals TA 2  at time t PD-A  later following propagation across the address/control signal path. 
     Under control of control signal Sel[ 2 , 1 , 0 ] the memory controller drives each of the data signals W 1  and data valid signals TW 1  onto the write data signal path at a time that is 2.25 clock periods after driving the address/control signals A 1  and address/control valid signals TA 1 . The memory component receives the data signals W 2  and data valid signals TW 2  at time t PD-W  later following propagation across the write data signal path. 
     While write operations result in a mismatch between the timing of the address/control signals and data signals at the memory component(s), the memory system using variable delay write circuitry reduces the magnitude of this mismatch. A comparison of the signal timing  500  of the memory system using data write signals with variable delays to signal timing  900  of the memory system using data signals with fixed delays, with reference to  FIG. 5  and  FIG. 9 , shows a reduction in the timing mismatch between the timing events in the two systems when using the variable delays. The additional 0.25 clock period delay of the variable delay signal (relative to the fixed delay signal in memory system  800  of  FIG. 8 ) compensates for the fact that the t PD-A  delay is greater than the t PD-W  delay. Consequently, the difference  502  in rising edge timing events of the address/control signals TA 2  and the data signals TW 2  using variable delays is reduced when compared to the difference  902  in rising edge timing events of the address/control signals and the data signals using fixed delays. The closer alignment of the rising edge timing events allows the interface circuitry to readily compensate for the timing mismatch thus increasing the reliability and accuracy of data writes to memory components while relaxing the signal path matching constraints. 
     One or more alternative embodiments can apply a select delay to independent sets of write data signals WX and timing signals TWX. For example, a memory controller can generate/use one delayed timing signal TW 1  for every eight data signals W 1 . Each group of nine TW 1 /W 1  signals therefore would use the same amount of delay. 
     Furthermore, the variable delay write circuitry of an embodiment also provides increased control over propagation delay differences in write operations to memory components of multiple-slice memory systems.  FIG. 6  is a block diagram of a multiple-slice memory system  600  that includes the variable delay write circuitry  150  for generating write data signals and data valid signals with variable delays, under an embodiment. This memory system  600  includes a memory controller  602  coupled to one or more memory components  604 - a  in memory slice Sa and one or more memory components  604 - b  in memory slice Sb; while two memory slices are shown the embodiment is not limited to any number of memory slices and/or components. The memory controller  602  drives address/control signals A and address/control valid signals TA to the memory components  604 - a / 604 - b.    
     Difficulty can be found in controlling the difference between the propagation delays of the TA/A signals and the TW/W signals in this multi-slice memory system because the TA/A signals are coupled to two or more memory components (slices). Each slice Sa and Sb therefore sees a different propagation delay on the TA/A signals (t PD-Aa , t PD-Ab ) as a result. The delay of the TW/W signal groups (t PD-Wa , t PD-Wb ) will however tend to be approximately the same, since these signal groups have a similar routing topology. 
     The memory controller  602  of an embodiment can use the variable delay write circuitry  150  to accommodate the different propagation delay values between memory slices Sa and Sb. The variable delay write circuitry  150  can be programmed to different delay values for each TW/W signal group in order to accommodate the differences in propagation delays between the TA/A signals to the respective memory slices. For example, the variable delay write circuitry  150  operating generally as described above with reference to  FIGS. 1-5  transfers write data signals Wa and write data valid signals TWa to memory component  604 - a  where signals Wa/TWa are delayed using a first variable delay. Likewise, variable delay write circuitry  150  transfers write data signals Wb and write data valid signals TWb to memory component  604 - b  where signals Wb/TWb are delayed using a second variable delay. 
     The variable delay write circuitry of an embodiment also provides increased control over propagation delay differences in write operations to memory components of multiple-rank memory systems.  FIG. 7  is a block diagram of a multiple-rank memory system  700  that includes the variable delay write circuitry  150  for generating write data signals and data valid signals with variable delays, under an embodiment. This memory system  700  includes a memory controller  702  coupled to one or more memory components  704 - z  in memory rank Rz and one or more memory components  704 - y  in memory rank Ry; while two memory ranks are shown the embodiment is not limited to any number of memory ranks and/or components. The memory controller  702  drives write data signals W and write data valid signals TW to the memory components  704 - z / 704 - y.    
     Difficulty can be found in controlling the difference between the propagation delays of the TA/A signals and the TW/W signals in this multi-rank memory system because the TW/W signals are coupled to two or more memory components (ranks). Each rank Rz and Ry therefore sees a different propagation delay on the TW/W signals (t PD-Wz , t PD-Wy ) as a result. The delay of the TA/A signal groups (t PD-Az , t PD-Ay ) will however tend to be approximately the same, since these signal groups have a similar routing topology. 
     The memory controller  702  of an embodiment can use the variable delay write circuitry  150  to accommodate the different propagation delay values between memory ranks Rz and Ry. The variable delay write circuitry  150  can be programmed to different delay values for each TA/A signal group in order to accommodate the differences in propagation delays between the TW/W signals to the respective memory ranks. For example, the variable delay write circuitry  150  operating generally as described above with reference to  FIGS. 1-5  transfers address/control signals Az and address/control valid signals TAz to memory component  704 - z  where signals Az/TAz are delayed using a first variable delay. Likewise, variable delay write circuitry  150  transfers address/control signals Ay and address/control valid signals TAy to memory component  704 - y  where signals Ay/TAy are delayed using a second variable delay. 
     The components of the memory systems described above include any collection of computing components and devices operating together. The components of the memory systems can also be components or subsystems within a larger computer system or network. The memory system components can also be coupled among any number of components (not shown), for example other buses, controllers, memory devices, and data input/output (I/O) devices, in any number of combinations. Many of these system components may be soldered to a common printed circuit board (for example, a graphics card or game console device), or may be integrated in a system that includes several printed circuit boards that are coupled together in a system, for example, using connector and socket interfaces such as those employed by personal computer motherboards and dual inline memory modules (“DIMM”). In other examples, complete systems may be integrated in a single package housing a system in package (“SIP”) type of approach. Integrated circuit devices may be stacked on top of one another and utilize wire bond connections to effectuate communication between chips or may be integrated on a single planar substrate within the package housing. 
     Further, functions of the memory system components can be distributed among any number/combination of other processor-based components. The memory systems described above include, for example, various dynamic random access memory (DRAM) systems. As examples, the DRAM memory systems can include double data rate (“DDR”) systems like DDR SDRAM as well as DDR2 SDRAM and other DDR SDRAM variants, such as Graphics DDR (“GDDR”) and further generations of these memory technologies, i.e., GDDR2, and GDDR3, but is not limited to these memory systems. 
     Aspects of the system for per-bit offset control and calibration described herein may be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits (ASICs). Some other possibilities for implementing aspects of the per-bit offset control and calibration system include: microcontrollers with memory (such as electronically erasable programmable read only memory (EEPROM)), embedded microprocessors, firmware, software, etc. Furthermore, aspects of the per-bit offset control and calibration system may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types. Of course the underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (MOSFET) technologies like complementary metal-oxide semiconductor (CMOS), bipolar technologies like emitter-coupled logic (ECL), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, etc. 
     It should be noted that the various circuits disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Formats of files and other objects in which such circuit expressions may be implemented include, but are not limited to, formats supporting behavioral languages such as C, Verilog, and HLDL, formats supporting register level description languages like RTL, and formats supporting geometry description languages such as GDSII, GDSIII, GDSIV, CIF, MEBES and any other suitable formats and languages. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof. Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, FTP, SMTP, etc.). 
     When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described circuits may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs including, without limitation, net-list generation programs, place and route programs and the like, to generate a representation or image of a physical manifestation of such circuits. Such representation or image may thereafter be used in device fabrication, for example, by enabling generation of one or more masks that are used to form various components of the circuits in a device fabrication process. 
     Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in a sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words “herein,” “hereunder,” “above,” “below,” and words of similar import refer to this application as a whole and not to any particular portions of this application. When the word “or” is used in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list. 
     The above description of illustrated embodiments of the memory systems and methods is not intended to be exhaustive or to limit the memory systems and methods to the precise form disclosed. While specific embodiments of, and examples for, the memory systems and methods are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the memory systems and methods, as those skilled in the relevant art will recognize. The teachings of the memory systems and methods provided herein can be applied to other processing systems and methods, not only for the memory systems and methods described above. 
     The elements and acts of the various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the memory systems and methods in light of the above detailed description. 
     In general, in the following claims, the terms used should not be construed to limit the memory systems and methods to the specific embodiments disclosed in the specification and the claims, but should be construed to include all processing systems that operate under the claims. Accordingly, the memory systems and methods is not limited by the disclosure, but instead the scope of the memory systems and methods is to be determined entirely by the claims. 
     While certain aspects of the memory systems and methods are presented below in certain claim forms, the inventor contemplates the various aspects of the memory systems and methods in any number of claim forms. For example, while only one aspect of the system is recited as embodied in computer-readable medium, other aspects may likewise be embodied in computer-readable medium. Accordingly, the inventor reserves the right to add additional claims after filing the application to pursue such additional claim forms for other aspects of the memory systems and methods.