Recently Post
-
DRAM Data Path (GIO, LIO, SIO, BL, LPDDR, Read/Write)
DRAM에는 Data (DQ)가 왔다리 갔다리 하는 경로가 있다. 심플한 버전으로 알아보자. 당연히 데이터를 주고받야 하니 데이터가 다니는 길이 필요하다. 비유적으로는 보통 길로 예시를 많이 든다. 우리집에서 부산까지 차 타고 간다 하면, 지하주차장에서 골목길을 빠져나와서 시내 도로를 타고 고속도로를 타고 간다. 이처럼 좁은 길에서 점점 넓은 길로 차가 이동하는 것처럼 데이터도 똑같다. 다른 예시로는 산속의 시냇물이 강으로 흘러가고 강에서 바다로 흘러가는 것처럼 데이터는 이동한다. CPU에서 Read/Write Command를 날리면 DRAM은 옙! 하고 Cell에 있는(사실은 Sense Amp) Data를 Read/Write 한다. 길은 크게 4가지로 나눌 수 있다. Read를 예시로 들겠다. Writ..
2025.04.19
-
시작하기 전에 내 마음
이 글을 쓰는 이유는 제목에서 적었듯이 근 2년간 쉬었던 블로그를 시작하기 전에 내 마인드셋을 정리하기 위함이다. 그러니 짧게 적을 것이다. 현재 나는 반도체 업계에서 엔지니어로 일한 지 만 2년 하고 3개월이 지났다. 앞으로 적어도 20년은 이 일을 더 할거 같다. 하지만 불행히도 나는 다른걸 더 재밌어한다. 그렇다고 현재 직장을 그만둘 생각도 없다. 왜냐면 세상적으로 좋은 회사이기 때문이다. 그래서 고민했다. 그럼 나는 내가 좋아하는 걸 어떻게 해야 할 수 있지? 이 질문의 결론이 카페에 앉아서 이 글을 쓰고 있는 것이다. 엄마가 나에게 해줬던 말이 있다. "아무개야, 네가 하고 싶은 걸 하려면 실력이 있어야 돼" 지당하신 말씀. 내가 하고 싶은 걸 하려면 실력이 있어야 한다. 그래서 실력을 키우기 ..
2025.04.11
-
DRAM WCK, DQS, Clock의 관계 (LPDDR5, LPDDR4, DQ Strob, RDQS, bps, Hz)
WCK WCK란 뭔가?LPDDR4랑 LPDDR5를 간단히 비교하면서 알아보자. LPDDR4에서는 CLK이랑 DQS (DQ Strobe)랑 1:1 관계다. 근데 Data를 주고받는 Speed를 높이려면 자연스레 CLK의 Speed를 엄청 높일 수밖에 없다. 이렇게 되면 Low Power인데 전력을 많이 소모할 수밖에 없다. Data를 주고받지 않을 때도 계속 전력을 소모하기 때문에 이렇게 쓰면 안 된다. 그러니 LPDDR5에서는 CLK를 낮추고 Data를 채갈 때 사용하는 DQS만 높여준 건데 이게 WCK다. 즉, Data를 위한 전용 CLK를 만든 것이다. LPDDR4에서는 DQS라 부르고, LPDDR5에서는 WCK라고 부른다. Write할 때 Data랑 같이 보내는 Strobe 신호가 WCK(Write..
2023.11.24
-
DRAM Die 갯수 (QDP, ODP, 12DP, 16DP, Die 당 구조, Density 늘리는 법)
Die와 AP의 관계 DRAM을 보면 Package 안에 몇 개의 Die가 들어가 있는지에 따라서 Density가 달라진다. Die를 이용하여 메모리 크기를 만드는 조합은 여러 가지가 될 수 있다. DRAM은 CPU(AP)와 Channel이라는 통로로 연결(Mapping) 돼 있다. Qualcomm, MediaTek, Samsung과 같은 회사에서 Mobile AP를 만드는데 LPDDR과 AP마다 연결 된 Channel의 수는 다르지만 기본 4개의 Channel로 연결 돼 있다고 하자. 아래 그림은 Channel (A, B, C, D) 이렇게 4개의 Channel이 Die들에 연결 돼 있는 그림이다. Density를 늘리기 위해 여러 방법을 사용하는데 그중 하나가 Die의 수를 늘리는 것이다. (용어가..
2023.11.17
-
DRAM DBI (Data Bus Inversion, DBI-AC, DBI-DC ,DBI_RD, DBI_WR, LPDDR, DDR, HBM)
DBI (Data Bus Inversion) DDR4, LPDDR3에서부터 Data를 주고받을 때(Read / Write) 전력 소모를 줄이기 위해 적용된 Scheme이다. 결론부터 간단히 말하면, Low(0) 또는 High(1)의 수에 따라 전력을 덜 쓰게 반전(Inversion)시켜서 보내는 것이다. 즉, 목적은 전력을 덜 쓰게 만드는 게 포인트다. 약 20~30%의 전력소모를 줄일 수 있다고 한다. 하지만 Read/Write시에 Latency가 발생한다는 단점이 있다. 예를 들어 Low(0)을 보낼 때 전력을 더 많이 소모한다고 하고 High(1) 일 때는 전력을 안 쓴다고 해보자. 만약 Data 0000_0111을 보내야 된다면 0의 개수가 5개고 1이 3개이니 데이터를 반전시켜서 1111_100..
2023.10.27