DRAM의 각 세대별 최대 전송 속도 변화. 최근에는 최대 데이터 전송 속도가 2배로 높아졌습니다. 인텔의 Christpher Cox가 2017년 6월에 JEDEC의 Server Forum에서 강연한 슬라이드에서 발췌
반도체 표준 규격 책정하는 미국 JEDEC는 차세대 서버/하이엔드 PC를 위한 DRAM인 DDR5의 기술 스펙을 책정 중입니다. 이 작업은 2018년에 끝나며, 실제 제품 출시는 2020년이 될 것으로 보입니다.
DDR5 DRAM은 현재 서버/하이엔드 PC용 DRAM인 DDR4에 비해 2배의 최대 데이터 전송 속도(대역폭)을 제공합니다. 구체적으로는 DDR4 DRAM의 입출력 핀이 1,600MT/s~3,200MT/s(또는 1,600Mbps~3,200Mbps)를 커버하는 반면, DDR5 DRAM은 입출력 핀이 3,200MT/s~6,400MT/s(3,200Mbps ~ 6,400Mbps)를 커버합니다. 64비트 DRAM 모듈(DIMM, Dual In-line Memory Module)은 25.6GB/s ~51.2GB/s의 최대 데이터 전송 속도를 냅니다.
DRAM의 기술 동향. 제조 기술은 내년에는 1Xnm 세대로 전환(왼쪽)됩니다. 전원 전압은 DDR4 세대가 1.2V인데 DDR5에서는 1.1V로 줄어듭니다(왼쪽). 인텔의 John Halbert가 2017년 6월에 JEDEC Server Forum에서 공개한 슬라이드
실리콘 다이의 저장 용량이 4배로
DDR5 DRAM기술 스펙은 DRAM의 미세화와 고밀도화 추세에 맞춰 실리콘 다이의 저장 욜양이 증가해 8Gbit~64Gbit가 됩니다. 현재 DDR4 DRAM에서는 실리콘 다이의 저장 용량이 2Gbit~16Gbit입니다. DDR5 메모리 용량은 DDR4의 4배로 확대됩니다. 입출력 버스 폭은 4, 8, 16비트인데 이건 DDR4와 같습니다.
데이터 전송 속도가 높아지면서 소비 전력이 늘어나는 걸 막기 위해 전원 전압이 더 내려갑니다. DDR4에서는 코어 전압과 출력 전압이 모두 1.2V였습니다. DDR5는 이것이 모두 1.1V가 됩니다. 전원 전압의 감소 비율은 이전 세대에 비해 8.3%로 매우 좁아졌습니다. 전원 전압을 더 이상 낮추기가 힘든 것으로 보입니다.
데이터 프리페치 비트는 DDR4이 8비트였는데 DDR5는 대역폭을 늘리기 위해 16비트 프리페치를 합니다. 또한 메모리 뱅크 그룹도 DDR4는 4그룹인데 DDR5는 8그룹으로 두배 늘려 대역폭을 확대합니다. 이러한 변화 덕분에 최대 데이터 전송 속도가 향상됩니다.
여러 메모리 뱅크를 묶는 뱅크 그룹은 DDR4에서 도입된 핵심 기술입니다. 입출력 버퍼는 뱅크 그룹의 로컬 버퍼와, 모든 로컬 버퍼로 이어지는 글로벌 버퍼의 2단계로 구성됩니다. 다른 뱅크 그룹에 순차적으로 액세스해 데이터 전송 속도를 높일 수 있습니다.
메모리 뱅크 수는 DDR5가 16/32 뱅크입니다. DDR4는 16뱅크 뿐이었습니다. DDR5는 뱅크 그룹이 8개 있어, 각 그룹의 내장 메모리 뱅크는 2/4뱅크가 됩니다. DDR4에서는 각 그룹의 내장 메모리 뱅크가 4개로 고정됐습니다. DDR5와 DDR4 메모리 뱅크 1개의 용량은 최대 1Gbit로 최대 크기는 변하지 않습니다.
DDR DRAM의 각 세대별 스펙. 인텔의 Christpher Cox가 2017년 6월에 JEDEC Server Forum에서 강연했을 때의 슬라이드
DDR5 DRAM의 개요. 2016년 8월의 프로세서 기술 이벤트 HotChips28에서 마이크론의 J. Thomas Pawlowski가 강연했을 때의 슬라이드
컬럼 뱅크 그룹, 3DS의 주소 지정이 1비트씩 증가
앞서 말한대로 DDR4는 최대 저장 용량이 2배로 확대됩니다. 이것은 메모리 주소를 지정하는 행(로우) 주소와 열(컬럼) 주소 중 하나가 늘어났음을 의미합니다. DDR5는 컬럼 어드레스가 최대 11비트(입출력 폭이 4비트인 실리콘 다이일 경우)가 되면서 DDR4의 10비트에서 늘어났습니다.
또 뱅크 그룹은 DDR5가 8그룹으로 DDR4의 4그룹에서 늘어났습니다. 따라서 뱅크 그룹을 지정하는 주소는 3비트로, DDR4의 2비트보다 늘었습니다. 이때 DDR5 메모리는 실리콘 다이를 3D 적층해 16층이 되는데 DDR4 메모리의 최대 8개에서 2배가 됩니다. 그만큼3DS의 주소도 1비트가 늘어납니다.
DDR4 메모리와 DDR5 메모리의 용량과 어드레스. DDR5 메모리는 컬럼 어드레스 뱅크 그룹, 3DS 어드레스가 1비트씩 늘어납니다. 마이크론의 Matthew Prather가 2017년 6월에 JEDEC의 Server Forum에서 공개한 슬라이드
명령 입력의 적용 확대로 패키지 핀 수를 감소
어드레싱의 증가는 단순히 생각해도 패키지의 입출력 핀 수를 늘리게 됩니다. 입출력 핀 수의 증가는 패키지 크기의 확대, 즉 구현 면적의 확대를 의미합니다. 따라서 썩 좋은 건 아니죠. 그래서 DDR5 DRAM에서는 패키지의 핀을 줄이기 위해 노력했습니다. 아까의 3DS 어드레스 증가는 로우 어드레스의 17번 핀(R17)과 3DS 어드레스의 3번 핀(CID3 핀)을 공유해 핀 수의 증가를 줄였습니다.
이 밖에 온다이 종료 상태(ODT 스테이트)에 대한 ODT 핀과 클럭 인에이블 CKE 핀을 DDR5 메모리에서 삭제했습니다. ODT 상태에서명령 입력을 이행합니다. CKE 핀은 파워 다운 모드와 자동 재생 모드로 전환돼 쓰입니다. DDR5 메모리는 명령 입력을 받아 절전 모드에서 벗어납니다. 셀프 리프레시 모드로 전환되서 명령을 입력합니다. 셀프 리프레시 모드를 벗어날 때엔 명령 기반이 아니라 칩 선택 핀(CS 핀)을 전환합니다.
온다이 종료 상태(ODT 상태)로 전환해 명령 입력에 의한 제어로 변경. ODT 핀을 제거했습니다. 마이크론의 Matthew Prather가 2017년 6월에 JEDEC 이벤트 Server Forum에서 공개한 슬라이드
파워 다운 모드와 셀프 리프레시 모드 기반의 명령 입력 제어. 클럭 인에이블(CKE) 핀을 제거했습니다. 마이크론의 Matthew Prather가 2017년 6월에 JEDEC 이벤트 Server Forum에서 강연한 슬라이드
2클럭 사이클 명령 입력
명령 입력 제어는 DDR4 메모리에서도 많이 사용했던 것입니다. DDR5 메모리는 파워 다운과 셀프 리프레시 같은 새로운 명령을 추가하는 것 외에, 명령 입력의 타이밍을 바꿨습니다. 구체적으로는 1클럭 사이클로 명령을 입력하는 Single Cycle Commands와 2클럭 사이클로 명령을 입력하는 Two Cycle Commands로 나뉩니다.
2사이클 명령을 추가해 명령 입력에 필요한 정보가 늘어나면서, 일부 명령은 1클럭만으로 모든 정보를 입력하지 못합니다. 예를 들어 기본 동작인 쓰기와 읽기는 모두 2사이클 명령입니다. 2사이클 명령의 추가는 앞으로 늘어날 명령에 대비한다는 의미도 있습니다.
DDR5 DRAM의 싱글 사이클 명령
DDR5의 투 사이클 명령
리프레시 액세스의 부담을 줄이기
DRAM의 고유 동작 중에는 리프레시가 있습니다. DRAM은 메모리 셀의 캐패시터에 신호 전하를 축적합니다. 그러나 누설 전류 때문에 시간이 지날수록 신호 전하가 상당한 속도로 줄어듭니다. 그래서 일정한 시간이 지날 때마다 모든 캐패시터에 신호 전하를 다시 기록하는데, 이 동작을 리프레시라고 합니다.
리프레시는 DRAM에 필요한 동작이지만 큰 문제가 2개 있습니다. 우선 리프레시중인 메모리 셀에 데이터를 읽고 쓸 수 없다는 것입니다. 경우에 따라서는 액세스 시간이 늘어나게 됩니다. 다른 하나는 리프레시가 대기 상태의 소비 전력을 늘린다는 것입니다. 동시에 수많은 메모리 셀에 리프레시를 걸면 순간적으로 전류가 증가해 전원 전압이 떨어질 수도 있습니다.
리프레시 동작을 결정하는 매개변수는 크게 2개입니다. 하나는 리프레시 동작의 간격을 나태나는 리프레시 간격 시간(tREFi), 다른 하나는 리프레시 동작 자체의 시간인 리프레시 시간(tRFC)입니다. 리프레시 간격은 길어야 합니다. 대기 상태의 소비 전류가 줄어들기 때문입니다. 그리고 리프레시 시간은은 짧아야 좋습니다. 평균 액세스 딜레이를 낮추기 위해서입니다.
DDR5 메모리는 저장 용량이 DDR4 메모리보다 커집니다. 저장 용량의 확대는 리프레시 사이클의 증가를 의미합니다. 즉 평균 액세스 딜레이가 악화됩니다. 이를 줄이기 위해 리프레시 사이클(tRFC)를 짧게 줄입니다. 즉 한번에 리프레시하는 용량을 줄입니다. DDR5 메모리는 메모리 뱅크 그룹에서 같은 번호의 뱅크(뱅크 0~3 중 하나)에만 리프레시하는 동일 뱅크 리프레시(Refresh Same Bank)로 리프레시 시간을 1/4 줄일 수 있게 했습니다.
DDR5 메모리는 리프레시 간격 시간(tREFi)을 짧게 하고 리프레시 사이클 시간(tRFC)도 짧게 하는 파인 그레인 리프레시(Fine Grain Refresh) 기능도 제공합니다. 이것은 DDR4 메모리에서 새로 도입된 모드입니다. tREFi가 짧아지면 캐패시터 신호 전하가 누출돼 자료가 손실됩니다. 따라서 캐패시터의 전하를 충전하는 시간을 줄이고 tRFC을 단축할 수 있습니다. 그러나 대기 상태의 소비 전력이 늘어날 가능성이 있습니다.
리프레시 액세스의 부담을 줄이는 두가지 방법. 위는 메모리 뱅크 그룹에서 같은 번호의 뱅크(뱅크 0~3 중 하나)에 대해서만 리프레시하는 동일 뱅크 리프레시(Refresh Same Bank). 다른 하나는 리프레시 간격을 짧게 해서 리프레시 시간을 줄이는 파인 그레인(Fine Grain Refresh) 모드입니다. 인텔의 Christpher Cox가 2017년 6월에 JEDEC Server Forum에서 강연한 슬라이드
오류 정정(ECC) 기능을 실리콘 다이에
DDR5 메모리의 신뢰성을 유지하기 위한 큰 변화로는 1비트 eCC 기능을 실리콘 다이에 넣었다는 것입니다. DDR4 메모리까지는 ECC 기능이 메모리 컨트롤러에 탑재됐으며 DRAM 실리콘 다이엔 ECC 기능이 없었습니다. 그러나 DDR5 세대에선 실리콘 다이 면적이 늘어나는 것을 감수하고 온 다이 ECC를 구현했습니다.
온 다이 ECC를 구현하는 가장 큰 이유는 리프레시 간격에서 불량 비트가 발생할 확률이 늘었기 때문입니다. DDR4는 주로 20nm 세대 공정으로 만들어졌으나 DDR5는 1Xnm~1Ynm 세대가 주력이 됩니다. 그래서 리프레시 사이의 축적된 신호 전하가 손실되면서 불량 비트가 늘어나는 것을 무시할 수 없게 됩니다. 전하의 소실로 저장된 데이터가 오염되면 리프레시 동작으로 데이터 갱신이 안됩니다. 이를 ECC를 도입해서 줄여나가는 것입니다.
다이에 ECC 기능을 탑재해 1비트 에러 불량 비트를 해소. 왼쪽 그래프는 미세 가공 기술 세대와 리프레시 타이밍 물량 비트의 관계입니다. 미세화에 따라 더티 비트가 급격히 증가합니다. 오른쪽은 온 다이 ECC의 개념도입니다. ECC 수정용 데이터(패리티 비트)와 오류 정정 회도가 실려 있어, 실론 다이 면적의 증가를 초래합니다. 인텔의 John Halbert가 2017년 6월에 JEDEC Server Forum에서 강연한 슬라이드
같은 패턴의 데이터 기록을 자동으로 반복
DDR5 메모리에 추가하는 새로운 기능을 계속 봅시다. 데이터 쓰기는 동일 패턴의 데이터 쓰기를 자동으로 반복하는 모드를 추가할 예정입니다. 이 모드의 이름은 미정이며 자세한 내용도 아직입니다. 이 모드의 장점은 분명한데, 우선 소비 전력이 줄어듭니다. 메모리 컨트롤러는 동일 패턴의 데이터를 반복 전송할 필요가 없습니다. 즉 컨트롤러에서 데이터를 전송하는데 쓰는 전력이 없어지고, DRAM에서 데이터 수신과 데이터 버스 운용에 쓰는 소비 전력이 없어집니다. DRAM 내부의 데이터 버퍼에 저장된 패턴 데이터를 메모리 셀 어레이에 기록하면 됩니다. 또 메모리 컨트롤러에서 다른 동작으로 이행해 메모리 서브 시스템의 성능이 향상됩니다.
동일 패턴의 데이터 쓰기를 자동으로 반복하는 모드. 인텔의 Christpher Cox가 2017년 6월에 JEDEC의 이벤트 Server Forum에서 강연한 슬라이드
DRAM의 모든 데이터를 0으로
또한 DDR5 메모리는 DRAM의 모든 데이터를 0으로 재기록하는 Fast Zero Mode가 있습니다. 메모리 셀 어레이에 저장된 데이터를 모두 0으로 하는 건 초기화입니다. DRAM과 컨트롤러 사이의 미묘한 타이밍을 조정하는 단계에선 미리 초기화를 실행합니다. 패스트 제로 모드를 이용하면 DRAM에 대량의 데이터를 한꺼번에 전송하는 공정을 줄일 수 있습니다. 이럼 소비 전력이 줄어들고 대량의 데이터 쓰기로 전원 전압 저하, 즉 쓰기 불량이 발생할 일이 사라집니다. 패스트 제로 모드 시간은 몇 ms 뿐으로, 재기록이 끝나면 컨트롤러에 작업 완료를 직접 알려줍니다.
패스트 제로 모드. DRAM의 모든 데이터를 0으로 합니다. 인텔 Christpher Cox가 2017년 6월의 Server Forum에서 강연한 슬라이드
수신 회로는 DFE를 사용
이 밖에 DRAM 실리콘 다이의 수신 회로에 신호 정형 회로인 DFE(Decision Feedback Equalizer)를 사용합니다. 입출력 핀의 데이터 전송 속도가 3,200Mbps를 초과하면 전송되는 데이터 신호의 펄스가 후속 신호 펄스를 방해해 ISI(Inter Symbol Interference)가 악화됩니다. 그래서 DRAM 패키지의 핀에 도달하는 신호는 상당히 왜곡되는데, 이 왜곡을 정돈하는 회로가 필요합니다. DFE를 선택한 건손실이 낮고 신호가 증가하기 때문.
DFE(Decision Feedback Equalizer)를 수신 회로에 도입. 인텔 Christpher Cox가 2017년 6월의 Server Forum에서 강연한 슬라이드.
DDR5 메모리의 기술 스펙은 아직 확정되지 않았습니다. 추가 기능의 세부 사항에 대해 알려지지 않은 점이 있습니다. 내년을 기대해봅시다.