KR20110081958A - Serial-connected memory system with output delay adjustment - Google Patents

Serial-connected memory system with output delay adjustment Download PDF

Info

Publication number
KR20110081958A
KR20110081958A KR1020117006956A KR20117006956A KR20110081958A KR 20110081958 A KR20110081958 A KR 20110081958A KR 1020117006956 A KR1020117006956 A KR 1020117006956A KR 20117006956 A KR20117006956 A KR 20117006956A KR 20110081958 A KR20110081958 A KR 20110081958A
Authority
KR
South Korea
Prior art keywords
command
clock signal
output
input
signal
Prior art date
Application number
KR1020117006956A
Other languages
Korean (ko)
Inventor
학준 오
Original Assignee
모사이드 테크놀로지스 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/241,960 external-priority patent/US8161313B2/en
Priority claimed from US12/241,832 external-priority patent/US8181056B2/en
Application filed by 모사이드 테크놀로지스 인코퍼레이티드 filed Critical 모사이드 테크놀로지스 인코퍼레이티드
Publication of KR20110081958A publication Critical patent/KR20110081958A/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1069I/O lines read out arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device

Abstract

클럭 듀티 사이클을 교정하기 위한 그리고/또는 출력 지연 조정을 실행하기 위한 시스템 및 방법이 슬레이브 디바이스로서 동작하는 직렬 연결 디바이스에 적용하기 위해 제공된다. 마스터 디바이스는 제1 슬레이브 디바이스에 클럭을 제공한다. 각각의 슬레이브 디바이스는 차례차례 클럭을 다음 슬레이브 디바이스에 패스한다. 최종 슬레이브 디바이스는 클럭을 마스터 디바이스에 회신한다. 마스터 디바이스는, 듀티 사이클 교정 및/또는 출력 지연 조정이 필요한 경우에, 발신 클럭과 회신 클럭을 비교한다. 그러한 경우에, 마스터 디바이스는, 듀티 사이클 및/또는 출력 지연 조정을 실행하도록, 슬레이브 디바이스에 대한 커맨드를 생성 및 출력한다. 슬레이브 디바이스는 각각, 듀티 사이클 교정 및/또는 출력 지연 조정을 실행하기 위한 회로를 갖는다. 일부의 구현에 있어서, 각각의 슬레이브 디바이스는 메모리 디바이스이고, 마스터 디바이스는 메모리 제어기이다.A system and method for calibrating clock duty cycles and / or for performing output delay adjustment are provided for application to a serial connected device operating as a slave device. The master device provides a clock to the first slave device. Each slave device in turn passes a clock to the next slave device. The final slave device returns the clock to the master device. The master device compares the originating clock and the returning clock when duty cycle correction and / or output delay adjustment is needed. In such a case, the master device generates and outputs a command to the slave device to perform the duty cycle and / or output delay adjustment. The slave devices each have circuitry for performing duty cycle calibration and / or output delay adjustment. In some implementations, each slave device is a memory device and the master device is a memory controller.

Figure P1020117006956
Figure P1020117006956

Description

출력 지연 조정을 가진 직렬 연결 메모리 시스템 {SERIAL-CONNECTED MEMORY SYSTEM WITH OUTPUT DELAY ADJUSTMENT}Serial-connected memory system with output delay adjustment {SERIAL-CONNECTED MEMORY SYSTEM WITH OUTPUT DELAY ADJUSTMENT}

본 발명은 일반적으로 일련의 직렬 연결 메모리 디바이스를 특징으로 하는 고체 메모리 시스템에 관한 것이다.The present invention generally relates to a solid state memory system characterized by a series of serially connected memory devices.

일반적인 NAND 플래시 메모리 시스템은 커맨딩(commanding), 어드레싱(addressing), 및 데이터 전송 동작을 위한 다수의 병렬 신호를 이용한다. 이것은 메모리 시스템을 구성하는 매우 대중적인 방식이며 매우 고속의 시스템 동작을 초래한다. 이것은 특히, DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 랜덤 액세스 메모리 디바이스에 대해서 올바르다.Typical NAND flash memory systems utilize multiple parallel signals for commanding, addressing, and data transfer operations. This is a very popular way of constructing a memory system and results in very fast system operation. This is especially true for random access memory devices such as dynamic random access memory (DRAM), static random access memory (SRAM), and the like.

다수의 병렬 신호 라인이 메모리 시스템내의 각각의 그리고 모든 메모리 디바이스에 전송될 필요가 있다는 이러한 접근법으로부터 단점이 일어난다. 또한, 시스템 전력 공급기가, 병렬 시그널링(parallel signaling)을 위해 더 높은 피크 전력을 배달하기 위해 더 높은 용량을 갖고 있어야 한다. 일반적인 NAND 플래시 메모리에 대한 기입 및 판독 쓰루풋(write and read throughput)은 더 높은 동작 주파수를 이용하는 것에 의해 직접적으로 증가될 수 있다. 예를 들어, 약 40 MHz (=NAND 플래시에서 tRC에 대해 25ns)의 현재의 동작 주파수는 약 100 ~ 200 MHz로 증가될 수 있다. 이러한 접근법이 똑바른 것으로 보이지만, 일반적인 NAND 플래시 메모리의 동작 주파수에 실제적인 제한을 설정하는, 그러한 높은 주파수에서 신호 품질과 관련된 중대한 문제가 있다.A disadvantage arises from this approach that multiple parallel signal lines need to be sent to each and every memory device in the memory system. In addition, the system power supply must have higher capacity to deliver higher peak power for parallel signaling. Write and read throughput for a typical NAND flash memory can be increased directly by using higher operating frequencies. For example, the current operating frequency of about 40 MHz (25 ns for tRC in = NAND flash) can be increased to about 100 to 200 MHz. Although this approach seems straightforward, there is a significant problem with signal quality at such high frequencies that sets practical limits on the operating frequency of a typical NAND flash memory.

특히, 일반적인 NAND 플래시 메모리는, 커맨드 명령(command instruction)을 수신하고, 입력 데이터를 수신하며 출력 데이터를 제공하는, 요구되는 워드(word) 구성에 따라 8 또는 16의 번호를 매긴, 일련의 병렬 입출력(I/O) 핀을 이용하여 다른 부품과 통신한다. 이것은 병렬 인터페이스로서 일반적으로 알려져 있다. 고속 동작은, 예컨대, 신호 품질을 저하시키는, 크로스 토크(cross-talk), 신호 스큐(signal skew) 및 신호 약화와 같은 잘 알려진 통신 저하 효과를 유발할 것이다. 그러한 병렬 인터페이스는 데이터를 판독 및 기입하는데 다수의 핀을 이용한다. 입력 핀과 배선의 개수가 증가함에 따라, 원치 않는 효과들의 개수도 증가한다. 이러한 효과들은 심볼간 간섭(inter-symbol interference), 신호 스큐 및 크로스 토크를 포함한다.In particular, a typical NAND flash memory is a series of parallel inputs and outputs, numbered 8 or 16, depending on the required word configuration, which receives command instructions, receives input data, and provides output data. Communicate with other components using the (I / O) pin. This is commonly known as a parallel interface. High speed operation will cause well known communication degradation effects, such as cross-talk, signal skew and signal weakening, which degrade signal quality, for example. Such a parallel interface uses multiple pins to read and write data. As the number of input pins and wiring increases, so does the number of unwanted effects. These effects include inter-symbol interference, signal skew and cross talk.

이러한 단점들 중 일부를 다루기 위해서, 링(ring)으로 연결된 일련의 메모리 디바이스들을 특징으로 하는 몇몇의 직렬 연결 시스템이 제공되었다. 이것들은, 그 모두가 본 출원과 동일한 양수인에 양도되어 있고 그 전체가 참조로 이 명세서에 통합되어 있는, ‘Multiple Independent Serial Link Memory’(US20070076479A1), ‘Daisy Chain Cascading Devices’(US20070109833A1), ‘Memory with Output Control’(US20070153576A1), ‘Daisy chain cascade configuration recognition technique’(US2007233903A1), 및 ‘Independent Link and Bank Selection’(US2007143677A1)을 포함한다. 이 시스템들은 일반적으로, 직렬 데이터 통신의 최대 유연성을 가진 메모리 제어기를 제공하기 위해서 직렬 입력 포트 및 직렬 출력 포트를 각각 인에이블 및 디스에이블하기 위한 2개의 제어 신호와 함께 직렬 입출력 데이터 핀들을 갖는다. 이 메모리 시스템 구성의 일부는, ‘공통 클럭 시스템(common clock system)’ 또는 ‘멀티-드롭 클럭킹 시스템(multi-drop clocking system)’으로 칭해지는, 시스템 클럭 배분용 공유 버스 토폴로지(shared bus topology)를 채용한다. 이 아키텍쳐들의 일부는 각각의 메모리 디바이스에서 2개의 클럭 신호 - 하나가 이전의 디바이스 또는 제어기로부터 수신되는 입력 클럭이고 다른 하나가 다음 디바이스로 전송되는 출력 클럭임 -를 동기화하기 위해 메모리 칩마다 DLL(delay locked loop) 또는 PLL(phase locked loop)을 특징으로 하는 포인트 대 포인트 직렬 연결 클럭킹 아키텍쳐를 이용한다.To address some of these shortcomings, several serial connection systems have been provided that feature a series of ring connected memory devices. These are 'Multiple Independent Serial Link Memory' (US20070076479A1), 'Daisy Chain Cascading Devices' (US20070109833A1),' Memory, all of which are assigned to the same assignee as the present application and are hereby incorporated by reference in their entirety. with Output Control '(US20070153576A1),' Daisy chain cascade configuration recognition technique '(US2007233903A1), and' Independent Link and Bank Selection '(US2007143677A1). These systems generally have serial input and output data pins with two control signals for enabling and disabling the serial input port and the serial output port, respectively, to provide a memory controller with maximum flexibility of serial data communication. Part of this memory system configuration consists of a shared bus topology for system clock distribution, referred to as a 'common clock system' or a 'multi-drop clocking system'. Adopt. Some of these architectures are DLLs per memory chip to synchronize two clock signals in each memory device, one for the input clock received from the previous device or controller and the other for the output clock sent to the next device. It uses a point-to-point serially connected clocking architecture featuring either locked loops or phase locked loops (PLLs).

하나의 넓은 양태에 따르면, 본 발명은 복수의 직렬 연결 슬레이브 디바이스의 슬레이브 디바이스에 관한 방법을 제공하며, 본 발명은, 클럭 듀티 사이클(clock duty cycle)에 대한 조정(adjustment)을 지정하는 커맨드를 마스터 디바이스(master device)로부터 수신하는 단계; 입력 클럭 신호를 수신하는 단계; 상기 커맨드에 따라 상기 입력 클럭 신호로부터 듀티 사이클 교정 클럭 신호(duty cycle corrected clock signal)를 생성하는 단계; 및 상기 듀티 사이클 교정 클럭 신호를 출력하는 단계를 포함한다.According to one broad aspect, the present invention provides a method for a slave device of a plurality of serially connected slave devices, and the present invention provides a method for mastering a command specifying an adjustment to a clock duty cycle. Receiving from a master device; Receiving an input clock signal; Generating a duty cycle corrected clock signal from the input clock signal in accordance with the command; And outputting the duty cycle corrected clock signal.

몇몇의 실시예들에 있어서, 상기 슬레이브 디바이스는 메모리 디바이스이고 상기 마스터 디바이스는 메모리 제어기이다.In some embodiments, the slave device is a memory device and the master device is a memory controller.

몇몇의 실시예들에 있어서, 상기 방법은, 상기 슬레이브 디바이스가 상기 슬레이브 디바이스에 의해 출력되는 적어도 하나의 신호에 적용될 지연(delay)을 조정하는 방식을 지정하는 커맨드를 마스터 디바이스로부터 수신하는 단계; 적어도 상기 입력 클럭 신호를 포함하는 적어도 하나의 입력 신호를 수신하는 단계; 상기 적어도 하나의 입력 신호의 각각에 대해서: 상기 커맨드에 따라 상기 입력 신호의 지연된 버전(version)을 생성하는 단계; 및 상기 입력 신호의 지연된 버전을 출력하는 단계로서, 상기 입력 클럭 신호의 지연된 버전은 상기 듀티 사이클 교정 클럭 신호의 지연된 버전을 포함하는 단계를 더 포함한다.In some embodiments, the method further comprises: receiving a command from a master device specifying how the slave device adjusts a delay to be applied to at least one signal output by the slave device; Receiving at least one input signal comprising at least the input clock signal; For each of the at least one input signal: generating a delayed version of the input signal in accordance with the command; And outputting a delayed version of the input signal, the delayed version of the input clock signal further comprising a delayed version of the duty cycle corrected clock signal.

몇몇의 실시예들에 있어서, 상기 클럭 듀티 사이클에 대한 조정을 지정하는 커맨드를 마스터 디바이스로부터 수신하는 단계는, 커맨드를 듀티 사이클 교정 커맨드로서 식별하는 커맨드 식별자를 포함하고 상기 듀티 사이클을 조정하는 방식을 나타내는 데이터를 더 포함하는 상기 커맨드를 수신하는 것을 포함한다.In some embodiments, receiving a command from a master device specifying an adjustment to the clock duty cycle includes a command identifier identifying the command as a duty cycle correction command and adjusting the duty cycle. Receiving the command further comprising data indicative.

몇몇의 실시예들에 있어서, 상기 커맨드를 수신하는 단계는, 어느 디바이스(들)이 슬레이브 디바이스로 역할을 하여 상기 커맨드를 실행할지를 나타내는 디바이스 어드레스를 수신하는 것을 더 포함한다.In some embodiments, receiving the command further includes receiving a device address indicating which device (s) will act as a slave device to execute the command.

몇몇의 실시예들에 있어서, 상기 커맨드가 상기 슬레이브 디바이스의 디바이스 어드레스와 매치하는 디바이스 어드레스를 갖는 경우에, 상기 커맨드에 따라 상기 듀티 사이클 교정 클럭 신호를 생성하는 단계를 실행하는 것과; 상기 커맨드가 브로드캐스트(broadcast) 디바이스 어드레스인 디바이스 어드레스를 갖는 경우에, 상기 커맨드에 따라 상기 듀티 사이클 교정 클럭 신호를 생성하는 단계를 실행하는 것을 더 포함한다.In some embodiments, if the command has a device address that matches the device address of the slave device, executing the step of generating the duty cycle corrected clock signal in accordance with the command; If the command has a device address that is a broadcast device address, generating the duty cycle corrected clock signal in accordance with the command.

몇몇의 실시예들에 있어서, 상기 듀티 사이클 교정 클럭 신호를 생성하는 단계는, a) 상기 입력 클럭 신호로부터 하프 레이트 클럭 신호(half rate clock signal)를 생성하는 것; b) 복수의 지연 중 선택된 지연에 의해 상기 하프 레이트 클럭 신호를 지연시켜 지연된 하프 레이트 클럭 신호를 생성하는 것; 및 c) 상기 하프 레이트 클럭 신호를 상기 지연된 하프 레이트 클럭 신호와 결합하여 상기 듀티 사이클 교정 클럭 신호를 생성하는 것을 포함한다.In some embodiments, generating the duty cycle corrected clock signal comprises: a) generating a half rate clock signal from the input clock signal; b) delaying the half rate clock signal by a selected one of a plurality of delays to produce a delayed half rate clock signal; And c) combining the half rate clock signal with the delayed half rate clock signal to generate the duty cycle corrected clock signal.

몇몇의 실시예들에 있어서, 상기 듀티 사이클 교정을 조정하는 방식을 나타내는 데이터는, 상기 복수의 지연 중 선택된 지연의 표시(indication)를 포함한다.In some embodiments, the data indicating how to adjust the duty cycle correction includes an indication of a selected one of the plurality of delays.

다른 넓은 양태에 따르면, 본 발명은 적어도 제1 슬레이브 디바이스 및 최종 슬레이브 디바이스를 포함하는 복수의 직렬 연결 슬레이브 디바이스 및 마스터 디바이스를 포함하는 메모리 시스템에 관한 방법을 제공하며, 상기 방법은, 상기 마스터 디바이스에 있어서: a) 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하는 제1 클럭 신호를 출력하는 단계; b) 상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하는 단계; c) 상기 제2 클럭 신호의 듀티 사이클의 함수로서 듀티 사이클 교정 커맨드를 생성하고 상기 듀티 사이클 교정 커맨드를 출력하는 단계; 상기 복수의 직렬 연결 슬레이브 디바이스의 제1 슬레이브 디바이스에 있어서, a) 상기 제1 클럭 신호를 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 상기 마스터 디바이스로부터 수신하는 단계; b) 상기 입력 신호로부터 출력 클럭 신호를 생성하는 단계; 상기 복수의 직렬 연결 슬레이브 디바이스의 각각의 다른 슬레이브 디바이스에 있어서: a) 이전 슬레이브 디바이스의 출력 클럭 신호를 상기 슬레이브 디바이스의 입력 클럭 신호로서 수신하는 단계; b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하는 단계; 슬레이브 디바이스로서 역할을 하는 상기 복수의 직렬 연결 디바이스 중 적어도 하나의 직렬 연결 디바이스의 각각에 있어서: a) 상기 듀티 사이클 교정 커맨드를 수신하는 단계; b) 상기 듀티 사이클 교정 커맨드에 따라 상기 입력 클럭 신호로부터 듀티 사이클 교정 클럭 신호를 생성하는 단계; 및 c) 상기 듀티 사이클 교정 클럭 신호를 상기 슬레이브 디바이스의 출력 클럭 신호로서 출력하는 단계를 포함한다.According to another broad aspect, the invention provides a method of a memory system comprising a plurality of serially connected slave devices and a master device comprising at least a first slave device and a final slave device, the method comprising: A method comprising: a) outputting a first clock signal functioning as an input clock signal of the first slave device; b) receiving a second clock signal that is an output clock signal of the last slave device; c) generating a duty cycle correction command as a function of the duty cycle of the second clock signal and outputting the duty cycle correction command; A first slave device of the plurality of serially connected slave devices, comprising: a) receiving the first clock signal from the master device as an input clock signal of the first slave device; b) generating an output clock signal from the input signal; In each other slave device of the plurality of serially connected slave devices: a) receiving an output clock signal of a previous slave device as an input clock signal of the slave device; b) generating an output clock signal from the input clock signal; 10. In each of at least one serially connected device of the plurality of serially connected devices serving as a slave device, the method comprising: a) receiving the duty cycle calibration command; b) generating a duty cycle corrected clock signal from the input clock signal in accordance with the duty cycle correct command; And c) outputting the duty cycle corrected clock signal as an output clock signal of the slave device.

몇몇의 실시예들에 있어서, 각각의 슬레이브 디바이스는 메모리 디바이스이고 상기 마스터 디바이스는 메모리 제어기이다.In some embodiments, each slave device is a memory device and the master device is a memory controller.

몇몇의 실시예들에 있어서, 상기 방법은, 상기 마스터 디바이스에 있어서: a) 적어도 하나의 출력 신호를 출력하는 단계로서, 상기 적어도 하나의 출력 신호는 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하도록 상기 제1 클럭 신호를 포함하는 단계; b) 상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하는 단계; c) 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋(phase offset)의 양을 판정하는 단계; 및 d) 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 함수로서 출력 지연 조정 커맨드를 생성하여 상기 출력 지연 조정 커맨드를 출력하는 단계를 더 포함한다.In some embodiments, the method further comprises: at the master device: a) outputting at least one output signal, the at least one output signal to function as an input clock signal of the first slave device. Including the first clock signal; b) receiving a second clock signal that is an output clock signal of the last slave device; c) determining an amount of phase offset between the first clock signal and the second clock signal; And d) generating an output delay adjustment command as a function of a phase offset between the first clock signal and the second clock signal to output the output delay adjustment command.

몇몇의 실시예들에 있어서, 상기 제2 클럭 신호의 듀티 사이클의 함수로서 듀티 사이클 교정 커맨드를 생성하고 상기 듀티 사이클 교정 커맨드를 출력하는 단계는, 상기 복수의 직렬 연결 슬레이브 디바이스들 중 임의의 지정된 슬레이브 디바이스에 의해 실행하기 위한 듀티 사이클 교정 커맨드를 생성하는 것을 포함한다.In some embodiments, generating a duty cycle correction command and outputting the duty cycle correction command as a function of the duty cycle of the second clock signal may comprise any designated slave of the plurality of serially connected slave devices. Generating a duty cycle correction command for execution by the device.

몇몇의 실시예들에 있어서, 상기 제2 클럭 신호의 듀티 사이클의 함수로서 듀티 사이클 교정 커맨드를 생성하고 상기 듀티 사이클 교정 커맨드를 출력하는 단계는, 상기 복수의 직렬 연결 슬레이브 디바이스의 모두에 의해 실행하기 위한 듀티 사이클 교정 커맨드를 생성하는 것을 포함한다.In some embodiments, generating a duty cycle correction command and outputting the duty cycle correction command as a function of the duty cycle of the second clock signal is performed by all of the plurality of serially connected slave devices. Generating a duty cycle correction command for the device.

몇몇의 실시예들에 있어서, 상기 듀티 사이클 교정 커맨드를 수신하는 단계는, 커맨드를 듀티 사이클 교정 커맨드로서 식별하는 커맨드 식별자를 포함하고 듀티 사이클을 조정하는 방식을 나타내는 데이터를 포함하는 상기 커맨드를 수신하는 것을 포함한다.In some embodiments, receiving the duty cycle correction command includes receiving a command that includes a command identifier identifying the command as a duty cycle correction command and includes data indicating how to adjust the duty cycle. It includes.

몇몇의 실시예들에 있어서, 상기 듀티 사이클 교정 클럭 신호를 생성하는 단계는: a) 상기 입력 클럭 신호로부터 하프 레이트 클럭 신호를 생성하는 것; b) 복수의 지연 중 선택된 지연에 의해 상기 하프 레이트 클럭 신호를 지연시켜 지연된 하프 레이트 클럭 신호를 생성하는 것; 및 c) 상기 하프 레이트 클럭 신호를 상기 지연된 하프 레이트 클럭 신호와 결합하여 상기 듀티 사이클 교정 클럭 신호를 생성하는 것을 포함한다.In some embodiments, generating the duty cycle corrected clock signal comprises: a) generating a half rate clock signal from the input clock signal; b) delaying the half rate clock signal by a selected one of a plurality of delays to produce a delayed half rate clock signal; And c) combining the half rate clock signal with the delayed half rate clock signal to generate the duty cycle corrected clock signal.

몇몇의 실시예들에 있어서, 상기 듀티 사이클 교정을 조정하는 방식을 나타내는 데이터는, 상기 복수의 지연 중 선택된 지연의 표시를 포함한다.In some embodiments, the data indicating how to adjust the duty cycle correction includes an indication of a selected one of the plurality of delays.

다른 넒은 양태에 따르면, 본 발명은 복수의 직렬 연결 슬레이브 디바이스를 포함하는 배열에서 사용하기 위한 슬레이브 디바이스를 제공하며, 상기 슬레이브 디바이스는, 듀티 사이클에 대한 조정을 지정하는 커맨드를 마스터 디바이스로부터 수신하기 위한 커맨드 입력; 입력 클럭 신호를 수신하기 위한 클럭 입력; 제어 커맨드에 따라 상기 클럭 입력으로부터 듀티 사이클 교정 클럭 신호를 생성하기 위한 듀티 사이클 교정 회로; 및 상기 듀티 사이클 교정 클럭 신호를 출력하기 위한 클럭 출력을 포함한다.According to another aspect, the present invention provides a slave device for use in an arrangement comprising a plurality of serially connected slave devices, the slave device for receiving a command from the master device specifying an adjustment to the duty cycle. Command input; A clock input for receiving an input clock signal; A duty cycle correction circuit for generating a duty cycle corrected clock signal from the clock input in accordance with a control command; And a clock output for outputting the duty cycle corrected clock signal.

몇몇의 실시예들에 있어서, 상기 슬레이브 디바이스는 메모리 디바이스이다.In some embodiments, the slave device is a memory device.

몇몇의 실시예들에 있어서, 상기 커맨드 입력은 또한, 출력 지연에 대한 조정을 지정하는 커맨드를 상기 마스터 디바이스로부터 수신하기 위한 것이고; 상기 커맨드에 따라 상기 듀티 사이클 교정 클럭 신호로부터 지연된 클럭 신호를 생성하기 위한 출력 지연 조정 회로; 상기 듀티 사이클 교정 클럭 신호를 출력하기 위한 클럭 출력은 상기 지연된 클럭 신호를 출력한다.In some embodiments, the command input is also for receiving a command from the master device specifying an adjustment for an output delay; An output delay adjustment circuit for generating a delayed clock signal from the duty cycle corrected clock signal in accordance with the command; A clock output for outputting the duty cycle corrected clock signal outputs the delayed clock signal.

몇몇의 실시예들에 있어서, 상기 슬레이브 디바이스는 상기 커맨드를 처리하는 커맨드 처리 회로를 더 포함하고, 상기 커맨드는, 상기 커맨드를 듀티 사이클 교정 커맨드로서 식별하는 커맨드 식별자; 및 듀티 사이클을 조정하는 방식을 나타내는 데이터를 포함한다.In some embodiments, the slave device further includes command processing circuitry to process the command, the command comprising: a command identifier identifying the command as a duty cycle correction command; And data indicating how to adjust the duty cycle.

몇몇의 실시예들에 있어서, 디바이스 어드레스 레지스터(device address register)를 더 포함하고, 상기 커맨드는 어느 슬레이드 디바이스가 상기 커맨드를 실행할지를 나타내는 디바이스 어드레스를 더 포함하며, 상기 슬레이브 디바이스는, 상기 디바이스 어드레스가 상기 디바이스 어드레스 레지스터의 내용과 매치하는 경우에 상기 커맨드를 실행하도록 되어 있다.In some embodiments, the device further comprises a device address register, the command further comprising a device address indicating which slave device is to execute the command, wherein the slave device is configured to: The command is executed when it matches the contents of the device address register.

몇몇의 실시예들에 있어서, 상기 듀티 사이클 교정 회로는, a) 상기 입력 클럭 신호로부터 하프 레이트 클럭 신호를 생성하는 클럭 분할기 회로; b) 복수의 지연 중 선택된 지연에 의해 상기 하프 레이트 클럭 신호를 지연시켜 지연된 하프 레이트 클럭 신호를 생성하는 지연 회로; 및 c) 상기 하프 레이트 클럭 신호를 상기 지연된 하프 레이트 클럭 신호와 결합하여 상기 듀티 사이클 교정 클럭 신호를 생성하는 결합기(combiner)를 포함한다.In some embodiments, the duty cycle correction circuit comprises: a) a clock divider circuit for generating a half rate clock signal from the input clock signal; b) a delay circuit for delaying said half rate clock signal by a selected one of a plurality of delays to produce a delayed half rate clock signal; And c) a combiner for combining the half rate clock signal with the delayed half rate clock signal to produce the duty cycle corrected clock signal.

몇몇의 실시예들에 있어서, 상기 지연 회로는 M 단위 지연 요소를 포함하고 - M>=2 임 -, 상기 듀티 사이클 교정 회로는, N 입력 라인에 수신되는 신호를 - N>=1 임 -, 상기 하프 레이트 클럭 신호를 지연시켜 상기 지연된 하프 레이트 클럭 신호를 생성하는데, 얼마만큼의 상기 단위 지연 요소가 작동할지의 선택으로 디코드(decode)하는 N 대 M 디코더를 더 포함한다.In some embodiments, the delay circuit comprises an M unit delay element, where M> = 2, wherein the duty cycle correction circuitry outputs a signal received on an N input line, where N> = 1. Delaying the half rate clock signal to produce the delayed half rate clock signal, further comprising an N to M decoder to decode with the choice of how much of the unit delay element is to be operated.

다른 넓은 양태에 따르면, 본 발명은 시스템을 제공하며, 상기 시스템은 적어도 제1 슬레이브 디바이스 및 최종 슬레이브 디바이스를 포함하는 청구항 13에 기재된 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스; 상기 제1 슬레이브 디바이스에 그리고 상기 최종 슬레이브 디바이스에 연결되는 마스터 디바이스; - 상기 마스터 디바이스는 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하는 제1 클럭 신호를 출력하도록 되어 있음 -; 상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하기 위한 클럭 입력; 상기 제2 클럭 신호의 듀티 사이클을 판정하는 듀티 검출기; 상기 제2 클럭 신호의 듀티 사이클의 함수로서 클럭 듀티 사이클에 대한 조정을 지정하는 듀티 사이클 교정 커맨드를 생성하는 커맨드 생성기를 포함하며, 상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스의 제1 슬레이브 디바이스는: a) 상기 제1 클럭 신호를 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 상기 마스터 디바이스로부터 수신하고; b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며, 상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스 중 각각의 다른 슬레이브 디바이스는: a) 이전 슬레이브 디바이스의 출력 클럭 신호를 슬레이브 디바이스의 입력 클럭 신호로서 수신하고; b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며; 상기 복수의 직렬 연결 슬레이브 디바이스 중 적어도 하나는: a) 상기 듀티 사이클 교정 커맨드를 수신하고; b) 제어 커맨드에 따라 듀티 사이클 교정 클럭 신호를 생성하며; c) 상기 듀티 사이클 교정 클럭 신호를 슬레이브 디바이스의 출력 클럭 신호로서 출력한다.According to another broad aspect, the present invention provides a system, comprising: a plurality of serially connected devices acting as slave devices according to claim 13 including at least a first slave device and a final slave device; A master device coupled to the first slave device and to the last slave device; The master device is adapted to output a first clock signal functioning as an input clock signal of the first slave device; A clock input for receiving a second clock signal that is an output clock signal of the last slave device; A duty detector for determining a duty cycle of the second clock signal; A first generator of a plurality of serially connected devices acting as slave devices, the command generator generating a duty cycle correction command specifying an adjustment to a clock duty cycle as a function of the duty cycle of the second clock signal; A) receives the first clock signal from the master device as an input clock signal of the first slave device; b) generating an output clock signal from the input clock signal, wherein each other slave device of the plurality of serially connected devices serving as the slave device: a) outputs the output clock signal of the previous slave device to the input clock signal of the slave device; Receive as; b) generate an output clock signal from the input clock signal; At least one of the plurality of serially connected slave devices comprises: a) receiving the duty cycle calibration command; b) generate a duty cycle corrected clock signal in accordance with a control command; c) output the duty cycle corrected clock signal as an output clock signal of a slave device.

몇몇의 실시예들에 있어서, 상기 시스템은 메모리 시스템이고, 각각의 슬레이브 디바이스는 메모리 디바이스이며, 상기 마스터 디바이스는 메모리 제어기이다.In some embodiments, the system is a memory system, each slave device is a memory device, and the master device is a memory controller.

몇몇의 실시예들에 있어서, 상기 메모리 시스템은, 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 양을 판정하는 위상 검출기를 더 포함하고, 상기 커맨드 생성기는 또한, 출력 지연 조정 커맨드를 상기 위상 오프셋의 양의 함수로서 생성하며, 상기 복수의 직렬 연결 슬레이브 디바이스 중 제1 슬레이브 디바이스는: a) 상기 제1 클럭 신호를 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 상기 마스터 디바이스로부터 수신하고; b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며; 상기 복수의 직렬 연결 슬레이브 디바이스의 각각의 다른 슬레이브 디바이스는: a) 이전의 슬레이브 디바이스의 출력 클럭 신호를 상기 슬레이브 디바이스의 입력 클럭 신호로서 수신하고; b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며; 상기 복수의 직렬 연결 슬레이브 디바이스 중 적어도 하나는: a) 상기 출력 지연 조정 커맨드를 수신하고, b) 상기 제어 커맨드에 따라 상기 디바이스의 입력 클럭 신호를 지연시키는 것에 의해 상기 디바이스의 출력 클럭 신호를 생성한다.In some embodiments, the memory system further comprises a phase detector that determines an amount of phase offset between the first clock signal and the second clock signal, the command generator further comprising an output delay adjustment command. Is generated as a function of the amount of the phase offset, wherein a first slave device of the plurality of serially connected slave devices: a) receives the first clock signal from the master device as an input clock signal of the first slave device; ; b) generate an output clock signal from the input clock signal; Each other slave device of the plurality of serially connected slave devices comprises: a) receiving an output clock signal of a previous slave device as an input clock signal of the slave device; b) generate an output clock signal from the input clock signal; At least one of the plurality of serially connected slave devices generates: an output clock signal of the device by a) receiving the output delay adjustment command and b) delaying the input clock signal of the device according to the control command. .

몇몇의 실시예들에 있어서, 상기 커맨드 생성기는, 듀티 사이클 교정 커맨드를 상기 제2 클럭 신호의 듀티 사이클의 함수로서 생성하고, 상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스 중 지정된 직렬 연결 디바이스에 의해 실행하기 위한 듀티 사이클 교정 커맨드를 생성하는 것에 의해 상기 듀티 사이클 교정 커맨드를 출력하도록 되어 있다.In some embodiments, the command generator generates a duty cycle correction command as a function of the duty cycle of the second clock signal and to a designated serially connected device of the plurality of serially connected devices serving as the slave device. The duty cycle correction command is output by generating a duty cycle correction command for execution.

몇몇의 실시예들에 있어서, 상기 커맨드 생성기는, 듀티 사이클 교정 커맨드를 상기 제2 클럭 신호의 듀티 사이클의 함수로서 생성하고, 상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스의 모두에 의해 실행하기 위한 듀티 사이클 교정 커맨드를 생성하는 것에 의해 상기 듀티 사이클 교정 커맨드를 출력하도록 되어 있다.In some embodiments, the command generator generates a duty cycle correction command as a function of the duty cycle of the second clock signal and executes by all of a plurality of serially connected devices serving as the slave device. The duty cycle correction command is output by generating a duty cycle correction command.

몇몇의 실시예들에 있어서, 상기 듀티 사이클 교정 커맨드를 수신하는 단계는, 커맨드를 듀티 사이클 교정 커맨드로서 식별하는 커맨드 식별자를 포함하고 듀티 사이클을 조정하는 방식을 나타내는 데이터를 포함하는 상기 커맨드를 수신하는 것을 포함한다.In some embodiments, receiving the duty cycle correction command includes receiving a command that includes a command identifier identifying the command as a duty cycle correction command and includes data indicating how to adjust the duty cycle. It includes.

하나의 넓은 양태에 따르면, 본 발명은 복수의 직렬 연결 슬레이브 디바이스의 슬레이브 디바이스에 관한 방법을 제공하며, 상기 방법은 상기 슬레이브 디바이스가 상기 슬레이브 디바이스에 의해 출력되는 적어도 하나의 신호에 적용될 지연을 조정하는 방식을 지정하는 커맨드를 마스터 디바이스로부터 수신하는 단계; 적어도 입력 클럭 신호를 포함하는 적어도 하나의 입력 신호를 수신하는 단계; 상기 적어도 하나의 입력 신호의 각각에 대해서: 상기 커맨드에 따라 상기 입력 신호의 지연된 버전을 생성하는 단계; 및 상기 입력 신호의 지연된 버전을 출력하는 단계를 포함한다.According to one broad aspect, the present invention provides a method for a slave device of a plurality of serially connected slave devices, wherein the method adjusts a delay to be applied to at least one signal output by the slave device. Receiving a command from a master device specifying a scheme; Receiving at least one input signal comprising at least an input clock signal; For each of the at least one input signal: generating a delayed version of the input signal in accordance with the command; And outputting a delayed version of the input signal.

몇몇의 실시예들에 있어서, 상기 슬레이브 디바이스는 메모리 디바이스이고 상기 마스터 디바이스는 메모리 제어기이다.In some embodiments, the slave device is a memory device and the master device is a memory controller.

몇몇의 실시예들에 있어서, 상기 방법은, 데이터 출력 신호를 출력하는 단계를 포함하고, 상기 입력 신호 중 적어도 하나가 데이터 입력 신호를 포함하고, 상기 데이터 입력 신호의 지연된 버전을 출력하는 것은: a) 때로는, 상기 데이터 출력 신호가 상기 데이터 입력 신호의 지연된 버전이도록; b) 때로는, 상기 커맨드에 따라 상기 지연을 상기 슬레이브 디바이스에 대해 국소적으로 생성된 신호에 적용한 후에, 상기 데이터 출력 신호가 상기 슬레이브 디바이스에 대해 국소적으로 생성된 신호의 지연된 버전이도록 상기 데이터 출력 신호를 출력하는 것의 부분으로서 실행된다.In some embodiments, the method comprises outputting a data output signal, at least one of the input signals comprising a data input signal, and outputting a delayed version of the data input signal: a Sometimes, the data output signal is a delayed version of the data input signal; b) sometimes after applying the delay according to the command to a signal generated locally for the slave device, the data output signal such that the data output signal is a delayed version of the signal generated locally for the slave device. Is executed as part of outputting

몇몇의 실시예들에 있어서, 상기 슬레이브 디바이스에 의해 출력되는 적어도 하나의 신호에 적용될 지연에 대한 조정을 지정하는 커맨드를 마스터 디바이스로부터 수신하는 단계는, 커맨드를 출력 지연 조정 커맨드로서 식별하는 커맨드 식별자를 포함하는 상기 커맨드를 수신하는 것을 포함하고, 상기 커맨드는 상기 지연을 조정하는 방식을 나타내는 데이터를 더 포함한다.In some embodiments, receiving from the master device a command specifying an adjustment to the delay to be applied to the at least one signal output by the slave device comprises: command identifier identifying the command as an output delay adjustment command. Receiving the command that includes the command, wherein the command further includes data indicating how to adjust the delay.

몇몇의 실시예들에 있어서, 상기 커맨드를 수신하는 단계는, 어느 디바이스(들)가 슬레이브 디바이스로서 역할을 하여 상기 커맨드를 실행할지를 나타내는 디바이스 어드레스를 수신하는 것을 더 포함한다.In some embodiments, receiving the command further comprises receiving a device address indicating which device (s) serve as a slave device to execute the command.

몇몇의 실시예들에 있어서, 상기 방법은, 상기 커맨드가 상기 슬레이브 디바이스의 디바이스 어드레스와 매치하는 디바이스 어드레스를 갖는 경우에, 상기 적어도 하나의 입력 신호의 각각에 대해, 상기 커맨드에 따라 상기 입력 신호의 지연된 버전을 생성하는 단계를 실행하는 것; 및 상기 커맨드가 브로드캐스트 디바이스 어드레스인 디바이스 어드레스를 갖는 경우에, 상기 적어도 하나의 입력 신호의 각각에 대해, 상기 커맨드에 따라 상기 입력 신호의 지연된 버전을 생성하는 단계를 실행하는 것을 더 포함한다.In some embodiments, the method further comprises, for each of the at least one input signal, if the command has a device address that matches the device address of the slave device, in accordance with the command of the input signal. Executing the step of generating a delayed version; And if the command has a device address that is a broadcast device address, for each of the at least one input signal, generating a delayed version of the input signal in accordance with the command.

몇몇의 실시예들에 있어서, 상기 각각의 입력 신호에 대해 상기 입력 신호의 지연된 버전을 생성하는 단계는, a) 복수의 지연 중 선택된 지연에 의해 상기 입력 신호를 지연시켜 상기 입력 신호의 지연된 버전을 생성하는 것을 포함한다.In some embodiments, generating a delayed version of the input signal for each input signal comprises: a) delaying the input signal by a selected one of a plurality of delays to produce a delayed version of the input signal. To generate.

몇몇의 실시예들에 있어서, 상기 지연을 조정하는 방식을 나타내는 데이터는, 상기 복수의 지연 중 선택된 지연의 표시를 포함한다.In some embodiments, the data indicating how to adjust the delay includes an indication of a selected one of the plurality of delays.

몇몇의 실시예들에 있어서, 상기 복수의 입력 신호는, 클럭 신호; 커맨드 스트로브 신호(command strobe signal); 데이터 스트로브 신호; 커맨드 및 데이터를 포함하는 데이터 신호를 포함한다.In some embodiments, the plurality of input signals comprises: a clock signal; Command strobe signal; Data strobe signal; It includes a data signal containing commands and data.

다른 넓은 양태에 따르면, 본 발명은 적어도 제1 슬레이브 디바이스 및 최종 슬레이브 디바이스를 포함하는, 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스 및 마스터 디바이스를 포함하는 메모리 시스템에 관한 방법을 제공하며, 상기 방법은, 상기 마스터 디바이스에 있어서: a) 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하도록 제1 클럭 신호를 포함하는 적어도 하나의 출력 신호를 출력하는 단계; b) 상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하는 단계; c) 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 양을 판정하는 단계; 및 d) 출력 지연 조정 커맨드를 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 함수로서 생성하고 상기 출력 지연 조정 커맨드를 출력하는 단계를 포함한다.According to another broad aspect, the present invention provides a method of a memory system comprising a plurality of serially connected devices and a master device serving as a slave device, comprising at least a first slave device and a final slave device. The master device comprises: a) outputting at least one output signal comprising a first clock signal to function as an input clock signal of the first slave device; b) receiving a second clock signal that is an output clock signal of the last slave device; c) determining an amount of phase offset between the first clock signal and the second clock signal; And d) generating an output delay adjustment command as a function of a phase offset between the first clock signal and the second clock signal and outputting the output delay adjustment command.

몇몇의 실시예들에 있어서, 각각의 슬레이브 디바이스는 메모리 디바이스이고 상기 마스터 디바이스는 메모리 제어기이다.In some embodiments, each slave device is a memory device and the master device is a memory controller.

몇몇의 실시예들에 있어서, 상기 방법은, 상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스의 제1 슬레이브 디바이스에 있어서: a) 상기 적어도 하나의 출력 신호를 상기 제1 슬레이브 디바이스의 적어도 하나의 입력 신호에 대응하는 것으로서 상기 마스터 디바이스로부터 수신하는 단계; b) 각각의 입력 신호에 대해, 상기 입력 신호에 기반하여 출력 신호를 생성하는 단계; 상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스의 각각의 다른 슬레이브 디바이스에 있어서: a) 상기 슬레이브 디바이스의 적어도 하나의 입력 신호에 대응하는 이전 슬레이브 디바이스의 출력 신호(들)를 수신하는 단계; b) 각각의 입력 신호에 대해, 상기 입력 신호에 기반하여 출력 신호를 생성하는 단계; 상기 슬레이브 디바이스 중 적어도 하나의 슬레이브 디바이스에 있어서, a) 상기 출력 지연 조정 커맨드를 수신하는 단계; 및 b) 상기 출력 지연 조정 커맨드에 따라 상기 입력 신호(들)의 지연된 버전을 생성하는 것에 의해 상기 출력 신호(들)을 생성하는 단계를 더 포함한다.In some embodiments, the method comprises: a first slave device of a plurality of serially connected devices serving as the slave device: a) sending the at least one output signal to at least one of the first slave device; Receiving from the master device as corresponding to an input signal; b) for each input signal, generating an output signal based on the input signal; 10. Each other slave device of the plurality of serially connected devices serving as the slave device, comprising: a) receiving output signal (s) of a previous slave device corresponding to at least one input signal of the slave device; b) for each input signal, generating an output signal based on the input signal; At least one of the slave devices, the method comprising: a) receiving the output delay adjustment command; And b) generating the output signal (s) by generating a delayed version of the input signal (s) in accordance with the output delay adjustment command.

몇몇의 실시예들에 있어서, 상기 마스터 디바이스의 적어도 하나의 출력 신호가 복수의 출력 신호(들)를 포함하는 것을 더 포함한다.In some embodiments, the at least one output signal of the master device further comprises a plurality of output signal (s).

몇몇의 실시예들에 있어서, 상기 지연 조정 커맨드를 생성하는 단계는, 상기 복수의 직렬 연결 슬레이브 디바이스 중 지정된 직렬 연결 슬레이브 디바이스에 의해 실행하기 위한 지연 조정 커맨드를 생성하는 것을 포함한다.In some embodiments, generating the delay adjustment command includes generating a delay adjustment command for execution by a designated serially connected slave device of the plurality of serially connected slave devices.

몇몇의 실시예들에 있어서, 상기 지연 조정 커맨드를 생성하는 단계는, 상기 복수의 직렬 연결 슬레이브 디바이스의 모두에 의해 실행하기 위한 지연 조정 커맨드를 생성하는 것을 포함한다.In some embodiments, generating the delay adjustment command includes generating a delay adjustment command for execution by all of the plurality of serially connected slave devices.

몇몇의 실시예들에 있어서, 상기 출력 지연 조정 커맨드에 따라 입력 신호(들)의 지연된 버전을 생성하는 단계는, 복수의 지연 중 선택된 지연에 의해 지연된 상기 입력 신호(들)의 지연된 버전을 생성하는 것을 포함한다.In some embodiments, generating a delayed version of the input signal (s) in accordance with the output delay adjustment command comprises generating a delayed version of the input signal (s) delayed by a selected one of a plurality of delays. It includes.

몇몇의 실시예들에 있어서, 상기 지연 조정 커맨드를 생성하는 단계는, 커맨드를 출력 지연 조정 커맨드로서 식별하는 커맨드 식별자를 포함하고, 상기 지연을 조정하는 방식을 나타내는 데이터를 포함하는 상기 커맨드를 생성하는 것을 포함한다.In some embodiments, generating the delay adjustment command includes generating a command identifier that includes a command identifier that identifies the command as an output delay adjustment command and includes data indicating how to adjust the delay. It includes.

몇몇의 실시예들에 있어서, 상기 지연을 조정하는 방식을 나타내는 데이터는, 상기 복수의 지연 중 선택된 지연의 표시를 포함한다.In some embodiments, the data indicating how to adjust the delay includes an indication of a selected one of the plurality of delays.

몇몇의 실시예들에 있어서, 상기 방법은, 상기 위상 오프셋이 허용될 수 있을 때까지의 시간에 하나의 슬레이브 디바이스내의 하나의 단위 지연 요소의 지연을 추가하는 것에 의해 지연을 조정하는 출력 지연 조정 커맨드를 상기 마스터 디바이스가 출력하는 것을 더 포함한다.In some embodiments, the method includes an output delay adjustment command that adjusts the delay by adding a delay of one unit delay element in one slave device to the time until the phase offset can be tolerated. The master device further includes the output.

몇몇의 실시예들에 있어서, 상기 복수의 입력 신호는, 클럭 신호; 커맨드 스트로브 신호; 데이터 스트로브 신호; 커맨드 및 데이터를 포함하는 데이터 신호를 포함한다.In some embodiments, the plurality of input signals comprises: a clock signal; Command strobe signal; Data strobe signal; It includes a data signal containing commands and data.

다른 넓은 양태에 따르면, 본 발명은 복수의 직렬 연결 슬레이브 디바이스를 포함하는 배열에 사용하기 위한 슬레이브 디바이스를 제공하며, 상기 슬레이브 디바이스는, 출력 지연 조정을 실행하는 방식을 지정하는 커맨드를 마스터 디바이스로부터 수신하기 위한 커맨드 입력; 입력 클럭 신호를 수신하기 위한 클럭 입력; 상기 커맨드에 따라 상기 클럭 입력으로부터 지연된 클럭 신호를 생성하기 위한 출력 지연 조정 회로; 및 상기 지연된 클럭 신호를 출력하기 위한 클럭 출력을 포함한다.According to another broad aspect, the present invention provides a slave device for use in an arrangement comprising a plurality of serially connected slave devices, the slave device receiving a command from the master device specifying a method of performing output delay adjustment. Command input to perform; A clock input for receiving an input clock signal; An output delay adjustment circuit for generating a delayed clock signal from the clock input in accordance with the command; And a clock output for outputting the delayed clock signal.

몇몇의 실시예들에 있어서, 상기 슬레이브 디바이스는 메모리 디바이스이다.In some embodiments, the slave device is a memory device.

몇몇의 실시예들에 있어서, 상기 슬레이브 디바이스는, 상기 커맨드를 처리하는 커맨드 처리 회로를 포함하고, 상기 커맨드는 상기 커맨드를 출력 지연 조정 커맨드로서 식별하는 커맨드 식별자를 포함하고, 상기 출력 지연을 조정하는 방식을 나타내는 데이터를 포함한다.In some embodiments, the slave device includes command processing circuitry to process the command, the command including a command identifier identifying the command as an output delay adjustment command, and adjusting the output delay. Contains data representing the manner.

몇몇의 실시예들에 있어서, 상기 슬레이브 디바이스는, 디바이스 어드레스 레지스터를 더 포함하고, 상기 커맨드는, 어느 슬레이브 디바이스가 상기 커맨드를 실행할지를 나타내는 디바이스 어드레스를 더 포함하며, 상기 슬레이브 디바이스는 디바이스 식별자가 상기 디바이스 어드레스 레지스터의 내용과 매치하는 경우에 상기 커맨드를 실행하도록 되어 있다.In some embodiments, the slave device further comprises a device address register, the command further comprises a device address indicating which slave device is to execute the command, wherein the slave device has the device identifier selected by the slave device. The above command is executed when it matches the contents of the device address register.

몇몇의 실시예들에 있어서, 상기 출력 지연 조정 회로는, 복수의 입력 신호의 각각에 대해, 상기 입력 클럭 신호를 포함해서, 복수의 지연 중 선택된 지연에 의해 상기 입력 신호를 지연시켜 상기 입력 신호의 지연된 버전을 생성하는 지연 회로를 포함한다.In some embodiments, the output delay adjustment circuit, for each of a plurality of input signals, delays the input signal by a selected one of a plurality of delays, including the input clock signal, to delay the input signal. A delay circuit that generates a delayed version.

몇몇의 실시예들에 있어서, 각각의 출력 지연 회로는 M 단위 지연 요소를 포함하고 - M>=2임 -, 상기 듀티 사이클 교정 회로는, N 입력 라인에 수신되는 신호를 - N>=1임 -, 상기 입력 신호의 지연된 버전을 생성하는데, 얼마만큼의 상기 단위 지연 요소가 작동할지의 선택으로 디코드하는 N 대 M 디코더를 더 포함한다.In some embodiments, each output delay circuit includes an M unit delay element, where M> = 2, and the duty cycle correction circuitry applies a signal received on the N input line, where N> = 1. Generating a delayed version of the input signal, further comprising an N to M decoder to decode with a choice of how much of the unit delay element is to be operated.

다른 넓은 양태에 따르면, 본 발명은 메모리 시스템을 제공하며, 상기 메모리 시스템은, 적어도 제1 슬레이브 디바이스 및 최종 슬레이브 디바이스를 포함하는 복수의 직렬 연결 슬레이브 디바이스; 상기 제1 슬레이브 디바이스에 그리고 상기 최종 슬레이브 디바이스에 연결되는 마스터 디바이스; - 상기 마스터 디바이스는 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하는 제1 클럭 신호를 출력하도록 되어 있음 -; 상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하기 위한 클럭 입력; 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 양을 판정하는 위상 검출기; 상기 위상 오프셋의 양의 함수로서 출력 지연 조정 커맨드를 생성하는 커맨드 생성기를 포함하며, 상기 복수의 직렬 연결 슬레이브 디바이스의 제1 슬레이브 디바이스는: a) 상기 제1 클럭 신호를 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 상기 마스터 디바이스로부터 수신하고; b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며, 상기 복수의 직렬 연결 슬레이브 디바이스 중 각각의 다른 슬레이브 디바이스는: a) 이전 슬레이브 디바이스의 출력 클럭 신호를 상기 슬레이브 디바이스의 입력 클럭 신호로서 수신하고; b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며; 상기 복수의 직렬 연결 슬레이브 디바이스 중 적어도 하나는: a) 상기 출력 지연 조정 커맨드를 수신하고; b) 상기 제어 커맨드에 따라 상기 디바이스의 입력 클럭 신호를 지연시키는 것에 의해 상기 디바이스의 출력 클럭 신호를 생성한다.According to another broad aspect, the present invention provides a memory system, comprising: a plurality of serially connected slave devices including at least a first slave device and a final slave device; A master device coupled to the first slave device and to the last slave device; The master device is adapted to output a first clock signal functioning as an input clock signal of the first slave device; A clock input for receiving a second clock signal that is an output clock signal of the last slave device; A phase detector for determining an amount of phase offset between the first clock signal and the second clock signal; A command generator for generating an output delay adjustment command as a function of the amount of phase offset, wherein a first slave device of the plurality of serially connected slave devices comprises: a) inputting the first clock signal to the first slave device; Receive from the master device as a clock signal; b) generates an output clock signal from the input clock signal, wherein each other slave device of the plurality of serially connected slave devices: a) receives an output clock signal of a previous slave device as an input clock signal of the slave device; b) generate an output clock signal from the input clock signal; At least one of the plurality of serially connected slave devices includes: a) receiving the output delay adjustment command; b) generate an output clock signal of the device by delaying the input clock signal of the device in accordance with the control command.

몇몇의 실시예들에 있어서, 상기 시스템은 메모리 시스템이고, 각각의 슬레이브 디바이스는 메모리 디바이스이며, 상기 마스터 디바이스는 메모리 제어기이다.In some embodiments, the system is a memory system, each slave device is a memory device, and the master device is a memory controller.

몇몇의 실시예들에 있어서, 상기 커맨드 생성기는, 상기 복수의 직렬 연결 슬레이브 디바이스 중 지정된 직렬 연결 슬레이브 디바이스에 의해 실행하기 위한 상기 출력 지연 조정 커맨드를 생성하도록 되어 있다.In some embodiments, the command generator is configured to generate the output delay adjustment command for execution by a designated serial connected slave device of the plurality of serial connected slave devices.

몇몇의 실시예들에 있어서, 상기 커맨드 생성기는 상기 복수의 직렬 연결 슬레이브 디바이스의 모두에 의해 실행하기 위한 상기 출력 지연 조정 커맨드를 생성하도록 되어 있다.In some embodiments, the command generator is adapted to generate the output delay adjustment command for execution by all of the plurality of serially connected slave devices.

몇몇의 실시예들에 있어서, 상기 출력 지연 조정 커맨드를 생성하는 단계는, 커맨드를 출력 지연 조정 커맨드로서 식별하는 커맨드 식별자를 포함하고, 출력 지연을 조정하는 방식을 나타내는 데이터를 포함하는 상기 커맨드를 생성하는 것을 포함한다.In some embodiments, generating the output delay adjustment command includes a command identifier identifying the command as an output delay adjustment command, and generating the command including data indicating how to adjust the output delay. It involves doing.

링 구성으로 연결되는 복수의 메모리 칩과 메모리 제어기를 일반적으로 포함하는, 직렬 연결 메모리 시스템에 대한, DLL 또는 PLL을 요구하지 않는 클럭 듀티 사이클 교정 및/또는 위상 동기화의 방법 및 장치가 제공된다. 몇몇의 실시예들에 있어서, 메모리 제어기는 링 주위를 이동한 후의 클럭 신호의 위상 및 듀티 사이클을 검출하기 위한 위상/듀티 사이클 검출기를 갖고, 각각의 메모리 디바이스는 클럭의 위상 및/또는 듀티 사이클을 조정하는데 사용되는 하나 이상의 제어기 프로그램 가능 지연 라인을 갖는다. 이것들은, 메모리 제어기에 의해 검출되는 위상 및 듀티 사이클이 허용 가능할 때까지 메모리 제어기로부터 송신되는 커맨드에 의해 조정된다.A method and apparatus are provided for clock duty cycle correction and / or phase synchronization that do not require a DLL or PLL for a serially connected memory system, which generally includes a plurality of memory chips and a memory controller connected in a ring configuration. In some embodiments, the memory controller has a phase / duty cycle detector for detecting the phase and duty cycle of the clock signal after moving around the ring, each memory device having a phase and / or duty cycle of the clock. It has one or more controller programmable delay lines used to adjust. These are adjusted by commands sent from the memory controller until the phase and duty cycle detected by the memory controller are acceptable.

이 명세서에 기술되는 방법 및 장치는, 인접한 디바이스들 사이에 공통의 인터페이스를 가진 직렬 연결 구성내의 슬레이브 디바이스로서 임의의 종류의 반도체 집적 회로 디바이스를 갖는 임의의 종류의 반도체 집적 회로 시스템에 적용될 수 있다. 집적 회로 타입의 예는, 중앙 처리 장치, 그래픽 처리 장치, 디스플레이 제어기 IC, 디스크 드라이브 IC, 및 NAND 플래시 EEPROM, NOR 플래시 EEPROM, AND 플래시 EEPROM, DiNOR 플래시 EEPROM, 직렬 플래시 EEPROM, DRAM, SRAM, ROM, EPROM, FRAM, MRAM, PCRAM 등과 같은 메모리 디바이스를 포함한다.The method and apparatus described herein can be applied to any kind of semiconductor integrated circuit system having any kind of semiconductor integrated circuit device as a slave device in a series connection configuration having a common interface between adjacent devices. Examples of integrated circuit types include central processing unit, graphics processing unit, display controller IC, disk drive IC, and NAND flash EEPROM, NOR flash EEPROM, AND flash EEPROM, DiNOR flash EEPROM, serial flash EEPROM, DRAM, SRAM, ROM, Memory devices such as EPROM, FRAM, MRAM, PCRAM, and the like.

도 1은 제어기 프로그램 가능 듀티 사이클 교정 스킴을 갖는 직렬 연결 메모리 시스템의 시스템 블록도이다;
도 2는 제어기 프로그램 가능 듀티 사이클 교정 스킴을 갖는 메모리 디바이스의 블록도이다;
도 3은 듀티 사이클 교정에 대한 프로그램 가능 지연 라인의 블록도이다;
도 4는 제어기 프로그램 가능 듀티 사이클 교정의 타이밍도이다;
도 5는 듀티 사이클 교정의 방법의 흐름도이다;
도 6은 기입 듀티 사이클 레지스터 커맨드에 대한 타이밍도이다;
도 7은 출력 지연 조정에 대한 프로그램 지연 라인의 블록도이다;
도 8은 제어기 프로그램 가능 출력 지연 조정의 타이밍도이다;
도 9는 출력 지연 조정을 실행하는 방법의 흐름도이다; 그리고
도 10은 기입 출력 지연 레지스터 커맨드에 대한 타이밍도이다.
1 is a system block diagram of a serially connected memory system having a controller programmable duty cycle correction scheme;
2 is a block diagram of a memory device having a controller programmable duty cycle correction scheme;
3 is a block diagram of a programmable delay line for duty cycle correction;
4 is a timing diagram of a controller programmable duty cycle calibration;
5 is a flowchart of a method of duty cycle correction;
6 is a timing diagram for a write duty cycle register command;
7 is a block diagram of a program delay line for output delay adjustment;
8 is a timing diagram of a controller programmable output delay adjustment;
9 is a flowchart of a method of performing output delay adjustment; And
10 is a timing diagram for a write output delay register command.

본 발명의 샘플 실시예들의 하기의 상세한 설명에 있어서, 본 명세서의 일부를 형성하는 첨부 도면에 대해 언급되며, 본 발명이 실시될 수 있는 특정 샘플 실시예들이 예시로서 도시되어 있다. 이 실시예들은, 당업자로 하여금 본 발명을 실시할 수 있도록 충분히 구체적으로 기술되어 있으며, 다른 실시예들이 활용될 수 있고, 논리적, 기계적, 전기적, 그리고 다른 변경들이 본 발명의 권리 범위로부터 벗어나지 않고 만들어질 수 있다는 것이 이해되어진다. 하기의 상세한 설명은, 따라서, 한정의 의미를 취하지 않으며, 본 발명의 권리 범위는 첨부된 청구 범위에 의해서 규정된다.In the following detailed description of sample embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific sample embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, other embodiments may be utilized, and logical, mechanical, electrical, and other modifications may be made without departing from the scope of the invention. It is understood that it can be lost. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

배경 기술에서 언급된 몇몇의 메모리 시스템 구성은, ‘공통 클럭 시스템’ 또는 ‘멀티-드롭 클럭킹 시스템’이라고 참조되는, 시스템 클럭 배분에 대한 공유 버스 토폴로지를 채용한다. 시스템 클럭이 병렬로 너무 많은 메모리 디바이스에 인가되고 클럭 신호가 클럭 소스(clock source), 일반적으로 메모리 제어기로부터 너무 멀리 이동하면, 최대 동작 클럭 주파수가 클럭 신호의 총 로딩(loading) 및 클럭이 메모리 시스템의 물리적 레이아웃(physical layout)내에서 이동하는 거리에 의해 제한될 수 있다.Some memory system configurations mentioned in the background employ a shared bus topology for system clock allocation, referred to as a "common clock system" or a "multi-drop clocking system." If the system clock is applied to too many memory devices in parallel and the clock signal moves too far from the clock source, typically the memory controller, the maximum operating clock frequency is the total loading of the clock signal and the clock is the memory system. It may be limited by the distance traveled within the physical layout of the.

배경 기술에서 언급된 몇몇의 메모리 시스템 구성은, 메모리 디바이스 내의 2개의 클럭 신호 - 하나가 이전 디바이스 또는 제어기로부터 수신되는 입력 클럭이고 다른 하나가 다음 디바이스에 전송되는 출력 클럭임 -를 동기화하기 위해서 각각의 메모리 디바이스내의 DLL 또는 PLL을 특징으로 하는 포인트 대 포인트 직렬 연결 클럭킹 아키텍쳐를 이용한다. 하지만, 각각의 메모리 디바이스내에 온-칩(on-chip) DLL 또는 PLL을 갖는 것은 막대한 전력 소비량을 유발할 수 있다. 온-칩 DLL 또는 PLL에 있어서, (멀티-칩 스태킹 또는 패키지와 같은 다양한 상호 연결 로딩 및 상이한 배선 접합 로딩에 의해 유발되는) 다양한 칩 대 칩 클럭 지연은 다수의 직렬 연결 디바이스를 통해 축적되고 시스템 동작에 대해서 허용 불가할 수 있다.Some of the memory system configurations mentioned in the background art are each for synchronizing two clock signals in a memory device, one of which is an input clock received from the previous device or controller and the other of which is an output clock transmitted to the next device. It utilizes a point-to-point serially coupled clocking architecture featuring a DLL or PLL in a memory device. However, having an on-chip DLL or PLL in each memory device can lead to enormous power consumption. For on-chip DLLs or PLLs, various chip-to-chip clock delays (caused by various interconnect loadings, such as multi-chip stacking or packages, and different wiring junction loadings) are accumulated through multiple serially connected devices and system operation. It may not be acceptable for.

이제 도 1에 대해 언급하여 보면, 제어기 프로그램 가능 듀티 사이클 교정 스킴(controller programmable duty cycle correction scheme)을 채용한 101에 일반적으로 표시된 직렬 연결 메모리 시스템의 시스템 블록도가 도시되어 있다. 메모리 시스템(101)은 제1 메모리 디바이스(100-1)에 연결되는 마스터 디바이스(master device)로서의 메모리 제어기(10)를 포함한다. 메모리 디바이스(100-1)는, 링 구성으로 연결되어, 최종 디바이스(100-8)가 메모리 제어기(10)에 되 연결되는, 디바이스들(100-1 내지 100-8)을 포함하는 일련의 슬레이브 디바이스(slave device) 중 최초의 슬레이브 디바이스이다. 예시된 예에 있어서, 고도로 다중화된 단방향의 포인트 대 포인트 버스 아키텍쳐가, 커맨드, 어드레스 및 데이터와 같은 정보를 메모리 제어기(10)로부터 메모리 디바이스들(100-1 내지 100-8)에 전송하도록 제공되어 있다. 이러한 버스 아키텍쳐는, 메모리 제어기(10)로부터 최초의 메모리 디바이스(100-1)로의 링크(90), 및 인접한 메모리 디바이스들의 각 쌍 사이의 개개의 링크 - 이것들은 링크들(90-1 내지 90-7), 및 최종 메모리 디바이스(100-8)와 메모리 제어기(10) 사이의 링크(90-8)를 포함함 - 를 포함한다.Referring now to FIG. 1, there is shown a system block diagram of a serially connected memory system, generally indicated at 101 employing a controller programmable duty cycle correction scheme. The memory system 101 includes a memory controller 10 as a master device connected to the first memory device 100-1. The memory device 100-1 is connected in a ring configuration, with a series of slaves including devices 100-1 through 100-8 in which the final device 100-8 is connected back to the memory controller 10. It is the first slave device among the slave devices. In the illustrated example, a highly multiplexed unidirectional point-to-point bus architecture is provided to transfer information such as commands, addresses and data from the memory controller 10 to the memory devices 100-1 through 100-8. have. This bus architecture includes a link 90 from the memory controller 10 to the original memory device 100-1, and individual links between each pair of adjacent memory devices, which are links 90-1 through 90-. 7) and a link 90-8 between the final memory device 100-8 and the memory controller 10.

예시된 예에 있어서, 각각의 링크는 다음의 디바이스에 의한 수신을 위해 이전의 디바이스(메모리 제어기(10) 또는 메모리 디바이스)에 의해 출력되는 일련의 신호를 포함한다. 각각의 링크는, 이전의 디바이스의 일련의 출력 포트, 다음의 디바이스의 일련의 입력 포트, 및 출력 포트와 입력 포트 사이의 일련의 물리적인 상호 연결을 포함한다. 편이성을 위해, 출력 포트는 그것들이 출력하는 신호와 동일한 명칭이 부여될 것이고 입력 포트는 그것들이 수신하는 신호와 동일한 명칭이 부여될 것이다. 예시된 예에 있어서, 이전 디바이스의 신호( 및 출력 포트)는 CSO (Command Strobe Output; 커맨드 스트로브 출력), DSO(Data Strobe Output; 데이터 스트로브 출력), Qn(Data Output; 데이터 출력), CKO/CKO#(differential clock output signals; 차동 클럭 출력 신호)로 칭해진다. 다음의 디바이스의 대응 신호(및 입력 포트)는, CSI(Command Strobe Input), DSI(Data Strobe Input), Dn(Data Input), CKI/CKI#(differential clock input signals)로 칭해진다. 더 나은 이해 및 간략화를 위해 도시되지 않은 추가적인 포트 또는 신호(예를 들면, CE#(chip enable; 칩 인에이블) 또는 RST#(reset; 리셋) 또는 전력 공급기 핀)가 있을 수 있다. 물리적인 상호연결은, 차동 클럭 신호용 차동 클럭 버스 S111, S111-1 내지 S111-8, 커맨드 스트로브(command strobe)용 S112, S112-1 내지 S112-8, 데이터 스트로브(data strobe)용 S113, S113-1 내지 S113-8, 데이터용 S114, S114-1 내지 S114-8을 포함한다.In the illustrated example, each link includes a series of signals output by the previous device (memory controller 10 or memory device) for reception by the next device. Each link includes a series of output ports of the previous device, a series of input ports of the next device, and a series of physical interconnections between the output port and the input port. For convenience, the output ports will be given the same names as the signals they output and the input ports will be given the same names as the signals they receive. In the illustrated example, the signals (and output ports) of the previous device are CSO (Command Strobe Output), DSO (Data Strobe Output), Qn (Data Output), CKO / CKO Called # (differential clock output signals). Corresponding signals (and input ports) of the following devices are referred to as Command Strobe Input (CSI), Data Strobe Input (DSI), Data Input (Dn), and differential clock input signals (CKI / CKI #). There may be additional ports or signals (eg, chip enable (CE #) or RST # (reset) or power supply pins) not shown for better understanding and simplicity. Physical interconnections include differential clock buses S111, S111-1 through S111-8 for differential clock signals, S112 for command strobes, S112-1 through S112-8, and S113 and S113- for data strobes. 1 to S113-8, data S114, and S114-1 to S114-8.

몇몇의 실시예들에 있어서, 데이터 출력 Qn 및 데이터 입력 Dn은, 1-비트 링크 설정에 대해서 n=0; 2-비트 링크 설정에 대해 n=0, 1; 4-비트 링크 설정에 대해 n=0, 1 , 2, 3; 8-비트 링크 설정에 대해서 n=0, 1 , 2, 3, 4, 5, 6, 7 등으로 상이한 데이터 폭을 가질 수 있다. 몇몇의 실시예들에 있어서, 링크의 폭은, 디바이스 패키지의 가용한 데이터 입력 및 출력 핀의 1, 2, 4 또는 8을 활용하도록 링크 구성 레지스터를 통해 프로그램될 수 있다. 이러한 피쳐(feature)는, 이 메모리 디바이스들로 하여금, 그것들이 모두 동일한 링크 폭을 사용하도록 프로그램되었다고 하는 조건으로, 더 작거나 더 큰 최대 링크 폭을 갖는 디바이스들과 함께 링 구성으로 동작할 수 있게 한다. 예를 들어, 그로서 그 전체가 참조로 이 명세서에 통합되어 있는. ‘Switching Method of Link and Bit Width’(WO 2008/070978)를 참조하라.In some embodiments, the data output Qn and the data input Dn are n = 0 for 1-bit link establishment; N = 0, 1 for 2-bit link configuration; N = 0, 1, 2, 3 for 4-bit link setup; For an 8-bit link setup it may have different data widths such as n = 0, 1, 2, 3, 4, 5, 6, 7 and the like. In some embodiments, the width of the link can be programmed through the link configuration register to utilize 1, 2, 4 or 8 of the available data input and output pins of the device package. This feature allows these memory devices to operate in a ring configuration with devices with smaller or larger maximum link widths, provided that they are all programmed to use the same link width. do. For example, the entirety of which is incorporated herein by reference. See 'Switching Method of Link and Bit Width' (WO 2008/070978).

CKI/CKI#는 입력 클럭이다. CSI에 의해 묘사되는 Dn 포트상의 커맨드/어드레스 패킷은 CKI의 상승 에지에서 또는 CKI#의 하강 에지에서 래치(latch)된다. DSI에 의해 묘사되는 Dn상의 기입 데이터 패킷은 CKI의 상승 에지에서 또는 CKI#의 하강 에지에서 래치(latch)된다.CKI / CKI # is the input clock. Command / address packets on the Dn port depicted by the CSI are latched on the rising edge of CKI or on the falling edge of CKI #. Write data packets on Dn depicted by the DSI are latched on the rising edge of CKI or on the falling edge of CKI #.

CKO/CKO#는 CKI/CKI#의 지연된 버전인 출력 클럭이다. CSO, DSO 및 Qn 신호는 CKO의 상승 에지 또는 CKO#의 하강 에지에 대해 기준화된다; 예를 들면, DSO에 의해 묘사되는 Qn상의 판독 데이터 패킷은 CKO의 상승 에지 또는 CKO#의 하강 에지에서 기준화된다.CKO / CKO # is the output clock, which is a delayed version of CKI / CKI #. CSO, DSO and Qn signals are referenced to the rising edge of CKO or the falling edge of CKO #; For example, read data packets on Qn depicted by the DSO are referenced at the rising edge of CKO or the falling edge of CKO #.

커맨드 스트로브 입력(CSI)가 하이(HIGH)일때, Dn을 통하는 커맨드/어드레스 패킷은 CKI의 상승 에지 또는 CKI#의 하강 에지에서 래치된다.When the command strobe input CSI is HIGH, the command / address packet through Dn is latched on the rising edge of CKI or the falling edge of CKI #.

커맨드 스트로브 출력(CSO)는 CSI의 반향 신호(echo signal)이다. 그것은, 특정 구현에 있어서, CKO의 상승 에지 또는 CKO#의 하강 에지에 대해 기준화되는 2 클럭 사이클 레이턴시(clock cycle latency)인, 레이턴시 tIOL를 가진 CSI 천이를 반향한다. 2 클럭 사이클 레이턴시는 구현 세부이다; 보다 일반적으로 그것은 주어진 설계에 대해 적절한 임의의 수의 클럭 사이클일 수 있다.The command strobe output (CSO) is the echo signal of the CSI. It echoes a CSI transition with latency tIOL, which, in certain implementations, is two clock cycle latency that is referenced to the rising edge of CKO or the falling edge of CKO #. 2 clock cycle latency is implementation detail; More generally it may be any number of clock cycles appropriate for a given design.

데이터 스트로브 입력(DSI)가 하이일 때, 메모리 디바이스가 ‘판독 모드’에 있을지라도, 그것은 판독 데이터 출력 경로 및 Qn 버퍼(도시되지 않음)를 인에이블(enable)시킨다. DSI가 로우(LOW)일 경우에, Qn 버퍼는 이전에 액세스된 데이터를 홀드(hold)한다. DSI가 ‘기입-모드’에 있을 경우에, 그것은 Dn 버퍼를 인에이블시키고 CKI의 상승 에지 또는 CKI#의 하강 에지에서 기입 데이터 패킷을 수신한다.When the data strobe input (DSI) is high, even if the memory device is in 'read mode', it enables the read data output path and the Qn buffer (not shown). If the DSI is low, the Qn buffer holds previously accessed data. When the DSI is in the 'write-mode', it enables the Dn buffer and receives a write data packet on the rising edge of CKI or the falling edge of CKI #.

데이터 스트로브 출력(DSO)은 DSI의 반향 신호이다. 그것은 CKO의 상승 에지 또는 CKO#의 하강에지에 대해 기준화되는 레이턴시 tIOL을 가진 DSI 천이를 반향한다. 앞서 표시된 바와 같이, tIOL은 특정 구현에서의 2 클럭 사이클이다.The data strobe output (DSO) is the echo signal of the DSI. It echoes a DSI transition with latency tIOL that is referenced to the rising edge of CKO or the falling edge of CKO #. As indicated above, tIOL is two clock cycles in a particular implementation.

데이터 입력 신호 Dn(n = 0, 1, 2, 3, 4, 5, 6 또는 7)은 커맨드, 어드레스 및/또는 입력 데이터 정보를 반송한다. 만약, 칩이 ‘1-비트 링크 모드’로 구성되어 있다면, DO가 오직 유효한 신호이며 8 클럭 사이클로 패킷의 1 바이트를 수신한다. 만약, 칩이 ‘2-비트 링크 모드’로 구성되어 있으면, DO & D1이 유효한 신호이고 4 클럭 사이클로 패킷의 1 바이트를 수신한다. 만약, 칩이 ‘4-비트 링크 모드’로 구성되어 있으면, DO, D1, D2 & D3가 유효한 신호이고 2 클럭 사이클로 패킷의 1 바이트를 수신한다. 만약, 칩이 ‘8-비트 링크 모드’로 구성되어 있으면, DO, D1, D2, D3, D4, D5, D6 및 D7이 모두 유효한 신호이고 1 클럭 사이클로 패킷의 1 바이트를 수신한다.The data input signal Dn (n = 0, 1, 2, 3, 4, 5, 6 or 7) carries the command, address and / or input data information. If the chip is configured for '1-bit link mode', DO is the only valid signal and receives 1 byte of the packet in 8 clock cycles. If the chip is configured for "2-bit link mode", DO & D1 is a valid signal and receives one byte of the packet in four clock cycles. If the chip is configured for '4-bit link mode', DO, D1, D2 & D3 are valid signals and receive one byte of the packet in two clock cycles. If the chip is configured in "8-bit link mode," DO, D1, D2, D3, D4, D5, D6, and D7 are all valid signals and receive one byte of a packet in one clock cycle.

데이터 출력 신호 Qn(n = 0, 1, 2, 3, 4, 5, 6 또는 7)은, 판독 동작 동안에 출력 데이터를 반송하거나 Dn에서 수신되는 입력 데이터, 어드레스 또는 커맨드를 바이패스(bypass)한다. 만약, 칩이 ‘1-비트 링크 모드’로 구성되어 있으면, Q0가 오직 유효한 신호이고 8 클럭 사이클로 패킷의 1 바이트를 송신한다. 만약, 칩이 ‘2-비트 링크 모드’로 구성되어 있으면, Q0 및 Q1이 유효한 신호이고 4 클럭 사이클로 패킷의 1 바이트를 송신한다. 만약, 칩이 ‘4-비트 링크 모드’로 구성되어 있으면, QO, Q1, Q2 및 Q3가 유효한 신호이고 2 클럭 사이클로 패킷의 1 바이트를 송신한다. 만약, 칩이 ‘8-비트 링크 모드’로 구성되어 있으면, QO, Q1, Q2, Q3, Q4, Q5, Q6 및 Q7이 모두 유효한 신호이고 1 클럭 사이클로 패킷의 1 바이트를 송신한다.The data output signal Qn (n = 0, 1, 2, 3, 4, 5, 6 or 7) carries output data during a read operation or bypasses input data, address or command received at Dn. . If the chip is configured in '1-bit link mode', Q0 is the only valid signal and transmits one byte of the packet in eight clock cycles. If the chip is configured in '2-bit link mode', Q0 and Q1 are valid signals and transmit 1 byte of the packet in 4 clock cycles. If the chip is configured in '4-bit link mode', QO, Q1, Q2 and Q3 are valid signals and transmit one byte of the packet in two clock cycles. If the chip is configured in '8-bit link mode', QO, Q1, Q2, Q3, Q4, Q5, Q6 and Q7 are all valid signals and transmit one byte of the packet in one clock cycle.

인접한 디바이스들의 쌍들과 직렬 연결 메모리 시스템들 사이에서의 송신을 위해 그것들이 포함하는 포트 및 신호의 개수는 구현 세부이며 반드시 도 1에 묘사된 것은 아니라는 것을 분명히 이해해야 한다. 보다 일반적으로, 적어도 클럭 신호는 연속적인 디바이스들의 각 쌍 사이에서 전해진다. 연속적인 디바이스들 사이에서 전해지는 추가적인 신호가 있을 수 있고 그 특정 예는 앞서 주어졌다. 메모리 디바이스의 특정 개수 - 도 1의 예에서는 8개 - 는 구현 특정 세부라는 것이 또한 주목된다. 임의의 적절한 개수의 디바이스가 직렬 연결 아키텍쳐로 상호 연결될 수 있다. 이러한 컨텍스트(context)에 있어서의 “직렬 연결”이라는 표현은 하나가 다른 앞에 있는 메모리 디바이스들의 직렬 배열을 말하며, 사실상 직렬 또는 병렬일 수 있는 인접한 디바이스들의 각 쌍 사이의 링크의 본질을 말하는 것이 아니다.It should be clearly understood that the number of ports and signals they contain for transmission between adjacent pairs of devices and serially connected memory systems is implementation detail and is not necessarily depicted in FIG. 1. More generally, at least a clock signal is passed between each pair of consecutive devices. There may be additional signals transmitted between successive devices and specific examples thereof have been given above. It is also noted that the specific number of memory devices-eight in the example of FIG. 1-is implementation specific. Any suitable number of devices can be interconnected with a serial connection architecture. The expression "serial connection" in this context refers to the serial arrangement of memory devices, one in front of the other, not the nature of the link between each pair of adjacent devices, which may in fact be serial or parallel.

메모리 제어기(10)는 위상 검출기(11), 듀티(duty) 검출기(13) 및 커맨드 생성기(12)를 포함한다. 몇몇의 실시예들에 있어서, 메모리 제어기(10)는 위상 검출기(11)만을 포함하고, 그 경우에는 출력 지연 조정만이 실행된다. 몇몇의 실시예들에 있어서, 메모리 제어기(10)는 듀티 검출기(13)만을 포함하며, 그 경우에는 듀티 사이클 교정만이 실행된다. 몇몇의 실시예들에 있어서, 위상 검출기(11)와 듀티 검출기(13)의 양쪽이 포함되며, 그 경우에는 출력 지연 조정 및 듀티 사이클 교정의 양쪽이 실행될 수 있다. 이러한 최종의 경우가 하기의 상세한 설명에서 가정된다. 위상 검출기(11) 및 듀티 검출기(13)는 각각 신호 버스(S11 및 S12)를 통해 커맨드 생성기에 연결된다. 커맨드 생성기(12)는 그것이 그곳을 통해 커맨드를 출력할 수 있는 CSO 및 Qn에 연결되는 출력 신호 버스(S13)를 갖는다.The memory controller 10 includes a phase detector 11, a duty detector 13 and a command generator 12. In some embodiments, memory controller 10 includes only phase detector 11, in which case only output delay adjustment is performed. In some embodiments, memory controller 10 includes only duty detector 13, in which case only duty cycle calibration is performed. In some embodiments, both phase detector 11 and duty detector 13 are included, in which case both output delay adjustment and duty cycle correction may be performed. This final case is assumed in the detailed description below. The phase detector 11 and the duty detector 13 are connected to the command generator via signal buses S11 and S12 respectively. The command generator 12 has an output signal bus S13 that is connected to CSO and Qn through which it can output a command.

메모리 제어기(10)는 그 자신의 포트 CKO/CKO#로부터 차동 클럭 버스(S111)을 드라이브하며, 8개의 메모리 디바이스(100~1~100-8)의 모두는 시리즈 플로우-쓰루 방식(series flow-through manner)으로 이전의 디바이스의 CKO/CKO# 포트로부터, 그들 자신의 클럭 포트 CKI/CKI#를 통해 차동 클럭 버스를 수신한다. 메모리 제어기(10)는 그 자신의 포트 CSO, DSO 및 Qn을 통해 각각 3개의 상이한 버스(S112, S113 및 S114)를 드라이브한다. 제1 메모리 디바이스(100-1)는 그 자신의 포트 CSI, DSI 및 Dn을 통해 각각 3개의 버스(S112, S113 및 S114)를 수신하고, 제1 메모리 디바이스(100-1)는 2 클럭 사이클의 레이턴시(= tIOL)로 각각 그 자신의 출력 포트 CSO, DSO 및 Qn을 통해 3개의 대응 버스(S112-1, S113-1 및 S114-1)을 재드라이브(반향)한다. 제2 메모리 디바이스(100-2)는 그 자신의 입력 포트 CSI, DSI 및 Dn을 통해 각각 3개의 버스(S112-1, S113-1 및 S114-1)를 수신한다. 이러한 접근법은 8개의 메모리 디바이스(100-1~100-8)의 모두와 더불어 메모리 제어기의 입력 포트(CSI, DSI 및 Dn)를 통해 메모리 제어기(10)에 되 연결되는 최종 버스(S112-8, S113-8 및 S114-8)에 각각 적용한다.The memory controller 10 drives the differential clock bus S111 from its own port CKO / CKO # and all of the eight memory devices 100-1-100-8 are series flow-through. through the CKO / CKO # port of the previous device through their own clock port CKI / CKI #. The memory controller 10 drives three different buses S112, S113 and S114 respectively through its own ports CSO, DSO and Qn. The first memory device 100-1 receives three buses S112, S113 and S114, respectively, via its own ports CSI, DSI and Dn, and the first memory device 100-1 receives two clock cycles. Redrive (echo) three corresponding buses S112-1, S113-1 and S114-1 through their own output ports CSO, DSO and Qn, respectively, with latency (= tIOL). The second memory device 100-2 receives three buses S112-1, S113-1 and S114-1 through its own input ports CSI, DSI and Dn, respectively. This approach includes the final bus S112-8, which is connected back to the memory controller 10 through the input ports CSI, DSI and Dn of the memory controller as well as all of the eight memory devices 100-1 to 100-8. S113-8 and S114-8) respectively.

동작시에, 듀티 사이클 교정을 위해서, 듀티 검출기(13)가, 링에서의 모든 디바이스(100-1 내지 100-8) 사이에서 패스되고난 후의 클럭 입력인 CKI/CKI#의 듀티비를 감시한다. 듀티 검출기(13)가 CKI/CKI#로부터의 듀티 에러(duty error), 즉 요구되는 듀티 사이클로부터 듀티 사이클에서의 일탈을 검출하면, 그것은 신호 버스(S12)를 통해서, 듀티 사이클이 요구되는 듀티 사이클보다 더 짧고 길어져야한다는 것을 나타내도록 ‘Duty_Add’ 또는 듀티 사이클이 요구되는 듀티 사이클보다 더 길고 짧아져야한다는 것을 나타내도록 ‘Duty_Sub’를 어서트(assert)한다. 응답시에, 커맨드 생성기(12)는 적절한 ‘기입 듀티 사이클 레지스터’ 커맨드 패킷을 생성한다.In operation, for duty cycle correction, the duty detector 13 monitors the duty ratio of CKI / CKI #, which is the clock input after being passed between all devices 100-1 to 100-8 in the ring. . If the duty detector 13 detects a duty error from CKI / CKI #, that is, a deviation in the duty cycle from the required duty cycle, it is sent through the signal bus S12 to the duty cycle in which the duty cycle is required. Asserted 'Duty_Add' or 'Duty_Sub' to indicate that the duty cycle should be longer and shorter than the required duty cycle to indicate that it should be shorter and longer. In response, command generator 12 generates an appropriate 'write duty cycle register' command packet.

동작시에, 출력 지연 조정을 위해, 위상 검출기(11)는 CKI/CKI#의 위상을 감시한다. 위상 검출기(11)가 CKI/CKI#와 CKO/CKO# 사이의 위상 에러(PE)를 검출하면, 그것은 신호 버스(S11)을 통해 ‘PE’ 신호를 어서트한다. 응답시에, 커맨드 생성기(12)는 적절한 ‘기입 출력 지연 레지스터’ 커맨드 패킷을 생성한다.In operation, for output delay adjustment, phase detector 11 monitors the phase of CKI / CKI #. When the phase detector 11 detects a phase error PE between CKI / CKI # and CKO / CKO #, it asserts a 'PE' signal via the signal bus S11. In response, command generator 12 generates an appropriate 'write output delay register' command packet.

커맨드 생성기(12)는 S11 및 S12에서 수신된 신호에 따라 적절한 커맨드 패킷을 발행하고 신호 버스(S13) 및 CSO, Qn 포트를 통해 커맨드 정보를 송신한다.The command generator 12 issues an appropriate command packet in accordance with the signals received at S11 and S12 and transmits command information via the signal bus S13 and the CSO and Qn ports.

이제 도 2에 대해 언급하면, 도 1의 메모리 디바이스(100-1 내지 100-8)의 예시적인 구현의 블록도가 도시되어 있다. 일반적으로 100에 표시되어 있는 디바이스는, 메모리 코어(150), 커맨드/어드레스 패킷 로직(logic)(130), 데이터 패킷 로직(140), 및 듀티 사이클 교정 로직(120)을 포함한다. 메모리 코어(memory core)(150)는 설계 변경에 따라, 메모리 셀 어레이의 단일 뱅크 또는 메모리 셀 어레이의 다수의 뱅크일 수 있다. 데이터 패킷 로직(140)은 모든 필요한 데이터 전송 정보를 처리 및 저장한다. 커맨드/어드레스 패킷 로직(130)은, 후술되는 바와 같은 내부 제어 신호 ‘csi_lat’에 따라, 내부 신호 ‘dn_lat’를 통해 착신되는 모든 커맨드 명령 및/또는 어드레스 정보를 처리한다.
Referring now to FIG. 2, shown is a block diagram of an example implementation of the memory devices 100-1 through 100-8 of FIG. 1. The device, shown generally at 100, includes a memory core 150, command / address packet logic 130, data packet logic 140, and duty cycle correction logic 120. Memory core 150 may be a single bank of memory cell arrays or multiple banks of memory cell arrays, depending on design changes. Data packet logic 140 processes and stores all necessary data transfer information. The command / address packet logic 130 processes all command commands and / or address information received through the internal signal 'dn_lat' according to the internal control signal 'csi_lat' as described below.

클럭 입력 처리
Clock input processing

디바이스(100)는, 차동 클럭 입력 CKI 및 CKI#를 다루기 위해서, 예컨대, 차동 타입 입력 버퍼일 수 있는 CKI/CKI#용 클럭 입력 수신기(102D)를 포함한다. 클럭 입력 수신기(102D)는, CKI/CKI#의 외부 인터페이스 레벨을 내부 클럭 신호 ‘cki_i’의 내부 로직 레벨로 번역한다. 내부 클럭 신호 cki_i는 다양한 동작을 위해 다른 내부 로직 블록에서 사용될 수 있다. 하기에서 상세히 기술될 바와 같이, 듀티 사이클 교정 로직(120)은 내부 클럭 신호 cki_i를 취하여 듀티 사이클 교정 클럭 신호 clk_dcc를 생성한다. 듀티 사이클 교정 클럭 신호 ‘clk_dcc’는 제어기 프로그램 가능 지연 라인 PDL2(105D)에 의해 지연되며, 그 지연된 신호 ‘clk_dcc_d’는 최종적으로, 외부 클럭 출력 신호 CKO/CKO#를 출력하는 출력 드라이버 블록(108D)의 입력 포트로 드라이브된다.
Device 100 includes a clock input receiver 102D for CKI / CKI # that may be, for example, a differential type input buffer to handle differential clock inputs CKI and CKI #. The clock input receiver 102D translates the external interface level of CKI / CKI # into the internal logic level of the internal clock signal 'cki_i'. The internal clock signal cki_i can be used in other internal logic blocks for various operations. As will be described in detail below, duty cycle correction logic 120 takes internal clock signal cki_i to generate duty cycle corrected clock signal clk_dcc. The duty cycle corrected clock signal 'clk_dcc' is delayed by the controller programmable delay line PDL2 105D, and the delayed signal 'clk_dcc_d' finally outputs an external clock output signal CKO / CKO # to the output driver block 108D. Is driven into the input port.

커맨드 스트로브 입력 처리
Command Strobe Input Processing

디바이스(100)는, 버퍼링된 신호 ‘csi_i’를 CSI 입력 신호로부터 생성하는 커맨드 스트로브 수신기(102A)를 포함한다. 버퍼링된 신호 ‘csi_i’는 D-타입 플립-플롭(103A)의 D 포트에 연결된다. 플립-플롭(103A)은 클럭 신호 ‘cki_i’에 의해 드라이브되며, ‘cki_i’의 매 상승 에지에서 ‘csi_i’ 신호의 상태를 래치한다. 래치된 신호 ‘csi_lat’는 커맨드/어드레스 패킷 로직(130)에 제공되며, 클럭 입력 포트가 듀티 교정 클럭 신호 clk_dcc에 의해 드라이브되는 다른 플립-플롭(103E)의 D 포트에 또한 제공된다. 플립-플롭(103E)의 출력 신호 ‘cso_i’는 제어기 프로그램 가능 지연 라인 PLD2(105A)에 의해 지연되며, 그 지연된 신호 ‘cso_d’는 최종적으로, 그 다음에 외부 신호 CSO를 출력하는 출력 드라이버 블록(108A)의 입력 포트에 드라이브된다. 2 스테이지(stage)의 플립-플롭 로직(103A 및 103E)은 CSI 대 CSO의 바이패스를 위해 2 클럭 사이클의 입력 대 출력 레이턴시(= tIOL)를 제공한다.
Device 100 includes a command strobe receiver 102A that generates a buffered signal 'csi_i' from a CSI input signal. The buffered signal 'csi_i' is connected to the D port of the D-type flip-flop 103A. Flip-flop 103A is driven by clock signal 'cki_i' and latches the state of the 'csi_i' signal on every rising edge of 'cki_i'. The latched signal 'csi_lat' is provided to the command / address packet logic 130 and the clock input port is also provided to the D port of another flip-flop 103E which is driven by the duty corrected clock signal clk_dcc. The output signal 'cso_i' of the flip-flop 103E is delayed by the controller programmable delay line PLD2 105A, the delayed signal 'cso_d' finally outputting the output driver block (the output signal CSO) Drive to the input port of 108A). Two stages of flip-flop logic 103A and 103E provide two clock cycles of input-to-output latency (= tIOL) for the bypass of CSI to CSO.

데이터 스트로브 입력 처리
Data strobe input processing

디바이스(100)는 DSI 입력 신호로부터 버퍼링된 신호 ‘dsi_i’를 생성하는 데이터 스트로브 입력 수신기(102C)를 포함한다. 버퍼링된 신호 dsi_i는 D-타입 플립-플롭(103C)의 D 포트에 연결된다. 플립-플롭(103C)는 클럭 신호 ‘cki_i’에 의해 드라이브되며, ‘cki_i’의 매 상승 에지에서 ‘dsi_i’의 상태를 래치한다. 래치된 신호 ‘dsi_lat’는 커맨드/어드레스 패킷 로직(130) 및 데이터 패킷 로직(140)에 제공되며, 클럭 입력 포트가 듀티 교정 클럭 신호 clk_dcc에 의해 드라이브되는, 다른 플립-플롭(103G)의 D 포트에 또한 제공된다. 플립-플롭(103G)의 출력 신호 ‘dso_i’는 제어기 프로그램 가능 지연 라인 PDL2(105C)에 의해 지연되며, 그 지연된 신호 ‘dso_d’는 최종적으로, 외부 신호 DSO를 출력하는 출력 드라이버 블록(108C)의 입력 포트에 드라이브된다. 2 스테이지의 플립-플롭 로직(103C 및 103G)은 DSI 대 DSO의 바이패스를 위해 2 클럭 사이클의 동일한 입력 대 출력 레이턴시(= tIOL)를 제공한다.
Device 100 includes a data strobe input receiver 102C that generates a buffered signal 'dsi_i' from the DSI input signal. The buffered signal dsi_i is connected to the D port of the D-type flip-flop 103C. Flip-flop 103C is driven by clock signal 'cki_i' and latches the state of 'dsi_i' on every rising edge of 'cki_i'. The latched signal 'dsi_lat' is provided to the command / address packet logic 130 and the data packet logic 140 and the D port of another flip-flop 103G, whose clock input port is driven by the duty calibration clock signal clk_dcc. Is also provided. The output signal 'dso_i' of the flip-flop 103G is delayed by the controller programmable delay line PDL2 105C, and the delayed signal 'dso_d' finally outputs an external signal DSO of the output driver block 108C. Drive to the input port. Two stages of flip-flop logic 103C and 103G provide the same input-to-output latency (= tIOL) of two clock cycles for bypass of DSI to DSO.

데이터 처리
Data processing

디바이스(100)는 외부 신호 Dn을 수신하기 위해 데이터 리시버(120B)를 포함한다. 수신기(102B)의 개수는 Dn 포트의 비트 폭에 따라 1 이상일 수 있다. 예를 들면, Dn 포트가 8 비트 와이드(wide) 데이터 입/출력 구현을 위해 DO, D1, ~ D7으로 지정되어 있다면, 수신기(102B)는 8회 반복될 것이다. 수신기(102B)의 출력 ‘dn_i’는 D-타입 플립-플롭(103B)의 D 포트에 제공된다. 플립-플롭(103B)는 클럭 신호 ‘cki_i’에 의해 드라이브되며, ‘cki_i’의 매 상승 에지에서 ‘dn_i’의 상태를 래치한다. 래치된 신호 ‘dn_lat’는 커맨드/어드레스 패킷 로직(130)에 제공되고 데이터 패킷 로직(140)에 또한 제공된다. 래치된 신호 ‘dn_lat’는 멀티플렉서(multiplexer)(104)의 하나의 입력 포트에 또한 제공된다. 멀티플렉서(104)의 다른 포트는 데이터 패킷 로직(140)으로부터의 신호 ‘core_data’에 의해 드라이브된다. 멀티플렉서(104)의 출력은, 클럭 입력 포트가 듀티 교정 클럭 신호 clk_dcc에 의해 드라이브되는 플립-플롭(103F)의 D 입력 포트에 연결되며, ‘clk_dcc’의 매 상승 에지에서 멀티플렉서(104)의 출력의 상태를 래치한다. 래치된 신호 ‘q_i’는 다른 제어기 프로그램 가능 지연 라인 PDL2(105B)에 의해 지연되며, 그 지연된 신호 ‘q_d’는 최종적으로, 외부 신호 Qn을 출력하는 출력 드라이버 블록(108B)의 입력 포트에 드라이브된다. 2 스테이지의 플립-플롭 로직(103B 및 103F)은 Dn 대 Qn의 바이패스를 위해 2 클럭 사이클의 동일한 입력 대 출력 레이턴시(= tIOL)를 제공한다.Device 100 includes a data receiver 120B to receive an external signal Dn. The number of receivers 102B may be one or more, depending on the bit width of the Dn port. For example, if the Dn port is designated DO, Dl, D-7 for an 8-bit wide data input / output implementation, receiver 102B will repeat eight times. The output 'dn_i' of the receiver 102B is provided to the D port of the D-type flip-flop 103B. Flip-flop 103B is driven by clock signal 'cki_i' and latches the state of 'dn_i' on every rising edge of 'cki_i'. The latched signal 'dn_lat' is provided to the command / address packet logic 130 and also to the data packet logic 140. The latched signal 'dn_lat' is also provided to one input port of the multiplexer 104. The other port of multiplexer 104 is driven by the signal 'core_data' from data packet logic 140. The output of the multiplexer 104 is connected to the D input port of the flip-flop 103F, whose clock input port is driven by the duty calibration clock signal clk_dcc, of the output of the multiplexer 104 on every rising edge of 'clk_dcc'. Latch the state. The latched signal 'q_i' is delayed by another controller programmable delay line PDL2 105B, and the delayed signal 'q_d' is finally driven to the input port of the output driver block 108B which outputs the external signal Qn. . The two stages of flip-flop logic 103B and 103F provide the same input to output latency (= tIOL) of two clock cycles for bypass of Dn versus Qn.

내부 신호 dn_i는 (커맨드 스트로브 입력에 의해 묘사되는 바와 같은) 커맨드 내용(command content) 및 (데이터 스트로브 입력에 의해 묘사되는 바와 같은) 데이터 입력의 양쪽을, 존재할 경우에, 포함한다. 각각의 디바이스는, 몇몇의 실시예에서 디바이스 어드레스 레지스터(131)에 저장되는 디바이스 어드레스를 갖는다. 각각의 커맨드는, 커맨드가 어드레스되는 메모리 디바이스들 중 하나의 디바이스 어드레스를 포함하는 디바이스 어드레스 부분을 포함한다. 그곳에는 모든 디바이스들에 의해 처리될 커맨드를 요구하는 브로드캐스트 어드레스가 또한 있을 수 있다. 메모리 디바이스(100)는 디바이스 어드레스 부분을 조사하는 것에 의해 각각의 커맨드를 처리한다. 만약, 수신된 커맨드/어드레스 패킷내의 디바이스 어드레스 정보가 메모리 디바이스(100)의 그 자신의 저장된 디바이스 어드레스와 매치하면, 커맨드/어드레스 패킷 로직(130)은 커맨드를 처리하고, 커맨드가 그 메모리 디바이스에 대한 것이라는 것을 의미하도록 “id_match” 신호를 또한 발행한다. id_match 신호는 멀티플렉서(104)의 데이터 흐름 경로를 조향하는데 사용된다. 만약, “id_match”가 디바이스 어드레스 매칭 처리의 결과로서 하이 로직 상태(보다 일반적으로는 “매치 상태” 하지만 규정되어 있음)에 있을 경우에, 멀티플렉서(104)는 “core_data”를 출력되도록 선택함으로써, 메모리 코어(150)로부터의 데이터가 플립-플롭(103F)에 전송될 수 있다. 한편, “id_match”가 디바이스 어드레스 매칭 처리의 결과로서 로우 로직 상태(보다 일반적으로는 “비 매치 상태” 하지만 규정되어 있음)에 있을 경우에, 멀티플렉서(104)는 “dn_lat”를 출력되도록 선택함으로써, 데이터 입력 Dn으로부터 수신되는 데이터가 출력 Qn에서 반향되도록 플립-플롭(103F)에 전송될 수 있다.The internal signal dn_i includes both command content (as depicted by the command strobe input) and data input (as depicted by the data strobe input), if present. Each device has a device address stored in the device address register 131 in some embodiments. Each command includes a device address portion that includes a device address of one of the memory devices to which the command is addressed. There may also be a broadcast address that requires a command to be processed by all devices. The memory device 100 processes each command by examining the device address portion. If the device address information in the received command / address packet matches its own stored device address of the memory device 100, the command / address packet logic 130 processes the command, and the command is directed to that memory device. It also issues an "id_match" signal to mean that it is. The id_match signal is used to steer the data flow path of the multiplexer 104. If the "id_match" is in a high logic state (more generally a "match state" is defined) as a result of the device address matching process, the multiplexer 104 selects to output "core_data" so that the memory Data from core 150 may be sent to flip-flop 103F. On the other hand, when "id_match" is in a low logic state (more generally "non-match state" is defined) as a result of the device address matching process, the multiplexer 104 selects to output "dn_lat", Data received from data input Dn may be sent to flip-flop 103F to be echoed at output Qn.

따라서, 멀티플렉서(104)는, a) 멀티플렉서(104)의 dn_lat 입력을 선택하는 것에 의해 데이터 입력 Dn으로부터 수신되는 데이터를 바이패스하는 것과, b) 멀티플렉서(104)의 core_data 입력을 선택하는 것에 의해 core_data를 출력하는 것 사이의 선택을 참작한다. 신호 ‘core_data’는 일반적으로, 예컨대, 메모리 제어기(10)로부터의 요청시에 ‘페이지 판독’ 동작의 일부로서, 메모리 코어(150)로부터 데이터 패킷 로직(140)으로 전송된다. 그 다음에, ‘페이지 판독’ 동작이 행해진 후에, 메모리 제어기(10)는, 그 메모리 디바이스에 어드레스되는 커맨드로 메모리 디바이스에 대해 ‘버스트 판독(BURST READ)’을 요청할 수 있다. 그 경우에, 메모리 디바이스는 ‘버스트 판독’ 커맨드 및 디바이스 어드레스 부분을 포함하는 대응 어드레스 정보를 처리한다. 수신된 커맨드/어드레스 패킷내의 디바이스 어드레스 정보가 메모리 디바이스(100)의 그 자신의 저장된 디바이스 어드레스와 매치하면, 커맨드/어드레스 패킷 로직(130)은, 멀티플렉서(104)의 데이터 흐름 경로를 조향하기 위해, “id_match” 신호를 발행한다. “id_match”가 디바이스 어드레스 매칭 처리의 결과로서 하이 로직 상태에 있으면, 멀티플렉서(104)는 “core_data”를 출력되도록 선택함으로써, 이전에 메모리 코어(150)로부터 데이터 패킷 로직(140)으로 전송된 데이터가 플립-플롭(103F)에 전송될 수 있다.Accordingly, the multiplexer 104 may: a) bypass the data received from the data input Dn by selecting the dn_lat input of the multiplexer 104 and b) core_data by selecting the core_data input of the multiplexer 104. Take into account the choice between outputting. The signal 'core_data' is generally sent from the memory core 150 to the data packet logic 140, for example, as part of a 'page read' operation upon request from the memory controller 10. Then, after the 'page read' operation is performed, the memory controller 10 may request 'BURST READ' for the memory device with a command addressed to the memory device. In that case, the memory device processes the corresponding address information including the 'burst read' command and the device address portion. If the device address information in the received command / address packet matches its own stored device address of the memory device 100, then the command / address packet logic 130, in order to steer the data flow path of the multiplexer 104, Issue an "id_match" signal. If "id_match" is in a high logic state as a result of the device address matching process, the multiplexer 104 selects to output "core_data" so that data previously transmitted from the memory core 150 to the data packet logic 140 is lost. May be sent to flip-flop 103F.

커맨드가 메모리 디바이스에 어드레스되지만, 커맨드가 버스트 판독 커맨드가 아닌 경우에, 몇몇의 실시예들에 있어서 멀티플렉서(104)의 core_data 입력은, 그곳에 출력되는 데이터가 없을지라도, 여전히 선택된다는 것에 주목한다. core_data 신호는 그러한 경우에 정적인 신호일 수 있다. 이것은 데이터 입력 Dn이 다음 디바이스에 반향되지 않는 것을 초래한다. 이것은 후속하는 디바이스들에서의 전력 소비를, 그것들에 어드레스되지 않는 커맨드와 관련된 데이터를 처리할 그것들에 대한 필요를 제거하는 것에 의해, 감소시키는 효과를 갖는다. 이것은, “Semiconductor Device and Method for Reducing Power Consumption in a System Having Interconnected Devices”라는 제목을 갖는, 미국 출원 번호 12/018,272(2008년 1월 23일 출원)에 더 상세히 기술되어 있다.Note that if the command is addressed to the memory device but the command is not a burst read command, in some embodiments the core_data input of the multiplexer 104 is still selected, even if there is no data output there. The core_data signal may be a static signal in such a case. This results in the data input Dn not being echoed to the next device. This has the effect of reducing power consumption in subsequent devices by eliminating the need for them to process data associated with commands not addressed to them. This is described in more detail in US Application No. 12 / 018,272, filed Jan. 23, 2008, entitled “Semiconductor Device and Method for Reducing Power Consumption in a System Having Interconnected Devices”.

따라서, 몇몇의 실시예들에 있어서, 데이터 입력 신호 Dn의 지연된 버전은 데이터 출력 신호(Qn)의 하나의 구성 요소로서 생성된다. 때로는, 데이터 출력 신호가 데이터 입력 신호의 지연된 버전이다. 설명된 구현에 대해서, 이것은, 데이터 입력 신호에 특정 메모리 디바이스에 대한 것이 아닌 내용이 있는 경우일 수 있지만 다른 시나리오도 가능하다. 또한, 때로는, 데이터 출력 신호가, 커맨드에 따라 메모리 디바이스에 국소적으로 생성된 신호에 지연을 적용한 후의 메모리 디바이스에 국소적으로 생성된 신호의 지연된 버전을 포함한다. 설명된 구현에 대해서, 메모리 디바이스에 국소적으로 생성된 신호는 데이터 패킷 로직(140)으로부터 출력되는 소위 core_data이지만 다른 시나리오도 가능하다.Thus, in some embodiments, the delayed version of the data input signal Dn is generated as one component of the data output signal Qn. Sometimes, the data output signal is a delayed version of the data input signal. For the described implementation, this may be the case where the data input signal contains content that is not specific to a particular memory device, but other scenarios are possible. Also, sometimes, the data output signal includes a delayed version of the locally generated signal to the memory device after applying a delay to the locally generated signal to the memory device in accordance with the command. For the described implementation, the signal generated locally at the memory device is the so-called core_data output from the data packet logic 140 but other scenarios are possible.

커맨드/어드레스 패킷 로직(130)은, 후술되는 바와 같이 실행되는 듀티 사이클 교정의 양을 제어하도록 듀티 사이클 교정 회로(120)에 대한 출력 DCR<0:3>을 생성하는 DCR(duty cycle correction register; 듀티 사이클 교정 레지스터)(132)을 갖고, 후술되는 바와 같이 적용되는 출력 지연의 양을 제어하도록 패킷 지연 라인들(105A, 105B, 105C, 105D)에 대한 출력 ODR<0:1>을 생성하는 ODR(output delay register; 출력 지연 레지스터(134)를 갖는다. 가용한 커맨드 중 하나는 DCR(132)에 값을 기입하기 위한 “기입 듀티 사이클 교정 레지스터” 커맨드이다. 유사하게, 가용한 커맨드 중 하나는 ODR(134)에 값을 기입하기 위한 “기입 출력 지연 레지스터” 커맨드이다.
The command / address packet logic 130 may include a duty cycle correction register (DCR) that generates an output DCR <0: 3> to the duty cycle correction circuit 120 to control the amount of duty cycle correction performed as described below; ODR having a duty cycle correction register 132 and generating output ODR <0: 1> for packet delay lines 105A, 105B, 105C, 105D to control the amount of output delay applied as described below. (output delay register; has an output delay register 134. One of the available commands is a “write duty cycle calibration register” command for writing a value to the DCR 132. Similarly, one of the available commands is an ODR 134 is a "write output delay register" command for writing a value.

기입 듀티 사이클 교정 레지스터 커맨드
Write Duty Cycle Correction Register Command

“기입 듀티 사이클 교정 레지스터” 커맨드의 사용은, 듀티 사이클 교정을 실행할시에 적용된 지연의 양이 듀티 사이클 교정 레지스터에 값을 기입하는 것에 의해 제어되는, 여기에 기술되는 바와 같은, 구현을 가정한다. 보다 일반적으로, 디바이스로 하여금 듀티 사이클 교정이 실행될 방식을 설정하게끔 하는 효과를 갖는, 여기에서 듀티 사이클 교정 커맨드로서 칭해지는 임의의 커맨드가 채용될 수 있다. 따라서, 설명된 “기입 듀티 사이클 교정 레지스터” 커맨드는 듀티 사이클 교정 커맨드의 특정 예로 간주되어진다.
The use of a “write duty cycle calibration register” command assumes an implementation, as described herein, in which the amount of delay applied when performing the duty cycle calibration is controlled by writing a value to the duty cycle calibration register. More generally, any command referred to herein as a duty cycle calibration command may be employed that has the effect of causing the device to set the manner in which the duty cycle calibration is to be executed. Thus, the described "Write Duty Cycle Calibration Register" command is considered to be a specific example of the duty cycle calibration command.

기입 출력 지연 레지스터 커맨드
Write output delay register command

“기입 출력 지연 레지스터” 커맨드의 사용은, 적용될 지연의 양이 출력 지연 레지스터에 값을 기입하는 것에 의해 제어되는, 여기에 기술되는 바와 같은, 구현을 가정한다. 보다 일반적으로, 디바이스로 하여금 적용될 지연의 양을 설정하게끔 하는 효과를 갖는, 여기에서 출력 지연 조정 커맨드로서 칭해지는 임의의 커맨드가 채용될 수 있다. 따라서, 설명된 “기입 출력 지연 레지스터” 커맨드는 출력 지연 조정 커맨드의 특정 예로 간주되어진다.
The use of a “write output delay register” command assumes an implementation, as described herein, wherein the amount of delay to be applied is controlled by writing a value to the output delay register. More generally, any command referred to herein as an output delay adjustment command can be employed that has the effect of causing the device to set the amount of delay to be applied. Thus, the described "write output delay register" command is considered a specific example of the output delay adjustment command.

듀티 사이클 교정
Duty cycle correction

예시된 예에 있어서, 듀티 사이클 교정 회로(120)는 클럭 분할기(123), 및 ‘4 대 16 디코더’ 블록 및 ‘프로그램 가능 지연 라인(PDL1)’을 포함하는 제어기 프로그램 가능 지연 라인(121)을 포함한다. 클럭 분할기(123) 및 제어기 프로그램 가능 지연 라인(121)의 개개의 출력 clk_ref, clk_del은 XOR 게이트(122)에 입력되며, XOR 게이트(122)의 출력은 듀티 사이클 교정 클럭 clk_dcc이다.In the illustrated example, the duty cycle correction circuit 120 includes a clock divider 123 and a controller programmable delay line 121 that includes a '4 to 16 decoder' block and a 'programmable delay line PDL1'. Include. The individual outputs clk_ref, clk_del of clock divider 123 and controller programmable delay line 121 are input to XOR gate 122, and the output of XOR gate 122 is duty cycle corrected clock clk_dcc.

클럭 분할기(123)는 입력 ‘cki_i’ 신호의 2분의 1인 주파수를 갖는 출력 신호 ‘clk_ref’를 도출한다. 클럭 분할기 회로는 당업계에서는 주지이다. 예시된 특정예에 있어서, 클럭 분할기(123)는, 그 자신의 클럭 입력 포트를 통해서 내부 클럭 신호 cki_i에 의해 드라이브되는 D-타입 플립-플롭(103D)을 포함한다. D-타입 플립-플롭(103D)의 출력 포트 Q는 하프(half) 주파수 출력 신호를 획득하기 위해서 반전기 로직(inverter logic)(124)을 통해서 입력 포트 D에 연결된다.The clock divider 123 derives the output signal 'clk_ref' having a frequency that is one half of the input 'cki_i' signal. Clock divider circuits are well known in the art. In the specific example illustrated, clock divider 123 includes a D-type flip-flop 103D which is driven by an internal clock signal cki_i through its own clock input port. Output port Q of D-type flip-flop 103D is connected to input port D through inverter logic 124 to obtain a half frequency output signal.

제어기 프로그램 가능 지연 라인(121)은 clk_ref의 지연된 버전인, 출력 신호 clk_del을 생성한다. 지연의 양은, 커맨드/어드레스 패킷 로직(130)으로부터 수신되는 DCR<0:3>신호 정보에 의해 제어되는,‘4 대 16 디코더’ 로직 블록의 선택 신호에 의해 결정된다. XOR 로직 게이트(122)는, 2개의 하프 클럭 신호 clk_ref 및 clk_del을 수신하고, 듀티 사이클 조정된 완전한 클럭 신호 clk_dcc를 출력한다.Controller programmable delay line 121 generates output signal clk_del, which is a delayed version of clk_ref. The amount of delay is determined by the selection signal of the '4 to 16 decoder' logic block, which is controlled by the DCR <0: 3> signal information received from the command / address packet logic 130. The XOR logic gate 122 receives the two half clock signals clk_ref and clk_del and outputs a duty cycle adjusted complete clock signal clk_dcc.

도 3은, 예컨대, 도 2의 듀티 사이클 교정 회로에서 사용될 수 있는 듀티 사이클 교정을 위한 예시적인 프로그램 가능 지연 라인(121)의 블록도이다. 하프 주파수 클럭 신호 clk_ref는, 16 단위 지연 블록(UNIT_0~UNIT_15)의 각각의 개개의 입력에 드라이브된다. 각각의 단위 지연 블록은 동일한 구조를 갖고, 단위 지연 블록(UNIT_15)이 예로서 기술될 것이다. 단위 지연 블록은 2개의 NAND 로직 게이트(1211 및 1212)와 하나의 반전기 로직 게이트(1213)로 이루어져 있다. 제1 NAND 로직 게이트(1211)는 그 자신의 제1 입력에서 clk_ref를 수신하고 그 자신의 제2 입력에서 4 대 16 디코더(1210)로부터의 출력을 수신한다. 제1 NAND 로직 게이트(1211)의 출력은 제2 로직 NAND 게이트(1212)의 제1 입력으로 입력된다. 단위 지연 블록 UNIT_15에 대해서, 제2 로직 NAND 게이트(1212)의 제2 입력은 Vdd에 연결된다. 최우측 단위 지연 블록 UNIT_0을 제외한 모든 단위 지연 블록에 대해서, 제2 NAND 게이트(1212)의 출력은 반전기(1213)를 통해서 다음 단위 지연 블록의 제2 NAND 게이트(1212)의 제2 입력으로 연결된다. 최우측 단위 지연 블록 UNIT_0의 제2 NAND 게이트의 출력은 반전기를 통해 연결되어 전체 출력 클럭 clk_del 신호를 생성한다. 4 대 16 디코더 블록(1210)은 그 자신의 입력으로서 4-비트 와이드 입력 버스 DCR<0:3>을 갖는다. 디코더 블록(1210)은 상기 입력을 디코드하여, 16-비트 와이드 버스 SEL<15:0> - 버스 중 하나의 라인이 16 단위 지연 블록의 각각에 연결됨 - 를 출력한다. 도시된 단위 지연 로직은 레지스터 제어된 지연-록드-루프(delay-locked-loop)를 생성하도록 사용되었던 주지의 회로 기술의 예이다. 다른 단위 지연 로직이 대안적으로 채용될 수 있다. 16 단위 지연 블록의 사용은 구현 세부이다. 예를 들면, 보다 일반적으로, N 대 M 디코더는 N 입력 라인에 수신되는 신호를 M 단위 지연 블록에 대한 M 제어 신호로 디코드하는데 사용될 수 있다, 여기서, N>=1이고 M >=2이다.3 is a block diagram of an example programmable delay line 121 for duty cycle correction that may be used, for example, in the duty cycle correction circuit of FIG. 2. The half frequency clock signal clk_ref is driven to each individual input of the 16 unit delay blocks UNIT_0 to UNIT_15. Each unit delay block has the same structure, and the unit delay block UNIT_15 will be described by way of example. The unit delay block consists of two NAND logic gates 1211 and 1212 and one inverter logic gate 1213. The first NAND logic gate 1211 receives clk_ref at its own first input and receives the output from the 4 to 16 decoder 1210 at its own second input. An output of the first NAND logic gate 1211 is input to a first input of the second logic NAND gate 1212. For the unit delay block UNIT_15, the second input of the second logic NAND gate 1212 is connected to Vdd. For all unit delay blocks except for the rightmost unit delay block UNIT_0, the output of the second NAND gate 1212 is connected via the inverter 1213 to the second input of the second NAND gate 1212 of the next unit delay block. do. The output of the second NAND gate of the rightmost unit delay block UNIT_0 is connected through an inverter to generate the full output clock clk_del signal. The 4 to 16 decoder block 1210 has a 4-bit wide input bus DCR <0: 3> as its own input. The decoder block 1210 decodes the input and outputs a 16-bit wide bus SEL <15: 0>, where one line of the bus is connected to each of the 16 unit delay blocks. The unit delay logic shown is an example of a known circuit technique that has been used to create a register controlled delay-locked-loop. Other unit delay logic may alternatively be employed. The use of a 16 unit delay block is implementation specific. For example, more generally, an N to M decoder may be used to decode a signal received on an N input line into an M control signal for an M unit delay block, where N> = 1 and M> = 2.

동작시에, ‘4 대 16 디코더’ 로직(1210)은, 16개의 선택 신호 중 하나만이 하이 로직 상태에 있고 다른 15개의 선택 신호의 모두는 로우 로직 상태에 있도록, 16 SEL<15:0> 출력을 생성한다. 따라서, 하나의 단위 지연 블록만이, 선택된 단위 지연 블록의 우측인 단위 지연 블록을 통해 ‘clk_ref’ 신호를 전송하도록 선택된다. 제어 입력 DCR<0:3>은 clk_ref 입력을 처리할 단위 지연 블록을 선택하는데 사용된다. 최소의 지연은 최우측 단위 지연 블록 UNIT_0을 선택하는 것에 의해 선택되며, 그 경우에 clk_del은 하나의 단위 지연 블록에 의해 지연되는 clk_ref 신호인 반면에, 최대의 지연은 최좌측 단위 지연 블록 UNIT_15을 선택하는 것에 의해 선택되며, 그 경우에 clk_del은 16개의 단위 지연 블록의 모두에 의해 지연되는 clk_ref 신호이다.In operation, the '4 to 16 decoder' logic 1210 outputs 16 SEL <15: 0> so that only one of the 16 select signals is in the high logic state and all of the other 15 select signals are in the low logic state. Create Therefore, only one unit delay block is selected to transmit a 'clk_ref' signal through the unit delay block that is the right side of the selected unit delay block. The control input DCR <0: 3> is used to select the unit delay block to process the clk_ref input. The minimum delay is selected by selecting the rightmost unit delay block UNIT_0, in which case clk_del is the clk_ref signal delayed by one unit delay block, while the maximum delay selects the leftmost unit delay block UNIT_15. Clk_del is a clk_ref signal that is delayed by all of the 16 unit delay blocks.

대부분의 처리 기술에 대해서, 예시된 단위 지연 블록의 단위 지연량은 약 100ps~150ps이다. 하지만, 몇몇의 실시예에 있어서, 더 정교한 단위 지연 회로 블록이 더 정교한 지연 튜닝(tuning) 성능을 가진 더욱 더 높은 동작 주파수를 위해 채용된다. 단위 지연 시간은 도 3에서 “tUD”로 표시되며 전체 프로그램 가능 지연에 대한 총 지연 시간은 “tUD”의 16회인 “tPDL1”으로 표시된다.For most processing techniques, the unit delay amount of the illustrated unit delay block is about 100 ps to 150 ps. However, in some embodiments, more sophisticated unit delay circuit blocks are employed for higher operating frequencies with more sophisticated delay tuning performance. The unit delay time is represented by “tUD” in FIG. 3 and the total delay time for the entire programmable delay is represented by “tPDL1” which is 16 times of “tUD”.

몇몇의 실시예들에 있어서, 파워-온 기동에 대한 디폴트(default) 설정은, SEL<7> 비트상에, 그것이 지연 라인의 중간 위치에 있으므로, 로직 하이 상태를 갖는 것이다. 하지만, 다른 설계 변경에 있어서는, 디폴트 설정은 상이할 수 있고, 최대 주파수에서 동작하기 위해 준비되도록 최소 지연 설정을 갖는 것이 권장될 수 있다.In some embodiments, the default setting for power-on startup is to have a logic high state on the SEL <7> bit, since it is in the middle of the delay line. However, for other design changes, the default settings may be different and it may be advisable to have a minimum delay setting to be ready for operation at the maximum frequency.

도 4는, 듀티 교정될 가공되지 않은 입력 클럭 신호인 CKI를 제외하고 모든 신호가 도 3에 도시되어 있는 바와 같은, 제어기 프로그램 가능 듀티 사이클 교정 프로시져(procedure)의 타이밍도의 예이다. 타이밍도는, 오직 예시의 간략화를 위해서, 상부에서 하나의 극도로 왜곡된 클럭 입력 신호 CKI를 도시하고 있다. 하프 클럭 신호 clk_ref는 도 2의 ‘클럭 분할기’ 블록(123)으로부터 도출되며 그것의 상승 및 하강 에지는 CKI의 2개의 상승 에지와 정렬된다. 이러한 예에 대해서는, 클럭 신호 clk_dcc는, 예컨대, “0111b”로 초기에 설정되는 것으로 도시되어 있는 DCR<0:3> 값에 대한 임의의 변경 없이, 45% 온(on), 55% 오프(off)와 같은 왜곡된 듀티비를 가질 것이다. DCR<0:3>이 “1000b”로 변경된 후에, 클럭 신호 clk_dcc의 듀티 사이클은, 인에이블되는 SEL (7)로부터 인에이블되는 SEL (8)로의 제어기 프로그램 가능 지연 라인(121)의 선택에서의 시프트(shift)의 결과로서 50% 온 및 50% 오프로 교정된다.
FIG. 4 is an example of a timing diagram of a controller programmable duty cycle calibration procedure as shown in FIG. 3 except for the CKI, which is the raw input clock signal to be duty calibrated. The timing diagram shows one extremely distorted clock input signal CKI at the top, for simplicity of illustration only. The half clock signal clk_ref is derived from the 'clock divider' block 123 of FIG. 2 and its rising and falling edges are aligned with the two rising edges of the CKI. For this example, the clock signal clk_dcc is 45% on, 55% off, without any change to the DCR <0: 3> value shown, for example, initially set to "0111b". Will have a distorted duty ratio such as After DCR <0: 3> is changed to “1000b”, the duty cycle of clock signal clk_dcc is at the selection of controller programmable delay line 121 from SEL 7 enabled to SEL 8 enabled. It is corrected to 50% on and 50% off as a result of the shift.

듀티 사이클 교정의 제어
Control of Duty Cycle Calibration

DCR 132의 내용이 듀티 사이클 교정 회로(120)에서의 제어기 프로그램 가능 지연 라인(121)에 의해 도입되는 지연의 양을 제어하고, 그에 의해 듀티 사이클 교정을 제어하는데 사용된다는 것을 상기한다. 상술한 바와 같이, DCR 132의 내용은 ‘기입 듀티 사이클 레지스터’ 커맨드와 더불어 기입될 수 있다.Recall that the content of DCR 132 is used to control the amount of delay introduced by the controller programmable delay line 121 in the duty cycle correction circuit 120 and thereby control the duty cycle correction. As described above, the contents of the DCR 132 may be written along with the 'write duty cycle register' command.

도 5는 제어기의 견지로부터의 듀티 사이클 교정 프로시져에 대한 흐름도이다. 방법은 디바이스의 파워 온과 더불어 블록 5-1에서 시작한다. 이 포인트에서, 지연 라인의 모두가 초기화되고 모든 디바이스에 대한 디바이스 어드레스가 할당된다. 블록 5-2에서, 메모리 제어기(10)는 듀티 검출기(13)를 이용하여 CKI/CKI#의 듀티비를 감시한다. 듀티 사이클 에러가 있다면, 예스(yes) 경로 블록 5-3, 블록 5-4에서, 듀티 검출기(13)는 “Duty_Add” 또는 “Duty_Sub” 신호(S12)를 어서트한다. 이러한 후에, 커맨드 생성기(12)는 “DCR+1” 또는 “DCR-1”값을 가진 ‘기입 듀티 사이클 레지스터’ 커맨드를 발행한다. 여전히 듀티 사이클 에러가 있으면, 예스 경로 블록 5-6, 방법은 듀티 사이클 레지스터에 대한 추가적인 조정과 더불어 단계 5-4에서 되돌아 계속한다. 더 이상 듀티 사이클 에러가 없으면, 노(no) 경로 블록 5-6, 듀티 사이클 교정이 5-7에서 완료된다. 유사하게, 듀티 사이클 에러가 블록 5-3에서 검출되지 않으면, 그 포인트에서 방법은 5-7에서 또한 완료된다.5 is a flow chart for a duty cycle calibration procedure from the point of view of the controller. The method begins at block 5-1 with powering on the device. At this point, all of the delay lines are initialized and device addresses for all devices are assigned. In block 5-2, the memory controller 10 uses the duty detector 13 to monitor the duty ratio of CKI / CKI #. If there is a duty cycle error, in yes path block 5-3, block 5-4, duty detector 13 asserts a “Duty_Add” or “Duty_Sub” signal S12. After this, the command generator 12 issues a 'write duty cycle register' command with a value of "DCR + 1" or "DCR-1". If there is still a duty cycle error, yes path block 5-6, the method continues back at step 5-4 with further adjustment to the duty cycle register. If there is no longer a duty cycle error, no path block 5-6, duty cycle calibration is completed at 5-7. Similarly, if no duty cycle error is detected at block 5-3, the method is also completed at 5-7 at that point.

표 1은 듀티 사이클 레지스터(DCR)에 기입하기 위한 예시적인 커맨드 패킷 정의이다. 제1 바이트는 ‘디바이스 어드레스(= DA)’부분이며, 제2 바이트는 커맨드 코드(= CMD = FAh), 그리고 제3 바이트는 레지스터 값(= DCR<0:3>)을 포함한다. 몇몇의 실시예들에 있어서, 브로드캐스트 어드레스, 예컨대 FFh가 제공된다. DA가 브로드캐스트 어드레스로 설정되어 있다면, 그것은, 커맨드가 브로드캐스팅 커맨드임으로써, 모든 메모리 디바이스가 커맨드를 실행할 것으로 예기된다는 것을 의미한다. 그게 아니라면, DA와 매치하는 특정 메모리 디바이스만이 커맨드를 실행할 것이다. 몇몇의 실시예들에 있어서, 제어기(10)에 더 많은 유연성을 부여하기 위해서, ‘판독 듀티 사이클 레지스터’ 커맨드가 또한 구현된다.
Table 1 is an exemplary command packet definition for writing to the duty cycle register (DCR). The first byte is a 'device address (= DA)' portion, the second byte contains a command code (= CMD = FAh), and the third byte contains a register value (= DCR <0: 3>). In some embodiments, a broadcast address is provided, such as FFh. If the DA is set to a broadcast address, it means that all the memory devices are expected to execute the command, since the command is a broadcasting command. Otherwise, only the specific memory device that matches the DA will execute the command. In some embodiments, to give the controller 10 more flexibility, a 'read duty cycle register' command is also implemented.

듀티 사이클 레지스터용 예시적인 커맨드 패킷 정의Example Command Packet Definitions for Duty Cycle Registers 커맨드Command 제1 바이트First byte 제2 바이트Second byte 제3 바이트Third byte 기입 듀티 사이클 레지스터(DCR)Write Duty Cycle Register (DCR) DADA FAhFAh DCR<0:3>DCR <0: 3>

* 주:* Note:

1) DA(디바이스 어드레스)가 FFh(=255d)이면, 그것은 브로드캐스팅 커맨드임으로써, 모든 디바이스가 커맨드에 응답할 것이다.1) If DA (device address) is FFh (= 255d), it is a broadcasting command, so all devices will respond to the command.

2) DA = 디바이스 어드레스
2) DA = device address

표 2는 듀티 사이클 레지스터(= DCR)의 예시적인 비트 정의이다. 그것은 전적으로 예시적인 정의이고, 따라서 시스템 구성이 단위 지연 조정을 위해 더욱 세부화된 입도(granularity)를 요구한다면, 이러한 표는 프로그램 가능 지연 라인의 관점에서 더 많은 관리 수월성에 편의를 도모하기 위해 용이하게 확장될 수 있다. 예를 들면, 비트<7:0>가 제어기로부터 “0000 1000b = 08h”로서 입력된다면, DCR<3:0>는 유효한 레지스터 값에 대해서 Bit<3:0>(= “1000b”)만을 허용할 것이고, 상위 4 비트들 Bit<7:4>는 무시될 것이다. 다른 설계 변경에 있어서, 하지만, 더 높은 주파수 동작을 위해 더 정교한 단위 지연 회로가 구현될 수 있고, 추가적인 비트 할당이 사용될 수 있다.
Table 2 is an exemplary bit definition of the duty cycle register (= DCR). It is entirely an example definition, so if the system configuration requires more granularity for unit delay adjustment, this table is easily extended to facilitate greater manageability in terms of programmable delay lines. Can be. For example, if bits <7: 0> are input from the controller as "0000 1000b = 08h", DCR <3: 0> will only allow Bit <3: 0> (= "1000b") for valid register values. The upper 4 bits Bit <7: 4> will be ignored. In other design variations, however, more sophisticated unit delay circuitry may be implemented for higher frequency operation, and additional bit allocations may be used.

듀티 사이클 레지스터 및 출력 지연 레지스터의 예시적인 비트 정의Example Bit Definitions of Duty Cycle Registers and Output Delay Registers 설명Explanation 비트 7Bit 7 비트 6Bit 6 비트 5Bit 5 비트 4Bit 4 비트 3Bit 3 비트 2Bit 2 비트 1Bit 1 비트 0Bit 0 듀티 사이클
레지스터 비트
Duty cycle
Register bits
미래의 사용을 위해 반전됨
(로우)
Inverted for future use
(low)
DCR<3>DCR <3> DCR<2>DCR <2> DCR<1>DCR <1> DCR<0>DCR <0>

도 6은 SDR(Single Data Rate; 단일 데이터 비율) 동작에 기반하는 ‘기입 듀티 사이클 레지스터’ 커맨드 패킷 시퀀스의 타이밍도의 일 예이다. 이러한 타이밍도에 있어서, 시간 T1에서, CKI의 상승 에지 또는 CKI#의 하강 에지는 CSI의 하이 상태를 래치하고, 동시에 Dn 포트(들)상의 DA (= 디바이스 어드레스 = 0Oh) 정보를 래치한다. DA가 FFh(= 십진법으로 255)로서 설정되어 있으면, 이것은, ‘기입 듀티 사이클 레지스터’ 커맨드가 브로드캐스팅 커맨드임으로써, 모든 메모리 디바이스가 커맨드를 실행할 것이 예시된다는 것을 의미한다. 몇몇의 실시예에 있어서, 브로드캐스팅 커맨드는 듀티 사이클 교정 동작을 위해 사용된다. 하지만, 개시된 회로는 개별적인 디바이스들내애서의 듀티 사이클 교정 동작의 보다 유연성 있는 조정을 또한 참작한다. 다음의 상승 에지 시간 T2에서, 메모리 디바이스는 CMD(= 커맨드 = FAh) 정보를 래치하고, 제3 상승 에지 T3에서, DCR(= 듀티 사이클 레지스터 값 = 08h) 정보를 래치한다. CSO 출력 및 Qn 출력 포트는, tIOL(= Input-to-Output Latency(입력 대 출력 레이턴시))의 2 클럭 레이턴시로, 각각 CSI 입력 및 Dn 입력 신호를 반향한다. tWDCR(= Write Duty Cycle Register Latency(기입 듀티 사이클 레지스터 레이턴시))인 다른 레이턴시 사양이 있으며, 그것은 메모리 칩내의 기입 듀티 사이클 레지스터 패킷의 처리 시간에 대한 것이고 듀티 사이클 교정 회로(120)내의 제어기 프로그램 가능 지연 라인(121)에서의 듀티 사이클 조정의 처리 시간에 대한 것이다. 몇몇의 실시예에 있어서, tWDCR 값은 도 6에 도시된 바와 같이 4 클럭 사이클로서 설정되어 있다. tWDCR 후에(예컨대, T8에), 메모리 제어기(10)는 메모리 디바이스에 임의의 다른 커맨드 패킷을 발행할 수 있다.6 is an example of a timing diagram of a 'write duty cycle register' command packet sequence based on a Single Data Rate (SDR) operation. In this timing diagram, at time T1, the rising edge of CKI or falling edge of CKI # latches the high state of CSI and simultaneously latches DA (= device address = 0Oh) information on the Dn port (s). If DA is set as FFh (= 255 in decimal), this means that the 'write duty cycle register' command is a broadcasting command, thereby exemplifying that all memory devices execute the command. In some embodiments, broadcasting commands are used for duty cycle correction operations. However, the disclosed circuitry also allows for more flexible adjustment of the duty cycle calibration operation in individual devices. At the next rising edge time T2, the memory device latches the CMD (= command = FAh) information, and at the third rising edge T3, latches the DCR (= duty cycle register value = 08h) information. The CSO output and Qn output ports echo the CSI input and Dn input signals, respectively, with two clock latencies of tIOL (= Input-to-Output Latency). There is another latency specification, tWDCR (= Write Duty Cycle Register Latency), which is for the processing time of the write duty cycle register packet in the memory chip and is the controller programmable delay in the duty cycle correction circuit 120. For the processing time of the duty cycle adjustment in line 121. In some embodiments, the tWDCR value is set as four clock cycles as shown in FIG. After tWDCR (eg, at T8), memory controller 10 may issue any other command packet to the memory device.

설명된 실시예들은, 직렬 연결 아키텍쳐의 모든 디바이스가 듀티 사이클 교정을 구현한다고 가정한다. 보다 일반적으로, 디바이스들 중 적어도 하나가 듀티 사이클 교정을 구현한다.
The described embodiments assume that all devices of the serial connection architecture implement duty cycle correction. More generally, at least one of the devices implements duty cycle calibration.

출력 지연 조정
Output delay adjustment

도 1을 다시 언급하면, 위상 교정을 가능케 하기 위해서, 출력 신호들 CSO, Qn, DSO 및 CKO/CKO#를 프로그램 가능하게 지연시키는 것을 가능케 하도록 설명된 프로그램 가능 지연 라인들(105A, 105B, 105C, 105D)이 제공되어 있다. 도 1은 2 대 4 디코더 로직 블록(106)에 연결되는 출력 지연 레지스터 신호 버스 ODR<0:1>를 또한 도시한다. 2 대 4 디코더 로직 블록(106)은 4개의 선택 신호 버스 SEL2<0:3>를 출력한다. SEL2<0:3> 선택 신호는 4개의 제어기 프로그램 가능 지연 라인(105A, 105B, 105C 및 105D)에 모두 연결되어 있다.Referring back to FIG. 1, the programmable delay lines 105A, 105B, 105C, described to enable programmable delay of the output signals CSO, Qn, DSO and CKO / CKO # to enable phase correction. 105D) is provided. 1 also shows an output delay register signal bus ODR <0: 1> coupled to a two to four decoder logic block 106. The two-to-four decoder logic block 106 outputs four select signal buses SEL2 <0: 3>. The SEL2 <0: 3> select signals are connected to all four controller programmable delay lines 105A, 105B, 105C and 105D.

도 7은 출력 지연 조정에 대한 예시적인 회로 블록 구현을 도시한다. 예시된 예에 있어서, 프로그램 가능 지연 라인들(105A, 105B, 105C 및 105D)은, 도 3에서 사용된 것들과 동일한 4개의 단위 지연 요소로 이루어져 있다. 이것은, 듀티 사이클의 조정의 지연의 범위인 출력에 대한 지연 조정의 범위가 오직 4/16이라는 것을 의미한다. 하지만, 이것은 구현 세부이며, 다른 개수의 지연 요소가 대안적으로 채용될 수 있다. 각각의 프로그램 가능 지연 라인(105A, 105B, 105C, 105D)은 지연 라인의 입력으로서 개개의 신호 cso_i, q_i, dso_i 및 clk_dcc를 수신하며, 개개의 지연된 출력 cso_d, q_d, dso_d 및 clk_dcc_d를 생성한다. 만약, 메모리 시스템이 다수-비트 출력 구성, 예컨대, 8-비트 와이드 I/O 구성을 갖고 있으면, q_i 및 q_d 신호는 대응되게, 예컨대, 개수가 8이 되도록 증가될 것이고, q_i 및 q_d에 대한 지연 라인 블록의 개수는 대응되게, 예넌대, 개수가 8이 되도록 증가될 것이다.7 illustrates an example circuit block implementation for output delay adjustment. In the illustrated example, programmable delay lines 105A, 105B, 105C and 105D are made up of the same four unit delay elements as those used in FIG. 3. This means that the range of delay adjustment for the output, which is the range of delay of adjustment of the duty cycle, is only 4/16. However, this is an implementation detail and other numbers of delay elements could alternatively be employed. Each programmable delay line 105A, 105B, 105C, 105D receives individual signals cso_i, q_i, dso_i and clk_dcc as inputs of the delay lines and generates individual delayed outputs cso_d, q_d, dso_d and clk_dcc_d. If the memory system has a multi-bit output configuration, such as an 8-bit wide I / O configuration, the q_i and q_d signals will be correspondingly increased, e. The number of line blocks will correspondingly be increased such that the number is equal to eight.

동작시에, ‘2 대 4 디코더’ 로직(106)은, 4개의 선택 신호 중 하나만이 하이 로직 상태에 있도록 그리고 다른 3개의 선택 신호의 모두가 로직 로우 상태가 되도록 SEL2<0:3> 출력을 생성한다. 선택된 단위 지연 블록만이 나머지 단위 지연 블록을 통해서 개개의 입력 신호를 선택된 단위 지연 블록의 우측에 전송한다. 제어 입력 ODR<0:1>은 개개의 입력을 처리할 단위 지연 블록을 선택하는데 사용된다. 최소의 지연은 최우측 지연 블록 UNIT_0을 선택하는 것에 의해 선택되고, 그 경우에 각각의 출력 신호는 하나의 단위 지연 블록에 의해 지연되는 개개의 입력 신호인 반면에, 최대의 지연은 최좌측 단위 지연 블록 UNIT_3을 선택하는 것에 의해 선택되며, 그 경우에 각각의 출력 신호는 4개의 단위 지연 블록에 의해 지연되는 개개의 입력 신호이다.In operation, the '2 to 4 decoder' logic 106 generates a SEL2 <0: 3> output such that only one of the four select signals is in a high logic state and that all of the other three select signals are in a logic low state. Create Only the selected unit delay block transmits individual input signals to the right side of the selected unit delay block through the remaining unit delay blocks. The control input ODR <0: 1> is used to select the unit delay block to process the individual inputs. The minimum delay is selected by selecting the rightmost delay block UNIT_0, in which case each output signal is an individual input signal delayed by one unit delay block, while the maximum delay is the leftmost unit delay. It is selected by selecting the block UNIT_3, in which case each output signal is an individual input signal delayed by four unit delay blocks.

4개의 단위 지연 블록을 가진 ‘2 대 4 디코더’ 로직(106)은 이러한 예시적 회로 설계로 구현된다. 하지만, 보다 일반적으로, 임의의 요구되는 수의 지연 단위 및 대응 디코더 로직이 사용될 수 있다. 디폴트 지연 설정은 파워-온 초기화 기간 동안에 사용될 수 있다. 이러한 예에 있어서, 디폴트 선택은, 예컨대, SEL2<0>로 설정될 수 있고, 메모리 디바이스는 몇몇의 다른 설계 변경에 있어서 파워-온 또는 하드 리셋(hard reset) 후에 각각의 출력 경로에 대해 최소의 지연량을 가질 것이다. 4개의 단위 지연 블록의 사용은 구현 세부이다. 예를 들면, 보다 일반적으로, N 대 M 디코더는 N 입력 라인에서 수신되는 신호를 M 단위 지연 블록에 대한 M 제어 신호로 디코드하는데 채용될 수 있다, 여기서 N>=1이고 M>=2이다.'2 to 4 decoder' logic 106 with four unit delay blocks is implemented with this example circuit design. However, more generally, any required number of delay units and corresponding decoder logic can be used. The default delay setting can be used during the power-on initialization period. In this example, the default selection may be set to, for example, SEL2 <0>, and the memory device may be configured with a minimum for each output path after power-on or hard reset in some other design change. Will have a delay amount. The use of four unit delay blocks is implementation detail. For example, more generally, an N to M decoder may be employed to decode a signal received on an N input line into an M control signal for an M unit delay block, where N> = 1 and M> = 2.

도 8은 제어기 프로그램 가능 출력 지연 조정에 대한 예시적인 타이밍도이다. 듀티 사이클 교정 클럭 clk_dcc, 및 출력 지연 레지스터의 내용에서의 변경 전 및 후의 그 clk_dcc_d의 지연된 버전이 도시되어 있다. 출력 지연 레지스터에서의 값 “00b = Od”로부터 “01b = 1d”로의 변경 후에, 지연된 클럭이 2 × tUD의 양만큼 지연되는 반면, 조정 전에는 1 × tUD만큼 지연되었다는 것을 알 수 있다. 지연 조정 후의 출력 전의 커맨드 스트로브 출력 cso_i, 및 cso_d인 지연 조정의 출력이 또한 도시되어 있다. 다시 한번, 출력 지연 레지스터에 대한 변경 전에, 지연된 커맨드 스트로브는 1 × tUD만큼 더 늦다. 출력 지연 레지스터에 대한 변경 후에는, 지연된 커맨드 스트로브가 2 × tUD의 양만큼 더 늦다.
8 is an exemplary timing diagram for a controller programmable output delay adjustment. The delayed version of the duty cycle correction clock clk_dcc and its clk_dcc_d before and after the change in the contents of the output delay register are shown. After the change from the value "00b = Od" to "01b = 1d" in the output delay register, it can be seen that the delayed clock is delayed by the amount of 2 x tUD, while before the adjustment it is delayed by 1 x tUD. The output of the delay adjustment, which is the command strobe output cso_i and cso_d before the output after the delay adjustment, is also shown. Once again, before the change to the output delay register, the delayed command strobe is delayed by 1 x tUD. After the change to the output delay register, the delayed command strobe is later by an amount of 2 x tUD.

출력 지연 조정의 제어
Control of Output Delay Adjustment

ODR(134)의 내용이 지연 라인(105A, 105B, 105C, 105D)에 의해 도입되는 지연의 양을 제어하고, 그에 의해 출력 지연 조정의 양을 제어하는데 사용된다는 것을 상기한다. 상술한 바와 같이, ODR(134)의 내용은 ‘기입 출력 지연 레지스터’ 커맨드와 더불어 기입될 수 있다.Recall that the contents of ODR 134 are used to control the amount of delay introduced by delay lines 105A, 105B, 105C, and 105D, thereby controlling the amount of output delay adjustment. As discussed above, the contents of the ODR 134 may be written with the 'write output delay register' command.

메모리 제어기(10)의 위상 검출기(11)가 그 자신의 CKI/CKI# 신호와 CKO/CKO# 신호 사이에서 허용 불가한 위상 차이를 검출하면, 제어기(10)는 도 1의 최초의 메모리 디바이스(100-1)를 허용케 하는 1 추가된 단위 지연량을 가진 1 “기입 출력 지연 레지스터” 커맨드 패킷을 발행할 것이다. 제1 메모리 디바이스에 대한 충분한 클럭 사이클 후에, 예를 들면, 도 10에 관하여 후술되는 총 tIOL 레이턴시 및 tWODR(기입 출력 지연 레지스터 레이턴시)에 대해서, 여전히 허용 불가한 위상 차이가 있으면, 제어기(10)는 제2 메모리 디바이스, 예컨대, 도 1의 제2 메모리 디바이스(100-2)에 다른 ‘기입 출력 지연 레지스터’ 커맨드를 발행할 수 있다. 이러한 동작의 시퀀스는 메모리 제어기(10)가 허용 가능한 위상 차이를 얻을 때까지 계속될 수 있다. 최종 메모리 디바이스가 그 자신의 출력 지연을 조정하도록 명령 받은 후에, 그 다음에는 메모리 제어기(10)가 커맨드 패킷 내의 1 더 추가된 단위 지연 값을 가진 최초의 메모리 디바이스를 지시하며, 위상 차이가 허용 가능한 범위에 도달할 때까지 나머지의 메모리 디바이스들에 대해서 계속한다.If the phase detector 11 of the memory controller 10 detects an unacceptable phase difference between its own CKI / CKI # signal and the CKO / CKO # signal, the controller 10 may determine the first memory device (Fig. 1). It will issue one “write output delay register” command packet with one added unit delay amount allowing 100-1). After sufficient clock cycles for the first memory device, for example, for the total tIOL latency and tWODR (write output delay register latency) described below with respect to FIG. 10, if there is still an unacceptable phase difference, the controller 10 Another 'write output delay register' command may be issued to the second memory device, eg, the second memory device 100-2 of FIG. This sequence of operations may continue until the memory controller 10 obtains an acceptable phase difference. After the last memory device is commanded to adjust its own output delay, the memory controller 10 then instructs the first memory device with one additional unit delay value in the command packet, the phase difference being acceptable. Continue with the remaining memory devices until the range is reached.

상기한 프로시져는 도 9의 흐름도에 도시되어 있다. 상기 방법은 파워 온과 더불어 블록 9-1에서 시작된다. 이러한 포인트에서, 모든 지연 라인 및 디바이스 어드레스가 초기화된다. 블록 9-2에서, 메모리 제어기(10)는 위상 검출기(11)를 이용하여 CKI/CKI#와 CKO/CKO# 사이의 위상 에러를 감시한다. 만약 위상 에러가 있으면, 예스 경로(9-3), 위상 검출기(11)가 블록 9-4내에서 “PE” 신호(S11)를 어서트한다. 그 후에, 커맨드 생성기(12)는, 위상 에러를 감시하는 동안에 하나씩, 최초의 메모리 디바이스로부터 최종 메모리 디바이스로 각각의 메모리 디바이스에 대해 “ODR+1” 값을 가진 ‘기입 출력 지연 레지스터’ 커맨드를 발행한다. 블록 9-6에 있어서, 여전히 위상 에러가 있으면, 예스 경로, 방법은 블록 9-4에서 되돌아 계속한다. 위상 에러가 없으면, 노 경로 블록 9-6, 위상 교정은 블록 9-7에서 완료된다. 유사하게, 위상 에러가 블록 9-3에서 검출되지 않으면, 방법은 종료되고, 위상 교정이 블록 9-7에서 완료된다.The above procedure is shown in the flowchart of FIG. The method begins at block 9-1 with power on. At this point, all delay lines and device addresses are initialized. In block 9-2, the memory controller 10 uses the phase detector 11 to monitor the phase error between CKI / CKI # and CKO / CKO #. If there is a phase error, yes path 9-3, phase detector 11 asserts the “PE” signal S11 in block 9-4. The command generator 12 then issues a 'write output delay register' command with a value of &quot; ODR + 1 &quot; for each memory device from the first memory device to the last memory device, one during the monitoring of the phase error. do. In block 9-6, if there is still a phase error, the yes path, method continues back in block 9-4. If there is no phase error, no path block 9-6, phase calibration is completed in block 9-7. Similarly, if no phase error is detected in block 9-3, the method ends and phase calibration is completed in block 9-7.

표 3은 기입 출력 지연 레지스터 커맨드에 대한 예시적인 커맨드 패킷 정의이다. 제1 바이트는 ‘디바이스 어드레스(= DA)’ 부분과 제2 바이트는 커맨드 코드(= CMD = FBh)를 포함하며, 제3 바이트는 레지스터 값(ODR<0:1>)을 포함한다. 몇몇의 실시예에 있어서, 브로드캐스트 어드레스, 예컨대, FFh가 제공된다. DA가 브로드캐스트 어드레스로 설정되어 있다면, 그것은 커맨드가 브로드캐스팅 커맨드임으로써, 모든 메모리 디바이스가 커맨드를 실행할 것이 예기된다는 것을 의미한다. 그게 아니라면, DA와 매치하는 특정 메모리 디바이스만이 커맨드를 실행할 것이다. 몇몇의 실시예에 있어서, 제어기(10)에 더 많은 유연성을 부여하기 위해 ‘판독 출력 지연 레지스터’가 구현된다. 예를 들면, 이것은 제어기에 의해 모든 메모리 디바이스로부터 값을 판독하고 그 다음에 필요할 경우 디바이스들 사이의 설정을 적절히 재정리하는데 사용될 수 있다.
Table 3 is an example command packet definition for a write output delay register command. The first byte includes a 'device address (= DA)' portion, the second byte includes a command code (= CMD = FBh), and the third byte includes a register value (ODR <0: 1>). In some embodiments, a broadcast address is provided, for example FFh. If the DA is set to a broadcast address, that means that the command is a broadcasting command, so that all memory devices are expected to execute the command. Otherwise, only the specific memory device that matches the DA will execute the command. In some embodiments, a 'read output delay register' is implemented to give the controller 10 more flexibility. For example, it can be used by the controller to read values from all memory devices and then rearrange the settings among the devices as needed.

제어기 프로그램 가능 지연 라인 레지스터에 대한 예시적인 커맨드 패킷 정의Example Command Packet Definitions for a Controller Programmable Delay Line Register 커맨드Command 제1 바이트First byte 제2 바이트Second byte 제3 바이트Third byte 기입 출력 지연 레지스터(ODR)Write Output Delay Register (ODR) DADA FBhFBh ODR<0:1>ODR <0: 1>

* 주:* Note:

1) DA(디바이스 어드레스)가 FFh(=255d)이면, 그것은 브로드캐스팅 커맨드임으로써, 모든 디바이스가 커맨드에 응답할 것이다.1) If DA (device address) is FFh (= 255d), it is a broadcasting command, so all devices will respond to the command.

2) DA = 디바이스 어드레스
2) DA = device address

표 4는 출력 지연 레지스터(= ODR)의 예시적인 비트 정의이다. 그것은 전적으로 예시적인 정의를 나타낸 것이며, 따라서, 시스템 구성이 단위 지연 조정을 위해 더욱 세부화된 입도를 요구한다면, 이러한 표는 프로그램 가능 지연 라인의 관점에서 더 많은 관리 수월성에 편의를 도모하기 위해 용이하게 확장될 수 있다.
Table 4 is an exemplary bit definition of the output delay register (= ODR). It is entirely illustrative of the definition, and thus, if the system configuration requires more granular granularity for unit delay adjustment, this table is easily extended to facilitate more manageability in terms of programmable delay lines. Can be.

듀티 사이클 레지스터 및 출력 지연 레지스터의 예시적인 비트 정의Example Bit Definitions of Duty Cycle Registers and Output Delay Registers 설명Explanation 비트 7Bit 7 비트 6Bit 6 비트 5Bit 5 비트 4Bit 4 비트 3Bit 3 비트 2Bit 2 비트 1Bit 1 비트 0Bit 0 출력 지연
레지스터 비트
Output delay
Register bits
미래의 사용을 위해 반전됨
(로우)
Inverted for future use
(low)
DCR<1>DCR <1> DCR<0>DCR <0>

도 10은 SDR(단일 데이터 비율) 동작에 기반하는 ‘기입 출력 지연 레지스터’ 커맨드 패킷 시퀀스의 타이밍도의 일 예이다. 이러한 타이밍도에 있어서, 시간 T1에서, CKI의 상승 에지 또는 CKI#의 하강 에지는 CSI의 하이 상태를 래치하고, 동시에 Dn 포트(들)상의 DA (= 디바이스 어드레스 = 0Oh) 정보를 래치한다. 다음의 상승 에지 시간 T2에서, 메모리 디바이스는 CMD(= 커맨드 = FBh) 정보를 래치하고, 제3 상승 에지에서, ODR(= 출력 지연 레지스터 값 = 01h) 정보를 래치한다. CSO 출력 및 Qn 출력 포트는, tIOL(= 입력 대 출력 레이턴시)의 2 클럭 레이턴시로, 각각 CSI 입력 및 Dn 입력 신호를 반향한다. tWODR(= Write Output Delay Register Latency(기입 출력 지연 레지스터 레이턴시))인 다른 레이턴시 사양이 있으며, 그것은 메모리 칩내의 기입 출력 지연 레지스터 패킷의 처리 시간에 대한 것이고 제어기 프로그램 가능 지연 라인(2)(= PDL2 105 A-D)에서의 출력 지연 조정의 처리 시간에 대한 것이다. 몇몇의 실시예에 있어서, tWODR 값은 도 10에 도시된 바와 같이 4 클럭 사이클로서 설정되어 있다. tWODR 후에(예컨대, T8에), 메모리 제어기(10)는 메모리 디바이스에 임의의 다른 커맨드 패킷을 발행할 수 있다.10 is an example of a timing diagram of a 'write output delay register' command packet sequence based on SDR (single data rate) operation. In this timing diagram, at time T1, the rising edge of CKI or falling edge of CKI # latches the high state of CSI and simultaneously latches DA (= device address = 0Oh) information on the Dn port (s). At the next rising edge time T2, the memory device latches the CMD (= command = FBh) information, and at the third rising edge, latches the ODR (= output delay register value = 01h) information. The CSO output and Qn output ports echo the CSI input and Dn input signals, respectively, with two clock latencies of tIOL (= input to output latency). There is another latency specification, tWODR (= Write Output Delay Register Latency), which is for the processing time of the write output delay register packet in the memory chip and is the controller programmable delay line (2) (= PDL2 105). For the processing delay of the output delay adjustment in AD). In some embodiments, the tWODR value is set as four clock cycles as shown in FIG. After tWODR (eg, at T8), memory controller 10 may issue any other command packet to the memory device.

보다 일반적으로, 적용의 일 실시예는, 적어도 하나의 입력 신호의 지연된 버전이 생성되고, 적어도 하나의 입력 신호가 적어도 클럭 신호를 포함하는, 출력 지연 조정 실시예들을 실행하는 방법 및 회로를 참작한다. 출력 지연 조정을 받지 않는 디바이스들 사이에 이송되는 추가적인 입력 신호가 있을 수 있다. 일부의 신호에 대해서, 출력을 위해 입력 신호의 지연된 버전을 생성하는 것은 출력을 위한 입력 신호의 지연된 버전을 조건부로 생성하는 것을 수반한다. 즉, 일부의 신호는 인접한 디바이스들 사이에서 조건부로 이송될 수 있다. 메모리 디바이스의 입력 데이터 신호가 때로는 다음 메모리 디바이스에 이송되는 특정 예가 후술된다.More generally, one embodiment of the application takes into account methods and circuits for implementing output delay adjustment embodiments in which a delayed version of at least one input signal is generated and the at least one input signal comprises at least a clock signal. . There may be additional input signals that are transferred between devices that are not subject to output delay adjustment. For some signals, generating a delayed version of the input signal for output involves conditionally generating a delayed version of the input signal for output. That is, some signals can be conditionally transferred between adjacent devices. The specific example in which the input data signal of the memory device is sometimes transferred to the next memory device is described below.

상기한 실시예들은, 동일한 단위 지연 블록으로 이루어지는 프로그램 가능 지연 라인의 사용을 가정하였다. 몇몇의 실시예들에 있어서, 프로그램 가능 지연 라인은, 듀티 사이클 교정 및/또는 출력 지연 조정을 위해 지연 조정의 더 많은 프로그램 가능성(programmability)을 가능케 하기 위해 “조악한” 그리고 “정교한” 지연 라인과 같은 2개 이상의 섹션으로 분할된다.The above embodiments assume the use of a programmable delay line consisting of the same unit delay block. In some embodiments, the programmable delay line is such as a “coarse” and “fine” delay line to enable more programmability of delay adjustment for duty cycle correction and / or output delay adjustment. It is divided into two or more sections.

설명된 세부화된 예에 있어서, 각각의 신호에 대해서 출력 부근에 제2의 플립-플롭이 있고 입력 부근에 제1의 플립-플롭이 있다. 이것이, 2 클럭 사이클 레이턴시를 생성하는 것이다. 물론, 입력과 출력 사이에 상이한 기능성을 포함하는 것에 의해 다른 클럭 레이턴시가 초래될 수 있다는 것이 이해되어진다.In the detailed example described, there is a second flip-flop near the output and a first flip-flop near the input for each signal. This is to generate two clock cycle latency. Of course, it is understood that other clock latencies may result by including different functionality between the input and the output.

설명된 실시예들에 있어서, 출력 지연 라인은, 각각의 신호에 대해서 출력 부근에 위치되는 최종 플립-플롭 후에 위치된다. 몇몇의 실시예들에 있어서, 출력 지연 라인은 최종 플립-플롭 전에 위치된다.In the described embodiments, the output delay line is located after the last flip-flop that is located near the output for each signal. In some embodiments, the output delay line is located before the last flip-flop.

몇몇의 실시예들에 있어서, 직렬 연결 방식으로 연결되어 있는 디바이스들은 실질적으로 동일한 것으로 가정한다. 몇몇의 실시예들에 있어서, 실질적으로 동일한 메모리 디바이스들이 있다. 다른 실시예들에 있어서, 상이한 타입의 메모리 디바이스들이, 그것들이 호환성이 있는 직렬 인터페이스를 갖는 한, 활용될 수 있다.In some embodiments, it is assumed that devices that are connected in a serial connection are substantially the same. In some embodiments, there are substantially the same memory devices. In other embodiments, different types of memory devices may be utilized as long as they have compatible serial interfaces.

차동 클럭 신호가 채용되는 세부화된 실시예들이 가정되었다. 보다 일반적으로, 싱글 엔디드(single ended) 또는 차동 클럭 신호가 사용될 수 있다. 유사하게, 임의의 다른 입출력 신호가 싱글 엔디드 또는 차동일 수 있다.Detailed embodiments have been assumed in which differential clock signals are employed. More generally, single ended or differential clock signals may be used. Similarly, any other input / output signal may be single ended or differential.

몇몇의 실시예들에 있어서, 설명된 바와 같이 동작될 수 있는 복수의 메모리 디바이스 및 제어기를 포함하는 단일 MCP(multi-chip package; 다칩 패키지)가 제공된다.In some embodiments, a single multi-chip package (MCP) is provided that includes a plurality of memory devices and a controller that can be operated as described.

이 명세서에 기술된 방법 및 장치는 링으로 연결되는 일련의 메모리 디바이스 및 제어기를 특징으로 하는 직렬 연결 아키텍쳐를 가정하였다. 그러한 실시예들에 있어서, 메모리 디바이스는 슬레이브 디바이스이고 메모리 제어기는 마스터 디바이스이다. 보다 일반적으로, 이 명세서에 설명된 방법 및 장치는, 슬레이브 디바이스에 의해 실행되는 듀티 사이클 교정 및/또는 위상 교정을 제어하는 마스터 디바이스로 역할을 하도록 구성되어 있는 디바이스를 가진, 인접한 디바이스들 사이에 공통의 인터페이스를 가진 직렬 연결 구성의 슬레이브 디바이스들로서 구성되어 있는 임의의 종류의 반도체 집적 회로 디바이스들을 갖는 임으이 종류의 반도체 집적 회로 시스템에 적용될 수 있다. 집적 회로 타입의 예는, 중앙 처리 장치, 그래픽 처리 장치, 디스플레이 제어기 IC, 디스크 드라이브 IC, 및 NAND 플래시 EEPROM, NOR 플래시 EEPROM, AND 플래시 EEPROM, DiNOR 플래시 EEPROM, 직렬 플래시 EEPROM, DRAM, SRAM, ROM, EPROM, FRAM, MRAM, PCRAM 등과 같은 메모리 디바이스를 포함한다.The methods and apparatus described herein assume a serial connection architecture featuring a series of memory devices and controllers connected in a ring. In such embodiments, the memory device is a slave device and the memory controller is a master device. More generally, the methods and apparatus described herein are common among adjacent devices having devices configured to act as master devices that control duty cycle calibration and / or phase calibration performed by slave devices. It can be applied to any kind of semiconductor integrated circuit system having any kind of semiconductor integrated circuit devices configured as slave devices in a serial connection configuration with an interface of. Examples of integrated circuit types include central processing unit, graphics processing unit, display controller IC, disk drive IC, and NAND flash EEPROM, NOR flash EEPROM, AND flash EEPROM, DiNOR flash EEPROM, serial flash EEPROM, DRAM, SRAM, ROM, Memory devices such as EPROM, FRAM, MRAM, PCRAM, and the like.

이 명세서에 기술된 몇몇의 실시예들은 단일 데이터 비율 동작을 가정하였다. 보다 일반적으로, 상기 실시예들은, 다른 데이터 비율, 에컨대, 본 개시를 읽은 당업자에게 이해될 적절한 변형을 가진 이중 비율 동작(double rate operation)을 가진 시스템에 적용될 수 있다.Some embodiments described herein assume a single data rate operation. More generally, the above embodiments may be applied to systems having a double rate operation with other data rates, such as appropriate modifications that would be understood by those skilled in the art upon reading the present disclosure.

본 발명의 다수의 변형 및 변경이 상기한 가르침의 견지에서 가능성이 있다. 따라서, 첨부된 청구 범위의 권리 범위내에서, 본 발명이 이 명세서에 상세히 기술된 것 이외로 실시될 수 있다는 것이 이해되어진다.Many modifications and variations of the present invention are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

Claims (60)

복수의 직렬 연결 슬레이브 디바이스의 슬레이브 디바이스에 관한 방법으로서,
클럭 듀티 사이클(clock duty cycle)에 대한 조정(adjustment)을 지정하는 커맨드(command)를 마스터 디바이스로부터 수신하는 단계;
입력 클럭 신호를 수신하는 단계;
상기 커맨드에 따라 상기 입력 클럭 신호로부터 듀티 사이클 교정 클럭 신호(duty cycle corrected clock signal)를 생성하는 단계; 및
상기 듀티 사이클 교정 클럭 신호를 출력하는 단계를 포함하는 방법.
A method for a slave device of a plurality of serially connected slave devices,
Receiving a command from the master device that specifies an adjustment to a clock duty cycle;
Receiving an input clock signal;
Generating a duty cycle corrected clock signal from the input clock signal in accordance with the command; And
Outputting the duty cycle corrected clock signal.
청구항 1에 있어서,
상기 슬레이브 디바이스는 메모리 디바이스이고 상기 마스터 디바이스는 메모리 제어기인, 방법.
The method according to claim 1,
The slave device is a memory device and the master device is a memory controller.
청구항 1에 있어서,
상기 슬레이브 디바이스가 상기 슬레이브 디바이스에 의해 출력되는 적어도 하나의 신호에 적용될 지연(delay)을 조정하는 방식을 지정하는 커맨드를 마스터 디바이스로부터 수신하는 단계;
적어도 상기 입력 클럭 신호를 포함하는 적어도 하나의 입력 신호를 수신하는 단계;
상기 적어도 하나의 입력 신호의 각각에 대해서:
상기 커맨드에 따라 상기 입력 신호의 지연된 버전(version)을 생성하는 단계; 및
상기 입력 신호의 지연된 버전을 출력하는 단계로서, 상기 입력 클럭 신호의 지연된 버전은 상기 듀티 사이클 교정 클럭 신호의 지연된 버전을 포함하는 단계를 더 포함하는, 방법.
The method according to claim 1,
Receiving a command from a master device specifying a manner in which the slave device adjusts a delay to be applied to at least one signal output by the slave device;
Receiving at least one input signal comprising at least the input clock signal;
For each of the at least one input signal:
Generating a delayed version of the input signal in accordance with the command; And
Outputting a delayed version of the input signal, the delayed version of the input clock signal further comprising a delayed version of the duty cycle corrected clock signal.
청구항 1에 있어서,
상기 클럭 듀티 사이클에 대한 조정을 지정하는 커맨드를 마스터 디바이스로부터 수신하는 단계는, 커맨드를 듀티 사이클 교정 커맨드로서 식별하는 커맨드 식별자를 포함하고 상기 듀티 사이클을 조정하는 방식을 나타내는 데이터를 더 포함하는 상기 커맨드를 수신하는 것을 포함하는, 방법.
The method according to claim 1,
Receiving a command from a master device that specifies an adjustment to the clock duty cycle includes the command identifier identifying a command as a duty cycle correction command and further comprising data indicating how to adjust the duty cycle. Receiving the method.
청구항 4에 있어서,
상기 커맨드를 수신하는 단계는, 어느 디바이스(들)이 슬레이브 디바이스로 역할을 하여 상기 커맨드를 실행할지를 나타내는 디바이스 어드레스를 수신하는 것을 더 포함하는, 방법.
The method according to claim 4,
Receiving the command further comprises receiving a device address indicating which device (s) will act as a slave device to execute the command.
청구항 5에 있어서,
상기 커맨드가 상기 슬레이브 디바이스의 디바이스 어드레스와 매치하는 디바이스 어드레스를 갖는 경우에, 상기 커맨드에 따라 상기 듀티 사이클 교정 클럭 신호를 생성하는 단계를 실행하는 것과;
상기 커맨드가 브로드캐스트(broadcast) 디바이스 어드레스인 디바이스 어드레스를 갖는 경우에, 상기 커맨드에 따라 상기 듀티 사이클 교정 클럭 신호를 생성하는 단계를 실행하는 것을 더 포함하는, 방법.
The method according to claim 5,
If the command has a device address that matches the device address of the slave device, executing the step of generating the duty cycle corrected clock signal in accordance with the command;
If the command has a device address that is a broadcast device address, further comprising generating the duty cycle corrected clock signal in accordance with the command.
청구항 4에 있어서,
상기 듀티 사이클 교정 클럭 신호를 생성하는 단계는,
a) 상기 입력 클럭 신호로부터 하프 레이트 클럭 신호(half rate clock signal)를 생성하는 것;
b) 복수의 지연 중 선택된 지연에 의해 상기 하프 레이트 클럭 신호를 지연시켜 지연된 하프 레이트 클럭 신호를 생성하는 것; 및
c) 상기 하프 레이트 클럭 신호를 상기 지연된 하프 레이트 클럭 신호와 결합하여 상기 듀티 사이클 교정 클럭 신호를 생성하는 것을 포함하는, 방법.
The method according to claim 4,
Generating the duty cycle corrected clock signal may include:
a) generating a half rate clock signal from the input clock signal;
b) delaying the half rate clock signal by a selected one of a plurality of delays to produce a delayed half rate clock signal; And
c) combining the half rate clock signal with the delayed half rate clock signal to generate the duty cycle corrected clock signal.
청구항 7에 있어서,
상기 듀티 사이클 교정을 조정하는 방식을 나타내는 데이터는, 상기 복수의 지연 중 선택된 지연의 표시(indication)를 포함하는, 방법.
The method according to claim 7,
Data indicative of a manner of adjusting the duty cycle correction comprises an indication of a selected one of the plurality of delays.
적어도 제1 슬레이브 디바이스 및 최종 슬레이브 디바이스를 포함하는 복수의 직렬 연결 슬레이브 디바이스 및 마스터 디바이스를 포함하는 메모리 시스템에 관한 방법으로서,
상기 마스터 디바이스에 있어서,
a) 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하는 제1 클럭 신호를 출력하는 단계;
b) 상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하는 단계;
c) 상기 제2 클럭 신호의 듀티 사이클의 함수로서 듀티 사이클 교정 커맨드를 생성하고 상기 듀티 사이클 교정 커맨드를 출력하는 단계;
상기 복수의 직렬 연결 슬레이브 디바이스의 제1 슬레이브 디바이스에 있어서,
a) 상기 제1 클럭 신호를 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 상기 마스터 디바이스로부터 수신하는 단계;
b) 상기 입력 신호로부터 출력 클럭 신호를 생성하는 단계;
상기 복수의 직렬 연결 슬레이브 디바이스의 각각의 다른 슬레이브 디바이스에 있어서,
a) 이전 슬레이브 디바이스의 출력 클럭 신호를 상기 슬레이브 디바이스의 입력 클럭 신호로서 수신하는 단계;
b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하는 단계;
슬레이브 디바이스로서 역할을 하는 상기 복수의 직렬 연결 디바이스 중 적어도 하나의 직렬 연결 디바이스의 각각에 있어서,
a) 상기 듀티 사이클 교정 커맨드를 수신하는 단계;
b) 상기 듀티 사이클 교정 커맨드에 따라 상기 입력 클럭 신호로부터 듀티 사이클 교정 클럭 신호를 생성하는 단계; 및
c) 상기 듀티 사이클 교정 클럭 신호를 상기 슬레이브 디바이스의 출력 클럭 신호로서 출력하는 단계를 포함하는 방법.
A method for a memory system comprising a plurality of serially connected slave devices and a master device including at least a first slave device and a last slave device, the method comprising:
In the master device,
a) outputting a first clock signal functioning as an input clock signal of the first slave device;
b) receiving a second clock signal that is an output clock signal of the last slave device;
c) generating a duty cycle correction command as a function of the duty cycle of the second clock signal and outputting the duty cycle correction command;
In the first slave device of the plurality of serially connected slave devices,
a) receiving the first clock signal from the master device as an input clock signal of the first slave device;
b) generating an output clock signal from the input signal;
In each of the other slave devices of the plurality of serially connected slave devices,
a) receiving an output clock signal of a previous slave device as an input clock signal of the slave device;
b) generating an output clock signal from the input clock signal;
In each of at least one serially connected device of the plurality of serially connected devices serving as a slave device,
a) receiving the duty cycle correction command;
b) generating a duty cycle corrected clock signal from the input clock signal in accordance with the duty cycle correct command; And
c) outputting the duty cycle corrected clock signal as an output clock signal of the slave device.
청구항 9에 있어서,
각각의 슬레이브 디바이스는 메모리 디바이스이고 상기 마스터 디바이스는 메모리 제어기인, 방법.
The method according to claim 9,
Each slave device is a memory device and the master device is a memory controller.
청구항 9 또는 10에 있어서,
상기 마스터 디바이스에 있어서,
a) 적어도 하나의 출력 신호를 출력하는 단계로서, 상기 적어도 하나의 출력 신호는 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하도록 상기 제1 클럭 신호를 포함하는 단계;
b) 상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하는 단계;
c) 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋(phase offset)의 양을 판정하는 단계;
d) 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 함수로서 출력 지연 조정 커맨드를 생성하여 상기 출력 지연 조정 커맨드를 출력하는 단계를 더 포함하는, 방법.
The method according to claim 9 or 10,
In the master device,
a) outputting at least one output signal, the at least one output signal comprising the first clock signal to function as an input clock signal of the first slave device;
b) receiving a second clock signal that is an output clock signal of the last slave device;
c) determining an amount of phase offset between the first clock signal and the second clock signal;
d) generating an output delay adjustment command as a function of a phase offset between the first clock signal and the second clock signal to output the output delay adjustment command.
청구항 9 또는 10에 있어서,
상기 제2 클럭 신호의 듀티 사이클의 함수로서 듀티 사이클 교정 커맨드를 생성하고 상기 듀티 사이클 교정 커맨드를 출력하는 단계는, 상기 복수의 직렬 연결 슬레이브 디바이스들 중 임의의 지정된 슬레이브 디바이스에 의해 실행하기 위한 듀티 사이클 교정 커맨드를 생성하는 것을 포함하는, 방법.
The method according to claim 9 or 10,
Generating a duty cycle calibration command and outputting the duty cycle calibration command as a function of the duty cycle of the second clock signal may include a duty cycle for execution by any designated slave device of the plurality of serially connected slave devices. Generating a calibration command.
청구항 12에 있어서,
상기 제2 클럭 신호의 듀티 사이클의 함수로서 듀티 사이클 교정 커맨드를 생성하고 상기 듀티 사이클 교정 커맨드를 출력하는 단계는, 상기 복수의 직렬 연결 슬레이브 디바이스의 모두에 의해 실행하기 위한 듀티 사이클 교정 커맨드를 생성하는 것을 포함하는, 방법.
The method of claim 12,
Generating a duty cycle calibration command and outputting the duty cycle calibration command as a function of the duty cycle of the second clock signal may include generating a duty cycle calibration command for execution by all of the plurality of serially connected slave devices. Method comprising the same.
청구항 9에 있어서,
상기 듀티 사이클 교정 커맨드를 수신하는 단계는, 커맨드를 듀티 사이클 교정 커맨드로서 식별하는 커맨드 식별자를 포함하고 듀티 사이클을 조정하는 방식을 나타내는 데이터를 포함하는 상기 커맨드를 수신하는 것을 포함하는, 방법.
The method according to claim 9,
Receiving the duty cycle correction command comprises receiving the command including a command identifier identifying the command as a duty cycle correction command and including data indicating how to adjust the duty cycle.
청구항 14에 있어서,
상기 듀티 사이클 교정 클럭 신호를 생성하는 단계는,
a) 상기 입력 클럭 신호로부터 하프 레이트 클럭 신호를 생성하는 것;
b) 복수의 지연 중 선택된 지연에 의해 상기 하프 레이트 클럭 신호를 지연시켜 지연된 하프 레이트 클럭 신호를 생성하는 것;
c) 상기 하프 레이트 클럭 신호를 상기 지연된 하프 레이트 클럭 신호와 결합하여 상기 듀티 사이클 교정 클럭 신호를 생성하는 것을 포함하는, 방법.
The method according to claim 14,
Generating the duty cycle corrected clock signal may include:
a) generating a half rate clock signal from the input clock signal;
b) delaying the half rate clock signal by a selected one of a plurality of delays to produce a delayed half rate clock signal;
c) combining the half rate clock signal with the delayed half rate clock signal to generate the duty cycle corrected clock signal.
청구항 15에 있어서,
상기 듀티 사이클 교정을 조정하는 방식을 나타내는 데이터는, 상기 복수의 지연 중 선택된 지연의 표시를 포함하는, 방법.
The method according to claim 15,
And data indicating how to adjust the duty cycle correction comprises an indication of a selected one of the plurality of delays.
복수의 직렬 연결 슬레이브 디바이스를 포함하는 배열에서 사용하기 위한 슬레이브 디바이스로서,
듀티 사이클에 대한 조정을 지정하는 커맨드를 마스터 디바이스로부터 수신하기 위한 커맨드 입력;
입력 클럭 신호를 수신하기 위한 클럭 입력;
제어 커맨드에 따라 상기 클럭 입력으로부터 듀티 사이클 교정 클럭 신호를 생성하기 위한 듀티 사이클 교정 회로; 및
상기 듀티 사이클 교정 클럭 신호를 출력하기 위한 클럭 출력을 포함하는, 슬레이브 디바이스.
A slave device for use in an array comprising a plurality of serially connected slave devices,
Command input for receiving a command from the master device specifying an adjustment for the duty cycle;
A clock input for receiving an input clock signal;
A duty cycle correction circuit for generating a duty cycle corrected clock signal from the clock input in accordance with a control command; And
And a clock output for outputting the duty cycle corrected clock signal.
청구항 17에 있어서,
상기 슬레이브 디바이스는 메모리 디바이스인, 슬레이브 디바이스.
18. The method of claim 17,
And the slave device is a memory device.
청구항 17 또는 18에 있어서,
상기 커맨드 입력은 또한, 출력 지연에 대한 조정을 지정하는 커맨드를 상기 마스터 디바이스로부터 수신하기 위한 것이고;
상기 커맨드에 따라 상기 듀티 사이클 교정 클럭 신호로부터 지연된 클럭 신호를 생성하기 위한 출력 지연 조정 회로;
상기 듀티 사이클 교정 클럭 신호를 출력하기 위한 클럭 출력은 상기 지연된 클럭 신호를 출력하는, 슬레이브 디바이스.
The method according to claim 17 or 18,
The command input is also for receiving a command from the master device specifying an adjustment for an output delay;
An output delay adjustment circuit for generating a delayed clock signal from the duty cycle corrected clock signal in accordance with the command;
And a clock output for outputting the duty cycle corrected clock signal outputs the delayed clock signal.
청구항 17 또는 18에 있어서,
상기 커맨드를 처리하는 커맨드 처리 회로를 더 포함하고,
상기 커맨드는,
상기 커맨드를 듀티 사이클 교정 커맨드로서 식별하는 커맨드 식별자; 및
듀티 사이클을 조정하는 방식을 나타내는 데이터를 포함하는, 슬레이브 디바이스.
The method according to claim 17 or 18,
Further comprising a command processing circuit for processing the command,
The command is
A command identifier identifying the command as a duty cycle correction command; And
A slave device comprising data indicating how to adjust the duty cycle.
청구항 20에 있어서,
디바이스 어드레스 레지스터(device address register)를 더 포함하고,
상기 커맨드는 어느 슬레이드 디바이스가 상기 커맨드를 실행할지를 나타내는 디바이스 어드레스를 더 포함하며, 상기 슬레이브 디바이스는, 상기 디바이스 어드레스가 상기 디바이스 어드레스 레지스터의 내용과 매치하는 경우에 상기 커맨드를 실행하도록 되어 있는, 슬레이브 디바이스.
The method of claim 20,
Further comprising a device address register,
The command further includes a device address indicating which slave device will execute the command, wherein the slave device is configured to execute the command if the device address matches the contents of the device address register. .
청구항 17 내지 21 중 어느 한 항에 있어서,
상기 듀티 사이클 교정 회로는,
a) 상기 입력 클럭 신호로부터 하프 레이트 클럭 신호를 생성하는 클럭 분할기 회로;
b) 복수의 지연 중 선택된 지연에 의해 상기 하프 레이트 클럭 신호를 지연시켜 지연된 하프 레이트 클럭 신호를 생성하는 지연 회로;
c) 상기 하프 레이트 클럭 신호를 상기 지연된 하프 레이트 클럭 신호와 결합하여 상기 듀티 사이클 교정 클럭 신호를 생성하는 결합기(combiner)를 포함하는, 슬레이브 디바이스.
The method according to any one of claims 17 to 21,
The duty cycle correction circuit,
a) clock divider circuit for generating a half rate clock signal from said input clock signal;
b) a delay circuit for delaying said half rate clock signal by a selected one of a plurality of delays to produce a delayed half rate clock signal;
c) a combiner for combining the half rate clock signal with the delayed half rate clock signal to produce the duty cycle corrected clock signal.
청구항 22에 있어서,
상기 지연 회로는 M 단위 지연 요소를 포함하고 (M>=2임), 상기 듀티 사이클 교정 회로는,
N 입력 라인에 수신되는 신호를 (N>=1임), 상기 하프 레이트 클럭 신호를 지연시켜 상기 지연된 하프 레이트 클럭 신호를 생성하는데, 얼마만큼의 상기 단위 지연 요소가 작동할지의 선택으로 디코드(decode)하는 N 대 M 디코더를 더 포함하는, 슬레이브 디바이스.
The method according to claim 22,
The delay circuit comprises an M unit delay element (M> = 2) and the duty cycle correction circuit is
Decode the signal received at the N input line (N> = 1) and delay the half rate clock signal to produce the delayed half rate clock signal, decoded by the selection of how much of the unit delay element is to be operated. Further comprising an N to M decoder.
시스템으로서,
적어도 제1 슬레이브 디바이스 및 최종 슬레이브 디바이스를 포함하는 청구항 17에 기재된 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스;
상기 제1 슬레이브 디바이스에 그리고 상기 최종 슬레이브 디바이스에 연결되는 마스터 디바이스;
- 상기 마스터 디바이스는 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하는 제1 클럭 신호를 출력하도록 되어 있음 -
상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하기 위한 클럭 입력;
상기 제2 클럭 신호의 듀티 사이클을 판정하는 듀티 검출기;
상기 제2 클럭 신호의 듀티 사이클의 함수로서 클럭 듀티 사이클에 대한 조정을 지정하는 듀티 사이클 교정 커맨드를 생성하는 커맨드 생성기를 포함하며,
슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스 중 제1 슬레이브 디바이스는,
a) 상기 제1 클럭 신호를 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 상기 마스터 디바이스로부터 수신하고;
b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며,
슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스 중 각각의 다른 슬레이브 디바이스는,
a) 이전 슬레이브 디바이스의 출력 클럭 신호를 슬레이브 디바이스의 입력 클럭 신호로서 수신하고;
b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며;
상기 복수의 직렬 연결 슬레이브 디바이스 중 적어도 하나는,
a) 상기 듀티 사이클 교정 커맨드를 수신하고;
b) 제어 커맨드에 따라 듀티 사이클 교정 클럭 신호를 생성하며;
c) 상기 듀티 사이클 교정 클럭 신호를 슬레이브 디바이스의 출력 클럭 신호로서 출력하는, 시스템.
As a system,
A plurality of serially connected devices acting as slave devices according to claim 17, including at least a first slave device and a final slave device;
A master device coupled to the first slave device and to the last slave device;
The master device is configured to output a first clock signal functioning as an input clock signal of the first slave device;
A clock input for receiving a second clock signal that is an output clock signal of the last slave device;
A duty detector for determining a duty cycle of the second clock signal;
A command generator for generating a duty cycle correction command that specifies adjustment to a clock duty cycle as a function of the duty cycle of the second clock signal,
Among a plurality of serially connected devices serving as slave devices, the first slave device is
a) receiving the first clock signal from the master device as an input clock signal of the first slave device;
b) generating an output clock signal from the input clock signal,
Each other slave device of the plurality of serially connected devices serving as slave devices,
a) receiving the output clock signal of the previous slave device as the input clock signal of the slave device;
b) generate an output clock signal from the input clock signal;
At least one of the plurality of serially connected slave devices,
a) receive the duty cycle correction command;
b) generate a duty cycle corrected clock signal in accordance with a control command;
c) output the duty cycle corrected clock signal as an output clock signal of a slave device.
청구항 24에 있어서,
상기 시스템은 메모리 시스템이고, 각각의 슬레이브 디바이스는 메모리 디바이스이며, 상기 마스터 디바이스는 메모리 제어기인, 시스템.
The method of claim 24,
The system is a memory system, each slave device is a memory device, and the master device is a memory controller.
청구항 24 또는 25에 있어서,
상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 양을 판정하는 위상 검출기를 더 포함하고,
상기 커맨드 생성기는 또한, 출력 지연 조정 커맨드를 상기 위상 오프셋의 양의 함수로서 생성하며,
상기 복수의 직렬 연결 슬레이브 디바이스 중 제1 슬레이브 디바이스는,
a) 상기 제1 클럭 신호를 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 상기 마스터 디바이스로부터 수신하고;
b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며;
상기 복수의 직렬 연결 슬레이브 디바이스의 각각의 다른 슬레이브 디바이스는,
a) 이전의 슬레이브 디바이스의 출력 클럭 신호를 상기 슬레이브 디바이스의 입력 클럭 신호로서 수신하고;
b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며;
상기 복수의 직렬 연결 슬레이브 디바이스 중 적어도 하나는,
a) 상기 출력 지연 조정 커맨드를 수신하고,
b) 상기 제어 커맨드에 따라 상기 디바이스의 입력 클럭 신호를 지연시키는 것에 의해 상기 디바이스의 출력 클럭 신호를 생성하는, 메모리 시스템.
The method according to claim 24 or 25,
A phase detector for determining an amount of phase offset between the first clock signal and the second clock signal,
The command generator also generates an output delay adjustment command as a function of the amount of the phase offset,
The first slave device of the plurality of serially connected slave devices,
a) receiving the first clock signal from the master device as an input clock signal of the first slave device;
b) generate an output clock signal from the input clock signal;
Each other slave device of the plurality of serially connected slave devices,
a) receiving an output clock signal of a previous slave device as an input clock signal of the slave device;
b) generate an output clock signal from the input clock signal;
At least one of the plurality of serially connected slave devices,
a) receiving the output delay adjustment command,
b) generating an output clock signal of the device by delaying an input clock signal of the device in accordance with the control command.
청구항 24 또는 25에 있어서,
상기 커맨드 생성기는, 듀티 사이클 교정 커맨드를 상기 제2 클럭 신호의 듀티 사이클의 함수로서 생성하고, 상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스 중 지정된 직렬 연결 디바이스에 의해 실행하기 위한 듀티 사이클 교정 커맨드를 생성하는 것에 의해 상기 듀티 사이클 교정 커맨드를 출력하도록 되어 있는, 메모리 시스템.
The method according to claim 24 or 25,
The command generator generates a duty cycle correction command as a function of the duty cycle of the second clock signal and executes the duty cycle correction command for execution by a designated serial connection device among a plurality of serial connection devices serving as the slave device. And output the duty cycle correction command by generating a.
청구항 24 또는 25에 있어서,
상기 커맨드 생성기는, 듀티 사이클 교정 커맨드를 상기 제2 클럭 신호의 듀티 사이클의 함수로서 생성하고, 상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스의 모두에 의해 실행하기 위한 듀티 사이클 교정 커맨드를 생성하는 것에 의해 상기 듀티 사이클 교정 커맨드를 출력하도록 되어 있는, 메모리 시스템.
The method according to claim 24 or 25,
The command generator generates a duty cycle correction command as a function of the duty cycle of the second clock signal and generates a duty cycle correction command for execution by all of a plurality of serially connected devices serving as the slave device. Memory system to output the duty cycle correction command.
청구항 24 내지 28 중 어느 한 항에 있어서,
상기 듀티 사이클 교정 커맨드를 수신하는 단계는, 커맨드를 듀티 사이클 교정 커맨드로서 식별하는 커맨드 식별자를 포함하고 듀티 사이클을 조정하는 방식을 나타내는 데이터를 포함하는 상기 커맨드를 수신하는 것을 포함하는, 메모리 시스템.
The method according to any one of claims 24 to 28,
Receiving the duty cycle correction command comprises receiving the command including a command identifier identifying the command as a duty cycle correction command and including data indicating how to adjust the duty cycle.
복수의 직렬 연결 슬레이브 디바이스의 슬레이브 디바이스에 관한 방법으로서,
상기 슬레이브 디바이스가 상기 슬레이브 디바이스에 의해 출력되는 적어도 하나의 신호에 적용될 지연을 조정하는 방식을 지정하는 커맨드를 마스터 디바이스로부터 수신하는 단계;
적어도 입력 클럭 신호를 포함하는 적어도 하나의 입력 신호를 수신하는 단계;
상기 적어도 하나의 입력 신호의 각각에 대해서:
상기 커맨드에 따라 상기 입력 신호의 지연된 버전을 생성하는 단계;
상기 입력 신호의 지연된 버전을 출력하는 단계를 포함하는 방법.
A method for a slave device of a plurality of serially connected slave devices,
Receiving a command from a master device specifying a manner in which the slave device adjusts a delay to be applied to at least one signal output by the slave device;
Receiving at least one input signal comprising at least an input clock signal;
For each of the at least one input signal:
Generating a delayed version of the input signal in accordance with the command;
Outputting a delayed version of the input signal.
청구항 30에 있어서,
상기 슬레이브 디바이스는 메모리 디바이스이고 상기 마스터 디바이스는 메모리 제어기인, 방법.
The method of claim 30,
The slave device is a memory device and the master device is a memory controller.
청구항 30 또는 31에 있어서,
데이터 출력 신호를 출력하는 단계를 포함하고,
상기 입력 신호 중 적어도 하나가 데이터 입력 신호를 포함하고, 상기 데이터 입력 신호의 지연된 버전을 출력하는 것은,
a) 때로는, 상기 데이터 출력 신호가 상기 데이터 입력 신호의 지연된 버전이도록;
b) 때로는, 상기 커맨드에 따라 상기 지연을 상기 슬레이브 디바이스에 대해 국소적으로 생성된 신호에 적용한 후에, 상기 데이터 출력 신호가 상기 슬레이브 디바이스에 대해 국소적으로 생성된 신호의 지연된 버전이도록;
상기 데이터 출력 신호를 출력하는 것의 부분으로서 실행되는, 방법.
The method of claim 30 or 31,
Outputting a data output signal,
At least one of the input signals comprises a data input signal, and outputting a delayed version of the data input signal,
a) sometimes the data output signal is a delayed version of the data input signal;
b) sometimes, after applying the delay to a signal generated locally for the slave device according to the command, such that the data output signal is a delayed version of the signal generated locally for the slave device;
Executed as part of outputting the data output signal.
청구항 30 또는 31에 있어서,
상기 슬레이브 디바이스에 의해 출력되는 적어도 하나의 신호에 적용될 지연에 대한 조정을 지정하는 커맨드를 마스터 디바이스로부터 수신하는 단계는, 커맨드를 출력 지연 조정 커맨드로서 식별하는 커맨드 식별자를 포함하는 상기 커맨드를 수신하는 것을 포함하고, 상기 커맨드는 상기 지연을 조정하는 방식을 나타내는 데이터를 더 포함하는, 방법.
The method of claim 30 or 31,
Receiving from the master device a command specifying an adjustment to a delay to be applied to at least one signal output by the slave device comprises receiving the command comprising a command identifier identifying the command as an output delay adjustment command. And the command further comprises data indicating how to adjust the delay.
청구항 33에 있어서,
상기 커맨드를 수신하는 단계는, 어느 디바이스(들)가 슬레이브 디바이스로서 역할을 하여 상기 커맨드를 실행할지를 나타내는 디바이스 어드레스를 수신하는 것을 더 포함하는, 방법.
The method according to claim 33,
Receiving the command further comprises receiving a device address indicating which device (s) serve as a slave device to execute the command.
청구항 34에 있어서,
상기 커맨드가 상기 슬레이브 디바이스의 디바이스 어드레스와 매치하는 디바이스 어드레스를 갖는 경우에, 상기 적어도 하나의 입력 신호의 각각에 대해, 상기 커맨드에 따라 상기 입력 신호의 지연된 버전을 생성하는 단계를 실행하는 것; 및
상기 커맨드가 브로드캐스트 디바이스 어드레스인 디바이스 어드레스를 갖는 경우에, 상기 적어도 하나의 입력 신호의 각각에 대해, 상기 커맨드에 따라 상기 입력 신호의 지연된 버전을 생성하는 단계를 실행하는 것을 더 포함하는, 방법.
35. The method of claim 34,
If the command has a device address that matches the device address of the slave device, executing for each of the at least one input signal, generating a delayed version of the input signal in accordance with the command; And
If the command has a device address that is a broadcast device address, further comprising: for each of the at least one input signal, generating a delayed version of the input signal in accordance with the command.
청구항 33에 있어서,
각각의 입력 신호에 대해 상기 입력 신호의 지연된 버전을 생성하는 단계는,
a) 복수의 지연 중 선택된 지연에 의해 상기 입력 신호를 지연시켜 상기 입력 신호의 지연된 버전을 생성하는 것을 포함하는, 방법.
The method according to claim 33,
Generating a delayed version of the input signal for each input signal,
a) delaying the input signal by a selected one of a plurality of delays to produce a delayed version of the input signal.
청구항 36에 있어서,
상기 지연을 조정하는 방식을 나타내는 데이터는, 상기 복수의 지연 중 선택된 지연의 표시를 포함하는, 방법.
37. The method of claim 36,
Data indicative of a manner of adjusting the delay comprises an indication of a selected one of the plurality of delays.
청구항 30에 있어서,
상기 복수의 입력 신호는,
클럭 신호;
커맨드 스트로브 신호(command strobe signal);
데이터 스트로브 신호;
커맨드 및 데이터를 포함하는 데이터 신호를 포함하는, 방법.
The method of claim 30,
The plurality of input signals,
Clock signal;
Command strobe signal;
Data strobe signal;
A data signal comprising a command and data.
적어도 제1 슬레이브 디바이스 및 최종 슬레이브 디바이스를 포함하는, 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스 및 마스터 디바이스를 포함하는 메모리 시스템에 관한 방법으로서,
상기 마스터 디바이스에 있어서,
a) 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하도록 제1 클럭 신호를 포함하는 적어도 하나의 출력 신호를 출력하는 단계;
b) 상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하는 단계;
c) 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 양을 판정하는 단계;
d) 출력 지연 조정 커맨드를 상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 함수로서 생성하고 상기 출력 지연 조정 커맨드를 출력하는 단계를 포함하는 방법.
A method for a memory system comprising a plurality of serially connected devices and a master device, which serve as slave devices, comprising at least a first slave device and a final slave device, the method comprising:
In the master device,
a) outputting at least one output signal comprising a first clock signal to function as an input clock signal of the first slave device;
b) receiving a second clock signal that is an output clock signal of the last slave device;
c) determining an amount of phase offset between the first clock signal and the second clock signal;
d) generating an output delay adjustment command as a function of a phase offset between the first clock signal and the second clock signal and outputting the output delay adjustment command.
청구항 39에 있어서,
각각의 슬레이브 디바이스는 메모리 디바이스이고 상기 마스터 디바이스는 메모리 제어기인, 방법.
The method of claim 39,
Each slave device is a memory device and the master device is a memory controller.
청구항 39 또는 40에 있어서,
상기 슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스의 제1 슬레이브 디바이스에 있어서,
a) 상기 적어도 하나의 출력 신호를 상기 제1 슬레이브 디바이스의 적어도 하나의 입력 신호에 대응하는 것으로서 상기 마스터 디바이스로부터 수신하는 단계;
b) 각각의 입력 신호에 대해, 상기 입력 신호에 기반하여 출력 신호를 생성하는 단계;
슬레이브 디바이스로서 역할을 하는 복수의 직렬 연결 디바이스의 각각의 다른 슬레이브 디바이스에 있어서,
a) 상기 슬레이브 디바이스의 적어도 하나의 입력 신호에 대응하는 이전 슬레이브 디바이스의 출력 신호(들)를 수신하는 단계;
b) 각각의 입력 신호에 대해, 상기 입력 신호에 기반하여 출력 신호를 생성하는 단계;
상기 슬레이브 디바이스 중 적어도 하나의 슬레이브 디바이스에 있어서,
a) 상기 출력 지연 조정 커맨드를 수신하는 단계; 및
b) 상기 출력 지연 조정 커맨드에 따라 상기 입력 신호(들)의 지연된 버전을 생성하는 것에 의해 상기 출력 신호(들)을 생성하는 단계를 더 포함하는, 방법.
The method of claim 39 or 40,
A first slave device of a plurality of serially connected devices serving as the slave device,
a) receiving the at least one output signal from the master device as corresponding to at least one input signal of the first slave device;
b) for each input signal, generating an output signal based on the input signal;
In each other slave device of the plurality of serially connected devices serving as slave devices,
a) receiving output signal (s) of a previous slave device corresponding to at least one input signal of the slave device;
b) for each input signal, generating an output signal based on the input signal;
In at least one slave device of the slave device,
a) receiving the output delay adjustment command; And
b) generating the output signal (s) by generating a delayed version of the input signal (s) in accordance with the output delay adjustment command.
청구항 41에 있어서,
상기 마스터 디바이스의 적어도 하나의 출력 신호가 복수의 출력 신호(들)를 포함하는 것을 더 포함하는, 방법.
The method of claim 41,
At least one output signal of the master device further comprises a plurality of output signal (s).
청구항 39 또는 40에 있어서,
지연 조정 커맨드를 생성하는 단계는, 상기 복수의 직렬 연결 슬레이브 디바이스 중 지정된 직렬 연결 슬레이브 디바이스에 의해 실행하기 위한 지연 조정 커맨드를 생성하는 것을 포함하는, 방법.
The method of claim 39 or 40,
Generating a delay adjust command comprises generating a delay adjust command for execution by a designated serial connected slave device of the plurality of serial connected slave devices.
청구항 39 또는 40에 있어서,
지연 조정 커맨드를 생성하는 단계는, 상기 복수의 직렬 연결 슬레이브 디바이스의 모두에 의해 실행하기 위한 지연 조정 커맨드를 생성하는 것을 포함하는, 방법.
The method of claim 39 or 40,
Generating a delay adjustment command includes generating a delay adjustment command for execution by all of the plurality of serially connected slave devices.
청구항 41에 있어서,
상기 출력 지연 조정 커맨드에 따라 입력 신호(들)의 지연된 버전을 생성하는 단계는, 복수의 지연 중 선택된 지연에 의해 지연된 상기 입력 신호(들)의 지연된 버전을 생성하는 것을 포함하는, 방법.
The method of claim 41,
Generating a delayed version of the input signal (s) in accordance with the output delay adjustment command comprises generating a delayed version of the input signal (s) delayed by a selected one of a plurality of delays.
청구항 45에 있어서,
지연 조정 커맨드를 생성하는 단계는, 커맨드를 출력 지연 조정 커맨드로서 식별하는 커맨드 식별자를 포함하고, 상기 지연을 조정하는 방식을 나타내는 데이터를 포함하는 상기 커맨드를 생성하는 것을 포함하는, 방법.
The method of claim 45,
Generating a delay adjustment command comprises generating the command including a command identifier identifying the command as an output delay adjustment command and including data indicating how to adjust the delay.
청구항 46에 있어서,
상기 지연을 조정하는 방식을 나타내는 데이터는, 상기 복수의 지연 중 선택된 지연의 표시를 포함하는, 방법.
The method of claim 46,
Data indicative of a manner of adjusting the delay comprises an indication of a selected one of the plurality of delays.
청구항 39 또는 40에 있어서,
상기 위상 오프셋이 허용될 수 있을 때까지의 시간에 하나의 슬레이브 디바이스내의 하나의 단위 지연 요소의 지연을 추가하는 것에 의해 지연을 조정하는 출력 지연 조정 커맨드를 상기 마스터 디바이스가 출력하는 것을 더 포함하는, 방법.
The method of claim 39 or 40,
Further comprising the master device outputting an output delay adjustment command that adjusts the delay by adding a delay of one unit delay element in one slave device at a time until the phase offset can be allowed; Way.
청구항 39 또는 40에 있어서,
상기 복수의 입력 신호는,
클럭 신호;
커맨드 스트로브 신호;
데이터 스트로브 신호;
커맨드 및 데이터를 포함하는 데이터 신호를 포함하는, 방법.
The method of claim 39 or 40,
The plurality of input signals,
Clock signal;
Command strobe signal;
Data strobe signal;
A data signal comprising a command and data.
복수의 직렬 연결 슬레이브 디바이스를 포함하는 배열에 사용하기 위한 슬레이브 디바이스로서,
출력 지연 조정을 실행하는 방식을 지정하는 커맨드를 마스터 디바이스로부터 수신하기 위한 커맨드 입력;
입력 클럭 신호를 수신하기 위한 클럭 입력;
상기 커맨드에 따라 상기 클럭 입력으로부터 지연된 클럭 신호를 생성하기 위한 출력 지연 조정 회로; 및
상기 지연된 클럭 신호를 출력하기 위한 클럭 출력을 포함하는 슬레이브 디바이스.
A slave device for use in an array comprising a plurality of serially connected slave devices,
Command input for receiving a command from the master device that specifies a manner of performing output delay adjustment;
A clock input for receiving an input clock signal;
An output delay adjustment circuit for generating a delayed clock signal from the clock input in accordance with the command; And
And a clock output for outputting the delayed clock signal.
청구항 50에 있어서,
상기 슬레이브 디바이스는 메모리 디바이스인, 슬레이브 디바이스.
The method of claim 50,
And the slave device is a memory device.
청구항 50 또는 51에 있어서,
상기 커맨드를 처리하는 커맨드 처리 회로를 포함하고, 상기 커맨드는 상기 커맨드를 출력 지연 조정 커맨드로서 식별하는 커맨드 식별자를 포함하고, 상기 출력 지연을 조정하는 방식을 나타내는 데이터를 포함하는, 슬레이브 디바이스.
The method of claim 50 or 51,
A command processing circuit for processing the command, wherein the command includes a command identifier identifying the command as an output delay adjustment command and includes data indicating how to adjust the output delay.
청구항 52에 있어서,
디바이스 어드레스 레지스터를 더 포함하고,
상기 커맨드는, 어느 슬레이브 디바이스가 상기 커맨드를 실행할지를 나타내는 디바이스 어드레스를 더 포함하며, 상기 슬레이브 디바이스는 디바이스 식별자가 상기 디바이스 어드레스 레지스터의 내용과 매치하는 경우에 상기 커맨드를 실행하도록 되어 있는, 슬레이브 디바이스.
The method of claim 52, wherein
Further comprising a device address register,
The command further includes a device address indicating which slave device will execute the command, wherein the slave device is configured to execute the command if the device identifier matches the contents of the device address register.
청구항 50 또는 51에 있어서,
상기 출력 지연 조정 회로는,
복수의 입력 신호의 각각에 대해, 상기 입력 클럭 신호를 포함해서, 복수의 지연 중 선택된 지연에 의해 상기 입력 신호를 지연시켜 상기 입력 신호의 지연된 버전을 생성하는 지연 회로를 포함하는, 슬레이브 디바이스.
The method of claim 50 or 51,
The output delay adjustment circuit,
And for each of a plurality of input signals, a delay circuit including the input clock signal to delay the input signal by a selected one of a plurality of delays to produce a delayed version of the input signal.
청구항 54에 있어서,
각각의 출력 지연 회로는 M 단위 지연 요소를 포함하고 (M>=2임), 상기 듀티 사이클 교정 회로는,
N 입력 라인에 수신되는 신호를 (N>=1임), 상기 입력 신호의 지연된 버전을 생성하는데, 얼마만큼의 상기 단위 지연 요소가 작동할지의 선택으로 디코드하는 N 대 M 디코더를 더 포함하는, 슬레이브 디바이스.
The method of claim 54, wherein
Each output delay circuit includes an M unit delay element (where M> = 2) and the duty cycle correction circuit is
Further comprising an N to M decoder to decode a signal received on an N input line (where N> = 1), producing a delayed version of the input signal, with a selection of how much of the unit delay element is to be operated, Slave device.
메모리 시스템으로서,
적어도 제1 슬레이브 디바이스 및 최종 슬레이브 디바이스를 포함하는 청구항 47에 기재된 복수의 직렬 연결 슬레이브 디바이스;
상기 제1 슬레이브 디바이스에 그리고 상기 최종 슬레이브 디바이스에 연결되는 마스터 디바이스;
- 상기 마스터 디바이스는 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 기능하는 제1 클럭 신호를 출력하도록 되어 있음 -
상기 최종 슬레이브 디바이스의 출력 클럭 신호인 제2 클럭 신호를 수신하기 위한 클럭 입력;
상기 제1 클럭 신호와 상기 제2 클럭 신호 사이의 위상 오프셋의 양을 판정하는 위상 검출기;
상기 위상 오프셋의 양의 함수로서 출력 지연 조정 커맨드를 생성하는 커맨드 생성기를 포함하며,
상기 복수의 직렬 연결 슬레이브 디바이스의 제1 슬레이브 디바이스는,
a) 상기 제1 클럭 신호를 상기 제1 슬레이브 디바이스의 입력 클럭 신호로서 상기 마스터 디바이스로부터 수신하고;
b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며,
상기 복수의 직렬 연결 슬레이브 디바이스 중 각각의 다른 슬레이브 디바이스는,
a) 이전 슬레이브 디바이스의 출력 클럭 신호를 상기 슬레이브 디바이스의 입력 클럭 신호로서 수신하고;
b) 상기 입력 클럭 신호로부터 출력 클럭 신호를 생성하며;
상기 복수의 직렬 연결 슬레이브 디바이스 중 적어도 하나는,
a) 상기 출력 지연 조정 커맨드를 수신하고;
b) 상기 제어 커맨드에 따라 상기 디바이스의 입력 클럭 신호를 지연시키는 것에 의해 상기 디바이스의 출력 클럭 신호를 생성하는, 메모리 시스템.
As a memory system,
A plurality of serially connected slave devices as claimed in claim 47 comprising at least a first slave device and a final slave device;
A master device coupled to the first slave device and to the last slave device;
The master device is configured to output a first clock signal functioning as an input clock signal of the first slave device;
A clock input for receiving a second clock signal that is an output clock signal of the last slave device;
A phase detector for determining an amount of phase offset between the first clock signal and the second clock signal;
A command generator for generating an output delay adjustment command as a function of the amount of phase offset,
The first slave device of the plurality of serially connected slave devices,
a) receiving the first clock signal from the master device as an input clock signal of the first slave device;
b) generating an output clock signal from the input clock signal,
Each of the other slave device of the plurality of serially connected slave devices,
a) receiving an output clock signal of a previous slave device as an input clock signal of the slave device;
b) generate an output clock signal from the input clock signal;
At least one of the plurality of serially connected slave devices,
a) receiving the output delay adjustment command;
b) generating an output clock signal of the device by delaying an input clock signal of the device in accordance with the control command.
청구항 56에 있어서,
상기 시스템은 메모리 시스템이고, 각각의 슬레이브 디바이스는 메모리 디바이스이며, 상기 마스터 디바이스는 메모리 제어기인, 시스템.
The method of claim 56, wherein
The system is a memory system, each slave device is a memory device, and the master device is a memory controller.
청구항 56 또는 57에 있어서,
상기 커맨드 생성기는, 상기 복수의 직렬 연결 슬레이브 디바이스 중 지정된 직렬 연결 슬레이브 디바이스에 의해 실행하기 위한 상기 출력 지연 조정 커맨드를 생성하도록 되어 있는, 메모리 시스템.
The method of claim 56 or 57,
And the command generator is configured to generate the output delay adjustment command for execution by a designated serial connected slave device of the plurality of serial connected slave devices.
청구항 56 또는 57에 있어서,
상기 커맨드 생성기는 상기 복수의 직렬 연결 슬레이브 디바이스의 모두에 의해 실행하기 위한 상기 출력 지연 조정을 생성하도록 되어 있는, 메모리 시스템.
The method of claim 56 or 57,
And the command generator is configured to generate the output delay adjustment for execution by all of the plurality of serially connected slave devices.
청구항 56 또는 57에 있어서,
출력 지연 조정 커맨드를 생성하는 것은, 커맨드를 출력 지연 조정 커맨드로서 식별하는 커맨드 식별자를 포함하고, 출력 지연을 조정하는 방식을 나타내는 데이터를 포함하는 상기 커맨드를 생성하는 것을 포함하는, 메모리 시스템.
The method of claim 56 or 57,
Generating an output delay adjustment command includes generating the command including a command identifier identifying the command as an output delay adjustment command and including data indicating how to adjust the output delay.
KR1020117006956A 2008-09-30 2009-09-17 Serial-connected memory system with output delay adjustment KR20110081958A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/241,960 2008-09-30
US12/241,960 US8161313B2 (en) 2008-09-30 2008-09-30 Serial-connected memory system with duty cycle correction
US12/241,832 US8181056B2 (en) 2008-09-30 2008-09-30 Serial-connected memory system with output delay adjustment
US12/241,832 2008-09-30

Publications (1)

Publication Number Publication Date
KR20110081958A true KR20110081958A (en) 2011-07-15

Family

ID=42072981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117006956A KR20110081958A (en) 2008-09-30 2009-09-17 Serial-connected memory system with output delay adjustment

Country Status (6)

Country Link
EP (1) EP2329496A4 (en)
JP (2) JP2012504263A (en)
KR (1) KR20110081958A (en)
CN (1) CN102165529B (en)
TW (1) TW201027556A (en)
WO (1) WO2010037205A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061577B2 (en) 2018-10-30 2021-07-13 Samsung Electronics Co., Ltd. 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

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665665B2 (en) * 2011-03-30 2014-03-04 Mediatek Inc. Apparatus and method to adjust clock duty cycle of memory
US9257164B2 (en) * 2013-03-14 2016-02-09 Altera Corporation Circuits and methods for DQS autogating
JP6232313B2 (en) * 2014-02-25 2017-11-15 新日本無線株式会社 Synchronous serial communication method and slave device
KR20180033368A (en) * 2016-09-23 2018-04-03 삼성전자주식회사 Electronic device comprising storage devices transmitting reference clock via cascade coupling structure
KR20190009534A (en) * 2017-07-19 2019-01-29 에스케이하이닉스 주식회사 Semiconductor device
KR101999125B1 (en) * 2017-11-24 2019-07-11 파밀넷 주식회사 Output signal automatic controller for RS-422 and RS-485 serial communication
JP2020155841A (en) * 2019-03-18 2020-09-24 キオクシア株式会社 Semiconductor integrated circuit and transmitting device
US10937468B2 (en) * 2019-07-03 2021-03-02 Micron Technology, Inc. Memory with configurable die powerup delay
CN112332881B (en) * 2020-10-19 2022-04-26 深圳市信锐网科技术有限公司 Enabling circuit and communication device
CN112698683A (en) * 2020-12-28 2021-04-23 深圳市合信自动化技术有限公司 Method and device for solving error of transmission delay data by configurable bus and PLC

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148674A (en) * 1998-11-09 2000-05-30 Sharp Corp Method for transmitting serial data
US6839393B1 (en) * 1999-07-14 2005-01-04 Rambus Inc. Apparatus and method for controlling a master/slave system via master device synchronization
US6643787B1 (en) * 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
JP2003140962A (en) * 2001-10-30 2003-05-16 Mitsubishi Electric Corp Signal transmit/receive system
JP3843002B2 (en) * 2001-11-26 2006-11-08 株式会社ルネサステクノロジ Variable delay circuit and system LSI using the variable delay circuit
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US7307461B2 (en) * 2003-09-12 2007-12-11 Rambus Inc. System and method for adaptive duty cycle optimization
US7533218B2 (en) * 2003-11-17 2009-05-12 Sun Microsystems, Inc. Memory system topology
US6980042B2 (en) * 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7352219B2 (en) * 2005-08-30 2008-04-01 Infineon Technologies Ag Duty cycle corrector
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
EP1932158A4 (en) 2005-09-30 2008-10-15 Mosaid Technologies Inc Memory with output control
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7747833B2 (en) 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
US8121237B2 (en) * 2006-03-16 2012-02-21 Rambus Inc. Signaling system with adaptive timing calibration
US8069328B2 (en) 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US7673093B2 (en) * 2006-07-26 2010-03-02 International Business Machines Corporation Computer system having daisy chained memory chips
EP2062261A4 (en) * 2006-08-22 2010-01-06 Mosaid Technologies Inc Scalable memory system
JP4952177B2 (en) * 2006-10-02 2012-06-13 富士通株式会社 Storage device
US8140803B2 (en) * 2007-01-09 2012-03-20 International Business Machines Corporation Structure for reducing latency associated with read operations in a memory system
CN101617371B (en) * 2007-02-16 2014-03-26 莫塞德技术公司 Non-volatile semiconductor memory having multiple external power supplies

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061577B2 (en) 2018-10-30 2021-07-13 Samsung Electronics Co., Ltd. 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

Also Published As

Publication number Publication date
EP2329496A4 (en) 2012-06-13
JP2013008386A (en) 2013-01-10
JP2012504263A (en) 2012-02-16
JP5599852B2 (en) 2014-10-01
EP2329496A1 (en) 2011-06-08
CN102165529B (en) 2014-12-31
TW201027556A (en) 2010-07-16
WO2010037205A1 (en) 2010-04-08
CN102165529A (en) 2011-08-24

Similar Documents

Publication Publication Date Title
US8161313B2 (en) Serial-connected memory system with duty cycle correction
US8181056B2 (en) Serial-connected memory system with output delay adjustment
KR20110081958A (en) Serial-connected memory system with output delay adjustment
US10866739B2 (en) Clock mode determination in a memory system
US8504789B2 (en) Bridging device having a frequency configurable clock domain
KR101492383B1 (en) System having one or more memory devices

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application