삼성과 SK 하이닉스가 저마다 GDDR6을 발표
2018년엔 GDDR6가 등장합니다. 데이터 전송 속도는 최대 18Gbps로 고성능 GPU의 384비트 메모리 버스에선 864GB/s의 대역폭이 나옵니다. 대역폭만 따지면 지금 나온 HBM2 수준입니다. 중급형 GPU의 256비트에 16Gbps의 속도라 해도 512GB/s의 대역폭이 나옵니다. GPU의 메모리 대역은 한층 더 발전하게 됩니다.
GPU 메모리는 하이엔드 GPU를 위한 HBM, 고성능 GPU를 위한 GDDR의 두가지가 있습니다. 비싸지만 메모리 대역폭이 넓고 전력 사용량이 낮은 HBM에 비해, GDDR은 메모리 대역폭과 전력 사용량은 불리하나 가격이 저렴합니다. 따라서 앞으로도 GDDR 메모리는 GPU나 게임기, 네트워크 프로세서, 신경망 프로세서, 매니코어 등의 적당한 비용에 광대역을 필요로 하는 장치에서 쓰일 것입니다.
DRAM의 메모리 대역폭과 전송 속도
물론 GPU 회사마다 입장이 다릅니다. AMD는 HBM에 신경을 쓰고 있고, NVIDIA는 컴퓨팅으로만 HBM을 쓰고 있습니다. 허나 앞으로 당분간은 두 메모리 규격이 공존할 것입니다. GDDR 메모리는 현재 GDDR5가 주로 쓰이며, 마이크론이 GDDR5X를 내놓긴 했으나 많이 보급되진 않고 차세대인 GDDR6로 건너간다고 볼 수 있습니다.
미국 샌프란시스코에서 개최되는 반도체 국제 회의 ISSCC(IEEE International Solid-State Circuits Conference)에서 DRAM의 3강 중 두 곳인 삼성과 SK 하이닉스가 GDDR6 기술을 발표했습니다. 같은 GDDR6라 하지만 두 회사의 접근이 다르고 성격도 다른 제품입니다.
구체적으로 SK 하이닉스의 GDDR6는 싱글 다이에 8Gb 용량, 데이터 전송 속도는 16Gbps, 22nm 공정입니다. 삼성의 GDDR6은 듀얼 다이 16Gb 용량, 데이터 전송 속도는 18Gbps, 10nm 급 공정입니다. 삼성의 16Gb는 그래픽보다는 더 많은 용량을요구하는 애플리케이션에 맞춘 것으로 보입니다. 실제로 광대역 메모리가 HPC(High Performance Computing)과 딥 러닝 분야에 쓰이면서 더 많은 용량을 필요로 하고 있습니다. 이러한 흐름에 맞춘 GDDR 메모리입니다.
메모리 액세스 크기를 일정하게 유지하는 GDDR6
GDDR5의 데이터 전송 속도는 8~9Gbps가 한계였습니다. GDDR6는 그 후속으로 규격화된 메모리입니다. 원래는 광대역 메모리를 스택 구조의 HBM으로 나가는 분위기였으나, 가격이 비싸 그 대신 GDDR6가 등장했습니다. GDDR5 이후엔 12Gbps를 달성하는 GDDR5X도 있지만 메모리 액세스 크기가 커져 범용성이 낮습니다.
삼성이 발표한 GDDR 표준 DRAM의 전송 속도
삼성이 발표한 GDDR5, GDDR5X, GDDR6의 데이터 전송 방향 스펙 차이
SK 하이닉스가 공개한 GDDR5, GDDR5X, GDDR6의 차이
GDDR6가 기존의 GDDR 계열 메모리와 다른 점은 메모리 채널의 구성입니다. GDDR5/GDDR5X에서는 한개의 다이에 x32의 메모리 1 채널이 구성됩니다(실제로는 x16으로 하나의 채널 구성도 가능). 반면 GDDR6는 X32를 2개의 채널로 분할해 x16 2채널 구성이 됩니다. 이런 구성은 모바일 DRAM 중 LPDDR4와 비슷합니다.
채널을 분할한 가장 큰 이유는 메모리 액세스 크기를 GDDR5와 똑같은 수준으로 억제하기 위해서입니다. GDDR5 메모리 액세스 크기(BL)가 8X32 인터페이스니, 메모리에서 한번에 가져오는 데이터 크기는 32바이트(256비트)가 됩니다.
GDDR6는 메모리 액세스 크기가 16으로 늘어나지만 인터페이스가 X16으로 줄어들어, 데이터 액세스 크기는 GDDR5와 마찬가지로 32바이트가 됩니다. 이 데이터 크기는 프로세서의 캐시 라인 크기와도 밀접한 관련이 있으나, GPU는 32바이트가 바람직하다고 봅니다. 이 듀얼채널 아키텍처가 GDDR6의 핵심입니다.
삼성은 2개의 다이로 GDDR6를 구성
삼성은 GDDR6을 분할 다이 방식으로 구현했다고 발표했습니다. 즉, GDDR6 규격의 DRAM을 두 개의 다이로 구성한 것입니다. 구체적으로는 GDDR6 듀얼 채널에서 두 개의 채널을 제각각 다른 다이에 할당했습니다. X16 싱글 채널 다이 2개를 모아 1개의 GDDR6 칩을 구성합니다. 반면 SK 하이닉스는 1개의 다이에 2개의 채널을 구현합니다. X16 2채널 구성 다이가 나옵니다.
삼성은 예전에도 LPDDR4와 LPDDR4X의 다이를 분할 설계했습니다. 즉 2채널 아키텍처의 DRAM은 스플릿 다이 설계를 쓰는 패턴입니다. LPDDR4에서는 수율을 높이기 위해서라 볼 수 있으며, 삼성의 GDDR6 역시 16Gbit로 용량이 크니 다이를 분할해 수율을 높였다고 해석 가능합니다. 그러나 삼성은 그보다는 속도를 높이기 위해 이렇게 만들었다고 설명합니다.
다이를 분할함으로서 주변 장치에서 데이터 버스, 전원 라인 배선 패키지까지의 배선을 짧게 최적화합니다. 데이터 버스 지연과 IR 드롭을 줄이고 패키지 배선에서 크로스 토크가 줄어듭니다. 삼성이 18Gbps의 빠른 속도를 실현한 것도 이 분할 다이 아키텍처 덕분입니다.
클러킹에서 큰 차이를 보이는 두 메모리
GDDR6의 데이터 전송 속도는 JEDEC의 로드맵에 16Gbps로 나와 있었습니다. 이번 ISSCC에서 SK 하이닉스가 16Gbps의 칩을 발표했지만 삼성은 그보다 더 빠른 18Gbps를 발표했습니다. GDDR5는 9Gbps를 찍으니 이것의 두배인 18Gbps를 GDDR6의 목표로 삼은 것으로 보입니다.
기존의 GDDR5는 X16(16개 데이터 라인)를 1개의 포워드 클럭인 WCK로 구동합니다. GDDR6는 X8(8개의 데이터 라인)에 1개의 WCK가 있어 클럭 레이턴시와 왜곡을 최소화합니다. 즉 1개의 채널에 2개의 WCK 라인이 배치됩니다.
삼성의 WCK와 X8 설명
SK 하이닉스의 WCK와 X8 설명
삼성은 18Gbps의 데이터 전송 속도를 달성하기 위해 클럭을 높였습니다. DDR(Double Data Rate)에서 18Gbps의 전송 속도가 나오려면 9GHz의 WCK를 실현해야 합니다. 이를 위해 기존의 PLL을 배제하고 클럭을 실현했습니다. DRAM의 제조 공정에서는 PLL 자체가 클럭 소스가 되기에 높은 전송 속도로 직접 클러킹을 수행합니다.
삼성의 PLL-less 클러킹
삼성은 PLL 모드도 선택할 수 있습니다. PLL 모드는 QDR(Quad Data Rate)로 16Gbps를 4GHz의 WCK에서 구동합니다. GDDR6 표준은 공급사가 DDR(Double Data Rate)과 QDR(Quad Data Rate) 중 하나를 선택하도록 했는데, 삼성은 이를 직접 설정할 수 있도록 구현한 듯 합니다. SK 하이닉스는 DDR을 선택, 데이터 전송 속도는 wCK 클럭의 2배입니다.
삼성의 PLL 사용 여부
SK 하이닉스는 WCK가 2가지 경로가 있습니다. HF(High Frequency) 모드와 LH(Low Frequency) 모드입니다. HF은 CML 타입이고 LF는 CMOS 타입입니다. LF 모드에선 클럭이 낮고 WCK 전력이 줄어들어 전력 사용량을 낮춥니다.
SK 하이닉스의 WCK 패스
삼성은 10nm 공정으로 GDDR6를 제조
SK 하이닉스의 GDDR6는 싱글 다이에 22nm 공정, 8G-bit 용량, 다이 크기는 69.9제곱mm입니다. 삼성의 GDDR6 듀얼 다이는 10nm 공정, 8G-bit 용량의 1채널 다이 면적은 47.9제곱mm로, 이 다이 2개가 모여 1개의 16G-bit GDDR6가 됩니다.
삼성의 1채널 GDDR6 다이
SK 하이닉스의 2채널 GDDR6 다이