KR20220121440A - 메모리 장치의 dq 캘리브레이션 패턴의 최적화 방법 및 이를 수행하는 컴퓨팅 시스템 - Google Patents

메모리 장치의 dq 캘리브레이션 패턴의 최적화 방법 및 이를 수행하는 컴퓨팅 시스템 Download PDF

Info

Publication number
KR20220121440A
KR20220121440A KR1020210025491A KR20210025491A KR20220121440A KR 20220121440 A KR20220121440 A KR 20220121440A KR 1020210025491 A KR1020210025491 A KR 1020210025491A KR 20210025491 A KR20210025491 A KR 20210025491A KR 20220121440 A KR20220121440 A KR 20220121440A
Authority
KR
South Korea
Prior art keywords
data input
output
training
data
memory device
Prior art date
Application number
KR1020210025491A
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 KR1020210025491A priority Critical patent/KR20220121440A/ko
Priority to US17/530,226 priority patent/US11983410B2/en
Publication of KR20220121440A publication Critical patent/KR20220121440A/ko

Links

Images

Classifications

    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Dram (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법에서, 복수의 데이터 입출력 핀들을 포함하는 메모리 장치로 트레이닝 커맨드를 전송한다. 복수의 데이터 입출력 핀들 각각에 대하여, 인접한 데이터 입출력 핀들이 서로 다른 위상의 신호들을 출력하도록 형성된 제1 조건의 트레이닝 패턴 및 인접한 데이터 입출력 핀들이 동일한 위상의 신호들을 출력하도록 형성된 제2 조건의 트레이닝 패턴 모두를 이용하여 트레이닝 동작을 수행한다. 트레이닝 동작의 결과에 기초하여 데이터 스트로브 신호와 복수의 데이터 입출력 핀들로부터 제공되는 복수의 데이터 신호들을 정렬한다.

Description

메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법 및 이를 수행하는 컴퓨팅 시스템{METHOD OF OPTIMIZING DQ CALIBRATION PATTERN OF MEMORY DEVICE AND COMPUTING SYSTEM PERFORMING THE SAME}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법 및 상기 DQ 캘리브레이션 패턴의 최적화 방법을 수행하는 컴퓨팅 시스템에 관한 것이다.
시스템 온 칩(system on chip; SOC)은 컴퓨팅 시스템 또는 다른 전자 시스템을 구현하기 위해 CPU(central processing unit), 메모리, 인터페이스(interface), 디지털 신호 처리 회로, 아날로그 신호 처리 회로 등 다양한 기능 블록들을 하나의 반도체 집적 회로에 집적하는 기술 또는 상기 기술에 따라 집적된 하나의 집적 회로(integrated circuit; IC)를 나타낸다. 시스템 온 칩은 업체(vendor), 용량(density), 프로세스(process) 별로 다양한 종류의 메모리 장치와 연동하여 동작할 수 있다. 이 때, 메모리 장치에 데이터를 독출/기입할 때 데이터 아이(data eye)를 확보하기 위해 DQ 캘리브레이션 동작, 즉 DQS/DQ 센터링(centering) 동작이 수행될 수 있다.
본 발명의 일 목적은 각각의 DQ에 대해 최적의 아이 오프닝(eye opening)을 확보할 수 있는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 DQ 캘리브레이션 패턴의 최적화 방법을 수행하는 컴퓨팅 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법에서, 복수의 데이터 입출력 핀들을 포함하는 메모리 장치로 트레이닝 커맨드를 전송한다. 상기 복수의 데이터 입출력 핀들 각각에 대하여, 인접한 데이터 입출력 핀들이 서로 다른 위상의 신호들을 출력하도록 형성된 제1 조건의 트레이닝 패턴 및 상기 인접한 데이터 입출력 핀들이 동일한 위상의 신호들을 출력하도록 형성된 제2 조건의 트레이닝 패턴 모두를 이용하여 트레이닝 동작을 수행한다. 상기 트레이닝 동작의 결과에 기초하여 데이터 스트로브 신호와 상기 복수의 데이터 입출력 핀들로부터 제공되는 복수의 데이터 신호들을 정렬한다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 컴퓨팅 시스템은 제1 메모리 장치 및 호스트 장치를 포함한다. 상기 제1 메모리 장치는 복수의 데이터 입출력 핀들을 포함한다. 상기 호스트 장치는 상기 제1 메모리 장치로 트레이닝 커맨드를 전송하고, 상기 복수의 데이터 입출력 핀들 각각에 대하여 인접한 데이터 입출력 핀들이 서로 다른 위상의 신호들을 출력하도록 형성된 제1 조건의 트레이닝 패턴 및 상기 인접한 데이터 입출력 핀들이 동일한 위상의 신호들을 출력하도록 형성된 제2 조건의 트레이닝 패턴 모두를 이용하여 트레이닝 동작을 수행하며, 상기 트레이닝 동작의 결과에 기초하여 데이터 스트로브 신호와 상기 복수의 데이터 입출력 핀들로부터 제공되는 복수의 데이터 신호들을 정렬한다.
상기와 같은 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법 및 컴퓨팅 시스템에서는, 트레이닝 패턴을 이용하여 데이터 스트로브 신호와 복수의 데이터 신호들을 정렬하며, 이 때 복수의 데이터 신호들을 출력하는 복수의 데이터 입출력 핀들 각각에 대하여 제1 조건(즉, odd mode)의 트레이닝 패턴 및 제2 조건(즉, even mode)의 트레이닝 패턴 모두를 이용하여 트레이닝 동작을 수행할 수 있다. 제품마다 데이터 입출력 핀들과 신호 전송 라인들의 설계가 달라지기 때문에, 사전에 트레이닝 패턴을 정의하는 것은 매우 어려우며, 이에 따라 트레이닝 패턴을 고려할 때 각 데이터 입출력 핀마다 가장 안 좋은(worst) 조건을 고려하여 트레이닝 및 신호 정렬을 수행할 수 있다. 따라서, 데이터 스트로브 신호와 데이터 신호 사이의 스큐(skew)를 효과적으로 보상할 수 있고, 최적의 아이 오프닝을 확보할 수 있으며, 메모리 장치의 동작 성능이 향상될 수 있다.
도 1은 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법을 나타내는 순서도이다.
도 2a 및 2b는 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법을 설명하기 위한 도면들이다.
도 3은 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 4는 도 3의 컴퓨팅 시스템에 포함되는 메모리 장치의 일 예를 나타내는 블록도이다.
도 5a 및 5b는 본 발명의 실시예들에 따른 컴퓨팅 시스템의 구조를 설명하기 위한 도면들이다.
도 6은 도 1의 트레이닝 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 7a, 7b, 8a, 8b, 8c, 8d, 8e, 8f 및 8g는 도 6의 트레이닝 동작을 설명하기 위한 도면들이다.
도 9는 도 1의 데이터 스트로브 신호와 복수의 데이터 신호들을 정렬하는 단계의 일 예를 나타내는 순서도이다.
도 10a, 10b, 10c, 10d, 11a 및 11b는 도 9의 정렬 동작을 설명하기 위한 도면들이다.
도 12 및 13은 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법을 나타내는 순서도이다.
도 14 및 15는 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법을 나타내는 순서도이다. 도 2a 및 2b는 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법을 설명하기 위한 도면들이다.
도 1을 참조하면, 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법은, 상기 메모리 장치와 연결되고 상기 메모리 장치의 동작을 제어하는 호스트 장치에 의해 수행된다. 상기 메모리 장치는 복수의 데이터 입출력 핀들(즉, DQ 핀들) 및 데이터 스트로브 핀(즉, DQS 핀)을 포함할 수 있다. DQ 캘리브레이션 패턴은 트레이닝 패턴이라고 부를 수도 있다. 상기 메모리 장치 및 상기 호스트 장치를 포함하는 컴퓨팅 시스템의 구조는 도 3 등을 참조하여 후술하도록 한다.
본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법에서, 상기 메모리 장치로 트레이닝 커맨드를 전송한다(단계 S100). 예를 들어, 상기 호스트 장치는 트레이닝 모드로 진입하여 상기 트레이닝 커맨드를 생성하여 상기 메모리 장치로 제공할 수 있다.
일 실시예에서, 도 12를 참조하여 후술하는 것처럼, 상기 메모리 장치의 파워 온(power on) 시에(즉, 동작 초기에), 상기 트레이닝 커맨드가 생성되어 상기 메모리 장치로 제공될 수 있다. 다른 실시예에서, 도 13을 참조하여 후술하는 것처럼, 상기 메모리 장치의 구동 중에(즉, 실시간으로), 환경 센서를 이용하여 동작 환경이 미리 정해진 기준 범위를 벗어나도록 변화한 것으로 판단된 경우에, 상기 트레이닝 커맨드가 생성되어 상기 메모리 장치로 제공될 수 있다.
상기 복수의 데이터 입출력 핀들 각각에 대하여, 인접한 데이터 입출력 핀들이 서로 다른 위상의 신호들을 출력하도록 형성된 제1 조건의 트레이닝 패턴 및 상기 인접한 데이터 입출력 핀들이 동일한 위상의 신호들을 출력하도록 형성된 제2 조건의 트레이닝 패턴 모두를 이용하여 트레이닝 동작을 수행한다(단계 S200). 예를 들어, 상기 제1 조건의 트레이닝 패턴은 상기 인접한 데이터 입출력 핀들이 서로 반대 위상의 신호들을 출력하도록 형성될 수 있다. 단계 S200에 대해서는 도 6 등을 참조하여 후술하도록 한다.
도 2a를 참조하면, 상기 인접한 데이터 입출력 핀들이 상기 제1 조건의 트레이닝 패턴에 기초하여 데이터 신호들을 출력하는 경우를 예시하고 있다. 상기 제1 조건은 오드(odd) 조건 또는 오드 모드라고 부를 수도 있다.
도 2a의 좌측은 인접한 2개의 데이터 입출력 핀들로부터 출력되고 서로 반대 위상을 가지는 2개의 데이터 신호들(DQ0a, DQ1a)을 나타내고, 도 2a의 우측은 좌측의 데이터 신호들(DQ0a, DQ1a)이 전송됨에 따라 2개의 신호 전송 라인들에서 생성되는 전기장(electric field)(E) 및 자기장(magnetic field)(H)을 나타낸다. 도 2a의 우측에서, "+"로 표기된 부분이 데이터 신호(DQ0a)가 전송되는 신호 전송 라인을 나타내고, "-"로 표기된 부분이 데이터 신호(DQ1a)가 전송되는 신호 전송 라인을 나타낸다. 도 2a에 도시된 것처럼 신호 전송 라인들에 전기장이 형성되는 경우에, 인접한 신호 전송 라인에 에너지가 가해지면서 데이터 신호가 상대적으로 빨리 전송 및 도착할 수 있다.
도 2b를 참조하면, 상기 인접한 데이터 입출력 핀들이 상기 제2 조건의 트레이닝 패턴에 기초하여 데이터 신호들을 출력하는 경우를 예시하고 있다. 상기 제2 조건은 이븐(odd) 조건 또는 이븐 모드라고 부를 수도 있다.
도 2b의 좌측은 인접한 2개의 데이터 입출력 핀들로부터 출력되고 서로 동일한 위상을 가지는 2개의 데이터 신호들(DQ0b, DQ1b)을 나타내고, 도 2b의 우측은 좌측의 데이터 신호들(DQ0b, DQ1b)이 전송됨에 따라 2개의 신호 전송 라인들에서 생성되는 전기장(E) 및 자기장(H)을 나타낸다. 도 2b의 좌측의 데이터 신호들(DQ0b, DQ1b)은 동일한 위상을 가지므로, 도 2b의 우측의 신호 전송 라인들을 모두 "+"로 표기하였다. 도 2b에 도시된 것처럼 신호 전송 라인들에 전기장이 형성되는 경우에는, 도 2a의 경우와 비교하여 데이터 신호가 상대적으로 느리게 전송 및 도착할 수 있다.
인접한 2개의 신호 전송 라인들 사이의 전자기장은 서로 상호 작용하며(interact), 이러한 상호 작용은 신호 전송 라인들의 임피던스(impedance) 및 전파 지연(propagation delay)에 영향을 미칠 수 있다. 이에 따라, 도 2a를 참조하여 상술한 것처럼, 상기 제1 조건의 트레이닝 패턴에 기초하여 상기 인접한 데이터 입출력 핀들로부터 출력되는 서로 반대 위상의 데이터 신호들(DQ0a, DQ1a)이 상기 메모리 장치로부터 출력되어 상기 호스트 장치에 도달하는데 제1 시간이 소요될 수 있다. 또한, 도 2b를 참조하여 상술한 것처럼, 상기 제2 조건의 트레이닝 패턴에 기초하여 상기 인접한 데이터 입출력 핀들로부터 출력되는 서로 동일한 위상의 데이터 신호들(DQ0b, DQ1b)이 상기 메모리 장치로부터 출력되어 상기 호스트 장치에 도달하는데 상기 제1 시간보다 긴 제2 시간이 소요될 수 있다. 본 발명의 실시예들에 따르면, 상술한 다양한 조건들을 모두 고려하여 트레이닝 동작을 수행할 수 있다.
다시 도 1을 참조하면, 상기 트레이닝 동작의 결과에 기초하여, 상기 데이터 스트로브 핀으로부터 제공되는 데이터 스트로브 신호와 상기 복수의 데이터 입출력 핀들로부터 제공되는 복수의 데이터 신호들을 정렬한다(단계 S300). 예를 들어, 상기 데이터 스트로브 신호의 에지(edge)에 상기 복수의 데이터 신호들의 중심(center)을 정렬하며, 이를 DQS/DQ centering이라고 부를 수 있다. 단계 S300에 대해서는 도 9 등을 참조하여 후술하도록 한다.
본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법에서는, 트레이닝 패턴을 이용하여 상기 데이터 스트로브 신호와 상기 복수의 데이터 신호들을 정렬하며, 이 때 상기 복수의 데이터 신호들을 출력하는 상기 복수의 데이터 입출력 핀들 각각에 대하여 상기 제1 조건(즉, odd mode)의 트레이닝 패턴 및 상기 제2 조건(즉, even mode)의 트레이닝 패턴 모두를 이용하여 상기 트레이닝 동작을 수행할 수 있다. 제품마다 데이터 입출력 핀들과 신호 전송 라인들의 설계(design)가 달라지기 때문에, 사전에 트레이닝 패턴을 정의하는 것은 매우 어려우며, 이에 따라 트레이닝 패턴을 고려할 때 각 데이터 입출력 핀마다 가장 안 좋은(worst) 조건을 고려하여 트레이닝 및 신호 정렬을 수행할 수 있다. 따라서, 상기 데이터 스트로브 신호와 상기 데이터 신호 사이의 스큐(skew)를 효과적으로 보상할 수 있고, 최적의 아이 오프닝(eye opening)을 확보할 수 있으며, 상기 메모리 장치의 동작 성능이 향상될 수 있다.
도 3은 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 3을 참조하면, 컴퓨팅 시스템(10)은 호스트 장치(50) 및 메모리 장치(100)를 포함한다.
일 실시예에서, 컴퓨팅 시스템(10)은 PC(Personal Computer), 서버 컴퓨터(server computer), 데이터 센터(data center), 워크스테이션(workstation), 노트북(laptop), 핸드폰(cellular), 스마트 폰(smart phone), 태블릿(tablet) PC, MP3 플레이어, PDA(Personal Digital Assistant), EDA(enterprise digital assistant), PMP(portable multimedia player), 디지털 카메라(digital camera), 음악 재생기(music player), 휴대용 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기, 드론(drone) 등의 임의의 전자 기기일 수 있다.
호스트 장치(50)는 컴퓨팅 시스템(10)의 전반적인 동작을 제어할 수 있다. 예를 들어, 호스트 장치(50)는 메모리 장치(100)에 클럭 신호(CK) 및 제어 신호(CONT)를 제공하고, 메모리 장치(100)에 커맨드(CMD) 및 어드레스(ADDR)를 제공하며, 메모리 장치(100)와 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 주고받을 수 있다.
호스트 장치(50)는 메모리 장치(100)의 동작을 제어하는 메모리 컨트롤러를 포함하거나 상기 메모리 컨트롤러로서 기능할 수 있다. 예를 들어, 호스트 장치(50)는 메모리 장치(100)에 대한 데이터 기입/독출 동작 등을 제어할 수 있다.
호스트 장치(50)는 적어도 하나의 프로세서(60) 및 내부 메모리(70)를 포함할 수 있다.
프로세서(60)는 운영 체제(operating system; OS)를 실행할 수 있다. 상기 운영 체제는 파일 관리를 위한 파일 시스템 및 주변 기기를 상기 운영 체제 레벨에서 제어하기 위한 장치 드라이버를 포함할 수 있다. 또한, 프로세서(60)는 다양한 서비스를 제공하기 위하여 동영상, 게임, 웹 브라우저 등과 같은 어플리케이션을 실행할 수 있다. 예를 들어, 프로세서(60)는 중앙 처리 장치(central processing unit; CPU), 마이크로프로세서 또는 이와 유사한 임의의 장치일 수 있다.
내부 메모리(70)는 프로세서(60)에 의해 실행 및 처리되는 코드(code), 명령어(instruction) 및 데이터를 저장할 수 있다. 예를 들어, 내부 메모리(70)는 도 1을 참조하여 상술한 트레이닝 동작의 결과 및/또는 정렬 동작의 결과를 저장할 수 있다. 예를 들어, 내부 메모리(70)는 SRAM(static random access memory) 등과 같은 임의의 휘발성 메모리일 수 있다.
일 실시예에서, 내부 메모리(70)는 메모리 장치(100)의 초기화 동작 및/또는 부팅 동작을 수행하는데 이용되는 부트 코드를 추가적으로 저장하고, 전원 공급이 중단되더라도 저장된 데이터를 상실하지 않는 임의의 비휘발성 메모리 장치를 더 포함할 수 있다.
일 실시예에서, 호스트 장치(50)는 시스템 온 칩(system on chip; SOC)일 수 있다. 이 경우, 도시하지는 않았지만, 호스트 장치(50)는 인터페이스, 디지털 신호 처리 회로, 아날로그 신호 처리 회로 등 다양한 기능 블록들을 더 포함할 수 있다.
메모리 장치(100)는 클럭 신호(CK), 제어 신호(CONT), 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 동작하며, 호스트 장치(50)와 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 주고받을 수 있다. 예를 들어, 메모리 장치(100)는 호스트 장치(50)의 요청에 따라 데이터를 기입하거나, 저장된 데이터를 독출하여 호스트 장치(50)에 전송할 수 있다. 데이터 스트로브 신호(DQS)는 클럭 신호(CK)에 기초하여 생성될 수 있다.
메모리 장치(100)는 메모리 셀 어레이(110) 및 주변 회로(120)를 포함할 수 있다.
메모리 셀 어레이(110)는 데이터를 저장하는 복수의 메모리 셀들을 포함할 수 있다. 도시하지는 않았으나, 메모리 셀 어레이(110)는 복수의 랭크(rank)들로 구분될 수 있다. 주변 회로(120)는 메모리 셀 어레이(110)로의 액세스 동작을 제어할 수 있다.
일 실시예에서, 메모리 장치(100)는 호스트 장치(50)로부터 제공되는 클럭 신호(CK)에 동기하여 동작하며, 전원 공급이 중단될 때 저장된 데이터를 상실하는 휘발성 메모리 장치일 수 있다. 메모리 장치(100)의 구체적인 구조는 도 4를 참조하여 후술하도록 한다.
한편, 도시하지는 않았으나, 컴퓨팅 시스템(10)은 호스트 장치(50) 및 메모리 장치(100)에 전원 전압을 공급하는 전원 공급 장치를 더 포함할 수 있다. 예를 들어, 상기 전원 공급 장치는 전원 관리 집적 회로(power management integrated circuit; PMIC)일 수 있다.
본 발명의 실시예들과 관련하여 컴퓨팅 시스템(10)의 동작을 상세하게 설명하면, 먼저 호스트 장치(50)는 메모리 장치(100)로 트레이닝 커맨드를 전송한다. 호스트 장치(50)는 메모리 장치(100)의 복수의 데이터 입출력 핀들(예를 들어, 도 5a의 PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72) 각각에 대하여, 인접한 데이터 입출력 핀들이 서로 다른 위상의 신호들을 출력하도록 형성된 제1 조건의 트레이닝 패턴(예를 들어, 도 7a의 TP_ODD_DQ0) 및 상기 인접한 데이터 입출력 핀들이 동일한 위상의 신호들을 출력하도록 형성된 제2 조건의 트레이닝 패턴(예를 들어, 도 7b의 TP_EVEN_DQ0) 모두를 이용하여 트레이닝 동작을 수행한다. 호스트 장치(50)는 상기 트레이닝 동작의 결과에 기초하여, 데이터 스트로브 핀(예를 들어, 도 5a의 PDQS2)으로부터 제공되는 데이터 스트로브 신호(DQS)와 상기 복수의 데이터 입출력 핀들로부터 제공되는 복수의 데이터 신호들(DQ)을 정렬한다. 다시 말하면, 도 1의 단계 S100, S200 및 S300은 모두 호스트 장치(50)에 의해 수행되며, 예를 들어 프로세서(60)에 의해 수행될 수 있다. 또한, 단계 S200 및 S300의 수행 결과 생성되는 트레이닝 데이터 및/또는 정렬 데이터는 내부 메모리(70)에 저장될 수 있다.
도 4는 도 3의 컴퓨팅 시스템에 포함되는 메모리 장치의 일 예를 나타내는 블록도이다.
도 4를 참조하면, 메모리 장치(200)는 제어 로직(210), 리프레쉬 제어 회로(215), 어드레스 레지스터(220), 뱅크 제어 로직(230), 로우 어드레스 멀티플렉서(240), 컬럼 어드레스 래치(250), 로우 디코더, 컬럼 디코더, 메모리 셀 어레이, 센스 앰프부, 입출력 게이팅 회로(290), 데이터 입출력 버퍼(295), ODT(on die termination) 회로(297) 및 데이터 입출력 핀(또는 패드)(299)을 포함할 수 있다.
일 실시예에서, 메모리 장치(200)는 도 2의 메모리 장치(100)일 수 있고, 특히 휘발성 메모리 장치일 수 있다. 예를 들어, 메모리 장치(200)는 DRAM(dynamic random access memory), 모바일 DRAM, DDR(dual data rate) DRAM, LPDDR(low power DDR) DRAM, GDDR (graphic DDR) DRAM 등과 같은 임의의 휘발성 메모리 장치들 중 하나일 수 있다.
상기 메모리 셀 어레이는 복수의 메모리 셀들을 포함하고, 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)을 포함할 수 있다. 또한, 상기 로우 디코더는 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)에 각각 연결된 제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d)을 포함하고, 상기 컬럼 디코더는 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)에 각각 연결된 제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d)을 포함하며, 상기 센스 앰프부는 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)에 각각 연결된 제1 내지 제4 뱅크 센스 앰프들(285a, 285b, 285c, 285d)을 포함할 수 있다. 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d), 제1 내지 제4 뱅크 센스 앰프들(285a, 285b, 285c, 285d), 제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d) 및 제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d)은 제1 내지 제4 뱅크들을 각각 구성할 수 있다. 도 4에는 네 개의 뱅크들을 포함하는 메모리 장치(200)의 예가 도시되어 있으나, 실시예에 따라서, 메모리 장치(200)는 임의의 수의 뱅크들을 포함할 수 있다.
어드레스 레지스터(220)는 메모리 컨트롤러(또는 호스트 장치)로부터 뱅크 어드레스(BANK_ADDR), 로우 어드레스(ROW_ADDR) 및 컬럼 어드레스(COL_ADDR)를 포함하는 어드레스(ADDR)를 수신할 수 있다. 어드레스 레지스터(220)는 수신된 뱅크 어드레스(BANK_ADDR)를 뱅크 제어 로직(230)에 제공하고, 수신된 로우 어드레스(ROW_ADDR)를 로우 어드레스 멀티플렉서(240)에 제공하며, 수신된 컬럼 어드레스(COL_ADDR)를 컬럼 어드레스 래치(250)에 제공할 수 있다.
뱅크 제어 로직(230)은 뱅크 어드레스(BANK_ADDR)에 응답하여 뱅크 제어 신호들을 생성할 수 있다. 상기 뱅크 제어 신호들에 응답하여, 제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 로우 디코더가 활성화되고, 제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 컬럼 디코더가 활성화될 수 있다.
리프레쉬 제어 회로(215)는 리프레쉬 커맨드가 수신되는 경우 또는 셀프 리프레쉬 모드에 진입하는 경우에 리프레쉬 어드레스(REF_ADDR)를 생성할 수 있다. 예를 들어, 리프레쉬 제어 회로(215)는 리프레쉬 어드레스(REF_ADDR)를 상기 메모리 셀 어레이의 첫 번째 어드레스부터 마지막 어드레스까지 순차적으로 변경시키는 리프레쉬 카운터를 포함할 수 있다.
로우 어드레스 멀티플렉서(240)는 어드레스 레지스터(220)로부터 로우 어드레스(ROW_ADDR)를 수신하고, 리프레쉬 제어 회로(215)로부터 리프레쉬 어드레스(REF_ADDR)를 수신할 수 있다. 로우 어드레스 멀티플렉서(240)는 로우 어드레스(ROW_ADDR) 또는 리프레쉬 어드레스(REF_ADDR)를 선택적으로 출력할 수 있다. 로우 어드레스 멀티플렉서(240)로부터 출력된 로우 어드레스는 제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d)에 각각 인가될 수 있다.
제1 내지 제4 뱅크 로우 디코더들(260a, 260b, 260c, 260d) 중 뱅크 제어 로직(230)에 의해 활성화된 뱅크 로우 디코더는 로우 어드레스 멀티플렉서(240)로부터 출력된 로우 어드레스를 디코딩하여 상기 로우 어드레스에 상응하는 워드 라인을 활성화할 수 있다. 예를 들어, 상기 활성화된 뱅크 로우 디코더는 로우 어드레스에 상응하는 워드 라인에 워드 라인 구동 전압을 인가할 수 있다.
컬럼 어드레스 래치(250)는 어드레스 레지스터(220)로부터 컬럼 어드레스(COL_ADDR)를 수신하고, 수신된 컬럼 어드레스(COL_ADDR)를 일시적으로 저장할 수 있다. 컬럼 어드레스 래치(250)는 일시적으로 저장된 컬럼 어드레스(COL_ADDR)를 제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d)에 각각 인가할 수 있다.
제1 내지 제4 뱅크 컬럼 디코더들(270a, 270b, 270c, 270d) 중 뱅크 제어 로직(230)에 의해 활성화된 뱅크 컬럼 디코더는 입출력 게이팅 회로(290)를 통하여 뱅크 어드레스(BANK_ADDR) 및 컬럼 어드레스(COL_ADDR)에 상응하는 센스 앰프를 활성화시킬 수 있다.
입출력 게이팅 회로(290)는 입출력 데이터를 게이팅하는 회로들과 함께, 입력 데이터 마스크 로직, 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)로부터 출력된 데이터를 저장하기 위한 독출 데이터 래치들, 및 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d)에 데이터를 기입하기 위한 기입 드라이버들을 포함할 수 있다.
제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d) 중 하나의 뱅크 어레이에서 독출될 데이터는 상기 하나의 뱅크 어레이에 상응하는 센스 앰프에 의해 감지되고, 상기 독출 데이터 래치들에 저장될 수 있다. 상기 독출 데이터 래치들에 저장된 데이터는 데이터 입출력 버퍼(295) 및 데이터 입출력 핀(299)을 통하여 상기 메모리 컨트롤러에 제공될 수 있다. 제1 내지 제4 뱅크 어레이들(280a, 280b, 280c, 280d) 중 하나의 뱅크 어레이에 기입될 데이터는 상기 메모리 컨트롤러로부터 데이터 입출력 핀(299)을 통하여 데이터 입출력 버퍼(295)에 제공될 수 있다. 데이터 입출력 버퍼(295)에 제공된 데이터는 상기 기입 드라이버들을 통하여 상기 하나의 뱅크 어레이에 기입될 수 있다.
제어 로직(210)은 메모리 장치(200)의 동작을 제어할 수 있다. 예를 들어, 제어 로직(210)은 메모리 장치(200)가 기입 동작 또는 독출 동작을 수행하도록 제어 신호들을 생성할 수 있다. 제어 로직(210)은 상기 메모리 컨트롤러로부터 수신되는 커맨드(CMD)를 디코딩하는 커맨드 디코더(211) 및 메모리 장치(200)의 동작 모드를 설정하기 위한 모드 레지스터(212)를 포함할 수 있다. 예를 들어, 커맨드 디코더(211)는 기입 인에이블 신호(/WE), 로우 어드레스 스트로브 신호(/RAS), 컬럼 어드레스 스트로브 신호(/CAS), 칩 선택 신호(/CS) 등을 디코딩하여 커맨드(CMD)에 상응하는 상기 제어 신호들을 생성할 수 있다. 또한, 제어 로직(210)은 동기 방식으로 메모리 장치(200)를 구동하기 위한 클럭 신호(CK) 및 클럭 인에이블 신호(/CKE)를 더 수신할 수 있다.
ODT 회로(297)는 데이터 입출력 핀(299) 및 데이터 입출력 버퍼(295)와 연결될 수 있다. ODT 회로(297)가 활성화되는 경우에 ODT를 수행할 수 있다. 상기 ODT가 수행되는 경우에, 임피던스 매칭에 의해 신호의 반사를 억제함으로써, 송수신되는 신호의 충실도를 향상시킬 수 있다.
도 4에서 상기 메모리 셀 어레이를 제외한 나머지 구성요소들이 도 3의 주변 회로(120)에 대응할 수 있다. 편의상 도 4에서는 1개의 데이터 입출력 핀(299)만을 도시하였으나, 도 5a, 5b 등을 참조하여 후술하는 것처럼 메모리 장치는 복수의 데이터 입출력 핀들을 포함할 수 있다.
도 5a 및 5b는 본 발명의 실시예들에 따른 컴퓨팅 시스템의 구조를 설명하기 위한 도면들이다.
도 5a를 참조하면, 컴퓨팅 시스템은 기판(또는 보드(board))(20), 호스트 장치(51) 및 메모리 장치(101)를 포함할 수 있다. 편의상 도 5a에서는 호스트 장치(51)와 메모리 장치(101) 사이의 신호 전송을 위한 구성만을 도시하였다.
호스트 장치(51)는 클럭 신호(CK)를 출력하는 클럭 핀(PC1), 데이터 신호들(DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7)을 수신하는 데이터 입출력 핀들(PDQ01, PDQ11, PDQ21, PDQ31, PDQ41, PDQ51, PDQ61, PDQ71) 및 데이터 스트로브 신호(DQS)를 수신하는 데이터 스트로브 핀(PDQS1)을 포함할 수 있다. 도시하지는 않았으나, 호스트 장치(51)는 핀들(PC1, PDQ01, PDQ11, PDQ21, PDQ31, PDQ41, PDQ51, PDQ61, PDQ71, PDQS1)과 연결되는 송신기들, 수신기들 및 PHY(physical layer)부를 더 포함할 수 있다.
메모리 장치(101)는 클럭 신호(CK)를 수신하는 클럭 핀(PC2), 데이터 신호들(DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7)을 출력하는 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72) 및 데이터 스트로브 신호(DQS)를 출력하는 데이터 스트로브 핀(PDQS2)을 포함할 수 있다. 도시하지는 않았으나, 메모리 장치(101)는 핀들(PC2, PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72, PDQS2)과 연결되는 송신기들 및 수신기들을 더 포함할 수 있다.
호스트 장치(51) 및 메모리 장치(101)는 기판(20) 상에 실장되어 서로 전기적으로 연결될 수 있다. 기판(20)은 서로 마주보는 상부면과 하부면을 갖는 단층 또는 다층 회로 기판일 수 있다. 예를 들어, 기판(20)은 인쇄 회로 기판(Printed Circuit Board; PCB)일 수 있다.
기판(20)은 표면 또는 내부에 형성된 복수의 신호 전송 라인들(LC, LDQ0, LDQ1, LDQ2, LDQ3, LDQ4, LDQ5, LDQ6, LDQ7, LDQS)을 포함할 수 있다. 신호 전송 라인(LC)은 클럭 핀들(PC1, PC2)과 전기적으로 연결되어 클럭 신호(CK)를 전송할 수 있다. 신호 전송 라인들(LC, LDQ0, LDQ1, LDQ2, LDQ3, LDQ4, LDQ5, LDQ6, LDQ7) 각각은 데이터 입출력 핀들(PDQ01, PDQ11, PDQ21, PDQ31, PDQ41, PDQ51, PDQ61, PDQ71) 중 하나 및 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72) 중 하나와 전기적으로 연결되어 데이터 신호들(DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7) 중 하나를 전송할 수 있다. 신호 전송 라인(LDQS)은 데이터 스트로브 핀들(PDQS1, PDQS2)과 전기적으로 연결되어 데이터 스트로브 신호(DQS)를 전송할 수 있다.
도 5a에서는 데이터 신호들(DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7) 및 데이터 스트로브 신호(DQS)가 메모리 장치(101)에서 호스트 장치(51)로 전송되는 경우만을 도시하였으나, 본 발명은 이에 한정되지 않으며, 데이터 신호들(DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7) 및 데이터 스트로브 신호(DQS)는 호스트 장치(51)에서 메모리 장치(101)로 전송될 수도 있다.
도 5b를 참조하면, 기판(21)에 포함되는 신호 전송 라인들(LDQ0, LDQ1, LDQ2, LDQ3, LDQ4, LDQ5, LDQ6, LDQ7)의 배치를 예시하고 있다.
일 실시예에서, 도 5a에 도시된 메모리 장치(101) 내에서 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)의 배열 순서와 도 5b에 도시된 기판(21) 내에서 신호 전송 라인들(LC, LDQ0, LDQ1, LDQ2, LDQ3, LDQ4, LDQ5, LDQ6, LDQ7)의 배열 순서는 서로 상이할 수 있다. 예를 들어, 상기 데이터 입출력 핀들은 위에서부터 아래로 PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62 및 PDQ72의 순서로 배열되지만, 상기 신호 전송 라인들은 I-I'를 따라서 LDQ1, LDQ7, LDQ2, LDQ6, LDQ5, LDQ4, LDQ3 및 LDQ0의 순서로 배열될 수 있다.
트레이닝 패턴을 생성할 때, 도 2a 및 2b를 참조하여 상술한 상기 제1 조건(즉, odd mode) 및 상기 제2 조건(즉, even mode)의 특성을 고려하여 각 데이터 입출력 핀마다 적절한 패턴을 정의하는 것이 중요하다. 이 때, 메모리 장치(101)의 패드 또는 핀 순서(ordering)는 기본적으로 핀 번호 순서대로 정의되어 있으나, 실제로 기판을 설계할 때는 데이터 입출력 핀들과 연결되는 신호 전송 라인들이 핀 번호 순서대로 위치하지 않을 수 있다. 제품마다 설계가 달라지기 때문에 사전에 트레이닝 패턴을 정의하는 것은 불가능할 수 있다. 본 발명의 실시예들에 따르면, 트레이닝 패턴을 고려할 때 각 데이터 입출력 핀마다 가장 안 좋은(worst) 조건을 고려하여 트레이닝 및 신호 정렬을 수행할 수 있다.
도 6은 도 1의 트레이닝 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 1, 5a 및 6을 참조하면, 단계 S200에서 수행되는 상기 트레이닝 동작은 모든 데이터 신호들을 데이터 스트로브 신호에 센터링(centering)시키는 DQ 캘리브레이션 동작이며, 특히 메모리 장치(101)에 대한 독출 동작 시에 데이터 아이(data eye)를 확보하기 위한 독출 DQ 캘리브레이션 동작일 수 있다.
일 실시예에서, 상기 독출 DQ 캘리브레이션 동작을 수행하기 위한 상기 제1 조건의 트레이닝 패턴 및 상기 제2 조건의 트레이닝 패턴은 메모리 장치(101)에 저장될 수 있다. 예를 들어, 상기 제1 조건의 트레이닝 패턴 및 상기 제2 조건의 트레이닝 패턴은 모드 레지스터(예를 들어, 도 4의 212)에 저장될 수 있다.
일 실시예에서, 단계 S200을 수행하기 이전에 단계 S100에 의해 전송되는 상기 트레이닝 커맨드는 MRW(mode register write) 커맨드 및 MPC(multi-purpose command) 커맨드를 포함할 수 있다. 상기 MRW 커맨드가 전송되는 경우에, 메모리 장치(101)는 DQ 캘리브레이션 패턴(또는 독출 패턴), 즉 상기 제1 조건의 트레이닝 패턴 및 상기 제2 조건의 트레이닝 패턴을 미리 로딩하여 모드 레지스터(212)에 설정할 수 있다. 상기 MPC 커맨드가 전송되는 경우에, 메모리 장치(101)는 복수의 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)을 통해 상기 제1 조건의 트레이닝 패턴 및 상기 제2 조건의 트레이닝 패턴을 출력하여 상기 트레이닝 동작을 수행할 수 있다.
상기 트레이닝 동작을 수행하는데 있어서(단계 S200), 복수의 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72) 중 제1 데이터 신호(DQ0)를 출력하는 제1 데이터 입출력 핀(PDQ02)에 대하여, 상기 제1 조건의 제1 트레이닝 패턴 및 상기 제2 조건의 제2 트레이닝 패턴에 기초하여 제1 트레이닝 동작을 수행할 수 있다(단계 S210). 예를 들어, 상기 제1 및 제2 트레이닝 패턴들을 모드 레지스터(212)에 설정하고 이에 기초하여 복수의 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)을 통해 복수의 데이터 신호들(DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7)을 출력함으로써, 상기 제1 트레이닝 동작이 수행될 수 있다. 예를 들어, 상기 제1 및 제2 트레이닝 패턴들은 메모리 셀 어레이를 거치지 않고 모드 레지스터(212)에서 바로 출력될 수 있다. 상기 제1 및 제2 트레이닝 패턴들에 대해서는 도 7a 및 7b를 참조하여 후술하도록 한다.
일 실시예에서, 상기 제1 트레이닝 동작의 결과는 호스트 장치(51)의 내부 메모리(예를 들어, 도 3의 70)에 저장될 수 있다. 예를 들어, 상기 제1 트레이닝 동작이 수행된 이후에 트레이닝 상태(status)를 확인하고, 상기 트레이닝 상태가 패스(pass) 상태인 경우에 상기 제1 트레이닝 동작이 성공한 것으로 판단하고 상기 제1 트레이닝 동작의 결과를 저장할 수 있다. 상기 트레이닝 상태가 페일(fail) 상태인 경우에 제1 트레이닝 동작이 실패한 것으로 판단할 수 있다.
일 실시예에서, 상기 제1 트레이닝 동작이 성공적으로 완료되면, 모드 레지스터(212)에 설정된 트레이닝 패턴을 상기 제1 및 제2 트레이닝 패턴들에서 이후의 트레이닝 동작을 위한 트레이닝 패턴들(예를 들어, 단계 S220의 제2 트레이닝 동작을 수행하기 위한 제3 트레이닝 패턴 및 제4 트레이닝 패턴)로 변경할 수 있다.
이후에, 복수의 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72) 중 제2 데이터 신호(DQ1)를 출력하는 제2 데이터 입출력 핀(PDQ12)에 대하여, 상기 제1 조건의 상기 제3 트레이닝 패턴 및 상기 제2 조건의 상기 제4 트레이닝 패턴에 기초하여 상기 제2 트레이닝 동작을 수행할 수 있다(단계 S220).
이후에, 복수의 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72) 중 제3 데이터 신호(DQ2)를 출력하는 제3 데이터 입출력 핀(PDQ22)에 대하여, 상기 제1 조건의 제5 트레이닝 패턴 및 상기 제2 조건의 제6 트레이닝 패턴에 기초하여 제3 트레이닝 동작을 수행할 수 있다(단계 S230).
최종적으로, 복수의 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72) 중 제K(K는 2 이상의 자연수) 데이터 신호(DQ7)를 출력하는 제K 데이터 입출력 핀(PDQ72)에 대하여, 상기 제1 조건의 제(2K-1) 트레이닝 패턴 및 상기 제2 조건의 제2K 트레이닝 패턴에 기초하여 제K 트레이닝 동작을 수행할 수 있다(단계 S240). 도 5a의 예에서, K=8일 수 있다.
단계 S220, S230 및 S240은 각각 단계 S210과 실질적으로 동일할 수 있다. 상기 제3, 제5 및 제(2K-1) 트레이닝 패턴들에 대해서는 도 8a, 8b, 8c, 8d, 8e, 8f 및 8g를 참조하여 후술하도록 한다.
도 7a, 7b, 8a, 8b, 8c, 8d, 8e, 8f 및 8g는 도 6의 트레이닝 동작을 설명하기 위한 도면들이다.
도 7a를 참조하면, 도 6의 단계 S210의 상기 제1 트레이닝 동작에서 이용되는 상기 제1 조건의 제1 트레이닝 패턴(TP_ODD_DQ0)을 예시하고 있다.
일 실시예에서, 제1 트레이닝 패턴(TP_ODD_DQ0)은 복수의 제1 비트 시퀀스(bit sequence)들(BS_ODD0_DQ0, BS_ODD0_DQ1, BS_ODD0_DQ2, BS_ODD0_DQ3, BS_ODD0_DQ4, BS_ODD0_DQ5, BS_ODD0_DQ6, BS_ODD0_DQ7)을 포함할 수 있다. 각 제1 비트 시퀀스는 하나의 데이터 입출력 핀에 대응하고, 복수의 비트 라인들(BL0, BL1, BL2, BL3, BL4, BL5, BL6, BL7, BL8, BL9, BL10, BL11, BL12, BL13, BL14, BL15)로부터 출력되고 하나의 입출력 핀을 통해 출력되는 하나의 데이터 신호에 대응할 수 있다.
예를 들어, 제1 비트 시퀀스(BS_ODD0_DQ0)는 제1 데이터 입출력 핀(PDQ02) 및 제1 데이터 신호(DQ0)에 대응하고, 제1 비트 시퀀스(BS_ODD0_DQ1)는 제2 데이터 입출력 핀(PDQ12) 및 제2 데이터 신호(DQ1)에 대응하고, 제1 비트 시퀀스(BS_ODD0_DQ2)는 제3 데이터 입출력 핀(PDQ22) 및 제3 데이터 신호(DQ2)에 대응하고, 제1 비트 시퀀스(BS_ODD0_DQ3)는 제4 데이터 입출력 핀(PDQ32) 및 제4 데이터 신호(DQ3)에 대응하고, 제1 비트 시퀀스(BS_ODD0_DQ4)는 제5 데이터 입출력 핀(PDQ42) 및 제5 데이터 신호(DQ4)에 대응하고, 제1 비트 시퀀스(BS_ODD0_DQ5)는 제6 데이터 입출력 핀(PDQ52) 및 제6 데이터 신호(DQ5)에 대응하고, 제1 비트 시퀀스(BS_ODD0_DQ6)는 제7 데이터 입출력 핀(PDQ62) 및 제7 데이터 신호(DQ6)에 대응하며, 제1 비트 시퀀스(BS_ODD0_DQ7)는 제8 데이터 입출력 핀(PDQ72) 및 제8 데이터 신호(DQ7)에 대응할 수 있다.
일 실시예에서, 제1 트레이닝 패턴(TP_ODD_DQ0)은 제1 데이터 입출력 핀(PDQ02)에 대하여 상기 제1 조건(즉, odd mode)의 트레이닝 패턴이며, 따라서 제1 데이터 입출력 핀(PDQ02)에 대응하는 제1 비트 시퀀스(BS_ODD0_DQ0)는 나머지 데이터 입출력 핀들(PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)에 대응하는 제1 비트 시퀀스들(BS_ODD0_DQ1, BS_ODD0_DQ2, BS_ODD0_DQ3, BS_ODD0_DQ4, BS_ODD0_DQ5, BS_ODD0_DQ6, BS_ODD0_DQ7)과 다를 수 있다. 예를 들어, 제1 비트 시퀀스(BS_ODD0_DQ0)는 "1010101001010101"이고, 제1 비트 시퀀스들(BS_ODD0_DQ1, BS_ODD0_DQ2, BS_ODD0_DQ3, BS_ODD0_DQ4, BS_ODD0_DQ5, BS_ODD0_DQ6, BS_ODD0_DQ7)은 "0101010110101010"이며, 제1 비트 시퀀스(BS_ODD0_DQ0)를 반전하는 경우에 제1 비트 시퀀스들(BS_ODD0_DQ1, BS_ODD0_DQ2, BS_ODD0_DQ3, BS_ODD0_DQ4, BS_ODD0_DQ5, BS_ODD0_DQ6, BS_ODD0_DQ7)과 동일할 수 있다.
도 6의 단계 S210의 상기 제1 트레이닝 동작에서, 제1 데이터 입출력 핀(PDQ02)을 통해 제1 비트 시퀀스(BS_ODD0_DQ0)에 대응하는 제1 데이터 신호(DQ0)를 출력하고, 나머지 데이터 입출력 핀들(PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)을 통해 제1 비트 시퀀스들(BS_ODD0_DQ1, BS_ODD0_DQ2, BS_ODD0_DQ3, BS_ODD0_DQ4, BS_ODD0_DQ5, BS_ODD0_DQ6, BS_ODD0_DQ7)에 대응하는 데이터 신호들(DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7)을 각각 출력함으로써, 제1 서브 트레이닝 동작을 수행할 수 있다.
도 7b를 참조하면, 도 6의 단계 S210의 상기 제1 트레이닝 동작에서 이용되는 상기 제2 조건의 제2 트레이닝 패턴(TP_EVEN_DQ0)을 예시하고 있다.
일 실시예에서, 제2 트레이닝 패턴(TP_EVEN_DQ0)은 복수의 제2 비트 시퀀스들(BS_EVEN0_DQ0, BS_EVEN0_DQ1, BS_EVEN0_DQ2, BS_EVEN0_DQ3, BS_EVEN0_DQ4, BS_EVEN0_DQ5, BS_EVEN0_DQ6, BS_EVEN0_DQ7)을 포함할 수 있다. 각 제2 비트 시퀀스는 하나의 데이터 입출력 핀에 대응하고, 복수의 비트 라인들(BL0, BL1, BL2, BL3, BL4, BL5, BL6, BL7, BL8, BL9, BL10, BL11, BL12, BL13, BL14, BL15)로부터 출력되고 하나의 입출력 핀을 통해 출력되는 하나의 데이터 신호에 대응할 수 있다.
예를 들어, 제2 비트 시퀀스(BS_EVEN0_DQ0)는 제1 데이터 입출력 핀(PDQ02) 및 제1 데이터 신호(DQ0)에 대응하고, 제2 비트 시퀀스(BS_EVEN0_DQ1)는 제2 데이터 입출력 핀(PDQ12) 및 제2 데이터 신호(DQ1)에 대응하고, 제2 비트 시퀀스(BS_EVEN0_DQ2)는 제3 데이터 입출력 핀(PDQ22) 및 제3 데이터 신호(DQ2)에 대응하고, 제2 비트 시퀀스(BS_EVEN0_DQ3)는 제4 데이터 입출력 핀(PDQ32) 및 제4 데이터 신호(DQ3)에 대응하고, 제2 비트 시퀀스(BS_EVEN0_DQ4)는 제5 데이터 입출력 핀(PDQ42) 및 제5 데이터 신호(DQ4)에 대응하고, 제2 비트 시퀀스(BS_EVEN0_DQ5)는 제6 데이터 입출력 핀(PDQ52) 및 제6 데이터 신호(DQ5)에 대응하고, 제2 비트 시퀀스(BS_EVEN0_DQ6)는 제7 데이터 입출력 핀(PDQ62) 및 제7 데이터 신호(DQ6)에 대응하며, 제2 비트 시퀀스(BS_EVEN0_DQ7)는 제8 데이터 입출력 핀(PDQ72) 및 제8 데이터 신호(DQ7)에 대응할 수 있다.
일 실시예에서, 제2 트레이닝 패턴(TP_EVEN_DQ0)은 제1 데이터 입출력 핀(PDQ02)에 대하여 상기 제2 조건(즉, even mode)의 트레이닝 패턴이며, 따라서 복수의 제2 비트 시퀀스들(BS_EVEN0_DQ0, BS_EVEN0_DQ1, BS_EVEN0_DQ2, BS_EVEN0_DQ3, BS_EVEN0_DQ4, BS_EVEN0_DQ5, BS_EVEN0_DQ6, BS_EVEN0_DQ7)은 모두 동일할 수 있다. 예를 들어, 복수의 제2 비트 시퀀스들(BS_EVEN0_DQ0, BS_EVEN0_DQ1, BS_EVEN0_DQ2, BS_EVEN0_DQ3, BS_EVEN0_DQ4, BS_EVEN0_DQ5, BS_EVEN0_DQ6, BS_EVEN0_DQ7)은 모두 "0101010110101010"일 수 있다.
도 6의 단계 S210의 상기 제1 트레이닝 동작에서, 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)을 통해 제2 비트 시퀀스들(BS_EVEN0_DQ0, BS_EVEN0_DQ1, BS_EVEN0_DQ2, BS_EVEN0_DQ3, BS_EVEN0_DQ4, BS_EVEN0_DQ5, BS_EVEN0_DQ6, BS_EVEN0_DQ7)(즉, "0101010110101010")에 대응하는 데이터 신호들(DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7)을 각각 출력함으로써, 제2 서브 트레이닝 동작을 수행할 수 있다.
도 8a를 참조하면, 도 6의 단계 S220의 상기 제2 트레이닝 동작에서 이용되는 상기 제1 조건의 제3 트레이닝 패턴(TP_ODD_DQ1)을 예시하고 있다. 이하 도 7a와 중복되는 설명은 생략한다.
일 실시예에서, 제3 트레이닝 패턴(TP_ODD_DQ1)은 복수의 제3 비트 시퀀스들(BS_ODD1_DQ0, BS_ODD1_DQ1, BS_ODD1_DQ2, BS_ODD1_DQ3, BS_ODD1_DQ4, BS_ODD1_DQ5, BS_ODD1_DQ6, BS_ODD1_DQ7)을 포함할 수 있다. 각 제3 비트 시퀀스는 하나의 데이터 입출력 핀에 대응하고, 하나의 입출력 핀을 통해 출력되는 하나의 데이터 신호에 대응할 수 있다.
일 실시예에서, 제3 트레이닝 패턴(TP_ODD_DQ1)은 제2 데이터 입출력 핀(PDQ12)에 대하여 상기 제1 조건(즉, odd mode)의 트레이닝 패턴이며, 따라서 제2 데이터 입출력 핀(PDQ12)에 대응하는 제3 비트 시퀀스(BS_ODD1_DQ1)는 나머지 데이터 입출력 핀들(PDQ02, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)에 대응하는 제3 비트 시퀀스들(BS_ODD1_DQ0, BS_ODD1_DQ2, BS_ODD1_DQ3, BS_ODD1_DQ4, BS_ODD1_DQ5, BS_ODD1_DQ6, BS_ODD1_DQ7)과 다를 수 있다.
도 6의 단계 S220의 상기 제2 트레이닝 동작에서, 제2 데이터 입출력 핀(PDQ12)을 통해 제3 비트 시퀀스(BS_ODD1_DQ1)(즉, "1010101001010101")에 대응하는 제2 데이터 신호(DQ1)를 출력하고, 나머지 데이터 입출력 핀들(PDQ02, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)을 통해 제3 비트 시퀀스들(BS_ODD1_DQ0, BS_ODD1_DQ2, BS_ODD1_DQ3, BS_ODD1_DQ4, BS_ODD1_DQ5, BS_ODD1_DQ6, BS_ODD1_DQ7)(즉, "0101010110101010")에 대응하는 데이터 신호들(DQ0, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7)을 각각 출력함으로써, 제1 서브 트레이닝 동작을 수행할 수 있다.
한편, 도시하지는 않았으나, 도 6의 단계 S220의 상기 제2 트레이닝 동작에서 이용되는 상기 제2 조건의 상기 제4 트레이닝 패턴은 도 7b의 제2 트레이닝 패턴(TP_EVEN_DQ0)과 실질적으로 동일할 수 있다. 예를 들어, 상기 제4 트레이닝 패턴은 복수의 제4 비트 시퀀스들을 포함하고, 상기 복수의 제4 비트 시퀀스들은 모두 동일할 수 있다.
도 8b를 참조하면, 도 6의 단계 S230의 상기 제3 트레이닝 동작에서 이용되는 상기 제1 조건의 제5 트레이닝 패턴(TP_ODD_DQ2)을 예시하고 있다. 이하 도 7a와 중복되는 설명은 생략한다.
일 실시예에서, 제5 트레이닝 패턴(TP_ODD_DQ2)은 복수의 제5 비트 시퀀스들(BS_ODD2_DQ0, BS_ODD2_DQ1, BS_ODD2_DQ2, BS_ODD2_DQ3, BS_ODD2_DQ4, BS_ODD2_DQ5, BS_ODD2_DQ6, BS_ODD2_DQ7)을 포함할 수 있다. 각 제5 비트 시퀀스는 하나의 데이터 입출력 핀에 대응하고, 하나의 입출력 핀을 통해 출력되는 하나의 데이터 신호에 대응할 수 있다.
일 실시예에서, 제5 트레이닝 패턴(TP_ODD_DQ2)은 제3 데이터 입출력 핀(PDQ22)에 대하여 상기 제1 조건(즉, odd mode)의 트레이닝 패턴이며, 따라서 제3 데이터 입출력 핀(PDQ22)에 대응하는 제5 비트 시퀀스(BS_ODD2_DQ2)는 나머지 데이터 입출력 핀들(PDQ02, PDQ12, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)에 대응하는 제5 비트 시퀀스들(BS_ODD2_DQ0, BS_ODD2_DQ1, BS_ODD2_DQ3, BS_ODD2_DQ4, BS_ODD2_DQ5, BS_ODD2_DQ6, BS_ODD2_DQ7)과 다를 수 있다.
도 6의 단계 S230의 상기 제3 트레이닝 동작에서, 제3 데이터 입출력 핀(PDQ22)을 통해 "1010101001010101"에 대응하는 제3 데이터 신호(DQ2)를 출력하고, 나머지 데이터 입출력 핀들(PDQ02, PDQ12, PDQ32, PDQ42, PDQ52, PDQ62, PDQ72)을 통해 "0101010110101010"에 대응하는 데이터 신호들(DQ0, DQ1, DQ3, DQ4, DQ5, DQ6, DQ7)을 각각 출력함으로써, 제1 서브 트레이닝 동작을 수행할 수 있다.
한편, 도시하지는 않았으나, 도 6의 단계 S230의 상기 제3 트레이닝 동작에서 이용되는 상기 제2 조건의 상기 제6 트레이닝 패턴은 도 7b의 제2 트레이닝 패턴(TP_EVEN_DQ0)과 실질적으로 동일하며, 모두 동일한 복수의 제6 비트 시퀀스들을 포함할 수 있다.
도 8c를 참조하면, 제4 데이터 신호(DQ3)를 출력하는 제4 데이터 입출력 핀(PDQ32)에 대하여 수행되는 제4 트레이닝 동작에서 이용되는 상기 제1 조건의 제7 트레이닝 패턴(TP_ODD_DQ3)을 예시하고 있다. 이하 도 7a와 중복되는 설명은 생략한다.
일 실시예에서, 제7 트레이닝 패턴(TP_ODD_DQ3)은 각각 하나의 데이터 입출력 핀 및 하나의 데이터 신호에 대응하는 복수의 제7 비트 시퀀스들(BS_ODD3_DQ0, BS_ODD3_DQ1, BS_ODD3_DQ2, BS_ODD3_DQ3, BS_ODD3_DQ4, BS_ODD3_DQ5, BS_ODD3_DQ6, BS_ODD3_DQ7)을 포함할 수 있다. 일 실시예에서, 제4 데이터 입출력 핀(PDQ32)에 대응하는 제7 비트 시퀀스(BS_ODD3_DQ3)는 나머지 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ42, PDQ52, PDQ62, PDQ72)에 대응하는 비트 시퀀스들(BS_ODD3_DQ0, BS_ODD3_DQ1, BS_ODD3_DQ2, BS_ODD3_DQ4, BS_ODD3_DQ5, BS_ODD3_DQ6, BS_ODD3_DQ7)과 다를 수 있다.
도 8d를 참조하면, 제5 데이터 신호(DQ4)를 출력하는 제5 데이터 입출력 핀(PDQ42)에 대하여 수행되는 제5 트레이닝 동작에서 이용되는 상기 제1 조건의 제9 트레이닝 패턴(TP_ODD_DQ4)을 예시하고 있다. 이하 도 7a와 중복되는 설명은 생략한다.
일 실시예에서, 제9 트레이닝 패턴(TP_ODD_DQ4)은 각각 하나의 데이터 입출력 핀 및 하나의 데이터 신호에 대응하는 복수의 제9 비트 시퀀스들(BS_ODD4_DQ0, BS_ODD4_DQ1, BS_ODD4_DQ2, BS_ODD4_DQ3, BS_ODD4_DQ4, BS_ODD4_DQ5, BS_ODD4_DQ6, BS_ODD4_DQ7)을 포함할 수 있다. 일 실시예에서, 제5 데이터 입출력 핀(PDQ42)에 대응하는 제9 비트 시퀀스(BS_ODD4_DQ4)는 나머지 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ52, PDQ62, PDQ72)에 대응하는 비트 시퀀스들(BS_ODD4_DQ0, BS_ODD4_DQ1, BS_ODD4_DQ2, BS_ODD4_DQ3, BS_ODD4_DQ5, BS_ODD4_DQ6, BS_ODD4_DQ7)과 다를 수 있다.
도 8e를 참조하면, 제6 데이터 신호(DQ5)를 출력하는 제6 데이터 입출력 핀(PDQ52)에 대하여 수행되는 제6 트레이닝 동작에서 이용되는 상기 제1 조건의 제11 트레이닝 패턴(TP_ODD_DQ5)을 예시하고 있다. 이하 도 7a와 중복되는 설명은 생략한다.
일 실시예에서, 제11 트레이닝 패턴(TP_ODD_DQ5)은 각각 하나의 데이터 입출력 핀 및 하나의 데이터 신호에 대응하는 복수의 제11 비트 시퀀스들(BS_ODD5_DQ0, BS_ODD5_DQ1, BS_ODD5_DQ2, BS_ODD5_DQ3, BS_ODD5_DQ4, BS_ODD5_DQ5, BS_ODD5_DQ6, BS_ODD5_DQ7)을 포함할 수 있다. 일 실시예에서, 제6 데이터 입출력 핀(PDQ52)에 대응하는 제11 비트 시퀀스(BS_ODD5_DQ5)는 나머지 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ62, PDQ72)에 대응하는 비트 시퀀스들(BS_ODD5_DQ0, BS_ODD5_DQ1, BS_ODD5_DQ2, BS_ODD5_DQ3, BS_ODD5_DQ4, BS_ODD5_DQ6, BS_ODD5_DQ7)과 다를 수 있다.
도 8f를 참조하면, 제7 데이터 신호(DQ6)를 출력하는 제7 데이터 입출력 핀(PDQ62)에 대하여 수행되는 제7 트레이닝 동작에서 이용되는 상기 제1 조건의 제13 트레이닝 패턴(TP_ODD_DQ6)을 예시하고 있다. 이하 도 7a와 중복되는 설명은 생략한다.
일 실시예에서, 제13 트레이닝 패턴(TP_ODD_DQ6)은 각각 하나의 데이터 입출력 핀 및 하나의 데이터 신호에 대응하는 복수의 제13 비트 시퀀스들(BS_ODD6_DQ0, BS_ODD6_DQ1, BS_ODD6_DQ2, BS_ODD6_DQ3, BS_ODD6_DQ4, BS_ODD6_DQ5, BS_ODD6_DQ6, BS_ODD6_DQ7)을 포함할 수 있다. 일 실시예에서, 제7 데이터 입출력 핀(PDQ62)에 대응하는 제13 비트 시퀀스(BS_ODD6_DQ6)는 나머지 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ72)에 대응하는 비트 시퀀스들(BS_ODD6_DQ0, BS_ODD6_DQ1, BS_ODD6_DQ2, BS_ODD6_DQ3, BS_ODD6_DQ4, BS_ODD6_DQ5, BS_ODD6_DQ7)과 다를 수 있다.
도 8g를 참조하면, 제8 데이터 신호(DQ7)를 출력하는 제8 데이터 입출력 핀(PDQ72)에 대하여 수행되는 제8 트레이닝 동작에서 이용되는 상기 제1 조건의 제15 트레이닝 패턴(TP_ODD_DQ7)을 예시하고 있다. 이하 도 7a와 중복되는 설명은 생략한다.
일 실시예에서, 제15 트레이닝 패턴(TP_ODD_DQ7)은 각각 하나의 데이터 입출력 핀 및 하나의 데이터 신호에 대응하는 복수의 제15 비트 시퀀스들(BS_ODD7_DQ0, BS_ODD7_DQ1, BS_ODD7_DQ2, BS_ODD7_DQ3, BS_ODD7_DQ4, BS_ODD7_DQ5, BS_ODD7_DQ6, BS_ODD7_DQ7)을 포함할 수 있다. 일 실시예에서, 제8 데이터 입출력 핀(PDQ72)에 대응하는 제15 비트 시퀀스(BS_ODD7_DQ7)는 나머지 데이터 입출력 핀들(PDQ02, PDQ12, PDQ22, PDQ32, PDQ42, PDQ52, PDQ62)에 대응하는 비트 시퀀스들(BS_ODD7_DQ0, BS_ODD7_DQ1, BS_ODD7_DQ2, BS_ODD7_DQ3, BS_ODD7_DQ4, BS_ODD7_DQ5, BS_ODD7_DQ6)과 다를 수 있다.
한편, 상기 제4, 제5, 제6, 제7 및 제8 트레이닝 동작들에서 이용되는 상기 제2 조건의 제8, 제10, 제12, 제14 및 제16 트레이닝 패턴들은 도 7b의 제2 트레이닝 패턴(TP_EVEN_DQ0)과 실질적으로 동일하며, 모두 동일한 복수의 제8, 제10, 제12, 제14 및 제16 비트 시퀀스들을 포함할 수 있다.
이상, 특정 개수의 데이터 신호들, 데이터 입출력 핀들, 비트들 및 특성 비트 구성들에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명은 이에 한정되지 않을 수 있다.
한편, 상세하게 도시하지는 않았으나, 메모리 장치(101)는 데이터 마스크(data mask, DM) 신호를 출력하는 데이터 마스크 핀을 더 포함하며, 상기 데이터 마스크 핀에 대하여 트레이닝 동작이 더 수행될 수 있다. 이 때, 상기 데이터 마스크 핀 및 상기 데이터 마스크 신호는 비트 반전이 불가능하므로, 상기 데이터 마스크 핀에 대한 트레이닝 동작을 위한 트레이닝 패턴의 구성을 변경될 수 있다.
상술한 본 발명의 실시예들에 따르면, 각 데이터 입출력 핀마다 가장 안 좋은 odd, even 패턴을 정의하고, 각 데이터 입출력 핀마다 패턴을 바꿔가면서 모든 데이터 입출력 핀들에 대한 트레이닝 동작을 수행할 수 있다. 이후에, 상기 트레이닝 동작의 결과를 모두 취합하여 신호 정렬을 수행하면, 트레이닝 시간은 상대적으로 길어지지만, 모든 설계를 커버할 수 있어 모든 경우에 대해 가장 최적의 DQS/DQ centering을 구현할 수 있다.
도 9는 도 1의 데이터 스트로브 신호와 복수의 데이터 신호들을 정렬하는 단계의 일 예를 나타내는 순서도이다.
도 1, 5a 및 9를 참조하면, 상기 데이터 스트로브 신호와 상기 복수의 데이터 신호들을 정렬하는데 있어서(단계 S300), 단계 S200에서 수행된 상기 트레이닝 동작의 결과에 기초하여 최적 값(optimal value)을 획득할 수 있다(단계 S310). 예를 들어, 단계 S200이 도 6에 도시된 것처럼 수행되는 경우에 총 2K개의 트레이닝 동작들의 결과를 취합하여 상기 최적 값을 획득할 수 있다. 상기 최적 값은 DQS/DQ centering을 수행하기 위한 파라미터이며, 예를 들어 도 10c 등을 참조하여 후술하는 유효 윈도우 마진일 수도 있고, 그 밖에 다양한 파라미터들 중 적어도 하나일 수 있다.
상기 최적 값에 기초하여 데이터 스트로브 신호(DQS)의 에지에 복수의 데이터 신호들(DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7)의 중심을 정렬할 수 있다(단계 S320). 이에 따라, 독출 DQ 캘리브레이션 동작이 완료될 수 있다.
도 10a, 10b, 10c, 10d, 11a 및 11b는 도 9의 정렬 동작을 설명하기 위한 도면들이다.
도 10a를 참조하면, 메모리 장치(101) 내의 클럭 신호(CK@MEM)와 메모리 장치(101)로부터 출력되는 데이터 스트로브 신호(DQS@MEM) 및 데이터 신호(DQ@MEM)를 예시하고 있다.
독출 동작 또는 독출 DQ 캘리브레이션 동작 시에, 메모리 장치(101)는 클럭 신호(CK@MEM)에 기초하여 데이터 스트로브 신호(DQS@MEM) 및 데이터 신호(DQ@MEM)를 출력하며, 이 때 데이터 스트로브 신호(DQS@MEM) 및 데이터 신호(DQ@MEM)는 에지 정렬(edge aligned)되어 있을 수 있다. tCH는 클럭 신호(CK@MEM)의 하이 펄스 폭을 나타내고, tAC는 클럭 신호(CK@MEM)로부터 데이터 신호(DQ@MEM)로의 출력 액세스 시간을 나타내고, tDQSQ는 데이터 스트로브 신호(DQS@MEM)와 관련된 데이터 신호(DQ@MEM) 사이의 DQS-DQ 스큐를 나타내며, tQHS는 데이터 신호(DQ@MEM)의 홀드 스큐 팩터(hold skew factor)를 나타낸다. tDQSQ 및 tQHS에 의해 데이터 신호(DQ@MEM)에 포함되는 데이터들(D0, D1)의 유효 윈도우(VW)가 결정될 수 있다.
도 10b를 참조하면, 호스트 장치(51)에 의해 수신 및 정렬되는 데이터 스트로브 신호(DQS@HST) 및 데이터 신호(DQ@HST)를 예시하고 있다.
메모리 장치(101)에서 에지 정렬되어 출력된 데이터 스트로브 신호(DQS@MEM) 및 데이터 신호(DQ@MEM) 중에서, 호스트 장치(51)는 데이터 스트로브 신호(DQS@MEM)를 약 90도 만큼 위상 쉬프트하여 쉬프트된 데이터 스트로브 신호(DQS@HST)를 생성할 수 있다. 이 경우, 데이터 스트로브 신호(DQS@HST)의 에지에 복수의 데이터 신호(DQ@HST)의 중심이 정렬되며(center aligned), 이러한 DQS/DQ centering이 수행됨에 따라 데이터 스트로브 신호(DQS@MEM)를 클럭으로 이용하여 데이터 신호(DQ@MEM)를 캡쳐할 수 있다. 이 때, 신호 전송 경로, 즉 기판, 입출력부, 패키지 등의 내부 특성에 따라 DQS/DQ 스큐가 발생하고 이를 보상하여 centering을 수행하며, 이에 따라 수신단에서 데이터 신호(DQ@MEM)의 유효 윈도우(VW')가 송신단과 비교하여 줄어들 수 있다.
도 10c 및 10d를 참조하면, DQS/DQ centering 동작을 보다 구체적으로 예시하고 있다.
일 실시예에서, 도 10c에 도시된 것처럼, 수신된 초기 데이터 스트로브 신호(DQS_INIT)를 제1 마진(VWML) 및 제2 마진(VWMR)만큼 지연시켜 데이터 신호(DQ)와 에지 정렬 되도록 지연 데이터 스트로브 신호들(DQS', DQS")을 획득하고, 이후에 초기 데이터 스트로브 신호(DQS_INIT)를 제3 마진(VWMC)만큼 지연시켜 데이터 신호(DQ)와 중심 정렬된 데이터 스트로브 신호(DQS_CEN)를 획득할 수 있다. 예를 들어, VWMC=(VWML+VWMR)/2일 수 있고, 마진들(VWML, VWMR, VWMC)은 유효 윈도우 내의 "패스(pass)" 영역을 확인하여 획득될 수 있다.
일 실시예에서, 도 10d에 도시된 것처럼, 데이터 신호들(DQ0, DQ1)에 대하여 마진들(VWML0, VWMC0, VWMR0, VWML1, VWMC1, VWMR1)을 획득하고, 이에 기초하여 초기 데이터 스트로브 신호(DQS_INIT)를 데이터 신호들(DQ0, DQ1) 중 보다 느리게 전송된 데이터 신호(DQ1)에 대응하도록 지연시켜 데이터 신호(DQ1)와 중심 정렬된 데이터 스트로브 신호(DQS_CEN)를 획득하며, 데이터 신호(DQ0)를 지연시켜 지연 데이터 신호(DQ0')를 획득하고 데이터 신호(DQ1)와 동일한 위상의 데이터 신호(DQ1')를 획득할 수 있다.
도 11a를 참조하면, 도 10c 및 10d를 참조하여 상술한 것처럼 DQS/DQ centering을 수행하더라도, 유저 시나리오(user scenario)에 따라, 즉 실제로 전송되는 데이터 패턴에 따라 데이터 신호(DQ)의 위상이 변경될 수 있음을 나타낸다.
도 11b를 참조하면, 본 발명의 실시예들에 따라 가장 안 좋은(worst) 조건을 고려하여 트레이닝 및 신호 정렬을 수행하는 경우를 나타낸다. DQ_ODD는 가장 안 좋은 상기 제1 조건(즉, odd mode)의 트레이닝 패턴에 기초하여 수신된 데이터 신호를 나타내며, 데이터 신호가 가장 빠르게 전송될 수 있다. DQ_EVEN은 가장 안 좋은 상기 제2 조건(즉, even mode)의 트레이닝 패턴에 기초하여 수신된 데이터 신호를 나타내며, 데이터 신호가 가장 느리게 전송될 수 있다. 이후에 가장 안 좋은 조건들에 기초한 트레이닝 결과들을 중첩하여 DQ_F와 같은 유효 윈도우를 가지도록 설정할 수 있다. 따라서, 모든 경우에 대해 가장 최적의 DQS/DQ centering을 구현할 수 있다.
도 12 및 13은 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법을 나타내는 순서도이다. 이하 도 1과 중복되는 설명은 생략한다.
도 12를 참조하면, 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법에서, 상기 메모리 장치를 파워 온(power on) 시키고(단계 S500), 트레이닝 모드로 진입하여 상기 트레이닝 커맨드를 생성하며, 단계 S100, S200 및 S300을 수행한다. 예를 들어, 상기 메모리 장치의 파워 온 시에 상기 메모리 장치에 대한 초기화 동작이 수행되고, 상기 트레이닝 동작은 상기 초기화 동작에 포함될 수 있다. 상기 초기화 동작은 부팅(booting) 동작이라고 부를 수도 있다. 상기 부팅 동작은 단순히 전원을 인가하는 동작뿐만 아니라 미리 저장된 코드를 로딩하여 상기 메모리 장치가 정상적으로 동작하도록 준비하는 동작을 나타낸다.
단계 S100, S200 및 S300은 도 1의 단계 S100, S200 및 S300과 각각 실질적으로 동일할 수 있다.
도 13을 참조하면, 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법에서, 상기 메모리 장치는 정상 동작을 수행한다(단계 S600). 예를 들어, 상기 정상 동작은 상기 호스트 장치에 의해 제어되는 일반적인 데이터 기입/독출 동작 등을 포함할 수 있다.
환경 센서를 이용하여 상기 메모리 장치 및 상기 호스트 장치를 포함하는 상기 컴퓨팅 시스템의 동작 환경이 미리 정해진 기준 범위를 벗어나도록 변화하는지 판단할 수 있다(단계 S700). 상기 환경 센서 및 상기 동작 환경의 종류에 대해서는 도 14를 참조하여 후술하도록 한다.
상기 동작 환경이 상기 기준 범위 이내인 것으로 판단된 경우에(단계 S700: 아니오), 단계 S600 및 S700을 반복할 수 있다.
상기 동작 환경이 상기 기준 범위를 벗어나도록 변화한 것으로 판단된 경우에(단계 S700: 예), 상기 메모리 장치의 성능이 열화된 것으로 판단하고, 트레이닝 모드로 진입하여 상기 트레이닝 커맨드를 생성하고, 단계 S100, S200 및 S300을 수행한다. 단계 S100, S200 및 S300은 도 1의 단계 S100, S200 및 S300과 각각 실질적으로 동일할 수 있다.
한편, 본 발명의 실시예들에 따른 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법에서, 실시예에 따라서 도 12의 단계 S500 및 도 13의 단계 S600 및 S700이 모두 수행될 수도 있다.
한편, 본 발명의 실시예들은 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수도 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다. 예를 들어, 상기 컴퓨터로 판독 가능한 매체는 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, 비일시적은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
도 14 및 15는 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다. 이하 도 3과 중복되는 설명은 생략한다.
도 14를 참조하면, 컴퓨팅 시스템(10a)은 호스트 장치(50) 및 메모리 장치(100)를 포함하며, 환경 센서(150)를 더 포함할 수 있다.
환경 센서(150)를 더 포함하는 것을 제외하면, 컴퓨팅 시스템(10a)은 도 3의 컴퓨팅 시스템(10)과 실질적으로 동일할 수 있다.
환경 센서(150)는 컴퓨팅 시스템(10a)의 동작 환경의 변화를 감지하여 센싱 신호(SEN)를 생성할 수 있다. 예를 들어, 환경 센서(150)는 상기 동작 환경이 미리 정해진 기준 범위를 벗어나도록 변화하는 경우에 센싱 신호(SEN)를 활성화시킬 수 있다.
일 실시예에서, 환경 센서(150)는 온도 센서, 습도 센서, 압력 센서, 움직임 센서, 시간 센서, 공간 센서, 조도 센서, 가속도 센서, 진동 센서, 외부 힘(mechanical stress) 센서, 충격(shock) 센서 중 적어도 하나를 포함할 수 있다. 다시 말하면, 상기 동작 환경은 온도, 습도, 압력, 움직임, 시간, 공간, 조도, 가속도, 진동, 외부 힘, 충격 중 적어도 하나를 포함할 수 있다. 다만 본 발명은 이에 한정되지 않으며, 환경 센서(150)는 방사선(radiation) 센서, 먼지(dust) 센서, 전기적 스트레스(electrical stress) 센서 등과 같이 다양한 환경 정보를 수집하는 적어도 하나의 센서를 더 포함할 수 있다.
호스트 장치(50)는 센싱 신호(SEN)에 기초하여 상기 트레이닝 커맨드를 생성하여 메모리 장치(100)로 전송할 수 있다. 다시 말하면, 컴퓨팅 시스템(10a)은 도 13의 방법을 수행하도록 구현될 수 있다.
도 15를 참조하면, 컴퓨팅 시스템(10b)은 호스트 장치(50) 및 복수의 메모리 장치들(100a, 100b, 100c)을 포함한다.
복수의 메모리 장치들(100a, 100b, 100c)을 포함하는 것을 제외하면, 컴퓨팅 시스템(10a)은 도 3의 컴퓨팅 시스템(10b)과 실질적으로 동일할 수 있다. 복수의 메모리 장치들(100a, 100b, 100c) 각각은 도 3의 메모리 장치(100)와 실질적으로 동일할 수 있다.
일 실시예에서, 복수의 메모리 장치들(100a, 100b, 100c)에 대한 트레이닝 동작들 각각은 독립적/개별적으로 수행되며, 복수의 메모리 장치들(100a, 100b, 100c) 각각에 대해 최적의 DQS/DQ centering을 구현할 수 있다. 이 때, 각 메모리 장치에 대해 동일한 트레이닝 패턴이 사용될 수도 있고, 서로 다른 트레이닝 패턴들이 사용될 수도 있다.
본 발명의 실시예들은 시스템 온 칩 및 메모리 장치를 포함하는 임의의 전자 장치 및 시스템에 유용하게 이용될 수 있다. 예를 들어, 본 발명의 실시예들은 PC(Personal Computer), 서버 컴퓨터(server computer), 데이터 센터(data center), 워크스테이션(workstation), 노트북(laptop), 핸드폰(cellular), 스마트 폰(smart phone), MP3 플레이어, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(Internet of Things) 기기, IoE(Internet of Everything) 기기, e-북(e-book), VR(Virtual Reality) 기기, AR(Augmented Reality) 기기, 드론(drone) 등과 같은 전자 시스템에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 복수의 데이터 입출력 핀들을 포함하는 메모리 장치로 트레이닝 커맨드를 전송하는 단계;
    상기 복수의 데이터 입출력 핀들 각각에 대하여, 인접한 데이터 입출력 핀들이 서로 다른 위상의 신호들을 출력하도록 형성된 제1 조건의 트레이닝 패턴 및 상기 인접한 데이터 입출력 핀들이 동일한 위상의 신호들을 출력하도록 형성된 제2 조건의 트레이닝 패턴 모두를 이용하여 트레이닝 동작을 수행하는 단계; 및
    상기 트레이닝 동작의 결과에 기초하여 데이터 스트로브 신호와 상기 복수의 데이터 입출력 핀들로부터 제공되는 복수의 데이터 신호들을 정렬하는 단계를 포함하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  2. 제 1 항에 있어서,
    상기 제1 조건의 트레이닝 패턴은 상기 인접한 데이터 입출력 핀들이 서로 반대 위상의 신호들을 출력하도록 형성되는 것을 특징으로 하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  3. 제 1 항에 있어서, 상기 트레이닝 동작을 수행하는 단계는,
    상기 복수의 데이터 입출력 핀들 중 제1 데이터 입출력 핀에 대하여, 상기 제1 조건의 제1 트레이닝 패턴 및 상기 제2 조건의 제2 트레이닝 패턴에 기초하여 제1 트레이닝 동작을 수행하는 단계; 및
    상기 복수의 데이터 입출력 핀들 중 제2 데이터 입출력 핀에 대하여, 상기 제1 조건의 제3 트레이닝 패턴 및 상기 제2 조건의 제4 트레이닝 패턴에 기초하여 제2 트레이닝 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  4. 제 3 항에 있어서,
    상기 제1 트레이닝 패턴은 상기 복수의 데이터 입출력 핀들을 통해 출력되고 각각 하나의 데이터 입출력 핀에 대응하는 복수의 제1 비트 시퀀스(bit sequence)들을 포함하고,
    상기 복수의 제1 비트 시퀀스들 중 상기 제1 데이터 입출력 핀에 대응하는 비트 시퀀스는 상기 복수의 제1 비트 시퀀스들 중 상기 제1 데이터 입출력 핀을 제외한 나머지 데이터 입출력 핀들에 대응하는 비트 시퀀스들과 다른 것을 특징으로 하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  5. 제 4 항에 있어서,
    상기 제2 트레이닝 패턴은 상기 복수의 데이터 입출력 핀들을 통해 출력되고 각각 하나의 데이터 입출력 핀에 대응하는 복수의 제2 비트 시퀀스들을 포함하고,
    상기 복수의 제2 비트 시퀀스들은 모두 동일한 것을 특징으로 하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  6. 제 5 항에 있어서,
    상기 제3 트레이닝 패턴은 상기 복수의 데이터 입출력 핀들을 통해 출력되고 각각 하나의 데이터 입출력 핀에 대응하는 복수의 제3 비트 시퀀스들을 포함하고,
    상기 복수의 제3 비트 시퀀스들 중 상기 제2 데이터 입출력 핀에 대응하는 비트 시퀀스는 상기 복수의 제3 비트 시퀀스들 중 상기 제2 데이터 입출력 핀을 제외한 나머지 데이터 입출력 핀들에 대응하는 비트 시퀀스들과 다른 것을 특징으로 하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  7. 제 6 항에 있어서,
    상기 제4 트레이닝 패턴은 상기 복수의 데이터 입출력 핀들을 통해 출력되고 각각 하나의 데이터 입출력 핀에 대응하는 복수의 제4 비트 시퀀스들을 포함하고,
    상기 복수의 제4 비트 시퀀스들은 모두 동일한 것을 특징으로 하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  8. 제 3 항에 있어서, 상기 트레이닝 동작을 수행하는 단계는,
    상기 복수의 데이터 입출력 핀들 중 제3 데이터 입출력 핀에 대하여, 상기 제1 조건의 제5 트레이닝 패턴 및 상기 제2 조건의 제6 트레이닝 패턴에 기초하여 제3 트레이닝 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  9. 제 3 항에 있어서, 상기 데이터 스트로브 신호와 상기 복수의 데이터 신호들을 정렬하는 단계는,
    상기 트레이닝 동작의 결과에 기초하여 최적 값을 획득하는 단계; 및
    상기 최적 값에 기초하여 상기 데이터 스트로브 신호의 에지(edge)에 상기 복수의 데이터 신호들의 중심(center)을 정렬하는 단계를 포함하는 것을 특징으로 하는 메모리 장치의 DQ 캘리브레이션 패턴의 최적화 방법.
  10. 복수의 데이터 입출력 핀들을 포함하는 제1 메모리 장치; 및
    상기 제1 메모리 장치로 트레이닝 커맨드를 전송하고, 상기 복수의 데이터 입출력 핀들 각각에 대하여 인접한 데이터 입출력 핀들이 서로 다른 위상의 신호들을 출력하도록 형성된 제1 조건의 트레이닝 패턴 및 상기 인접한 데이터 입출력 핀들이 동일한 위상의 신호들을 출력하도록 형성된 제2 조건의 트레이닝 패턴 모두를 이용하여 트레이닝 동작을 수행하며, 상기 트레이닝 동작의 결과에 기초하여 데이터 스트로브 신호와 상기 복수의 데이터 입출력 핀들로부터 제공되는 복수의 데이터 신호들을 정렬하는 호스트 장치를 포함하는 컴퓨팅 시스템.
KR1020210025491A 2021-02-25 2021-02-25 메모리 장치의 dq 캘리브레이션 패턴의 최적화 방법 및 이를 수행하는 컴퓨팅 시스템 KR20220121440A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210025491A KR20220121440A (ko) 2021-02-25 2021-02-25 메모리 장치의 dq 캘리브레이션 패턴의 최적화 방법 및 이를 수행하는 컴퓨팅 시스템
US17/530,226 US11983410B2 (en) 2021-02-25 2021-11-18 Method optimizing DQ calibration pattern for memory device and computing system performing same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210025491A KR20220121440A (ko) 2021-02-25 2021-02-25 메모리 장치의 dq 캘리브레이션 패턴의 최적화 방법 및 이를 수행하는 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
KR20220121440A true KR20220121440A (ko) 2022-09-01

Family

ID=82899622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210025491A KR20220121440A (ko) 2021-02-25 2021-02-25 메모리 장치의 dq 캘리브레이션 패턴의 최적화 방법 및 이를 수행하는 컴퓨팅 시스템

Country Status (2)

Country Link
US (1) US11983410B2 (ko)
KR (1) KR20220121440A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11810638B2 (en) * 2020-09-29 2023-11-07 Samsung Electronics Co., Ltd. Memory device including multiple memory chips and data signal lines and a method of operating the memory device
US20220357856A1 (en) * 2021-05-07 2022-11-10 Micron Technology, Inc. Repair Element Availability Communication
US11837304B2 (en) 2022-04-02 2023-12-05 Changxin Memory Technologies, Inc. Detection circuit
US11816361B2 (en) * 2022-04-02 2023-11-14 Changxin Memory Technologies, Inc. Circuit and method for transmitting data to memory array, and storage apparatus

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889357B1 (en) * 2000-05-10 2005-05-03 Micron Technology, Inc. Timing calibration pattern for SLDRAM
JP2003059298A (ja) 2001-08-09 2003-02-28 Mitsubishi Electric Corp 半導体記憶装置
KR101006088B1 (ko) 2009-06-04 2011-01-06 주식회사 하이닉스반도체 데이터 전달의 신뢰성을 보장하기 위한 반도체 메모리 장치 및 이를 포함하는 반도체 시스템
US8578086B2 (en) 2009-09-25 2013-11-05 Intel Corporation Memory link initialization
US8582374B2 (en) 2009-12-15 2013-11-12 Intel Corporation Method and apparatus for dynamically adjusting voltage reference to optimize an I/O system
WO2012145117A2 (en) * 2011-04-22 2012-10-26 Rambus Inc. Memory components and controllers that calibrate multiphase synchronous timing references
US9026725B2 (en) 2012-12-27 2015-05-05 Intel Corporation Training for command/address/control/clock delays under uncertain initial conditions and for mapping swizzled data to command/address signals
US9177623B2 (en) 2013-03-15 2015-11-03 Qualcomm Incorporated Memory interface offset signaling
US9218575B2 (en) 2013-09-04 2015-12-22 Intel Corporation Periodic training for unmatched signal receiver
US9715907B1 (en) 2016-05-09 2017-07-25 Invecas, Inc. Optimal data eye for improved Vref margin
KR102353027B1 (ko) * 2017-07-03 2022-01-20 삼성전자주식회사 스토리지 장치의 데이터 트레이닝 방법
US10659215B1 (en) 2018-09-19 2020-05-19 Xilinx, Inc. Training and tracking of DDR memory interface strobe timing
KR102599059B1 (ko) 2018-10-11 2023-11-08 삼성디스플레이 주식회사 트랜지션 검출기 및 이를 포함하는 클록 데이터 복원기
US11003370B2 (en) 2018-10-30 2021-05-11 Samsung Electronics Co., Ltd. System on chip performing a plurality of trainings at the same time, operating method of system on chip, electronic device including system on chip

Also Published As

Publication number Publication date
US11983410B2 (en) 2024-05-14
US20220269419A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
KR20220121440A (ko) 메모리 장치의 dq 캘리브레이션 패턴의 최적화 방법 및 이를 수행하는 컴퓨팅 시스템
US9825631B1 (en) Impedance calibration circuit of semiconductor memory device, semiconductor memory device and method of operating the same
US10186309B2 (en) Methods of operating semiconductor memory devices and semiconductor memory devices
CN107240413B (zh) 半导体存储器装置及其操作方法
CN115987299B (zh) 错误检测码生成电路以及包括其的存储器系统
KR102467698B1 (ko) 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
KR102407439B1 (ko) 메모리 장치의 구동 강도, odt 트레이닝 방법, 이를 수행하는 컴퓨팅 시스템 및 시스템 온 칩
CN107068176B (zh) 半导体存储器设备及包括半导体存储器设备的存储器系统
US20140181429A1 (en) Multi-dimensional hardware data training between memory controller and memory
JP2012248192A (ja) 半導体メモリ装置、半導体メモリパッケージ、及び半導体メモリ装置の集積度増大方法
US9064603B1 (en) Semiconductor memory device and memory system including the same
US20100082967A1 (en) Method for detecting memory training result and computer system using such method
KR102190125B1 (ko) 어드레스 리매핑을 위한 적층형 메모리 장치, 이를 포함하는 메모리 시스템 및 어드레스 리매핑 방법
KR102666132B1 (ko) 반도체 메모리 장치의 데이터 정렬 회로, 반도체 메모리 장치 및 반도체 메모리 장치의 데이터 정렬 방법
KR20170060739A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR20160049202A (ko) 메모리 시스템 및 이의 동작 방법
CN113626264A (zh) 存储器模块、计算系统以及计算系统的启动方法
KR20210122942A (ko) 메모리 장치 및 그것의 테스트 방법
US9954557B2 (en) Variable width error correction
US11281397B2 (en) Stacked memory device performing function-in-memory (FIM) operation and method of operating the same
CN101359306A (zh) 内存调整结果检测方法及其计算机系统
EP4390938A1 (en) Storage device and data training method thereof
EP4170658A1 (en) Semiconductor memory devices and methods of operating the same
US8495327B2 (en) Memory device synchronization
CN118227042A (zh) 用于数据训练的存储装置

Legal Events

Date Code Title Description
A201 Request for examination