KR20240019004A - Memory module adjusting inter-rank clock timing, memory system and training method thereof - Google Patents

Memory module adjusting inter-rank clock timing, memory system and training method thereof Download PDF

Info

Publication number
KR20240019004A
KR20240019004A KR1020220179370A KR20220179370A KR20240019004A KR 20240019004 A KR20240019004 A KR 20240019004A KR 1020220179370 A KR1020220179370 A KR 1020220179370A KR 20220179370 A KR20220179370 A KR 20220179370A KR 20240019004 A KR20240019004 A KR 20240019004A
Authority
KR
South Korea
Prior art keywords
memory
command
rank
signal
address
Prior art date
Application number
KR1020220179370A
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/218,931 priority Critical patent/US20240046975A1/en
Priority to EP23188849.6A priority patent/EP4318475A1/en
Priority to CN202310963858.7A priority patent/CN117524277A/en
Publication of KR20240019004A publication Critical patent/KR20240019004A/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 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • H03K5/134Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices with field-effect transistors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay

Abstract

본 발명에 따른 메모리 모듈은, 제 1 랭크를 구성하는 제 1 메모리 장치, 그리고 상기 제 1 메모리 장치와 커맨드/어드레스 신호 및 클록 신호를 공유하는 제 2 랭크를 구성하는 제 2 메모리 장치를 포함하되, 상기 제 1 메모리 장치 및 상기 제 2 메모리 장치는 매치드 방식(Matched type)으로 커맨드/어드레스 신호 및 클록 신호를 수신하고, 상기 제 1 메모리 장치는 수신된 상기 클록 신호의 지연을 조정하기 위한 가변 지연 라인을 포함한다. The memory module according to the present invention includes a first memory device constituting a first rank, and a second memory device constituting a second rank that shares command/address signals and clock signals with the first memory device, The first memory device and the second memory device receive command/address signals and clock signals in a matched type, and the first memory device has a variable delay for adjusting the delay of the received clock signal. Contains lines.

Description

랭크간 타이밍을 조정하는 메모리 모듈, 메모리 시스템, 그리고 그것의 트레이닝 방법{MEMORY MODULE ADJUSTING INTER-RANK CLOCK TIMING, MEMORY SYSTEM AND TRAINING METHOD THEREOF}Memory module for adjusting inter-rank timing, memory system, and training method thereof {MEMORY MODULE ADJUSTING INTER-RANK CLOCK TIMING, MEMORY SYSTEM AND TRAINING METHOD THEREOF}

본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 랭크간 타이밍을 조정하는 메모리 모듈, 메모리 시스템 및 그것의 트레이닝 방법에 관한 것이다.The present invention relates to a semiconductor memory device, and more specifically, to a memory module that adjusts inter-rank timing, a memory system, and a training method thereof.

근래에, 스마트폰, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 PC, 웨어러블 기기와 같은 다양한 모바일 장치나 전자 장치들이 널리 사용되고 있다. 이러한 전자 장치들은 대개 데이터를 저장하기 위한 반도체 메모리 장치를 포함한다. 반도체 메모리 장치의 일례로서 휘발성 메모리(volatile-memory)인 디램(Dynamic Random Access Memory; DRAM) 장치는 커패시터(Capacitor)에 저장되어 있는 전하(Charge)에 의해 데이터를 저장한다. Recently, various mobile devices and electronic devices such as smartphones, desktop computers, laptop computers, tablet PCs, and wearable devices are widely used. These electronic devices usually include semiconductor memory devices for storing data. As an example of a semiconductor memory device, a dynamic random access memory (DRAM) device, which is a volatile memory, stores data using charges stored in a capacitor.

일반적으로, 저전력의 모바일 메모리로 제공되는 메모리 모듈은 2 이상의 랭크(Rank)들로 나뉘어질 수 있다. 즉, 듀얼 랭크 구조의 경우에 메모리 모듈의 기판에 탑재된 복수의 반도체 메모리 장치들은 2개의 랭크들로 분류되고 동일한 랭크에 속한 반도체 메모리 장치들은 동시에 억세스될 수 있다. 결국, 랭크는 메모리 컨트롤러가 반도체 메모리 장치들에 대해 데이터를 입출력하는 단위를 의미하는 것일 수 있다. 싱글 랭크(Single rank)가 예를 들어 64-비트 데이터 전송폭을 가진다고 할 경우에 듀얼 랭크(Dual rank)는 싱글 랭크의 2배에 해당되는 데이터 전송폭을 가질 수 있다. In general, memory modules provided as low-power mobile memory can be divided into two or more ranks. That is, in the case of a dual rank structure, a plurality of semiconductor memory devices mounted on the substrate of the memory module are classified into two ranks, and semiconductor memory devices belonging to the same rank can be accessed simultaneously. In the end, rank may mean a unit through which a memory controller inputs and outputs data to semiconductor memory devices. For example, if single rank has a 64-bit data transmission width, dual rank may have a data transmission width twice that of single rank.

고용량화 및 고속화 추세에 따라, 고속으로 입력되는 커맨드/어드레스(Command/Address: 이하, CA)의 신호 무결성(Signal Integrity: 이하, SI) 특성은 나빠지게 되었다. 특히, 멀티 랭크 시스템에서는 랭크간 특성 산포에 따라 신호 무결성(SI)의 달성은 점점 어려워지고 있다. 이를 극복하기 위해 메모리 컨트롤러에서 랭크별 커맨드/어드레스(CA) 클록의 타이밍을 개별적으로 제어하면 되지만, 이는 성능 저하와 함께 관련 업체들의 부담으로 작용하고 있다. With the trend toward higher capacity and higher speed, the signal integrity (SI) characteristics of commands/addresses (CA) input at high speeds have deteriorated. In particular, in multi-rank systems, it is becoming increasingly difficult to achieve signal integrity (SI) depending on the distribution of characteristics between ranks. To overcome this, the timing of the command/address (CA) clock for each rank can be individually controlled in the memory controller, but this reduces performance and places a burden on related companies.

본 발명의 목적은 랭크간 클록 스큐를 보상할 수 있는 매치드형(Matched type) 멀티-랭크 메모리 모듈, 메모리 시스템 및 그것의 트레이닝 방법을 제공하는데 있다. The purpose of the present invention is to provide a matched type multi-rank memory module capable of compensating for inter-rank clock skew, a memory system, and a training method thereof.

상기 목적을 달성하기 위한 메모리 모듈은, 제 1 랭크를 구성하는 제 1 메모리 장치, 그리고 상기 제 1 메모리 장치와 커맨드/어드레스 신호 및 클록 신호를 공유하는 제 2 랭크를 구성하는 제 2 메모리 장치를 포함하되, 상기 제 1 메모리 장치 및 상기 제 2 메모리 장치는 매치드 방식(Matched type)으로 커맨드/어드레스 신호 및 클록 신호를 수신하고, 상기 제 1 메모리 장치는 수신된 상기 클록 신호의 지연을 조정하기 위한 가변 지연 라인을 포함한다.The memory module for achieving the above purpose includes a first memory device constituting a first rank, and a second memory device constituting a second rank that shares a command/address signal and a clock signal with the first memory device. However, the first memory device and the second memory device receive command/address signals and clock signals in a matched type, and the first memory device is configured to adjust the delay of the received clock signal. Contains variable delay lines.

상기 목적을 달성하기 위한 커맨드/어드레스 신호와 클록 신호를 공유하는 매치드형 멀티-랭크 메모리 모듈의 트레이닝 방법은, 제 1 랭크에 대한 상기 커맨드/어드레스 신호와 상기 클록 신호의 정합 여부를 체크하기 위한 제 1 커맨드 버스 트레이닝을 수행하는 단계, 제 2 랭크에 대한 상기 커맨드/어드레스 신호와 상기 클록 신호의 정합 여부를 체크하기 위한 제 2 커맨드 버스 트레이닝을 수행하는 단계, 상기 제 1 및 제 2 커맨드 버스 트레이닝의 결과를 이용하여 상기 제 1 랭크 및 상기 제 2 랭크 각각의 상기 커맨드/어드레스 신호의 마진을 체크하는 단계, 그리고 상기 커맨드/어드레스 신호의 상기 마진에 따라 상기 제 1 랭크 또는 상기 제 2 랭크 내부에서 상기 클록 신호의 지연을 조정하는 단계를 포함한다. The training method of a matched multi-rank memory module sharing a command/address signal and a clock signal to achieve the above purpose includes a method for checking whether the command/address signal and the clock signal for the first rank match. 1. Performing command bus training, performing second command bus training to check whether the command/address signal and the clock signal for the second rank match, of the first and second command bus training Checking the margin of the command/address signal of each of the first rank and the second rank using the result, and determining the margin of the command/address signal within the first rank or the second rank according to the margin of the command/address signal. and adjusting the delay of the clock signal.

상기 목적을 달성하기 위한 메모리 시스템은, 제 1 버스를 통해서 신호를 전송하고, 제 2 버스를 통해 클록 신호를 전송하는 메모리 컨트롤러, 그리고 상기 제 1 버스 및 상기 제 2 버스를 공유하는 제 1 랭크 메모리 및 제 2 랭크 메모리를 포함하는 메모리 모듈을 포함하되, 상기 제 1 랭크 메모리 또는 상기 제 2 랭크 메모리는 상기 제 2 버스를 통해 수신된 상기 클록 신호를 내부에서 가변적으로 지연하기 위한 가변 지연 라인을 포함한다.A memory system for achieving the above purpose includes a memory controller that transmits a signal through a first bus and a clock signal through a second bus, and a first rank memory that shares the first bus and the second bus. and a memory module including a second rank memory, wherein the first rank memory or the second rank memory includes a variable delay line for internally variably delaying the clock signal received through the second bus. do.

상술한 본 발명의 실시 예에 따르면, 랭크들 각각이 커맨드/어드레스(CA) 신호와 클록 신호(CK)를 공유하는 매치드형 멀티-랭크 메모리 모듈에서 랭크간 클록 스큐를 효과적으로 보상할 수 있다. According to the above-described embodiment of the present invention, inter-rank clock skew can be effectively compensated for in a matched-type multi-rank memory module in which each rank shares a command/address (CA) signal and a clock signal (CK).

도 1은 본 발명의 실시 예에 따른 메모리 시스템의 구조를 히간략 보여주는 블록도이다.
도 2는 도 1의 메모리 시스템을 좀더 구체적으로 보여주는 블록도이다.
도 3은 도 2의 메모리 컨트롤러의 간략한 구조를 보여주는 블록도이다.
도 4는 도 2의 메모리 장치의 구성을 간략히 보여주는 블록도이다.
도 5는 도 4의 클록 지연 라인의 예시적인 구조를 간략히 보여주는 회로도이다.
도 6은 본 발명의 실시 예에 따른 커맨드 버스 트레이닝(CBT) 방법을 예시적으로 보여주는 타이밍도이다.
도 7은 본 발명의 멀티-랭크 메모리 장치들에 대한 커맨드 버스 트레이닝(CBT)의 결과를 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 커맨드 버스 트레이닝(CBT) 방법을 간략히 보여주는 순서도이다.
도 9는 본 발명의 다른 실시 예에 따른 메모리 시스템을 간략히 보여주는 블록도이다.
도 10은 본 발명의 다른 실시 예에 따른 메모리 시스템의 구성을 보여주는 단면도이다.
도 11은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 12는 본 발명의 실시 예에 따른 멀티-랭크 메모리 시스템의 커맨드 버스 트레이닝(CBT) 방법을 간략히 보여주는 순서도이다.
1 is a block diagram briefly showing the structure of a memory system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the memory system of FIG. 1 in more detail.
FIG. 3 is a block diagram showing a simplified structure of the memory controller of FIG. 2.
FIG. 4 is a block diagram briefly showing the configuration of the memory device of FIG. 2.
FIG. 5 is a circuit diagram briefly showing an example structure of the clock delay line of FIG. 4.
Figure 6 is a timing diagram illustrating a command bus training (CBT) method according to an embodiment of the present invention.
Figure 7 is a diagram showing the results of command bus training (CBT) for multi-rank memory devices of the present invention.
Figure 8 is a flowchart briefly showing a command bus training (CBT) method according to an embodiment of the present invention.
Figure 9 is a block diagram briefly showing a memory system according to another embodiment of the present invention.
Figure 10 is a cross-sectional view showing the configuration of a memory system according to another embodiment of the present invention.
Figure 11 is a block diagram showing a memory system according to another embodiment of the present invention.
Figure 12 is a flow chart briefly showing a command bus training (CBT) method of a multi-rank memory system according to an embodiment of the present invention.

앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and are to be regarded as providing additional explanation of the claimed invention. Reference signs are indicated in detail in preferred embodiments of the invention, examples of which are indicated in the reference drawings. Wherever possible, the same reference numerals are used in the description and drawings to refer to the same or similar parts.

이하에서는, 디램(DRAM)을 본 발명의 특징 및 기능을 설명하기 위한 반도체 메모리 장치의 예로서 사용될 것이다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.Hereinafter, DRAM will be used as an example of a semiconductor memory device to explain the features and functions of the present invention. However, those skilled in the art will readily understand other advantages and capabilities of the present invention based on what is described herein. The present invention may be implemented or applied through other embodiments. Moreover, the detailed description may be modified or changed according to viewpoints and applications without significantly departing from the scope, technical spirit and other purposes of the present invention.

도 1은 본 발명의 실시 예에 따른 메모리 시스템의 구조를 히간략 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(1000)은 메모리 컨트롤러(1100) 및 메모리 모듈(1500)을 포함한다. 메모리 모듈(1500)은 2개의 랭크를 구성하는 메모리 장치들(1200, 1300)을 포함한다. 1 is a block diagram briefly showing the structure of a memory system according to an embodiment of the present invention. Referring to FIG. 1 , the memory system 1000 includes a memory controller 1100 and a memory module 1500. The memory module 1500 includes memory devices 1200 and 1300 constituting two ranks.

메모리 컨트롤러(1100)는 메모리 모듈(1500)에 데이터를 쓰거나, 메모리 모듈(1500)에 저장된 데이터를 읽어내는 접근 동작을 수행할 수 있다. 메모리 컨트롤러(1100)는 메모리 모듈(1500)에 데이터를 기입하거나, 메모리 모듈(1500)에 저장된 데이터를 독출하기 위한 명령어(CMD)와 어드레스(ADDR)를 생성할 수 있다. 메모리 컨트롤러(1100)는 메모리 모듈(1500)을 제어하기 위한 칩셋, 모바일 AP(Application Processor: 이하, AP)와 같은 시스템 온 칩(SoC), CPU, GPU 중 적어도 하나일 수 있다. The memory controller 1100 may perform an access operation to write data to the memory module 1500 or read data stored in the memory module 1500. The memory controller 1100 may generate a command (CMD) and an address (ADDR) for writing data to the memory module 1500 or reading data stored in the memory module 1500. The memory controller 1100 may be at least one of a chipset for controlling the memory module 1500, a system-on-chip (SoC) such as a mobile application processor (AP), a CPU, or a GPU.

메모리 모듈(1500)은 멀티 랭크들(Rank0, Rank1)에 대응하는 메모리 장치들(1200, 1300)을 포함한다. 즉, 메모리 장치(1200)는 제 1 랭크(Rank0)를, 메모리 장치(1300)는 제 2 랭크(Rank1)를 구성한다. 메모리 랭크(Memory rank)는 메모리 컨트롤러(1100)로부터의 공통 커맨드/어드레스(CA)를 수신하고 응답하는 다수의 메모리 장치 또는 메모리 칩들을 지칭한다. The memory module 1500 includes memory devices 1200 and 1300 corresponding to multi-ranks (Rank0 and Rank1). That is, the memory device 1200 constitutes the first rank (Rank0), and the memory device 1300 constitutes the second rank (Rank1). Memory rank refers to a plurality of memory devices or memory chips that receive and respond to a common command/address (CA) from the memory controller 1100.

랭크들의 메모리 장치들은 일반적으로 데이터 버스(DQ), 커맨드/어드레스(CA) 버스, 커맨드/어드레스(CA)의 스트로브 신호로 사용되는 클록 신호(CKt, CKc)들 중 적어도 하나를 공유한다. 본 발명의 실시 예에서, 메모리 장치들(1200, 1300) 각각 커맨드/어드레스(CA) 버스, 클록 신호(CKt, CKc)를 공유하고, 데이터 버스(DQ)는 칩 선택 신호(Chip Select: 이하, CS)에 의해서 할당되는 것으로 가정하기로 한다. Memory devices of the ranks generally share at least one of a data bus (DQ), a command/address (CA) bus, and clock signals (CKt, CKc) used as strobe signals of the command/address (CA). In an embodiment of the present invention, the memory devices 1200 and 1300 each share a command/address (CA) bus and clock signals (CKt and CKc), and the data bus (DQ) uses a chip select signal (Chip Select: hereinafter, It is assumed that it is allocated by CS).

제 1 메모리 장치(1200)는 제 1 랭크(Rank0)를 구성한다. 제 2 메모리 장치(1300)는 제 2 랭크(Rank1)를 구성한다. 멀티-랭크(Multi-Rank)를 구성하기 위해 커맨드/어드레스(CA) 신호는 제 1 메모리 장치(1200)의 적어도 하나의 패드(Pa0)를 통해서 전달된다. 동일한 커맨드/어드레스(CA) 신호는 제 1 메모리 장치(1200)의 패드(Pa0)를 경유하여 제 2 메모리 장치(1300)의 적어도 하나의 패드(Pb0)에 연결된다. 전기적으로는 커맨드/어드레스 신호(CA)는 메모리 장치들(1200, 1300) 각각의 패드들(Pa0, Pb0)에 병렬로 연결된다. 하지만, 물리적으로는 메모리 장치들(1200, 1300)은 와이어 본딩으로 연결됨에 따라 신호 전달 특성이 달라질 수 있다. 패드(Pa0)와 패드(Pb0)가 각각 하나로 도시되었지만, 커맨드/어드레스 신호(CA)의 비트 폭에 따라 2개 또는 그 이상일 수 있음은 잘 이해될 것이다. 메모리 장치들(1200, 1300) 각각의 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)의 수신은 매치드형(Matched type) 구조로 제공된다. 즉, 메모리 장치들(1200, 1300) 각각의 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)의 경로는 동일한 지연 크기(Delay size)로 제공된다. The first memory device 1200 constitutes the first rank (Rank0). The second memory device 1300 constitutes the second rank (Rank1). To configure multi-rank, a command/address (CA) signal is transmitted through at least one pad (Pa0) of the first memory device 1200. The same command/address (CA) signal is connected to at least one pad (Pb0) of the second memory device 1300 via the pad (Pa0) of the first memory device 1200. Electrically, the command/address signal CA is connected in parallel to the pads Pa0 and Pb0 of each of the memory devices 1200 and 1300. However, physically, the memory devices 1200 and 1300 may have different signal transmission characteristics as they are connected by wire bonding. Although the pad Pa0 and the pad Pb0 are each shown as one, it will be well understood that there may be two or more pads depending on the bit width of the command/address signal CA. Reception of the command/address signal (CA) and clock signal (CKt, CKc) of each of the memory devices 1200 and 1300 is provided in a matched type structure. That is, the paths of the command/address signal (CA) and clock signals (CKt, CKc) of each of the memory devices 1200 and 1300 are provided with the same delay size.

멀티-랭크(Multi-rank)를 구성하기 위해 각각 차동 신호 형태로 전달되는 클록 신호(CKt, CKc)는 패드들(Pa1, Pa2)을 통해서 제 1 메모리 장치(1200)에 전달된다. 클록 신호(CKt, CKc)는 커맨드/어드레스 신호(CA)의 스트로브 신호로 사용될 수 있다. 또한, 클록 신호(CKt, CKc)는 제 1 메모리 장치(1200)의 패드들(Pa1, Pa2)을 경유하여 제 2 메모리 장치(1300)의 패드들(Pb1, Pb2)에 연결된다. 클록 신호(CKt, CKc)도 전기적으로는 메모리 장치들(1200, 1300) 각각의 패드들(Pa1, Pa2, Pb1, Pb2)에 각각 병렬로 연결된다. 하지만, 물리적으로는 와이어 결선에 따라 제 1 메모리 장치(1200)와 제 2 메모리 장치(1300)의 클록 신호(CKt, CKc) 전달 특성이 달라질 수 있다. To configure multi-rank, the clock signals CKt and CKc, each transmitted in the form of a differential signal, are transmitted to the first memory device 1200 through the pads Pa1 and Pa2. The clock signals (CKt, CKc) can be used as strobe signals of the command/address signal (CA). Additionally, the clock signals CKt and CKc are connected to the pads Pb1 and Pb2 of the second memory device 1300 via the pads Pa1 and Pa2 of the first memory device 1200. The clock signals CKt and CKc are also electrically connected in parallel to the pads Pa1, Pa2, Pb1, and Pb2 of the memory devices 1200 and 1300, respectively. However, physically, the clock signal (CKt, CKc) transmission characteristics of the first memory device 1200 and the second memory device 1300 may vary depending on the wire connection.

본 발명의 메모리 장치(예를 들면, 1300)는 제어 가능한 가변 지연 라인(1340)을 포함할 수 있다. 메모리 컨트롤러(1100)는 랭크들 각각에 대한 커맨드 버스 트레이닝(Command Bus Training: 이하, CBT)을 수행한다. 메모리 컨트롤러(1100)는 커맨드 버스 트레이닝(CBT) 결과에 따라 어느 하나의 랭크(예를 들면, Rank1)의 가변 지연 라인(1340)을 조정하여 두 랭크 각각이 최적 클록 타이밍으로 동작하도록 설정할 수 있다. 즉, 제 1 메모리 장치(1200)와 제 2 메모리 장치(1300)에서 수신되는 커맨드/어드레스 신호(CA)에 스큐(Skew)가 존재하는 경우, 제 2 메모리 장치(1300)의 가변 지연 라인(1340)을 조정하여 스큐를 보상할 수 있다. 이러한 트레이닝을 통해서 랭크들 각각은 최적의 클록 타이밍으로 커맨드/어드레스 신호(CA)를 수신할 수 있다. The memory device (eg, 1300) of the present invention may include a controllable variable delay line 1340. The memory controller 1100 performs command bus training (CBT) for each rank. The memory controller 1100 may adjust the variable delay line 1340 of one rank (for example, Rank1) according to the command bus training (CBT) result so that each of the two ranks operates at optimal clock timing. That is, if there is a skew in the command/address signal (CA) received from the first memory device 1200 and the second memory device 1300, the variable delay line 1340 of the second memory device 1300 ) can be adjusted to compensate for the skew. Through this training, each rank can receive a command/address signal (CA) with optimal clock timing.

클록 신호(CKt, CKc)와 커맨드/어드레스 신호(CA)의 정렬 여부를 검출하기 위해, 메모리 시스템(1000)은 커맨드 버스 트레이닝(CBT) 모드를 지원할 수 있다. 즉, 메모리 컨트롤러(1100)는 메모리 모듈(1500)에 전원이 공급되거나, 또는 초기화 동작시, 커맨드 버스에 대한 버스 트레이닝을 수행할 수 있다. 메모리 컨트롤러(1100)는 랭크들(Rank0, Rank1) 각각에 대한 커맨드 버스 트레이닝(CBT)을 수행하여 커맨드/어드레스 신호(CA)의 마진을 각각 체크할 수 있다. 그리고 커맨드/어드레스 신호(CA)의 마진에 기초하여 랭크들(Rank0, Rank1) 중 어느 하나의 가변 지연 라인(예를 들면, 1340)을 조정하여 스큐를 보상할 수 있다.To detect whether the clock signals CKt and CKc and the command/address signal CA are aligned, the memory system 1000 may support a command bus training (CBT) mode. That is, the memory controller 1100 may perform bus training on the command bus when power is supplied to the memory module 1500 or during an initialization operation. The memory controller 1100 may perform command bus training (CBT) for each of the ranks (Rank0 and Rank1) to check the margin of the command/address signal (CA). Additionally, the skew may be compensated by adjusting the variable delay line (eg, 1340) of one of the ranks (Rank0 and Rank1) based on the margin of the command/address signal (CA).

메모리 시스템(1000)은 개인용 컴퓨터(Personal Computer: PC) 또는 모바일 디바이스 내에 포함되도록 구현될 수 있다. 모바일 디바이스는 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(Personal Digital Assistant), EDA(Enterprise Digital Assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(Portable Multimedia Player), PND(Personal Navigation Device 또는 Portable Navigation Device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(Mobile Internet Device(MID)), 웨어러블 컴퓨터, 사물 인터넷(Internet of Things(IoT)) 장치, 만물 인터넷(Internet of Everything(IoE)) 장치, 또는 드론(drone)으로 구현될 수 있다.The memory system 1000 may be implemented to be included in a personal computer (PC) or mobile device. Mobile devices include laptop computers, mobile phones, smartphones, tablet PCs, personal digital assistants (PDAs), enterprise digital assistants (EDAs), digital still cameras, digital video cameras, and portable portable media (PMPs). Multimedia Player, PND (Personal Navigation Device or Portable Navigation Device), handheld game console, Mobile Internet Device (MID), wearable computer, Internet of Things (IoT) device , can be implemented as an Internet of Everything (IoE) device, or drone.

메모리 장치들(1200, 1300) 각각은 복수의 메모리 셀들을 포함하는 메모리 셀 어레이를 포함할 수 있다. 일 실시예에서, 메모리 셀은 휘발성 메모리 셀일 수 있고, 메모리 장치들(1200, 1300) 각각은 비제한적인 예시로서 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 모바일 DRAM, DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR (Low Power DDR) SDRAM, GDDR (Graphic DDR) SDRAM, RDRAM(Rambus Dynamic Random Access Memory) 등일 수 있다. Each of the memory devices 1200 and 1300 may include a memory cell array including a plurality of memory cells. In one embodiment, the memory cell may be a volatile memory cell, and each of the memory devices 1200 and 1300 may include, but are not limited to, dynamic random access memory (DRAM), static random access memory (SRAM), mobile DRAM, and DDR SDRAM. (Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR (Low Power DDR) SDRAM, GDDR (Graphic DDR) SDRAM, RDRAM (Rambus Dynamic Random Access Memory), etc.

다른 실시예에서, 메모리 셀은 비휘발성 메모리 셀일 수 있고, 메모리 장치들(1200, 1300) 각각은 비제한적인 예시로서 EEPROM (non-volatile memory such as a Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM (Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM (Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등일 수 있다. 이하에서, 메모리 장치들(1200, 1300) 각각은 DRAM인 것으로서 설명되나, 본 개시의 기술적 사상이 이에 제한되지 않음은 잘 이해될 것이다.In another embodiment, the memory cell may be a non-volatile memory cell, and each of the memory devices 1200 and 1300 may include, but are not limited to, EEPROM (non-volatile memory such as an Electrically Erasable Programmable Read-Only Memory), flash memory, etc. (flash memory), PRAM (Phase Change Random Access Memory), RRAM (Resistance Random Access Memory), NFGM (Nano Floating Gate Memory), PoRAM (Polymer Random Access Memory), MRAM (Magnetic Random Access Memory), FRAM (Ferroelectric Random Access Memory) Access Memory), etc. Hereinafter, each of the memory devices 1200 and 1300 will be described as being DRAM, but it will be well understood that the technical idea of the present disclosure is not limited thereto.

상술한 바와 같이 본 발명의 메모리 시스템(1000)은 멀티-랭크 구조의 메모리 모듈(1500)을 포함한다. 그리고 메모리 모듈(1500)은 매치드(Matched) 방식으로 커맨드/어드레스 신호(CA) 및 클록 신호(CKt, CKc)를 수신한다. 메모리 컨트롤러(1100)는 랭크들 각각에 공통으로 사용되는 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)의 스큐를 커맨드 버스 트레이닝(CBT)을 통해 체크한다. 그리고 체크된 스큐를 보상하기 위해 메모리 장치들(1200, 1300) 중 적어도 하나의 가변 지연 라인을 조정할 수 있다. 이를 통해서, 멀티-랭크 구조의 메모리 시스템에서 랭크 전환시 별도의 타이밍 제어없이 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 전달할 수 있다. 따라서, 메모리 컨트롤러(1100) 측에서 용이한 제어가 가능하고 높은 성능의 매치트형 멀티-랭크 메모리 시스템이 제공될 수 있다.As described above, the memory system 1000 of the present invention includes a memory module 1500 with a multi-rank structure. And the memory module 1500 receives the command/address signal (CA) and clock signals (CKt, CKc) in a matched manner. The memory controller 1100 checks the skew of the command/address signal (CA) and clock signals (CKt, CKc) commonly used for each rank through command bus training (CBT). Additionally, at least one variable delay line among the memory devices 1200 and 1300 may be adjusted to compensate for the checked skew. Through this, the command/address signal (CA) and clock signals (CKt, CKc) can be transmitted without separate timing control when switching ranks in a memory system with a multi-rank structure. Accordingly, easy control is possible on the memory controller 1100 side and a high-performance matched-type multi-rank memory system can be provided.

도 2는 도 1의 메모리 시스템을 좀더 구체적으로 보여주는 블록도이다. 도 2를 참조하면, 메모리 시스템(1000)은 메모리 컨트롤러(1100) 및 메모리 장치들(1200, 1300)을 포함한다. 메모리 장치들(1200, 1300)은 도 1의 메모리 모듈(1500)을 구성한다. 메모리 장치들(1200, 1300) 각각은 제 1 랭크(Rank0)와 제 2 랭크(Rank1)를 구성한다. FIG. 2 is a block diagram showing the memory system of FIG. 1 in more detail. Referring to FIG. 2 , the memory system 1000 includes a memory controller 1100 and memory devices 1200 and 1300. Memory devices 1200 and 1300 constitute the memory module 1500 of FIG. 1 . Each of the memory devices 1200 and 1300 constitutes a first rank (Rank0) and a second rank (Rank1).

메모리 컨트롤러(1100)는 메모리 장치들(1200, 1300)을 멀티-랭크 방식으로 제어한다. 즉, 메모리 컨트롤러(1100)는 커맨드/어드레스 신호(CA) 버스와 클록 신호(CKt, CKc)를 메모리 장치들(1200, 1300)에 공통으로 인가한다. 도 1에서 설명된 바와 같이, 메모리 장치들(1200, 1300)은 병렬로 연결된 패드들을 통해 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 공유하도록 연결된다. 그리고 메모리 컨트롤러(1100)는 커맨드 버스 트레이닝(CBT)을 통해서 메모리 장치들(1200, 1300) 내부에 구비되는 가변 지연 라인(1240 또는 1340)을 설정할 수 있다. 이러한 기능을 사용하여 메모리 컨트롤러(1100)는 랭크들 간의 커맨드/어드레스 신호(CA) 또는 클록 신호(CKt, CKc)의 특성 차이로 발생하는 스큐를 제거하거나 줄일 수 있다. The memory controller 1100 controls the memory devices 1200 and 1300 in a multi-rank manner. That is, the memory controller 1100 commonly applies the command/address signal (CA) bus and clock signals (CKt and CKc) to the memory devices 1200 and 1300. As described in FIG. 1 , the memory devices 1200 and 1300 are connected to share the command/address signal CA and the clock signals CKt and CKc through pads connected in parallel. Additionally, the memory controller 1100 can set the variable delay line 1240 or 1340 provided inside the memory devices 1200 and 1300 through command bus training (CBT). Using this function, the memory controller 1100 can remove or reduce skew that occurs due to differences in characteristics of command/address signals (CA) or clock signals (CKt, CKc) between ranks.

메모리 장치들(1200, 1300)은 도시된 형태의 듀얼 랭크 형태로 구성될 수 있다. 하지만, 메모리 장치들(1200, 1300)의 수는 복수 채널의 4-랭크 또는 그 이상의 랭크들을 구성하도록 증가될 수 있을 것이다. 메모리 장치들(1200, 1300) 각각은 메모리 컨트롤러(1100)로부터 공통 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 수신한다. 그리고 메모리 장치들(1200, 1300) 각각은 매치드형(Matched type)의 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc) 수신 방식을 사용한다. 즉, 메모리 장치들(1200, 1300) 각각은 커맨드/어드레스 신호(CA)의 수신 경로와 클록 신호(CKt, CKc)의 수신 경로의 지연이 매치된 형태로 제공된다. The memory devices 1200 and 1300 may be configured in a dual rank format as shown. However, the number of memory devices 1200 and 1300 may be increased to configure 4-rank or higher ranks of multiple channels. Each of the memory devices 1200 and 1300 receives a common command/address signal (CA) and clock signals (CKt and CKc) from the memory controller 1100. And each of the memory devices 1200 and 1300 uses a matched type command/address signal (CA) and clock signal (CKt, CKc) reception method. That is, each of the memory devices 1200 and 1300 is provided in a form in which the delays of the reception path of the command/address signal (CA) and the reception path of the clock signals (CKt and CKc) are matched.

하지만, 본 발명에 따른 메모리 장치들(1200, 1300)은 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)의 지연 라인들(1230, 1240, 1330, 1340)을 포함한다. 메모리 컨트롤러(1100)는 메모리 장치들(1200, 1300) 각각에 대한 커맨드 버스 트레이닝(CBT)을 수행할 수 있다. 그리고 커맨드 버스 트레이닝(CBT)의 결과를 기반으로 메모리 장치들(1200, 1300) 각각의 커맨드/어드레스 신호(CA)의 마진이 체크될 수 있다. 그리고 메모리 장치들(1200, 1300) 각각의 커맨드/어드레스 신호(CA)의 마진을 기반으로 커맨드/어드레스 신호(CA)의 타이밍을 일치시키기 위해 클록 신호(CKt, CKc)의 지연 라인이 조정될 수 있다. 이를 위해, 클록 신호(CKt, CKc)의 가변 지연 라인들(1240, 1340)은 퓨즈나 모드 레지스터 셋(MRS)을 사용하여 설정될 수 있다. However, the memory devices 1200 and 1300 according to the present invention include delay lines 1230, 1240, 1330, and 1340 for command/address signals (CA) and clock signals (CKt and CKc). The memory controller 1100 may perform command bus training (CBT) on each of the memory devices 1200 and 1300. Additionally, the margin of the command/address signal (CA) of each of the memory devices 1200 and 1300 may be checked based on the results of command bus training (CBT). Additionally, the delay lines of the clock signals CKt and CKc may be adjusted to match the timing of the command/address signal CA based on the margin of the command/address signal CA of each of the memory devices 1200 and 1300. . To this end, the variable delay lines 1240 and 1340 of the clock signals CKt and CKc may be set using a fuse or a mode register set (MRS).

제 1 메모리 장치(1200)는 메모리 컨트롤러(1100)로부터 전송되는 커맨드/어드레스 신호(CA)를 제 1 비교기(1210)를 사용하여 수신한다. 즉, 제 1 비교기(1210)는 수신된 커맨드/어드레스 신호(CA)와 기준 전압(VREF)을 비교하여 샘플링한다. 제 1 비교기(1210)에 의해서 샘플링된 커맨드/어드레스 신호(CA)는 제 1 지연 라인(1230)을 경유하여 제 1 플립플롭(1250)의 데이터 입력단(D)으로 전달될 것이다.The first memory device 1200 receives the command/address signal (CA) transmitted from the memory controller 1100 using the first comparator 1210. That is, the first comparator 1210 compares the received command/address signal (CA) and the reference voltage (VREF) and performs sampling. The command/address signal (CA) sampled by the first comparator 1210 will be transmitted to the data input terminal (D) of the first flip-flop 1250 via the first delay line 1230.

메모리 컨트롤러(1100)로부터 전송되는 클록 신호(CKt, CKc)는 제 2 비교기(1220)에 의해서 수신된다. 제 2 비교기(1220)는 차동 신호 형태로 전달되는 클록 신호(CKt, CKc)를 시모스(CMOS) 형태의 내부 클록 신호(CK0)로 변환시킨다. 즉, 제 2 비교기(1220)는 컴먼모드-시모스(CML to CMOS: 이하, C2C) 변환기의 기능으로 클록 신호(CKt, CKc)를 수신할 것이다. 제 2 비교기(1220)에 의해서 CMOS 레벨로 변환된 내부 클록 신호(CK0)는 가변 지연 라인(1240)을 경유하여 제 1 플립플롭(1250)의 클록 입력단에 전달된다. 제 1 플립플롭(1250)에 의해서 커맨드/어드레스 신호(CA)는 가변 지연 라인(1240)으로부터 제공되는 내부 클록 신호(CK0)에 동기되어 샘플링된다. 샘플링된 커맨드/어드레스 신호(CA)는 제 1 커맨드 디코더(1260)나 어드레스 디코더(미도시) 등으로 전달된다. Clock signals (CKt, CKc) transmitted from the memory controller 1100 are received by the second comparator 1220. The second comparator 1220 converts the clock signals CKt and CKc delivered in the form of differential signals into an internal clock signal CK0 in the CMOS form. That is, the second comparator 1220 will receive the clock signals CKt and CKc as a function of a common mode-CMOS (CML to CMOS: C2C) converter. The internal clock signal CK0 converted to the CMOS level by the second comparator 1220 is transmitted to the clock input terminal of the first flip-flop 1250 via the variable delay line 1240. The command/address signal CA is sampled by the first flip-flop 1250 in synchronization with the internal clock signal CK0 provided from the variable delay line 1240. The sampled command/address signal (CA) is transmitted to the first command decoder 1260 or an address decoder (not shown).

제 2 비교기(1220)에서 출력된 내부 클록 신호(CK0)는 제 1 가변 지연 라인(1240)을 경유하여 제 1 플립플롭(1250)에 전달된다. 제 1 가변 지연 라인(1240)은 다양한 방식으로 지연 제어가 가능하다. 즉, 제 1 가변 지연 라인(1240)은 퓨즈 프로그램이나 모드 레지스터 셋(MRS)를 사용하여 설정될 수 있다. 랭크들 간의 커맨드/어드레스 신호(CA)의 스큐(Skew)는 제 1 가변 지연 라인(1240)의 설정을 통해서 보상될 수 있다. The internal clock signal CK0 output from the second comparator 1220 is transmitted to the first flip-flop 1250 via the first variable delay line 1240. The first variable delay line 1240 can be delayed controlled in various ways. That is, the first variable delay line 1240 can be set using a fuse program or mode register set (MRS). Skew of the command/address signal (CA) between ranks can be compensated for by setting the first variable delay line 1240.

제 2 랭크(Rank1)를 구성하는 제 2 메모리 장치(1300)도 실질적으로 제 1 메모리 장치(1200)와 동일한 구성을 포함한다. 즉, 제 2 메모리 장치(1300)는 제 3 비교기(1310), 제 4 비교기(1320), 제 2 지연 라인(1330), 제 2 가변 지연 라인(1340), 제 2 플립플롭(1350), 그리고 제 2 명령어 디코더(1360)를 포함할 수 있다. 따라서, 제 2 메모리 장치(1300)의 구성들의 기능에 대한 설명은 생략하기로 한다. The second memory device 1300 constituting the second rank (Rank1) also includes substantially the same configuration as the first memory device 1200. That is, the second memory device 1300 includes a third comparator 1310, a fourth comparator 1320, a second delay line 1330, a second variable delay line 1340, a second flip-flop 1350, and It may include a second instruction decoder 1360. Accordingly, description of the functions of the components of the second memory device 1300 will be omitted.

다만, 커맨드 버스 트레이닝(CBT)은 메모리 장치들(1200, 1300) 또는 랭크들(Rank0, Rank1) 각각에 대해 진행된다. 그리고 커맨드 버스 트레이닝(CBT)의 결과를 기반으로 랭크들 간의 커맨드/어드레스 신호(CA)의 스큐(Skew)를 조정하기 위해 가변 지연 라인(1240, 1340) 조정은 메모리 장치들(1200, 1300) 중 어느 하나에만 적용될 수 있다.However, command bus training (CBT) is performed for each of the memory devices 1200 and 1300 or ranks (Rank0 and Rank1). In order to adjust the skew of the command/address signal (CA) between ranks based on the results of command bus training (CBT), the variable delay lines 1240 and 1340 are adjusted among the memory devices 1200 and 1300. It can only be applied to one or the other.

본 발명의 메모리 시스템(1000)은 매치드형으로 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 수신하는 멀티-랭크 메모리 장치들(1200, 1300)을 포함한다. 그리고 이들 메모리 장치들(1200, 1300) 간에 존재하는 커맨드/어드레스 신호(CA)나 클록 신호(CKt, CKc)의 스큐는 어느 하나의 내부에 구비된 가변 지연 라인(1230 또는 1340)의 조정을 통해서 보상될 수 있다. 이러한 트레이닝을 통해서 매치드 방식의 멀티-랭크 각각은 최적의 클록 타이밍으로 커맨드/어드레스 신호(CA)를 수신할 수 있다. The memory system 1000 of the present invention includes multi-rank memory devices 1200 and 1300 that receive a command/address signal (CA) and a clock signal (CKt and CKc) in a matched manner. And the skew of the command/address signal (CA) or clock signal (CKt, CKc) that exists between these memory devices (1200, 1300) can be adjusted through adjustment of the variable delay line (1230 or 1340) provided inside one of them. can be compensated Through this training, each matched multi-rank can receive command/address signals (CA) with optimal clock timing.

도 3은 도 2의 메모리 컨트롤러의 간략한 구조를 보여주는 블록도이다. 도 3을 참조하면, 메모리 컨트롤러(1100)는 커맨드/어드레스 생성기(1110), 플립플롭(1120), 클록 생성기(1130), 클록 드라이버(1132, 1134), 그리고 타이밍 컨트롤러(1140)를 포함할 수 있다. 메모리 컨트롤러(1100)는 실질적으로 시스템 온 칩(SoC)이나 프로세서와 같은 데이터 연산 로직들을 더 포함할 수 있지만, 설명의 간략화를 위해 이것들에 대한 도시 및 설명은 생략하기로 한다. FIG. 3 is a block diagram showing a simplified structure of the memory controller of FIG. 2. Referring to FIG. 3, the memory controller 1100 may include a command/address generator 1110, a flip-flop 1120, a clock generator 1130, clock drivers 1132 and 1134, and a timing controller 1140. there is. The memory controller 1100 may further include data operation logic such as a system on a chip (SoC) or a processor, but illustration and description of these will be omitted for simplicity of explanation.

커맨드/어드레스 생성기(1110)는 메모리 장치들(1200, 1300)에 데이터를 쓰거나, 메모리 장치들(1200, 1300)에 저장된 데이터를 읽어내기 위한 커맨드 및 어드레스를 생성한다. 예를 들면, 커맨드/어드레스 생성기(1110)는 메모리 장치(1200)에 접근하기 위한 읽기 커맨드나 쓰기 커맨드를 생성할 수 있다. 그리고 커맨드/어드레스 생성기(1110)는 읽기 또는 쓰기를 위한 어드레스도 생성할 것이다. The command/address generator 1110 generates commands and addresses for writing data to the memory devices 1200 and 1300 or reading data stored in the memory devices 1200 and 1300. For example, the command/address generator 1110 may generate a read command or a write command to access the memory device 1200. And the command/address generator 1110 will also generate addresses for reading or writing.

플립플롭(1120)은 타이밍 컨트롤러(1140)로부터 제공되는 클록 신호(CLK)에 동기하여 커맨드/어드레스 신호(CA)를 캡쳐하고 출력한다. 예를 들면, 플립플롭(1120)에 의해서 4-비트 폭의 커맨드/어드레스 신호(CA[6:3])가 출력될 수 있다. The flip-flop 1120 captures and outputs the command/address signal (CA) in synchronization with the clock signal (CLK) provided from the timing controller 1140. For example, a 4-bit wide command/address signal (CA[6:3]) may be output by the flip-flop 1120.

클록 생성기(1130)는 지정된 주파수의 클록 신호(CKt, CKc)를 생성한다. 클록 생성기(1130)는 발진 회로에서 생성되는 기준 클록을 이용하여 커맨드/어드레스 신호(CA)의 전송을 위한 클록 신호(CKt, CKc)를 생성할 수 있다. 더불어, 클록 생성기(1130)는 데이터 신호(DQ)를 송신 또는 수신하기 위한 클록 신호(WCKt, WCKc)를 생성할 수도 있다. 클록 생성기(1130)는 위상 고정 루프(Phase Locked Loop: PLL) 회로나 지연 고정 루프(Delay Locked Loop: DLL) 회로로 구현될 수 있으나, 이에 한정되는 것은 아니다. 클록 생성기(1130)에서 클록 신호(CKt, CKc)는 클록 드라이버(1132, 1134)를 통해서 메모리 장치들(1200, 1300)에 공통으로 전달될 것이다.The clock generator 1130 generates clock signals (CKt, CKc) of designated frequencies. The clock generator 1130 may generate clock signals CKt and CKc for transmission of the command/address signal CA using the reference clock generated in the oscillator circuit. In addition, the clock generator 1130 may generate clock signals (WCKt and WCKc) for transmitting or receiving the data signal (DQ). The clock generator 1130 may be implemented as a phase locked loop (PLL) circuit or a delay locked loop (DLL) circuit, but is not limited thereto. Clock signals CKt and CKc from the clock generator 1130 will be commonly transmitted to the memory devices 1200 and 1300 through the clock drivers 1132 and 1134.

타이밍 컨트롤러(1140)는 클록 생성기(1130)에서 생성된 클록 신호(CKt, CKc)와 커맨드/어드레스 신호(CA)를 동기시킨다. 타이밍 컨트롤러(1140)에 의해서 클록 신호(CKt, CKc)는 커맨드/어드레스 신호(CA)를 캡쳐할 타이밍을 조정할 수 있다. 즉, 타이밍 컨트롤러(1140)에 의해서 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)의 송신측 정렬(Align)이 이루어질 수 있다. The timing controller 1140 synchronizes the clock signals CKt and CKc generated by the clock generator 1130 and the command/address signal CA. The timing controller 1140 can adjust the timing of the clock signals CKt and CKc to capture the command/address signal CA. That is, the command/address signal (CA) and the clock signal (CKt, CKc) can be aligned on the transmission side by the timing controller 1140.

이상의 멀티-랭크를 구성하는 메모리 장치들(1200, 1300)에 공통 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 전송하는 메모리 컨트롤러(1100)의 구성이 간략히 설명되었다. 메모리 컨트롤러(1100)의 입장에서는, 커맨드/어드레스 신호(CA)의 랭크간 스큐(Skew)를 보상하기 위해 클록 신호(CKt, CKc)를 랭크별로 분리하기에는 부담이 크다. 따라서, 본 발명의 매치드형 메모리 장치들(1200, 1300)에 대한 커맨드 버스 트레이닝(CBT)을 사용하면 메모리 컨트롤러(1100)의 부담없이 커맨드/어드레스 신호(CA)의 신호 무결성(SI)을 높일 수 있다. The configuration of the memory controller 1100, which transmits a common command/address signal (CA) and clock signals (CKt, CKc) to the memory devices 1200 and 1300 forming the multi-rank above, has been briefly described. From the perspective of the memory controller 1100, it is a burden to separate the clock signals CKt and CKc by rank to compensate for the inter-rank skew of the command/address signal CA. Therefore, by using command bus training (CBT) for the matched memory devices 1200 and 1300 of the present invention, the signal integrity (SI) of the command/address signal (CA) can be increased without burdening the memory controller 1100. there is.

도 4는 도 2의 메모리 장치의 구성을 예시적으로 보여주는 블록도이다. 도 4를 참조하면, 듀얼-랭크를 구성하는 메모리 장치들 중에서 제 1 랭크(Rank0)에 대응하는 제 1 메모리 장치(1200)의 구성을 예시로 본 발명의 이점이 설명될 것이다. 제 1 메모리 장치(1200)는 비교기들(1210, 1220), 제 1 지연 라인(1230), 제 1 가변 지연 라인(1240), 제 1 플립플롭(1250), 제 1 커맨드 디코더(1260), 제 1 어드레스 디코더(1265), 제 1 셀 어레이(1270), 센스 앰프(1272), 데이터 버퍼(1274), 모드 레지스터 셋(1280), 그리고 지연 제어 로직(1290)을 포함할 수 있다.FIG. 4 is a block diagram exemplarily showing the configuration of the memory device of FIG. 2. Referring to FIG. 4, the advantages of the present invention will be explained by taking as an example the configuration of the first memory device 1200 corresponding to the first rank (Rank0) among memory devices constituting dual-rank. The first memory device 1200 includes comparators 1210 and 1220, a first delay line 1230, a first variable delay line 1240, a first flip-flop 1250, a first command decoder 1260, and a first command decoder 1260. 1 It may include an address decoder 1265, a first cell array 1270, a sense amplifier 1272, a data buffer 1274, a mode register set 1280, and a delay control logic 1290.

제 1 비교기(1210)는 메모리 컨트롤러(1100)로부터 전송되는 커맨드/어드레스 신호(CA)를 수신한다. 제 1 비교기(1210)는 커맨드/어드레스 신호(CA)와 기준 전압(VREF)을 비교하여 신호 레벨을 결정한다. 결정된 신호 레벨은 샘플링된 커맨드/어드레스 신호(CA)로서 제 1 지연 라인(1230)으로 전달된다.The first comparator 1210 receives the command/address signal (CA) transmitted from the memory controller 1100. The first comparator 1210 determines the signal level by comparing the command/address signal (CA) and the reference voltage (VREF). The determined signal level is transmitted to the first delay line 1230 as a sampled command/address signal (CA).

제 2 비교기(1220)는 차동 신호 형태로 전달되는 클록 신호(CKt, CKc)를 수신한다. 메모리 컨트롤러(1100)로부터 전송되는 클록 신호(CKt, CKc)는 제 2 비교기(1220)에 의해서 시모스(CMOS) 형태의 내부 클록 신호(CK0)로 변환될 수 있다. 즉, 제 2 비교기(1220)는 컴먼모드-시모스(C2C) 변환기의 기능을 사용하여 클록 신호(CKt, CKc)를 수신한다. 제 2 비교기(1220)에 의해서 샘플링되어 CMOS 레벨로 변환된 내부 클록 신호(CK0)는 제 1 가변 지연 라인(1240)에 전달된다.The second comparator 1220 receives clock signals CKt and CKc delivered in the form of differential signals. The clock signals CKt and CKc transmitted from the memory controller 1100 may be converted into an internal clock signal CK0 in CMOS format by the second comparator 1220. That is, the second comparator 1220 receives the clock signals (CKt, CKc) using the function of a common mode-CMOS (C2C) converter. The internal clock signal CK0 sampled by the second comparator 1220 and converted to a CMOS level is transmitted to the first variable delay line 1240.

제 1 지연 라인(1230)과 제 1 가변 지연 라인(1240)은 각각 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)의 정합(Match)된 지연을 제공한다. 즉, 제 1 지연 라인(1230)과 제 1 가변 지연 라인(1240)은 최적의 정합된 지연값으로 고정되어 생산될 것이다. 하지만, 멀티-랭크를 구성하기 위해 사용되는 와이어 결선이나 인쇄회로기판(PCB)의 도전 라인들에 의해서 지연 특성의 변화가 발생할 수 있다. 본 발명의 제 1 가변 지연 라인(1240)은 지연의 크기를 제어 가능하도록 가변 지연 라인(Variable Delay line)으로 구성될 것이다. The first delay line 1230 and the first variable delay line 1240 provide matched delays of the command/address signal (CA) and the clock signals (CKt and CKc), respectively. That is, the first delay line 1230 and the first variable delay line 1240 will be produced with a fixed optimally matched delay value. However, changes in delay characteristics may occur depending on the wire connections used to configure the multi-rank or the conductive lines of the printed circuit board (PCB). The first variable delay line 1240 of the present invention will be configured as a variable delay line to control the size of the delay.

제 1 플립플롭(1250)은 제 1 가변 지연 라인(1240)을 경유하여 전달되는 내부 클록 신호(CK0)의 에지에 응답하여 입력단(D)의 데이터를 래치하고 출력단(Q)으로 전달한다. 제 1 플립플롭(1250)의 입력단(D)에는 제 1 지연 라인(1230)을 경유하여 전달되는 커맨드/어드레스 신호(CA)가 제공된다. 제 1 플립플롭(1250)에서 샘플링된 커맨드/어드레스 신호(CA)는 커맨드 디코더(1260) 또는 어드레스 디코더(1265)에 전달된다. The first flip-flop 1250 latches data at the input terminal (D) in response to an edge of the internal clock signal (CK0) transmitted via the first variable delay line 1240 and transfers it to the output terminal (Q). A command/address signal (CA) transmitted via the first delay line 1230 is provided to the input terminal (D) of the first flip-flop (1250). The command/address signal (CA) sampled from the first flip-flop 1250 is transmitted to the command decoder 1260 or the address decoder 1265.

커맨드 디코더(1260)는 샘플링된 커맨드/어드레스 신호(CA)를 참조하여 입력되는 명령어를 판단한다. 커맨드 디코더(1260)는 외부로부터 제공되는 커맨드에 응답하여 데이터를 셀 어레이(1270)에 기입하기 위한 제어 동작이나, 셀 어레이(1270)에 기입된 데이터를 독출하기 위한 제어 동작을 실행할 수 있다. 또한, 커맨드 디코더(1260)는 외부에서 제공되는 커맨드와 어드레스에 따라 모드 레지스터 셋(1280)에 데이터를 기입할 수 있다. 동일한 방식으로 어드레스 디코더(1265)에도 커맨드/어드레스 신호(CA)를 통해서 제공되는 어드레스 및 기타 제어 신호들이 전달될 수 있다. 그러면, 어드레스 디코더(1265)는 디코딩 동작을 통해서 어드레스 및 정보 신호를 추출하여 필요한 구성들로 전달할 것이다.The command decoder 1260 determines the input command by referring to the sampled command/address signal (CA). The command decoder 1260 may execute a control operation to write data into the cell array 1270 or a control operation to read data written into the cell array 1270 in response to a command provided from the outside. Additionally, the command decoder 1260 can write data to the mode register set 1280 according to commands and addresses provided from the outside. In the same way, address and other control signals provided through the command/address signal (CA) may be transmitted to the address decoder 1265. Then, the address decoder 1265 extracts the address and information signals through a decoding operation and delivers them to necessary components.

셀 어레이(1270)에는 데이터 버스(DQ)를 통해서 전달되는 쓰기 데이터가 저장된다. 셀 어레이(1270)에 저장된 데이터는 센스 앰프(1272)를 통해 감지되고 데이터 버퍼(1274)를 통해 외부로 출력될 수 있다. Write data transmitted through the data bus (DQ) is stored in the cell array 1270. Data stored in the cell array 1270 may be sensed through the sense amplifier 1272 and output to the outside through the data buffer 1274.

모드 레지스터 셋(1280)은 메모리 장치(1200)의 동작 모드를 지정하기 위한 MRS 커맨드와 어드레스에 응답하여 내부의 모드 레지스터(Mode register)를 설정한다. 특히, 본 발명의 모드 레지스터 셋(1280)은 커맨드 버스 트레이닝(CBT)을 위한 커맨드가 기입되고 실행될 수 있다. 그리고 커맨드 버스 트레이닝(CBT) 이후에 메모리 컨트롤러(1100)로부터 제공되는 요청에 따라 모드 레지스터 셋(1280)은 가변 지연 라인으로 구성되는 제 1 가변 지연 라인(1240)의 지연 크기를 조정할 수 있다. 이를 위해, 모드 레지스터 셋(1280)은 지연 제어 로직(1290)을 제어할 수 있다.The mode register set 1280 sets an internal mode register in response to the MRS command and address for specifying the operation mode of the memory device 1200. In particular, the mode register set 1280 of the present invention allows commands for command bus training (CBT) to be written and executed. And, according to a request provided from the memory controller 1100 after command bus training (CBT), the mode register set 1280 can adjust the delay size of the first variable delay line 1240 composed of variable delay lines. To this end, the mode register set 1280 can control the delay control logic 1290.

지연 제어 로직(1290)은 모드 레지스터 셋(1280)을 통해서 제공되는 정보에 따라 제 1 가변 지연 라인(1240)의 지연을 증가시키거나 감소시킬 수 있다. 예를 들면, 지연 제어 로직(1290)은 모드 레지스터 셋(1280)의 제어에 따라 제 1 가변 지연 라인(1240)에서의 지연 크기를 선택할 수 있다. 지연 제어 로직(1290)의 구현은 다양하게 제공될 수 있다. 즉, 지연 제어 로직(1290)은 퓨즈 옵션이나 제어 로직으로 구현될 수 있다.The delay control logic 1290 may increase or decrease the delay of the first variable delay line 1240 according to information provided through the mode register set 1280. For example, the delay control logic 1290 may select the delay size in the first variable delay line 1240 according to the control of the mode register set 1280. Implementations of delay control logic 1290 may be provided in various ways. That is, the delay control logic 1290 may be implemented as a fuse option or control logic.

이상에서 설명된 제 1 메모리 장치(1200)에 따르면, 수신된 클록 신호(CKt, CKc)로부터 생성된 내부 클록(CK0)의 지연을 조정할 수 있다. 커맨드 버스 트레이닝(CBT)을 통해서 랭크들 간의 커맨드/어드레스 신호(CA)의 스큐가 검출될 수 있다. 이때, 메모리 컨트롤러(1100)는 어느 하나의 메모리 장치의 내부 클록(CK0)의 지연을 조정함으로써 멀티-랭크로 구성되는 메모리 모듈(1500, 도 1 참조)의 커맨드/어드레스 신호(CA)의 신호 무결성(SI)을 확보할 수 있다.According to the first memory device 1200 described above, the delay of the internal clock CK0 generated from the received clock signals CKt and CKc can be adjusted. Through command bus training (CBT), skew of command/address signals (CA) between ranks can be detected. At this time, the memory controller 1100 maintains the signal integrity of the command/address signal (CA) of the multi-rank memory module (1500 (see FIG. 1)) by adjusting the delay of the internal clock (CK0) of one memory device. (SI) can be secured.

도 5는 도 4의 클록 지연 라인의 예시적인 구조를 간략히 보여주는 회로도이다. 도 5를 참조하면, 제 1 가변 지연 라인(1240)은 복수의 인버터들(INV1~INVn)을 지연 요소로 사용한다. 즉, 제 1 가변 지연 라인(1240)은 복수의 인버터들(INV1~INVn) 각각의 출력(Out_1~Out_n)들 중 어느 하나를 내부 클록(CK0)의 지연된 출력(CK0_j)으로 사용할 수 있다. 이때, 스위치 제어 신호(예를 들면, SWn)에 의해 선택된 출력이 조정된 지연 출력(CK0_j) 값으로 결정된다. 즉, 복수의 출력(CK0_1~CK0_n)들 중 선택된 어느 하나(예를 들면, CK0_3)가 커맨드/어드레스 신호(CA)를 캡쳐하기 위한 클록 신호로 사용될 수 있다. 복수의 출력(CK0_1~CK0_n)들 중 선택되는 어느 하나는 선택되는 스위치(SW1~SWn)에 의해서 제 1 플립플롭(1250)에 전달될 수 있다.FIG. 5 is a circuit diagram briefly showing an example structure of the clock delay line of FIG. 4. Referring to FIG. 5, the first variable delay line 1240 uses a plurality of inverters (INV1 to INVn) as delay elements. That is, the first variable delay line 1240 may use one of the outputs (Out_1 to Out_n) of each of the plurality of inverters (INV1 to INVn) as the delayed output (CK0_j) of the internal clock (CK0). At this time, the output selected by the switch control signal (eg, SWn) is determined as the adjusted delay output (CK0_j) value. That is, one (eg, CK0_3) selected among the plurality of outputs (CK0_1 to CK0_n) can be used as a clock signal for capturing the command/address signal (CA). One selected among the plurality of outputs (CK0_1 to CK0_n) may be transmitted to the first flip-flop 1250 by the selected switch (SW1 to SWn).

이상에서는 제 1 가변 지연 라인(1240)을 인버터들과 스위치들을 사용하는 구성이 간략히 설명되었으나 본 발명은 여기에 한정되지 않는다. 예를 들면, 제 1 가변 지연 라인(1240)은 복수의 플립플롭들(FF1~FFn)을 지연 요소로 사용할 수도 있다. 더불어, 멀티-랭크를 구성하는 제 2 메모리 장치(1300)에 포함되는 제 2 가변 지연 라인(1340)도 실질적으로 제 1 가변 지연 라인(1240)과 동일하게 구성될 수 있다.In the above, a configuration using inverters and switches for the first variable delay line 1240 has been briefly described, but the present invention is not limited thereto. For example, the first variable delay line 1240 may use a plurality of flip-flops FF1 to FFn as delay elements. In addition, the second variable delay line 1340 included in the second memory device 1300 that configures the multi-rank may be configured substantially the same as the first variable delay line 1240.

도 6은 본 발명의 실시 예에 따른 커맨드 버스 트레이닝(CBT) 방법을 예시적으로 보여주는 타이밍도이다. 도 6을 참조하면, 커맨드 버스 트레이닝(CBT)시, 메모리 컨트롤러(1100)와 메모리 장치(1200 또는 1300) 사이에서 교환되는 신호들의 파형이 예시적으로 도시되어 있다. 이하에서는 메모리 컨트롤러(1100)와 메모리 장치(1200) 사이에서 교환되는 신호들의 파형을 예시로 커맨드 버스 트레이닝(CBT)이 설명될 것이다.Figure 6 is a timing diagram illustrating a command bus training (CBT) method according to an embodiment of the present invention. Referring to FIG. 6, the waveforms of signals exchanged between the memory controller 1100 and the memory device 1200 or 1300 during command bus training (CBT) are exemplarily shown. Hereinafter, command bus training (CBT) will be explained using the waveforms of signals exchanged between the memory controller 1100 and the memory device 1200 as an example.

칩 선택 신호(CS)가 하이 레벨로 천이되면서 제 1 메모리 장치(1200)가 선택된다. 그리고 커맨드/어드레스 신호(CA)를 전달하기 위한 클록 신호(CKt, CKc)가 토글링되기 시작한다. 그러면, T0 시점 이전부터 활성화된 칩 선택 신호(CS)와 커맨드/어드레스 버스를 통해서 전송되는 커맨드/어드레스 신호(CA[6:0])가 모드 레지스터 셋팅 커맨드(MRW)임을 나타낼 수 있다. 그러면, 제 1 메모리 장치(1200)는 클록 신호(CKt, CKc)의 상승 또는 하강 에지에 동기된 모드 레지스터 셋팅 커맨드(MRW)를 수신한다. 제 1 메모리 장치(1200)는 수신된 커맨드 버스 트레이닝(CBT) 모드를 모드 레지스터 셋(1280)에 설정할 수 있다.As the chip select signal CS transitions to a high level, the first memory device 1200 is selected. And the clock signals (CKt, CKc) for transmitting the command/address signal (CA) begin to toggle. Then, it can be indicated that the chip select signal (CS) activated before T0 and the command/address signal (CA[6:0]) transmitted through the command/address bus are the mode register setting command (MRW). Then, the first memory device 1200 receives the mode register setting command MRW synchronized to the rising or falling edge of the clock signals CKt and CKc. The first memory device 1200 may set the received command bus training (CBT) mode in the mode register set 1280.

Ta1 시점에서, 데이터 클록 신호(WCKt, WCKc)의 토글링이 시작된다. 그리고 Tb1 시점에서 데이터 클록 신호(WCKt)의 상승 에지에 동기하여 데이터 신호(DQ[7])가 로직 하이(High)로 천이한다. 그러면, 메모리 장치(1200)는 커맨드 버스 트레이닝(CBT) 모드로 진입할 수 있다. At point Ta1, toggling of data clock signals (WCKt, WCKc) begins. And at time Tb1, the data signal (DQ[7]) transitions to logic high in synchronization with the rising edge of the data clock signal (WCKt). Then, the memory device 1200 can enter the command bus training (CBT) mode.

여기서, 데이터 신호(DQ[7])는 커맨드 버스 트레이닝(CBT) 모드에서 데이터 신호 (DQ[7:0]) 중 커맨드/어드레스 신호(CA[6:0])와의 일대일 매칭 관계에서 배제되는 신호이다. 커맨드 버스 트레이닝(CBT) 모드 시, 커맨드/어드레스 신호(CA[6:0]) 각각은 데이터 신호(DQ[6:0]) 각각에 대응되어 커맨드 버스 트레이닝(CBT) 신호로서 출력된다. 하지만, 데이터 신호(DQ[7])는 커맨드 버스 트레이닝(CBT) 신호로서 출력되는 데 사용되지 않는다. 즉, 커맨드 버스 트레이닝(CBT) 모드의 출력 신호에 사용되지 않는 데이터 신호(DQ[7]) 커맨드 버스 트레이닝(CBT) 모드 진입을 지시하는 신호로 이용될 수 있다.Here, the data signal (DQ[7]) is a signal excluded from the one-to-one matching relationship with the command/address signal (CA[6:0]) among the data signals (DQ[7:0]) in command bus training (CBT) mode. am. In the command bus training (CBT) mode, each command/address signal (CA[6:0]) corresponds to each data signal (DQ[6:0]) and is output as a command bus training (CBT) signal. However, the data signal (DQ[7]) is not used to be output as a command bus training (CBT) signal. In other words, a data signal (DQ[7]) that is not used in the output signal of the command bus training (CBT) mode can be used as a signal to indicate entry into the command bus training (CBT) mode.

Te2 시점에서, 칩 선택 신호(CS)가 로직 하이로 천이한다. 그러면, 메모리 컨트롤러(1100)는 제 1 메모리 장치(1200)의 커맨드/어드레스 신호(CA)의 단위 구간(Unit Interval: 이하, UI)의 마진을 체크하기 위한 트레이닝 패턴(PTN_A)을 입력한다. 이때, 클록 신호(CKt, CKc)에 동기하여 트레이닝 패턴(PTN_A)이 입력된다.At point Te2, the chip select signal (CS) transitions to logic high. Then, the memory controller 1100 inputs a training pattern (PTN_A) to check the margin of the unit interval (hereinafter, UI) of the command/address signal (CA) of the first memory device 1200. At this time, the training pattern (PTN_A) is input in synchronization with the clock signals (CKt, CKc).

Tf0 시점에서, 입력된 트레이닝 패턴(PTN_A)과 클록 신호(CKt, CKc)의 정렬 특성에 따른 데이터 신호(DQ[6:0])가 출력된다. 이때, 입력되는 트레이닝 패턴(PTN_A)과 클록 신호(CKt, CKc)의 정렬 정도에 따라 데이터 신호(DQ[6:0])의 패스 또는 페일 여부가 결정된다. 메모리 컨트롤러(1100)는 데이터 신호(DQ[6:0])로 출력되는 트레이닝 패턴(PTN_A)과 입력 트레이닝 패턴의 비트값을 비교하여 패스(Pass) 또는 페일(Fail)을 판단한다. 메모리 컨트롤러(1100)는 트레이닝 패턴(PTN_A)의 입력 비트값과 출력 비트값을 비교하여 동일한 경우는 패스(Pass)로 판단할 것이다. 반면, 메모리 컨트롤러(1100)는 트레이닝 패턴(PTN_A)의 입력 비트값과 출력 비트값이 다른 경우에는 페일(Fail)로 판단할 것이다.At time Tf0, a data signal (DQ[6:0]) according to the alignment characteristics of the input training pattern (PTN_A) and clock signals (CKt, CKc) is output. At this time, whether the data signal (DQ[6:0]) passes or fails is determined depending on the degree of alignment of the input training pattern (PTN_A) and the clock signals (CKt, CKc). The memory controller 1100 determines Pass or Fail by comparing the bit value of the training pattern (PTN_A) output as the data signal (DQ[6:0]) and the input training pattern. The memory controller 1100 compares the input bit value and the output bit value of the training pattern (PTN_A) and, if they are the same, determines it as a pass. On the other hand, the memory controller 1100 will determine it as a fail if the input bit value and output bit value of the training pattern (PTN_A) are different.

커맨드 버스 트레이닝(CBT)을 위해 상술한 트레이닝 패턴(PTN_A)의 입력과 출력은 트레이닝 패턴(PTN_A)의 타이밍을 가변하면서 복수회 실시될 수 있다. 다른 실시 예에서, 커맨드 버스 트레이닝(CBT)을 위한 트레이닝 패턴(PTN_A)의 입력과 출력은 클록 신호(CKt, CKc)의 지연을 가변하면서 복수회 실시될 수도 있다. 제 1 메모리 장치(1200)에 대한 커맨드 버스 트레이닝(CBT)이 완료되면, 메모리 컨트롤러(1100)는 제 2 메모리 장치(1300)에 대한 타이밍도에서 설명된 절차에 따라 커맨드 버스 트레이닝(CBT)을 이어갈 것이다.For command bus training (CBT), the input and output of the training pattern (PTN_A) described above may be performed multiple times while varying the timing of the training pattern (PTN_A). In another embodiment, the input and output of the training pattern (PTN_A) for command bus training (CBT) may be performed multiple times while varying the delays of the clock signals (CKt and CKc). When command bus training (CBT) for the first memory device 1200 is completed, the memory controller 1100 continues command bus training (CBT) according to the procedure described in the timing diagram for the second memory device 1300. will be.

도 7은 본 발명의 멀티-랭크 메모리에 대한 커맨드 버스 트레이닝(CBT)의 결과를 보여주는 도면이다. 도 7을 참조하면, 각 랭크별 커맨드 버스 트레이닝(CBT)의 결과에 따라 출력되는 트레이닝 패턴(PTN_A)의 칩 선택 신호(CS)에 대한 상대적인 위치 또는 마진이 도시되어 있다. 여기서, 제 1 메모리 장치(1200)는 제 1 랭크(Rank0)를 구성하고, 제 2 메모리 장치(1300)는 제 2 랭크(Rank1)를 구성하므로, 메모리 장치들(1200, 1300)과 랭크(Rank0, Rank1)가 혼용되어 사용될 수 있다. 즉, 제 1 랭크(Rank0)는 제 1 메모리 장치(1200)를, 제 2 랭크(Rank1)는 제 2 메모리 장치(1300)를 지칭할 수 있다.Figure 7 is a diagram showing the results of command bus training (CBT) for the multi-rank memory of the present invention. Referring to FIG. 7, the relative position or margin of the training pattern (PTN_A) output according to the results of command bus training (CBT) for each rank with respect to the chip select signal (CS) is shown. Here, the first memory device 1200 constitutes the first rank (Rank0), and the second memory device 1300 constitutes the second rank (Rank1), so the memory devices 1200 and 1300 and the rank (Rank0) , Rank1) can be used interchangeably. That is, the first rank (Rank0) may refer to the first memory device 1200, and the second rank (Rank1) may refer to the second memory device 1300.

먼저, 제 1 랭크(Rank0)에 대한 커맨드 버스 트레이닝(CBT)의 결과가 테이블의 첫 번째 열에 도시되어 있다. 제 1 랭크(Rank0)의 커맨드/어드레스 신호(CA)의 특성은 내부 클록 신호(CK0)와 잘 정렬되어 있다. 따라서, 제 1 랭크(Rank0)에서 CA 스윕(CA Sweep) 결과로 출력되는 패스 트레이닝 패턴(PTN_A)은 칩 선택 신호(CS)의 중심을 기준으로 균형있게 분포한다. 여기서, CA 스윕(CA Sweep)은 커맨드 버스의 최적 입력 타이밍을 결정하기 위한 트레이닝 동작을 의미한다. 즉, CA 스윕을 위해 메모리 컨트롤러(1100, 도 1 참조)는 커맨드 버스에 입력되는 트레이닝 패턴(PTN_A)의 입력 타이밍을 복수 회 가변하면서 입력하고 출력받을 수 있다. 즉, 도 7의 트레이닝 패턴(PTN_A) 입력 및 출력 절차를 서로 다른 입력 타이밍을 적용하여 복수 회 실행할 수 있다. 그리고, 메모리 컨트롤러(1100)는 출력되는 각 입력 타이밍에 대응하는 트레이닝 패턴(PTN_A)들의 오류(Error)의 존재 여부에 따라 패스(Pass) 또는 페일(Fail)을 판단한다. 트레이닝 패턴(PTN_A)들의 입력 타이밍은 하나의 입력 사이클(1tCK) 내에서 상이한 크기의 지연으로 구현된다.First, the results of command bus training (CBT) for the first rank (Rank0) are shown in the first column of the table. The characteristics of the command/address signal (CA) of the first rank (Rank0) are well aligned with the internal clock signal (CK0). Accordingly, the pass training pattern (PTN_A) output as a result of the CA sweep in the first rank (Rank0) is distributed in a balanced manner based on the center of the chip selection signal (CS). Here, CA Sweep refers to a training operation to determine the optimal input timing of the command bus. That is, for CA sweep, the memory controller 1100 (see FIG. 1) can input and output the training pattern PTN_A input to the command bus by varying the input timing multiple times. That is, the training pattern (PTN_A) input and output procedures of FIG. 7 can be executed multiple times by applying different input timings. In addition, the memory controller 1100 determines Pass or Fail according to the presence or absence of errors in the training patterns (PTN_A) corresponding to each output input timing. The input timing of the training patterns (PTN_A) is implemented with delays of different sizes within one input cycle (1tCK).

반면에, 제 2 랭크(Rank1)에 대한 커맨드 버스 트레이닝(CBT)의 결과는 테이블의 두 번째 열에 도시되어 있다. 제 2 랭크(Rank1)의 커맨드/어드레스 신호(CA)의 특성은 내부 클록 신호(CK0)와 스큐를 갖는다. 따라서, CA 스윕 결과로 출력되는 패스 트레이닝 패턴(PTN_A)은 칩 선택 신호(CS)의 중심을 기준으로 치우쳐진 형태로 분포한다. 즉, 제 1 랭크(Rank0)와 제 2 랭크(Rank1)의 CA 마진을 높이기 위해서는 제 2 랭크(Rank1)의 내부 클록 신호(CK0)의 지연이 필요하다. On the other hand, the results of Command Bus Training (CBT) for the second rank (Rank1) are shown in the second column of the table. The characteristics of the command/address signal (CA) of the second rank (Rank1) have skew with the internal clock signal (CK0). Accordingly, the pass training pattern (PTN_A) output as a result of the CA sweep is distributed in a skewed form based on the center of the chip selection signal (CS). That is, in order to increase the CA margin of the first rank (Rank0) and the second rank (Rank1), the internal clock signal (CK0) of the second rank (Rank1) is required to be delayed.

커맨드 버스 트레이닝(CBT)의 결과를 고려하면, 제 2 랭크(Rank1)의 내부 클록 신호(CK0)를 지연시킬 필요가 있다. 이를 위하여 메모리 컨트롤러(1100)는 제 2 메모리 장치(1300)의 제 2 가변 지연 라인(1340)을 설정하여 특정 크기로 지연을 증가(+Delay)시킬 수 있다. 제 2 가변 지연 라인(1340)을 통한 내부 클록 신호의 지연 증가(+Delay)에 따라 제 2 랭크(Rank1)의 커맨드/어드레스 신호(CA)의 마진은 증가될 수 있다.Considering the results of command bus training (CBT), it is necessary to delay the internal clock signal (CK0) of the second rank (Rank1). To this end, the memory controller 1100 may set the second variable delay line 1340 of the second memory device 1300 to increase the delay (+Delay) to a specific amount. As the delay (+Delay) of the internal clock signal through the second variable delay line 1340 increases, the margin of the command/address signal (CA) of the second rank (Rank1) may increase.

도 8은 본 발명의 실시 예에 따른 커맨드 버스 트레이닝(CBT) 방법을 간략히 보여주는 순서도이다. 도 8을 참조하면, 각 랭크별 커맨드 버스 트레이닝(CBT)을 통한 커맨드/어드레스 신호(CA)의 스윕(Sweep)을 수행하고, 그 결과를 이용하여 어느 하나의 랭크의 가변 지연 라인을 조정할 수 있다.Figure 8 is a flowchart briefly showing a command bus training (CBT) method according to an embodiment of the present invention. Referring to FIG. 8, a sweep of the command/address signal (CA) is performed through command bus training (CBT) for each rank, and the variable delay line of one rank can be adjusted using the result. .

S110 단계에서, 메모리 컨트롤러(1100)는 제 1 랭크(Rank0)에 대한 커맨드 버스 트레이닝(CBT)을 수행한다. 즉, 메모리 컨트롤러(1100)는 트레이닝 패턴(PTN_A)의 입력 타이밍을 변화시켜 커맨드/어드레스 신호(CA)의 스윕을 수행한다. 다른 실시 예에서, 트레이닝 패턴(PTN_A)의 입력 타이밍은 고정되고 클록 신호(CKt, CKc)의 타이밍을 변화시키면서 커맨드/어드레스 신호(CA)의 스윕을 수행할 수도 있을 것이다. In step S110, the memory controller 1100 performs command bus training (CBT) for the first rank (Rank0). That is, the memory controller 1100 performs a sweep of the command/address signal (CA) by changing the input timing of the training pattern (PTN_A). In another embodiment, the input timing of the training pattern PTN_A may be fixed and a sweep of the command/address signal CA may be performed while changing the timing of the clock signals CKt and CKc.

S120 단계에서, 메모리 컨트롤러(1100)는 제 1 랭크(Rank0)에 대한 커맨드/어드레스 신호(CA)의 마진을 체크한다. 즉, 메모리 컨트롤러(1100)는 입력된 트레이닝 패턴(PTN_A)과 출력된 트레이닝 패턴(PTN_A)을 비교하여 커맨드/어드레스 신호(CA)의 마진을 확인할 수 있다. In step S120, the memory controller 1100 checks the margin of the command/address signal (CA) for the first rank (Rank0). That is, the memory controller 1100 can check the margin of the command/address signal (CA) by comparing the input training pattern (PTN_A) and the output training pattern (PTN_A).

S130 단계에서, 메모리 컨트롤러(1100)는 제 2 랭크(Rank1)에 대한 커맨드 버스 트레이닝(CBT)을 수행한다. 즉, 메모리 컨트롤러(1100)는 트레이닝 패턴(PTN_A)의 입력 타이밍을 가변하면서 커맨드/어드레스 신호(CA)의 스윕을 수행한다. 또는, 트레이닝 패턴(PTN_A)의 입력 타이밍은 고정되고 클록 신호(CKt, CKc)의 타이밍을 변화시키면서 커맨드/어드레스 신호(CA)의 스윕을 수행할 수도 있다. In step S130, the memory controller 1100 performs command bus training (CBT) for the second rank (Rank1). That is, the memory controller 1100 performs a sweep of the command/address signal (CA) while varying the input timing of the training pattern (PTN_A). Alternatively, the input timing of the training pattern (PTN_A) may be fixed and a sweep of the command/address signal (CA) may be performed while changing the timing of the clock signals (CKt and CKc).

S140 단계에서, 메모리 컨트롤러(1100)는 제 2 랭크(Rank1)에 대한 커맨드/어드레스 신호(CA)의 마진을 체크한다. 즉, 메모리 컨트롤러(1100)는 제 2 랭크(Rank1)에 입력된 트레이닝 패턴(PTN_A)과 출력된 트레이닝 패턴(PTN_A)을 비교하여 커맨드/어드레스 신호(CA)의 마진을 확인할 수 있다. In step S140, the memory controller 1100 checks the margin of the command/address signal (CA) for the second rank (Rank1). That is, the memory controller 1100 can check the margin of the command/address signal CA by comparing the training pattern PTN_A input to the second rank Rank1 with the training pattern PTN_A output.

S150 단계에서, 메모리 컨트롤러(1100)는 제 1 랭크(Rank0)의 커맨드/어드레스 신호(CA) 마진과 제 2 랭크(Rank1)의 커맨드/어드레스 신호(CA) 마진을 비교한다. 그리고 메모리 컨트롤러(1100)는 비교 결과에 따라 제 1 랭크(Rank0)와 제 2 랭크(Rank1) 중 적어도 하나의 클록 지연 라인(1240)을 조정한다. In step S150, the memory controller 1100 compares the command/address signal (CA) margin of the first rank (Rank0) with the command/address signal (CA) margin of the second rank (Rank1). And the memory controller 1100 adjusts at least one clock delay line 1240 of the first rank (Rank0) and the second rank (Rank1) according to the comparison result.

도 9는 본 발명의 다른 실시 예에 따른 메모리 시스템을 간략히 보여주는 블록도이다. 도 9를 참조하면, 메모리 시스템(2000)은 메모리 컨트롤러(2100) 및 메모리 장치들(2200, 2300)을 포함한다. 메모리 장치들(2200, 2300)은 각각 멀티-랭크로 구성되는 메모리 모듈을 구성할 수 있다. 즉, 메모리 장치들(2200, 2300)은 각각 2개의 랭크들(Rank0, Rank1)을 구성한다. 도 2의 메모리 시스템(1000)과는 달리 메모리 시스템(2000)은 데이터 신호(DQ)와 데이터 클록 신호(WCKt, WCKc)가 공유된다. 따라서, 메모리 장치들(2200, 2300)은 데이터 클록 신호(WCKt, WCKc)를 내부에서 지연시킬 수 있는 가변 지연 라인(2240 또는 2340)을 포함할 수 있다. Figure 9 is a block diagram briefly showing a memory system according to another embodiment of the present invention. Referring to FIG. 9 , the memory system 2000 includes a memory controller 2100 and memory devices 2200 and 2300. The memory devices 2200 and 2300 may each form a multi-rank memory module. That is, the memory devices 2200 and 2300 each configure two ranks (Rank0 and Rank1). Unlike the memory system 1000 of FIG. 2, the memory system 2000 shares the data signal DQ and the data clock signals WCKt and WCKc. Accordingly, the memory devices 2200 and 2300 may include a variable delay line 2240 or 2340 that can internally delay the data clock signals WCKt and WCKc.

메모리 컨트롤러(2100)는 메모리 장치들(2200, 2300)을 멀티-랭크 방식으로 제어한다. 즉, 메모리 컨트롤러(1100)는 데이터 신호(DQ)와 데이터 클록 신호(WCKt, WCKc)를 메모리 장치들(2200, 2300)에 공통으로 인가한다. 메모리 장치들(2200, 2300)은 병렬로 연결된 패드들을 통해 데이터 신호(DQ)와 데이터 클록 신호(WCKt, WCKc)를 공유하도록 결선될 수 있다. 그리고 메모리 컨트롤러(2100)는 데이터 버스 트레이닝을 통해서 메모리 장치들(2200, 2300) 내부에 구비되는 가변 지연 라인(2240 또는 2340)을 설정할 수 있다. 이러한 기능을 사용하여 메모리 컨트롤러(2100)는 랭크들 간의 데이터 신호(DQ) 또는 데이터 클록 신호(WCKt, WCKc)의 특성 차이로 발생하는 스큐를 보상할 수 있다. The memory controller 2100 controls the memory devices 2200 and 2300 in a multi-rank manner. That is, the memory controller 1100 commonly applies the data signal DQ and the data clock signals WCKt and WCKc to the memory devices 2200 and 2300. The memory devices 2200 and 2300 may be connected to share the data signal DQ and the data clock signals WCKt and WCKc through pads connected in parallel. Additionally, the memory controller 2100 can set the variable delay line 2240 or 2340 provided inside the memory devices 2200 and 2300 through data bus training. Using this function, the memory controller 2100 can compensate for skew that occurs due to differences in characteristics of the data signal (DQ) or data clock signals (WCKt, WCKc) between ranks.

메모리 장치들(2200, 2300)은 도시된 형태의 듀얼 랭크 형태로 구성될 수 있다. 하지만, 메모리 장치들(2200, 2300)의 수는 복수 채널의 4-랭크 또는 그 이상의 랭크들을 구성하도록 증가될 수 있을 것이다. 메모리 장치들(2200, 2300) 각각은 메모리 컨트롤러(2100)로부터 공통 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 수신한다. 그리고 메모리 장치들(2200, 2300) 각각은 매치드형(Matched type)의 데이터 신호(DQ)와 데이터 클록 신호(WCKt, WCKc)의 수신 방식을 사용한다. The memory devices 2200 and 2300 may be configured in a dual rank format as shown. However, the number of memory devices 2200 and 2300 may be increased to configure 4-rank or higher ranks of multiple channels. Each of the memory devices 2200 and 2300 receives a common command/address signal (CA) and clock signals (CKt and CKc) from the memory controller 2100. And each of the memory devices 2200 and 2300 uses a matched type reception method of the data signal (DQ) and data clock signal (WCKt, WCKc).

하지만, 본 발명에 따른 메모리 장치들(2200, 2300)은 데이터 클록 신호(WCKt, WCKc)의 가변 지연 라인들(2240, 2340)을 포함한다. 메모리 컨트롤러(2100)는 메모리 장치들(2200, 2300) 각각에 대한 데이터 버스 트레이닝을 수행할 수 있다. 그리고 데이터 버스 트레이닝의 결과를 기반으로 메모리 장치들(2200, 2300) 각각의 데이터 신호(DQ)의 마진이 체크될 수 있다. 그리고 메모리 장치들(2200, 2300) 각각의 데이터 신호(DQ)의 마진을 기반으로 데이터 클록 신호(WCKt, WCKc)의 가변 지연 라인이 조정될 수 있다. 이를 위해, 데이터 클록 신호(WCKt, WCKc)의 가변 지연 라인들(2240, 2340)은 퓨즈나 모드 레지스터를 사용하여 설정될 수 있다. However, the memory devices 2200 and 2300 according to the present invention include variable delay lines 2240 and 2340 of the data clock signals WCKt and WCKc. The memory controller 2100 may perform data bus training for each of the memory devices 2200 and 2300. Additionally, the margin of the data signal DQ of each of the memory devices 2200 and 2300 may be checked based on the results of data bus training. Additionally, the variable delay lines of the data clock signals WCKt and WCKc may be adjusted based on the margin of the data signal DQ of each of the memory devices 2200 and 2300. To this end, the variable delay lines 2240 and 2340 of the data clock signals WCKt and WCKc may be set using a fuse or mode register.

제 1 메모리 장치(2200)는 메모리 컨트롤러(2100)로부터 전송되는 데이터 신호(DQ)를 제 1 비교기(2210)를 사용하여 수신한다. 즉, 제 1 비교기(2210)는 수신된 데이터 신호(DQ)와 기준 전압(VREF)을 비교하여 샘플링한다. 제 1 비교기(2210)에 의해서 샘플링된 데이터 신호(DQ)는 제 1 데이터 지연 라인(2230)을 경유하여 제 1 플립플롭(2250)의 데이터 입력단(D)으로 전달될 것이다.The first memory device 2200 receives the data signal DQ transmitted from the memory controller 2100 using the first comparator 2210. That is, the first comparator 2210 compares the received data signal (DQ) and the reference voltage (VREF) and performs sampling. The data signal DQ sampled by the first comparator 2210 will be transmitted to the data input terminal (D) of the first flip-flop 2250 via the first data delay line 2230.

메모리 컨트롤러(2100)로부터 전송되는 데이터 클록 신호(WCKt, WCKc)는 제 2 비교기(2220)에 의해서 수신된다. 제 2 비교기(2220)는 차동 신호 형태로 전달되는 데이터 클록 신호(WCKt, WCKc)를 시모스(CMOS) 형태의 신호로 변환시킨다. 즉, 제 2 비교기(2220)는 컴먼모드-시모스(C2C) 변환기의 기능으로 데이터 클록 신호(WCKt, WCKc)를 수신할 것이다. 제 2 비교기(2220)에 의해서 CMOS 레벨로 변환되어 제 1 가변 지연 라인(2240)을 경유하여 제 1 플립플롭(2250)의 클록 입력단에 전달된다. 제 1 플립플롭(2250)에 의해서 데이터 신호(DQ)는 데이터 클록 신호(WCKt, WCKc)에 동기되어 샘플링된다. 샘플링된 데이터 신호(DQ)는 제 1 데이터 버퍼(2260)로 전달된다. Data clock signals (WCKt, WCKc) transmitted from the memory controller 2100 are received by the second comparator 2220. The second comparator 2220 converts the data clock signals (WCKt, WCKc) delivered in the form of differential signals into signals in CMOS form. That is, the second comparator 2220 will receive the data clock signals (WCKt, WCKc) as a function of a common mode-CMOS (C2C) converter. It is converted to a CMOS level by the second comparator 2220 and transmitted to the clock input terminal of the first flip-flop 2250 via the first variable delay line 2240. The data signal DQ is sampled in synchronization with the data clock signals WCKt and WCKc by the first flip-flop 2250. The sampled data signal DQ is transmitted to the first data buffer 2260.

제 2 비교기(2220)에서 수신된 데이터 클록 신호(WCKt, WCKc)는 제 1 가변 지연 라인(2240)을 경유하여 제 1 플립플롭(2250)에 전달된다. 제 1 가변 지연 라인(2240)은 다양한 수단을 통해서 지연 크기의 제어가 가능한 구조로 제공될 수 있다. 즉, 제 1 가변 지연 라인(2240)은 퓨즈 프로그램이나 모드 레지스터 셋(MRS)를 사용하여 설정될 수 있다. 랭크들 간의 데이터 신호(DQ)의 스큐(Skew)는 데이터 클록 신호(WCKt, WCKc)의 지연의 크기를 조정하기 위한 제 1 가변 지연 라인(2240) 또는 제 2 가변 지연 라인(2340)이 설정될 수 있다. The data clock signals (WCKt, WCKc) received from the second comparator 2220 are transmitted to the first flip-flop 2250 via the first variable delay line 2240. The first variable delay line 2240 may be provided in a structure that allows control of the delay size through various means. That is, the first variable delay line 2240 can be set using a fuse program or mode register set (MRS). The skew of the data signal (DQ) between ranks is determined by setting the first variable delay line 2240 or the second variable delay line 2340 to adjust the size of the delay of the data clock signals (WCKt, WCKc). You can.

제 2 랭크(Rank1)를 구성하는 제 2 메모리 장치(2300)도 실질적으로 제 1 메모리 장치(2200)와 동일한 구성을 포함한다. 즉, 제 2 메모리 장치(2300)는 제 3 비교기(2310), 제 4 비교기(2320), 제 2 데이터 지연 라인(2330), 제 2 가변 지연 라인(2340), 제 2 플립플롭(2350), 그리고 제 2 데이터 버퍼(2360)를 포함할 수 있다. 따라서, 제 2 메모리 장치(2300)의 구성들의 기능에 대한 설명은 생략하기로 한다. The second memory device 2300 constituting the second rank (Rank1) also includes substantially the same configuration as the first memory device 2200. That is, the second memory device 2300 includes a third comparator 2310, a fourth comparator 2320, a second data delay line 2330, a second variable delay line 2340, a second flip-flop 2350, And may include a second data buffer 2360. Accordingly, description of the functions of the components of the second memory device 2300 will be omitted.

다만, 데이터 버스 트레이닝은 메모리 장치들(2200, 2300) 각각에 대해 진행된다. 그리고 데이터 버스 트레이닝의 결과를 기반으로 랭크들 간의 데이터 신호(DQ)의 스큐(Skew)를 조정하기 위해 데이터 클록 신호(WCKt, WCKc)의 지연 조정은 메모리 장치들(2200, 2300) 중 어느 하나에만 적용될 수 있다.However, data bus training is performed for each of the memory devices 2200 and 2300. In order to adjust the skew of the data signal (DQ) between ranks based on the results of data bus training, delay adjustment of the data clock signals (WCKt, WCKc) is performed only on one of the memory devices 2200 and 2300. It can be applied.

본 발명의 메모리 시스템(2000)은 매치드형으로 데이터 신호(DQ)와 데이터 클록 신호(WCKt, WCKc)를 수신하는 멀티-랭크 메모리 장치들(2200, 2300)을 포함한다. 그리고 이들 메모리 장치들(2200, 2300) 간에 존재하는 데이터 신호(DQ)의 스큐는 어느 하나의 내부에 구비된 가변 지연 라인(2230 또는 2340)의 조정을 통해서 보상될 수 있다. 이러한 트레이닝을 통해서 매치드 방식의 멀티-랭크 각각은 최적의 클록 타이밍으로 데이터 신호(DQ)를 수신할 수 있다. The memory system 2000 of the present invention includes multi-rank memory devices 2200 and 2300 that receive a data signal DQ and a data clock signal WCKt and WCKc in a matched manner. And the skew of the data signal DQ that exists between these memory devices 2200 and 2300 can be compensated for by adjusting the variable delay line 2230 or 2340 provided inside one of them. Through this training, each matched multi-rank can receive the data signal (DQ) with optimal clock timing.

도 10은 본 발명의 다른 실시 예에 따른 메모리 시스템의 구성을 보여주는 단면도이다. 도 10을 참조하면, 메모리 시스템(3000)은 메모리 컨트롤러(3100) 및 메모리 모듈(3200)을 포함한다. 메모리 모듈(3200)은 각각 4개의 랭크를 구성하는 다층 메모리 장치들(3210, 3230)을 포함한다. Figure 10 is a cross-sectional view showing the configuration of a memory system according to another embodiment of the present invention. Referring to FIG. 10 , the memory system 3000 includes a memory controller 3100 and a memory module 3200. The memory module 3200 includes multi-layer memory devices 3210 and 3230 each configuring four ranks.

메모리 컨트롤러(3100)는 메모리 모듈(3200)에 데이터를 쓰거나, 메모리 모듈(3200)에 저장된 데이터를 읽어내는 접근 동작을 수행할 수 있다. 메모리 컨트롤러(3100)는 메모리 모듈(3200)에 데이터를 기입하거나, 메모리 모듈(3200)에 저장된 데이터를 독출하기 위한 명령어(CMD)와 어드레스(ADDR)를 생성할 수 있다. 메모리 컨트롤러(3100)는 메모리 모듈(3200)을 제어하기 위한 칩셋, 모바일 AP(Application Processor: 이하, AP)와 같은 시스템 온 칩(SoC), CPU, GPU 중 적어도 하나일 수 있다. The memory controller 3100 may perform an access operation to write data to the memory module 3200 or read data stored in the memory module 3200. The memory controller 3100 may write data to the memory module 3200 or generate a command (CMD) and an address (ADDR) for reading data stored in the memory module 3200. The memory controller 3100 may be at least one of a chipset for controlling the memory module 3200, a system-on-chip (SoC) such as a mobile application processor (AP), a CPU, or a GPU.

메모리 모듈(3200)은 멀티-랭크들(Rank0, Rank1, Rank2, Rank3)에 대응하는 적층된 복수의 메모리 장치들을 포함한다. 적층된 4개의 메모리 장치들(3210)은 2-랭크 구조로 각각 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 공유할 수 있다. 적층된 4개의 메모리 장치들(3210)은 각각 2개의 랭크가 하나의 채널을 구성하는 구조로 메모리 컨트롤러(3100)에 연결될 수 있다. 즉, 메모리 장치들(3210) 중 제 1 랭크(Rank0)와 제 2 랭크(Rank1)가 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 공유하도록 와이어 본딩으로 연결될 수 있다. 또한, 제 3 랭크(Rank2)와 제 4 랭크(Rank3)가 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 공유하도록 와이어 본딩으로 연결될 수 있다. 메모리 장치들(3230)도 메모리 장치들(3210)과 동일한 랭크 구조로 메모리 컨트롤러(3100)에 연결될 수 있다. The memory module 3200 includes a plurality of stacked memory devices corresponding to multi-ranks (Rank0, Rank1, Rank2, and Rank3). The four stacked memory devices 3210 may each share a command/address signal (CA) and clock signals (CKt and CKc) in a 2-rank structure. The four stacked memory devices 3210 may be connected to the memory controller 3100 in a structure in which two ranks each constitute one channel. That is, the first rank (Rank0) and the second rank (Rank1) among the memory devices 3210 may be connected through wire bonding to share the command/address signal (CA) and the clock signals (CKt and CKc). Additionally, the third rank (Rank2) and the fourth rank (Rank3) may be connected through wire bonding to share the command/address signal (CA) and clock signals (CKt and CKc). Memory devices 3230 may also be connected to the memory controller 3100 in the same rank structure as the memory devices 3210.

메모리 장치들(3210)은 앞서 설명된 방식으로 커맨드 버스 트레이닝(CBT)을 통해서 내부 클록 신호(CKt, CKc)의 지연을 조정할 수 있다. 이를 위해 메모리 장치들(3210)은 각각 내부 클록 신호(CK0)의 지연을 설정하기 위한 가변 지연 라인(미도시)을 포함할 수 있다. The memory devices 3210 may adjust the delay of the internal clock signals CKt and CKc through command bus training (CBT) in the manner described above. To this end, each of the memory devices 3210 may include a variable delay line (not shown) for setting the delay of the internal clock signal CK0.

도 11은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 11을 참조하면, 메모리 시스템(4000)은 메모리 컨트롤러(4100) 및 메모리 장치들(4200, 4300, 4400, 4500)을 포함한다. 메모리 장치들(4200, 4300, 4400, 4500)은 4개의 랭크들(Rank0, Rank1, Rank2, Rank3)을 구성한다. Figure 11 is a block diagram showing a memory system according to another embodiment of the present invention. Referring to FIG. 11 , the memory system 4000 includes a memory controller 4100 and memory devices 4200, 4300, 4400, and 4500. Memory devices 4200, 4300, 4400, and 4500 constitute four ranks (Rank0, Rank1, Rank2, and Rank3).

메모리 컨트롤러(4100)는 메모리 장치들(4200, 4300, 4400, 4500)을 4-랭크 방식으로 제어한다. 즉, 메모리 컨트롤러(4100)는 커맨드/어드레스 신호(CA) 버스와 클록 신호(CKt, CKc)를 메모리 장치들(4200, 4300, 4400, 4500)에 공통으로 인가한다. 메모리 장치들(4200, 4300, 4400, 4500)은 병렬로 연결된 패드들을 통해 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 공유하도록 결선된다. 그리고 메모리 컨트롤러(4100)는 커맨드 버스 트레이닝(CBT)을 통해서 메모리 장치들(4200, 4300, 4400, 4500) 내부에 구비되는 가변 지연 라인들(4240, 4340, 4440, 4540) 중 하나 이상을 설정할 수 있다. 이러한 기능을 사용하여 메모리 컨트롤러(4100)는 랭크들 간의 커맨드/어드레스 신호(CA) 또는 클록 신호(CKt, CKc)의 특성 차이로 발생하는 스큐를 제거하거나 줄일 수 있다. The memory controller 4100 controls the memory devices 4200, 4300, 4400, and 4500 in a 4-rank manner. That is, the memory controller 4100 commonly applies the command/address signal (CA) bus and clock signals (CKt and CKc) to the memory devices 4200, 4300, 4400, and 4500. The memory devices 4200, 4300, 4400, and 4500 are connected to share a command/address signal (CA) and clock signals (CKt, CKc) through pads connected in parallel. And the memory controller 4100 can set one or more of the variable delay lines 4240, 4340, 4440, and 4540 provided inside the memory devices 4200, 4300, 4400, and 4500 through command bus training (CBT). there is. Using this function, the memory controller 4100 can remove or reduce skew that occurs due to differences in characteristics of command/address signals (CA) or clock signals (CKt, CKc) between ranks.

메모리 장치들(4200, 4300, 4400, 4500) 각각은 메모리 컨트롤러(4100)로부터 공통 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 수신한다. 그리고 메모리 장치들(4200, 4300, 4400, 4500) 각각은 매치드형(Matched type)의 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc) 수신 방식을 사용한다. 즉, 메모리 장치들(4200, 4300, 4400, 4500) 각각은 커맨드/어드레스 신호(CA)의 수신 경로와 클록 신호(CKt, CKc)의 수신 경로의 지연이 매치된 형태로 제공된다. Each of the memory devices 4200, 4300, 4400, and 4500 receives a common command/address signal (CA) and clock signals (CKt, CKc) from the memory controller 4100. And each of the memory devices 4200, 4300, 4400, and 4500 uses a matched type command/address signal (CA) and clock signal (CKt, CKc) reception method. That is, each of the memory devices 4200, 4300, 4400, and 4500 is provided in a form in which the delays of the reception path of the command/address signal (CA) and the reception path of the clock signals (CKt and CKc) are matched.

본 발명에 따른 메모리 장치들(4200, 4300, 4400, 4500)은 내부에 클록 신호(CKt, CKc)의 지연을 조정할 수 있는 가변 지연 라인들(4240, 4340, 4440, 4540)을 포함한다. 메모리 컨트롤러(4100)는 가변 지연 라인들(4240, 4340, 4440, 4540) 각각에 대한 커맨드 버스 트레이닝(CBT)을 수행할 수 있다. 그리고 커맨드 버스 트레이닝(CBT)의 결과를 기반으로 메모리 장치들(4200, 4300, 4400, 4500) 각각의 커맨드/어드레스 신호(CA)의 마진이 체크될 수 있다. 메모리 장치들(4200, 4300, 4400, 4500) 각각의 커맨드/어드레스 신호(CA)의 마진을 기반으로 커맨드/어드레스 신호(CA)의 타이밍을 일치시키기 위해 클록 신호(CKt, CKc)의 지연 라인이 조정될 수 있다. 이를 위해, 가변 지연 라인들(4240, 4340, 4440, 4540) 중 적어도 하나가 퓨즈나 모드 레지스터를 사용하여 조정될 수 있다. 메모리 장치들(4200, 4300, 4400, 4500) 각각의 구성은 앞서 설명된 도 4와 실질적으로 동일하다.The memory devices 4200, 4300, 4400, and 4500 according to the present invention include internal variable delay lines 4240, 4340, 4440, and 4540 that can adjust the delay of the clock signals CKt and CKc. The memory controller 4100 may perform command bus training (CBT) on each of the variable delay lines 4240, 4340, 4440, and 4540. And based on the results of command bus training (CBT), the margin of the command/address signal (CA) of each of the memory devices 4200, 4300, 4400, and 4500 may be checked. In order to match the timing of the command/address signal (CA) based on the margin of the command/address signal (CA) of each of the memory devices (4200, 4300, 4400, and 4500), a delay line of the clock signal (CKt, CKc) is provided. It can be adjusted. To this end, at least one of the variable delay lines 4240, 4340, 4440, and 4540 may be adjusted using a fuse or mode resistor. The configuration of each of the memory devices 4200, 4300, 4400, and 4500 is substantially the same as that of FIG. 4 described above.

본 발명의 메모리 시스템(4000)은 매치드형으로 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)를 수신하는 4-랭크 메모리 장치들(4200, 4300, 4400, 4500)을 포함한다. 그리고 이들 메모리 장치들(4200, 4300, 4400, 4500) 간에 존재하는 커맨드/어드레스 신호(CA)나 클록 신호(CKt, CKc)의 스큐는 적어도 어느 하나의 가변 지연 라인들(4240, 4340, 4440, 4540)의 조정을 통해서 보상될 수 있다. 이러한 트레이닝을 통해서 매치드 방식의 멀티-랭크 각각은 최적의 클록 타이밍으로 커맨드/어드레스 신호(CA)를 수신할 수 있다. The memory system 4000 of the present invention includes 4-rank memory devices 4200, 4300, 4400, and 4500 that receive a command/address signal (CA) and a clock signal (CKt, CKc) in a matched manner. And the skew of the command/address signal (CA) or clock signal (CKt, CKc) existing between these memory devices (4200, 4300, 4400, and 4500) is at least one of the variable delay lines (4240, 4340, 4440, 4540) can be compensated through adjustment. Through this training, each matched multi-rank can receive command/address signals (CA) with optimal clock timing.

도 12는 본 발명의 실시 예에 따른 멀티-랭크 메모리 시스템의 커맨드 버스 트레이닝(CBT) 방법을 간략히 보여주는 순서도이다. 도 12를 참조하면, 각 랭크별 커맨드 버스 트레이닝(CBT)을 통한 커맨드/어드레스 신호(CA)의 스윕(Sweep)을 수행하고, 그 결과를 이용하여 적어도 하나의 랭크의 가변 지연 라인을 조정할 수 있다.Figure 12 is a flowchart briefly showing a command bus training (CBT) method of a multi-rank memory system according to an embodiment of the present invention. Referring to FIG. 12, a sweep of the command/address signal (CA) is performed through command bus training (CBT) for each rank, and the variable delay line of at least one rank can be adjusted using the result. .

S210 단계에서, 커맨드 버스 트레이닝(CBT)을 위한 랭크 식별 번호의 초기화가 수행된다. 예를 들면, 랭크 식별 번호(i, i는 0 이상의 정수)가 '0'으로 초기화될 수 있다. In step S210, initialization of the rank identification number for command bus training (CBT) is performed. For example, the rank identification number (i, i is an integer greater than 0) may be initialized to '0'.

S220 단계에서, 메모리 컨트롤러(4100)는 제 1 랭크(Rank0)에 대한 커맨드 버스 트레이닝(CBT)을 수행한다. 즉, 메모리 컨트롤러(4100)는 트레이닝 패턴(PTN_A)의 입력 타이밍을 변화시켜 커맨드/어드레스 신호(CA)의 스윕을 수행한다. 다른 실시 예에서, 트레이닝 패턴(PTN_A)의 입력 타이밍은 고정되고 클록 신호(CKt, CKc)의 타이밍을 변화시키면서 커맨드/어드레스 신호(CA)의 스윕을 수행할 수도 있을 것이다. In step S220, the memory controller 4100 performs command bus training (CBT) for the first rank (Rank0). That is, the memory controller 4100 performs a sweep of the command/address signal (CA) by changing the input timing of the training pattern (PTN_A). In another embodiment, the input timing of the training pattern PTN_A may be fixed and a sweep of the command/address signal CA may be performed while changing the timing of the clock signals CKt and CKc.

S230 단계에서, 메모리 컨트롤러(4100)는 S220 단계에서 수행된 커맨드 버스 트레이닝(CBT)의 결과로부터 제 1 랭크(Rank0)에 대한 커맨드/어드레스 신호(CA)의 마진을 체크한다. 즉, 메모리 컨트롤러(4100)는 입력된 트레이닝 패턴(PTN_A)과 출력된 트레이닝 패턴(PTN_A)을 비교하여 커맨드/어드레스 신호(CA)의 마진을 확인할 수 있다. In step S230, the memory controller 4100 checks the margin of the command/address signal (CA) for the first rank (Rank0) from the result of the command bus training (CBT) performed in step S220. That is, the memory controller 4100 can check the margin of the command/address signal (CA) by comparing the input training pattern (PTN_A) and the output training pattern (PTN_A).

S240 단계에서, 메모리 컨트롤러(4100)는 이전 단계에서 수행된 커맨드 버스 트레이닝(CBT)이 마지막 랭크에 대응하는지 체크한다. 만일, S220 단계 및 S230 단계가 적용된 랭크가 마지막 랭크에 해당하는 경우(Yes 방향), 절차는 S250 단계로 이동한다. 반면에, S220 단계 및 S230 단계가 적용된 랭크가 마지막 랭크에 해당하지 않는 경우(No 방향), 절차는 S245 단계로 이동한다. S245 단계에서는 랭크 식별 번호(i)가 증가한다. 그리고 절차는 S220 단계로 복귀하여 다음 랭크에 대한 커맨드 버스 트레이닝(CBT)이 계속될 것이다. In step S240, the memory controller 4100 checks whether the command bus training (CBT) performed in the previous step corresponds to the last rank. If the rank to which steps S220 and S230 are applied corresponds to the last rank (Yes direction), the procedure moves to step S250. On the other hand, if the rank to which steps S220 and S230 are applied does not correspond to the last rank (No direction), the procedure moves to step S245. In step S245, the rank identification number (i) increases. The procedure will then return to step S220 and Command Bus Training (CBT) for the next rank will continue.

S250 단계에서, 메모리 컨트롤러(4100)는 복수의 랭크들 각각 대한 커맨드 버스 트레이닝(CBT)의 결과를 참조하여 클록 신호(CKt, CKc)의 조정 크기를 결정한다. 예를 들면, 메모리 컨트롤러(4100)는 가변 지연 라인들(4240, 4340, 4440, 4540) 중 하나 또는 그 이상의 조정 크기를 결정할 수 있다.In step S250, the memory controller 4100 determines the adjustment size of the clock signals CKt and CKc by referring to the results of command bus training (CBT) for each of the plurality of ranks. For example, the memory controller 4100 may determine an adjustment size for one or more of the variable delay lines 4240, 4340, 4440, and 4540.

S260 단계에서, 메모리 컨트롤러(4100)는 S250 단계에서 결정된 지연 크기로 가변 지연 라인들(4240, 4340, 4440, 4540) 중 하나 또는 그 이상을 조정한다. 가변 지연 라인들(4240, 4340, 4440, 4540)의 지연 크기 조정을 위해, 메모리 컨트롤러(4100)는 모드 레지스터 셋(MRS) 커맨드를 사용할 수 있다.In step S260, the memory controller 4100 adjusts one or more of the variable delay lines 4240, 4340, 4440, and 4540 to the delay size determined in step S250. To adjust the delay size of the variable delay lines 4240, 4340, 4440, and 4540, the memory controller 4100 may use a mode register set (MRS) command.

이상에서는 멀티-랭크 시스템에 본 발명의 커맨드 버스 트레이닝(CBT)을 적용하는 방법이 간략히 설명되었다. 본 발명의 커맨드 버스 트레이닝(CBT)을 적용하면, 매치드형으로 제공되는 멀티-랭크 메모리 시스템의 커맨드/어드레스 신호(CA)와 클록 신호(CKt, CKc)의 스큐가 쉽게 보상될 수 있다. 이러한 트레이닝을 통해서 매치드형 멀티-랭크 각각은 최적의 클록 타이밍으로 커맨드/어드레스 신호(CA)를 수신할 수 있다. Above, a method of applying command bus training (CBT) of the present invention to a multi-rank system was briefly described. By applying the command bus training (CBT) of the present invention, the skew of the command/address signal (CA) and clock signals (CKt, CKc) of the multi-rank memory system provided in a matched type can be easily compensated. Through this training, each matched multi-rank can receive command/address signals (CA) with optimal clock timing.

이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.As above, embodiments are disclosed in the drawings and specifications. Although specific terms are used here, they are used only for the purpose of describing the present invention and are not used to limit the meaning or scope of the present invention described in the patent claims. Therefore, those skilled in the art will understand that various modifications and other equivalent embodiments are possible. Therefore, the true scope of technical protection of the present invention should be determined by the technical spirit of the attached patent claims.

Claims (20)

제 1 랭크를 구성하는 제 1 메모리 장치; 그리고
상기 제 1 메모리 장치와 커맨드/어드레스 신호 및 클록 신호를 공유하는 제 2 랭크를 구성하는 제 2 메모리 장치를 포함하되,
상기 제 1 메모리 장치 및 상기 제 2 메모리 장치는 매치드 방식(Matched type)으로 커맨드/어드레스 신호 및 클록 신호를 수신하고, 상기 제 1 메모리 장치는 수신된 상기 클록 신호의 지연을 조정하기 위한 가변 지연 라인을 포함하는 메모리 모듈.
a first memory device constituting a first rank; and
A second memory device constituting a second rank sharing a command/address signal and a clock signal with the first memory device,
The first memory device and the second memory device receive command/address signals and clock signals in a matched type, and the first memory device has a variable delay for adjusting the delay of the received clock signal. A memory module containing a line.
제 1 항에 있어서,
상기 클록 신호는 상기 커맨드/어드레스 신호를 래치하기 위한 스트로브 신호에 대응하는 메모리 모듈.
According to claim 1,
The clock signal corresponds to a strobe signal for latching the command/address signal.
제 1 항에 있어서,
상기 제 1 메모리 장치는:
수신된 상기 커맨드/어드레스 신호(CA)를 미리 설정된 크기로 지연하는 커맨드/어드레스 지연 라인;
상기 클록 신호를 설정된 지연 크기로 조정하는 가변 지연 라인; 그리고
상기 조정된 클록 신호에 응답하여 상기 커맨드/어드레스 지연 라인에서 출력되는 상기 커맨드/어드레스 신호(CA)를 래치하는 플립플롭을 포함하는 메모리 모듈.
According to claim 1,
The first memory device is:
a command/address delay line that delays the received command/address signal (CA) to a preset size;
a variable delay line that adjusts the clock signal to a set delay size; and
A memory module comprising a flip-flop that latches the command/address signal (CA) output from the command/address delay line in response to the adjusted clock signal.
제 3 항에 있어서,
상기 제 1 메모리 장치는 상기 가변 지연 라인을 조정하는 지연 제어 로직을 더 포함하는 메모리 모듈.
According to claim 3,
The first memory device further includes delay control logic that adjusts the variable delay line.
제 4 항에 있어서,
상기 지연 제어 로직은 상기 제 1 메모리 장치의 외부에서 제공되는 모드 레지스터 셋(MRS) 커맨드를 통해서 제어되는 메모리 모듈.
According to claim 4,
A memory module in which the delay control logic is controlled through a mode register set (MRS) command provided externally to the first memory device.
제 4 항에 있어서,
상기 지연 제어 로직은 상기 제 1 메모리 장치의 외부의 제어에 따라 상기 설정된 지연 크기로 상기 가변 지연 로직을 설정하는 퓨즈 옵셋을 포함하는 메모리 모듈.
According to claim 4,
The delay control logic includes a fuse offset that sets the variable delay logic to the set delay size according to external control of the first memory device.
제 3 항에 있어서,
상기 설정된 지연 크기는 상기 제 1 메모리 장치와 상기 제 2 메모리 장치에 대한 커맨드 버스 트레이닝(CBT)을 통해서 결정되는 메모리 모듈.
According to claim 3,
The set delay size is determined through command bus training (CBT) for the first memory device and the second memory device.
커맨드/어드레스 신호와 클록 신호를 공유하는 매치드형 멀티-랭크 메모리 모듈의 트레이닝 방법에 있어서:
제 1 랭크에 대한 상기 커맨드/어드레스 신호와 상기 클록 신호의 정렬을 체크하기 위한 제 1 커맨드 버스 트레이닝을 수행하는 단계;
제 2 랭크에 대한 상기 커맨드/어드레스 신호와 상기 클록 신호의 정렬을 체크하기 위한 제 2 커맨드 버스 트레이닝을 수행하는 단계;
상기 제 1 및 제 2 커맨드 버스 트레이닝의 결과를 이용하여 상기 제 1 랭크 및 상기 제 2 랭크 각각의 상기 커맨드/어드레스 신호의 마진을 체크하는 단계; 그리고
상기 커맨드/어드레스 신호의 상기 마진에 따라 상기 제 1 랭크 또는 상기 제 2 랭크 내부에서 상기 클록 신호의 지연을 조정하는 단계를 포함하는 트레이닝 방법.
In the training method of a matched multi-rank memory module sharing command/address signals and clock signals:
performing first command bus training to check alignment of the command/address signal and the clock signal for a first rank;
performing second command bus training to check alignment of the command/address signal and the clock signal for a second rank;
checking margins of the command/address signals of each of the first rank and the second rank using results of the first and second command bus training; and
A training method comprising adjusting a delay of the clock signal within the first rank or the second rank according to the margin of the command/address signal.
제 8 항에 있어서,
상기 제 1 랭크 또는 상기 제 2 랭크의 내부에는 상기 클록 신호의 지연을 조정하는 가변 지연 라인을 포함하는 트레이닝 방법.
According to claim 8,
A training method including a variable delay line inside the first rank or the second rank to adjust a delay of the clock signal.
제 9 항에 있어서,
상기 가변 지연 라인은 모드 레지스터 셋(MRS) 커맨드나 퓨즈 프로그램을 통해서 조정되는 트레이닝 방법.
According to clause 9,
A training method in which the variable delay line is adjusted through a mode register set (MRS) command or a fuse program.
제 8 항에 있어서,
상기 클록 신호는 상기 커맨드/어드레스 신호를 래치하기 위한 스트로브 신호에 대응하는 트레이닝 방법.
According to claim 8,
A training method wherein the clock signal corresponds to a strobe signal for latching the command/address signal.
제 1 버스를 통해서 신호를 전송하고, 제 2 버스를 통해 클록 신호를 전송하는 메모리 컨트롤러; 그리고
상기 제 1 버스 및 상기 제 2 버스를 공유하는 제 1 랭크 메모리 및 제 2 랭크 메모리를 포함하는 메모리 모듈을 포함하되,
상기 제 1 랭크 메모리 또는 상기 제 2 랭크 메모리는 상기 제 2 버스를 통해 수신된 상기 클록 신호를 내부에서 가변적으로 지연하기 위한 가변 지연 라인을 포함하는 메모리 시스템.
a memory controller that transmits a signal through a first bus and a clock signal through a second bus; and
A memory module including a first rank memory and a second rank memory sharing the first bus and the second bus,
The first rank memory or the second rank memory includes a variable delay line for internally variably delaying the clock signal received through the second bus.
제 12 항에 있어서,
상기 제 1 랭크 메모리 또는 상기 제 2 랭크 메모리는 매치드 방식(Matched type)으로 상기 신호 및 클록 신호를 수신하는 메모리 시스템.
According to claim 12,
A memory system in which the first rank memory or the second rank memory receives the signal and the clock signal in a matched type.
제 12 항에 있어서,
상기 제 1 버스를 통해서 전송되는 신호는 커맨드/어드레스 신호(CA)에 대응하는 메모리 시스템.
According to claim 12,
A memory system in which the signal transmitted through the first bus corresponds to a command/address signal (CA).
제 12 항에 있어서,
상기 제 1 버스를 통해서 전송되는 신호는 데이터 신호(DQ)에 대응하는 메모리 시스템.
According to claim 12,
A memory system in which a signal transmitted through the first bus corresponds to a data signal (DQ).
제 12 항에 있어서,
상기 제 1 랭크 메모리는:
수신된 상기 신호를 고정 크기로 지연하는 제 1 지연 라인;
수신된 상기 클록 신호의 지연 크기를 가변하는 제 2 지연 라인; 그리고
상기 제 2 지연 라인에서 출력되는 클록 신호에 응답하여 상기 제 1 지연 라인에서 출력되는 상기 신호를 래치하는 플립플롭을 포함하는 메모리 시스템.
According to claim 12,
The first rank memory is:
a first delay line that delays the received signal by a fixed amplitude;
a second delay line that varies the delay size of the received clock signal; and
A memory system comprising a flip-flop that latches the signal output from the first delay line in response to a clock signal output from the second delay line.
제 16 항에 있어서,
상기 제 1 랭크 메모리는, 제어 신호에 응답하여 상기 제 2 지연 라인의 상기 지연 크기를 설정하는 지연 제어 로직을 더 포함하는 메모리 시스템.
According to claim 16,
The first rank memory further includes delay control logic that sets the delay size of the second delay line in response to a control signal.
제 17 항에 있어서,
상기 지연 제어 로직은 모드 레지스터 셋 또는 퓨즈 옵션을 포함하는 메모리 시스템.
According to claim 17,
A memory system wherein the delay control logic includes a mode register set or fuse option.
제 18 항에 있어서,
상기 메모리 컨트롤러는 커맨드 버스 트레이닝(CBT)을 수행하여 상기 제 1 랭크 메모리 및 상기 제 2 랭크 메모리의 상기 제 1 버스에 대한 스큐를 검출하는 메모리 시스템.
According to claim 18,
The memory system wherein the memory controller performs command bus training (CBT) to detect skew of the first bus of the first rank memory and the second rank memory.
제 19 항에 있어서,
상기 메모리 컨트롤러는 상기 커맨드 버스 트레이닝(CBT)의 결과에 따라 상기 제 1 랭크 메모리와 상기 제 2 랭크 메모리 중 어느 하나의 상기 가변 지연 라인의 지연 크기를 설정하는 메모리 시스템.
According to claim 19,
A memory system wherein the memory controller sets a delay size of the variable delay line of one of the first rank memory and the second rank memory according to a result of the command bus training (CBT).
KR1020220179370A 2022-08-03 2022-12-20 Memory module adjusting inter-rank clock timing, memory system and training method thereof KR20240019004A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/218,931 US20240046975A1 (en) 2022-08-03 2023-07-06 Memory module adjusting inter-rank clock timing, memory system and training method thereof
EP23188849.6A EP4318475A1 (en) 2022-08-03 2023-08-01 Memory module adjusting inter-rank clock timing, memory system and training method thereof
CN202310963858.7A CN117524277A (en) 2022-08-03 2023-08-02 Memory module, training method thereof and memory system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220096974 2022-08-03
KR20220096974 2022-08-03

Publications (1)

Publication Number Publication Date
KR20240019004A true KR20240019004A (en) 2024-02-14

Family

ID=89896890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220179370A KR20240019004A (en) 2022-08-03 2022-12-20 Memory module adjusting inter-rank clock timing, memory system and training method thereof

Country Status (1)

Country Link
KR (1) KR20240019004A (en)

Similar Documents

Publication Publication Date Title
US11302368B2 (en) Memory device with circuitry to transmit feedback indicative of a phase relationship
US10360959B2 (en) Adjusting instruction delays to the latch path in DDR5 DRAM
US9754650B2 (en) Memory device and system supporting command bus training, and operating method thereof
US10163485B2 (en) Memory module, memory controller and associated control method for read training technique
US9570130B2 (en) Memory system and memory physical layer interface circuit
US8520455B2 (en) Method and apparatus for training a DLL in a memory subsystem
US20230401008A1 (en) Command address input buffer bias current reduction
US20230026320A1 (en) Memory device, a memory system and an operating method of the memory device
KR102473661B1 (en) Memory Device adjusting duty cycle and Memory System having the same
KR20210041357A (en) Memory device including interface circuit and operating method thereof
US10593374B2 (en) Memory module
US9570135B2 (en) Apparatuses and methods to delay memory commands and clock signals
US11145343B1 (en) Method for controlling multi-cycle write leveling process in memory system
EP4318475A1 (en) Memory module adjusting inter-rank clock timing, memory system and training method thereof
KR20240019004A (en) Memory module adjusting inter-rank clock timing, memory system and training method thereof
US9300282B2 (en) Semiconductor device and semiconductor system including the same
US10249353B2 (en) Memory controller with phase adjusted clock for performing memory operations
CN117524277A (en) Memory module, training method thereof and memory system
US20190296887A1 (en) Semiconductor apparatus for transmitting and receiving a signal in synchronization with a clock signal
US20220358061A1 (en) Unmatched architecture compensation via digital component delay
US20240012443A1 (en) Register clock driver, operating method of register clock driver, and memory module including register clock driver and plurality of memory devices
US20230368855A1 (en) Memory device, system and method employing multiphase clock
KR20230018280A (en) Semiconductor device, and memory system including the same
KR20220057820A (en) Memory device and system
CN115691593A (en) Semiconductor device and memory system including the same