Touch Bar 맥북프로에 DDR4 대신 LPDDR3가 탑재된 이유?

이 글을 쓰는 지금은 2017년 3월이고 현행 Touch Bar 맥북프로가 발표된 시점이 작년 10월이니 조금 지난 이야기가 되겠습니다만, 당시 사양을 발표할 때 다른 노트북 제조사들이 많이 채택하는 DDR4 메모리를 탑재하지 않고 여전히 LPDDR3를 탑재한 채로 출시된 점이 눈에 띄어 애플의 메모리 선택에 대한 이유를 간단히 풀어보려고 합니다. Tech Editor인 Dan Frakes의 트윗에 의하면 애플은 성능과 에너지의 균형을 위해 LPDDR3를 채용했다고 합니다만, 너무 간단한 언급이라 제 관점에서 보다 상세한 이유를 풀어보도록 하겠습니다. 우선 제가 생각한 이유는 아래와 같은 세가지 입니다.

  1. 시스템보드 소형화의 이점
  2. 전력 소모상의 이점
  3. 성능상의 이점

 

15인치 Touch Bar 맥북프로의 시스템 보드 (출처 – iFixit MacBook Pro 15″ Touch Bar Teardown)

 

1. 시스템보드의 소형화의 이점

위의 사진은 iFixit 사이트에서 가져온 15인치 Touch Bar 맥북프로의 시스템 보드 사진인데 주황색으로 표시된 4개의 칩이 LPDDR3 메모리이고 빨간색으로 표시된 칩이 Core i7 프로세서 입니다. 최대 용량 구성인 16GB 모델의 경우에도 단 4개의 칩 만을 사용하여 보드상에서 상당히 작은 면적을 차지하는 것이 인상적인데 이는 DDR4를 사용해서는 불가능한 구성이며 LPDDR3을 채택할 경우에만 가능한 구성입니다.

맥북 프로에 탑재된 Core i7 이나 Core i5 프로세서의 경우 두 channel의 DRAM 인터페이스를 가지고 있으며 각 channel은 64-bit 데이터 폭을 가지고 있어 프로세서와 DRAM 사이의 필요한 데이터 폭은 총 128-bit가 됩니다. JEDEC 스펙에 따르면 LPDDR3의 경우 칩당 최대 32-bit의 데이터폭을 지원하여 4개의 칩 만으로 128-bit 데이터 폭을 구성할 수 있지만 DDR4의 경우에는 칩당 최대 16-bit의 데이터 폭을 지원하기 때문에 128-bit 데이터를 구성하기 위해서는 최소 8개의 메모리 칩이 필요하게 됩니다. 계속해서 두께와 크기를 줄여온 맥북 프로의 경우 칩을 4개 더 붙일 공간을 확보하는 것은 상당한 부담이 되겠지요. 참고로 작년 10월 애플 키노트 영상에 따르면 이전세대에 비해 부피를 13인치 모델의 경우 23% 줄였고 15인치 모델의 경우 20% 줄였다고 합니다.

2. 전력 소모상의 이점

LPDDR3와 DDR3/DDR3L의 비교라면 전원전압도 1.2V와 1.5/1.35V로 차이도 나고 LPDDR3에는 TCSR(Temperature Compensated Self-Refresh)와 같은 대기모드 전력 소모를 줄이기 위한 기능들이 들어가 있어 (참고글 : DDR3와 LPDDR3의 차이점 비교) DRAM 전력소모에 상당한 차이(대략 수 W)가 날 수 있습니다만, DDR4와의 비교라면 LPDDR3와 동일한 1.2V의 전원 전압을 사용하는데다 LPDDR3의 TCSR과 비슷한 LPASR(Low Power Auto Self-Refresh) 기능을 지원하고 있어 메모리가 활발하게 사용되거나 맥북프로가 잠깐 동안 잠자기 모드에 있을 경우에는 전력소모에 큰 차이가 없을 수도 있습니다.

DDR4와 LPDDR3의 State Diagram 비교

하지만 DDR4가 LPDDR3에 비해 전력소모 면에서 결정적으로 불리한 점이 있는데 이는 Deep Power Down 모드를 지원하지 않는다는 점 입니다. Deep Power Down 모드는 메모리 셀의 전원공급은 끊어 저장된 내용을 잃긴 하지만 I/O의 일부 회로에는 전원을 유지하여 DRAM이 다시 사용될 때 I/O delay를 새로 보정하는데 필요한 시간과 에너지 소모를 줄이는 기능입니다. Mac OS의 경우 잠자기 모드에 들어간지 3시간이 지나면 DRAM의 내용을 SSD와 같은 저장장치로 옮기고 DRAM의 전원을 끄는 대기모드 상태로 들어가는데 이 때 LPDDR3의 Deep Power Down 모드가 사용됩니다. LPDDR3의 제조공정 및 제조사에 따라 값의 차이가 나긴 합니다만 DRAM 칩 1개당 Self-Refresh 모드에서의 전력 소모는 수 mW단위이고 Deep Power Down 전력소모는 수십 uA 단위로 대략 100배 정도의 차이가 나기 때문에 대기모드의 지속가능 시간도 며칠 단위의 차이가 나게 됩니다. 물론 DDR4를 채용하더라도 대기모드에서 나갈때 DRAM I/O의 초기화 과정을 다시 거치는 것을 감수한다면 메모리의 전원을 아예 꺼서 LPDDR3와 동일한 수준의 대기모드 지속시간을 달성할 수 있긴 합니다. 아마도 16GB 용량을 제공하기 위한 이유로 생각됩니다만 실제로 2015-Early 13인치 맥북프로의 경우는 LPDDR3가 채용된 반면 2015-Mid 15인치 맥북프로는 DDR3L이 채용된 적이 있지요.

3. 성능상의 이점

현행 Touch Bar 맥북프로에서 제공하는 메모리 옵션은 데이터 한 핀당 1866 또는 2133MT/s의 전송속도를 가지는 LPDDR3이고 2017년 3월 현재 경쟁사(?)의 노트북들도 DDR4를 채용하고있긴 하지만 동일한 전송속도를 제공하는 모델들이 주류를 이루고 있습니다. LPDDR3의 경우 스펙상에 정의된 최고 속도의 메모리를 사용하고 있고 DDR4의 경우 스펙에서 최대 3200MT/s 전송속도까지를 정의하고 있어 좀 더 빠른 속도의 메모리를 채용할 여지가 남아 있는 상황이지요. 차기 맥북프로가 나온다면 메모리 성능을 높이기 위해 새로운 메모리의 채용이 절실한 상황이긴 합니다만 적어도 현재와 같이 동일한 전송속도를 지원하는 상황에서는 오히려 LPDDR3가 DDR4보다 성능 확보에 유리한데 조금 긴 이야기가 될 것 같지만 그 이유를 살펴보도록 하겠습니다.

DDR 부터 DDR3 까지는 스펙이 새로 정의 될 때마다 burst length가 2, 4, 8로 계속 두배씩 증가해 왔지만 DDR4 스펙이 정해질 때는 burst length가 두 배 증가하여 16이 되는 대신에 8-burst가 그대로 유지되고 bank group이라는 개념이 추가 되었습니다. Burst length가 늘어나지 않은 이유는 DDR4 메모리의 주요 사용처인 인텔 프로세서의 메모리 인터페이스가 64-bit 이고 LLC(Last Level Cache)의 line size가 64-Byte인 관계로 8-burst로 접근할 때 64-bit x 8-burst = 64-Byte로 프로세서의 메모리 읽기/쓰기 단위와 딱 맞아 떨어지기 때문입니다. 프로세서 구조의 변화없이 메모리의 burst length만 두배로 늘리는 것은 메모리 대역폭을 낭비할 위험이 있습니다.

DDR4 메모리의 Bank Group (출처 – Memcon 2014년 Cadence사 발표 자료, “LPDDR4 – It’s not just for mobile anymore”)

Bank group이라는 개념은 burst length를 16으로 늘리지 않으면서도 비슷한 효과를 내기위해 도입되었는데, 위의 그림과 같이 DDR4 메모리 내부의 bank 16개를 4개(x16의 경우는 2개)의 bank group으로 나눠서 사용하게 됩니다. DRAM의 bank는 하나의 독립적인 메모리로 동작 가능한 단위이긴 하지만 I/O로 부터 각 bank 까지 명령이 전달되고 컬럼 주소가 디코딩 되는 물리적 시간 때문에 연속된 두개의 DRAM 명령이 다른 bank로 전달되더라도 일정한 시간 간격이 필요한데 JEDEC 스펙에서는 이 시간을 tCCD라고 합니다. 이상적으로는 8-burst를 사용할 경우 double data rate로 데이터를 전송하는데 4(=8/2) 싸이클 만큼의 시간이 걸리므로 tCCD가 4 싸이클이라면, DRAM 데이터 pin에서는 쉬는시간 없이 연속된 두개의 읽기/쓰기 명령어에 해당하는 데이터가 전송될 수 있습니다. 문제는 명령어가 DRAM 내부에서 각 bank로 전달되어 수행되는 시간은 회로의 물리적인 성질에 의해 거의 일정하지만 DRAM의 I/O 클럭속도가 높아질수록  4 싸이클에 해당하는 시간은 점점 짧아진다는 점이지요. LPDDR3의 경우 최대 클럭속도가 1067MHz (=2133/2) 이지만 DDR4의 경우 1600MHz (=3200/2)까지 클럭속도가 올라가기 때문에 LPDDR3에 비해 tCCD를 4 싸이클로 유지하기가 쉽지 않습니다. 이러한 어려움을 피하기 위해 DDR4에서는 4개 또는 8개의 bank를 bank group으로 묶고 명령어 수행 단계를 나누어 명령어가 bank group으로 전달되는 시간인 tCCD_S는 4 싸이클로 일정하게 유지하되 최종적으로 각 bank에서 명령이 수행되는 시간인 tCCD_L은 메모리의 클럭속도에 따라 변하는 것으로 스펙을 정해습니다. (아래 표 참조)

Data Rate (MT/s) 1333 1600 1866 2133 2400 2667 2933 3200
tCCD_S (싸이클) 4 4 4 4 4 4 4 4
tCCD_L (싸이클) 4 5 5 6 6 7 7 8

이 때문에 DDR4는 다른 DRAM들과 달리 독립적으로 동작할 수 있는 단위는 bank가 아니라 bank group이 되는데, 연속된 메모리의 접근이 서로 다른 bank group으로 갈 경우에는 명령어 사이의 시간 간격은 tCCD_S가 되어 두 개의 8-burst가 연속적으로 데이터 pin에 실릴 수 있지만 연속된 접근이 같은 bank group으로 몰릴 경우에는 tCCD_L이 적용되어 두 개의 8-burst 사이에 쉬는 시간이 생기게 됩니다. 이 글에서 예로 든 DDR4-2133의 경우 tCCD_L이 6 싸이클인데 같은 bank group으로 연속된 접근이 이루어질 때 두 8-burst 사이에 2 (=6 – (8/2)) 싸이클 만큼의 쉬는 시간이 발생하게 되지요. 이러한 이유로 같은 전송속도라면 DDR4 쪽이 LPDDR3에 비해 성능이 떨어질 가능성이 많습니다. LPDDR3는 8-burst에 맞춰 모든 경우에 대해 tCCD가 4 싸이클로 고정되어 있어 명령어의 scheduling이 DDR4보다 효율적이 될 가능성이 높습니다.

글을 마무리 하면서 덧붙이는 사족입니다만, LPDDR3 메모리의 채용은 touch bar 맥북프로가 16GB 이상의 메모리 용량을 지원하지 못한다는 논란도 함께 일으켰었는데 비록 다른 관점에서였지만 이렇게 글을 쓰고 보니 나름 치열한 고민끝에 내린 결정이라고 생각되네요. 차기 맥북프로가 용량 논란을 다시한 번 감수하고 LPDDR4를 탑재할지 지금 보다 큰 메모리 용량을 제공하기 위해 DDR4(L)을 선택할지 지켜보는 것도 재미있는 일이 될 것 같습니다.

You may also like...

8 Responses

  1. 행인 댓글:

    카비레이크(차세대 CPU모델)은 LPDDR4를 지원하지 않습니다 캐논레이크(2017하반기)나 되야 LPDD4의 채용하니 마니 이야기가 가능해집니다. 제품으로서 발매 된다면 2018년에나 가능하겠네요.

    • 골수공돌이 댓글:

      먼저 제 블로그 첫 댓글 감사드립니다. 안그래도 이 글을쓰고 인텔 프로세서 로드맵을 찾아보려고 했었습니다. 말씀하신 대로 Kaby Lake에서의 LPDDR4 지원은 물건너 갔으니 그 다음 세대에서 LPDDR4가 지원되는지 지켜 봐야겠네요. 다만 애플정도 되는 회사라면 LPDDR4가 필요하다고 판단할 경우 인텔에게 요구사항을 관철시킬 수 있을지도 모른다는 생각도 드네요.. ^^

      • 행인 댓글:

        “인텔에게 요구사항을 관철시킬 수 있을지도 모른다는 생각도 드네요.”
        글 잘 써 놓으셔놓고, 몇 마디 했다고 왜 바램 같은 내용을 답글로 써서 글을 망치십니까? AMD라면 모르겠지만 인텔이 뭐가 아쉬워서 애플 로드맵(요구사항)을 따라가겠습니까? AMD나 IBM이 경쟁하던 맥텔 시절이라면 또 모르겠습니다만, 애플을 비롯한 노트북 개발하는 전세계 업체가 인텔의 로드맵을 따라갈수 밖에 없는게 현실입니다.

        • 골수공돌이 댓글:

          말씀하신 의견에는 동의합니다. 답글이라 편하게 제 바램을 적어봤습니다~

  2. 박성즌 댓글:

    컴퓨터를 수박 겉핧기로만 알고 있는 1인입니다
    문장이 어려워서 여러번 읽고 검색해서 찾아보고 그랬는데
    재미있내요^_^
    노트북 제작에 이런 원리가 숨어있군요
    잘 봤습니다 즐겨찾기 해두고 구경하러 자주 올게용!! ㅎ

    • 골수공돌이 댓글:

      술술 읽히는 글이 아님에도 읽어주셔서 감사합니다. 앞으로 기회가 되는대로 열심히 써 보겠습니다 ^^

  3. 최승요 댓글:

    글 잘읽고 갑니다. 좋은정보 감사드립니다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.