본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 20. 02:18

DDR4 SDRAM – 초기화, 트레이닝 및 교정 (Initialization, Training and Calibration)

요약

DDR4 SDRAM이 전원 공급 후 동작 가능한 상태에 도달하기 위해 거치는 초기화, ZQ 교정, Vref DQ 교정, 읽기/쓰기 트레이닝의 4단계 과정을 설명합니다. 특히 ZQ 교정은 온도와 전압 변화에 따라 변하는 내부 저항값을 외부 정밀 저항을 기준으로 240Ω에 맞추는 필수적인 과정임을 다룹니다.

핵심 포인트

  • DDR4 초기화는 전원 공급, ZQ 교정, Vref DQ 교정, 읽기/쓰기 트레이닝의 4단계로 구성됨
  • 초기화 단계에서 모드 레지스터(MRS)를 통해 동작 주파수 및 CAS Latency 등의 타이밍 파라미터가 설정됨
  • ZQ 교정은 DQ 핀의 양방향 회로 내 저항값을 외부 정밀 저항을 기준으로 240Ω으로 조정하는 과정임
  • 내부 저항은 온도와 전압 변화에 민감하므로 정확한 동작을 위해 조정 가능한 구조를 가짐

DDR4 SDRAM - 초기화, 트레이닝 및 교정 (Initialization, Training and Calibration)

서론 (Introduction)

DRAM 서브시스템을 포함하는 장치에 전원이 공급되면, DRAM이 동작 상태에 도달하기 전에 여러 가지 일이 발생합니다. JEDEC 사양의 다음 상태 머신(state-machine)은 전원 공급 시 DRAM이 거치는 다양한 상태를 보여줍니다.

본질적으로, 초기화 절차는 다음과 같은 4개의 뚜렷한 단계로 구성됩니다.

  • 전원 공급 및 초기화 (Power-up and Initialization)
  • ZQ 교정 (ZQ Calibration)
  • Vref DQ 교정 (Vref DQ Calibration)
  • 읽기/쓰기 트레이닝 (Read/Write Training, 일명 메모리 트레이닝 또는 초기 교정)

다음 섹션들을 더 잘 이해하기 위해, 다음과 같은 시스템이 있다고 가정해 보겠습니다. 즉, 1개의 DIMM 모듈이 장착된 ASIC/FPGA/프로세서입니다.

초기화 (Initialization)

전원 공급 및 초기화는 잘 정의된 고정된 단계의 시퀀스입니다. 일반적으로 시스템에 전원이 공급되고 ASIC/FPGA/프로세서 내의 컨트롤러가 리셋(reset) 상태에서 해제되면, 컨트롤러는 자동으로 전원 공급 및 초기화 시퀀스를 수행합니다. 다음은 컨트롤러가 수행하는 작업의 매우 단순화된 버전입니다. 정확한 세부 사항은 JESD79-49A 사양의 섹션 3.3을 참조하십시오.

  • DRAM에 전원 공급
  • RESET 해제 및 CKE (ClockEnable) 활성화
  • CK_t/CK_c 클럭 활성화
  • MRS 명령을 발행하고 모드 레지스터(Mode Registers)를 로드 [모드 레지스터는 특정 순서로 로드됩니다]
  • ZQ 교정 [ZQCL] 수행
  • DRAM을 IDLE 상태로 전환

이 시점에서 DIMM 모듈의 DRAM들은 어떤 주파수에서 동작해야 하는지, CAS Latency (CL), CAS Write Latency (CWL) 및 기타 몇 가지 타이밍 파라미터가 무엇인지 이해하게 됩니다.

ZQ 교정 (ZQ Calibration)

ZQ 교정은 데이터 핀인 DQ와 관련이 있습니다. ZQ 교정이 무엇을 하는지, 그리고 왜 필요한지를 이해하려면 먼저 각 DQ 핀 뒤에 있는 회로를 살펴봐야 합니다. DQ 핀은 양방향(bidirectional)이라는 점을 기억하십시오. 이 핀은 읽기(read) 중에는 데이터를 다시 보내고, 쓰기(write) 중에는 데이터를 받는 역할을 담당합니다.

이제 DRAM 내부를 살펴보면, 모든 DQ 핀 뒤의 회로는 일련의 병렬 240Ω...

그림 4에 표시된 것처럼 일련의 병렬 240Ω 저항 다리(resistor legs)입니다. CMOS 소자의 특성상, 이 저항들은 결코 정확히 240Ω이 될 수 없습니다. 저항값은 전압과 온도 변화에 의해서도 영향을 받습니다. 따라서 이들은 조정 가능(tunable)하도록 만들어졌습니다.

이 저항들을 정확히 240Ω으로 조정하기 위해, 각 DRAM은 다음을 갖추고 있습니다.

  • **DQ 교정 제어 블록 (DQ calibration control block)**이라 불리는 특수 블록
  • 외부의 정밀도 (+/- 1%) 240Ω 저항이 연결되는 ZQ 핀

이 외부 정밀 저항은 "기준(reference)" 역할을 하며, 모든 온도에서 240Ω을 유지합니다. 초기화(initialization) 중에 ZQCL 명령이 발행되면, 이 DQ 교정 제어 블록이 활성화되어 조정 값(tuning value)을 생성합니다. 이 값은 이후 각 DQ의 내부 회로로 복사됩니다.

참고!

위 설명은 ZQ 교정(ZQ calibration)에 대한 빠른 개요입니다. 이 정도로 충분하다면 다음 섹션으로 넘어가셔도 좋습니다. 더 자세한 내용이 궁금하다면 계속 읽어주세요.

DQ 회로 내의 240Ω 저항 다리는 "폴리 실리콘 저항 (Poly Silicon Resistor)"라고 불리는 유형의 저항이며, 일반적으로 240Ω보다 약간 더 큽니다 (폴리 실리콘 저항은 CMOS 기술과 호환되는 저항의 한 종류입니다). 이 폴리 저항(poly-resistor)이 정확히 240Ω으로 조정될 수 있도록 이와 병렬로 연결된 다수의 p-채널(p-channel) 소자들이 있습니다.

아래 그림은 DQ 회로의 240Ω 다리 하나를 확대한 것으로, 폴리 저항에 연결된 5개의 p-채널 소자를 보여줍니다. 이 작은 트랜지스터들은 입력 VOH[0:4]를 기반으로 설정됩니다.

이제 DQ 교정 제어 블록에 연결된 회로는 본질적으로 하나의 저항은 폴리 저항이고 다른 하나는 정밀 240Ω 저항인 저항 분배기(resistor divider) 회로입니다. 초기화 중에 ZQCL 명령이 발행되면, 이 DQ 교정 제어 블록이 활성화되며, DQ 교정 제어 블록 내부의 내부 비교기(internal comparator)가 전압이 정확히 VDDq/2가 될 때까지 VOH[0:4]를 사용하여 p-채널 소자들을 조정합니다 (전형적인 저항 분배 방식). 이 시점에서 교정이 완료되며 VOH

값이 모든 DQ 핀으로 전달됩니다.

다음으로, 왜 DQ 핀에 애초에 이러한 240Ω 저항의 병렬 네트워크가 존재하는지 궁금하실 수도 있습니다!

240Ω 저항 뱅크를 병렬로 배치하면 구동 능력 (Drive Strength, READ 시)과 종단 저항 (Termination Resistance, WRITE 시)을 조정할 수 있습니다. 모든 PCB 레이아웃은 다르기 때문에, 신호 무결성 (Signal Integrity)을 개선하고, 신호의 아이 사이즈 (Eye-size)를 최대화하며, DRAM이 고속으로 동작할 수 있도록 하기 위해 이러한 튜닝 기능이 필요합니다.

DRAM의 신호 구동 능력은 모드 레지스터 MR1[2:1]을 설정함으로써 제어할 수 있습니다. 종단 (Termination)은 모드 레지스터 MR1, 2 & 5에서 각각 RTT_NOM, RTT_WRRTT_PARK의 조합을 사용하여 제어할 수 있습니다.

Vref DQ 교정 (Vref DQ Calibration)

DDR4에서는 데이터 라인 (DQ)의 종단 방식이 CTT (Center Tapped Termination, SSTL - Series-Stud Terminated Logic이라고도 함)에서 POD (Pseudo Open Drain)로 변경되었습니다. 이는 고속 동작 시 신호 무결성을 개선하고 IO 전력을 절약하기 위해 수행되었습니다. 이러한 방식이 처음은 아니며, GDDR5 (그래픽 DRAM) 또한 POD를 사용합니다.

이것이 의미하는 바는, DDR3에서는 DQ 신호가 0인지 1인지 결정하기 위한 전압 기준으로 Vdd/2가 사용되었다는 것입니다. 그림 9의 왼쪽을 다시 보면, 수신기는 본질적으로 전압 분배 회로 (Voltage Divider Circuit)입니다.

하지만 DDR4의 수신기에는 전압 분배 회로가 없습니다. 대신 데이터 라인 (DQ)의 신호가 0인지 1인지 결정하는 데 사용하는 내부 전압 기준을 가지고 있습니다. 이 전압 기준을 VrefDQ라고 부릅니다. VrefDQ는 모드 레지스터 MR6를 사용하여 설정할 수 있으며, VrefDQ 교정 단계 동안 메모리 컨트롤러에 의해 올바르게 설정되어야 합니다.

읽기/쓰기 트레이닝 (Read/Write Training)

이 시점에서 초기화 절차가 완료되었으며 DRAM은 IDLE 상태에 있습니다.

상태이지만, 메모리는 여전히 작동 가능한 상태가 아닙니다. 컨트롤러 (Controller)와 PHY는 데이터를 DRAM에 안정적으로 쓰거나 읽기 전에 몇 가지 더 중요한 단계를 수행해야 합니다. 이 중요한 단계는 읽기/쓰기 트레이닝 (Read/Write Training, 또는 메모리 트레이닝 (Memory Training) 또는 초기 교정 (Initial Calibration))이라고 불리며, 이 과정에서 컨트롤러 (또는 PHY)는 다음과 같은 작업을 수행합니다.

  • DRAM에서 클록 [CK]과 데이터 스트로브 [DQS]를 정렬하기 위한 알고리즘 실행
  • 알고리즘을 실행하여 DRAM에 대한 정확한 읽기 및 쓰기 지연 시간 (delay) 산출
  • 읽기를 위한 데이터 아이 (data eye) 중앙 정렬
  • 신호 무결성 (signal integrity)이 좋지 않아 데이터를 안정적으로 쓰거나 읽을 수 없는 경우 오류 보고

이 섹션은 상태 머신 (state machine)의 다음 루프에 관한 내용입니다.

왜 읽기/쓰기 트레이닝이 필요한가요?¶

우리의 예시 시스템을 더 자세히 살펴보겠습니다. 아래 그림은 ASIC/SoC/프로세서와 DIMM 위의 DRAM들 사이에 데이터 신호 (data signals) 및 **주소/명령 신호 (address/command signals)**가 어떻게 연결되어 있는지를 보여줍니다.

  • 데이터와 데이터 스트로브 (DQ & DQS)는 각 메모리가 72개의 데이터 라인의 서로 다른 부분에 연결되어 있기 때문에 스타 토폴로지 (star topology)로 각 메모리에 연결됩니다.
  • DIMM의 클록, 명령 및 주소 라인 (A, CK, CKE, WE, CSn)은 플라이바이 라우팅 (fly-by routing) 토폴로지라고 불리는 기술을 사용하여 연결됩니다. 이는 DIMM 위의 모든 DRAM이 동일한 주소 라인을 공유하기 때문에, 더 나은 신호 무결성 (signal integrity)과 고속 동작을 달성하기 위해 플라이바이 라우팅이 필요하기 때문입니다.

따라서 ASIC/프로세서의 관점에서는 DIMM 위의 각 DRAM 메모리가 서로 다른 거리에 위치하게 됩니다. 또는 DIMM의 관점에서는 클록과 데이터 사이의 스큐 (skew)가 DIMM 위의 각 DRAM마다 다릅니다.

DRAM은 상당히 단순한 장치입니다. 예를 들어 WRITE 동작을 수행하려 한다고 가정하면, 초기화 과정에서 DRAM에 CAS Write Latency가 무엇인지 알려줍니다.

이는 모드 레지스터 (Mode Register) 중 하나를 프로그래밍함으로써 이루어지며 (CWL는 DRAM 입력단의 컬럼 주소와 데이터 사이의 시간 지연입니다), 이 타이밍 파라미터를 항상 준수해야 합니다. 메모리 컨트롤러 (Memory Controller)는 보드 트레이스 지연 (Board trace delays) 및 플라이바이 라우팅 지연 (Fly-by routing delays)을 고려해야 하며, 주소 (Address)와 데이터 (Data) 사이의 정확한 스큐 (Skew)를 유지하며 송출하여 주소와 데이터가 CWL 지연을 가진 상태로 메모리에 도착하도록 해야 합니다.

예를 들어, CAS Write Latency9로 프로그래밍했다면, ASIC/uP가 컬럼 주소 (Column Address)를 송출한 후, 모든 데이터 비트가 9CWL로 DRAM에 도착할 수 있도록 서로 다른 시간에 각 데이터 비트를 송출해야 합니다.

READ 동작에 대해서도 이와 유사한 작업이 필요합니다. DIMM 상의 각 DRAM은 서로 다른 거리에 위치하므로, READ 명령이 발행되면 DIMM의 각 DRAM은 서로 다른 시간에 READ 명령을 받게 되고, 결과적으로 각 DRAM의 데이터는 ASIC/프로세서 (Processor)에 서로 다른 시간에 도착하게 됩니다. 초기 교정 (Initial Calibration) 과정 동안, ASIC/프로세서는 각 DRAM으로부터의 지연 시간이 얼마인지 파악하고, 다양한 DRAM으로부터의 데이터를 적절한 순간에 래치 (Latch)할 수 있도록 내부 회로를 그에 맞춰 트레이닝 (Train)합니다.

읽기/쓰기 트레이닝 (Read/Write Training)을 위해, 컨트롤러/PHY IP는 일반적으로 다음과 같은 여러 알고리즘을 제공합니다. 가장 일반적인 것들은 다음과 같습니다:

Write Leveling (쓰기 레벨링)
MPR (Multi-Purpose Register) Pattern Write (MPR 패턴 쓰기)
Read Centering (읽기 센터링)
Write Centering (쓰기 센터링)

다음 섹션에서는 이러한 각 알고리즘에 대해 더 자세히 다룹니다.

Write Leveling (쓰기 레벨링)

DRAM에 데이터를 쓸 때 위반해서는 안 되는 중요한 타이밍 파라미터는 tDQSS입니다. tDQSS는 클록 (Clock, CK)에 대한 데이터 스트로브 (Data Strobe, DQS)의 상대적 위치입니다. tDQSS는 스펙에 정의된 tDQSS(MIN)tDQSS(MAX) 범위 내에 있어야 합니다. 만약 tDQSS가 위반되어 범위를 벗어나면, 메모리에 잘못된 데이터가 기록될 수 있습니다.

DIMM 상의 각 DRAM마다 Clock과 Data/DataStrobe 사이의 스큐 (Skew)가 다르기 때문에, 메모리 컨트롤러는 이 스큐를 보상하고 DIMM 상의 각 DRAM 입력단에서 tDQSS를 유지할 수 있도록 스스로 트레이닝 (Training)을 수행해야 합니다.

컨트롤러에서 라이트 레벨링 (Write-leveling)을 활성화하면 다음과 같은 단계가 진행됩니다:

  • MR1의 비트 7을 1로 설정하기 위해 모드 레지스터 (Mode Register) 쓰기를 수행합니다. 이를 통해 DRAM을 라이트 레벨링 모드로 전환합니다. 라이트 레벨링 모드에서 DRAM은 DataStrobe (DQS)를 감지하면 이를 사용하여 Clock (CK)을 샘플링하고, 샘플링된 값을 DQ 버스를 통해 컨트롤러로 다시 전달합니다.
  • 그 다음 컨트롤러는 일련의 DQS 펄스를 전송합니다. DRAM은 라이트 레벨링 모드에 있으므로, DQS를 사용하여 CK 값을 샘플링하고 이 샘플링된 값(1 또는 0)을 DQ 버스를 통해 컨트롤러로 다시 전달합니다.
  • 컨트롤러는 이어서 다음과 같은 동작을 수행합니다:
    • DRAM에 의해 반환된 DQ 비트 값을 확인합니다.
    • DQS 지연 (Delay) 값을 증가시키거나 감소시킵니다.
    • 일정 시간 후에 다음 DQS 펄스 세트를 송출합니다.
  • DRAM은 다시 한번 CK를 샘플링하고 샘플링된 값을 DQ 버스를 통해 반환합니다.
  • 컨트롤러가 0에서 1로의 천이 (Transition)를 확인할 때까지 2단계부터 4단계까지가 반복됩니다. 이 시점에서 컨트롤러는 DQS 지연 설정을 고정하며, 해당 DRAM 장치에 대한 라이트 레벨링이 완료됩니다.
  • 라이트 레벨링 절차를 완료하기 위해 DIMM 전체의 각 DQS에 대해 2단계부터 5단계까지가 반복됩니다.
  • 마지막으로 MR1[7]에 0을 써서 DRAM을 라이트 레벨링 모드에서 해제합니다.

아래 그림은 라이트 레벨링 개념을 보여줍니다.

MPR 패턴 쓰기 (MPR Pattern Write)

MPR (Multi Purpose Register) 패턴 쓰기는 정확히 말하면 교정 (Calibration) 알고리즘은 아닙니다. 이는 일반적으로 리드 센터링 (Read Centering) 및 라이트 센터링 (Write Centering)을 수행하기 전에 실행되는 단계입니다.

DDR4 DRAM에는 DQ 비트 트레이닝 (즉, Read Centering 및 Write Centering)에 사용되는 MPR 레지스터라고 불리는 4개의 8비트 프로그래밍 가능한 레지스터가 포함되어 있습니다. MPR 액세스 모드는 모드 레지스터 MR3[2] = 1로 설정함으로써 활성화됩니다. 이 모드가 활성화되면 DRAM에 발행되는 READ 및 WRITE 명령은 메모리 뱅크 대신 다목적 레지스터 (Multi Purpose Register)로 전달됩니다.

리드 센터링 (Read Centering)

리드 센터링의 목적은 컨트롤러(또는 PHY) 내의 내부 리드 캡처 회로 (internal read capture circuitry)를 트레이닝하여 데이터 아이 (data eye)의 중앙에서 데이터를 캡처하도록 하는 것입니다. 메모리 컨트롤러(또는 PHY)는 다음과 같은 과정을 수행합니다.

  • 모드 레지스터 MR3의 비트 2를 활성화하여, DRAM이 메모리 대신 다목적 레지스터 (MPR)로부터 데이터를 반환하도록 합니다.

  • 그 다음 연속적인 READ 스트림을 시작합니다. 메모리는 이전 MPR 패턴 쓰기 (MPR Pattern Write) 단계에서 기록되었던 패턴을 반환합니다. 이 패턴이 교차하는 1-0-1-0-... 형태라고 가정해 보겠습니다.

  • READ가 진행되는 동안, 내부 리드 캡처 회로는 데이터 아이의 왼쪽 및 오른쪽 가장자리를 찾기 위해 내부 리드 지연 레지스터 (internal read delay register)를 증가시키거나 감소시킵니다.

  • 아이 (eye)의 가장자리가 감지되면, 데이터가 아이의 중앙에서 캡처될 수 있도록 리드 지연 레지스터가 적절하게 설정됩니다.

  • 위의 단계들은 각 DQ 데이터 비트에 대해 반복됩니다.

라이트 센터링 (Write Centering)

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Design Systems의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0