US20090238016A1 - Circuits to delay signals from a memory device - Google Patents

Circuits to delay signals from a memory device Download PDF

Info

Publication number
US20090238016A1
US20090238016A1 US12/472,133 US47213309A US2009238016A1 US 20090238016 A1 US20090238016 A1 US 20090238016A1 US 47213309 A US47213309 A US 47213309A US 2009238016 A1 US2009238016 A1 US 2009238016A1
Authority
US
United States
Prior art keywords
clock signal
frequency
signal
delay
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/472,133
Inventor
Eric Matulik
Alain Vergnes
Frederic Schumacher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atmel Corp
Original Assignee
Atmel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Atmel Corp filed Critical Atmel Corp
Priority to US12/472,133 priority Critical patent/US20090238016A1/en
Publication of US20090238016A1 publication Critical patent/US20090238016A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns

Definitions

  • the present embodiments of the invention relate to dynamic-random-access-memory (DDR-SDRAM) devices, including circuitry to control timing signals to capture data and data.
  • DDR-SDRAM dynamic-random-access-memory
  • DDR-SDRAM devices can transfer data twice as fast as single-data-rate SDRAM memory devices (SDR-SDRAM). This is because DDR-SDRAM devices can send and receive signals twice per clock cycle. This feature increases the complexity of writing data to and reading data from the DDR-SDRAM device since the valid-data window is narrower than in SDR-SDRAM devices.
  • SDR-SDRAM single-data-rate SDRAM memory devices
  • FIGS. 1A and 1B a timing diagram illustrates the valid data time windows for SDR-SDRAM devices ( FIG. 1A ) and DDR-SDRAM devices ( FIG. 1B ) with relation to the clock timing. From FIG. 1A , it may be seen that there is a single valid data window for each complete cycle of the SDR-SDRAM clock. From FIG. 1B , it may be seen that there are two valid data windows for each DDR-SDRAM clock cycle.
  • the signal DQS is a bidirectional control signal transmitted by the DDR-SDRAM devices during read operations and by the memory controller during write operations.
  • the memory controller may be part of a microcontroller integrated circuit.
  • the DQS signal is provided edge-aligned with data for read operations and should be center-aligned with data for write operations.
  • FIG. 2 The DQS signal and its relationship to the valid data windows of a DDR-SDRAM in a typical write operation is shown in FIG. 2 .
  • FIG. 3 The DQS signal and its relationship to the valid data windows of a DDR-SDRAM in a typical read operation.
  • FIG. 2 waveforms illustrate that, for a write access from a DDR-SDRAM device, the rising and falling edges of a DDR-SDRAM DQS signal are center aligned with the valid data.
  • the DDR SDRAM controller generates signals with such phase relationship.
  • the DQS signal can be used as a sample and hold signal which makes a simple, safe circuitry to capture data from DDR-SDRAM device.
  • the controller delays the DQS signal by a period of time corresponding to about 1 ⁇ 4 of the DDR device clock period to allow alignment of the delayed DQS signal with the center of the valid data window.
  • the data from the DDR device can be properly sampled because the hold/setup time margins are optimal (middle of data valid window, 321 , 322 , 331 , 332 ).
  • the delay must be stable.
  • a simple delay circuitry having DQS as its input and formed from a delay line of cascaded basic cell elements such as buffers or inverters does not guaranty a stable delay because basic element intrinsic delay depends on de-rating factors such as process, voltage, and temperature variations.
  • the present embodiments of the invention are used to delay the DQS signal provided by DDR-SDRAM devices in order to sample DDR data.
  • the present embodiments of the invention will typically operate in a DDR-SDRAM controller that interlaces with a DDR-SDRAM device.
  • the DDR-SDRAM controller is a digital circuitry that can be found in many standard micro-controllers.
  • a circuit for delaying an input control signal comprises a clock circuit to generate a clock signal having a frequency different from an input clock signal to delay and including a clock signal input, a derivative clock signal output, an input to program a frequency ratio between its input clock frequency and its output clock frequency.
  • a clock capturing circuit provides a determined number of delay elements required to provide a delay of an amount of the period of the signal provided by the clock circuit.
  • a delay calculation circuit receives the determined number of delay elements and calculates a number of delay elements needed to delay the input control signal by an amount of time.
  • a delay circuit includes a control signal input, a select input for receiving the number of delay elements provided by the delay calculation circuit.
  • the DQS signal is edge-aligned with data.
  • the controller must delay the DQS signal by a theoretical period of time corresponding to 1 ⁇ 4 of the DDR device clock period. Due to different derating factors, the DQS and DATA signals are not 100% edge aligned in real life operations, and therefore the delay value must be adjustable around 1 ⁇ 4 of the DDR device clock period. Under this condition, the data from the DDR device can be properly sampled because the hold/setup time margins are optimally located in the middle of the data-valid window.
  • the logic to delay a signal by a known stable amount of time is a delay locked loop acting as master circuitry to calculate the number of cascaded basic elements required to produce a known delay and keep it stable with respect to conditions such as process variations, voltage, and temperature.
  • the master circuitry drives a slave delay circuit that applies the required and stable delay to the DQS signal.
  • the master circuitry (DLL) allows determination of a stable delay (about 1 ⁇ 4 of a clock period) regardless of the derating factors (e.g., process, voltage and temperature).
  • the time reference entered into the master circuitry is a clock signal whose frequency is a fraction of the DDR device clock frequency (e.g., 1 ⁇ 4, 1 ⁇ 3, or 1 ⁇ 5 of the DDR clock).
  • the DQS and data phases relative to the DDR device clock may vary from one printed circuit board to another due to their different topologies and differences in internal circuitry topologies of the memory devices.
  • the DQS phase may also vary due to derating factors such voltage drops.
  • the slave circuitry delays the DQS signal by the stable delay (about 1 ⁇ 4 DDR clock period). Therefore the output of the slave circuitry can be used as data sampling command.
  • the DLL circuitry determines the number of basic elements such as buffers or inverters to be cascaded to delay the DQS signal by a given amount of time (about 1 ⁇ 4 of the DDR clock). The number of delay elements may be modified/adjusted on the fly to obtain a stable delay.
  • circuitry containing analog cells which are touchy in terms of noise, foundry testability, consumption, and portability over different technologies.
  • FIGS. 1A and 1B are timing diagrams illustrating the valid data window of SDR-DRAM and DDR-DRAM devices.
  • FIG. 2 is a timing diagram illustrating a typical DDR-SDRAM write access.
  • FIG. 3 is a timing diagram illustrating a typical DDR-SDRAM read access.
  • FIG. 4 is a diagram illustrating a typical application environment in which a microcontroller is shown driving a DDR-SDRAM device.
  • FIG. 5 is a block diagram illustrating a circuit according to an embodiment of the present invention for producing a DQS signal having a programmable delay.
  • FIG. 6 is a diagram illustrating a typical programmable delay line suitable for use in an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a N/M multiplier circuit that is suitable for use in an embodiment of the present invention.
  • FIGS. 8A through 8C are timing diagrams showing the locked and two unlocked conditions for the circuit of FIG. 5 .
  • FIG. 4 a block diagram illustrates a typical environment in which the present embodiments of the invention may be employed.
  • FIG. 4 shows a system including a microcontroller 10 connected to a DDR-SDRAM device 12 through a DDR memory controller 14 .
  • An input clock signal shown at reference numeral 16 , provides a clock reference signal to DQS delay circuitry 18 .
  • the function of DQS delay circuitry 18 is to delay the DQS ( 0 ) and DQS( 1 ) signals from DDR-SDRAM device 12 to produce a delayed DQS( 0 ) and a delayed DQS( 1 ) signal to control reading data from DDR-SDRAM device 12 . It is to a DQS delay circuitry 18 that the present embodiments of the invention is directed.
  • the delayed DQS( 0 ) and delayed DQS( 1 ) signals are used to clock D-flip-flops 20 and 22 , respectively.
  • D-flip-flops 20 and 22 are used to latch the lower-order and upper-order data bits read from DDR-SDRAM device 12 and presented to microprocessor 10 on rdata bus 24 .
  • gated clock 26 and write-data logic 28 in DDR memory controller 14 generate the signals necessary to write data from microprocessor 10 into DDR-SDRAM device 12 .
  • bi-directional buffers 30 and 32 are interposed between DDR-SDRAM device 12 and DQS delay circuitry 18 and bi-directional buffer 34 is interposed between DDR-SDRAM device 12 and DDR memory controller 14 .
  • These buffers are controlled as known in the art to pass data in the proper direction for read and write operations by conventional circuitry (not shown).
  • a programmable delay line To make the DQS signal delay stable, a programmable delay line must be used and tuned with regard to variations in the derating factor. This tuning will be automatically performed by a locked loop circuit. Therefore a programmable delay line more complex than a simple delay line is used in the present embodiments of the invention.
  • Such a programmable delay line employs a programmable number of basic delay units as will be disclosed herein. Independent master circuitry is used to keep track of the derating variations to select, in real-time, the number of basic delay elements used in the programmable delay line to provide a given delay for the DQS signal input.
  • the respective DQS and data phases may also vary from one printed circuit board to another due to different printed circuit board topologies and different internal circuit topologies of memory devices, resulting in the necessity to tune the delay applied to the DQS signal.
  • the phase of the DQS signal may also vary due to de-rating factors such internal or external voltage drops.
  • This kind of tuning, used to modify the delay amount is totally different from automatic tuning of the master locked circuitry.
  • the tuning performed by the present embodiments of the invention provides the capability to adjust a delay around the theoretical value of 1 ⁇ 4 of the clock period.
  • Independent master circuitry is provided with a stable delay reference and locks on to the stable delay reference using a number of basic delay cells identical to the programmable delay line used to delay the DQS signal input.
  • the locked system ensures tracking variations in the derating factor.
  • the stable time reference entered into the master circuitry is the clock signal of the DDR-SDRAM memory controller or a clock signal having a frequency which is a sub-multiple (divided by 2, etc.) of the frequency of the memory controller to make the DQS delay circuitry more simple to design and to make the reference entered into the master circuitry more predictable especially when duty-cycle of the DDR-SDRAM controller may not be stable or different from a known value such as 50%.
  • the slave circuitry receives the DQS signal as input and delays it by the stable delay (about 1 ⁇ 4 DDR clock period, subject to fine tuning to match DQS and data phase variations). Therefore the output of the slave circuitry driven by the master circuitry can be used as data sampling command.
  • FIG. 5 a simplified schematic diagram shows an illustrative example of DQS Delay circuitry 40 that provides the aforementioned features according to the present embodiments of the invention.
  • a simplified schematic includes blocks 42 , 44 , 46 , and 48 .
  • the reference delay will be provided by block 42 , then master locked loop circuitry 44 will determine the number of basic delay elements to cascade to obtain the reference delay. This number of delay elements will be converted in block 46 to get the final number of basic delay elements to delay the DQS signals by means of slave delay lines 48 .
  • Block 42 allows obtaining a programmable reference delay by employing circuitry that multiplies the input frequency on line 50 by the programmable ratio N/M in multiplier 52 , whose output has a frequency value equal to [(N/M)*F input ], where F input is the input frequency on line 50 .
  • the output of block 42 is the system clock of the DQS delay circuitry 40 and will act as a reference signal delay.
  • the optimal data sampling point allows modification of the optimal data sampling point.
  • the theoretical value of the optimal data sampling point is 1 ⁇ 4 of the DDR-SDRAM clock period, but due to different printed circuit boards on which data and DQS signals are routed with different wire lengths and/or capacitances, plus differences in the internal circuits of the memory devices, the terminal points of these signals may be differently phased. Therefore, the optimal sampling point will be nominally about 1 ⁇ 4 of the clock period but may end up to be a little bit more or less. As these conditions can vary from one printed circuit board to another, it is important to provide the capability to tune the sampling point through the user interface of the DDR-SDRAM controller.
  • the fractional coefficient multiplier can use a phase-locked loop (PLL) and two simple clock dividers to get a fractional divider as will be shown with reference to FIG. 6 .
  • PLL phase-locked loop
  • module 42 provides an output clock period on signal line 54 being twice the input clock period provided to the DDR-SDRAM device (i.e. if the DDR-SDRAM is clocked at 100 MHz, the frequency at signal line 54 is 50 MHz).
  • Block 44 contains the circuitry that locks on the reference delay provided by module 42 . It allows determination of the number of basic delay elements of a delay line 56 to obtain a delay which is a fraction of the system clock period.
  • the number of delay elements determined by block 44 will be a known fraction of the number of elements required to delay the DQS signal from DDR-SDRAM devices.
  • the delay line used in module 44 is designed with the same basic delay elements as the one that will be used in the slave delay line to delay the DQS signal.
  • the module 44 is designed in such a way that it locks on half of a system clock period. This leads to a simplified circuit architecture to reach the lock state from initial or reset state or from lock to lock state (due to a derating factor variation).
  • the architecture comprises a phase detector circuit to provide the information necessary to add or remove basic delay elements in the programmable delay line 56 to match the reference delay provided by stable clock signal 54 .
  • the phase detector circuit includes D-flip-flops 58 and 60 , delay line elements 62 including a limited number of basic delay elements such as buffers or an even number of inverters, a NOR gate 64 and an AND gate 66 .
  • the circuit is driven by clock input 54 , and uses the output of delay line 62 and the output of the programmable delay line 56 as a feedback clock.
  • the programmable master delay line provides a feedback clock at the output of master programmable delay line 56 delayed by a single basic delay element because the up/down counter 70 is set accordingly from the outputs of NOR gate 64 and an AND gate 66 .
  • the D-flip-flops 58 and 60 start sampling logical “0” (the low portion of the waveform at the output of master programmable delay line 56 ).
  • the 2-input NOR gate 64 provides a logical 1 at the “UP” input of up/down counter 70 to indicate that the phase detector 44 is unlocked and requires more basic delay elements to be included in the master programmable delay line to reach the lock state.
  • the 2-input AND gate 66 drives the “DOWN” input of the up/down counter 70 with a logical “0” to indicate that there is no need to remove delay elements in the programmable delay line 56 . An example of this state is shown in FIG. 8A .
  • the up/down counter 70 modifies its output to instruct master programmable delay line 56 to add more delay.
  • the programmable delay line increases its internal delay accordingly by selecting 1 more basic delay.
  • the phase detector module 44 is still in its unlocked state.
  • both D-flip-flops 58 and 60 sample a logical “1.”
  • the 2-inputs NOR gate 64 returns logical “0” to the “UP” input of up/down counter 70 and the 2-input AND gate 66 provides a logical “1” to the “DOWN” input of up/down counter 70 .
  • up/down counter 70 modifies the value provided on its output to instruct the master programmable delay line 56 to remove one basic delay element.
  • the master programmable delay line decreases its internal delay accordingly.
  • the phase detector 44 is still in its unlocked phase. An example of this state is shown in FIG. 8C .
  • D-flip-flop 58 samples a logical “1” whereas D-flip-flop 60 samples a logical “0.” This difference of sampled values is possible due to the presence of delay line 62 in the path of the data input of D-flip-flop 58 .
  • Delay line 62 allows locating the falling edge of the delayed feedback clock at the output of delay line 62 to a time after the rising edge of system clock on line 54 and locating the falling edge of the feedback clock prior to the rising edge of the system clock on line 54 .
  • both NOR gate 64 and AND gate 66 provide logical “0” to the “UP” and “DOWN” inputs of up/down counter 70 .
  • the output of up/down counter 70 does not change, indicating that the phase error provided by the phase detector is zero and the phase detector 44 is locked. An example of this state is shown in FIG. 8B .
  • the delay line 62 can be designed with basic delay elements such classical inverters or buffers. There is no need for more complex delay elements as will be disclosed with reference to the master programmable delay line 56 .
  • the propagation delay between the input of delay line 62 and its output must be greater than a value defined as the sum of the setup and hold time of the D-flip-flops 58 and 60 . This will limit the metastable behavior on both D-flip-flops for each sampling point. If one of the delayed signals to the data inputs of D-flip-flops 58 and 60 arrives in the metastable period of one D-flip-flop, then the other signal cannot be in the metastable period of the second one.
  • phase detector 44 If the propagation delay of phase detector 44 is greater than the higher value of the metastable period among D-flip-flops 58 and 60 plus the minimum delay in the programmable delay line 62 , the phase detector will stay in a locked state without metastable behavior of D-flip-flops 58 and 60 . Metastable states will occur in transient phases.
  • the phase detector 44 defines a number of basic delay elements needed to delay the system clock by half the system clock period.
  • a main objective of the present embodiments of the invention is to get 1 ⁇ 4 of the DQS period or 1 ⁇ 4 of the DDR-SDRAM device clock period. Therefore a conversion must be performed and applied to programmable delay line connected to DQS control input signals.
  • an illustrative programmable delay line circuit 80 to use as a programmable delay line such as master programmable delay line 56 in FIG. 5 is shown.
  • the illustrative programmable delay line circuit 80 in FIG. 6 is shown having a plurality of cascaded unit delay elements 82 , 84 , 86 , 88 , 90 , and 92 .
  • Each unit delay element includes an inverter and a multiplexer. The inverter of each unit delay element being cascaded with the inverter of the next unit delay element and the multiplexer of each unit delay element has one input cascaded with the inverter of the previous unit delay element.
  • unit delay element 82 includes inverter 94 and multiplexer 96 ;
  • unit delay element 84 includes inverter 98 and multiplexer 100 ;
  • unit delay element 86 includes inverter 102 and multiplexer 104 ;
  • unit delay element 88 includes inverter 106 and multiplexer 108 ;
  • unit delay element 90 includes inverter 110 and multiplexer 112 ;
  • unit delay element 92 includes inverter 114 and multiplexer 116 .
  • the purpose of inverter 118 is to balance the capacitive load for each stage of the programmable delay line and therefore balance the propagation delay of each stage.
  • An input buffer 120 and an output buffer 122 are provided to provide a correct input edge and provide a load-independent output.
  • Multiplexers 96 , 100 , 104 , 108 , 112 , and 116 are controlled by select inputs S 0 , S i , S 2 , S 3 , . . . S (n-1) and S (n) respectively. If the select input of a unit delay element is set to logic zero, its multiplexer selects the inverted output of the multiplexer in the next unit delay element. If the select input of a unit delay element is set to logic one, its multiplexer selects the output of its own inverter. Thus, only one select input in the programmable delay line circuit 80 need be set to logic one, in which unit delay element the signal is turned around and is directed back down through the chain of multiplexers and ultimately to the output buffer 122 . Any select inputs further downstream in the chain that are set to logic one do not affect the operation of the programmable delay line circuit 80 .
  • select input S 0 and S 1 are set to logic zero and the select input Sz is set to logic one
  • the signal will pass through the input buffer 120 , inverters 94 , 98 and 102 , multiplexers 104 , 100 and 96 , and through output buffer 122 .
  • the states of select inputs S 3 , . . . S (n-1) and S (n) will not affect the operation of the circuit.
  • block 46 functions to convert the data from the output of up/down counter 70 to a value that may be used by the slave programmable delay line circuits 130 and 132 in block 48 of the circuit of FIG. 5 .
  • Slave programmable delay line circuits 130 and 132 may also be configured as shown in FIG. 6 .
  • Module 46 in the circuit of FIG. 5 performs a converter function and allows to modification of the slave programmable delay lines 130 and 132 at appropriate locations during operation.
  • the Delay Locked Loop comprising phase detector 44 is locked on half the clock period (i.e. the programmable delay line 56 delays the input clock signal on line 54 by half the clock period).
  • the number of basic delay elements to select is 1 ⁇ 4 of the value reported by up/down Counter 70 because the lock is performed on the half period of a clock which is divided by 2 versus the clock provided to the DDR-SDRAM memory.
  • Block 46 includes a fractional coefficient multiplier 134 , whose input may be updated as necessary by the output of up/down counter 70 . Its output is presented to D-flip-flop 136 via multiplexer 138 . The data latched in D-flip-flop 136 is used to drive slave programmable delay lines 130 and 132 of block 48 . The select input of multiplexer 138 is driven by the update delay line signal at line 140 . As long as the update signal is not asserted, the output of D-flip-flop 136 is fed back to its data input through multiplexer 138 . When the update signal 140 is asserted, the input of D-flip-flop 136 is driven by the output of up/down counter 70 .
  • fractional coefficient multiplier 134 may be configured as a look-up table.
  • the functionality of fractional coefficient multiplier 134 can be seen as a fractional coefficient multiplier on a non-decimal base. Table 1 shows an example of look-up table embedded in fractional coefficient multiplier 134 .
  • the value returned by fractional coefficient multiplier 134 cannot be applied to the slave programmable delay line at any time. It is preferable to apply a new value when there is no access being made to data from the DDR-SDRAM device. If this value is altered when the memory device is being accessed, the value must be held to avoid modifying the DQS delay when the DQS signal is in use to avoid the risk of a parasitic pulse when switching from one delay to another one in the programmable delay line. At any rate, if accesses are performed without interruption, there is a need to update the delay to take into account the possible derating factor variations.
  • the DDR-SDRAM devices need to periodically interrupt the accesses to be able to refresh their contents. The times of these refresh cycles are known by the memory controller. This information can be used to safely enable the update of the slave delay line during refresh operations when the DQS signals are not used by the DDR-SDRAM memory controller and glitches on that line will not matter.
  • the memory controller (not shown) instructs the DDR-SDRAM device to perform refresh, it asserts a signal on line 140 , thereby refreshing the contents of D-flip-flop 136 . As soon as refresh period is finished, the line 140 is de-asserted and the multiplexer 138 re-circulates data to D-flip-flop 136 .
  • a N/M multiplier may be formed from a PLL 150 and two clock dividers 152 and 154 .
  • the PLL 150 can multiply the input signal by 8, 9, 10, 11, or 12 and the divide the resulting frequency by 10.
  • the range of frequency on clock line 54 will be within +/ ⁇ 20% of the initial frequency.
  • the delay locked loop module 42 will lock on a different reference delay and the user will have the ability to modify the delay of the DQS signal.
  • the fractional coefficient multiplier can be a single value and, in such a case, the design is simpler than a PLL. It can be a simple divider by two (DFF with negated output connected on its data input).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Pulse Circuits (AREA)
  • Networks Using Active Elements (AREA)

Abstract

Various embodiments include method and apparatus for receiving a clock signal, determining a number of delay elements based on a relationship between the clock signal and a delayed feedback signal generated based on the clock signal, calculating an amount of time corresponding to the number of delay elements, and delaying a control signal by the amount of time to generate an additional clock signal, the control signal having a frequency higher than a frequency of the clock signal. Other embodiments are described.

Description

    RELATED APPLICATION
  • This application is a continuation of U.S. patent application Ser. No. 11/466,311, filed on Aug. 22, 2006, which is incorporated herein by reference in its entirety.
  • TECHNICAL FIELD
  • The present embodiments of the invention relate to dynamic-random-access-memory (DDR-SDRAM) devices, including circuitry to control timing signals to capture data and data.
  • BACKGROUND
  • DDR-SDRAM devices can transfer data twice as fast as single-data-rate SDRAM memory devices (SDR-SDRAM). This is because DDR-SDRAM devices can send and receive signals twice per clock cycle. This feature increases the complexity of writing data to and reading data from the DDR-SDRAM device since the valid-data window is narrower than in SDR-SDRAM devices.
  • Referring now to FIGS. 1A and 1B, a timing diagram illustrates the valid data time windows for SDR-SDRAM devices (FIG. 1A) and DDR-SDRAM devices (FIG. 1B) with relation to the clock timing. From FIG. 1A, it may be seen that there is a single valid data window for each complete cycle of the SDR-SDRAM clock. From FIG. 1B, it may be seen that there are two valid data windows for each DDR-SDRAM clock cycle.
  • In an application system, for example a microcontroller circuit connected to DDR-SDRAM devices on a printed circuit board, the signal DQS is a bidirectional control signal transmitted by the DDR-SDRAM devices during read operations and by the memory controller during write operations. The memory controller may be part of a microcontroller integrated circuit. For DDR device circuitry optimization, the DQS signal is provided edge-aligned with data for read operations and should be center-aligned with data for write operations. The DQS signal and its relationship to the valid data windows of a DDR-SDRAM in a typical write operation is shown in FIG. 2. The DQS signal and its relationship to the valid data windows of a DDR-SDRAM in a typical read operation is shown in FIG. 3.
  • To write data to DDR-SDRAM devices without increasing the complexity of the DDR-SDRAM controller and to guaranty that the signal is center-aligned with data, it is possible to use the falling edge of a clock signal running at twice the frequency of the clock that drives the DDR-SDRAM devices. This aspect of operation of a DDR-SDRAM device is shown with reference to FIG. 2, in which waveforms illustrate that, for a write access from a DDR-SDRAM device, the rising and falling edges of a DDR-SDRAM DQS signal are center aligned with the valid data. The DDR SDRAM controller generates signals with such phase relationship.
  • As also shown in FIG. 3, if delayed with an appropriate time increment, the delayed DQS signal is aligned with the center of the valid data window, the DQS signal can be used as a sample and hold signal which makes a simple, safe circuitry to capture data from DDR-SDRAM device.
  • During read operation, the DQS signal is edge-aligned with data, the controller delays the DQS signal by a period of time corresponding to about ¼ of the DDR device clock period to allow alignment of the delayed DQS signal with the center of the valid data window. Under this condition, the data from the DDR device can be properly sampled because the hold/setup time margins are optimal (middle of data valid window, 321, 322, 331, 332). Of course, the delay must be stable.
  • A simple delay circuitry having DQS as its input and formed from a delay line of cascaded basic cell elements such as buffers or inverters does not guaranty a stable delay because basic element intrinsic delay depends on de-rating factors such as process, voltage, and temperature variations.
  • BRIEF DESCRIPTION OF THE EMBODIMENTS OF THE INVENTION
  • The present embodiments of the invention are used to delay the DQS signal provided by DDR-SDRAM devices in order to sample DDR data. The present embodiments of the invention will typically operate in a DDR-SDRAM controller that interlaces with a DDR-SDRAM device. The DDR-SDRAM controller is a digital circuitry that can be found in many standard micro-controllers.
  • A circuit according to the present embodiments of the invention for delaying an input control signal, comprises a clock circuit to generate a clock signal having a frequency different from an input clock signal to delay and including a clock signal input, a derivative clock signal output, an input to program a frequency ratio between its input clock frequency and its output clock frequency. A clock capturing circuit provides a determined number of delay elements required to provide a delay of an amount of the period of the signal provided by the clock circuit. A delay calculation circuit receives the determined number of delay elements and calculates a number of delay elements needed to delay the input control signal by an amount of time. A delay circuit includes a control signal input, a select input for receiving the number of delay elements provided by the delay calculation circuit.
  • During read operation, the DQS signal is edge-aligned with data. According to the present embodiments of the invention, the controller must delay the DQS signal by a theoretical period of time corresponding to ¼ of the DDR device clock period. Due to different derating factors, the DQS and DATA signals are not 100% edge aligned in real life operations, and therefore the delay value must be adjustable around ¼ of the DDR device clock period. Under this condition, the data from the DDR device can be properly sampled because the hold/setup time margins are optimally located in the middle of the data-valid window.
  • The logic to delay a signal by a known stable amount of time is a delay locked loop acting as master circuitry to calculate the number of cascaded basic elements required to produce a known delay and keep it stable with respect to conditions such as process variations, voltage, and temperature. The master circuitry drives a slave delay circuit that applies the required and stable delay to the DQS signal. The master circuitry (DLL) allows determination of a stable delay (about ¼ of a clock period) regardless of the derating factors (e.g., process, voltage and temperature). The time reference entered into the master circuitry is a clock signal whose frequency is a fraction of the DDR device clock frequency (e.g., ¼, ⅓, or ⅕ of the DDR clock). The DQS and data phases relative to the DDR device clock may vary from one printed circuit board to another due to their different topologies and differences in internal circuitry topologies of the memory devices. The DQS phase may also vary due to derating factors such voltage drops.
  • The slave circuitry delays the DQS signal by the stable delay (about ¼ DDR clock period). Therefore the output of the slave circuitry can be used as data sampling command. The DLL circuitry determines the number of basic elements such as buffers or inverters to be cascaded to delay the DQS signal by a given amount of time (about ¼ of the DDR clock). The number of delay elements may be modified/adjusted on the fly to obtain a stable delay.
  • The present embodiments of the invention avoid the use of circuitry containing analog cells which are touchy in terms of noise, foundry testability, consumption, and portability over different technologies.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIGS. 1A and 1B are timing diagrams illustrating the valid data window of SDR-DRAM and DDR-DRAM devices.
  • FIG. 2 is a timing diagram illustrating a typical DDR-SDRAM write access.
  • FIG. 3 is a timing diagram illustrating a typical DDR-SDRAM read access.
  • FIG. 4 is a diagram illustrating a typical application environment in which a microcontroller is shown driving a DDR-SDRAM device.
  • FIG. 5 is a block diagram illustrating a circuit according to an embodiment of the present invention for producing a DQS signal having a programmable delay.
  • FIG. 6 is a diagram illustrating a typical programmable delay line suitable for use in an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a N/M multiplier circuit that is suitable for use in an embodiment of the present invention.
  • FIGS. 8A through 8C are timing diagrams showing the locked and two unlocked conditions for the circuit of FIG. 5.
  • DETAILED DESCRIPTION
  • Persons of ordinary skill in the art will realize that the following description of specific embodiments of present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons.
  • Referring now to FIG. 4, a block diagram illustrates a typical environment in which the present embodiments of the invention may be employed. FIG. 4 shows a system including a microcontroller 10 connected to a DDR-SDRAM device 12 through a DDR memory controller 14. An input clock signal, shown at reference numeral 16, provides a clock reference signal to DQS delay circuitry 18. The function of DQS delay circuitry 18 is to delay the DQS (0) and DQS(1) signals from DDR-SDRAM device 12 to produce a delayed DQS(0) and a delayed DQS(1) signal to control reading data from DDR-SDRAM device 12. It is to a DQS delay circuitry 18 that the present embodiments of the invention is directed.
  • As may be seen from an examination of FIG. 4, the delayed DQS(0) and delayed DQS(1) signals are used to clock D-flip- flops 20 and 22, respectively. D-flip- flops 20 and 22 are used to latch the lower-order and upper-order data bits read from DDR-SDRAM device 12 and presented to microprocessor 10 on rdata bus 24. In addition, gated clock 26 and write-data logic 28 in DDR memory controller 14 generate the signals necessary to write data from microprocessor 10 into DDR-SDRAM device 12. As will be appreciated by persons of ordinary skill in the art, bi-directional buffers 30 and 32 are interposed between DDR-SDRAM device 12 and DQS delay circuitry 18 and bi-directional buffer 34 is interposed between DDR-SDRAM device 12 and DDR memory controller 14. These buffers are controlled as known in the art to pass data in the proper direction for read and write operations by conventional circuitry (not shown).
  • To make the DQS signal delay stable, a programmable delay line must be used and tuned with regard to variations in the derating factor. This tuning will be automatically performed by a locked loop circuit. Therefore a programmable delay line more complex than a simple delay line is used in the present embodiments of the invention. Such a programmable delay line employs a programmable number of basic delay units as will be disclosed herein. Independent master circuitry is used to keep track of the derating variations to select, in real-time, the number of basic delay elements used in the programmable delay line to provide a given delay for the DQS signal input.
  • The respective DQS and data phases may also vary from one printed circuit board to another due to different printed circuit board topologies and different internal circuit topologies of memory devices, resulting in the necessity to tune the delay applied to the DQS signal. The phase of the DQS signal may also vary due to de-rating factors such internal or external voltage drops. This kind of tuning, used to modify the delay amount, is totally different from automatic tuning of the master locked circuitry. The tuning performed by the present embodiments of the invention provides the capability to adjust a delay around the theoretical value of ¼ of the clock period.
  • Independent master circuitry is provided with a stable delay reference and locks on to the stable delay reference using a number of basic delay cells identical to the programmable delay line used to delay the DQS signal input. The locked system ensures tracking variations in the derating factor.
  • The stable time reference entered into the master circuitry is the clock signal of the DDR-SDRAM memory controller or a clock signal having a frequency which is a sub-multiple (divided by 2, etc.) of the frequency of the memory controller to make the DQS delay circuitry more simple to design and to make the reference entered into the master circuitry more predictable especially when duty-cycle of the DDR-SDRAM controller may not be stable or different from a known value such as 50%.
  • The slave circuitry receives the DQS signal as input and delays it by the stable delay (about ¼ DDR clock period, subject to fine tuning to match DQS and data phase variations). Therefore the output of the slave circuitry driven by the master circuitry can be used as data sampling command.
  • Referring now to FIG. 5, a simplified schematic diagram shows an illustrative example of DQS Delay circuitry 40 that provides the aforementioned features according to the present embodiments of the invention. A simplified schematic includes blocks 42, 44, 46, and 48. The reference delay will be provided by block 42, then master locked loop circuitry 44 will determine the number of basic delay elements to cascade to obtain the reference delay. This number of delay elements will be converted in block 46 to get the final number of basic delay elements to delay the DQS signals by means of slave delay lines 48.
  • Block 42 allows obtaining a programmable reference delay by employing circuitry that multiplies the input frequency on line 50 by the programmable ratio N/M in multiplier 52, whose output has a frequency value equal to [(N/M)*Finput], where Finput is the input frequency on line 50. The output of block 42 is the system clock of the DQS delay circuitry 40 and will act as a reference signal delay.
  • This programmable value allows modification of the optimal data sampling point. The theoretical value of the optimal data sampling point is ¼ of the DDR-SDRAM clock period, but due to different printed circuit boards on which data and DQS signals are routed with different wire lengths and/or capacitances, plus differences in the internal circuits of the memory devices, the terminal points of these signals may be differently phased. Therefore, the optimal sampling point will be nominally about ¼ of the clock period but may end up to be a little bit more or less. As these conditions can vary from one printed circuit board to another, it is important to provide the capability to tune the sampling point through the user interface of the DDR-SDRAM controller.
  • Different methods exist to generate a programmable delay, and the module 40 of FIG. 5 is one example. The fractional coefficient multiplier can use a phase-locked loop (PLL) and two simple clock dividers to get a fractional divider as will be shown with reference to FIG. 6.
  • For the descriptions of next modules, it is assumed that module 42 provides an output clock period on signal line 54 being twice the input clock period provided to the DDR-SDRAM device (i.e. if the DDR-SDRAM is clocked at 100 MHz, the frequency at signal line 54 is 50 MHz).
  • Block 44 contains the circuitry that locks on the reference delay provided by module 42. It allows determination of the number of basic delay elements of a delay line 56 to obtain a delay which is a fraction of the system clock period.
  • The number of delay elements determined by block 44 will be a known fraction of the number of elements required to delay the DQS signal from DDR-SDRAM devices. The delay line used in module 44 is designed with the same basic delay elements as the one that will be used in the slave delay line to delay the DQS signal.
  • In the following example, the module 44 is designed in such a way that it locks on half of a system clock period. This leads to a simplified circuit architecture to reach the lock state from initial or reset state or from lock to lock state (due to a derating factor variation).
  • As in all locked systems, the architecture comprises a phase detector circuit to provide the information necessary to add or remove basic delay elements in the programmable delay line 56 to match the reference delay provided by stable clock signal 54.
  • In the example shown in FIG. 5, the phase detector circuit includes D-flip- flops 58 and 60, delay line elements 62 including a limited number of basic delay elements such as buffers or an even number of inverters, a NOR gate 64 and an AND gate 66. The circuit is driven by clock input 54, and uses the output of delay line 62 and the output of the programmable delay line 56 as a feedback clock.
  • When system reset is asserted on line 68, the D-flip- flops 58 and 60 are cleared, the programmable master delay line provides a feedback clock at the output of master programmable delay line 56 delayed by a single basic delay element because the up/down counter 70 is set accordingly from the outputs of NOR gate 64 and an AND gate 66.
  • After de-assertion of system reset on line 68, the D-flip- flops 58 and 60 start sampling logical “0” (the low portion of the waveform at the output of master programmable delay line 56). When the outputs of both D-flip-flops are cleared, the 2-input NOR gate 64 provides a logical 1 at the “UP” input of up/down counter 70 to indicate that the phase detector 44 is unlocked and requires more basic delay elements to be included in the master programmable delay line to reach the lock state. The 2-input AND gate 66 drives the “DOWN” input of the up/down counter 70 with a logical “0” to indicate that there is no need to remove delay elements in the programmable delay line 56. An example of this state is shown in FIG. 8A.
  • The up/down counter 70 modifies its output to instruct master programmable delay line 56 to add more delay. The programmable delay line increases its internal delay accordingly by selecting 1 more basic delay. The phase detector module 44 is still in its unlocked state.
  • If the delay becomes greater than the reference delay provided by the clock period of system clock at its output 54, both D-flip- flops 58 and 60 sample a logical “1.” The 2-inputs NOR gate 64 returns logical “0” to the “UP” input of up/down counter 70 and the 2-input AND gate 66 provides a logical “1” to the “DOWN” input of up/down counter 70. Under these conditions, up/down counter 70 modifies the value provided on its output to instruct the master programmable delay line 56 to remove one basic delay element. The master programmable delay line decreases its internal delay accordingly. The phase detector 44 is still in its unlocked phase. An example of this state is shown in FIG. 8C.
  • When the programmable delay line 56 delays the system clock on signal line 54 by half the system clock period (locked state), D-flip-flop 58 samples a logical “1” whereas D-flip-flop 60 samples a logical “0.” This difference of sampled values is possible due to the presence of delay line 62 in the path of the data input of D-flip-flop 58.
  • Delay line 62 allows locating the falling edge of the delayed feedback clock at the output of delay line 62 to a time after the rising edge of system clock on line 54 and locating the falling edge of the feedback clock prior to the rising edge of the system clock on line 54. In this case both NOR gate 64 and AND gate 66 provide logical “0” to the “UP” and “DOWN” inputs of up/down counter 70. The output of up/down counter 70 does not change, indicating that the phase error provided by the phase detector is zero and the phase detector 44 is locked. An example of this state is shown in FIG. 8B.
  • The delay line 62 can be designed with basic delay elements such classical inverters or buffers. There is no need for more complex delay elements as will be disclosed with reference to the master programmable delay line 56.
  • The propagation delay between the input of delay line 62 and its output must be greater than a value defined as the sum of the setup and hold time of the D-flip- flops 58 and 60. This will limit the metastable behavior on both D-flip-flops for each sampling point. If one of the delayed signals to the data inputs of D-flip- flops 58 and 60 arrives in the metastable period of one D-flip-flop, then the other signal cannot be in the metastable period of the second one.
  • Persons of ordinary skill in the art will appreciate that there is still a probability of one of the D-flip-flops sampling data in a setup or hold period. There is no way to avoid this situation but an improvement exists in the definition of the intrinsic delay value (in delay line 62) of phase detector 44.
  • If the propagation delay of phase detector 44 is greater than the higher value of the metastable period among D-flip- flops 58 and 60 plus the minimum delay in the programmable delay line 62, the phase detector will stay in a locked state without metastable behavior of D-flip- flops 58 and 60. Metastable states will occur in transient phases.
  • In its locked state, the phase detector 44 defines a number of basic delay elements needed to delay the system clock by half the system clock period. A main objective of the present embodiments of the invention is to get ¼ of the DQS period or ¼ of the DDR-SDRAM device clock period. Therefore a conversion must be performed and applied to programmable delay line connected to DQS control input signals.
  • Referring now to FIG. 6, an illustrative programmable delay line circuit 80 to use as a programmable delay line such as master programmable delay line 56 in FIG. 5 is shown. The illustrative programmable delay line circuit 80 in FIG. 6 is shown having a plurality of cascaded unit delay elements 82, 84, 86, 88, 90, and 92. Each unit delay element includes an inverter and a multiplexer. The inverter of each unit delay element being cascaded with the inverter of the next unit delay element and the multiplexer of each unit delay element has one input cascaded with the inverter of the previous unit delay element. Thus unit delay element 82 includes inverter 94 and multiplexer 96; unit delay element 84 includes inverter 98 and multiplexer 100; unit delay element 86 includes inverter 102 and multiplexer 104; unit delay element 88 includes inverter 106 and multiplexer 108; unit delay element 90 includes inverter 110 and multiplexer 112; unit delay element 92 includes inverter 114 and multiplexer 116. The purpose of inverter 118 is to balance the capacitive load for each stage of the programmable delay line and therefore balance the propagation delay of each stage. An input buffer 120 and an output buffer 122 are provided to provide a correct input edge and provide a load-independent output.
  • Multiplexers 96, 100, 104, 108, 112, and 116 are controlled by select inputs S0, Si, S2, S3, . . . S(n-1) and S(n) respectively. If the select input of a unit delay element is set to logic zero, its multiplexer selects the inverted output of the multiplexer in the next unit delay element. If the select input of a unit delay element is set to logic one, its multiplexer selects the output of its own inverter. Thus, only one select input in the programmable delay line circuit 80 need be set to logic one, in which unit delay element the signal is turned around and is directed back down through the chain of multiplexers and ultimately to the output buffer 122. Any select inputs further downstream in the chain that are set to logic one do not affect the operation of the programmable delay line circuit 80.
  • As an example, if the select input S0 and S1, are set to logic zero and the select input Sz is set to logic one, the signal will pass through the input buffer 120, inverters 94, 98 and 102, multiplexers 104, 100 and 96, and through output buffer 122. The states of select inputs S3, . . . S(n-1) and S(n) will not affect the operation of the circuit.
  • Referring again to FIG. 5, block 46 functions to convert the data from the output of up/down counter 70 to a value that may be used by the slave programmable delay line circuits 130 and 132 in block 48 of the circuit of FIG. 5. Slave programmable delay line circuits 130 and 132 may also be configured as shown in FIG. 6. Module 46 in the circuit of FIG. 5 performs a converter function and allows to modification of the slave programmable delay lines 130 and 132 at appropriate locations during operation. The Delay Locked Loop comprising phase detector 44 is locked on half the clock period (i.e. the programmable delay line 56 delays the input clock signal on line 54 by half the clock period). Thus, using an identical slave programmable delay line to delay the DQS input control signal by ¼ of the clock period provided to the DDR-SDRAM device, the number of basic delay elements to select is ¼ of the value reported by up/down Counter 70 because the lock is performed on the half period of a clock which is divided by 2 versus the clock provided to the DDR-SDRAM memory.
  • Block 46 includes a fractional coefficient multiplier 134, whose input may be updated as necessary by the output of up/down counter 70. Its output is presented to D-flip-flop 136 via multiplexer 138. The data latched in D-flip-flop 136 is used to drive slave programmable delay lines 130 and 132 of block 48. The select input of multiplexer 138 is driven by the update delay line signal at line 140. As long as the update signal is not asserted, the output of D-flip-flop 136 is fed back to its data input through multiplexer 138. When the update signal 140 is asserted, the input of D-flip-flop 136 is driven by the output of up/down counter 70.
  • Due to the structure of the programmable delay line 56 as has been shown and described with reference to FIG. 6, the input value to supply to the switching inputs of the multiplexers in the delay line to select the delay amount is not a decimal coded value but rather a one-hot value. Therefore to divide the input value by 4, fractional coefficient multiplier 134 may be configured as a look-up table. The functionality of fractional coefficient multiplier 134 can be seen as a fractional coefficient multiplier on a non-decimal base. Table 1 shows an example of look-up table embedded in fractional coefficient multiplier 134.
  • TABLE 1
    Number
    Number of selected
    of selected basic
    basic elements elements
    in Master in Slave
    Input Value Delay Line Output Value Delay Line
    1000000000000000 1 1000000000000000 1
    0100000000000000 2 1000000000000000 1
    0010000000000000 3 1000000000000000 1
    0001000000000000 4 1000000000000000 1
    0000100000000000 5 1000000000000000 1
    0000010000000000 6 0100000000000000 2
    0000001000000000 7 0100000000000000 2
    0000000100000000 8 0100000000000000 2
    0000000000000001 16 0001000000000000 4
  • Care must be taken when changing the delay value. The value returned by fractional coefficient multiplier 134 cannot be applied to the slave programmable delay line at any time. It is preferable to apply a new value when there is no access being made to data from the DDR-SDRAM device. If this value is altered when the memory device is being accessed, the value must be held to avoid modifying the DQS delay when the DQS signal is in use to avoid the risk of a parasitic pulse when switching from one delay to another one in the programmable delay line. At any rate, if accesses are performed without interruption, there is a need to update the delay to take into account the possible derating factor variations. The DDR-SDRAM devices need to periodically interrupt the accesses to be able to refresh their contents. The times of these refresh cycles are known by the memory controller. This information can be used to safely enable the update of the slave delay line during refresh operations when the DQS signals are not used by the DDR-SDRAM memory controller and glitches on that line will not matter.
  • If such a scheme is used, when the memory controller (not shown) instructs the DDR-SDRAM device to perform refresh, it asserts a signal on line 140, thereby refreshing the contents of D-flip-flop 136. As soon as refresh period is finished, the line 140 is de-asserted and the multiplexer 138 re-circulates data to D-flip-flop 136.
  • Referring now to FIG. 7, an illustrative circuit for multiplier 52 of FIG. 5 is shown. A N/M multiplier may be formed from a PLL 150 and two clock dividers 152 and 154. As an example, the PLL 150 can multiply the input signal by 8, 9, 10, 11, or 12 and the divide the resulting frequency by 10. The range of frequency on clock line 54 will be within +/−20% of the initial frequency. As a consequence, the delay locked loop module 42 will lock on a different reference delay and the user will have the ability to modify the delay of the DQS signal. The fractional coefficient multiplier can be a single value and, in such a case, the design is simpler than a PLL. It can be a simple divider by two (DFF with negated output connected on its data input).
  • While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art that many more modifications than mentioned above are possible without departing from the inventive concepts herein. Embodiments of the invention, therefore, are not to be restricted except in the scope of the appended claims.
  • The Abstract is provided to comply with 37 C.F.R. §1.72(b) and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

Claims (20)

1. A method comprising:
receiving a clock signal;
determining a number of delay elements based on a relationship between the clock signal and a delayed feedback signal generated based on the clock signal;
calculating an amount of time corresponding to the number of delay elements; and
delaying a control signal by the amount of time to generate an additional clock signal, the control signal having a frequency higher than a frequency of the clock signal.
2. The method of claim 1 further comprising:
receiving an input signal; and
multiplying a frequency of the input signal by a frequency ratio less than one to generate the clock signal such that the frequency of the clock signal is less than the frequency of the input signal.
3. The method of claim 1 further comprising:
receiving an input signal; and
multiplying a frequency of the input signal by a frequency ratio greater than one to generate the clock signal such that the frequency of the clock signal is greater than the frequency of the input signal.
4. The method of claim 1 further comprising:
controlling a reading of data from a memory device using the additional clock signal.
5. The method of claim 1, wherein the frequency of the control signal is about two times the frequency of the clock signal.
6. The method of claim 1 further comprising:
generating the clock signal based on an input signal that has a frequency equal to the frequency of the control signal.
7. The method of claim 1, wherein determining the number of delay elements includes:
delaying the clock signal to generate a feedback signal;
delaying the feedback signal to generate a delayed feedback signal; and
sampling the clock signal and the delayed feedback signal to determine the number of delay elements based on a phase difference between the clock signal and delayed feedback signal.
8. A method comprising:
receiving a first clock signal;
generating a second clock signal based on the first clock signal;
determining a number of delay elements corresponding to an amount of a period of the second clock signal;
calculating an amount of time corresponding to the number of delay elements;
receiving a control signal having a frequency higher than a frequency of the second clock signal; and
delaying the control signal by the amount of time corresponding to the number of delay elements.
9. The method of claim 8, wherein the second clock signal is generated such that the frequency of the second clock signal is different from a frequency of the first clock signal.
10. The method of claim 9, wherein a frequency of the first clock signal and the frequency of the control signal are equal.
11. The method of claim 10, wherein the first clock signal and the control signal are received from a memory device.
12. The method of claim 11, wherein the second clock signal is generated at a microcontroller.
13. The method of claim 8, wherein the second clock signal is generated such that the frequency of the second clock signal is less than a frequency of the first clock signal.
14. The method of claim 8, generating the second clock signal includes multiplying a frequency of the first clock signal by ratio to cause the frequency of the second clock signal to be less than the frequency of the first clock signal.
15. The method of claim 8, wherein the second clock signal is generated such that the frequency of the second clock signal is one half of a frequency of the first clock signal.
16. An apparatus comprising:
a first circuit to receive a first clock signal to generate a second clock signal based on the first clock signal;
a second circuit including plurality of delay elements to delay the second clock signal with a number of delay element among the plurality of delay elements;
a third circuit to calculate an amount of time corresponding to the number of delay elements; and
a delay circuit to receive a control signal having a frequency higher than a frequency of the second signal and to delay the control signal by the amount of time corresponding to the number of delay elements.
17. The apparatus of claim 16, wherein the first circuit includes a frequency modifier to modify a frequency of the first clock signal such that a frequency of the second clock signal is different from the frequency of the first clock signal.
18. The apparatus of claim 17, wherein the frequency modifier includes a frequency multiple to multiply a frequency of the first clock signal by a ratio to generate the second clock signal.
19. The apparatus of claim 16, wherein the third circuit includes a line to receive a signal to update the amount of time corresponding to the number of delay elements.
20. The apparatus of claim 16 further comprising a first device to provide the first clock signal and the control signal, wherein the first, second, and third circuits and the delay circuit are located at a second device separated from the first device.
US12/472,133 2006-08-22 2009-05-26 Circuits to delay signals from a memory device Abandoned US20090238016A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/472,133 US20090238016A1 (en) 2006-08-22 2009-05-26 Circuits to delay signals from a memory device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/466,311 US7539078B2 (en) 2006-08-22 2006-08-22 Circuits to delay a signal from a memory device
US12/472,133 US20090238016A1 (en) 2006-08-22 2009-05-26 Circuits to delay signals from a memory device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/466,311 Continuation US7539078B2 (en) 2006-08-22 2006-08-22 Circuits to delay a signal from a memory device

Publications (1)

Publication Number Publication Date
US20090238016A1 true US20090238016A1 (en) 2009-09-24

Family

ID=39107536

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/466,311 Expired - Fee Related US7539078B2 (en) 2006-08-22 2006-08-22 Circuits to delay a signal from a memory device
US12/472,133 Abandoned US20090238016A1 (en) 2006-08-22 2009-05-26 Circuits to delay signals from a memory device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/466,311 Expired - Fee Related US7539078B2 (en) 2006-08-22 2006-08-22 Circuits to delay a signal from a memory device

Country Status (3)

Country Link
US (2) US7539078B2 (en)
TW (1) TW200816227A (en)
WO (1) WO2008024659A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090033391A1 (en) * 2006-08-22 2009-02-05 Atmel Corporation Circuits to delay a signal from a memory device
US11378998B2 (en) * 2011-10-26 2022-07-05 Rambus Inc. Drift detection in timing signal forwarded from memory controller to memory device
US11430496B2 (en) * 2020-04-30 2022-08-30 Synopsys, Inc. Phase-aware DDR command dynamic scheduling

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539078B2 (en) * 2006-08-22 2009-05-26 Atmel Corporation Circuits to delay a signal from a memory device
US20090207901A1 (en) * 2008-02-19 2009-08-20 Meng-Ta Yang Delay circuit and method capable of performing online calibration
KR101443072B1 (en) * 2008-05-14 2014-09-22 삼성전자주식회사 Memory interface circuit and memory system including the same
US20170236566A1 (en) * 2016-02-17 2017-08-17 Intel Corporation Data transfer for multi-loaded source synchrous signal groups
KR102472123B1 (en) * 2016-03-16 2022-11-30 에스케이하이닉스 주식회사 Semiconductor system and operating method thereof
US10552169B2 (en) * 2017-03-17 2020-02-04 Sandisk Technologies Llc On-die signal calibration
US10573360B1 (en) * 2018-11-29 2020-02-25 Motorola Solutions, Inc. Method and apparatus for adaptable phase training of high frequency clock signaling for data capture

Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503494A (en) * 1980-06-26 1985-03-05 Texas Instruments Incorporated Non-volatile memory system
US5656958A (en) * 1993-12-15 1997-08-12 Lucent Technologies Inc. Frequency synthesizing device
US5703915A (en) * 1994-09-13 1997-12-30 Lucent Technologies Inc. Transmission system and multiplexing/demultiplexing equipment involving a justifiable bit stream
US5977805A (en) * 1998-01-21 1999-11-02 Atmel Corporation Frequency synthesis circuit tuned by digital words
US6043694A (en) * 1998-06-24 2000-03-28 Siemens Aktiengesellschaft Lock arrangement for a calibrated DLL in DDR SDRAM applications
US6222792B1 (en) * 1999-04-28 2001-04-24 Hitachi, Ltd. Phase control circuit, semiconductor device and semiconductor memory
US6396322B1 (en) * 2000-05-31 2002-05-28 Hyundai Electronics Industries Co., Ltd. Delay locked loop of a DDR SDRAM
US6417715B2 (en) * 2000-06-09 2002-07-09 Mitsubishi Denki Kabushiki Kaisha Clock generation circuit generating internal clock of small variation in phase difference from external clock, and semiconductor memory device including such clock generation circuit
US6480439B2 (en) * 2000-10-03 2002-11-12 Mitsubishi Denki Kabushiki Kaisha Semiconductor device
US6581017B2 (en) * 2001-06-28 2003-06-17 Intel Corporation System and method for minimizing delay variation in double data rate strobes
US20030200518A1 (en) * 2000-11-29 2003-10-23 Takanori Saeki Clock control circuit and method
US20030204763A1 (en) * 2002-04-29 2003-10-30 Moss Robert W. Memory controller and method of aligning write data to a memory device
US6646929B1 (en) * 2001-12-05 2003-11-11 Lsi Logic Corporation Methods and structure for read data synchronization with minimal latency
US6677791B2 (en) * 2000-07-24 2004-01-13 Renesas Technology Corporation Clock generation circuit, control method of clock generation circuit, clock reproducing circuit, semiconductor memory device, and dynamic random access memory
US6721232B2 (en) * 2001-12-19 2004-04-13 Renesas Technology Corp. Semiconductor device having phase error improved DLL circuit mounted thereon
US6741522B1 (en) * 2001-11-27 2004-05-25 Lsi Logic Corporation Methods and structure for using a higher frequency clock to shorten a master delay line
US20040123207A1 (en) * 2002-12-19 2004-06-24 Intel Corporation Two dimensional data eye centering for source synchronous data transfers
US20050027471A1 (en) * 2003-07-17 2005-02-03 Atmel Corporation, Delaware Corporation Method and apparatus for smoothing current consumption in an integrated circuit
US20050050375A1 (en) * 2003-08-29 2005-03-03 Mark Novak Memory interface system and method
US20050047192A1 (en) * 2003-09-03 2005-03-03 Renesas Technology Corp. Semiconductor integrated circuit
US20050089060A1 (en) * 2003-10-24 2005-04-28 Atmel Corporation, A Delaware Corporation Method and apparatus for a variable processing period in an integrated circuit
US6909315B2 (en) * 2002-03-20 2005-06-21 International Business Machines Corporation Data strobe signals (DQS) for high speed dynamic random access memories (DRAMs)
US20050165996A1 (en) * 2004-01-27 2005-07-28 Atmel Corporation, A Delaware Corporation Method and apparatus for driving multiple peripherals with different clock frequencies in an integrated circuit
US6928128B1 (en) * 1999-05-03 2005-08-09 Rambus Inc. Clock alignment circuit having a self regulating voltage supply
US6930949B2 (en) * 2002-08-26 2005-08-16 Micron Technology, Inc. Power savings in active standby mode
US6940768B2 (en) * 2003-11-04 2005-09-06 Agere Systems Inc. Programmable data strobe offset with DLL for double data rate (DDR) RAM memory
US6944070B1 (en) * 2002-09-20 2005-09-13 Integrated Device Technology, Inc. Integrated circuit devices having high precision digital delay lines therein
US20050219888A1 (en) * 2004-04-02 2005-10-06 Kook-Hwan Kwon Multistage parallel-to-serial conversion of read data in memories, with the first serial bit skipping at least one stage
US6982579B2 (en) * 2003-12-11 2006-01-03 Micron Technology, Inc. Digital frequency-multiplying DLLs
US20060224848A1 (en) * 2005-03-30 2006-10-05 Atmel Corporation, A Delaware Corporation Method and apparatus for reducing system inactivity during time data float delay and external memory write
US20060236007A1 (en) * 2005-04-15 2006-10-19 Eric Matulik Apparatus to improve bandwidth for circuits having multiple memory controllers
US20080123445A1 (en) * 2006-08-22 2008-05-29 Atmel Corporation Circuits to delay a signal from ddr-sdram memory device including an automatic phase error correction
US20090077409A1 (en) * 2006-08-22 2009-03-19 Atmel Corporation Circuits to delay a signal from a memory device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US664629A (en) * 1900-03-06 1900-12-25 Emil Franc Apparatus for drawing off liquids in fixed quantities.

Patent Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503494A (en) * 1980-06-26 1985-03-05 Texas Instruments Incorporated Non-volatile memory system
US5656958A (en) * 1993-12-15 1997-08-12 Lucent Technologies Inc. Frequency synthesizing device
US5703915A (en) * 1994-09-13 1997-12-30 Lucent Technologies Inc. Transmission system and multiplexing/demultiplexing equipment involving a justifiable bit stream
US5977805A (en) * 1998-01-21 1999-11-02 Atmel Corporation Frequency synthesis circuit tuned by digital words
US6043694A (en) * 1998-06-24 2000-03-28 Siemens Aktiengesellschaft Lock arrangement for a calibrated DLL in DDR SDRAM applications
US6222792B1 (en) * 1999-04-28 2001-04-24 Hitachi, Ltd. Phase control circuit, semiconductor device and semiconductor memory
US6928128B1 (en) * 1999-05-03 2005-08-09 Rambus Inc. Clock alignment circuit having a self regulating voltage supply
US6396322B1 (en) * 2000-05-31 2002-05-28 Hyundai Electronics Industries Co., Ltd. Delay locked loop of a DDR SDRAM
US6417715B2 (en) * 2000-06-09 2002-07-09 Mitsubishi Denki Kabushiki Kaisha Clock generation circuit generating internal clock of small variation in phase difference from external clock, and semiconductor memory device including such clock generation circuit
US6677791B2 (en) * 2000-07-24 2004-01-13 Renesas Technology Corporation Clock generation circuit, control method of clock generation circuit, clock reproducing circuit, semiconductor memory device, and dynamic random access memory
US6480439B2 (en) * 2000-10-03 2002-11-12 Mitsubishi Denki Kabushiki Kaisha Semiconductor device
US20030200518A1 (en) * 2000-11-29 2003-10-23 Takanori Saeki Clock control circuit and method
US6581017B2 (en) * 2001-06-28 2003-06-17 Intel Corporation System and method for minimizing delay variation in double data rate strobes
US6741522B1 (en) * 2001-11-27 2004-05-25 Lsi Logic Corporation Methods and structure for using a higher frequency clock to shorten a master delay line
US6646929B1 (en) * 2001-12-05 2003-11-11 Lsi Logic Corporation Methods and structure for read data synchronization with minimal latency
US6721232B2 (en) * 2001-12-19 2004-04-13 Renesas Technology Corp. Semiconductor device having phase error improved DLL circuit mounted thereon
US6909315B2 (en) * 2002-03-20 2005-06-21 International Business Machines Corporation Data strobe signals (DQS) for high speed dynamic random access memories (DRAMs)
US20030204763A1 (en) * 2002-04-29 2003-10-30 Moss Robert W. Memory controller and method of aligning write data to a memory device
US6930949B2 (en) * 2002-08-26 2005-08-16 Micron Technology, Inc. Power savings in active standby mode
US6944070B1 (en) * 2002-09-20 2005-09-13 Integrated Device Technology, Inc. Integrated circuit devices having high precision digital delay lines therein
US20040123207A1 (en) * 2002-12-19 2004-06-24 Intel Corporation Two dimensional data eye centering for source synchronous data transfers
US20050027471A1 (en) * 2003-07-17 2005-02-03 Atmel Corporation, Delaware Corporation Method and apparatus for smoothing current consumption in an integrated circuit
US6954866B2 (en) * 2003-07-17 2005-10-11 Atmel Corporation Method and apparatus for smoothing current consumption in an integrated circuit
US20050050375A1 (en) * 2003-08-29 2005-03-03 Mark Novak Memory interface system and method
US20050047192A1 (en) * 2003-09-03 2005-03-03 Renesas Technology Corp. Semiconductor integrated circuit
US20050089060A1 (en) * 2003-10-24 2005-04-28 Atmel Corporation, A Delaware Corporation Method and apparatus for a variable processing period in an integrated circuit
US6940768B2 (en) * 2003-11-04 2005-09-06 Agere Systems Inc. Programmable data strobe offset with DLL for double data rate (DDR) RAM memory
US6982579B2 (en) * 2003-12-11 2006-01-03 Micron Technology, Inc. Digital frequency-multiplying DLLs
US20050165996A1 (en) * 2004-01-27 2005-07-28 Atmel Corporation, A Delaware Corporation Method and apparatus for driving multiple peripherals with different clock frequencies in an integrated circuit
US20050219888A1 (en) * 2004-04-02 2005-10-06 Kook-Hwan Kwon Multistage parallel-to-serial conversion of read data in memories, with the first serial bit skipping at least one stage
US20060224848A1 (en) * 2005-03-30 2006-10-05 Atmel Corporation, A Delaware Corporation Method and apparatus for reducing system inactivity during time data float delay and external memory write
US20060236007A1 (en) * 2005-04-15 2006-10-19 Eric Matulik Apparatus to improve bandwidth for circuits having multiple memory controllers
US20080123445A1 (en) * 2006-08-22 2008-05-29 Atmel Corporation Circuits to delay a signal from ddr-sdram memory device including an automatic phase error correction
US7433262B2 (en) * 2006-08-22 2008-10-07 Atmel Corporation Circuits to delay a signal from DDR-SDRAM memory device including an automatic phase error correction
US20090033391A1 (en) * 2006-08-22 2009-02-05 Atmel Corporation Circuits to delay a signal from a memory device
US20090077409A1 (en) * 2006-08-22 2009-03-19 Atmel Corporation Circuits to delay a signal from a memory device
US7539078B2 (en) * 2006-08-22 2009-05-26 Atmel Corporation Circuits to delay a signal from a memory device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090033391A1 (en) * 2006-08-22 2009-02-05 Atmel Corporation Circuits to delay a signal from a memory device
US7701802B2 (en) 2006-08-22 2010-04-20 Atmel Corporation Circuits to delay a signal from a memory device
US11378998B2 (en) * 2011-10-26 2022-07-05 Rambus Inc. Drift detection in timing signal forwarded from memory controller to memory device
US20220365552A1 (en) * 2011-10-26 2022-11-17 Rambus Inc. Drift detection in timing signal forwarded from memory controller to memory device
US11709525B2 (en) * 2011-10-26 2023-07-25 Rambus Inc. Drift detection in timing signal forwarded from memory controller to memory device
US20230409072A1 (en) * 2011-10-26 2023-12-21 Rambus Inc. Drift detection in timing signal forwarded from memory controller to memory device
US11983031B2 (en) * 2011-10-26 2024-05-14 Rambus Inc. Drift detection in timing signal forwarded from memory controller to memory device
US11430496B2 (en) * 2020-04-30 2022-08-30 Synopsys, Inc. Phase-aware DDR command dynamic scheduling

Also Published As

Publication number Publication date
US20090077409A1 (en) 2009-03-19
US7539078B2 (en) 2009-05-26
WO2008024659A3 (en) 2008-06-26
TW200816227A (en) 2008-04-01
WO2008024659A2 (en) 2008-02-28

Similar Documents

Publication Publication Date Title
US7701802B2 (en) Circuits to delay a signal from a memory device
US20090238016A1 (en) Circuits to delay signals from a memory device
US6774690B2 (en) Digital dual-loop DLL design using coarse and fine loops
US10355698B2 (en) Clock circuits and apparatus containing such
KR100470995B1 (en) multi clock domain data input processing device having clock receiving locked loop and method for providing clock signals therefore
US7098714B2 (en) Centralizing the lock point of a synchronous circuit
KR100399941B1 (en) Register controlled delay locked loop in ddr sdram
JP3429977B2 (en) Skew reduction circuit and semiconductor device
KR100639616B1 (en) Delay locked loop in semiconductor memory device and its clock locking method
US7679987B2 (en) Clock circuitry for DDR-SDRAM memory controller
US8395430B2 (en) Digital phase locking loop and method for eliminating glitches
US20030001650A1 (en) Delay compensation circuit including a feedback loop
US9041446B2 (en) Power savings mode for memory systems
US20060250172A1 (en) Self-timed fine tuning control
US20100052739A1 (en) Device and control method of device
US7629822B2 (en) Delay locked loop in semiconductor memory device and method for generating divided clock therein
US9154141B2 (en) Continuous high-frequency event filter
US7911873B1 (en) Digital delay locked loop implementation for precise control of timing signals

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION