KR20240059348A - 다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법 - Google Patents

다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법 Download PDF

Info

Publication number
KR20240059348A
KR20240059348A KR1020220140509A KR20220140509A KR20240059348A KR 20240059348 A KR20240059348 A KR 20240059348A KR 1020220140509 A KR1020220140509 A KR 1020220140509A KR 20220140509 A KR20220140509 A KR 20220140509A KR 20240059348 A KR20240059348 A KR 20240059348A
Authority
KR
South Korea
Prior art keywords
clock signal
skew
monitoring
duty
clock
Prior art date
Application number
KR1020220140509A
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 KR1020220140509A priority Critical patent/KR20240059348A/ko
Priority to US18/326,657 priority patent/US20240144991A1/en
Priority to TW112124437A priority patent/TW202418275A/zh
Priority to CN202310832247.9A priority patent/CN117953932A/zh
Publication of KR20240059348A publication Critical patent/KR20240059348A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • 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/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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Dram (AREA)

Abstract

다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법이 개시된다. 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 메모리 컨트롤러로부터의 클록 신호에 기초하여 서로 다른 위상들을 갖는 제1 내지 제N 클록 신호들을 생성하는 다중 위상 클록 생성기와, 상기 제1 내지 제N 클록 신호들의 에지에 동기하여 데이터 패턴에 상응하는 로직 상태를 갖는 모니터링 클록 신호를 생성하는 모니터링 클록 신호 생성기를 구비하고, 상기 모니터링 클록 신호는, 상기 트레이닝 과정의 제1 단계에서 상기 제1 및 제3 클록 신호들 사이의 스큐를 검출하기 위한 제1 모니터링 클록 신호, 제2 단계에서 상기 제2 및 제4 클록 신호들 사이의 스큐를 검출하기 위한 제2 모니터링 클록 신호, 및 제3 단계에서 상기 제1 및 제2 클록 신호들 사이의 스큐를 검출하기 위한 제3 모니터링 클록 신호를 포함하는 것을 특징으로 한다.

Description

다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법{Memory device controlling skew of multi-phase clock signals, Memory controller controlling the same and Operating method of memory device}
본 개시의 기술적 사상은 메모리 장치 및 메모리 컨트롤러에 관한 것으로서, 더욱 상세하게는, 다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법에 관한 것이다.
저전력 더블 데이터 레이트(Low Power Double Data Rate, LPDDR) 동기 다이나믹 랜덤 억세스 메모리(Synchronous Dynamic Random Access Memory, SDRAM) 등과 같은 메모리 장치는 스마트폰(smart phone), 태블릿(tablet) PC, 울트라 북(ultra book) 등과 같은 다양한 종류의 전자 기기에 주로 사용될 수 있다.
메모리 장치는 LPDDR 스펙, DDRx 등 다양한 스펙에 따라 동작할 수 있으며, 메모리 장치는 소정의 클록 신호를 메모리 컨트롤러로부터 수신하고, 수신된 클록 신호를 이용하여 다중 위상 클록 신호들을 생성할 수 있으며, 상기 생성된 다중 위상 클록 신호들을 이용하여 기록 데이터를 수신하거나 독출 데이터를 메모리 컨트롤러로 전송할 수 있다. 그러나, 다중 위상 클록 신호들에 스큐가 존재하는 경우 데이터 송수신 과정에서 에러 발생 가능성이 있으며, 특히 고속으로 동작하는 메모리 장치에서 에러 발생 가능성은 더욱 높아질 수 있다.
본 개시의 기술적 사상이 해결하려는 과제는, 다중 위상 클록 신호들에 대한 트레이닝 과정에서, 다중 위상 클록 신호들의 스큐를 정확하게 조절할 수 있는 메모리 장치, 메모리 컨트롤러 및 메모리 장치의 동작방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 다수의 메모리 셀들을 포함하는 메모리 셀 어레이와, 메모리 컨트롤러로부터 제공된 클록 신호에 기초하여 N 개의 서로 다른 위상들을 갖는 제1 내지 제N 클록 신호들을 생성하는 다중 위상 클록 생성기와, 트레이닝 과정에서 데이터 패턴을 수신하고, 상기 제1 내지 제N 클록 신호들의 에지에 동기하여 상기 데이터 패턴에 상응하는 로직 상태를 갖는 모니터링 클록 신호를 생성하고, 상기 모니터링 클록 신호는 상기 제1 내지 제N 클록 신호들의 스큐를 반영하는 모니터링 클록 신호 생성기와, 상기 트레이닝 과정에서 설정된 듀티 제어 코드에 기초하여, 상기 메모리 컨트롤러로부터의 상기 클록 신호의 듀티를 조절하는 듀티 조절기와, 상기 트레이닝 과정에서 설정된 스큐 제어 코드에 기초하여, 상기 제1 내지 제N 클록 신호들 중 적어도 하나의 스큐를 조절하는 스큐 조절기 및 상기 제1 내지 제N 클록 신호들 사이의 스큐를 검출하기 위한 상기 트레이닝 과정을 제어하는 제어 로직을 구비하고, 상기 모니터링 클록 신호는, 상기 트레이닝 과정의 제1 단계에서 상기 제1 클록 신호와 상기 제3 클록 신호 사이의 스큐를 검출하기 위한 제1 모니터링 클록 신호와, 상기 트레이닝 과정의 제2 단계에서 상기 제2 클록 신호와 상기 제4 클록 신호 사이의 스큐를 검출하기 위한 제2 모니터링 클록 신호 및 상기 트레이닝 과정의 제3 단계에서 상기 제1 클록 신호와 상기 제2 클록 신호 사이의 스큐를 검출하기 위한 제3 모니터링 클록 신호를 포함하는 것을 특징으로 한다.
한편, 본 개시의 기술적 사상의 일측면에 따른 메모리 컨트롤러는, 메모리 장치에 의해 N 개의 서로 다른 위상들을 갖는 제1 내지 제N 클록 신호들을 생성하는 데 이용되는 클록 신호를 전송하는 클록 신호 전송기와, 트레이닝 과정에서, 상기 메모리 장치로부터 상기 제1 내지 제N 클록 신호들의 에지 타이밍에서 소정의 데이터 패턴에 상응하는 로직 상태를 갖는 모니터링 클록 신호를 수신하고, 상기 모니터링 클록 신호의 듀티를 검출한 결과를 나타내는 적어도 하나의 비트를 포함하는 듀티 코드를 생성하는 듀티 검출기와, 상기 트레이닝 과정에서 생성된 듀티 코드에 기초하여, 상기 메모리 장치에 구비되는 듀티 조절기 및 스큐 조절기를 제어하기 위한 듀티 제어 코드 및 스큐 제어 코드를 생성하는 제어 코드 생성기 및 상기 메모리 장치에 대한 다수의 단계들을 포함하는 상기 트레이닝 과정을 제어하는 프로세서를 구비하고, 상기 모니터링 클록 신호는 상기 제1 내지 제N 클록 신호들의 스큐를 반영하는 파형을 가지며, 상기 스큐 제어 코드는, 상기 제1 내지 제N 클록 신호들 중 제1 값의 위상 차이를 갖는 신호들 사이의 스큐를 조절하기 위해 상기 제1 내지 제N 클록 신호들 중 적어도 하나의 스큐를 조절하기 위한 정보를 포함하며, 상기 듀티 제어 코드는, 상기 제1 내지 제N 클록 신호들 중 제2 값의 위상 차이를 갖는 신호들 사이의 스큐를 조절하기 위해 상기 클록 신호의 듀티를 조절하기 위한 정보를 포함하는 것을 특징으로 한다.
한편, 본 개시의 기술적 사상의 일측면에 따른 메모리 장치의 동작방법은, 메모리 컨트롤러로부터 제공된 클록 신호에 기초하여, 순차적으로 90 도의 위상 차이를 갖는 제1 내지 제4 클록 신호들을 생성하는 단계와, 트레이닝 과정에서, 상기 제1 내지 제4 클록 신호들의 에지 타이밍에서 상기 메모리 장치 내에서 생성된 데이터 패턴에 따라 로직 상태가 천이하는 모니터링 클록 신호를 생성하는 단계 및 상기 트레이닝 과정에서, 상기 모니터링 클록 신호에 대한 듀티 모니터링 결과에 기초하여, 상기 제1 내지 제4 클록 신호들 사이의 스큐를 나타내는 정보를 갖는 듀티 코드를 생성하는 단계를 구비하고, 상기 트레이닝 과정은, 플립되지 않은(No Flip) 데이터 패턴을 이용하여 상기 제1 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작과, 플립된(Flip) 데이터 패턴을 이용하여 상기 제3 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작을 함께 수행하여, 상기 제1 클록 신호와 상기 제3 클록 신호 사이의 스큐를 조절하는 제1 단계와, 상기 플립되지 않은(No Flip) 데이터 패턴을 이용하여 상기 제2 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작과, 상기 플립된(Flip) 데이터 패턴을 이용하여 상기 제4 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작을 함께 수행하여, 상기 제2 클록 신호와 상기 제4 클록 신호 사이의 스큐를 조절하는 제2 단계 및 플립되지 않은(No Flip) 데이터 패턴을 이용하여 상기 메모리 컨트롤러로부터의 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작과, 플립된(Flip) 데이터 패턴을 이용하여 상기 메모리 컨트롤러로부터의 클록 신호의 반전된 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작을 함께 수행하여, 상기 제1 클록 신호와 상기 제2 클록 신호 사이의 스큐, 및 상기 제3 클록 신호와 상기 제4 클록 신호 사이의 스큐를 조절하는 제3 단계를 구비하는 것을 특징으로 한다.
본 개시의 기술적 사상에 따른 메모리 장치, 메모리 컨트롤러 및 메모리 장치의 동작방법에 따르면, 다중 위상 클록 신호들의 전체적인 스큐를 정확히 조절 또는 감소할 수 있는 효과가 있다.
또한, 본 개시의 기술적 사상에 따른 메모리 장치, 메모리 컨트롤러 및 메모리 장치의 동작방법에 따르면, 트레이닝 과정의 각 단계에서 플립되지 않은(No Flip) 데이터 패턴과 플립된(Flip) 데이터 패턴을 이용한 듀티 모니터링 동작을 수행함으로써, 메모리 시스템 내의 회로 블록의 오프셋에 기인하여 다중 위상 클록 신호들에 발생되는 스큐를 조절하거나 제거할 수 있는 효과가 있다.
또한, 본 개시의 기술적 사상에 따른 메모리 장치, 메모리 컨트롤러 및 메모리 장치의 동작방법에 따르면, 메모리 컨트롤러 측에서 듀티 모니터링 및 제어 코드의 생성이 수행되므로, 트레이닝 과정에서 메모리 장치 자체적으로 수행하는 회로 동작의 부담을 감소할 수 있는 효과가 있다.
도 1은 본 발명의 예시적인 실시예에 따른 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 2는 4-위상 클록 신호들의 생성 예를 나타내는 파형도이다.
도 3a,b는 본 개시의 예시적인 실시예에 따른 데이터 패턴의 생성 예를 나타내는 도면이다.
도 4는 본 개시의 예시적인 실시예에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
도 5는 본 개시의 예시적인 실시예에 따른 메모리 시스템의 구현 예를 나타내는 블록도이다.
도 6은 듀티 모니터의 일 구현 예를 나타내는 블록도이다.
도 7a,b,c,d,e 내지 도 12a,b는 트레이닝 과정에서의 제1 내지 제4 클록 신호들의 파형 및 모니터링 결과를 나타내는 도면이다.
도 13은 본 개시의 예시적인 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 14는 본 개시의 예시적인 실시예에 따른 모드 레지스터 세트의 설정 동작 예를 나타내는 블록도이다.
도 15 및 도 16은 메모리 컨트롤러 및 메모리 장치 사이에서 송수신되는 신호의 예를 나타내는 도면이다.
도 17a,b 및 도 18은 본 개시의 다른 실시예에 따른 트레이닝 동작의 개념을 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 발명의 예시적인 실시예에 따른 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 메모리 컨트롤러(100)와 메모리 장치(200)를 포함할 수 있다. 메모리 시스템(10)은 개인용 컴퓨터(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)으로 구현될 수 있다.
메모리 컨트롤러(100)는 집적 회로(IC), 시스템 온 칩(System on Chip, SoC), 어플리케이션 프로세서(Application Processor, AP), 모바일 AP, 칩셋(chipset), 또는 칩들의 집합으로 구현되거나 또는 이들에 포함될 수 있다. 메모리 컨트롤러(100)는 메모리 컨트롤 기능을 수행하는 반도체 장치일 수 있으며, 일 예로서, 메모리 컨트롤러(100)가 어플리케이션 프로세서(AP)에 상응하는 경우, 메모리 컨트롤러(100)는 메모리 컨트롤 로직(미도시), 램(RAM), 중앙 처리 유닛(Central Processing Unit, CPU), 그래픽 처리 유닛(Graphics Processing Unit, GPU), 및/또는 모뎀(modem) 등을 포함할 수 있다.
메모리 컨트롤러(100)는 호스트(HOST)로부터의 기록/독출 요청에 응답하여 메모리 장치(200)에 저장된 데이터(DQ)를 독출하거나, 또는 메모리 장치(200)에 데이터(DQ)를 기록하도록 메모리 장치(200)를 제어할 수 있다. 구체적으로, 메모리 컨트롤러(100)는 메모리 장치(200)에 어드레스 및 커맨드를 제공함으로써, 메모리 장치(200)에 대한 데이터(DQ)의 기록 및 독출 동작을 제어할 수 있다. 또한, 기록 데이터(DQ)와 독출 데이터(DQ)가 메모리 컨트롤러(100)와 메모리 장치(200) 사이에서 송수신될 수 있다.
메모리 컨트롤러(100)는 호스트로부터의 요청에 응답하여 메모리 장치(200)를 억세스할 수 있으며, 다양한 프로토콜을 사용하여 호스트와 통신할 수 있다. 예컨대 메모리 컨트롤러(100)는 PCI-E(Peripheral Component Interconnect - Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA) 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜을 사용하여 호스트와 통신할 수 있다. 이외에도, USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface) 또는 IDE(Integrated Drive Electronics) 등과 같은 다른 다양한 인터페이스 프로토콜들이 호스트와 메모리 컨트롤러(100) 사이의 프로토콜에 적용될 수 있다.
메모리 장치(200)는 휘발성 메모리 장치로 구현될 수 있다. 휘발성 메모리 장치는 RAM(Random Access Memory), DRAM(Dynamic RAM), 또는 SRAM(Static RAM)으로 구현될 수 있으나, 이에 한정되는 것은 아니다. 예시적으로, 메모리 장치(200)는 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) 등에 해당할 수 있다. 또는, 메모리 장치(200)는 고대역폭 메모리(high bandwidth memory, HBM)를 포함할 수도 있다.
한편, 메모리 장치(200)는 불휘발성 메모리 장치로 구현될 수도 있을 것이다. 일 예로서, 메모리 장치(200)는 MRAM(Magnetic RAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM) 및 ReRAM(Resistive RAM) 등의 저항성 메모리로 구현될 수도 있을 것이다.
도 1을 참조하면, 메모리 컨트롤러(100)는 프로세서(110) 및 트레이닝(training) 회로(120)를 포함할 수 있다. 프로세서(110)는 메모리 동작과 관련하여 전반적인 제어를 수행할 수 있으며, 트레이닝 회로(120)는 프로세서(110)의 제어에 기초하여 메모리 장치(200)에 대한 각종 트레이닝 동작을 제어할 수 있다. 예컨대, 메모리 시스템(10)의 초기 구동 시 트레이닝 회로(120)는 메모리 장치(200)에 대한 트레이닝 동작을 제어할 수 있고, 트레이닝 동작은 독출 데이터 스트로브 신호(RDQS)와 독출 데이터의 트레이닝(또는, 독출 DQS 와 독출 데이터 사이의 스큐(skew) 트레이닝), 독출 데이터의 판별을 위한 독출 기준전압의 트레이닝, 클록 신호(CLK)의 듀티 사이클의 트레이닝, 기록 데이터 스트로브 신호(WDQS)와 기록 데이터의 트레이닝(또는, 기록 DQS 와 기록 데이터 사이의 스큐 트레이닝), 기록 데이터의 판별을 위한 기록 기준전압의 트레이닝 등을 포함할 수 있다.
한편, 메모리 장치(200)는 메모리 셀 어레이(210), 다중 위상 클록 생성기(220), 듀티 조절기(231), 스큐 조절기(232), 듀티 모니터(240) 및 제어 로직(250)을 포함할 수 있다. 메모리 장치(200)가 DRAM 을 포함하는 경우, 메모리 셀 어레이(210)는 다수의 DRAM 셀들을 포함할 수 있다.
다중 위상 클록 생성기(220)는 메모리 컨트롤러(100)로부터 제공되는 클록 신호(CLK)를 이용하여 서로 다른 위상을 갖는 다수의 클록 신호들(예컨대, 다중 위상 클록 신호들)을 생성하고, 다중 위상 클록 신호들을 메모리 시스템(10)의 동작에 동기화할 수 있다. 일 예로서, 메모리 장치(200)는 클록 신호(CLK) 보다 낮은 주파수를 갖는 다중 위상 클록 신호들을 이용하여 데이터를 수신하거나 또는 데이터를 전송할 수 있으며, 이에 따라 클록 신호(CLK)에 비해 상대적으로 낮은 주파수를 갖는 클록을 기초로 데이터를 송수신함에 따라, 안정적인 데이터 송수신을 수행할 수 있다.
일 예로서, 다중 위상 클록 생성기(220)가 4-위상 클록 신호들을 생성하는 경우, 4-위상 클록 신호들은 클록 신호(CLK)에 비해 0도, 90도, 180도, 270도 위상 차이를 갖는 제1 내지 제4 클록 신호들을 포함할 수 있다. 그러나, 본 개시의 실시예들은 이에 국한될 필요는 없으며, 클록 신호(CLK)의 위상과 무관하게 제1 내지 제4 클록 신호들은 순차적으로 90 도의 위상 차이를 갖는 신호인 것으로 정의될 수도 있을 것이다. 예시적인 실시예에서, 4-위상 클록 신호들은 클록 신호(CLK)에 비해 주파수가 1/2의 값을 가질 수 있으며, 클록 신호(CLK)의 두 개의 클록들의 라이징 에지 및 폴링 에지에 동기하여 생성될 수 있다. 다중 위상 클록 생성기(220)는 클록 신호(CLK)에 기초하여 4-위상 클록 신호들을 생성하는 클록 트리(clock tree)를 포함할 수 있다.
한편, 메모리 컨트롤러(100)와 메모리 장치(200) 사이의 통신 경로 상의 특성이나, 메모리 장치(200) 내에서의 클록 전송 경로, 내부 산포, 메모리 장치(200)에 구비되는 각종 회로 블록들의 오프셋 등에 기인하여, 다중 위상 클록 신호들의 위상이 정확한 값을 갖지 않을 수 있고, 이는 다중 위상 클록 신호들에 스큐가 존재하는 것으로 설명될 수 있다. 예컨대, 제1 내지 제4 클록 신호들의 위상 차이가 순차적으로 90 도에 상응하여야 하나, 상기 스큐에 의해 위상 차이에 오차가 발생될 수 있다.
본 개시의 예시적인 실시예에 따라, 메모리 시스템(10)의 초기 구동시, 또는 트레이닝 과정에서 다중 위상 클록 신호들의 스큐를 검출하고, 스큐를 조절 또는 제거하는 동작이 수행될 수 있다. 이하의 실시예들에서는, 다중 위상 클록 신호들의 스큐를 검출 및 조절하기 위한 모니터링 동작이 트레이닝 과정에서 수행되는 것으로 설명될 것이나, 본 개시의 실시예들은 이에 국한될 필요가 없이 메모리 시스템(10)의 초기 구동 시나 런 타임 도중 메모리 장치(200)의 동작 환경을 설정하기 위한 다양한 구간에서 수행될 수도 있을 것이다.
본 개시의 예시적인 구현예에 따라, 메모리 장치(200)는 듀티 조절기(231) 및 스큐 조절기(232)를 이용한 듀티 조절 동작 및/또는 스큐 조절 동작에 기초하여 다중 위상 클록 신호들의 스큐를 조절할 수 있다. 듀티 조절 동작은 어느 하나의 클록의 듀티 비를 50 : 50 으로 설정하기 위한 동작을 수행할 수 있고, 이에 따라 어느 하나의 클록에서 로직 하이 구간과 로직 로우 구간을 동일하게 설정할 수 있다. 한편, 스큐 조절 동작은 어느 하나의 클록에서 라이징 에지 및/또는 폴링 에지의 타이밍을 딜레이하거나 앞당기기 위한 동작을 수행할 수 있고, 또한 클록의 듀티 비를 조절하기 위한 동작을 수행할 수 있다. 듀티 모니터링(DM) 및 듀티 조절(DA)은 듀티 사이클 모니터링(DCM) 및 듀티 사이클 조절(DCA)로 지칭될 수도 있을 것이다.
다중 위상 클록 신호들의 스큐를 정확히 조절하기 위하여, 본 개시의 예시적인 실시예에서는 트레이닝 과정에서 다수의 단계들이 수행될 수 있으며, 다수의 단계들을 통하여 적어도 두 개의 위상 차이에 대한 스큐가 검출될 수 있다. 예컨대, 메모리 장치(200)는 제어 로직(250) 내의 패턴 생성기(251)에서 생성되는 데이터 패턴을 이용하여, 다중 위상 클록 신호들에 존재하는 스큐를 반영하는 클록 신호(이하, 모니터링 클록 신호로 지칭함)를 생성할 수 있다. 일 예로서, 메모리 장치(200)는 다중 위상 클록 신호들 각각의 라이징 에지 또는 폴링 에지의 타이밍에서 상기 데이터 패턴에 상응하는 로직 상태를 갖는 모니터링 클록 신호를 생성할 수 있다. 이에 따라, 다중 위상 클록 신호들에 스큐가 존재함에 따라 그 위상에 오차가 있는 경우에는, 모니터링 클록 신호에서 로직 상태의 변동 타이밍이 상기 스큐에 의한 영향을 받을 수 있고, 이에 따라 다중 위상 클록 신호들의 스큐에 의해 모니터링 클록 신호의 듀티 비가 변동될 수 있다.
예시적인 실시예에서, 데이터 패턴은 트레이닝 과정의 다수의 단계들에 따라 그 값이 변동될 수 있다. 일 예로서, 데이터 패턴에 기초하여 생성되는 모니터링 클록 신호는 각각의 단계마다 서로 다른 파형을 가질 수 있으며, 이에 따라 각각의 단계에서의 모니터링 클록 신호는 상기한 다중 위상 클록 신호들 중 서로 다른 클록 신호들 사이의 스큐를 반영할 수 있다.
듀티 모니터(240)는 모니터링 클록 신호들 각각의 듀티를 모니터링하고, 모니터링 결과를 생성할 수 있다. 일 예로서, 모니터링 클록 신호의 듀티 비가 50 : 50을 만족하지 않는 경우, 다중 위상 클록 신호들에 스큐가 존재하는 것으로 검출될 수 있으며, 듀티 모니터(240)는 하나 이상의 비트들을 포함하는 듀티 코드(Duty code)를 모니터링 결과로서 생성할 수 있다.
한편, 트레이닝 과정에서의 모니터링 결과에 기초하여 생성된 제어 코드(ctrl code)가 메모리 장치(200) 내에 설정될 수 있으며, 제어 코드(ctrl code)는 듀티 제어 코드와 스큐 제어 코드를 포함할 수 있다. 듀티 코드에 기초하는 듀티 제어 코드에 의해 듀티 조절기(231)가 제어될 수 있으며, 듀티 코드에 기초하는 스큐 제어 코드에 의해 스큐 조절기(232)가 제어될 수 있다. 예시적인 실시예에서, 메모리 컨트롤러(100)는 듀티 코드를 메모리 장치(200)로부터 수신하고, 이에 기초하는 듀티 제어 코드 및 스큐 제어 코드를 메모리 장치(200)로 제공할 수 있다. 메모리 시스템(10)의 노멀 동작에서, 듀티 및/또는 스큐가 조절된 클록 신호(CLK) 및 다중 위상 클록 신호들이 메모리 시스템(10)의 동작에 동기될 수 있고, 본 개시의 예시적인 실시예들에 따라 다중 위상 클록 신호들의 스큐가 정확하게 조절 또는 제거될 수 있으므로, 다중 위상 클록 신호들을 이용한 데이터 송수신 동작 특성이 향상될 수 있다.
상기한 본 개시의 예시적인 실시예에 따른 메모리 시스템(10)의 구체적인 동작 예를 설명하면 다음과 같다. 이하에서는, 다중 위상 클록 신호들이 순차적으로 90 도의 위상 차이를 갖는 제1 내지 제4 클록 신호들을 포함하는 것으로 가정된다.
제1 클록 신호와 제3 클록 신호는 서로 180 도의 위상 차이를 가질 수 있으며, 제2 클록 신호와 제4 클록 신호는 서로 180 도의 위상 차이를 가질 수 있다. 또한, 제1 클록 신호와 제2 클록 신호는 서로 90 도의 위상 차이를 가질 수 있으며, 제3 클록 신호와 제4 클록 신호는 서로 90 도의 위상 차이를 가질 수 있다.
트레이닝 과정의 제1 단계에서, 제1 클록 신호와 제3 클록 신호 사이의 180 도의 위상 차이에 스큐가 존재하는 지를 검출하기 위해, 제1 값을 갖는 데이터 패턴을 이용하여 제1 클록 신호와 제3 클록 신호 사이의 스큐를 반영하는 제1 모니터링 클록 신호가 생성될 있다. 제1 모니터링 클록 신호는 제1 클록 신호의 에지 및 제3 클록 신호의 에지에서 로직 상태가 천이하는 파형을 가질 수 있고, 이에 따라, 상기 제1 클록 신호 또는 상기 제3 클록 신호 중 어느 하나에 상응하는 파형을 가질 수 있다. 듀티 모니터(240)는, 제1 모니터링 클록 신호의 듀티를 모니터링함에 의해 제1 클록 신호와 제3 클록 신호 사이의 스큐를 검출할 수 있다.
또한, 제2 단계에서, 제2 클록 신호와 제4 클록 신호 사이의 180 도의 위상 차이에 스큐가 존재하는 지를 검출하기 위해, 제2 값을 갖는 데이터 패턴을 이용하여 제2 클록 신호와 제4 클록 신호 사이의 스큐를 반영하는 제2 모니터링 클록 신호가 생성될 있다. 듀티 모니터(240)는, 제2 모니터링 클록 신호의 듀티를 모니터링함에 의해 제2 클록 신호와 제4 클록 신호 사이의 스큐를 검출할 수 있다. 또한, 제3 단계에서, 제3 값을 갖는 데이터 패턴을 이용하여 제1 클록 신호와 제2 클록 신호 사이의 스큐와, 제3 클록 신호와 제4 클록 신호 사이의 스큐를 함께 반영하는 제3 모니터링 클록 신호가 생성될 있다. 이에 따라, 제3 단계에서, 제1 클록 신호와 제2 클록 신호 사이의 90 도의 위상 차이의 스큐와, 제3 클록 신호와 제4 클록 신호 사이의 90 도의 위상 차이의 스큐가 함께 검출될 수 있다.
상기와 같은 제1 내지 제3 단계들에서의 모니터링 결과에 따라, 제1 클록 신호 내지 제4 클록 신호들에 존재하는 스큐가 모두 검출될 수 있고, 듀티 조절기(231) 및 스큐 조절기(232)에 의하여 제1 클록 신호 내지 제4 클록 신호들의 스큐가 조절될 수 있다. 예시적인 실시예에서, 듀티 조절기(231)는 메모리 컨트롤러(100)로부터의 클록 신호(CLK)에 대한 듀티를 조절함으로써 제1 클록 신호와 제2 클록 신호 사이의 스큐를 조절함과 함께, 제3 클록 신호와 제4 클록 신호 사이의 스큐를 조절할 수 있다. 또한, 스큐 조절기(232)는 모니터링 결과에 기초하여 제1 클록 신호 내지 제4 클록 신호들 중 적어도 하나의 스큐를 조절할 수 있다.
한편, 본 개시의 예시적인 실시예에 따르면, 메모리 장치(200)는 메모리 컨트롤러(100)로부터의 다양한 신호를 이용하여 다중 위상 클록 신호들을 생성할 수 있다. 예시적인 실시예에서, 메모리 장치(200)는 LPDDR5, LPDDR6 등의 LPDDRx 스펙이나 그래픽 DDR(GDDR) 스펙에서 정의된 기록 클록(WCK)을 이용하여 상기한 다중 위상 클록 신호들을 생성할 수 있으며, 전술한 실시예에서의 다수의 단계들을 통한 듀티 모니터링 동작에 기초하여 다중 위상 클록 신호들의 스큐를 조절 또는 제거할 수 있다.
한편, 상기한 실시예에서, 다수의 단계들의 순서는 다양하게 설정될 수 있다. 예시적인 실시예에서, 제1 단계와 제2 단계는 서로 그 순서가 변경될 수도 있을 것이다. 바람직하게는, 제1 단계 및 제2 단계가 먼저 수행된 후, 그 이후에 제3 단계가 수행될 수 있을 것이다.
도 2는 4-위상 클록 신호들의 생성 예를 나타내는 파형도이다. 도 2에서는 메모리 장치가 메모리 컨트롤러로부터 기록 클록(WCK)을 수신하고, 기록 클록(WCK)에 기초하여 4-위상 클록 신호들이 생성되는 경우가 예시된다.
4-위상 클록 신호들은 제1 내지 제4 클록 신호들(I, Q, IB, QB)을 포함할 수 있으며, 제1 내지 제4 클록 신호들(I, Q, IB, QB)은 기록 클록(WCK)의 두 개의 클록의 라이징 에지 및 폴링 에지에 동기하여 생성될 수 있다. 예컨대, 제1 클록 신호(I)는 기록 클록(WCK)의 첫 번째 클록의 라이징 에지에 동기하여 생성되고, 제2 클록 신호(Q)는 기록 클록(WCK)의 첫 번째 클록의 폴링 에지에 동기하여 생성되며, 제3 클록 신호(IB)는 기록 클록(WCK)의 두 번째 클록의 라이징 에지에 동기하여 생성되고, 제4 클록 신호(QB)는 기록 클록(WCK)의 두 번째 클록의 폴링 에지에 동기하여 생성될 수 있다.
전술한 바와 같이, 메모리 시스템 내의 다양한 요인들에 기인하여 제1 내지 제4 클록 신호들(I, Q, IB, QB)에 스큐가 존재할 수 있는데, 기록 클록(WCK)의 듀티를 모니터링 하는 경우에는, 제1 클록 신호(I)와 제2 클록 신호(Q) 사이의 90 도 위상 차이에 대한 스큐와 제3 클록 신호(IB)와 제4 클록 신호(QB) 사이의 90 도 위상 차이에 대한 스큐가 검출될 수 있다. 그러나, 제1 클록 신호(I)와 제3 클록 신호(IB) 사이의 180 도 위상 차이에 대한 스큐와 제2 클록 신호(Q)과 제4 클록 신호(QB) 사이의 180 도 위상 차이에 대한 스큐는 기록 클록(WCK)의 듀티 모니터링에 의해 검출될 수 없다.
그러나, 본 개시의 예시적인 실시예에 따르면, 트레이닝 과정에서 다수의 단계들이 수행되고, 제1 클록 신호(I)와 제3 클록 신호(IB) 사이의 스큐를 반영하는 모니터링 클록 신호와, 제2 클록 신호(Q)와 제4 클록 신호(QB) 사이의 스큐를 반영하는 모니터링 클록 신호를 통해 트레이닝이 수행될 수 있으므로, 제1 내지 제4 클록 신호들(I, Q, IB, QB)이 순차적으로 90 도의 위상 차이를 갖도록 스큐가 정확히 조절될 수 있다.
도 3a,b는 본 개시의 예시적인 실시예에 따른 데이터 패턴의 생성 예를 나타내는 도면이다. 도 3a,b에서는 트레이닝 과정의 각 단계에서, 데이터 패턴의 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 이용하여 모니터링 클록 신호가 생성되는 경우가 예시된다. 즉, 각 단계에서, 데이터 패턴의 플립되지 않은 값(No Flip)을 이용한 모니터링 동작과 데이터 패턴의 플립된 값(Flip)을 이용한 모니터링 동작이 함께 수행될 수 있다.
도 1 내지 도 3a,b를 참조하면, 메모리 장치(200)는 모니터링 클록 신호를 생성하는 모니터링 클록 신호 생성기(260)를 더 포함할 수 있으며, 모니터링 클록 신호는 제1 내지 제4 클록 신호들(I, Q, IB, QB) 중 적어도 하나의 신호를 복원한 파형을 갖거나, 또는 기록 클록(WCK)을 복원한 파형을 가질 수 있으므로, 모니터링 클록 신호 생성기(260)는 클록 복원기로 지칭될 수도 있을 것이다. 모니터링 클록 신호 생성기(260)는 제1 내지 제4 클록 신호들(I, Q, IB, QB)와 4 비트의 데이터 패턴(D0, D90, D180, D270)을 수신할 수 있고, 일 예로서 제1 클록 신호(I)의 에지(예컨대, 라이징 에지) 타이밍에서 D0 값의 로직 상태를 가지며, 제2 클록 신호(Q)의 에지 타이밍에서 D90 값의 로직 상태를 가지며, 제3 클록 신호(IB)의 에지 타이밍에서 D180 값의 로직 상태를 가지며, 제4 클록 신호(QB)의 에지 타이밍에서 D270 값의 로직 상태를 갖는 모니터링 클록 신호를 생성할 수 있다.
예시적인 실시예에서, 제1 단계(STEP 1)에서 데이터 패턴의 플립되지 않은 값(No Flip)은 "1100"을 가질 수 있으며, 플립된 값(Flip)은 "0011"을 가질 수 있다. 플립되지 않은 값(No Flip) "1100"을 이용하여 생성된 모니터링 신호는 제1 클록 신호(I)를 복원한 복원 제1 클록 신호(RI)에 상응할 수 있고, 플립된 값(Flip) "0011"을 이용하여 생성된 모니터링 신호는 제3 클록 신호(IB)를 복원한 복원 제3 클록 신호(RIB)에 상응할 수 있다.
이와 유사하게, 제2 단계(STEP 2)에서 데이터 패턴의 플립되지 않은 값(No Flip)은 "0110"을 가질 수 있으며, 플립된 값(Flip)은 "1001"을 가질 수 있다. 플립되지 않은 값(No Flip) "0110"을 이용하여 생성된 모니터링 신호는 제2 클록 신호(Q)를 복원한 복원 제2 클록 신호(RQ)에 상응할 수 있고, 플립된 값(Flip) "1001"을 이용하여 생성된 모니터링 신호는 제4 클록 신호(QB)를 복원한 복원 제4 클록 신호(RQB)에 상응할 수 있다.
또한, 제3 단계(STEP 3)에서 데이터 패턴의 플립되지 않은 값(No Flip)은 "1010"을 가질 수 있으며, 플립된 값(Flip)은 "0101"을 가질 수 있다. 플립되지 않은 값(No Flip) "1010"을 이용하여 생성된 모니터링 신호는 기록 클록(WCK)를 복원한 복원 기록 클록(RWCK)에 상응할 수 있고, 플립된 값(Flip) "0101"을 이용하여 생성된 모니터링 신호는 복원 기록 클록(RWCK)의 반전 상태를 가지는 반전 복원 기록 클록(RWCKB)에 상응할 수 있다.
상기와 같이 생성되는 모니터링 클록 신호들은, 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 에지에 응답하여 그 로직 상태가 결정됨에 따라, 제1 내지 제4 클록 신호들(I, Q, IB, QB)에 존재하는 스큐를 반영할 수 있다. 예컨대, 모니터링 클록 신호들의 로직 상태가 천이되는 타이밍은 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 에지에 상응할 수 있으므로, 제1 내지 제4 클록 신호들(I, Q, IB, QB)에 스큐가 존재하는 경우에는 모니터링 클록 신호들 각각의 듀티 비가 50 : 50 의 값을 갖지 않을 수 있다.
도 4는 본 개시의 예시적인 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다. 도 4에서의 실시예에서, 순차적으로 90 도의 위상 차이를 갖는 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 스큐를 조절하는 경우가 예시된다.
도 4를 참조하면, 메모리 시스템의 초기 구동 등 다양한 경우에서 메모리 장치는 트레이닝 모드로 진입할 수 있으며, 일 예로서 메모리 장치는 메모리 컨트롤러로부터의 제어에 따라 트레이닝 모드로 진입할 수 있다(S11). 트레이닝 과정은 다수의 단계들을 포함할 수 있고, 메모리 컨트롤러는 트레이닝 과정에서 다양한 제어 신호들을 메모리 장치로 전송할 수 있다.
일 예로서, 메모리 컨트롤러는 제1 단계 시작 신호를 메모리 장치로 전송할 수 있다(S12). 메모리 장치는 제1 단계 시작 신호를 판독하여 트레이닝 과정의 제1 단계로 진입할 수 있고, 제1 단계에서 플립되지 않은 값(No Flip)에 상응하는 데이터 패턴으로서 "1100"을 생성하고, 이를 이용하여 모니터링 클록 신호를 생성할 수 있다. 또한, 모니터링 결과가 메모리 장치 내에 저장될 수 있고, 메모리 장치는 메모리 컨트롤러의 제어에 따라 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 스큐를 조절하는 코드 값을 변경해가면서 모니터링 동작 및 모니터링 결과의 생성을 반복 수행할 수 있다.
또한, 메모리 컨트롤러는 플립 신호를 메모리 장치로 전송할 수 있으며(S13), 메모리 장치는 플립된 값(Flip)에 상응하는 데이터 패턴으로서 "0011"을 생성하고, 이를 이용하여 모니터링 클록 신호를 생성할 수 있다. 또한, 메모리 장치는 스큐를 조절하는 코드 값을 변경해가면서 모니터링 동작 및 모니터링 결과의 생성을 반복 수행할 수 있다. 또한, 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 이용하여 생성된 모니터링 결과를 기초로, 제1 클록 신호(I)와 제3 클록 신호(IB) 사이의 스큐를 조절 또는 제거하기 위한 제1 스큐 제어 코드가 메모리 장치에 설정될 수 있다.
메모리 컨트롤러는 제1 단계 종료 신호를 메모리 장치로 전송할 수 있으며(S14), 이후 제2 단계 시작 신호를 메모리 장치로 전송할 수 있다(S15). 메모리 장치는 제2 단계에서 플립되지 않은 값(No Flip)에 상응하는 데이터 패턴으로서 "0110"을 생성하고, 이를 이용하여 모니터링 클록 신호를 생성할 수 있다. 또한, 메모리 장치는 스큐를 조절하는 코드 값을 변경해가면서 모니터링 동작 및 모니터링 결과의 생성을 반복 수행할 수 있다.
또한, 메모리 컨트롤러는 플립 신호를 메모리 장치로 전송할 수 있으며(S16), 메모리 장치는 플립된 값(Flip)에 상응하는 데이터 패턴으로서 "1001"을 생성하고, 이를 이용하여 모니터링 클록 신호를 생성할 수 있다. 또한, 메모리 장치는 스큐를 조절하는 코드 값을 변경해가면서 모니터링 동작 및 모니터링 결과의 생성을 반복 수행할 수 있다. 또한, 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 이용하여 생성된 모니터링 결과를 기초로, 제2 클록 신호(Q)와 제4 클록 신호(QB) 사이의 스큐를 조절 또는 제거하기 위한 제2 스큐 제어 코드가 메모리 장치에 설정될 수 있다.
메모리 컨트롤러는 제2 단계 종료 신호를 메모리 장치로 전송할 수 있으며(S17), 이후 제3 단계 시작 신호를 메모리 장치로 전송할 수 있다(S18). 메모리 장치는 제3 단계에서의 플립되지 않은 값(No Flip)에 상응하는 데이터 패턴으로서 "1010"을 생성하고, 이를 이용하여 모니터링 클록 신호를 생성할 수 있다. 또한, 메모리 장치는 기록 클록(WCK)의 듀티를 조절하는 코드 값을 변경해가면서 모니터링 동작 및 모니터링 결과의 생성을 반복 수행할 수 있다.
또한, 메모리 컨트롤러는 플립 신호를 메모리 장치로 전송할 수 있으며(S19), 메모리 장치는 플립된 값(Flip)에 상응하는 데이터 패턴으로서 "0101"을 생성하고, 이를 이용하여 모니터링 클록 신호를 생성할 수 있다. 또한, 메모리 장치는 기록 클록(WCK)의 듀티를 조절하는 코드 값을 변경해가면서 모니터링 동작 및 모니터링 결과의 생성을 반복 수행할 수 있다. 또한, 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 이용하여 생성된 모니터링 결과를 기초로, 제1 클록 신호(I)와 제2 클록 신호(Q) 사이의 스큐, 및 제2 클록 신호(Q)와 제4 클록 신호(QB) 사이의 스큐를 조절 또는 제거하기 위한 듀티 제어 코드가 메모리 장치에 설정될 수 있다. 이후, 메모리 컨트롤러는 제3 단계 종료 신호를 메모리 장치로 전송할 수 있다(S20).
상기한 실시예에서는, 각 단계에서 플립되지 않은 값(No Flip)을 이용한 듀티 모니터링 동작이 먼저 수행되는 것으로 설명되었으나, 본 개시의 실시예들은 이에 국한될 필요가 없다. 일 예로서, 각 단계에서, 플립되지 않은 값(No Flip)을 이용한 듀티 모니터링 동작과 플립된 값(Flip)을 이용한 듀티 모니터링 동작의 순서는 임의로 설정될 수 있을 것이다.
도 5는 본 개시의 예시적인 실시예에 따른 메모리 시스템의 구현 예를 나타내는 블록도이다.
도 5를 참조하면, 메모리 시스템(20)은 메모리 컨트롤러(301) 및 메모리 장치(300)를 포함할 수 있으며, 메모리 장치(300)는 데이터 전송기(311), 제1 데이터/클록 멀티플렉서(312), 기록 클록 수신기(321), 듀티 조절기(322), 분주기(323), 스큐 조절기(324), 드라이버(325), 모드 레지스터 세트(330), 제2 데이터/클록 멀티플렉서(340) 및 듀티 모니터(350)를 포함할 수 있다. 도 5에 도시된 구성요소들 중 일부는 전술한 실시예에서의 다중 위상 클록 생성기를 구성하거나, 패턴 생성기 또는 클록 복원기를 구성할 수 있을 것이다.
메모리 컨트롤러(301)는 데이터 수신기(302) 및 기록 클록(WCK) 송신기(303)를 포함할 수 있고, 데이터 전송기(311)는 데이터 채널을 통해 데이터(DQ)를 메모리 컨트롤러(301)로 제공할 수 있다. 또한, 기록 클록 수신기(321)는 기록 클록(WCK)을 수신할 수 있고, 일 예로서 기록 클록(WCK)은 차동 신호(WCK_T, WCK_C)를 포함할 수 있다.
본 개시의 예시적인 실시예에 따라, 듀티 조절기(322)는 기록 클록(WCK)의 듀티(또는, 듀티 사이클)를 조절할 수 있다. 예컨대, 트레이닝 과정에서 다수의 단계들에서의 모니터링 결과는 듀티 코드(Duty code)로서 모드 레지스터 세트(330)에 저장될 수 있고, 모니터링 결과에 기초하는 듀티 제어 코드가 모드 레지스터 세트(330)에 설정될 수 있다. 예시적인 실시예에서, 메모리 컨트롤러(301)는 모드 레지스터 세트(330)에 저장된 듀티 코드를 수신할 수 있고, 듀티 코드에 기초하여 듀티 제어 코드(Duty Control code)를 메모리 장치(300)로 제공함에 따라, 듀티 제어 코드가 모드 레지스터 세트(330)에 저장될 수 있다. 듀티 조절기(322)는 듀티 제어 코드에 따라 기록 클록(WCK)의 듀티를 조절할 수 있다.
분주기(323)는 전술한 실시예에서의 다중 위상 클록 신호 생성기에 상응하거나 이에 포함되는 구성일 수 있으며, 기록 클록(WCK)을 이용하여 다중 위상 클록 신호들을 생성할 수 있다. 예컨대, 분주기(323)는 기록 클록(WCK)을 이용하여 순차적으로 90 도의 위상 차이를 갖는 제1 내지 제4 클록 신호들(I, Q, IB, QB)을 생성할 수 있다.
스큐 조절기(324)는 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 스큐를 조절할 수 있다. 예시적인 실시예에서, 스큐 조절기(324)는 트레이닝 과정에서 다수의 단계들에서의 모니터링 결과에 기초하여 설정된 스큐 제어 코드에 기초하여 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 스큐를 조절할 수 있다. 스큐 조절기(324)는 적어도 하나의 스큐 조절 회로들을 포함할 수 있고, 일 예로서 스큐 조절기(324)는 제1 및 제3 클록 신호들(I, IB) 중 적어도 하나의 스큐를 조절하는 제1 스큐 조절 회로와, 제2 및 제4 클록 신호들(Q, QB) 중 적어도 하나의 스큐를 조절하는 제2 스큐 조절 회로를 포함할 수 있다. 상기한 기록 클록(WCK)의 듀티 조절과 유사하게, 모니터링 결과에 따른 듀티 코드가 메모리 컨트롤러(301)로 제공될 수 있고, 메모리 컨트롤러(301)는 제1 및 제2 스큐 조절 회로들을 제어하기 위한 제1 및 제2 스큐 제어 코드(Skew Control code1, 2)를 메모리 장치(300)로 제공할 수 있다.
드라이버(325)는 스큐가 조절된 제1 내지 제4 클록 신호들(I, Q, IB, QB)을 드라이빙하여 출력할 수 있으며, 일 예로서 각종 클록 신호들을 전송하는 배선들로 제1 내지 제4 클록 신호들(I, Q, IB, QB)을 출력할 수 있다. 제1 데이터/클록 멀티플렉서(312)는 제1 내지 제4 클록 신호들(I, Q, IB, QB)와 함께 독출 데이터(DQ_R)를 수신할 수 있으며, 제1 내지 제4 클록 신호들(I, Q, IB, QB)에 동기하여 독출 데이터(DQ_R)를 데이터 전송기(311)로 제공할 수 있다.
한편, 본 개시의 예시적인 실시예에 따라, 제2 데이터/클록 멀티플렉서(340)는 트레이닝 과정에서 제1 내지 제4 클록 신호들(I, Q, IB, QB) 및 데이터 패턴(D0, D90, D180, D270)을 수신하고, 전술한 실시예에 따른 모니터링 클록 신호를 생성할 수 있다. 제2 데이터/클록 멀티플렉서(340)는 전술한 실시예에서의 모니터링 클록 신호 생성기에 상응하거나, 이에 포함되는 구성일 수 있다. 예시적인 실시예에서, 제2 데이터/클록 멀티플렉서(340)는 트레이닝 과정에 포함되는 다수의 단계들에서 서로 다른 값을 갖는 데이터 패턴(D0, D90, D180, D270)을 수신할 수 있고, 데이터 패턴(D0, D90, D180, D270)의 값에 따라 서로 다른 파형을 갖는 모니터링 클록 신호를 출력할 수 있다.
듀티 모니터(350)는 제2 데이터/클록 멀티플렉서(340)로부터의 모니터링 클록 신호의 듀티를 모니터링하고, 모니터링 결과에 따른 듀티 코드를 출력할 수 있다. 한편, 모드 레지스터 세트(330)는 트레이닝 과정에서 이용되는 각종 정보들을 저장할 수 있고, 트레이닝 과정의 다수의 단계들에서의 듀티/스큐 조절을 위한 각종 제어 동작들은 모드 레지스터 세트(330)에 저장된 정보를 이용하여 수행될 수 있다. 예시적인 실시예에서, 모드 레지스터 세트(330)는 데이터 패턴(D0, D90, D180, D270)을 생성하는 패턴 생성기를 포함하는 것으로 정의될 수 있다. 또는, 모드 레지스터 세트(330) 외부에 구비되는 회로 블록으로서의 패턴 생성기가 모드 레지스터 세트(330)에 저장된 정보를 이용하여 데이터 패턴(D0, D90, D180, D270)을 생성하는 것으로 정의될 수도 있을 것이다.
예시적인 실시예에 따라, 트레이닝 과정은 제1 내지 제3 단계들(STEP 1 ~ STEP 3)을 포함할 수 있고, 제1 내지 제3 단계들(STEP 1 ~ STEP 3) 각각에서 데이터 패턴의 플립되지 않은 값(No Flip) 및 플립된 값(Flip)이 제2 데이터/클록 멀티플렉서(340)로 제공될 수 있다. 제1 단계(STEP 1)에서, 듀티 모니터(350)는 제1 클록 신호(I)와 제3 클록 신호(IB) 사이의 스큐를 검출한 결과를 모니터링 결과로서 제공할 수 있고, 제1 클록 신호(I) 및 제3 클록 신호(IB) 중 적어도 하나의 스큐를 조절하기 위한 제1 스큐 제어 코드(Skew Control code1)가 모드 레지스터 세트(330)에 설정될 수 있다. 또한, 제2 단계(STEP 2)에서, 듀티 모니터(350)는 제2 클록 신호(Q)와 제4 클록 신호(QB) 사이의 스큐를 검출한 결과를 모니터링 결과로서 제공할 수 있고, 제2 클록 신호(Q) 및 제4 클록 신호(QB) 중 적어도 하나의 스큐를 조절하기 위한 제2 스큐 제어 코드(Skew Control code2)가 모드 레지스터 세트(330)에 설정될 수 있다. 또한, 제3 단계(STEP 3)에서, 듀티 모니터(350)는 제1 클록 신호(I)와 제2 클록 신호(Q) 사이의 스큐 및 제3 클록 신호(IB)와 제4 클록 신호(QB) 사이의 스큐를 검출한 결과를 모니터링 결과로서 제공할 수 있고, 기록 클록(WCK)의 듀티를 조절하기 위한 듀티 제어 코드가 모드 레지스터 세트(330)에 설정될 수 있다.
메모리 장치(300)의 트레이닝 과정에서, 듀티를 조절하기 위한 코드 값 및 스큐를 조절하기 위한 코드 값을 변경해가면서 모니터링 클록 신호를 생성하는 동작과 듀티를 모니터링하는 동작이 반복하여 수행될 수 있고, 상기한 반복 과정을 통해 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 스큐를 최소화할 수 있는 듀티 제어 코드 및 스큐 제어 코드가 트레이닝 과정에서 결정되어 모드 레지스터 세트(330)에 저장될 수 있다.
한편, 상기한 예시적인 실시예에서, 제1 데이터/클록 멀티플렉서(312)와 제2 데이터/클록 멀티플렉서(340)가 별개의 구성으로 도시되었으나 본 개시의 실시예는 이에 국한될 필요가 없다. 예컨대, 제1 데이터/클록 멀티플렉서(312)는 독출 패스에 배치됨에 따라 독출 데이터(DQ_R)를 출력하는 기능을 수행할 수 있으며, 상기한 트레이닝 과정에서 제1 데이터/클록 멀티플렉서(312)가 데이터 패턴을 수신함에 따라, 제1 데이터/클록 멀티플렉서(312)가 모니터링 클록 신호 생성기로 기능하도록 메모리 장치(300)가 구현될 수도 있을 것이다.
도 6은 듀티 모니터(350)의 일 구현 예를 나타내는 블록도이다.
도 5 및 도 6을 참조하면, 메모리 장치(300)는 제2 데이터/클록 멀티플렉서(340) 및 듀티 모니터(350)를 포함할 수 있고, 듀티 모니터(350)는 적분기(351) 및 비교기(352)를 포함할 수 있다. 또한, 예시적인 실시예에서, 메모리 장치(300)는 인버터(353)를 더 포함할 수 있고, 인버터(353)는 제어 신호(ctrl)에 응답하여 선택적으로 인버팅 동작을 수행할 수 있다.
제2 데이터/클록 멀티플렉서(340)는 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 스큐를 반영하는 모니터링 클록 신호를 생성할 수 있고, 일 예로서 모니터링 클록 신호는 차동 신호(DCM_IN, DCM_INB)를 포함할 수 있다. 적분기(351)는 차동 신호(DCM_IN, DCM_INB)에 대한 적분 동작을 수행할 수 있고, 비교기(352)는 차동 신호에 해당하는 적분 신호(CPIN, CPINB)를 비교함으로써, 모니터링 클록 신호의 듀티 비에 따른 로직 상태를 갖는 모니터링 결과를 발생할 수 있다. 일 예로서, 모니터링 클록 신호의 듀티 비가 50 미만인 경우(로직 로우 구간이 더 긴 경우)에는 제1 값(예컨대, 로직 로우(L))을 갖는 모니터링 결과가 발생될 수 있다. 반면에, 모니터링 클록 신호의 듀티 비가 50 이상인 경우(로직 하이 구간이 더 긴 경우)에는 제2 값(예컨대, 로직 하이(H))을 갖는 모니터링 결과가 발생될 수 있다.
메모리 장치(300)의 트레이닝 과정에서, 비교기(352)의 출력 신호 및 인버터(353)의 출력 신호 중 적어도 하나가 모니터링 결과로서 이용될 수 있다. 일 실시예에서, 트레이닝 과정의 각각의 단계에서, 플립되지 않은 값(No Flip)의 데이터 패턴이 생성되는 경우에 비교기(352)의 출력 신호 및 인버터(353)의 출력 신호 중 어느 하나가 모니터링 결과로서 이용되는 경우, 플립된 값(Flip)의 데이터 패턴이 생성되는 경우에는 비교기(352)의 출력 신호 및 인버터(353)의 출력 신호 중 다른 하나가 모니터링 결과로서 이용될 수 있다.
이하에서는, 본 개시의 예시적인 실시예에 따른 모니터링 동작의 구체적인 예가 설명된다. 도 7a,b,c,d,e 내지 도 12a,b는 트레이닝 과정에서의 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 파형 및 모니터링 결과를 나타내는 도면이다.
도 7a,b,c,d,e 내지 도 10은 트레이닝 과정에서 제1 단계의 동작 예를 나타낸다. 도 7a,b,c,d,e 및 도 8의 경우 다중 위상 클록 신호들에 스큐가 존재하지 않는 경우에서의 동작 예를 나타내고, 도 9a,b,c,d 및 도 10의 경우 다중 위상 클록 신호들에 스큐가 존재하는 경우에서의 동작 예를 나타낸다. 또한, 도 7a,b,c,d,e 내지 도 10의 예에서는 메모리 시스템 내의 오프셋(예컨대, 듀티 모니터의 오프셋)이 존재하는 경우가 예시된다.
도 7a,b,c,d,e 에 도시된 바와 같이, 제1 단계에서 제1 클록 신호(I) 및 제3 클록 신호(IB) 중 적어도 하나의 스큐를 조절하면서 듀티 모니터링 동작이 수행될 수 있으며, 일 예로서 스큐 조절 코드(SA code)의 값을 변경함에 의해 제3 클록 신호(IB)의 스큐가 조절되는 경우가 예시된다. 어느 하나의 값의 스큐 조절 코드(SA code)를 이용한 듀티 모니터링 동작이 완료되면, 메모리 컨트롤러의 제어 하에서 다른 값의 스큐 조절 코드(SA code)를 이용한 듀티 모니터링 동작이 수행될 수 있다. 또한, 스큐 조절 코드(SA code)는 소정의 범위로서 정의될 수 있으며, 최소값에서 최대값 까지 스큐 조절 코드(SA code)를 변경해가면서 듀티 모니터링 동작이 반복 수행될 수 있다.
한편, 본 개시의 실시예들에 따른 용어들은 다양하게 정의될 수 있다. 일 예로서, 스큐 조절 코드(SA code)의 다양한 값들 중 스큐 조절에 최적의 값을 갖는 코드가 도 5에 도시된 실시예에서의 제1 스큐 제어 코드(Skew Control code1)로 설정될 수 있을 것이다. 또는, 스큐 조절 코드(SA code)는 스큐 제어 코드와 실질적으로 동일한 개념으로 정의될 수도 있고, 이 경우 스큐 제어 코드를 변경해가면서 듀티 모니터링 동작을 반복 수행하고, 어느 하나의 스큐 제어 코드가 도 5에 도시된 실시예에서의 제1 스큐 제어 코드(Skew Control code1)에 해당하는 것으로 설명될 수도 있을 것이다.
스큐 조절 코드(SA code)의 값을 최소값(예컨대, -7)에서 최대값(예컨대, +7)으로 변경해가면서 듀티 모니터링 동작이 수행될 수 있다. 스큐 조절 코드(SA code)가 -7 의 값을 갖는 경우 제3 클록 신호(IB)는 빠른 타이밍에 로직 하이로 천이될 수 있고, 플립되지 않은 값(No Flip) 으로서"1100"의 데이터 패턴에 의해 생성되는 모니터링 클록 신호(DCM_IN, DCM_INB)의 파형은 도 7a에 도시된 바와 같이 로직 로우 구간이 상대적으로 긴 파형을 가질 수 있다. 이 경우, 반전된 적분 신호에 해당하는 신호 CPINB의 레벨은 적분 신호 CPIN 보다 클 수 있고, 듀티 모니터링 결과는 제1 값(예컨대, 로직 로우)을 가질 수 있다. 도 7a에 도시된 신호(CPIN, CPINB)에서, 점선으로 도시된 레벨은 오프셋이 존재하지 않는 경우에서의 신호 CPIN 의 레벨을 나타내며, 오프셋이 (+) 방향으로 1 의 코드 값만큼 존재함에 따라 신호 CPIN 의 레벨이 오프셋이 존재하지 않는 경우에 비해 높아지는 예가 도시된다.
이후, 스큐 조절 코드(SA code)를 증가시킨 상태에서 상기한 듀티 모니터링 동작이 수행될 수 있으며, 스큐 조절 코드(SA code)가 -1 의 값을 갖는 경우에도 신호 CPINB의 레벨은 신호 CPIN 보다 클 수 있고, 이에 따라 듀티 모니터링 결과는 로직 로우 값을 가질 수 있다. 반면에, 스큐 조절 코드(SA code)가 0 의 값을 갖는 시점으로부터 신호 CPIN 의 레벨이 신호 CPINB의 레벨 이상의 값을 가질 수 있으며, 상기한 오프셋에 의해 신호 CPIN 의 레벨이 신호 CPINB의 레벨보다 1 의 코드 값 만큼 높아지는 경우가 예시된다. 이에 따라 듀티 모니터링 결과는 제2 값(예컨대, 로직 하이)을 가질 수 있다. 또한,, 스큐 조절 코드(SA code)가 + 1 의 값을 갖거나 + 7 의 값을 갖는 경우에도 듀티 모니터링 결과는 로직 하이 값을 가질 수 있다.
한편, 본 개시의 예시적인 실시예에서, 플립된 값(Flip) 으로서 "0011"의 데이터 패턴에 의해 생성되는 모니터링 클록 신호(DCM_IN, DCM_INB)를 이용하여 듀티를 모니터링 하는 동작이 더 수행될 수 있다. 예시적인 실시예에서, 플립된 값(Flip)의 데이터 패턴이 이용되는 경우, 도 6에서의 비교기(352)의 출력을 반전한 값이 모니터링 결과로서 제공될 수 있다.
플립된 값(Flip)의 데이터 패턴에 의해 생성되는 모니터링 클록 신호(DCM_IN, DCM_INB)는 플립되지 않은 값(No Flip)의 데이터 패턴이 이용되는 경우에 비해 반전된 로직 상태를 가질 수 있다. 스큐 조절 코드(SA code)가 -7 의 값을 갖는 경우 모니터링 클록 신호(DCM_IN, DCM_INB)의 파형은 도 7a에 도시된 파형을 가질 수 있다. 이 경우, 신호 CPIN의 레벨은 신호 CPINB 보다 클 수 있고, 비교기(352)의 출력을 반전한 값에 상응하는 듀티 모니터링 결과는 로직 로우 값을 가질 수 있다. 이와 유사하게, 스큐 조절 코드(SA code)가 -1 의 값 및 0 의 값을 갖는 경우에도 듀티 모니터링 결과는 로직 로우 값을 가질 수 있다.
반면에, 도 7d에 도시된 바와 같이 스큐 조절 코드(SA code)가 + 1 의 값을 갖는 시점으로부터 신호 CPINB 의 레벨이 신호 CPIN의 레벨보다 커질 수 있으며, 이에 따라 듀티 모니터링 결과는 로직 하이 값을 가질 수 있다. 또한, 스큐 조절 코드(SA code)가 + 7 의 값을 갖는 경우에도 듀티 모니터링 결과는 로직 하이 값을 가질 수 있다.
도 8은 상기한 도 7a,b,c,d,e 에서의 듀티 모니터링 동작에 따른 결과를 나타내며, 플립되지 않은 값(No Flip)의 데이터 패턴과 플립된 값(Flip)의 데이터 패턴을 이용한 경우에서의 모니터링 결과가 예시된다. 일 예로서, 상기 스큐 조절 코드(SA code)를 -7 에서부터 +7 까지 변경해가면서 생성된 모니터링 결과가 모드 레지스터 세트에 저장될 수 있다. 도 8은 제1 클록 신호(I)와 제3 클록 신호(IB) 사이의 스큐가 존재하지 않는 경우에서의 모니터링 결과에 해당하고, 제1 클록 신호(I)와 제3 클록 신호(IB) 사이의 스큐를 조절하기 위한 제1 스큐 제어 코드는 0 으로 결정될 수 있다.
한편, 도 9a,b,c,d 및 도 10에서는 제1 클록 신호(I)와 제3 클록 신호(IB) 사이의 스큐가 (+)의 방향으로 1 의 코드 값 만큼 존재하는 경우가 예시되며, 또한 오프셋이 (+)의 방향으로 3 의 코드 값 만큼 존재함에 따라 신호 CPIN 의 레벨이 오프셋이 존재하지 않는 경우(점선으로 도시된 레벨)에 비해 높아지는 경우가 예시된다. 예컨대, 스큐 조절 코드(SA code)가 -7 의 값을 갖는 경우, 플립되지 않은 값(No Flip) 으로서 "1100"의 데이터 패턴에 의해 생성되는 모니터링 클록 신호(DCM_IN, DCM_INB)의 파형은 도 9a에 도시된 바와 같이 로직 로우 구간이 상대적으로 긴 파형을 가질 수 있다. 이 경우, 반전된 적분 신호에 해당하는 신호 CPINB의 레벨은 적분 신호 CPIN 보다 클 수 있고, 듀티 모니터링 결과는 로직 로우 값을 가질 수 있다.
이후, 스큐 조절 코드(SA code)를 증가시키면서 듀티 모니터링 동작이 수행될 수 있고, 스큐 조절 코드(SA code)가 -2 의 값을 갖는 시점으로부터 신호 CPIN 의 레벨이 신호 CPINB의 레벨보다 커질 수 있으며, 이에 따라 듀티 모니터링 결과는 로직 하이 값을 가질 수 있다.
한편, 플립된 값(Flip) 으로서 "0011"의 데이터 패턴에 의해 생성되는 모니터링 클록 신호(DCM_IN, DCM_INB)의 듀티를 모니터링한 결과에 따라, 스큐 조절 코드(SA code)가 0 의 값을 가질 때 까지 듀티 모니터링 결과는 로직 로우 값을 가질 수 있다. 반면에, 스큐 조절 코드(SA code)가 +1 의 값을 갖는 시점으로부터 듀티 모니터링 결과는 로직 하이 값을 가질 수 있다.
도 10은 상기한 도 9a,b,c,d 에서의 듀티 모니터링 동작에 따른 결과를 나타내며, 플립되지 않은 값(No Flip)의 데이터 패턴과 플립된 값(Flip)의 데이터 패턴을 이용한 경우에서의 모니터링 결과가 예시된다. 도 10에 도시된 스큐 조절 코드(SA code)가 - 2 내지 0 인 경우의 모니터링 결과는 오프셋에 기인한 결과로서, 도 10에 도시된 예에서는 제1 클록 신호(I)와 제3 클록 신호(IB) 사이의 스큐를 조절하기 위한 제1 스큐 제어 코드는 -1 로 결정될 수 있다. 상기와 같이, 본 개시의 예시적인 실시예들에서 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 함께 이용하는 트레이닝 과정이 수행됨에 따라, 다중 위상 클록 신호들 사이의 스큐를 조절함과 함께, 메모리 시스템 내에 존재하는 오프셋에 기인한 스큐가 상쇄될 수 있다.
이하에서는, 플립되지 않은 값(No Flip)의 데이터 패턴과 플립된 값(Flip)의 데이터 패턴을 이용하여 트레이닝 과정의 제2 단계 및 제3 단계가 수행되는 경우가 예시된다. 이하의 실시예들을 설명함에 있어서, 설명의 편의 상 제1 내지 제4 클록 신호들(I, Q, IB, QB) 및 모니터링 클록 신호의 구체적인 파형의 예시는 생략된다.
예시적인 실시예에서, 제2 단계에서는 스큐 조절 코드(SA code)의 변동에 따라 제2 클록 신호(Q) 및 제4 클록 신호(QB) 중 적어도 하나의 스큐가 조절될 수 있으며, 제2 단계를 통하여 도 5에 도시된 실시예에서의 제2 스큐 제어 코드(Skew Control code2)가 결정될 수 있다. 한편, 제3 단계에서는 듀티 조절 코드(DA code)의 변동에 따라 기록 클록(WCK)의 듀티가 조절될 수 있으며, 제3 단계를 통하여 도 5에 도시된 실시예에서의 듀티 제어 코드(Duty Control code)가 결정될 수 있다.
도 11a,b는 제2 단계에서의 듀티 모니터링 동작에 따른 결과를 나타내며, 플립되지 않은 값(No Flip)의 데이터 패턴과 플립된 값(Flip)의 데이터 패턴을 이용한 경우에서의 모니터링 결과가 예시된다. 도 11a는 제2 클록 신호(Q)와 제4 클록 신호(QB) 사이의 스큐가 존재하지 않으며, 또한 오프셋이 (+) 방향으로 1 의 코드 값만큼 존재하는 경우에서의 모니터링 결과에 해당하고, 상기 모니터링 결과에 따라서 제2 클록 신호(Q)와 제4 클록 신호(QB) 사이의 스큐를 조절하기 위한 제2 스큐 제어 코드는 0 으로 결정될 수 있다.
한편, 도 11b는 제2 클록 신호(Q)와 제4 클록 신호(QB) 사이의 스큐가 (-)의 방향으로 2 의 코드 값 만큼 존재하고, 또한 오프셋이 (+) 방향으로 5 의 코드 값만큼 존재하는 경우에서의 존재하는 경우가 예시된다. 예컨대, 스큐 및 오프셋에 기인하여, 플립되지 않은 값(No Flip)의 데이터 패턴이 이용되는 경우 스큐 조절 코드(SA code)의 값이 0 에 해당하는 시점부터 모니터링 결과가 로직 하이 값을 갖는 반면에, 플립된 값(Flip)의 데이터 패턴이 이용되는 경우에는 스큐 조절 코드(SA code)의 값이 5 에 해당하는 시점부터 모니터링 결과가 로직 하이 값을 가질 수 있다. 도 11b 에 도시된 스큐 조절 코드(SA code)가 0 내지 +4 인 경우의 모니터링 결과는 오프셋에 기인한 결과로서, 도 11b 에 도시된 예에서는 제2 클록 신호(Q)와 제4 클록 신호(QB) 사이의 스큐를 조절하기 위한 제2 스큐 제어 코드는 +2 로 결정될 수 있다.
도 12a,b는 제3 단계에서의 듀티 모니터링 동작에 따른 결과를 나타내며, 플립되지 않은 값(No Flip)의 데이터 패턴과 플립된 값(Flip)의 데이터 패턴을 이용한 경우에서의 모니터링 결과가 예시된다. 제3 단계에서의 듀티 모니터링 동작의 결과는 기록 클록(WCK)의 듀티를 조절하기 위한 정보로 이용될 수 있고, 이에 따라 기록 클록(WCK)의 듀티를 조절하는 듀티 조절 코드(DA code)의 값을 변경하면서 듀티 모니터링 동작이 수행될 수 있다. 도 12a는 제1 클록 신호(I)와 제2 클록 신호(Q) 사이의 스큐가 존재하지 않고, 제3 클록 신호(IB)와 제4 클록 신호(QB) 사이의 스큐가 존재하지 않으며, 또한 오프셋이 (+) 방향으로 1 의 코드 값만큼 존재하는 경우에서의 모니터링 결과에 해당할 수 있다. 이 때, 상기 모니터링 결과에 따라서 듀티 제어 코드는 0 으로 결정될 수 있다.
도 12b는 제1 클록 신호(I)와 제2 클록 신호(Q) 사이(또는, 제3 클록 신호(IB)와 제4 클록 신호(QB) 사이)의 스큐가 (-)의 방향으로 1 의 코드 값 만큼 존재하는 경우가 예시된다. 또한, 도 12b 에 도시된 모니터링 결과는 오프셋이 (+) 방향으로 1 의 코드 값만큼 존재하는 경우에서의 결과에 해당할 수 있으며, 도 12b 에 도시된 예에서는 듀티 제어 코드가 +1로 결정될 수 있다.
상기와 같은 제1 단계 내지 제3 단계가 종료되면, 트레이닝 과정에서 얻어진 최적의 스큐 조절 코드(SA code) 및 최적의 듀티 조절 코드(DA code)에 상응하는 제1/제2 스큐 제어 코드 및 듀티 제어 코드가 모드 레지스터 세트에 설정될 수 있고, 이에 따라 다중 위상 클록 신호들 사이의 스큐가 제거될 수 있다.
도 13은 본 개시의 다양한 실시예들에 따른 메모리 시스템을 나타내는 블록도이다. 도 13의 메모리 시스템(30)에서, 본 개시의 예시적인 실시예들에 따른 듀티 모니터링 동작이 메모리 컨트롤러에서 수행되는 경우가 예시된다.
도 13을 참조하면, 메모리 시스템(30)은 메모리 컨트롤러(401) 및 메모리 장치(400)를 포함할 수 있으며, 메모리 컨트롤러(401)는 기록 클록(WCK) 송신기(402), 듀티 모니터(403), 듀티 코드 저장 회로(404) 및 제어 코드 생성기(405)를 포함할 수 있다. 기록 클록 송신기(402)는 기록 클록(WCK)을 메모리 장치로 전송할 수 있고, 일 예로서 기록 클록(WCK)은 차동 신호(WCK_T, WCK_C)를 포함할 수 있다.
메모리 장치(400)는 데이터 전송기(411), 데이터/클록 멀티플렉서(412), 기록 클록 수신기(421), 듀티 조절기(422), 분주기(423), 스큐 조절기(424), 드라이버(425) 및 모드 레지스터 세트(430)를 포함할 수 있다. 도 13에 도시된 구성요소들 중 일부는 전술한 실시예에서의 다중 위상 클록 생성기를 구성하거나, 패턴 생성기 또는 클록 복원기를 구성할 수 있을 것이다.
메모리 장치(400)는 기록 클록(WCK)을 수신하고, 듀티 조절기(422)는 듀티 제어 코드를 이용하여 기록 클록(WCK)의 듀티를 조절할 수 있다. 분주기(423)는 듀티가 조절된 기록 클록(WCK)에 대한 분주 동작에 기초하여 다중 위상 클록 신호들을 생성할 수 있으며, 일 예로서 제1 내지 제4 클록 신호들(I, Q, IB, QB)을 생성할 수 있다. 또한, 제1 내지 제4 클록 신호들(I, Q, IB, QB)은 스큐 조절기(424)로 제공될 수 있고, 스큐 조절기(424)는 하나 이상의 스큐 조절 회로들을 포함할 수 있다. 일 예로서 스큐 조절기(424)는 제1 및 제3 클록 신호들(I, IB) 중 적어도 하나의 스큐를 조절하는 제1 스큐 조절 회로와, 제2 및 제4 클록 신호들(Q, QB) 중 적어도 하나의 스큐를 조절하는 제2 스큐 조절 회로를 포함할 수 있다. 드라이버(425)는 스큐가 조절된 제1 내지 제4 클록 신호들(I, Q, IB, QB)을 드라이빙하여 출력할 수 있으며, 제1 내지 제4 클록 신호들(I, Q, IB, QB)은 데이터/클록 멀티플렉서(412)로 제공될 수 있다.
트레이닝 과정에서, 데이터/클록 멀티플렉서(412)는 제1 내지 제4 클록 신호들(I, Q, IB, QB) 및 데이터 패턴(D0, D90, D180, D270)을 수신하고, 전술한 실시예들에 따라 다수의 단계들에 대해 서로 다른 파형을 갖는 모니터링 클록 신호들을 생성할 수 있다. 모니터링 클록 신호들은 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 스큐를 반영할 수 있다. 또한, 전술한 실시예들에 따라 데이터 패턴(D0, D90, D180, D270)은 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 가질 수 있으며, 플립되지 않은 값(No Flip) 및 플립된 값(Flip) 각각에 대응하는 모니터링 클록 신호들이 생성될 수 있다.
트레이닝 과정에서, 데이터/클록 멀티플렉서(412)에서 생성된 모니터링 클록 신호들은 데이터 전송기(411) 및 데이터(DQ) 채널을 통해 메모리 컨트롤러(401)로 제공될 수 있다. 메모리 컨트롤러(401)의 듀티 모니터(403)는, 메모리 장치(400)로부터 제공된 모니터링 클록 신호들을 이용하여 다수의 단계들에서의 듀티 모니터링 동작을 수행할 수 있다. 예컨대, 메모리 컨트롤러(401)는 트레이닝 과정의 전반적인 제어를 수행하는 프로세서(미도시)를 포함할 수 있고, 프로세서의 제어에 기초하여 각 단계의 시작 및 종료를 나타내는 정보(Start/Stop)와, 플립되지 않은 값/플립된 값의 판별을 위한 정보(Flip/ No Flip)가 듀티 모니터(403)로 제공될 수 있다. 듀티 모니터(403)는 전술한 다수의 단계들 각각에서의 모니터링 결과로서 듀티 코드(Duty Code)를 듀티 코드 저장 회로(404)로 제공할 수 있다.
듀티 모니터(403)는 상기한 정보들(Start/Stop, Flip/ No Flip)을 기초로 각 단계에서의 듀티 모니터링 동작을 수행할 수 있고, 일 예로서 듀티 코드 저장 회로(404)는 도 8에 도시된 바와 같은 듀티 모니터링 결과를 저장할 수 있다. 제어 코드 생성기(405)는 프로세서의 제어에 기초하여 트레이닝 과정에서 결정된 듀티 제어 코드(Duty Control code), 제1 및 제2 스큐 제어 코드들(Skew Control code1,2)을 생성하고 이를 메모리 장치(400)로 제공할 수 있다. 메모리 장치(400)는 노멀 동작 시에 듀티 제어 코드(Duty Control code), 제1 및 제2 스큐 제어 코드들(Skew Control code1,2)에 따른 듀티 조절/스큐 조절을 수행함으로써, 제1 내지 제4 클록 신호들(I, Q, IB, QB)의 스큐를 조절 또는 제거할 수 있다.
도 13에는 도시되지 않았으나, 차동 신호 형태를 갖는 모니터링 클록 신호를 생성하기 위하여, 메모리 컨트롤러(401) 또는 메모리 장치(400)는 위상 스플리터(Phase Splitter, 미도시)를 포함할 수 있다. 일 예로서, 위상 스플리터의 출력은 도 6에 도시된 차동 신호(DCM_IN, DCM_INB)에 상응할 수 있다.
또한, 도 13에는 도시되지 않았으나, 모니터링 클록 신호는 데이터 스트로브 신호(DQS/DQSB)를 전송하는 핀을 통해 메모리 컨트롤러(401)로 제공될 수 있을 것이다. 이 경우, 메모리 장치(400)는 위상 스플리터를 이용함이 없이 차동 신호 형태의 모니터링 클록 신호를 메모리 컨트롤러(401)로 제공할 수도 있을 것이다.
도 14는 본 개시의 예시적인 실시예에 따른 모드 레지스터 세트의 설정 동작 예를 나타내는 블록도이다.
도 14를 참조하면, 메모리 시스템(500)은 메모리 컨트롤러(510) 및 메모리 장치(520)를 포함할 수 있으며, 메모리 컨트롤러(510)는 트레이닝 회로(511)를 포함할 수 있다. 또한, 메모리 장치(520)는 듀티 조절기(521), 스큐 조절기(522) 및 모드 레지스터 세트(523)를 포함할 수 있다. 모드 레지스터 세트(523)에는 다수의 레지스터들이 포함됨에 따라, 트레이닝 과정의 다수의 단계들에서 생성된 모니터링 결과가 저장될 수 있다.
트레이닝 과정에서, 모드 레지스터 세트(523)에 저장되는 트레이닝에 관련된 정보(Info_training)는 메모리 컨트롤러(510)의 제어에 의해 억세스될 수 있다. 메모리 컨트롤러(510)는 데이터 핀, 커맨드/어드레스 핀 등 다양한 핀들을 통해 메모리 장치(520)의 모드 레지스터 세트(523)를 억세스할 수 있다. 예컨대, LPDDR4, LPDDR5, LPDDR6 등의 LPDDRx 스펙에 정의된 핀들이나 MRS 핀들을 통해 모드 레지스터 세트(523)가 억세스될 수도 있을 것이다. 일 동작 예로서, 모니터링 결과로서 듀티 코드(Duty code)는 모드 레지스터 독출 커맨드(MRR)에 의해 메모리 컨트롤러(510)로 제공될 수 있다. 또한, 메모리 컨트롤러(510)는 듀티 제어 코드(Duty Control code)를 및 스큐 제어 코드(Skew Control code)를 생성할 수 있으며, 모드 레지스터 기록 커맨드(MRW)에 의해 듀티 제어 코드(Duty Control code)를 및 스큐 제어 코드(Skew Control code)가 모드 레지스터 세트(523)에 저장될 수 있다.
도 15 및 도 16은 메모리 컨트롤러 및 메모리 장치 사이에서 송수신되는 신호의 예를 나타내는 도면이다. 도 15 및 도 16에서는 모드 레지스터 설정과 관련하여 송수신되는 신호가 예시되며, 도 15의 경우에는 듀티 모니터가 메모리 장치에 포함되는 경우에서의 신호 예를 나타내고, 도 16의 경우에는 듀티 모니터가 메모리 컨트롤러에 포함되는 경우에서의 신호 예를 나타낸다. 전술한 바와 같이 메모리 컨트롤러와 메모리 장치는 데이터 핀, 커맨드/어드레스 핀, MRS 핀 등 다양한 종류의 핀들을 통해 MRS 커맨드, 트레이닝에 관련된 각종 정보들을 송수신할 수 있다.
도 15를 참조하면, 트레이닝 과정에서 메모리 컨트롤러는 MRW 커맨드(MRW-1, MRW-2)를 메모리 장치로 전송할 수 있고, 상기 MRW 커맨드는 제1 단계의 시작을 지시하는 커맨드일 수 있다. 이후, 메모리 컨트롤러는 스큐 조절 코드를 소정 값(예컨대, 최소값으로서 -7)으로 설정하기 위한 MRW 커맨드를 전송할 수 있고, 또한 듀티 모니터링의 시작을 나타내는 MRW 커맨드를 전송할 수 있다. 또한, 전술한 실시예들에 따라 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 이용한 듀티 모니터링을 위해, 메모리 컨트롤러는 플립된 값(Flip)을 지시하는 MRW 커맨드를 전송할 수 있다. 또한, 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 이용한 듀티 모니터링이 완료되면, 듀티 모니터링의 종료를 지시하는 MRW 커맨드를 전송할 수 있다.
상기와 같은 듀티 모니터링이 종료되면, 메모리 컨트롤러는 소정 값의 스큐 조절 코드에 따른 듀티 모니터링 결과를 수신하기 위한 MRR 커맨드를 메모리 장치로 전송할 수 있다. 이후, 다른 값을 갖는 스큐 조절 코드를 이용하여 듀티 모니터링 동작을 수행하기 위해, 메모리 컨트롤러는 스큐 조절 코드를 다른 값(예컨대, -6)으로 설정하기 위한 MRW 커맨드를 전송할 수 있다.
한편, 메모리 컨트롤러가 본 개시의 예시적인 실시예들에 따른 듀티 모니터링 동작을 수행함에 따라, 트레이닝 과정에서 메모리 장치와 송수신하는 신호는 도 16에 도시된 파형을 따를 수 있다. 예컨대, 메모리 컨트롤러는 MRW 커맨드(MRW-1, MRW-2)를 메모리 장치로 전송할 수 있고, 상기 MRW 커맨드는 제1 단계의 시작을 지시하는 커맨드일 수 있다. 또한, 메모리 컨트롤러는 스큐 조절 코드를 소정 값(예컨대, 최소값으로서 -7)으로 설정하기 위한 MRW 커맨드를 전송할 수 있고, 메모리 장치는 제1 단계에서 정의되는 플립되지 않은 값(No Flip)의 데이터 패턴을 이용하여 생성된 모니터링 클록 신호를 메모리 컨트롤러로 전송할 수 있다.
이후, 메모리 컨트롤러는 플립된 값(Flip)을 지시하는 MRW 커맨드를 전송할 수 있다. 메모리 장치는 제1 단계에서 정의되는 플립된 값(Flip)의 데이터 패턴을 이용하여 생성된 모니터링 클록 신호를 메모리 컨트롤러로 전송할 수 있다. 메모리 컨트롤러는 플립되지 않은 값(No Flip) 및 플립된 값(Flip)을 이용한 듀티 모니터링 결과를 저장할 수 있다. 이후, 메모리 컨트롤러는 다른 값을 갖는 스큐 조절 코드를 이용하여 듀티 모니터링 동작을 수행하기 위해, 스큐 조절 코드를 다른 값(예컨대, -6)으로 설정하기 위한 MRW 커맨드를 전송할 수 있다. 메모리 장치는 그 값이 변경된 스큐 조절 코드에 기초하여 다중 위상 클록 신호들을 생성할 수 있고, 이에 기초하여 생성된 모니터링 클록 신호를 메모리 컨트롤러로 전송할 수 있다.
도 17a,b 및 도 18은 본 개시의 다른 실시예에 따른 트레이닝 동작의 개념을 나타내는 도면이다. 메모리 장치에서, 4 개 보다 많은 n 개의 다중 위상 클록 신호들이 생성될 수 있으며, 도 17a,b 및 도 18의 예에서는 8 개의 다중 위상 클록 신호들(제1 내지 제8 클록 신호들)이 생성되는 경우가 예시된다.
도 17a를 참조하면, 메모리 장치(600)는 데이터/클록 멀티플렉서(610) 및 듀티 모니터(620)를 포함할 수 있고, 듀티 모니터(620)는 적분기(621) 및 비교기(622)를 포함할 수 있다. 도 17a에는 도시되지 않았으나, 메모리 장치(600)는 비교기(622)의 출력을 반전하기 위한 인버터(미도시)를 더 포함할 수도 있을 것이다.
트레이닝 과정에서, 데이터/클록 멀티플렉서(610)는 n 비트를 포함하는 데이터 패턴과, n-위상 클록 신호들을 수신할 수 있다. n-위상 클록 신호들 각각의 에지에서 데이터 패턴에 따라 로직 상태가 변동하는 모니터링 클록 신호가 생성될 수 있고, 차동 신호(DCM_IN, DCM_INB)를 포함하는 모니터링 클록 신호에 대해 적분 동작이 수행되고, 차동 신호에 해당하는 적분 신호(CPIN, CPINB)를 이용하여 모니터링 결과가 발생될 수 있다.
도 17b를 참조하면, 클록 신호 또는 기록 클록으로부터 생성된 서로 다른 위상을 갖는 제1 내지 제8 클록 신호들의 스큐를 조절하기 위하여, 제1 내지 제7 단계들을 포함하는 트레이닝 과정이 수행될 수 있다. 도 17b는 제1 내지 제7 단계들에서 생성되는 모니터링 클록 신호들을 예시하며, 제1 내지 제4 단계들에서는 제1 내지 제8 클록 신호들 중 클록 신호를 기준으로 360 도의 위상 차이를 갖는 클록 신호들 사이의 스큐가 검출될 수 있으며, 제5 및 제6 단계들에서는 서로 180 도의 위상 차이를 갖는 클록 신호들 사이의 스큐가 검출될 수 있다. 또한, 제7 단계에서는 서로 90 도의 위상 차이를 갖는 클록 신호들 사이의 스큐가 검출될 수 있다.
한편, 도 18은 도 17a,b에 도시된 실시예에서 생성되는 데이터 패턴의 일 예를 나타낸다. 도 18에 도시된 바와 같이, 각각의 단계에서 플립되지 않은 값(No Flip)의 데이터 패턴과 플립된 값(Flip)의 데이터 패턴이 생성될 수 있다. 일 예로서, 제1 단계에서, 플립되지 않은 값(No Flip)의 데이터 패턴은 "11110000"의 값을 가질 수 있으며, 플립된 값(Flip)의 데이터 패턴은 "00001111"의 값을 가질 수 있다. 또한, 제7 단계에서, 플립되지 않은 값(No Flip)의 데이터 패턴은 "10101010"의 값을 가질 수 있으며, 플립된 값(Flip)의 데이터 패턴은 "01010101"의 값을 가질 수 있다.
또한, 예시적인 실시예에서, 다수의 단계들에 의해 생성된 모니터링 결과는 듀티 조절 및 스큐 조절 동작에 이용될 수 있다. 일 예로서, 메모리 장치(600)는 메모리 컨트롤러로부터의 클록 신호 또는 기록 클록의 듀티를 조절하는 듀티 조절기와, 다중 위상 클록 신호들의 스큐를 조절하는 스큐 조절기를 포함할 수 있고, 스큐 조절기는 다수 개의 스큐 조절 회로들을 포함할 수 있다. 예시적인 실시예에서 제1 내지 제6 단계들의 모니터링 결과는 스큐 조절 회로들을 제어하기 위한 스큐 제어 코드를 결정하는 데 이용될 수 있다. 또한, 제7 단계의 모니터링 결과는 클록 신호 또는 기록 클록의 듀티를 조절하는 듀티 조절기를 제어하기 위한 듀티 제어 코드를 결정하는 데 이용될 수 있다.
한편, 전술한 실시예들에서의 구성들이 메모리 장치 및 메모리 컨트롤러에 적용되는 것으로 설명되었으나, 본 개시의 실시예들은 이에 국한될 필요가 없다. 일 예로서, 다중 위상 클록 신호들을 생성하고 이를 이용하여 신호 처리를 수행하는 다양한 종류의 반도체 장치들에 대해, 다중 위상 클록 신호들의 스큐를 정정 또는 제거하기 위해 본 개시의 실시예들이 적용될 수 있을 것이다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 다수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    메모리 컨트롤러로부터 제공된 클록 신호에 기초하여 N 개의 서로 다른 위상들을 갖는 제1 내지 제N 클록 신호들을 생성하는 다중 위상 클록 생성기(단, N은 3 이상의 정수);
    트레이닝 과정에서 데이터 패턴을 수신하고, 상기 제1 내지 제N 클록 신호들의 에지에 동기하여 상기 데이터 패턴에 상응하는 로직 상태를 갖는 모니터링 클록 신호를 생성하고, 상기 모니터링 클록 신호는 상기 제1 내지 제N 클록 신호들의 스큐를 반영하는 모니터링 클록 신호 생성기;
    상기 트레이닝 과정에서 설정된 듀티 제어 코드에 기초하여, 상기 메모리 컨트롤러로부터의 상기 클록 신호의 듀티를 조절하는 듀티 조절기;
    상기 트레이닝 과정에서 설정된 스큐 제어 코드에 기초하여, 상기 제1 내지 제N 클록 신호들 중 적어도 하나의 스큐를 조절하는 스큐 조절기; 및
    상기 제1 내지 제N 클록 신호들 사이의 스큐를 검출하기 위한 상기 트레이닝 과정을 제어하는 제어 로직을 구비하고,
    상기 모니터링 클록 신호는, 상기 트레이닝 과정의 제1 단계에서 상기 제1 클록 신호와 상기 제3 클록 신호 사이의 스큐를 검출하기 위한 제1 모니터링 클록 신호; 상기 트레이닝 과정의 제2 단계에서 상기 제2 클록 신호와 상기 제4 클록 신호 사이의 스큐를 검출하기 위한 제2 모니터링 클록 신호; 및 상기 트레이닝 과정의 제3 단계에서 상기 제1 클록 신호와 상기 제2 클록 신호 사이의 스큐를 검출하기 위한 제3 모니터링 클록 신호를 포함하는 것을 특징으로 하는 메모리 장치.
  2. 제1항에 있어서,
    상기 모니터링 클록 신호를 수신하고, 상기 모니터링 클록 신호의 듀티를 검출한 결과를 나타내는 적어도 하나의 비트를 포함하는 듀티 코드를 생성하는 듀티 검출기; 및
    상기 듀티 코드를 저장하는 모드 레지스터 세트를 더 구비하는 것을 특징으로 하는 메모리 장치.
  3. 제2항에 있어서,
    상기 트레이닝 과정에서 상기 듀티 코드는 상기 메모리 컨트롤러로 제공되고,
    상기 트레이닝 과정에서 상기 메모리 컨트롤러로부터 제공된 상기 듀티 제어 코드 및 상기 스큐 제어 코드가 상기 모드 레지스터 세트에 저장되는 것을 특징으로 하는 메모리 장치.
  4. 제3항에 있어서,
    상기 듀티 조절기는, 상기 듀티 제어 코드에 응답하여 상기 클록 신호의 듀티를 조절함으로써 상기 제1 클록 신호와 상기 제2 클록 신호 사이의 스큐를 조절하고,
    상기 스큐 조절기는, 상기 스큐 제어 코드에 응답하여 상기 제1 클록 신호 및/또는 상기 제2 클록 신호의 스큐를 조절하는 제1 스큐 조절 회로와, 상기 스큐 제어 코드에 응답하여 상기 제2 클록 신호 및/또는 상기 제4 클록 신호의 스큐를 조절하는 제2 스큐 조절 회로를 포함하는 것을 특징으로 하는 메모리 장치.
  5. 제1항에 있어서,
    상기 제어 로직은, 상기 제1 내지 제3 단계들에서 서로 다른 값을 갖는 데이터 패턴을 생성하는 패턴 생성기를 포함하는 것을 특징으로 하는 메모리 장치.
  6. 제1항에 있어서,
    상기 제1 내지 제N 클록 신호들은 4-위상 클록 신호들에 해당함에 따라, 순차적으로 90 도의 위상 차이를 갖는 제1 내지 제4 클록 신호들을 포함하고,
    상기 데이터 패턴은, 상기 제1 내지 제4 클록 신호들의 에지들에 대응되는 4 개의 비트들을 포함하는 것을 특징으로 하는 메모리 장치.
  7. 제6항에 있어서,
    상기 제1 단계에서, 상기 제1 모니터링 클록 신호는 "1100" 또는 "0011"의 값을 갖는 데이터 패턴에 의해 생성되고,
    상기 제2 단계에서, 상기 제2 모니터링 클록 신호는 "0110" 또는 "1001"의 값을 갖는 데이터 패턴에 의해 생성되며,
    상기 제3 단계에서, 상기 제3 모니터링 클록 신호는 "1010" 또는 "0101"의 값을 갖는 데이터 패턴에 의해 생성되는 것을 특징으로 하는 메모리 장치.
  8. 제7항에 있어서,
    상기 제1 단계에서, 플립되지 않은(No Flip) 데이터 패턴에 상응하는 상기 "1100"값을 이용하여 생성된 상기 제1 모니터링 클록 신호와, 플립된(Flip) 데이터 패턴에 상응하는 상기 "0011"값을 이용하여 생성된 상기 제1 모니터링 클록 신호를 이용한 듀티 모니터링 동작이 함께 수행되는 것을 특징으로 하는 메모리 장치.
  9. 제7항에 있어서,
    상기 제2 단계에서, 플립되지 않은(No Flip) 데이터 패턴에 상응하는 상기 "0110"값을 이용하여 생성된 상기 제2 모니터링 클록 신호와, 플립된(Flip) 데이터 패턴에 상응하는 상기 "1001"값을 이용하여 생성된 상기 제2 모니터링 클록 신호를 이용한 듀티 모니터링 동작이 함께 수행되는 것을 특징으로 하는 메모리 장치.
  10. 제7항에 있어서,
    상기 제3 단계에서, 플립되지 않은(No Flip) 데이터 패턴에 상응하는 상기 "1010"값을 이용하여 생성된 상기 제3 모니터링 클록 신호와, 플립된(Flip) 데이터 패턴에 상응하는 상기 "0101"값을 이용하여 생성된 상기 제3 모니터링 클록 신호를 이용한 듀티 모니터링 동작이 함께 수행되는 것을 특징으로 하는 메모리 장치.
  11. 제6항에 있어서,
    상기 제1 단계에서, 상기 제1 클록 신호와 상기 제3 클록 신호 사이의 180 도 위상차에 대한 스큐가 정정되고,
    상기 제2 단계에서, 상기 제2 클록 신호와 상기 제4 클록 신호 사이의 180 도 위상차에 대한 스큐가 정정되며,
    상기 제3 단계에서, 상기 클록 신호의 듀티를 조절함에 의해, 상기 제1 클록 신호와 상기 제2 클록 신호 사이의 90 도 위상차 및 상기 제3 클록 신호와 상기 제4 클록 신호 사이의 90 도 위상차에 대한 스큐가 정정되는 것을 특징으로 하는 메모리 장치.
  12. 제1항에 있어서,
    상기 제어 로직은, 상기 제1 내지 제3 단계들 각각에서, 플립되지 않은(No Flip) 데이터 패턴과 플립된(Flip) 데이터 패턴을 이용한 듀티 모니터링이 함께 수행되도록 제어함으로써, 상기 메모리 장치 내의 오프셋에 기반하는 상기 제1 내지 제N 클록 신호들의 스큐를 함께 조절하는 것을 특징으로 하는 메모리 장치.
  13. 메모리 장치의 트레이닝 과정을 제어하는 메모리 컨트롤러에 있어서,
    상기 메모리 장치에 의해 N 개의 서로 다른 위상들을 갖는 제1 내지 제N 클록 신호들을 생성하는 데 이용되는 클록 신호를 전송하는 클록 신호 전송기(단, N은 3 이상의 정수);
    트레이닝 과정에서, 상기 메모리 장치로부터 상기 제1 내지 제N 클록 신호들의 에지 타이밍에서 소정의 데이터 패턴에 상응하는 로직 상태를 갖는 모니터링 클록 신호를 수신하고, 상기 모니터링 클록 신호의 듀티를 검출한 결과를 나타내는 적어도 하나의 비트를 포함하는 듀티 코드를 생성하는 듀티 검출기;
    상기 트레이닝 과정에서 생성된 듀티 코드에 기초하여, 상기 메모리 장치에 구비되는 듀티 조절기 및 스큐 조절기를 제어하기 위한 듀티 제어 코드 및 스큐 제어 코드를 생성하는 제어 코드 생성기; 및
    상기 메모리 장치에 대한 다수의 단계들을 포함하는 상기 트레이닝 과정을 제어하는 프로세서를 구비하고,
    상기 모니터링 클록 신호는 상기 제1 내지 제N 클록 신호들의 스큐를 반영하는 파형을 가지며,
    상기 스큐 제어 코드는, 상기 제1 내지 제N 클록 신호들 중 제1 값의 위상 차이를 갖는 신호들 사이의 스큐를 조절하기 위해 상기 제1 내지 제N 클록 신호들 중 적어도 하나의 스큐를 조절하기 위한 정보를 포함하며,
    상기 듀티 제어 코드는, 상기 제1 내지 제N 클록 신호들 중 제2 값의 위상 차이를 갖는 신호들 사이의 스큐를 조절하기 위해 상기 클록 신호의 듀티를 조절하기 위한 정보를 포함하는 것을 특징으로 하는 메모리 컨트롤러.
  14. 제13항에 있어서,
    상기 클록 신호는 LPDDR(Low Power Double Data Rate) 스펙에서의 기록 클록(WCK) 인 것을 특징으로 하는 메모리 컨트롤러.
  15. 제13항에 있어서,
    상기 제1 내지 제N 클록 신호들은 4-위상 클록 신호들에 해당함에 따라, 순차적으로 90 도의 위상 차이를 갖는 제1 내지 제4 클록 신호들을 포함하고,
    상기 데이터 패턴은, 상기 제1 내지 제4 클록 신호들의 에지들에 대응되는 4 개의 비트들을 포함하는 것을 특징으로 하는 메모리 컨트롤러.
  16. 제15항에 있어서,
    상기 트레이닝 과정은 제1 단계 내지 제3 단계를 포함하고,
    상기 제1 단계에서, 상기 모니터링 클록 신호는 "1100" 또는 "0011"의 값을 갖는 데이터 패턴에 의해 생성되는 신호이고,
    상기 제2 단계에서, 상기 모니터링 클록 신호는 "0110" 또는 "1001"의 값을 갖는 데이터 패턴에 의해 생성되는 신호이며,
    상기 제3 단계에서, 상기 모니터링 클록 신호는 "1010" 또는 "0101"의 값을 갖는 데이터 패턴에 의해 생성되는 신호인 것을 특징으로 하는 메모리 컨트롤러.
  17. 제16항에 있어서,
    상기 스큐 제어 코드는, 상기 제1 클록 신호와 상기 제3 클록 신호 사이의 180 도 위상 차이의 스큐를 조절하기 위한 제1 스큐 제어 코드와, 상기 제2 클록 신호와 상기 제4 클록 신호 사이의 180 도 위상 차이의 스큐를 조절하기 위한 제2 스큐 제어 코드를 포함하고,
    상기 듀티 제어 코드는, 상기 제1 클록 신호와 상기 제2 클록 신호 사이의 90 도의 위상 차이의 스큐 및 상기 제3 클록 신호와 상기 제4 클록 신호 사이의 90 도의 위상 차이의 스큐를 조절하며,
    상기 스큐 제어 코드는 상기 제1 단계 및 상기 제2 단계의 모니터링 결과에 기초하여 생성되고, 상기 듀티 제어 코드는 상기 제3 단계의 모니터링 결과에 기초하여 생성되는 것을 특징으로 하는 메모리 컨트롤러.
  18. 메모리 장치의 동작방법에 있어서,
    메모리 컨트롤러로부터 제공된 클록 신호에 기초하여, 순차적으로 90 도의 위상 차이를 갖는 제1 내지 제4 클록 신호들을 생성하는 단계;
    트레이닝 과정에서, 상기 제1 내지 제4 클록 신호들의 에지 타이밍에서 상기 메모리 장치 내에서 생성된 데이터 패턴에 따라 로직 상태가 천이하는 모니터링 클록 신호를 생성하는 단계; 및
    상기 트레이닝 과정에서, 상기 모니터링 클록 신호에 대한 듀티 모니터링 결과에 기초하여, 상기 제1 내지 제4 클록 신호들 사이의 스큐를 나타내는 정보를 갖는 듀티 코드를 생성하는 단계를 구비하고,
    상기 트레이닝 과정은,
    플립되지 않은(No Flip) 데이터 패턴을 이용하여 상기 제1 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작과, 플립된(Flip) 데이터 패턴을 이용하여 상기 제3 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작을 함께 수행하여, 상기 제1 클록 신호와 상기 제3 클록 신호 사이의 스큐를 조절하는 제1 단계;
    상기 플립되지 않은(No Flip) 데이터 패턴을 이용하여 상기 제2 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작과, 상기 플립된(Flip) 데이터 패턴을 이용하여 상기 제4 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작을 함께 수행하여, 상기 제2 클록 신호와 상기 제4 클록 신호 사이의 스큐를 조절하는 제2 단계; 및
    플립되지 않은(No Flip) 데이터 패턴을 이용하여 상기 메모리 컨트롤러로부터의 클록 신호의 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작과, 플립된(Flip) 데이터 패턴을 이용하여 상기 메모리 컨트롤러로부터의 클록 신호의 반전된 파형에 상응하도록 생성된 상기 모니터링 클록 신호를 이용한 듀티 모니터링 동작을 함께 수행하여, 상기 제1 클록 신호와 상기 제2 클록 신호 사이의 스큐, 및 상기 제3 클록 신호와 상기 제4 클록 신호 사이의 스큐를 조절하는 제3 단계를 구비하는 것을 특징으로 하는 메모리 장치의 동작방법.
  19. 제18항에 있어서,
    상기 제1 단계에서, 상기 플립되지 않은(No Flip) 데이터 패턴은 "1100"에 해당하고, 상기 플립된(Flip) 데이터 패턴은 "0011"에 해당하며,
    상기 제2 단계에서, 상기 플립되지 않은(No Flip) 데이터 패턴은 "0110"에 해당하고, 상기 플립된(Flip) 데이터 패턴은 "1001" 에 해당하며,
    상기 제3 단계에서, 상기 플립되지 않은(No Flip) 데이터 패턴은 "1010" 에 해당하고, 상기 플립된(Flip) 데이터 패턴은 "0101"에 해당하는 것을 특징으로 하는 메모리 장치의 동작방법.
  20. 제18항에 있어서,
    상기 제1 내지 제3 단계들 각각에서 생성된 상기 듀티 코드를 상기 메모리 컨트롤러로 전송하는 단계; 및
    상기 메모리 컨트롤러로부터, 상기 클록 신호의 듀티를 조절하기 위한 듀티제어 코드 및 상기 제1 내지 제4 클록 신호들 중 적어도 하나의 스큐를 조절하기 위한 스큐 제어 코드를 수신하는 단계를 더 구비하는 것을 특징으로 하는 메모리 장치의 동작방법.
KR1020220140509A 2022-10-27 2022-10-27 다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법 KR20240059348A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220140509A KR20240059348A (ko) 2022-10-27 2022-10-27 다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법
US18/326,657 US20240144991A1 (en) 2022-10-27 2023-05-31 Memory device adjusting skew of multi-phase clock signals, memory controller controlling the memory device, and operating method of the memory device
TW112124437A TW202418275A (zh) 2022-10-27 2023-06-30 調整多相時鐘信號的偏移的記憶體裝置、控制記憶體裝置的記憶體控制器、以及記憶體裝置的操作方法
CN202310832247.9A CN117953932A (zh) 2022-10-27 2023-07-07 存储器件、存储控制器以及存储器件的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220140509A KR20240059348A (ko) 2022-10-27 2022-10-27 다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법

Publications (1)

Publication Number Publication Date
KR20240059348A true KR20240059348A (ko) 2024-05-07

Family

ID=90797086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220140509A KR20240059348A (ko) 2022-10-27 2022-10-27 다중 위상 클록 신호들의 스큐를 조절하는 메모리 장치, 이를 컨트롤하는 메모리 컨트롤러 및 메모리 장치의 동작방법

Country Status (4)

Country Link
US (1) US20240144991A1 (ko)
KR (1) KR20240059348A (ko)
CN (1) CN117953932A (ko)
TW (1) TW202418275A (ko)

Also Published As

Publication number Publication date
TW202418275A (zh) 2024-05-01
CN117953932A (zh) 2024-04-30
US20240144991A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
CN110097906B (zh) 调节占空比的存储器装置和具有存储器装置的存储器系统
US11862234B2 (en) Memory device and operation method thereof
US9959918B2 (en) Memory device and system supporting command bus training, and operating method thereof
US12088291B2 (en) Apparatus for transmitting and receiving a signal, a method of operating the same, a memory device, and a method of operating the memory device
CN106409323B (zh) 半导体系统和半导体器件
CN107844439B (zh) 支持命令总线训练的存储设备和系统及其操作方法
KR102473661B1 (ko) 듀티 사이클을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템
US10972248B2 (en) Method of calibrating clock phase and voltage offset, data recovery circuit performing the same and receiver including the same
KR102666132B1 (ko) 반도체 메모리 장치의 데이터 정렬 회로, 반도체 메모리 장치 및 반도체 메모리 장치의 데이터 정렬 방법
CN115458000A (zh) 执行数据训练的存储器控制器及其操作方法、片上系统
US20180350415A1 (en) Semiconductor devices and semiconductor systems including the same
US20240144991A1 (en) Memory device adjusting skew of multi-phase clock signals, memory controller controlling the memory device, and operating method of the memory device
US11145343B1 (en) Method for controlling multi-cycle write leveling process in memory system
US11062750B2 (en) Semiconductor devices and semiconductor systems
US20240241802A1 (en) Quadrature error correction circuit and memory device having the same
EP4318475A1 (en) Memory module adjusting inter-rank clock timing, memory system and training method thereof
EP4177890A1 (en) Apparatus, memory device, and method for multi-phase clock training
US20240127874A1 (en) Semiconductor system
US20240071443A1 (en) Semiconductor device and semiconductor system
KR20230067456A (ko) 멀티-페이즈 클록 트레이닝을 위한 장치, 메모리 장치 및 방법
KR20240019004A (ko) 랭크간 타이밍을 조정하는 메모리 모듈, 메모리 시스템, 그리고 그것의 트레이닝 방법
KR20240096230A (ko) 송신기, 이를 포함하는 메모리 장치 및 반도체 장치
CN117437964A (zh) 偏移校准训练方法及存储器装置
CN117524277A (zh) 存储器模块、其训练方法和存储器系统