KR20230050061A - 메모리 전력 최적화 방법 및 장치 - Google Patents

메모리 전력 최적화 방법 및 장치 Download PDF

Info

Publication number
KR20230050061A
KR20230050061A KR1020210133311A KR20210133311A KR20230050061A KR 20230050061 A KR20230050061 A KR 20230050061A KR 1020210133311 A KR1020210133311 A KR 1020210133311A KR 20210133311 A KR20210133311 A KR 20210133311A KR 20230050061 A KR20230050061 A KR 20230050061A
Authority
KR
South Korea
Prior art keywords
pull
value
transistor
size
sampler
Prior art date
Application number
KR1020210133311A
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 KR1020210133311A priority Critical patent/KR20230050061A/ko
Priority to US17/558,036 priority patent/US11742859B2/en
Publication of KR20230050061A publication Critical patent/KR20230050061A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. 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
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/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
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/01Modifications for accelerating switching
    • H03K19/017Modifications for accelerating switching in field-effect transistor circuits
    • H03K19/01728Modifications for accelerating switching in field-effect transistor circuits in synchronous circuits, i.e. by using clock signals
    • H03K19/01742Modifications for accelerating switching in field-effect transistor circuits in synchronous circuits, i.e. by using clock signals by means of a pull-up or down element
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17784Structural details for adapting physical parameters for supply voltage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03343Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03878Line equalisers; line build-out devices
    • 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/2272Latency related aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/028Arrangements specific to the transmitter end
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Nonlinear Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Logic Circuits (AREA)

Abstract

실시예는 메모리 전력 최적화 방법 및 장치에 관한 것으로서, SBR 패턴을 이용하여 메모리의 핀(pin)에서 소모되는 전력을 최소화 하는 메모리 전력 최적화 방법 및 장치를 제공한다.

Description

메모리 전력 최적화 방법 및 장치{METHOD AND APPARATUS FOR OPTIMIZING MEMORY POWER}
본 발명의 실시예는 메모리 전력 최적화 방법 및 장치에 관한 것으로서, 보다 상세하게는 HBM(High-Bandwidth Memory)에서 복수의 핀(pin) 의 소모 전력을 최소화 하는 메모리 전력 최적화 방법 및 장치에 관한 것이다.
메모리 인터페이스는 일반적으로 주소를 입력, 데이터를 입출력, 읽기 또는 쓰기를 선택하거나 메모리의 사용 여부를 선택하기 위한 복수의 핀을 포함한다. 따라서, 메모리 인터페이스의 경우 일반적인 연결(link)과 비교하여 훨씬 더 많은 수의 핀(pin)이 요구된다.
메모리의 종류 중 하나인 광대역폭(고대역) 메모리(HBM: High-Bandwidth Memory)는 3D 스택 방식의 DRAM을 위한 고성능 RAM 인터페이스이다. 광대역폭 메모리는 고성능 그래픽스 가속기와 네트워크 장치의 결합을 위해 사용된다. 광대역폭 메모리는 GDDR5 메모리 대비 높은 대역폭을 가진다. 또한, 광대역폭 메모리는 DRAM을 수직 적층 구조로 쌓기 때문에 그래픽 카드의 크기를 줄이고, 고용량으로 구현할 수 있다.
하지만, 광대역폭 메모리는 천 개 이상의 핀을 사용하기 때문에, 총 전력소모량이 매우 높다. 따라서, 광대역폭 메모리의 전력 소비를 최적화 하기 위해서는 핀 당 소모되는 전력을 최소화하여야 한다.
이하, 도 1 및 도 2를 참조하여 N-over-N 드라이버의 구조 및 비선형성으로 인한 문제점을 설명한다.
도 1은 N-over-N 드라이버의 구조를 나타내는 예시도이다.
도 2는 드라이버의 아이 다이어그램에서 왜곡현상을 나타내는 예시도이다.
광대역폭 메모리의 핀에서 소모되는 전력을 최소화 하기 위해, N-over-N 드라이버 구조가 이용될 수 있다. N-over-N 드라이버는 풀-업(Pull-up)과 풀-다운(Pull-down)소자를 모두 NMOS로 사용하는 드라이버이다. N-over-N 드라이버는 COMS 전압 모드 드라이버에 비해서 전원 전압을 더 낮출 수 있다. 하지만 N-over-N 드라이버 구조를 사용하는 경우, 출력 전압에 따라 트랜지스터의 동작이 비선형적으로 변화한다는 문제점이 있다.
또한, 메모리 인터페이스에 사용되는 신호처리 방식 중 비제로 복귀(NRZ: Non-Return to Zero) 신호처리 방식은 종래 데이터 전송에서 가장 많이 사용되는 모듈레이션 방식이다. NRZ 신호처리 방식은 낮은 전압은 0, 높은 전압은 1의 고정된 전압 레벨의 연속으로 인코딩한다.
또한, 4레벨 펄스진폭변조(PAM-4: Pulse-Amplitude Modulation-4) 신호처리 방식은 L(Least Significant Bit, 최하위 비트) 신호를 절반으로 분할하여 M(Most Significant BIt) 신호에 추가한다. 따라서, PAM-4 신호처리 방식은 4 개의 신호 레벨이 2비트 심볼에 해당하게 된다.
트랜지스터의 동작이 비선형적이라는 N-over-N 드라이버의 단점은, 0과 1의 데이터 레벨만을 사용하는 NRZ 신호처리 방식보다 0, 1/3, 2/3, 1의 데이터 레벨을 사용하는PAM-4 신호처리 방식에서 더욱 두드러진다는 문제점이 있다.
도 1에 도시된 바와 같이, N-over-N 드라이버는 저항으로 취급할 수 있다. 이 때, 트랜지스터에 흐르는 전류는 게이트-소스 전압차와 드레인-소스 전압차로 인하여 결정된다. 풀 업 트랜지스터는 게이트-소스 전압차가 출력 전압에 따라 바뀌기 때문에 트랜지스터 특성에 차이가 발생한다. 이러한 차이는 PAM-4 신호처리 방식에서 문제점을 발생시킨다.
N-over-N 드라이버에 PAM-4 신호처리 방식을 적용하는 경우, 아이 다이어그램은 도 2와 같이 3개의 눈(eye)로 구성된다. 그러나, 어떤 레벨의 데이터를 전송하는지에 따라(즉, 출력 전압에 따라) 트랜지스터의 저항의 크기가 비선형적으로 변하기 때문에 3개의 균일한 눈을 얻기 힘들다.
또한, 아이 다이어그램은 눈의 크기가 클수록 디지털 신호의 품질이 우수하고, 눈의 크기가 작을수록 디지털 신호의 품질이 낮음을 의미한다. 하지만 단일 종단 신호처리(Single-ended signaling)를 사용하는 PAM-4 신호처리 방법은 최상단 눈의 크기가 가장 작게 된다는 문제점이 있다.
본 발명의 실시예에 따른 메모리 전력 최적화 방법 및 장치는 HBM 인터페이스에 PAM-4 신호처리 방식을 적용하였을 때 N-over-N 드라이버의 선형성을 확보할 수 있는 메모리 전력 최적화 방법 및 장치를 제공하기 위한 것이다.
또한, 본 발명의 실시예에 따른 메모리 전력 최적화 방법 및 장치는 HBM의 전력을 최적화할 수 있는 메모리 전력 최적화 방법 및 장치를 제공하기 위한 것이다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 실시예에 따른 메모리 전력 최적화 방법은, 메모리의 아이 다이어그램(eye-diagram)에 포함된 복수의 눈(eye)의 최소 크기에 따라 드라이버에 포함된 풀 업(Pull up) 트랜지스터 및 풀 다운(Pull Down) 트랜지스터의 비율 및 크기를 설정하는 단계, 그리고 SBR(Signal Bit Response) 패턴을 이용하여 메모리에 포함된 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 단계를 포함한다.
또한, 실시예에 따른 풀 업 트랜지스터 및 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계는, 상기 드라이버에서 00, 01, 10, 11 데이터에 해당하는 DC 전압을 상기 샘플러에 순차적으로 전송하는 단계, 상기 샘플러의 레퍼런스 전압을 상승시키며, 상기 DC 전압 각각에 대응하는 샘플러의 제1 출력 전압을 측정하는 단계, 상기 제1 출력 전압의 전압 차이가 최소인 전압 차이 값을 제1 전압 차이 값으로 설정하는 단계, 상기 풀 다운 트랜지스터의 크기를 변경하여 상기 제1 전압 차이 값의 측정을 반복하는 단계, 그리고 상기 제1 전압 차이 값이 최대인 풀 다운 트랜지스터의 크기를 최종 풀 다운 트랜지스터 크기로 설정하는 단계를 포함한다.
또한, 실시예에 따른 풀 업 트랜지스터 및 상기 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계는, 상기 풀 업 트랜지스터의 크기 및 상기 샘플러의 레퍼런스 전압을 변경하여 상기 샘플러의 제2 출력 전압을 반복 측정하는 단계, 그리고 상기 제2 출력 전압의 부호가 반전되는 시점의 풀 업 트랜지스터의 크기를 최종 풀 업 트랜지스터의 크기로 설정하는 단계를 더 포함한다.
또한, 실시예에 따른 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 단계는, 상기 제1 출력 전압의 전압 차이가 최소인 DC 전압 값의 산술평균값을 제1 레퍼런스 전압으로 설정하는 단계, 그리고 상기 제1 레퍼런스 전압을 상기 샘플러의 최종 레퍼런스 전압으로 설정하는 단계를 더 포함한다.
또한, 실시예에 따른 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 단계는, 상기 제1 레퍼런스 전압을 상승시키며, 상기 SBR 패턴에 따른 샘플러의 제3 출력 전압 값을 측정하는 단계, 상기 PI 디지털 코드의 값을 변경하며 상기 SBR 패턴에 따른 샘플러의 제3출력 전압 값을 반복 측정하는 단계, 그리고 상기 제3 출력 전압 값이 가장 큰 PI 디지털 코드의 값을 최종 PI 디지털 코드 값으로 설정하는 단계를 더 포함한다.
또한, 실시예에 따른 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 단계는, 상기 제1 레퍼런스 전압 값을 상승시키며, 상기 SBR 패턴에 따른 샘플러의 제4 출력 전압 값을 측정하는 단계, DCDL(Delay Line) 디지털 코드의 값을 변경하며 상기 SBR 패턴에 따른 샘플러의 제4출력 전압 값을 반복 측정하는 단계, 그리고 상기 제4 출력 전압 값이 가장 큰 DCDL 디지털 코드의 값을 최종 DCDL 디지털 코드 값으로 설정하는 단계를 더 포함한다.
또한, 실시예에 따른 풀 업 트랜지스터 및 상기 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계는, FFE(Feed Forward Equalizer)의 풀 업 트랜지스터 및 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계를 더 포함하며, 상기 FFE의 풀 업 트랜지스터 및 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계는, 상기 드라이버의 풀 업 트랜지스터와 상기 드라이버의 풀 다운 트랜지스터의 크기 차이값을 유지하면서, 상기 FFE의 풀 업 트랜지스터와 상기 FFE의 풀 다운 트래지스터의 크기를 변경하는 단계, 상기 PI 디지털 코드의 값을 상기 최종 PI 디지털 코드의 값에서 64씩 변경하는 단계, 상기 FFE 풀 업 트랜지스터와 상기 FFE 풀 다운 트랜지스터의 크기 및 상기 최종 PI 디지털 코드 변경에 따라, 샘플러의 제5 출력 전압 값을 반복 측정하는 단계, 상기 제5 출력 전압 값 중 최대 전압 값을 제외한 나머지 전압 값의 합을 측정하는 단계, 그리고 상기 나머지 전압 값의 합이 최소인 경우에 대응하는 상기 FFE의 풀 업 트랜지스터 크기와 상기 FFE의 풀 다운 트랜지스터의 크기를 상기 FFE의 최종 트랜지스터 크기로 설정하는 단계를 포함한다.
본 발명의 실시예에 따른 메모리 전력 최적화 방법 및 장치는 HBM 인터페이스에 PAM-4 신호처리 방식을 적용하였을 때 N-over-N 드라이버의 선형성을 확보할 수 있는 메모리 전력 최적화 방법 및 장치를 제공할 수 있다.
또한, 본 발명의 실시예에 따른 메모리 전력 최적화 방법 및 장치는 HBM의 전력을 최적화할 수 있는 메모리 전력 최적화 방법 및 장치를 제공할 수 있다.
도 1은 N-over-N 드라이버의 구조를 나타내는 예시도이다.
도 2는 드라이버의 아이 다이어그램에서 왜곡현상을 나타내는 예시도이다.
도 3은 실시예에 따른 메모리 전력 최적화 장치의 구성도이다.
도 4는 실시예에 따른 메모리 컨트롤러의 구성도이다.
도 5는 실시예에 따른 메모리의 구성도이다.
도 6은 실시예에 따른 채널의 구성도이다.
도 7은 실시예에 따른 메모리 전력 최적화 방법의 흐름도이다.
도 8은 실시예에 따른 N-over-N 드라이버의 트랜지스터 설정 방법의 흐름도이다.
도 9 는 실시예에 따른 N-over-N 드라이버의 풀 다운 트랜지스터 설정 방법의 흐름도이다.
도 10은 실시예에 따른 N-over-N 드라이버의 풀 업 트랜지스터 설정 방법의 흐름도이다.
도 11은 실시예에 따른 드라이버 저항 그래프이다.
도 12는 실시예에 따른 PI 디지털 코드 설정 방법의 흐름도이다.
도 13은 실시예에 따른 DCDL 디지털 코드 설정 방법의 흐름도이다.
도 14는 FFE 트랜지스터 설정 방법의 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '유닛'이란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~유닛'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~유닛'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~유닛'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~유닛'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~유닛'들로 결합되거나 추가적인 구성요소들과 '~유닛'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~유닛'들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 도 3을 참조하여 실시예에 따른 메모리 전력 최적화 장치(1)의 구성을 설명한다.
도 3은 실시예에 따른 메모리 전력 최적화 장치의 구성도이다.
도 3을 참조하면, 메모리 전력 최적화 장치(1)는 메모리(200)의 전반적인 동작을 제어하는 메모리 컨트롤러(100)와 메모리(200) 그리고 메모리 컨트롤러(100)와 메모리(200) 사이의 데이터 통신을 수행하는 채널(300)을 포함한다.
메모리 컨트롤러(100)는 8 개의 데이터 채널을 포함한다. 따라서, 메모리 컨트롤러(100)는 8개의 동일한 데이터 경로가 존재한다. 또한, 각 데이터 채널 및 각 데이터 경로는 채널(300)을 이용하여 메모리(200)와 연결된다. 메모리(200)는 메모리 컨트롤러(100)에서 전송하는 데이터를 인식하여 메모리에 포함된 복수의 핀(pin)의 전압을 설정하거나 데이터의 입출력 또는 데이터의 읽기 또는 쓰기를 수행할 수 있다.
메모리 컨트롤러(100)와 메모리(200)는 채널(300)을 이용하여 데이터를 송수신 할 수 있다. 더불어, 채널(300)을 이용하여 송수신되는 데이터에는, 메모리의 전력 최적화를 위한 트레이닝 데이터가 포함될 수 있다.
이하, 도 4를 참조하여 실시예에 따른 메모리 컨트롤러(100)의 구성을 설명한다.
도 4는 실시예에 따른 메모리 컨트롤러의 구성도이다.
도 4를 참조하면, 메모리 컨트롤러(100)의 제어를 수행하는 메모리 컨트롤 유닛(110)과 8개의 데이터 채널, 데이터 채널에 대응하는 데이터 경로를 포함한다. 또한, 8 개의 데이터 채널에 대응하는 데이터 경로는 8비트 패턴 생성기(120), 두 개의 16:2 직렬 변환기(16: 2 serializer, 130), 3비트의 디지털 신호로 제어 가능한 딜레이라인(DCDL, 140), 5비트로 컨트롤 가능한 N-over-N 드라이버(150), 그리고 드라이버와 구조는 동일하나 크기만 다른 FFE(Feed Forward Equalizer, 160)로 구성된다.
즉, 메모리 컨트롤러(100)는 8비트 패턴 생성기(120), 두 개의 16:2 직렬 변환기(130), 딜레이라인(140), N-over-N 드라이버(150), 그리고 FFE(160)로 구성되는 데이터 경로를 포함한다. 더불어, 데이터 경로는 8개의 데이터 채널에 대응하여 8개가 존재한다. 또한, 8개의 데이터 경로 각각은 채널(300)을 이용하여 메모리(200)와 연결된다.
8 비트 패턴 생성기(120)는 8개의 병렬 패턴을 1.25Gb/s의 속도로 내보낸다. 8비트 패턴 생성기(120)는 PAM-4 신호처리를 위해 MSB(Mos significant bit) 8 비트, LSB(Least Significant bit) 8비트의 총 16비트를 생성한다. 또한, 8비트 패턴 생성기(120)는 랜텀 패턴 측정을 위한 PRBS(Pseudo Random Bit Sequence) 패턴과 메모리 전력 최적화에 사용되는 DC 패턴, SBR(Single Bit Response)패턴을 생성할 수 있다. 이러한 8 비트 패턴 생성기(120)에서 생성되는 출력 패턴은 메모리 컨트롤 유닛(110)에서 제어할 수 있다.
16:2 직렬 변환기(130)는, 8 비트 패턴 생성기(120)에서 생성된 1.25Gb/s 의 MSB 8비트와 LSB 8비트를 시리얼라이징(serializing)하여 10Gb/s 의 MSB와 LSB를 생성한다. 또한, 16:2 직렬 변환기(130)는 두 개가 존재한다. 두 개의 16:2 직렬 변환기(130) 중 하나는 N-over-N 드라이버(150)에 연결되고, 나머지 하나는 FFE(160)에 연결된다.
N-over-N 드라이버(150)에 사용되는 16:2 직렬 변환기(130)와 FFE(160)에 사용되는 16:2 직렬 변환기(130)는 동일한 구조를 가진다. 하지만, FFE(160)는 N-over-N 드라이버(150)보다 1UI(Unit Interval) 지연된 데이터를 사용한다. 따라서, FFE(160)에 사용되는 16:2 직렬 변환기(130)는 N-over-N 드라이버(150)에 사용되는 16:2 직렬 변환기(130)보다 1UI 지연된 출력을 생성한다.
16:2 직렬 변환기(130)의 구조를 더욱 상세히 설명하자면, 16:2 직렬 변환기(130)는 8:1 직렬 변환기 두 개로 구성된다. 따라서, 두 개의 8:1 직렬 변환기 각각이 MSB와 LSB를 시리얼라이징(serializing)한다.
8:1 직렬 변환기는 8-상(phase)의 클럭(clock)을 받아 인접한 상 간의 차이만큼의 폭을 갖는 8 개의 펄스(pulse)를 생성한다. 그리고, 각 펄스에 순차적으로 데이터 정보를 담아 시리얼라이징한다. 예를 들어, 데이터 0은 클럭 0과 클럭 1 사이에 해당하는 펄스가 1일 때 전송되고, 데이터 1은 클럭 1과 클럭 2 사이에 해당하는 펄스가 1 일 때 전송된다.
또한, FFE(160)에 사용되는16:2 직렬 변환기(130)는 N-over-N 드라이버(150)에 사용되는 16:2 직렬 변환기(130) 클럭의 다음 상을 사용한다. 따라서, FFE(160)에 사용되는16:2 직렬 변환기(130)는 N-over-N 드라이버(150)에 사용되는 16:2 직렬 변환기(130)보다 1 UI 만큼 지연된 데이터를 출력한다. 예를 들어, 데이터 0은 클럭 1과 클럭 2 사이에 해당하는 펄스가 1일 때 전송되고, 데이터 1은 클럭 2와 클럭 3 사이에 해당하는 펄스가 1일 때 전송된다.
더불어, 메모리 컨트롤러(100)에 포함된 8 개의 데이터 채널은 데이터 채널마다 데이터 경로의 길이가 다를 수 있다. 따라서, 8개의 데이터 채널은 데이터 경로의 길이 차이에 따른 데이터 간의 시간 차이가 발생할 수 있다. 이러한 시간 차이를 보정하기 위해서, 16:2 직렬 변환기(130)에 사용되는 클럭에 3비트의 디지털 신호로 컨트롤 가능한 딜레이라인(DCDL, 140)이 추가된다. 딜레이라인(140)은 메모리 컨트롤 유닛(110)를 이용하여 제어한다.
N-over-N 드라이버(150)와 FFE(160)는 동일한 구조를 가진다. 다만, FFE(160)의 트랜지스터 크기가 N-over-N 드라이버(150)의 트랜지스터 크기보다 작다. 일반적으로, N-over-N 드라이버(150)는 풀 업(Pull-up) NMOS 두 개(MSB, LSB)와 풀 다운(Pull-down) NMOS 두 개(MSB, LSB)로 구성된다. 메모리의 전력 최적화 과정에서 풀 업 NMOS와 풀 다운 NMOS의 크기를 변경할 수 있어야 한다. 따라서, 각각의 NMOS를 바이너리 크기를 갖는 5 개의 NMOS로 나누고 직렬 NMOS 스위치를 달아 온/오프(on/off) 가능하도록 구성할 수 있다.
메모리 컨트롤 유닛(110)은 풀 업 NMOS와 풀 다운 NMOS를 5비트 디지털 신호로 제어한다. MSB용 NMOS와 LSB용 NMOS는 항상 같은 크기를 유지한다. 그러므로, 컨트롤 유닛(110)은 총 10비트의 디지털 신호를 이용하여 NMOS(풀 업 NMOS, 풀 다운 NMOS)를 제어한다. 즉, 메모리 컨트롤 유닛(110)은 N-over-N 드라이버(150)의 세기를 조절하는 10비트 신호와 FFE(160)의 세기를 조절하는 10비트 신호를 출력한다.
또한, 메모리 컨트롤러(100)는 8개의 데이터 채널 당 한 세트의 클럭(170) 및 사이드 채널(330) 그리고 ZQ 교정(ZQ calibration) 용 블록을 포함한다. ZQ 교정용 블록은 복제 PU 드라이버(replica PU driver, 171), 저항(172), 샘플러(173)를 포함한다.
클럭 경로는 다음과 같다. 5GHz 클럭 생성기(170)에서 생성된 5GHz 의 차동(differential) 클럭은 클럭 버퍼(174)로 입력된다. 클럭 버퍼(174)는 5GHz 의 차동(differential) 클럭에 대하여 버퍼링 후 메모리(200)로 전송한다.
또한, 데이터 전송 및 메모리 전력 최적화 과정에 사용하기 위해, IQ 분할기(IQ divider, 175)는 5GHz 클럭을 8 상의 1.25GHz 클럭으로 변환한다. 변환된 클럭들은 상 보간기(PI: phase interpolator, 176)를 거쳐 16:2 직렬 변환기(130)에 사용된다.
상 보간기(176)를 거치지 않은 클럭 중 하나는 8비트 패턴 생성기(120)에 사용된다. 또한, 상 보간기(176)를 거치지 않은 클럭은 절반으로 분할(divide)되어 625MHz의 클럭으로 변환된다. 변환된 625MHz 클럭은 메모리 컨틀롤 유닛(110)과 사이드 채널(330), ZQ 교정용 블록에 사용된다.
이하, 도 5를 참조하여 실시예에 따른 메모리(200)의 구성을 설명한다.
도 5는 실시예에 따른 메모리의 구성도이다.
도 5를 참조하면, 메모리 디지털 블록(210)이 메모리(200)에 포함된 구성의 전반적인 제어를 수행한다. 메모리 컨트롤러(100)에서 전송된 데이터는 메모리(200)의 샘플러(220)에서 인식한다. PAM-4 신호처리 방식의 리시버에는 high, mid, low의 레퍼런스 전압 각각을 가지는 3개의 샘플러(220)가 필요하다. 샘플러는 레퍼런스 전압(기준 전압)과 클럭 신호를 이용하여 입력 데이터의 샘플링을 수행한다.
PAM-4 신호처리 방식에서 샘플러(220)는 8상으로 신호를 샘플링한다. 즉, high, mid, low의 레퍼런스 전압을 가지는 샘플러가 각각 8개가 요구된다. 따라서, 하나의 채널당 24개의 샘플러(220)가 필요하다. 더불어, 메모리 컨트롤러(100)는 8개의 데이터 채널을 가진다. 따라서, 메모리(200)는 총 192개의 샘플러(220)를 사용한다. 즉, 메모리(200)는 하나의 채널당 24개의 샘플러(220)를 사용하며, 8개의 채널을 가지므로 총 192개의 샘플러(220)를 포함한다.
샘플러(220)에서 사용하는 레퍼런스 전압은 8 비트의 DAC(Digital to Analog Converter, 230)에서 생성된다. 8비트 DAC(230)에서 생성하는 레퍼런스 전압은 메모리 디지털 블록(210)에서 제어한다.
192개의 샘플러(220)는 3개의 샘플러(220)가 전송하는 3비트의 신호를 PAM-4 신호 처리 방식의 2비트로 변환하는 64개의 PAM-4 디코더(240)와 연결된다. PAM-4 디코더(240)에서 생성된 디코딩된 신호는 메모리(200)의 메모리 디지털 블록(210)으로 전송될 수 있다. 따라서, 메모리 디지털 디코더(240)는 디코딩된 신호를 이용하여 메모리 전력 최적화를 수행하거나, 메모리 컨트롤 유닛(110)으로 디코딩된 신호를 전송할 수 있다.
또한, 메모리(200)는 메모리 컨트롤러(100)에서 전송된 클럭을 사용한다(clcock forwarded system). 클럭 버퍼(250)는 메모리 컨트롤러(100)에서 수신된 5GHz의 차동(differential) 클럭의 버퍼링을 수행한다. 버퍼링된 클럭은 IQ 분할기(260)를 거쳐 8상의 클럭으로 변환된다. 변환된 8상의 클럭은 샘플러(220)에 사용된다. 또한, 변환된 8상의 클럭 중 하나는 분할기(270)를 거쳐 절반의 속도로 분할된다. 절반의 속도로 분할된 클럭은 메모리 디지털 블럭(110)과 사이드 채널(330)에 사용된다.
이하, 도 6을 참조하여 실시예에 따른 채널(300)의 구성을 설명한다.
도 6은 실시예에 따른 채널의 구성도이다.
도 6을 참조하면, 채널(300)은 8개의 데이터 채널(310)과 2개의 클럭 채널(320) 그리고 하나의 사이드 채널(330)을 포함한다.
8개의 데이터 채널(310)은 메모리 컨트롤러(100)에 포함된 8개의 데이터 채널과 메모리(200) 간의 데이터 통신을 수행한다. 구체적으로, 데이터 채널(310)은 N-over-N 드라이버(150) 및 FFE(160)에서 생성된 데이터 신호를 메모리(200)의 샘플로(220)로 전송한다.
또한, 2개의 클럭 채널(320)는 메모리 컨트롤러(100)의 클럭을 메모리(200)로 전송한다. 구체적으로, 메모리 컨트롤러(100)의 클럭 버퍼(174)에서 생성된 클럭을 메모리(200)의 클럭 버퍼(250)로 전송한다.
사이드 채널(330)은 메모리 컨트롤 유닛(110)과 메모리 디지털 블록(210)간의 데이터 통신을 수행한다. 구체적으로, 사이드 채널(330)은 625Mb/s의 속도로 양방향 통신이 가능하다. 이를 위해서 메모리 컨트롤러(100)와 메모리(200)측에는 사이드 채널(330)과 연결된 드라이버와 샘플러가 각각 구비된다. 또한, 사이드 채널(330)의 인풋과 아웃풋은 메모리 디지털 블록(210)에서 제어한다. 따라서, 메모리 컨트롤 유닛(110)과 메모리 데이터 블록(210)은 사이드 채널(330)을 이용하여 메모리 전력 최적화 상태와 데이터를 송수신할 수 있다.
이하, 도 7 내지 도 14를 참조하여 실시예에 따른 메모리 전력 최적화 방법을 설명한다.
도 7은 실시예에 따른 메모리 전력 최적화 방법의 흐름도이다.
도 7을 참조하면, 실시예에 따른 메모리 전력 최적화 방법은 N-over-N 드라이버(150) 및 FFE(160)의 트랜지스터 크기를 설정하고, 샘플러(220)의 레퍼런스 전압 및 PI 디지털 코드 값을 설정하는 단계를 포함한다. 이에 따라서, 메모리에 포함된 핀의 전력 소모를 최소화한다.
구체적으로 단계(S100)에서는, 메모리 컨트롤 유닛(110)이 N-over-N 드라이버(150)의 풀 업 트랜지스터 및 풀 다운 트랜지스터의 비율 및 크기를 설정한다. 구체적으로, 아이 다이어그램(eye-diagram)에 포함된 복수의 눈(eye)의 최소 크기에 따라 N-over-N 드라이버(150)의 풀 업 트랜지스터 및 풀 다운 트랜지스터의 비율 및 크기를 설정한다.
이 때, 상술한바와 같이 풀 업 트랜지스터와 풀 다운 트랜지스터는 각각 두 개의 NMOS(MSB, LSB)로 구성된다. 또한, 각각의 NMOS는 바이너리 크기를 가지는 5개의 NMOS로 구성된다.
따라서, 메모리 컨트롤 유닛(110)은 트랜지스터의 비율 및 크기를 설정하기 위해, 5비트의 제어 신호를 이용하여 N-over-N 드라이버(150)에 포함된 바이너리 크기를 가지는 5개의 NMOS의 온오프를 제어한다. 풀 업 트랜지스터 및 풀 다운 트랜지스터의 크기를 설정하는 구체적인 방법은 후술하는 도 8 내지 도 11을 참조하여 상세히 설명한다.
또한, 단계(S200)에서, 메모리 디지털 블록(210)은 SBR(Signal Bit Response) 패턴을 이용하여 샘플러(220)의 레퍼런스 전압 및 PI 디지털 코드 값을 설정한다. 단계(S200)은, 샘플러(220)의 클럭이 아이 다이어그램의 가운데에 위치하도록 하는 아이 센터링(eye centering)단계에 대응될 수 있다. 샘플러(220)의 레퍼런스 전압 및 PI 다지털 코드 값을 설정하는 방법은 후술하는 도12 및 도 13을 참조하여 상세히 설명한다.
단계(S300)에서는, 메모리 컨트롤 유닛(110)이 N-over-N 드라이버(150)의 풀 업 트랜지스터 및 풀 다운 트랜지스터의 설정 값을 이용하여 FFE의 트랜지스터 비율 및 크기를 설정한다. FFE의 풀 업 트랜지스터 및 풀 다운 트랜지스터의 크기를 설정하는 방법은 후술하는 도 14를 참조하여 상세히 설명한다. 또한, 단계(S100) 내지 단계(S300)에서는 각 채널당 하나의 샘플러만을 사용한다. 그리고 하나의 채널에 대한 트레이닝 과정이 종료되면 다음 채널의 트레이닝을 수행하는 방식으로 총 8번의 반복 과정이 수행된다.
단계(S400)에서는, 메모리 컨트롤 유닛(110)과 메모리 디지털 블록(210)이 샘플러(220)의 오차를 보정한다. 상술한 바와 같이 메모리(200)는 8개의 채널을 가지고 하나의 채널이 24개의 샘플러를 포함한다. 단계(S200)에서는 3개의 레퍼런스 전압만 설정한다. 따라서, 다른 샘플러들 간의 오차가 발생할 수 있다.
따라서, 단계(S400)에서는, N-over-N 드라이버(150)가 일정한 DC 전압을 전송하고, 24개의 샘플러(220)에 사용되는 레퍼런스 전압을 각각 바꾸어가며 출력 전압을 측정한다. 이 때, 샘플러에 오차가 존재하는 경우, 오차에 따라 출력값이 다르게 측정된다.
샘플러(220)의 오차를 보정하기 위해서, 단계(S200)에서 설정한 3개의 레퍼런스 값으로 3개의 샘플러(220)의 레퍼런스 전압을 설정한다. 그리고, 나머지 21개의 샘플러는 출력값의 차이를 단계(S200)에서 설정된 레퍼런스 전압 값에 반영하여 샘플러(220)의 최종 레퍼런스 전압을 설정한다.
예를 들어, high에 해당하는 샘플러의 레퍼런스 전압이 디지털 코드 상 200에 해당한다고 가정한다. 이 때, 8상 샘플러 8 개에 대해서 동일한 DC 전압을 전송하고, 8개의 샘플러(220)의 레퍼런스 전압을 바꾸어 샘플러(220)의 출력값을 측정한다. 측정된 샘플러(220)의 출력값이 (100, 105, 102, 98, 95, 100, 103, 107) 이라면, 8개의 샘플러(220)들의 최종 레퍼런스 전압은 디지털 코드 상 (200, 205, 202, 198, 195, 200, 203, 207)이 된다.
단계(S400)에서, 하나의 채널에 대한 샘플러(220)의 레퍼런스 전압 보정이 완료되면, 다른 채널에 대한 레퍼런스 전압 보정을 수행한다. 따라서, 단계(S400)에서는 총 8 번의 레퍼런스 전압 보정 단계가 반복된다.
이하, 도 8 내지 도 10를 참조하여 실시예에 따른 N-over-N 드라이버(150)의 트랜지스터 비율 및 크기 설정 방법을 설명한다.
도 8은 실시예에 따른 N-over-N 드라이버의 트랜지스터 설정 방법의 흐름도이다.
도 9 는 실시예에 따른 N-over-N 드라이버의 풀 다운 트랜지스터 설정 방법의 흐름도이다.
도 10은 실시예에 따른 N-over-N 드라이버의 풀 업 트랜지스터 설정 방법의 흐름도이다.
도 8을 참조하면, 단계(S100)은 N-over-N 드라이버(150)의 풀 다운 트랜지스터의 크기를 설정하는 단계(S110)와 N-over-N 드라이버(150)의 풀 업 트랜지스터의 크기를 설정하는 단계(S120)를 포함할 수 있다. 단계(S110)에서, 메모리 컨트롤 유닛(110)은 도 9에 도시된 일련의 단계를 수행하여 N-over-N 드라이버(150)의 풀 다운 트랜지스터의 크기를 설정한다.
도 9를 참조하면, 단계(S111)에서는, N-over-N 드라이버(150)의 풀 다운 트랜지스터의 크기를 최소화 한다. 그리고 샘플러(220)에 사용되는 레퍼런스 전압을 0(GND)으로 초기화 한다.
또한, 단계(S111)에서는, N-over-N 드라이버(150)에서 00, 01, 10, 11 데이터에 해당하는 DC 전압을 샘플러(220)에 순차적으로 전송한다. 즉, 같은 데이터를 반복적으로 샘플러(220)에 전송한다. 이 때, DC 전압을 샘플러(220)에 전송할 때 마다, 메모리 컨트롤 유닛(110)은 사이드 채널(330)을 이용하여 메모리 디지털 블럭(210)에 전송 사실을 통지한다.
단계(S112)에서는, 샘플러(220)의 레퍼런스 전압을 상승시키며, 단계(S113)에서는, DC 전압 각각에 대응하는 샘플러(220)의 제1 출력 전압을 측정한다. 구체적으로, 메모리 디지털 블록(210)은 샘플러(220)의 레퍼런스 전압을 상승시키며, 샘플러(220)의 출력이 변화하는 지점을 입력 DC 전압이라고 판단한다.
메모리 디지털 블록(210)이 판단한 입력 DC 전압 값은 사이드 채널(330)을 이용하여 메모리 컨트롤 유닛(110)으로 전송된다. 또한, 4개의 DC 레벨(00, 01, 10, 11)이 전송되므로, 단계(S112) 및 단계(S113)는 4번 반복된다. DC 레벨 중 마지막 11 데이터 값에 대한 샘플러의 출력값이 측정된 후, 메모리 디지털 블록(210)은 샘플러(220)의 레퍼런스 전압을 0으로 초기화 한다.
즉, 단계(S112)에서는, 메모리 디지털 블록(210)은 샘플러(220)의 레퍼런스 전압을 상승시키며 4개의 DC 레벨에 대응하는 제1 출력 전압을 측정한다.
또한, 단계(S113)에서, 메모리 컨트롤 유닛(110)은 4개의 DC 레벨에 대응하는 샘플러(220)의 출력 전압 차이를 계산하여 가장 작은 값을 제1 전압 차이 값으로 저장한다. 즉, 샘플러(220)의 제1 출력 전압의 전압 차이가 최소인 전압 차이 값을 제1 전압 차이 값으로 설정한다.
단계(S114)에서는, N-over-N 드라이버(150)의 풀 다운 트랜지스터 크기를 변경한다. 따라서, 풀 다운 트랜지스터 크기 변경에 따른 제1 전압 차이 값을 반복하여 측정한다. 즉, N-over-N 드라이버(150)의 풀 다운 트랜지스터의 크기를 변경하며 단계(S111) 내지 단계(S114)를 반복한다. 단계(S115)에서는, 상기 제1 전압 차이 값의 최대 값을 측정한다.
그리고, 단계(S116)에서는, 제1 전압 차이 값이 최대인 풀 다운 트랜지스터의 크기를 최종 풀 다운 트랜지스터 크기로 설정한다. 상술한 과정에 따라 풀 업 트랜지스터 및 풀 다운 트랜지스터의 크기가 설정되면, 아이 다이어그램의 최상단 눈이 가장 커지도록 드라이버의 크기가 설정된다.
도 10을 참조하여, N-over-N 드라이버(150)의 풀 업 트랜지스터 크기 설정 방법을 설명한다. N-over-N 드라이버(150)의 풀 업 트랜지스터 크기를 결정하는 과정은 ZQ 교정(ZQ calibration) 과정에 대응될 수 있다.
상술한 바와 같이 N-over-N 드라이버(150)의 풀 다운 트랜지스터 크기가 설정되면 풀 다운 트랜지스터와 풀 업 트랜지스터의 비율이 결정된 것으로 볼 수 있다. 따라서, ZQ 교정(ZQ calibration)은 N-over-N 드라이버(150)의 풀 업 트랜지스터 크기를 설정하는 과정을 의미한다.
구체적으로, 메모리 컨트롤러(100)의 복제 PU 드라이버(replica PU driver, 171)는, N-over-N 드라이버(150)의 풀 업 트랜지스터만 복제한 것과 동일하다. 따라서, 단계(S121)에서는 복제 PU 드라이버(171)의 트랜지스터 크기를 변경한다. 그리고, 단계(S122)에서는, 메모리 디지털 블록(210)이 샘플러(220)의 레퍼런스 전압을 변경한다.
단계(S123)에서는 샘플러(220)에서 출력되는 제2 출력 전압을 측정한다. 구체적으로, 복제 PU 드라이버(replica PU driver, 171)의 출력에 특정 임피던스의 저항(172)이 연결되는 경우, 특정 출력 전압이 도출되도록 설정한다. 이 때, 특정 출력 전압이란 샘플러(220)의 레퍼런스 전압을 바꾸어가며 샘플러(220)의 출력 전압의 부호가 반전되는 지점으로 도출한다.
즉, 단계(S121) 및 단계(S122)에 따라 복제 PU 드라이버(replica PU driver, 171)의 트랜지스터 크기 및 샘플러(220)의 레퍼런스 전압을 변경한다. 그리고, 단계(S123)에서 샘플러(220)의 출력 전압을 제2 출력 전압으로 측정한다.
그리고, 단계(S124)에서 제2 출력 전압의 부호가 반전되는 시점에 대응하는 복제 PU 드라이버(replica PU driver, 171)의 트랜지스터 크기를 N-over-N 드라이버(150)의 최종 풀 업 트랜지스터 크기로 설정한다.
도 11은 드라이버 저항의 비선형성 특성을 나타내는 그래프이다. 도 11을 참조하면, x축은 출력 전압, y축은 트랜지스터 저항값을 나타낸다. 또한, L1은 풀업 트랜지스터의 저항(RUP), L2는 풀 다운 트랜지스터의 저항(RDN), L3는 풀 업 트랜지스터의 저항과 풀 다운 트랜지스터의 저항의 차이(RUP - RDN)를 나타낸다.
도 11에 도시된 바와 값이 드라이버의 전압값을 VDDQ 라고 할 때, 풀 업 트랜지스터의 저항(RUP)과 풀 다운 트랜지스터의 저항(RDN)의 차이가 2/3 VDDQ 이상에서 급격히 증가한다. 따라서, 출력 전압의 범위를 2/3 VDDQ 이하로 유지하면 아이 다이어그램에서 비교적 균일한 눈을 도출할 수 있음을 의미한다.
따라서 상술한 과정에 따라 N-over-N 드라이버(150)의 풀 업 트랜지스터 및 풀 다운 트랜지스터 크기를 설정한다면, 출력 전압의 범위를 2/3 VDDQ 이하로 유지된다. 따라서, 출력 전압의 크기를 조절하여 아이 다이어그램에서 가장 작은 눈의 크기가 최대가 되도록 설정할 수 있다.
이하, 도 12 및 도 13을 참조하여 실시예에 따른 샘플러의 레퍼런스 전압 설정 방법 및 PI 디지털 코드 설정 방법을 설명한다.
도 12는 실시예에 따른 PI 디지털 코드 설정 방법의 흐름도이다.
도 12에 따른, 샘플러(220)의 레퍼런스 전압 설정 방법 및 PI 디지털 코드 설정 방법은, 샘플러(220)의 클럭이 데이터의 아이 다이어그램상 가운데에 위치하도록 하는 아이 센터링(Eye centering)단계에 대응된다. 또한, 아이 센터링 단계는 두 번이 수행될 수 있다. 8개의 데이터 채널이 하나의 PI(Phase Interpolator)를 공유하므로 첫 번째 채널의 트레이닝 과정과 나머지 일곱 개의 채널을 트레이닝하는 과정에서 차이가 있다.
먼저, 첫 번째 채널의 샘플러(220) 레퍼런스 전압 및 PI 디지털 코드를 설정하기 위해, 단계(S210)에서는 샘플러(220)의 제1 레퍼런스 전압을 설정한다. 디지털 메모리 블록(210)은 제1 출력 전압의 전압 차이가 최소인 DC 전압 값의 산술평균값을 제1 레퍼런스 전압으로 설정한다. 이 때 설정된 제1 레퍼런스 전압은 3개의 값이 도출되며, 샘플러(220) 최종 레퍼런스 전압으로 설정될 수 있다.
구체적으로, N-over-N 드라이버(150)의 트랜지스트 크기 설정 단계에서 DC 전압을 전송하였던 것과 동일한 방법(S111, S112, S113)으로 4 개의 DC 전압 값을 확인한다.
따라서, N-over-N 드라이버(150)에서 00, 01, 10, 11 데이터에 해당하는 DC 전압을 샘플러(220)에 순차적으로 전송한다. 즉, 같은 데이터를 반복적으로 샘플러(220)에 전송한다. 이 때, DC 전압을 샘플러(220)에 전송할 때 마다, 메모리 컨트롤 유닛(110)은 사이드 채널(330)을 이용하여 메모리 디지털 블럭(210)에 전송 사실을 통지한다. 또한, 샘플러(220)의 레퍼런스 전압을 상승시키며, DC 전압 각각에 대응하는 샘플러(220)의 제1 출력 전압을 측정한다.
메모리 디지털 블록(210)은 샘플러(220)의 레퍼런스 전압을 상승시키며, 샘플러(220)의 출력이 변화하는 지점을 입력 DC 전압이라고 판단한다. 메모리 디지털 블록(210)이 판단한 입력 DC 전압 값은 사이드 채널(330)을 이용하여 메모리 컨트롤 유닛(110)으로 전송된다. 또한, 4개의 DC 레벨(00, 01, 10, 11)이 전송되므로, 4번 반복하여 출력값이 측정된다.
그리고, 메모리 컨트롤 유닛(110)은 인접한 두 DC 전압 값의 산술평균값을 레퍼런스 전압으로 설정한다. 그리고, 설정된 레퍼런스 전압 값은 사이드 채널(330)을 이용하여 메모리 디지털 블록(210)에 전달된다. 메모리 디지털 블록(210)은 수신한 레퍼런스 전압값을 이용하여 샘플러(220)의 레퍼런스 전압을 설정한다. 이 때, 8상의 8개의 샘플러(220)에 동일한 레퍼런스 전압을 설정한다. 즉, 3가지 레퍼런스 전압만을 설정한다.
단계(S220)에서는, 디지털 메모리 블록(210)이 제1 레퍼런스 전압을 상승시킨다. 단계(S230)에서는, SBR 패턴에 따른 샘플러의 제3 출력 전압 값을 측정한다.
구체적으로, 8비트 패턴 생성기(120)에서 MSB와 LSB 모두00000001의 SBR 패턴을 생성한다. 그리고, 메모리 컨트롤 유닛(110)은 사이드 채널(330)을 이용하여 SBR 패턴 전송 사실을 메모리 디지털 블록(210)에 통지한다. 이에 따라, 메모리 디지털 블록(210)은 레퍼런스 전압을 변경하며 SBR 패턴에 따른 샘플러의 제3 출력 전압 값을 측정한다.
이 때, 데이터의 전송 주기와 샘플러(220)의 샘플링 주기가 8상으로 동일하기 때문에 샘플러(220)의 입력값은 일정하게 유지된다. 또한, 메모리 디지털 블록(210)은 단계(S210)에서 도출된 3개의 제1 레퍼런스 전압 중 높은(high) 값부터 레퍼런스 전압을 상승시킨다. 더불어, 샘플러(220)의 출력 전압 값이 0인 경우, 레퍼런스 전압 값을 제3 출력 전압 값으로 측정한다.
단계(S240)에서는, 디지털 메모리 블록(210)이 PI 디지털 코드의 값을 변경한다. 제3 출력 전압 값이 측정된 후, 측정값은 사이드 채널(330)을 이용하여 메모리 컨트롤 유닛(110)으로 전송된다.
그리고, 메모리 컨트롤 유닛(110)은 상 보간기(176)의 디지털 코드 값을 0부터 511까지 1씩 변화시킨다. 1UI당 6비트의 리솔루션(resolution)을 가진다. 따라서, 총 8UI에 해당하는 상(phase) 차이를 9비트의 컨트롤 신호로 만들 수 있다.
단계(S250)에서는, PI(176) 디지털 코드 값의 변경과 SBR 패턴에 따른 샘플러(220)의 제3출력 전압 값을 반복 측정한다. 그리고, 제3 출력 전압 값이 가장 큰 PI 디지털 코드의 값을 최종 PI 디지털 코드 값으로 설정한다.
도 13은 실시예에 따른 DCDL 디지털 코드 설정 방법의 흐름도이다.
도 13을 참조하면, DCDL(140) 디지털 코드 값을 설정하기 위한 과정이 도시되어 있다. 상술한 도 12의 단계를 거쳐 첫 번째 채널의 트레이닝을 수행한 후, DCDL(140) 디지털 코드 값을 설정하여 나머지 일곱개 채널의 트레이닝을 수행한다.
단계(S211) 내지 단계(S231)은 상술한 단계(S210) 내지 단계(S230)과 동일하다. 따라서, 단계(S211)에서 디지털 메모리 블록(210)은 제1 출력 전압의 전압 차이가 최소인 DC 전압 값의 산술평균값을 제1 레퍼런스 전압으로 설정한다. 단계(S221)에서, 메모리 디지털 블록(210)은 단계(S210)에서 도출된 3개의 제1 레퍼런스 전압 중 높은(high) 값부터 레퍼런스 전압을 상승시킨다.
또한, 단계(S231)에서, 8비트 패턴 생성기(120)에서 MSB와 LSB 모두00000001의 SBR 패턴을 생성한다. 그리고, 메모리 컨트롤 유닛(110)은 사이드 채널(330)을 이용하여 SBR 패턴 전송 사실을 메모리 디지털 블록(210)에 통지한다. 이에 따라, 메모리 디지털 블록(210)은 레퍼런스 전압을 변경하며 SBR 패턴에 따른 샘플러의 제4 출력 전압 값을 측정한다.
단계(S241)에서는, DCDL(Delay Line, 140)의 3비트 디지털 코드의 값을 변경한다. 그리고, 단계(S251)에서, DCDL 디지털 코드 변경과 상기 SBR 패턴에 따른 샘플러(220)의 제4출력 전압 값을 반복 측정한다.
단계(S261)에서는, 제4 출력 전압 값이 가장 큰 DCDL 디지털 코드의 값을 최종 DCDL 디지털 코드 값으로 설정한다. 따라서, 첫 번째 채널의 트레이닝을 수행한 후, DCDL(140) 디지털 코드 값을 설정하여 나머지 일곱개 채널의 트레이닝을 수행할 수 있다.
이하, 도 14를 참조하여 실시예에 따른 FFE(160)의 트랜지스터 설정 방법을 설명한다.
도 14는 실시예에 따른 FFE 트랜지스터 설정 방법의 흐름도이다.
도 14를 참조하면, FFE(160)의 트랜지스터 크기 설정 방법이 도시된다. 도 8 내지 도 11을 참조하여 상술한 방법에 따라 N-over-N 드라이버(150)의 풀 업 트랜지스터와 풀 다운 트랜지스터의 크기는 도출된다.
따라서, N-over-N 드라이버(150)의 풀 업 트랜지스터와 풀 다운 트랜지스터의 크기 차이를 유지하면서, FFE(160)의 풀 업 트랜지스터와 풀 다운 트랜지스터를 변경하여 최적 값을 도출한다. 더불어, FFE(160)는 N-over-N 드라이버(150)와 동일하게 풀 업 트랜지스터와 풀 다운 트랜지스터를 5비트로 제어할 수 있다.
단계(S310)에서는, 도 8 내지 도 11을 참조하여 상술한 방법에 따라 도출된, N-over-N 드라이버(150)의 풀 업 트랜지스터와 풀 다운 트랜지스터의 크기 차이값을 측정한다.
단계(S320)에서, N-over-N 드라이버(150)의 풀 업 트랜지스터와 상기 드라이버의 풀 다운 트랜지스터의 크기 차이값을 유지하면서, FFE(160)의 풀 업 트랜지스터와 FFE(160)의 풀 다운 트래지스터의 크기를 변경한다.
예를 들어, N-over-N 드라이버(150)의 풀 업 트랜지스터와 풀 다운 트랜지스터의 최종 크기 값에 대응하는 디지털 컨트롤 신호가 18과 12라고 가정한다. FFE(160)은 디지털 컨트롤 신호의 차이 값인 6을 유지하면서 FFE(160)의 트랜지스터 크기를 변화시킨다. 트랜지스터의 크기에 대응하는 디지털 컨트롤 신호는 0 부터 31까지 설정할 수 있다. 따라서, FFE(160)의 풀 업 트랜지스터와 풀 다운 트랜지스터 쌍의 크기를 (6, 0) 에서(31,25)변경할 수 있다. 또한, 단계(S320)에서는, 트랜지스터 크기에 대응하는 디지털 컨트롤 신호를 1씩 증가시킬 수 있다.
단계(S330)에서, PI(176) 디지털 코드의 값을 상술한 최종 PI 디지털 코드의 값에서 64씩 변경한다.
단계(S340)에서, FFE(160) 풀 업 트랜지스터와 FFE(160) 풀 다운 트랜지스터의 크기 및 PI(176) 디지털 코드 변경에 따라, 샘플러(220)의 제5 출력 전압 값을 반복 측정한다.
단계(S350)에서, 제5 출력 전압 값 중 최대 전압 값을 제외한 나머지 전압 값의 합을 측정한다. 구체적으로 단계(S340) 및 단계(S350)은 SBR 패턴에 따른 출력 그래프에서 메인 커서(main cursor, 최대 전압값)를 제외한 나머지 커서(cursor)들의 합이 최소가 되는 값을 찾는 단계이다.
단계(S360)에서는, 나머지 전압 값의 합이 최소인 경우에 대응하는 FFE(160) 풀 업 트랜지스터와 FFE(160) 풀 다운 트랜지스터의 크기를 FFE(Feed Forward Equalizer)의 최종 트랜지스터 크기로 설정한다.
상술한 단계를 수행하여 N-over-N 드라이버(150)의 트랜지스터 크기, FFE(160)의 트랜지스터 크기, PI(176)의 디지털 코드, DCDL(176)의 디지털 코드 및 샘플러(220)의 레퍼런스 전압을 설정할 수 있다. 설정된 값에 따라 메모리는 핀(pin)이 소모하는 전력을 최소화할 수 있다.
또한, 상술한 바와 같이 N-over-N 드라이버(150)의 트랜지스터 크기, FFE(160)의 트랜지스터 크기, PI(176)의 디지털 코드, DCDL(176)의 디지털 코드 및 샘플러(220)의 레퍼런스 전압을 설정하는 단계는, 각 채널당 하나의 샘플러만을 사용한다. 그리고 하나의 채널에 대한 트레이닝 과정이 종료되면 다음 채널의 트레이닝을 수행하는 방식으로 총 8번의 반복 과정이 수행된다. 따라서, 상술한 단계(S400)에서는, 메모리 컨트롤 유닛(110)과 메모리 디지털 블록(210)이 샘플러(220)의 오차를 보정한다.
더불어, 전체 8개 채널에 대하여 단계(S400)이 수행되면, 메모리 컨드롤 유닛(110)의 전원을 차단하여 전력 소모를 최소화 할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 메모리 전력 최적화 장치
100: 메모리 컨트롤러 200: 메모리
300: 채널 110: 메모리 컨트롤 유닛
120: 8비트 패턴 생성기 130: 16:2 직렬 변환기
140: 딜레이라인(DCDL) 150: N-over-N 드라이버
160: FFE 170: 5GHz 클럭 생성기
171: 복제 PU 드라이버 172: 저항
173: 샘플러 174: 클럭 버퍼
175: IQ 분할기 176: PI(상 보간기)
210: 메모리 디지털 블록 220: 샘플러
230: 8비트 DAC 240: PAM-4 디코더
250: 클럭 버퍼 260: IQ 분할기
310: 데이터 채널 320: 클럭 채널
330: 사이드 채널

Claims (14)

  1. PAM-4(Pulse-Amplitude Modulation-4) 방식을 이용하는 메모리의 전력 최적화 방법으로서,
    메모리의 아이 다이어그램(eye-diagram)에 포함된 복수의 눈(eye)의 최소 크기에 따라 드라이버에 포함된 풀 업(Pull up) 트랜지스터 및 풀 다운(Pull Down) 트랜지스터의 비율 및 크기를 설정하는 단계, 그리고
    SBR(Signal Bit Response) 패턴을 이용하여 메 모리에 포함된 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 단계
    를 포함하는, 메모리 전력 최적화 방법.
  2. 제1항에 있어서,
    상기 풀 업 트랜지스터 및 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계는,
    상기 드라이버에서 00, 01, 10, 11 데이터에 해당하는 DC 전압을 상기 샘플러에 순차적으로 전송하는 단계,
    상기 샘플러의 레퍼런스 전압을 상승시키며, 상기 DC 전압 각각에 대응하는 샘플러의 제1 출력 전압을 측정하는 단계,
    상기 제1 출력 전압의 전압 차이가 최소인 전압 차이 값을 제1 전압 차이 값으로 설정하는 단계,
    상기 풀 다운 트랜지스터의 크기를 변경하여 상기 제1 전압 차이 값의 측정을 반복하는 단계, 그리고
    상기 제1 전압 차이 값이 최대인 풀 다운 트랜지스터의 크기를 최종 풀 다운 트랜지스터 크기로 설정하는 단계
    를 포함하는, 메모리 전력 최적화 방법.
  3. 제2항에 있어서,
    상기 풀 업 트랜지스터 및 상기 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계는,
    상기 풀 업 트랜지스터의 크기 및 상기 샘플러의 레퍼런스 전압을 변경하여 상기 샘플러의 제2 출력 전압을 반복 측정하는 단계, 그리고
    상기 제2 출력 전압의 부호가 반전되는 시점의 풀 업 트랜지스터의 크기를 최종 풀 업 트랜지스터의 크기로 설정하는 단계
    를 더 포함하는, 메모리 전력 최적화 방법.
  4. 제3항에 있어서,
    상기 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 단계는,
    상기 제1 출력 전압의 전압 차이가 최소인 DC 전압 값의 산술평균값을 제1 레퍼런스 전압으로 설정하는 단계, 그리고
    상기 제1 레퍼런스 전압을 상기 샘플러의 최종 레퍼런스 전압으로 설정하는 단계
    를 더 포함하는, 메모리 전력 최적화 방법.
  5. 제4항에 있어서,
    상기 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 단계는,
    상기 제1 레퍼런스 전압을 상승시키며, 상기 SBR 패턴에 따른 샘플러의 제3 출력 전압 값을 측정하는 단계,
    상기 PI 디지털 코드의 값을 변경하며 상기 SBR 패턴에 따른 샘플러의 제3출력 전압 값을 반복 측정하는 단계, 그리고
    상기 제3 출력 전압 값이 가장 큰 PI 디지털 코드의 값을 최종 PI 디지털 코드 값으로 설정하는 단계
    를 더 포함하는, 메모리 전력 최적화 방법.
  6. 제5항에 있어서,
    상기 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 단계는,
    상기 제1 레퍼런스 전압 값을 상승시키며, 상기 SBR 패턴에 따른 샘플러의 제4 출력 전압 값을 측정하는 단계,
    DCDL(Delay Line) 디지털 코드의 값을 변경하며 상기 SBR 패턴에 따른 샘플러의 제4출력 전압 값을 반복 측정하는 단계, 그리고
    상기 제4 출력 전압 값이 가장 큰 DCDL 디지털 코드의 값을 최종 DCDL 디지털 코드 값으로 설정하는 단계
    를 더 포함하는, 메모리 전력 최적화 방법.
  7. 제6항에 있어서,
    상기 풀 업 트랜지스터 및 상기 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계는,
    FFE(Feed Forward Equalizer)의 풀 업 트랜지스터 및 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계
    를 더 포함하며,
    상기 FFE의 풀 업 트랜지스터 및 풀 다운 트랜지스터의 비율 및 크기를 설정하는 단계는,
    상기 드라이버의 풀 업 트랜지스터와 상기 드라이버의 풀 다운 트랜지스터의 크기 차이값을 유지하면서, 상기 FFE의 풀 업 트랜지스터와 상기 FFE의 풀 다운 트래지스터의 크기를 변경하는 단계,
    상기 PI 디지털 코드의 값을 상기 최종 PI 디지털 코드의 값에서 64씩 변경하는 단계,
    상기 FFE 풀 업 트랜지스터와 상기 FFE 풀 다운 트랜지스터의 크기 및 상기 최종 PI 디지털 코드 변경에 따라, 샘플러의 제5 출력 전압 값을 반복 측정하는 단계,
    상기 제5 출력 전압 값 중 최대 전압 값을 제외한 나머지 전압 값의 합을 측정하는 단계, 그리고
    상기 나머지 전압 값의 합이 최소인 경우에 대응하는 상기 FFE의 풀 업 트랜지스터 크기와 상기 FFE의 풀 다운 트랜지스터의 크기를 상기 FFE의 최종 트랜지스터 크기로 설정하는 단계
    를 포함하는, 메모리 전력 최적화 방법.
  8. PAM-4(Pulse-Amplitude Modulation-4) 방식을 이용하는 메모리의 전력 최적화 장치로서,
    메모리의 아이 다이어그램(eye-diagram)에 포함된 복수의 눈(eye)의 최소 크기에 따라 드라이버에 포함된 풀 업(Pull up) 트랜지스터 및 풀 다운(Pull Down) 트랜지스터의 비율 및 크기를 설정하는 메모리 컨트롤러, 그리고
    SBR(Signal Bit Response) 패턴을 이용하여 메모리에 포함된 샘플러의 레퍼런스 전압, PI(Phase Interpolator) 디지털 코드 값을 설정하는 메모리 디지털 블록
    을 포함하는, 메모리 전력 최적화 장치.
  9. 제8항에 있어서,
    상기 메모리 컨트롤러는,
    상기 풀 업 트랜지스터 및 상기 풀 다운 트랜지스터의 비율 및 크기를 설정하고, 상기 드라이버에서 00, 01, 10. 11 데이터에 해당하는 DC 전압을 상기 샘플러에 순차적으로 전송하며, 상기 샘플러의 레퍼런스 전압을 상승시키며, 상기 DC 전압 각각에 대응하는 샘플러의 제1 출력 전압을 측정하고, 상기 제1 출력 전압의 전압 차이가 최소인 전압 차이 값을 제1 전압 차이 값으로 설정하며, 상기 풀 다운 트랜지스터의 크기를 변경하여 상기 제1 전압 차이 값의 측정을 반복하고, 상기 제1 전압 차이 값이 최대인 풀 다운 트랜지스터의 크기를 최종 풀 다운 트랜지스터 크기로 설정하는, 메모리 전력 최적화 장치.
  10. 제9항에 있어서,
    상기 메모리 컨트롤러는,
    상기 풀 업 트랜지스터 및 상기 풀 다운 트랜지스터의 비율 및 크기를 설정하고, 상기 풀 업 트랜지스터의 크기 및 상기 샘플러의 레퍼런스 전압을 변경하여 상기 샘플러의 제2 출력 전압을 반복 측정하며, 상기 제2 출력 전압의 부호가 반전되는 시점의 풀 업 트랜지스터의 크기를 최종 풀 업 트랜지스터의 크기로 설정하는, 메모리 전력 최적화 장치.
  11. 제10항에 있어서,
    상기 메모리 디지털 블록은,
    상기 제1 출력 전압의 전압 차이가 최소인 DC 전압 값의 산술평균값을 제1 레퍼런스 전압으로 설정하고, 상기 제1 레퍼런스 전압을 상기 샘플러의 최종 레퍼런스 전압으로 설정하는, 메모리 전력 최적화 장치.
  12. 제11항에 있어서,
    상기 메모리 디지털 블록은,
    상기 제1 레퍼런스 전압 값을 상승시키며, 상기 SBR 패턴에 따른 샘플러의 제3 출력 전압 값을 측정하고, 상기 PI 디지털 코드의 값을 변경하며 상기 SBR 패턴에 따른 샘플러의 제3출력 전압 값을 반복 측정하며, 상기 제3 출력 전압 값이 가장 큰 PI 디지털 코드의 값을 최종 PI 디지털 코드 값으로 설정하는, 메모리 전력 최적화 장치.
  13. 제12항에 있어서,
    상기 메모리 디지털 블록은,
    상기 제1 레퍼런스 전압 값을 상승시키며, 상기 SBR 패턴에 따른 샘플러의 제4 출력 전압 값을 측정하고, DCDL(Delay Line) 디지털 코드의 값을 변경하며 상기 SBR 패턴에 따른 샘플러의 제4출력 전압 값을 반복 측정하며, 상기 제4 출력 전압 값이 가장 큰 DCDL 디지털 코드의 값을 최종 DCDL 디지털 코드 값으로 설정하는, 메모리 전력 최적화 장치.
  14. 제13항에 있어서,
    상기 메모리 컨트롤러는,
    상기 드라이버의 풀 업 트랜지스터와 상기 드라이버의 풀 다운 트랜지스터의 크기 차이값을 유지하면서, FFE의 풀 업 트랜지스터와 상기 FFE의 풀 다운 트래지스터의 크기를 변경하고, 상기 PI 디지털 코드의 값을 상기 최종 PI 디지털 코드의 값에서 64씩 변경하며, 상기 FFE 풀 업 트랜지스터와 상기 FFE 풀 다운 트랜지스터의 크기 및 상기 최종 PI 디지털 코드 변경에 따라, 샘플러의 제5 출력 전압 값을 반복 측정하고, 상기 제5 출력 전압 값 중 최대 전압 값을 제외한 나머지 전압 값의 합을 측정하며, 상기 나머지 전압 값의 합이 최소인 경우에 대응하는 상기 FFE의 풀 업 트랜지스터와 상기 FFE의 풀 다운 트랜지스터의 크기를 상기 FFE의 최종 트랜지스터 크기로 설정하는, 메모리 전력 최적화 장치.
KR1020210133311A 2021-10-07 2021-10-07 메모리 전력 최적화 방법 및 장치 KR20230050061A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210133311A KR20230050061A (ko) 2021-10-07 2021-10-07 메모리 전력 최적화 방법 및 장치
US17/558,036 US11742859B2 (en) 2021-10-07 2021-12-21 Method and apparatus for optimizing memory power

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210133311A KR20230050061A (ko) 2021-10-07 2021-10-07 메모리 전력 최적화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230050061A true KR20230050061A (ko) 2023-04-14

Family

ID=85797972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210133311A KR20230050061A (ko) 2021-10-07 2021-10-07 메모리 전력 최적화 방법 및 장치

Country Status (2)

Country Link
US (1) US11742859B2 (ko)
KR (1) KR20230050061A (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639495B2 (en) 2014-06-27 2017-05-02 Advanced Micro Devices, Inc. Integrated controller for training memory physical layer interface
KR102451996B1 (ko) 2016-03-31 2022-10-07 삼성전자주식회사 기준 전압의 셀프 트레이닝을 수행하는 수신 인터페이스 회로 및 이를 포함하는 메모리 시스템
US10446198B2 (en) * 2017-10-02 2019-10-15 Micron Technology, Inc. Multiple concurrent modulation schemes in a memory system
US10749716B2 (en) * 2018-04-09 2020-08-18 Texas Instruments Incorporated Signal path linearizer
WO2020063409A1 (en) * 2018-09-27 2020-04-02 Huawei Technologies Co., Ltd. Amplifier with non-linearity cancellation
KR20220029914A (ko) * 2020-09-02 2022-03-10 삼성전자주식회사 펄스 진폭 변조 기반 데이터 스트로브 신호를 생성하는 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템
KR20220030001A (ko) * 2020-09-02 2022-03-10 삼성전자주식회사 멀티 레벨 신호 수신기 및 이를 포함하는 메모리 시스템
KR20220032925A (ko) * 2020-09-08 2022-03-15 삼성전자주식회사 펄스 진폭 변조 기반 dq 신호를 생성하는 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템
US11394589B1 (en) * 2021-05-17 2022-07-19 Micron Technology, Inc. Techniques for communicating multi-level signals

Also Published As

Publication number Publication date
US11742859B2 (en) 2023-08-29
US20230113660A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
US7583753B2 (en) Methods and transmitters for loop-back adaptive pre-emphasis data transmission
US6879181B2 (en) Methods and apparatuses for signal line termination
US7269212B1 (en) Low-latency equalization in multi-level, multi-line communication systems
US20090122904A1 (en) Apparatuses and method for multi-level communication
US7193467B2 (en) Differential amplifiers and methods of using same
KR102257233B1 (ko) 접지 신호 전송법 기반의 3레벨 펄스 진폭 송수신 장치
US10171273B2 (en) Decision feedback equalizer and interconnect circuit
KR20200137361A (ko) 멀티비트 데이터를 송신하는 송신기
CN114641928A (zh) 用于数据驱动器的校准电阻
US10454580B2 (en) Threshold adjustment compensation of asymmetrical optical noise
US9490853B2 (en) Data transmitter
US20240103564A1 (en) Semiconductor device
US20050195893A1 (en) Bit-edge zero forcing equalizer
KR20200099453A (ko) 싱글 엔디드 3-레벨 펄스 진폭 변조 시그널링을 위한 장치 및 방법
KR20230050061A (ko) 메모리 전력 최적화 방법 및 장치
US10924310B2 (en) Transmitter with fully re-assignable segments for reconfigurable FFE taps
KR102478277B1 (ko) 4레벨 pam 수신기
KR20200008370A (ko) 집적 회로
KR102583000B1 (ko) 수신된 신호의 데이터 레벨을 판정하는 문턱 전압을 적응적으로 조절할 수 있는 pam-n 수신기 및 그 문턱 전압 조절 방법
KR20240044269A (ko) 반도체 장치
US11316520B2 (en) Transmitter for transmitting multi-bit data
KR102277464B1 (ko) 유한 임펄스 응답을 이용한 데이터 송신 방법 및 그를 위한 장치
US11177985B2 (en) Signal output circuit, transmission circuit and integrated circuit
US11749963B2 (en) Software-defined transistor-like VCSEL-based communication system with a universal driver and associated method
US20240235920A1 (en) Device and method for phase adjustment of receiver for pam signaling

Legal Events

Date Code Title Description
E902 Notification of reason for refusal