WCK
WCK란 뭔가?
LPDDR4랑 LPDDR5를 간단히 비교하면서 알아보자.
LPDDR4에서는 CLK이랑 DQS (DQ Strob)랑 1:1 관계다. 근데 Data를 주고받는 Speed를 높이려면 자연스레 CLK의 Speed를 엄청 높일 수밖에 없다. 이렇게 되면 Low Power인데 전력을 많이 소모할 수밖에 없다. Data를 주고받지 않을 때도 계속 전력을 소모하기 때문에 이렇게 쓰면 안 된다.
그러니 LPDDR5에서는 CLK를 낮추고 Data를 채갈 때 사용하는 DQS만 높여준 건데 이게 WCK다. 즉, Data를 위한 전용 CLK를 만든 것이다. LPDDR4에서는 DQS라 부르고, LPDDR5에서는 WCK라고 부른다.
근데 CLK를 낮추면 Command Address Pin의 속도가 낮아질 텐데 어떻게 해결했을까? LPDDR4에서는 하나의 Edge에서만 Strob 하던 SDR(Single Data Rate)에서 Rising/ Falling Edge에서 Strob 하는 DDR (Dual Data Rate)로 하면서 커버했다.
추가로 SoC가 LPDDR4에서 Wirte 할 때는 DQS를 통해서 DQ를 보냈고, Read 할 때는 LPDDR4 내부에 있는 CLK를 이용했다. 근데 내부에 있는 CLK랑 DQ Pad랑 거리가 멀어서 Jitter 특성 같은 게 안 좋았고 속도도 느렸다.
이런 이유 때문에 LPDDR5에서는 Read / Write 둘 다 WCK를 이용하기로 했다. Write 할 때는 WCK라고 부르고, Read 할 때는 WCK를 이용해서 RDQS (Read DQ Strob)를 만들어서 보낸다. 헷갈리면 그림을 보면 조금 이해가 될 수 있다.
WCK와 CK의 관계 (bps, Hz)
WCK와 CK가 어떻게 유기적으로 연결 돼 있는지 보자.
예를 들면서 보는 게 더 좋을 거 같다. 최근 SK하이닉스에서 LPDDR5T(Turbo)를 출시했는데 9.6Gbps 속도라고 한다.
그럼 이 속도는 LPDDR5의 어떤 속도를 의미할까?
기사 제목에서 bps란 Bit Per Second의 약자로 1초에 보내는 Data의 속도다. 9.6Gbps라고 했으니 1초에 9.6 * 10^9(G)의 Data를 보낼 수 있다는 의미다. 어마어마한 속도다.
그럼 WCK는 어떻게 될까? DQ의 속도가 9600Mbps(==9.6Gbps)이다. 우리는 DDR (Dual Data Rate)이니 WCK의 Rising과 Failling Edge에서 Strob 하니까 9600 / 2 = 4800이 된다. 즉, WCK는 4800MHZ가 된다.
왜 갑자기 Hz라고 했을까 Hz는 Cycle Per Second라고 볼 수 있는데 대역폭이다. 아래 그림처럼 DQ는 딱 어떤 값을 가지지만 WCK는 Clock이다. 즉 대역폭으로 이루어져 있다. 느낌이 잘 안 올 수도 있다. 대역폭이란 펄스로 이루어져 있는 애들의 단위고 bps는 어떠한 값이 있는 애들의 단위라고 봐도 될 거 같다.
사실 bps랑 Hz는 똑같다고 봐도 된다. 9.6Gbps의 신호는 9.6GHz의 대역폭을 갖는다라고 생각하면 조금 이해가 될지 모르겠다.
다시 돌아와서 WCK의 속도는 4800MHz라는 것까지 알았다.
이제 다음으로 볼 건 WCK와 CK가 2:1 Mode인지 4:1 Mode인지 알아야 한다. LPDDR5에서는 WCK의 2가지 Mode를 지원한다.
-. 2:1 Mode는 3200Mbps 이하의 (<=) Frequency 일 때 사용
-. 4:1 Mode는 3200Mbps 초과의 (>) Frequency 일 때 사용한다. (정확하게는 모든 주파수에서 사용 가능하)
2:1 Mode는 CLK 1Cycle에 WCK는 2Cycle Toggle 한다는 의미다. 이 Mode는 SoC에 있는 MR18번의 OP[7]번으로 설정가능하다. Default는 2:1이다. CKR (WCK to CLK Frequency Ratio)라고도 부른다.
만약 2:1이라고 해보자. 이때 CLK의 속도는 어떻게 될까? 2:1이니 2400MHz이다. 이게 끝이다. 주기는 1 / 2400MHz로 하면 CLK의 주기를 구할 수 있다. 그럼 4:1이면 1200MHz가 된다. 이게 WCK와 CLK의 관계다.
+ 추가로 지금까지는 Data의 WCK에 대해 얘기했는데 CA(Command Address)에 대해서도 추가해서, 정말 쉽다. CA는 CLK의 2배다. 왜냐면 DDR (Dual Data Rate)라서 CLK의 Rising과 Failing Edge에서 Strob 하기 때문이다.
재밌는 사실이 있다. 예를 들어보자.
만약 Data Rate가 3200Mbps라고 해보자. 그러면 WCK는 1600MHz가 될 것이다. 여기까지는 쉽다. 이때 2:1 Mode와 4:1 Mode 일 때를 비교해 보자.
-. 2:1 Mode : CLK는 800MHz이고 CA는 1600MHz이다.
-. 4:1 Mode : CLK는 400MHz이거 CA는 800MHz이다.
2:1일 때가 CLK와 CA가 더 빠르다. 그래서 4:1도 쓸 수 있지만, 3200MHz 이하 일 때는 2:1을 쓰는 것이다.
만약 Data Rate가 6400Mbps라면 어떻게 될까? WCK는 3200MHz가 될 것이다.
-. 2:1 Mode : CLK는 1600MHz이고, CA는 3200MHz이다.
-. 4:1 Mode : CLK는 800MHz이고, CA는 1600MHz이다.
엥?? 6400Mbps일 때도 2:1 Mode가 CLK, CA의 속도가 빠르니 더 좋아 보인다. 그럼 모든 Frequency에서 2:1 Mode를 쓰면 좋지 않을까 하는 궁금증이 생긴다. 이때 생각해야 하는 것이 LPDDR의 특징이다. Low Power이다. 저전력이 특징이다. CLK와 CA의 속도가 빠르면 좋지만 많은 Toggle을 하기 때문에 전력을 많이 소모한다. 그러니 3200Mbps 초과에서는 4:1Mode를 사용한다. 그리고 속도가 빠르면 Timing Margin도 안 맞는다.
결론을 지으면 WCK는 Data의 속도를 높이기 위함이다. CA이나 CLK의 속도는 오히려 줄었다. 혼동하기 쉽지만 Data와 Command / Address를 구분 지어 생각하는 게 필요하다.
WCK2DQ
WCK를 이용하기 위해선 무조건 WCK와 CK의 Sync를 맞춰야 한다. WCK2DQ에는 3가지 신호가 있다.
1. CAS_WR
-. 해당 신호 이후에는 무조건 Write 계열의 Command만 올 수 있는데 Delay 없이 와야 한다.
2. CAS_RD
-. 해당 신호 이후에는 무조건 Read 계열의 Command만 올 수 있는데 마찬가지로 Delay 없이 와야 한다.
3. CAS_FD
-. 해당 신호 이후에는 Write / Read 계열의 Command가 올 수 있는데 CAS_WR, CAS_RD와 다르게 Delay 없이 바로 오는 게 아니라 무제한으로 대기할 수 있는데 Command가 들어오기 전까지 계속 WCK가 Toggle을 유지하고 있기 때문에 전력 소모가 많다.
'메모리 반도체 > DRAM' 카테고리의 다른 글
DRAM Die 갯수 (QDP, ODP, 12DP, 16DP, Die 당 구조, Density 늘리는 법) (1) | 2023.11.17 |
---|---|
DRAM DBI (Data Bus Inversion, DBI-AC, DBI-DC ,DBI_RD, DBI_WR, LPDDR, DDR, HBM) (0) | 2023.10.27 |
DRAM CBT (Command Bus Training, CBT Sequence, Vref, CA timing, CDC) (1) | 2023.10.21 |
DRAM ZQ Calibration, ODT (NT-ODT, DDR, ZQ Cal, On Die Termination) (0) | 2023.09.28 |
DRAM Write 동작 (2) | 2023.08.14 |
댓글