KR20220036386A - 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리저장 시스템 - Google Patents

메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리저장 시스템 Download PDF

Info

Publication number
KR20220036386A
KR20220036386A KR1020200117509A KR20200117509A KR20220036386A KR 20220036386 A KR20220036386 A KR 20220036386A KR 1020200117509 A KR1020200117509 A KR 1020200117509A KR 20200117509 A KR20200117509 A KR 20200117509A KR 20220036386 A KR20220036386 A KR 20220036386A
Authority
KR
South Korea
Prior art keywords
pull
order bit
driver
signal level
code
Prior art date
Application number
KR1020200117509A
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 KR1020200117509A priority Critical patent/KR20220036386A/ko
Priority to US17/239,592 priority patent/US11782618B2/en
Priority to EP21182409.9A priority patent/EP3968327B1/en
Priority to CN202111053099.8A priority patent/CN114187936A/zh
Publication of KR20220036386A publication Critical patent/KR20220036386A/ko
Priority to US18/243,350 priority patent/US20230418488A1/en

Links

Images

Classifications

    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • 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/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses

Abstract

본 발명에 따른 메모리 장치의 신호 레벨 캘리브레이션 방법은, NRZ(Non-Return-to-Zero) 시그널링을 위한 ZQ 캘리브레이션을 이용하여 풀업 코드 및 풀다운 코드 캘리브레이션을 수행하는 단계, PAM4(Pulse Amplitude Modulation Level-4) 시그널링을 위한 상위비트 추가 드라이버를 이용하여 상위비트 추가 코드 캘리브레이션을 수행하는 단계, 및 상기 PAM4 시그널링을 위한 하위비트 추가 드라이버를 이용하여 하위비트 추가 코드 캘리브레이션을 수행하는 단계를 포함할 수 있다.

Description

메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리저장 시스템{MEMORY DEVICE, SIGNAL LEVEL CALIBRATION METHOD THEREOF, AND MEMORY SYSTEM HAVING THE SAME}
본 발명은 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리 시스템에 관한 것이다.
일반적으로, 모바일 장치의 급속한 공급과 인터넷 접속량의 급격한 증가에 따라 고용량 및 고속 데이터 전송에 대한 요구가 증가하고 있다. 하지만, NRZ(Non-Return to Zero) 타입의 인코딩을 기반으로 하는 신호 변조 방식은 이러한 고용량 및 고속의 데이터 전송 요구를 만족시키기 어렵다. 최근에 펄스 진폭 변조(Pulse Amplitude Modulation 4(PAM4)) 방식이 고용량과 고속 데이터 전송을 위한 신호 방식의 대안으로 활발하게 연구되고 있다.
본 발명의 목적은 신규한 RLM(Ratio of Level separation Mismatch) 제어하는 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리 시스템을 제공하는 데 있다.
본 발명의 목적은, 멀티-레벨 시그널링의 신호 레벨 간격을 일정하게 유지하는 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리 시스템을 제공하는 데 있다.
본 발명의 실시 예에 따른 메모리 장치는, 멀티-레벨 시그널링에 따라 데이터를 송수신하는 트랜시버; 및 상기 트랜시버의 데이터 송신 동작 시, 신호 레벨들 사이의 간격을 조절하는 RLM(Ratio of Level separation Mismatch) 제어기를 포함하고, 상기 RLM 제어기는, 제 1 노드와 접지단 사이에 연결된 저항; 상기 제 1 노드의 제 1 조정 전압과 제 1 기준 전압을 비교하여 제 1 비교 전압을 출력하는 제 1 제 1 비교기; 제 2 노드의 제 2 조정 전압과 제 2 기준 전압을 비교하여 제 2 비교 전압을 출력하는 제 2 비교기; 상기 제 1 비교 전압에 대응하는 풀업 코드, 상위비트 추가 코드, 혹은 하위비트 추가 코드를 발생하는 제 1 코드 발생기; 상기 제 2 비교 전압에 대응하는 풀다운 코드를 발생하는 제 2 코드 발생기; 전원단과 상기 제 1 노드 사이에 연결되고, 상기 풀업 코드에 따라 상위비트를 위한 구동 능력을 제어하는 제 1 상위비트 풀업 드라이버; 상기 전원단과 상기 제 1 노드 사이에 연결되고, 상기 풀업 코드에 따라 하위비트를 위한 구동 능력을 제어하는 제 1 하위비트 풀업 드라이버; 상기 제 1 노드와 접지단 사이에 연결되고, 상기 상위비트를 위한 구동 능력을 제어하는 제 1 상위비트 풀다운 드라이버; 상기 제 1 노드와 상기 접지단 사이에 연결되고, 상기 하위비트를 위한 구동 능력을 제어하는 제 1 하위비트 풀다운 드라이버; 상기 전원단과 제 2 노드 사이에 연결되고, 상기 풀업 코드에 따라 상위비트를 위한 구동 능력을 제어하는 제 2 상위비트 풀업 드라이버; 상기 전원단과 상기 제 2 노드 사이에 연결되고, 상기 풀업 코드에 따라 하위비트를 위한 구동 능력을 제어하는 제 2 하위비트 풀업 드라이버; 상기 제 2 노드와 상기 접지단 사이에 연결되고, 상기 상위비트를 위한 구동 능력을 제어하는 제 2 상위비트 풀다운 드라이버; 상기 제 2 노드와 상기 접지단 사이에 연결되고, 상기 하위비트를 위한 구동 능력을 제어하는 제 2 하위비트 풀다운 드라이버; 상기 제 1 노드에 연결되고, 상기 추가 상위비트 코드에 따라 상기 상위비트를 위한 구동 능력을 제어하는 상위비트 추가 드라이버; 및 상기 제 1 노드에 연결되고, 상기 추가 하위비트 코드에 따라 상기 하위비트를 위한 구동 능력을 제어하는 하위비트 추가 드라이버를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 장치의 신호 레벨 캘리브레이션 방법은, NRZ(Non-Return-to-Zero) 시그널링을 위한 ZQ 캘리브레이션을 이용하여 풀업 코드 및 풀다운 코드 캘리브레이션을 수행하는 단계; PAM4(Pulse Amplitude Modulation Level-4) 시그널링을 위한 상위비트 추가 드라이버를 이용하여 상위비트 추가 코드 캘리브레이션을 수행하는 단계; 및 상기 PAM4 시그널링을 위한 하위비트 추가 드라이버를 이용하여 하위비트 추가 코드 캘리브레이션을 수행하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 장치를 제어하는 제어기는, 클록을 생성하고, 상기 메모리 장치로 출력하는 클록 발생기; 상기 메모리 장치를 동작하기 위하여 커맨드 어드레스 신호를 발생하는 커맨드 어드레스 발생기; 상기 클록에 응답하여 상기 커맨드 어드레스 신호를 전송하는 커맨드 어드레스 전송기; 데이터 채널을 통하여 제 1 시그널링 및 제 2 시그널링 중에서 선택된 방식으로 상기 메모리 장치로 데이터를 송수신하는 트랜시버; 및 상기 제 2 시그널링을 위한 RLM(Ratio of Level separation Mismatch) 캘리브레이션 요청을 상기 메모리 장치에 전송하는 트레이닝 로직을 포함할 수 있다.
본 발명의 다른 실시 예에 따른 메모리 장치는, 제 1 노드와 접지단 사이에 연결된 저항; 활성화 신호에 응답하여 상기 제 1 노드의 제 1 조정 전압과 복수의 신호 레벨들 중에서 대응하는 신호 레벨을 비교함으로써 제 1 비교 전압을 출력하는 제 1 비교기들; 제 2 노드의 제 2 조정 전압과 상기 복수의 신호 레벨들 중에서 제 1 신호 레벨을 비교함으로써 제 2 비교 전압을 출력하는 제 2 비교기; 상기 제 1 비교 전압에 대응하는 풀업 코드, 상위비트 추가 코드, 혹은 하위비트 추가 코드를 발생하는 제 1 코드 발생기; 상기 제 2 비교 전압에 대응하는 풀다운 코드를 발생하는 제 2 코드 발생기; 전원단과 상기 제 1 노드 사이에 연결되고, 상기 풀업 코드에 따라 상위비트를 위한 구동 능력을 제어하는 제 1 상위비트 풀업 드라이버; 상기 전원단과 상기 제 1 노드 사이에 연결되고, 상기 풀업 코드에 따라 하위비트를 위한 구동 능력을 제어하는 제 1 하위비트 풀업 드라이버; 상기 제 1 노드와 접지단 사이에 연결되고, 상기 상위비트를 위한 구동 능력을 제어하는 제 1 상위비트 풀다운 드라이버; 상기 제 1 노드와 상기 접지단 사이에 연결되고, 상기 하위비트를 위한 구동 능력을 제어하는 제 1 하위비트 풀다운 드라이버; 상기 전원단과 제 2 노드 사이에 연결되고, 상기 풀업 코드에 따라 상위비트를 위한 구동 능력을 제어하는 제 2 상위비트 풀업 드라이버; 상기 전원단과 상기 제 2 노드 사이에 연결되고, 상기 풀업 코드에 따라 하위비트를 위한 구동 능력을 제어하는 제 2 하위비트 풀업 드라이버; 상기 제 2 노드와 상기 접지단 사이에 연결되고, 상기 상위비트를 위한 구동 능력을 제어하는 제 2 상위비트 풀다운 드라이버; 상기 제 2 노드와 상기 접지단 사이에 연결되고, 상기 하위비트를 위한 구동 능력을 제어하는 제 2 하위비트 풀다운 드라이버; 상기 전원단과 상기 제 1 노드 사이에 연결되고, 상기 추가 상위비트 코드에 따라 상기 상위비트를 위한 구동 능력을 제어하는 상위비트 추가 드라이버; 및 상기 전원단과 상기 제 1 노드 사이에 연결되고, 상기 추가 하위비트 코드에 따라 상기 하위비트를 위한 구동 능력을 제어하는 하위비트 추가 드라이버를 포함할 수 있다.
본 발명의 실시 예에 따른 통신 시스템은, 제 1 트랜시버 및 제 1 RLM 제어기를 갖는 제 1 통신 장치; 및 제 2 트랜시버 및 제 2 RLM 제어기를 갖는 제 2 통신 장치를 포함하고, 상기 제 1 및 제 2 RLM 제어기들의 각각은, 대응하는 트랜시버의 멀티-레벨 시그널링에 따른 데이터 전송시 ZQ 캘리브레이션과 추가 드라이버를 이용하여 멀티-레벨 시그널링의 신호 레벨들 사이의 간격을 일정하게 유지하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 메모리 장치, 그것의 신호 레벨 캘리브레이션, 및 그것의 메모리 시스템은, ZQ 캘리브레이션과 추가 드라이버를 이용하여 멀티-레벨 시그널링의 신호 레벨들 사이의 간격을 일정하게 유지할 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 예시적으로 보여주는 도면이다.
도 2a는 본 발명의 실시 예에 따른 RLM 제어를 설명하기 위한 도면이고, 도 2b는 본 발명의 실시 예에 따른 송신기(TX)를 예시적으로 보여주는 도면이고, 도 2c는 본 발명의 실시 예에 따른 심볼에 대응하는 저항을 예시적을 보여 주는 도면이다.
도 3은 본 발명의 실시 예에 따른 RLM 제어기(11)를 예시적으로 보여주는 도면이다.
도 4a 및 도 4b는 기준 전압 선택기들을 예시적으로 보여주는 도면이다.
도 5a 및 도 5b는 본 발명의 실시 예에 따른 RLM 제어기(11)의 동작을 개념적으로 설명하는 도면들이다.
도 6a 및 도 6b는 본 발명의 실시 예에 따른 RLM 제어기의 동작 방법을 예시적으로 보여주는 흐름도들이다.
도 7a 및 도 7b는 본 발명의 실시 예에 따른 RLM 제어기의 코드 발생 과정을 설명하는 도면들이다.
도 8a 및 도 8b는 본 발명의 실시 예에 따른 RLM 제어기의 MSB 교정 과정을 설명하는 도면들이다.
도 9a 및 도 9b는 본 발명의 실시 예에 따른 RLM 제어기의 LSB 교정 과정을 설명하는 도면들이다.
도 10은 본 발명의 실시 예에 따른 제어기(20)의 RLM 제어 방법을 예시적으로 보여주는 흐름도이다.
도 11는 본 발명의 다른 실시 예에 따른 RLM 제어기를 예시적으로 보여주는 도면이다.
도 12는 본 발명의 다른 실시 예에 따른 메모리 시스템(2)를 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 RLM 제어 과정을 보여주는 래더 다이어그램이다.
도 14는 본 발명의 실시 예에 따른 적어도 하나의 커맨드/어드레스 캘리브레이션을 수행하는 메모리 시스템(1000)을 예시적으로 보여주는 도면이다.
도 15는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템(4000)를 예시적으로 보여주는 도면이다.
도 16은 본 발명의 실시 예에 따른 메모리 장치가 적용된 데이터 센터를 예시적으로 보여주는 도면이다.
도 17는 본 발명의 실시 예에 따른 통신 시스템(9000)을 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진자가 용이하게 실시 할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 예시적으로 보여주는 도면이다.
도 1을 참조하면, 메모리 시스템(1)은 메모리 장치(10) 및 제어기(20)를 포함할 수 있다. 여기서, 메모리 시스템(1)은 MCP (Multi Chip Package), SoC (System on Chip)으로 구현 될 수 있다.
메모리 장치(10)는 제어기(20)로부터 수신된 데이터를 저장하거나, 읽혀진 데이터를 제어기(20)로 출력하도록 구현될 수 있다. 메모리 장치(10)는, 컴퓨팅 시스템에서 연산 메모리(operation memory), 워킹 메모리(working memory) 혹은 버퍼 메모리(buffer memory)로써 이용될 수 있다. 실시 예에 있어서, 메모리 장치(10)는 SIMM(Single In-line Memory Module), DIMM(Dual In-line Memory Module), SODIMM(Small-Outline DIMM), UDIMM(Unbuffered DIMM), FBDIMM(Fully-Buffered DIMM), RBDIMM(Rank-Buffered DIMM), mini-DIMM, micro-DIMM, RDIMM(Registered DIMM) 혹은 LRDIMM(Load-Reduced DIMM)으로 구현될 수 있다.
실시 예에 있어서, 메모리 장치(10)는 휘발성 메모리로 구현될 수 있다. 예를 들어, 휘발성 메모리는, DRAM(Dynamic Random Access Memory), SDRAM(Synchronous DRAM), DDR SDRAM(Double Data Rate SDRAM), LPDDR SDRAM(Low Power Double Data Rate SDRAM), GDDR SDRAM(Graphics Double Data Rate SDRAM), RDRAM(Rambus DRAM) 및 SRAM(Static RAM)에서 적어도 하나를 포함할 수 있다. 다른 실시 예에 있어서, 메모리 장치(10)는 비휘발성 메모리로 구현될 수 있다. 예를 들어, 비휘발성 메모리는, 낸드 플래시 메모리, PRAM(Phase-change RAM), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM), 및 노아 플래시 메모리 중에서 어느 하나를 포함할 수 있다.
도시되지 않았지만, 메모리 장치(10)는 SPD(Serial Presence Detect) 칩을 포함할 수 있다. SPD칩은 메모리 장치(10)의 특성에 관한 정보를 저장하도록 구현될 수 있다. 실시 예에 있어서, SPD 칩은 메모리 장치(10)의 모듈 유형, 동작 환경, 선로 배열, 모듈 구성, 저장 용량 등과 같은 메모리 장치 정보를 저장할 수 있다. 실시 예에 있어서, SPD 칩은 프로그램 가능한 읽기 전용 메모리(Programmable Read-only Memory), 예를 들어, EEPROM(Electrically Erasable Programmable Read Only Memory) 등을 포함할 수 있다.
또한, 메모리 장치(10)는, RLM(Ration of Level Mismatch) 제어기(11) 및 트랜시버(XCVR, 13)를 포함할 수 있다.
RLM 제어기(11)는 멀티-레벨 시그널링에 따른 레벨 오차(level mismatch)를 제어하도록 구현될 수 있다. 즉, RLM 제어기(11)는 멀티-레벨 시그널링에 사용하는 신호 레벨들 사이의 적어도 하나의 갭(gap)을 조정/보상/가변할 수 있다. 아래에서는 설명의 편의를 위하여, 멀티-레벨 시그널링은 PAM4(Pulse Amplitude Modulation 4-Level) 시그널링이라고 하겠다. 본 발명의 멀티-레벨 시그널링이 PAM4 시그널링에 제한되지 않는다고 이해되어야 할 것이다.
실시 예에 있어서, RLM 제어기(11)는 ZQ-캘리브레이션 회로와 추가적인 드라이버를 이용한 PAM4 시그널링을 위한 RLM(Ratio of Level Mismatch) 캘리브레이션을 적용할 수 있다. 즉, RLM 제어기(11)는 PAM4 신호 레벨 별 일정한 간격을 가지게 할 수 있다. 또한, RLM 제어기(11)는 기준 전압을 자유롭게 설정하는 전압 소스(voltage source)를 구비함으로써, PAM4의 RLM을 자유롭게 설정 할 수 있다. 또한, RLM 제어기(11)는 풀업/풀다운 코드의 캘리브레이션 종료 후에 기준 전압을 바꾸면서 추가적인 드라이버의 캘리브레이션을 각각 진행할 수 있다.
트랜시버(XCVR, 13)는 시그널링에 따라 데이터 채널(DQ channel)을 통하여 데이터를 송수신하도록 구현될 수 있다. 트랜시버(13)는 송신기(TX) 및 수신기(RX)를 포함할 수 있다.
메모리 장치(10)의 송신기(TX)는 시그널링에 따라 데이터 채널을 통하여 제어기(20)로 읽기 데이터(DRD)를 전송하도록 구현될 수 있다. 특히, 트랜시버(13)의 송신기(TX)는, RLM 제어기(11)의 RLM 제어에 따른 보상을 수행하고, PAM4 시그널링에 따라 데이터를 전송할 수 있다. 메모리 장치(10)의 수신기(RX)는 시그널링에 따라 데이터 채널을 통하여 제어기(20)로부터 쓰기 데이터(DWR)를 수신하도록 구현될 수 있다.
실시 예에 있어서, 트랜시버(13)는 듀얼-모드 트랜시버로 구현될 수 있다. 이때, 시그널링은 NRZ(Non-Return-to-Zero) 시그널링 및 PAM4(Pulse Amplitude Modulation 4-Level) 시그널링 중에서 어느 하나일 수 있다.
제어기(20)는 메모리 장치(10)를 제어하도록 구현될 수 있다. 제어기(20)는 메모리 장치(10)에 저장된 시그널링 모드를 알 수 있다. 제어기(20)는 시그널링 모드에 따라 데이터 채널을 통하여 메모리 장치(10)로 데이터를 송수신할 수 있다.
제어기(20)는 트랜시버(23)를 포함할 수 있다. 트랜시버(23)는 송신기(TX)와 수신기(RX)를 포함할 수 있다. 제어기(20)의 송신기(TX)는 시그널링 모드(PAM4/NRZ)에 따라 데이터 채널을 통하여 메모리 장치(10)로 쓰기 데이터(DWR)를 전송하도록 구현될 수 있다. 제어기(20)의 수신기(RX)는 시그널링에 따라 데이터 채널을 통하여 메모리 장치(10)로부터 읽기 데이터(DRD)를 수신하도록 구현될 수 있다. 실시 예에 있어서, 트랜시버(23)는 듀얼-모드 트랜시버로 구현될 수 있다.
실시 예에 있어서, 제어기(20)는 별도의 칩으로 구성되거나 메모리 장치(10)과 통합될 수 있다. 예를 들어, 제어기(20)는 마더 보드(Mother Board) 상에 구현될 수 있다. 또한, 제어기(20)는 마이크로프로세서에 포함된 집적 메모리 제어기(Integrated Memory Controller; IMC)로 구현될 수 있다. 또한, 제어기(20)는 입출력 허브 내에 위치할 수 있다. 또한, 제어기(20)를 포함하는 입출력 허브는 메모리 컨트롤러 허브(Memory Controller Hub; MCH)라 불릴 수 있다.
일반적인 메모리 시스템은, NRZ ZQ-calibration만 사용하여 드라이버(driver)의 강도(strength)를 찾고 있다. 예를 들어, VDD(전원전압)/2를 기준으로 잡은 강도 PAM4의 레벨(level)에 따라 gds distortion이 발생될 수 있다. 이에 드라이버 강도가 달라질 수 있다. 그 결과로써 PAM4 신호 레벨의 간격이 일정하지 않게 될 수 있다. 레벨 별 간격이 일정하지 않으면, 수신기(RX)에서 신호 감지 마진(signal sensing margin)이 작아질 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(1)은 RLM 제어기(11)에서 멀티-레벨 시그널링의 나머지 레벨에서 gds distortion을 보상함으로써, 멀티-레벨 시그널링의 신호 간격을 일정하게 유지시킬 수 있다.
도 2a는 본 발명의 실시 예에 따른 RLM 제어를 설명하기 위한 도면이다. 도 2a에서는 설명의 편의를 위하여 멀티-레벨 시그널링이 PAM4라고 하겠다. 도 2a를 참조하면, 신호 레벨의 오차 비율(RLM)은 아래의 수학식으로 표현될 수 있다.
Figure pat00001
여기서 A, B, 및 C의 각각은 신호 레벨들(V1 ~ V4) 사이의 간격(gap; V1 - V2, V2 - V3, V3 - V4)이고, min는 최소값을 선택하는 함수이다. 도 2의 (a)는 레벨 보상을 하지 않은 상태를 보여주고, 도 2의 (b)는 레벨 보상을 수행한 상태를 보여주고 있다.
도 2b는 본 발명의 실시 예에 따른 송신기(TX)를 예시적으로 보여주는 도면이다. 도 2b를 참조하면, 송신기(TX)는 DQ 패드에 연결된 MSB 드라이버(풀업/풀다운 드라이버; MSB DRV) 및 LSB 드라이버(풀업/풀다운 드라이버; LSB DRV)를 포함할 수 있다. MSB 드라이버는 전원단(VDD)와 DQ 패드 사이에 병렬 연결된 복수의 PMOS(P-channel Metal-Oxide-Semiconductor) 트랜지스터들과, DQ 패드와 접지단(GND) 사이에 병렬 연결된 복수의 NMOS(N-channel Metal-Oxide-Semiconductor) 트랜지스터들을 포함할 수 있다. LSB 드라이버는 전원단(VDD)와 DQ 패드 사이에 병렬 연결된 복수의 PMOS 트랜지스터들과, DQ 패드와 접지단(GND) 사이에 병렬 연결된 복수의 NMOS 트랜지스터들을 포함할 수 있다.
도 2c는 송신기(TX)의 풀업/풀다운 드라이브 저항들에 따른 신호 레벨들(V1 ~ V4)을 예시적으로 보여주는 도면이다. 도 2c에 도시된 바와 같이, 풀업 저항이 R이고 풀다운 저항이 무한대일 때 제 1 신호 레벨(V1)이 대응하고, 풀업 저항이 1.5R이고 풀다운 저항이 3R 일 때 제 2 신호 레벨(V2)이 대응하고, 풀업 저항이 3R이 풀다운 저항은 1.5R 일 때 제 3 신호 레벨(V3)이 대응하고, 풀업 저항이 무한대이고 풀다운 저항이 R일 때 제 4 신호 레벨(V4)이 대응할 수 있다. 여기서 R은 특성 임피던스(Z0)에 대응하는 저항값이다. 실시 예에 있어서, R은 채널에 따라 동일할 수 있다. 다른 실시 예에 있어서, R은 채널에 따라 서로 다를 수 있다. 한편, 신호 레벨과 저항 관계는 도 2c에 제한되지 않는다고 이해되어야 할 것이다.
아래에서는 설명의 편의를 위하여 멀티-레벨 시그널링이 PAM4 시그널링이라고 하겠다.
도 3은 본 발명의 실시 예에 따른 RLM 제어기(11)를 예시적으로 보여주는 도면이다. 도 3을 참조하면, RLM 제어기(11)는, 제 1 비교기(111), 제 2 비교기(121), 제 1 코드 발생기(112), 제 2 코드 발생기(122), 제 1 MSB(Most Significant Bit, 상위비트) 풀업 드라이버(MSB PU DRV1; 113), 제 2 MSB 풀업 드라이버(MSB PU DRV2; 123), 제 1 LSB(Least Significant Bit, 하위비트) 풀업 드라이버(LSB PU DRV1; 114), 제 2 LSB 풀업 드라이버(LSB PU DRV2; 124), 제 1 MSB 풀다운 드라이버(MSB PD DRV1; 115), 제 2 MSB 풀다운 드라이버(MSB PD DRV2; 125), 제 1 LSB 풀다운 드라이버(LSB PD DRV1; 116), 제 2 LSB 풀다운 드라이버(LSB PD DRV2; 126), MSB 추가 드라이버(MSB ADD DRV; 117) 및 LSB 추가 드라이버(LSB ADD DRV; 118)를 포함할 수 있다.
제 1 비교기(111)는 제 1 노드(ND1)의 제 1 조정 전압(Vx)과 제 1 기준 전압(VREF1)를 비교하여, 제 1 비교 전압을 출력하도록 구현될 수 있다. 여기서 제 1 조정 전압(Vx)은 특성 임피던스(Z0)의 대응하는 전압이다.
제 2 비교기(121)는, 제 2 노드(ND2)의 제 2 조정 전압(Vy)과 제 2 기준 전압(VREF2)를 비교하여, 제 2 비교 전압을 출력하도록 구현될 수 있다.
제 1 코드 발생기(112)는 제 1 비교기(111)의 제 1 비교 전압을 수신하고, 대응하는 풀업 코드(PUCD) 혹은 추가 코드들(ADD_MSB, ADD_LSB)를 발생하도록 구현될 수 있다. 실시 예에 있어서, 풀업 코드(PUCD)는 m-비트(m은 2이상의 정수) 데이터를 포함할 수 있다. 실시 예에 있어서, 추가 코드들(ADD_MSB, ADD_LSB)의 각각은 k-비트(k는 2 이상의 정수) 데이터를 포함할 수 있다.
제 2 코드 발생기(122)는 제 2 비교기(121)의 제 2 비교 전압을 수신하고, 대응하는 풀다운 코드(PDCD)를 발생하도록 구현될 수 있다. 실시 예에 있어서, 풀다운 코드(PDCD)는 n-비트(n는 2 이상의 정수) 데이터를 포함할 수 있다.
제 1 MSB 풀업 드라이버(MSB PU DRV1; 113)는 풀업 코드(PUCD)를 수신하고, 풀업 코드(PUCD)에 대응하여 MSB를 위한 풀업 드라이버 강도(혹은, 구동 능력)를 조정하도록 구현될 수 있다. 실시 예에 있어서, 제 1 MSB 풀업 드라이버(113)는, 전원단(VDD)와 제 1 노드(ND1) 사이에 병렬 연결되고, 풀업 코드(PUCD)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 PMOS(P-channel Metal Oxide Semiconductor) 트랜지스터 혹은 NMOS(N-channel Metal Oxide Semiconductor) 트랜지스터로 구현될 수 있다.
제 2 MSB 풀업 드라이버(MSB PU DRV2; 123)는, 풀업 코드(PUCD)를 수신하고, 풀업 코드(PUCD)에 대응하여 MSB를 위한 풀업 드라이버 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, 제 2 MSB 풀업 드라이버(123)는, 전원단(VDD)와 제 2 노드(ND2) 병렬 연결되고, 풀업 코드(PUCD)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 PMOS 트랜지스터 혹은 NMOS 트랜지스터로 구현될 수 있다.
제 1 LSB 풀업 드라이버(LSB PU DRV1; 114)는, 풀업 코드(PUCD)를 수신하고, 풀업 코드(PUCD)에 대응하여 LSB를 위한 풀업 드라이버 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, 제 1 LSB 풀업 드라이버(114)는, 전원단(VDD)와 제 1 노드(ND1) 사이에 병렬 연결되고, 풀업 코드(PUCD)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 PMOS 트랜지스터 혹은 NMOS 트랜지스터로 구현될 수 있다.
제 2 LSB 풀업 드라이버(LSB PU DRV2; 124)는, 풀업 코드(PUCD)를 수신하고, 풀업 코드(PUCD)에 대응하여 LSB를 위한 풀업 드라이버 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, 제 2 LSB 풀업 드라이버(124)는, 전원단(VDD)와 제 2 노드(ND2) 병렬 연결되고, 풀업 코드(PUCD)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 PMOS 트랜지스터 혹은 NMOS 트랜지스터로 구현될 수 있다.
제 1 MSB 풀다운 드라이버(MSB PD DRV1; 115)는, 풀다운 코드(PDCD)를 수신하고, 풀다운 코드(PDCD)에 대응하여 MSB를 위한 풀다운 드라이버 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, 제 1 MSB 풀다운 드라이버(115)는, 제 1 노드(ND1)와 접지단(GND) 사이에 병렬 연결되고, 풀다운 코드(PDCD)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 NMOS 트랜지스터로 구현될 수 있다.
제 2 MSB 풀다운 드라이버(MSB PD DRV2; 125)는, 풀다운 코드(PDCD)를 수신하고, 풀다운 코드(PDCD)에 대응하여 MSB를 위한 풀다운 드라이버 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, 제 2 MSB 풀다운 드라이버(115)는, 제 2 노드(ND2)와 접지단(GND) 사이에 병렬 연결되고, 풀다운 코드(PDCD)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 NMOS 트랜지스터로 구현될 수 있다.
제 1 LSB 풀다운 드라이버(LSB PD DRV1; 116)는, 풀다운 코드(PDCD)를 수신하고, 풀다운 코드(PDCD)에 대응하여 LSB를 위한 풀다운 드라이버 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, 제 1 LSB 풀다운 드라이버(116)는, 제 1 노드(ND1)와 접지단(GND) 사이에 병렬 연결되고, 풀다운 코드(PDCD)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 NMOS 트랜지스터로 구현될 수 있다.
제 2 LSB 풀다운 드라이버(LSB PD DRV2; 126)는, 풀다운 코드(PDCD)를 수신하고, 풀다운 코드(PDCD)에 대응하여 LSB를 위한 풀다운 드라이버 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, 제 2 LSB 풀다운 드라이버(126)는, 제 2 노드(ND2)와 접지단(GND) 사이에 병렬 연결되고, 풀다운 코드(PDCD)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 NMOS 트랜지스터로 구현될 수 있다.
MSB 추가 드라이버(MSB ADD DRV; 117)는, 제 1 추가 코드(ADD_MSB)를 수신하고, 제 1 추가 코드(ADD_MSB)에 응답하여 MSB를 위한 추가 드라이버의 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, MSB 풀업 드라이버(117)는, 전원단(VDD)와 제 1 노드(ND1) 사이에 병렬 연결되고, 제 1 추가 코드(ADD_MSB)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 PMOS 트랜지스터 혹은 NMOS 트랜지스터로 구현될 수 있다.
LSB 추가 드라이버(LSB ADD DRV; 118)는, 제 2 추가 코드(ADD_LSB)를 수신하고, 제 2 추가 코드(ADD_LSB)에 응답하여 LSB를 위한 추가 드라이버의 강도를 조정하도록 구현될 수 있다. 실시 예에 있어서, LSB 풀업 드라이버(118)는, 전원단(VDD)와 제 1 노드(ND1) 사이에 병렬 연결되고, 제 2 추가 코드(ADD_LSB)에 응답하여 온/오프 하는 복수의 트랜지스터들을 포함할 수 있다. 실시 예에 있어서, 복수의 트랜지스터들의 각각은 PMOS 트랜지스터 혹은 NMOS 트랜지스터로 구현될 수 있다.
한편, 도 3에 도시된 MSB 추가 드라이버(117) 및 LSB 추가 드라이버(118)는 풀업 드라이버로 구현되지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다. 본 발명의 추가 드라이버들은 풀업/풀다운 드라이버로 구현될 수도 있다.
한편, 아래에서 RLM 제어 설명의 편의를 위하여, 제 1 비교기(111), 제 1 코드 발생기(112), 제 2 코드 발생기(122), 제 1 MSB 풀업 드라이버(113), 제 1 LSB 풀업 드라이버(114), 제 1 MSB 풀다운 드라이버(115), 제 1 LSB 풀다운 드라이버(116), MSB 추가 드라이버(117) 및 LSB 추가 드라이버(118)는 통칭하여 제 1 파트 회로(110)로 부르겠다. 또한, 제 2 비교기(121), 제 1 코드 발생기(112), 제 2 코드 발생기(122), 제 2 MSB 풀업 드라이버(123), 제 2 LSB 풀업 드라이버(124), 제 1 MSB 풀다운 드라이버(125), 및 제 1 LSB 풀다운 드라이버(126)는 통칭하여 제 2 파트 회로(120)로 부르겠다
도 4a 및 도 4b는 기준 전압 선택기들을 예시적으로 보여주는 도면이다. 도 4a를 참조하면, 제 1 선택기(131)는 제 1 신호 레벨(V1, 도 2 참조), 제 2 신호 레벨(V2, 도 2 참조), 및 제 3 신호 레벨(V3, 도 2 참조) 중에서 어느 하나를 제 1 기준 전압(VREF1)로 출력하도록 구현될 수 있다. 도 4b를 참조하면, 제 2 선택기(132)는 제 1 신호 레벨(V1, 도 2 참조)을 제 2 기준 전압(VREF1)로 출력하도록 구현될 수 있다.
RLM 제어기(11)는 제 1 선택기(131) 및 제 2 선택기(132)에 입력되는 제 1 신호 레벨(V1), 제 2 신호 레벨(V2), 및 제 3 신호 레벨(V3)을 조절함으로써, RLM을 일정하게 유지시킬 수 있다.
또한, RLM 제어기(11)는 제 1 신호 레벨(V1), 제 2 신호 레벨(V2), 제 3 신호 레벨(V3) 및 제 4 신호 레벨(V4)을 원하는 레벨로 설정할 수 있다. 예를 들어, 0V와 전원 전압(VDD) 사이의 값을 일정하게 유지할 때, RLM 제어기(11)가 사용될 수 있다. RLM 제어기(11)는 신호 레벨들(V1 ~ V4)의 적어도 2개 사이의 레벨을 일정하게 유지할 때 이용될 수 있다.
도 5a 및 도 5b는 본 발명의 실시 예에 따른 RLM 제어기(11)의 동작을 개념적으로 설명하는 도면들이다.
도 5a를 참조하면, PAM4 시그널링의 신호 레벨과 대응하는 데이터를 예시적으로 도시되고 있다. 제 1 신호 레벨(V1)은
Figure pat00002
이고, 제 2 신호 레벨(V2)은
Figure pat00003
이고, 제 3 신호 레벨(V3)은
Figure pat00004
이고, 제 4 신호 레벨(V4)은 0(혹은 GND)이다. 한편, 신호 레벨들(V1 ~ V4)이 여기에 제한되지 않는다고 이해되어야 할 것이다.
실시 예에 있어서, 제 1 신호 레벨(V1)에 데이터 '11'이 대응하고, 제 2 신호 레벨(V2)에 데이터 '10'이 대응하고, 제 3 신호 레벨(V3)에 데이터 '01'이 대응하고, 제 4 신호 레벨(V4)에 데이터'00'이 대응할 수 있다. 한편, 신호 레벨들(V1 ~ V4)의 각각에 대응하는 2-비트 데이터가 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 5b을 참조하면, RLM 제어를 수행하기 전의 신호 레벨들(V1 ~ V4)의 사이의 간격들이 도시된다. 도 5c을 참조하면, RLM 제어를 수행한 우 신호 레벨들(V1 ~ V4)의 사의 간격들이 도시된다. 도 5c에 도시된 바와 같이, RLM 제어를 수행하면, 2-비트 데이터('11', '10', '01', '00')를 구분하기 위한 간격들이 일정하게 유지될 수 있다.
도 6a 및 도 6b는 본 발명의 실시 예에 따른 RLM 제어기(11)의 동작 방법을 예시적으로 보여주는 흐름도들이다.
도 6a를 참조하면, RLM 제어기(11)의 동작은 다음과 같이 진행될 수 있다. 우선적으로 풀업/풀다운 코드 캘리브레이션이 수행될 수 있다(S110). 이러한 풀업/풀다운 코드 캘리브레이션은 ZQ 캘리브레이션을 포함할 수 있다. 이후에, RLM 제어기(110의 제 1 기준값(VRF1)을 변경하면서 MSB를 위한 추가적인 MSB 코드 캘리브레이션이 수행될 수 있다(S120). 이후에, LSB를 위한 추가적인 LSB 코드 캘리브레이션이 수행될 수 있다(S130).
도 6b를 참조하면, RLM 제어기(110)의 동작은, 도 6a에 도시된 그것과 비교하여 LSB 코드 캘리브레이션을 먼저 수행(120a)한 후에, MSB 코드 캘리브레이션을 수행할 수 있다.
도 7a 및 도 7b는 본 발명의 실시 예에 따른 RLM 제어기의 코드 발생 과정을 설명하는 도면들이다.
제 1 파트 회로(110)의 MSB 풀업 드라이버(113) 및 LSB 풀업 드라이버(114)을 턴-온 시키고, 제 2 파트 회로(120)의 MSB 풀업/풀다운 드라이버들(123, 125) 및 LSB 풀업/풀다운 드라이버들(124, 126)을 턴-온 시키고, 제 1 신호 레벨(V1)을 제 1 기준 전압(VREF1) 및 제 2 기준 전압(VREF2)으로 선택하고, 풀업 코드 캘리브레이션과 풀다운 코드 캘리브레이션이 동시에 수행될 수 있다.
실시 예에 있어서, 풀업 코드의 캘리브레이션이 끝나고, 풀다운 코드 캘리브레이션이 종료될 수 있다. 이로써, 도 7b에 도시된 바와 같이, 제 1 신호 레벨(V1)이
Figure pat00005
로 조정될 수 있다.
도 8a 및 도 8b는 본 발명의 실시 예에 따른 RLM 제어기의 MSB 교정 과정을 설명하는 도면들이다. 도 8a를 참조하면, 제 1 파트 회로(110)의 제 1 기준 전압(VREF1)을 제 1 신호 레벨(V2)로 변경하고, MSB 풀업 드라이버(113)을 턴-온시키고, LSB 풀다운 드라이버(116)를 턴-온 시킨 상태('10' 레벨)에서 추가 MSB 코드 캘리브레이션이 수행될 수 있다. 이로써, 도 8b에 도시된 바와 같이, 제 2 신호 레벨(V2)이
Figure pat00006
로 조정될 수 있다.
도 9a 및 도 9b는 본 발명의 실시 예에 따른 RLM 제어기의 LSB 교정 과정을 설명하는 도면들이다. 도 9a를 참조하면, 제 1 기준 전압(VREF1)을 제 3 신호 레벨(V3)로 변경하고, LSB 풀업 드라이버(114)을 턴-온 시키고, MSB 풀다운 드라이버(115)를 턴-온 시킨 상태('01' level)에서 추가 LSB 코드 캘리브레이션이 수행될 수 있다. 이로써,
code calibration 수행 후 종료 이로써, 도 9b에 도시된 바와 같이, 제 3 신호 레벨(V3)이
Figure pat00007
로 조정될 수 있다.
도 10은 본 발명의 실시 예에 따른 제어기(20)의 RLM 제어 방법을 예시적으로 보여주는 흐름도이다.
제 1 기준 전압(VREF1)을 제 1 신호 레벨(V1)으로 설정하고, 제 2 기준 전압(VREF2)을 제 1 신호 레벨(V1)으로 설정 한 후에, 제 1 조정 전압(Vx) 및 제 2 조정 전압(Vy)이 발생될 수 있다(S210). 이 때, 제 1 파트 회로(110)의 풀업 드라이버들(113, 114)은 턴-온 상태이고, 제 2 파트 회로(120)의 풀업/풀다운 드라이버들(123, 124, 125, 126)은 턴-온 상태일 수 있다.
이 후에, 제 1 비교기(111)에서 제 1 조정 전압(Vx)이 제 1 신호 레벨(V1)인 지 가 판별 될 수 있다(S211). 만일, 제 1 조정 전압(Vx)이 제 1 신호 레벨(V1)이 아니라면, 풀업/풀다운 코드(PUCD, PDCD)는 업데이트 되고(S212), 이 후에 S210 단계가 진행 될 수 있다.
반면에, 제 1 조정 전압(Vx)이 제 1 신호 레벨(V1)이라면, 제 2 파트 회로(120)의 풀업/풀다운 드라이버들(123, 124, 125, 126)을 턴-온 시키고, 제 2 기준 전압(VREF2)을 제 1 신호 레벨(V1)로 설정한 후에 제 2 조정 전압(Vy)이 발생될 수 있다(S213).
이 후에, 제 2 비교기(121)에서 제 2 조정 전압(Vy)이 제 1 신호 레벨(V1)인 지가 판별될 수 있다(S214). 만일, 제 2 조정 전압(Vy)이 제 1 신호 레벨(V1)이 아닐 때, 풀업 코드(PDCD)가 업데이트 되고(S215), S213 단계가 진행 될 수 있다.
반면에, 제 2 조정 전압(Vy)이 제 1 신호 레벨(V1)이라면, 제 1 기준 전압(VREF1)을 제 2 신호 레벨(V2)로 설정하고, 제 1 파트 회로(110)의 풀업 드라이버들(113, 114)을 턴-온 시키고, MSB 추가 드라이버(117)를 턴-온 시킨 후에, 제 1 조정 전압(Vx)이 발생될 수 있다(S216).
이 후에, 제 1 비교기(111)에서 제 1 조정 전압(Vx)이 제 2 신호 레벨(V2)인 지가 판별될 수 있다(S217). 만일, 제 1 조정 전압(Vx)이 제 2 신호 레벨(V2)이 아닐 때, MSB 추가 코드(ADD_MSB)가 업데이트 되고(S218), S216 단계가 진행 될 수 있다.
반면에, 제 1 조정 전압(Vx)이 제 2 신호 레벨(V2)이라면, 제 1 기준 전압(VREF1)을 제 3 신호 레벨(V3)로 설정하고, 제 1 파트 회로(110)의 풀업 드라이버들(113, 114)을 턴-온 시키고, LSB 추가 드라이버(118)를 턴-온 시킨 후에, 제 1 조정 전압(Vx)이 발생될 수 있다(S219).
이 후에, 제 1 비교기(111)에서 제 1 조정 전압(Vx)이 제 3 신호 레벨(V3)인 지가 판별될 수 있다(S220). 만일, 제 1 조정 전압(Vx)이 제 3 신호 레벨(V3)이 아닐 때, LSB 추가 코드(ADD_LSB)가 업데이트 되고(S221), S219 단계가 진행 될 수 있다.
반면에, 제 1 조정 전압(Vx)이 제 3 신호 레벨(V3)이라면, RLM 제어 동작은 완료될 수 있다.
본 발명의 실시 예에 따른 PAM4 RLM Calibration은 우선적으로 ZQ calibration을 수행할 수 있다. 이러한 ZQ 캘리브레이션은 External 저항과 연결되어 있는 풀업 드라이버(PU driver)의 코드를 업데이트함으로써 1/2*VDD를 찾을 수 있다. 이때 풀업 드라이버(PD driver)는 턴-오프 상태이고, 제 1 기준 전압은 제 1 신호 레벨(VREF1 = V1)을 갖는다. 이렇게 풀업 코드(PU code)를 찾는 동안, 같은 풀업 코드(PU code)를 받아 풀다운 코드(PD code)도 찾아줄 수 있다. 이렇게 되면 풀업/풀다운 코드 캘리브레이션(PU/PD code calibration)이 동시에 진행될 수 있다. 이에 따라 시간이 단축될 수 있다.
이러한 풀업/풀다운 코드(PU/PD code)의 캘리브레이션이 끝나면, 제 1 기준전압(VREF1)의 값을 바꾸면서(MUX로 selection) 상위비트 추가 드라이버(MSB additional driver)/하위비트 추가 드라이버(LSB additional driver)의 캘리브레이션을 각각 진행할 수 있다.
한편, 도 3에 도시된 RLM 제어기(11)는 하나의 비교기에서 기준 전압을 멀티플렉서를 사용하여 모드에 따라 변경함으로써 캘리브레이션을 수행하였다. 하지만, 본 발명이 여기에 제한될 필요는 없다. 본 발명의 RLM 제어기는 복수의 비교기들에서 서로 다른 기준 전압을 사용하여 구현될 수도 있다.
도 11는 본 발명의 다른 실시 예에 따른 RLM 제어기(11a)를 예시적으로 보여주는 도면이다. 도 11을 참조하면, RLM 제어기(11a)는 도 3에 도시된 RLM 제어기(11)와 비교하여 복수의 제 1 비교기들(111-1, 111-2, 111-3)을 포함하는 차이점을 갖는다. 제 1 비교기들(111-1, 111-2, 111-3)의 각각은 제 1 조정 전압(Vx)과 대응하는 신호 레벨(V1, V2, V3 중에서 어느 하나)을 비교하고, 제 1 비교 전압을 출력할 수 있다. 제 2 비교기(121a)는 제 2 조정 전압(Vy)와 제 1 신호 레벨(V1)을 비교하고, 제 2 비교 전압을 출력할 수 있다.
실시 예에 있어서, 제 1 비교기들(111-1, 111-2, 111-3)은 대응하는 활성화 신호들(EN1, EN2, EN3)에 응답하여 순차적으로 활성화 될 수 있다. 예를 들어, 제 1 비교기들(111-1, 111-2, 111-3) 중에서 어느 하나의 비교기가 활성화 될 때, 나머지 비교기들은 비활성화 될 수 있다.
실시 예에 있어서, MSB 추가 드라이버(117) 및 LSM 추가 드라이버(118)의 각각은, 풀업 드라이버 혹은 풀다운 드라이버를 포함할 수 있다. 실시 예에 있어서, 풀업 드라이버는 전원단(VDD)과 제 1 노드(ND1) 사이에 병렬 연결된 풀업 트랜지스터들을 포함할 수 있다. 여기서 풀업 트랜지스터들의 각각은 PMOS 트랜지스터 혹은 NMOS 트랜지스터로 구현될 수 있다. 실시 예에 있어서, 풀다운 드라이버는 제 1 노드(ND1)와 접지단(GND) 사이에 병렬 연결된 풀다운 트랜지스터들을 포함할 수 있다. 여기서 풀다운 트랜지스터들의 각각은 NMOS 트랜지스터로 구현될 수 있다.
한편, 본 발명의 RLM 캘리브레이션은 호스트의 트레이닝 요청에 따라 진행될 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 메모리 시스템(2)를 보여주는 도면이다. 도 12를 참조하면, 메모리 시스템(2)은 도 1에 도시된 메모리 시스템(1)과 비교하여 RLM 제어를 요청하는 트레이닝 로직(21)을 갖는 제어기(CNTL, 20a)를 갖는 차이점을 갖는다.
도 13은 본 발명의 실시 예에 따른 RLM 제어 과정을 보여주는 래더 다이어그램이다. 도 13을 참조하면, RLM 제어 과정을 다음과 같이 진행될 수 있다. 제어기(CNTL)는 호스트 요청에 응답하여 메모리 장치(MEM)에 RLM 트레이닝 요청을 전송할 수 있다(S11). 메모리 장치(MEM)는 RLM 트레이닝 요청에 응답하여 ZQ 캘리브레이션과 추가적인 드라이버를 이용하여 RLM 캘리브레이션을 수행할 수 있다(S12). 이 후에 메모리 장치(MEM)와 제어기(CNTL)는 PAM4 시그널링을 이용하여 통신을 수행할 수 있다(S13).
도 14는 본 발명의 실시 예에 따른 적어도 하나의 커맨드/어드레스 캘리브레이션을 수행하는 메모리 시스템(1000)을 예시적으로 보여주는 도면이다.
도 14를 참조하면, 메모리 시스템(1000)은 제어기(1800)와 메모리 장치(1900)를 포함할 수 있다. 제어기(1800)는 클록 발생기(1801), 커맨드/어드레스(CA) 발생기(1802), 커맨드/어드레스 레퍼런스 발생기(1803), 레지스터(1804), 비교기(1806), 위상/타이밍 제어기(1808), 및 데이터 입출력기(1810, 1812)를 포함할 수 있다. 제어기(1800)는 클록 발생기(1801)에서 생성되는 클록 신호(CK)를 클록 신호 라인을 통해 메모리 장치(1900)로 제공할 수 있다.
실시 예에 있어서, 메모리 시스템(1000)은 인터페이스에 별도로 커맨드/어드레스의 레퍼런스 신호(CA_Ref) 라인을 포함하고 있다. 커맨드/어드레스의 레퍼런스 신호(CA_Ref) 라인은 캘리브레이션 모드에서 커맨드/어드레스의 기준값인 커맨드/어드레스의 레퍼런스 신호(CA_Ref)를 송수신 하는 역할을 수행할 수 있다.
이러한 커맨드/어드레스의 기준값을 이용한 캘리브레이션 결과값을 위상/타이밍 제어기(1808)에 제공해서 커맨드/어드레스 신호(CA)의 위상/타이밍을 조정할 수 있다. 별도의 커맨드/어드레스의 레퍼런스 신호(CA_Ref) 라인이 있으므로 커맨드/어드레스(CA) 신호를 전송하는 동작을 하면서 동시에 커맨드/어드레스(CA) 신호의 위상/타이밍을 조정할 수 있는 캘리브레이션 동작을 수행할 수 있는 장점이 있다.
CA 발생기(1802)는 위상/타이밍 제어기(1808)의 제어 신호(CTR)에 응답하여 위상 혹은 타이밍을 조정된 커맨드/어드레스 신호(CA)를 발생하고, CA 버스를 통해 메모리 장치(1900)로 전송할 수 있다.
커맨드/어드레스 레퍼런스 발생기(1803)는 커맨드/어드레스 발생기(1802)와 동일하게 구성되며, 커맨드/어드레스 발생기(1802)에서 발생되는 커맨드/어드레스 신호(CA)와 동일한 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 발생할 수 있다.
제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)는 레지스터(1804)로 제공된다. 또한, 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)는 데이터 출력기(1812)를 통해 CA 레퍼런스 버스로 전송되고, CA 레퍼런스 버스(16)를 통해 메모리 장치(1900)로 제공된다.
레지스터(1804)는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 저장할 수 있다. 비교기(1806)는 레지스터(1804)에 저장된 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)와 데이터 입력기(1810)로부터 출력되는 제3 커맨드/어드레스 레퍼런스 신호(CA_Ref3)를 비교할 수 있다. 비교기(1804)는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)와 제3 커맨드/어드레스 레퍼런스 신호(CA_Ref3)의 데이터를 비교하여 패스 혹은 페일 신호(P/F)를 발생할 수 있다.
위상/타이밍 제어기(1808)는 비교기(1806)의 패스 혹은 페일 신호(P/F)에 따라 커맨드/어드레스 신호(CA)의 위상 변이(shift)를 지시하는 제어 신호(CTR)를 발생할 수 있다. 제어 신호(CTR)는 커맨드/어드레스 신호(CA)의 위상 혹은 타이밍을 조정하여, 위상 조정된 커맨드/어드레스 신호(CA)를 발생시킬 수 있다.
데이터 입력기(1810)는, 메모리 장치(1900)로부터 CA 레퍼런스 버스를 통해 전달되는 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)를 수신하여 제 3 커맨드/어드레스 레퍼런스 신호(CA_Ref3)로서 비교기(1806)로 전달할 수 있다.
데이터 출력기(1812)는 커맨드/어드레스 레퍼런스 발생기(1803)에서 발생된 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 수신하여 CA 레퍼런스 버스(12)로 전송할 수 있다.
메모리 장치(1900)는 클록 버퍼(1902), 커맨드/어드레스(CA) 수신기(1904), 커맨드/어드레스 레퍼런스 수신기(1906), 및 데이터 입출력기(1908, 910)를 포함할 수 있다. 클록 버퍼(1902)는 클록 신호 라인을 통해 전달되는 클록 신호(CK)를 수신하여 내부 클록 신호(ICK)를 발생할 수 있다. CA 수신기(1904)는 내부 클록 신호(ICK)에 응답하여 칩 선택 신호(/CS), 클록 인에이블 신호(CKE) 및 CA 버스를 통해 전달되는 커맨드/어드레스 신호(CA)를 수신할 수 있다.
클록 인에이블 신호(CKE)는 CA 버스를 통해 전달되는 커맨드/어드레스 신호(CA)의 리드 커맨드로 작용하는 의사 커맨드(pseudo command)로 사용될 수 있다. CA 수신기(1904)는 클록 인에이블 신호(CKE)가 활성화일 때에 커맨드/어드레스 신호(CA)를 수신할 수 있다.
데이터 입력기(1908)는 제어기(1800)로부터 CA 레퍼런스 버스를 통해 전달되는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 수신하여 커맨드/어드레스 레퍼런스 수신기(1906)로 전달할 수 있다. 커맨드/어드레스 레퍼런스 수신기(1906)는 CA 수신기(1904)와 동일하게 구성될 수 있다. 커맨드/어드레스 레퍼런스 수신기(1906)는 내부 클록 신호(ICK)에 응답하여 칩 선택 신호(/CS), 클록 인에이블 신호(CKE) 및 CA 레퍼런스 버스를 통해 전달되는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 수신하여 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)를 발생할 수 있다.
제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)는, CA 수신기(1904)에서 내부 클록 신호(ICK)에 응답하여 칩 선택 신호(/CS), 클록 인에이블 신호(CKE) 및 CA 버스를 통해 전달되는 커맨드/어드레스 신호(CA)를 수신하여 출력하는 신호와 동일할 수 있다. 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)는 데이터 출력기(1910)를 통해 CA 레퍼런스 버스로 전달될 수 있다.
메모리 시스템(1000)에서 이루어지는 CA 캘리브레이션은 다음과 같다. 제어기(1800)의 CA 발생기(1802)는 위상/타이밍 제어기(1808)의 제어 신호(CTR)에 응답하여 커맨드/어드레스 신호(CA)의 위상 혹은 타이밍을 조정하여 커맨드/어드레스 신호(CA)를 CA 버스로 전송할 수 있다. 커맨드/어드레스 레퍼런스 발생기(1803)는 커맨드/어드레스 신호(CA)와 동일한 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 발생하여 CA 레퍼런스 버스로 전달할 수 있다.
메모리 장치(1900)의 CA 레퍼런스 수신기(1906)는 내부 클록 신호(ICK)와 클록 인에이블 신호(CKE)에 따라 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 수신하여 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)를 발생할 수 있다. 메모리 장치(1900)의 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)는 CA 레퍼런스 버스로 전송될 수 있다.
제어기(1800)는 CA 레퍼런스 버스를 통해 전송되는 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)를 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)로써 비교기(1806)로 전송할 수 있다. 비교기(1806)는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)와 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)의 데이터를 비교하여 패스 혹은 페일 신호(P/F)를 발생할 수 있다. 위상/타이밍 제어기(1808)는 비교기(1806)의 패스 혹은 페일 신호(P/F)에 따라 커맨드/어드레스 신호(CA)의 위상 변이(shift)를 지시하는 제어 신호(CTR)를 발생할 수 있다. CA 발생기(1802)는 제어 신호(CTR)에 따라 위상 조정된 커맨드/어드레스 신호(CA)를 발생시킬 수 있다.
이러한 CA 캘리브레이션 동작의 반복으로, 제어기(1800)의 위상/타이밍 제어기(1808)는 패스(P)된 위치들의 중간을 커맨드/어드레스 신호(CA) 윈도우의 중간으로 판별하고, 클록 신호(CK)의 엣지에 커맨드/어드레스 신호(CA) 윈도우의 중간이 오도록 커맨드/어드레스 신호(CA)를 발생하여 메모리 장치(1900)로 제공할 수 있다. 이에 따라, 메모리 장치(1900)는 클록 신호(CK)의 상승/하강 엣지에서 클록 신호 쌍(CK, CKB)의 상승/하강 엣지에 유효 윈도우의 중간이 위치하는 커맨드/어드레스 신호(CA)를 수신할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 제어기(1800) 및 메모리 장치(1900)의 각각에 트랜시버(1820, 1920)을 포함할 수 있다. 실시 예에 있어서, 트랜시버들(1820, 1920)의 각각은, 실시간으로 복수의 데이터 채널(DQ)을 통해 NRZ 모드 혹은 PAM4 모드 중에서 어느 하나를 선택하고, 선택된 모드로 데이터를 전송할 수 있다. 특히, 메모리 장치(1900)의 트랜시버(1920)는 도 1 내지 도 13에서 설명된 RLM 제어기(1921)의 제어에 따라 신호 레벨들 사이의 간격을 일정하게 유지하면서 PAM4 전송을 수행할 수 있다.
한편, 본 발명의 실시 예에 따른 RLM 제어 방식은, 스택된 메모리 패키지 칩 내부에서 적용 가능하다.
도 15는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템(4000)를 예시적으로 보여주는 도면이다. 도 15를 참조하면, 컴퓨팅 시스템(4000)는 호스트 프로세서(4100), 및 호스트 프로세서(4100)에 의해 제어되는 적어도 하나의 메모리 패키지 칩(4210)을 포함할 수 있다.
실시 예에 있어서, 채널(4001)을 통하여 호스트 프로세서(4100)과 메모리 패키지 칩(4210)은 데이터를 송수신할 수 있다.
메모리 패키지 칩(4210)은 스택된 메모리 칩들과 제어기 칩을 포함할 수 있다. 도 15에 도시된 바와 같이, 메모리 패키지 칩(4210)은 DRAM 제어기 칩에 형성된 복수의 DRAM 칩들을 포함할 수 있다. 한편, 본 발명의 메모리 패키지 칩의 구성에 여기에 제한되지 않는다고 이해되어야 할 것이다. 복수의 DRAM 칩들의 각각은, 도 1 내지 도 13에서 설명된 바와 같이 RLM 캘리브레이션을 수행할 수 있다.
실시 예에 있어서, 메모리 패키지 칩(4210)의 스택된 메모리 칩들과 제어기 칩 사이에 시그널링 모드는 내부 채널 환경에 따라 가변 할 수 있다. 실시 예에 있어서, 호스트 프로세서(4100)과 메모리 패키지 칩(4210) 사이에 시그널링 모드는 채널 환경에 따라 실시간으로 가변 할 수 있다.
도 16은 본 발명의 실시 예에 따른 메모리 장치가 적용된 데이터 센터를 예시적으로 보여주는 도면이다. 도 16를 참조하면, 데이터 센터(7000)는 각종 데이터를 모아두고 서비스를 제공하는 시설로서, 데이터 저장 센터라고 지칭될 수도 있다. 데이터 센터(7000)는 검색 엔진 및 데이터 베이스 운용을 위한 시스템일 수 있으며, 은행 등의 기업 혹은 정부기관에서 사용되는 컴퓨팅 시스템일 수 있다. 데이터 센터(7000)는 어플리케이션 서버들(7100 내지 7100n) 및 저장 서버들(7200 내지 7200m)을 포함할 수 있다. 어플리케이션 서버들(7100 내지 7100n)의 개수 및 저장 서버들(7200 내지 7200m)의 개수는 실시 예에 따라 다양하게 선택될 수 있고, 어플리케이션 서버들(7100 내지 7100n)의 개수 및 저장 서버들(7200 내지 7200m)의 개수는 서로 다를 수 있다.
어플리케이션 서버(7100) 혹은 저장 서버(7200)는 프로세서(7110, 7210) 및 메모리(7120, 7220) 중 적어도 하나를 포함할 수 있다. 저장 서버(7200)를 예시로 설명하면, 프로세서(7210)는 저장 서버(7200)의 전반적인 동작을 제어할 수 있고, 메모리(7220)에 액세스하여 메모리(7220)에 로딩된 커맨드 혹은 데이터를 실행할 수 있다. 메모리(7220)는 DDR SDRAM(Double Data Rate Synchronous DRAM), HBM(High Bandwidth Memory), HMC(Hybrid Memory Cube), DIMM(Dual In-line Memory Module), Optane DIMM 혹은 NVMDIMM(Non-Volatile DIMM)일 수 있다. 실시 예에 따라, 저장 서버(7200)에 포함되는 프로세서(7210)의 개수 및 메모리(7220)의 개수는 다양하게 선택될 수 있다.
실시 예에 있어서, 프로세서(7210)와 메모리(7220)는 프로세서-메모리 페어를 제공할 수 있다. 실시 예에 있어서, 프로세서(7210)와 메모리(7220)의 개수는 서로 다를 수도 있다. 프로세서(7210)는 단일 코어 프로세서 혹은 다중 코어 프로세서를 포함할 수 있다. 저장 서버(7200)에 대한 설명은, 어플리케이션 서버(7100)에도 유사하게 적용될 수 있다. 실시 예에 따라, 어플리케이션 서버(7100)는 저장 장치(7150)를 포함하지 않을 수도 있다. 저장 서버(7200)는 적어도 하나 이상의 저장 장치(7250)를 포함할 수 있다. 저장 장치(7259)는 채널 환경에 따라 시그널링 모드를 가변하도록 구현될 수 있다. 또한, 저장 장치(7259)는 도 1 내지 도 15에서 설명된 바와 같이 멀티-레벨 시그널링에 대응하는 RLM 캘리브레이션을 수행하도록 구현될 수 있다.
어플리케이션 서버들(7100 내지 7100n) 및 저장 서버들(7200 내지 7200m)은 네트워크(7300)를 통해 서로 통신할 수 있다. 네트워크(7300)는 FC(Fiber Channel) 혹은 Ethernet 등을 이용하여 구현될 수 있다. 이 때, FC는 상대적으로 고속의 데이터 전송에 사용되는 매체이며, 고성능/고가용성을 제공하는 광 스위치를 사용할 수 있다. 네트워크(7300)의 액세스 방식에 따라 저장 서버들(7200 내지 7200m)은 파일 저장, 블록 저장, 혹은 오브젝트 저장으로서 제공될 수 있다.
실시 예에 있어서, 네트워크(7300)는 SAN(Storage Area Network)와 같은 저장 전용 네트워크일 수 있다. 예를 들어, SAN은 FC 네트워크를 이용하고 FCP(FC Protocol)에 따라 구현된 FC-SAN일 수 있다. 또 다른 예를 들어, SAN은 TCP/IP 네트워크를 이용하고 iSCSI(SCSI over TCP/IP 혹은 Internet SCSI) 프로토콜에 따라 구현된 IP-SAN일 수 있다. 다른 실시 예에 있어서, 네트워크(7300)는 TCP/IP 네트워크와 같은 일반 네트워크일 수 있다. 예를 들어, 네트워크(7300)는 FCoE(FC over Ethernet), NAS(Network Attached Storage), NVMe-oF(NVMe over Fabrics) 등의 프로토콜에 따라 구현될 수 있다.
아래에서는, 어플리케이션 서버(7100) 및 저장 서버(7200)를 중심으로 설명하기로 한다. 어플리케이션 서버(7100)에 대한 설명은 다른 어플리케이션 서버(7100n)에도 적용될 수 있고, 저장 서버(7200)에 대한 설명은 다른 저장 서버(7200m)에도 적용될 수 있다.
어플리케이션 서버(7100)는 사용자 혹은 클라이언트가 저장 요청한 데이터를 네트워크(7300)를 통해 저장 서버들(7200 내지 7200m) 중 하나에 저장할 수 있다. 또한, 어플리케이션 서버(7100)는 사용자 혹은 클라이언트가 리드 요청한 데이터를 저장 서버들(7200 내지 7200m) 중 하나로부터 네트워크(7300)를 통해 획득할 수 있다. 예를 들어, 어플리케이션 서버(7100)는 웹 서버 혹은 DBMS(Database Management System) 등으로 구현될 수 있다.
어플리케이션 서버(7100)는 네트워크(7300)를 통해 다른 어플리케이션 서버(7100n)에 포함된 메모리(7120n) 혹은 저장 장치(7150n)에 액세스할 수 있고, 혹은 네트워크(7300)를 통해 저장 서버(7200 ~ 7200m)에 포함된 메모리(7220 ~ 7220m) 혹은 저장 장치(7250 ~ 7250m)에 액세스할 수 있다. 이로써, 어플리케이션 서버(7100)는 어플리케이션 서버들(7100 ~ 7100n) 혹은 저장 서버들(7200 ~ 7200m)에 저장된 데이터에 대해 다양한 동작들을 수행할 수 있다. 예를 들어, 어플리케이션 서버(7100)는 어플리케이션 서버들(7100 ~ 7100n) 혹은 저장 서버들(7200 ~ 7200m) 사이에서 데이터를 이동 혹은 카피(copy)하기 위한 커맨드를 실행할 수 있다. 이 때 데이터는 저장 서버들(7200 ~ 7200m)의 저장 장치로(7250 ~ 7250m)부터 저장 서버들(7200 ~ 7200m)의 메모리들(7220 ~ 7220m)을 거쳐서, 혹은 바로 어플리케이션 서버들(7100 ~ 7100n)의 메모리(7120 ~ 7120n)로 이동될 수 있다. 네트워크(7300)를 통해 이동하는 데이터는 보안 혹은 프라이버시를 위해 암호화된 데이터일 수 있다.
저장 서버(7200)를 예시로 설명하면, 인터페이스(7254)는 프로세서(7210)와 제어기(7251)의 물리적 연결 및 NIC(7240)와 제어기(7251)의 물리적 연결을 제공할 수 있다. 예를 들어, 인터페이스(7254)는 저장 장치(7250)를 전용 케이블로 직접 접속하는 DAS(Direct Attached Storage) 방식으로 구현될 수 있다. 또한, 예를 들어, 인터페이스(1254)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe(NVM express), IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC(embedded multi-media card), UFS(Universal Flash Storage), eUFS(embedded Universal Flash Storage), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식으로 구현될 수 있다.
저장 서버(7200)는 스위치(7230) 및 NIC(7240)을 더 포함할 수 있다. 스위치(7230)는 프로세서(7210)의 제어에 따라 프로세서(7210)와 저장 장치(7250)를 선택적으로 연결시키거나, NIC(7240)과 저장 장치(7250)를 선택적으로 연결시킬 수 있다.
실시 예에 있어서, NIC(7240)는 네트워크 인터페이스 카드, 네트워크 어댑터 등을 포함할 수 있다. NIC(7240)는 유선 인터페이스, 무선 인터페이스, 블루투스 인터페이스, 광학 인터페이스 등에 의해 네트워크(7300)에 연결될 수 있다. NIC(7240)는 내부 메모리, DSP, 호스트 버스 인터페이스 등을 포함할 수 있으며, 호스트 버스 인터페이스를 통해 프로세서(7210) 혹은 스위치(7230) 등과 연결될 수 있다. 호스트 버스 인터페이스는, 앞서 설명한 인터페이스(7254)의 예시들 중 하나로 구현될 수도 있다. 실시 예에 있어서, NIC(7240)는 프로세서(7210), 스위치(7230), 저장 장치(7250) 중 적어도 하나와 통합될 수도 있다.
저장 서버(7200 ~ 7200m) 혹은 어플리케이션 서버(7100 ~ 7100n)에서 프로세서는 저장 장치(7130 ~ 7130n, 7250 ~ 7250m) 혹은 메모리(7120 ~ 7120n, 7220 ~ 7220m)로 커맨드를 전송하여 데이터를 프로그램 하거나 리드할 수 있다. 이 때 데이터는 ECC(Error Correction Code) 엔진을 통해 에러 정정된 데이터일 수 있다. 데이터는 데이터 버스 변환(Data Bus Inversion: DBI) 혹은 데이터 마스킹(Data Masking: DM) 처리된 데이터로서, CRC(Cyclic Redundancy Code) 정보를 포함할 수 있다. 데이터는 보안 혹은 프라이버시를 위해 암호화된 데이터일 수 있다.
저장 장치(7150 ~ 7150m, 7250 ~ 7250m)는 프로세서로부터 수신된 리드 커맨드에 응답하여, 제어 신호 및 커맨드/어드레스 신호를 NAND 플래시 메모리 장치(7252-7252m)로 전송할 수 있다. 이에 따라 NAND 플래시 메모리 장치(7252-7252m)로부터 데이터를 리드하는 경우, RE(Read Enable) 신호는 데이터 출력 제어 신호로 입력되어, 데이터를 DQ 버스로 출력하는 역할을 할 수 있다. RE 신호를 이용하여 DQS(Data Strobe)를 생성할 수 있다. 커맨드와 어드레스 신호는 WE(Write Enable) 신호의 상승 엣지 혹은 하강 엣지에 따라 페이지 버퍼에 래치 될 수 있다.
제어기(7251)는 저장 장치(7250)의 동작을 전반적으로 제어할 수 있다. 실시 예에 있어서, 제어기(7251)는 SRAM(Static Random Access Memory)을 포함할 수 있다. 제어기(7251)는 라이트 커맨드에 응답하여 낸드 플래시(7252)에 데이터를 쓸 수 있고, 혹은 리드 커맨드에 응답하여 낸드 플래시(7252)로부터 데이터를 리드할 수 있다. 예를 들어, 라이트 커맨드 혹은 리드 커맨드는 저장 서버(7200) 내의 프로세서(7210), 다른 저장 서버(7200m) 내의 프로세서(7210m) 혹은 어플리케이션 서버(7100, 7100n) 내의 프로세서(7110, 7110n)로부터 제공될 수 있다. DRAM(7253)은 낸드 플래시(7252)에 쓰여질 데이터 혹은 낸드 플래시(7252)로부터 리드된 데이터를 임시 저장(버퍼링)할 수 있다. 또한, DRAM(7253)은 메타 데이터를 저장할 수 있다. 여기서, 메타 데이터는 사용자 데이터 혹은 낸드 플래시(7252)를 관리하기 위해 제어기(7251)에서 생성된 데이터이다. 저장 장치(7250)는 보안 혹은 프라이버시를 위해 SE(Secure Element)를 포함할 수 있다.
한편, 도 1 내지 도 16은 메모리 장치에 적용되는 RLM 제어기를 설명하였다. 하지만, 본 발명이 여기에 제한될 필요는 없다. 본 발명의 RLM 제어기는 통신을 수행하는 데이터 전송 장치를 갖는 어떠한 장치에도 적용 가능하다.
도 17는 본 발명의 실시 예에 따른 통신 시스템(9000)을 예시적으로 보여주는 도면이다. 도 17를 참조하면, 통신 시스템(9000)은 제 1 통신 장치(9100) 및 제 2 통신 장치(9200)를 포함할 수 있다. 제 1 통신 장치(9100)의 트랜시버(9120)와 제 2 통신 장치(9200)의 트랜시버(9220)는 멀티-레벨 시그널링 방식에 따라 데이터 통신을 수행할 수 있다.
또한, 제 1 통신 장치(9100)의 트랜시버(9120)와 제 2 통신 장치(9200)의 트랜시버(9220)는 데이터 전송 시 대응하는 RLM 제어기(9110, 9210)에 RLM를 제어할 수 있다.
LPDDR(Low Power Double Data Rate) 제품의 시그널링은 PAM4를 사용할 수 있다. PAM4를 사용할 때, 기존 NRZ ZQ-calibration만 사용하여 driver의 strength를 찾을 경우 1/2*VDD를 기준으로 잡은 strength이기 때문에 PAM4의 level에 따라 gds distortion이 발생한다. 이 때문에 driver strength가 달라진다. 이는 PAM4 signal level의 간격이 일정하지 않게 만든다. Level별 간격이 일정하지 않으면 RX에서 signal sensing margin이 작아지게 된다. 따라서 additional driver를 이용해 PAM4의 나머지 level에서 gds distortion을 보상해 일정한 간격이 유지되게 해야 한다.
본 발명의 실시 예에 따른 PAM4 RLM Calibration을 위한 회로는, ZQ-Calibration 을 위한 저항, MSB/LSB driver, comparator, code generator, PAM4 level에 따른 calibration을 위한 voltage generator, additional drive로 포함할 수 있다. 실시 예에 있어서, 제 1 파트 회로(Part1)에 comparator는 1개를 사용하고 reference voltage를 멀티플렉서(MUX)를 이용해 mode에 따라 변경해 줄 수 있다.
다른 실시 예에 있어서, 제 1 파트 회로(Part1)는 서로 다른 reference voltage를 가지는 Comparator를 병렬적으로 여러 개 사용하여 구현될 수 있다.
본 발명의 실시 예에 따른 PAM4 RLM calibration을 위한 방법은, ZQ-Calibration으로 PU/PU code를 찾고, 이 후, additional Code의 calibration을 통해 PAM4의 mid-level을 원하는 전압 level로 맞출 수 있다.
한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용 할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함 할 것이다.
1,2: 메모리 시스템
10: 메모리 장치
20, 20a: 제어기
11, 11a: RLM 제어기
13, 23: 트랜시버
RLM: 레벨 오차 비율

Claims (20)

  1. 멀티-레벨 시그널링에 따라 데이터를 송수신하는 트랜시버; 및 상기 트랜시버의 데이터 송신 동작 시, 신호 레벨들 사이의 간격을 조절하는 RLM(Ratio of Level separation Mismatch) 제어기를 포함하고,
    상기 RLM 제어기는,
    제 1 노드와 접지단 사이에 연결된 저항; 상기 제 1 노드의 제 1 조정 전압과 제 1 기준 전압을 비교하여 제 1 비교 전압을 출력하는 제 1 제 1 비교기; 제 2 노드의 제 2 조정 전압과 제 2 기준 전압을 비교하여 제 2 비교 전압을 출력하는 제 2 비교기; 상기 제 1 비교 전압에 대응하는 풀업 코드, 상위비트 추가 코드, 혹은 하위비트 추가 코드를 발생하는 제 1 코드 발생기; 상기 제 2 비교 전압에 대응하는 풀다운 코드를 발생하는 제 2 코드 발생기;
    전원단과 상기 제 1 노드 사이에 연결되고, 상기 풀업 코드에 따라 상위비트를 위한 구동 능력을 제어하는 제 1 상위비트 풀업 드라이버; 상기 전원단과 상기 제 1 노드 사이에 연결되고, 상기 풀업 코드에 따라 하위비트를 위한 구동 능력을 제어하는 제 1 하위비트 풀업 드라이버; 상기 제 1 노드와 접지단 사이에 연결되고, 상기 상위비트를 위한 구동 능력을 제어하는 제 1 상위비트 풀다운 드라이버; 상기 제 1 노드와 상기 접지단 사이에 연결되고, 상기 하위비트를 위한 구동 능력을 제어하는 제 1 하위비트 풀다운 드라이버;
    상기 전원단과 제 2 노드 사이에 연결되고, 상기 풀업 코드에 따라 상위비트를 위한 구동 능력을 제어하는 제 2 상위비트 풀업 드라이버; 상기 전원단과 상기 제 2 노드 사이에 연결되고, 상기 풀업 코드에 따라 하위비트를 위한 구동 능력을 제어하는 제 2 하위비트 풀업 드라이버; 상기 제 2 노드와 상기 접지단 사이에 연결되고, 상기 상위비트를 위한 구동 능력을 제어하는 제 2 상위비트 풀다운 드라이버; 상기 제 2 노드와 상기 접지단 사이에 연결되고, 상기 하위비트를 위한 구동 능력을 제어하는 제 2 하위비트 풀다운 드라이버;
    상기 제 1 노드에 연결되고, 상기 추가 상위비트 코드에 따라 상기 상위비트를 위한 구동 능력을 제어하는 상위비트 추가 드라이버; 및 상기 제 1 노드에 연결되고, 상기 추가 하위비트 코드에 따라 상기 하위비트를 위한 구동 능력을 제어하는 하위비트 추가 드라이버를 포함하는 메모리 장치.
  2. 제 1 항에 있어서,
    복수의 신호 레벨들 중에서 어느 하나를 상기 제 1 기준 전압으로 선택하는 제 1 선택기를 더 포함하는 메모리 장치.
  3. 제 1 항에 있어서,
    상기 멀티-레벨 시그널링은 PAM4(Pulse Amplitude Modulation Level-4)이고,
    제 1 신호 레벨, 제 2 신호 레벨, 및 제 3 신호 레벨 중에서 어느 하나를 상기 제 1 기준 전압으로 선택하는 제 1 선택기; 및
    상기 제 1 신호 레벨을 상기 제 2 기준 전압으로 선택하는 제 2 선택기를 더 포함하는 메모리 장치.
  4. 제 3 항에 있어서,
    상기 제 1 신호 레벨은 상기 제 2 신호 레벨보다 높고,
    상기 제 2 신호 레벨은 상기 제 3 신호 레벨보다 높고,
    상기 제 3 신호 레벨은 상기 접지단의 레벨보다 높고,
    상기 접지단의 레벨은 제 4 신호 레벨인 것을 특징으로 하는 메모리 장치.
  5. 제 4 항에 있어서,
    상기 제 1 신호 레벨은 데이터'11'에 대응하고,
    상기 제 2 신호 레벨은 데이터'10'에 대응하고,
    상기 제 3 신호 레벨은 데이터'01'에 대응하고,
    상기 제 4 신호 레벨은 데이터'00'에 대응하는 것을 특징으로 하는 메모리 장치.
  6. 제 4 항에 있어서,
    상기 제 1 신호 레벨은 상기 전원단의 레벨의 절반인 것을 특징으로 하는 메모리 장치.
  7. 제 3 항에 있어서,
    상기 RLM 제어기는,
    상기 제 1 상위비트 풀업 드라이버, 상기 제 1 하위비트 풀업 드라이버, 상기 제 2 상위비트 풀업 드라이버, 상기 제 2 하위비트 풀업 드라이버, 상기 제 2 상위비트 풀다운 드라이버, 상기 제 2 하위비트 풀다운 드라이버를 턴-온 시킨 후, 상기 제 1 신호 레벨을 상기 제 1 기준 전압으로 설정하고, 상기 제 1 신호 레벨을 제 상기 제 2 기준 전압으로 설정 한 후, 상기 풀업 코드 및 상기 풀다운 코드를 캘리브레이션 하는 것을 특징으로 하는 메모리 장치.
  8. 제 3 항에 있어서,
    상기 RLM 제어기는,
    상기 제 1 상위비트 풀업 드라이버, 상기 제 1 하위비트 풀다운 드라이버, 및 상기 상위비트 추가 드라이버를 턴-온 시킨 후, 상기 제 2 신호 레벨을 상기 제 1 기준 전압으로 설정 한 후, 상기 상위비트 추가 코드를 캘리브레이션 하는 것을 특징으로 하는 메모리 장치.
  9. 제 3 항에 있어서,
    상기 RLM 제어기는,
    상기 제 1 하위비트 풀업 드라이버, 상기 제 1 상위비트 풀다운 드라이버, 및 상기 하위비트 추가 드라이버를 턴-온 시킨 후, 상기 제 3 신호 레벨을 상기 제 1 기준 전압으로 설정 한 후, 상기 하위비트 추가 코드를 캘리브레이션 하는 것을 특징으로 하는 메모리 장치.
  10. 제 1 항에 있어서,
    상기 상위비트 추가 드라이버 및 상기 하위비트 추가 드라이버의 각각은, 상기 전원단과 상기 제 1 노드 사이에 연결된 복수의 풀업 트랜지스터들; 혹은 상기 제 1 노드와 상기 접지단 사이에 연결된 복수의 풀다운 트랜지스터들을 포함하는 메모리 장치.
  11. 메모리 장치의 신호 레벨 캘리브레이션 방법에 있어서,
    제 1 시그널링을 위한 ZQ 캘리브레이션을 이용하여 풀업 코드 및 풀다운 코드 캘리브레이션을 수행하는 단계;
    제 2 시그널링을 위한 상위비트 추가 드라이버를 이용하여 상위비트 추가 코드 캘리브레이션을 수행하는 단계; 및
    상기 제 2 시그널링을 위한 하위비트 추가 드라이버를 이용하여 하위비트 추가 코드 캘리브레이션을 수행하는 단계를 포함하는 방법.
  12. 제 11 항에 있어서,
    상기 풀업 및 풀다운 코드 캘리브레이션을 수행하는 단계는,
    제 1 상위비트 풀업 드라이버, 제 1 하위비트 풀업 드라이버, 제 2 상위 비트 풀업 드라이버, 제 2 하위비트 풀업 드라이버, 제 2 상위비트 풀다운 드라이버, 및 제 2 하위비트 풀다운 드라이버를 턴-온 시키고, 상기 제 1 신호 레벨을 제 1 및 2 기준 전압들로 설정 한 후에, 제 1 조정 전압과 제 2 조정 전압을 발생하는 단계;
    상기 제 1 조정 전압이 상기 제 1 신호 레벨인 지를 판별하는 단계; 및
    상기 제 1 조정 전압이 상기 제 1 신호 레벨이 아니라면, 풀업 코드 및 풀다운 코드를 업데이트 하는 단계를 포함하는 방법.
  13. 제 12 항에 있어서,
    상기 풀업 및 풀다운 코드의 캘리브레이션을 수행하는 단계는,
    상기 제 1 조정 전압이 상기 제 1 신호 레벨이라면, 상기 제 2 상위 비트 풀업 드라이버, 상기 제 2 하위비트 풀업 드라이버, 상기 제 2 상위비트 풀다운 드라이버, 및 상기 제 2 하위비트 풀다운 드라이버를 턴-온 시키고, 상기 제 1 신호 레벨을 상기 2 기준 전압으로 설정 한 후에 상기 제 2 조정 전압을 발생하는 단계;
    상기 제 2 조정 전압이 상기 제 1 신호 레벨인 지를 판별하는 단계; 및
    상기 제 2 조정 전압이 상기 제 1 신호 레벨이 아니라면, 상기 풀업 코드를 업데이트 하는 단계를 더 포함하는 방법.
  14. 제 13 항에 있어서,
    상기 상위비트 추가 코드 캘리브레이션을 수행하는 단계는,
    상기 제 2 조정 전압이 상기 1 신호 레벨이라면, 상기 제 1 상위비트 풀업 드라이버, 상기 제 1 하위비트 풀업 드라이버, 및 상위비트 추가 드라이버를 턴-온 시키고, 제 2 신호 레벨을 상기 제 1 기준 전압으로 설정한 후에, 상기 제 1 조정 전압을 발생하는 단계;
    상기 제 1 조정 전압이 상기 제 2 신호 레벨인 지를 판별하는 단계; 및
    상기 제 1 조정 전압이 상기 제 2 신호 레벨이 아니라면 상위비트 추가 코드를 업데이트 하는 단계를 포함하는 방법.
  15. 제 14 항에 있어서,
    상기 하위비트 추가 코드 캘리브레이션을 수행하는 단계는,
    상기 제 1 조정 전압이 상기 제 2 신호 레벨이라면, 상기 제 1 상위비트 풀업 드라이버, 상기 제 1 하위비트 풀업 드라이버, 및 하위비트 추가 드라이버를 턴-온 시키고, 제 3 신호 레벨을 상기 제 1 기준 전압으로 설정한 후에, 상기 제 1 조정 전압을 발생하는 단계;
    상기 제 1 조정 전압이 상기 제 3 신호 레벨인 지를 판별하는 단계; 및
    상기 제 1 조정 전압이 상기 제 3 신호 레벨이 아니라면 하위비트 추가 코드를 업데이트 하는 단계를 포함하는 방법.
  16. 적어도 하나의 메모리 장치; 및
    상기 적어도 하나의 메모리 장치를 제어하는 제어기를 포함하고,
    상기 적어도 하나의 메모리 장치는,
    데이터 채널을 통하여 제 1 시그널링 혹은 제 2 시그널링 중에서 선택된 방식으로 데이터를 수신하거나 전송하는 제 1 트랜시버; 및
    상기 제 1 트랜시버에서 상기 제어기로 데이터를 전송할 때, 상기 제 2 시그널링의 신호 레벨들 사이의 간격을 일정하게 유지하는 RLM(Ratio of Level separation Mismatch) 제어기를 포함하는 메모리 시스템.
  17. 제 16 항에 있어서,
    상기 제어기는 상기 데이터 채널을 통하여 상기 데이터를 전송하거나 수신하는 제 2 트랜시버를 포함하는 메모리 시스템.
  18. 제 17 항에 있어서,
    상기 제어기는, 상기 제 2 트랜시버에서 상기 적어도 하나의 메모리 장치로 데이터를 전송할 때 상기 제 2 시그널링의 신호 레벨들 사이의 간격을 일정하게 유지하는 것을 특징으로 하는 메모리 시스템.
  19. 제 16 항에 있어서,
    상기 제어기는 호스트의 요청에 응답하여 RLM 캘리브레이션 요청을 상기 적어도 하나의 메모리 장치에 전송하는 것을 특징으로 하는 메모리 시스템.
  20. 제 19 항에 있어서,
    상기 적어도 하나의 메모리 장치는 상기 RLM 캘리브레이션 요청에 응답하여 상기 RLM 제어기에서 ZQ 캘리브레이션과 적어도 하나의 추가 드라이버를 이용하여 RLM 캘리브레이션을 수행하는 것을 특징으로 하는 메모리 시스템.
KR1020200117509A 2020-09-14 2020-09-14 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리저장 시스템 KR20220036386A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200117509A KR20220036386A (ko) 2020-09-14 2020-09-14 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리저장 시스템
US17/239,592 US11782618B2 (en) 2020-09-14 2021-04-24 Memory device, method of calibrating signal level thereof, and memory system having the same
EP21182409.9A EP3968327B1 (en) 2020-09-14 2021-06-29 Memory device, method of calibrating signal level thereof, and memory system having the same
CN202111053099.8A CN114187936A (zh) 2020-09-14 2021-09-08 存储器设备、校准存储器设备的信号电平的方法及具有存储器设备的存储器系统
US18/243,350 US20230418488A1 (en) 2020-09-14 2023-09-07 Memory device, method of calibrating signal level thereof, and memory system having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200117509A KR20220036386A (ko) 2020-09-14 2020-09-14 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리저장 시스템

Publications (1)

Publication Number Publication Date
KR20220036386A true KR20220036386A (ko) 2022-03-23

Family

ID=76796896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200117509A KR20220036386A (ko) 2020-09-14 2020-09-14 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리저장 시스템

Country Status (4)

Country Link
US (2) US11782618B2 (ko)
EP (1) EP3968327B1 (ko)
KR (1) KR20220036386A (ko)
CN (1) CN114187936A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3996095B1 (en) * 2020-09-24 2023-05-03 Changxin Memory Technologies, Inc. Equalization circuit
US20220223198A1 (en) * 2021-01-11 2022-07-14 Changxin Memory Technologies, Inc. Drive circuit and memory comprising the same
KR20220140234A (ko) * 2021-04-09 2022-10-18 삼성전자주식회사 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치
US11874788B1 (en) * 2022-06-24 2024-01-16 Cadence Design Systems, Inc. Transmitter architecture for high speed memory interfaces

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124221B1 (en) 1999-10-19 2006-10-17 Rambus Inc. Low latency multi-level communication interface
WO2009014796A1 (en) 2007-07-19 2009-01-29 Rambus Inc. Reference voltage and impedance calibration in a multi-mode interface
KR20110013704A (ko) 2009-08-03 2011-02-10 삼성전자주식회사 Zq 캘리브레이션 회로를 포함하는 반도체 장치 및 그 캘리브레이션 동작 방법
KR101806817B1 (ko) 2010-10-20 2017-12-11 삼성전자주식회사 데이터 출력 버퍼 및 이를 포함하는 반도체 메모리 장치
US10284198B2 (en) * 2015-10-02 2019-05-07 Samsung Electronics Co., Ltd. Memory systems with ZQ global management and methods of operating same
US9559880B1 (en) 2016-03-04 2017-01-31 Inphi Corporation Eye modulation for pulse-amplitude modulation communication systems
KR102529968B1 (ko) * 2016-05-11 2023-05-08 삼성전자주식회사 반도체 메모리 장치의 임피던스 조정 회로, 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
KR102349415B1 (ko) 2017-08-07 2022-01-11 삼성전자주식회사 펄스 진폭 변조 송신기 및 펄스 진폭 변조 수신기
US10469070B1 (en) 2017-09-15 2019-11-05 Marvell International Ltd. PAM-4 voltage-mode driver with stabilized output
KR20190036259A (ko) * 2017-09-27 2019-04-04 에스케이하이닉스 주식회사 캘리브레이션 회로를 이용하는 전송 장치, 이를 포함하는 반도체 장치 및 시스템
US10128842B1 (en) 2018-03-23 2018-11-13 Micron Technology, Inc. Output impedance calibration for signaling
US10749716B2 (en) 2018-04-09 2020-08-18 Texas Instruments Incorporated Signal path linearizer
US10841138B2 (en) 2018-06-22 2020-11-17 Rambus Inc. PAM-4 calibration
CN112368772A (zh) 2018-10-12 2021-02-12 英特尔公司 用于校准阻抗水平的技术

Also Published As

Publication number Publication date
EP3968327A1 (en) 2022-03-16
CN114187936A (zh) 2022-03-15
US11782618B2 (en) 2023-10-10
US20230418488A1 (en) 2023-12-28
EP3968327B1 (en) 2024-04-10
US20220083244A1 (en) 2022-03-17

Similar Documents

Publication Publication Date Title
EP3968327B1 (en) Memory device, method of calibrating signal level thereof, and memory system having the same
US20200293199A1 (en) Memory device
US11082043B2 (en) Memory device
US11449274B2 (en) Memory device, data outputting method thereof, and memory system having the same
US11869571B2 (en) Memory device, a controller for controlling the same, a memory system including the same, and a method of operating the same
US20220076715A1 (en) Memory devices configured to generate pulse amplitude modulation-based dq signals, memory controllers, and memory systems including the memory devices and the memory controllers
US11755255B2 (en) Memory device comprising a plurality of memories sharing a resistance for impedance matching
US11657859B2 (en) Memory device, controller controlling the same, memory system including the same, and operating method thereof
US20220076716A1 (en) Memory device for generating pulse amplitude modulation-based dq signal and memory system including the same
EP3985523B1 (en) Memory device supporting a high-efficient input/output interface and a memory system including the memory device
CN112863563A (zh) 通过识别位置信息执行自校准的存储器设备和存储器模块
US9659608B2 (en) Semiconductor memory apparatus, and method for training reference voltage
KR20220090794A (ko) 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 메모리 시스템 및 그것의 동작 방법
TWI814364B (zh) 執行資料訓練的記憶體控制器、包括記憶體控制器的系統晶片以及記憶體控制器的操作方法
US10224928B1 (en) On-die impedance calibration
US20230395146A1 (en) Internal reference resistor for non-volatile memory
CN115208719A (zh) 发送器、包括发送器的数据通信装置和数据传输方法

Legal Events

Date Code Title Description
A201 Request for examination