KR20200124575A - 복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법 - Google Patents

복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법 Download PDF

Info

Publication number
KR20200124575A
KR20200124575A KR1020190048089A KR20190048089A KR20200124575A KR 20200124575 A KR20200124575 A KR 20200124575A KR 1020190048089 A KR1020190048089 A KR 1020190048089A KR 20190048089 A KR20190048089 A KR 20190048089A KR 20200124575 A KR20200124575 A KR 20200124575A
Authority
KR
South Korea
Prior art keywords
delay
memory device
test mode
signal
code
Prior art date
Application number
KR1020190048089A
Other languages
English (en)
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 KR1020190048089A priority Critical patent/KR20200124575A/ko
Priority to CN201911299299.4A priority patent/CN111863115B/zh
Priority to US16/722,521 priority patent/US11100968B2/en
Publication of KR20200124575A publication Critical patent/KR20200124575A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

메모리 시스템은, 외부로 직접 데이터 스트로브 신호를 전송하는 대표 메모리 장치, 및 대표 메모리 장치를 경유하여 외부로 데이터 스트로브 신호를 전송하는 적어도 하나의 기타 메모리 장치와, 대표 메모리 장치의 데이터 스트로브 신호에 동기되는 내부 딜레이 클럭 신호를 생성하는 컨트롤러를 포함한다. 컨트롤러는, 생성된 내부 딜레이 클럭 신호를 기준으로 기타 메모리 장치에 딜레이 시간을 규정하는 테스트 모드 코드를 전송한다. 그리고 기타 메모리 장치는, 전송된 테스트 모드 코드에 대응되는 딜레이 시간을 갖도록 데이터 스트로브 신호의 위상을 조정한다.

Description

복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법{Memory system having a plurality of memory devices and method of training the memory system}
본 개시의 여러 실시예들은 메모리 시스템에 관한 것으로서, 특히 복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는, 실리콘(silicon), 저매니움(germanium), 갈륨아세나이드(gallium arsenide), 인듐포스파이드(indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성(volatile) 메모리 장치와 불휘발성(nonvolatile) 메모리 장치로 구분될 수 있다. 휘발성 메모리 장치는, 전원 공급이 차단되면 저장하고 있는 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM(Static Random Access Memory), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등이 있다. 불휘발성 메모리 장치는, 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically PROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시(flash) 메모리 장치, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등이 있다.
일반적으로 메모리 장치에 대한 액세스(access)는 컨트롤러(controller)를 통해 이루어질 수 있다. 예컨대 메모리 장치에 대한 데이터 리드(read)시, 호스트는 리드 명령어 및 어드레스를 컨트롤러로 전송하고, 컨트롤러는 메모리 장치로부터 데이터를 읽은 후에 호스트로 전송한다. 메모리 장치에 대한 데이터 라이트(write)시, 호스트는 라이트 명령어, 라이트 데이터, 및 어드레스를 컨트롤러로 전송하고, 컨트롤러는 메모리 장치에 라이트 데이터를 쓴다. 이와 같은 메모리 장치에 대한 액세스 과정에서, 메모리 장치로부터 출력되는 데이터 스트로브 신호(DQS)가 컨트롤러 내의 내부 클럭 신호와 동기되지 않는 타이밍 스큐(timing skew)가 나타날 수 있다. 이에 따라 타이밍 스큐를 최소화하기 위해, 메모리 장치에 대한 트레이닝 과정을 수행할 필요가 있다. 일 예에서 메모리 장치에 대한 트레이닝 과정은, 메모리 장치로부터 입력되는 데이터 스트로브 신호(DQS)를 기준으로 컨트롤러 내부 클럭 신호를 딜레이(delay)시키는 방식으로 이루어질 수 있다. 이를 위해 컨트롤러 내에는 메모리 장치의 데이터 스트로브 신호(DQS)에 동기되도록 컨트롤러의 내부 클럭 신호를 지연시키는 딜레이 블록(delay block)이 배치된다.
그런데 메모리 시스템이 복수개의 메모리 장치들을 포함하는 경우, 복수개의 메모리 장치들은 PVT(Process, Voltage, Temperature) 변동(variation) 및 채널의 환경 차이 등의 이유에 의해 서로 다른 타이밍 스큐를 가질 수 있다. 따라서 이 경우 복수개의 메모리 장치들 모두에 대해 트레이닝 과정을 수행할 필요가 있다. 이 경우 복수개의 메모리 장치들 중 액세스하고자 하는 메모리 장치와의 타이밍 스큐를 억제하기 위해 컨트롤러 내에서 내부 클럭 신호를 지연시키는 딜레이 블록(delay block)이 메모리 장치들의 개수만큼 필요하게 되며, 이는 컨트롤러의 면적을 증가시키는 원인으로 작용한다.
본 출원이 해결하고자 하는 과제는, 대표 메모리 장치의 데이터 스트로브 신호(DQS)와 위상이 일치되는 컨트롤러의 내부 딜레이 클럭 신호의 위상이 기타 메모리 장치들 각각의 데이터 스트로브 신호(DQS)의 위상과 일치되도록 트레이닝을 수행할 수 있는 메모리 시스템을 제공하는 것이다.
본 출원이 해결하고자 하는 다른 과제는, 위와 같은 메모리 시스템에서의 트레이닝 방법을 제공하는 것이다.
본 개시의 일 예에 따른 메모리 시스템은, 외부로 직접 데이터 스트로브 신호를 전송하는 대표 메모리 장치, 및 대표 메모리 장치를 경유하여 외부로 데이터 스트로브 신호를 전송하는 적어도 하나의 기타 메모리 장치와, 대표 메모리 장치의 데이터 스트로브 신호에 동기되는 내부 딜레이 클럭 신호를 생성하는 컨트롤러를 포함한다. 컨트롤러는, 생성된 내부 딜레이 클럭 신호를 기준으로 기타 메모리 장치에 딜레이 시간을 규정하는 테스트 모드 코드를 전송한다. 그리고 기타 메모리 장치는, 전송된 테스트 모드 코드에 대응되는 딜레이 시간을 갖도록 데이터 스트로브 신호의 위상을 조정한다.
본 개시의 일 예에 따른 메모리 시스템의 트레이닝 방법은, 외부로 직접 데이터 스트로브 신호를 전송하는 대표 메모리 장치, 및 대표 메모리 장치를 경유하여 외부로 데이터 스트로브 신호를 전송하는 적어도 하나의 기타 메모리 장치와, 내부 딜레이 클럭 신호에 동기되어 대표 메모리 장치 및 기타 메모리 장치의 데이터 스트로브 신호를 처리하는 컨트롤러를 포함하는 메모리 시스템의 트레이닝 방법에 있어서, 대표 메모리 장치로부터의 데이터 스트로브 신호와 위상이 일치되도록 내부 딜레이 클럭 신호의 딜레이 시간을 조정하는 단계와, 그리고 딜레이 시간이 조정된 내부 딜레이 클럭 신호의 위상에 일치되도록 대표 메모리 장치를 경유하여 컨트롤러로 입력되는 기타 메모리 장치의 데이터 스트로브 신호의 딜레이 시간을 조정하는 단계를 포함한다.
여러 실시예들에 따르면, 독립적으로 동작하는 대표 메모리 장치와 종속적으로 동작하는 기타 메모리 장치들을 포함하는 메모리 시스템에 있어서, 데이터 스트로브 신호(DQS)의 위상이 컨트롤러의 내부 클럭 신호와 일치되도록 하는 방식으로 트레이닝이 수행됨으로써, 컨트롤러 내에 메모리 장치들 각각의 데이터 스트로브 신호(DQS)와의 위상 일치를 위한 복수개의 딜레이 블록들을 배치시킬 필요가 없으며, 이에 따라 트레이닝 과정을 위한 딜레이 블록으로 인한 컨트롤러의 면적 증가를 방지시킬 수 있다.
도 1은 본 개시에 따른 복수의 메모리 장치들을 갖는 메모리 시스템의 일 예를 나타내 보인 블록도이다.
도 2는 도 1의 메모리 시스템을 채용한 메모리 모듈과 이를 제어하는 메모리 컨트롤러 구성의 일 예를 나타내 보인 블록도이다.
도 3은 도 1의 메모리 시스템을 채용한 메모리 모듈과 이를 제어하는 메모리 컨트롤러 구성의 다른 예를 나타내 보인 블록도이다.
도 4는 도 2 및 도 3의 메모리 패키지의 단면 구조의 일 예를 나타내 보인 도면이다.
도 5는 도 1의 메모리 시스템에서의 대표 메모리 장치 및 제1 기타 메모리 장치 구성의 일 예를 나타내 보인 도면이다.
도 6은 도 1의 메모리 시스템에서의 컨트롤러 구성의 일 예를 나타내 보인 도면이다.
도 7 및 도 8은 도 5의 대표 메모리 장치의 데이터 스트로브 신호가 출력되는 과정에서 대표 메모리 장치가 갖는 레플리커 딜레이 및 실제 딜레이를 설명하기 위해 나타내 보인 도면들이다.
도 9 내지 도 11은 도 5의 제1 기타 메모리 장치의 데이터 스트로브 신호가 출력되는 과정에서 제1 기타 메모리 장치가 갖는 레플리커 딜레이 및 실제 딜레이를 설명하기 위해 나타내 보인 도면들이다.
도 12 및 도 13은 도 5의 제1 기타 메모리 장치의 지연 고정 루프(DLL)에 포함되는 딜레이 회로 구성의 일 예를 나타내 보인 도면들이다.
도 14는 도 12 및 도 13의 딜레이 회로가 채용되는 경우에서 도 6의 컨트롤러의 딜레이 코드 레지스터에 저장된 테스트 모드 코드 테이블의 일 예를 나타내 보인 도면이다.
도 15는 본 개시에 따른 복수의 메모리 장치들을 갖는 메모리 시스템의 전체 트레이닝 과정을 설명하기 위해 나타내 보인 플로챠트이다.
도 16은 도 15의 단계 210에서의 컨트롤러의 내부 딜레이 클럭 신호 생성 과정을 나타내 보인 플로챠트이다.
도 17 내지 도 19은 도 16의 단계 210-1 내지 단계 210-6의 내부 딜레이 클럭 신호 생성 과정의 일 예를 보다 상세하게 설명하기 위해 나타내 보인 블록도들이다.
도 20 내지 도 22는 도 15의 단계 210의 내부 딜레이 클럭 신호 생성 과정의 일 예를 설명하기 위해 나타내 보인 타이밍도들이다.
도 23 내지 도 25는 도 15의 단계 230에서 기타 메모리 장치들 중 제1 기타 메모리 장치에 대한 트레이닝 과정을 설명하기 위해 나타내 보인 플로챠트들이다.
도 26은 도 23의 단계 230-1 내지 단계 230-4의 과정을 보다 상세하게 설명하기 위해 나타내 보인 블록도이다.
도 27은 도 23의 단계 230-3의 샘플링 결과 발생되는 첫번째 샘플링 회로 출력 신호가 하이 신호인 경우를 설명하기 위해 나타내 보인 타이밍도이다.
도 28은 도 23의 단계 230-3의 샘플링 결과 발생되는 첫번째 샘플링 회로 출력 신호로 로우 신호가 발생되는 경우를 설명하기 위해 나타내 보인 타이밍도이다.
도 29는 도 24의 단계 230-5의 첫번째 포지티브 테스트 모드 코드 전송 과정과, 단계 230-6 내지 단계 230-8의 제1 기타 메모리 장치 내에서의 두번째 데이터 스트로브 신호의 딜레이 시간 조정 과정 및 딜레이된 두번째 데이터 스트로브 신호의 전송 과정을 설명하기 위해 나타내 보인 블록도이다.
도 30은 도 24의 단계 230-8에 의해 딜레이 시간이 증가된 제1 기타 메모리 장치의 두번째 데이터 스트로브 신호의 위상을 첫번째 데이터 스트로브 신호의 위상과 비교하여 나타내 보인 타이밍도이다.
도 31은 도 24의 단계 230-10에서 두번째 샘플링 출력 신호가 하이 신호인 경우에서의 피드백에 의해 수행되는 단계 230-5 내지 단계 230-8을 설명하기 위해 나타내 보인 블록도이다.
도 32는 도 24의 피드백된 단계 230-8에 의해 딜레이 시간이 증가된 제1 기타 메모리 장치의 세번째 데이터 스트로브 신호(DQS2_3)의 위상을 첫번째 데이터 스트로브 신호의 위상과 비교하여 나타내 보인 타이밍도이다.
도 33은 도 24의 피드백된 단계 230-9 내지 230-11을 설명하기 위해 나타내 보인 블록도이다.
도 34는 도 25의 단계 230-12의 첫번째 네가티브 테스트 모드 코드 전송 과정과, 단계 230-13 내지 단계 230-15의 제1 기타 메모리 장치 내에서의 두번째 데이터 스트로브 신호의 딜레이 시간 조정 과정 및 딜레이된 두번째 데이터 스트로브 신호의 전송 과정을 설명하기 위해 나타내 보인 블록도이다.
도 35은 도 25의 단계 230-15에서 딜레이 시간이 감소된 제1 기타 메모리 장치의 두번째 데이터 스트로브 신호의 위상을 첫번째 데이터 스트로브 신호의 위상과 비교하여 나타내 보인 타이밍도이다.
도 36은 도 25의 단계 230-17에서 두번째 샘플링 출력 신호가 로우 신호인 경우에서의 피드백에 의해 수행되는 단계 230-12 내지 단계 230-15를 설명하기 위해 나타내 보인 블록도이다.
도 37은 도 25의 피드백된 단계 230-15에 의해 딜레이 시간이 감소된 제1 기타 메모리 장치의 세번째 데이터 스트로브 신호의 위상을 첫번째 데이터 스트로브 신호의 위상과 비교하여 나타내 보인 타이밍도이다.
도 38은 도 25의 피드백된 단계 230-16 내지 230-18을 설명하기 위해 나타내 보인 블록도이다.
도 39는 본 개시의 다른 실시예에 따른 메모리 시스템의 컨트롤러 구성의 일 예를 나타내 보인 블록도이다.
도 40은 도 39의 테스트 모드 코드 발생 회로의 일 예를 나타내 보인 회로도이다.
도 41은 도 39의 테스트 모드 코드 테이블 구성의 일 예를 나타내 보인 도면이다.
도 42는 일 예에 따른 복수개의 메모리 장치들을 갖는 메모리 시스템의 트레이닝 과정 중 기타 메모리 장치에 대한 트레이닝 과정의 일 예를 설명하기 위해 나타내 보인 플로 챠트이다.
도 43 내지 도 45는 도 42의 단계 630-6 또는 단계 630-7에서 테스트 모드 코드를 SAR 방식으로 선정하는 과정을 설명하기 위해 나타내 보인 도면들이다.
도 46은 제1 기타 메모리 장치의 트레이닝 과정에서 제1 기타 메모리 장치의 데이터 스트로브 신호의 딜레이 변화의 일 예를 컨트롤러의 내부 딜레이 클럭 신호와 함께 나타내 보인 타이밍도이다.
도 47 내지 도 53은 도 46의 예에서 SAR 방식으로 테스트 모드 코드(TM code)를 선택하는 과정의 일 예를 설명하기 위해 나타내 보인 도면이다.
본 출원의 예의 기재에서 "제1" 및 "제2"와 같은 기재는 부재를 구분하기 위한 것이며, 부재 자체를 한정하거나 특정한 순서를 의미하는 것으로 사용된 것은 아니다. 또한, 어느 부재의 "상"에 위치하거나 "상부", "하부", 또는 "측면"에 위치한다는 기재는 상대적인 위치 관계를 의미하는 것이지 그 부재에 직접 접촉하거나 또는 사이 계면에 다른 부재가 더 도입되는 특정한 경우를 한정하는 것은 아니다. 또한, 어느 한 구성 요소가 다른 구성 요소에 "연결되어 있다"거나 "접속되어 있다"의 기재는, 다른 구성 요소에 전기적 또는 기계적으로 직접 연결되어 있거나 또는 접속되어 있을 수 있으며, 또는, 중간에 다른 별도의 구성 요소들이 개재되어 연결 관계 또는 접속 관계를 구성할 수도 있다.
도 1은 본 개시에 따른 복수의 메모리 장치들을 갖는 메모리 시스템(100)의 일 예를 나타내 보인 블록도이다. 도 1을 참조하면, 메모리 시스템(100)은, 메모리 미디어(110) 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M) 및 컨트롤러(120)를 포함하여 구성된다. 일 예에서 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M) 각각은 칩(chip) 형태로 구현될 수 있다. 일 예에서 칩 형태의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)은 수직 방향으로 적층될 수 있으며, 적층된 칩들은 패키지 기판 위에 실장되어 하나의 메모리 패키지(memory package)를 구성할 수 있다. 컨트롤러(120)는, 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)에 대한 제어 동작을 수행할 수 있다. 본 예에서 컨트롤러(120)는, 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M) 중 어느 하나의 메모리 장치와 직접 통신하고, 나머지 각각은 다른 메모리 장치들을 경유하여 컨트롤러(120)와 통신할 수 있다. 예컨대 컨트롤러(120)와 대표 메모리 장치(110-1) 사이의 통신은 직접적으로 이루어지고, 제1 기타 메모리 장치(110-2)는 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)와 통신할 수 있다. 세번째 메모리 장치(110-3)은, 제1 기타 메모리 장치(110-2) 및 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)와 통신할 수 있다. 유사한 방식으로 마지막 M번째 메모리 장치(110-M)는 나머지 다른 메모리 장치들을 모두 경유하여 컨트롤러(120)와 통신할 수 있다. 이하에서는 컨트롤러(120)와 독립적인 경로로 통신하는 메모리 장치를 "대표 메모리 장치"로 명명하고, 대표 메모리 장치를 경유하는 종속적인 경로로 컨트롤러(120)와 통신하는 메모리 장치들을 "기타 메모리 장치들"로 명명하기로 한다.
도 2는 도 1의 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)이 적용된 메모리 모듈(10-1) 및 메모리 컨트롤러(120-1)의 일 예를 나타내 보인 블록도이다. 도 2를 도 1과 함께 참조하면, 메모리 모듈(10-1)은 복수개의 메모리 패키지(110)들을 포함할 수 있다. 복수개의 메모리 패키지들(110)들은 모두 동일한 구성을 가질 수 있다. 예컨대 각각의 메모리 패키지(110)는, 도 1을 참조하여 설명한 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)을 포함할 수 있다. 메모리 컨트롤러(120-1)는, 메모리 모듈(10-1)에 포함되는 메모리 패키지(110)의 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)에 대한 액세스(access)를 위한 여러 제어 동작들을 수행할 수 있다. 비록 도면에 나타내지는 않았지만, 메모리 모듈(10-1)은 복수개의 데이터 버퍼들을 포함할 수 있다. 이 경우, 메모리 컨트롤러(120-1)와 메모리 패키지(110)의 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M) 사이의 통신은 데이터 버퍼를 경유하여 이루어질 수 있다. 메모리 컨트롤러(120-1)는, 각각의 메모리 패키지(110)에 포함되는 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)에 대한 트레이닝 과정에서의 제어 동작도 수행할 수 있다.
도 3은 도 1의 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)이 적용된 메모리 모듈(10-2) 및 메모리 컨트롤러(120-3)의 다른 예를 나타내 보인 블록도이다. 도 3을 도 1과 함께 참조하면, 메모리 모듈(10-2)은, 복수개의 메모리 패키지(110)들 및 모듈 컨트롤러(120-2)를 포함할 수 있다. 각각의 메모리 패키지(110)는, 도 1을 참조하여 설명한 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)을 포함할 수 있다. 모듈 컨트롤러(120-2)는, 메모리 패키지(110)의 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)에 대한 액세스를 위한 여러 제어 동작들을 수행할 수 있다. 메모리 컨트롤러(120-3)는, 모듈 컨트롤러(120-2)와 통신하면서 메모리 모듈(10-2)에 대한 제어 동작을 수행할 수 있다. 메모리 패키지(110)의 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)과 메모리 컨트롤러(120-3) 사이의 통신은, 모듈 컨트롤러(120-2)를 통해 간접적으로 이루어진다. 비록 도면에 나타내지는 않았지만, 메모리 모듈(10-2)은 복수개의 데이터 버퍼들을 포함할 수 있다. 이 경우, 메모리 컨트롤러(120-3)와 모듈 컨트롤러(120-2) 사이의 통신은 데이터 버퍼를 경유하여 이루어질 수 있다. 메모리 패키지(110)를 구성하는 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-M)에 대한 트레이닝 과정에서의 제어 동작은, 모듈 컨트롤러(120-2)에 의해 수행될 수 있으며, 경우에 따라서 메모리 컨트롤러(120-3)에 의해 수행될 수도 있다.
도 4는 복수개의 메모리 장치들(110-1, …, 110-8)을 포함하는 메모리 패키지(110)의 단면 구조의 일 예를 나타내 보인 도면이다. 도 4를 참조하면, 메모리 패키지(110)는, 기판(20) 위에 복수개의 메모리 장치들(110-1, 110-2, 110-3, …, 110-8)이 수직 방향을 따라 계단 형태로 적층되는 구조로 구성될 수 있다. 기판(20) 위에는 대표 메모리 장치(110-1)가 배치된다. 대표 메모리 장치(110-1) 위에는 복수개, 예컨대 7개의 제1 내지 제7 기타 메모리 장치들(110-2, 110-3, …, 110-8)이 배치된다. 기판(20)은, 그 상부면에 배치되는 제1 내지 제3 본딩 패드(21, 22, 23)를 포함할 수 있다. 메모리 장치들(110-1, …, 110-8) 각각은 칩 형태로 구현될 수 있다. 대표 메모리 장치(110-1)는 그 상부면에 배치되는 제1 내지 제5 칩 패드(11-1, 12-1, 13-1, 14-1, 15-1)를 포함할 수 있다. 대표 메모리 장치(110-1)의 제1 내지 제3 칩 패드(11-1, 12-1, 13-1)는, 외부, 예컨대 컨트롤러와의 신호 전송을 위해 사용될 수 있다. 대표 메모리 장치(110-1)의 제4 및 제5 칩 패드(14-1, 15-1)는 나머지 기타 메모리 장치들(110-2, …, 110-8)과의 신호 전송을 위해 사용될 수 있다.
대표 메모리 장치(110-1)의 제1 칩 패드(11-1), 제2 칩 패드(12-1), 및 제3 칩 패드(13-1)는, 각각 제1 와이어(31), 제2 와이어(32), 및 제3 와이어(33)를 통해 기판(20)의 제1 본딩 패드(21), 제2 본딩 패드(22), 및 제3 본딩 패드(23)와 전기적으로 연결된다. 일 예에서 대표 메모리 장치(110-1)의 정상 동작 과정, 즉 일반적인 리드 및 라이트 동작 과정에서, 제1 칩 패드(11-1)는 데이터 스트로브 신호(DQS)를 전송하는데 이용될 수 있고, 제2 칩 패드(12-1)는 데이터 신호(DQ)를 전송하는데 이용될 수 있으며, 그리고 제3 칩 패드(13-1)는 커맨드(command) 및 어드레스(address)를 전송받는데 이용될 수 있다. 제1 칩 패드(11-1)로부터 출력되는 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS)는, 제1 와이어(31) 및 기판(20)의 제1 본딩 패드(21)를 통해 외부의 컨트롤러로 전송될 수 있다. 제2 칩 패드(12-1)를 통해 대표 메모리 장치(110-1)로부터 전송되는 데이터 신호(DQ)는, 제2 와이어(32) 및 기판(20)의 제2 본딩 패드(22)를 통해 외부의 컨트롤러로 전송될 수 있다. 외부의 컨트롤러로부터 전송되는 커맨드(command) 및 어드레스(address)는, 기판(20)의 제3 본딩 패드(23), 제3 와이어(33), 및 대표 메모리 장치(110-1)의 제3 칩 패드(13-1)를 통해 대표 메모리 장치(110-1)로 전송될 수 있다. 대표 메모리 장치(110-1)의 제4 칩 패드(14-1) 및 제5 칩 패드(15-1)는, 각각 기타 메모리 장치들(110-2, …, 110-8)로부터 데이터 스토로브 신호(DQS) 및 데이터 신호(DQ)를 전송받는데 사용된다. 대표 메모리 장치(110-1)의 제4 칩 패드(14-1) 및 제5 칩 패드(15-1)는, 대표 메모리 장치(110-1) 내부에서 각각 제1 칩 패드(11-1) 및 제2 칩 패드(12-1)와 전기적으로 연결된다.
기타 메모리 장치들(110-2, …, 110-8) 각각은, 대표 메모리 장치(110-1)와 동일하게 제1 칩 패드 내지 제5 패드를 가질 수 있다. 다만 기타 메모리 장치들(110-2, …, 110-8) 각각의 제1 칩 패드와 제2 칩 패드는 컨트롤러와의 데이터 통신 과정 및 트레이닝 과정에서 사용되지 않으므로, 도면에서의 도시를 생략하였다. 기타 메모리 장치들(110-2, …, 110-8) 각각의 제3 칩 패드(13-2, …, 13-8)는, 제4 와이어(34)를 통해 수직 방향으로 인접한 다른 기타 메모리 장치의 제3 칩 패드와 전기적으로 상호 연결된다. 예컨대 최상위의 제7 기타 메모리 장치(110-8)의 제3 칩 패드(13-8)는 바로 아래의 제6 기타 메모리 장치(110-7)의 제3 칩 패드(13-7)에 연결된다. 제6 기타 메모리 장치(110-7)의 제3 칩 패드(13-7)는 바로 아래의 제5 기타 메모리 장치(110-6)의 제3 칩 패드(13-6)에 연결된다. 이와 같은 방식으로 제2 기타 메모리 장치(110-3)의 제3 칩 패드(13-3)는 바로 아래의 제1 기타 메모리 장치(110-2)의 제3 칩 패드(13-2)에 연결되고, 제1 기타 메모리 장치(110-2)의 제3 칩 패드(13-2)는, 대표 메모리 장치(110-1)의 제3 칩 패드(13-1)에 연결된다.
기타 메모리 장치들(110-2, …, 110-8) 각각의 제4 칩 패드(14-2, …, 14-8)는, 제5 와이어(35)를 통해 수직 방향으로 인접한 다른 메모리 장치와 전기적으로 상호 연결된다. 즉 제7 기타 메모리 장치(110-8)의 제4 칩 패드(14-8)는 바로 아래의 제6 기타 메모리 장치(110-7)의 제4 칩 패드(14-7)에 연결된다. 제6 기타 메모리 장치(110-7)의 제4 칩 패드(14-7)는 바로 아래의 제5 기타 메모리 장치(110-6)의 제4 칩 패드(14-6)에 연결된다. 이와 같은 방식으로 제2 기타 메모리 장치(110-3)의 제4 칩 패드(14-3)는 바로 아래의 제1 기타 메모리 장치(110-2)의 제4 칩 패드(14-2)에 연결되고, 제1 기타 메모리 장치(110-2)의 제4 칩 패드(14-2)는 대표 메모리 장치(110-1)의 제4 칩 패드(14-1)에 연결된다.
기타 메모리 장치들(110-2, …, 110-8) 각각의 제5 칩 패드(15-2, …, 15-8)는, 제6 와이어(36)를 통해 수직 방향으로 인접한 다른 메모리 장치와 전기적으로 상호 연결된다. 즉 제7 기타 메모리 장치(110-8)의 제5 칩 패드(15-8)는 바로 아래의 제6 기타 메모리 장치(110-7)의 제5 칩 패드(15-7)에 연결된다. 제6 기타 메모리 장치(110-7)의 제5 칩 패드(15-7)는 바로 아래의 제5 기타 메모리 장치(110-6)의 제5 칩 패드(15-6)에 연결된다. 이와 같은 방식으로 제2 기타 메모리 장치(110-3)의 제5 칩 패드(15-3)는 바로 아래의 제1 기타 메모리 장치(110-2)의 제5 칩 패드(15-2)에 연결되고, 제1 기타 메모리 장치(110-2)의 제5 칩 패드(15-2)는, 대표 메모리 장치(110-1)의 제5 칩 패드(15-1)에 연결된다.
본 실시예에 따른 메모리 패키지(110)에서 기타 메모리 장치들(110-2, …, 110-8) 각각은, 대표 메모리 장치(110-1)를 통해 외부, 예컨대 컨트롤러와 데이터를 주고 받는다. 일 예에서 제1 기타 메모리 장치(110-2)로부터의 데이터 스트로브 신호(DQS)는, 제1 기타 메모리 장치(110-2)의 제4 칩 패드(14-2)와, 제5 와이어(35)와, 대표 메모리 장치(110-1)의 제4 칩 패드(14-1)를 통해 대표 메모리 장치(110-1) 내부로 전송된다. 제4 칩 패드(14-1)를 통해 대표 메모리 장치(110-1) 내부로 전송된 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS)는, 대표 메모리 장치(110-1) 내부에서 대표 메모리 장치(110-1)의 제1 칩 패드(11-1)로 전달된다. 그리고 제1 와이어(31)와 기판(20)의 제1 본딩 패드(21)를 통해 외부의 컨트롤러로 전송될 수 있다.
제7 기타 메모리 장치(110-8)로부터의 데이터 스트로브 신호(DQS)는, 제7 기타 메모리 장치(110-8)의 제4 칩 패드(14-8)로부터 제5 와이어(35)를 통해 바로 아래의 제6 기타 메모리 장치(110-7)의 제4 칩 패드(14-7)로 전송된다. 이어서 제5 와이어(35)를 통해 제5 기타 메모리 장치(110-6)의 제4 칩 패드(14-6)으로 전송된다. 이와 같은 방식으로 제5 와이어(35)와 제4 기타 메모리 장치(110-5)의 제4 칩 패드(14-6) 내지 제1 기타 메모리 장치(110-2)의 제4 칩 패드(14-2)로 전송된다. 제1 기타 메모리 장치(110-2)의 제4 칩 패드(14-2)로 전송된 제7 기타 메모리 장치(110-8)의 데이터 스트로브 신호(DQS)는, 제5 와이어(35) 및 대표 메모리 장치(110-1)의 제4 칩 패드(14-1)를 통해 대표 메모리 장치(110-1) 내부로 전송된다. 제4 칩 패드(14-1)를 통해 대표 메모리 장치(110-1) 내부로 전송된 제7 기타 메모리 장치(110-8)의 데이터 스트로브 신호(DQS)는, 대표 메모리 장치(110-1) 내부에서 대표 메모리 장치(110-1)의 제1 칩 패드(11-1)로 전달된다. 그리고 제1 와이어(31)와 기판(20)의 제1 본딩 패드(21)를 통해 외부의 컨트롤러로 전송될 수 있다. 나머지 기타 메모리 장치들 각각도 동일한 방식으로 데이터 스트로브 신호(DQS)를 외부의 컨트롤러로 전송할 수 있다.
도 5는 도 1의 메모리 시스템(100)에서의 대표 메모리 장치(110-1) 및 제1 기타 메모리 장치(110-2)의 구성을 나타내 보인 도면이다. 도 5를 참조하면, 대표 메모리 장치(110-1)는, 제1 내지 제4 칩 패드(11-1, 12-1, 13-1, 14-1)를 포함한다. 도 4에 나타낸 대표 메모리 장치(110-1)의 제5 칩 패드(15-1)는 본 실시예에서의 트레이닝 과정에서 사용되지 않으므로, 도 5에서 생략되었다. 도 4를 참조하여 설명한 바와 같이, 메모리 장치들 각각의 정상 동작 과정, 예컨대 리드(read) 및 라이트(write) 동작시, 대표 메모리 장치(110-1)의 제1 내지 제3 칩 패드(11-1, 12-1, 13-1)는, 각각 외부의 컨트롤러와의 데이터 스트로브 신호(DQS), 데이터 신호(DQ), 및 커맨드/어드레스 전송을 위한 것일 수 있다. 그러나 트레이닝 과정에서, 대표 메모리 장치(110-1)의 제1 내지 제3 칩 패드(11-1, 12-1, 13-1)는, 각각 데이터 스트로브 신호(DQS), 테스트 모드(test mode) 코드(TM code), 및 메모리 리페어 데이터(memory repair data)(MRD)의 전송에 사용된다. 대표 메모리 장치(110-1)는, 제1 및 제2 리시버(receiver)(41-1, 42-1)와, 제1 내지 제3 드라이버(driver)(51-1, 52-1, 53-1)를 포함할 수 있다. 또한 대표 메모리 장치(110-1)는, 지연 고정 루프(Delay Lock Loop)(DLL)(112-1)와, 트리거 회로(trigger)(114-1)와, 그리고 럽쳐 회로(rupture circuit)(116-1)를 포함하여 구성될 수 있다.
제1 및 제2 리시버(41-1, 42-1)와, 제1 내지 제3 드라이버(51-1, 52-1, 53-1)는, 대표 메모리 장치(110-1) 내에서의 입/출력 버퍼(buffer) 기능을 수행한다. 제1 리시버(41-1)는 제2 칩 패드(12-1)를 통해 컨트롤러로부터 전송되는 테스트 모드 코드(TM code)를 입력받아 지연 고정 루프(DLL)(112-1)의 입력단자로 출력시킨다. 컨트롤러로부터 전송되는 테스트 모드 코드(TM code)는, 클럭 신호의 지연 정보에 관한 데이터로 정의될 수 있다. 일 예에서 테스트 모드 코드(TM code)는 이진 데이터로 구성될 수 있다. 제2 리시버(42-1)는 제3 칩 패드(13-1)를 통해 컨트롤러로부터 전송되는 메모리 리페어 데이터(MRD)를 입력받아 럽쳐 회로(116-1)의 입력단자로 출력시킨다. 제1 드라이버(51-1)는, 대표 메모리 장치(110-1)의 제2 드라이버(52-1)의 출력단자를 통해 전송되는 데이터 스트로브 신호(DQS)를 입력받아 제1 칩 패드(11-1)를 통해 컨트롤러로 출력시킨다. 제2 드라이버(52-1)는, 제3 드라이버(53-1)의 출력단자를 통해 입력되는 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS)를 제1 드라이버(51-1)의 입력단자로 출력시킨다. 기타 메모리 장치의 데이터 스트로브 신호(DQS)가 대표 메모리 장치(110-1)로 전송되는 경우, 제2 드라이버(52-1)는, 제4 칩 패드(14-1)를 통해 전송되는 기타 메모리 장치의 데이터 스트로브 신호(DQS)를 입력받아 제1 드라이버(51-1)의 입력단자로 출력시킨다. 제3 드라이버(53-1)는, 트리거 회로(114-1)로부터 출력되는 데이터 스트로브 신호(DQS)를 입력받아 제2 드라이버(52-1)의 입력단자로 출력시킨다.
지연 고정 루프(DLL)(112-1)는 DLL 클럭 신호를 출력시켜 트리거 회로(114-1)로 입력시킨다. 지연 고정 루프(DLL)(112-1)로부터 출력되는 DLL 클럭 신호는, 외부 클럭 신호, 예컨대 컨트롤러의 내부 클럭 신호에 동기되도록 일정 시간, 즉 레플리커 딜레이(replica delay)만큼 빠른 위상을 갖는다. 또한 지연 고정 루프(DLL)(112-1)는, 제1 리시버(41-1)를 통해 입력되는 테스트 모드 코드(TM code)에 대응되어 DLL 클럭 신호의 딜레이 시간을 추가적으로 조정한다. 트리거 회로(114-1)는, 지연 고정 루프(DLL)(112-1)로부터 입력되는 딜레이가 조정된 DLL 클럭 신호에 동기되는 데이터 스트로브 신호(DQS)를 출력시킨다. 트리거 회로(114-1)로부터 출력되는 데이터 스트로브 신호(DQS)는, 대표 메모리 장치(110-1) 내부에서 제3 드라이버(53-1), 제2 드라이버(52-1), 및 제1 드라이버(51-1)를 통해 제1 칩 패드(11-1)로 전송된다. 럽쳐 회로(116-1)는, 제2 리시버(13-1)로부터 입력되는 메모리 리페어 데이터(MRD)에 따라 대표 메모리 장치(110-1)의 퓨즈를 이용한 럽쳐 동작을 수행한다.
제1 기타 메모리 장치(110-2) 내지 제7 기타 메모리 장치(110-8)는, 대표 메모리 장치(110-1)와 동일한 구성을 갖는다. 이하에서 설명하는 제1 기타 메모리 장치(110-2)의 구조는 제2 기타 메모리 장치(110-3) 내지 제7 기타 메모리 장치(110-8)에도 동일하게 적용된다. 구체적으로 제1 기타 메모리 장치(110-2)는, 제1 내지 제4 칩 패드(11-2, 12-2, 13-2, 14-2), 제1 및 제2 리시버(41-2, 42-2), 제1 내지 제3 드라이버(51-2, 52-2, 53-2), 지연 고정 루프(DLL)(112-2), 트리거 회로(114-2), 및 럽쳐 회로(116-2)를 포함한다. 도 4를 참조하여 설명한 바와 같이, 제1 기타 메모리 장치(110-2)로부터의 데이터 스트로브 신호(DQS)는 대표 메모리 장치(110-1)를 통해 외부로 출력된다. 이에 따라 제1 기타 메모리 장치(110-2)의 제1 및 제2 드라이버(51-2, 52-2)와 제1 칩 패드(11-2)는 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS)의 전송에 사용되지 않는다. 제1 기타 메모리 장치(110-2)에서 트리거 회로(114-2)로부터 출력되는 데이터 스트로브 신호(DQS)는, 제1 기타 메모리 장치(110-2)의 제3 드라이버(53-2) 및 제4 칩 패드(14-2)와, 제5 와이어(35)를 통해 대표 메모리 장치(110-1)의 제4 칩 패드(14-1)로 전송된다. 대표 메모리 장치(110-1)의 제4 칩 패드(14-1)로 전송된 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS)는, 대표 메모리 장치(110-1)의 제2 드라이버(52-1), 제1 드라이버(51-1), 및 제1 칩 패드(11-1)를 통해 컨트롤러로 전송된다. 도면에 나타내지는 않았지만, 세번째 메모리 장치로부터 출력되는 데이터 스트로브 신호(DQS)는, 제1 기타 메모리 장치(110-2)의 제4 칩 패드(14-2), 대표 메모리 장치(110-1)의 제4 칩 패드(14-1), 제2 드라이버(52-1), 제1 드라이버(51-1), 및 제1 칩 패드(11-1)를 통해 컨트롤러로 전송된다.
도 6은 도 1의 메모리 시스템(100)에서의 컨트롤러(120) 구성의 일 예를 나타내 보인 도면이다. 도 6을 참조하면, 컨트롤러(120)는, 적어도 3개의 제1 내지 제3 컨트롤러 패드(121A, 121B, 121C)와, 1개의 리시버(122) 및 2개의 드라이버(123A, 123B)와, 샘플링 회로(sampling circuit)(124)와, 딜레이 회로(delay circuit)(125)와, 제1 딜레이 컨트롤 블록(delay control block)(126)과, 제2 딜레이 컨트롤 블록(127)과, 딜레이 코드 레지스터(delay code register)(128)와, 그리고 제1 및 제2 스위치(switch)(129A, 129B)를 포함하여 구성될 수 있다. 일 예에서 제1 컨트롤러 패드(121A)는, 메모리 장치의 정상 동작 과정에서의 데이터 스트로브 신호(DQS)의 전송을 위한 패드일 수 있다. 제2 컨트롤러 패드(121B)는, 메모리 장치의 정상 동작 과정에서의 데이터 신호(DQ)의 전송을 위한 패드일 수 있다. 그리고 제3 컨트롤러 패드(121C)는, 메모리 장치의 정상 동작 과정에서의 커맨드 및 어드레스 전송에 사용되는 패드일 수 있다. 메모리 장치에 대한 트레이닝 과정에서, 제1 컨트롤러 패드(121A)는, 트레이닝이 수행되는 메모리 장치로부터 데이터 스트로브 신호(DQS)를 전송받는데 사용된다. 제2 컨트롤러 패드(121B)는 테스트 모드 코드(TM code)를 메모리 장치로 전송하는데 사용된다. 그리고 제3 컨트롤러 패드(121C)는 메모리 리페어 데이터(MRD)를 메모리 장치로 전송하는데 사용된다.
1개의 리시버(122) 및 2개의 드라이버(123A, 123B)는 컨트롤러(120) 내에서의 입/출력 버퍼 기능을 수행한다. 리시버(122)는, 제1 컨트롤러 패드(121A)를 통해 트레이닝이 수행되는 메모리 장치로부터 전송되는 데이터 스트로브 신호(DQS)를 받아 샘플링 회로(124)에 입력시킨다. 샘플링 회로(124)는, 리시버(122)로부터 입력되는 데이터 스트로브 신호(DQS)에 대한 샘플링을 수행하고 그 결과를 출력시킨다. 일 예에서 샘플링 회로(124)는 D-플립-플랍(flip-flop)(F/F)을 포함할 수 있다. 이 경우 샘플링 회로(124)는 입력 단자, 출력 단자 및 클럭 입력 단자를 갖는다. 클럭 입력 단자를 통해서는 컨트롤러(120)의 내부 딜레이 클럭 신호(Internal CKD)가 입력된다. 입력 단자를 통해서는 샘플링할 신호, 즉 리시버(122)를 통해 전송되는 데이터 스트로브 신호(DQS)가 입력된다. 샘플링 회로(124)의 입력 단자를 통해 데이터 스트로브 신호(DQS)가 입력되면, 샘플링 회로(124)는, 내부 딜레이 클럭 신호(Internal CKD)를 이용하여 데이터 스트로브 신호(DQS)에 대한 샘플링을 수행하고, 그 결과인 샘플링 회로 출력 신호(sampling circuit output)(SCO)를 출력 단자를 통해 출력시킨다. 샘플링 회로 출력 신호(SCO)는 로우(low) 신호(값 "0") 또는 하이(high) 신호(값 "1")일 수 있다.
일 예에서 샘플링 회로(124)에 의해 수행되는 샘플링은, 내부 딜레이 클럭 신호(Internal CKD)의 상승 에지를 기준으로 수행될 수 있다. 이 경우 내부 딜레이 클럭 신호(Internal CKD)의 상승 에지에서 데이터 스트로브 신호(DQS)가 하이 신호이면, 샘플링 회로 출력 신호(SCO)로서 하이 신호가 출력될 수 있다. 반면에 내부 딜레이 클럭 신호(Internal CKD)의 상승 에지에서 데이터 스트로브 신호(DQS)가 로우 신호이면, 샘플링 회로 출력 신호(SCO)로서 로우 신호가 출력될 수 있다. 내부 딜레이 클럭 신호(Internal CKD)와 데이터 스트로브 신호(DQS)의 위상이 일치되는 경우, 즉 내부 딜레이 클럭 신호(Internal CKD)의 상승 에지에서 데이터 스트로브 신호(DQS)도 상승 에지가 되는 경우 샘플링 회로 출력 신호(SCO)는, 이전의 로우 신호에서 하이 신호로, 또는 이전의 하이 신호에서 로우 신호로 변경된다.
딜레이 회로(125)는, 제1 딜레이 컨트롤 블록(126)으로부터 출력되는 제1 제어 신호(CS1)를 입력받고, 내부 클럭 신호(CK)를 일정 시간 지연시킨 내부 딜레이 클럭 신호(Internal CKD)를 출력시킨다. 딜레이 회로(125)로부터 발생되는 내부 딜레이 클럭 신호(Internal CKD)는 샘플링 회로(124)에 입력된다. 제1 딜레이 컨트롤 블록(126)은, 샘플링 회로(124)로부터의 샘플링 회로 출력 신호(SCO)에 따라 내부 클럭 신호(Internal CK)를 딜레이시키는 제1 제어 신호(SC1)를 딜레이 회로(125)에 입력시킨다. 제1 제어 신호(SC1)에 의해, 딜레이 회로(125)는, 내부 클럭 신호(CK)를 지연시킨 내부 딜레이 클럭 신호(Internal CKD)가 출력되거나, 더 이상 딜레이 동작을 수행하지 않는다. 제1 스위치(129A)는, 샘플링 회로(124)의 출력 단자가 제1 딜레이 컨트롤 블록(126) 및 제2 딜레이 컨트롤 블록(127) 중 어느 하나에 연결되도록 스위칭 동작을 수행한다. 제1 스위치(129A)는, 딜레이 회로(125)로부터 발생되는 내부 딜레이 클럭 신호(Internal CKD)와 샘플링 회로(124)에 입력되는 데이터 스트로브 신호(DQS)의 동기화가 이루어질 때까지, 샘플링 회로(124)의 출력 단자를 제1 딜레이 컨트롤 블록(126)에 연결시킨다. 내부 딜레이 클럭 신호(Internal CKD)와 데이터 스트로브 신호(DQS)의 동기화가 이루어진 후, 제1 스위치(129A)는 샘플링 회로(124)의 출력 단자를 제2 딜레이 컨트롤 블록(127)에 연결시킨다.
제2 딜레이 컨트롤 블록(127)은, 샘플링 회로(124)로부터 출력되는 샘플링 회로 출력 신호(SCO)에 응답하여 제2 제어 신호(SC2)를 출력시킨다. 제2 제어 신호(SC2)는 딜레이 코드 레지스터(128)로 입력된다. 일 예에서, 제2 제어 신호(SC2)는, 딜레이를 증가시키는 신호, 딜레이를 감소시키는 신호, 및 저장 신호로 구분될 수 있다. 딜레이 코드 레지스터(128)는, 복수개의 저장영역들 각각에 서로 다른 딜레이 시간 정보를 나타내는 테스트 모드 코드들이 저장되는 테스트 모드 코드 테이블(128-1)을 포함한다. 일 예에서 테스트 모드 코드 테이블(128-1) 내에는 딜레이 시간의 증감이 없는 디폴트 테스트 모드 코드(TM code 0)와, 딜레이 시간을 증가시키는 포지티브 테스트 모드 코드들(TM code +1, TM code +2, …, TM code +N)과, 그리고 딜레이 시간을 감소시키는 네가티브 테스트 모드 코드들(TM code -1, TM code -2, …, TM code -N)이 저장될 수 있다. 일 예에서 테스트 모드 코드들(TM code +N, …, TM code +1, TM code 0, TM code -1, …, TM code -N) 각각은, 인접한 다른 테스트 모드 코드와 일정한 딜레이 시간만큼 증가하거나 감소하는 딜레이 시간 정보를 갖는다.
딜레이 코드 레지스터(128)는, 제2 딜레이 컨트롤 블록(127)으로부터의 제2 제어 신호(SC2)에 응답하여, 디폴트 테스트 모드 코드(TM code 0)와, 포지티브 테스트 모드 코드들(TM code +1, TM code +2, …, TM code +N)과, 그리고 네가티브 테스트 모드 코드들(TM code -1, TM code -2, …, TM code -N) 중 어느 하나의 테스트 모드 코드를 출력하거나, 또는 이전에 출력되었던 테스트 모드 코드를 저장한다. 딜레이 코드 레지스터(128)로부터 출력되는 테스트 모드 코드(TM code)는, 제1 드라이버(123A)로 입력된다. 제1 드라이버(123A)는 입력된 테스트 모드 코드(TM code)를 제2 컨트롤러 패드(121B)를 통해 메모리 장치로 전송시킨다. 제2 딜레이 컨트롤 블록(127)의 제2 제어 신호(SC2)에 따라 딜레이 코드 레지스터(128) 내에서 테스트 모드 코드(TM code)가 저장되는 경우, 딜레이 코드 레지스터(128)는, 저장된 테스트 모드 코드(TM code)가 갖는 정보를 포함하는 메모리 리페어 데이터(MRD)를 출력한다. 메모리 리페어 데이터(MRD)는 제2 드라이버(123B)로 입력된다. 제2 드라이버(123B)는 입력된 메모리 리페어 데이터(MRD)를 제3 컨트롤러 패드(121C)를 통해 메모리 장치로 전송시킨다. 이 과정에서 제2 스위치(129B)는, 딜레이 코드 레지스터(128)로부터 테스트 모드 코드(TM code)가 출력되는 동안 딜레이 코드 레지스터(128)의 출력단자를 제1 드라이버(123A)의 입력단자에 연결시킨다. 반면에 딜레이 코드 레지스터(128)로부터 메모리 리페어 데이터(MRD)가 출력되면 딜레이 코드 레지스터(128)의 출력단자를 제2 드라이버(123B)의 입력단자에 연결시킨다.
도 7 및 도 8은 도 5의 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)가 출력되는 과정에서 대표 메모리 장치(110-1)가 갖는 레플리커 딜레이 및 실제 딜레이를 설명하기 위해 나타내 보인 도면들이다. 도 7 및 도 8을 참조하면, 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)는, 대표 메모리 장치(110-1)의 지연 고정 루프(DLL)(112-1)로부터 출력되는 DLL 클럭 신호(DLL_CLK1)에 동기되어 트리거 회로(114-1)로부터 발생된다. 트리거 회로(114-1)로부터 발생되는 데이터 스트로브 신호(DQS1)는, 대표 메모리 장치(110-1)의 제3 드라이버(53-1), 제2 드라이버(52-1), 및 제1 드라이버(51-1)를 순차적으로 거친 후에 제1 칩 패드(11-1)를 통해 출력된다. 이와 같이 대표 메모리 장치(110-1) 내에서 데이터 스트로브 신호(DQS1)가 발생되어 대표 메모리 장치(110-1)로부터 출력되기까지 "tD1+tD2+tD3"의 딜레이가 존재한다. 여기서 "tD1"은 지연 고정 루프(DLL)(112-1)로 입력되는 입력 클럭(ICLK)이 갖는 딜레이 시간이고, "tD2"는 트리거 회로(114-1) 및 제3 드라이버(53-1)를 거치는 과정에서 발생하는 딜레이 시간이며, "tD3"는 제2 드라이버(52-1) 및 제1 드라이버(51-1)를 거치는 과정에서 발생하는 딜레이 시간이다. 이에 따라 대표 메모리 장치(110-1)의 지연 고정 루프(DLL)(112-1)에서 위상을 조정하지 않는 경우, 대표 메모리 장치(110-1)로부터 출력되는 데이터 스트로브 신호(DQS1)는 "tD1+tD2+tD3"의 딜레이 시간만큼 늦게 출력되고, 이 데이터 스트로브 신호(DQS1)와 컨트롤러의 내부 클럭 신호 사이에는 "tD1+tD2+tD3"의 레플리커 딜레이(Replica Delay)가 발생된다.
이와 같은 대표 메모리 장치(110-1)로부터 출력되는 데이터 스트로브 신호(DQS1)와 컨트롤러의 내부 클럭 신호 사이의 레플리커 딜레이를 제거하기 위해, 대표 메모리 장치(110-1)의 지연 고정 루프(DLL)(112-1)는, 레플리커 딜레이에 해당하는 시간, 즉 "tD1+tD2+tD3"의 시간만큼 앞선 DLL 클럭 신호(DLL_CLK1)를 발생시킨다. 그리고 트리거 회로(114-1)는 지연 고정 루프(DLL)(112-1)로부터의 DLL 클럭 신호(DLL_CLK1)에 동기되는 데이터 스트로브 신호(DQS1)를 발생시킨다. 이에 따라 도 8의 타이밍도에 나타낸 바와 같이, 대표 메모리 장치(110-1)의 트리거 회로(114-1)는 "tD1+tD2+tD3"의 레플리커 딜레이만큼 앞선 시점에서 데이터 스트로브 신호(DQS1)를 발생시킨다. 이상적인 경우, 대표 메모리 장치(110-1)의 레플리커 딜레이는 실제 딜레이(Real Delay)와 같으며, 이에 따라 대표 메모리 장치(110-1)로부터 출력되는 데이터 스트로브 신호(DQS1)는, 특정 시점, 예컨대 데이터 리드 시점에서 컨트롤러의 내부 클럭 신호와 일치된 위상을 갖는다.
도 9 내지 도 11은 도 5의 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)가 출력되는 과정에서 제1 기타 메모리 장치(110-2)가 갖는 레플리커 딜레이 및 실제 딜레이를 설명하기 위해 나타내 보인 도면들이다. 도 9 내지 도 11을 참조하면, 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는, 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로부터 출력되는 DLL 클럭 신호(DLL_CLK2)에 동기되어 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 발생된다. 제1 기타 메모리 장치(110-2)의 트리거 회로(114-1)로부터 출력되는 데이터 스트로브 신호(DQS2)는, 제1 기타 메모리 장치(110-2)의 제3 드라이버(53-2)를 거쳐서 제1 기타 메모리 장치(110-2)의 제2 칩 패드(14-2)로 전달되며, 이어서 제5 와이어(35)를 통해 대표 메모리 장치(110-1)의 제2 칩 패드(14-1)로 전송된다. 대표 메모리 장치(110-1)로 전송된 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는, 대표 메모리 장치(110-1)의 제2 드라이버(52-1) 및 제1 드라이버(51-1)를 순차적으로 거친 후에 대표 메모리 장치(110-1)의 제1 칩 패드(11-1)를 통해 출력된다.
이와 같이, 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는 대표 메모리 장치(110-1)를 통해 외부로 출력되지만, 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(114-2)로부터 출력되는 DLL 클럭 신호(DLL_CLK2)의 위상은, 제1 기타 메모리 장치(110-2)가 갖는 레플리커 딜레이에 의해 정해진다. 구체적으로 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 발생되는 데이터 스트로브 신호(DQS2)와 제1 기타 메모리 장치(110-2)의 제1 칩 패드(11-2)로 출력되는 데이터 스트로브 신호(DQS2) 사이에 "tD4+tD5+tD6"의 레플리커 딜레이가 존재한다. 여기서 "tD4"은 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로 입력되는 입력 클럭(ICLK) 전송에 소요되는 딜레이 시간이고, "tD5"는 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2) 및 제3 드라이버(53-2)의 신호 전송 과정에서 발생하는 딜레이 시간이며, "tD6"는 제1 기타 메모리 장치(110-2)의 제2 드라이버(52-2) 및 제1 드라이버(51-2)의 신호 전송 과정에서 발생하는 딜레이 시간이다.
이에 따라 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)는, "tD4+tD5+tD6"의 레플리커 딜레이만큼 빠르게 출력되도록 타이밍이 조정된 DLL 클럭 신호(DLL_CLK2)를 출력시킨다. 그리고 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 출력되는 데이터 스트로브 신호(DQS2)는, 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로부터의 DLL 클럭 신호(DLL_CLK2)에 일치되는 위상을 갖는다. 그런데 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는, 제1 기타 메모리 장치(110-2)의 제2 드라이버(52-2) 및 제1 드라이버(51-2)를 거치지 않고, 대표 메모리 장치(110-1)의 제2 드라이버(52-1) 및 제2 드라이버(51-1)를 거쳐 출력된다. 따라서 제1 기타 메모리 장치(110-2)의 딜레이 시간인 "tD6"와 대표 메모리 장치(110-1)의 딜레이 시간인 "tD3"가 다를 경우, 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는 레플리커 딜레이와 다른 실제 딜레이를 나타낼 수 있다.
일 예에서 도 10에 나타낸 바와 같이, 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는, 레플리커 딜레이인 "tD4+tD5+tD6"보다 짧은 실제 딜레이를 나타낼 수 있다. 이 현상은 제1 기타 메모리 장치(110-2)의 딜레이 시간인 "tD6"가 대표 메모리 장치(110-1)의 딜레이 시간인 "tD3"보다 큰 경우에 발생될 수 있다. 이 경우 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는 레플리커 딜레이에 의한 시점보다 빠른 위상을 가지며, 그 결과 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)와 컨트롤러의 내부 클럭 신호 사이에는 "tDQSCK2"의 타이밍 스큐(timing skew)가 발생된다. 즉 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)의 실제 딜레이는, 레플리커 딜레이인 "tD4+tD5+tD6"에서 "tDQSCK2"의 타이밍 스큐만큼 짧아진다. 본 예에서는, 실제 딜레이가 레플리커 딜레이와 실질적으로 같아지도록, 테스트 모드 코드(TM code)를 이용하여 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로부터 출력되는 DLL 클럭 신호(DLL_CLK2)를 조정하는 트레이닝 과정을 통해, 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)와 컨트롤러의 내부 클럭 신호 사이의 타이밍 스큐가 제거되도록 한다.
다른 예에서, 도 11에 나타낸 바와 같이, 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는, 레플리커 딜레이인 "tD4+tD5+tD6"보다 긴 실제 딜레이를 나타낼 수 있다. 이 현상은 제1 기타 메모리 장치(110-2)의 딜레이 시간인 "tD6"가 대표 메모리 장치(110-1)의 딜레이 시간인 "tD3"보다 짧은 경우에 발생될 수 있다. 이 경우 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)는 레플리커 딜레이에 의한 시점보다 느린 위상을 가지며, 그 결과 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)와 컨트롤러의 내부 클럭 신호 사이에는 "tDQSCK2"의 타이밍 스큐(timing skew)가 발생된다. 즉 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)의 실제 딜레이는, 레플리커 딜레이인 "tD4+tD5+tD6"에서 "tDQSCK2"의 타이밍 스큐만큼 길어진다. 본 예에서는, 실제 딜레이가 레플리커 딜레이와 실질적으로 같아지도록, 테스트 모드 코드(TM code)를 이용하여 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로부터 출력되는 DLL 클럭 신호(DLL_CLK2)를 조정하는 트레이닝 과정을 통해, 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)와 컨트롤러의 내부 클럭 신호 사이의 타이밍 스큐가 제거되도록 한다.
본 예에 따른 복수의 메모리 장치들(도 1의 110-1, …, 110-M)을 갖는 메모리 시스템(도 1의 100)에 있어서, 대표 메모리 장치(110-1)에 대한 트레이닝은, 대표 메모리 장치(110-1)로부터의 데이터 스트로브 신호(DQS1)의 위상과 일치되는 컨트롤러(120) 내의 내부 딜레이 클럭 신호(Internal CKD)를 생성함으로써 수행될 수 있다. 그리고 기타 메모리 장치들(110-2, …, 110-M) 각각에 대한 트레이닝은, 컨트롤러(120) 내에서 생성된 내부 딜레이 클럭 신호(Internal CKD)의 위상에 일치되도록 기타 메모리 장치들(110-2, …, 110-M) 각각의 데이터 스트로브 신호의 위상을 조정함으로써 수행될 수 있다. 기타 메모리 장치들(110-2, …, 110-M) 각각의 데이터 스트로브 신호의 위상 조정은, 컨트롤러(120)의 딜레이 코드 레지스터(128) 내의 테스트 모드 코드가 갖는 딜레이 정보에 응답하여, 기타 메모리 장치들(110-2, …, 110-M) 각각의 지연 고정 루프(DLL) 내에서 수행된다. 이하에서는 컨트롤러(120)의 딜레이 코드 레지스터(128)의 구성 예와, 그에 따른 기타 메모리 장치들(110-2, …, 110-M) 각각의 지연 고정 루프(DLL) 내에서의 데이터 스트로브 신호의 위상 조정 과정을 설명하기로 한다.
도 12 및 도 13은 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)에 포함되는 딜레이 회로 구성의 일 예를 나타내 보인 도면들이다. 이하에서 설명되는 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)의 구성 및 동작은 나머지 다른 기타 메모리 장치의 지연 고정 루프에도 동일하게 적용될 수 있다. 구체적으로 도 12 및 도 13은 각각 지연 고정 루프(DLL)(112-2)의 딜레이 회로를 구성하는 메인 딜레이 회로(310) 및 추가 딜레이 회로(320)를 나타내 보인 회로도이다. 먼저 도 12를 참조하면, 메인 딜레이 회로(310)는, 복수개, 예컨대 7개의 제1 내지 제7 단위 딜레이 회로(unit delay circuit)(311-1, …, 311-7)와, 출력단에 배치되는 출력 낸드(NAND) 게이트(312)와, 입력단에 배치되는 제1 내지 제8 입력 낸드 게이트(313-1, …, 313-8)를 포함하여 구성될 수 있다. 제1 내지 제7 단위 딜레이 회로(311-1, …, 311-7) 각각은, 입력 신호를 일정 시간동안 딜레이시켜 출력시키는 기능을 수행한다. 이하에서는 제1 내지 제7 단위 딜레이 회로(311-1, …, 311-7)가 각각 120ps의 시간만큼 딜레이시키도록 구성되는 경우를 예로 들어 설명하기로 한다. 제1 내지 제7 단위 딜레이 회로(311-1, …, 311-7)는 체인(chain) 형태로 연결된다. 이에 따라 제1 단위 릴레이 회로(311-1)의 출력신호는 제2 단위 릴레이 회로(311-2)에 입력되고, 제2 단위 릴레이 회로(311-2)의 출력신호는 제3 단위 릴레이 회로(311-3)에 입력된다. 이와 같은 방식으로 제2 내지 제6 단위 릴레이 회로(311-3, …, 311-6) 각각의 출력 신호는 제3 내지 제7 단위 릴레이 회로(311-4, …, 311-7)에 입력된다. 제7 단위 릴레이 회로(311-7)의 출력신호는 출력 낸드 게이트(312)의 제1 입력단자로 입력된다.
제1 내지 제8 입력 낸드 게이트(313-1, …, 313-8)의 제1 입력단자에는 입력 클럭 신호(CKIN)가 입력된다. 일 예에서 입력 클럭 신호(CKIN)는, 제1 기타 메모리 장치(110-2) 내의 기준 클럭 신호일 수 있다. 제1 내지 제8 입력 낸드 게이트(313-1, …, 313-8)의 제2 입력단자로는 테스트 모드 코드(TM code)를 구성하는 복수개의 비트값들, 예컨대 12개의 비트값들(TM<11:0>) 중 일부 비트값들, 예컨대 하위 8개의 비트값들(TM<7:0>) 각각이 입력된다. 제1 내지 제7 입력 낸드 게이트(313-1, …, 313-7)의 출력 신호는, 각각 제1 내지 제7 단위 딜레이 회로(311-1, …, 311-7)에 입력되고, 제8 입력 낸드 게이트(313-8)의 출력 신호는 출력 낸드 게이트(312)의 제2 입력단자에 입력된다.
메인 딜레이 회로(310)로 입력되는 테스트 모드 코드(TM code)의 8개의 비트값들(TM<7:0>) 중 어느 하나의 비트값이 하이, 즉 로직 "1"인 경우, 하이인 비트값이 입력되는 입력 낸드 게이트의 출력으로 입력 클럭 신호(CKIN)가 출력된다. 이 입력 클럭 신호(CKIN)는, 입력 클럭 신호(CKIN)가 입력되는 단위 딜레이 회로를 포함하여 출력 낸드 게이트(312) 이전까지의 모든 단위 릴레이 회로를 거친 후에 출력 낸드 게이트(312)를 통해 제1 출력 클럭 신호(CKOUT1)로 출력된다. 예컨대 테스트 모드 코드(TM code) 중 메인 딜레이 회로(310)에 입력되는 하위 8비트의 바이너리 스트림이 "00001001"로 구성되는 경우, 테스트 모드 코드(TM code)의 4번째 비트값(TM<3>)이 하이이므로, 입력 클럭 신호(CKIN)는 제5 내지 제7 단위 딜레이 회로(311-5, …, 311-7)를 순차적으로 경유한 후에 출력된다. 따라서 제1 출력 클럭 신호(CKOUT1)는, 입력 클럭 신호(CKIN)의 위상으로부터 +360ps의 시간만큼 딜레이된 위상으로 출력된다. 다른 예에서 테스트 모드 코드(TM code) 중 메인 딜레이 회로(310)에 입력되는 8비트 바이너리 스트림이 "00100001"로 구성되는 경우, 테스트 모드 코드(TM code)의 6번째 비트값(TM<5>)이 하이이므로, 입력 클럭 신호(CKIN)는 제3 내지 제7 단위 딜레이 회로(311-3, …, 311-7)를 순차적으로 경유한 후에 출력된다. 따라서 제1 출력 클럭 신호(CKOUT1)는, 입력 클럭 신호(CKIN)의 위상으로부터 +600ps의 시간만큼 딜레이된 위상으로 출력된다. 결과적으로 메인 딜레이 회로(310)는, 120ps의 시간 단위로 최소 120ps의 딜레이 시간부터 최대 840ps의 딜레이 시간으로 입력 클럭 신호(CKIN)의 위상을 딜레이시킬 수 있다. 메인 딜레이 회로(310)의 제1 출력 클럭 신호(CKOUT1)는 도 13의 추가 딜레이 회로(320)로 입력된다.
다음에 도 13을 참조하면, 추가 딜레이 회로(320)는, 단위 딜레이 회로(321)와, 제1 그룹의 제1 내지 제4 3-상태 인버터(tri-state inverter)(322-1A, …, 322-4A)와, 제2 그룹의 제1 내지 제4 3-상태 인버터(322-1B, …, 322-4B)와, 그리고 출력단에 배치되는 출력 인버터(323)를 포함하여 구성될 수 있다. 메인 딜레이 회로(도 12의 310)로부터 출력되는 제1 출력 클럭 신호(CKOUT1)는, 단위 딜레이 회로(321) 및 제2 그룹의 제1 내지 제4 3상 인버터(322-1B, …, 322-4B)로 입력된다. 단위 딜레이 회로(321)는 입력되는 제1 출력 클럭 신호(CKOUT1)의 위상으로부터 120ps의 시간만큼 딜레이된 위상의 클럭 신호를 출력시키고, 이 클럭 신호는 제1 그룹의 제1 내지 제4 3-상태 인버터(322-1A, …, 322-4A)에 입력된다. 이에 따라 제1 그룹의 제1 내지 제4 3-상태 인버터(322-1A, …, 322-4A)로부터 출력되는 클럭 신호는, 제2 그룹의 제1 내지 제4 3-상태 인버터(322-1B, …, 322-4B)로 출력되는 클럭 신호보다 딜레이된 위상을 갖는다.
제1 그룹의 제1 내지 제4 3-상태 인버터(322-1A, …, 322-4A)의 인에이블 입력단자로 각각 테스트 모드 코드(TM code)의 12개의 비트값들 중 상위의 4개의 비트값들(TM<11:8>)이 각각 입력된다. 제2 그룹의 제1 내지 제4 3-상태 인버터(322-1A, …, 322-4A)의 인에이블 입력단자로는 각각 테스트 모드 코드(TM code)의 12개의 비트값들 중 상위의 4개의 비트값들(TM<11:8>) 각각의 반전된 비트값이 입력된다. 테스트 모드 코드(TM code)의 9번째 비트값(TM<8>)은 제1 그룹의 제1 3-상태 인버터(322-1A)의 인에이블 단자에 입력되고, 또한 제2 그룹의 제1 3-상태 인버터(322-1B)의 인에이블 단자에 반전되어 입력된다. 따라서 테스트 모드 코드(TM code)의 9번째 비트값(TM<8>)에 따라서 제1 그룹의 제1 3-상태 인버터(322-1A) 및 제2 그룹의 제1 3-상태 인버터(322-1B) 중 어느 하나만 인에이블되고, 다른 하나는 오픈 회로(open circuit)가 된다. 테스트 모드 코드(TM code)의 10번째 비트값(TM<9>)은 제1 그룹의 제2 3-상태 인버터(322-2A)의 인에이블 단자에 입력되고, 또한 제2 그룹의 제2 3-상태 인버터(322-2B)의 인에이블 단자에 반전되어 입력된다. 따라서 테스트 모드 코드(TM code)의 10번째 비트값(TM<9>)에 따라서 제1 그룹의 제2 3-상태 인버터(322-2A) 및 제2 그룹의 제2 3-상태 인버터(322-2B) 중 어느 하나만 인에이블되고, 다른 하나는 오픈 회로가 된다. 테스트 모드 코드(TM code)의 11번째 비트값(TM<10>)은 제1 그룹의 제3 3-상태 인버터(322-3A)의 인에이블 단자에 입력되고, 또한 제2 그룹의 제3 3-상태 인버터(322-3B)의 인에이블 단자에 반전되어 입력된다. 따라서 테스트 모드 코드(TM code)의 11번째 비트값(TM<10>)에 따라서 제1 그룹의 제3 3-상태 인버터(322-3A) 및 제2 그룹의 제3 3-상태 인버터(322-3B) 중 어느 하나만 인에이블되고, 다른 하나는 오픈 회로가 된다. 테스트 모드 코드(TM code)의 12번째 비트값(TM<11>)은 제1 그룹의 제4 3-상태 인버터(322-4A)의 인에이블 단자에 입력되고, 또한 제2 그룹의 제4 3-상태 인버터(322-4B)의 인에이블 단자에 반전되어 입력된다. 따라서 테스트 모드 코드(TM code)의 12번째 비트값(TM<11>)에 따라서 제1 그룹의 제4 3-상태 인버터(322-4A) 및 제2 그룹의 제4 3-상태 인버터(322-4B) 중 어느 하나만 인에이블되고, 다른 하나는 오픈 회로가 된다.
본 예에서와 같이 구성된 추가 딜레이 회로(320)에 따르면, 테스트 모드 코드(TM code)의 12개의 비트값들 중 상위의 4개의 비트값들(TM code<8:11>)에 따라 추가적으로 딜레이가 증가되는 DLL 클럭 신호(DLL_CK)가 출력될 수 있다. 구체적으로 제1 그룹의 제1 내지 제4 3-상태 인버터(322-1A, …, 322-4A)는 도 12의 메인 딜레이 회로(310)로부터의 제1 출력 클럭 신호(CKOUT1)의 위상에 120ps의 시간만큼 추가적으로 딜레이된 DLL 클럭 신호(DLL_CK)를 출력하므로, 인에이블되는 제1 그룹의 제1 내지 제4 3-상태 인버터(322-1A, …, 322-4A)의 개수가 많을수록 추가적으로 딜레이되는 시간이 증가된다. 예컨대 제1 그룹의 제1 내지 제4 3-상태 인버터(322-1A, …, 322-4A) 중 1개가 인에이블되는 경우, DLL 클럭 신호(DLL_CK)는 제1 출력 클럭 신호(CKOUT1)에 +30ps만큼 추가적으로 딜레이되는 위상을 갖는다. 제1 그룹의 제1 내지 제4 3-상태 인버터(322-1A, …, 322-4A) 중 2개가 인에이블되는 경우, DLL 클럭 신호(DLL_CK)는 제1 출력 클럭 신호(CKOUT1)에 +60ps만큼 추가적으로 딜레이되는 위상을 갖는다.
도 14는 도 12 및 도 13의 딜레이 회로가 채용되는 경우에서 도 6의 컨트롤러의 딜레이 코드 레지스터(128)에 저장된 테스트 모드 코드 테이블(128-1)의 일 예를 나타내 보인 도면이다. 도 14를 참조하면, 테스트 모드 코드 테이블(128-1)은, 복수개, 예컨대 (2N+1)개의 테스트 모드 코드들(TM +N, …, TM code +1, TM code 0, TM code -1, …, TM code -N)을 포함할 수 있다. 테스트 모드 코드들(TM +N, …, TM code +1, TM code 0, TM code -1, …, TM code -N) 각각은, 복수개, 예컨대 12비트의 비트값들(TM<0:11>)로 구성될 수 있다. 테스트 모드 코드들(TM +N, …, TM code +1, TM code 0, TM code -1, …, TM code -N)은, N개의 네가티브 테스트 모드 코드들(TM code -1, TM code -2, …, TM code -N)과, 1개의 디폴트 테스트 모드 코드(TM code 0)와, 그리고 N개의 포지티브 테스트 모드 코드들(TM code +1, TM code +2, …, TM code +N)로 구분될 수 있다. 디폴트 테스트 모드 코드(TM code 0)는, 메모리 장치의 레플리커 딜레이에 대응되는 딜레이 정보를 갖는 바이너리 스트림으로 구성될 수 있다. 본 예에서 디폴트 테스트 모드 코드(TM code 0)는 "110000010001"의 바이너리 스트림을 갖는다. 즉 디폴트 테스트 모드 코드(TM code 0)의 경우, 도 12의 메인 딜레이 회로(310)에 입력되는 8개의 비트값들(TM<0:7>) 중 하위로부터 다섯번째 비트값(TM<4>) 및 첫번째 비트값(TM<0>)이 하이이고, 나머지 비트값들은 모두 로우가 된다. 그리고 도 13의 추가 딜레이 회로(320)에 입력되는 4개의 비트값들(TM<8:11>) 중 상위 2개의 비트값들(TM<10:11>)이 모두 하이이고, 나머지 비트값들은 모두 로우가 된다.
디폴트 테스트 모드 코드(TM code 0)가 지연 고정 루프(DLL)(112-2)의 딜레이 회로에 입력되는 경우, 도 12의 메인 딜레이 회로(310)에 입력되는 8개의 비트값들(TM<0:7>) 중 하위로부터 다섯번째 비트값(TM<4>) 및 첫번째 비트값(TM<0>)이 하이이므로, 기준 클럭(CKIN)은 제4 내지 제7 단위 딜레이 회로(311-4, …, 311-7)에 의해 딜레이된다. 따라서 메인 딜레이 회로(도 12의 310)로부터 출력되는 제1 출력 클럭 신호(CKOUT1)는 기준 클럭(CKIN)에 비해 +480ps의 시간만큼 딜레이된 위상을 갖는다. +480ps만큼 딜레이되는 제1 출력 클럭 신호(CKOUT1)는 도 13의 추가 딜레이 회로(320)에 입력된다. 추가 딜레이 회로(320)에 입력되는 4개의 비트값들(TM<8:11>) 중 상위 2개의 비트값들(TM<10:11>)이 모두 하이이고, 나머지 비트값들(TM<8:9>)은 모두 로우이므로, 제1 그룹의 제3 3-상태 인버터(322-3A) 및 제1 그룹의 제4 3-상태 인버터(322-4A)에 의해 추가적으로 +60ps의 시간만큼 더 딜레이된다. 따라서 최종적으로 추가 딜레이 회로(320)로부터 출력되는 DLL 클럭 신호(DLL_CK)는 +540ps의 딜레이 시간을 갖는다. 이 딜레이 시간은 제1 기타 메모리 장치(110-2)가 갖는 레플리커 딜레이와 실질적으로 동일할 수 있다.
도 10 및 도 11을 참조하여 설명한 바와 같이, 제1 기타 메모리 장치(110-2)의 레플리커 딜레이(Replica Delay)는, 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 발생되는 데이터 스트로브 신호(DQS2)와 컨트롤러(120)의 내부 클럭 신호 사이의 타이밍 간격을 의미한다. 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 출력되는 데이터 스트로브 신호(DQS2)는, 지연 고정 루프(DLL)(112-2)로부터 출력되는 DLL 클럭 신호(DLL_CK)의 위상에 일치되는 위상을 갖는다. 따라서 디폴트 테스트 모드 코드(TM code 0)에 의해 +540ps의 레플리커 딜레이를 갖는 위상으로 DLL 클럭 신호(CLL_CK)가 발생되면, 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 출력되는 데이터 스트로브 신호(DQS2) 또한 +540ps의 레플리커 딜레이를 갖는 위상으로 발생된다. 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로 네가티브 테스트 모드 코드가 입력되면, 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 출력되는 데이터 스트로브 신호(DQS2)의 딜레이 시간은, +540ps의 레플리커 딜레이로부터 입력된 네가티브 테스트 모드 코드에 의해 결정되는 딜레이 시간만큼 증가한다. 반면에 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로 포지티브 모드 코드가 입력되면, 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 출력되는 데이터 스트로브 신호(DQS2)의 딜레이 시간은, +540ps의 레플리커 딜레이로부터 입력된 포지티브 테스트 모드 코드에 의해 결정되는 딜레이 시간만큼 감소된다.
구체적으로 네가티브 테스트 모드 코드들(TM code -1, TM code -2, …, TM code -N)은, 디폴트 상태에서의 딜레이 시간에 일정 시간만큼 딜레이를 감소시키는 바이너리 스트림으로 구성된다. 예컨대 첫번째 네가티브 테스트 모드 코드(TM code -1)는 "000100010001"의 바이너리 스트림으로 구성된다. 도 12의 메인 딜레이 회로(310)에 입력되는 8개의 비트값들(TM<0:7>)은 디폴트 테스트 모드 코드(TM code 0)과 동일하므로, 도 12의 메인 딜레이 회로(310)로부터 출력되는 제1 출력 클럭 신호(CKOUT1)는 +480ps만큼 딜레이된 위상을 유지한다. 반면에 도 13의 추가 딜레이 회로(320)에 입력되는 4개의 비트값들(TM<11:8>) 중 하위 비트값(TM<8>)만 하이이고, 나머지 비트값은 모두 로우이므로, 제1 그룹의 제1 3-상태 인버터(322-3A)만 인에이블되고, 나머지 제1 그룹의 3-상태 인버터들(322-2A, 322-3A, 322-4A)은 모두 디스에이블된다. 따라서 추가 딜레이 회로(320)로부터 출력되는 DLL 클럭 신호(DLL_CK)는 제1 출력 클럭 신호(CKOUT1)의 딜레이 시간에 +30ps만큼 추가적으로 딜레이된 시간, 즉 +510ps의 전체 딜레이 시간을 갖는다. 디폴트의 경우 +540ps의 딜레이 시간을 가지므로, 첫번째 네가티브 테스트 모드 코드(TM code -1)의 경우 디폴트에 비해 -30ps의 추가 딜레이 시간을 갖는, 즉 30ps의 시간만큼 딜레이를 감소시키는 DLL 클럭 신호(DLL_CK)를 발생시킨다.
본 예에서 두번째 네가티브 테스트 모드 코드(TM code -2)는 "000000010001"의 바이너리 스트림으로 구성된다. 도 12의 메인 딜레이 회로(310)에 입력되는 8개의 비트값들(TM<0:7>)은 디폴트 테스트 모드 코드(TM code 0)과 동일하므로, 도 12의 메인 딜레이 회로(310)로부터 출력되는 제1 출력 클럭 신호(CKOUT1)는 +480ps만큼 딜레이된 위상을 유지한다. 반면에 도 13의 추가 딜레이 회로(320)에 입력되는 4개의 비트값들(TM<11:8>)이 모두 로우이므로, 제1 그룹의 3-상태 인버터들(322-1A, 322-2A, 322-3A, 322-4A)은 모두 디스에이블된다. 따라서 추가 딜레이 회로(320)로부터 출력되는 DLL 클럭 신호(DLL_CK)는 제1 출력 클럭 신호(CKOUT1)를 추가적으로 딜레이시키지 않으며, 이에 따라 +480ps의 전체 딜레이 시간을 갖는다. 디폴트의 경우 +540ps의 딜레이 시간을 가지므로, 두번째 네가티브 테스트 모드 코드(TM code -1)의 경우 디폴트에 비해 -60ps만큼 딜레이가 감소되는 DLL 클럭 신호(DLL_CK)를 발생시킨다.
본 예에서 N번째 네가티브 테스트 모드 코드(TM code -N)는 "000000000011"의 바이너리 스트림으로 구성된다. 도 12의 메인 딜레이 회로(310)에 입력되는 8개의 비트값들(TM<0:7>) 중 두번째 비트값(TM<1>)이 하이이므로, 제7 단위 딜레이 회로(311-7)만 인에이블된다. 이에 따라 도 12의 메인 딜레이 회로(310)로부터 출력되는 제1 출력 클럭 신호(CKOUT1)는 +120ps의 시간만큼 딜레이된 위상을 갖는다. 도 13의 추가 딜레이 회로(320)에 입력되는 4개의 비트값들(TM<11:8>)이 모두 로우이므로, 제1 그룹의 3-상태 인버터들(322-1A, 322-2A, 322-3A, 322-4A)은 모두 디스에이블된다. 따라서 추가 딜레이 회로(320)로부터 출력되는 DLL 클럭 신호(DLL_CK)는 제1 출력 클럭 신호(CKOUT1)를 추가적으로 딜레이시키지 않으며, 이에 따라 +120ps의 전체 딜레이 시간을 갖는다. 디폴트의 경우 +540ps의 딜레이 시간을 가지므로, N번째 네가티브 테스트 모드 코드(TM code -N)의 경우 디폴트에 비해 -420ps의 감소된 딜레이 시간을 갖는 DLL 클럭 신호(DLL_CK)를 발생시킨다.
포지티브 테스트 모드 코드들(TM code +1, TM code +2, …, TM code +N)은, 디폴트 상태에서의 딜레이 시간에 일정 시간만큼 딜레이를 증가시키는 바이너리 스트림으로 구성된다. 예컨대 첫번째 포지티브 테스트 모드 코드(TM code +1)는 "110100010001"의 바이너리 스트림으로 구성된다. 도 12의 메인 딜레이 회로(310)에 입력되는 8개의 비트값들(TM<0:7>)은 디폴트 테스트 모드 코드(TM code 0)과 동일하므로, 도 12의 메인 딜레이 회로(310)로부터 출력되는 제1 출력 클럭 신호(CKOUT1)는 +480ps만큼 딜레이된 위상을 유지한다. 반면에 도 13의 추가 딜레이 회로(320)에 입력되는 4개의 비트값들(TM<11:8>) 중 상위 2개의 비트값들(TM<11:10>) 및 하위 1개의 비트값(TM<8>)이 모두 하이이므로, 제1 그룹의 제1, 제2 및 제4 3-상태 인버터(322-1A, 322-2A, 322-4A)가 인에이블되고, 나머지 제1 그룹의 제3 3-상태 인버터(322-3A)는 디스에이블된다. 따라서 추가 딜레이 회로(320)로부터 출력되는 DLL 클럭 신호(DLL_CK)는 제1 출력 클럭 신호(CKOUT1)의 딜레이 시간에 +90ps만큼 추가적으로 딜레이된 시간, 즉 +570ps의 전체 딜레이 시간을 갖는다. 디폴트의 경우 +540ps의 딜레이 시간을 가지므로, 첫번째 포지티브 테스트 모드 코드(TM code +1)의 경우 디폴트에 비해 +30ps의 추가 딜레이 시간을 갖는, 즉 30ps의 시간만큼 딜레이를 증가시키는 DLL 클럭 신호(DLL_CK)를 발생시킨다.
본 예에서 두번째 포지티브 테스트 모드 코드(TM code +2)는 "111100010001"의 바이너리 스트림으로 구성된다. 도 12의 메인 딜레이 회로(310)에 입력되는 8개의 비트값들(TM<0:7>)은 디폴트 테스트 모드 코드(TM code 0)과 동일하므로, 도 12의 메인 딜레이 회로(310)로부터 출력되는 제1 출력 클럭 신호(CKOUT1)는 +480ps만큼 딜레이된 위상을 유지한다. 반면에 도 13의 추가 딜레이 회로(320)에 입력되는 4개의 비트값들(TM<11:8>) 중 상위 4개의 비트값들(TM<11:8>)이 모두 하이이므로, 제1 그룹의 제1, 제2, 제3, 및 제4 3-상태 인버터(322-1A, 322-2A, 322-3A, 322-4A)가 모두 인에이블된다. 따라서 추가 딜레이 회로(320)로부터 출력되는 DLL 클럭 신호(DLL_CK)는 제1 출력 클럭 신호(CKOUT1)의 딜레이 시간에 +120ps만큼 추가적으로 딜레이된 시간, 즉 +600ps의 전체 딜레이 시간을 갖는다. 디폴트의 경우 +540ps의 딜레이 시간을 가지므로, 두번째 포지티브 테스트 모드 코드(TM code +2)의 경우 디폴트에 비해 +60ps의 추가 딜레이 시간 즉 60ps의 시간만큼 딜레이를 증가시키는 DLL 클럭 신호(DLL_CK)를 발생시킨다.
본 예에서 N번째 포지티브 테스트 모드 코드(TM code +N)는 "111110000001"의 바이너리 스트림으로 구성된다. 도 12의 메인 딜레이 회로(310)에 입력되는 8개의 비트값들(TM<0:7>) 중 최상위의 비트값(TM<7>)이 하이이므로, 제1 내지 제7 단위 딜레이 회로(311-1, …, 311-7)가 모두 인에이블된다. 이에 따라 도 12의 메인 딜레이 회로(310)로부터 출력되는 제1 출력 클럭 신호(CKOUT1)는 +840ps의 시간만큼 딜레이된 위상을 갖는다. 도 13의 추가 딜레이 회로(320)에 입력되는 4개의 비트값들(TM<11:8>)이 모두 하이이므로, 제1 그룹의 3-상태 인버터들(322-1A, 322-2A, 322-3A, 322-4A)은 모두 인에이블된다. 따라서 추가 딜레이 회로(320)로부터 출력되는 DLL 클럭 신호(DLL_CK)는 제1 출력 클럭 신호(CKOUT1)에 대해 +120ps의 시간만큼 추가적으로 딜레이된 위상을 가지며, 이에 따라 +960ps의 전체 딜레이 시간을 갖는다. 디폴트의 경우 +540ps의 딜레이 시간을 가지므로, N번째 포지티브 테스트 모드 코드(TM code +N)의 경우 디폴트에 비해 +420ps의 증가된 딜레이 시간을 갖는 DLL 클럭 신호(DLL_CK)를 발생시킨다.
도 15는 본 개시에 따른 복수의 메모리 장치들(도 1의 110-1, …, 110-M)을 갖는 메모리 시스템(도 1의 100)의 트레이닝 과정을 설명하기 위해 나타내 보인 플로챠트이다. 도 1, 도 5, 및 도 6과 함께 도 15를 참조하면, 단계 210에서 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)에 동기되는 컨트롤러(120)의 내부 딜레이 클럭 신호(Internal CKD)를 생성한다. 이 과정을 통해, 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS)와 컨트롤러(120)의 내부 딜레이 클럭 신호(Internal CKD)가 동기화된다. 따라서 단계 210에서의 내부 딜레이 클럭 신호(Internal CKD) 생성 과정이 종료되면, 대표 메모리 장치(110-1)에 대한 트레이닝 과정은 생략될 수 있다. 단계 210에서 생성된 컨트롤러(120)의 내부 딜레이 클럭 신호(Internal CKD)는, 이후에 수행되는 나머지 메모리 장치들(110-2, …, 110-M) 각각의 트레이닝 과정에서 컨트롤러(120) 내의 고정된 내부 클럭 신호로 사용된다.
내부 딜레이 클럭 신호(Internal CKD)가 생성되면, 단계 220에서 변수 "X"를 "2"로 설정한다. 변수 "X"는, 복수개의 메모리 장치들(110-1, 110-2, …, 110-M) 중 어느 하나의 기타 메모리 장치를 특정하기 위한 것이다. 예컨대 X=2인 경우, 복수의 기타 메모리 장치들(110-2, …, 110-M) 중 첫번째 기타 메모리 장치, 즉 제1 기타 메모리 장치(110-2)가 특정된다. 마찬가지로, X=M인 경우, 복수의 기타 메모리 장치들(110-2, …, 110-M) 중 M번째 기타 메모리 장치(110-M)가 특정된다. X=2인 경우, 단계 230에서 제1 기타 메모리 장치(110-2)에 대한 트레이닝을 수행한다. 단계 230에서의 제1 기타 메모리 장치(110-2)에 대한 트레이닝이 종료된 후에는, 단계 240에서 모든 기타 메모리 장치들(110-2, …, 110-M)에 대한 트레이닝이 종료되었는지를 판단한다. 기타 메모리 장치들(110-2, …, 110-M)에 대한 트레이닝이 순차적으로 이루어지는 경우, X=M이면, 모든 메모리 장치들(110-2, …, 110-M)에 대한 트레이닝이 종료된 것으로 판정할 수 있다. 현재 단계에서는 제1 기타 메모리 장치(110-2)에 대해서만 트레이닝이 수행되었으므로, 단계 250에서 X=X+1을 적용하여 단계 230을 수행한다. X=X+1이 적용되었으므로, 단계 230에서 제2 기타 메모리 장치(110-3)에 대한 트레이닝이 수행된다. 이와 같은 과정은 마지막 M번째 메모리 장치(110-M)에 대한 단계 230의 트레이닝이 종료될 때까지 반복된다. 단계 230에서 M번째 메모리 장치(110-M)에 대한 트레이닝이 종료되면, 단계 240에서 모든 기타 메모리 장치들(110-2, …, 110-M)에 대한 트레이닝이 종료된 것으로 판단하고, 전체 트레이닝 과정을 끝낸다.
도 16은 도 15의 단계 210에서의 컨트롤러의 내부 딜레이 클럭 신호(Internal DKD) 생성 과정을 나타내 보인 플로챠트이다. 도 16을 참조하면, 단계 210-1에서 컨트롤러(120)는 대표 메모리 장치(110-1)에 리드 커맨드를 전송한다. 단계 210-2에서, 대표 메모리 장치(110-1)는, 전송된 리드 커맨드에 응답하여 데이터 스트로브 신호(DQS1)를 컨트롤러(120)에 전송한다. 단계 210-3에서 컨트롤러(120)는 전송된 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)에 대한 샘플링을 수행한다. 단계 210-4에서, 컨트롤러(120)는, 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)에 대한 샘플링 결과 출력되는 샘플링 출력 신호의 레벨이 변동되는지를 판단한다. 단계 210-4의 판단에서, 샘플링 출력 신호의 레벨이 변동되지 않는 경우, 단계 210-5에서 현재의 내부 딜레이 클럭 신호에 대한 딜레이를 수행한다. 그리고 단계 210-1 내지 단계 210-4의 과정을 다시 수행한다. 단계 210-4의 판단에서, 샘플링 출력 신호의 레벨이 변동되는 경우, 단계 210-6에서 현재의 내부 딜레이 클럭 신호를 컨트롤러의 내부 클럭 신호로 고정시킨다. 그리고 도 15의 단계 220을 수행한다.
도 17 내지 도 19은 도 16의 단계 210-1 내지 단계 210-6의 내부 딜레이 클럭 신호(Internal CKD) 생성 과정의 일 예를 보다 상세하게 설명하기 위해 나타내 보인 블록도들이다. 그리고 도 20 내지 도 22는 도 15의 단계 210의 내부 딜레이 클럭 신호(Internal CKD) 생성 과정의 일 예를 설명하기 위해 나타내 보인 타이밍도들이다. 먼저 도 17을 참조하면, 컨트롤러(120)는 대표 메모리 장치(110-1)에 리드 커맨드를 전송한다(도 16의 단계 210-1). 일 예에서 리드 커맨드는, 컨트롤러(120)의 제3 컨트롤러 패드(121-C)로부터 대표 메모리 장치(110-1)의 제3 칩 패드(13-1)로 전송될 수 있다. 컨트롤러(120)의 내부 딜레이 클럭 신호(Internal CKD)를 생성하기 위해, 컨트롤러(120)의 제1 스위치(129A)는, 샘플링 회로(124)의 출력 단자와 제1 딜레이 컨트롤 블록(126)의 입력 단자를 서로 연결시킨다. 이 연결 상태는 내부 딜레이 클럭 신호(Internal CKD) 생성 과정이 종료될 때까지 유지된다. 컨트롤러(120)로부터 전송되는 리드 커맨드에 응답하여, 대표 메모리 장치(110-1)는 데이터 스트로브 신호(DQS1)를 컨트롤러(120)로 전송한다(도 16의 단계 210-2). 컨트롤러(120)로 전송된 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)는 컨트롤러(120)의 샘플링 회로(124)에 입력된다. 샘플링 회로(124)는, 입력된 데이터 스트로브 신호(DQS1)에 대해 내부 딜레이 클럭 신호(Internal CKD)를 기준으로 샘플링을 수행한다. 이 시점에서 컨트롤러(120)의 내부 딜레이 클럭 신호(Internal CKD)는 컨트롤러(120)의 내부 클럭 신호(Internal CK)와 동일하다.
이상적인 경우, 대표 메모리 장치(110-1)의 레플리커 딜레이는 실제 딜레이와 동일하다. 그러나 대표 메모리 장치(110-1) 및 컨트롤러(120)의 설계 및 제조 과정에서의 여러 변수들로 인하여, 대표 메모리 장치(110-1)의 레플리커 딜레이와 실제 딜레이는 달라질 수 있다. 첫번째 예로서, 도 20의 타이밍도에 나타낸 바와 같이, 대표 메모리 장치(110-1)는 "tReplicaDelay1"의 레플리커 딜레이보다 긴 "tRealDealy1_1"의 실제 딜레이를 나타낼 수 있다. 즉 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)는 "tReplicaDelay1"보다 일정 시간 늦은 타이밍에 대표 메모리 장치(110-1)로부터 출력된다. 이 경우, 대표 메모리 장치(110-1)로부터 출력되는 데이터 스트로브 신호(DQS1)와 컨트롤러(120)의 첫번째 내부 딜레이 클럭 신호(Internal CKD1) 사이에는 레플리커 딜레이와 실제 딜레이의 편차(tRealDealy1_1-tReplicaDelay1)인 "tDQSCK1A_1"의 타이밍 스큐가 발생된다.
이 경우, 컨트롤러(120)의 첫번째 내부 딜레이 클럭 신호(Internal CKD1), 즉 컨트롤러의 내부 클럭 신호(Internal CK)의 상승 에지 기준으로, 대표 메모리 장치(110-1)로부터 입력되는 데이터 스트로브 신호(DQS1)가 로우 신호이므로, 컨트롤러(120)의 샘플링 회로(124)는 첫번째 샘플링 회로 출력 신호(SCO1-1)로서 로우 신호를 출력한다. 첫번째 샘플링 회로 출력 신호(SCO1_1)로서 로우 신호를 입력받는 제1 딜레이 컨트롤 블록(126)은 딜레이 회로(125)를 동작시키는 제1 제어 신호(CS1)를 출력한다. 딜레이 회로(125)는 제1 제어 신호(CS1)에 응답하여 내부 클럭 신호(Internal CK)을 일정 시간만큼 지연시킨 두번째 내부 딜레이 클럭 신호(Internal CKD2)를 발생시킨다. 일 예에서, 두번째 내부 딜레이 클럭 신호(Internal CKD2)는, 내부 클럭 신호(Internal CK)보다 "tDelay"의 시간만큼 지연될 수 있다.
도 18을 참조하면, 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)와 컨트롤러(120)의 두번째 내부 딜레이 클럭 신호(Internal CKD2) 사이의 동기화를 확인하기 위해, 컨트롤러(120)는 대표 메모리 장치(110-1)에 리드 커맨드를 다시 전송하여 대표 메모리 장치(110-1)로부터의 두번째 데이터 스트로브 신호(DQS1)가 출력되도록 한다. 대표 메모리 장치(110-1)로부터의 두번째 데이터 스트로브 신호(DQS1)는 컨트롤러(120)의 샘플링 회로(124)에 입력된다. 대표 메모리 장치(110-1) 내에서의 데이터 스트로브 신호(DQS)의 위상은 조정되지 않았으므로, 두번째 데이터 스트로브 신호(DQS1)와 첫번째 데이터 스트로브 신호(DQS1) 사이의 위상 차이는 실질적으로 없다.
도 21에 나타낸 바와 같이, 컨트롤러(120)의 두번째 내부 딜레이 클럭 신호(Internal CKD2)와 데이터 스트로브 신호(DQS1) 사이에는 "tDQSCK1A_2"의 타이밍 스큐가 존재할 수 있다. 컨트롤러(120)의 두번째 내부 딜레이 클럭 신호(Internal CKD2)의 상승 에지 기준으로, 데이터 스트로브 신호(DQS1)가 여전히 로우 신호이므로, 샘플링 회로(124)는 두번째 샘플링 회로 출력 신호(SCO1_2)로서 로우 신호를 출력한다. 두번째 샘플링 회로 출력 신호(SCO1_2)로서 로우 신호를 입력받는 제1 딜레이 컨트롤 블록(126)은 딜레이 회로(125)를 동작시키는 제1 제어 신호(CS1)를 출력한다. 딜레이 회로(125)는 제1 제어 신호(CS1)에 응답하여 첫번째 내부 클럭 신호(Internal CK1)을 "tDealy"의 시간만큼 지연시킨 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 발생시킨다.
도 19를 참조하면, 두번째 데이터 스트로브 신호(DQS1)와 두번째 내부 딜레이 클럭 신호(Internal CKD2) 사이의 동기화가 아직 이루어지지 않았으므로, 컨트롤러(120)는 대표 메모리 장치(110-1)에 리드 커맨드를 다시 전송하여 세번째 데이터 스트로브 신호(DQS1)가 출력되도록 한다. 세번째 데이터 스트로브 신호(DQS1)는 컨트롤러(120)의 샘플링 회로(124)에 입력된다. 샘플링 회로(124)는, 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 전송되는 세번째 데이터 스트로브 신호(DQS1)에 대한 샘플링을 수행하여, 세번째 샘플링 출력 신호(SCO1_3)를 출력시킨다. 도 22에 나타낸 바와 같이, 세번째 데이터 스트로브 신호(DQS1)와 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3) 사이에 동기화가 이루어지는 경우, 즉 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지를 기준으로 세번째 데이터 스트로브 신호(DQS1)가 더 이상 로우 레벨이 아닌 경우, 샘플링 회로(124)는, 세번째 샘플링 출력신호(SCO1_3)로서 하이 신호를 제1 딜레이 컨트롤 블록(126)으로 입력시킨다. 제1 딜레이 컨트롤 블록(126)은, 세번째 샘플링 출력 신호(SCO1_3)가 이전의 로우 신호에서 하이 신호로 변경됨에 따라 딜레이 회로(125)의 딜레이 동작을 중단시키는 제1 제어신호(CS1)를 딜레이 회로(125)에 입력시킨다. 이에 따라 컨트롤러(120)의 딜레이 회로(125)는, 이후의 나머지 기타 메모리 장치들(110-2, …, 110-M) 각각에 대한 트레이닝 과정동안, 컨트롤러(120) 내의 내부 클럭 신호에 대한 추가적인 딜레이 동작을 수행하지 않으며, 이에 따라 샘플링 회로(124)에는 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS)에 동기화된 세번째 내부 딜레이 클럭 신호(Internal CKD3)가 고정적으로 입력된다. 컨트롤러(120) 내의 내부 딜레이 클럭 신호 생성 과정이 종료되면, 제1 스위치(129A)는, 샘플링 회로(124)와 제1 딜레이 컨트롤러 블록(126)의 연결을 끊는다.
도 23 내지 도 25는 도 15의 단계 230에서 기타 메모리 장치들(110-2, …, 110-M) 중 제1 기타 메모리 장치(110-2)에 대한 트레이닝 과정을 설명하기 위해 나타내 보인 플로챠트들이다. 이하에서 설명하는 제1 기타 메모리 장치(110-2)에 대한 트레이닝 과정은, 나머지 기타 메모리 장치들 각각에 대한 트레인 과정에 대해서도 동일하게 적용된다. 구체적으로 도 23의 플로챠트에는 트레이닝 대상인 제1 기타 메모리 장치(110-2)로부터 전송되는 데이터 스트로브 신호(DQS2)에 대한 컨트롤러 내에서의 샘플링 과정이 나타나 있다. 도 23을 참조하면, 단계 230-1에서 컨트롤러(120)는 제1 기타 메모리 장치(110-2)에 리드 커맨드를 전송한다. 단계 230-2에서 제1 기타 메모리 장치(110-2)는 리드 커맨드에 응답하여 첫번째 데이터 스트로브 신호(DQS2_1)를 컨트롤러(120)로 전송한다. 단계 230-3에서, 컨트롤러(120)로 전송된 첫번째 데이터 스트로브 신호(DQS2_1)에 대한 샘플링을 수행한다. 샘플링은, 도 15의 단계 210에서 생성된 내부 딜레이 클럭 신호, 예컨대 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 수행된다. 단계 230-4에서, 샘플링 결과 발생된 첫번째 샘플링 회로 출력 신호(SCO2_1)가 하이 신호인지 로우 신호인지의 여부를 판단한다. 단계 230-4의 판단에서, 첫번째 샘플링 회로 출력 신호(SCO2_1)가 하이 신호인 경우 도 24의 단계 230-5를 수행한다. 단계 230-4의 판단에서, 첫번째 샘플링 회로 출력 신호(SCO2_1)가 로우 신호인 경우 도 25의 단계 230-12를 수행한다.
도 24의 플로챠트에는 도 23의 단계 230-4에서 첫번째 샘플링 회로 출력 신호(SCO2_1)가 하이 신호인 경우의 트레이닝 과정이 나타나 있다. 도 24를 참조하면, 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)에 대한 샘플링 결과, 첫번째 샘플링 회로 출력 신호(SCO2_1)가 하이 신호인 경우, 단계 230-5에서, 포지티브 테스트 모드 코드(TM code +)를 제1 기타 메모리 장치(110-2)에 전송한다. 단계 230-6에서, 제1 기타 메모리 장치(110-2)는 전송된 포지티브 테스트 모드 코드(TM code +)에 대응하여 DLL 클럭 신호의 딜레이를 조정하여 딜레이가 증가되도록 한다. 단계 230-7에서, 컨트롤러(120)는 제1 기타 메모리 장치(110-2)에 리드 커맨드를 전송한다. 단계 230-8에서, 제1 기타 메모리 장치(110-2)는, 리드 커맨드에 응답하여 DLL 클럭 신호에 동기되어 딜레이가 증가된 데이터 스트로브 신호(DQS2)를 컨트롤러(120)로 전송한다. 단계 230-9에서, 컨트롤러(120)는 전송된 데이터 스트로브 신호(DQS2)에 대한 샘플링을 수행한다. 샘플링은, 도 15의 단계 210에서 생성된 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 수행된다. 단계 230-10에서, 샘플링 결과 발생된 샘플링 회로 출력 신호(SCO)가 하이 신호인지 로우 신호인지의 여부를 판단한다. 단계 230-10의 판단에서, 샘플링 회로 출력 신호(SCO)가 하이 신호인 경우, 즉 이전의 샘플링 회로 출력 신호(SCO)와 동일한 레벨의 신호인 경우, 도 24의 단계 230-5를 다시 수행하기 위해 피드백한다. 단계 230-10의 판단에서, 샘플링 회로 출력 신호(SCO)가 로우 신호인 경우, 즉 이전의 샘플링 회로 출력 신호(SCO)와 다른 레벨의 신호인 경우, 단계 230-11에서 컨트롤러(120)는 이전 단계에 전송된 포지티브 테스트 모드 코드(TM code +)를 저장한다. 그리고 도 15의 단계 240을 수행한다.
도 25의 플로챠트에는 도 23의 단계 230-4에서 첫번째 샘플링 회로 출력 신호(SCO2_1)가 로우 신호인 경우의 트레이닝 과정이 나타나 있다. 도 25를 참조하면, 첫번째 샘플링 회로 출력 신호(SCO2_1)가 로우 신호인 경우, 단계 230-12에서, 네가티브 테스트 모드 코드(TM code -)를 제1 기타 메모리 장치(110-2)에 전송한다. 단계 230-13에서, 제1 기타 메모리 장치(110-2)는 전송된 네가티브 테스트 모드 코드(TM code -)에 대응하여 DLL 클럭 신호의 딜레이를 조정하여 딜레이가 감소되도록 한다. 단계 230-14에서, 컨트롤러(120)는 제1 기타 메모리 장치(110-2)에 리드 커맨드를 전송한다. 단계 230-15에서, 제1 기타 메모리 장치(110-2)는, 리드 커맨드에 응답하여 DLL 클럭 신호에 동기되어 딜레이가 감소되도록 조정된 데이터 스트로브 신호(DQS2)를 컨트롤러(120)로 전송한다. 단계 230-16에서, 컨트롤러(120)는 전송된 데이터 스트로브 신호(DQS2)에 대한 샘플링을 수행한다. 샘플링은, 도 15의 단계 210에서 생성된 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 수행된다. 단계 230-17에서, 샘플링 결과 발생된 샘플링 회로 출력 신호(SCO)가 하이 신호인지 로우 신호인지의 여부를 판단한다. 단계 230-17의 판단에서, 샘플링 회로 출력 신호(SCO)가 로웅 신호인 경우, 즉 이전의 샘플링 회로 출력 신호(SCO)와 동일한 레벨의 신호인 경우, 도 25의 단계 230-12를 다시 수행하기 위해 피드백한다. 단계 230-17의 판단에서, 샘플링 회로 출력 신호(SCO)가 하이 신호인 경우, 즉 이전 단계의 샘플링 회로 출력 신호(SCO)와 다른 레벨의 신호인 경우, 단계 230-18에서 컨트롤러(120)는 이전 단계에서 전송된 네가티브 테스트 모드 코드(TM code -)를 저장한다. 그리고 도 15의 단계 240을 수행한다.
도 26은 도 23의 단계 230-1 내지 단계 230-4의 과정을 보다 상세하게 설명하기 위해 나타내 보인 블록도이다. 도 26을 도 23과 함께 참조하면, 단계 230-1에서 제1 기타 메모리 장치(110-2)에 리드 커맨드가 전송되면, 단계 230-2에서 제1 기타 메모리 장치(110-2)는 리드 커맨드에 응답하여 첫번째 데이터 스트로브 신호(DQS2_1)를 발생시키고, 이 첫번째 스트로브 신호(DQS2_1)는 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 전송된다. 구체적으로 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)는, 지연 고정 루프(DLL)(112-2)로부터의 클럭 신호에 동기되는 첫번째 데이터 스트로브 신호(DQS2_1)를 출력시킨다. 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 출력되는 첫번째 데이터 스트로브 신호(DQS2_1)는, 제1 기타 메모리 장치(110-2)의 제3 드라이버(53-2) 및 제4 칩 패드(14-2)를 통해 대표 메모리 장치(110-1)의 제4 칩 패드(14-1)로 전송된다. 대표 메모리 장치(110-1)의 제4 칩 패드(14-1)로 전송된 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)는, 대표 메모리 장치(110-1)의 제2 드라이버(52-1), 제1 드라이버(51-1), 및 제1 칩 패드(11-1)를 통해 컨트롤러(120)의 제1 컨트롤러 패드(121A)로 전송된다.
제1 컨트롤러 패드(121A)로 전송된 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)는, 컨트롤러(120)의 드라이버(122)를 거쳐 샘플링 회로(124)에 입력된다. 단계 230-3에서, 컨트롤러(120)의 샘플링 회로(124)는, 전송된 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)에 대한 샘플링을 수행한다. 즉 입력된 첫번째 데이터 스트로브 신호(DQS2_1)에 대해 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 샘플링을 수행하고, 출력 단자를 통해 샘플링 결과로서 첫번째 샘플링 회로 출력 신호(SCO2_1)를 출력한다. 첫번째 샘플링 회로 출력 신호(SCO2_1)는, 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)의 위상에 따라 하이 신호이거나, 또는 로우 신호가 될 수 있다. 샘플링 회로(124)로부터 출력되는 첫번째 샘플링 회로 출력 신호(SCO2_1)는, 컨트롤러(120)의 제2 딜레이 컨트롤 블록(127)으로 입력된다. 단계 230-4에서 제2 딜레이 컨트롤 블록(127)은, 첫번째 샘플링 회로 출력 신호(SCO2_1)가 하이 신호인지 로우 신호인지 판별한다.
도 27은 도 23의 단계 230-3의 샘플링 결과 발생되는 첫번째 샘플링 회로 출력 신호(SCO2_1)가 하이 신호인 경우를 설명하기 위해 나타내 보인 타이밍도이다. 도 27을 참조하면, 대표 메모리장치(110-1)로부터 컨트롤러(120)로 전송되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)는 "tReplicaDelay2_1"의 레플리커 딜레이보다 짧은 "tRealDealy2_1"의 실제 딜레이를 나타낼 수 있다. 이 경우는 도 10을 참조하여 설명한 바와 같이, 제1 기타 메모리 장치(110-2)에서의 딜레이보다 대표 메모리 장치(110-1)에서의 딜레이가 짧은 경우에 해당될 수 있다. 이에 따라 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)는, 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지를 기준으로 "tDQSCK2_1"의 타이밍 스큐만큼 빠르게 컨트롤러(120)로 전송된다. 샘플링 회로(124)로 입력되는 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 첫번째 데이터 스트로브 신호(DQS2_1)가 하이 신호이므로, 샘플링 회로(124)는 첫번째 샘플링 회로 출력 신호(SCO2_1)로 하이 신호를 출력한다.
도 28은 도 23의 단계 230-3의 샘플링 결과 발생되는 첫번째 샘플링 회로 출력 신호(SCO2_1)로 로우 신호가 발생되는 경우를 설명하기 위해 나타내 보인 타이밍도이다. 도 27을 참조하면, 제1 기타 메모리 장치(110-2)로부터 출력되는 첫번째 데이터 스트로브 신호(DQS2_1)는 "tReplicaDelay2_1"의 레플리커 딜레이보다 긴 "tRealDealy2_1"의 실제 딜레이를 나타낼 수 있다. 이 경우는 도 11을 참조하여 설명한 바와 같이, 제1 기타 메모리 장치(110-2)에서의 딜레이보다 대표 메모리 장치(110-1)에서의 딜레이가 긴 경우에 해당될 수 있다. 이에 따라 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)는, 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지를 기준으로 "tDQSCK2_1"의 타이밍 스큐만큼 느리게 컨트롤러(120)로 전송된다. 샘플링 회로(124)로 입력되는 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 첫번째 데이터 스트로브 신호(DQS2_1)가 로우 신호이므로, 샘플링 회로(124)는 첫번째 샘플링 회로 출력 신호(SCO2_1)로 로우 신호를 출력한다.
도 29는 도 24의 단계 230-5의 첫번째 포지티브 테스트 모드 코드(TM code +1) 전송 과정과, 단계 230-6 내지 단계 230-8의 제1 기타 메모리 장치(110-2) 내에서의 두번째 데이터 스트로브 신호(DQS2_2)의 딜레이 시간 조정 과정 및 딜레이된 두번째 데이터 스트로브 신호(DQS2_2)의 전송 과정을 설명하기 위해 나타내 보인 블록도이다. 도 29에서 도 26과 동일한 참조부호는 동일한 구성요소를 나타낸다. 도 29를 도 24와 함께 참조하면, 도 23의 단계 230-4에서 샘플링 회로(124)로부터 발생되는 첫번째 샘플링 회로 출력 신호(SCO2_1)인 하이 신호는 제2 딜레이 컨트롤 블록(127)에 입력된다. 도 24의 단계 230-5에서의 포지티브 테스트 모드 코드(TM code +) 전송 단계를 수행하기 위해, 제2 딜레이 컨트롤 블록(127)은, 딜레이 코드 레지스터(128) 내의 테스트 모드 코드 테이블(128-1)에 저장된 테스트 모드 코드들(TM codes) 중 포지티브 테스트 모드 코드(TM code +)가 출력되도록 하는 제2 제어 신호(CS2_P)를 딜레이 코드 레지스터(128)에 전송한다. 제2 제어 신호(CS2_P)를 입력받은 딜레이 코드 레지스터(128)는, 복수개의 포지티브 테스트 코드들(TM code +1, TM code +2, …, TM code +N) 중 첫번째 포지티브 테스트 코드(TM code +1)를 출력시킨다.
첫번째 포지티브 테스트 코드(TM code +1)는 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로 입력된다. 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)는 첫번째 포지티브 테스트 코드(TM code +1)가 갖는 딜레이 정보, 예컨대 +30ps의 시간만큼 딜레이가 증가하는 DLL 클럭 신호(DLL_CK)를 발생시킨다. 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)는, DLL 클럭 신호(CLL_CK2_2)에 동기되는 두번째 데이터 스트로브 신호(DQS2_2)를 발생시킨다. 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)는 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 전송된다. 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)가 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 전송되는 경로는, 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)가 컨트롤러(120)로 전송되는 경로와 동일하다.
도 30은 도 24의 단계 230-8에 의해 딜레이 시간이 증가된 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)의 위상을 첫번째 데이터 스트로브 신호(DQS2_1)의 위상과 비교하여 나타내 보인 타이밍도이다. 도 30을 참조하면, 첫번째 포지티브 테스트 모드 코드(TM code +1)에 의해 정해지는 첫번째 딜레이 시간(tDelay2_1=+30ps), 예컨대 30ps만큼 딜레이가 증가된 DLL 클럭 신호가 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로부터 발생되므로, DLL 클럭 신호에 동기되어 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 발생되는 두번째 데이터 스트로브 신호(DQS2_2) 또한 첫번째 딜레이 시간(tDelay2_1=+30ps)만큼 더 딜레이된다. 이에 따라 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)도, 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)에 비하여 첫번째 딜레이 시간(tDelay2_1)인 30ps만큼 딜레이가 증가된다. 그 결과, 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)의 레플리커 딜레이(tReplicaDealy2_2)는 첫번째 데이터 스트로브 신호(DQS2_1)의 레플리커 딜레이(tReplicaDealy2_1)보다 짧아진다. 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)와 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3) 사이의 타이밍 스큐(tDQSCK2_2)도 첫번째 데이터 스트로브 신호(DQS2_1)와 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3) 사이의 타이밍 스큐(tDQSCK2_1)보다 짧아진다.
제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)가 첫번째 데이터 스트로브 신호(DQS2_1)에 비해 딜레이 시간이 증가되더라도, 여전히 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지와는 "tDQSCK2_2"의 타이밍 스큐가 존재한다. 즉 두번째 데이터 스트로브 신호(DQS2_2)가 "tDQSCK2_2"의 타이밍 스큐만큼 빠른 타이밍에 대표 메모리 장치(110-1)로부터 출력되어 컨트롤러(120)로 입력된다. 따라서 두번째 데이터 스트로브 신호(DQS2_2)는, 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 여전히 하이 레벨 상태가 된다. 이에 따라 두번째 데이터 스트로브 신호(DQS2_2)에 대한 샘플링 결과로서, 샘플링 회로(124)는 하이 신호인 두번째 샘플링 회로 출력 신호(SCO2_2)를 출력시킨다.
도 31은 도 24의 단계 230-10에서 두번째 샘플링 출력 신호(SCO2_2)가 하이 신호인 경우에서의 피드백에 의해 수행되는 단계 230-5 내지 단계 230-8을 설명하기 위해 나타내 보인 블록도이다. 도 31을 참조하면, 도 24의 단계 230-10의 판단에서 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)에 대한 두번째 샘플링 회로 출력 신호(SCO2_2)가 하이 신호인 경우, 제1 기타 메모리 장치(110-2)에 대한 트레이닝 과정은 도 24의 단계 230-5의 포지티브 테스트 모드 코드(TM code +) 전송 단계로 피드백된다. 구체적으로 두번째 샘플링 회로 출력 신호(SCO2_2)인 하이 신호를 입력받은 제2 딜레이 컨트롤 블록(127)은, 이전에 출력시킨 첫번째 포지티브 테스트 모드 코드(TM code +1)의 다음 레벨, 즉 두번째 포지티브 테스트 모드 코드(TM code +2)가 출력되도록 하는 제2 제어 신호(CS2_P)를 딜레이 코드 레지스터(128)에 전송한다. 제2 제어 신호(CS2_P)를 입력받은 딜레이 코드 레지스터(128)는, 두번째 포지티브 테스트 모드 코드(TM code +2)를 출력시키고, 컨트롤러(120)로부터 출력되는 두번째 포지티브 테스트 모드 코드(TM code +2)는 제1 기타 메모리 장치(110-2)로 전송된다. 두번째 포지티브 테스트 모드 코드(TM code +2)는, 첫번째 테스트 모드 코드(TM code +1)보다 +30ps의 딜레이 시간에 대응되며, 디폴트 테스트 모드 코드(TM code 0)보다는 +60ps의 딜레이 시간에 대응되는 바이너리 스트림으로 구성된다. 따라서 두번째 포지티브 테스트 모드 코드(TM code +2)를 전송받는 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)는 레플리커 딜레이에 60ps의 시간만큼 딜레이 시간이 증가된 DLL 클럭 신호(DLL_CK2_3)를 발생시킨다. 이에 따라 제1 기타 메모리 장치(110-2)로부터 발생되는 세번째 데이터 스트로브 신호(DQS2_3) 또한 레플리커 딜레이에 60ps의 시간만큼 딜레이 시간이 증가된 위상을 갖는다.
도 32는 도 24의 피드백된 단계 230-8에 의해 딜레이 시간이 증가된 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)의 위상을 첫번째 데이터 스트로브 신호(DQS2_1)의 위상과 비교하여 나타내 보인 타이밍도이다. 도 32를 참조하면, 두번째 포지티브 테스트 모드 코드(TM code +2)에 의해 정해지는 두번째 딜레이 시간(tDelay2_2=+60ps), 예컨대 60ps만큼 딜레이가 증가된 DLL 클럭 신호가 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로부터 발생되므로, DLL 클럭 신호에 동기되어 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 발생되는 세번째 데이터 스트로브 신호(DQS2_3) 또한 두번째 딜레이 시간(tDelay2_2=+60ps)만큼 더 딜레이된다. 이에 따라 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)도, 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)에 비하여 두번째 딜레이 시간(tDelay2_2)인 60ps만큼 딜레이가 증가된다. 그 결과, 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)의 레플리커 딜레이(tReplicaDealy2_3)는 첫번째 데이터 스트로브 신호(DQS2_1)의 레플리커 딜레이(tReplicaDealy2_1)보다 두번째 딜레이 시간(tDelay2_2=+60ps)만큼 짧아진다. 그리고 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_2)와 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3) 사이의 타이밍 스큐는 제거된다.
도 33은 도 24의 피드백된 단계 230-9 내지 230-11을 설명하기 위해 나타내 보인 블록도이다. 도 33을 참조하면, 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)는, 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 입력된다. 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)가 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 전송되는 경로는, 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)가 컨트롤러(120)로 전송되는 경로와 동일하다. 컨트롤러(120)는 전송된 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 샘플링을 수행한다. 샘플링은, 도 15의 단계 210에서 생성된 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 수행된다. 도 32에 나타낸 바와 같이, 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)가 더 이상 하이 신호가 아니므로, 세번째 샘플링 회로 출력 신호(SCO2_3)로 로우 신호가 출력된다.
로우 레벨의 세번째 샘플링 회로 출력 신호(SCO2_3)를 입력받는 제2 딜레이 컨트롤 블록(127)은, 이전 단계에서의 샘플링 회로 출력 신호, 즉 두번째 샘플링 회로 출력 신호(SCO2_2)가 갖는 하이 레벨에서 로우 레벨로 변경되므로, 이전 단계에 제1 기타 메모리 장치(110-2)로 전송되었던 테스트 모드 코드, 즉 두번째 포지티브 테스트 모드 코드(TM code +2)를 저장하라는 제2 제어신호(SC2_S)를 딜레이 코드 레지스터(128)로 전송한다. 딜레이 코드 레지스터(128)는 두번째 포지티브 테스트 모드 코드(TM code +2)를 저장하고, 두번째 포지티브 테스트 모드 코드(TM code +2)에 대응되는 딜레이 정보를 갖는 메모리 리페어 데이터(MRD)를 제2 드라이버(123B)로 입력시킨다. 제2 드라이버(123B)는 입력된 메모리 리페어 데이터(MRD)를 제3 컨트롤러 패드(121C)를 통해 제1 기타 메모리 장치(110-2)로 전송시킨다. 이 과정에서 제2 스위치(129B)는, 딜레이 코드 레지스터(128)의 출력단자를 제2 드라이버(123B)의 입력단자에 연결시킨다. 제1 기타 메모리 장치(110-2)로 전송된 메모리 리페어 데이터(RMD)는 럽쳐 회로(116-2)로 입력된다. 럽쳐 회로(116-2)는, 입력된 메모리 리페어 데이터(RMD)에 따라 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)가 두번째 포지티브 테스트 모드 코드(TM code +2)에 대응되는 딜레이 시간을 갖도록 하는 리페어 동작을 수행한다.
도 34는 도 25의 단계 230-12의 첫번째 네가티브 테스트 모드 코드(TM code -1) 전송 과정과, 단계 230-13 내지 단계 230-15의 제1 기타 메모리 장치(110-2) 내에서의 두번째 데이터 스트로브 신호(DQS2_2)의 딜레이 시간 조정 과정 및 딜레이된 두번째 데이터 스트로브 신호(DQS2_2)의 전송 과정을 설명하기 위해 나타내 보인 블록도이다. 도 34에서 도 26과 동일한 참조부호는 동일한 구성요소를 나타낸다. 도 34를 도 25와 함께 참조하면, 도 23의 단계 230-4에서 샘플링 회로(124)로부터 발생되는 첫번째 샘플링 회로 출력 신호(SCO2_1)인 로우 신호는 제2 딜레이 컨트롤 블록(127)에 입력된다. 도 25의 단계 230-12에서의 네가티브 테스트 모드 코드(TM code -) 전송 단계를 수행하기 위해, 제2 딜레이 컨트롤 블록(127)은, 딜레이 코드 레지스터(128) 내의 테스트 모드 코드 테이블(128-1)에 저장된 테스트 모드 코드들(TM codes) 중 네가티브 테스트 모드 코드(TM code -)가 출력되도록 하는 제2 제어 신호(CS2_N)를 딜레이 코드 레지스터(128)에 전송한다. 제2 제어 신호(CS2_N)를 입력받은 딜레이 코드 레지스터(128)는, 복수개의 네가티브 테스트 코드들(TM code -1, TM code -2, …, TM code -N) 중 첫번째 네가티브 테스트 코드(TM code -1)를 출력시킨다.
첫번째 네가티브 테스트 코드(TM code -1)는 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로 입력된다. 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)는 첫번째 네가티브 테스트 코드(TM code -1)가 갖는 -30ps의 딜레이 시간에 대응하여, 30ps의 시간만큼 딜레이가 감소하는 DLL 클럭 신호(DLL_CK2_2)를 발생시킨다. 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)는, DLL 클럭 신호(CLL_CK2_2)에 동기되는 두번째 데이터 스트로브 신호(DQS2_2)를 발생시킨다. 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)는 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 전송된다. 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)가 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 전송되는 경로는, 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)가 컨트롤러(120)로 전송되는 경로와 동일하다.
도 35은 도 25의 단계 230-15에서 딜레이 시간이 감소된 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)의 위상을 첫번째 데이터 스트로브 신호(DQS2_1)의 위상과 비교하여 나타내 보인 타이밍도이다. 도 35를 참조하면, 첫번째 네가티브 테스트 코드(TM code -1)에 의해 정해지는 첫번째 딜레이 시간(tDelay2_1=-30ps), 예컨대 30ps만큼 딜레이가 감소된 DLL 클럭 신호(DLL_CK2_2)가 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로부터 발생되므로, DLL 클럭 신호(DLL_CK2_2)에 동기되어 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 발생되는 두번째 데이터 스트로브 신호(DQS2_2) 또한 첫번째 딜레이 시간(tDelay2_1=-30ps)만큼 딜레이가 감소된다. 이에 따라 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)도, 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)에 비하여 첫번째 딜레이 시간(tDelay2_1)인 30ps만큼 딜레이가 감소된다. 그 결과, 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)의 레플리커 딜레이(tReplicaDealy2_2)는 첫번째 데이터 스트로브 신호(DQS2_1)의 레플리커 딜레이(tReplicaDealy2_1)보다 30ps 더 길어진다. 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)와 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3) 사이의 타이밍 스큐(tDQSCK2_2)도 첫번째 데이터 스트로브 신호(DQS2_1)와 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3) 사이의 타이밍 스큐(tDQSCK2_1)보다 짧아진다.
제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)가 첫번째 데이터 스트로브 신호(DQS2_1)에 비해 딜레이 시간이 감소되더라도, 여전히 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지와는 "tDQSCK2_2"의 타이밍 스큐가 존재한다. 즉 두번째 데이터 스트로브 신호(DQS2_2)가 "tDQSCK2_2"의 타이밍 스큐만큼 느린 타이밍에 대표 메모리 장치(110-1)로부터 출력되어 컨트롤러(120)로 입력된다. 따라서 두번째 데이터 스트로브 신호(DQS2_2)는, 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 여전히 로우 레벨 상태가 된다. 이에 따라 두번째 데이터 스트로브 신호(DQS2_2)에 대한 샘플링 결과로서, 샘플링 회로(124)는 로우 신호인 두번째 샘플링 회로 출력 신호(SCO2_2)를 출력시킨다.
도 36은 도 25의 단계 230-17에서 두번째 샘플링 출력 신호(SCO2_2)가 로우 신호인 경우에서의 피드백에 의해 수행되는 단계 230-12 내지 단계 230-15를 설명하기 위해 나타내 보인 블록도이다. 도 36을 참조하면, 도 25의 단계 230-17의 판단에서 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)에 대한 두번째 샘플링 회로 출력 신호(SCO2_2)가 로우 신호인 경우, 제1 기타 메모리 장치(110-2)에 대한 트레이닝 과정은 도 25의 단계 230-12의 네가티브 테스트 모드 코드(TM code -) 전송 단계로 피드백된다. 구체적으로 두번째 샘플링 회로 출력 신호(SCO2_2)인 로우 신호를 입력받은 제2 딜레이 컨트롤 블록(127)은, 이전에 출력시킨 첫번째 네가티브 테스트 모드 코드(TM code -1)의 다음 레벨, 즉 두번째 네가티브 테스트 모드 코드(TM code -2)가 출력되도록 하는 제2 제어 신호(CS2_N)를 딜레이 코드 레지스터(128)에 전송한다. 제2 제어 신호(CS2_N)를 입력받은 딜레이 코드 레지스터(128)는, 두번째 네가티브 테스트 모드 코드(TM code -2)를 출력시키고, 컨트롤러(120)로부터 출력되는 두번째 네가티브 테스트 모드 코드(TM code -2)는 제1 기타 메모리 장치(110-2)로 전송된다. 두번째 네가티브 테스트 모드 코드(TM code -2)는, 첫번째 네가티브 테스트 모드 코드(TM code -1)보다 -30ps의 딜레이 시간에 대응되며, 디폴트 테스트 모드 코드(TM code 0)보다는 -60ps의 딜레이 시간에 대응되는 바이너리 스트림으로 구성된다. 따라서 두번째 네가티브 테스트 모드 코드(TM code -2)를 전송받는 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)는 레플리커 딜레이에 60ps의 시간만큼 딜레이 시간이 감소된 DLL 클럭 신호(DLL_CK2_3)를 발생시킨다. 이에 따라 제1 기타 메모리 장치(110-2)로부터 발생되는 세번째 데이터 스트로브 신호(DQS2_3) 또한 레플리커 딜레이에 60ps의 시간만큼 딜레이 시간이 감소된 위상을 갖는다.
도 37은 도 25의 피드백된 단계 230-15에 의해 딜레이 시간이 감소된 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)의 위상을 첫번째 데이터 스트로브 신호(DQS2_1)의 위상과 비교하여 나타내 보인 타이밍도이다. 도 37을 참조하면, 두번째 네가티브 테스트 모드 코드(TM code -2)에 의해 정해지는 두번째 딜레이 시간(tDelay2_2=-60ps), 예컨대 60ps만큼 딜레이가 감소된 DLL 클럭 신호(DLL_CK2_3)가 제1 기타 메모리 장치(110-2)의 지연 고정 루프(DLL)(112-2)로부터 발생되므로, DLL 클럭 신호(DLL_CK2_3)에 동기되어 제1 기타 메모리 장치(110-2)의 트리거 회로(114-2)로부터 발생되는 세번째 데이터 스트로브 신호(DQS2_3) 또한 두번째 딜레이 시간(tDelay2_2=-60ps)만큼 딜레이가 감소된다. 이에 따라 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)도, 대표 메모리 장치(110-1)로부터 출력되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)에 비하여 두번째 딜레이 시간(tDelay2_2)인 60ps만큼 딜레이가 감소된다. 그 결과, 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)의 레플리커 딜레이(tReplicaDealy2_3)는 첫번째 데이터 스트로브 신호(DQS2_1)의 레플리커 딜레이(tReplicaDealy2_1)보다 두번째 딜레이 시간(tDelay2_2=60ps)만큼 길어진다. 그리고 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)와 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3) 사이의 타이밍 스큐는 제거된다.
도 38은 도 25의 피드백된 단계 230-16 내지 230-18을 설명하기 위해 나타내 보인 블록도이다. 도 38을 참조하면, 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)는, 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 입력된다. 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)가 대표 메모리 장치(110-1)를 경유하여 컨트롤러(120)로 전송되는 경로는, 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)가 컨트롤러(120)로 전송되는 경로와 동일하다. 컨트롤러(120)는 전송된 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 샘플링을 수행한다. 샘플링은, 도 15의 단계 210에서 생성된 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 수행된다. 도 37에 나타낸 바와 같이, 컨트롤러(120)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)가 더 이상 로우 신호가 아니므로, 세번째 샘플링 회로 출력 신호(SCO2_3)로 하이 신호가 출력된다.
하이 레벨의 세번째 샘플링 회로 출력 신호(SCO2_3)를 입력받는 제2 딜레이 컨트롤 블록(127)은, 이전 단계에서의 샘플링 회로 출력 신호, 즉 두번째 샘플링 회로 출력 신호(SCO2_2)가 갖는 로우 레벨에서 하이 레벨로 변경되므로, 이전 단계에 제1 기타 메모리 장치(110-2)로 전송되었던 테스트 모드 코드, 즉 두번째 네가티브 테스트 모드 코드(TM code -2)를 저장하라는 제2 제어신호(SC2_S)를 딜레이 코드 레지스터(128)로 전송한다. 딜레이 코드 레지스터(128)는 두번째 네가티브 테스트 모드 코드(TM code -2)를 저장하고, 두번째 네가티브 테스트 모드 코드(TM code -2)에 대응되는 딜레이 정보를 갖는 메모리 리페어 데이터(MRD)를 제2 드라이버(123B)로 입력시킨다. 제2 드라이버(123B)는 입력된 메모리 리페어 데이터(MRD)를 제3 컨트롤러 패드(121C)를 통해 제1 기타 메모리 장치(110-2)로 전송시킨다. 이 과정에서 제2 스위치(129B)는, 딜레이 코드 레지스터(128)의 출력단자를 제2 드라이버(123B)의 입력단자에 연결시킨다. 제1 기타 메모리 장치(110-2)로 전송된 메모리 리페어 데이터(RMD)는 럽쳐 회로(116-2)로 입력된다. 럽쳐 회로(116-2)는, 입력된 메모리 리페어 데이터(RMD)에 따라 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호(DQS2)가 두번째 네가티브 테스트 모드 코드(TM code -2)에 대응되는 딜레이 시간을 갖도록 하는 리페어 동작을 수행한다.
도 39는 본 개시의 다른 실시예에 따른 메모리 시스템의 컨트롤러(420)를 나타내 보인 블록도이다. 이하에서 설명되는 메모리 시스템의 대표 메모리 장치 및 기타 메모리 장치들의 구성은 도 5를 참조하여 설명한 바와 동일하다. 도 39를 참조하면, 본 예에 따른 컨트롤러(420)는 적어도 3개의 제1 내지 제3 컨트롤러 패드(421A, 421B, 421C)와, 1개의 리시버(422) 및 2개의 드라이버(423A, 423B)와, 샘플링 회로(424)와, 딜레이 회로(425)와, 딜레이 컨트롤 블록(426)과, 축차 근사 레지스터(Successive Approximation Register; 이하 SAR) 컨트롤러(427)와, 그리고 제1 및 제2 스위치(switch)(429A, 429B)를 포함하여 구성될 수 있다. 메모리 장치에 대한 트레이닝 과정에서, 제1 컨트롤러 패드(421A)는, 트레이닝이 수행되는 메모리 장치로부터 데이터 스트로브 신호(DQS)를 전송받는데 사용된다. 제2 컨트롤러 패드(421B)는 테스트 모드 코드(TM code)를 메모리 장치로 전송하는데 사용된다. 그리고 제3 컨트롤러 패드(421C)는 메모리 리페어 데이터(MRD)를 메모리 장치로 전송하는데 사용된다. 1개의 리시버(422) 및 2개의 드라이버(423A, 423B)는 컨트롤러(420) 내에서의 입/출력 버퍼 기능을 수행한다. 리시버(422)는, 제1 컨트롤러 패드(421A)를 통해 트레이닝이 수행되는 메모리 장치로부터 전송되는 데이터 스트로브 신호(DQS)를 받아 샘플링 회로(424)에 입력시킨다.
샘플링 회로(424)는, 리시버(422)로부터 입력되는 데이터 스트로브 신호(DQS)에 대한 샘플링을 수행하고 그 결과를 출력시킨다. 일 예에서 샘플링 회로(424)는 D-플립-플랍(F/F)을 포함할 수 있다. 이 경우 샘플링 회로(424)는 입력 단자, 출력 단자 및 클럭 입력 단자를 갖는다. 클럭 입력 단자를 통해서는 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)가 입력된다. 입력 단자를 통해서는 샘플링할 신호, 즉 리시버(422)를 통해 전송되는 데이터 스트로브 신호(DQS)가 입력된다. 샘플링 회로(424)의 입력 단자를 통해 데이터 스트로브 신호(DQS)가 입력되면, 샘플링 회로(424)는, 내부 딜레이 클럭 신호(Internal CKD)를 이용하여 데이터 스트로브 신호(DQS)에 대한 샘플링을 수행하고, 그 결과인 샘플링 회로 출력 신호(SCO)를 출력 단자를 통해 출력시킨다. 샘플링 회로 출력 신호(SCO)는 로우(low) 신호(값 "0") 또는 하이(high) 신호(값 "1")일 수 있다.
일 예에서 샘플링 회로(424)에 의해 수행되는 샘플링은, 내부 딜레이 클럭 신호(Internal CKD)의 상승 에지를 기준으로 수행될 수 있다. 이 경우 내부 딜레이 클럭 신호(Internal CKD)의 상승 에지에서 데이터 스트로브 신호(DQS)가 하이 신호이면, 샘플링 회로 출력 신호(SCO)로서 하이 신호가 출력될 수 있다. 반면에 내부 딜레이 클럭 신호(Internal CKD)의 상승 에지에서 데이터 스트로브 신호(DQS)가 로우 신호이면, 샘플링 회로 출력 신호(SCO)로서 로우 신호가 출력될 수 있다. 내부 딜레이 클럭 신호(Internal CKD)와 데이터 스트로브 신호(DQS)의 위상이 일치되는 경우, 즉 내부 딜레이 클럭 신호(Internal CKD)의 상승 에지에서 데이터 스트로브 신호(DQS)도 상승 에지가 되는 경우 샘플링 회로 출력 신호(SCO)는, 이전의 로우 신호에서 하이 신호로, 또는 이전의 하이 신호에서 로우 신호로 변경된다.
딜레이 회로(425)는, 딜레이 컨트롤 블록(426)으로부터 출력되는 제어 신호(CS)를 입력받고, 내부 클럭 신호(CK)를 일정 시간 지연시킨 내부 딜레이 클럭 신호(Internal CKD)를 출력시킨다. 딜레이 회로(425)로부터 발생되는 내부 딜레이 클럭 신호(Internal CKD)는 샘플링 회로(424)에 입력된다. 딜레이 컨트롤 블록(426)은, 샘플링 회로(424)로부터의 샘플링 회로 출력 신호(SCO)에 따라 내부 클럭 신호(Internal CK)를 딜레이시키는 제어 신호(SC)를 딜레이 회로(425)에 입력시킨다. 제어 신호(SC)에 의해, 딜레이 회로(425)는, 내부 클럭 신호(CK)를 지연시킨 내부 딜레이 클럭 신호(Internal CKD)가 출력되거나, 더 이상 딜레이 동작을 수행하지 않는다. 제1 스위치(429A)는, 샘플링 회로(424)의 출력 단자가 딜레이 컨트롤 블록(426) 및 SAR 컨트롤러(427) 중 어느 하나에 연결되도록 스위칭 동작을 수행한다. 제1 스위치(429A)는, 딜레이 회로(425)로부터 발생되는 내부 딜레이 클럭 신호(Internal CKD)와 샘플링 회로(424)에 입력되는 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS)의 동기화가 이루어질 때까지, 샘플링 회로(424)의 출력 단자를 딜레이 컨트롤 블록(426)에 연결시킨다. 내부 딜레이 클럭 신호(Internal CKD)와 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS)의 동기화가 이루어진 후, 제1 스위치(429A)는 샘플링 회로(424)의 출력 단자를 SAR 컨트롤러(427)에 연결시킨다.
SAR 컨트롤러(427)은, 샘플링 회로(424)로부터 입력되는 샘플링 회로 출력 신호(SCO)의 레벨에 따라 결정되는 복수개의 테스트 모드 코드들(TM codes)이 SAR 방식으로 출력되도록 하는 제어동작을 수행한다. SAR 컨트롤러(427)는, 테스트 모드 코드 발생 회로(TM code generating circuit)(427-1), SAR 제어 회로(SAR control circuit)(427-2), 및 테스트 모드 코드 테이블(TM code table)(427-3)을 포함할 수 있다. 테스트 모드 코드 발생 회로(427-1)는, 입력되는 데이터 스트로브 신호(DQS)에 대한 샘플링 결과 발생되는 샘플링 회로 출력 신호(SCO)에 따라서 테스트 모드 코드(TM code)를 구성하는 바이너리 스트림의 적어도 하나 이상의 비트값을 출력시킨다. SAR 제어 회로(427-2)는, 테스트 모드 코드 발생 회로(427-1)로부터 출력되는 테스트 모드 코드(TM code)의 비트값을 입력받고, 테스트 모드 코드 테이블(427-3)에 저장되어 있는 테스트 모드 코드들(TM codes) 중 하나의 테스트 모드 코드들(TM code)를 SAR 방식에 의해 선택하여 출력시키는 제어 신호를 출력시킨다. 테스트 모드 코드 테이블(427-3)은 SAR 제어 회로(427-2)로부터의 제어 신호에 응답하여 선택된 테스트 모드 코드(TM code)를 출력시킨다. 선택된 테스트 모드 코드(TM code)가 SAR 컨트롤러(427)로부터 출력되는 동안, 제2 스위치(429B)는, SAR 컨트롤러(427)의 출력단자를 제1 드라이버(423A)의 입력단자에 연결시킨다. SAR 컨트롤러(427)로부터 출력되는 테스트 모드 코드(TM code)는, 제1 드라이버(423A)로 입력된다. 제1 드라이버(423A)는 입력된 테스트 모드 코드(TM code)를 제2 컨트롤러 패드(421B)를 통해 기타 메모리 장치로 전송시킨다.
컨트롤러(420)의 SAR 컨트롤러(427)에 의해 테스트 모드 코드(TM code)를 구성하는 바이너리 스트림의 모든 비트값이 결정되면, 최종 테스트 모드 코드(TM code)는 SAR 컨트롤러(427)에 의해 저장될 수 있다. 이 경우 SAR 컨트롤러(427)는, 저장된 테스트 모드 코드(TM code)가 갖는 정보를 포함하는 메모리 리페어 데이터(MRD)를 출력한다. SAR 컨트롤러(427)로부터 메모리 리페어 데이터(MRD)가 출력되면, 제2 스위치(429B)는, SAR 컨트롤러(427)의 출력단자를 제2 드라이버(423B)의 입력단자에 연결시킨다. 메모리 리페어 데이터(MRD)는 제2 드라이버(423B)로 입력된다. 제2 드라이버(423B)는 입력된 메모리 리페어 데이터(MRD)를 제3 컨트롤러 패드(421C)를 통해 기타 메모리 장치로 전송시킨다.
도 40은 도 39의 테스트 모드 코드 발생 회로(427-1)의 일 예를 나타내 보인 회로도이다. 본 예에 따른 테스트 모드 코드 발생 회로(427-1)는, 테스트 모드 코드(TM code)가 6개의 비트값들(TM<0:5>)을 갖는 바이너리 스트림으로 구성되는 경우에 적용될 수 있다. 도 40을 참조하면, 테스트 모드 코드 발생 회로(427-1)는, 제1 D 플립 플롭(501)과, 인버터(520)와, 쉬프트 레지스터(550)와, 샘플링부(570)와, 그리고 출력부(590)를 포함하여 구성될 수 있다. 쉬프트 레지스터(550)는 직렬로 연결되는 제2 내지 제7 D 플립 플랍(502, …, 507)으로 구성될 수 있다. 샘플링부(570)는, 제8 내지 제13 D 플립 플랍(508, …, 513)을 포함할 수 있다. 출력부(590)는, 제1 내지 제6 OR 게이트들(531, …, 536)을 포함할 수 있다. 본 예에서 테스트 모드 코드(TM code)가 6비트의 바이너리 스트림으로 구성되므로, 쉬프트 레지스터(550) 및 샘플링부(570)는 각각 6개의 D 플립 플랍들로 구성되며, 출력부(590)는 6개의 OR 게이트들로 구성된다. 제1 D 플립 플랍(501)의 데이터 입력 단자(D)로 전원전압(VDD)이 인가될 수 있다. 제1 D 플립 플랍(501)의 클럭 신호 입력 단자와, 쉬프트 레지스터(550)를 구성하는 제2 내지 제7 D 플립 플랍(502, …, 507)의 클럭 신호 입력 단자에는 SAR 클럭 신호(SAR_CLK)가 입력된다. 제1 D 플립 플랍(501)의 출력 단자(Q)는 인버터(520)의 입력 단자에 결합된다.
인버터(520)의 출력 단자는 제2 D 플립 플랍(502)의 데이터 입력 단자(D) 및 제1 OR 게이트(531)의 제1 입력 단자에 결합된다. 제2 D 플립 플랍(502)의 출력 단자(Q)는, 제3 D 플립 플랍(503)의 데이터 입력 단자(D)와, 제8 D 플립 플랍(508)의 클럭 신호 입력 단자와, 그리고 제2 OR 게이트(532)의 제1 입력 단자에 결합된다. 제3 D 플립 플랍(503)의 출력 단자(Q)는, 제4 D 플립 플랍(504)의 데이터 입력 단자(D)와, 제9 D 플립 플랍(509)의 클럭 신호 입력 단자와, 그리고 제3 OR 게이트(533)의 제1 입력 단자에 결합된다. 제4 D 플립 플랍(504)의 출력 단자(Q)는, 제5 D 플립 플랍(505)의 데이터 입력 단자(D)와, 제10 D 플립 플랍(510)의 클럭 신호 입력 단자와, 그리고 제4 OR 게이트(534)의 제1 입력 단자에 결합된다. 제5 D 플립 플랍(505)의 출력 단자(Q)는, 제6 D 플립 플랍(506)의 데이터 입력 단자(D)와, 제11 D 플립 플랍(511)의 클럭 신호 입력 단자와, 그리고 제5 OR 게이트(535)의 제1 입력 단자에 결합된다. 제6 D 플립 플랍(506)의 출력 단자(Q)는, 제7 D 플립 플랍(507)의 데이터 입력 단자(D)와, 제12 D 플립 플랍(512)의 클럭 신호 입력 단자와, 그리고 제6 OR 게이트(536)의 제1 입력 단자에 결합된다. 제7 D 플립 플랍(507)의 출력 단자(Q)는 제13 D 플립 플랍(513)의 클럭 신호 입력 단자와, SAR에 의한 테스트 모드 코드(TM code)의 결정이 완료된 것을 알리는 SAR 완료 신호(SAR_FINISH) 출력라인에 결합된다.
샘플링부(570)를 구성하는 제8 내지 제13 D 플립 플랍(508, …, 513)의 데이터 입력 단자(D)에는 컨트롤러(120)의 샘플링 회로(424)로부터 출력되는 샘플링 회로 출력 신호(SCO)가 입력된다. 제8 D 플립 플랍(508)의 출력 단자(Q)는 제1 OR 게이트(531)의 제2 입력 단자에 결합된다. 제9 D 플립 플랍(509)의 출력 단자(Q)는 제2 OR 게이트(5321)의 제2 입력 단자에 결합된다. 제10 D 플립 플랍(510)의 출력 단자(Q)는 제3 OR 게이트(533)의 제2 입력 단자에 결합된다. 제11 D 플립 플랍(511)의 출력 단자(Q)는 제4 OR 게이트(534)의 제2 입력 단자에 결합된다. 제12 D 플립 플랍(512)의 출력 단자(Q)는 제5 OR 게이트(535)의 제2 입력 단자에 결합된다. 제13 D 플립 플랍(513)의 출력 단자(Q)는 제6 OR 게이트(536)의 제2 입력 단자에 결합된다. 제1 내지 제6 OR 게이트(531, …, 536)의 출력 단자로는 테스트 모드 코드(TM code)를 구성하는 6개의 비트값들(TM<0:5>) 각각이 출력된다. 제1 OR 게이트(531)의 출력 단자로는 테스트 모드 코드(TM code)를 구성하는 비트값들(TM<0:5>) 중 최상위 비트값(MSB)(TM<5>)이 출력되고, 제6 OR 게이트(536)의 출력 단자로는 테스트 모드 코드(TM code)를 구성하는 비트값들(TM<0:5>) 중 최하위 비트값(SLB)(TM<0>)이 출력된다.
테스트 모드 코드 발생 회로(427-1)의 동작을 설명하면, 먼저 쉬프트 레지스터(550)의 초기값은 "100000"으로 설정된다. 즉 제2 D 플립 플랍(502)의 출력값은 "1"이고, 제3 내지 제7 D 플립 플랍(503, …, 507)의 출력값은 "0"이다. 이 상태에서 SAR 클럭 신호(SAR_CLK)가 제1 내지 제7 D 플립 플랍(501, …, 507)의 클럭 신호 입력 단자에 입력되면, SAR 클럭 신호(SAR_CLK)의 첫번째 상승 에지에서 제1 D 플립 플랍(501)의 데이터 입력 단자(D)에 인가되는 전원 전압(VDD)로 인해 제1 D 플립 플랍(501)의 출력 단자(Q)로 "1"이 출력된다. 제1 D 플립 플랍(501)의 출력 신호인 "1"은 인버터(520)에 의해 "0"으로 반전되어 제1 OR 게이트(531)의 제1 입력 단자로 입력된다. SAR 클럭 신호(SAR_CLK)의 상승 에지에서 제2 D 플립 플랍(502)의 출력 단자(Q)로 출력되는 "1"은 제8 D 플립 플랍(508)의 클럭 신호 입력 단자에 입력된다. 따라서 제1 OR 게이트(531)의 제2 입력 단자로 입력되는 제8 D 플립 플랍(508)의 출력 신호는 제8 D 플립 플랍(508)의 데이터 입력 단자(D)에 입력되는 첫번째 샘플링 회로 출력 신호(SCO)에 의해 결정된다. 여기서 첫번째 샘플링 회로 출력 신호(SCO)는, 대표 메모리 장치를 경유하여 컨트롤러(420)로 전송되는 기타 메모리 장치의 첫번째 데이터 스트로브 신호(DQS)에 대한 샘플링 결과를 의미한다. 즉 첫번째 샘플링 회로 출력 신호(SCO)가 "1"인 경우, 제1 OR 게이트(531)의 제2 입력 단자로 "1"이 입력된다. 반면에 첫번째 샘플링 회로 출력 신호(SCO)가 "0"인 경우, 제1 OR 게이트(531)의 제2 입력 단자로 "0"이 입력된다.
제1 OR 게이트(531)의 제1 입력 단자로 "0"이 입력되므로, 제1 OR 게이트(531)의 출력 단자로는 제2 입력 단자에 입력된 신호와 동일한 레벨의 신호가 출력된다. 따라서 첫번째 샘플링 회로 출력 신호(SCO)가 "1"인 경우, 제1 OR 게이트(531)의 출력단자로 테스트 모드 코드(TM code)의 MSB로서 "1"이 출력된다. 반면에 첫번째 샘플링 회로 출력 신호(SCO)가 "0"인 경우, 제1 OR 게이트(531)의 출력 단자로 테스트 모드 코드(TM code)의 MSB로서 "0"이 출력된다. 이 과정에서 쉬프트 레지스터(550)의 제3 내지 제7 D 플립 플랍(503, …, 507)의 출력 단자(Q)로는 "0"이 출력되어 샘플링부(570)의 제9 내지 제13 D 플립 플랍(509, …, 513)의 클럭 신호 입력 단자에 입력된다. "0"이 클럭 신호 입력 단자에 입력되는 제9 내지 제13 D 플립 플랍(509, …, 513)의 출력 단자(Q)로는 출력 신호가 발생되지 않으며, 이에 따라 제2 내지 제6 OR 게이트(532, …, 536)의 출력 단자로도 출력 신호가 발생되지 않는다. 이와 같이 SAR 클럭 신호(SAR_CLK)의 첫번째 상승 에지에서는 테스트 모드 코드(TM code)를 구성하는 6개의 비트값들(TM<0:5>) 중 MSB(TM<5>)의 값만 출력된다.
SAR 클럭 신호(SAR_CLK)의 두번째 상승 에지에서 제2 D 플립 플랍(502)의 출력 신호인 "1"은 제3 D 플립 플랍(503)의 출력 신호로 쉬프트된다. 따라서 제3 D 플립 플랍(503)의 출력 단자(Q)로만 "1"이 출력되고, 나머지 제2 D 플립 플랍(502)과 제4 내지 제7 D 플립 플랍(504, …, 507)의 출력 단자(Q)에는 모두 "0"이 출력된다. 제3 D 플립 플랍(503)의 출력 단자(Q)로만 "1"이 출력되므로, 샘플링부(570)의 제9 D 플립 플랍(509)만 데이터 입력 단자(D)로 입력되는 두번째 샘플링 회로 출력 신호(SCO)의 레벨과 같은 레벨의 신호를 출력시킨다. 여기서 두번째 샘플링 회로 출력 신호(SCO)는, 대표 메모리 장치를 경유하여 컨트롤러(420)로 전송되는 기타 메모리 장치의 두번째 데이터 스트로브 신호(DQS)에 대한 샘플링 결과를 의미한다. 결과적으로 제2 OR 게이트(532)의 제1 입력 단자로 제2 D 플립 플랍(502)의 출력 신호인 "0"이 입력되므로, 제2 OR 게이트(532)의 출력 단자로는 제2 입력 단자에 입력된 신호와 동일한 레벨의 신호가 출력된다. 두번째 샘플링 회로 출력 신호(SCO)가 "1"인 경우, 제2 OR 게이트(532)의 출력단자로 테스트 모드 코드(TM code)의 다섯번째 비트값(TM<4>)으로서 "1"이 출력된다. 반면에 두번째 샘플링 회로 출력 신호(SCO)가 "0"인 경우, 제2 OR 게이트(532)의 출력 단자로 테스트 모드 코드(TM code)의 다섯번째 비트값(TM<4>)으로서 "0"이 출력된다.
SAR 클럭 신호(SAR_CLK)의 세번째 상승 에지에서 제3 D 플립 플랍(503)의 출력 신호인 "1"은 제4 D 플립 플랍(504)의 출력 신호로 쉬프트된다. 따라서 제4 D 플립 플랍(504)의 출력 단자(Q)로만 "1"이 출력되고, 나머지 제2 및 제3 D 플립 플랍(502, 503)과 제5 내지 제7 D 플립 플랍(505, …, 507)의 출력 단자(Q)에는 모두 "0"이 출력된다. 제4 D 플립 플랍(504)의 출력 단자(Q)로만 "1"이 출력되므로, 샘플링부(570)의 제10 D 플립 플랍(510)만 데이터 입력 단자(D)로 입력되는 세번째 샘플링 회로 출력 신호(SCO)의 레벨과 같은 레벨의 신호를 출력시킨다. 여기서 세번째 샘플링 회로 출력 신호(SCO)는, 대표 메모리 장치를 경유하여 컨트롤러(420)로 전송되는 기타 메모리 장치의 세번째 데이터 스트로브 신호(DQS)에 대한 샘플링 결과를 의미한다. 결과적으로 제3 OR 게이트(533)의 제1 입력 단자로 제3 D 플립 플랍(503)의 출력 신호인 "0"이 입력되므로, 제3 OR 게이트(533)의 출력 단자로는 제2 입력 단자에 입력된 신호와 동일한 레벨의 신호가 출력된다. 세번째 샘플링 회로 출력 신호(SCO)가 "1"인 경우, 제3 OR 게이트(533)의 출력단자로 테스트 모드 코드(TM code)의 네번째 비트값(TM<3>)으로서 "1"이 출력된다. 반면에 세번째 샘플링 회로 출력 신호(SCO)가 "0"인 경우, 제3 OR 게이트(533)의 출력 단자로 테스트 모드 코드(TM code)의 네섯번째 비트값(TM<3>)으로서 "0"이 출력된다.
동일한 메커니즘으로, SAR 클럭 신호(SAR_CLK)의 네번째 상승 에지에서 제4 OR 게이트(534)의 출력 단자로 테스트 모드 코드(TM code)의 세번째 비트값(TM<2>)이 출력되며, 이 값은 대표 메모리 장치를 경유하여 컨트롤러(420)로 전송되는 기타 메모리 장치의 네번째 데이터 스트로브 신호(DQS)에 대한 샘플링 결과인 네번째 샘플링 회로 출력 신호(SCO)와 같은 레벨의 값이다. 마찬가지로 SAR 클럭 신호(SAR_CLK)의 다섯번째 상승 에지에서 제5 OR 게이트(535)의 출력 단자로 테스트 모드 코드(TM code)의 두번째 비트값(TM<1>)이 다섯번째 샘플링 회로 출력 신호(SCO)와 같은 레벨로 출력된다. SAR 클럭 신호(SAR_CLK)의 여섯번째 상승 에지에서는 제6 OR 게이트(536)의 출력 단자로 테스트 모드 코드(TM code)의 첫번째 비트값, 즉 LSB값(TM<0>)이 여섯째 샘플링 회로 출력 신호(SCO)와 같은 레벨로 출력된다. 또한 제7 D 플립 플랍(507)의 출력 단자(Q)를 통해 출력되는 "1"은 SAR 완료 신호(SAR_FINISH) 출력라인을 통해 출력되며, 이에 따라 현재의 기타 메모리 장치에 대한 트레이닝이 종료되고, 다음 기타 메모리 장치에 대한 트레이닝이 수행되도록 한다.
도 41은 도 39의 테스트 모드 코드 테이블(427-3) 구성의 일 예를 나타내 보인 도면이다. 도 41을 참조하면, 본 예에서 테스트 모드 코드 테이블(427-3) 내에는 복수개의 테스트 모드 코드들(TM codes)이 저장된다. 테스트 모드 코드(TM code)를 구성하는 바이너리 스트림의 비트수가 "K"인 경우, 테스트 모드 코드 테이블(427-3) 내의 테스트 모드 코드들(TM codes)의 개수는 2K개가 된다. 본 예에서와 같이, 테스트 모드 코드(TM code)가 6비트의 바이너리 스트림으로 구성되는 경우, 테스트 모드 코드 테이블(427-3) 내의 테스트 모드 코드들(TM codes)의 개수는 64개이다. 기타 메모리 장치의 지연 고정 루프(DLL)는, 테스트 모드 코드(TM code)를 구성하는 6개의 비트값들(B<0:6>)에 따라 결정되는 딜레이 시간만큼 지연된 DLL 클럭 신호(DLL_CK)를 발생시킨다. 따라서 기타 메모리 장치의 트리거 회로부터 출력되는 데이터 스트로브 신호(DQS)도 테스트 모드 코드(TM code)를 구성하는 6개의 비트값들(B<0:6>)에 따라 결정되는 딜레이 시간만큼 지연된 위상을 갖는다.
본 예에서 테스트 모드 코드(TM code)를 구성하는 6개의 비트값들(B<0:6>)에 따라 결정되는 딜레이 시간은, -630ps 내지 +630ps의 범위로 분포된다. 인접한 테스트 모드 코드들 사이의 시간 간격은 20ps로 설정된다. -630ps 내지 -10ps의 딜레이 시간을 나타내는 테스트 모드 코드들(TM codes)은, 데이터 스트로브 신호(DQS)가 딜레이 시간만큼 늦은 타이밍에 컨트롤러(420)로 입력되도록 한다. 가장 크게 증가되는 딜레이 시간은 -630ps이며, 이에 대응되는 테스트 모드 코드(TM code)는 "111111"의 바이너리 스트림으로 구성된다. 한 단계 낮게 증가되는 딜레이 시간은 -610ps이며, 이에 대응되는 테스트 모드 코드(TM code)는 "111110"의 바이너리 스트림으로 구성된다. 가장 작게 증가되는 딜레이 시간은 -10ps이며, 이에 대응되는 테스트 모드 코드(TM code)는 "100000"의 바이너리 스트림으로 구성된다. 반면에 +10ps 내지 +630ps의 딜레이 시간을 나타내는 테스트 모드 코드들(TM codes)은, 데이터 스트로브 신호(DQS)가 딜레이 시간만큼 빠른 타이밍에 컨트롤러(420)로 입력되도록 한다. 가장 크게 감소되는 딜레이 시간은 +630ps이며, 이에 대응되는 테스트 모드 코드(TM code)는 "000000"의 바이너리 스트림으로 구성된다. 한 단계 낮게 감소되는 딜레이 시간은 +610ps이며, 이에 대응되는 테스트 모드 코드(TM code)는 "000001"의 바이너리 스트림으로 구성된다. 가장 작게 감소되는 딜레이 시간은 +10ps이며, 이에 대응되는 테스트 모드 코드(TM code)는 "011111"의 바이너리 스트림으로 구성된다.
본 예에 따른 메모리 시스템에서의 트레이닝 방법은 도 15를 참조하여 설명한 트레이닝 방법과 동일하다. 즉 대표 메모리 장치(110-1)에 대한 트레이닝은, 대표 메모리 장치의 데이트 스트로브 신호의 위상과 일치되는 위상의 컨트롤러(420) 내의 내부 딜레이 클럭 신호(Internal CKD)를 생성함으로써 수행될 수 있다. 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)가 생성되면, 기타 메모리 장치에 대한 트레이닝은, 생성된 내부 딜레이 클럭 신호(Internal CKD)의 위상과 일치되도록 기타 메모리 장치의 데이터 스트로브 신호의 레플리커 딜레이 시간을 조정함으로써 수행된다. 다만 본 예에서는 기타 메모리 장치의 데이터 스트로브 신호의 레플리커 딜레이 시간을 조정하는 과정을 SAR 방식을 이용한다는 점에서 앞선 실시예와 차이점이 있다. 따라서 이하에서는 대표 메모리 장치에 대한 트레이닝 과정에 대해서는 설명을 생략하고, 본 실시예에 따른 기타 메모리 장치의 트레이닝 과정에 대해서만 설명하기로 한다. 따라서 앞선 실시예에서 도 16 내지 도 22를 참조하여 설명한 바와 같이, 대표 메모리 장치(110-1)에 대한 트레이닝을 통해, 컨트롤러(420) 내의 내부 딜레이 클럭 신호 생성 단계(도 15의 210)에서 세번째 내부 딜레이 클럭 신호(Internal CKD3)가 생성된 경우를 예로 들며, 그에 따라 본 실시예에서도 기타 메모리 장치의 데이터 스트로브 신호(DQS)에 대한 샘플링은 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 수행된다.
도 42는 일 예에 따른 복수개의 메모리 장치들을 갖는 메모리 시스템의 트레이닝 과정 중 기타 메모리 장치에 대한 트레이닝 과정을 설명하기 위해 나타내 보인 플로 챠트이다. 본 예에 따르면, 초기 테스트 모드 코드(initial TM code)를 포함하여 모두 6번 테스트 모드 코드 전송 과정을 통해, 기타 메모리 장치의 데이터 스트로브 신호(DQS)의 위상을 컨트롤러(420)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)와 위상과 일치되도록 할 수 있다. 도 42를 참조하면, 도 15의 단계 210에서 대표 메모리 장치(110-1)의 데이터 스트로브 신호(DQS1)에 동기되는 컨트롤러(420)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)을 생성한 후에는, 첫번째 기타 메모리 장치(110-2)부터 (M-1)번째 기타 메모리 장치(110-M)에 이르기까지 기타 메모리 장치에 대한 트레이닝을 수행한다. 기타 메모리 장치들(110-2, …, 110-M) 각각에 대한 트레이닝 과정은 모두 동일하므로, 이하에서는 제1 기타 메모리 장치(110-2)의 트레이닝 과정만을 설명하기로 한다. 단계 630-1에서 제1 기타 메모리 장치(110-2)에 초기 테스트 모드 코드(Initial TM code)를 전송한다. 초기 테스트 모드 코드(Initial TM code)로는, 도 41을 참조하여 설명한 테스트 모드 코드 테이블(427-3)에 저장된 복수개의 테스트 모드 코드들 중 중간 부분에 위치한 테스트 모드 코드가 설정될 수 있다. 일 예에서 초기 테스트 모드 코드(Initial TM code)로서, +10ps의 레플리커 딜레이 시간을 갖는 테스트 모드 코드(TM code +10) 또는 -10ps의 레플리커 딜레이 시간을 갖는 테스트 모드 코드(TM code -10)가 설정될 수 있다. 본 예에서는 초기 테스트 모드 코드(Initial TM code)가 "100000"의 바이너리 스트림으로 구성되며 -10ps의 레플리커 딜레이 시간을 갖는 테스트 모드 코드(TM code -10)인 경우를 예로 들어 설명하기로 한다.
단계 630-2에서, 테스트 모드 코드(TM code)의 비트를 나타내는 "N"을 최상위비트(MSB)인 5로 설정하고, 테스트 모드 코드(TM code) 전송 횟수 및 데이터 스트로브 신호(DQS2)의 생성 횟수를 나타내는 "P"를 1로 설정한다. 단계 630-3에서, 초기 테스트 모드 코드(Initial TM code)로서 "100000"의 테스트 모드 코드(TM code -10)를 전송받은 제1 기타 메모리 장치(110-2)는 첫번째 데이터 스트로브 신호(DQS2_1)를 발생시킨다. 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)는 대표 메모리 장치(110-1)를 경유하여 컨트롤러(420)의 샘플링 회로(424)로 입력된다. 샘플링 회로(424)에 입력되는 첫번째 데이터 스트로브 신호(DQS2_1)는, 초기 테스트 모드 코드(Initial TM code)에 의해 정해지는 -10ps의 딜레이 시간을 갖는다. 단계 630-4에서, 컨트롤러(420)의 샘플링 회로(424)는, 입력된 첫번째 데이터 스트로브 신호(DQS2_1)에 대한 샘플링을 수행한다. 이 샘플링은, 컨트롤러(420)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 수행된다. 샘플링 회로(424)는 샘플링을 수행하여 첫번째 샘플링 회로 출력 신호(SCO2_1)를 출력한다. 첫번째 샘플링 회로 출력 신호(SCO2_1)는 SAR 컨트롤러(427)의 테스트 모드 코드 발생 회로(427-1)로 입력된다.
단계 630-4의 샘플링 수행 단계에서, 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지를 기준으로 첫번째 데이터 스트로브 신호(DQS2_1)가 하이인 경우, 첫번째 샘플링 회로 출력 신호(SCO2_1)로 하이 신호가 출력된다. 이 경우 단계 630-6에서 최종 테스트 모드 코드의 MSB 비트값, 즉 여섯번째 비트값(TM<5>)으로 "1"이 결정되고, 딜레이 시간이 증가되는 1차 테스트 모드 코드(1st TM code)를 전송한다. 구체적으로 SAR 컨트롤러(427)의 테스트 모드 발생 회로(427-1)는, MSB 값(TM<5>)이 "1"인 "100000"의 바이너리 스트림으로 구성된 테스트 모드 코드(TM code)를 출력하여 SAR 컨트롤 회로(427-2)로 입력시킨다. SAR 컨트롤 회로(427-2)는, SAR 방식으로 MSB 값(TM<5>)이 "1"인 테스트 모드 코드들 중 중간 위치에 있는 테스트 모드 코드의 출력 제어 신호를 테스트 모드 코드 테이블(427-3)로 입력시킨다. 테스트 모드 코드 테이블(427-3)은, SAR 컨트롤 회로(427-2)로부터의 출력 제어 신호에 따라 선택된 1차 테스트 모드 코드(1st TM code)를 제1 기타 메모리 장치(110-2)로 전송한다.
반면에 단계 630-4의 샘플링 결과, 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지를 기준으로 첫번째 데이터 스트로브 신호(DQS2_1)가 로우인 경우, 첫번째 샘플링 회로 출력 신호(SCO2_1)로 로우 신호가 출력된다. 이 경우 단계 630-7에서, 최종 테스트 모드 코드(Final TM code)의 MSB 값, 즉 여섯번째 비트값(TM<5>)으로 "0"이 결정되고, 딜레이 시간이 감소되는 1차 테스트 모드 코드(1st TM code)를 전송한다. 구체적으로 SAR 컨트롤러(427)의 테스트 모드 발생 회로(427-1)는, MSB 값(TM<5>)이 "0"인 "000000"의 바이너리 스트림으로 구성된 테스트 모드 코드(TM code)를 출력하여 SAR 컨트롤 회로(427-2)로 입력시킨다. SAR 컨트롤 회로(427-2)는, SAR 방식으로 MSB 값(TM<5>)이 "0"인 테스트 모드 코드들 중 중간 위치에 있는 테스트 모드 코드의 출력 제어 신호를 테스트 모드 코드 테이블(427-3)로 입력시킨다. 테스트 모드 코드 테이블(427-3)은, SAR 컨트롤 회로(427-2)로부터의 출력 제어 신호에 따라 선택된 1차 테스트 모드 코드(1st TM code)를 제1 기타 메모리 장치(110-2)로 전송한다.
단계 630-6 또는 단계 630-7에서 1차 테스트 모드 코드(1st TM code)를 제1 기타 메모리 장치(110-2)에 전송한 후, 단계 630-8에서 "N"이 "0"인지를 판단한다. "N"은 테스트 모드 코드의 비트 위치를 나타내므로, N=0은 최하위비트(LSB)인 경우를 의미한다. 본 단계에서 N=5이므로, 단계 630-9를 수행한다. 단계 630-9에서 N=N-1이므로 N=4로 설정되고, P=P+1이므로 P=2로 설정된다. 그리고 단계 630-3으로 피드백된다. 피드백된 단계 630-3에서 제1 기타 메모리 장치(110-2)는, 1차 테스트 모드 코드(1st TM code)가 갖는 딜레이 시간을 갖는 두번째 데이터 스트로브 신호(DQS2_2)를 발생시킨다. 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)는, 대표 메모리 장치(110-1)를 경유하여 컨트롤러(420)의 샘플링 회로(424)로 입력된다.
단계 630-4에서, 컨트롤러(420)의 샘플링 회로(424)는, 입력된 두번째 데이터 스트로브 신호(DQS2_2)에 대해 세번째 내부 딜레이 클럭 신호(Internal CKD3)를 기준으로 샘플링을 수행하여 두번째 샘플링 회로 출력 신호(SCO2_2)를 출력한다. 두번째 샘플링 회로 출력 신호(SCO2_2)는 SAR 컨트롤러(427)의 테스트 모드 코드 발생 회로(427-1)로 입력된다. 샘플링 수행 단계에서, 두번째 샘플링 회로 출력 신호(SCO2_2)로 하이 신호가 출력되는 경우, 단계 630-6에서 테스트 모드 발생 회로(427-1)의 동작에 의해 최종 테스트 모드 코드의 다섯번째 비트값(TM<4>)으로 "1"이 결정된다. 그리고 SAR 컨트롤러(427)는 딜레이 시간이 증가되는 2차 테스트 모드 코드(2nd TM code)를 제1 기타 메모리 장치(110-2)로 전송한다. 반면에 두번째 샘플링 회로 출력 신호(SCO2_2)로 로우 신호가 출력되는 경우, 단계 630-7에서 테스트 모드 발생 회로(427-1)의 동작에 의해 최종 테스트 모드 코드의 다섯번째 비트값(TM<4>)으로 "0"이 결정된다. 그리고 SAR 컨트롤러(427)는 딜레이 시간이 감소되는 2차 테스트 모드 코드(2nd TM code)를 제1 기타 메모리 장치(110-2)로 전송한다.
단계 630-8에서 N=4이므로, 단계 630-9를 수행한다. 단계 630-9에서 N=3로 설정되고, P=3로 설정된다. 그리고 단계 630-3으로 다시 피드백된다. 다시 피드백된 단계 630-3에서 제1 기타 메모리 장치(110-2)는, 2차 테스트 모드 코드(2nd TM code)가 갖는 딜레이 시간을 갖는 세번째 데이터 스트로브 신호(DQS2_3)를 발생시킨다. 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)는, 대표 메모리 장치(110-1)를 경유하여 컨트롤러(420)의 샘플링 회로(424)로 입력된다. 이후 다시 피드백된 단계 630-4 및 단계 630-5를 수행하여 세번째 데이터 스트로브 신호(DQS2_3)에 대한 샘플링 과정 및 세번째 샘플링 회로 출력 신호(SCO2_3)가 하이 신호인지 로우 신호인지의 여부를 판단하는 과정을 수행한다. 그리고 다시 피드백되어 수행되는 단계 630-6 또는 단계 630-7에서, 최종 테스트 모드 코드(Final TM code)의 네번째 비트값(TM<3>)을 결정하고, 3차 테스트 모드 코드(3rd TM code)를 제1 기타 메모리 장치(110-2)에 전송한다. 그리고 단계 630-8에서 N이 0이 아니므로, 단계 630-9에서 N=2 및 P=4로 설정된 후, 다시 단계 630-3으로 피드백되며, 이에 따라 제1 기타 메모리 장치(110-2)는 3차 테스트 모드 코드(3rd TM code)에 대응하는 딜레이 시간을 갖는 네번째 데이터 스트로브 신호(DQS2_4)를 대표 메모리 장치(110-1)를 경유하여 컨트롤러(420)로 전송한다.
동일한 방식으로 N=2 및 P=4인 경우, 최종 테스트 모드 코드(Final TM code)의 세번째 비트값(TM<2>)이 결정되고, 컨트롤러(420)로부터 제1 기타 메모리 장치(110-2)로 4차 테스트 모드 코드(4th TM code)가 전송된다. 제1 기타 메모리 장치(110-2)는 4차 테스트 모드 코드(4th TM code)에 대응하는 딜레이 시간을 갖는 다섯번째 데이터 스트로브 신호(DQS2_5)를 대표 메모리 장치(110-1)를 경유하여 컨트롤러(420)로 전송한다. N=1 및 P=5인 경우에는 최종 테스트 모드 코드(Final TM code)의 두번째 비트값(TM<1>)이 결정되고, 컨트롤러(420)로부터 제1 기타 메모리 장치(110-2)로 5차 테스트 모드 코드(5th TM code)가 전송된다. 제1 기타 메모리 장치(110-2)는 5차 테스트 모드 코드(5th TM code)에 대응하는 딜레이 시간을 갖는 여섯번째 데이터 스트로브 신호(DQS2_5)를 대표 메모리 장치(110-1)를 경유하여 컨트롤러(420)로 전송한다. 최종적으로 N=0 및 P=6인 경우 최종 테스트 모드 코드(Final TM code)의 LSB 값, 즉 첫번째 비트값(TM<0>)이 결정되고, 컨트롤러(420)로부터 제1 기타 메모리 장치(110-2)로 6차 테스트 모드 코드(6th TM code)가 전송된다.
6차 테스트 모드 코드(6th TM code)는 최종 테스트 모드 코드(Final TM code)로서, 컨트롤러(420)의 SAR 컨트롤러(427)는 6차 테스트 모드 코드(6th TM code)를 저장하고, 6차 테스트 모드 코드(6th TM code)에 대응되는 딜레이 시간 정보를 갖는 메모리 리페어 데이터(MRD)를 제2 드라이버(423B)로 입력시킨다. 제2 드라이버(423B)는 입력된 메모리 리페어 데이터(MRD)를 제3 컨트롤러 패드(421C)를 통해 제1 기타 메모리 장치(110-2)로 전송시킨다. 이 과정에서 제2 스위치(429B)는, SAR 컨트롤러(427)의 출력단자를 제2 드라이버(423B)의 입력단자에 연결시킨다. 제1 기타 메모리 장치(110-2)로 전송된 메모리 리페어 데이터(RMD)는 럽쳐 회로(116-2)로 입력된다. 럽쳐 회로(116-2)는, 입력된 메모리 리페어 데이터(RMD)에 따라 제1 기타 메모리 장치(110-2)의 데이터 스트로브 신호가 6차 테스트 모드 코드(6th TM code)에 대응되는 딜레이 시간을 갖도록 하는 리페어 동작을 수행한다.
도 43 내지 도 45는 도 42의 단계 630-6 또는 단계 630-7에서 테스트 모드 코드를 SAR 방식으로 선정하는 과정을 설명하기 위해 나타내 보인 도면들이다. 먼저 도 43에 나타낸 바와 같이, 테스트 모드 코드들(TM codes)은, 초기 테스트 모드 코드(Initial TM code)를 중심으로 초기 테스트 모드 코드(Initial TM code)보다 딜레이 시간이 증가하는 테스트 모드 코드들과, 초기 테스트 모드 코드(Initial TM code)보다 딜레이 시간이 감소하는 테스트 모드 코드들을 포함한다. 본 예에서 초기 테스트 모드 코드(Initial TM code)는 딜레이 시간이 0인 경우를 예로 들기로 한다. 초기 테스트 모드 코드(Initial TM code)보다 딜레이 시간이 증가하는 테스트 모드 코드들은 "-tDelay"의 최대 딜레이 시간을 가지며, 이에 대응되는 테스트 모드 코드는 "최대 딜레이 증가 테스트 모드 코드(max- TM code)"로 명명하기로 한다. 반면에 초기 테스트 모드 코드(Initial TM code)보다 딜레이 시간이 감소하는 테스트 모드 코드들은 "+tDelay"의 최대 딜레이 시간을 가지며, 이에 대응되는 테스트 모드 코드는 "최대 딜레이 감소 테스트 모드 코드(max+ TM code)"로 명명하기로 한다.
도 42의 단계 630-5에서 초기 테스트 모드 코드(Initial TM code)에 대응되는 딜레이 시간을 갖는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)에 대한 첫번째 샘플링 회로 출력 신호(SCO2_1)가 하이 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 첫번째 데이터 스트로브 신호(DQS2_1)가 빠른 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(701)로 나타낸 바와 같이, 초기 테스트 모드 코드(Initial TM code)보다 딜레이 시간이 증가하는 테스트 모드 코드들 중 "-tDelay(1/2)"의 딜레이 시간에 대응되는 테스트 모드 코드가 첫번째 테스트 모드 코드(1st TM code_P1_1)로 지정된다. 첫번째 테스트 모드 코드(1st TM code_P1_1)가 갖는 딜레이 시간(-tDelay(1/2))은 최대 딜레이 증가 테스트 모드 코드(max- TM code)가 갖는 딜레이 시간(-tDelay)의 합의 (1/2)이다.
반면에 도 42의 단계 630-5에서 초기 테스트 모드 코드(Initial TM code)에 대응되는 딜레이 시간을 갖는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)에 대한 첫번째 샘플링 회로 출력 신호(SCO2_1)가 로우 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 첫번째 데이터 스트로브 신호(DQS2_1)가 느린 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(702)로 나타낸 바와 같이, 초기 테스트 모드 코드(Initial TM code)보다 딜레이 시간이 감소하는 테스트 모드 코드들 중 "+tDelay(1/2)"의 딜레이 시간에 대응되는 테스트 모드 코드가 첫번째 테스트 모드 코드(1st TM code_P1_2)로 지정된다. 첫번째 테스트 모드 코드(1st TM code_P1_2)가 갖는 딜레이 시간(+tDelay(1/2))은 최대 딜레이 감소 테스트 모드 코드(max+ TM code)가 갖는 딜레이 시간(+tDelay)의 합의 (1/2)이다.
다음에 도 44에 나타낸 바와 같이, 앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_1)가 지정된 경우, 도 42의 단계 630-5에서 첫번째 테스트 모드 코드(1st TM code_P1_1)에 대응되는 딜레이 시간(-tDelay(1/2))을 갖는 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)에 대한 두번째 샘플링 회로 출력 신호(SCO2_2)가 하이 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 두번째 데이터 스트로브 신호(DQS2_2)가 여전히 빠른 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(711)로 나타낸 바와 같이, 첫번째 테스트 모드 코드(1st TM code_P1_1)보다 딜레이 시간이 증가하는 테스트 모드 코드들 중 "-tDelay(3/4)"의 딜레이 시간에 대응되는 테스트 모드 코드가 두번째 테스트 모드 코드(2nd TM code_P2_1)로 지정된다. 두번째 테스트 모드 코드(2nd TM code_P2_1)가 갖는 딜레이 시간(-tDelay(3/4))은 첫번째 테스트 모드 코드(1st TM code_P1_1)가 갖는 딜레이 시간(-tDelay(1/2))과 최대 딜레이 증가 테스트 모드 코드(max- TM code)가 갖는 딜레이 시간(-tDelay)의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_1)가 지정되고, 도 42의 단계 630-5에서 첫번째 테스트 모드 코드(1st TM code_P1_1)에 대응되는 딜레이 시간(-tDelay(1/2))을 갖는 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)에 대한 두번째 샘플링 회로 출력 신호(SCO2_2)가 로우 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 두번째 데이터 스트로브 신호(DQS2_2)가 느린 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(712)로 나타낸 바와 같이, 첫번째 테스트 모드 코드(1st TM code_P1_1)보다 딜레이 시간이 감소하는 테스트 모드 코드들 중 "-tDelay(1/4)"의 딜레이 시간에 대응되는 테스트 모드 코드가 두번째 테스트 모드 코드(2nd TM code_P2_2)로 지정된다. 두번째 테스트 모드 코드(2nd TM code_P2_2)가 갖는 딜레이 시간(-tDelay(1/4))은 초기 테스트 모드 코드(Initial TM code)가 갖는 딜레이 시간(0)과 첫번째 테스트 모드 코드(1st TM code_P1_1)가 갖는 딜레이 시간(-tDelay(1/2))의 합의 (1/2)이다.
앞선 프로세스에서, 첫번째 테스트 모드 코드(1st TM code_P1_2)가 지정된 경우, 도 42의 단계 630-5에서 첫번째 테스트 모드 코드(1st TM code_P1_2)에 대응되는 딜레이 시간(+tDelay(1/2))을 갖는 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)에 대한 두번째 샘플링 회로 출력 신호(SCO2_2)가 하이 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 두번째 데이터 스트로브 신호(DQS2_2)가 빠른 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(713)로 나타낸 바와 같이, 첫번째 테스트 모드 코드(1st TM code_P1_2)보다 딜레이 시간이 증가하는 테스트 모드 코드들 중 "+tDelay(1/4)"의 딜레이 시간에 대응되는 테스트 모드 코드가 두번째 테스트 모드 코드(2nd TM code_P2_3)로 지정된다. 두번째 테스트 모드 코드(2nd TM code_P2_3)가 갖는 딜레이 시간(+tDelay(1/4))은 초기 테스트 모드 코드(Initial TM code)가 갖는 딜레이 시간(0)과 첫번째 테스트 모드 코드(1st TM code_P1_2)가 갖는 딜레이 시간(+tDelay(1/2))의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_2)가 지정된 경우, 도 42의 단계 630-5에서 첫번째 테스트 모드 코드(1st TM code_P1_2)에 대응되는 딜레이 시간(+tDelay(1/2))을 갖는 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)에 대한 두번째 샘플링 회로 출력 신호(SCO2_2)가 로우 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 두번째 데이터 스트로브 신호(DQS2_2)가 여전히 느린 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(714)로 나타낸 바와 같이, 첫번째 테스트 모드 코드(1st TM code_P1_2)보다 딜레이 시간이 감소하는 테스트 모드 코드들 중 "+tDelay(3/4)"의 딜레이 시간에 대응되는 테스트 모드 코드가 두번째 테스트 모드 코드(2nd TM code_P2_4)로 지정된다. 두번째 테스트 모드 코드(2nd TM code_P2_4)가 갖는 딜레이 시간(+tDelay(3/4))은 첫번째 테스트 모드 코드(1st TM code_P1_2)가 갖는 딜레이 시간(+tDelay(1/2))과 최대 딜레이 감소 테스트 모드 코드(max+ TM code)가 갖는 딜레이 시간(+tDelay)의 합의 (1/2)이다.
다음에 도 45에 나타낸 바와 같이, 앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_1) 및 두번째 테스트 모드 코드(2nd TM code_P2_1)가 지정된 경우, 도 42의 단계 630-5에서 두번째 테스트 모드 코드(2nd TM code_P2_1)에 대응되는 딜레이 시간(-tDelay(3/4))을 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 세번째 샘플링 회로 출력 신호(SCO2_3)가 하이 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 세번째 데이터 스트로브 신호(DQS2_3)가 빠른 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(721)로 나타낸 바와 같이, 두번째 테스트 모드 코드(2nd TM code_P2_1)보다 딜레이 시간이 증가하는 테스트 모드 코드들 중 "-tDelay(7/8)"의 딜레이 시간에 대응되는 테스트 모드 코드가 세번째 테스트 모드 코드(3rd TM code_P3_1)로 지정된다. 세번째 테스트 모드 코드(3rd TM code_P3_1)가 갖는 딜레이 시간(-tDelay(7/8))은 두번째 테스트 모드 코드(2nd TM code_P2_1)가 갖는 딜레이 시간(-tDelay(3/4))과 최대 딜레이 증가 테스트 모드 코드(max- TM code)가 갖는 딜레이 시간(-tDelay)의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_1) 및 두번째 테스트 모드 코드(2nd TM code_P2_1)가 지정되고, 도 42의 단계 630-5에서 두번째 테스트 모드 코드(2nd TM code_P2_1)에 대응되는 딜레이 시간(-tDelay(3/4))을 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 세번째 샘플링 회로 출력 신호(SCO2_3)가 로우 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 세번째 데이터 스트로브 신호(DQS2_3)가 느린 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(722)로 나타낸 바와 같이, 두번째 테스트 모드 코드(2nd TM code_P2_1)보다 딜레이 시간이 감소하는 테스트 모드 코드들 중 "-tDelay(5/8)"의 딜레이 시간에 대응되는 테스트 모드 코드가 세번째 테스트 모드 코드(3rd TM code_P3_2)로 지정된다. 세번째 테스트 모드 코드(3rd TM code_P3_2)가 갖는 딜레이 시간(-tDelay(5/8))은, 이전의 두번째 테스트 모드 코드(2nd TM code_P2_1)가 갖는 딜레이 시간(-tDelay(3/4))과 그 이전의 첫번째 테스트 모드 코드(1st TM code_P1_1)가 갖는 딜레이 시간(-tDelay(1/2))의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_1) 및 두번째 테스트 모드 코드(2nd TM code_P2_2)가 지정된 경우, 도 42의 단계 630-5에서 두번째 테스트 모드 코드(2nd TM code_P2_2)에 대응되는 딜레이 시간(-tDelay(1/4))을 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 세번째 샘플링 회로 출력 신호(SCO2_3)가 하이 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 세번째 데이터 스트로브 신호(DQS2_3)가 빠른 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(723)로 나타낸 바와 같이, 두번째 테스트 모드 코드(2nd TM code_P2_2)보다 딜레이 시간이 증가하는 테스트 모드 코드들 중 "-tDelay(3/8)"의 딜레이 시간에 대응되는 테스트 모드 코드가 세번째 테스트 모드 코드(3rd TM code_P3_3)로 지정된다. 세번째 테스트 모드 코드(3rd TM code_P3_3)가 갖는 딜레이 시간(-tDelay(3/8))은, 이전의 두번째 테스트 모드 코드(2nd TM code_P2_2)가 갖는 딜레이 시간(-tDelay(1/4))과 그 이전의 첫번째 테스트 모드 코드(1st TM code_P1_1)가 갖는 딜레이 시간(-tDelay(1/2))의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_2) 및 두번째 테스트 모드 코드(2nd TM code_P2_2)가 지정되고, 도 42의 단계 630-5에서 두번째 테스트 모드 코드(2nd TM code_P2_2)에 대응되는 딜레이 시간(-tDelay(1/4))을 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 세번째 샘플링 회로 출력 신호(SCO2_3)가 로우 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 세번째 데이터 스트로브 신호(DQS2_3)가 느린 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(724)로 나타낸 바와 같이, 두번째 테스트 모드 코드(2nd TM code_P2_2)보다 딜레이 시간이 감소하는 테스트 모드 코드들 중 "-tDelay(1/8)"의 딜레이 시간에 대응되는 테스트 모드 코드가 세번째 테스트 모드 코드(3rd TM code_P3_4)로 지정된다. 세번째 테스트 모드 코드(3rd TM code_P3_4)가 갖는 딜레이 시간(-tDelay(1/8))은, 이전의 두번째 테스트 모드 코드(2nd TM code_P2_2)가 갖는 딜레이 시간(-tDelay(1/4))과 초기 테스트 모드 코드(Initial TM code)가 갖는 딜레이 시간(0)의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_2) 및 두번째 테스트 모드 코드(2nd TM code_P2_3)가 지정된 경우, 도 42의 단계 630-5에서 두번째 테스트 모드 코드(2nd TM code_P2_3)에 대응되는 딜레이 시간(+tDelay(1/4))을 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 세번째 샘플링 회로 출력 신호(SCO2_3)가 하이 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 세번째 데이터 스트로브 신호(DQS2_3)가 빠른 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(725)로 나타낸 바와 같이, 두번째 테스트 모드 코드(2nd TM code_P2_3)보다 딜레이 시간이 증가하는 테스트 모드 코드들 중 "+tDelay(1/8)"의 딜레이 시간에 대응되는 테스트 모드 코드가 세번째 테스트 모드 코드(3rd TM code_P3_5)로 지정된다. 세번째 테스트 모드 코드(3rd TM code_P3_5)가 갖는 딜레이 시간(+tDelay(1/8))은 두번째 테스트 모드 코드(2nd TM code_P2_3)가 갖는 딜레이 시간(+tDelay(1/4))과 초기 테스트 모드 코드(Initial TM code)가 갖는 딜레이 시간(0)의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_2) 및 두번째 테스트 모드 코드(2nd TM code_P2_3)가 지정되고, 도 42의 단계 630-5에서 두번째 테스트 모드 코드(2nd TM code_P2_3)에 대응되는 딜레이 시간(+tDelay(1/4))을 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 세번째 샘플링 회로 출력 신호(SCO2_3)가 로우 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 세번째 데이터 스트로브 신호(DQS2_3)가 느린 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(726)로 나타낸 바와 같이, 두번째 테스트 모드 코드(2nd TM code_P2_3)보다 딜레이 시간이 감소하는 테스트 모드 코드들 중 "+tDelay(3/8)"의 딜레이 시간에 대응되는 테스트 모드 코드가 세번째 테스트 모드 코드(3rd TM code_P3_6)로 지정된다. 세번째 테스트 모드 코드(3rd TM code_P3_6)가 갖는 딜레이 시간(+tDelay(3/8))은, 이전의 두번째 테스트 모드 코드(2nd TM code_P2_3)가 갖는 딜레이 시간(+tDelay(1/4))과 그 이전의 첫번째 테스트 모드 코드(1st TM code_P1_2)가 갖는 딜레이 시간(+tDelay(1/2))의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_2) 및 두번째 테스트 모드 코드(2nd TM code_P2_4)가 지정된 경우, 도 42의 단계 630-5에서 두번째 테스트 모드 코드(2nd TM code_P2_4)에 대응되는 딜레이 시간(+tDelay(3/4))을 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 세번째 샘플링 회로 출력 신호(SCO2_3)가 하이 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 세번째 데이터 스트로브 신호(DQS2_3)가 빠른 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(727)로 나타낸 바와 같이, 두번째 테스트 모드 코드(2nd TM code_P2_4)보다 딜레이 시간이 증가하는 테스트 모드 코드들 중 "+tDelay(5/8)"의 딜레이 시간에 대응되는 테스트 모드 코드가 세번째 테스트 모드 코드(3rd TM code_P3_7)로 지정된다. 세번째 테스트 모드 코드(3rd TM code_P3_7)가 갖는 딜레이 시간(+tDelay(5/8))은, 이전의 두번째 테스트 모드 코드(2nd TM code_P2_4)가 갖는 딜레이 시간(+tDelay(3/4))과 그 이전의 첫번째 테스트 모드 코드(1st TM code_P1_2)가 갖는 딜레이 시간(+tDelay(1/2))의 합의 (1/2)이다.
앞선 프로세스에서 첫번째 테스트 모드 코드(1st TM code_P1_2) 및 두번째 테스트 모드 코드(2nd TM code_P2_4)가 지정되고, 도 42의 단계 630-5에서 두번째 테스트 모드 코드(2nd TM code_P2_4)에 대응되는 딜레이 시간(+tDelay(3/4))을 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)에 대한 세번째 샘플링 회로 출력 신호(SCO2_3)가 로우 신호인 경우는, 컨트롤러(420)의 내부 딜레이 클럭 신호(Internal CKD)에 비해 세번째 데이터 스트로브 신호(DQS2_3)가 느린 타이밍에 컨트롤러(420)에 전송되는 경우이므로, 이 경우, 도면에서 화살표(728)로 나타낸 바와 같이, 두번째 테스트 모드 코드(2nd TM code_P2_4)보다 딜레이 시간이 감소하는 테스트 모드 코드들 중 "+tDelay(7/8)"의 딜레이 시간에 대응되는 테스트 모드 코드가 세번째 테스트 모드 코드(3rd TM code_P3_8)로 지정된다. 세번째 테스트 모드 코드(3rd TM code_P3_8)가 갖는 딜레이 시간(+tDelay(7/8))은, 이전의 두번째 테스트 모드 코드(2nd TM code_P2_4)가 갖는 딜레이 시간(+tDelay(3/4))과 최대 딜레이 감소 테스트 모드 코드(max+ TM code)가 갖는 딜레이 시간(+tDelay)의 합의 (1/2)이다.
이와 같이 최종적으로 하나의 테스트 모드 코드가 지정될 때까지 동일한 과정을 반복적으로 수행함으로서, 컨트롤러의 내부 딜레이 클럭 신호에 동기되는 제1 기타 메모리 장치의 데이터 스트로브 신호가 갖는 딜레이 시간을 지정할 수 있다. 일반적으로 테스트 모드 코드(TM code)를 구성하는 바이너리 스트림의 비트수가 "K"인 경우, 테스트 모드 코드들(TM codes)의 개수는 2K개가 되며, SAR에 의한 최종 트레이닝된 테스트 모드 코드(TM code)의 지정은, 도 42의 단계 630-3 내지 단계 630-9의 과정을 K회 수행함으로써 이루어질 수 있다. 즉 모든 기타 메모리 장치들 각각에 대해 K회의 반복 과정을 통해 트레이닝 과정을 완료할 수 있다.
도 46은 제1 기타 메모리 장치의 트레이닝 과정에서 제1 기타 메모리 장치의 데이터 스트로브 신호의 딜레이 변화의 일 예를 컨트롤러의 내부 딜레이 클럭 신호와 함께 나타내 보인 타이밍도이다. 그리고 도 47 내지 도 53은 SAR 방식으로 테스트 모드 코드(TM code)를 선택하는 과정의 일 예를 설명하기 위해 나타내 보인 도면이다. 본 예에 따른 제1 기타 메모리 장치의 트레이닝 과정은 첫번째 프로세스(P1) 내지 여섯번째 프로세스(P6)의 과정을 통해 이루어질 수 있다. 먼저 도 46을 참조하면, 제1 기타 메모리 장치(110-2)에 대한 트레이닝의 첫번째 프로세스(P1)는, 초기 테스트 모드 코드(Initial TM code)에 대응되는 딜레이를 갖는 첫번째 데이터 스트로브 신호(DQS2_1)에 대해 샘플링을 수행하고, 그 결과에 따라 SAR 방식으로 선택된 1차 테스트 모드 코드(1st TM code)를 제1 기타 메모리 장치(110-2)에 전송함으로써 딜레이가 조정된 두번째 데이터 스트로브 신호(DQS2_2)를 발생시키는 과정으로 정의될 수 있다. 구체적으로 초기 테스트 모드 코드(Initial TM code)인 "100000"에 대응되는 레플리커 딜레이를 갖는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)는 컨트롤러(420)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지를 기준으로 "tDQSCK2_1"의 타이밍 스큐를 갖는다. 즉, 도 27을 참조하여 설명한 바와 같이, 대표 메모리 장치(110-2)로부터 컨트롤러(420)로 전송되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)가 "tReplicaDelay2_1"의 레플리커 딜레이보다 짧은 "tRealDealy2_1"의 실제 딜레이를 나타내는 경우이다. 이 경우는 도 10을 참조하여 설명한 바와 같이, 제1 기타 메모리 장치(110-2)에서의 딜레이보다 대표 메모리 장치(110-1)에서의 딜레이가 짧은 경우에 해당될 수 있다. 이에 따라 대표 메모리 장치(110-1)로부터 컨트롤러(420)로 전송되는 제1 기타 메모리 장치(110-2)의 첫번째 데이터 스트로브 신호(DQS2_1)는, 컨트롤러(420)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지를 기준으로 "tDQSCK2_1"의 타이밍 스큐만큼 빠른 타이밍을 갖는다.
샘플링 회로(424)로 입력되는 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 첫번째 데이터 스트로브 신호(DQS2_1)가 하이 신호이므로, 샘플링 회로(424)는 첫번째 샘플링 회로 출력 신호(SCO2_1)로 하이 신호를 출력한다. 따라서, 도 40을 참조하여 설명한 바와 같이, 컨트롤러(420)의 SAR 컨트롤러(427) 내의 테스트 모드 코드 발생 회로(427-1)는 "100000"의 바이너리 데이터를 출력한다. SAR 컨트롤 회로(427-2)는, 테스트 모드 코드 발생 회로(427-1)로부터 "1000000"의 데이터를 입력받고, MSB 값(TM<5>)이 "1"인 테스트 모드 코드들(TM codes) 중 하나의 테스트 모드 코드(TM code)를 선택하는 제어 신호를 테스트 모드 코드 테이블(427-3)로 전송한다. 테스트 모드 코드(TM code)의 선택은 SAR 방식이 적용되어 수행된다. 구체적으로 도 44에 나타낸 바와 같이, 테스트 모드 코드 테이블(427-3) 내의 테스트 모드 코드들(TM codes)은 제1 그룹의 테스트 모드 코드들과 제2 그룹의 테스트 모드 코드들로 구분할 수 있다. 제1 그룹의 테스트 모드 코드들은 MSB 값(TM<5>)이 "0"인 테스트 모드 코드들(TM codes)이며, 제2 그룹의 테스트 모드 코드들은 MSB 값(TM<5>)이 "1"인 테스트 모드 코드들(TM codes)이다. 본 예에서 MSB 값(TM<5>)이 "1"이므로, 제2 그룹의 테스트 모드 코드들 중 하나가 1차 테스트 모드 코드(1st TM code)로 선택된다.
도 48에는 도 44의 전체 테스트 모드 코드들(TM codes) 중 제2 그룹의 테스트 모드 코드들, 즉 MSB 값(TM<5>)이 "1"인 테스트 모드 코드들이 표기되어 있다. 일 예에서 SAR 컨트롤 회로(427-2)는, 도 48 나타낸 바와 같이, 제2 그룹의 테스트 모드 코드들 중 중간 위치에 있는 테스트 모드 코드(TM code -330)를 1차 테스트 모드 코드(1st TM code)로 선택되도록 한다. 본 예에서 1차 테스트 모드 코드(1st TM code)에 대응되는 딜레이 시간은 -300ps이다. 1차 테스트 모드 코드(1st TM code)에 대응되는 딜레이 시간은 초기 테스트 모드 코드(Initial TM code)에 대응되는 딜레이 시간보다 길며, 이에 따라 컨트롤러(420)의 세번째 내부 딜레이 클럭 신호(Interanl CKD3)와의 타이밍 스큐도 감소된다. 다른 예에서 1차 테스트 모드 코드(1st TM code)의 선택은, 값이 결정된 비트 이전 비트값들을 지정함으로써 이루어질 수 있다. 즉, 첫번째 프로세스(P1)에서, SAR 컨트롤 회로(427-2)는, 제2 그룹의 테스트 모드 코드들(TM codes) 중 이미 결정된 MSB 값(TM<5>=1)을 제외한 나머지 비트값들(TM<0:4>) 중 최상위 비트값(TM<4>)이 "1"이고 나머지 하위 비트값들(TM<0:3>)이 모두 "0"인 바이너리 스트림(즉 "110000")으로 구성된 테스트 모드 코드(TM code)를 1차 테스트 모드 코드(1st TM code)로 선택한다.
다시 도 46을 참조하면, 제1 기타 메모리 장치(110-2)에 대한 트레이닝의 두번째 프로세스(P2)는, 1차 테스트 모드 코드(1st TM code)에 대응되는 딜레이를 갖는 두번째 데이터 스트로브 신호(DQS2_2)에 대해 샘플링을 수행하고, 그 결과에 따라 SAR 방식으로 선택된 2차 테스트 모드 코드(2nd TM code)를 제1 기타 메모리 장치(110-2)에 전송함으로써 딜레이가 조정된 세번째 데이터 스트로브 신호(DQS2_3)를 발생시키는 과정으로 정의될 수 있다. 구체적으로 1차 테스트 모드 코드(1st TM code)인 "110000"에 대응되는 딜레이(-330ps)를 갖는 제1 기타 메모리 장치(110-2)의 두번째 데이터 스트로브 신호(DQS2_2)는 컨트롤러(420)의 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지를 기준으로 "tDQSCK2_2"의 타이밍 스큐를 갖는다. 두번째 데이터 스트로브 신호(DQS2_2)는 첫번째 프로세스(P1)에 의해 첫번째 데이터 스트로브 신호(DQS2_1)에 비해 딜레이가 증가되었으므로, 두번째 데이터 스트로브 신호(DQS2_2)가 나타내는 "tDQSCK2_2"의 타이밍 스큐는 첫번째 데이터 스트로브 신호(DQS2_1)가 갖는 "tDQSCK2_1"의 타이밍 스큐보다 짧아진다.
샘플링 회로(424)로 입력되는 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 두번째 데이터 스트로브 신호(DQS2_2)가 하이 신호이므로, 샘플링 회로(424)는 두번째 샘플링 회로 출력 신호(SCO2_2)로 하이 신호를 출력한다. 따라서, 도 40을 참조하여 설명한 바와 같이, 컨트롤러(420)의 SAR 컨트롤러(427) 내의 테스트 모드 코드 발생 회로(427-1)는 "010000"의 바이너리 데이터를 출력하며, 이에 따라 테스트 모드 코드(TM code)의 다섯번째 비트값(TM<4>)은 "1"로 결정된다. 테스트 모드 코드 발생 회로(427-1)로부터 "0100000"의 데이터를 입력받는 SAR 컨트롤 회로(427-2)는, 테스트 모드 코드(TM code)의 다섯번째 비트값(TM<4>)은 "1"로 결정됨에 따라, 딜레이가 증가된 테스트 모드 코드를 2차 테스트 모드 코드(2nd TM code)로 선택하는 제어 신호를 발생시킨다. 구체적으로 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>) 및 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>)이 모두 "1"인 테스트 모드 코드들(TM codes) 중 하나가 SAR 방식으로 선택되도록 하는 제어 동작을 수행된다.
도 49에 나타낸 바와 같이, 2차 테스트 모드 코드(2nd TM code)가 갖는 딜레이가 1차 테스트 모드 코드(1st TM code)가 갖는 딜레이보다 증가해야 하므로, 2차 테스트 모드 코드(2nd TM code)는, 테스트 모드 코드 테이블(427-3) 내의 제2 그룹의 테스트 모드 코드들 중 1차 테스트 모드 코드(1st TM code)와 최대 딜레이 증가 시간인 -630ps에 대응되는 최대 딜레이 증가 테스트 모드 코드(max- TM code) 사이의 테스트 모드 코드들 중 중간에 위치한 테스트 모드 코드, 즉 "111000"으로 선택된다. 다른 예에서 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>=1) 및 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>=1)을 제외한 나머지 비트값들(TM<0:3>) 중 최상위인 네번째 비트값(TM<3>)이 "1"이고 나머지 하위 비트값들(TM<0:2>)이 모두 "0"인 바이너리 스트림(즉 "111000")으로 구성된 테스트 모드 코드(TM code)가 2차 테스트 모드 코드(2nd TM code)로 선택되도록 할 수 있다.
다시 도 46을 참조하면, 제1 기타 메모리 장치(110-2)에 대한 트레이닝의 세번째 프로세스(P3)는, 2차 테스트 모드 코드(2nd TM code)에 대응되는 딜레이를 갖는 세번째 데이터 스트로브 신호(DQS2_3)에 대해 샘플링을 수행하고, 그 결과에 따라 SAR 방식으로 선택된 3차 테스트 모드 코드(3rd TM code)를 제1 기타 메모리 장치(110-2)에 전송함으로써 딜레이가 조정된 네번째 데이터 스트로브 신호(DQS2_4)를 발생시키는 과정으로 정의될 수 있다. 구체적으로 2차 테스트 모드 코드(2nd TM code)인 "111000"에 대응되는 딜레이(-490ps)를 갖는 제1 기타 메모리 장치(110-2)의 세번째 데이터 스트로브 신호(DQS2_3)는, 샘플링 회로(424)로 입력되는 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 로우 레벨을 갖는다. 이에 따라 샘플링 회로(424)는 세번째 샘플링 회로 출력 신호(SCO2_3)로 로우 신호를 출력한다. 따라서, 도 40을 참조하여 설명한 바와 같이, 컨트롤러(420)의 SAR 컨트롤러(427) 내의 테스트 모드 코드 발생 회로(427-1)는 "000000"의 바이너리 데이터를 출력하며, 이에 따라 테스트 모드 코드(TM code)의 네섯번째 비트값(TM<3>)은 "0"으로 결정된다. 테스트 모드 코드 발생 회로(427-1)로부터 "0000000"의 데이터를 입력받는 SAR 컨트롤 회로(427-2)는, 테스트 모드 코드(TM code)의 네번째 비트값(TM<3>)이 "0"로 결정됨에 따라, 딜레이가 감소된 테스트 모드 코드를 3차 테스트 모드 코드(3rd TM code)로 선택하는 제어 신호를 발생시킨다. 구체적으로 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>), 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>), 및 세번째 프로세스(P3)에서 결정된 네번째 비트값(TM<3>)이 각각 "1", "1", "0"인 테스트 모드 코드들(TM codes) 중 하나가 SAR 방식으로 선택되도록 하는 제어 동작을 수행된다.
도 50에 나타낸 바와 같이, 3차 테스트 모드 코드(3rd TM code)가 갖는 딜레이가 2차 테스트 모드 코드(2nd TM code)가 갖는 딜레이보다 감소해야 하므로, 3차 테스트 모드 코드(3rd TM code)는, 테스트 모드 코드 테이블(427-3) 내의 제2 그룹의 테스트 모드 코드들 중 1차 테스트 모드 코드(1st TM code)와 2차 테스트 모드 코드(2nd TM code) 테스트 모드 코드들 중 중간에 위치한 테스트 모드 코드, 즉 "110100"으로 선택된다. 다른 예에서 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>=1), 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>=1), 및 세번째 프로세스(P3)에서 결정된 네번째 비트값(TM<3>=0)을 제외한 나머지 비트값들(TM<0:2>) 중 최상위인 세번째 비트값(TM<2>)이 "1"이고 나머지 하위 비트값들(TM<0:1>)이 모두 "0"인 바이너리 스트림(즉 "110100")으로 구성된 테스트 모드 코드(TM code)가 3차 테스트 모드 코드(3rd TM code)로 선택되도록 할 수 있다.
다시 도 46을 참조하면, 제1 기타 메모리 장치(110-2)에 대한 트레이닝의 네번째 프로세스(P4)는, 3차 테스트 모드 코드(3rd TM code)에 대응되는 딜레이를 갖는 네번째 데이터 스트로브 신호(DQS2_4)에 대해 샘플링을 수행하고, 그 결과에 따라 SAR 방식으로 선택된 4차 테스트 모드 코드(4th TM code)를 제1 기타 메모리 장치(110-2)에 전송함으로써 딜레이가 조정된 다섯번째 데이터 스트로브 신호(DQS2_5)를 발생시키는 과정으로 정의될 수 있다. 구체적으로 3차 테스트 모드 코드(3rd TM code)인 "110100"에 대응되는 딜레이(-410ps)를 갖는 제1 기타 메모리 장치(110-2)의 네번째 데이터 스트로브 신호(DQS2_4)는, 샘플링 회로(424)로 입력되는 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 하이 레벨을 갖는다. 이에 따라 샘플링 회로(424)는 네번째 샘플링 회로 출력 신호(SCO2_4)로 하이 신호를 출력한다. 따라서, 도 40을 참조하여 설명한 바와 같이, 컨트롤러(420)의 SAR 컨트롤러(427) 내의 테스트 모드 코드 발생 회로(427-1)는 "000100"의 바이너리 데이터를 출력하며, 이에 따라 테스트 모드 코드(TM code)의 세번째 비트값(TM<2>)은 "1"로 결정된다. 테스트 모드 코드 발생 회로(427-1)로부터 "0000100"의 데이터를 입력받는 SAR 컨트롤 회로(427-2)는, 테스트 모드 코드(TM code)의 세번째 비트값(TM<2>)이 "1"로 결정됨에 따라, 딜레이가 증가된 테스트 모드 코드를 4차 테스트 모드 코드(4th TM code)로 선택하는 제어 신호를 발생시킨다. 구체적으로 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>), 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>), 세번째 프로세스(P3)에서 결정된 네번째 비트값(TM<3>), 및 네번째 프로세스(P4)에서 결정된 세번째 비트값(TM<2>)이 각각 "1", "1", "0", "1"인 테스트 모드 코드들(TM codes) 중 하나가 SAR 방식으로 선택되도록 하는 제어 동작을 수행된다.
도 51에 나타낸 바와 같이, 4차 테스트 모드 코드(4th TM code)가 갖는 딜레이가 3차 테스트 모드 코드(3rd TM code)가 갖는 딜레이보다 증가해야 하므로, 4차 테스트 모드 코드(4th TM code)는, 테스트 모드 코드 테이블(427-3) 내의 제2 그룹의 테스트 모드 코드들 중 1차 테스트 모드 코드(1st TM code)와 3차 테스트 모드 코드(3rd TM code) 테스트 모드 코드들 중 중간에 위치한 테스트 모드 코드, 즉 "110110"으로 선택된다. 다른 예에서 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>=1), 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>=1), 세번째 프로세스(P3)에서 결정된 네번째 비트값(TM<3>=0), 네번째 프로세스(P4)에서 결정된 세번째 비트값(TM<2>=1)을 제외한 나머지 비트값들(TM<0:1>) 중 최상위인 두번째 비트값(TM<1>)이 "1"이고 나머지 하위 비트값(TM<0>)이 "0"인 바이너리 스트림(즉 "110110")으로 구성된 테스트 모드 코드(TM code)가 4차 테스트 모드 코드(4th TM code)로 선택되도록 할 수 있다.
다시 도 46을 참조하면, 제1 기타 메모리 장치(110-2)에 대한 트레이닝의 다섯번째 프로세스(P5)는, 4차 테스트 모드 코드(4th TM code)에 대응되는 딜레이를 갖는 다섯번째 데이터 스트로브 신호(DQS2_5)에 대해 샘플링을 수행하고, 그 결과에 따라 SAR 방식으로 선택된 5차 테스트 모드 코드(5th TM code)를 제1 기타 메모리 장치(110-2)에 전송함으로써 딜레이가 조정된 여섯번째 데이터 스트로브 신호(DQS2_6)를 발생시키는 과정으로 정의될 수 있다. 구체적으로 4차 테스트 모드 코드(4th TM code)인 "110110"에 대응되는 딜레이(-450ps)를 갖는 제1 기타 메모리 장치(110-2)의 다섯번째 데이터 스트로브 신호(DQS2_5)는, 샘플링 회로(424)로 입력되는 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 하이 레벨을 갖는다. 이에 따라 샘플링 회로(424)는 다섯번째 샘플링 회로 출력 신호(SCO2_5)로 하이 신호를 출력한다. 따라서, 도 40을 참조하여 설명한 바와 같이, 컨트롤러(420)의 SAR 컨트롤러(427) 내의 테스트 모드 코드 발생 회로(427-1)는 "000010"의 바이너리 데이터를 출력하며, 이에 따라 테스트 모드 코드(TM code)의 두번째 비트값(TM<1>)은 "1"로 결정된다. 테스트 모드 코드 발생 회로(427-1)로부터 "0000010"의 데이터를 입력받는 SAR 컨트롤 회로(427-2)는, 테스트 모드 코드(TM code)의 두번째 비트값(TM<1>)이 "1"로 결정됨에 따라, 딜레이가 증가된 테스트 모드 코드를 5차 테스트 모드 코드(5th TM code)로 선택하는 제어 신호를 발생시킨다. 구체적으로 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>), 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>), 세번째 프로세스(P3)에서 결정된 네번째 비트값(TM<3>), 네번째 프로세스(P4)에서 결정된 세번째 비트값(TM<2>), 및 다섯번째 프로세스(P5)에서 결정된 두번째 비트값(TM<1>)이 각각 "1", "1", "0", "1", "1"인 테스트 모드 코드들(TM codes) 중 하나가 SAR 방식으로 선택되도록 하는 제어 동작을 수행된다.
도 52에 나타낸 바와 같이, 5차 테스트 모드 코드(5th TM code)가 갖는 딜레이가 4차 테스트 모드 코드(4th TM code)가 갖는 딜레이보다 증가해야 하므로, 5차 테스트 모드 코드(5th TM code)는, 테스트 모드 코드 테이블(427-3) 내의 제2 그룹의 테스트 모드 코드들 중 2차 테스트 모드 코드(2nd TM code)와 4차 테스트 모드 코드(4th TM code) 테스트 모드 코드들 중 중간에 위치한 테스트 모드 코드, 즉 "110111"으로 선택된다. 다른 예에서 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>=1), 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>=1), 세번째 프로세스(P3)에서 결정된 네번째 비트값(TM<3>=0), 네번째 프로세스(P4)에서 결정된 세번째 비트값(TM<2>=1), 다섯번째 프로세스(P5)에서 결정된 두번째 비트값(TM<1>=1)을 제외한 나머지 비트값(TM<0>)이 "1"인 바이너리 스트림(즉 "110111")으로 구성된 테스트 모드 코드(TM code)가 5차 테스트 모드 코드(5th TM code)로 선택되도록 할 수 있다.
다시 도 46을 참조하면, 제1 기타 메모리 장치(110-2)에 대한 트레이닝의 여섯번째 프로세스(P6)는, 5차 테스트 모드 코드(5th TM code)에 대응되는 딜레이를 갖는 여섯번째 데이터 스트로브 신호(DQS2_6)에 대해 샘플링을 수행하고, 그 결과에 따라 SAR 방식으로 선택된 6차 테스트 모드 코드(5th TM code)를 제1 기타 메모리 장치(110-2)에 전송함으로써 트레이닝이 완료된 데이터 스트로브 신호(DQS2_T)를 발생시키는 과정으로 정의될 수 있다. 구체적으로 5차 테스트 모드 코드(5th TM code)인 "110111"에 대응되는 딜레이(-470ps)를 갖는 제1 기타 메모리 장치(110-2)의 여섯번째 데이터 스트로브 신호(DQS2_6)는, 샘플링 회로(424)로 입력되는 세번째 내부 딜레이 클럭 신호(Internal CKD3)의 상승 에지에서 로우 레벨을 갖는다. 이에 따라 샘플링 회로(424)는 여섯번째 샘플링 회로 출력 신호(SCO2_6)로 로우 신호를 출력한다. 따라서, 도 40을 참조하여 설명한 바와 같이, 컨트롤러(420)의 SAR 컨트롤러(427) 내의 테스트 모드 코드 발생 회로(427-1)는 "000000"의 바이너리 데이터를 출력하며, 이에 따라 테스트 모드 코드(TM code)의 첫번째 비트값(TM<0>)은 "0"으로 결정된다. 테스트 모드 코드 발생 회로(427-1)로부터 "0000000"의 데이터를 입력받는 SAR 컨트롤 회로(427-2)는, 테스트 모드 코드(TM code)의 첫번째 비트값(TM<0>)이 "0"으로 결정됨에 따라, 딜레이가 감소된 테스트 모드 코드를 트레이닝 완료된 6차 테스트 모드 코드(6th TM code)로 선택하는 제어 신호를 발생시킨다. 구체적으로 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>), 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>), 세번째 프로세스(P3)에서 결정된 네번째 비트값(TM<3>), 네번째 프로세스(P4)에서 결정된 세번째 비트값(TM<2>), 다섯번째 프로세스(P5)에서 결정된 두번째 비트값(TM<1>), 여섯번째 프로세스(P6)에서 결정된 첫번재 비트값(TM<0>)이 각각 "1", "1", "0", "1", "1", "0"인 테스트 모드 코드들(TM codes) 중 하나가 SAR 방식으로 선택되도록 하는 제어 동작을 수행된다.
도 53에 나타낸 바와 같이, 6차 테스트 모드 코드(6th TM code)가 갖는 딜레이가 5차 테스트 모드 코드(5th TM code)가 갖는 딜레이보다 감소해야 하므로, 6차 테스트 모드 코드(6th TM code)는, 5차 테스트 모드 코드(5th TM code)보다 딜레이 시간이 한 단계 낮은 테스트 모드 코드, 즉 "110110"으로 선택된다. 다른 예에서 SAR 컨트롤 회로(427-2)는, 첫번째 프로세스(P1)에서 결정된 MSB 값(TM<5>=1), 두번째 프로세스(P2)에서 결정된 다섯번째 비트값(TM<4>=1), 세번째 프로세스(P3)에서 결정된 네번째 비트값(TM<3>=0), 네번째 프로세스(P4)에서 결정된 세번째 비트값(TM<2>=1), 다섯번째 프로세스(P5)에서 결정된 두번째 비트값(TM<1>=1), 여섯번째 프로세스(P6)에서 결정된 첫번째 비트값(TM<0>=0)으로 구성된 "110110"의 테스트 모드 코드(TM code)가 6차 테스트 모드 코드(6th TM code)로 선택되도록 할 수 있다. 6차 테스트 모드 코드(6th TM code)가 결정됨에 따라, 제1 기타 메모리 장치(110-2)는, 6차 테스트 모드 코드(6th TM code)에 대응되는 딜레이 시간, 즉 450ps의 시간만큼 딜레이가 증가되는 데이터 스트로브 신호(DQS2)를 발생시킨다.
상술한 바와 같이 본 출원의 실시 형태들을 도면들을 예시하며 설명하지만, 이는 본 출원에서 제시하고자 하는 바를 설명하기 위한 것이며, 세밀하게 제시된 형상으로 본 출원에서 제시하고자 하는 바를 한정하고자 한 것은 아니다.
100...메모리 시스템 110...복수개의 메모리 장치들
110-1...대표 메모리 장치 110-2, …, 110-M...기타 메모리 장치들
120...컨트롤러 11-1, 11-2, …...제1 칩 패드
12-1, 12-2...제2 칩 패드 13-1, 13-2...제3 칩 패드
14-1, 14-2...제4 칩 패드 41-1, 41-2...제1 리시버
42-1, 42-2...제2 리시버 51-1, 51-2...제1 드라이버
52-1, 52-2...제2 드라이버 53-1, 53-2...제3 드라이버
112-1, 112-2...지연 고정 루프 114-1, 114-2...트리거 회로
116-1, 116-2...럽쳐 회로 121A, 121B, 121C...제1 내지 제3 컨트롤러 패드
122...컨트롤러 리시버 123A, 123B...컨트롤러 드라이버
124...샘플링 회로 125...딜레이 회로
126...제1 딜레이 컨트롤 블록 127...제2 딜레이 컨트롤 블록
128...딜레이 코드 레지스터 128-1...테스트 모드 코드 테이블
129A, 129B...제1 및 제2 스위치

Claims (32)

  1. 외부로 직접 데이터 스트로브 신호를 전송하는 대표 메모리 장치, 및 상기 대표 메모리 장치를 경유하여 외부로 데이터 스트로브 신호를 전송하는 적어도 하나의 기타 메모리 장치; 및
    상기 대표 메모리 장치의 데이터 스트로브 신호에 동기되는 내부 딜레이 클럭 신호를 생성하는 컨트롤러를 포함하되,
    상기 컨트롤러는, 상기 생성된 내부 딜레이 클럭 신호를 기준으로 상기 기타 메모리 장치에 딜레이 시간을 규정하는 테스트 모드 코드를 전송하고, 그리고
    상기 기타 메모리 장치는, 상기 전송된 테스트 모드 코드에 대응되는 딜레이 시간을 갖도록 데이터 스트로브 신호의 위상을 조정하는 메모리 시스템.
  2. 제1항에 있어서,
    상기 대표 메모리 장치 및 기타 메모리 장치는 기판 위에 수직 방향으로 적층되는 메모리 패키지를 구성하는 메모리 시스템.
  3. 제1항에 있어서, 상기 대표 메모리 장치 및 기타 메모리 장치는,
    상기 컨트롤러로부터 전송되는 테스트 모드 코드에 대응되는 딜레이 시간을 갖는 DLL 클럭 신호를 출력하는 지연 고정 루프; 및
    상기 DLL 클럭 신호에 동기되는 데이터 스트로브 신호를 발생시키는 트리거 회로를 포함하는 메모리 시스템.
  4. 제3항에 있어서, 상기 대표 메모리 장치 및 기타 메모리 장치는,
    상기 컨트롤러로부터 메모리 리페어 데이터를 입력받고 럽쳐 동작을 수행하는 럽쳐 회로를 더 포함하는 메모리 시스템.
  5. 제4항에 있어서,
    상기 대표 메모리 장치는, 상기 데이터 스트로브 신호를 상기 컨트롤러로 출력하는 제1 칩 패드를 더 포함하고,
    상기 기타 메모리 장치는, 상기 컨트로러로부터의 테스트 모드 코드를 전송받는 제2 칩 패드, 및 상기 컨트롤러로부터의 메모리 리페어 데이터를 전송받는 제3 칩 패드를 더 함하는 메모리 시스템.
  6. 제5항에 있어서,
    상기 기타 메모리 장치는, 상기 기타 메모리 장치의 트리거 회로로부터 발생되는 데이터 스트로브 신호를 상기 대표 메모리 장치의 제1 칩 패드를 통해 상기 컨트롤러로 전송하는 메모리 시스템.
  7. 제3항에 있어서, 상기 지연 고정 루프는,
    각각이 입력 클럭 신호를 일정 시간만큼 딜레이시켜 출력 클럭 신호로 출력시키는 복수개의 단위 딜레이 회로들을 포함하는 메인 딜레이 회로; 및
    제1 인에이블 신호에 응답하여 상기 메인 딜레이 회로로부터의 출력 클럭 신호를 추가적으로 딜레이시켜 출력시키는 제1 그룹의 3-상태 인버터들과, 제2 인에이블 신호에 응답하여 상기 메인 딜레이 회로로부터의 출력 클럭 신호를 출력시키는 제2 그룹의 3-상태 인버터들을 포함하는 추가 딜레이 회로를 포함하는 메모리 시스템.
  8. 제7항에 있어서,
    상기 단위 딜레이 회로들은, 첫번째 단위 딜레이 회로부터 마지막 단위 딜레이 회로에 이르기까지 앞선 단위 딜레이 회로의 출력 신호가 다음 단위 딜레이 회로로 입력되는 직렬 연결 구조를 갖고,
    상기 첫번째 단위 딜레이 회로로는 상기 입력 클럭 신호가 입력되고,
    상기 마지막 단위 딜레이 회로로부터 상기 출력 클럭 신호가 출력되며, 그리고
    상기 단위 딜레이 회로들 각각은 상기 테스트 모드 코드를 구성하는 바이너리 스트림의 제1 비트값들 및 제2 비트값들 중 상기 제1 비트값들 각각을 입력받도록 구성되는 메모리 시스템.
  9. 제7항에 있어서, 상기 추가 딜레이 회로는,
    상기 메인 딜레이 회로부터 출력되는 출력 클럭 신호를 일정 시간 딜레이시켜 상기 제1 그룹의 3-상태 인버터들로 입력시키는 추가 단위 딜레이 회로를 더 포함하고,
    상기 제1 그룹의 3-상태 인버터들 각각은 상기 테스트 모드 코드를 구성하는 바이너리 스트림의 제1 비트값들 및 제2 비트값들 중 상기 제2 비트값들 각각을 입력받도록 구성되며, 그리고
    상기 제2 그룹의 3-상태 인버터들 각각은 상기 테스트 모드 코드를 구성하는 바이너리 스트림의 제1 비트값들 및 제2 비트값들 중 상기 제2 비트값들 각각의 반전값을 입력받도록 구성되는 메모리 시스템.
  10. 제1항에 있어서, 상기 컨트롤러는,
    상기 대표 메모리 장치 및 기타 메모리 장치로부터 입력되는 데이터 스트로브 신호를 샘플링하는 샘플링 회로;
    상기 샘플링 회로로부터 출력되는 제1 샘플링 회로 출력 신호의 레벨에 따라 상기 컨트롤러의 내부 클럭 신호의 딜레이 여부를 나타내는 제1 제어 신호를 발생시키는 제1 딜레이 컨트롤 블록;
    상기 제1 딜레이 컨트롤 블록으로부터의 제1 제어 신호에 응답하여 상기 내부 클럭 신호를 일정 시간 딜레이시킨 내부 딜레이 클럭 신호를 출력하여 상기 샘플링 회로로 입력시키는 딜레이 회로;
    상기 샘플링 회로로부터 출력되는 제2 샘플링 회로 출력 신호의 레벨에 따라 제2 제어 신호를 발생시키는 제2 딜레이 컨트롤 블록; 및
    복수개의 테스트 모드 코드들이 저장되는 테스트 모드 코드 테이블을 포함하며, 상기 제2 딜레이 컨트롤 블록으로부터의 제2 제어 신호에 응답하여 상기 복수개의 테스트 모드 코드들 중 하나를 출력시키는 딜레이 코드 레지스터를 포함하는 메모리 시스템.
  11. 제10항에 있어서,
    상기 샘플링 회로는 D-플립-플랍을 포함하는 메모리 시스템.
  12. 제10항에 있어서,
    상기 제1 샘플링 회로 출력 신호는 상기 대표 메모리 장치의 데이터 스트로브 신호의 입력에 대한 상기 샘플링 회로의 출력 신호이고,
    상기 제2 샘플링 회로 출력 신호는 상기 기타 메모리 장치의 데이터 스트로브 신호의 입력에 대한 상기 샘플링 회로의 출력 신호인 메모리 시스템.
  13. 제12항에 있어서,
    상기 샘플링 회로는, 상기 내부 딜레이 클럭 신호의 상승 에지를 기준으로 입력되는 상기 데이터 스트로브 신호가 하이 신호인 경우 상기 제1 샘플링 회로 출력 신호 및 제2 샘플링 회로 출력 신호로서 하이 신호를 출력하고, 입력되는 상기 데이터 스트로브 신호가 로우 신호인 경우 상기 제1 샘플링 회로 출력 신호 및 제2 샘플링 회로 출력 신호로서 로우 신호를 출력하는 메모리 시스템.
  14. 제10항에 있어서, 상기 컨트롤러는,
    상기 제1 샘플링 회로 출력 신호에 따라서 딜레이가 조정된 상기 내부 딜레이 클럭 신호를 발생시킨 후에 상기 대표 메모리 장치로 리드 신호를 전송하고,
    상기 제2 샘플링 회로 출력 신호에 따라서 상기 테스트 모드 코드를 출력시킨 후에 상기 기타 메모리 장치로 리드 신호를 전송하도록 구성되는 메모리 시스템.
  15. 제10항에 있어서, 상기 복수개의 테스트 모드 코드들은,
    상기 기타 메모리 장치의 레플리커 딜레이에 대응되는 딜레이 정보를 갖는 디폴트 테스트 모드 코드와,
    상기 디폴트 테스트 모드 코드에 대응되는 딜레이 시간에 일정 시간만큼 딜레이를 감소시키는 네가티브 테스트 모드 코드들과, 그리고
    상기 디폴트 테스트 모드 코드에 대응되는 딜레이 시간에 일정 시간만큼 딜레이를 증가시키는 포지티브 테스트 모드 코드들을 포함하는 메모리 시스템.
  16. 제10항에 있어서,
    상기 내부 딜레이 클럭 신호가 생성될 때까지 상기 샘플링 회로와 상기 제1 딜레이 컨트롤 블록을 연결시키고, 상기 내부 딜레이 클럭 신호가 생성된 후에는 상기 샘플링 회로와 상기 제2 딜레이 컨트롤 블록을 연결시키도록 스위칭 동작을 수행하는 제1 스위치를 더 포함하는 메모리 시스템.
  17. 제1항에 있어서, 상기 컨트롤러는,
    상기 대표 메모리 장치 및 기타 메모리 장치로부터 입력되는 데이터 스트로브 신호를 샘플링하는 샘플링 회로;
    상기 샘플링 회로로부터 출력되는 제1 샘플링 회로 출력 신호의 레벨에 따라 상기 컨트롤러의 내부 클럭 신호의 딜레이 여부를 나타내는 제1 제어 신호를 발생시키는 딜레이 컨트롤 블록;
    상기 제1 딜레이 컨트롤 블록으로부터의 제1 제어 신호에 응답하여 상기 내부 클럭 신호를 일정 시간 딜레이시킨 내부 딜레이 클럭 신호를 출력하여 상기 샘플링 회로로 입력시키는 딜레이 회로; 및
    상기 샘플링 회로로부터 출력되는 제2 샘플링 회로 출력 신호의 레벨에 따라 복수개의 테스트 모드 코드들이 축차 근사 레지스터(SAR) 방식으로 출력되도록 제어 동작을 수행하는 SAR 컨트롤러를 포함하는 메모리 시스템.
  18. 제17항에 있어서, 상기 SAR 컨트롤러는,
    상기 제2 샘플링 회로 출력 신호에 따라서 상기 테스트 모드 코드를 구성하는 바이너리 스트림의 비트값들 중 하나의 비트값을 포함하는 출력 신호를 발생시키는 테스트 모드 코드 발생 회로;
    상기 테스트 모드 코드 발생 회로로부터의 출력 신호를 입력받고 상기 비트값을 포함하는 테스트 모드 코드를 SAR 방식으로 출력시키는 제어 신호를 발생시키는 SAR 제어 회로; 및
    상기 SAR 제어 회로로부터의 제어 신호에 응답하여 복수개의 테스트 모드 코드들 중 하나의 테스트 모드 코드를 출력시키는 테스트 모드 코드 테이블을 포함하는 메모리 시스템.
  19. 제18항에 있어서, 상기 테스트 모드 코드 발생 회로는,
    데이터 입력 단자로 전원전압이 인가되고, 클럭 신호 입력 단자로 SAR 클럭 신호가 입력되는 제1 D 플립 플랍;
    상기 제1 D 플립 플랍의 출력 신호를 반전시켜 출력시키는 인버터;
    복수개의 제2 D 플립 플랍들이 직렬로 연결되며, 상기 SAR 클럭 신호에 동기되어 출력값을 순차적으로 쉬프트시키는 쉬프트 레지스터;
    상기 샘플링 회로 출력 신호를 공통으로 입력받는 복수개의 제3 D 플립 플랍들을 포함하되, 상기 제3 플립 플랍들 각각의 클럭 신호 입력 단자는 상기 제2 D 플립 플랍들 각각의 출력 단자와 연결되는 샘플링부를 포함하는 메모리 시스템.
  20. 제18항에 있어서,
    상기 테스트 모드 코드 테이블은, K 비트의 바이너리 스트림을 갖는 2K개의 테스트 모드 코드들을 포함하는 메모리 시스템.
  21. 제20항에 있어서,
    상기 테스트 모드 코드들은, 초기 테스트 모드 코드와, 상기 초기 테스트 모드 코드보다 딜레이 시간이 순차적으로 감소하도록 배치되는 제1 그룹의 테스트 모드 코드들과, 상기 초기 테스트 모드 코드보다 딜레이 시간이 순차적으로 증가하도록 배치되는 제2 그룹의 테스트 모드 코드들을 포함하는 메모리 시스템.
  22. 제21항에 있어서,
    상기 SAR 컨트롤러는, 상기 테스트 모드 코드 발생 회로로부터의 출력 신호로부터 결정된 비트값을 갖는 테스트 모드 코드들 중 중간에 위치한 테스트 모드 코드를 출력시키는 제어 신호를 발생시키는 메모리 시스템.
  23. 외부로 직접 데이터 스트로브 신호를 전송하는 대표 메모리 장치, 및 상기 대표 메모리 장치를 경유하여 외부로 데이터 스트로브 신호를 전송하는 적어도 하나의 기타 메모리 장치와, 내부 딜레이 클럭 신호에 동기되어 상기 대표 메모리 장치 및 기타 메모리 장치의 데이터 스트로브 신호를 처리하는 컨트롤러를 포함하는 메모리 시스템의 트레이닝 방법에 있어서,
    상기 대표 메모리 장치로부터의 데이터 스트로브 신호와 위상이 일치되도록 상기 내부 딜레이 클럭 신호의 딜레이 시간을 조정하는 단계; 및
    상기 딜레이 시간이 조정된 내부 딜레이 클럭 신호의 위상에 일치되도록 상기 대표 메모리 장치를 경유하여 상기 컨트롤러로 입력되는 상기 기타 메모리 장치의 데이터 스트로브 신호의 딜레이 시간을 조정하는 단계를 포함하는 메모리 시스템의 트레이닝 방법.
  24. 제23항에 있어서, 상기 내부 딜레이 클럭 신호의 딜레이 시간을 조정하는 단계는,
    상기 대표 메모리 장치로부터의 데이터 스트로브 신호에 대해 현재의 내부 딜레이 클럭 신호를 기준으로 샘플링을 수행하는 단계;
    상기 샘플링 결과로 출력되는 출력 신호의 레벨이 변동 여부를 판단하는 단계;
    상기 출력 신호의 레벨이 변동되지 않는 경우 상기 현재의 내부 딜레이 클럭 신호에 대한 딜레이를 수행하는 단계; 및
    상기 출력 신호의 레벨이 변동되는 경우 상기 현재의 내부 딜레이 클럭 신호를 상기 컨트롤러의 내부 클럭 신호로 고정시키는 단계를 포함하는 메모리 시스템의 트레이닝 방법.
  25. 제23항에 있어서, 상기 기타 메모리 장치의 데이터 스트로브 신호의 딜레이 시간을 조정하는 단계는,
    상기 기타 메모리 장치의 첫번째 데이터 스트로브 신호에 대한 샘플링을 수행하는 단계; 및
    상기 첫번째 데이터 스트로브 신호에 대한 샘플링 결과 출력되는 출력 신호에 응답하여 상기 기타 메모리 장치 내에서 발생되는 데이터 스트로브 신호의 딜레이를 증가하거나 감소시키는 단계를 포함하는 메모리 시스템의 트레이닝 방법.
  26. 제25항에 있어서,
    상기 기타 메모리 장치의 첫번째 데이터 스트로브 신호에 대한 샘플링을 수행하는 단계는, 상기 첫번째 데이터 스트로브 신호에 대해 상기 딜레이 시간이 조정된 내부 딜레이 클럭 신호의 상승 에지를 기준으로 신호 레벨을 검출하여 상기 첫번째 데이터 스트로브 신호가 하이 레벨인 경우 하이 신호를 출력하고 로우 레벨인 경우 로우 신호를 출력하여 수행하는 메모리 시스템의 트레이닝 방법.
  27. 제26항에 있어서, 상기 기타 메모리 장치 내에서 발생되는 데이터 스트로브 신호의 딜레이를 증가하거나 감소시키는 단계는,
    상기 샘플링 결과 하이 신호가 출력되면 상기 데이터 스트로브 신호의 딜레이 시간을 증가시키는 테스트 모드 코드를 상기 기타 메모리 장치로 전송하고, 상기 샘플링 결과 로우 신호가 출력되면 상기 데이터 스트로브 신호의 딜레이 시간을 감소시키는 테스트 모드 코드를 상기 기타 메모리 장치로 전송하는 단계; 및
    상기 기타 메모리 장치는 상기 테스트 모드 코드에 대응되는 딜레이 시간만큼 딜레이가 조정된 데이터 스트로브 신호를 발생시키는 단계를 포함하는 메모리 시스템의 트레이닝 방법.
  28. 제27항에 있어서,
    상기 기타 메모리 장치 내에서 발생되는 데이터 스트로브 신호의 딜레이를 증가하거나 감소시키는 단계는, 상기 샘플링 결과 출력되는 신호의 레벨이 변경될 때까지 반복하여 수행되는 메모리 시스템의 트레이닝 방법.
  29. 제28항에 있어서,
    상기 샘플링 결과 출력되는 신호의 레벨이 변경되면, 가장 최근에 전송된 테스트 모드 코드에 대응되는 딜레이 정보를 갖는 메모리 리페어 데이터를 생성하고, 상기 기타 메모리 장치는, 상기 메모리 리페어 데이터에 따른 럽쳐 동작을 수행하는 메모리 시스템의 트레이닝 방법.
  30. 제28항에 있어서,
    상기 테스트 모드 코드를 상기 기타 메모리 장치로 전송하는 단계는, 상기 기타 메모리 장치 내에서 발생되는 데이터 스트로브 신호의 딜레이를 증가하거나 감소시키는 단계가 반복적으로 수행될 때마다, 상기 딜레이 시간을 순차적으로 증가시키는 테스트 모드 코드를 전송하거나, 상기 딜레이 시간을 순차적으로 감소시키는 테스트 모드 코드를 전송하여 수행하는 메모리 시스템의 트레이닝 방법.
  31. 제23항에 있어서, 상기 기타 메모리 장치의 데이터 스트로브 신호의 딜레이 시간을 조정하는 단계는,
    상기 기타 메모리 장치에 초기 테스트 모드 코드를 전송하는 단계;
    변수 "N"을 상기 테스트 모드 코드를 구성하는 바이너리 스트림의 최상위 비트로 설정하고, 변수 "P"를 1로 설정하는 단계;
    상기 기타 메모리 장치의 P번째 데이터 스트로브 신호에 대한 샘플링을 수행하는 단계;
    상기 샘플링 결과 출력 신호가 하이 신호인 경우 상기 N번째 비트값을 "1"로 결정하고, 딜레이 시간이 증가되는 (P+1)차 테스트 모드 코드를 상기 기타 메모리 장치로 전송하고, 상기 샘플링 결과 출력 신호가 로우 신호인 경우 상기 N번째 비트값을 "0"으로 결정하고, 딜레이 시간이 감소되는 (P+1)차 테스트 모드 코드를 상기 기타 메모리 장치로 전송하는 단계;
    상기 N이 "0"이 아닌 경우 "N=N-1" 및 "P=P+1"을 설정하고 상기 기타 메모리 장치의 P번째 데이터 스트로브 신호에 대한 샘플링을 수행하는 단계로 피드백하는 단계; 및
    상기 N이 "0"인 경우 상기 기타 메모리 장치에 대한 트레이닝 과정을 종료하는 단계를 포함하는 메모리 시스템의 트레이닝 방법.
  32. 제31항에 있어서,
    상기 (P+1)차 테스트 모드 코드를 상기 기타 메모리 장치로 전송하는 단계는, 상기 결정된 N번째 비트값을 갖는 테스트 모드 코드들 중 중간에 위치한 테스트 모드 코드를 상기 기타 메모리 장치로 전송하여 수행하는 메모리 시스템의 트레이닝 방법.
KR1020190048089A 2019-04-24 2019-04-24 복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법 KR20200124575A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190048089A KR20200124575A (ko) 2019-04-24 2019-04-24 복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법
CN201911299299.4A CN111863115B (zh) 2019-04-24 2019-12-17 具有多个存储器件的存储系统以及训练该存储系统的方法
US16/722,521 US11100968B2 (en) 2019-04-24 2019-12-20 Memory systems having a plurality of memory devices and methods of training the memory systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190048089A KR20200124575A (ko) 2019-04-24 2019-04-24 복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법

Publications (1)

Publication Number Publication Date
KR20200124575A true KR20200124575A (ko) 2020-11-03

Family

ID=72921786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190048089A KR20200124575A (ko) 2019-04-24 2019-04-24 복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법

Country Status (3)

Country Link
US (1) US11100968B2 (ko)
KR (1) KR20200124575A (ko)
CN (1) CN111863115B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210069514A (ko) * 2019-12-03 2021-06-11 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 트레이닝 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163961A (ja) * 1998-11-26 2000-06-16 Mitsubishi Electric Corp 同期型半導体集積回路装置
CN1933015A (zh) * 2005-09-13 2007-03-21 株式会社瑞萨科技 半导体集成电路器件
US7872924B2 (en) * 2008-10-28 2011-01-18 Micron Technology, Inc. Multi-phase duty-cycle corrected clock signal generator and memory having same
US8683164B2 (en) * 2009-02-04 2014-03-25 Micron Technology, Inc. Stacked-die memory systems and methods for training stacked-die memory systems
CN102667732A (zh) * 2009-12-25 2012-09-12 富士通株式会社 信号接收电路、存储器控制器、处理器、计算机以及相位控制方法
KR101780422B1 (ko) * 2010-11-15 2017-09-22 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
US8520455B2 (en) * 2012-01-10 2013-08-27 Apple Inc. Method and apparatus for training a DLL in a memory subsystem
KR20140080382A (ko) * 2012-12-20 2014-06-30 에스케이하이닉스 주식회사 파라미터를 제어할 수 있는 테스트를 수행하는 반도체메모리장치 및 반도체시스템

Also Published As

Publication number Publication date
US20200342923A1 (en) 2020-10-29
CN111863115B (zh) 2024-04-19
CN111863115A (zh) 2020-10-30
US11100968B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
KR100601149B1 (ko) 데이터 전송장치
US6646939B2 (en) Low power type Rambus DRAM
US7796462B2 (en) Data flow control in multiple independent port
US8700818B2 (en) Packet based ID generation for serially interconnected devices
US7019555B2 (en) Circuit for performing on-die termination operation in semiconductor memory device and its method
US11200928B2 (en) Memory controller and operating method with read margin control circuit determining data valid window
KR20100076809A (ko) 멀티 칩 패키지 메모리 장치
US20170162237A1 (en) Semiconductor apparatus having multiple ranks with noise elimination
US20210165587A1 (en) Memory systems and methods of training the memory systems
US9569389B2 (en) Semiconductor system for tuning skew of semiconductor chip
US9349488B2 (en) Semiconductor memory apparatus
US11748035B2 (en) Command address input buffer bias current reduction
JP2008278518A (ja) 半導体装置およびデータ伝送システム
KR20200124575A (ko) 복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법
KR102114539B1 (ko) 반도체 기억장치 및 데이터 세팅 방법
KR20180013451A (ko) 반도체 장치
US8473831B2 (en) Semiconductor memory apparatus and data read method of the same
TW201714173A (zh) 雙倍資料率閘控方法與裝置
US20140132317A1 (en) Semiconductor device using multi-phase clock signal and information processing system including the same
US20180182462A1 (en) Semiconductor storage device
US20240046975A1 (en) Memory module adjusting inter-rank clock timing, memory system and training method thereof
CN219718203U (zh) 信号延时电路以及存储读写装置
US11288992B2 (en) Display driving circuit for accelerating voltage output to data line
CN117524277A (zh) 存储器模块、其训练方法和存储器系统
US20150380070A1 (en) Latch circuit and input/output device including the same