본문 바로가기

DRAM10

DRAM Data Path (GIO, LIO, SIO, BL, LPDDR, Read/Write) # Data Path DRAM에는 Data (DQ)가 왔다리 갔다리 하는 경로가 있다. 심플한 버전으로 알아보자. 당연히 데이터를 주고받야 하니 데이터가 다니는 길이 필요하다. 비유적으로는 보통 길로 예시를 많이 든다. 우리집에서 부산까지 차 타고 간다 하면, 지하주차장에서 골목길을 빠져나와서 시내 도로를 타고 고속도로를 타고 간다. 이처럼 좁은 길에서 점점 넓은 길로 차가 이동하는 것처럼 데이터도 똑같다. 다른 예시로는 산속의 시냇물이 강으로 흘러가고 강에서 바다로 흘러가는 것처럼 데이터는 이동한다. CPU에서 Read/Write Command를 날리면 DRAM은 옙! 하고 Cell에 있는(사실은 Sense Amp) Data를 Read/Write 한다. 길은 크게 4가지로 나눌 수 있다. Read를 예.. 2025. 4. 19.
DRAM CBT (Command Bus Training, CBT Sequence, Vref, CA timing, CDC) CBT (Command Bus Training) 한 줄로 말하면 DRAM의 Command Pin에 들어오는 입력을 최적의 조건에서 채 가기 위해 Training을 한다. 이게 CBT이다. Training은 Vref(CS)과 CA Timing (Setup / Hold Time)에 의해 이루어진다.  **Vref는 세로선으로 데이터를 언제부터 0,1을 나눌지 정하는 값이다. 예를 들어, 0V~5V까지면, 제일 좋은 건 Vref을 2.5V로 정하고 이하는 0 , 초과는 1로 정하게 한다.**CA Timing(CDC)은 가로선인데 Setup Time과 Hold Time으로 구분할 수 있다. Setup Time은 Data의 Differntial Signal이 만난 시점부터  DQS(=WCK / = CLK)가 Vr.. 2023. 10. 21.
DRAM ZQ Calibration, ODT (NT-ODT, DDR, ZQ Cal, On Die Termination) ODT (On Die Termination)  ZQ Calibration을 이해하기 전에 ODT(On Die Termination)에 대해 이해가 필요하다. 간단하게 아래 그림에서 파란색 점에 걸리는 전압의 Swing을 보자. VDDQ 전압이 그대로 다 걸릴 것이다.  CPU가 DRAM한테 Read Command를 던져지면 DRAM은 전압을 통해 신호를 전달할 것이다. VDDQ만큼 전압을 준다고 가정해 보자. 근데 우린 "반사파(Reflection)"라는 개념을 인지해야 한다. 전압을 저렇게 던지면 신호가 잘 가다가 어디에 부딪쳐서  반사파를 발생하고 SI(Signal Integrity)가 틀어진다. 즉 신호가 깨끗하지 못하다. Noise가 낀다는 말이다.   그래서 나온 게 ODT다. 즉 저항을 달아주.. 2023. 9. 28.
DRAM Write 동작 DRAM Write DRAM의 Write 동작에 대해 알아보자. 앞선 포스팅에서는 Read / Write을 하기 위한 준비 동작을 작성했다. Refresh, Precharge, Acitve, Read 등등.. 혹시 잘 모르겠다면 아래 링크를 참조하면 도움이 조금은 될 것이다. 2023.04.19 - [내가 하는 공부/DRAM] - DRAM Refresh 동작 ( Self Refresh, 순서, 방식, Charge Sharing ) 2023.04.24 - [내가 하는 공부/DRAM] - DRAM Charge Sharing (전하 공유, BLSA, Bit Line Bar) 2023.05.03 - [내가 하는 공부/DRAM] - DRAM PreCharge ( 동작 순서, 이유 ) 2023.05.12 - [내가.. 2023. 8. 14.
DRAM Active 동작 (Restore, Precharge, Refresh) DRAM Active Active동작은 Read / Write 하기 전에 해야 하는 필수 동작이다. 즉, Read / Write 하기 전에 준비하는 것이다. 이걸 왜 하냐면, Read / Write 하기 전에 데이터를 명확하게 하기 위해서다. 그래야 Read / Write 할 때 틀리지 않고 확실한 데이터를 얻을 수 있기 때문이다. 이전에 Precharge가 Word Line을 닫는 동작이라고 했다. 그러니 닫았으면 이제 다른 Word Line을 열어야 하는데 이 동작을 Active라고 부른다. Active는 Refresh에서 하는 동작과 유사하다. 왜냐면 Refresh는 Active + Precharge의 동작이기 때문이다. Precharge 동작과 유사하다. Refresh와 Precharge가 뭔지 .. 2023. 5. 12.