US20030204763A1 - Memory controller and method of aligning write data to a memory device - Google Patents

Memory controller and method of aligning write data to a memory device Download PDF

Info

Publication number
US20030204763A1
US20030204763A1 US10/134,957 US13495702A US2003204763A1 US 20030204763 A1 US20030204763 A1 US 20030204763A1 US 13495702 A US13495702 A US 13495702A US 2003204763 A1 US2003204763 A1 US 2003204763A1
Authority
US
United States
Prior art keywords
clock signal
local clock
memory device
strobe
delayed
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.)
Granted
Application number
US10/134,957
Other versions
US6917561B2 (en
Inventor
Robert Moss
Peter Korger
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
LSI Logic 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 LSI Logic Corp filed Critical LSI Logic Corp
Priority to US10/134,957 priority Critical patent/US6917561B2/en
Assigned to LSI LOGIC CORPORATION reassignment LSI LOGIC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KROGER, PETER, MOSS, ROBERT W.
Publication of US20030204763A1 publication Critical patent/US20030204763A1/en
Application granted granted Critical
Publication of US6917561B2 publication Critical patent/US6917561B2/en
Assigned to DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT reassignment DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: AGERE SYSTEMS LLC, LSI CORPORATION
Assigned to LSI CORPORATION reassignment LSI CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: LSI LOGIC CORPORATION
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LSI CORPORATION
Assigned to AGERE SYSTEMS LLC, LSI CORPORATION reassignment AGERE SYSTEMS LLC TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Assignors: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization

Definitions

  • the present invention relates to memory controllers. More particularly, the present invention relates to memory controllers and methods of aligning write data provided to a memory device, where the data is aligned with respect to a data clock strobe signal that is generated from the memory controller.
  • DDR double data rate dynamic random access memory
  • a memory controller is often used to coordinate the transfer of data to and from a memory device, such as a DDR DRAM.
  • the memory controller provides a clock strobe signal to the memory device for synchronizing write operations.
  • the memory device uses the clock strobe signal for determining when the write data is valid and can therefore be latched.
  • data to a DDR DRAM transitions twice per clock period.
  • data to a DDR DRAM transitions with a 1 ⁇ 4 clock phase shift from the data clock strobe as measured at the memory device.
  • the memory controller is responsible for creating this phase shift with appropriate timing to insure correct operation of the memory device. In previous controllers, the controller has used a clock signal having two times (2 ⁇ ) the frequency of a system clock signal.
  • a current approach to creating the desired phase shift is to invert the 2 ⁇ clock signal, and to use the falling edge of the inverted 2 ⁇ clock as the event that transitions write data to the memory device. This approach can have certain limitations and/or can necessitate added circuit complexity.
  • Clock generation circuits such as oscillators or phase locked loops (PLLs), coupled with asymmetries introduced by clock tree routing, do not provide a uniform duty cycle (i.e., the time that the clock signal is observed as being high is different than the time the clock signal is observed as being low).
  • a uniform duty cycle is important, a clock of twice the desired frequency (i.e., the 2 ⁇ clock) may be used and divided by two to create a symmetrical clock. In the case of DDR DRAM, this would require the generation and distribution of a 4 ⁇ clock, which is not desirable due to the high frequencies involved.
  • a memory controller for aligning write data and a clock strobe signal provided to a memory device includes a delay line coupled to a local clock input and providing as an output a delayed local clock signal.
  • a first latch circuit receives data to be written to the memory device as an input and has an output coupled to a data input of the memory device.
  • the first latch circuit is clocked by a first one of the local clock signal and the delayed local clock signal and provides in response the write data to the data input of the memory device.
  • a clock strobe generating circuit is clocked by a second one of the local clock signal and the delayed local clock signal.
  • the clock strobe generating circuit has an output coupled to a clock strobe input of the memory device and provides the clock strobe signal to the memory device.
  • the delay, between the local clock signal and the delayed local clock signal, introduced by the delay line aligns transitions in the data provided to the data input of the memory device and transitions in the clock strobe provided to the memory device without the need for inversion of the local clock signal and precise control of the duty cycle of the local clock signal.
  • the delay line is a programmable delay line, while in other embodiments the delay line is a fixed (non-programmable) delay line.
  • the memory device is a double data rate (DDR) dynamic random access memory (DRAM) device, but the memory controller of the invention can be used to align write data and a clock strobe for other types of memory devices as well.
  • DDR double data rate
  • DRAM dynamic random access memory
  • the memory controller circuit delays the clock strobe with respect to the data, rather than the data with respect to the clock strobe, thereby also creating the desired phase shift.
  • FIG. 1 is a schematic diagram of a portion of a memory controller coupled to a memory device according to one embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a portion of a memory controller coupled to a memory device according to a second embodiment of the present invention.
  • FIG. 1 is a schematic diagram of a memory controller 10 coupled to a memory device 12 according to one embodiment of the present invention.
  • Memory controller 10 has an internal local clock signal CLK2 ⁇ , which is used for synchronizing various functions within the memory controller including the capture of data received from memory device 12 and for synchronizing read and write operations within memory device 12 .
  • Internal local clock signal CLK2 ⁇ is, in some embodiments, a clock signal having twice the frequency as a system clock signal CLK.
  • the 1 ⁇ system clock signal CLK is generated from the 2 ⁇ clock signal CLK2 ⁇ , though the opposite could also be true in some embodiments.
  • memory device 12 is a double data rate (DDR) dynamic random access memory (DRAM).
  • DDR double data rate
  • memory device 12 includes an N bit data input 16 labeled “DQ[7:0]” and a data clock strobe input 18 labeled “DQS”.
  • N is equal to 4, 8 or 32 bits, but the invention is not limited to these values of N.
  • Memory device 12 receives data DQ[7:0], at input 16 , which needs to be aligned with a data clock strobe DQS received by the memory device at input 18 .
  • DQ[7:0] should be aligned such that it transitions in the middle of the stable region of the DQS strobe, though transitions other than in the middle of the stable region of the DQS strobe may also be desirable.
  • memory controller 10 includes a delay line 20 and latches 24 , 30 and 32 .
  • delay line 20 is a programmable delay line having a plurality of propagation delay settings that are programmable through delay control input 34 .
  • delay line 20 has a fixed or non-programmable delay.
  • Latches 24 and 30 can be N bit latches for latching N bit data through to provide data DQ[7:0] at input 16 of memory device 12 .
  • latches 24 , 30 and 32 include D-type flip-flops which latch data on the rising edges of the clock signals applied to the latches. Other types of latches can be used in other alternative embodiments.
  • FIG. 1 illustrates only portions of memory controller 10 which are useful in explaining the concepts of the invention, and components other than those shown can be included in memory controller 10 . Further, the particular components shown in FIG. 1 can be replaced with other components and configurations without departing from the invention. Also, other illustrated components are optional.
  • control circuitry 36 can optionally be included in memory controller 10 to provide the delay control input 34 .
  • delay control input 34 can be a fixed value programmed into delay line 20 and control circuitry 36 can be omitted. In yet other embodiments, no delay control input is required.
  • the clock signal CLK2 ⁇ is used to clock latch 32 to create a symmetrical clock strobe DQS at input 18 to memory device 12 .
  • the same clock signal CLK2 ⁇ is used to clock latch 24 in order to latch N bit input data (labeled DQ[7:0]_IN) to N bit output 28 .
  • Clock signal CLK2 ⁇ that is used to create the symmetrical DQS is delayed using programmable delay line 20 to create at output 22 a delayed clock CLK2 ⁇ _DEL such that the delay between CLK2 ⁇ and CLK2 ⁇ _DEL is optimized.
  • the delay for the system is optimized by setting it to 1 ⁇ 4 of a system clock period (1 ⁇ 2 of a CLK2 ⁇ period).
  • Delayed clock signal CLK2 ⁇ _DEL is used to clock latch 30 in order to latch the N bit data 28 to data DQ[7:0] at input 16 of memory device 12 .
  • the delay between clock signal CLK2 ⁇ and delayed clock signal CLK2 ⁇ _DEL may be adjusted using delay control input 34 for a more optimal value such that the delay results in DQ[7:0] transitioning in the middle of the stable region of the DQS strobe at memory device 12 , rather than at the signal's origin within the memory controller.
  • the delay line may need to be calibrated or alternatively used with a master digital locked loop (DLL) that would allow the delay to be scaled with respect to a fixed clock period.
  • the DLL can be considered to be part of control circuitry 36 .
  • the present invention includes a memory controller 10 for aligning write data DQ[7:0] and a clock strobe signal DQS provided to a memory device 12 .
  • the memory controller includes a local clock input 15 providing a local clock signal CLK2 ⁇ .
  • the memory controller also includes a delay line 20 coupled to the local clock input and providing as an output a delayed local clock signal CLK2 ⁇ _DEL.
  • a first latch circuit 30 receives data to be written to the memory device as an input and has an output coupled to the data input 16 of the memory device.
  • the first latch circuit is clocked by a first one of the local clock signal CLK2 ⁇ and the delayed local clock signal CLK2 ⁇ _DEL and provides in response the write data DQ[ 7 : 0 ] to the data input of the memory device.
  • first latch circuit 30 is clocked using the delayed local clock signal CLK2 ⁇ _X-DEL, but the opposite could be true in other embodiments.
  • a clock strobe generating circuit 32 is clocked by the second (or other) one of the local clock signal and the delayed local clock signal. In the illustrated embodiment, circuit 32 is clocked using local clock signal CLK2 ⁇ , but again the opposite could be true.
  • the clock strobe generating circuit 32 has an output coupled to a clock strobe input 18 of the memory device 12 and provides the clock strobe signal to the memory device.
  • FIG. 2 is a schematic diagram of a second embodiment of the memory controllers of the present invention as discussed above.
  • Memory controller 200 can include components which are substantially identical to those shown in memory controller 10 of FIG. 1.
  • components of memory controller 200 are labeled with reference numbers which correspond in their last two digits to reference numbers of corresponding components in FIG. 1.
  • a primary difference between memory controller 200 and memory controller 10 is that, in memory controller 200 , input data DQ[7:0]_IN is provided to latch 232 (corresponding to latch 32 in FIG. 1), instead of to latch 224 (corresponding to latch 24 in FIG. 1).
  • latch 232 can serve as the first latch circuit
  • latches 224 and/or 230 can serve as the clock strobe generating circuit.
  • data input 216 of memory device 212 which receives data DQ[7:0] is coupled to latch 232 in this embodiment.
  • data clock strobe input 218 which receives clock strobe DQS, is coupled to the output of latch 230 .
  • the delay line 220 is used to delay clock strobe DQS with respect to data DQ[7:0], rather than the data with respect to the clock strobe, thereby also creating the desired phase shift.
  • the memory controller can be used with any memory device (or register) where the write data is aligned with respect to a clock strobe that originates from the memory controller.
  • the invention is not limited to the particular arrangement of latches shown in FIG. 1. More generally, the invention is directed to memory controllers in which a clock strobe provided to the memory device must be aligned with the write data to be stored.
  • the term “coupled” used in the specification and the claims can include a direct connection and a connection through one or more intermediate components.

Abstract

A memory controller for aligning write data and a clock strobe signal provided to a memory device includes a delay line coupled to a local clock input and providing as an output a delayed local clock signal. A first latch circuit receives data to be written to the memory device as an input and has an output coupled to a data input of the memory device. The first latch circuit is clocked by a first one of the local clock signal and the delayed local clock signal and provides in response the write data to the data input of the memory device. A clock strobe generating circuit is clocked by a second one of the local clock signal and the delayed local clock signal. The clock strobe generating circuit has an output coupled to a clock strobe input of the memory device and provides the clock strobe signal to the memory device. The delay between the local clock signal and the delayed local clock signal, introduced by the delay line, aligns transitions in the data provided to the data input of the memory device and transitions in the clock strobe provided to the memory device without the need for inversion of the local clock signal and precise control of the duty cycle of the local clock signal.

Description

    FIELD OF THE INVENTION
  • The present invention relates to memory controllers. More particularly, the present invention relates to memory controllers and methods of aligning write data provided to a memory device, where the data is aligned with respect to a data clock strobe signal that is generated from the memory controller. [0001]
  • BACKGROUND OF THE INVENTION
  • Certain types of memory devices require a clock strobe signal having edges that are aligned with the center of changes in the write data. A double data rate (DDR) dynamic random access memory (DRAM) registers data on each rising and falling edge of the clock strobe signal. A DDR DRAM therefore accepts or registers two data words per clock cycle. [0002]
  • A memory controller is often used to coordinate the transfer of data to and from a memory device, such as a DDR DRAM. The memory controller provides a clock strobe signal to the memory device for synchronizing write operations. The memory device uses the clock strobe signal for determining when the write data is valid and can therefore be latched. As mentioned, data to a DDR DRAM transitions twice per clock period. Ideally, data to a DDR DRAM transitions with a ¼ clock phase shift from the data clock strobe as measured at the memory device. The memory controller is responsible for creating this phase shift with appropriate timing to insure correct operation of the memory device. In previous controllers, the controller has used a clock signal having two times (2×) the frequency of a system clock signal. A current approach to creating the desired phase shift is to invert the 2× clock signal, and to use the falling edge of the inverted 2× clock as the event that transitions write data to the memory device. This approach can have certain limitations and/or can necessitate added circuit complexity. [0003]
  • Clock generation circuits, such as oscillators or phase locked loops (PLLs), coupled with asymmetries introduced by clock tree routing, do not provide a uniform duty cycle (i.e., the time that the clock signal is observed as being high is different than the time the clock signal is observed as being low). When a uniform duty cycle is important, a clock of twice the desired frequency (i.e., the 2× clock) may be used and divided by two to create a symmetrical clock. In the case of DDR DRAM, this would require the generation and distribution of a 4× clock, which is not desirable due to the high frequencies involved. If an asymmetrical duty cycle 2× clock is used to align the write data, the operational frequency of the memory can be limited and the resulting system will have less margin surrounding timing of write data with respect to the data clock strobes. Improved memory controller circuits are therefore desired that are capable of aligning write data provided to a memory device, with respect to a data clock strobe signal that is generated from the memory controller, without one or more of the aforementioned limitations or requirements. [0004]
  • SUMMARY OF THE INVENTION
  • A memory controller for aligning write data and a clock strobe signal provided to a memory device includes a delay line coupled to a local clock input and providing as an output a delayed local clock signal. A first latch circuit receives data to be written to the memory device as an input and has an output coupled to a data input of the memory device. The first latch circuit is clocked by a first one of the local clock signal and the delayed local clock signal and provides in response the write data to the data input of the memory device. A clock strobe generating circuit is clocked by a second one of the local clock signal and the delayed local clock signal. The clock strobe generating circuit has an output coupled to a clock strobe input of the memory device and provides the clock strobe signal to the memory device. The delay, between the local clock signal and the delayed local clock signal, introduced by the delay line aligns transitions in the data provided to the data input of the memory device and transitions in the clock strobe provided to the memory device without the need for inversion of the local clock signal and precise control of the duty cycle of the local clock signal. [0005]
  • In some embodiments of the invention, the delay line is a programmable delay line, while in other embodiments the delay line is a fixed (non-programmable) delay line. [0006]
  • In some embodiments of the present invention, the memory device is a double data rate (DDR) dynamic random access memory (DRAM) device, but the memory controller of the invention can be used to align write data and a clock strobe for other types of memory devices as well. [0007]
  • In some embodiments of the present invention, the memory controller circuit delays the clock strobe with respect to the data, rather than the data with respect to the clock strobe, thereby also creating the desired phase shift. [0008]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram of a portion of a memory controller coupled to a memory device according to one embodiment of the present invention. [0009]
  • FIG. 2 is a schematic diagram of a portion of a memory controller coupled to a memory device according to a second embodiment of the present invention.[0010]
  • DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
  • FIG. 1 is a schematic diagram of a [0011] memory controller 10 coupled to a memory device 12 according to one embodiment of the present invention. Memory controller 10 has an internal local clock signal CLK2×, which is used for synchronizing various functions within the memory controller including the capture of data received from memory device 12 and for synchronizing read and write operations within memory device 12. Internal local clock signal CLK2× is, in some embodiments, a clock signal having twice the frequency as a system clock signal CLK. Typically, the 1× system clock signal CLK is generated from the 2× clock signal CLK2×, though the opposite could also be true in some embodiments.
  • In some embodiments of the invention, [0012] memory device 12 is a double data rate (DDR) dynamic random access memory (DRAM). In the example shown in FIG. 1, memory device 12 includes an N bit data input 16 labeled “DQ[7:0]” and a data clock strobe input 18 labeled “DQS”. Using typical DDR DRAM memory devices, N is equal to 4, 8 or 32 bits, but the invention is not limited to these values of N. Memory device 12 receives data DQ[7:0], at input 16, which needs to be aligned with a data clock strobe DQS received by the memory device at input 18. For the maximum amount of margin in a system and the highest operating frequency, DQ[7:0] should be aligned such that it transitions in the middle of the stable region of the DQS strobe, though transitions other than in the middle of the stable region of the DQS strobe may also be desirable.
  • In the embodiment illustrated in FIG. 1, [0013] memory controller 10 includes a delay line 20 and latches 24, 30 and 32. In some embodiments, delay line 20 is a programmable delay line having a plurality of propagation delay settings that are programmable through delay control input 34. However, in other embodiments, delay line 20 has a fixed or non-programmable delay. Latches 24 and 30 can be N bit latches for latching N bit data through to provide data DQ[7:0] at input 16 of memory device 12. In one embodiment, latches 24, 30 and 32 include D-type flip-flops which latch data on the rising edges of the clock signals applied to the latches. Other types of latches can be used in other alternative embodiments.
  • FIG. 1 illustrates only portions of [0014] memory controller 10 which are useful in explaining the concepts of the invention, and components other than those shown can be included in memory controller 10. Further, the particular components shown in FIG. 1 can be replaced with other components and configurations without departing from the invention. Also, other illustrated components are optional. For example, control circuitry 36 can optionally be included in memory controller 10 to provide the delay control input 34. However, in other embodiments, delay control input 34 can be a fixed value programmed into delay line 20 and control circuitry 36 can be omitted. In yet other embodiments, no delay control input is required.
  • The clock signal CLK2× is used to clock [0015] latch 32 to create a symmetrical clock strobe DQS at input 18 to memory device 12. The same clock signal CLK2× is used to clock latch 24 in order to latch N bit input data (labeled DQ[7:0]_IN) to N bit output 28. Clock signal CLK2× that is used to create the symmetrical DQS is delayed using programmable delay line 20 to create at output 22 a delayed clock CLK2×_DEL such that the delay between CLK2× and CLK2×_DEL is optimized. In some embodiments, the delay for the system is optimized by setting it to ¼ of a system clock period (½ of a CLK2× period). Though in typical cases the delay setting will be ¼ of the system clock period, it is not a requirement of the invention that the delay be set to 1/4 of the system clock period. In fact, in can be advantageous to factor the optimal setup and hold time into this delay setting, as well as factoring in clock rise/fall asymmetries. Delayed clock signal CLK2×_DEL is used to clock latch 30 in order to latch the N bit data 28 to data DQ[7:0] at input 16 of memory device 12.
  • The delay between clock signal CLK2× and delayed clock signal CLK2×_DEL may be adjusted using [0016] delay control input 34 for a more optimal value such that the delay results in DQ[7:0] transitioning in the middle of the stable region of the DQS strobe at memory device 12, rather than at the signal's origin within the memory controller. In order to accurately set the delay line to a fixed percentage of a clock period, the delay line may need to be calibrated or alternatively used with a master digital locked loop (DLL) that would allow the delay to be scaled with respect to a fixed clock period. In such embodiments, the DLL can be considered to be part of control circuitry 36.
  • In the conventional approach which is not utilized in [0017] memory controller 10 of the present invention, alignment of clock strobe DQS with data DQ[7:0] would be accomplished by inverting clock signal CLK2× and using this inverted clock signal to latch the write data to the memory device. Then, the rising edge of this inverted clock signal would be used to register the data. This can require more precise control over the duty cycle of clock signal CLK2×. Using delay line 20 to align data DQ[7:0] with clock strobe signal DQS minimizes the necessity to maintain precise control over this duty cycle. Use of delay line 20 in this manner does not require the use of both edges of the clock signal, relying solely on the rising edge.
  • In summary, the present invention includes a [0018] memory controller 10 for aligning write data DQ[7:0] and a clock strobe signal DQS provided to a memory device 12. The memory controller includes a local clock input 15 providing a local clock signal CLK2×. The memory controller also includes a delay line 20 coupled to the local clock input and providing as an output a delayed local clock signal CLK2×_DEL. A first latch circuit 30 receives data to be written to the memory device as an input and has an output coupled to the data input 16 of the memory device. The first latch circuit is clocked by a first one of the local clock signal CLK2× and the delayed local clock signal CLK2×_DEL and provides in response the write data DQ[7:0] to the data input of the memory device. In the illustrated embodiment, first latch circuit 30 is clocked using the delayed local clock signal CLK2×_X-DEL, but the opposite could be true in other embodiments. A clock strobe generating circuit 32 is clocked by the second (or other) one of the local clock signal and the delayed local clock signal. In the illustrated embodiment, circuit 32 is clocked using local clock signal CLK2×, but again the opposite could be true. The clock strobe generating circuit 32 has an output coupled to a clock strobe input 18 of the memory device 12 and provides the clock strobe signal to the memory device.
  • FIG. 2 is a schematic diagram of a second embodiment of the memory controllers of the present invention as discussed above. [0019] Memory controller 200 can include components which are substantially identical to those shown in memory controller 10 of FIG. 1. In FIG. 2, components of memory controller 200 are labeled with reference numbers which correspond in their last two digits to reference numbers of corresponding components in FIG. 1. A primary difference between memory controller 200 and memory controller 10 is that, in memory controller 200, input data DQ[7:0]_IN is provided to latch 232 (corresponding to latch 32 in FIG. 1), instead of to latch 224 (corresponding to latch 24 in FIG. 1). Thus, in this embodiment, latch 232 can serve as the first latch circuit, while latches 224 and/or 230 can serve as the clock strobe generating circuit. Note that the data input 216 of memory device 212, which receives data DQ[7:0], is coupled to latch 232 in this embodiment. Likewise, data clock strobe input 218, which receives clock strobe DQS, is coupled to the output of latch 230. As a result, the delay line 220 is used to delay clock strobe DQS with respect to data DQ[7:0], rather than the data with respect to the clock strobe, thereby also creating the desired phase shift.
  • Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. For example, the memory controller can be used with any memory device (or register) where the write data is aligned with respect to a clock strobe that originates from the memory controller. Further, the invention is not limited to the particular arrangement of latches shown in FIG. 1. More generally, the invention is directed to memory controllers in which a clock strobe provided to the memory device must be aligned with the write data to be stored. In addition, the term “coupled” used in the specification and the claims can include a direct connection and a connection through one or more intermediate components. [0020]

Claims (20)

What is claimed is:
1. A memory controller for aligning write data and a clock strobe signal provided to a memory device, the memory controller comprising:
a local clock input providing a local clock signal;
a delay line coupled to the local clock input and providing as an output a delayed local clock signal;
a first latch circuit receiving data to be written to the memory device as an input and having an output coupled to a data input of the memory device, the first latch circuit being clocked by a first one of the local clock signal and the delayed local clock signal and providing in response the write data to the data input of the memory device; and
a clock strobe generating circuit which is clocked by a second one of the local clock signal and the delayed local clock signal, the clock strobe generating circuit having an output coupled to a clock strobe input of the memory device and providing the clock strobe signal to the memory device.
2. The memory controller of claim 1, wherein the delay line provides the delayed local clock signal such that it is delayed relative to the local clock signal by one half of a period of the local clock signal.
3. The memory controller of claim 1, wherein the delay line is a programmable delay line having a plurality of propagation delay settings that are programmable through a delay control input.
4. The memory controller of claim 3, and further comprising a control circuit which generates the delay control input provided to the programmable delay line to control an amount of delay between the local clock signal and the delayed local clock signal.
5. The memory controller of claim 1, wherein the delay line is a fixed delay line.
6. The memory controller of claim 1, wherein the programmable delay line provides the delayed local clock signal such that it is delayed relative to the local clock signal by an amount which causes write data at the data input of the memory device to transition at a middle of a stable region of the clock strobe at the clock strobe input of the memory device.
7. The memory controller of claim 1, wherein the programmable delay line provides the delayed local clock signal such that it is delayed relative to the local clock signal by an amount which optimizes placement of transitions of the clock strobe signal with respect to transitions in the write data to meet setup and hold time requirements at the memory device.
8. The memory controller of claim 1, and further comprising a second latch circuit receiving the data to be written to the memory device as an input and having an output coupled to the input of the first latch circuit, the second latch circuit being clocked by the second one of the local clock signal and the delayed local clock signal.
9. The memory controller of claim 1, wherein the memory device is a double data rate (DDR) dynamic random access memory (DRAM) device.
10. The memory controller of claim 1, wherein the first latch circuit is clocked by the delayed local clock signal and the clock strobe generating circuit is clocked by the local clock signal to thereby delay the write data provided to the memory device relative to the clock strobe signal provided to the memory device.
11. The memory device of claim 1, wherein the first latch circuit is clocked by the local clock signal and the clock strobe generating circuit is clocked by the delayed local clock signal to thereby delay the clock strobe signal provided to the memory device relative to the write data provided to the memory device.
12. A method of aligning write data and a clock strobe signal provided to a memory device by a memory controller, the method comprising:
providing a local clock signal;
delaying the local clock signal using a delay line to generate a delayed local clock signal;
clocking a first latch circuit with a first one of the local clock signal and the delayed local clock signal to provide the write data to a data input of the memory device; and
clocking a strobe generating circuit with a second one of the local clock signal and the delayed local clock signal to provide the clock strobe signal to a clock strobe input of the memory device.
13. The method of claim 12, wherein delaying the local clock signal using the delay line further comprises delaying the local clock signal using a programmable delay line having a plurality of propagation delay settings that are programmable through a delay control input.
14. The method of claim 12, wherein delaying the local clock signal using the delay line further comprises delaying the local clock signal using a fixed delay line.
15. The method of claim 12, wherein delaying the local clock signal using the delay line further comprises delaying the local clock signal using the delay line such that the delayed local clock signal is delayed relative to the local clock signal by one half of a period of the local clock signal.
16. The method of claim 12, wherein delaying the local clock signal using the delay line further comprises delaying the local clock signal using the delay line such that the delayed local clock signal is delayed relative to the local clock signal by an amount which causes write data at the data input of the memory device to transition in a middle of a stable region of the clock strobe at the clock strobe input of the memory device.
17. The method of claim 12, wherein delaying the local clock signal using the delay line further comprises delaying the local clock signal using the delay line such that the delayed local clock signal is delayed relative to the local clock signal by an amount which optimizes placement of transitions of the clock strobe signal with respect to transitions in the write data to meet setup and hold time requirements at the memory device.
18. The method of claim 12, and further comprising clocking a second latch circuit with the second one of the local clock signal and the delayed local clock signal to provide write data to an input of the first latch circuit.
19. The method of claim 12, wherein clocking the first latch circuit and clocking the strobe generating circuit further comprise clocking the first latch circuit with the delayed local clock signal and clocking the clock strobe generating circuit with the local clock signal to thereby delay the write data provided to the memory device relative to the clock strobe signal provided to the memory device.
20. The method of claim 12, wherein clocking the first latch circuit and clocking the strobe generating circuit further comprise clocking the first latch circuit with the local clock signal and clocking the clock strobe generating circuit with the delayed local clock signal to thereby delay the clock strobe signal provided to the memory device relative to the write data provided to the memory device.
US10/134,957 2002-04-29 2002-04-29 Memory controller and method of aligning write data to a memory device Expired - Fee Related US6917561B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/134,957 US6917561B2 (en) 2002-04-29 2002-04-29 Memory controller and method of aligning write data to a memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/134,957 US6917561B2 (en) 2002-04-29 2002-04-29 Memory controller and method of aligning write data to a memory device

Publications (2)

Publication Number Publication Date
US20030204763A1 true US20030204763A1 (en) 2003-10-30
US6917561B2 US6917561B2 (en) 2005-07-12

Family

ID=29249346

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/134,957 Expired - Fee Related US6917561B2 (en) 2002-04-29 2002-04-29 Memory controller and method of aligning write data to a memory device

Country Status (1)

Country Link
US (1) US6917561B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141725A (en) * 2003-10-16 2005-06-02 Pioneer Plasma Display Corp Memory access circuit, operating method therefor, and display device using the memory access circuit
WO2008024659A2 (en) * 2006-08-22 2008-02-28 Atmel Corporation Circuits to delay a signal from a memory device
US7486702B1 (en) * 2003-08-11 2009-02-03 Cisco Technology, Inc DDR interface for reducing SSO/SSI noise
US20090033391A1 (en) * 2006-08-22 2009-02-05 Atmel Corporation Circuits to delay a signal from a memory device
US20090292940A1 (en) * 2008-05-21 2009-11-26 Nec Electronics Corporation Memory controller, system including the controller, and memory delay amount control method
US11657846B1 (en) * 2022-03-31 2023-05-23 Stmicroelectronics S.R.L. Automatic skew calibration circuit for pattern-dependent dynamic wave shaping for HDD preamplifier write

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010713B2 (en) * 2002-12-19 2006-03-07 Mosaid Technologies, Inc. Synchronization circuit and method with transparent latches
JP2004355163A (en) * 2003-05-28 2004-12-16 Renesas Technology Corp Data processor, and electronic apparatus
DE102005019041B4 (en) * 2005-04-23 2009-04-16 Qimonda Ag Semiconductor memory and method for adjusting the phase relationship between a clock signal and strobe signal in the acquisition of transferable write data
US7423928B2 (en) * 2007-01-30 2008-09-09 Atmel Corporation Clock circuitry for DDR-SDRAM memory controller
KR100991999B1 (en) * 2008-10-21 2010-11-04 주식회사 하이닉스반도체 Data Transmission Circuit and Semiconductor Integrated Circuit Using the same
KR101003155B1 (en) * 2009-06-29 2010-12-22 한양대학교 산학협력단 Circuit and method of aligning data in semiconductor memory apparatus
WO2020176448A1 (en) 2019-02-27 2020-09-03 Rambus Inc. Low power memory with on-demand bandwidth boost

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764591A (en) * 1996-04-04 1998-06-09 Fujitsu Limited Memory device and memory control circuit
US6370067B1 (en) * 2001-01-25 2002-04-09 Ishoni Networks, Inc. Automatic configuration of delay parameters in a dynamic memory controller
US6839301B2 (en) * 2003-04-28 2005-01-04 Micron Technology, Inc. Method and apparatus for improving stability and lock time for synchronous circuits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764591A (en) * 1996-04-04 1998-06-09 Fujitsu Limited Memory device and memory control circuit
US6370067B1 (en) * 2001-01-25 2002-04-09 Ishoni Networks, Inc. Automatic configuration of delay parameters in a dynamic memory controller
US6839301B2 (en) * 2003-04-28 2005-01-04 Micron Technology, Inc. Method and apparatus for improving stability and lock time for synchronous circuits

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7486702B1 (en) * 2003-08-11 2009-02-03 Cisco Technology, Inc DDR interface for reducing SSO/SSI noise
JP2005141725A (en) * 2003-10-16 2005-06-02 Pioneer Plasma Display Corp Memory access circuit, operating method therefor, and display device using the memory access circuit
WO2008024659A2 (en) * 2006-08-22 2008-02-28 Atmel Corporation Circuits to delay a signal from a memory device
WO2008024659A3 (en) * 2006-08-22 2008-06-26 Atmel Corp Circuits to delay a signal from a memory device
US20090033391A1 (en) * 2006-08-22 2009-02-05 Atmel Corporation Circuits to delay a signal from a memory device
US20090238016A1 (en) * 2006-08-22 2009-09-24 Atmel Corporation Circuits to delay signals from a memory device
US7701802B2 (en) * 2006-08-22 2010-04-20 Atmel Corporation Circuits to delay a signal from a memory device
US20090292940A1 (en) * 2008-05-21 2009-11-26 Nec Electronics Corporation Memory controller, system including the controller, and memory delay amount control method
US8201013B2 (en) * 2008-05-21 2012-06-12 Renesas Electronics Corporation Memory controller, system including the controller, and memory delay amount control method
US8359490B2 (en) 2008-05-21 2013-01-22 Renesas Electronics Corporation Memory controller, system including the controller, and memory delay amount control method
US11657846B1 (en) * 2022-03-31 2023-05-23 Stmicroelectronics S.R.L. Automatic skew calibration circuit for pattern-dependent dynamic wave shaping for HDD preamplifier write

Also Published As

Publication number Publication date
US6917561B2 (en) 2005-07-12

Similar Documents

Publication Publication Date Title
US6424198B1 (en) Memory clock generation with configurable phase advance and delay capability
US10679683B1 (en) Timing circuit for command path in a memory device
US7489172B2 (en) DLL driver control circuit
US6693472B2 (en) Method and circuit for adjusting the timing of output data based on an operational mode of output drivers
US8111580B2 (en) Multi-phase duty-cycle corrected clock signal generator and memory having same
JP4065234B2 (en) Data recovery device for synchronous chip-chip system
JP4443728B2 (en) Clock generation circuit
US7877623B2 (en) Method and apparatus for providing symmetrical output data for a double data rate DRAM
US6333893B1 (en) Method and apparatus for crossing clock domain boundaries
KR100470995B1 (en) multi clock domain data input processing device having clock receiving locked loop and method for providing clock signals therefore
US8536914B2 (en) DLL including 2-phase delay line and duty correction circuit and duty correction method thereof
US10636463B2 (en) Techniques for command synchronization in a memory device
US7675797B2 (en) CAS latency circuit and semiconductor memory device including the same
KR20000006028A (en) Clock latency compensation circuit for ddr timing
US6815985B2 (en) Clock divider and method for dividing a clock signal in a DLL circuit
US6917561B2 (en) Memory controller and method of aligning write data to a memory device
KR100543937B1 (en) Data output control circuit
US20210050855A1 (en) Signal generation circuit synchronized with a clock signal and a semiconductor apparatus using the same
US20060077751A1 (en) Latency control circuit and method of latency control
CN114301427A (en) Duty correction device and method, and semiconductor apparatus using the same
US7178048B2 (en) System and method for signal synchronization based on plural clock signals
US20060214710A1 (en) Delay-lock loop and method having high resolution and wide dynamic range
US20040008069A1 (en) Method and apparatus for skewing data with respect to command on a DDR interface
KR20020087294A (en) SDRAM having a data latch circuit for outputting input data in synchronization with a plurality of control signals
US10790834B2 (en) Semiconductor device

Legal Events

Date Code Title Description
AS Assignment

Owner name: LSI LOGIC CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MOSS, ROBERT W.;KROGER, PETER;REEL/FRAME:012861/0206

Effective date: 20020426

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG

Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031

Effective date: 20140506

AS Assignment

Owner name: LSI CORPORATION, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:LSI LOGIC CORPORATION;REEL/FRAME:033102/0270

Effective date: 20070406

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LSI CORPORATION;REEL/FRAME:035390/0388

Effective date: 20140814

AS Assignment

Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039

Effective date: 20160201

Owner name: LSI CORPORATION, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039

Effective date: 20160201

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001

Effective date: 20160201

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001

Effective date: 20160201

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001

Effective date: 20170119

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001

Effective date: 20170119

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20170712