KR20230006325A - 클록 트레이닝 시간을 줄이기 위한 장치, 메모리 장치 및 방법 - Google Patents

클록 트레이닝 시간을 줄이기 위한 장치, 메모리 장치 및 방법 Download PDF

Info

Publication number
KR20230006325A
KR20230006325A KR1020210087398A KR20210087398A KR20230006325A KR 20230006325 A KR20230006325 A KR 20230006325A KR 1020210087398 A KR1020210087398 A KR 1020210087398A KR 20210087398 A KR20210087398 A KR 20210087398A KR 20230006325 A KR20230006325 A KR 20230006325A
Authority
KR
South Korea
Prior art keywords
clock
data
result
read
memory device
Prior art date
Application number
KR1020210087398A
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 KR1020210087398A priority Critical patent/KR20230006325A/ko
Priority to US17/581,445 priority patent/US11923042B2/en
Priority to EP22181778.6A priority patent/EP4113519A3/en
Priority to CN202210774336.8A priority patent/CN115565571A/zh
Publication of KR20230006325A publication Critical patent/KR20230006325A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/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/46Test trigger logic
    • 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/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1069I/O lines read out arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/156Arrangements in which a continuous pulse train is transformed into a train having a desired pattern
    • H03K5/1565Arrangements in which a continuous pulse train is transformed into a train having a desired pattern the output pulses having a constant duty cycle
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

클록 트레이닝 시간을 줄이기 위한 장치, 메모리 장치 및 방법이 개시된다. 메모리 장치는 데이터 클록 트레이닝 및 독출 클록 트레이닝을 병렬적으로 수행하고, 데이터 클록 대비 독출 클록의 오프셋을 계산해서 독출 클록 오프셋 코드를 생성하여 저장한다. 메모리 장치는 다음 데이터 클록 트레이닝 후, 저장된 RDQS 오프셋 코드를 이용하여 타이밍 조절된 데이터 클록 대비 독출 클록의 듀티 에러를 정정한다.

Description

클록 트레이닝 시간을 줄이기 위한 장치, 메모리 장치 및 방법 {Apparatus, memory device and method for reducing clock training time}
본 발명은 장치들(apparatuses) 및 방법들(methods)에 관한 것으로서, 더욱 상세하게는 데이터 클록 및 독출 클록에 대한 듀티 사이클 트레이닝을 동시에 수행하여 클록 트레이닝 시간을 줄이는 장치, 메모리 장치 및 그것의 동작 방법에 관한 것이다.
전자 시스템의 속도를 높이고, 데이터 용량을 늘리고, 적은 전력을 소비하게 하려는 요구가 증가함에 따라, 더 빠르게 억세스될 수 있고 더 많은 데이터를 저장하며 더 적은 전력을 사용하는 반도체 메모리가 지속적으로 개발되어 왔다. 반도체 메모리는 일반적으로 메모리 장치에 커맨드, 어드레스 및 클록을 제공하여 제어된다. 다양한 커맨드, 어드레스 및 클록은 예컨대, 메모리 콘트롤러에 의해 제공될 수 있다. 커맨드는 메모리 장치를 제어하여 다양한 메모리 동작, 예를 들어 메모리 장치로부터 데이터를 검색하기 위한 독출 동작 및 메모리 장치에 데이터를 저장하기 위한 기입 동작을 수행할 수 있다. 커맨드와 연관된 데이터는 메모리 장치에 의한 수신 및/또는 전송과 관련해서 알려진 타이밍으로 메모리 콘트롤러와 메모리 장치 사이에 제공될 수 있다.
메모리 콘트롤러에 의해 메모리 장치로 외부 클록들, 예컨대 시스템 클록과 데이터 클록이 제공될 수 있다. 시스템 클록은 커맨드 및 어드레스의 타이밍을 위해 사용되고, 데이터 클록은 메모리 장치에 제공되는 데이터 기입 타이밍과 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용될 수 있다. 메모리 장치는 또한 메모리 콘트롤러로 제공되는 데이터의 전송을 타이밍하기 위한 독출 클록을 메모리 콘트롤러에 제공할 수 있다. 데이터 클록의 주파수는 시스템 클록의 주파수 보다 높을 수 있다. 예를 들어, 데이터 클록의 주파수는 시스템 클록 주파수의 정수 배 일 수 있다.
메모리 장치에 제공되는 외부 클록은 메모리 동작 중에 다양한 내부 회로의 타이밍을 제어하는 내부 클록을 생성하기 위해 사용될 수 있다. 메모리 동작 중 내부 회로의 타이밍이 중요할 수 있으며, 클록의 타이밍 편차는 오동작을 야기할 수 있다. 클록 타이밍의 예시적인 편차는 듀티 사이클 왜곡, 즉, 50 % 듀티 사이클로부터의 편차일 수 있다.
메모리 콘트롤러와 메모리 장치가 서로 다른 반도체 제조 공정들을 통해 제조될 수 있다. 메모리 콘트롤러와 메모리 장치는 다양한 동작 특성들, 예컨대 동작 속도, 전력 소모 등을 가질 수 있다. 메모리 콘트롤러는 메모리 장치에 제공되는 데이터 클록의 듀티 사이클을 이상적인 값 50%로 조절하는 트레이닝(training)이 필요하다. 메모리 콘트롤러는 데이터 클록 트레이닝을 수행하고 난 후, 메모리 장치로부터 제공받는 독출 클록에 대해서도 듀티 사이클 50%로 조절하는 트레이닝을 필요로 한다.
메모리 콘트롤러와 메모리 장치 사이에 수행되는 데이터 클록 트레이닝 및 독출 클록 트레이닝은, 트레이닝 프로그램의 제어에 의해 코드를 조절하거나, 변경하거나, 또는 보정하는 동작 등을 순차적으로 그리고 반복적으로 수행하게 되는데, 클록 트레이닝에 상당히 많은 시간이 소요될 수 있다. 이에 따라, 클록 트레이닝 시간을 줄일 수 있는 방법이 요구된다.
본 발명의 목적은 클록 트레이닝 시간을 줄이는 장치, 메모리 장치 및 그것의 동작 방법에 에 제공하는 데 있다.
본 발명의 실시예들에 따른 메모리 장치는, 복수의 신호 핀들, 상기 복수의 신호 핀들 중 제1 신호 핀을 통하여 데이터 클록을 수신하고 제2 신호 핀을 통하여 독출 클록을 전송하고, 상기 데이터 클록은 상기 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고; 상기 제1 신호 핀과 연결되는 제1 신호 라인 및 상기 제2 신호 핀과 연결되는 제2 신호 라인에 연결되는 데이터 클록 회로를 포함한다. 상기 데이터 클록 회로는, 상기 데이터 클록의 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하기 위해 제1 듀티 사이클 모니터(DCM1)를 수행하고, 상기 독출 클록의 듀티를 모니터링하여 타이밍 조절된 독출 클록을 제공하기 위해 제2 듀티 사이클 모니터(DCM2)를 수행하고, DCM1 결과 및 DCM2 결과에 기초하여 상기 타이밍 조절된 데이터 클록을 기준으로 상기 독출 클록의 오프셋을 계산하고, 독출 클록 오프셋 코드를 이용하여 상기 독출 클록의 듀티 에러를 정정한다.
본 발명의 실시예들에 따른 방법은, 데이터 클럭에 대하여 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하기 위해 제1 듀티 사이클 모니터(DCM1)를 수행하는 단계, 상기 데이터 클록은 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고; 독출 클록의 듀티를 모니터링하여 타이밍 조절된 독출 클록을 제공하기 위해 제2 듀티 사이클 모니터(DCM2)를 수행하는 단계, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고; DCM1 결과 및 DCM2 결과에 기초하여 상기 독출 클록의 오프셋을 계산해서 독출 클록 오프셋 코드를 생성하는 단계; 및 상기 독출 클록 오프셋 코드를 이용하여 상기 타이밍 조절된 데이터 클록을 기준으로 상기 독출 클록의 듀티 에러를 정정하는 단계를 포함하는 방법.
본 발명의 실시예들에 따른 방법은, 데이터 클럭에 대하여 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하기 위해 제1 듀티 사이클 모니터(DCM1)를 수행하는 단계, 상기 데이터 클록은 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고; 및 상기 메모리 장치에 저장된 독출 클록 오프셋 코드를 이용하여 상기 타이밍 조절된 데이터 클록을 기준으로 독출 클록의 듀티 에러를 정정하는 단계를 포함하고, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고, 상기 독출 클록 오프셋 코드는 상기 메모리 장치로 데이터를 수신하는 기입 데이터 경로의 전파 지연과 상기 메모리 장치로부터 상기 데이터를 전송하는 독출 데이터 경로의 전파 지연의 차이를 나타낸다.
본 발명의 실시예들에 따른 장치는, 메모리 장치; 데이터 버스; 클록 버스, 상기 클록 버스는 데이터 클록 및 독출 클록을 전송하고, 상기 데이터 클록은 상기 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고; 및 상기 데이터 버스 및 상기 클록 버스를 통해 상기 메모리 장치와 연결되는 메모리 콘트롤러를 포함한다. 상기 메모리 장치는, 상기 데이터 클록의 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하기 위해 제1 듀티 사이클 모니터(DCM1)를 수행하고, 상기 독출 클록의 듀티를 모니터링하여 타이밍 조절된 독출 클록을 제공하기 위해 제2 듀티 사이클 모니터(DCM2)를 수행하고, DCM1 결과 및 DCM2 결과에 기초하여 상기 타이밍 조절된 데이터 클록을 기준으로 상기 독출 클록의 오프셋을 계산하고, 독출 클록 오프셋 코드를 이용하여 상기 독출 클록의 듀티 에러를 정정한다.
본 발명의 실시예들에 따른 장치는, 메모리 장치; 데이터 버스; 클록 버스, 상기 클록 버스는 데이터 클록 및 독출 클록을 전송하고, 상기 데이터 클록은 상기 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고; 및 상기 데이터 버스 및 상기 클록 버스를 통해 상기 메모리 장치와 연결되는 메모리 콘트롤러를 포함한다. 상기 메모리 장치는, 상기 데이터 클록의 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하도록 제1 듀티 사이클 모니터(DCM1)를 수행하고, 상기 메모리 장치에 저장된 독출 클록 오프셋 코드를 이용하여 상기 타이밍 조절된 데이터 클록을 기준으로 독출 클록의 듀티 에러를 정정하고, 상기 독출 클록 오프셋 코드는 상기 메모리 장치로 데이터를 수신하는 기입 데이터 경로의 전파 지연과 상기 메모리 장치로부터 상기 데이터를 전송하는 독출 데이터 경로의 전파 지연의 차이를 나타낸다.
본 발명에 따르면, 메모리 장치에 대한 데이터 클록 트레이닝과 독출 클록 트레이닝을 동시에 수행하여 데이터 클록 대비 독출 클록의 오프셋을 계산하여 저장하고, 시스템에 실장된 메모리 장치의 데이터 클록 트레이닝 시 저장된 독출 클록 오프셋 코드를 이용하여 독출 클록의 듀티 에러를 정정함으로써, 메모리 장치의 클록 트레이닝에 소요되는 시간을 줄일 수 있다.
도 1은 본 발명의 일실시예에 따른 장치의 블록 다이어그램이다.
도 2는 본 발명의 실시예들에 따른 메모리 장치를 설명하는 블록 다이어그램이다.
도 3은 본 발명의 실시예들에 따른 데이터 클록 회로의 블록 다이어그램이다.
도 4 및 도 5는 본 발명의 실시예들에 따른 DCM 특징들을 설명하는 도면들이다.
도 6 내지 도 8은 본 발명의 실시예들에 따른 DCA 특징들을 설명하는 도면들이다.
도 9 내지 도 11은 본 발명의 실시예들에 따른 클록 트레이닝 방법을 설명하는 도면들이다.
도 12 및 도 13은 본 발명의 실시예들에 따른 클록 트레이닝 방법을 설명하는 도면들이다.
도 14는 본 발명의 실시예들에 따른 클록 트레이닝 방법이 적용되는 시스템을 나타내는 블록 다이어그램이다.
도 1은 본 발명의 일실시예에 따른 장치(apparatus)의 블록 다이어그램이다.
도 1을 참조하면, 장치(100)은 제1 장치(110) 및 제2 장치(120)를 포함한다. 장치(100)는 개인용 컴퓨터(Personal Computor, PC) 또는 모바일 전자기기 내에 포함되도록 구현될 수 있다. 모바일 전자기기는 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(Personal Digital Assistant), EDA(Enterprise Digital Assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(Portable Multimedia Player), PND(Personal Navigation Device 또는 Portable Navigation Device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(Mobile Internet Device(MID)), 웨어러블 컴퓨터, 사물 인터넷(Internet of Things(IoT)) 장치, 만물 인터넷(Internet of Everything(IoE)) 장치, 또는 드론(drone)으로 구현될 수 있다.
제1 장치(110)는 집적 회로(IC), 시스템 온 칩(System on Chip, SoC), 어플리케이션 프로세서(Application Processor, AP), 모바일 AP, 칩셋(chipset), 또는 칩들의 집합으로 구현될 수 있다. 일 예로서, 제1 장치(110)는 메모리 콘트롤 기능을 수행하는 반도체 장치일 수 있으며, 또한 제1 장치(110)는 어플리케이션 프로세서(AP)에 포함되는 구성일 수 있다. 어플리케이션 프로세서(AP)는 메모리 콘트롤러, 램(RAM), 중앙 처리 유닛(Central Processing Unit, CPU), 그래픽 처리 유닛(Graphics Processing Unit, GPU), 및/또는 모뎀(modem)을 포함할 수 있다.
제2 장치(120)는 휘발성 메모리 장치로 구현될 수 있다. 휘발성 메모리 장치는 RAM(Random Access Memory), DRAM(Dynamic RAM), 또는 SRAM(Static RAM)으로 구현될 수 있으나, 이에 한정되는 것은 아니다. 예시적으로, 제2 장치(120)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR(Low Power Double Data Rate) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, RDRAM(Rambus Dynamic Random Access Memory) 등에 해당할 수 있다. 또는, 제2 장치(120)는 고대역폭 메모리(high bandwidth memory, HBM)로 구현될 수도 있다.
한편, 제2 장치(120)는 불휘발성 메모리 장치로 구현될 수도 있을 것이다. 예시적으로, 제2 장치(120)는 PRAM(Phase change RAM), MRAM(Magnetic RAM) 및 RRAM(Resistive RAM) 등의 저항성 메모리로 구현될 수 있다. 이 하, 설명의 편의를 위하여, 제1 장치(110)는 메모리 콘트롤러로 지칭하고, 제2 장치(120)는 메모리 장치로 지칭할 것이다. 메모리 장치(120)는 단일 반도체 칩으로 도시하고 있으나, 실제로는 n (n 은 0이 아닌 정수, non-zero whole number)개의 메모리 장치들이 포함될 수 있다.
메모리 장치(120)는 커맨드/어드레스, 데이터 및 클록 버스(130)에 결합될 수 있다. 메모리 콘트롤러(110) 및 메모리 장치(120)은 여러 버스를 통해 통신할 수 있다. 예를 들어, 커맨드 및 어드레스(CA)는 커맨드/어드레스 버스(130) 상에서 메모리 장치(120)에 의해 수신되고, 데이터(DQ)는 데이터 버스(130)를 통해 메모리 콘트롤러(110)와 메모리 장치(120) 사이에 제공된다. 다양한 클록 신호가 클록 버스(130)를 통해 메모리 콘트롤러와 메모리 장치(105) 사이에 제공될 수 있다. 클록 버스(130)는 메모리 장치(120)에 의해 수신되는 시스템 클록(CK_t 및 CK_c), 메모리 장치(120)에 의해 수신되는 데이터 클록(WCK_t 및 WCK_c) 및 메모리 장치(120)에 의해 제공되는 독출 클록(RDQS_t 및 RDQS_c)을 메모리 콘트롤러(110)에 제공하기 위한 신호 라인들을 포함할 수 있다. 각각의 버스(130)는 신호가 제공되는 하나 이상의 신호 라인을 포함할 수 있다.
메모리 콘트롤러(110)에 의해 메모리 장치(120)에 제공되는 CK_t, CK_c 클록은 커맨드 및 어드레스의 제공 및 수신의 타이밍을 위해 사용된다. WCK_t 및 WCK_c 클록과 RDQS_t 및 RDQS_c 클록은 데이터 제공의 타이밍을 위해 사용된다. CK_t 및 CK_c 클록은 상보적(complementary)이고, WCK_t 및 WCK_c 클록은 상보적이고, RDQS_t 및 RDQS_c 클록은 상보적이다. 클록 신호는 제1 클록 신호의 상승 에지가 제2 클록 신호의 하강 에지와 동시에 발생하는 경우 및 제2 클록 신호의 상승 에지가 제1 클록 신호의 하강 에지와 동시에 발생하는 경우 상보적이다.
메모리 콘트롤러(110)에 의해 메모리 장치(120)에 제공되는 WCK_t 및 WCK_c 클록은 또한 메모리 콘트롤러(110)에 의해 메모리 장치(120)에 제공되는 CK_t 및 CK_c 클록에 동기화될 수 있다. 또한, WCK_t 및 WCK_c 클록은 CK_t 및 CK_c 클록보다 높은 클록 주파수를 가질 수 있다. 예를 들어, WCK_t 및 WCK_c 클록은 CK_t 및 CK_c 클록의 클록 주파수의 4 배인 클록 주파수를 갖는다. 이 하, 설명의 편의를 위하여, CK_t 및 CK_c 클록은 CK 클록으로 지칭되고, WCK_t 및 WCK_c 클록은 WCK 클록으로 지칭되고, RDQS_t 및 RDQS_c 클록은 RDQS 클록으로 지칭될 수 있다.
메모리 콘트롤러(110)는 메모리 동작을 수행하기 위해 메모리 장치(120)에 커맨드를 제공할 수 있다. 메모리 커맨드의 비제한적인 예는 다양한 동작의 타이밍을 제어하기 위한 타이밍 커맨드, 메모리를 억세스하기 위한 억세스 커맨드, 예컨대, 독출 동작을 수행하기 위한 독출 커맨드 및 기입 동작을 수행하기 위한 기입 커맨드, 모드 레지스터 기입 및 독출 동작 수행을 위한 모드 레지스터 기입 및 독출 커맨드 및 다른 커맨드와 동작을 포함할 수 있다.
동작 시에, 메모리 콘트롤러(110)에 의해 메모리 장치(120)로 독출 커맨드 및 관련 어드레스가 제공될 때, 메모리 장치(120)는 독출 커맨드 및 관련 어드레스를 수신하고, 독출 동작을 수행하여 관련 어드레스에 대응하는 메모리 위치로부터 독출 데이터(DQ)를 출력할 수 있다. 독출 데이터(DQ)는 독출 커맨드의 수신과 관련한 타이밍에 따라 메모리 장치(120)에 의해 메모리 콘트롤러(10)에 제공될 수 있다. 예를 들어, 타이밍은 독출 데이터(DQ)가 메모리 장치(120)에 의해 메모리 콘트롤러(110)로 제공될 때, 독출 커맨드 이후의 CK 클록의 클록 사이클 수(tCK로 참조됨)를 나타내는 독출 레이턴시(RL) 값에 기초할 수 있다. RL 값은 메모리 장치(120)에서 메모리 콘트롤러(110)에 의해 프로그래밍된다. 예를 들어, RL 값은 메모리 장치(120)의 각각의 모드 레지스터에 프로그래밍될 수 있다. 알려진 바와 같이, 각 메모리 장치(120)에 포함된 모드 레지스터는 다양한 동작 모드 설정을 위한 및/또는 메모리 동작을 위한 특징 선택을 위한 정보로 프로그래밍될 수 있다. 설정 중 하나는 RL 값에 대한 것일 수 있다.
독출 데이터(DQ)를 메모리 콘트롤러(110)에 제공하는 메모리 장치(120)의 준비 시에, 메모리 콘트롤러(110)는 활성(active) WCK 클록을 메모리 장치(120)에 제공할 수 있다. WCK 클록은 RDQS 클록을 생성하기 위하여 메모리 장치(120)에 의해 사용될 수 있다. 클록 신호가 낮은 클록 레벨과 높은 클록 레벨 사이에서 주기적으로 천이될 때 클록 신호가 활성화된다. 반대로, 클록 신호가 일정한 클록 레벨을 유지하고 주기적으로 천이되지 않을 때 클록 신호는 비활성화된다. RDQS 클록은 메모리 콘트롤러(110)에 대한 독출 데이터 제공의 타이밍을 위해 독출 동작을 수행한 메모리 장치(120)에 의해 메모리 콘트롤러(110)로 제공될 수 있다. 메모리 콘트롤러(110)는 독출 데이터(DQ)를 수신하기 위해 RDQS 클록을 사용할 수 있다.
동작 시에, 메모리 콘트롤러(110)에 의해 메모리 장치(120)로 기입 커맨드 및 관련 어드레스가 제공될 때, 메모리 장치(120)는 기입 커맨드 및 관련 어드레스를 수신하고, 기입 동작을 수행하여 메모리 콘트롤러(110)로부터 기입 데이터(DQ)를 관련 어드레스에 대응하는 메모리 위치에 기입할 수 있다. 기입 데이터(DQ)는 기입 커맨드의 수신과 관련한 타이밍에 따라 메모리 콘트롤러(110)에 의해 메모리 장치(120)로 제공된다. 예를 들어, 타이밍은 메모리 콘트롤러(110)에 의해 메모리 장치(120)로 기입 데이터(DQ)가 제공될 때, 기입 커맨드 이후의 CK 클록의 클록 사이클(tCK) 수를 나타내는 기입 레이턴시(WL) 값에 기초할 수 있다. WL 값은 메모리 장치(120)에서 메모리 콘트롤러(110)에 의해 프로그래밍될 수 있다. 예를 들어, WL 값은 메모리 장치(120)의 모드 레지스터에 프로그래밍될 수 있다.
기입 데이터(DQ)를 메모리 콘트롤러(110)로부터 수신하는 메모리 장치(120)의 준비 시에, 메모리 콘트롤러(110)는 활성 WCK 클록을 메모리 장치(120)에 제공할 수 있다. WCK 클록은 기입 데이터(DQ)를 수신하는 회로의 동작 타이밍을 위한 내부 클록 신호를 생성하기 위하여 메모리 장치(120)에 의해 사용될 수 있다. 기입 데이터(DQ)는 메모리 콘트롤러(110)에 의해 제공되고, 메모리 장치(120)는 WCK 클록에 따라 기입 데이터(DQ)를 수신하고, 기입 데이터(DQ)는 메모리 어드레스에 대응하는 메모리에 기입될 수 있다.
이러한 동작 타이밍들에 따른 메모리 동작을 정확하게 수행하기 위하여, 메모리 콘트롤러(110)는 메모리 장치(120)에 대하여 메모리 트레이닝을 수행하는 트레이닝 회로(112)를 포함할 수 있다. 트레이닝 회로(112)는 트레이닝 커맨드에 응답하여 메모리 코어와 연계된 메모리 코어 파라미터 트레이닝 및/또는 메모리 장치(120)에서 메모리 코어를 제외한 나머지 주변 회로에 대한 주변 회로 파라미터 트레이닝을 수행할 수 있다. 트레이닝 회로(112)는 트레이닝 주체가 되어 메모리 코어 파라미터 및/또는 주변 회로 파라미터에 대한 최적의 파라미터를 결정할 수 있다. 본 실시예에서는 트레이닝 회로(112)가 메모리 콘트롤러(110)에 포함되는 것으로 설명하고 있으나, 트레이닝 회로(112)는 메모리 장치(120)에 포함되어 메모리 장치(120)가 주체가 되어 메모리 트레이닝을 수행할 수도 있다.
트레이닝 회로(112)는 주변 회로 파라미터 트레이닝과 관련해서 WCK 클록에 대한 제1 클록 트레이닝 동작 및 RDQS 클록에 대한 제2 클록 트레이닝 동작을 수행할 수 있다. 트레이닝 회로(112)는 WCK 클록에 대한 제1 클록 트레이닝 동작을 수행하는 동안 RDQS 클록에 대한 제2 클록 트레이닝 동작을 동시에 수행되도록 구성할 수 있다. 이는 도 9에서 구체적으로 설명될 것이다.
메모리 장치(120)는 모드 레지스터(122, 이하 "MRS"라 칭함), 데이터 클록 회로(124) 및 데이터 입출력 회로(126)를 포함할 수 있다.
MRS(122)는 메모리 장치(120)에 대한 동작 조건을 설정하기 위해, 메모리 장치(120)의 동작을 구성하는데 사용되는 정보를 저장할 수 있다. MRS(122)는 WCK 클록 및 RDQS 클록에 대한 타이밍 조절 및 모니터링하기 휘한 정보를 저장할 수 있다.
데이터 클록 회로(124)는 WCK 클록의 듀티를 모니터링하여 타이밍 조절된 WCK 클록을 제공하기 위한 듀티 사이클 모니터링을 수행하고, RDQS 클록의 듀티를 모니터링하여 타이밍 조절된 RDQS 클록을 제공하기 위한 듀티 사이클 모니터링을 수행할 수 있다. 데이터 클록 회로(124)는 WCK 클록 및 RDQS 클록의 듀티 사이클 모니터링 결과에 기초하여 타이밍 조절된 WCK 클록을 기준으로 RDQS 클록의 오프셋을 계산하여 독출 클록 오프셋 코드를 생성할 수 있다. 데이터 클록 회로(124)는 독출 클록 오프셋 코드를 이용하여 RDQS 클록의 듀티 에러를 정정할 수 있다.
데이터 클록 회로(124)는 WCK 클록에 대한 듀티 사이클 모니터링 결과를 메모리 콘트롤러(110)로 제공할 수 있다. WCK 클록에 대한 듀티 사이클 모니터링 결과는 메모리 콘트롤러(110)에서 발행한 모드 레지스터 독출 커맨드에 의해 메모리 콘트롤러(110)로 제공될 수 있다. 데이터 클록 회로(124)는 타이밍 조절된 WCK 클록을 기준으로 계산된 독출 클록 오프셋 코드를 메모리 콘트롤러(110)로 제공할 수 있다.
데이터 입출력 회로(126)는 타이밍 조절된 RDQS 클록에 동기화되는 독출 데이터(DQ)를 메모리 콘트롤러(110)에 전송하고, 타이밍 조절된 WCK 클록에 동기화되는 기입 데이터(DQ)를 메모리 콘트롤러(110)로부터 수신할 수 있다. 데이터 입출력 회로(126)에 의해 송수신되는 데이터(DQ)는 8 비트의 데이터 폭을 포함할 수 있다. 실시에에 따라, 데이터 폭은 16 비트이고, 16 비트는 8 비트 데이터의 하위 바이트 및 8 비트 데이터의 상위 바이트로 분리될 수 있다.
도 2는 본 발명의 실시예들에 따른 메모리 장치를 설명하는 블록 다이어그램이다.
도 1 및 도 2를 참조하면, 메모리 장치(120)는 메모리 셀 어레이(200), 로우 디코더(202), 워드라인 드라이버(204), 칼럼 디코더(206), 읽기/쓰기 회로(208), 클록 버퍼(210), 제어 로직 회로(220), 어드레스 버퍼(230), MRS(122), 데이터 클록 회로(124) 및 데이터 입출력 회로(126)을 포함할 수 있다.
메모리 셀 어레이(200)는 로우들 및 칼럼들로 배열되는 매트릭스 형태로 제공되는 복수의 메모리 셀들을 포함한다. 메모리 셀 어레이(200)는 메모리 셀들과 연결되는 복수개의 워드라인들(WL)과 복수개의 비트라인들(BL)을 포함한다. 복수의 워드라인들(WL)은 메모리 셀들의 로우들과 연결되고, 복수의 비트라인들(BL)은 메모리 셀들의 칼럼들과 연결될 수 있다.
로우 디코더(202)는 메모리 셀 어레이(200)와 연결된 복수의 워드라인들(WL) 중 어느 하나를 선택할 수 있다. 로우 디코더(202)는 커맨드/어드레스(CA) 버스 및 어드레스 버퍼(230)를 통해 수신된 로우 어드레스(ROW_ADDR)를 디코딩하여 로우 어드레스(ROW_ADDR)에 상응하는 어느 하나의 워드라인(WL)을 선택하고, 선택된 워드라인(WL)을 활성화하는 워드라인 드라이버(204)에 연결할 수 있다. 칼럼 디코더(206)는 메모리 셀 어레이(200)의 복수의 비트라인들(BL) 중 소정의 비트라인들(BL)을 선택할 수 있다. 칼럼 디코더(206)는 어드레스 버퍼(230)로부터 수신된 칼럼 어드레스(COL_ADDR)를 디코딩하여 칼럼 선택 신호를 발생하고, 칼럼 선택 신호에 의해 선택된 비트라인들(BL)을 읽기/쓰기 회로(208)에 연결할 수 있다.
읽기/쓰기 회로(208)는 칼럼 선택 신호에 의해 선택된 비트라인들(BL)의 독출 데이터를 저장하는 독출 데이터 래치들과, 메모리 셀 어레이(200)에 기입 데이터를 기입하기 위한 기입 드라이버를 포함할 수 있다. 읽기/쓰기 회로(208)의 독출 데이터 래치들에 저장된 독출 데이터는 독출 데이터 경로(270)의 데이터 출력 드라이버를 통해 데이터(DQ) 버스에 제공될 수 있다. 기입 데이터는 데이터(DQ) 버스에 연결된 기입 데이터 경로(260)의 데이터 입력 버퍼를 통해, 그리고 읽기/쓰기 회로(208)의 기입 드라이버를 통해 메모리 셀 어레이(200)에 인가될 수 있다.
클록 버퍼(210)는 CK 클록을 수신하고 내부 클럭 신호(ICK)를 생성할 수 있다. 내부 클럭 신호(ICK)는 제어 로직 회로(220)로 제공되고, 내부 회로의 다양한 동작 타이밍을 위해 사용될 수 있다. 제어 로직 회로(220)는 커맨드/어드레스(CA) 버스를 통해 커맨드(CMD)를 수신하고 메모리 장치(120)의 동작 타이밍 및/또는 메모리 동작을 제어하는 제어 신호들(CTRLS)을 생성할 수 있다. 제어 로직 회로(220)는 제어 신호들(CTRLS)을 이용하여 메모리 셀 어레이(200)로부터 데이터를 독출하고 메모리 셀 어레이(200)에 데이터를 기입할 수 있다.
MRS(122)는 메모리 장치(120)에 대한 동작 조건을 설정하기 위해, 메모리 장치(120)의 동작을 구성하도록 제어 로직 회로(220)에 의해 사용되는 정보를 저장할 수 있다. MRS(122)는 메모리 장치(120)의 동작 조건을 설정하도록 사용되는 다양한 동작 및 제어 파라미터에 대한 파라미터 코드를 저장하는 레지스터를 포함할 수 있다. 파라미터 코드는 커맨드/어드레스 버스(130)를 통해 메모리 장치(120)에 수신될 수 있다. 제어 로직 회로(220)는 MRS(122)에 의해 저장된 동작 및 제어 파라미터에 설정된 바와 같이 동작하도록 메모리 장치(120)의 회로들로 제어 신호들(CTRLS)를 제공한다.
데이터 입출력 회로(126)는 데이터 입력 버퍼를 포함하는 기입 데이터 경로(260) 부분과 데이터 출력 드라이버를 포함하는 독출 데이터 경로(270) 부분으로 구분될 수 있다. 기입 데이터 경로(260)는 기입 데이터(DQ)를 수신하는 플립플롭을 포함할 수 있다. 독출 데이터 경로(270)는 독출 데이터(DQ)를 전송하는 플립플롭을 포함할 수 있다. 추가적으로, 독출 데이터 경로(270)는 독출 동작과 관련되는 다양한 기능들, 예컨대 출력 드라이브 세기, 프리앰블/포스트앰블 길이, 풀-다운/ODT(On Die Termination) 및 풀-업/Voh(output high level voltage) 캘리브레이션, 프리-앰파시스 등을 수행하는 회로들을 포함할 수 있다. 풀-다운/ODT 및 풀-업/Voh 캘리브레이션은, 커맨드/어드레스(CA) 버스 및/또는 데이터(DQ) 버스를 통해 수신되는 신호들의 스윙 폭 및/또는 구동 강도를 조절하여 신호 무결성(SI)을 개선하기 위하여 제공될 수 있다. 프리-앰파시스 기능은 데이터(DQ) 버스를 통해 전송되는 신호의 데이터 아이 오프닝 영역을 크게 하여 신호 무결성(SI)을 개선하기 위하여 제공될 수 있다. 독출 데이터 경로(270)는 기입 데이터 경로(260) 보다 상대적으로 긴 전파 지연(propagation delay) 요소를 가질 수 있다.
데이터 클록 회로(124)는 WCK 클록 및/또는 RDQS 클록에 대한 듀티 사이클을 모니터링하여 듀티 사이클을 조절할 수 있다. 데이터 클록 회로(124)는 듀티 사이클 조절(DCA) 범위를 나타내는 DCA 코드의 스텝들 각각에 대응하며 논-플립 및 플립하는 입력 조건들에 대해 WCK 클록에 대한 듀티 사이클 모니터링 결과를 제공할 수 있다. 데이터 클록 회로(124)는 듀티 사이클 조절(DCA) 범위를 나타내는 DCA 코드의 스텝들 각각에 대응하며 논-플립 및 플립하는 입력 조건들에 대해 RDQS 클록에 대한 듀티 사이클 모니터링 결과를 제공할 수 있다.
데이터 클록 회로(124)는 WCK 클록 및 RDQS 클록의 논-플립 설정에 따른 듀티 사이클 모니터링 결과에 기초하여 독출 클록 오프셋 코드를 생성할 수 있다. 또는 데이터 클록 회로(124)는 WCK 클록 및 RDQS 클록의 플립 설정에 따른 듀티 사이클 모니터링 결과에 기초하여 독출 클록 오프셋 코드를 생성할 수 있다.
도 3은 본 발명의 실시예들에 따른 데이터 클록 회로(124)의 블록 다이어그램이다. 도 3의 데이터 클록 회로는 도 2의 메모리 장치(120)의 WCK 경로 및/또는 RDQS 경로의 일부에 포함될 수 있다. 이하, 참조 번호에 붙은 첨자(예컨대, 122a의 a, 122b의 b)는 동일한 기능을 하는 다수의 회로를 구분하기 위한 것이다.
도 2 및 도 3을 참조하면, 데이터 클록 회로(124)는 데이터 클록 버퍼(310), 듀티 사이클 조절기(Duty Cycle Adjuster, 320), 분할기 회로(330), 클록 트리 및 드라이버 회로(340), 듀티 사이클 모니터(Duty Cycle Monitor, 350) 및 듀티 사이클 정정부(Duty Cycle Corrector, 360)를 포함할 수 있다.
데이터 클록 버퍼(310)는 WCK 클록을 버퍼링하고 버퍼링된 WCK 클록을 듀티 사이클 조절기(320)에 제공할 수 있다. 듀티 사이클 조절기(320, 이하 "DCA 조절기"로 칭함)는 버퍼링된 WCK 클록의 타이밍을 조절하여 타이밍 조절된 WCK 클록을 제공하는 DCA 회로(322)를 포함할 수 있다. DCA 회로(322)는 버퍼링된 WCK 클록을 제1 모드 레지스터(122a)에 프로그래밍된 정보에 기초하여 조절할 수 있다.
제1 모드 레지스터(122a)에 프로그래밍된 정보는 DCA 조절 범위의 다양한 단계에 대응하는 DCA 코드일 수 있다. 버퍼링된 WCK 클록의 타이밍은 원하는 타이밍에 대응하는 제1 모드 레지스터(122a)에 DCA 코드를 프로그래밍함으로써 조절된다. 제1 모드 레지스터(122a)의 DCA 코드는 메모리 콘트롤러(110)에 의해 프로그래밍될 수 있다. 버퍼링된 WCK 클록의 타이밍은 제1 모드 레지스터(122a)에 프로그래밍된 DCA 코드를 변경함으로써 변경될 수 있다. DCA 회로(322)는 타이밍 조절된 WCK 클록을 분할기 회로(330)에 제공할 수 있다.
분할기 회로(330)는 WCK 클록의 클록 주파수보다 낮은 클록 주파수를 갖는 다수의 내부 WCK 클록 신호들을 제공할 수 있다. 다수의 내부 WCK 클록들은 서로에 대해 위상 관계를 가질 수 있다. 분할기 회로(330)는 서로에 대해 90도(0도, 90도, 180도, 270도)의 위상 관계를 갖고 WCK 클록 주파수의 1/2인 클록 주파수를 갖는 4개의 내부 WCK 클록들(WCK0/90/180/270)을 제공할 수 있다. 본 실시예는 이러한 특정 수의 내부 WCK 클록, 위상 관계 및/또는 클록 주파수로 제한되는 것을 의도하지 않는다.
분할기 회로(330)의 다수의 내부 WCK 클록들은 클록 트리 및 드라이버 회로(340)를 통해 해당 내부 WCK 클록에 따라 동작할 수 있는 회로로 제공될 수 있다. 예를 들어, 내부 WCK 클록은 기입 데이터를 수신하는 데이터 수신기의 동작의 타이밍을 위해 클록 트리 및 드라이버 회로(340)에 의해 데이터 입출력 회로(126)의 기입 데이터 경로(260) 및/또는 독출 데이터 경로(270)에 제공될 수 있다.
데이터 클록 버퍼(310)와 클록 트리 및 드라이버 회로(340)는 내부 WCK 클록을 제공할 때 WCK 클록에 관하여 바람직하지 않은 타이밍 변화를 야기하는 고유한 회로 특성을 가질 수 있다. 이 고유한 회로 특성은 제조 프로세스의 변동과 온도 및 전압의 변화로 인한 동작 변동으로 인해 이상적인 회로 특성에서 벗어날 수 있다. 예를 들어, 데이터 클록 버퍼(310)와 클록 트리 및 드라이버 회로(340)는 내부 WCK 클록을 제공할 때 듀티 사이클이 변경되어 내부 WCK 클록이 외부 WCK 클록에 비해 왜곡된 듀티 사이클을 갖는 결과를 초래할 수 있다. 결과적으로, 생성된 내부 WCK 클록의 타이밍은 내부 WCK 클록에 따라 동작하는 회로의 원치 않는 성능을 야기할 수 있다.
듀티 사이클 모니터(350, 이하 "DCM 모니터"로 칭함)는 클록 트리 및 드라이버 회로(340)에 의해 제공되는 내부 WCK 클록의 타이밍을 모니터링할 수 있다. 예를 들어, DCM 모니터(350)는 내부 WCK 클록 중 하나 이상의 듀티 사이클을 모니터링할 수 있다. DCM 모니터(350)은 제2 모드 레지스터(122b)와 연계되는 제1 DCM 회로(352)를 포함하며 기입 데이터 경로(260) 일부와 연결될 수 있다.
제1 DCM 회로(352)는 클록 트리 및 드라이버 회로(340)에 의해 제공되는 하나 이상의 내부 WCK 클록을 모니터링하고 내부 WCK 클록의 타이밍을 나타내는 정보를 제공할 수 있다. 정보는 예를 들어, 제1 DCM 회로(352)에 의한 모니터링으로부터의 제1 듀티 사이클 모니터링(DCM) 결과를 포함할 수 있다. 데이터 클록 경로의 회로가 내부 WCK 클록을 제공할 때 바람직하지 않은 타이밍 변화를 야기하는 경우, 제1 DCM 회로(352)는 바람직하지 않은 변화의 정도를 결정하는 데 사용될 수 있다. DCM 결과는 제2 모드 레지스터(122b)에 제공될 수 있으며, 여기서 DCM 결과는 예를 들어 모드 레지스터 독출 커맨드에 응답하여 외부적으로 억세스 및 제공될 수 있다. 제1 DCM 회로(352)는 데이터 폭이 상위 및 하위 바이트를 모두를 포함하는, 상위 및 하위 바이트에 대한 내부 WCK 클록을 모니터링하기 위한 회로를 포함할 수 있다.
제2 모드 레지스터(122b)는 제1 DCM 회로(352)의 동작을 제어하는 정보로 프로그래밍될 수 있다. 예를 들어, 정보는 제1 DCM 회로(352)에 의한 모니터링이 시작될 때 및 제1 DCM 회로(352)에 의한 모니터링이 중단될 때를 제어할 수 있다. 추가적인 예로서, 정보는 내부 WCK 클록을 모니터링할 때 입력 조건을 변경(또는 "플립(flip)")하도록 제1 DCM 회로(352)를 제어하도록 구성될 수 있다. 제1 입력 조건으로 내부 WCK 클록을 모니터링한 다음 제2 입력 조건으로 플립하여 내부 WCK 클록을 추가로 모니터링함으로써 정확도를 증가시킬 수 있다.
각 입력 조건에 대해 제1 DCM 회로(352)에 의해 제공되는 DCM 결과가 제2 모드 레지스터(122b)에 정보로 제공될 수 있다. 정보는 제2 모드 레지스터(122b)에 연산코드(opcodes)로서 프로그래밍될 수 있고, 이 연산코드는 제2 모드 레지스터(122b)의 특정 비트에 대응할 수 있다. 도 3에서, 제1 DCM 회로(352)의 시작 및 중단을 제어하고 모니터링을 위한 입력 조건의 플립을 제어하기 위한 정보는 제2 모드 레지스터(122b)의 연산코드 OP[1:0]에서 2 비트로 프로그래밍될 수 있고, 제1 DCM 회로(352)에 의해 제공된 제1 DCM 결과는 연산코드 OP[5:2]에서 4 비트로 프로그래밍될 수 있다. 그러나, 제2 모드 레지스터(122b)에 프로그래밍되는 정보 및 연산코드에 대한 비트 수는 도 3에 도시되어 있는 특정 예에 제한되지 않는다.
하위 및 상위 바이트를 포함하는 데이터 폭을 갖는 데이터에 대하여, 각 바이트에 관련하는 내부 클록 신호에 대해 별도의 클록 경로가 제공될 수 있다. 각 클록 경로에는 각 데이터 바이트에 대한 내부 클록 신호를 개별적으로 모니터링하기 위한 회로가 포함되어 있다. 예를 들어, 데이터 클록 회로(124)는 데이터의 제1 바이트에 대한 내부 클록 신호를 제공, 타이밍 조절 및 모니터링하기 위해 포함되고, 데이터 클록 회로(124)의 적어도 일부는 데이터의 제2 바이트에 대한 내부 클록 신호를 제공, 타이밍 조절 및 모니터링하기 위해 이중화(duplicate)될 수 있다.
DCM 모니터(350)는 클록 트리 및 드라이버 회로(340)에 의해 제공되는 내부 WCK 클록의 타이밍을 모니터링한 결과를 제2 모드 레지스터(122b)에 제공하고, DCA 코드에 기초하여 타이밍 조절된 WCK 클록을 모니터링하여 얻어지는 제1 DCM 결과(DCA/DCM1)를 듀티 사이클 정정부(360, 이하 "DCC 정정부"로 칭함)로 제공할 수 있다. 제1 DCM 결과(DCA/DCM1)는 DCA 코드 마다의 DCM 결과를 포함하고, DCC 정정부(360)에 의해 RDQS 클록의 듀티를 정정하는 데 이용될 수 있다.
DCC 정정부(360)는 클록 트리 및 드라이버 회로(340)에 의해 제공되는 내부 WCK 클록에 기초하여 생성되는 RDQS 클록 타이밍을 모니터링할 수 있다. DCC 정정부(360)는 독출 데이터 경로(270) 일부와 연결되고, RDQS 클록의 듀티 사이클을 모니터링할 수 있다. DCC 정정부(360)는 독출 데이터 경로(270)와 연결되는 제2 DCM 회로(362), 로직 회로(364) 및 저장 회로(366)를 포함할 수 있다.
제2 DCM 회로(362)는 독출 데이터 경로(270)에 의해 제공되는 RDQS 클록을 모니터링하고 RDQS 클록의 타이밍을 나타내는 정보를 제공할 수 있다. 정보는 예를 들어, 제2 DCM 회로(362)에 의한 모니터링이 시작될 때, 제2 DCM 회로(362)에 의한 모니터링이 중단될 때, 입력 조건 플립, 그리고 상위 및 하위 바이트에 대한 모니터링으로부터의 제2 듀티 사이클 모니터링 결과를 포함할 수 있다. 각 입력 조건에 대해 제2 DCM 회로(362)에 의해 제공되는 제2 DCM 결과가 로직 회로(364)에 정보로 제공될 수 있다. 제2 DCM 회로(362)는 DCA 코드에 기초하여 타이밍 조절된 RDQS 클록을 모니터링하여 얻어지는 제2 DCM 결과(DCA/DCM2)를 로직 회로(364)에 제공할 수 있다.
로직 회로(364)는 제1 DCM 결과(DCA/DCM1)와 제2 DCM 결과(DCA/DCM2)를 제공받아, DCA 코드에 대응하는 제1 DCM 결과(DCA/DCM1)의 비트 값과 제2 DCM 결과(DCA/DCM2)의 비트 값을 감산하는 동작을 수행할 수 있다. 로직 회로(364)는 감산기(subtractor)를 포함할 수 있다. 로직 회로(364)에 의해 제1 DCM 결과(DCA/DCM1)와 제2 DCM 결과(DCA/DCM2) 사이의 차이 값이 제공될 수 있다. 제1 DCM 결과(DCA/DCM1)와 제2 DCM 결과(DCA/DCM2) 사이의 차이 값은 기입 데이터 경로(260)에 비하여 상대적으로 긴 전파 지연 특성을 갖는 독출 데이터 경로(270)로 인해 초래된 것으로 예측할 수 있다. 이에 따라, 제1 DCM 결과(DCA/DCM1)와 제2 DCM 결과(DCA/DCM2) 사이의 차이 값은 WCK 클록을 기준으로 RDQS 클록의 오프셋을 나타내고, RDQS 오프셋 코드(RDQS_OFFSET)로 지칭될 수 있다.
저장 회로(366)는 로직 회로(364)에 의해 계산된 RDQS 오프셋 코드(RDQS_OFFSET)를 저장할 수 있다. 저장 회로(366)는 RDQS 오프셋 코드(RDQS_OFFSET)를 저장하는 레지스터 또는 퓨즈 회로로 구현될 수 있다. 퓨즈 회로는 복수의 안티 퓨즈들을 포함하는 안티 퓨즈로 구성될 수 있다. 안티 퓨즈는 퓨즈 소자와 반대되는 전기적 특성을 갖는 것으로서, 프로그램되지 않은 상태에서는 높은 저항 값을 갖는 반면, 프로그램된 상태에서는 낮은 저항 값을 갖는 저항성 퓨즈 소자이다. 저장 회로(366)는 안티 퓨즈들을 선택적으로 프로그램하여 RDQS 오프셋 코드(RDQS_OFFSET)를 저장할 수 있다.
DCC 정정부(360)는 DCM 모니터(350)에서 제공받은 제1 DCM 결과(DCA/DCM1) 및 DCA 코드에 기초하여 타이밍 조절된 RDQS 클록을 모니터링하여 얻어지는 제2 DCM 결과(DCA/DCM2)에 기초하여 RDQS 오프셋 코드(RDQS_OFFSET)를 계산할 수 있다. DCC 정정부(360)는 RDQS 오프셋 코드(RDQS_OFFSET)를 이용하여 RDQS 클록이 50% 듀티 사이클이 되도록 RDQS 클록 듀티 에러를 정정할 수 있다.
도 4 및 도 5는 본 발명의 실시예들에 따른 DCM 특징들을 설명하는 도면들이다. 도 4 및 도 5는 도 3의 제2 모드 레지스터와 관련된다. 도 4는 도 3의 제1 DCM 회로(352)에 의한 제1 DCM 동작과 연관된 모드 레지스터이고, 도 5는 제1 DCM 동작과 연관된 모드 레지스터에 대한 연산코드 정의를 보여준다. 제1 DCM 동작은 메모리 콘트롤러(110, 도 1)가 메모리 장치(120)의 내부 WCK 클록 트리에서 WCK 듀티 사이클 왜곡을 모니터링하는 WCK DCM 이다.
도 4 및 도 5를 참조하면, 제1 DCM 동작은 제2 모드 레지스터(122b)의 OP[0] = 1b를 기입하는 것에 의해 시작될 수 있다. 제2 모드 레지스터(122b)의 OP[0] = 0b로 설정하면 제1 DCM 동작이 중단될 수 있다. 제1 DCM 동작을 시작하기 전에, WCK 클록 대 CK 클록 동기화 동작이 먼저 수행될 수 있다.
OP[0] = 0b을 기입함으로서 제1 DCM 동작이 중단될 때까지, 제1 DCM 동작이 활성화되는 동안 계속해서 WCK 클록 입력을 토글할 필요가 있다. 제1 DCM 동작이 활성화되면, 하위 및 상위 바이트 둘 다에 대하여 동시에 제1 DCM 동작을 수행할 수 있다. 각 바이트에 대해 2개의 별개의 DCM 결과가 제공될 수 있다. 하위 바이트에 대한 DCM 결과는 DCML0 및 DCML1로 제공되고, 상위 바이트에 대한 DCM 결과는 DCMU0 및 DCMU1로 제공될 수 있다.
만약 DCM 회로 히스테리시스가 존재하는 경우 제1 DCM 결과가 부정확(inaccurate)할 수 있다. 제1 DCM 동작의 정확도를 증가시키기 위해, 제2 DCM 동작은 제2 모드 레지스터(122b)의 OP[1]을 반대 상태로 설정함으로써 입력을 플립한 다음 모니터링을 반복하는 것을 지원할 수 있다. 제1 DCM 결과는 DCM 플립 비트 OP[1]의 상태에 의해 결정될 수 있다. 예를 들면, DCM 플립=0 (논-플립) 이면 DCML0 및 DCMU0이 제공될 것이고, DCM 플립=1(플립)이면 DCML1 및 DCMU1이 제공될 것이다. 제1 DCM 플립 및 제1 DCM 중단이 메모리 콘트롤러(110)에 의해 제1 DCM 결과를 캡처하는 데 사용될 수 있다.
예시적으로, DCM 입력 조건에 따른 각 바이트에 대한 WCK 하이 듀티 사이클이 50% 보다 작으면 제1 DCM 결과는 "0" 비트 값으로 설정되고, 50% 이상이면 제1 DCM 결과는 "1" 비트 값으로 설정될 수 있다.
도 4 및 도 5에서 설명된 제1 DCM 동작은 도 3의 제2 DCM 회로(362)에 의한 RDQS 듀티 사이클 왜곡을 모니터링하는 제2 DCM 동작에도 동일하게 적용될 수 있다. 제2 DCM 동작은 메모리 장치(120)의 독출 데이터 경로에서 RDQS 듀티 사이클 왜곡을 모니터링하는 RDQS DCM 이다. 제2 DCM 동작이 활성화되는 동안 계속해서 RDQS 클록이 토글할 필요가 있다. 제2 DCM 동작이 활성화되면, 하위 및 상위 바이트 둘 다에 대하여 동시에 제2 DCM 동작을 수행하고, DCM 플립 비트의 상태에 의해 DCM 플립=0 이면 DCML0 및 DCMU0이 제공될 것이고, DCM 플립=1이면 DCML1 및 DCMU1이 제공될 것이다.
도 6 내지 도 8은 본 발명의 실시예들에 따른 DCA 특징들을 설명하는 도면들이다. 도 6 내지 도 8은 도 3의 DCA 조절기(320)와 관련된다. 도 6은 DCA 조절기(320)의 예시적인 타이밍 도면이고, 도 7은 DCA 코드를 예시하는 테이블이고, 도 8은 DCA 조절기(320)를 사용하여 조절되는 데이터 클록 신호의 예시적인 타이밍 도면이다.
DCA 동작은 제1 DCM 회로(352)와 연계하여 메모리 콘트롤러(110)가 내부 WCK 클록 트리 듀티 사이클을 조절하여 WCK 듀티 사이클 오류를 보상할 수 있도록 모드 레지스터 조절 가능한 WCK DCA이다. 또한, DCA 동작은 제2 DCM 회로(362)와 연계하여 메모리 장치(120)에서 RDQS 듀티 사이클 오류를 보상할 수 있도록 RDQS 오프셋 결정을 위한 RDQS DCA이다. 본 실시예에서는 내부 WCK 클록의 듀티 사이클을 조절하는 WCK DCA를 설명한다.
WCK DCA는 분할기 회로(330) 이전에 위치하거나 동등한 위치에 있을 수 있다. 메모리 콘트롤러(110)는 제1 모드 레지스터(122a)에 DCA 코드를 프로그래밍하여 내부 WCK 클록의 듀티 사이클을 조절할 수 있다. 제1 모드 레지스터(122a)가 8 비트에 대한 연산코드를 포함한다고 가정하면, 메모리 콘트롤러(110)는 DCAL에 대한 연산코드 OP[3:0] 및 DCAU 설정에 대한 OP[7:4]를 통해 듀티 사이클을 조절할 수 있다. DCAL에 대한 연산코드 OP[3:0]는 하위 바이트에 대한 DCM과 관련되고, DCAU 설정에 대한 OP[7:4]는 하위 바이트에 대한 DCM과 관련될 수 있다. 실시예에 따라, DCA에 대한 바람직한 모드 레지스터 설정은 메모리 콘트롤러(110)에 의해 다양한 방식으로 결정될 수 있다.
도 6을 참조하면, DCA 범위에 걸쳐 내부 WCK의 예시적인 조절을 보여준다. 도 7에서 DCA 코드는 예시적으로 +7 내지 -7 스텝의 조절 범위를 포함할 수 있다. 이러한 방식으로, DCA는 내부 WCK 클록의 듀티 사이클을 조절하기 위해 DCA 범위의 15 가지 스텝들을 포함할 수 있다. 예시적으로, 제1 모드 레지스터(122a)의 DCAL에 대한 연산코드 OP[3:0]는 도 7과 같은 DCA 코드로 표시될 수 있다. DCA 코드(또는 스텝)을 증가(+)하여 DCA를 조절하면 WCK 클록의 하이 듀티 사이클이 증가하는 반면 DCA 코드(또는 스텝)을 감소(-)시켜 DCA를 조절하면 WCK 클록의 하이 듀티 사이클이 감소할 수 있다. 도 8은 DCA 코드 증가에 대한 WCK 클록의 하이 듀티 사이클 증가와 DCA 코드 감소에 대한 WCK 클록의 하이 듀티 사이클 감소를 예시한다.
도 9 내지 도 11은 본 발명의 실시예들에 따른 클록 트레이닝 방법을 설명하는 도면들이다. 도 9는 도 1의 메모리 장치(120)의 초기화 단계에서 수행되는 클록 트레이닝 방법을 설명하는 플로우챠트이고, 도 10은 도 9의 클록 트레이닝 방법에 따른 타이밍 다이어그램이고, 도 11은 도 9의 클록 트레이닝 방법에 따른 DCM 결과들을 보여준다. 설명의 편의를 위하여, 제1 DCM 동작(S910)과 제2 DCM 동작(S920)은 하위 바이트에 대한 DCML 및 DCAL과 연계하여 설명된다. 실시예에 따라, 도 9의 클록 트레이닝 방법은 메모리 장치(120)의 성능(function) 테스트 과정에서 수행될 수 있다. 이 경우, 메모리 콘트롤러(110)는 테스트 호스트로서 클록 트레이닝 테스트를 할 수 있다.
도 1 내지 도 8과 연계하여, 도 9를 참조하면, 메모리 장치(120)는 WCK 클록에 대한 제1 DCM 동작을 수행할 수 있다(S910). 제1 DCM 동작은 MRS(122)와 연계하여 제1 DCM 회로(352)에 의해 수행될 수 있다. 또한, 메모리 장치(120)는 RDQS 클록에 대한 제2 DCM 동작을 수행할 수 있다(S920). 제2 DCM 동작은 MRS(122)와 연계하여 제2 DCM 회로(362)에 의해 수행될 수 있다. WCK 클록에 대한 제1 DCM 동작(S910)과 RDQS 클록에 대한 제2 DCM 동작(S920)은 병렬적으로 수행될 수 있다. 제1 및 제2 DCM 동작(S910, S920) 각각은, 도 10을 참조하여 설명될 것이다.
도 10을 참조하면, 메모리 콘트롤러(110)에서 모드 레지스터 기입 커맨드(커맨드 MRW-1 및 MRW-2 포함)를 메모리 장치(120)에 발행함에 따라 시작될 수 있다. 모드 레지스터 기입 커맨드는 시간 Tc0과 Tc1 사이에 수신될 수 있다. 메모리 콘트롤러(110)는 제1 DCM 회로(352)가 WCK 듀티 사이클 측정을 완료할 시간 tDCMM 동안 대기할 수 있다. tDCMM 동안, 제2 DCM 회로(362)는 RDQS 듀티 사이클 측정을 완료할 수 있다. 이 때, 제1 및 제2 DCM 회로들(352, 362)은 논-플립된 입력으로 WCK 및 RDQS 듀티 사이클 측정을 할 수 있다.
시간 Td0과 Td1 사이에 메모리 콘트롤러(110)는 모드 레지스터 기입 커맨드를 발행하여 제1 DCM 동작(S910)의 입력을 플립하도록 제2 모드 레지스터(122b)의 OP[1] 코드를 전환할 수 있다. 예시적으로, DCM 플립 비트를 로직 로우로부터 로직 하이로 전이시키면 자동으로: (1) 현재 DCM 결과를 캡처하고; (2) DCM 결과를 제2 모드 레지스터(122b)의 OP[2]/OP[4]에 저장하고; (3) DCM을 리셋 및 재시작할 것이다. DCM 플립 비트를 로직 하이에서 로직 로우로 전이시키면 자동으로: (1) 현재 DCM 결과를 캡처하고; (2) DCM 결과를 제2 모드 레지스터(122b)의 OP[3]/OP[5]에 저장하고; (3) DCM을 리셋 및 재시작할 것이다.
메모리 콘트롤러(110)는 제1 DCM 회로(352)가 플립된 입력으로 WCK 듀티 사이클 측정을 완료할 시간 tDCMM 동안 대기할 수 있다. tDCMM 동안, 제2 DCM 회로(362)도 플립된 입력으로 RDQS 듀티 사이클 측정을 완료할 수 있다.
시간 Te0과 Te1 사이에 메모리 콘트롤러(110)는 모드 레지스터 기입 커맨드를 발행하여 제1 DCM 동작(S910) 및 제2 DCM 동작(S920)을 탈출할 수 있다. 제1 DCM 동작(S910)을 탈출하면, 제2 모드 레지스터(122b)의 OP[1]이 로직 로우일 때 현재 DCM 결과를 자동으로 캡처하여 제2 모드 레지스터(122b)의 OP[2]/OP[4]에 저장하고, 제2 모드 레지스터(122b)의 OP[1]이 로직 하이일 때 현재 DCM 결과를 자동으로 캡처하여 제2 모드 레지스터(122b)의 OP[3]/OP[5]에 저장할 수 있다. 메모리 장치는, 제1 DCM 동작(S910) 동안 DCA 코드에 기초하여 타이밍 조절된 WCK 클록을 모니터링하여 제1 DCM 결과(DCA/DCM1)를 제공하고, 제2 DCM 동작(S920) 동안 DCA 코드에 기초하여 타이밍 조절된 RDQS 클록을 모니터링하여 제2 DCM 결과(DCA/DCM2)를 제공할 수 있다.
도 9에서, 메모리 콘트롤러(110)는 WCK 클록에 대한 제1 DCM 동작(S910) 에 의해 제2 모드 레지스터(122b)의 OP[5:2]에 저장된 DCM 결과를 판독하기 위하여 정상적인 MRR 타이밍을 사용하여 MRR 커맨드를 발행할 수 있다. 메모리 장치(120)는 메모리 콘트롤러(110)에서 발행한 모드 레지스터 독출(MRR) 커맨드에 의해 제1 DCM 동작(S910)에 의해 제2 모드 레지스터(122b)에 저장된 정보를 독출할 수 있다(S912).
한편, 제1 DCM 동작(S910)에서 제공되는 제1 DCM 결과(DCA/DCM1)는 도 11에 도시된 바와 같이, 논-플립 설정에 따른 제1 DCM 결과(1110)와 플립 설정에 따른 제1 DCM 결과(1111)를 포함할 수 있다. 또한, 제2 DCM 동작(S920)에서 제공되는 제2 DCM 결과(DCA/DCM2)도 논-플립에 따른 제2 DCM 결과(1120)와 플립에 따른 제2 DCM 결과(1121)를 포함할 수 있다.
도 11을 참조하면, 제1 논-플립 DCM 결과(1110) 및 제1 플립 DCM 결과(1111)는 초기에 DCA 코드에 대하여 예컨대, 디폴트 "0" 비트 값으로 설정될 수 있다. 제1 DCM 동작(S910) 후, 제1 논-플립 DCM 결과(1110)는 DCA 코드 -1 에서 디폴트 "0" 비트 값에서 "1" 비트 값으로 변화하고, DCA 코드 -1 에서 +7 까지 "1" 비트 값을 갖는 것을 볼 수 있다. 즉, 제1 논-플립 DCM 결과(1110)는 DCA 코드 -1 에서 WCK 하이 듀티 사이클 50% 이상임을 나타낸다. 제1 플립 DCM 결과(1111)는 DCA 코드 +2 에서 디폴트 "0" 비트 값에서 "1" 비트 값으로 변화하고, DCA 코드 +2 에서 +7 까지 "1" 비트 값을 갖는 것을 볼 수 있다. 즉, 제1 플립 DCM 결과(1111)는 DCA 코드 +2 에서 WCK 하이 듀티 사이클 50% 이상임을 나타낸다.
제2 논-플립 DCM 결과(1120) 및 제2 플립 DCM 결과(1121)도 초기에 DCA 코드에 대하여 디폴트 "0" 비트 값으로 설정될 수 있다. 제2 DCM 동작(S920) 후, 제2 논-플립 DCM 결과(1120)는 DCA 코드 -4 에서 디폴트 "0" 비트 값에서 "1" 비트 값으로 변화하고, DCA 코드 -4 에서 +7 까지 "1" 비트 값을 갖는 것을 볼 수 있다. 즉, 제2 논-플립 DCM 결과(1120)는 DCA 코드 -4 에서 RDQS 하이 듀티 사이클 50% 이상임을 나타낸다. 제2 플립 DCM 결과(1121)는 DCA 코드 +5 에서 디폴트 "0" 비트 값에서 "1" 비트 값으로 변화하고, DCA 코드 +6 에서 +7 까지 "1" 비트 값을 갖는 것을 볼 수 있다. 즉, 제2 플립 DCM 결과(1121)는 DCA 코드 +5 에서 WCK 하이 듀티 사이클 50% 이상임을 나타낸다.
도 9에서, 메모리 장치(120)는 제1 DCM 결과(DCA/DCM1) 및 제2 DCM 결과(DCA/DCM2)를 이용하여 RDQS 오프셋 코드(RDQS_OFFSET)를 계산할 수 있다(S922). RDQS 오프셋 코드(RDQS_OFFSET)는 로직 회로(364)에 의해 제1 DCM 결과(DCA/DCM1)와 제2 DCM 결과(DCA/DCM2) 사이의 차이 값으로 제공될 수 있다. RDQS 오프셋 코드(RDQS_OFFSET)는 도 11에 도시된 바와 같이, 논-플립 설정에 대한 RDQS 오프셋 코드(RDQS_OFFSET)(1130)와 플립 설정에 따른 RDQS 오프셋 코드(RDQS_OFFSET)(1131)를 포함할 수 있다. 논-플립 설정에 대한 RDQS 오프셋 코드(RDQS_OFFSET)(1130)는 DCA 코드 -4 부터 -2 까지 "1" 비트 값을 갖고, 플립 설정에 따른 RDQS 오프셋 코드(RDQS_OFFSET)(1131)는 DCA 코드 +2 부터 +4 까지 "1" 비트 값을 갖는다.
메모리 장치(120)는 RDQS 오프셋 코드(RDQS_OFFSET)를 저장 회로(366)에 프로그램할 수 있다(S924). 메모리 장치는 프로그램된 RDQS 오프셋 코드(RDQS_OFFSET)를 평가하여 RDQS 클록의 듀티 에러를 정정할 수 있다. 메모리 장치(120)는 논-플립 설정에 대한 RDQS 오프셋 코드(RDQS_OFFSET)(1130) 및 플립 설정에 따른 RDQS 오프셋 코드(RDQS_OFFSET)(1131) 중 어느 하나에 기초하여 RDQS 클록의 듀티 에러를 정정할 수 있다.
예를 들어, 논-플립 설정에 대한 RDQS 오프셋 코드(RDQS_OFFSET)(1130)를 이용하여 RDQS 클록 듀티 에러를 정정할 때, 메모리 장치(120)는 DCA 코드 -4 내지 -2 사이의 최소값, 중간값(또는 중간에 가까운) 및 최대값 중 어느 하나를 선택하여 하이 듀티 사이클 50% 되도록 RDQS 클록을 조절할 수 있다. 이와 반대로, 플립 설정에 따른 RDQS 오프셋 코드(RDQS_OFFSET)(1131)를 이용하여 RDQS 클록 듀티 에러를 정정할 때, 메모리 장치(120)는 DCA 코드 +2 내지 +4 사이의 최소값, 중간값(또는 중간에 가까운) 및 최대값 중 어느 하나를 선택하여 하이 듀티 사이클 50% 되도록 RDQS 클록을 조절할 수 있다.
한편, 도 9의 클록 트레이닝 방법이 메모리 장치(120)의 성능 테스트 단계에서 수행되는 경우, S922 단계에서 계산된 RDQS 오프셋 코드(RDQS_OFFSET)는 테스트 호스트에 제공될 수 있다. 테스트 호스트는 RDQS 클록 트레이닝 테스트를 수행하지 않고 수신된 RDQS 오프셋 코드(RDQS_OFFSET)에 기초하여 RDQS 듀티를 조정할 수 있다.
도 12 및 도 13은 본 발명의 실시예들에 따른 클록 트레이닝 방법을 설명하는 도면들이다. 도 12 및 도 13은 도 1의 메모리 장치(120)가 테스트 단계 또는 초기화 단계에서 제공되는 RDQS 오프셋 코드(RDQS_OFFSET)를 이미 갖고 있는 경우에 수행되는 클록 트레이닝 방법을 설명한다. 도 12는 도 1의 메모리 장치(120)가 장치(100)에 실장된 상태에서 수행되는 클록 트레이닝 방법을 설명하는 플로우챠트이고, 도 13은 도 12의 클록 트레이닝 방법에 따른 타이밍 다이어그램이다. 도 12 및 도 13의 동작은 도 1 내지 도 11을 참조하여 이전에 설명된 실시예들의 임의의 조합과 함께 사용될 수 있다. 예를 들어, 메모리 콘트롤러(110)에 의해 메모리 장치(120)에 커맨드가 발행되어 아래에 설명된 바와 같은 동작을 수행할 수 있다. 발행된 특정 커맨드 및 특정 커맨드의 발행에 대한 구체적인 언급은 간결성을 위하여 아래 설명에서 생략된다.
도 12를 참조하면, 메모리 장치(120)는 메모리 콘트롤러(110)가 WCK 클록에 대한 DCM 결과를 판독하는데 필요한 정보를 제공하기 위하여, 제1 DCM 회로(352)에 의해 WCK 클록에 대한 DCM 동작을 수행할 수 있다(S1210). S1210 단계의 DCM 동작은, 도 13에 도시된 바와 같이 메모리 콘트롤러(110)에서 모드 레지스터 기입 커맨드(MRW-1, MRW-2)를 메모리 장치(120)에 발행함에 따라 시작될 수 있다. 메모리 콘트롤러(110)는 제1 DCM 회로(352)가 WCK 듀티 사이클 측정을 완료할 시간 tDCMM 동안 대기할 수 있다. 메모리 콘트롤러(110)는 모드 레지스터 기입 커맨드(MRW-1, MRW-2)를 발행하여 제1 DCM 동작(S910)의 입력을 플립하도록 제2 모드 레지스터(122b)의 OP[1] 코드를 전환할 수 있다. 메모리 콘트롤러(110)는 제1 DCM 회로(352)가 플립된 입력으로 WCK 듀티 사이클 측정을 완료할 시간 tDCMM 동안 대기할 수 있다. 메모리 콘트롤러(110)는 모드 레지스터 기입 커맨드(MRW-1, MRW-2)를 발행하여 제1 DCM 동작(S1210)을 탈출할 수 있다. DCM 동작(S1210)을 탈출하면, 제2 모드 레지스터(122b)의 OP[1]이 로직 로우일 때 현재 DCM 결과를 자동으로 캡처하여 제2 모드 레지스터(122b)의 OP[2]/OP[4]에 저장하고, 제2 모드 레지스터(122b)의 OP[1]이 로직 하이일 때 현재 DCM 결과를 자동으로 캡처하여 제2 모드 레지스터(122b)의 OP[3]/OP[5]에 저장할 수 있다. 제2 모드 레지스터(122b)의 OP[5:2]에 저장된 DCM 결과는 메모리 콘트롤러(110)에서 발행되는 모드 레지스터 독출(MRR) 커맨드에 의해 메모리 콘트롤러(110)에 제공될 수 있다.
메모리 콘트롤러(110)는 WCK 클록에 대한 DCM 동작(S1210)의 DCM 결과에 기초하여 타이밍 조절된 WCK 클록을 제공할 수 있다. 메모리 장치(120)는 저장 회로(366)에 저장된 RDQS 오프셋 코드(RDQS_OFFSET)에 기초하여 RDQS 듀티 사이클을 정정할 수 있다(S1220). 도 13에 도시된 바와 같이, 시간 Tf1 에서 타이밍 조절된 WCK 클록을 기준으로 RDQS 오프셋 코드(RDQS_OFFSET)에 기초하여 RDQS 듀티 사이클을 정정할 수 있다. 이 때, RDQS 듀티 사이클 정정 동작은 도 9에서 설명된 RDQS 트레이닝 동작(S920) 없이 수행된다는 것을 이해할 것이다.
도 14는 본 발명의 실시예들에 따른 클록 트레이닝 방법이 적용되는 시스템(1000)을 나타내는 블록 다이어그램이다.
도 14를 참조하면, 시스템(1000)은 카메라(1100), 디스플레이(1200), 오디오 처리부(1300), 모뎀(1400), DRAM들(1500a, 1500b), 플래시 메모리들(1600a, 1600b), I/O 디바이스들(1700a, 1700b) 및 어플리케이션 프로세서(Application Processor, 1800, 이하 "AP"라고 칭함)를 포함할 수 있다. 시스템(1000)은 랩탑(laptop) 컴퓨터, 휴대용 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 웨어러블 기기, 헬스케어 기기, 또는 IOT(Internet Of Things) 기기로 구현될 수 있다. 또한, 시스템(1000)은 서버(Server), 또는 개인용 컴퓨터(Personal Computer)로 구현될 수도 있다.
카메라(1100)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬영하고, 쵤영한 이미지/영상 데이터를 저장하거나 디스플레이(1200)로 전송할 수 있다. 오디오 처리부(1300)는 플래시 메모리 장치들(1600a, 1600b)나 네트워크의 컨텐츠에 포함된 오디오 데이터를 처리할 수 있다. 모뎀(1400)는 유/무선데이터 송수신을 위하여 신호를 변조하여 송신하고, 수신측에서 원래의 신호로 복구하기 위해 복조할 수 있다. I/O 디바이스들(1700a, 1700b)는 USB(Universal Serial Bus)나 스토리지, 디지털 카메라, SD(Secure Digital) 카드, DVD(Digital Versatile Disc), 네트워크 어댑터(Network adapter), 터치 스크린 등과 같은 디지털 입력 및/또는 출력 기능을 제공하는 기기들을 포함할 수 있다.
AP(1800)는 시스템(1000)의 전반적인 동작을 제어할 수 있다. AP(1800)는 플래시 메모리 장치들(1600a, 1600b)에 저장된 컨텐츠의 일부가 디스플레이(1200)에 표시되도록 디스플레이(1200)를 제어할 수 있다. AP(1800)는 I/O 디바이스들(1700a, 1700b)을 통하여 사용자 입력이 수신되면, 사용자 입력에 대응하는 제어 동작을 수행할 수 있다. AP(1800)는 AI(Artifitial Intelligence) 데이터 연산을 위한 전용 회로인 엑셀레이터(Accelerator) 블록을 포함하거나, AP(1800)와 별개로 엑셀레이터 칩(1820)을 구비할 수 있다. 엑셀레이터 블록 또는 엑셀레이터 칩(1820)에 추가적으로 DRAM(1500b)이 장착될 수 있다. 엑셀레이터는 AP(1800)의 특정 기능을 전문적으로 수행하는 기능 블록으로, 엑셀레이터는 그래픽 데이터 처리를 전문적으로 수행하는 기능 블럭인 GPU, AI 계산과 인퍼런스(Inference)를 전문적으로 수행하기 위한 블럭인 NPU(Neural Processing Unit), 데이터 전송을 전문적으로 하는 블록인 DPU(Data Processing Unit)를 포함할 수 있다
시스템(1000)은 복수의 DRAM들(1500a, 1500b)을 포함할 수 있다. AP(1800)는 JEDEC(Joint Electron Device Engineering Council) 표준 규격에 맞는 커맨드와 모드 레지스터(MRS) 셋팅을 통하여 DRAM들(1500a, 1500b)을 제어하거나, 저전압/고속/신뢰성 등 업체 고유 기능 및 CRC(Cyclic Redundancy Check)/ECC(Error Correction Code) 기능을 사용하기 위하여 DRAM 인터페이스 규약을 설정하여 통신할 수 있다. 예를 들어 AP(1800)는 LPDDR4, LPDDR5 등의 JEDEC 표준 규격에 맞는 인터페이스로 DRAM(1500a)과 통신할 수 있으며, 엑셀레이터 블록 또는 엑셀레이터 칩(1820)는 DRAM(1500a)보다 높은 대역폭을 가지는 엑셀레이터용 DRAM(1500b)을 제어하기 위하여 새로운 DRAM 인터페이스 규약을 설정하여 통신할 수 있다.
도 14에서는 DRAM들(1500a, 1500b)만을 도시하였으나, 이에 한정되지 않고 AP(1800)이나 엑셀레이터 칩(1820) 대역폭과 반응 속도, 전압 조건들을 만족한다면 PRAM이나 SRAM, MRAM, RRAM, FRAM 또는 Hybrid RAM의 메모리 등 어떤 메모리라도 사용 가능하다. DRAM들(1500a, 1500b)은 I/O 디바이스(1700a, 1700b)나 플래시 메모리들(1600a, 1600b) 보다 상대적으로 작은 레이턴시(latency)와 대역폭(bandwidth)를 가지고 있다. DRAM들(1500a, 1500b)은 시스템(1000)의 파워 온 시점에 초기화되고, 운영 체제와 어플리케이션 데이터가 로딩되어 운영 체제와 어플리케이션 데이터의 임시 저장 장소로 사용되거나 각종 소프트웨어 코드의 실행 공간으로 사용될 수 있다.
DRAM들(1500a, 1500b) 내에서는 더하기/빼기/곱하기/나누기 사칙 연산과 벡터 연산, 어드레스 연산, 또는 FFT(Fast Fourier Transform) 연산이 수행될 수 있다. 또한, DRAM들(1500a, 1500b) 내에서는 인퍼런스(inference)에 사용되는 수행을 위한 함수 기능(function)이 수행될 수 있다. 여기서, 인퍼런스는 인공 신경망(artificial neural network)을 이용한 딥러닝 알고리즘에서 수행될 수 있다. 딥러닝 알고리즘은 다양한 데이터를 통해 모델을 학습하는 트레이닝(training) 단계와 학습된 모델로 데이터를 인식하는 인퍼런스 단계를 포함할 수 있다. 실시예로서, 사용자가 카메라(1100)를 통해 촬영한 이미지는 신호 처리되어 DRAM(1500b) 내에 저장이 되며, 엑셀레이터 블록 또는 엑셀레이터 칩(1820)은 DRAM(1500b)에 저장된 데이터와 인퍼런스에 사용되는 함수를 이용하여 데이터를 인식하는 AI 데이터 연산을 수행할 수 있다.
시스템(1000)은 DRAM들(1500a, 1500b) 보다 큰 용량을 가진 복수의 스토리지 또는 복수의 플래시 메모리들(1600a, 1600b)을 포함할 수 있다. 엑셀레이터 블록 또는 엑셀레이터 칩(1820)은 플래시 메모리 장치(1600a, 1600b)를 이용하여 트레이닝(training) 단계와 AI 데이터 연산을 수행할 수 있다. 일 실시예로, 플래시 메모리들(1600a, 1600b)은 메모리 콘트롤러(1610) 내에 구비된 연산 장치를 사용하여 AP(1800) 및/내지 엑셀레이터 칩(1820)이 수행하는 트레이닝(training) 단계과 인퍼런스 AI 데이터 연산을 보다 효율적으로 수행할 수 있다. 플래시 메모리들(1600a, 1600b)은 카메라(1100)를 통하여 찍은 사진을 저장하거나, 데이터 네트워크로 전송 받은 데이터를 저장할 수 있다. 예를 들어, 증강 현실(Augmented Reality)/가상 현실(Virtual Reality), HD(High Definition) 또는 UHD(Ultra High Definition) 컨텐츠를 저장할 수 있다.
시스템(1000)은 구성 요소들 간의 클록 트레이닝 시간을 줄이기 위하여 제1 클럭 트레이닝 및 제2 클록 트레이닝을 동시에 수행하고, 제1 클록 대비 제2 클록의 오프셋을 계산하여 클록 오프셋 코드를 생성하고, 클록 오프셋 코드를 이용하여 제2 클록의 듀티 에러를 정정할 수 있다. 시스템(1000) 내 카메라(1100), 디스플레이(1200), 오디오 처리부(1300), 모뎀(1400), DRAM들(1500a, 1500b), 플래시 메모리들(1600a, 1600b), I/O 디바이스들(1700a, 1700b) 및/또는 AP(1800)는, 도 1 내지 도 13을 참조하여 설명된 실시예?藍? 부분적으로 또는 전체적으로 조합할 수 있다.
본 발명은 도면에 도시된 제한된 수의 실시예들과 관련하여 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변경들 및 변형들, 그리고 균등한 다른 실시예들이 가능하다는 점을 인식할 것이다. 따라서, 첨부된 청구항들은 본 발명의 진정한 사상 및 범위 내에 속하는 바와 같은 모든 그러한 변경들 및 변형들을 커버하는 것을 의도한다.

Claims (46)

  1. 메모리 장치에 있어서,
    복수의 신호 핀들, 상기 복수의 신호 핀들 중 제1 신호 핀을 통하여 데이터 클록을 수신하고 제2 신호 핀을 통하여 독출 클록을 전송하고, 상기 데이터 클록은 상기 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고;
    상기 제1 신호 핀과 연결되는 제1 신호 라인 및 상기 제2 신호 핀과 연결되는 제2 신호 라인에 연결되는 데이터 클록 회로를 포함하고,
    상기 데이터 클록 회로는, 상기 데이터 클록의 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하기 위해 제1 듀티 사이클 모니터(DCM1)를 수행하고, 상기 독출 클록의 듀티를 모니터링하여 타이밍 조절된 독출 클록을 제공하기 위해 제2 듀티 사이클 모니터(DCM2)를 수행하고, DCM1 결과 및 DCM2 결과에 기초하여 상기 타이밍 조절된 데이터 클록을 기준으로 상기 독출 클록의 오프셋을 계산하고, 독출 클록 오프셋 코드를 이용하여 상기 독출 클록의 듀티 에러를 정정하는 메모리 장치.
  2. 제1항에 있어서,
    상기 데이터 클록에 대한 상기 DCM1과 상기 독출 클록에 대한 상기 DCM2는 병렬적으로 수행되는 메모리 장치.
  3. 제1항에 있어서,
    상기 데이터 클록 회로는 듀티 사이클 조절기(DCA)의 조절 범위를 나타내는 DCA 코드의 스텝들 각각에 대응하는 상기 데이터 클록에 대한 상기 DCM1 결과 및 상기 독출 클록에 대한 상기 DCM2 결과를 제공하는 메모리 장치.
  4. 제3항에 있어서,
    상기 데이터 클록 회로는 상기 데이터 클록을 논-플립 및 플립하는 입력 조건들에 대해 상기 DCM1 결과를 제공하고, 상기 독출 클록을 논-플립 및 플립하는 입력 조건들에 대해 상기 DCM2 결과를 제공하는 메모리 장치.
  5. 제1항에 있어서,
    상기 데이터 클록 회로는,
    상기 데이터 클록을 수신하고, 수신된 데이터 클록에 대하여 상기 DCM1 결과에 따라 상기 타이밍 조절된 데이터 클록을 제공하는 듀티 사이클 조절기(DCA);
    상기 타이밍 조절된 데이터 클록의 듀티를 모니터링하여 상기 DCM1 결과를 제공하는 제1 듀티 사이클 모니터(DCM) 회로; 및
    상기 DCM1 결과와 상기 DCM2 결과 사이의 차이 값을 이용하여 상기 독출 클록 오프셋 코드를 제공하는 듀티 사이클 정정부(DCC)를 포함하는 메모리 장치.
  6. 제5항에 있어서,
    상기 듀티 사이클 정정부는,
    상기 독출 클록을 수신하고, 수신된 독출 클록에 대하여 상기 제2 듀티 사이클 모니터를 수행하여 상기 DCM2 결과를 제공하는 제2 DCM 회로;
    상기 DCM1 결과의 비트 값과 상기 DCM2 결과의 비트 값을 감산하여 상기 독출 클록 오프셋 코드를 생성하는 상기 로직 회로; 및
    상기 독출 클록 오프셋 코드를 저장하는 저장 회로를 포함하는 메모리 장치.
  7. 제6항에 있어서,
    상기 저장 회로는 상기 독출 클록 오프셋 코드를 저장하는 레지스터 또는 안티 퓨즈를 포함하는 메모리 장치.
  8. 제1항에 있어서,
    상기 데이터 클록 회로는 상기 복수의 신호 핀들 중 데이터를 송수신하는 제3 신호 핀과 연결되는 제3 신호 라인에 연결되고,
    상기 DCM1 결과는 상기 제3 신호 라인에 포함되는 기입 데이터 경로와 관련되고, 상기 DCM2 결과는 상기 제3 신호 라인에 포함되는 독출 데이터 경로와 관련되는 메모리 장치.
  9. 제1항에 있어서,
    상기 데이터 클록 회로는 상기 데이터 클록에 대한 상기 DCM1 결과를 상기 데이터 클록을 상기 제1 신호 핀으로 전송하는 메모리 콘트롤러로 제공하는 메모리 장치.
  10. 제9항에 있어서,
    상기 데이터 클록 회로는 상기 독출 클록 오프셋 코드를 상기 메모리 콘트롤러로 제공하는 메모리 장치.
  11. 제1항에 있어서,
    상기 데이터 클록 회로는 상기 데이터 클록에 대한 상기 DCM1 결과를 상기 데이터 클록을 상기 제1 신호 핀으로 전송하는 테스트 호스트로 제공하는 메모리 장치.
  12. 제11항에 있어서,
    상기 데이터 클록 회로는 상기 독출 클록 오프셋 코드를 상기 테스트 호스트로 제공하는 메모리 장치.
  13. 방법으로서,
    데이터 클럭에 대하여 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하기 위해 제1 듀티 사이클 모니터(DCM1)를 수행하는 단계, 상기 데이터 클록은 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고;
    독출 클록의 듀티를 모니터링하여 타이밍 조절된 독출 클록을 제공하기 위해 제2 듀티 사이클 모니터(DCM2)를 수행하는 단계, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고;
    DCM1 결과 및 DCM2 결과에 기초하여 상기 독출 클록의 오프셋을 계산해서 독출 클록 오프셋 코드를 생성하는 단계; 및
    상기 독출 클록 오프셋 코드를 이용하여 상기 타이밍 조절된 데이터 클록을 기준으로 상기 독출 클록의 듀티 에러를 정정하는 단계를 포함하는 방법.
  14. 제13항에 있어서,
    상기 데이터 클록에 대한 상기 DCM1과 상기 독출 클록에 대한 상기 DCM2는 병렬적으로 수행되는 방법.
  15. 제13항에 있어서, 상기 방법은,
    상기 데이터 클록 및 상기 독출 클록의 듀티 사이클 조절(DCA) 범위를 나타내는 DCA 코드의 스텝들 각각에 대응하는 상기 DCM1 결과 및 상기 DCM2 결과를 제공하는 단계를 더 포함하는 방법.
  16. 제15항에 있어서, 상기 방법은,
    상기 데이터 클록을 논-플립하는 설정 조건에 대해 상기 DCM1 결과를 제공하는 단계;
    상기 데이터 클록을 플립하는 설정 조건에 대해 상기 DCM1 결과를 제공하는 단계;
    상기 독출 클록을 논-플립하는 설정 조건에 대해 상기 DCM2 결과를 제공하는 단계; 및
    상기 독출 클록을 플립하는 설정 조건에 대해 상기 DCM2 결과를 제공하는 단계를 더 포함하는 방법.
  17. 제16항에 있어서, 상기 방법은,
    상기 데이터 클록 및 상기 독출 클록의 논-플립 설정에 따른 상기 DCM1 결과 및 상기 DCM2 결과에 기초하여 상기 독출 클록 오프셋 코드를 생성하는 방법.
  18. 제16항에 있어서, 상기 방법은,
    상기 데이터 클록 및 상기 독출 클록의 플립 설정에 따른 상기 DCM1 결과 및 상기 DCM2 결과에 기초하여 상기 독출 클록 오프셋 코드를 생성하는 방법.
  19. 제13항에 있어서, 상기 방법은,
    상기 메모리 장치에 상기 데이터 클록을 전송하는 메모리 콘트롤러로 상기 DCM1 결과를 제공하는 단계를 더 포함하는 방법.
  20. 제19항에 있어서, 상기 방법은,
    상기 독출 클록 오프셋 코드를 상기 메모리 콘트롤러로 제공하는 단계를 더 포함하는 방법.
  21. 제13항에 있어서, 상기 방법은,
    상기 메모리 장치에 상기 데이터 클록을 전송하는 테스트 호스트로 상기 DCM1 결과를 제공하는 단계를 더 포함하는 방법.
  22. 제21항에 있어서, 상기 방법은,
    상기 독출 클록 오프셋 코드를 상기 테스트 호스트로 제공하는 단계를 더 포함하는 방법.
  23. 방법으로서,
    데이터 클럭에 대하여 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하기 위해 제1 듀티 사이클 모니터(DCM1)를 수행하는 단계, 상기 데이터 클록은 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고; 및
    상기 메모리 장치에 저장된 독출 클록 오프셋 코드를 이용하여 상기 타이밍 조절된 데이터 클록을 기준으로 독출 클록의 듀티 에러를 정정하는 단계를 포함하고, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고,
    상기 독출 클록 오프셋 코드는 상기 메모리 장치로 데이터를 수신하는 기입 데이터 경로의 전파 지연과 상기 메모리 장치로부터 상기 데이터를 전송하는 독출 데이터 경로의 전파 지연의 차이를 나타내는 방법.
  24. 제23항에 있어서, 상기 방법은,
    상기 독출 클록의 듀티를 모니터링하여 타이밍 조절된 독출 클록을 제공하기 위해 제2 듀티 사이클 모니터(DCM2)를 수행하는 단계;
    DCM1 결과 및 DCM2 결과에 기초하여 상기 독출 클록의 오프셋을 계산해서 상기 독출 클록 오프셋 코드를 생성하는 단계; 및
    상기 독출 클록 오프셋 코드를 저장하는 단계를 더 포함하는 방법.
  25. 제24항에 있어서, 상기 방법은,
    상기 데이터 클록 및 상기 독출 클록의 듀티 사이클 조절(DCA) 범위를 나타내는 DCA 코드의 스텝들 각각에 대응하는 상기 DCM1 결과 및 상기 DCM2 결과를 제공하는 단계를 더 포함하는 방법.
  26. 제25항에 있어서, 상기 방법은,
    상기 데이터 클록을 논-플립하는 설정 조건에 대해 상기 DCM1 결과를 제공하는 단계;
    상기 데이터 클록을 플립하는 설정 조건에 대해 상기 DCM1 결과를 제공하는 단계;
    상기 독출 클록을 논-플립하는 설정 조건에 대해 상기 DCM2 결과를 제공하는 단계; 및
    상기 독출 클록을 플립하는 설정 조건에 대해 상기 DCM2 결과를 제공하는 단계를 더 포함하는 방법.
  27. 제26항에 있어서, 상기 방법은,
    상기 데이터 클록 및 상기 독출 클록의 논-플립 설정에 따른 상기 DCM1 결과 및 상기 DCM2 결과에 기초하여 상기 독출 클록 오프셋 코드를 생성하는 방법.
  28. 제26항에 있어서, 상기 방법은,
    상기 데이터 클록 및 상기 독출 클록의 플립 설정에 따른 상기 DCM1 결과 및 상기 DCM2 결과에 기초하여 상기 독출 클록 오프셋 코드를 생성하는 방법.
  29. 제23항에 있어서, 상기 방법은,
    상기 메모리 장치에 상기 데이터 클록을 전송하는 메모리 콘트롤러로 상기 DCM1 결과를 제공하는 단계를 더 포함하는 방법.
  30. 제29항에 있어서, 상기 방법은,
    상기 독출 클록 오프셋 코드를 상기 메모리 콘트롤러로 제공하는 단계를 더 포함하는 방법.
  31. 장치에 있어서,
    메모리 장치;
    데이터 버스;
    클록 버스, 상기 클록 버스는 데이터 클록 및 독출 클록을 전송하고, 상기 데이터 클록은 상기 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고; 및
    상기 데이터 버스 및 상기 클록 버스를 통해 상기 메모리 장치와 연결되는 메모리 콘트롤러를 포함하고,
    상기 메모리 장치는,
    상기 데이터 클록의 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하기 위해 제1 듀티 사이클 모니터(DCM1)를 수행하고, 상기 독출 클록의 듀티를 모니터링하여 타이밍 조절된 독출 클록을 제공하기 위해 제2 듀티 사이클 모니터(DCM2)를 수행하고, DCM1 결과 및 DCM2 결과에 기초하여 상기 타이밍 조절된 데이터 클록을 기준으로 상기 독출 클록의 오프셋을 계산하고, 독출 클록 오프셋 코드를 이용하여 상기 독출 클록의 듀티 에러를 정정하는 장치.
  32. 제31항에 있어서,
    상기 메모리 장치는 상기 데이터 클록에 대한 상기 DCM1과 상기 독출 클록에 대한 상기 DCM2는 병렬적으로 수행하는 장치.
  33. 제31항에 있어서,
    상기 메모리 장치는 듀티 사이클 조절기(DCA)의 조절 범위를 나타내는 DCA 코드의 스텝들 각각에 대응하는 상기 데이터 클록에 대한 상기 DCM1 결과 및 상기 독출 클록에 대한 상기 DCM2 결과를 제공하는 장치.
  34. 제33항에 있어서,
    상기 메모리 장치는 상기 데이터 클록을 논-플립 및 플립하는 입력 조건들에 대해 상기 DCM1 결과를 제공하고, 상기 독출 클록을 논-플립 및 플립하는 입력 조건들에 대해 상기 DCM2 결과를 제공하는 장치.
  35. 제34항에 있어서,
    상기 메모리 장치는 상기 데이터 클록 및 상기 독출 클록의 논-플립 설정에 따른 상기 DCM1 결과 및 상기 DCM2 결과에 기초하여 상기 독출 클록 오프셋 코드를 생성하는 장치.
  36. 제34항에 있어서,
    상기 메모리 장치는 상기 데이터 클록 및 상기 독출 클록의 플립 설정에 따른 상기 DCM1 결과 및 상기 DCM2 결과에 기초하여 상기 독출 클록 오프셋 코드를 생성하는 장치.
  37. 제31항에 있어서,
    상기 메모리 장치는 상기 데이터 클록에 대한 상기 DCM1 결과를 상기 메모리 콘트롤러로 제공하는 장치.
  38. 제31항에 있어서,
    상기 메모리 장치는 상기 독출 클록 오프셋 코드를 상기 메모리 콘트롤러로 제공하는 장치.
  39. 장치에 있어서,
    메모리 장치;
    데이터 버스;
    클록 버스, 상기 클록 버스는 데이터 클록 및 독출 클록을 전송하고, 상기 데이터 클록은 상기 메모리 장치에 제공되는 데이터 기입 타이밍과 상기 메모리 장치에서 제공하는 데이터 독출 타이밍을 위해 사용되고, 상기 독출 클록은 독출 데이터의 전송을 타이밍하기 위해 사용되고; 및
    상기 데이터 버스 및 상기 클록 버스를 통해 상기 메모리 장치와 연결되는 메모리 콘트롤러를 포함하고,
    상기 메모리 장치는,
    상기 데이터 클록의 듀티를 모니터링하여 타이밍 조절된 데이터 클록을 제공하도록 제1 듀티 사이클 모니터(DCM1)를 수행하고, 상기 메모리 장치에 저장된 독출 클록 오프셋 코드를 이용하여 상기 타이밍 조절된 데이터 클록을 기준으로 독출 클록의 듀티 에러를 정정하고, 상기 독출 클록 오프셋 코드는 상기 메모리 장치로 데이터를 수신하는 기입 데이터 경로의 전파 지연과 상기 메모리 장치로부터 상기 데이터를 전송하는 독출 데이터 경로의 전파 지연의 차이를 나타내는 장치.
  40. 제39항에 있어서,
    상기 메모리 장치는 상기 독출 클록의 듀티를 모니터링하여 타이밍 조절된 독출 클록을 제공하기 위해 제2 듀티 사이클 모니터(DCM2)를 수행하고, DCM1 결과 및 DCM2 결과에 기초하여 상기 독출 클록의 오프셋을 계산해서 상기 독출 클록 오프셋 코드를 생성하여 저장하는 장치.
  41. 제40항에 있어서,
    상기 메모리 장치는 상기 데이터 클록 및 상기 독출 클록의 듀티 사이클 조절(DCA) 범위를 나타내는 DCA 코드의 스텝들 각각에 대응하는 상기 DCM1 결과 및 상기 DCM2 결과를 제공하는 장치.
  42. 제41항에 있어서,
    상기 메모리 장치는 상기 데이터 클록을 논-플립 및 플립하는 입력 조건들에 대해 상기 DCM1 결과를 제공하고, 상기 독출 클록을 논-플립 및 플립하는 입력 조건들에 대해 상기 DCM2 결과를 제공하는 장치.
  43. 제42항에 있어서,
    상기 메모리 장치는 상기 데이터 클록 및 상기 독출 클록의 논-플립 설정에 따른 상기 DCM1 결과 및 상기 DCM2 결과에 기초하여 상기 독출 클록 오프셋 코드를 생성하는 장치.
  44. 제42항에 있어서,
    상기 메모리 장치는 상기 데이터 클록 및 상기 독출 클록의 플립 설정에 따른 상기 DCM1 결과 및 상기 DCM2 결과에 기초하여 상기 독출 클록 오프셋 코드를 생성하는 장치.
  45. 상기 메모리 장치는 상기 데이터 클록에 대한 상기 DCM1 결과를 상기 메모리 콘트롤러로 제공하는 장치.
  46. 제39항에 있어서,
    상기 메모리 장치는 상기 독출 클록 오프셋 코드를 상기 메모리 콘트롤러로 제공하는 장치.
KR1020210087398A 2021-07-02 2021-07-02 클록 트레이닝 시간을 줄이기 위한 장치, 메모리 장치 및 방법 KR20230006325A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210087398A KR20230006325A (ko) 2021-07-02 2021-07-02 클록 트레이닝 시간을 줄이기 위한 장치, 메모리 장치 및 방법
US17/581,445 US11923042B2 (en) 2021-07-02 2022-01-21 Apparatus, memory device, and method reducing clock training time
EP22181778.6A EP4113519A3 (en) 2021-07-02 2022-06-29 Apparatus, memory device, and method reducing clock training time
CN202210774336.8A CN115565571A (zh) 2021-07-02 2022-07-01 减少时钟训练时间的装置、存储器设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210087398A KR20230006325A (ko) 2021-07-02 2021-07-02 클록 트레이닝 시간을 줄이기 위한 장치, 메모리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230006325A true KR20230006325A (ko) 2023-01-10

Family

ID=82492307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210087398A KR20230006325A (ko) 2021-07-02 2021-07-02 클록 트레이닝 시간을 줄이기 위한 장치, 메모리 장치 및 방법

Country Status (4)

Country Link
US (1) US11923042B2 (ko)
EP (1) EP4113519A3 (ko)
KR (1) KR20230006325A (ko)
CN (1) CN115565571A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610512B (zh) * 2023-07-20 2023-10-03 合肥康芯威存储技术有限公司 一种存储测试设备及其测试方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100281898B1 (ko) 1998-07-21 2001-02-15 윤종용 데이터의 듀티 사이클을 보정하는 듀티 사이클 보정회로 및 그방법
JP3935278B2 (ja) 1998-11-12 2007-06-20 株式会社東芝 流体機械の羽根の製造方法
US8159887B2 (en) 2007-04-19 2012-04-17 Rambus Inc. Clock synchronization in a memory system
KR102473661B1 (ko) 2018-01-31 2022-12-02 삼성전자주식회사 듀티 사이클을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템
US10923175B2 (en) * 2018-01-31 2021-02-16 Samsung Electronics Co., Ltd. Memory device adjusting duty cycle and memory system having the same
KR102519572B1 (ko) * 2018-05-11 2023-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
EP3803872A4 (en) 2018-05-29 2022-03-09 Micron Technology, Inc. APPARATUS AND METHODS FOR ADJUSTING A DUTY CYCLE ADJUSTER TO IMPROVE CLOCK DUTY CYCLE
KR20200049985A (ko) 2018-10-30 2020-05-11 삼성전자주식회사 복수의 트레이닝들을 동시에 수행하는 시스템 온 칩, 시스템 온 칩의 동작 방법, 및 시스템 온 칩을 포함하는 전자 장치
US11189334B2 (en) 2018-11-21 2021-11-30 Micron Technology, Inc. Apparatuses and methods for a multi-bit duty cycle monitor
US10734983B1 (en) 2019-02-15 2020-08-04 Apple Inc. Duty cycle correction with read and write calibration

Also Published As

Publication number Publication date
EP4113519A2 (en) 2023-01-04
US11923042B2 (en) 2024-03-05
CN115565571A (zh) 2023-01-03
US20230005515A1 (en) 2023-01-05
EP4113519A3 (en) 2023-03-08

Similar Documents

Publication Publication Date Title
US11640955B2 (en) Method and device for controlling operation using temperature deviation in multi-chip
US11749338B2 (en) Memory device adjusting duty cycle and memory system having the same
US11003370B2 (en) System on chip performing a plurality of trainings at the same time, operating method of system on chip, electronic device including system on chip
US10978170B2 (en) Method and system for monitoring information of a memory module in real time
US20210349730A1 (en) Booting method of computing system including memory module with processing device mounted
KR20190066500A (ko) 메모리 장치의 구동 강도, odt 트레이닝 방법, 이를 수행하는 컴퓨팅 시스템 및 시스템 온 칩
KR20190093102A (ko) 듀티 사이클을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템
US20240029768A1 (en) Offset calibration training method for adjusting data receiver offset and memory device therefor
EP4113519A2 (en) Apparatus, memory device, and method reducing clock training time
US11915781B2 (en) Apparatuses and methods for ZQ calibration
US20230386563A1 (en) Memory device, electronic device including the same, and operating method of electronic device
US20210312972A1 (en) Apparatus, system and method to detect and improve an input clock performance of a memory device
US20230142493A1 (en) Apparatus and method for zq calibration
TW202119411A (zh) 經配置以控制記憶裝置的系統單晶片的操作方法
US20230147016A1 (en) Apparatus, memory device, and method for multi-phase clock training
US11888476B2 (en) Apparatus, memory device and method for storing parameter codes for asymmetric on-die-termination
US20230384955A1 (en) Memory controller searching for data input/output voltage, memory system, and operating method of the memory system
KR20240013635A (ko) 데이터(dq) 리시버 오프셋을 조정하기 위한 오프셋 캘리브레이션 트레이닝 방법 및 메모리 장치
KR20230068258A (ko) Zq 캘리브레이션 방법 및 장치
KR20230067456A (ko) 멀티-페이즈 클록 트레이닝을 위한 장치, 메모리 장치 및 방법
US20230273735A1 (en) Memory training using electronic noise
CN117437964A (zh) 偏移校准训练方法及存储器装置
US20240125851A1 (en) Multi-modal memory apparatuses and systems
EP4339949A1 (en) Apparatuses and methods for providing command having on-the-fly (otf) latency to memory
KR20220136015A (ko) 비대칭 온-다이-터미네이션에 대한 파라미터 코드들을 저장하는 장치, 메모리 장치 및 방법