US20230377621A1 - Semiconductor device - Google Patents
Semiconductor device Download PDFInfo
- Publication number
- US20230377621A1 US20230377621A1 US18/189,580 US202318189580A US2023377621A1 US 20230377621 A1 US20230377621 A1 US 20230377621A1 US 202318189580 A US202318189580 A US 202318189580A US 2023377621 A1 US2023377621 A1 US 2023377621A1
- Authority
- US
- United States
- Prior art keywords
- code
- value
- duty cycle
- signal
- output
- 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.)
- Pending
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 82
- 238000012360 testing method Methods 0.000 claims description 133
- 238000000034 method Methods 0.000 claims description 22
- 230000000295 complement effect Effects 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000000630 rising effect Effects 0.000 description 28
- 101000983338 Solanum commersonii Osmotin-like protein OSML15 Proteins 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 239000000470 constituent Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003247 decreasing effect Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010977 unit operation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
Definitions
- the present disclosure relates to a semiconductor device.
- a component device such as a memory device, may require high performance of a computing system including a system-on-chip (SoC).
- SoC system-on-chip
- the system-on-chip may provide a data clock signal to the component device separately from a clock signal for high-speed data input/output to the component device.
- a duty cycle of the clock signal may vary based on temperature, voltage, and the like, and when the exact duty cycle is not used, the read margin for the data signal may degrade.
- the frequency of the data clock signal is higher than the frequency of the clock signal, the duty cycle of the data clock signal may need to be adjusted more accurately.
- Some embodiments may provide a semiconductor device for training an optimal duty cycle of a data clock signal.
- Some embodiments may provide a semiconductor device that trains a data clock signal using an output signal of a component device.
- a semiconductor device includes: a clock generation circuit configured to output a plurality of clock signals that have different phases to a memory device, an internal clock signal of the memory device being generated responsive to the plurality of clock signals; and a training circuit configured to receive an output signal output based on the internal clock signal from the memory device, to adjust a value of a code used to generate the internal clock signal by adjusting the phase of at least one clock signal among the plurality of clock signals, to determine a final value of the code based on a duty cycle of the output signal, which is changed according to the adjustment of the value of the code, and to write the final value to the memory device.
- the training circuit may be configured to determine the final value based on values of codes that change the duty cycle of the output signal more than a duty cycle reference value.
- the training circuit may include a duty cycle detector that determines the duty value of the output signal according to whether the duty cycle of the output signal is greater than or equal to the duty cycle reference value, and the training circuit may be configured to determine the final value based on the values of the code in which the duty value of the output signal changes.
- the duty cycle detector is configured to determine a duty value of a first output signal output by the memory device in synchronization with the internal clock signal for a first test pattern and a duty value of a second output signal output by the memory device in synchronization with the internal clock signal of a second test pattern, which is inverted the first test pattern, and the training circuit may be configured to determine the final value based on two adjacent values of the code at which the duty value of the first output signal changes and two adjacent values of the code at which the duty value of the second output signal changes.
- the training circuit may is configured to determine the final value based on two adjacent values of the code that changes a value of a first output signal that outputs a duty value of a first signal determined according to whether a duty cycle of the first signal serialized from a first test pattern in synchronization with the internal clock signal by the memory device is greater than or equal to a duty cycle reference value and two adjacent values of the code that changes a value of a second output signal that outputs a duty value of a second signal determined according to whether a duty cycle of the second signal serialized from a second test pattern, which is inverted from the first test pattern, in synchronization with the internal clock signal, is greater than or equal to the duty cycle reference value.
- the code may include a code used in generation of the internal clock signal by adjusting a duty cycle of at least one clock signal among the plurality of clock signals.
- the code may include a code used in generation of the internal clock signal by adjusting a delay of at least one clock signal among the plurality of clock signals.
- the memory device may be a low power double data rate 6 (LPDDR6) SDRAM.
- LPDDR6 low power double data rate 6
- An operation method of a semiconductor device includes: outputting, to a memory device, a plurality of clock signals that have different phases and are used to generate an internal clock signal of the memory device; outputting a code used to generate the internal clock signal by adjusting the phase of at least one clock signal among the plurality of clock signals; receiving an output signal output based on the internal clock signal from the memory device; adjusting a value of the code; determining a final value of the code based on a duty cycle of the output signal, which changes according to adjustment of the value of the code; and writing the final value to the memory device.
- the determining the final value may include determining the final value based on values of the code that change the duty cycle of the output signal by more than a duty cycle reference value.
- the operation method of the semiconductor device may further include determining a duty value of the output signal according to whether the duty cycle of the output signal is greater than or equal to the duty cycle reference value, wherein the determining the final value based on the values of the code that change the duty cycle of the output signal may include determining the final value based on the values of the code that change the duty value of the output value.
- the receiving the output signal from the memory device may include: receiving a first output signal that outputs a first test pattern in synchronization with the internal clock signal; and receiving a second output signal that outputs a second test pattern inverted from the first test pattern in synchronization with the internal clock signal, and the determining a duty value of the output signal may include determining a duty value of the first output signal and determining a duty value of the second output signal, and the determining the final value based on values of a code that changes the duty value of the output signal may include determining the final value based on two adjacent values of the code that changes the duty value of the first output signal and two adjacent values of the code that changes the duty value of the second output signal.
- the receiving the output signal from the memory device may include receiving, as a first output signal from the memory device, a duty value of a first signal determined according to whether a duty cycle of the first signal that serializes a first test pattern in synchronization with the internal clock signal by the memory device is greater than or equal to the duty cycle reference value; and receiving, as a second output signal from the memory device, a duty value of a second signal determined according to whether a duty cycle of the second signal that serializes a second test pattern inverted from the first test pattern in synchronization with the internal clock signal is greater than or equal to the duty cycle reference value, and the determining the final value based on values of the code may include determining the final value based on two adjacent values of the code that changes a value of the first output signal and two adjacent values of the code that changes a value of the second output signal.
- the code may include a code used to generate the internal clock signal by adjusting the duty cycle of the at least one clock signal among the plurality of clock signals.
- the code may include a code used to generate the internal clock signal by adjusting a delay of the at least one clock signal among the plurality of clock signals.
- a computing system includes: a memory device that includes a clock control circuit configured to generate a plurality of internal clock signals by buffering a plurality of clock signals, each having a different phase, and configured to generate at least one internal clock signal among the plurality of internal clock signals by adjusting the phase of at least one of the plurality of clock signals according to a code, and a read circuit that is configured to serialize a test pattern based on the plurality of internal clock signals and to output an output signal; and a system-on-chip that is configured to adjust a value of the code, to determine a final value of the code based on a value of at least one code that changes a duty cycle of the output signal by more than a duty cycle reference value, and to write the final value in the memory device.
- the code may include a first code and a second code
- the final value may include a final value of the first code and a final value of the second code
- the clock control circuit may include a first buffer that is configured to adjust a duty cycle of the plurality of clock signals according to the first code, and a second buffer that is configured to adjust a delay of the plurality of clock signals according to the second code.
- the plurality of internal clock signals may include a first internal clock signal and a second internal clock signal that have complementary phases, and a third internal clock signal and a fourth internal clock signal that have complementary phases
- the test pattern may include a first test pattern of which a value is changed in synchronization of the first internal clock signal and the second internal clock signal and is maintained in synchronization with the third internal clock signal and the fourth internal clock signal
- the system-on-chip may be configured to determine a final value of the first code based on a value of at least one first code that changes a duty cycle of an output signal output based on the first test pattern by more than the duty cycle reference value.
- the test pattern may include a second test pattern of which a value is changed in synchronization with the first internal clock signal to the fourth internal clock signal, and the system-on-chip may be configured to determine a value of the second code based on the value of the second code that changes a duty cycle of an output signal output based on the second test pattern by more than the duty cycle reference value.
- the read circuit may include: a FIFO that is configured to output a first test pattern or a second test pattern inverted from the first test pattern; and a selector that is configured to serialize the first test pattern or the second test pattern in synchronization with the plurality of internal clock signals and to output the first test pattern or the second test pattern as the output signal.
- FIG. 1 is an example block diagram of a computing system according to an embodiment.
- FIG. 2 is a block diagram of a semiconductor memory device according to an embodiment.
- FIG. 3 is a block diagram of a system-on-chip according to an embodiment.
- FIG. 4 is a block diagram of a clock control circuit and a read circuit according to an embodiment.
- FIG. 5 and FIG. 6 are graphs that illustrate waveforms of input and output signals of a clock control circuit and a read circuit.
- FIG. 7 and FIG. 8 are tables that illustrate a code for adjusting a duty cycle of an internal data clock signal according to an embodiment.
- FIG. 9 and FIG. 10 are graphs that illustrate waveforms of input and output signals of a clock control circuit and a read circuit.
- FIG. 11 and FIG. 12 are graphs that illustrate waveforms of input and output signals of a clock control circuit and a read circuit.
- FIG. 13 is a flowchart of a clock training method according to an embodiment.
- FIG. 14 , FIG. 15 , and FIG. 16 are flowcharts that illustrate some operations of the clock training method according to an embodiment.
- FIG. 17 is a block diagram of a clock control circuit and a read circuit according to an embodiment.
- FIG. 18 , FIG. 19 , and FIG. 20 are flowcharts that illustrate some operations of the clock training method according to an embodiment.
- FIG. 21 is an example block diagram of a computer system according to an embodiment.
- the term “and/or” includes any and all combinations of one or more of the associated listed items. It is noted that aspects described with respect to one embodiment may be incorporated in different embodiments although not specifically described relative thereto. That is, all embodiments and/or features of any embodiments can be combined in any way and/or combination.
- FIG. 1 is an example block diagram of a computing system according to an embodiment.
- a computing system 100 may include a system-on-chip 110 and a memory device 120 .
- the system-on-chip 110 may be electrically connected to the memory device 120 .
- the system-on-chip 110 and the memory device 120 are connected through a memory interface such that they may transmit and receive signals through the memory interface.
- a clock pin P 11 , a command/address pin P 12 , a data clock pin P 13 , and a data pin P 14 of the system-on-chip 110 may be connected with a clock pin P 21 , a command/address pin P 22 , and a data clock pin P 23 , and data pin P 24 of the memory device 120 , respectively.
- the system-on-chip 110 may generate a command signal CMD, an address ADDR, a system clock signal CK, and a data clock signal WCK.
- the system-on-chip 110 may provide a system clock signal CK to the memory device 120 through the clock pins P 11 and P 21 , provide a command signal CMD/address ADDR to the memory device 120 through the command/address pins P 12 and P 22 , and provide a data clock signal WCK to the memory device 120 through the data clock pins P 13 and P 23 .
- the system-on-chip 110 may receive a data input/output signal DQ, a data strobe signal DQS, and an inverted data strobe signal DQSB from the memory device 120 through the data pins P 14 and P 24 , or may transmit a data processing result to the memory device 120 .
- the DQS may be used for sampling the DQ.
- the system-on-chip 110 controls a memory operation of the memory device 120 by providing a signal to the memory device 120 .
- the signal may include the command signal CMD and the address ADDR.
- the system-on-chip 110 may provide the command signal CMD and the address ADDR to the memory device 120 to access a memory cell array 121 and control memory operations such as reading or writing.
- the DQ and the DQS may be transmitted from the memory cell array 121 to the system-on-chip 110 according to a read operation, and the DQ and the DQS may be transmitted from the system-on-chip 110 to the memory cell array 121 according to a writing operation. Since the DQ and the DQS are bi-directional signals, respectively, a DQ and a DQS output to memory device 120 from the system-on-chip 110 may be referred to as a write DQ and a write DQS, respectively, and a DQ and a DQS output from the memory device 120 to system-on-chip 110 may be referred to as a read DQ and a read DQS, respectively.
- the command signal CMD may include an activation command, a read/write command, and a refresh command.
- the command signal CMD may further include a precharge command.
- the activation command may be a command for switching a target row of the memory cell array 121 to an active state in order to write data to or read data from the memory cell array 121 .
- a memory cell of a target row may be activated (e.g., driven) in response to the activation command.
- the read/write command may be a command for performing a read or write operation on a target memory cell of a row switched to an active state.
- the read command may be a command that activates an emphasis drive.
- the refresh command may be a command for performing a refresh operation in the memory cell array 121 .
- the system-on-chip 110 applies a system clock signal CK and a data clock signal WCK to the memory device 120 to control data input/output.
- the system clock signal CK may be provided in the form of differential signals having a phase complementary to each other.
- the data clock signal WCK may also be provided in the form of differential signals having a phase complementary to each other.
- the system clock signal CK may be a clock related to a transmission rate of the command signal CMD or address ADDR applied to perform data input/output operations.
- the data clock signal WCK may be a clock related to input/output rates of DQ and DQS.
- the command CMD and the address signal ADDR are transmitted based on the system clock signal.
- the DQ and the DQS may be transmitted based on the data clock signal WCK.
- the system-on-chip 110 may include a training circuit 111 .
- the training circuit 111 may perform memory core parameter training associated with a memory core including the memory cell array 121 , a row decoder, and a column decoder of the memory device 120 and/or peripheral circuit parameter training for the rest of the peripheral circuits except the memory core.
- the training circuit 111 may determine optimal or desired parameters for the memory core parameters and/or peripheral circuit parameters of the memory device 120 .
- the system-on-chip 110 which includes the training circuit 111 , may perform training of the memory device 120 .
- the training circuit 111 may be included in the memory device 120 such that the memory device 120 may perform training.
- the training circuit 111 may perform training of the data clock signal WCK based on the output signal from the memory device 120 .
- the memory device 120 may serialize a first test pattern according to an internal data clock signal IWCK and output it as DQS, and serialize a second test pattern in which the first test pattern is inverted according to the internal data clock signal IWCK to output as DQSB.
- the training circuit 111 may perform training of the data clock signal WCK based on the DQS or DQSB output from the memory device 120 .
- the training circuit 111 may sense a duty cycle of the DQS and DQSB.
- the training circuit 111 may perform training of the data clock signal WCK using the duty cycle of DQS and the duty cycle of DQSB.
- the training circuit 111 may generate a code such that the memory device 120 generates the internal data clock signal IWCK by adjusting the phase of the data clock signal WCK.
- the training circuit 111 may determine a final value of the code based on the duty cycle of the output signal DQS and DQSB, which is changed according to a value of the adjusted code.
- the training circuit 111 may write the final value of the code to the memory device 120 .
- the training circuit 111 may provide a first code to the memory device 120 such that the memory device 120 generates the internal data clock signal IWCK by correcting the duty cycle of the data clock signal WCK.
- the training circuit 111 may adjust a value of the first code.
- the duty cycle of the data clock signal WCK of the memory device 120 may be corrected according to the adjusted first code.
- the memory device 120 may buffer the data clock signal WCK with the duty cycle corrected to generate the internal data clock signal IWCK, and may output the DQS or DQSB with the duty cycle that is changed according to the duty cycle of the internal data clock signal IWCK.
- the training circuit 111 may determine the final value of the first code based on the first code when the duty cycle of the DQS is greater than or equal to a duty cycle reference value (e.g., 50%) and the first code when the duty cycle of the DQSB is greater than or equal to the duty cycle reference value.
- the training circuit 111 may provide a second code to the memory device 120 such that the memory device 120 shifts the data clock signal WCK to generate the internal data clock signal IWCK.
- the training circuit 111 may adjust the value of the second code. A delay of the data clock signal WCK of the memory device 120 may be adjusted according to the adjusted second code.
- the memory device 120 may buffer the delay-adjusted data clock signal WCK to generate the internal data clock signal IWCK, and output the DQS or DQSB with a duty cycle that is changed according to the delay of the internal data clock signal IWCK.
- the training circuit 111 may determine a final value of the second code based on the second code when the duty cycle of the DQS is greater than or equal to the duty cycle reference value (e.g., 50%) and the second code when the duty cycle of the DQSB is greater than or equal to the duty cycle reference value.
- the system-on-chip 110 may store the final value of the first code and the final value of the second code in a mode register of the memory device 120 through a mode register write command.
- the memory device 120 may serialize the first test pattern and the second test pattern according to the internal data clock signal IWCK and output a value according to the duty cycle of the output signal as a DQ.
- the training circuit 111 may perform training of the internal data clock signal IWCK based on the DQ output from the memory device 120 .
- the training circuit 111 may use the value of the DQ to perform training of the internal data clock signal IWCK.
- system-on-chip 110 may include various intellectual property (IP) circuits.
- IP intellectual property
- the system-on-chip 110 may be referred to as an application processor (AP).
- AP application processor
- system-on-chip 110 may access the memory device 120 according to a request from a host outside the memory system 100 .
- the system-on-chip 110 may communicate with the host using various protocols.
- the memory device 120 may be a storage device based on a semiconductor device.
- the memory device 120 may include a dynamic random access memory (DRAM) device.
- the memory device 120 may be a static random access memory (SRAM) device, a thyristor random access memory (TRAM) device, a NAND flash memory device, a NOR flash memory device, a resistive random access memory (RRAM) device, a ferroelectric random access (FRAM) device memory) device, a phase change random access memory (PRAM) device, a magnetic random access memory (MRAM) device, a solid state drive (SSD), a memory card, a universal flash memory device (UFS), and the like.
- SRAM static random access memory
- TRAM thyristor random access memory
- NAND flash memory device a NAND flash memory device
- NOR flash memory device a resistive random access memory (RRAM) device
- FRAM ferroelectric random access
- PRAM phase change random access memory
- MRAM magnetic random access memory
- SSD
- the memory device 120 will be described as a DRAM device (i.e., a synchronous dynamic random access memory (SDRAM) device) synchronized with the data clock signal WCK output from the system-on-chip 110 .
- the memory device 120 may be a low power double data rate 6 (LPDDR6) SDRAM.
- LPDDR6 low power double data rate 6
- the memory device 120 may be a component device other than the storage device.
- the memory device 120 includes a memory cell array 121 , a clock control circuit 122 , and a data input/output (I/O) circuit 123 .
- the memory cell array 121 includes a plurality of memory cells connected to a plurality of rows and a plurality of columns. In some embodiments, rows may be defined by word lines and columns may be defined by bit lines.
- the data I/O circuit 123 may store data transmitted from the outside, i.e., external to the memory device 120 , to the memory cell array 121 or output the data stored in the memory cell array 121 to an external memory device (i.e., system-on-chip 110 , and the like).
- the clock control circuit 122 may output the internal data clock signal IWCK based on the data clock signal WCK.
- the clock control circuit 122 may output the internal data clock signal IWCK by adjusting a duty cycle and delay of the data clock signal WCK.
- the clock control circuit 122 may adjust the duty cycle and/or delay of the data clock signal WCK based on the first code and/or the second code received from the system-on-chip 110 .
- the clock control circuit 122 may include a duty cycle adjustment circuit (e.g., duty cycle adjustment (DCA) and a duty cycle corrector (DCC)).
- the duty cycle adjustment circuit may adjust the duty cycle of the data clock signal WCK according to the first code and output the data clock signal WCK of which the duty cycle is adjusted.
- the clock control circuit 122 may include a slew rate adjustment circuit.
- the slew rate adjustment circuit may adjust a slew rate of the signal output from the duty cycle adjustment circuit and output it as an internal data clock signal IWCK.
- the data I/O circuit 123 may output the DQ and/or DQS based on the internal data clock signal IWCK.
- the data I/O circuit 123 may output a plurality of training patterns as the DQ and/or DQS based on the internal data clock signal IWCK.
- the data I/O circuit 123 may output inverted training patterns based on the internal data clock signal IWCK. For example, the data I/O circuit 123 may output a first training pattern to the DQS at an edge of the internal data clock signal IWCK, and output an inverted pattern of the first training pattern to the DQSB at an edge of the internal data clock signal IWCK.
- FIG. 2 is a block diagram of a semiconductor memory device according to an embodiment.
- a memory device 200 includes a memory cell array 210 , a sense amp 211 , a control logic circuit 220 , an address buffer 230 , a row decoder 250 , a column decoder 260 , an I/O gating circuit 270 , a clock control circuit 280 , and a data I/O circuit 290 .
- the memory cell array 210 includes a plurality of memory cells MC.
- the memory cell array 210 may include a plurality of memory banks 210 a to 210 h .
- FIG. 2 although eight memory banks BANK 0 to BANK 7 210 a to 210 h are shown, the number of memory banks is not limited thereto.
- Each of the memory banks 210 a to 210 h may include a plurality of rows, a plurality of columns, and a plurality of memory cells MC arranged at intersections of the plurality of rows and the plurality of columns.
- a plurality of rows may be defined by a plurality of word lines WL
- a plurality of columns may be defined by a plurality of bit lines BL.
- the control logic circuit 220 controls the operation of the memory device 200 .
- the control logic circuit 220 may generate a control signal such that the memory device 200 performs a read operation, a write operation, an offset calibration operation, and the like.
- the control logic circuit 220 may include a command decoder 221 .
- the command decoder 221 may generate a control signal by decoding the command signal CMD received from a system-on-chip (e.g., 110 of FIG. 1 ).
- the command decoder 221 may decode a command output from the system-on-chip 110 and may control internal constituent elements of the memory device 200 .
- the command decoder 221 may decode an activation command, a read command, a write command, a precharge command, a mode register write command, a multi-purpose command (MPC), and the like. All of the above-described commands may be determined in advance in the JEDEC standard.
- control logic circuit 220 may further include a mode register 222 for setting an operation mode of the memory device 200 .
- the mode register 222 may store a code provided from the address buffer 230 .
- the number of mode registers 222 , address, code size, and the like may be defined in the JEDEC standard.
- the system-on-chip 110 may change the values stored in the mode register 222 and set the operation conditions and operation mode of the memory device 200 by issuing a mode register write command and code.
- the address buffer 230 receives the address ADDR provided from the system-on-chip 110 .
- the address ADDR includes a row address RA indicating a row of the memory cell array 210 and a column address CA indicating a column of the memory cell array 210 .
- the row address RA is provided to the row decoder 250
- the column address CA is provided to the column decoder 260 .
- the row address RA may be provided to the row decoder 250 through a row address multiplexer 251 .
- the address ADDR may further include a bank address BA indicating a memory bank.
- the bank address BA may be provided to a bank control logic 240 .
- the address buffer 230 may provide an address received with the mode register write command from the system-on-chip 110 to the mode register 222 and/or clock control circuit 280 as codes OP 1 and OP 2 .
- the codes OP 1 and OP 2 may be transmitted through command and address transmission paths between the system-on-chip 110 and the memory device 200 . Since the codes OP 1 and OP 2 are stored in the mode register 222 , they may be referred to as operation codes OPCODE or operands.
- the memory device 200 may further include the bank control logic 240 for generating a bank control signal in response to the bank address BA.
- the bank control logic 240 activates a row decoder 250 corresponding to the bank address BA among the plurality of row decoders 250 and a column decoder 260 corresponding to the bank address BA among the plurality of column decoders 260 in response to the bank control signal.
- the memory device 200 may further include a row address multiplexer 251 .
- the row address multiplexer 251 may receive the row address RA from the address buffer 230 and a row address to be refreshed REF_RA from the refresh counter 235 .
- the row address multiplexer 251 may selectively output the row address RA received from the address buffer 230 and the row address REF_RA received from the refresh counter 235 to the row decoder 250 .
- the row decoder 250 selects a row to be activated from the plurality of rows of the memory cell array 210 based on the row address. To this end, the row decoder 250 may apply a driving voltage to a word line corresponding to a row to be activated. In some embodiments, a plurality of row decoders 250 a to 250 h corresponding to the plurality of memory banks 210 a to 210 h may be provided.
- the column decoder 260 selects a column to be activated from the plurality of columns of the memory cell array 210 based on the column address. To this end, the column decoder 260 may activate the sense amp 211 corresponding to the column address CA through the I/O gating circuit 270 . In some embodiment, a plurality of column decoders 260 a to 260 h corresponding to the plurality of memory banks 210 a to 210 h , respectively, may be provided. In some embodiments, the I/O gating circuit 270 gates input/output data, and may include a data latch for storing data read from the memory cell array 210 and a write driver for writing data to the memory cell array 210 .
- the data read from the memory cell array 210 may be sensed by the sense amp 211 and stored in the I/O gating circuit 270 (for example, a data latch).
- the I/O gating circuit 270 for example, a data latch.
- a plurality of sense amps 211 a to 211 h corresponding to the plurality of memory banks 210 a to 210 h , respectively, may be provided.
- data read from the memory cell array 210 may be provided to the system-on-chip 110 through the data I/O circuit 290 .
- Data to be written into the memory cell array 210 may be provided from the system-on-chip 110 to the data I/O circuit 290 , and the data provided to the data I/O circuit 290 may be provided to the I/O gating circuit 270 .
- the clock control circuit 280 may receive a system clock signal CK and a data clock signal WCK.
- the clock control circuit 280 may generate an internal clock signal ICK by buffering the system clock signal CK.
- the phase of the buffered internal clock signal ICK may be almost the same as the phase of the clock signal CK.
- the clock control circuit 280 may generate the internal clock signal ICK by dividing the clock signal CK.
- the clock control circuit 280 may generate the internal data clock signal IWCK using the data clock signal WCK.
- the clock control circuit 280 may adjust a duty cycle and/or delay of the data clock signal WCK by using a first code OP 1 and/or a second code OP 2 .
- the clock control circuit 280 may include a duty cycle adjustment circuit and a slew rate adjustment circuit.
- the duty cycle adjustment circuit may adjust a duty cycle of the data clock signal WCK based on the first code OP 1 .
- the slew rate adjustment circuit may adjust a delay of the data clock signal WCK based on the second code OP 2 .
- the clock control circuit 280 may output the internal clock signal ICK and an internal data clock signal IWCK.
- a DQ buffer 282 may receive a write DQ from the system-on-chip 110 or output a read DQ to the system-on-chip 110 . Since the DQ is a bi-directional signal, the DQ buffer 282 may include both a receiver (not shown) for receiving the write DQ and a transmitter (not shown) for outputting the read DQ.
- the DQS buffer 284 may receive the write DQS and/or write DQSB from the system-on-chip 110 or output the read DQS and/or read DQSB to the system-on-chip 110 . Since the DQS is a bi-directional signal, the DQS buffer 284 may include both a receiver (not shown) for receiving the write DQS and a transmitter (not shown) for outputting the read DQS.
- the data I/O circuit 290 may include a read circuit 292 and a write circuit 294 .
- the read circuit 292 may receive read data from an input/output sense amp 211 .
- the read circuit 292 may store the received read data in a first-in first-out (FIFO) 296 .
- the read circuit 292 may serialize the read data and transmit the read DQS and the read DQ to the system-on-chip 110 through the DQ buffer 282 and the DQS buffer 284 .
- the read circuit 292 may operate based on the internal data clock signal IWCK.
- the read circuit 292 may transmit a plurality of first test patterns stored in the FIFO 296 to the system-on-chip 110 through the DQ buffer 282 and the DQS buffer 284 .
- a selector 298 may serialize and output the first test pattern stored in the FIFO 296 at an edge of the internal data clock signal IWCK.
- the write circuit 294 may receive the write DQ and the write DQS from the system-on-chip 110 through the DQ buffer 282 and the DQS buffer 284 .
- the write circuit 294 may sample or parallelize the write DQ using the write DQS and provide the sampling result to the write driver as write data.
- the write circuit 294 may operate based on the internal data clock signal IWCK.
- FIG. 3 is a block diagram of a system-on-chip according to an embodiment.
- a system-on-chip 300 may include a memory controller 310 and a double data rate (DDR) physical layer (PHY) 320 .
- the memory controller 310 may control the memory device 200 (in FIG. 2 ) through the DDR PHY 320 .
- the memory controller 310 may generate commands and addresses for accessing the memory device 200 .
- the memory controller 310 may generate data to be stored in the memory device 200 .
- the memory controller 310 may receive data stored in the memory device 200 .
- the DDR PHY 320 may also be referred to as a DDR PHY interface.
- the DDR PHY 320 may transmit a system clock signal CK, a data clock signal WCK, and a command CMD and address ADD to the memory device 200 based on the control of the memory controller 310 .
- the DDR PHY 320 may transmit the DQ and the DQS to the memory device 200 based on the control of the memory controller 310 .
- the DDR PHY 320 may receive the DQS and the DQ from the memory device 200 . Paths used by the DDR PHY 320 to transmit the DQS and the DQ to the memory device 200 and paths used by the memory device 200 to transmit the DQS and the DQ to the DDR PHY 320 may be the same and may be shared.
- the memory controller 310 may include a command scheduler 312 , a command queue 314 , a read data queue 316 , and a write data queue 318 .
- the command queue 314 may store commands and addresses issued by an external processor or the like.
- the command and address stored in the command queue 314 may be provided to the DDR PHY 320 based on the control of the command scheduler 312 . In this case, at least one command and at least one address stored in the command queue 314 may be provided in parallel to the DDR PHY 320 .
- the command scheduler 312 may adjust the order of commands and addresses stored in the command queue 314 , the timing when the command(s) and address(es) are input to the command queue 314 , and the timing when the command(s) and address(es) are output from the command queue 314 .
- the read data queue 316 may store read data transmitted from the memory device 200 through the DDR PHY 320 in response to a read request to the memory device 200 of the system-on-chip 300 .
- the read data stored in the read data queue 316 may be processed by an external processor.
- the write data queue 318 may store write data to be stored in the memory device 200 .
- the write data stored in the write data queue 318 by the write request to the memory device 200 of the system-on-chip 300 may be transmitted to the memory device 200 through the DDR PHY 320 .
- the command queue 314 , the command scheduler 312 , the read data queue 316 , and the write data queue 318 of the memory controller 310 may be implemented in the system-on-chip 300 using a hardware method, a software method, or a combination thereof.
- the DDR PHY 320 may include a clock generator 321 , a data clock generator 322 , a command and address generator 324 , a data receiver 326 , a data transmitter 328 , and a training circuit 330 .
- the clock generator 321 , the data clock generator 322 , the command and address generator 324 , the data receiver 326 , the data transmitter 328 , and the training circuit 330 of the DDR PHY 320 may be implemented in the system-on-chip 300 by using a hardware method, a software method, or a combination thereof.
- the clock generator 321 may generate a system clock signal CK that is output to the memory device 200 .
- the data clock generator 322 may generate a data clock signal WCK output to the memory device 200 .
- the clock generator 321 may include a DCC or DCA for adjusting a duty cycle of the system clock signal CK.
- the data clock generator 322 may also include a DCC or DCA that adjusts a duty cycle of the data clock signal WCK.
- the command and address generator 324 may receive a command or address from the command queue 314 and transmit the command or address to the memory device 200 .
- the number of command and address transmission paths between the command and address generator 324 and the memory device 200 , logical states of signals transmitted through the above-described transmission paths, a transmission method, and the like will be defined in the JEDEC standard of the memory device 200 .
- the data receiver 326 may receive read data from the memory device 200 .
- the data receiver 326 may provide the received read data to the read data queue 316 .
- the data receiver 326 may align the read DQS and read DQ or adjust the skew between the read DQS and read DQ.
- the data receiver 326 may include a delay locked loop DLL including a plurality of delay cells. For example, the read data receiver 326 may search for the optimal sampling point for determining the read DQ in the system-on-chip 300 while delaying the read DQS or read DQ based on a time unit delayed by one delay cell.
- the data transmitter 328 may receive write data from the write data queue 318 .
- the data transmitter 328 may transmit the received write data to the memory device 200 .
- the data transmitter 328 may align the write DQS and the write DQ or adjust the skew between the write DQS and the write DQ.
- the data transmitter 328 may also include a DLL including a plurality of delay cells.
- the data transmitter 328 may search for an optimal sampling point for determining the write DQ in the memory device 200 while delaying the write DQS or the write DQ based on a time unit delayed by one delay cell.
- the training circuit 330 may control the command and address generator 324 based on the control of the training program.
- the command and address generator 324 may generate a read command, a write command, and the like for training by a training program and transmit it to the memory device 200 .
- the training circuit 330 may control the command and address generator 324 such that the command and address generator 324 outputs a mode register write MRW command and code CODE to the memory device 200 .
- the training circuit 330 may provide a value of the code CODE to the command and address generator 324 .
- the mode register write command may be a command to write a code to the mode register ( 222 of FIG. 2 ) of the memory device 200 .
- the training circuit 330 may set the duty cycle and/or delay of the internal data clock signal IWCK output by the clock control circuit 280 by changing the value of the code stored in the mode register 222 of the memory device 200 through the mode register write command.
- the training circuit 330 may receive the read DQS and the read DQ of the data receiver 326 .
- the training circuit 330 may change the value of code CODE based on the read DQS and/or the read DQ.
- the training circuit 330 may include a duty cycle detector 332 .
- the duty cycle detector 332 may monitor the duty cycle of the read DQS and/or the read DQ.
- the duty cycle detector 332 may detect whether the duty cycle of the read DQS and/or the read DQ is greater than or equal to the duty cycle reference value.
- the training circuit 330 may determine a final value of the code based on the code CODE output when the duty cycle of the read DQS and/or read DQ is greater than or equal to the duty cycle reference value.
- the training circuit 330 may perform clock training of the memory device 200 based on the read DQS and read DQ of the data receiver 326 . Since the training circuit 330 is positioned within the system-on-chip 300 rather than the memory device 200 , the training circuit 330 may determine an optimal duty cycle to which both the signal delay and the slew rate according to a physical interface between the memory device 200 and the system-on-chip 300 are reflected.
- FIG. 4 is a block diagram of a clock control circuit and a read circuit according to an embodiment.
- a clock control circuit 400 may include a first buffer 410 and a second buffer 420 .
- the clock control circuit 400 may output a plurality of data clock signals WCK 0 , WCK 180 , WCK 90 , and WCK 270 as a plurality of internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the plurality of data clock signals WCK 0 , WCK 180 , WCK 90 , and WCK 270 may have a phase difference of 90 degrees from each other.
- the first buffer 410 may receive complementary data clock signals WCK 0 and WCK 180 or WCK 90 and WCK 270 and adjust a duty cycle of the data clock signals WCK 0 and WCK 180 or WCK 90 and WCK 270 to output adjusted data clock signals A_WCK 0 and A_WCK 180 or A_WCK 90 and A_WCK 270 .
- the first buffer 410 may adjust the duty cycle of data clock signals WCK 0 and WCK 180 or WCK 90 and WCK 270 according to a first code OP 11 or OP 12 .
- the first buffer 410 may be a DCA.
- Table 1 illustrates example steps in which the first buffer 410 a adjusts the duty cycle of data clock signals WCK 0 and WCK 180 according to the value of the first code OP 11 [ n: 0] (here, n is a natural number).
- the type of DCA is “W”, and W indicates writing to the mode registers 222 .
- the first code OP 11 [ n: 0] may be formed of 4 bits, but the present invention is not limited thereto.
- the first buffer 410 a may not adjust the duty cycle of data clock signals WCK 0 and WCK 180 .
- the first buffer 410 a may reduce the duty cycle of the data clock signal WCK 0 by an operation corresponding to the value of the code OP 11 [3:0].
- the data clock signal WCK 180 is complementary to the data clock signal WCK 0 .
- the first buffer 410 a may adjust the duty cycle of data clock signals WCK 0 and WCK 180 from the ⁇ 1 operation to the ⁇ 7 operation.
- the first buffer 410 a may include the duty cycle of the data clock signal WCK 0 as much as an operation corresponding to the value of the code OP 11 [3:0].
- the first buffer 410 a may adjust the duty cycle of data clock signals WCK 0 and WCK 180 from the operation +1 to the operation +7.
- the size of the unit operation in Table 1 may be determined in advance.
- the second buffer 420 may receive the complementary adjusted data clock signals A_WCK 0 and A_WCK 180 or A_WCK 90 and A_WCK 270 and adjust the delay of the adjusted data clock signals A_WCK 0 and A_WCK 180 or A_WCK 90 and A_WCK 270 to output the as the internal data clock signals IWCK 0 and IWCK 180 or IWCK 90 and IWCK 270 .
- the second buffer 420 may adjust the delay of data clock signals WCK 0 and WCK 180 or WCK 90 and WCK 27 o according to a second code P 21 or OP 22 .
- the second buffer 420 may include CML to CMOS amplifier.
- the second buffer 420 may adjust the delay of the data clock signals WCK 0 and WCK 180 or WCK 90 and WCK 270 by controlling the slew rate of the input adjusted data clock signals A_WCK 0 and A_WCK 180 or A_WCK 90 and A_WCK 270 .
- Table 2 illustrates example steps in which the second buffer 420 a adjusts the delay of the adjusted data clock signals A_WCK 0 and A_WCK 180 according to a value of the second code OP 21 [ n: 0] (here, n is a natural number).
- the type of DELAY is “W”.
- the second code OP 21 [ n: 0] may be formed of 4 bits, but the present invention is not limited thereto.
- the second buffer 420 a may not adjust the delay of the adjusted data clock signals A_WCK 0 and A_WCK 180 .
- the second buffer 420 a may reduce the delay of the data clock signals A_WCK 0 and A_WCK 180 by as much as an operation corresponding to the value of the code OP 21 [3:0].
- the second buffer 420 a may adjust the delay of the adjustable data clock signals A_WCK 0 and A_WCK 180 from the operation ⁇ 1 to the operation ⁇ 7.
- the second buffer 420 a may increase the delay of the data clock signals (A_WCK 0 and A_WCK 180 ) by as much as an operation corresponding to the value of the code OP 21 [3:0].
- the second buffer 420 a may adjust the delay of the adjusted data clock signals A_WCK 0 and A_WCK 180 from the operation +1 to the operation +7.
- the size of the unit operation in Table 2 may be determined in advance.
- the read circuit 402 may serialize the first test pattern in synchronization with the internal data clock signals IWCK 0 and IWCK 180 or IWCK 90 and IWCK 270 transmitted from the clock control circuit 400 to output a read DQS RDQS and/or a read DQSB RDQSB.
- the read circuit 402 may include a FIFO 430 and a selector 440 .
- the FIFO 430 may output the stored first test pattern to a selector (MUX) 440 .
- the FIFO 430 may transmit the first test patterns D 0 , D 1 , D 2 , and D 3 to the selector 440 as is, or transmit the second test pattern D 0 , D 1 , D 2 , and D 3 to the selector 440 according to a control signal FLIP.
- the command decoder 221 may provide the control signal FLIP to the FIFO 430 .
- the selector 440 may serialize and output the first test patterns D 0 , D 1 , D 2 , and D 3 or the second test patterns D 0 , D 1 , D 2 , and D 3 provided to input ends I 0 , I 1 , I 2 , and I 3 as a read DQS RDQS or a inverted read DRQS RDQSB at an edge of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the selector 440 may output data provided to the input end I 0 as the read DQS RDQS at a rising edge at which the internal data clock signal IWCK 0 is changed from a low level to a high level.
- the selector 440 may output the data provided to the input end I 1 as the read DQS RDQS at a rising edge at which the internal data clock signal IWCK 90 is changed from the low level to the high level.
- the selector 440 may output the data provided to the input end I 2 as the read DQS RDQS at a rising edge at which the internal data clock signal IWCK 180 is changed from the low level to the high level.
- the selector 440 may output the data provided to the input end I 3 as the read DQS RDQS at a rising edge at which the internal data clock signal IWCK 270 is changed from the low level to the high level.
- the selector 440 outputs a read DQS RDQS or a inverted read DRQS RDQSB on the rising edge of internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 , but the present invention is not limited thereto.
- the selector 440 may output a read DQS RDQS or a inverted read DRQS RDQSB on the falling edge or both rising and falling edges of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 , and accordingly, the values of the first test pattern and/or the second test pattern input to the selector 440 may be changed.
- the signals RDQS and RDQSB output by the read circuit 402 according to the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 output by the clock control circuit 400 will be described with reference to FIG. 5 to FIG. 12 .
- FIG. 5 and FIG. 6 are graphs that illustrate waveforms of input/output signals of the clock control circuit and the read circuit.
- “1100” may be provided as the first test patterns D 0 , D 1 , D 2 , and D 3 to the input ends I 0 , I 1 , I 2 , and I 3 .
- the selector may output the “1100” output to the input ends I 0 , I 1 , I 2 , and I 3 as the read DQS RDQS at rising edges of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- a logic value “1” of the first test pattern D 0 provided to the input end I 0 may be output as the read DQS RDQS.
- a logic value “1” of the first test pattern D 1 provided to the input end I 1 may be output as the read DQS RDQS.
- a logic value “0” of the first test pattern D 2 provided to the input end I 3 may be output as the read DQS RDQS.
- a logic value “0” of the first test pattern D 3 provided to the input end I 1 may be output as the read DQS RDQS.
- the first code OP 11 may be provided to the first buffer 410 a of the clock control circuit 400 .
- the system-on-chip 300 may adjust the first code OP 11 . Then, in each period PA 1 , . . . , PA 3 , . . . , PA 7 , PA 8 , PA 9 , . . . , PA 12 , . . . , and PA 15 , the system-on-chip 300 may adjust the first code OP 11 . Then, in each period PA 1 , . . . , PA 3 , . . . , PA 7 , PA 8 , PA 9 , . . . , PA 12 , . . .
- the clock control circuit 400 may adjust the duty cycle of data clock signals WCK 0 and WCK 180 with steps ⁇ 7, . . . , ⁇ 5 . . . , ⁇ 1, 0, 1, . . . , 4, . . . , and 7, and output them as the internal data clock signals IWCK 0 and IWCK 180 .
- the read circuit 402 may output read DQS RDQS according to the internal data clock signals IWCK 0 and IWCK 180 of which the duty cycles are adjusted.
- the system-on-chip 300 may receive the read DQS RDQS of the memory device 200 and determine whether the duty cycle of the read DQS RDQS is equal to or greater than the duty cycle reference value.
- the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQS RDQS in the eighth period to the fifteenth period PA 8 , . . . , and PA 15 is greater than or equal to the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”.
- second test patterns D 0 , D 1 , D 2 , and D 3 “0011” inverted from the first test patterns D 0 , D 1 , D 2 , and D 3 “1100” may be provided to the input ends I 0 , I 1 , I 2 , and I 3 according to the control signal FLIP.
- the selector 440 may output “0011” provided to the input ends I 0 , I 1 , I 2 , and I 3 as a read DQSB RDQSB on the rising edge of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the logic value “0” of the first test pattern D 0 provided to the input end I 0 may be output to the read DQSB RDQSB.
- the logic value “0” of the first test pattern D 1 provided to the input end I 1 may be output to the read DQSB RDQSB.
- the logic value “1” of the first test pattern D 2 provided to the input end I 2 may be output to the read DQSB RDQSB.
- the logic value “1” of the first test pattern D 3 provided to the input end I 3 may be output to the read DQSB RDQSB.
- the system-on-chip 300 may receive the read DQSB RDQSB of the memory device 200 and determine whether the duty cycle of the read DQSB RDQSB is equal to or greater than a duty cycle reference value. Since the duty cycle of the read DQSB RDQSB in the first period to eighth period PA 1 , . . . , and PA 8 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”.
- the system-on-chip 300 may determine the duty DUTY as a logic value “1”.
- the first code OP 11 is sequentially increased from the operation ⁇ 7 to the operation +7, but the method of the system-on-chip 300 for adjusting the first code OP 11 is not limited thereto.
- FIG. 7 and FIG. 8 are tables illustrating the code for adjusting the duty cycle of the internal data clock signal according to an embodiment.
- the system-on-chip 300 may determine the final value OP 11 of the first code based on the duty DUTY according to the first code OP 11 of the first test pattern and the duty DUTY according to the first code OP 11 of the second test pattern.
- the system-on-chip 300 may determine the final value OP 11 of the first code based on the value of the first code OP 11 in which the DUTY is changed.
- the system-on-chip 300 may determine the final value OP 11 of the first code with a middle value of the first code OP 11 of which the duty DUTY is changed according to the output of the first test pattern, and the first code OP 11 of which the duty DUTY is changed according to the output of the second test pattern.
- the system-on-chip 300 may determine the final value of the first code OP 11 as a value indicating operation 0, which is an intermediate value between the operation ⁇ 1 and the operation 1.
- the system-on-chip 300 may determine the final value of the first code OP 11 as a value indicating the operation 3, which is an intermediate value between the operation 1 and the operation 5.
- the system-on-chip 300 may provide the first code OP 11 for controlling the first buffer 410 a to the memory device 200 , and determine the final value OP 11 of the first code based on the read DQS and the read DQSB input from the memory device 200 . Accordingly, the system-on-chip 300 may train the internal data clock signals IWCK 0 and IWCK 180 such that the internal data clock signals IWCK 0 and IWCK 180 have phases that are exactly complementary to each other.
- FIG. 9 and FIG. 10 are graphs illustrating the waveforms of the input and output signals of the clock control circuit and the read circuit.
- the first test patterns D 0 , D 1 , D 2 , and D 3 “0110” may be provided to the input ends I 0 , I 1 , I 2 , and I 3 .
- the selector 440 may output “0110” provided to the input ends I 0 , I 1 , I 2 , and I 3 as the read DQS RDQS on the rising edge of internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- a first code OP 12 may be provided to the first buffer 410 a of the clock control circuit 400 .
- the system-on-chip 300 may adjust the first code OP 12 . Then, in each period PA 1 , . . . , PA 3 , . . . , PA 7 , PA 8 , PA 9 , . . . , PA 12 , . . . , and PA 15 , the system-on-chip 300 may adjust the first code OP 12 . Then, in each period PA 1 , . . . , PA 3 , . . . , PA 7 , PA 8 , PA 9 , . . . , PA 12 , . . .
- the clock control circuit 400 may adjust the duty cycle of the data clock signals WCK 90 and WCK 270 with the steps ⁇ 7, . . . , ⁇ 5, . . . , ⁇ 1, 0, 1, . . . , 4, . . . , and 7, and output as the internal data clock signals IWCK 90 and IWCK 270 .
- the read circuit 402 may output the read DQS RDQS according to the data clock signals IWCK 90 and IWCK 270 of which the duty cycle is adjusted.
- the system-on-chip 300 may receive the read DQS RDQS of the memory device 200 and determine whether the duty cycle of the read DQS RDQS is equal to or greater than a duty cycle reference value.
- the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQS RDQS in the ninth period to the fifteenth period PA 9 , . . . , and PA 15 is equal to or greater than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”.
- second test patterns D 0 , D 1 , D 2 , and D 3 “1001” inverted from the first test patterns D 0 , D 1 , D 2 , and D 3 “0110” may be provided to the input ends I 0 , I 1 , I 2 , and I 3 according to the control signal FLIP.
- the selector 440 may output “1001” provided to the input ends I 0 , I 1 , I 2 , and I 3 as the read DQS RDQS on the rising edge of internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the system-on-chip 300 may receive the read DQSB RDQSB of the memory device 200 and determine whether the duty cycle of the read DQSB RDQSB is equal to or greater than the duty cycle reference value. Since the duty cycle of the read DQSB RDQSB in the first period to the seventh period PA 1 , . . . , and PA 7 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQSB RDQSB in the eighth period to the fifteenth period PA 8 , . . .
- the system-on-chip 300 may determine the duty DUTY as a logic value “1”.
- FIG. 9 and FIG. 10 it is described that the first code OP 12 sequentially increases from the ⁇ 7 operation to the +7 operation, but the manner in which the system-on-chip 300 adjusts the first code OP 12 is not limited thereto.
- the system-on-chip 300 may determine the final value OP 12 of the first code based on the duty DUTY according to the first code OP 12 of the first test pattern and the duty DUTY according to the first code OP 12 of the second test pattern.
- the system-on-chip 300 may provide the first code OP 12 for controlling the first buffer 410 a to the memory device 200 , and determine the final value OP 12 of the first code based on the read DQS and the read DQSB input from the memory device 200 . Accordingly, the system-on-chip 300 may train the internal data clock signals IWCK 90 and IWCK 270 such that the internal data clock signals IWCK 90 and IWCK 270 have phases that are exactly complementary to each other.
- FIG. 11 and FIG. 12 are graphs illustrating the waveforms of the input and output signals of the clock control circuit and the read circuit.
- the first test patterns D 0 , D 1 , D 2 , and D 3 “1010” may be provided to the input ends I 0 , I 1 , I 2 , and I 3 .
- the selector 440 may output “1010” provided to the input ends I 0 , I 1 , I 2 , and I 3 as the read DQS RDQS on the rising edge of internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the logic value “1” of the first test pattern D 0 provided to the input end I 0 may be output as the read DQS RDQS.
- the logic value “0” of the first test pattern D 1 provided to the input end I 1 may be output as the read DQS RDQS.
- the logic value “1” of the first test pattern D 2 provided to the input end I 3 may be output as the read DQS RDQS.
- the logic value “0” of the first test pattern D 3 provided to the input end I 1 may be output as the read DQS RDQS.
- a second code OP 22 may be provided to the second buffer 410 b of the clock control circuit 400 .
- the system-on-chip 300 may adjust the second code OP 22 . Then, in each period PA 1 , . . . , PA 3 , . . . , PA 7 , PA 8 , PA 9 , . . . , PA 12 , . . . , and PA 15 , the system-on-chip 300 may adjust the second code OP 22 . Then, in each period PA 1 , . . . , PA 3 , . . . , PA 7 , PA 8 , PA 9 , . . . , PA 12 , . . .
- the clock control circuit 400 may adjust the delay of data clock signals WCK 90 and WCK 270 with the steps ⁇ 7, . . . , ⁇ 5, . . . , ⁇ 1, 0, 1, . . . , 4, . . . , and 7 and output as the internal data clock signals IWCK 90 and IWCK 270 .
- the read circuit 402 may output the read DQS RDQS according to the internal data clock signals IWCK 90 and IWCK 270 of which the delay is adjusted.
- the system-on-chip 300 may receive the read DQS RDQS of the memory device 200 and determine whether the duty cycle of the read DQS RDQS is equal to or greater than the duty cycle reference value.
- the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQS RDQS in the eighth period to the fifteenth period PA 8 , . . . , and PA 15 is greater than or equal to the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”.
- second test patterns D 0 , D 1 , D 2 , and D 3 “0101” inverted from the first test patterns D 0 , D 1 , D 2 , and D 3 “1010” according to the control signal FLIP may be provided to the input ends I 0 , I 1 , I 2 , and I 3 .
- the selector 440 may output “0101” provided to the input ends I 0 , I 1 , I 2 , and I 3 as a read DQSB RDQSB on the rising edge of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the logic value “0” of the first test pattern D 0 provided to the input end I 0 may be output as the read DQSB RDQSB.
- the logic value “1” of the first test pattern D 1 provided to the input end I 1 may be output as the read DQSB RDQSB.
- the logic value “0” of the first test pattern D 2 provided to the input end I 2 may be output as the read DQSB RDQSB.
- the logic value “1” of the first test pattern D 3 provided to the input end I 3 may be output as the read DQSB RDQSB.
- the system-on-chip 300 may receive the read DQSB RDQSB of the memory device 200 and determine whether the duty cycle of the read DQSB RDQSB is equal to or greater than the duty cycle reference value. Since the duty cycle of the read DQSB RDQSB in the first to seventh periods PA 1 , . . . , and PA 7 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”.
- the system-on-chip 300 may determine the duty DUTY as a logic value “1”.
- the second code OP 22 is described to be sequentially increased from the operation ⁇ 7 to the operation 7, but the method in which the system-on-chip 300 adjusts the second code OP 22 is not limited thereto.
- the system-on-chip 300 may determine the final value of the second code OP 22 based on the duty DUTY according to the second code OP 22 of the first test pattern and the duty DUTY according to the second code OP 22 of the second test pattern.
- the system-on-chip 300 provides the second code OP 22 for controlling the second buffer 420 b to the memory device 200 , and may determine the final value of the second code OP 22 based on the read DQS and the read DQSB input from the memory device 200 .
- the system-on-chip 300 may train the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 such that there may be an exact 90 degree phase difference between two adjacent internal data clock signals among internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- FIG. 13 is a flowchart of a clock training method according to an embodiment.
- the system-on-chip 300 determines the first code OP 11 , which adjusts the duty cycle of two internal data clock signals IWCK 0 and IWCK 180 having a complementary phase among the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 (S 1300 ).
- the system-on-chip 300 may determine the first code OP 11 that controls the DCA that adjusts the duty cycle of the internal data clock signals IWCK 0 and IWCK 180 of the memory device 200 based on the signal RDQS output from the memory device 200 .
- the system-on-chip 300 determines the first code OP 12 , which adjusts the duty cycle of two internal data clock signals IWCK 90 and IWCK 270 having a complementary phase among the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 (S 1310 ).
- the system-on-chip 300 may determine the first code OP 12 that controls the DCA that adjusts the duty cycle of the internal data clock signals IWCK 90 and IWCK 270 of the memory device 200 based on the signal RDQSB output from the memory device 200 .
- the order of operation S 1300 and S 1310 is not limited.
- the system-on-chip 300 determines the second code OP 21 or OP 22 that adjusts the delay of at least a pair of complementary internal data clock signals IWCK 0 and IWCK 180 or IWCK 90 and IWCK 270 among internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 (S 1320 ).
- the system-on-chip 300 writes the first codes OP 11 and OP 12 and the second codes OP 21 and OP 22 to the mode register 222 of the memory device 200 by issuing the MRW command (S 1330 ). Then, the memory device 200 may adjust the duty cycle of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 using the first codes OP 11 and OP 12 and the second codes OP 21 and OP 22 stored in the mode register 222 .
- the system-on-chip 300 may perform training of the data clock signal WCK of the memory device 200 .
- FIG. 14 Next, referring to FIG. 14 , FIG. 15 , and FIG. 16 , each operation of FIG. 13 will be described in detail.
- FIG. 14 , FIG. 15 , and FIG. 16 are flowcharts that illustrate some operations of the clock training method according to the embodiment.
- the system-on-chip 300 outputs a plurality of data clock signals WCK 0 , WCK 180 , WCK 90 , WCK 270 , and outputs the first code OP 11 that adjusts the duty cycle of two internal data clock signals IWCK 0 and IWCK 180 having a complementary phase among the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 generated based on the plurality of data clock signals WCK 0 , WCK 180 , WCK 90 , and WCK 270 is output to the memory device 200 (S 1400 ).
- the system-on-chip 300 may provide the first codes OP 12 and the second codes OP 21 and OP 22 as default values.
- the system-on-chip 300 determines whether the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is greater than or equal to the duty cycle reference value (e.g., 50%) (S 1401 ).
- the duty cycle reference value e.g. 50%
- the system-on-chip 300 sets the duty value to “1” (S 1402 ).
- the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is less than the duty cycle reference value, the system-on-chip 300 sets the duty value to “0” (S 1403 ).
- the system-on-chip 300 determines whether the output of all first code OP 11 is completed (S 1404 ). The system-on-chip 300 may determine whether all the plurality of first codes OP 11 indicating a predetermined plurality of steps are output during this training.
- the system-on-chip 300 adjusts the first code OP 11 (S 1405 ).
- the system-on-chip 300 may provide by increasing or decreasing the value of the first code OP 11 .
- the first code OP 11 adjusted in S 1405 may indicate the operation ⁇ 6.
- the system-on-chip 300 determines the final value OP 11 of the first codes based on an output signal RDQS or RDQSB from the memory device 200 (S 1406 ).
- S 1400 to S 1405 may be performed with respect to the first test pattern and the second test pattern.
- the system-on-chip 300 may determine the final value of the first code OP 11 based on the read DQS RDQS with the first test pattern output in synchronization with the internal data clock signals IWCK 0 and IWCK 180 of which the clock cycle is adjusted according to the first code OP 11 and the read DQSB RDQSB with the second test pattern output in synchronization with the internal data clock signals IWCK 0 and IWCK 180 of which the clock cycle is adjusted according to the first code OP 11 .
- the system-on-chip 300 outputs the first code OP 12 that adjusts the duty cycle of the two internal data clock signals IWCK 90 and IWCK 270 having complementary phases among the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 generated based on the plurality of data clock signals WCK 0 , WCK 180 , WCK 90 , and WCK 270 (S 1500 ).
- the system-on-chip 300 provides the first code OP 11 with the value determined in S 1300 of FIG. 13 , and provides the second codes OP 21 and OP 22 by setting as default values.
- the system-on-chip 300 determines whether the duty cycle of the output signal of the memory device 200 is greater than or equal to the duty cycle reference value (S 1501 ).
- the system-on-chip 300 sets the duty value to “1” (S 1502 ).
- the system-on-chip 300 sets the duty value to “0” (S 1503 ).
- the system-on-chip 300 determines whether the output of all first codes OP 12 is completed (S 1504 ). The system-on-chip 300 may determine whether all the plurality of first codes OP 12 indicating a predetermined plurality of steps are output during this training.
- the system-on-chip 300 adjusts the first codes OP 12 (S 1505 ).
- the system-on-chip 300 may provide the first codes OP 12 by increasing or decreasing the value of the first codes OP 12 .
- the system-on-chip 300 determines the final value of the first code OP 12 based on a signal RDQS or RDQSB output from the memory device 200 (S 1506 ).
- S 1500 to S 1505 may be performed with respect to the first test pattern and the second test pattern.
- the system-on-chip 300 may determine the final value of the first code OP 12 based on the read DQS RDQS with the first test pattern output in synchronization with the internal data clock signals IWCK 90 and IWCK 270 of which the clock cycle is adjusted according to the first code OP 12 and the read DQSB RDQSB with the second test pattern output in synchronization with the internal data clock signals IWCK 90 and IWCK 270 of which the clock cycle is adjusted according to the first code OP 12 .
- the system-on-chip 300 outputs the second codes OP 21 and OP 22 that adjust the delay of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 to the memory device 200 (S 1600 ).
- the system-on-chip 300 may provide the first code OP 11 with the value determined in S 1300 of FIG. 13 , and provide the first code OP 12 with the value determined in S 1310 of FIG. 13 .
- the system-on-chip 300 determines whether the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is greater than or equal to the duty cycle reference value (e.g., 50%) (S 1601 ).
- the duty cycle reference value e.g. 50%
- the system-on-chip 300 sets the duty value to “1” (S 1602 ).
- the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is less than the duty cycle reference value, the system-on-chip 300 sets the duty value to “0” (S 1603 ).
- the system-on-chip 300 determines whether the output of all second codes OP 21 and OP 22 is completed (S 1604 ). The system-on-chip 300 may determine whether a plurality of second codes OP 21 and OP 22 indicating a predetermined plurality of steps are output during this training.
- the system-on-chip 300 adjusts the second codes OP 21 and OP 22 (S 1605 ).
- the system-on-chip 300 may provide the second codes OP 21 and OP 22 by increasing or decreasing the values of the second codes OP 21 and OP 22 .
- the second code OP 31 adjusted in S 1605 may indicate the operation ⁇ 6.
- the system-on-chip 300 may adjust one of the second codes OP 21 and OP 22 , and may not adjust the other, or both the second codes OP 21 and OP 22 .
- the system-on-chip 300 determines the final values of the second codes OP 21 and OP 22 based on the signal output from the memory device 200 (S 1606 ).
- S 1600 to S 1605 may be performed with respect to the first test pattern and the second test pattern.
- the system-on-chip 300 may determine final values of the second codes OP 21 and OP 22 based on the read DQS RDQS with the first test pattern output in synchronization with the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 of which the delay is adjusted according to the second codes OP 21 and OP 22 and the read DQSB RDQSB with the second test pattern output in synchronization with the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 of which the delay is adjusted according to the second codes OP 21 and OP 22 .
- the system-on-chip 300 may determine whether the duty cycle of the read DQS and/or the read DQSB output from the memory device 200 is equal to or greater than the duty cycle reference value.
- the read DQS and/or the read DQSB may be provided to the system-on-chip 300 through the interface between the memory device and the system-on-chip 300 .
- the system-on-chip 300 may determine whether the duty cycle of the read DQS and/or read DQSB to which the skew and delay according to the interface are reflected is greater than or equal to the standard value. Therefore, since the data clock signal of the memory device 200 is trained by reflecting the skew, delay, and the like, it is possible to output the signal at more accurate timing during the actual read operation.
- FIG. 17 is a block diagram of a clock control circuit and a read circuit according to an embodiment.
- a clock control circuit 1700 may include a first buffer 1710 and a second buffer 1720 , and a read circuit 1702 may include a FIFO 1730 , a selector 1740 , and a duty cycle detector 1750 .
- a FIFO 1730 may be included in a first buffer 1710 and a second buffer 1720 .
- a selector 1740 may be included in a selector 1740 .
- a duty cycle detector 1750 may be omitted.
- the selector 1740 serializes the first test patterns D 0 , D 1 , D 2 , and D 3 provided to the input ends I 0 , I 1 , I 2 , and I 3 and output as an output signal OUT at the edge of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the duty cycle detector 1750 may monitor a duty cycle of the output signal OUT output by the selector 1740 . In an embodiment, the duty cycle detector 1750 may detect whether the duty cycle of the output signal OUT is greater than or equal to a duty cycle reference value. The duty cycle detector 1750 may output a value as a DQ according to whether the duty cycle of the output signal OUT is equal to or greater than the duty cycle reference value.
- the training circuit 330 of FIG. 3 may determine the final values of the first codes OP 11 and OP 12 and the final values of the second codes OP 21 and OP 22 based on the DQ received when the first codes OP 11 and OP 12 and the second codes OP 21 and OP 22 are adjusted.
- the read circuit 1702 includes a duty cycle detector 1750 , training of FIG. 13 can also be performed.
- the system-on-chip 300 determines the first code OP 11 to adjust the duty cycle of two internal data clock signals IWCK 0 and IWCK 180 with complementary phases among internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 (S 1300 ).
- the system-on-chip 300 may determine the first code OP 11 that controls the DCA that adjusts the duty cycle of the internal data clock signals IWCK 0 and IWCK 180 of the memory device 200 based on the signal DQ output from the memory device 200 .
- the system-on-chip 300 determines the first code OP 12 that adjusts the duty cycle of two internal data clock signals IWCK 90 and IWCK 270 having complementary phases among the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 (S 1310 ).
- the system-on-chip 300 may determine the first code OP 12 that controls the DCA adjusting the duty cycle of the internal data clock signals IWCK 90 and IWCK 270 of the memory device 200 based on the signal DQ output from the memory device 200 .
- the order of S 1300 and S 1310 is not restrictive.
- the system-on-chip 300 determines the second code OP 21 and/or OP 22 that adjusts the delay of at least one pair of complementary internal data clock signals IWCK 0 and IWCK 180 or IWCK 90 and IWCK 270 among the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 (S 1320 ).
- the system-on-chip 300 writes the first codes OP 11 and OP 12 and the second codes OP 21 and OP 22 to the mode register 222 of the memory device 200 by issuing the MRW command (S 1330 ). Then, the memory device 200 may adjust the duty cycle of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 using the first codes OP 11 and OP 12 and the second codes OP 21 and OP 22 stored in the mode register 222 .
- the system-on-chip 300 may perform training of the data clock signal WCK of the memory device 200 .
- FIG. 18 to FIG. 20 are flowcharts that illustrate some operations of the clock training method according to an embodiment.
- the system-on-chip 300 uses the first code OP 11 to adjust the duty cycle of two internal data clock signals (IWCK 0 , IWCK 180 ) having a complementary phase among the internal data clock signals (IWCK 0 , IWCK 90 , IWCK 180 , IWCK 270 ) memory device 200 (S 1800 ).
- the system-on-chip 300 may provide the first codes OP 12 and second codes OP 21 and OP 22 as default values.
- the system-on-chip 300 receives the output signal DQ of the memory device 200 (S 1801 ).
- the system-on-chip 300 determines whether the output of all first codes OP 11 is completed (S 1802 ). The system-on-chip 300 may determine whether all the plurality of first codes OP 11 indicating a predetermined plurality of steps are output during this training.
- the system-on-chip 300 adjusts the first code OP 11 (S 1803 ).
- the system-on-chip 300 determines the final value of the first code OP 11 based on the output signal DQ from the memory device 200 (S 1804 ).
- S 1800 to S 1803 may be performed with respect to the first test pattern and the second test pattern.
- the system-on-chip 300 may determine the final value of the first code OP 11 based on the signal DQ that instructs the duty cycle of the signal OUT output with the first test pattern in synchronization with the internal data clock signals IWCK 0 and IWCK 180 and the signal DQ that instructs the duty cycle of the signal OUT output with the second test pattern in synchronization with the internal data clock signals IWCK 0 and IWCK 180 .
- the system-on-chip 300 outputs the first code OP 12 that adjusts the duty cycle of two internal data clock signals IWCK 90 and IWCK 270 having complementary phases among the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 to the memory device 200 (S 1900 ).
- the system-on-chip 300 may provide the first code OP 11 with the value determined in S 1300 of FIG. 13 , and may provide the second codes OP 21 and OP 22 by setting default values.
- the system-on-chip 300 receives the output signal DQ of the memory device 200 (S 1901 ).
- the system-on-chip 300 determines whether the output of all the first codes OP 12 is completed (S 1901 ). The system-on-chip 300 may determine whether all the plurality of first codes OP 12 indicating a predetermined plurality of steps are output during this training.
- the system-on-chip 300 adjusts the first code OP 12 (S 1903 ).
- the system-on-chip 300 may provide the first code OP 12 by increasing or decreasing the value of first code OP 12 .
- the system-on-chip 300 determines the final value of the first code OP 12 based on the signal output from the memory device 200 (S 1904 ).
- S 1900 to S 1903 may be performed with respect to the first test pattern and the second test pattern.
- the system-on-chip 300 may determine the final value of the first code OP 12 based on the signal DQ that instructs the duty cycle of the signal OUT output with the first test pattern in synchronization with the internal data clock signals IWCK 90 and IWCK 270 and the signal DQ that instructs the duty cycle of the signal OUT output with the second test pattern in synchronization with the internal data clock signals IWCK 90 and IWCK 270 .
- the system-on-chip 300 outputs the second codes OP 21 and OP 22 that adjust the delays of the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 to the memory device 200 (S 2000 ).
- the system-on-chip 300 may provide the first code OP 11 with the value determined in S 1300 of FIG. 13 , and may provide the first code OP 12 with the value determined in S 1310 of FIG. 13 .
- the system-on-chip 300 receives the output signal DQ of the memory device 200 (S 2001 ).
- the system-on-chip 300 determines whether the output of all the second codes OP 21 and OP 22 is completed (S 2002 ). The system-on-chip 300 may determine whether all the plurality of second codes OP 21 and OP 22 indicating a predetermined plurality of steps are output during this training.
- system-on-chip 300 adjusts second codes OP 21 and OP 22 (S 2003 ).
- the system-on-chip 300 may provide the second codes OP 21 and OP 22 by increasing or decreasing the values of the second codes OP 21 and OP 22 .
- the first code OP 21 adjusted in S 2005 may indicate the operation ⁇ 6.
- the system-on-chip 300 may adjust one of the second codes OP 21 and OP 22 , and may not adjust the other, or both the second codes OP 21 and OP 22 .
- the system-on-chip 300 determines final values of the second codes OP 21 and OP 22 based on the signal output from the memory device 200 (S 2004 ).
- S 2000 to S 2003 may be performed with reference to the first test pattern and the second test pattern.
- the system-on-chip 300 may determine the final values of the second codes OP 21 and OP 22 based on the signal DQ that instructs the duty cycle of the signal OUT output with the first test pattern in synchronization with the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 and the signal DQ that instructs the duty cycle of the signal OUT output with the second test pattern in synchronization with the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the memory device 200 may output a signal DQ indicating the duty cycle of a signal OU) that is output by serializing the first test pattern in synchronization with the internal data clock signals IWCK 0 , IWCK 90 , IWCK 180 , and IWCK 270 .
- the system-on-chip 300 may perform training of the data clock signal WCK of the memory device 200 based on the signal DQ output from the memory device 200 .
- FIG. 21 is an example block diagram of a computer system according to an embodiment.
- a computing system 2100 includes a processor 2110 , a memory 2120 , a memory controller 2130 , a storage device 2140 , a communication interface 2150 , and a bus 2160 .
- the computing system 2100 may further include other general constituent elements.
- the processor 2110 controls the overall operation of each component of the computing system 2100 .
- the processor 2110 may be implemented as at least one of various processing units such as a central processing unit (CPU), an application processor (AP), and a graphics processing unit (GPU).
- CPU central processing unit
- AP application processor
- GPU graphics processing unit
- the memory 2120 stores various data and commands.
- the memory 2120 may be implemented with the memory device described with reference to FIG. 1 to FIG. 12 .
- the memory controller 2130 controls transmission of data or commands to and from the memory 2120 .
- the processor 2110 and the memory controller 2130 may be implemented as the system-on-chip described with reference to FIG. 1 to FIG. 20 .
- the memory controller 2130 may be provided as an internal configuration of the processor 2110 .
- the memory controller 2130 may be provided as a separate chip from the processor 2110 .
- the memory controller 2130 may perform, based on the output signal from the memory 2120 , training of the internal data clock signal IWCK generated based on the data clock signal WCK.
- the memory 2120 may output the first test pattern in synchronization with the internal data clock signal IWCK, or output the second test pattern inverted with the first test pattern in synchronization with the internal data clock signal IWCK.
- the memory controller 2130 may adjust the duty cycle of the data clock signal WCK based on the output signal, or may provide a code for adjusting the delay to the memory 2120 .
- the storage device 2140 non-temporarily stores programs and data.
- the storage device 2140 may be implemented with a non-volatile memory.
- the communication interface 2150 supports the wireless Internet communication of the computing system 2100 .
- the communication interface 2150 may support various communication methods other than Internet communication.
- the bus 2160 provides a communication function between constituent elements of the computing system 2100 .
- the bus 2160 may include at least one type of bus according to a communication protocol between constituent elements.
- each of the constituent elements or a combination of two or more constituent elements described with reference to FIG. 1 to FIG. 20 may be implemented as a digital circuit, a programmable or non-programmable logic device or array, an application specific integrated circuit (ASIC), and the like.
- ASIC application specific integrated circuit
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
A semiconductor device includes: a clock generation circuit configured to output a plurality of clock signals that have different phases to a memory device, an internal clock signal of the memory device being generated responsive to the plurality of clock signals; and a training circuit configured to receive an output signal output based on the internal clock signal from the memory device, to adjust a value of a code used to generate the internal clock signal by adjusting the phase of at least one clock signal among the plurality of clock signals, to determine a final value of the code based on a duty cycle of the output signal, which is changed according to the adjustment of the value of the code, and to write the final value to the memory device.
Description
- This application claims priority to and the benefit of Korean Patent Application No. 10-2022-0061062 filed in the Korean Intellectual Property Office on May 18, 2022, and Korean Patent Application No. 10-2022-0112102 filed in the Korean Intellectual Property Office on Sep. 5, 2022, the entire contents of which are incorporated herein by reference.
- The present disclosure relates to a semiconductor device.
- A component device, such as a memory device, may require high performance of a computing system including a system-on-chip (SoC). The system-on-chip may provide a data clock signal to the component device separately from a clock signal for high-speed data input/output to the component device. A duty cycle of the clock signal may vary based on temperature, voltage, and the like, and when the exact duty cycle is not used, the read margin for the data signal may degrade. In addition, because the frequency of the data clock signal is higher than the frequency of the clock signal, the duty cycle of the data clock signal may need to be adjusted more accurately.
- Some embodiments may provide a semiconductor device for training an optimal duty cycle of a data clock signal.
- Some embodiments may provide a semiconductor device that trains a data clock signal using an output signal of a component device.
- A semiconductor device according to an embodiment includes: a clock generation circuit configured to output a plurality of clock signals that have different phases to a memory device, an internal clock signal of the memory device being generated responsive to the plurality of clock signals; and a training circuit configured to receive an output signal output based on the internal clock signal from the memory device, to adjust a value of a code used to generate the internal clock signal by adjusting the phase of at least one clock signal among the plurality of clock signals, to determine a final value of the code based on a duty cycle of the output signal, which is changed according to the adjustment of the value of the code, and to write the final value to the memory device.
- The training circuit may be configured to determine the final value based on values of codes that change the duty cycle of the output signal more than a duty cycle reference value.
- The training circuit may include a duty cycle detector that determines the duty value of the output signal according to whether the duty cycle of the output signal is greater than or equal to the duty cycle reference value, and the training circuit may be configured to determine the final value based on the values of the code in which the duty value of the output signal changes.
- The duty cycle detector is configured to determine a duty value of a first output signal output by the memory device in synchronization with the internal clock signal for a first test pattern and a duty value of a second output signal output by the memory device in synchronization with the internal clock signal of a second test pattern, which is inverted the first test pattern, and the training circuit may be configured to determine the final value based on two adjacent values of the code at which the duty value of the first output signal changes and two adjacent values of the code at which the duty value of the second output signal changes.
- The training circuit may is configured to determine the final value based on two adjacent values of the code that changes a value of a first output signal that outputs a duty value of a first signal determined according to whether a duty cycle of the first signal serialized from a first test pattern in synchronization with the internal clock signal by the memory device is greater than or equal to a duty cycle reference value and two adjacent values of the code that changes a value of a second output signal that outputs a duty value of a second signal determined according to whether a duty cycle of the second signal serialized from a second test pattern, which is inverted from the first test pattern, in synchronization with the internal clock signal, is greater than or equal to the duty cycle reference value.
- The code may include a code used in generation of the internal clock signal by adjusting a duty cycle of at least one clock signal among the plurality of clock signals.
- The code may include a code used in generation of the internal clock signal by adjusting a delay of at least one clock signal among the plurality of clock signals.
- The memory device may be a low power double data rate 6 (LPDDR6) SDRAM.
- An operation method of a semiconductor device according to an embodiment includes: outputting, to a memory device, a plurality of clock signals that have different phases and are used to generate an internal clock signal of the memory device; outputting a code used to generate the internal clock signal by adjusting the phase of at least one clock signal among the plurality of clock signals; receiving an output signal output based on the internal clock signal from the memory device; adjusting a value of the code; determining a final value of the code based on a duty cycle of the output signal, which changes according to adjustment of the value of the code; and writing the final value to the memory device.
- The determining the final value may include determining the final value based on values of the code that change the duty cycle of the output signal by more than a duty cycle reference value.
- The operation method of the semiconductor device may further include determining a duty value of the output signal according to whether the duty cycle of the output signal is greater than or equal to the duty cycle reference value, wherein the determining the final value based on the values of the code that change the duty cycle of the output signal may include determining the final value based on the values of the code that change the duty value of the output value.
- The receiving the output signal from the memory device may include: receiving a first output signal that outputs a first test pattern in synchronization with the internal clock signal; and receiving a second output signal that outputs a second test pattern inverted from the first test pattern in synchronization with the internal clock signal, and the determining a duty value of the output signal may include determining a duty value of the first output signal and determining a duty value of the second output signal, and the determining the final value based on values of a code that changes the duty value of the output signal may include determining the final value based on two adjacent values of the code that changes the duty value of the first output signal and two adjacent values of the code that changes the duty value of the second output signal.
- The receiving the output signal from the memory device may include receiving, as a first output signal from the memory device, a duty value of a first signal determined according to whether a duty cycle of the first signal that serializes a first test pattern in synchronization with the internal clock signal by the memory device is greater than or equal to the duty cycle reference value; and receiving, as a second output signal from the memory device, a duty value of a second signal determined according to whether a duty cycle of the second signal that serializes a second test pattern inverted from the first test pattern in synchronization with the internal clock signal is greater than or equal to the duty cycle reference value, and the determining the final value based on values of the code may include determining the final value based on two adjacent values of the code that changes a value of the first output signal and two adjacent values of the code that changes a value of the second output signal.
- The code may include a code used to generate the internal clock signal by adjusting the duty cycle of the at least one clock signal among the plurality of clock signals.
- The code may include a code used to generate the internal clock signal by adjusting a delay of the at least one clock signal among the plurality of clock signals.
- A computing system according to an embodiment includes: a memory device that includes a clock control circuit configured to generate a plurality of internal clock signals by buffering a plurality of clock signals, each having a different phase, and configured to generate at least one internal clock signal among the plurality of internal clock signals by adjusting the phase of at least one of the plurality of clock signals according to a code, and a read circuit that is configured to serialize a test pattern based on the plurality of internal clock signals and to output an output signal; and a system-on-chip that is configured to adjust a value of the code, to determine a final value of the code based on a value of at least one code that changes a duty cycle of the output signal by more than a duty cycle reference value, and to write the final value in the memory device.
- The code may include a first code and a second code, the final value may include a final value of the first code and a final value of the second code, and the clock control circuit may include a first buffer that is configured to adjust a duty cycle of the plurality of clock signals according to the first code, and a second buffer that is configured to adjust a delay of the plurality of clock signals according to the second code.
- The plurality of internal clock signals may include a first internal clock signal and a second internal clock signal that have complementary phases, and a third internal clock signal and a fourth internal clock signal that have complementary phases, the test pattern may include a first test pattern of which a value is changed in synchronization of the first internal clock signal and the second internal clock signal and is maintained in synchronization with the third internal clock signal and the fourth internal clock signal, and the system-on-chip may be configured to determine a final value of the first code based on a value of at least one first code that changes a duty cycle of an output signal output based on the first test pattern by more than the duty cycle reference value.
- The test pattern may include a second test pattern of which a value is changed in synchronization with the first internal clock signal to the fourth internal clock signal, and the system-on-chip may be configured to determine a value of the second code based on the value of the second code that changes a duty cycle of an output signal output based on the second test pattern by more than the duty cycle reference value.
- The read circuit may include: a FIFO that is configured to output a first test pattern or a second test pattern inverted from the first test pattern; and a selector that is configured to serialize the first test pattern or the second test pattern in synchronization with the plurality of internal clock signals and to output the first test pattern or the second test pattern as the output signal.
-
FIG. 1 is an example block diagram of a computing system according to an embodiment. -
FIG. 2 is a block diagram of a semiconductor memory device according to an embodiment. -
FIG. 3 is a block diagram of a system-on-chip according to an embodiment. -
FIG. 4 is a block diagram of a clock control circuit and a read circuit according to an embodiment. -
FIG. 5 andFIG. 6 are graphs that illustrate waveforms of input and output signals of a clock control circuit and a read circuit. -
FIG. 7 andFIG. 8 are tables that illustrate a code for adjusting a duty cycle of an internal data clock signal according to an embodiment. -
FIG. 9 andFIG. 10 are graphs that illustrate waveforms of input and output signals of a clock control circuit and a read circuit. -
FIG. 11 andFIG. 12 are graphs that illustrate waveforms of input and output signals of a clock control circuit and a read circuit. -
FIG. 13 is a flowchart of a clock training method according to an embodiment. -
FIG. 14 ,FIG. 15 , andFIG. 16 are flowcharts that illustrate some operations of the clock training method according to an embodiment. -
FIG. 17 is a block diagram of a clock control circuit and a read circuit according to an embodiment. -
FIG. 18 ,FIG. 19 , andFIG. 20 are flowcharts that illustrate some operations of the clock training method according to an embodiment. -
FIG. 21 is an example block diagram of a computer system according to an embodiment. - In the following detailed description, only certain embodiments of the present invention have been shown and described, simply by way of illustration. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention.
- Accordingly, the drawings and description are to be regarded as illustrative in nature and not restrictive. Like reference numerals designate like elements throughout the specification. In the flowchart described with reference to drawing, the order of operations may be changed, several operations may be merged, some operations may be divided, and specific operations may not be performed.
- In addition, expressions written in the singular may be construed as singular or plural unless explicit expressions such as “one” or “single” are used. Terms including ordinal numbers such as first, second, and the like may be used to describe various configurations elements, but constituent elements are not limited by these terms. These terms may be used for the purpose of distinguishing one constituent element from other constituent elements.
- As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. It is noted that aspects described with respect to one embodiment may be incorporated in different embodiments although not specifically described relative thereto. That is, all embodiments and/or features of any embodiments can be combined in any way and/or combination.
-
FIG. 1 is an example block diagram of a computing system according to an embodiment. - Referring to
FIG. 1 , acomputing system 100 may include a system-on-chip 110 and amemory device 120. - The system-on-
chip 110 may be electrically connected to thememory device 120. In some embodiments, the system-on-chip 110 and thememory device 120 are connected through a memory interface such that they may transmit and receive signals through the memory interface. In an embodiment, a clock pin P11, a command/address pin P12, a data clock pin P13, and a data pin P14 of the system-on-chip 110 may be connected with a clock pin P21, a command/address pin P22, and a data clock pin P23, and data pin P24 of thememory device 120, respectively. - The system-on-
chip 110 may generate a command signal CMD, an address ADDR, a system clock signal CK, and a data clock signal WCK. The system-on-chip 110 may provide a system clock signal CK to thememory device 120 through the clock pins P11 and P21, provide a command signal CMD/address ADDR to thememory device 120 through the command/address pins P12 and P22, and provide a data clock signal WCK to thememory device 120 through the data clock pins P13 and P23. - The system-on-
chip 110 may receive a data input/output signal DQ, a data strobe signal DQS, and an inverted data strobe signal DQSB from thememory device 120 through the data pins P14 and P24, or may transmit a data processing result to thememory device 120. The DQS may be used for sampling the DQ. The system-on-chip 110 controls a memory operation of thememory device 120 by providing a signal to thememory device 120. The signal may include the command signal CMD and the address ADDR. In some embodiments, the system-on-chip 110 may provide the command signal CMD and the address ADDR to thememory device 120 to access amemory cell array 121 and control memory operations such as reading or writing. The DQ and the DQS may be transmitted from thememory cell array 121 to the system-on-chip 110 according to a read operation, and the DQ and the DQS may be transmitted from the system-on-chip 110 to thememory cell array 121 according to a writing operation. Since the DQ and the DQS are bi-directional signals, respectively, a DQ and a DQS output tomemory device 120 from the system-on-chip 110 may be referred to as a write DQ and a write DQS, respectively, and a DQ and a DQS output from thememory device 120 to system-on-chip 110 may be referred to as a read DQ and a read DQS, respectively. - The command signal CMD may include an activation command, a read/write command, and a refresh command. In some embodiments, the command signal CMD may further include a precharge command. The activation command may be a command for switching a target row of the
memory cell array 121 to an active state in order to write data to or read data from thememory cell array 121. A memory cell of a target row may be activated (e.g., driven) in response to the activation command. The read/write command may be a command for performing a read or write operation on a target memory cell of a row switched to an active state. In some embodiments, the read command may be a command that activates an emphasis drive. The refresh command may be a command for performing a refresh operation in thememory cell array 121. - The system-on-
chip 110 applies a system clock signal CK and a data clock signal WCK to thememory device 120 to control data input/output. The system clock signal CK may be provided in the form of differential signals having a phase complementary to each other. In addition, the data clock signal WCK may also be provided in the form of differential signals having a phase complementary to each other. The system clock signal CK may be a clock related to a transmission rate of the command signal CMD or address ADDR applied to perform data input/output operations. Meanwhile, the data clock signal WCK may be a clock related to input/output rates of DQ and DQS. In some embodiments, the command CMD and the address signal ADDR are transmitted based on the system clock signal. The DQ and the DQS may be transmitted based on the data clock signal WCK. - The system-on-
chip 110 may include atraining circuit 111. Thetraining circuit 111 may perform memory core parameter training associated with a memory core including thememory cell array 121, a row decoder, and a column decoder of thememory device 120 and/or peripheral circuit parameter training for the rest of the peripheral circuits except the memory core. Thetraining circuit 111 may determine optimal or desired parameters for the memory core parameters and/or peripheral circuit parameters of thememory device 120. The system-on-chip 110, which includes thetraining circuit 111, may perform training of thememory device 120. In some embodiments, thetraining circuit 111 may be included in thememory device 120 such that thememory device 120 may perform training. - In an embodiment, the
training circuit 111 may perform training of the data clock signal WCK based on the output signal from thememory device 120. - In some embodiment, the
memory device 120 may serialize a first test pattern according to an internal data clock signal IWCK and output it as DQS, and serialize a second test pattern in which the first test pattern is inverted according to the internal data clock signal IWCK to output as DQSB. Thetraining circuit 111 may perform training of the data clock signal WCK based on the DQS or DQSB output from thememory device 120. In some embodiments, thetraining circuit 111 may sense a duty cycle of the DQS and DQSB. Thetraining circuit 111 may perform training of the data clock signal WCK using the duty cycle of DQS and the duty cycle of DQSB. - The
training circuit 111 may generate a code such that thememory device 120 generates the internal data clock signal IWCK by adjusting the phase of the data clock signal WCK. Thetraining circuit 111 may determine a final value of the code based on the duty cycle of the output signal DQS and DQSB, which is changed according to a value of the adjusted code. Thetraining circuit 111 may write the final value of the code to thememory device 120. - For example, the
training circuit 111 may provide a first code to thememory device 120 such that thememory device 120 generates the internal data clock signal IWCK by correcting the duty cycle of the data clock signal WCK. Thetraining circuit 111 may adjust a value of the first code. The duty cycle of the data clock signal WCK of thememory device 120 may be corrected according to the adjusted first code. Thememory device 120 may buffer the data clock signal WCK with the duty cycle corrected to generate the internal data clock signal IWCK, and may output the DQS or DQSB with the duty cycle that is changed according to the duty cycle of the internal data clock signal IWCK. Thetraining circuit 111 may determine the final value of the first code based on the first code when the duty cycle of the DQS is greater than or equal to a duty cycle reference value (e.g., 50%) and the first code when the duty cycle of the DQSB is greater than or equal to the duty cycle reference value. Thetraining circuit 111 may provide a second code to thememory device 120 such that thememory device 120 shifts the data clock signal WCK to generate the internal data clock signal IWCK. Thetraining circuit 111 may adjust the value of the second code. A delay of the data clock signal WCK of thememory device 120 may be adjusted according to the adjusted second code. Thememory device 120 may buffer the delay-adjusted data clock signal WCK to generate the internal data clock signal IWCK, and output the DQS or DQSB with a duty cycle that is changed according to the delay of the internal data clock signal IWCK. Thetraining circuit 111 may determine a final value of the second code based on the second code when the duty cycle of the DQS is greater than or equal to the duty cycle reference value (e.g., 50%) and the second code when the duty cycle of the DQSB is greater than or equal to the duty cycle reference value. The system-on-chip 110 may store the final value of the first code and the final value of the second code in a mode register of thememory device 120 through a mode register write command. - In some embodiments, the
memory device 120 may serialize the first test pattern and the second test pattern according to the internal data clock signal IWCK and output a value according to the duty cycle of the output signal as a DQ. Thetraining circuit 111 may perform training of the internal data clock signal IWCK based on the DQ output from thememory device 120. Thetraining circuit 111 may use the value of the DQ to perform training of the internal data clock signal IWCK. - In addition, the system-on-
chip 110 may include various intellectual property (IP) circuits. The system-on-chip 110 may be referred to as an application processor (AP). - In some embodiments, the system-on-
chip 110 may access thememory device 120 according to a request from a host outside thememory system 100. The system-on-chip 110 may communicate with the host using various protocols. - The
memory device 120 may be a storage device based on a semiconductor device. In some embodiments, thememory device 120 may include a dynamic random access memory (DRAM) device. In some embodiments, thememory device 120 may be a static random access memory (SRAM) device, a thyristor random access memory (TRAM) device, a NAND flash memory device, a NOR flash memory device, a resistive random access memory (RRAM) device, a ferroelectric random access (FRAM) device memory) device, a phase change random access memory (PRAM) device, a magnetic random access memory (MRAM) device, a solid state drive (SSD), a memory card, a universal flash memory device (UFS), and the like. Hereinafter, thememory device 120 will be described as a DRAM device (i.e., a synchronous dynamic random access memory (SDRAM) device) synchronized with the data clock signal WCK output from the system-on-chip 110. In particular, thememory device 120 may be a low power double data rate 6 (LPDDR6) SDRAM. Thememory device 120 may be a component device other than the storage device. - The
memory device 120 includes amemory cell array 121, aclock control circuit 122, and a data input/output (I/O)circuit 123. Thememory cell array 121 includes a plurality of memory cells connected to a plurality of rows and a plurality of columns. In some embodiments, rows may be defined by word lines and columns may be defined by bit lines. The data I/O circuit 123 may store data transmitted from the outside, i.e., external to thememory device 120, to thememory cell array 121 or output the data stored in thememory cell array 121 to an external memory device (i.e., system-on-chip 110, and the like). - The
clock control circuit 122 may output the internal data clock signal IWCK based on the data clock signal WCK. Theclock control circuit 122 may output the internal data clock signal IWCK by adjusting a duty cycle and delay of the data clock signal WCK. Theclock control circuit 122 may adjust the duty cycle and/or delay of the data clock signal WCK based on the first code and/or the second code received from the system-on-chip 110. Theclock control circuit 122 may include a duty cycle adjustment circuit (e.g., duty cycle adjustment (DCA) and a duty cycle corrector (DCC)). The duty cycle adjustment circuit may adjust the duty cycle of the data clock signal WCK according to the first code and output the data clock signal WCK of which the duty cycle is adjusted. Theclock control circuit 122 may include a slew rate adjustment circuit. The slew rate adjustment circuit may adjust a slew rate of the signal output from the duty cycle adjustment circuit and output it as an internal data clock signal IWCK. - The data I/
O circuit 123 may output the DQ and/or DQS based on the internal data clock signal IWCK. The data I/O circuit 123 may output a plurality of training patterns as the DQ and/or DQS based on the internal data clock signal IWCK. The data I/O circuit 123 may output inverted training patterns based on the internal data clock signal IWCK. For example, the data I/O circuit 123 may output a first training pattern to the DQS at an edge of the internal data clock signal IWCK, and output an inverted pattern of the first training pattern to the DQSB at an edge of the internal data clock signal IWCK. -
FIG. 2 is a block diagram of a semiconductor memory device according to an embodiment. - Referring to
FIG. 2 , a memory device 200 includes a memory cell array 210, a sense amp 211, a control logic circuit 220, anaddress buffer 230, a row decoder 250, acolumn decoder 260, an I/O gating circuit 270, aclock control circuit 280, and a data I/O circuit 290. - The memory cell array 210 includes a plurality of memory cells MC. In some embodiments, the memory cell array 210 may include a plurality of
memory banks 210 a to 210 h. InFIG. 2 , although eight memory banks BANK0 to BANK7 210 a to 210 h are shown, the number of memory banks is not limited thereto. Each of thememory banks 210 a to 210 h may include a plurality of rows, a plurality of columns, and a plurality of memory cells MC arranged at intersections of the plurality of rows and the plurality of columns. In some embodiments, a plurality of rows may be defined by a plurality of word lines WL, and a plurality of columns may be defined by a plurality of bit lines BL. - The control logic circuit 220 controls the operation of the memory device 200. For example, the control logic circuit 220 may generate a control signal such that the memory device 200 performs a read operation, a write operation, an offset calibration operation, and the like. In some embodiments, the control logic circuit 220 may include a command decoder 221. The command decoder 221 may generate a control signal by decoding the command signal CMD received from a system-on-chip (e.g., 110 of
FIG. 1 ). The command decoder 221 may decode a command output from the system-on-chip 110 and may control internal constituent elements of the memory device 200. For example, the command decoder 221 may decode an activation command, a read command, a write command, a precharge command, a mode register write command, a multi-purpose command (MPC), and the like. All of the above-described commands may be determined in advance in the JEDEC standard. - In some embodiments, the control logic circuit 220 may further include a mode register 222 for setting an operation mode of the memory device 200. The mode register 222 may store a code provided from the
address buffer 230. The number of mode registers 222, address, code size, and the like may be defined in the JEDEC standard. The system-on-chip 110 may change the values stored in the mode register 222 and set the operation conditions and operation mode of the memory device 200 by issuing a mode register write command and code. - The
address buffer 230 receives the address ADDR provided from the system-on-chip 110. The address ADDR includes a row address RA indicating a row of the memory cell array 210 and a column address CA indicating a column of the memory cell array 210. The row address RA is provided to the row decoder 250, and the column address CA is provided to thecolumn decoder 260. In some embodiments, the row address RA may be provided to the row decoder 250 through a row address multiplexer 251. In some embodiments, the address ADDR may further include a bank address BA indicating a memory bank. The bank address BA may be provided to abank control logic 240. - The
address buffer 230 may provide an address received with the mode register write command from the system-on-chip 110 to the mode register 222 and/orclock control circuit 280 as codes OP1 and OP2. Here, the codes OP1 and OP2 may be transmitted through command and address transmission paths between the system-on-chip 110 and the memory device 200. Since the codes OP1 and OP2 are stored in the mode register 222, they may be referred to as operation codes OPCODE or operands. - In some embodiments, the memory device 200 may further include the
bank control logic 240 for generating a bank control signal in response to the bank address BA. Thebank control logic 240 activates a row decoder 250 corresponding to the bank address BA among the plurality of row decoders 250 and acolumn decoder 260 corresponding to the bank address BA among the plurality ofcolumn decoders 260 in response to the bank control signal. - In some embodiments, the memory device 200 may further include a row address multiplexer 251. The row address multiplexer 251 may receive the row address RA from the
address buffer 230 and a row address to be refreshed REF_RA from therefresh counter 235. The row address multiplexer 251 may selectively output the row address RA received from theaddress buffer 230 and the row address REF_RA received from therefresh counter 235 to the row decoder 250. - The row decoder 250 selects a row to be activated from the plurality of rows of the memory cell array 210 based on the row address. To this end, the row decoder 250 may apply a driving voltage to a word line corresponding to a row to be activated. In some embodiments, a plurality of row decoders 250 a to 250 h corresponding to the plurality of
memory banks 210 a to 210 h may be provided. - The
column decoder 260 selects a column to be activated from the plurality of columns of the memory cell array 210 based on the column address. To this end, thecolumn decoder 260 may activate the sense amp 211 corresponding to the column address CA through the I/O gating circuit 270. In some embodiment, a plurality ofcolumn decoders 260 a to 260 h corresponding to the plurality ofmemory banks 210 a to 210 h, respectively, may be provided. In some embodiments, the I/O gating circuit 270 gates input/output data, and may include a data latch for storing data read from the memory cell array 210 and a write driver for writing data to the memory cell array 210. The data read from the memory cell array 210 may be sensed by the sense amp 211 and stored in the I/O gating circuit 270 (for example, a data latch). In some embodiments, a plurality ofsense amps 211 a to 211 h corresponding to the plurality ofmemory banks 210 a to 210 h, respectively, may be provided. - In some embodiments, data read from the memory cell array 210 (e.g., data stored in the data latch) may be provided to the system-on-
chip 110 through the data I/O circuit 290. Data to be written into the memory cell array 210 may be provided from the system-on-chip 110 to the data I/O circuit 290, and the data provided to the data I/O circuit 290 may be provided to the I/O gating circuit 270. - The
clock control circuit 280 may receive a system clock signal CK and a data clock signal WCK. Theclock control circuit 280 may generate an internal clock signal ICK by buffering the system clock signal CK. The phase of the buffered internal clock signal ICK may be almost the same as the phase of the clock signal CK. In some embodiments, theclock control circuit 280 may generate the internal clock signal ICK by dividing the clock signal CK. In an embodiment, theclock control circuit 280 may generate the internal data clock signal IWCK using the data clock signal WCK. Theclock control circuit 280 may adjust a duty cycle and/or delay of the data clock signal WCK by using a first code OP1 and/or a second code OP2. Theclock control circuit 280 may include a duty cycle adjustment circuit and a slew rate adjustment circuit. The duty cycle adjustment circuit may adjust a duty cycle of the data clock signal WCK based on the first code OP1. The slew rate adjustment circuit may adjust a delay of the data clock signal WCK based on the second code OP2. Theclock control circuit 280 may output the internal clock signal ICK and an internal data clock signal IWCK. - A DQ buffer 282 may receive a write DQ from the system-on-
chip 110 or output a read DQ to the system-on-chip 110. Since the DQ is a bi-directional signal, the DQ buffer 282 may include both a receiver (not shown) for receiving the write DQ and a transmitter (not shown) for outputting the read DQ. TheDQS buffer 284 may receive the write DQS and/or write DQSB from the system-on-chip 110 or output the read DQS and/or read DQSB to the system-on-chip 110. Since the DQS is a bi-directional signal, theDQS buffer 284 may include both a receiver (not shown) for receiving the write DQS and a transmitter (not shown) for outputting the read DQS. - The data I/O circuit 290 may include a read circuit 292 and a write circuit 294. The read circuit 292 may receive read data from an input/output sense amp 211. The read circuit 292 may store the received read data in a first-in first-out (FIFO) 296. The read circuit 292 may serialize the read data and transmit the read DQS and the read DQ to the system-on-
chip 110 through the DQ buffer 282 and theDQS buffer 284. The read circuit 292 may operate based on the internal data clock signal IWCK. In some embodiments, the read circuit 292 may transmit a plurality of first test patterns stored in the FIFO 296 to the system-on-chip 110 through the DQ buffer 282 and theDQS buffer 284. Aselector 298 may serialize and output the first test pattern stored in the FIFO 296 at an edge of the internal data clock signal IWCK. The write circuit 294 may receive the write DQ and the write DQS from the system-on-chip 110 through the DQ buffer 282 and theDQS buffer 284. The write circuit 294 may sample or parallelize the write DQ using the write DQS and provide the sampling result to the write driver as write data. The write circuit 294 may operate based on the internal data clock signal IWCK. -
FIG. 3 is a block diagram of a system-on-chip according to an embodiment. - Referring to
FIG. 3 , a system-on-chip 300 may include amemory controller 310 and a double data rate (DDR) physical layer (PHY) 320. Thememory controller 310 may control the memory device 200 (inFIG. 2 ) through theDDR PHY 320. Thememory controller 310 may generate commands and addresses for accessing the memory device 200. Thememory controller 310 may generate data to be stored in the memory device 200. Thememory controller 310 may receive data stored in the memory device 200. - The
DDR PHY 320 may also be referred to as a DDR PHY interface. TheDDR PHY 320 may transmit a system clock signal CK, a data clock signal WCK, and a command CMD and address ADD to the memory device 200 based on the control of thememory controller 310. TheDDR PHY 320 may transmit the DQ and the DQS to the memory device 200 based on the control of thememory controller 310. TheDDR PHY 320 may receive the DQS and the DQ from the memory device 200. Paths used by theDDR PHY 320 to transmit the DQS and the DQ to the memory device 200 and paths used by the memory device 200 to transmit the DQS and the DQ to theDDR PHY 320 may be the same and may be shared. - The
memory controller 310 may include acommand scheduler 312, acommand queue 314, aread data queue 316, and awrite data queue 318. Thecommand queue 314 may store commands and addresses issued by an external processor or the like. The command and address stored in thecommand queue 314 may be provided to theDDR PHY 320 based on the control of thecommand scheduler 312. In this case, at least one command and at least one address stored in thecommand queue 314 may be provided in parallel to theDDR PHY 320. Thecommand scheduler 312 may adjust the order of commands and addresses stored in thecommand queue 314, the timing when the command(s) and address(es) are input to thecommand queue 314, and the timing when the command(s) and address(es) are output from thecommand queue 314. - The
read data queue 316 may store read data transmitted from the memory device 200 through theDDR PHY 320 in response to a read request to the memory device 200 of the system-on-chip 300. The read data stored in theread data queue 316 may be processed by an external processor. Thewrite data queue 318 may store write data to be stored in the memory device 200. The write data stored in thewrite data queue 318 by the write request to the memory device 200 of the system-on-chip 300 may be transmitted to the memory device 200 through theDDR PHY 320. For example, thecommand queue 314, thecommand scheduler 312, theread data queue 316, and thewrite data queue 318 of thememory controller 310 may be implemented in the system-on-chip 300 using a hardware method, a software method, or a combination thereof. - The
DDR PHY 320 may include aclock generator 321, adata clock generator 322, a command andaddress generator 324, adata receiver 326, adata transmitter 328, and atraining circuit 330. Theclock generator 321, thedata clock generator 322, the command andaddress generator 324, thedata receiver 326, thedata transmitter 328, and thetraining circuit 330 of theDDR PHY 320 may be implemented in the system-on-chip 300 by using a hardware method, a software method, or a combination thereof. - The
clock generator 321 may generate a system clock signal CK that is output to the memory device 200. Thedata clock generator 322 may generate a data clock signal WCK output to the memory device 200. Although it is not illustrated inFIG. 3 , theclock generator 321 may include a DCC or DCA for adjusting a duty cycle of the system clock signal CK. Thedata clock generator 322 may also include a DCC or DCA that adjusts a duty cycle of the data clock signal WCK. - The command and
address generator 324 may receive a command or address from thecommand queue 314 and transmit the command or address to the memory device 200. For example, the number of command and address transmission paths between the command andaddress generator 324 and the memory device 200, logical states of signals transmitted through the above-described transmission paths, a transmission method, and the like will be defined in the JEDEC standard of the memory device 200. - The
data receiver 326 may receive read data from the memory device 200. Thedata receiver 326 may provide the received read data to theread data queue 316. Thedata receiver 326 may align the read DQS and read DQ or adjust the skew between the read DQS and read DQ. Thedata receiver 326 may include a delay locked loop DLL including a plurality of delay cells. For example, theread data receiver 326 may search for the optimal sampling point for determining the read DQ in the system-on-chip 300 while delaying the read DQS or read DQ based on a time unit delayed by one delay cell. - The
data transmitter 328 may receive write data from thewrite data queue 318. Thedata transmitter 328 may transmit the received write data to the memory device 200. Thedata transmitter 328 may align the write DQS and the write DQ or adjust the skew between the write DQS and the write DQ. Thedata transmitter 328 may also include a DLL including a plurality of delay cells. Thedata transmitter 328 may search for an optimal sampling point for determining the write DQ in the memory device 200 while delaying the write DQS or the write DQ based on a time unit delayed by one delay cell. - The
training circuit 330 may control the command andaddress generator 324 based on the control of the training program. For example, the command andaddress generator 324 may generate a read command, a write command, and the like for training by a training program and transmit it to the memory device 200. - Specifically, the
training circuit 330 may control the command andaddress generator 324 such that the command andaddress generator 324 outputs a mode register write MRW command and code CODE to the memory device 200. Thetraining circuit 330 may provide a value of the code CODE to the command andaddress generator 324. The mode register write command may be a command to write a code to the mode register (222 ofFIG. 2 ) of the memory device 200. Thetraining circuit 330 may set the duty cycle and/or delay of the internal data clock signal IWCK output by theclock control circuit 280 by changing the value of the code stored in the mode register 222 of the memory device 200 through the mode register write command. - In an embodiment, the
training circuit 330 may receive the read DQS and the read DQ of thedata receiver 326. Thetraining circuit 330 may change the value of code CODE based on the read DQS and/or the read DQ. Thetraining circuit 330 may include aduty cycle detector 332. Theduty cycle detector 332 may monitor the duty cycle of the read DQS and/or the read DQ. In an embodiment, theduty cycle detector 332 may detect whether the duty cycle of the read DQS and/or the read DQ is greater than or equal to the duty cycle reference value. Thetraining circuit 330 may determine a final value of the code based on the code CODE output when the duty cycle of the read DQS and/or read DQ is greater than or equal to the duty cycle reference value. - According to an embodiment, the
training circuit 330 may perform clock training of the memory device 200 based on the read DQS and read DQ of thedata receiver 326. Since thetraining circuit 330 is positioned within the system-on-chip 300 rather than the memory device 200, thetraining circuit 330 may determine an optimal duty cycle to which both the signal delay and the slew rate according to a physical interface between the memory device 200 and the system-on-chip 300 are reflected. -
FIG. 4 is a block diagram of a clock control circuit and a read circuit according to an embodiment. - Referring to
FIG. 4 , aclock control circuit 400 may include a first buffer 410 and asecond buffer 420. Theclock control circuit 400 may output a plurality of data clock signals WCK0, WCK180, WCK90, and WCK270 as a plurality of internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. The plurality of data clock signals WCK0, WCK180, WCK90, and WCK270 may have a phase difference of 90 degrees from each other. - The first buffer 410 may receive complementary data clock signals WCK0 and WCK180 or WCK90 and WCK270 and adjust a duty cycle of the data clock signals WCK0 and WCK180 or WCK90 and WCK270 to output adjusted data clock signals A_WCK0 and A_WCK180 or A_WCK90 and A_WCK270. The first buffer 410 may adjust the duty cycle of data clock signals WCK0 and WCK180 or WCK90 and WCK270 according to a first code OP11 or OP12. In some embodiments, the first buffer 410 may be a DCA.
- Table 1 illustrates example steps in which the
first buffer 410 a adjusts the duty cycle of data clock signals WCK0 and WCK180 according to the value of the first code OP11[n:0] (here, n is a natural number). In Table 1, the type of DCA is “W”, and W indicates writing to the mode registers 222. In Table 1, the first code OP11[n:0] may be formed of 4 bits, but the present invention is not limited thereto. -
TABLE 1 Function Type OP11 Data DCA W OP11[3:0] 0000b: 0 Steps (Default) 0001b: −1 Steps 0010b: −2 Steps 0011b: −3 Steps 0100b: −4 Steps 0101b: −5 Steps 0110b: −6 Steps 0111b: −7 Steps 1000b: RFU 1001b: +1 Steps 1010b: +2 Steps 1011b: +3 Steps 1100b: +4 Steps 1101b: +5 Steps 1110b: +6 Steps 1111b: +7 Steps - When a value of the code OP11[3:0] “0000b”, the
first buffer 410 a may not adjust the duty cycle of data clock signals WCK0 and WCK180. When the value of code OP11[3:0] is changed to one of the values from “0001b” to “111b”, thefirst buffer 410 a may reduce the duty cycle of the data clock signal WCK0 by an operation corresponding to the value of the code OP11[3:0]. Here, the data clock signal WCK180 is complementary to the data clock signal WCK0. Thefirst buffer 410 a may adjust the duty cycle of data clock signals WCK0 and WCK180 from the −1 operation to the −7 operation. Similarly, when the value of the code OP11[3:0] is changed to one of the values from “1001b” to “1111b”, thefirst buffer 410 a may include the duty cycle of the data clock signal WCK0 as much as an operation corresponding to the value of the code OP11[3:0]. Thefirst buffer 410 a may adjust the duty cycle of data clock signals WCK0 and WCK180 from the operation +1 to the operation +7. The size of the unit operation in Table 1 may be determined in advance. Thesecond buffer 420 may receive the complementary adjusted data clock signals A_WCK0 and A_WCK180 or A_WCK90 and A_WCK270 and adjust the delay of the adjusted data clock signals A_WCK0 and A_WCK180 or A_WCK90 and A_WCK270 to output the as the internal data clock signals IWCK0 and IWCK180 or IWCK90 and IWCK270. Thesecond buffer 420 may adjust the delay of data clock signals WCK0 and WCK180 or WCK90 and WCK27 o according to a second code P21 or OP22. In some embodiments, thesecond buffer 420 may include CML to CMOS amplifier. In some embodiments, thesecond buffer 420 may adjust the delay of the data clock signals WCK0 and WCK180 or WCK90 and WCK270 by controlling the slew rate of the input adjusted data clock signals A_WCK0 and A_WCK180 or A_WCK90 and A_WCK270. - Table 2 illustrates example steps in which the
second buffer 420 a adjusts the delay of the adjusted data clock signals A_WCK0 and A_WCK180 according to a value of the second code OP21[n:0] (here, n is a natural number). In Table 2, the type of DELAY is “W”. In Table 2, the second code OP21[n:0] may be formed of 4 bits, but the present invention is not limited thereto. -
TABLE 2 Function Type OP21 Data DELAY W OP21[3:0] 0000b: 0 Steps (Default) 0001b: −1 Steps 0010b: −2 Steps 0011b: −3 Steps 0100b: −4 Steps 0101b: −5 Steps 0110b: −6 Steps 0111b: −7 Steps 1000b: RFU 1001b: +1 Steps 1010b: +2 Steps 1011b: +3 Steps 1100b: +4 Steps 1101b: +5 Steps 1110b: +6 Steps 1111b: +7 Steps - When the value of the code OP21[3:0] is “0000b”, the
second buffer 420 a may not adjust the delay of the adjusted data clock signals A_WCK0 and A_WCK180. When the value of the code OP21[3:0] is changed to one of the values from “0001b” to “0111b”, thesecond buffer 420 a may reduce the delay of the data clock signals A_WCK0 and A_WCK180 by as much as an operation corresponding to the value of the code OP21[3:0]. Thesecond buffer 420 a may adjust the delay of the adjustable data clock signals A_WCK0 and A_WCK180 from the operation −1 to the operation −7. Similarly, when the value of code OP21[3:0] is changed to one of the values “1001b” to “1111b”, thesecond buffer 420 a may increase the delay of the data clock signals (A_WCK0 and A_WCK180) by as much as an operation corresponding to the value of the code OP21[3:0]. Thesecond buffer 420 a may adjust the delay of the adjusted data clock signals A_WCK0 and A_WCK180 from the operation +1 to the operation +7. The size of the unit operation in Table 2 may be determined in advance. Theread circuit 402 may serialize the first test pattern in synchronization with the internal data clock signals IWCK0 and IWCK180 or IWCK90 and IWCK270 transmitted from theclock control circuit 400 to output a read DQS RDQS and/or a read DQSB RDQSB. Theread circuit 402 may include aFIFO 430 and aselector 440. - The
FIFO 430 may output the stored first test pattern to a selector (MUX) 440. TheFIFO 430 may transmit the first test patterns D0, D1, D2, and D3 to theselector 440 as is, or transmit the second test pattern D0, D1, D2, and D3 to theselector 440 according to a control signal FLIP. At predetermined timing after a read command for training and the like is received from the training circuit 330 (inFIG. 3 ), the command decoder 221 (inFIG. 2 ) may provide the control signal FLIP to theFIFO 430. - The
selector 440 may serialize and output the first test patterns D0, D1, D2, and D3 or the second test patterns D0, D1, D2, and D3 provided to input ends I0, I1, I2, and I3 as a read DQS RDQS or a inverted read DRQS RDQSB at an edge of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. For example, theselector 440 may output data provided to the input end I0 as the read DQS RDQS at a rising edge at which the internal data clock signal IWCK0 is changed from a low level to a high level. Theselector 440 may output the data provided to the input end I1 as the read DQS RDQS at a rising edge at which the internal data clock signal IWCK90 is changed from the low level to the high level. Theselector 440 may output the data provided to the input end I2 as the read DQS RDQS at a rising edge at which the internal data clock signal IWCK180 is changed from the low level to the high level. Theselector 440 may output the data provided to the input end I3 as the read DQS RDQS at a rising edge at which the internal data clock signal IWCK270 is changed from the low level to the high level. In the following description, it will be described that theselector 440 outputs a read DQS RDQS or a inverted read DRQS RDQSB on the rising edge of internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270, but the present invention is not limited thereto. Theselector 440 may output a read DQS RDQS or a inverted read DRQS RDQSB on the falling edge or both rising and falling edges of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270, and accordingly, the values of the first test pattern and/or the second test pattern input to theselector 440 may be changed. - The signals RDQS and RDQSB output by the
read circuit 402 according to the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 output by theclock control circuit 400 will be described with reference toFIG. 5 toFIG. 12 . -
FIG. 5 andFIG. 6 are graphs that illustrate waveforms of input/output signals of the clock control circuit and the read circuit. - Referring to
FIG. 5 , “1100” may be provided as the first test patterns D0, D1, D2, and D3 to the input ends I0, I1, I2, and I3. The selector may output the “1100” output to the input ends I0, I1, I2, and I3 as the read DQS RDQS at rising edges of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. At the rising edge of the internal data clock signal IWCK0, a logic value “1” of the first test pattern D0 provided to the input end I0 may be output as the read DQS RDQS. At the rising edge of the internal data clock signal IWCK90, a logic value “1” of the first test pattern D1 provided to the input end I1 may be output as the read DQS RDQS. At the rising edge of the internal data clock signal IWCK180, a logic value “0” of the first test pattern D2 provided to the input end I3 may be output as the read DQS RDQS. At the rising edge of the internal data clock signal IWCK270, a logic value “0” of the first test pattern D3 provided to the input end I1 may be output as the read DQS RDQS. - The first code OP11 may be provided to the
first buffer 410 a of theclock control circuit 400. In each period PA1, . . . , PA3, . . . , PA7, PA8, PA9, . . . , PA12, . . . , and PA15, the system-on-chip 300 may adjust the first code OP11. Then, in each period PA1, . . . , PA3, . . . , PA7, PA8, PA9, . . . , PA12, . . . , and PA15, theclock control circuit 400 may adjust the duty cycle of data clock signals WCK0 and WCK180 with steps −7, . . . , −5 . . . , −1, 0, 1, . . . , 4, . . . , and 7, and output them as the internal data clock signals IWCK0 and IWCK180. Theread circuit 402 may output read DQS RDQS according to the internal data clock signals IWCK0 and IWCK180 of which the duty cycles are adjusted. The system-on-chip 300 may receive the read DQS RDQS of the memory device 200 and determine whether the duty cycle of the read DQS RDQS is equal to or greater than the duty cycle reference value. Since the duty cycle of the read DQS RDQS in the first to seventh periods PA1, . . . , and PA7 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQS RDQS in the eighth period to the fifteenth period PA8, . . . , and PA15 is greater than or equal to the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”. - Referring to
FIG. 6 , second test patterns D0, D1, D2, and D3 “0011” inverted from the first test patterns D0, D1, D2, and D3 “1100” may be provided to the input ends I0, I1, I2, and I3 according to the control signal FLIP. Theselector 440 may output “0011” provided to the input ends I0, I1, I2, and I3 as a read DQSB RDQSB on the rising edge of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. At the rising edge of the internal data clock signal IWCK0, the logic value “0” of the first test pattern D0 provided to the input end I0 may be output to the read DQSB RDQSB. At the rising edge of the internal data clock signal IWCK90, the logic value “0” of the first test pattern D1 provided to the input end I1 may be output to the read DQSB RDQSB. At the rising edge of the internal data clock signal IWCK180, the logic value “1” of the first test pattern D2 provided to the input end I2 may be output to the read DQSB RDQSB. At the rising edge of the internal data clock signal IWCK270, the logic value “1” of the first test pattern D3 provided to the input end I3 may be output to the read DQSB RDQSB. The system-on-chip 300 may receive the read DQSB RDQSB of the memory device 200 and determine whether the duty cycle of the read DQSB RDQSB is equal to or greater than a duty cycle reference value. Since the duty cycle of the read DQSB RDQSB in the first period to eighth period PA1, . . . , and PA8 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQSB RDQSB in the ninth period to the fifteenth period PA9, . . . , and PA15 is greater than or equal to the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”. InFIG. 5 andFIG. 6 , the first code OP11 is sequentially increased from the operation −7 to the operation +7, but the method of the system-on-chip 300 for adjusting the first code OP11 is not limited thereto. - Next, referring to
FIG. 7 andFIG. 8 , a method for the system-on-chip 300 to determine a final value OP11 of the first code will be described. -
FIG. 7 andFIG. 8 are tables illustrating the code for adjusting the duty cycle of the internal data clock signal according to an embodiment. - The system-on-
chip 300 may determine the final value OP11 of the first code based on the duty DUTY according to the first code OP11 of the first test pattern and the duty DUTY according to the first code OP11 of the second test pattern. The system-on-chip 300 may determine the final value OP11 of the first code based on the value of the first code OP11 in which the DUTY is changed. In some embodiments, the system-on-chip 300 may determine the final value OP11 of the first code with a middle value of the first code OP11 of which the duty DUTY is changed according to the output of the first test pattern, and the first code OP11 of which the duty DUTY is changed according to the output of the second test pattern. - Referring to
FIG. 7 , since the duty DUTY determined according to the output of the first test pattern was changed between the −1 operation and the 0 operation and the duty DUTY determined according to the output of the second test pattern was changed between the 0 operation and the 1 operation, the system-on-chip 300 may determine the final value of the first code OP11 as avalue indicating operation 0, which is an intermediate value between the operation −1 and theoperation 1. - Referring to
FIG. 8 , since the duty DUTY determined according to the output of the first test pattern changed between theoperation 4 and theoperation 5, and the duty DUTY determined according to the output of the second test pattern changed between theoperation 1 and theoperation 2, the system-on-chip 300 may determine the final value of the first code OP11 as a value indicating theoperation 3, which is an intermediate value between theoperation 1 and theoperation 5. - The system-on-
chip 300 may provide the first code OP11 for controlling thefirst buffer 410 a to the memory device 200, and determine the final value OP11 of the first code based on the read DQS and the read DQSB input from the memory device 200. Accordingly, the system-on-chip 300 may train the internal data clock signals IWCK0 and IWCK180 such that the internal data clock signals IWCK0 and IWCK180 have phases that are exactly complementary to each other. -
FIG. 9 andFIG. 10 are graphs illustrating the waveforms of the input and output signals of the clock control circuit and the read circuit. - Referring to
FIG. 9 , the first test patterns D0, D1, D2, and D3 “0110” may be provided to the input ends I0, I1, I2, and I3. Theselector 440 may output “0110” provided to the input ends I0, I1, I2, and I3 as the read DQS RDQS on the rising edge of internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. - A first code OP12 may be provided to the
first buffer 410 a of theclock control circuit 400. In each period PA1, . . . , PA3, . . . , PA7, PA8, PA9, . . . , PA12, . . . , and PA15, the system-on-chip 300 may adjust the first code OP12. Then, in each period PA1, . . . , PA3, . . . , PA7, PA8, PA9, . . . , PA12, . . . , and PA15, theclock control circuit 400 may adjust the duty cycle of the data clock signals WCK90 and WCK270 with the steps −7, . . . , −5, . . . , −1, 0, 1, . . . , 4, . . . , and 7, and output as the internal data clock signals IWCK90 and IWCK270. Theread circuit 402 may output the read DQS RDQS according to the data clock signals IWCK90 and IWCK270 of which the duty cycle is adjusted. The system-on-chip 300 may receive the read DQS RDQS of the memory device 200 and determine whether the duty cycle of the read DQS RDQS is equal to or greater than a duty cycle reference value. Since the duty cycle of the read DQS RDQS in the first to eighth periods PA1, . . . , and PA8 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQS RDQS in the ninth period to the fifteenth period PA9, . . . , and PA15 is equal to or greater than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”. - Referring to
FIG. 10 , second test patterns D0, D1, D2, and D3 “1001” inverted from the first test patterns D0, D1, D2, and D3 “0110” may be provided to the input ends I0, I1, I2, and I3 according to the control signal FLIP. Theselector 440 may output “1001” provided to the input ends I0, I1, I2, and I3 as the read DQS RDQS on the rising edge of internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. The system-on-chip 300 may receive the read DQSB RDQSB of the memory device 200 and determine whether the duty cycle of the read DQSB RDQSB is equal to or greater than the duty cycle reference value. Since the duty cycle of the read DQSB RDQSB in the first period to the seventh period PA1, . . . , and PA7 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQSB RDQSB in the eighth period to the fifteenth period PA8, . . . , and PA15 is greater than or equal to the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”. InFIG. 9 andFIG. 10 , it is described that the first code OP12 sequentially increases from the −7 operation to the +7 operation, but the manner in which the system-on-chip 300 adjusts the first code OP12 is not limited thereto. - The system-on-
chip 300 may determine the final value OP12 of the first code based on the duty DUTY according to the first code OP12 of the first test pattern and the duty DUTY according to the first code OP12 of the second test pattern. - The system-on-
chip 300 may provide the first code OP12 for controlling thefirst buffer 410 a to the memory device 200, and determine the final value OP12 of the first code based on the read DQS and the read DQSB input from the memory device 200. Accordingly, the system-on-chip 300 may train the internal data clock signals IWCK90 and IWCK270 such that the internal data clock signals IWCK90 and IWCK270 have phases that are exactly complementary to each other. -
FIG. 11 andFIG. 12 are graphs illustrating the waveforms of the input and output signals of the clock control circuit and the read circuit. - Referring to
FIG. 11 , the first test patterns D0, D1, D2, and D3 “1010” may be provided to the input ends I0, I1, I2, and I3. Theselector 440 may output “1010” provided to the input ends I0, I1, I2, and I3 as the read DQS RDQS on the rising edge of internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. At the rising edge of the internal data clock signal IWCK0, the logic value “1” of the first test pattern D0 provided to the input end I0 may be output as the read DQS RDQS. At the rising edge of the internal data clock signal IWCK90, the logic value “0” of the first test pattern D1 provided to the input end I1 may be output as the read DQS RDQS. At the rising edge of the internal data clock signal IWCK180, the logic value “1” of the first test pattern D2 provided to the input end I3 may be output as the read DQS RDQS. At the rising edge of the internal data clock signal IWCK270, the logic value “0” of the first test pattern D3 provided to the input end I1 may be output as the read DQS RDQS. - A second code OP22 may be provided to the
second buffer 410 b of theclock control circuit 400. In each period PA1, . . . , PA3, . . . , PA7, PA8, PA9, . . . , PA12, . . . , and PA15, the system-on-chip 300 may adjust the second code OP22. Then, in each period PA1, . . . , PA3, . . . , PA7, PA8, PA9, . . . , PA12, . . . , and PA15, theclock control circuit 400 may adjust the delay of data clock signals WCK90 and WCK270 with the steps −7, . . . , −5, . . . , −1, 0, 1, . . . , 4, . . . , and 7 and output as the internal data clock signals IWCK90 and IWCK270. Theread circuit 402 may output the read DQS RDQS according to the internal data clock signals IWCK90 and IWCK270 of which the delay is adjusted. The system-on-chip 300 may receive the read DQS RDQS of the memory device 200 and determine whether the duty cycle of the read DQS RDQS is equal to or greater than the duty cycle reference value. Since the duty cycle of the read DQS RDQS in the first to seventh periods PA1, . . . , and PA7 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQS RDQS in the eighth period to the fifteenth period PA8, . . . , and PA15 is greater than or equal to the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”. - Referring to
FIG. 12 , second test patterns D0, D1, D2, and D3 “0101” inverted from the first test patterns D0, D1, D2, and D3 “1010” according to the control signal FLIP may be provided to the input ends I0, I1, I2, and I3. Theselector 440 may output “0101” provided to the input ends I0, I1, I2, and I3 as a read DQSB RDQSB on the rising edge of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. At the rising edge of the internal data clock signal IWCK0, the logic value “0” of the first test pattern D0 provided to the input end I0 may be output as the read DQSB RDQSB. At the rising edge of the internal data clock signal IWCK90, the logic value “1” of the first test pattern D1 provided to the input end I1 may be output as the read DQSB RDQSB. At the rising edge of the internal data clock signal IWCK180, the logic value “0” of the first test pattern D2 provided to the input end I2 may be output as the read DQSB RDQSB. At the rising edge of the internal data clock signal IWCK270, the logic value “1” of the first test pattern D3 provided to the input end I3 may be output as the read DQSB RDQSB. The system-on-chip 300 may receive the read DQSB RDQSB of the memory device 200 and determine whether the duty cycle of the read DQSB RDQSB is equal to or greater than the duty cycle reference value. Since the duty cycle of the read DQSB RDQSB in the first to seventh periods PA1, . . . , and PA7 is less than the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “0”. Since the duty cycle of the read DQSB RDQSB in the eighth period to the fifteenth period PA8, . . . , and PA15 is greater than or equal to the duty cycle reference value, the system-on-chip 300 may determine the duty DUTY as a logic value “1”. InFIG. 11 andFIG. 12 , the second code OP22 is described to be sequentially increased from the operation −7 to theoperation 7, but the method in which the system-on-chip 300 adjusts the second code OP22 is not limited thereto. - The system-on-
chip 300 may determine the final value of the second code OP22 based on the duty DUTY according to the second code OP22 of the first test pattern and the duty DUTY according to the second code OP22 of the second test pattern. - The system-on-
chip 300 provides the second code OP22 for controlling thesecond buffer 420 b to the memory device 200, and may determine the final value of the second code OP22 based on the read DQS and the read DQSB input from the memory device 200. As a result, the system-on-chip 300 may train the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 such that there may be an exact 90 degree phase difference between two adjacent internal data clock signals among internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. -
FIG. 13 is a flowchart of a clock training method according to an embodiment. - The system-on-
chip 300 determines the first code OP11, which adjusts the duty cycle of two internal data clock signals IWCK0 and IWCK180 having a complementary phase among the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 (S1300). The system-on-chip 300 may determine the first code OP11 that controls the DCA that adjusts the duty cycle of the internal data clock signals IWCK0 and IWCK180 of the memory device 200 based on the signal RDQS output from the memory device 200. - The system-on-
chip 300 determines the first code OP12, which adjusts the duty cycle of two internal data clock signals IWCK90 and IWCK270 having a complementary phase among the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 (S1310). The system-on-chip 300 may determine the first code OP12 that controls the DCA that adjusts the duty cycle of the internal data clock signals IWCK90 and IWCK270 of the memory device 200 based on the signal RDQSB output from the memory device 200. In an embodiment, the order of operation S1300 and S1310 is not limited. - The system-on-
chip 300 determines the second code OP21 or OP22 that adjusts the delay of at least a pair of complementary internal data clock signals IWCK0 and IWCK180 or IWCK90 and IWCK270 among internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 (S1320). - The system-on-
chip 300 writes the first codes OP11 and OP12 and the second codes OP21 and OP22 to the mode register 222 of the memory device 200 by issuing the MRW command (S1330). Then, the memory device 200 may adjust the duty cycle of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 using the first codes OP11 and OP12 and the second codes OP21 and OP22 stored in the mode register 222. - Accordingly, the system-on-
chip 300 may perform training of the data clock signal WCK of the memory device 200. - Next, referring to
FIG. 14 ,FIG. 15 , andFIG. 16 , each operation ofFIG. 13 will be described in detail. -
FIG. 14 ,FIG. 15 , andFIG. 16 are flowcharts that illustrate some operations of the clock training method according to the embodiment. - Referring to
FIG. 14 , the system-on-chip 300 outputs a plurality of data clock signals WCK0, WCK180, WCK90, WCK270, and outputs the first code OP11 that adjusts the duty cycle of two internal data clock signals IWCK0 and IWCK180 having a complementary phase among the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 generated based on the plurality of data clock signals WCK0, WCK180, WCK90, and WCK270 is output to the memory device 200 (S1400). In this case, the system-on-chip 300 may provide the first codes OP12 and the second codes OP21 and OP22 as default values. - The system-on-
chip 300 determines whether the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is greater than or equal to the duty cycle reference value (e.g., 50%) (S1401). - When the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is greater than or equal to the duty cycle reference value (e.g., 50%), the system-on-
chip 300 sets the duty value to “1” (S1402). When the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is less than the duty cycle reference value, the system-on-chip 300 sets the duty value to “0” (S1403). - The system-on-
chip 300 determines whether the output of all first code OP11 is completed (S1404). The system-on-chip 300 may determine whether all the plurality of first codes OP11 indicating a predetermined plurality of steps are output during this training. - When the output of all the first codes OP11 is not completed, the system-on-
chip 300 adjusts the first code OP11 (S1405). The system-on-chip 300 may provide by increasing or decreasing the value of the first code OP11. For example, when the first code OP11 indicating the operation −7 is output in S1400, the first code OP11 adjusted in S1405 may indicate the operation −6. - When outputs of all the first codes OP11 are completed, the system-on-
chip 300 determines the final value OP11 of the first codes based on an output signal RDQS or RDQSB from the memory device 200 (S1406). S1400 to S1405 may be performed with respect to the first test pattern and the second test pattern. The system-on-chip 300 may determine the final value of the first code OP11 based on the read DQS RDQS with the first test pattern output in synchronization with the internal data clock signals IWCK0 and IWCK180 of which the clock cycle is adjusted according to the first code OP11 and the read DQSB RDQSB with the second test pattern output in synchronization with the internal data clock signals IWCK0 and IWCK180 of which the clock cycle is adjusted according to the first code OP11. - Referring to
FIG. 15 , the system-on-chip 300 outputs the first code OP12 that adjusts the duty cycle of the two internal data clock signals IWCK90 and IWCK270 having complementary phases among the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 generated based on the plurality of data clock signals WCK0, WCK180, WCK90, and WCK270 (S1500). In this case, the system-on-chip 300 provides the first code OP11 with the value determined in S1300 ofFIG. 13 , and provides the second codes OP21 and OP22 by setting as default values. - The system-on-
chip 300 determines whether the duty cycle of the output signal of the memory device 200 is greater than or equal to the duty cycle reference value (S1501). - When the duty cycle of the output signal of the memory device 200 is greater than or equal to the duty cycle reference value (e.g., 50%), the system-on-
chip 300 sets the duty value to “1” (S1502). When the duty cycle of the output signal of the memory device 200 is less than the duty cycle reference value, the system-on-chip 300 sets the duty value to “0” (S1503). - The system-on-
chip 300 determines whether the output of all first codes OP12 is completed (S1504). The system-on-chip 300 may determine whether all the plurality of first codes OP12 indicating a predetermined plurality of steps are output during this training. - When the output of all the first codes OP12 is not completed, the system-on-
chip 300 adjusts the first codes OP12 (S1505). The system-on-chip 300 may provide the first codes OP12 by increasing or decreasing the value of the first codes OP12. - When the output of all first codes OP12 is completed, the system-on-
chip 300 determines the final value of the first code OP12 based on a signal RDQS or RDQSB output from the memory device 200 (S1506). S1500 to S1505 may be performed with respect to the first test pattern and the second test pattern. The system-on-chip 300 may determine the final value of the first code OP12 based on the read DQS RDQS with the first test pattern output in synchronization with the internal data clock signals IWCK90 and IWCK270 of which the clock cycle is adjusted according to the first code OP12 and the read DQSB RDQSB with the second test pattern output in synchronization with the internal data clock signals IWCK90 and IWCK270 of which the clock cycle is adjusted according to the first code OP12. - Referring to
FIG. 16 , the system-on-chip 300 outputs the second codes OP21 and OP22 that adjust the delay of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 to the memory device 200 (S1600). In this case, the system-on-chip 300 may provide the first code OP11 with the value determined in S1300 ofFIG. 13 , and provide the first code OP12 with the value determined in S1310 ofFIG. 13 . - The system-on-
chip 300 determines whether the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is greater than or equal to the duty cycle reference value (e.g., 50%) (S1601). - When the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is greater than the duty cycle reference value (e.g., 5 0%), the system-on-
chip 300 sets the duty value to “1” (S1602). When the duty cycle of the output signal RDQS or RDQSB of the memory device 200 is less than the duty cycle reference value, the system-on-chip 300 sets the duty value to “0” (S1603). - The system-on-
chip 300 determines whether the output of all second codes OP21 and OP22 is completed (S1604). The system-on-chip 300 may determine whether a plurality of second codes OP21 and OP22 indicating a predetermined plurality of steps are output during this training. - When the output of all the second codes OP21 and OP22 is not completed, the system-on-
chip 300 adjusts the second codes OP21 and OP22 (S1605). The system-on-chip 300 may provide the second codes OP21 and OP22 by increasing or decreasing the values of the second codes OP21 and OP22. For example, when the second code OP21 indicating the operation −7 is output in S1600, the second code OP31 adjusted in S1605 may indicate the operation −6. The system-on-chip 300 may adjust one of the second codes OP21 and OP22, and may not adjust the other, or both the second codes OP21 and OP22. - When outputs of all the second codes OP21 and OP22 are completed, the system-on-
chip 300 determines the final values of the second codes OP21 and OP22 based on the signal output from the memory device 200 (S1606). S1600 to S1605 may be performed with respect to the first test pattern and the second test pattern. The system-on-chip 300 may determine final values of the second codes OP21 and OP22 based on the read DQS RDQS with the first test pattern output in synchronization with the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 of which the delay is adjusted according to the second codes OP21 and OP22 and the read DQSB RDQSB with the second test pattern output in synchronization with the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 of which the delay is adjusted according to the second codes OP21 and OP22. - In the above, the system-on-
chip 300 may determine whether the duty cycle of the read DQS and/or the read DQSB output from the memory device 200 is equal to or greater than the duty cycle reference value. The read DQS and/or the read DQSB may be provided to the system-on-chip 300 through the interface between the memory device and the system-on-chip 300. The system-on-chip 300 may determine whether the duty cycle of the read DQS and/or read DQSB to which the skew and delay according to the interface are reflected is greater than or equal to the standard value. Therefore, since the data clock signal of the memory device 200 is trained by reflecting the skew, delay, and the like, it is possible to output the signal at more accurate timing during the actual read operation. -
FIG. 17 is a block diagram of a clock control circuit and a read circuit according to an embodiment. - Referring to
FIG. 17 , aclock control circuit 1700 may include afirst buffer 1710 and asecond buffer 1720, and aread circuit 1702 may include aFIFO 1730, aselector 1740, and aduty cycle detector 1750. Compared toFIG. 4 , descriptions of the same or similar components will be omitted. - The
selector 1740 serializes the first test patterns D0, D1, D2, and D3 provided to the input ends I0, I1, I2, and I3 and output as an output signal OUT at the edge of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. - The
duty cycle detector 1750 may monitor a duty cycle of the output signal OUT output by theselector 1740. In an embodiment, theduty cycle detector 1750 may detect whether the duty cycle of the output signal OUT is greater than or equal to a duty cycle reference value. Theduty cycle detector 1750 may output a value as a DQ according to whether the duty cycle of the output signal OUT is equal to or greater than the duty cycle reference value. - The
training circuit 330 ofFIG. 3 may determine the final values of the first codes OP11 and OP12 and the final values of the second codes OP21 and OP22 based on the DQ received when the first codes OP11 and OP12 and the second codes OP21 and OP22 are adjusted. - Even in the present embodiment in which the
read circuit 1702 includes aduty cycle detector 1750, training ofFIG. 13 can also be performed. - Referring to
FIG. 13 , the system-on-chip 300 determines the first code OP11 to adjust the duty cycle of two internal data clock signals IWCK0 and IWCK180 with complementary phases among internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 (S1300). The system-on-chip 300 may determine the first code OP11 that controls the DCA that adjusts the duty cycle of the internal data clock signals IWCK0 and IWCK180 of the memory device 200 based on the signal DQ output from the memory device 200. - The system-on-
chip 300 determines the first code OP12 that adjusts the duty cycle of two internal data clock signals IWCK90 and IWCK270 having complementary phases among the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 (S1310). The system-on-chip 300 may determine the first code OP12 that controls the DCA adjusting the duty cycle of the internal data clock signals IWCK90 and IWCK270 of the memory device 200 based on the signal DQ output from the memory device 200. In an embodiment, the order of S1300 and S1310 is not restrictive. - The system-on-
chip 300 determines the second code OP21 and/or OP22 that adjusts the delay of at least one pair of complementary internal data clock signals IWCK0 and IWCK180 or IWCK90 and IWCK270 among the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 (S1320). - The system-on-
chip 300 writes the first codes OP11 and OP12 and the second codes OP21 and OP22 to the mode register 222 of the memory device 200 by issuing the MRW command (S1330). Then, the memory device 200 may adjust the duty cycle of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 using the first codes OP11 and OP12 and the second codes OP21 and OP22 stored in the mode register 222. - Accordingly, the system-on-
chip 300 may perform training of the data clock signal WCK of the memory device 200. -
FIG. 18 toFIG. 20 are flowcharts that illustrate some operations of the clock training method according to an embodiment. - Referring to
FIG. 18 , the system-on-chip 300 uses the first code OP11 to adjust the duty cycle of two internal data clock signals (IWCK0, IWCK180) having a complementary phase among the internal data clock signals (IWCK0, IWCK90, IWCK180, IWCK270) memory device 200 (S1800). In this case, the system-on-chip 300 may provide the first codes OP12 and second codes OP21 and OP22 as default values. - The system-on-
chip 300 receives the output signal DQ of the memory device 200 (S1801). - The system-on-
chip 300 determines whether the output of all first codes OP11 is completed (S1802). The system-on-chip 300 may determine whether all the plurality of first codes OP11 indicating a predetermined plurality of steps are output during this training. - When the output of all the first codes OP11 is not completed, the system-on-
chip 300 adjusts the first code OP11 (S1803). - When the output of all the first codes OP11 is completed, the system-on-
chip 300 determines the final value of the first code OP11 based on the output signal DQ from the memory device 200 (S1804). S1800 to S1803 may be performed with respect to the first test pattern and the second test pattern. The system-on-chip 300 may determine the final value of the first code OP11 based on the signal DQ that instructs the duty cycle of the signal OUT output with the first test pattern in synchronization with the internal data clock signals IWCK0 and IWCK180 and the signal DQ that instructs the duty cycle of the signal OUT output with the second test pattern in synchronization with the internal data clock signals IWCK0 and IWCK180. - Referring to
FIG. 19 , the system-on-chip 300 outputs the first code OP12 that adjusts the duty cycle of two internal data clock signals IWCK90 and IWCK270 having complementary phases among the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 to the memory device 200 (S1900). In this case, the system-on-chip 300 may provide the first code OP11 with the value determined in S1300 ofFIG. 13 , and may provide the second codes OP21 and OP22 by setting default values. - The system-on-
chip 300 receives the output signal DQ of the memory device 200 (S1901). - The system-on-
chip 300 determines whether the output of all the first codes OP12 is completed (S1901). The system-on-chip 300 may determine whether all the plurality of first codes OP12 indicating a predetermined plurality of steps are output during this training. - When the output of all the first codes OP12 is not completed, the system-on-
chip 300 adjusts the first code OP12 (S1903). The system-on-chip 300 may provide the first code OP12 by increasing or decreasing the value of first code OP12. - When the output of all the first codes OP12 is completed, the system-on-
chip 300 determines the final value of the first code OP12 based on the signal output from the memory device 200 (S1904). S1900 to S1903 may be performed with respect to the first test pattern and the second test pattern. The system-on-chip 300 may determine the final value of the first code OP12 based on the signal DQ that instructs the duty cycle of the signal OUT output with the first test pattern in synchronization with the internal data clock signals IWCK90 and IWCK270 and the signal DQ that instructs the duty cycle of the signal OUT output with the second test pattern in synchronization with the internal data clock signals IWCK90 and IWCK270. - Referring to
FIG. 20 , the system-on-chip 300 outputs the second codes OP21 and OP22 that adjust the delays of the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 to the memory device 200 (S2000). In this case, the system-on-chip 300 may provide the first code OP11 with the value determined in S1300 ofFIG. 13 , and may provide the first code OP12 with the value determined in S1310 ofFIG. 13 . - The system-on-
chip 300 receives the output signal DQ of the memory device 200 (S2001). - The system-on-
chip 300 determines whether the output of all the second codes OP21 and OP22 is completed (S2002). The system-on-chip 300 may determine whether all the plurality of second codes OP21 and OP22 indicating a predetermined plurality of steps are output during this training. - When the output of all the second codes OP21 and OP22 is not completed, system-on-
chip 300 adjusts second codes OP21 and OP22 (S2003). The system-on-chip 300 may provide the second codes OP21 and OP22 by increasing or decreasing the values of the second codes OP21 and OP22. For example, when the second code OP21 indicating the operation −7 is output in S2000, the first code OP21 adjusted in S2005 may indicate the operation −6. The system-on-chip 300 may adjust one of the second codes OP21 and OP22, and may not adjust the other, or both the second codes OP21 and OP22. - When the output of all the second codes OP21 and OP22 is completed, the system-on-
chip 300 determines final values of the second codes OP21 and OP22 based on the signal output from the memory device 200 (S2004). S2000 to S2003 may be performed with reference to the first test pattern and the second test pattern. The system-on-chip 300 may determine the final values of the second codes OP21 and OP22 based on the signal DQ that instructs the duty cycle of the signal OUT output with the first test pattern in synchronization with the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270 and the signal DQ that instructs the duty cycle of the signal OUT output with the second test pattern in synchronization with the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. - The memory device 200 may output a signal DQ indicating the duty cycle of a signal OU) that is output by serializing the first test pattern in synchronization with the internal data clock signals IWCK0, IWCK90, IWCK180, and IWCK270. The system-on-
chip 300 may perform training of the data clock signal WCK of the memory device 200 based on the signal DQ output from the memory device 200. -
FIG. 21 is an example block diagram of a computer system according to an embodiment. - Referring to
FIG. 21 , acomputing system 2100 includes aprocessor 2110, amemory 2120, amemory controller 2130, astorage device 2140, acommunication interface 2150, and abus 2160. Thecomputing system 2100 may further include other general constituent elements. - The
processor 2110 controls the overall operation of each component of thecomputing system 2100. Theprocessor 2110 may be implemented as at least one of various processing units such as a central processing unit (CPU), an application processor (AP), and a graphics processing unit (GPU). - The
memory 2120 stores various data and commands. Thememory 2120 may be implemented with the memory device described with reference toFIG. 1 toFIG. 12 . Thememory controller 2130 controls transmission of data or commands to and from thememory 2120. - The
processor 2110 and thememory controller 2130 may be implemented as the system-on-chip described with reference toFIG. 1 toFIG. 20 . In some embodiments, thememory controller 2130 may be provided as an internal configuration of theprocessor 2110. In some embodiments, thememory controller 2130 may be provided as a separate chip from theprocessor 2110. - The
memory controller 2130 may perform, based on the output signal from thememory 2120, training of the internal data clock signal IWCK generated based on the data clock signal WCK. Thememory 2120 may output the first test pattern in synchronization with the internal data clock signal IWCK, or output the second test pattern inverted with the first test pattern in synchronization with the internal data clock signal IWCK. Thememory controller 2130 may adjust the duty cycle of the data clock signal WCK based on the output signal, or may provide a code for adjusting the delay to thememory 2120. - The
storage device 2140 non-temporarily stores programs and data. In some embodiments, thestorage device 2140 may be implemented with a non-volatile memory. Thecommunication interface 2150 supports the wireless Internet communication of thecomputing system 2100. In addition, thecommunication interface 2150 may support various communication methods other than Internet communication. Thebus 2160 provides a communication function between constituent elements of thecomputing system 2100. Thebus 2160 may include at least one type of bus according to a communication protocol between constituent elements. - In some embodiments, each of the constituent elements or a combination of two or more constituent elements described with reference to
FIG. 1 toFIG. 20 may be implemented as a digital circuit, a programmable or non-programmable logic device or array, an application specific integrated circuit (ASIC), and the like. - While this invention has been described in connection with what is presently considered to be practical embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. On the contrary, it is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims (20)
1. A semiconductor device comprising:
a clock generation circuit configured to output a plurality of clock signals that have different phases to a memory device, an internal clock signal of the memory device being generated responsive to the plurality of clock signals; and
a training circuit configured to receive an output signal output based on the internal clock signal from the memory device, to adjust a value of a code used to generate the internal clock signal by adjusting a phase of at least one clock signal among the plurality of clock signals, to determine a final value of the code based on a duty cycle of the output signal, which is changed according to the adjustment of the value of the code, and to write the final value to the memory device.
2. The semiconductor device of claim 1 , wherein
the training circuit is configured to determine the final value based on values of the code that change the duty cycle of the output signal more than a duty cycle reference value.
3. The semiconductor device of claim 2 , wherein
the training circuit comprises a duty cycle detector configured to determine a duty value of the output signal according to whether the duty cycle of the output signal is greater than or equal to the duty cycle reference value, and
the training circuit is configured to determine the final value based on the values of the code in which the duty value of the output signal changes.
4. The semiconductor device of claim 3 , wherein
the duty cycle detector is configured to determine a duty value of a first output signal output by the memory device in synchronization with the internal clock signal for a first test pattern and a duty value of a second output signal output by the memory device in synchronization with the internal clock signal of a second test pattern, which is inverted the first test pattern, and
the training circuit is configured to determine the final value based on two adjacent values of the code at which the duty value of the first output signal changes and two adjacent values of the code at which the duty value of the second output signal changes.
5. The semiconductor device of claim 1 , wherein
the training circuit is configured to determine the final value based on two adjacent values of the code that changes a value of a first output signal that outputs a duty value of a first signal determined according to whether a duty cycle of the first signal serialized from a first test pattern in synchronization with the internal clock signal by the memory device is greater than or equal to a duty cycle reference value and two adjacent values of the code that changes a value of a second output signal that outputs a duty value of a second signal determined according to whether a duty cycle of the second signal serialized from a second test pattern, which is inverted from the first test pattern, in synchronization with the internal clock signal, is greater than or equal to the duty cycle reference value.
6. The semiconductor device of claim 1 , wherein
the code includes a code used in generation of the internal clock signal by adjusting a duty cycle of at least one clock signal among the plurality of clock signals.
7. The semiconductor device of claim 1 , wherein
the code includes a code used in generation of the internal clock signal by adjusting a delay of at least one clock signal among the plurality of clock signals.
8. The semiconductor device of claim 1 , wherein
the memory device is a low power double data rate 6 (LPDDR6) SDRAM.
9. An operation method of a semiconductor device, comprising:
outputting, to a memory device, a plurality of clock signals that have different phases and are used to generate an internal clock signal of the memory device;
outputting a code used to generate the internal clock signal by adjusting a phase of at least one clock signal among the plurality of clock signals;
receiving an output signal output based on the internal clock signal from the memory device;
adjusting a value of the code;
determining a final value of the code based on a duty cycle of the output signal, which changes according to adjustment of the value of the code; and
writing the final value to the memory device.
10. The operation method of the semiconductor device of claim 9 , wherein
the determining the final value comprises determining the final value based on values of the code that change the duty cycle of the output signal by more than a duty cycle reference value.
11. The operation method of the semiconductor device of claim 10 , further comprising determining a duty value of the output signal according to whether the duty cycle of the output signal is greater than or equal to the duty cycle reference value,
wherein the determining the final value based on the values of the code that change the duty cycle of the output signal comprises determining the final value based on the values of the code that change the duty value of the output value.
12. The operation method of the semiconductor device of claim 11 , wherein
the receiving the output signal from the memory device comprises:
receiving a first output signal that outputs a first test pattern in synchronization with the internal clock signal; and
receiving a second output signal that outputs a second test pattern inverted from the first test pattern in synchronization with the internal clock signal, and
the determining a duty value of the output signal comprises:
determining a duty value of the first output signal; and
determining a duty value of the second output signal, and
the determining the final value based on values of a code that changes the duty value of the output signal comprises:
determining the final value based on two adjacent values of the code that changes the duty value of the first output signal and two adjacent values of the code that changes the duty value of the second output signal.
13. The operation method of the semiconductor device of claim 10 , wherein
the receiving the output signal from the memory device comprises:
receiving, as a first output signal from the memory device, a duty value of a first signal determined according to whether a duty cycle of the first signal that serializes a first test pattern in synchronization with the internal clock signal by the memory device is greater than or equal to the duty cycle reference value; and
receiving, as a second output signal from the memory device, a duty value of a second signal determined according to whether a duty cycle of the second signal that serializes a second test pattern inverted from the first test pattern in synchronization with the internal clock signal is greater than or equal to the duty cycle reference value, and
the determining the final value based on values of the code comprises determining the final value based on two adjacent values of the code that changes a value of the first output signal and two adjacent values of the code that changes a value of the second output signal.
14. The operation method of the semiconductor device of claim 9 , wherein
the code comprises a code used to generate the internal clock signal by adjusting the duty cycle of the at least one clock signal among the plurality of clock signals.
15. The operation method of the semiconductor device of claim 9 , wherein
the code comprises a code used to generate the internal clock signal by adjusting a delay of the at least one clock signal among the plurality of clock signals.
16. A computing system comprising:
a memory device including a clock control circuit configured to generate a plurality of internal clock signals by buffering a plurality of clock signals, each having a different phase, and to generate at least one internal clock signal among the plurality of internal clock signals by adjusting the phase of at least one of the plurality of clock signals according to a code, and a read circuit that is configured to serialize a test pattern based on the plurality of internal clock signals and to output an output signal; and
a system-on-chip configured to adjust a value of the code, to determine a final value of the code based on a value of at least one code that changes a duty cycle of the output signal by more than a duty cycle reference value, and to write the final value in the memory device.
17. The computing system of claim 16 , wherein
the code comprises a first code and a second code,
the final value comprises a final value of the first code and a final value of the second code, and
the clock control circuit comprises:
a first buffer that is configured to adjust a duty cycle of the plurality of clock signals according to the first code, and
a second buffer that is configured to adjust a delay of the plurality of clock signals according to the second code.
18. The computing system of claim 17 , wherein
the plurality of internal clock signals comprise a first internal clock signal and a second internal clock signal that have complementary phases, and a third internal clock signal and a fourth internal clock signal that have complementary phases,
the test pattern comprises a first test pattern of which a value is changed in synchronization of the first internal clock signal and the second internal clock signal and is maintained in synchronization with the third internal clock signal and the fourth internal clock signal, and
the system-on-chip is configured to determine a final value of the first code based on a value of at least one first code that changes a duty cycle of an output signal output based on the first test pattern by more than the duty cycle reference value.
19. The computing system of claim 18 , wherein
the test pattern comprises a second test pattern of which a value is changed in synchronization with the first internal clock signal to the fourth internal clock signal, and
the system-on-chip is configured to determine a value of the second code based on the value of the second code that changes a duty cycle of an output signal output based on the second test pattern by more than the duty cycle reference value.
20. The computing system of claim 16 , wherein
the read circuit comprises:
a FIFO that is configured to output a first test pattern or a second test pattern inverted from the first test pattern; and
a selector that is configured to serialize the first test pattern or the second test pattern in synchronization with the plurality of internal clock signals and to output the first test pattern or the second test pattern as the output signal.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220061062 | 2022-05-18 | ||
KR10-2022-0061062 | 2022-05-18 | ||
KR1020220112102A KR20230161314A (en) | 2022-05-18 | 2022-09-05 | Semiconductor device |
KR10-2022-0112102 | 2022-09-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230377621A1 true US20230377621A1 (en) | 2023-11-23 |
Family
ID=88791932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/189,580 Pending US20230377621A1 (en) | 2022-05-18 | 2023-03-24 | Semiconductor device |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230377621A1 (en) |
TW (1) | TW202411992A (en) |
-
2023
- 2023-03-24 US US18/189,580 patent/US20230377621A1/en active Pending
- 2023-05-16 TW TW112117996A patent/TW202411992A/en unknown
Also Published As
Publication number | Publication date |
---|---|
TW202411992A (en) | 2024-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11061577B2 (en) | System on chip performing training of duty cycle of write clock using mode register write command, operating method of system on chip, electronic device including system on chip | |
US11003370B2 (en) | System on chip performing a plurality of trainings at the same time, operating method of system on chip, electronic device including system on chip | |
US10665273B2 (en) | Semiconductor memory devices, memory systems and refresh methods of the same | |
US10354704B2 (en) | Semiconductor memory device and memory system | |
US8619492B2 (en) | On-die termination circuit, memory device, memory module, and method of operating and training an on-die termination | |
US10839876B1 (en) | Apparatuses and methods for clock leveling in semiconductor memories | |
KR20090114180A (en) | Semiconductor memory device and access method thereof | |
US11670359B2 (en) | Semiconductor memory device capable of operating at high speed, low power environment by optimizing latency of read command and write command depending on various operation modes | |
US11869574B2 (en) | Semiconductor memory device and memory system including the same | |
US9368175B2 (en) | Semiconductor memory device receiving multiple commands simultaneously and memory system including the same | |
US9651983B2 (en) | Clock generation device and semiconductor device including the same | |
US10559334B2 (en) | Data output circuit, memory device including the data output circuit, and operating method of the memory device | |
US20230377621A1 (en) | Semiconductor device | |
US20230377667A1 (en) | Semiconductor device | |
US8004929B2 (en) | Semiconductor memory device and control method thereof | |
CN117095712A (en) | Semiconductor device with a semiconductor device having a plurality of semiconductor chips | |
KR20230161314A (en) | Semiconductor device | |
KR20230163271A (en) | Semiconductor device | |
CN117116314A (en) | Semiconductor device, method for operating semiconductor device, and computing system | |
EP4365900A1 (en) | Semiconductor memory device capable of synchronizing clock signals in cs geardown mode | |
US20240249788A1 (en) | Memory device | |
US11848070B2 (en) | Memory with DQS pulse control circuitry, and associated systems, devices, and methods | |
US20220188022A1 (en) | Memory system and electronic system including the same | |
US20230223060A1 (en) | Semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEE, JAEWOO;KIM, YONGHUN;KIM, KIHAN;AND OTHERS;REEL/FRAME:063094/0013 Effective date: 20230210 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |