US11302380B2 - Memory controller device and phase calibration method - Google Patents

Memory controller device and phase calibration method Download PDF

Info

Publication number
US11302380B2
US11302380B2 US17/120,344 US202017120344A US11302380B2 US 11302380 B2 US11302380 B2 US 11302380B2 US 202017120344 A US202017120344 A US 202017120344A US 11302380 B2 US11302380 B2 US 11302380B2
Authority
US
United States
Prior art keywords
signal
clock signal
clock
detection
phase
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.)
Active
Application number
US17/120,344
Other versions
US20210343327A1 (en
Inventor
Jie Zheng
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.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor 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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Assigned to REALTEK SEMICONDUCTOR CORPORATION reassignment REALTEK SEMICONDUCTOR CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZHENG, JIE
Publication of US20210343327A1 publication Critical patent/US20210343327A1/en
Application granted granted Critical
Publication of US11302380B2 publication Critical patent/US11302380B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • 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/4076Timing circuits
    • 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
    • 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 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • 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

Definitions

  • the present disclosure relates to a memory controller device. More particularly, the present disclosure relates to a data reader circuit without analog phase-lock loop circuit(s) and a phase calibration method.
  • reading/writing operations are performed according to a data strobe signal.
  • a phase of the data strobe signal is required to be aligned with a data window.
  • the phase of the data strobe signal may be shifted, resulting in incorrect data being read.
  • a memory controller device includes a delay line circuitry, a plurality of data sampler circuits, a plurality of phase detector circuits, and a control logic circuit.
  • the delay line circuitry is configured to delay a data strobe signal to generate a first clock signal, a second clock signal, and a third clock signal, in which the second clock signal is for reading a data signal, and a phase of the first clock signal, a phase of the second clock signal, and a phase of third clock signal are sequentially differentiated by a predetermined value.
  • Each of the plurality of data sampler circuits is configured to sample the data signal according to a corresponding one of the first clock signal, the second clock signal, and the third clock signal, in order to generate a corresponding one of a first signal, a second signal, and a third signal.
  • the plurality of phase detector circuits are configured to compare the first signal with the second signal to generate a first detection signal, and to compare the third signal with the second signal to generate a second detection signal.
  • the control logic circuit is configured to adjust the first clock signal, the second clock signal, and the third clock signal according to the first detection signal and the second detection signal.
  • a phase calibration method includes the following operations: delaying a data strobe signal to generate a first clock signal, a second clock signal, and a third clock signal, in which the second clock signal is for reading a data signal, and a phase of the first clock signal, a phase of the second clock signal, and a phase of third clock signal are sequentially differentiated by a predetermined value; sampling the data signal according to a corresponding one of the first clock signal, the second clock signal, and the third clock signal, in order to generate a corresponding one of a first signal, a second signal, and a third signal; comparing the first signal with the second signal to generate a first detection signal, and comparing the third signal with the second signal to generate a second detection signal; and adjusting the first clock signal, the second clock signal, and the third clock signal according to the first detection signal and the second detection signal.
  • FIG. 1A is a schematic diagram of an electronic system according to some embodiments of the present disclosure.
  • FIG. 1B is a waveform diagram of related signals in FIG. 1A according to some embodiments of the present disclosure.
  • FIG. 2 is a schematic diagram of the memory controller device in FIG. 1A according to some embodiments of the present disclosure.
  • FIG. 3 is a schematic diagram of the delay line circuitry in FIG. 2 according to some embodiments of the present disclosure.
  • FIG. 4A is a flow chart of a phase calibration method according to some embodiments of the present disclosure.
  • FIG. 4B is a flow chart of an operation in FIG. 4A according to some embodiments of the present disclosure.
  • FIG. 5 is a schematic diagram showing related waveforms in FIG. 2 according to some embodiments of the present disclosure.
  • Coupled may also be termed as “electrically coupled,” and the term “connected” may be termed as “electrically connected.” “Coupled” and “connected” may mean “directly coupled” and “directly connected” respectively, or “indirectly coupled” and “indirectly connected” respectively. “Coupled” and “connected” may also be used to indicate that two or more elements cooperate or interact with each other.
  • circuit may indicate an object, which is formed with one or more transistors and/or one or more active/passive elements based on a specific arrangement, for processing signals.
  • the term “and/or” includes any and all combinations of one or more of the associated listed items.
  • first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the embodiments.
  • like elements in various figures are designated with the same reference number.
  • FIG. 1A is a schematic diagram of an electronic system 100 according to some embodiments of the present disclosure.
  • the electronic system 100 may be various types of electronic devices that utilize a memory (e.g., computer, smart phone, etc).
  • the electronic system 100 includes a processor circuit 110 , a memory controller device 120 , and a memory 130 .
  • the processor circuit 110 may be a circuit (which may be a central processor circuit, a micro-processor circuit, etc) having an ability of executing software. In some embodiments, the processor circuit 110 may be various types of data processing chips.
  • the processor circuit 110 may read a data signal DQ from the memory 130 through the memory controller device 120 .
  • the memory controller device 120 may operate as an interface circuit between the processor circuit 110 and the memory 130 , in which the interface circuit is configured to generate a clock signal CLK 2 (as shown in FIG. 1B ) according to a data strobe signal DQS from the memory 130 .
  • the memory controller device 120 may automatically adjust a phase of the clock signal CLK 2 , and may read data carried in the data signal DQ according to the clock signal CLK 2 , in order to output the data as a signal S 2 to the processor circuit 110 . With operation(s) of the memory controller device 120 , it assures that the processor circuit 110 is able to acquire valid data carried in the data signal DQ by reading the signal S 2 .
  • the memory 130 may be a double data rate (DDR) synchronous dynamic random access memory. In some embodiments, the memory 130 may a single data rate (SDR) synchronous dynamic random access memory.
  • DDR double data rate
  • SDR single data rate
  • the types of the memory 130 are given for illustrative purposes, and the present disclosure is not limited thereto. In other embodiments, the memory 130 may be various memories that utilize the data strobe signal DQS to read/write data.
  • FIG. 1B is a waveform diagram of related signals in FIG. 1A according to some embodiments of the present disclosure.
  • the memory 130 is a DDR synchronous dynamic random access memory.
  • the data strobe signal DQS is either edge-aligned with the data signal DQ or is center-aligned with the data signal DQ.
  • the memory 130 stores two data according to a positive edge and a negative edge of the data strobe signal DQS. For example, the memory 130 stores data D 0 at a positive edge P 1 of the data strobe signal DQS and stores data D 1 at a negative edge N 1 of the data strobe signal DQS. With this analogy, the memory 130 sequentially stores data D 2 and data D 3 at a positive edge P 2 and a negative edge N 2 .
  • the memory 130 sends the data strobe signal DQS and the data signal DQ to the processor circuit 110 , and the processor circuit 110 delays the data strobe signal DQS for a predetermined time Texp by using software (or firmware), in order to generate the clock signal CLK 2 .
  • the clock signal CLK 2 and the data signal DQ are different in phase by about 90 degrees. As a result, a positive edge and a negative edge of the clock signal CLK 2 are able to be aligned with centers of the data D 0 -D 3 .
  • the memory controller device 120 may read the data signal DQ according to the positive edge or the negative edge of the clock signal CLK 2 , in order to output valid data in the data signal DQ to be the signal S 2 , and to transmit the signal S 2 to the processor circuit 110 .
  • the memory controller device 120 is able to automatically tune the phase of the clock signal CLK 2 , in order to prevent the phase of the clock signal CLK 2 from being shifted due to a variation of operating condition(s) (which may include temperature, voltage, etc.). As a result, it ensures that the processor circuit 110 is able to stably read the valid data in the data signal DQ.
  • FIG. 2 is a schematic diagram of the memory controller device 120 in FIG. 1A according to some embodiments of the present disclosure.
  • the memory controller device 120 includes the delay line circuitry 210 , data sampler circuits 220 , 222 , and 224 , phase detector circuits 230 and 232 , and a control logic circuit 240 .
  • the delay line circuitry 210 receives the data strobe signal DQS from the memory 130 , and is configured to delay the data strobe signal DQS to generate a clock signal CLK 1 , the clock signal CLK 2 , and a clock signal CLK 3 .
  • a phase of the clock signal CLK 1 , a phase of the clock signal CLK 2 , and a phase of the clock signal CLK 3 are sequentially differentiated by a predetermined value j. For example, if the phase of the clock signal CLK 2 is defined as n, the phase of the clock signal CLK 1 is defined as n ⁇ j, and the phase of the clock signal CLK 3 is defined as n+j.
  • each of the phase n and the predetermined value j can be expressed by a data value
  • the control logic circuit 240 updates a selection signal SEL 1 , a selection signal SEL 2 , and a selection signal SEL 3 according to these data values.
  • the delay line circuitry 210 adjusts the clock signal CLK 1 , the clock signal CLK 2 , and the clock signal CLK 3 according to the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 .
  • Each of the data sampler circuits 220 , 222 , and 224 is configured to sample the data signal DQ according to a corresponding one of the clock signal CLK 1 , the clock signal CLK 2 , the clock signal CLK 3 , in order to generate a corresponding one of a signal S 1 , the signal S 2 , and the signal S 3 .
  • the data sampler circuit 220 is triggered according to a positive edge (and/or a negative edge) of the clock signal CLK 1 , in order to output the data signal DQ to be the signal S 1 .
  • the data sampler circuit 222 is triggered according to a positive edge (and/or a negative edge) of the clock signal CLK 2 , in order to output the data signal DQ to be the signal S 2 , and to provide the signal S 2 to the processor circuit 110 in FIG. 1A .
  • the clock signal CLK 2 is for reading the data signal DQ.
  • the data sampler circuit 224 is triggered according to a positive edge (and/or a negative edge) of the clock signal CLK 3 , in order to output the data signal DQ to be the signal S 3 .
  • each of the data sampler circuits 220 , 222 , and 224 may be, but not limited to, implemented with a D-type flip flop circuit.
  • the implementation of the data sampler circuit 220 , 222 , and 224 is given for illustrative purposes, and various sampler circuits able to acquire current data according to a clock signal are within the contemplated scope of the present disclosure.
  • the phase detector circuits 230 and 232 are configured to compare the signal S 1 with the signal S 2 to generate a detection signal D 1 , and to compare the signal S 3 with the signal S 2 , in order to generate a detection signal D 2 .
  • the phase detector circuit 230 is configured to compare the signal S 1 with the signal S 2 . If the signal S 1 and the signal S 2 are substantially identical, the phase detector circuit 230 outputs the detection signal D 1 having a first logic value (e.g., a logic value of 1). Alternatively, if the signal S 1 is different from the signal S 2 , the phase detector circuit 230 outputs the detection signal D 1 having a second logic value (e.g., a logic value of 0).
  • the phase detector circuit 232 is configured to compare the signal S 3 with the signal S 2 . If the signal S 3 and the signal S 2 are substantially identical, the phase detector circuit 232 outputs the detection signal D 2 having the first logic value. Alternatively, if the signal S 3 is different from the signal S 2 , the phase detector circuit 232 outputs the detection signal D 2 having the second logic value.
  • each of the phase detector circuits 230 and 232 may be, but not limited to, implemented with a XNOR gate circuit.
  • the above implementation of the phase detector circuits 230 and 232 is given for illustrative purposes, and various detector circuits able to determine whether data are the same or different are within the contemplated scope of the present disclosure.
  • the control logic circuit 240 is configured to adjust the clock signal CLK 1 , the clock signal CLK 2 , and the clock signal CLK 3 according to the detection signal D 1 and the detection signal D 2 , in order to ensure that the phase of the clock signal CLK 2 can be stably aligned with the center of a valid data interval in the data signal DQ.
  • the control logic circuit 240 is configured to output the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 according to the detection signal D 1 and the detection D 2 . Descriptions regarding herein are provided in the following paragraphs with reference to FIG. 2 to FIG. 5 .
  • the control logic circuit 240 includes at least one register that is configured to store a predetermined maximum value j_max, a predetermined minimum value j_min, and a predetermined maximum value n_max.
  • the predetermined maximum value j_max and predetermined minimum value j_min are for setting a range of the predetermined value j
  • the predetermined maximum value n_max is for setting an upper limit of the phase n of the clock signal CLK 2 .
  • the above values can be set automatically by software executed by the processor circuit 110 , or can be set according to a direct input from a user. In some embodiments, these values are for adjusting a tracking speed of the phase of the clock signal CLK 2 .
  • control logic circuit 240 may be implemented with at least one digital circuit.
  • the at least one digital circuit may be configured to execute a state machine that corresponds to operations S 420 to S 450 in FIG. 4A .
  • the at least one digital circuit may be, but not limited to, a digital signal processor circuit, a microcontroller circuit, or the like.
  • FIG. 3 is a schematic diagram of the delay line circuitry 210 in FIG. 2 according to some embodiments of the present disclosure.
  • the delay line circuitry 210 includes buffer circuits 310 and multiplexer circuits 320 , 330 , and 340 .
  • the buffer circuits 310 are coupled in series, in order to delay the data strobe signal DQS.
  • Output signals O 1 -Om of the buffer circuits 310 are transmitted to each of the multiplexer circuits 320 , 330 , and 340 .
  • Each of the multiplexer circuits 320 , 330 , and 340 outputs a corresponding one of the output signals O 1 -Om to be a corresponding one of the clock signal CLK 1 , the clock signal CLK 2 , and the clock signal CLK 3 according to a corresponding one of the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 .
  • the multiplexer circuit 330 outputs an output signal On in the output signals O 1 -Om to be the clock signal CLK 2 according to the selection signal SEL 2 .
  • the multiplexer circuit 320 outputs an output signal On ⁇ j (not shown) in the output signals O 1 -Om to be the clock signal CLK 1 according to the selection signal SELL
  • the multiplexer circuit 340 outputs an output signal On+j (not shown) in the output signals O 1 -Om to be the clock signal CLK 3 according to the selection signal SEL 3 .
  • the clock signal CLK 2 may be considered as the data strobe signal DQS after being delayed by n buffer circuits 310 .
  • the clock signal CLK 1 may be considered as the data strobe signal DQS after being delayed by n ⁇ j buffer circuits 310
  • the clock signal CLK 3 may be considered as the data strobe signal DQS after being delayed by n+j buffer circuits 310
  • the processor circuit 110 may select n buffer circuits 310 via software (or firmware), and may delay the data strobe signal DQS via these n buffer circuits 310 , in order to generate the clock signal CLK 2 .
  • the predetermined time Texp in FIG. 1B is equivalent to a sum of n delay times T.
  • FIG. 4A is a flow chart of a phase calibration method 400 according to some embodiments of the present disclosure
  • FIG. 4B is a flow chart of operation S 450 in FIG. 4A according to some embodiments of the present disclosure
  • FIG. 5 is a schematic diagram illustrating related waveforms in FIG. 2 according to some embodiments of the present disclosure.
  • the phase calibration method 400 may be, but not limited to, performed by the control logic circuit 240 in FIG. 2 .
  • the phase of the clock signal CLK 2 is automatically calibrated to be a phase n.
  • the processor circuit 110 may execute software to send a reset command (not shown) to the delay line circuitry 210 .
  • the delay line circuitry 210 delays the data strobe signal DQS by the predetermined time Texp, in order to generate the clock signal CLK 2 having the phase n, in which the phase n and the phase the data strobe signal DQS are different in phase by about 90 degrees (as shown in FIG. 1B ).
  • the data strobe signal DQS is delayed and the clock signal CLK 1 , the clock signal CLK 2 and the clock signal CLK 3 are generated according to the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 .
  • the data signal DQ is sampled according to the clock signal CLK 1 to generate the signal S 1
  • the data signal DQ is sampled according to the clock signal CLK 2 to generate the signal S 2
  • the data signal DQ is sampled according to the clock signal CLK 3 to generate the signal S 3 .
  • the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 are updated according to the detection signal D 1 and the detection signal D 2 , in order to adjust the phase of the clock signal CLK 1 , the phase of the clock signal CLK 2 , and the phase of the clock signal CLK 3 .
  • the memory controller device 120 automatically adjusts the phase of the clock signal CLK 2 , in order to ensure that the processor circuit 110 is able to stably read valid data.
  • Operation S 450 may include steps S 1 - 1 to S 1 - 4 , steps S 2 - 1 to S 2 - 3 , steps S 3 - 1 to S 3 - 3 , and steps S 4 - 1 to S 4 - 5 .
  • step S 1 - 1 the phase n is kept.
  • step S 1 - 2 whether the predetermined value j is the predetermined maximum value j_max is determined. If the predetermined value j is not the predetermined maximum value j_max, step S 1 - 3 is performed. In step S 1 - 3 , the predetermined value j is increased. If the predetermined value j is the predetermined maximum value j_max, step S 1 - 4 is performed. In step S 1 - 4 , the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 are updated.
  • sampling points corresponding to the phase n ⁇ j of the clock signal CLK 1 , the phase n of the clock signal CLK 2 , and the phase n+j of the clock signal CLK 3 all fall within valid data area (i.e., a central area close to data window) of the data signal DQ.
  • the signal S 2 is substantially identical to each of the signal S 1 and the signal S 3 , and thus both of the detection signal D 1 and the detection D 2 have the first logic values.
  • the control logic circuit 240 keeps the phase n (i.e., step S 1 - 1 ), and sequentially increases the predetermined value j to the predetermined maximum value j_max (i.e., step S 1 - 2 to step S 1 - 4 ), in order to increase margins of data sampling.
  • the sampling points are able to cover the range of the valid data area as fully as possible.
  • step S 2 - 1 the predetermined value j is kept.
  • step S 2 - 2 the phase n is reduced.
  • step S 2 - 3 the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 are updated.
  • sampling points corresponding to the phase n ⁇ j of the clock signal CLK 1 and the phase n of the clock signal CLK 2 fall within the valid data area of, while the sampling point corresponding to the phase n+j of the clock signal CLK 3 falls within a uncertain data area (shown as a dotted area, which is a area close to transiting edges) of the data signal DQ.
  • a uncertain data area shown as a dotted area, which is a area close to transiting edges
  • the signal S 2 is substantially identical to the signal S 1 and is different from the signal S 3 , and thus the detection signal D 1 has the first logic value and the detection signal D 2 has the second logic value.
  • the control logic circuit 240 keeps the predetermined value j (i.e., step S 2 - 1 ) and shifts the phase n to the left (i.e., S 2 - 2 ). As a result, the sampling points are calibrated to fall within the valid data area.
  • step S 3 - 1 the predetermined value j is kept.
  • step S 3 - 2 the phase n is increased.
  • step S 3 - 3 the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 are updated.
  • the sampling point corresponding to the phase n ⁇ j of the clock signal CLK 1 falls within the uncertain data area of the data signal DQ
  • the sampling points corresponding to the phase n of the clock signal CLK 2 and the phase n+j of the clock signal CLK 3 fall within the valid data area.
  • the signal S 2 is substantially identical to the signal S 3 and is different from the signal S 1 , and thus the detection signal D 1 has the second logic value and the detection signal D 2 has the first logic value.
  • the control logic circuit 240 keeps the predetermined value j (i.e., step S 3 - 1 ) and shifts the phase n to the right (i.e., step S 3 - 2 ). As a result, the sampling points are calibrated to fall within the valid data area.
  • control logic circuit 240 is able to shift the phase n of the clock signal CLK 2 , in order to ensure that the valid data can be sampled.
  • step S 4 - 1 the phase n is kept, and the predetermined n is set to be the predetermined minimum value j_min.
  • step S 4 - 2 the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 are updated.
  • step S 4 - 3 according to the detection signal D 1 and the detection signal D 2 received in a next cycle, whether the signal S 2 is substantially identical to the signal S 1 and the signal S 3 is determined. If the signal S 2 is not substantially identical to each of the signal S 1 and the signal S 3 , step S 4 - 4 is performed.
  • step S 4 - 5 is performed.
  • the phase n is reset.
  • step S 4 - 5 the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 are updated.
  • a fourth case may present in two conditions. Under a first condition, at least two sampling points (which includes the sampling point corresponding to the phase n) fall within the uncertain data area because the phase n goes wrong. Under a second condition, the sampling points corresponding to the phase n ⁇ j of the clock signal CLK 1 and the phase n+j of the clock signal CLK 3 fall within the uncertain data area because the predetermined value j is too high. In these two conditions, the signal S 2 would be different from any of the signal S 1 and the signal S, and thus both of the detection signal D 1 and the detection signal D 2 have the second logic values.
  • the control logic circuit 240 keeps the phase n and sets the predetermined value j to be the predetermined minimum value j_min (i.e., step S 4 - 1 ), and determines whether the signal S 2 is substantially identical to the signal S 1 and the signal S 2 according to the detection signal D 1 and the detection signal D 2 received in the next cycle (i.e., step S 4 - 2 and step S 4 - 3 ).
  • the control logic circuit 240 may reset the phase n (i.e., step S 4 - 4 ), in order to calibrate the sampling points into the valid data area.
  • the predetermined value j has reached the predetermined minimum value j_min and the subsequent signal S 2 is substantially identical to each of the signal S 1 and the signal S 3 , it indicates that the previous predetermined value j was too high (i.e., the second condition is occurred).
  • both of the detection signal D 1 and the detection signal D 2 have the first logic values, and thus the selection signal SEL 1 , the selection signal SEL 2 , and the selection signal SEL 3 can be updated according to the current related parameters. In other words, by reducing the predetermined value j, it is sufficient to calibrate the sampling points into the valid data area.
  • phase calibration method 400 includes exemplary operations, but the operations of the phase calibration method 400 are not necessarily performed in the order described above. Operations of the phase calibration method 400 can be added, replaced, changed order, and/or eliminated, or the operations of the phase calibration method 400 can be executed simultaneously or partially simultaneously as appropriate, in accordance with the spirit and scope of various embodiments of the present disclosure.
  • the memory controller device and the phase calibration method in some embodiments of the present disclosure are able to automatically tune the phase of the clock signal for reading the data signal without utilizing analog circuit(s) which may include a phase locked loop or the like.
  • analog circuit(s) which may include a phase locked loop or the like.
  • related parameters for tracking phases can be set via software, and thus higher flexibility can be achieved.
  • the functional blocks will preferably be implemented through circuits (either dedicated circuits, or general purpose circuits, which operate under the control of one or more processors and coded instructions), which will typically comprise transistors or other circuit elements that are configured in such a way as to control the operation of the circuitry in accordance with the functions and operations described herein.
  • a compiler such as a register transfer language (RTL) compiler.
  • RTL compilers operate upon scripts that closely resemble assembly language code, to compile the script into a form that is used for the layout or fabrication of the ultimate circuitry. Indeed, RTL is well known for its role and use in the facilitation of the design process of electronic and digital systems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

A memory controller device includes a delay line circuitry, data sampler circuits, phase detector circuits, and a control logic circuit. The delay line circuitry delays a data strobe signal to generate first to third clock signals, in which the second clock signal is for reading a data signal, and phases of the first to the third clock signals are sequentially differentiated by a predetermined value. The data sampler circuits sample the data signal according to the first to the third clock signals, in order to generate first to third signals. The phase detector circuits compare the first signal with the second signal to generate a first detection signal, and compare the third signal with the second signal to generate a second detection signal. The control logic circuit adjusts the first to the third clock signals according to the first and the second detection signals.

Description

BACKGROUND OF THE INVENTION 1. Field of the Invention
The present disclosure relates to a memory controller device. More particularly, the present disclosure relates to a data reader circuit without analog phase-lock loop circuit(s) and a phase calibration method.
2. Description of Related Art
In common memories, reading/writing operations are performed according to a data strobe signal. In order to read data stored in a memory correctly, a phase of the data strobe signal is required to be aligned with a data window. However, with the variation of operating conditions (e.g., temperature or voltage), the phase of the data strobe signal may be shifted, resulting in incorrect data being read.
SUMMARY OF THE INVENTION
In some embodiments, a memory controller device includes a delay line circuitry, a plurality of data sampler circuits, a plurality of phase detector circuits, and a control logic circuit. The delay line circuitry is configured to delay a data strobe signal to generate a first clock signal, a second clock signal, and a third clock signal, in which the second clock signal is for reading a data signal, and a phase of the first clock signal, a phase of the second clock signal, and a phase of third clock signal are sequentially differentiated by a predetermined value. Each of the plurality of data sampler circuits is configured to sample the data signal according to a corresponding one of the first clock signal, the second clock signal, and the third clock signal, in order to generate a corresponding one of a first signal, a second signal, and a third signal. The plurality of phase detector circuits are configured to compare the first signal with the second signal to generate a first detection signal, and to compare the third signal with the second signal to generate a second detection signal. The control logic circuit is configured to adjust the first clock signal, the second clock signal, and the third clock signal according to the first detection signal and the second detection signal.
In some embodiments, a phase calibration method includes the following operations: delaying a data strobe signal to generate a first clock signal, a second clock signal, and a third clock signal, in which the second clock signal is for reading a data signal, and a phase of the first clock signal, a phase of the second clock signal, and a phase of third clock signal are sequentially differentiated by a predetermined value; sampling the data signal according to a corresponding one of the first clock signal, the second clock signal, and the third clock signal, in order to generate a corresponding one of a first signal, a second signal, and a third signal; comparing the first signal with the second signal to generate a first detection signal, and comparing the third signal with the second signal to generate a second detection signal; and adjusting the first clock signal, the second clock signal, and the third clock signal according to the first detection signal and the second detection signal.
These and other objectives of the present disclosure will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiments that are illustrated in the various figures and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is a schematic diagram of an electronic system according to some embodiments of the present disclosure.
FIG. 1B is a waveform diagram of related signals in FIG. 1A according to some embodiments of the present disclosure.
FIG. 2 is a schematic diagram of the memory controller device in FIG. 1A according to some embodiments of the present disclosure.
FIG. 3 is a schematic diagram of the delay line circuitry in FIG. 2 according to some embodiments of the present disclosure.
FIG. 4A is a flow chart of a phase calibration method according to some embodiments of the present disclosure.
FIG. 4B is a flow chart of an operation in FIG. 4A according to some embodiments of the present disclosure.
FIG. 5 is a schematic diagram showing related waveforms in FIG. 2 according to some embodiments of the present disclosure.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The terms used in this specification generally have their ordinary meanings in the art and in the specific context where each term is used. The use of examples in this specification, including examples of any terms discussed herein, is illustrative only, and in no way limits the scope and meaning of the disclosure or of any exemplified term. Likewise, the present disclosure is not limited to various embodiments given in this specification.
In this document, the term “coupled” may also be termed as “electrically coupled,” and the term “connected” may be termed as “electrically connected.” “Coupled” and “connected” may mean “directly coupled” and “directly connected” respectively, or “indirectly coupled” and “indirectly connected” respectively. “Coupled” and “connected” may also be used to indicate that two or more elements cooperate or interact with each other. In this document, the term “circuit” may indicate an object, which is formed with one or more transistors and/or one or more active/passive elements based on a specific arrangement, for processing signals.
As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. Although the terms “first,” “second,” etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the embodiments. For ease of understanding, like elements in various figures are designated with the same reference number.
FIG. 1A is a schematic diagram of an electronic system 100 according to some embodiments of the present disclosure. In some embodiments, the electronic system 100 may be various types of electronic devices that utilize a memory (e.g., computer, smart phone, etc). The electronic system 100 includes a processor circuit 110, a memory controller device 120, and a memory 130.
In some embodiments, the processor circuit 110 may be a circuit (which may be a central processor circuit, a micro-processor circuit, etc) having an ability of executing software. In some embodiments, the processor circuit 110 may be various types of data processing chips. The processor circuit 110 may read a data signal DQ from the memory 130 through the memory controller device 120. The memory controller device 120 may operate as an interface circuit between the processor circuit 110 and the memory 130, in which the interface circuit is configured to generate a clock signal CLK2 (as shown in FIG. 1B) according to a data strobe signal DQS from the memory 130. The memory controller device 120 may automatically adjust a phase of the clock signal CLK2, and may read data carried in the data signal DQ according to the clock signal CLK2, in order to output the data as a signal S2 to the processor circuit 110. With operation(s) of the memory controller device 120, it assures that the processor circuit 110 is able to acquire valid data carried in the data signal DQ by reading the signal S2.
In some embodiments, the memory 130 may be a double data rate (DDR) synchronous dynamic random access memory. In some embodiments, the memory 130 may a single data rate (SDR) synchronous dynamic random access memory. The types of the memory 130 are given for illustrative purposes, and the present disclosure is not limited thereto. In other embodiments, the memory 130 may be various memories that utilize the data strobe signal DQS to read/write data.
FIG. 1B is a waveform diagram of related signals in FIG. 1A according to some embodiments of the present disclosure. In this example, the memory 130 is a DDR synchronous dynamic random access memory. In read/write operations of the DDR synchronous dynamic random access memory, the data strobe signal DQS is either edge-aligned with the data signal DQ or is center-aligned with the data signal DQ.
For example, in a data writing operation, the memory 130 stores two data according to a positive edge and a negative edge of the data strobe signal DQS. For example, the memory 130 stores data D0 at a positive edge P1 of the data strobe signal DQS and stores data D1 at a negative edge N1 of the data strobe signal DQS. With this analogy, the memory 130 sequentially stores data D2 and data D3 at a positive edge P2 and a negative edge N2.
Alternatively, in a data reading operation, the memory 130 sends the data strobe signal DQS and the data signal DQ to the processor circuit 110, and the processor circuit 110 delays the data strobe signal DQS for a predetermined time Texp by using software (or firmware), in order to generate the clock signal CLK2. With the delay of the predetermined time Texp, the clock signal CLK2 and the data signal DQ are different in phase by about 90 degrees. As a result, a positive edge and a negative edge of the clock signal CLK2 are able to be aligned with centers of the data D0-D3. The memory controller device 120 may read the data signal DQ according to the positive edge or the negative edge of the clock signal CLK2, in order to output valid data in the data signal DQ to be the signal S2, and to transmit the signal S2 to the processor circuit 110. In some embodiments, the memory controller device 120 is able to automatically tune the phase of the clock signal CLK2, in order to prevent the phase of the clock signal CLK2 from being shifted due to a variation of operating condition(s) (which may include temperature, voltage, etc.). As a result, it ensures that the processor circuit 110 is able to stably read the valid data in the data signal DQ.
FIG. 2 is a schematic diagram of the memory controller device 120 in FIG. 1A according to some embodiments of the present disclosure. In some embodiments, the memory controller device 120 includes the delay line circuitry 210, data sampler circuits 220, 222, and 224, phase detector circuits 230 and 232, and a control logic circuit 240.
The delay line circuitry 210 receives the data strobe signal DQS from the memory 130, and is configured to delay the data strobe signal DQS to generate a clock signal CLK1, the clock signal CLK2, and a clock signal CLK3. A phase of the clock signal CLK1, a phase of the clock signal CLK2, and a phase of the clock signal CLK3 are sequentially differentiated by a predetermined value j. For example, if the phase of the clock signal CLK2 is defined as n, the phase of the clock signal CLK1 is defined as n−j, and the phase of the clock signal CLK3 is defined as n+j. In other words, the phase of the clock signal CLK1 lags the phase of the clock signal CLK2 by the predetermined value j and the phase of the clock signal CLK3 leads the phase of the clock signal CLK2 by the predetermined value j. In some embodiments, each of the phase n and the predetermined value j can be expressed by a data value, the control logic circuit 240 updates a selection signal SEL1, a selection signal SEL2, and a selection signal SEL3 according to these data values. The delay line circuitry 210 adjusts the clock signal CLK1, the clock signal CLK2, and the clock signal CLK3 according to the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3.
Each of the data sampler circuits 220, 222, and 224 is configured to sample the data signal DQ according to a corresponding one of the clock signal CLK1, the clock signal CLK2, the clock signal CLK3, in order to generate a corresponding one of a signal S1, the signal S2, and the signal S3. In greater detail, the data sampler circuit 220 is triggered according to a positive edge (and/or a negative edge) of the clock signal CLK1, in order to output the data signal DQ to be the signal S1. The data sampler circuit 222 is triggered according to a positive edge (and/or a negative edge) of the clock signal CLK2, in order to output the data signal DQ to be the signal S2, and to provide the signal S2 to the processor circuit 110 in FIG. 1A. In other words, as mentioned in FIG. 1A, the clock signal CLK2 is for reading the data signal DQ. The data sampler circuit 224 is triggered according to a positive edge (and/or a negative edge) of the clock signal CLK3, in order to output the data signal DQ to be the signal S3.
In some embodiments, each of the data sampler circuits 220, 222, and 224 may be, but not limited to, implemented with a D-type flip flop circuit. The implementation of the data sampler circuit 220, 222, and 224 is given for illustrative purposes, and various sampler circuits able to acquire current data according to a clock signal are within the contemplated scope of the present disclosure.
The phase detector circuits 230 and 232 are configured to compare the signal S1 with the signal S2 to generate a detection signal D1, and to compare the signal S3 with the signal S2, in order to generate a detection signal D2. For example, the phase detector circuit 230 is configured to compare the signal S1 with the signal S2. If the signal S1 and the signal S2 are substantially identical, the phase detector circuit 230 outputs the detection signal D1 having a first logic value (e.g., a logic value of 1). Alternatively, if the signal S1 is different from the signal S2, the phase detector circuit 230 outputs the detection signal D1 having a second logic value (e.g., a logic value of 0). Similarly, the phase detector circuit 232 is configured to compare the signal S3 with the signal S2. If the signal S3 and the signal S2 are substantially identical, the phase detector circuit 232 outputs the detection signal D2 having the first logic value. Alternatively, if the signal S3 is different from the signal S2, the phase detector circuit 232 outputs the detection signal D2 having the second logic value.
In some embodiments, each of the phase detector circuits 230 and 232 may be, but not limited to, implemented with a XNOR gate circuit. The above implementation of the phase detector circuits 230 and 232 is given for illustrative purposes, and various detector circuits able to determine whether data are the same or different are within the contemplated scope of the present disclosure.
The control logic circuit 240 is configured to adjust the clock signal CLK1, the clock signal CLK2, and the clock signal CLK3 according to the detection signal D1 and the detection signal D2, in order to ensure that the phase of the clock signal CLK2 can be stably aligned with the center of a valid data interval in the data signal DQ. In some embodiments, the control logic circuit 240 is configured to output the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3 according to the detection signal D1 and the detection D2. Descriptions regarding herein are provided in the following paragraphs with reference to FIG. 2 to FIG. 5.
In some embodiments, the control logic circuit 240 includes at least one register that is configured to store a predetermined maximum value j_max, a predetermined minimum value j_min, and a predetermined maximum value n_max. The predetermined maximum value j_max and predetermined minimum value j_min are for setting a range of the predetermined value j, and the predetermined maximum value n_max is for setting an upper limit of the phase n of the clock signal CLK2. In some embodiments, the above values can be set automatically by software executed by the processor circuit 110, or can be set according to a direct input from a user. In some embodiments, these values are for adjusting a tracking speed of the phase of the clock signal CLK2.
In some embodiments, the control logic circuit 240 may be implemented with at least one digital circuit. In some embodiments, the at least one digital circuit may be configured to execute a state machine that corresponds to operations S420 to S450 in FIG. 4A. In some embodiments, the at least one digital circuit may be, but not limited to, a digital signal processor circuit, a microcontroller circuit, or the like.
FIG. 3 is a schematic diagram of the delay line circuitry 210 in FIG. 2 according to some embodiments of the present disclosure. In some embodiments, the delay line circuitry 210 includes buffer circuits 310 and multiplexer circuits 320, 330, and 340. The buffer circuits 310 are coupled in series, in order to delay the data strobe signal DQS. Output signals O1-Om of the buffer circuits 310 are transmitted to each of the multiplexer circuits 320, 330, and 340. Each of the multiplexer circuits 320, 330, and 340 outputs a corresponding one of the output signals O1-Om to be a corresponding one of the clock signal CLK1, the clock signal CLK2, and the clock signal CLK3 according to a corresponding one of the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3.
For example, the multiplexer circuit 330 outputs an output signal On in the output signals O1-Om to be the clock signal CLK2 according to the selection signal SEL2. The multiplexer circuit 320 outputs an output signal On−j (not shown) in the output signals O1-Om to be the clock signal CLK1 according to the selection signal SELL The multiplexer circuit 340 outputs an output signal On+j (not shown) in the output signals O1-Om to be the clock signal CLK3 according to the selection signal SEL3. In other words, if one buffer circuit 310 introduces one delay time T, the clock signal CLK2 may be considered as the data strobe signal DQS after being delayed by n buffer circuits 310. With this analogy, the clock signal CLK1 may be considered as the data strobe signal DQS after being delayed by n−j buffer circuits 310, and the clock signal CLK3 may be considered as the data strobe signal DQS after being delayed by n+j buffer circuits 310. In some embodiments, the processor circuit 110 may select n buffer circuits 310 via software (or firmware), and may delay the data strobe signal DQS via these n buffer circuits 310, in order to generate the clock signal CLK2. In other words, the predetermined time Texp in FIG. 1B is equivalent to a sum of n delay times T.
Reference is made to FIG. 2, FIG. 4A, FIG. 4B, and FIG. 5, in order to illustrate operations of the memory controller device 120. FIG. 4A is a flow chart of a phase calibration method 400 according to some embodiments of the present disclosure, FIG. 4B is a flow chart of operation S450 in FIG. 4A according to some embodiments of the present disclosure, and FIG. 5 is a schematic diagram illustrating related waveforms in FIG. 2 according to some embodiments of the present disclosure. In some embodiments, the phase calibration method 400 may be, but not limited to, performed by the control logic circuit 240 in FIG. 2.
In operation S410, after the electronic system 100 is powered, the phase of the clock signal CLK2 is automatically calibrated to be a phase n. For example, when the electronic system 100 is powered, the processor circuit 110 may execute software to send a reset command (not shown) to the delay line circuitry 210. In response to this reset command, the delay line circuitry 210 delays the data strobe signal DQS by the predetermined time Texp, in order to generate the clock signal CLK2 having the phase n, in which the phase n and the phase the data strobe signal DQS are different in phase by about 90 degrees (as shown in FIG. 1B).
In operation S420, the data strobe signal DQS is delayed and the clock signal CLK1, the clock signal CLK2 and the clock signal CLK3 are generated according to the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3. In operation S430, the data signal DQ is sampled according to the clock signal CLK1 to generate the signal S1, the data signal DQ is sampled according to the clock signal CLK2 to generate the signal S2, and the data signal DQ is sampled according to the clock signal CLK3 to generate the signal S3. In operation S440, the signal S1 is compared with the signal S2 to generate the detection signal D1 and the signal S3 is compared with the signal S2 to generate the detection signal D2. Operations S420, S430, and S440 can be understood with reference to previous descriptions about FIG. 2 and FIG. 3, and thus the repetitious descriptions are not further given.
In operation S450, the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3 are updated according to the detection signal D1 and the detection signal D2, in order to adjust the phase of the clock signal CLK1, the phase of the clock signal CLK2, and the phase of the clock signal CLK3. By repeatedly performing operation S420 to operation S450, the memory controller device 120 automatically adjusts the phase of the clock signal CLK2, in order to ensure that the processor circuit 110 is able to stably read valid data.
In order to understand operation S450, reference is made to FIG. 4B and FIG. 5. Operation S450 may include steps S1-1 to S1-4, steps S2-1 to S2-3, steps S3-1 to S3-3, and steps S4-1 to S4-5.
In step S1-1, the phase n is kept. In step S1-2, whether the predetermined value j is the predetermined maximum value j_max is determined. If the predetermined value j is not the predetermined maximum value j_max, step S1-3 is performed. In step S1-3, the predetermined value j is increased. If the predetermined value j is the predetermined maximum value j_max, step S1-4 is performed. In step S1-4, the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3 are updated.
For example, as shown in FIG. 5, in a first case, sampling points corresponding to the phase n−j of the clock signal CLK1, the phase n of the clock signal CLK2, and the phase n+j of the clock signal CLK3 all fall within valid data area (i.e., a central area close to data window) of the data signal DQ. Under this condition, the signal S2 is substantially identical to each of the signal S1 and the signal S3, and thus both of the detection signal D1 and the detection D2 have the first logic values. In response to the detection signal D1 and the detection signal D2, the control logic circuit 240 keeps the phase n (i.e., step S1-1), and sequentially increases the predetermined value j to the predetermined maximum value j_max (i.e., step S1-2 to step S1-4), in order to increase margins of data sampling. As a result, the sampling points are able to cover the range of the valid data area as fully as possible.
With continued reference to FIG. 4B, in step S2-1, the predetermined value j is kept. In step S2-2, the phase n is reduced. In step S2-3, the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3 are updated. For example, as shown in FIG. 5, in a second case, sampling points corresponding to the phase n−j of the clock signal CLK1 and the phase n of the clock signal CLK2 fall within the valid data area of, while the sampling point corresponding to the phase n+j of the clock signal CLK3 falls within a uncertain data area (shown as a dotted area, which is a area close to transiting edges) of the data signal DQ. Under this condition, the signal S2 is substantially identical to the signal S1 and is different from the signal S3, and thus the detection signal D1 has the first logic value and the detection signal D2 has the second logic value. In response to the detection signal D1 and the detection signal D2, the control logic circuit 240 keeps the predetermined value j (i.e., step S2-1) and shifts the phase n to the left (i.e., S2-2). As a result, the sampling points are calibrated to fall within the valid data area.
With continued reference to FIG. 4B, in step S3-1, the predetermined value j is kept. In step S3-2, the phase n is increased. In step S3-3, the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3 are updated. For example, as shown in FIG. 5, in a third case, the sampling point corresponding to the phase n−j of the clock signal CLK1 falls within the uncertain data area of the data signal DQ, the sampling points corresponding to the phase n of the clock signal CLK2 and the phase n+j of the clock signal CLK3 fall within the valid data area. Under this condition, the signal S2 is substantially identical to the signal S3 and is different from the signal S1, and thus the detection signal D1 has the second logic value and the detection signal D2 has the first logic value. In response to the detection signal D1 and the detection signal D2, the control logic circuit 240 keeps the predetermined value j (i.e., step S3-1) and shifts the phase n to the right (i.e., step S3-2). As a result, the sampling points are calibrated to fall within the valid data area. In other words, when the signal S2 is different from one of the signal S1 and the signal S3 and is the substantially identical to another one of the signal S1 and the signal S3 (i.e., the second case or the third case), the control logic circuit 240 is able to shift the phase n of the clock signal CLK2, in order to ensure that the valid data can be sampled.
With continued reference to FIG. 4B, in step S4-1, the phase n is kept, and the predetermined n is set to be the predetermined minimum value j_min. In step S4-2, the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3 are updated. In step S4-3, according to the detection signal D1 and the detection signal D2 received in a next cycle, whether the signal S2 is substantially identical to the signal S1 and the signal S3 is determined. If the signal S2 is not substantially identical to each of the signal S1 and the signal S3, step S4-4 is performed. If the signal S2 is substantially identical to each of the signal S1 and the signal S3, step S4-5 is performed. In step S4-4, the phase n is reset. In step S4-5, the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3 are updated.
For example, as shown in FIG. 5, a fourth case may present in two conditions. Under a first condition, at least two sampling points (which includes the sampling point corresponding to the phase n) fall within the uncertain data area because the phase n goes wrong. Under a second condition, the sampling points corresponding to the phase n−j of the clock signal CLK1 and the phase n+j of the clock signal CLK3 fall within the uncertain data area because the predetermined value j is too high. In these two conditions, the signal S2 would be different from any of the signal S1 and the signal S, and thus both of the detection signal D1 and the detection signal D2 have the second logic values. In response to the detection signal D1 and the detections signal D2, the control logic circuit 240 keeps the phase n and sets the predetermined value j to be the predetermined minimum value j_min (i.e., step S4-1), and determines whether the signal S2 is substantially identical to the signal S1 and the signal S2 according to the detection signal D1 and the detection signal D2 received in the next cycle (i.e., step S4-2 and step S4-3).
It is understood that, if the predetermined value j has reached the predetermined minimum value j_min and the subsequent signal S2 is still different from each of the signal S1 and the signal S3, it indicates that the phase n goes wrong and cause at least two sampling points (which include the sampling point corresponding to the phase n) still falling within the uncertain data area (i.e., the first condition is occurred). Under this condition, the detection signal D1 and the detection signal D2 still have the second logic values. In response to the detection signal D1 and the detection signal D2, the control logic circuit 240 may reset the phase n (i.e., step S4-4), in order to calibrate the sampling points into the valid data area. Alternatively, if the predetermined value j has reached the predetermined minimum value j_min and the subsequent signal S2 is substantially identical to each of the signal S1 and the signal S3, it indicates that the previous predetermined value j was too high (i.e., the second condition is occurred). Under this condition, both of the detection signal D1 and the detection signal D2 have the first logic values, and thus the selection signal SEL1, the selection signal SEL2, and the selection signal SEL3 can be updated according to the current related parameters. In other words, by reducing the predetermined value j, it is sufficient to calibrate the sampling points into the valid data area.
The above description of the phase calibration method 400 includes exemplary operations, but the operations of the phase calibration method 400 are not necessarily performed in the order described above. Operations of the phase calibration method 400 can be added, replaced, changed order, and/or eliminated, or the operations of the phase calibration method 400 can be executed simultaneously or partially simultaneously as appropriate, in accordance with the spirit and scope of various embodiments of the present disclosure.
As described above, the memory controller device and the phase calibration method in some embodiments of the present disclosure are able to automatically tune the phase of the clock signal for reading the data signal without utilizing analog circuit(s) which may include a phase locked loop or the like. As a result, the circuit layout and the phase tuning mechanism can be simplified.
Moreover, in some embodiments of the present disclosure, related parameters for tracking phases can be set via software, and thus higher flexibility can be achieved.
Various functional components or blocks have been described herein. As will be appreciated by persons skilled in the art, in some embodiments, the functional blocks will preferably be implemented through circuits (either dedicated circuits, or general purpose circuits, which operate under the control of one or more processors and coded instructions), which will typically comprise transistors or other circuit elements that are configured in such a way as to control the operation of the circuitry in accordance with the functions and operations described herein. As will be further appreciated, the specific structure or interconnections of the circuit elements will typically be determined by a compiler, such as a register transfer language (RTL) compiler. RTL compilers operate upon scripts that closely resemble assembly language code, to compile the script into a form that is used for the layout or fabrication of the ultimate circuitry. Indeed, RTL is well known for its role and use in the facilitation of the design process of electronic and digital systems.
The aforementioned descriptions represent merely some embodiments of the present disclosure, without any intention to limit the scope of the present disclosure thereto. Various equivalent changes, alterations, or modifications based on the claims of present disclosure are all consequently viewed as being embraced by the scope of the present disclosure.

Claims (20)

What is claimed is:
1. A memory controller device, comprising:
a delay line circuitry configured to delay a data strobe signal to generate a first clock signal, a second clock signal, and a third clock signal, wherein the second clock signal is for reading a data signal, and a phase of the first clock signal, a phase of the second clock signal, and a phase of third clock signal are sequentially differentiated by a predetermined value;
a plurality of data sampler circuits, wherein each of the plurality of data sampler circuits is configured to sample the data signal according to a corresponding one of the first clock signal, the second clock signal, and the third clock signal, in order to generate a corresponding one of a first signal, a second signal, and a third signal;
a plurality of phase detector circuits configured to compare the first signal with the second signal to generate a first detection signal, and to compare the third signal with the second signal to generate a second detection signal; and
a control logic circuit configured to adjust the first clock signal, the second clock signal, and the third clock signal according to the first detection signal and the second detection signal.
2. The memory controller device of claim 1, wherein the delay line circuitry comprises:
a plurality of buffer circuits coupled in series and configured to delay the data strobe signal; and
a plurality of multiplexer circuits, wherein each of the plurality of multiplexer circuits is configured to output an output signals from a corresponding one of the plurality of buffer circuits to be a corresponding one of the first clock signal, the second clock signal, and the third clock signal according to a corresponding one of a first selection signal, a second selection signal, and a third selection signal,
wherein the control logic circuit is further configured to output the first selection signal, the second selection signal, and the third selection signal in response to the first detection signal and the second detection signal, in order to adjust the first clock signal, the second clock signal, and the third clock signal.
3. The memory controller device of claim 1, wherein if the second signal is substantially identical to each of the first signal and the third signal, the control logic circuit is configured to sequentially increase the predetermined value to a predetermined maximum value in response to the first detection signal and the second detection signal.
4. The memory controller device of claim 1, wherein if the second signal is substantially identical to each of the first signal and the third signal, the control logic circuit is configured to keep the phase of the second clock signal in response to the first detection signal and the second detection signal.
5. The memory controller device of claim 1, wherein if the second signal is substantially identical to one of the first signal and the third signal and is different from another one of the first signal and the third signal, the control logic circuit is configured to shift the phase of the second clock signal in response to the first detection signal and the second detection signal.
6. The memory controller device of claim 1, wherein if the second signal is substantially identical to one of the first signal and the third signal and is different from another one of the first signal and the third signal, the control logic circuit is configured to keep the predetermined value in response to the first detection signal and the second detection signal.
7. The memory controller device of claim 1, wherein if the second signal is different from each of the first signal and the third signal, the control logic circuit is configured to set the predetermined value to be a predetermined minimum value in response to the first detection signal and the second detection signal, and to determine whether the second signal is substantially identical to the first signal and the third signal according to the first detection signal and the second detection signal that are received in an next cycle.
8. The memory controller device of claim 7, wherein the control logic circuit determines that the second signal is different from each of the first signal and the third signal, the control logic circuit is further configured to reset the phase of the second clock signal.
9. The memory controller device of claim 1, wherein the plurality of phase detector circuits comprise:
a first phase detector circuit configured to output the first detection signal having a first logic value when the first signal is substantially identical to the second signal, and to output the first detection signal having a second logic value when the first signal is different from the second signal; and
a second phase detector circuit configured to output the second detection signal having the first logic value when the third signal is substantially identical to the second signal, and to output the second detection signal having the second logic value when the third signal is different from the second signal.
10. The memory controller device of claim 1, wherein each of the plurality of data sampler circuits is a D-type flip flop circuit.
11. The memory controller device of claim 1, wherein the data strobe signal is from a double data rate synchronous dynamic random access memory.
12. A phase calibration method, comprising:
delaying a data strobe signal to generate a first clock signal, a second clock signal, and a third clock signal, wherein the second clock signal is for reading a data signal, and a phase of the first clock signal, a phase of the second clock signal, and a phase of third clock signal are sequentially differentiated by a predetermined value;
sampling the data signal according to a corresponding one of the first clock signal, the second clock signal, and the third clock signal, in order to generate a corresponding one of a first signal, a second signal, and a third signal;
comparing the first signal with the second signal to generate a first detection signal, and comparing the third signal with the second signal to generate a second detection signal; and
adjusting the first clock signal, the second clock signal, and the third clock signal according to the first detection signal and the second detection signal.
13. The phase calibration method of claim 12, wherein generating the first clock signal, the second clock signal, and the third clock signal comprises:
delaying, by a plurality of buffer circuits, the data strobe signal, wherein the plurality of buffer circuits are coupled in series; and
outputting an output signals from a corresponding one of the plurality of buffer circuits to be a corresponding one of the first clock signal, the second clock signal, and the third clock signal according to a corresponding one of a first selection signal, a second selection signal, and a third selection signal,
wherein the first selection signal, the second selection signal, and the third selection signal are generated in response to the first detection signal and the second detection signal.
14. The phase calibration method of claim 12, wherein adjusting the first clock signal, the second clock signal, and the third clock signal comprises:
if the second signal is substantially identical to each of the first signal and the third signal, sequentially increasing the predetermined value to a predetermined maximum value in response to the first detection signal and the second detection signal.
15. The phase calibration method of claim 12, wherein adjusting the first clock signal, the second clock signal, and the third clock signal comprises:
if the second signal is substantially identical to each of the first signal and the third signal, keeping the phase of the second clock signal in response to the first detection signal and the second detection signal.
16. The phase calibration method of claim 12, wherein adjusting the first clock signal, the second clock signal, and the third clock signal comprises:
if the second signal is substantially identical to one of the first signal and the third signal and is different from another one of the first signal and the third signal, shifting the phase of the second clock signal in response to the first detection signal and the second detection signal.
17. The phase calibration method of claim 12, wherein adjusting the first clock signal, the second clock signal, and the third clock signal comprises:
if the second signal is substantially identical to one of the first signal and the third signal and is different from another one of the first signal and the third signal, keeping the predetermined value in response to the first detection signal and the second detection signal.
18. The phase calibration method of claim 12, wherein adjusting the first clock signal, the second clock signal, and the third clock signal comprises:
if the second signal is different from each of the first signal and the third signal, setting the predetermined value to be a predetermined minimum value in response to the first detection signal and the second detection signal; and
determining whether the second signal is substantially identical to the first signal and the third signal according to the first detection signal and the second detection signal that are received in an next cycle.
19. The phase calibration method of claim 18, further comprising:
if the second signal is determined to be different from each of the first signal and the third signal, resetting the phase of the second clock signal.
20. The phase calibration method of claim 12, wherein comparing the first signal with the second signal to generate the first detection signal, and comparing the third signal with the second signal to generate the second detection signal comprising:
outputting the first detection signal having a first logic value when the first signal is substantially identical to the second signal, and outputting the first detection signal having a second logic value when the first signal is different from the second signal; and
outputting the second detection signal having the first logic value when the third signal is substantially identical to the second signal, and outputting the second detection signal having the second logic value when the third signal is different from the second signal.
US17/120,344 2020-04-29 2020-12-14 Memory controller device and phase calibration method Active US11302380B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010355459.9A CN113571118A (en) 2020-04-29 2020-04-29 Memory controller device and phase correction method
CN202010355459.9 2020-04-29

Publications (2)

Publication Number Publication Date
US20210343327A1 US20210343327A1 (en) 2021-11-04
US11302380B2 true US11302380B2 (en) 2022-04-12

Family

ID=78158507

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/120,344 Active US11302380B2 (en) 2020-04-29 2020-12-14 Memory controller device and phase calibration method

Country Status (3)

Country Link
US (1) US11302380B2 (en)
CN (1) CN113571118A (en)
TW (1) TWI739422B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789218B (en) * 2022-01-21 2023-01-01 瑞昱半導體股份有限公司 Calibration data generation circuit and associated method
US12019565B2 (en) * 2022-06-30 2024-06-25 Ampere Computing Llc Advanced initialization bus (AIB)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050122153A1 (en) * 2003-12-08 2005-06-09 Lin Feng D. Centralizing the lock point of a synchronous circuit
US7209397B2 (en) * 2001-04-24 2007-04-24 Rambus Inc. Memory device with clock multiplier circuit
US20140062553A1 (en) * 2012-08-28 2014-03-06 SK Hynix Inc. Semiconductor device including delay locked loop circuit and method
US20140313847A1 (en) * 2013-04-17 2014-10-23 Samsung Electronics Co., Ltd. Clock synchronization circuit and semiconductor memory device including clock synchronization circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050076202A (en) * 2004-01-20 2005-07-26 삼성전자주식회사 Dleay signal generator circuit and memory system including the same
US7664978B2 (en) * 2006-04-07 2010-02-16 Altera Corporation Memory interface circuitry with phase detection
TWI311326B (en) * 2006-12-01 2009-06-21 Realtek Semiconductor Corp Memory controller and signal synchronizing method thereof
US7876629B2 (en) * 2007-08-08 2011-01-25 Mediatek Inc. Memory control methods capable of dynamically adjusting sampling points, and related circuits
CN101527555A (en) * 2008-03-07 2009-09-09 瑞昱半导体股份有限公司 Sampling circuit and sampling method
CN102347081B (en) * 2010-07-30 2013-11-06 联芯科技有限公司 Method for calibrating phase of DQS (bidirectional data strobe) delay for DDR (double data rate) controller and apparatus thereof
CN104272283B (en) * 2012-05-01 2017-08-04 马维尔国际贸易有限公司 The system and method gated for DQS
CN103065677A (en) * 2012-12-14 2013-04-24 东南大学 Self-calibration system based on delay cell
KR102147228B1 (en) * 2014-01-23 2020-08-24 삼성전자주식회사 write leveling control circuit for target module and thereof Method
US9786353B2 (en) * 2016-02-18 2017-10-10 Intel Corporation Reconfigurable clocking architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209397B2 (en) * 2001-04-24 2007-04-24 Rambus Inc. Memory device with clock multiplier circuit
US20050122153A1 (en) * 2003-12-08 2005-06-09 Lin Feng D. Centralizing the lock point of a synchronous circuit
US20140062553A1 (en) * 2012-08-28 2014-03-06 SK Hynix Inc. Semiconductor device including delay locked loop circuit and method
US20140313847A1 (en) * 2013-04-17 2014-10-23 Samsung Electronics Co., Ltd. Clock synchronization circuit and semiconductor memory device including clock synchronization circuit

Also Published As

Publication number Publication date
CN113571118A (en) 2021-10-29
US20210343327A1 (en) 2021-11-04
TWI739422B (en) 2021-09-11
TW202141220A (en) 2021-11-01

Similar Documents

Publication Publication Date Title
US6605969B2 (en) Method and circuit for adjusting the timing of ouput data based on an operational mode of output drivers
US9973181B2 (en) Synchronized semiconductor device with phase adjustment circuit
US6779126B1 (en) Phase detector for all-digital phase locked and delay locked loops
US7027336B2 (en) Semiconductor memory device for controlling output timing of data depending on frequency variation
US7098714B2 (en) Centralizing the lock point of a synchronous circuit
US11005479B2 (en) Phase detection circuit, and clock generating circuit and semiconductor apparatus using the phase detection circuit
US7423456B2 (en) Fast response time, low power phase detector circuits, devices and systems incorporating the same, and associated methods
KR100829455B1 (en) Circuit and method of generating data output control signal for semiconductor memory apparatus
US11302380B2 (en) Memory controller device and phase calibration method
US7227795B2 (en) Data output circuit, data output method, and semiconductor memory device
US20090168552A1 (en) Semiconductor memory device and method for operating the same
US9154141B2 (en) Continuous high-frequency event filter
US8766688B2 (en) DLL circuit and delay-locked method using the same
US8737556B2 (en) Delay lock loop phase glitch error filter
US10466739B1 (en) Semiconductor device including data input circuit
US7493461B1 (en) Dynamic phase alignment for resynchronization of captured data
US10644707B2 (en) Delay circuit
US7181638B2 (en) Method and apparatus for skewing data with respect to command on a DDR interface
US6911851B2 (en) Data latch timing adjustment apparatus
US20080278246A1 (en) Memory controller
US10483988B1 (en) Synchronization circuit and method relating to the synchronization circuit
CN118675570A (en) Clock signal synchronizing circuit, method of operating the same, and semiconductor memory device

Legal Events

Date Code Title Description
AS Assignment

Owner name: REALTEK SEMICONDUCTOR CORPORATION, TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHENG, JIE;REEL/FRAME:054717/0737

Effective date: 20201209

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE