1.jpg

 

GDDR5X의 스펙 설명서 표지

 

메모리 기술의 표준화 단체인 JEDEC Solid State Tech Nology Assciation(JEDEC)은 JESD232라는 이름으로 새로운 메모리 규격인 GDDR5X SGRAM(GDDR5X )의 스펙을 공개했습니다. 2016년 이후에 등장하는 GPU에서 쓰이는 새로운 메모리 규격으로, 앞으로 볼 일이 상당히 많아질 듯 한데요. 기본 특징은 이미 몇번 소개한 바 있지만 이번에는 좀 더 자세한 내용을 설명하고자 합니다.

 

 

GDDR5와 GDDR5X의 주요 차이점은?

 

원래 GDDR5X는 JESD212로 책정된 GDDR5 SGRAM(GDDR5)의 확장판에 해당되는 규격입니다. 따라서 기반이 되는 건 GDDR5이며, GDDR5 호환 동작 모드도 있습니다. 즉 GDDR5X를 지원하는 GPU는 GDDR5X 뿐만 아니라 GDDR5를 사용하는 것도 이론적으로는 가능합니다. 물론 상품 구성에서 이게 의미가 있는지는 또 다른 문제지만요.

 

GDDR5와 GDDR5X의 스펙에서 큰 차이를 열거하면 다음과 같습니다. 자세한 설명은 아래에서 다시 할테니 모르는 단어는 일단 건너 뛰어도 됩니다.

 

신호 속도: GDDR5는 명령만 싱글 데이터 레이트(CK)로 작동하며 데이터(CK)와 주소(CK)는 더블 데이터 레이트 (CK / WCK_t)입니다. GDDR5X에서는 명령과 주소는 변하지 않지만 데이터만 더블 데이터 레이트(DDR Mode, WCK) 또는 쿼드 데이터 레이트(QDR Mode, WCK)로 빨라졌습니다.

 

프리페치: GDDR5는 8n 프리페치만 있으나 GDDR5X는 DDR Mode의 경우 8n 프리페치, QDR Mode의 경우 16n 프리페치가 됩니다.

 

메모리 용량: GDDR5 메모리 용량은 1 칩 당 512Mbit, 1Gbit, 2Gbit, 4Gbit, 8Gbit의 5종류가 있고, 512Mbit만 8 뱅크 구성이며 나머지는 모두 16 뱅크 구성입니다. GDDR5X의 저장 용량은 1 칩 당 4Gbit, 6Gbit, 8Gbit, 12Gbit, 16Gbit의 6 종류며 모두 16 뱅크 구성입니다.

 

FIFO 길이 정의: 출력 버퍼인 Read FIFO의 깊이는 GDDR5가 4-6으로 제품마다 정의가 가능한데, GDDR5X는 6으로 고정됐습니다.

 

POD 처리: 메모리 버스가 연결되는 Pseudo Open Drain(POD)는 GDDR5가 POD-15, POD-135를 모두 지원하나 GDDR5X는 POD-135만 지원합니다.

 

공급 전압: GDDR5 메모리 칩의 공급 전압(VDD)과 신호 핀 전압(VDDQ)은 1.5V와 1.35V를 모두 지원하나 GDDR5X은 1.35V 뿐입니다. 또한 Pump Voltage(Vpp)는 GDDR5가 3.3V지만 GDDR5X에서는 1.8V가 됐습니다.

 

패키지: GDDR5 메모리 칩은 170핀 BGA, GDDR5X는 190핀 BGA입니다.

 

GDDR5X의 특징으로 꼽히는 신호 속도(전송 속도)는 CK와 WCK라는 두 종류의 클럭으로 결정되나, 이 클럭 자체는 JESD212와 JESD232에 포함되진 않습니다. 그 이유는 각각 스펙의 시작 부분에 나와 있습니다. 

  

Some aspects of the GDDR5 (GDDR5X) standard such as AC timings were not standardized. Some features are optional and therefore may vary among vendors. In all cases, vendor data sheets should be consulted for specifics.

 

GDDR5(GDDR5X)에서 AC 타이밍을 비롯한 일부 옵션은 표준화를 실시하지 않았습니다. 이는 옵션 취급이며 제조사마다 차이가 납니다. 이들 옵션은 제조사의 데이터 시트를 확인해 주세요.


이것은 제조 기술이 발전하며 이에 따라 향상되는 신호 속도를 스펙으로 정하기가 어려우니, 아예 규격에 숫자로 명시하지 않겠다는 것입니다. 실제로 GDDR5의 경우도 규격화 초기엔 5Gbps가 한계라고 여겼으나 이후 6Gbps, 7Gbps로 고속화됐으며 최근에는 마침내 8Gbps에 달하는 등 당초 예상을 크게 웃도는 수준으로 통신 속도가 향상했으니 나름 합리적인 판단인듯 합니다.

 

좀 더 자세히 보자면 메모리 칩 제조 회사를 나타내는 4bit Vendor ID가 여러가지로 변했습니다. 지금은 사라진 제조사와 GDDR의 생산을 중단한 제조사에게 할당하는 Vender ID는 Reserved로 바뀌었는데 그 수가 많습니다. 즉 GDDR5X를 제조하는 기업이 그만큼 줄었다는 이야기며 메모리 사업이 어렵다는 말이기도 합니다.

 

표 1 GDDR5와 GDDR5X의 Vender ID (이진수)
Vendor ID GDDR5 GDDR5X
0000 Reserved Reserved
0001 Samsung Electronics Samsung Electronics
0010 Qimonda Reserved
0011 Elpida Reserved
0100 Etron Technology Reserved
0101 Nanya Technology Reserved
0110 Hynix SK Hynix
0111 Winbond Electronics Reserved
1001 ESMT ※ 1 Reserved
1111 Micron Technology Micron Technology

※ 1 Elite Semiconductor Memory Technology

 

 

데이터 전송 속도는 1.75배인 최대 14Gbps로. 프리페치가 늘어나며 GPU의 개선도 필요

 

GDDR5X에서 규격화된 대부분의 요소는 GDDR5 그대로입니다. 명령령과 주소의 오류 검출 용으로 사용하는 Error Detection Code(EDC) 등의 신호 라인 속도는 GDDR5에서 변하지 않았습니다.


원래 GDDR5는 과거와의 호환성을 위해 남아있는 사양도 적지 않았습니다. 예를 들어 GDDR5X는 VDD와 VDDQ 전압을 1.35V 만 지원해 GDDR5에 남아 있던 1.5V보다 더 까다로워진 것처럼 보이지만, 현재의 GDDR5 메모리 칩이나 GPU는 1.35V로 동작하기에 GDDR5X에서 1.5V의 지원을 빼도 영향은 없는 셈입니다.

 

GDDR5X와 GDDR5의 주요 차이점은 신호 속도와 프리페치, 용량, 그리고 패키지입니다. 순서대로 설명하지요.

 

우선 신호 속도는 단순하게 말해서 GDDR5 칩의 두배가 됐습니다. 메모리 제조업체인 마이크론 테크놀러지는 DRAM Component Part Numbering System(https://www.micron.com/~/media/documents/products/part-numbering-guide/numdram.pdf)에서 메모리 칩의 번호 설명을 공개했는데,  거기에 GDDR5와 GDDR5X의 신호 속도가 적혀 있습니다.

 

그것을 보면 GDDR5 클럭은 1.25GHz, 1.5GHz, 1.75GHz, 2GHz이며 각각 신호 속도는 5Gbps, 6Gbps, 7Gbps, 8Gbps가 나오지만 GDDR5X은 1.25GHz, 1.5GHz , 1.75GHz니 각각 10Gbps, 12Gbps, 14Gbps에 해당됩니다. 아래 그림은 GDDR5X의 스펙에 나온 신호의 설명으로, GDDR5X의 스펙 설명에 나온 신호 모식도를 기초로 하여 그렸습니다. 여기서 주목해야 할 것은 전송 타이밍을 나타내는 신호 WCK_t, WCK_c와 데이터 전송을 이미지화한 DQ DBI_n입니다.

 

2.png

 

GDDR5X의 DDR 모드

 

DDR 모드의 경우 WCK_t'라는 원래의 클럭과 이것의 위상을 기울인 WCK_c라는 클럭 2개를 이용해 0에서 1로 되는 상승 타이밍에 따라 데이터 버스(DQ DBI_n)에 데이터를 출력합니다. 따라서 읽기 쪽은 WCK_t과 WCK_c 값이 오르면 데이터 버스에서 데이터를 읽으면 됩니다.

 

3.png

 

GDDR5X의 QDR 모드

 

그런데 QDR 모드의 경우 DDR의 2배로 데이터를 출력할 필요가 있습니다. 따라서 GDDR5X의 메모리 칩과 GPU의 메모리 컨트롤러는 내부에서 WCK_t, WCK_c 클럭 신호 속도를 2배로 높여 동기화해 데이터 버스에 출력/읽기하는 셈입니다.

 

이 결과 전송 속도도 그대로 두배가 됩니다. 예를 들어 지포스 GTX 980 Ti는 메모리 인터페이스가 384bit에 메모리의 실제 클럭이 1753MHz이니 메모리 버스 대역폭은 약 336GB/s가 되지만, 이것을 GDDR5X로 대체했다면 약 673GB/s가 됩니다.

 

그런데 신호의 전송 속도를 두배로 늘리는 것 자체는 어렵지 않지만 메모리 칩을 두배 속도로 같이 구동하는 건 무리가 있습니다. 유일한 가능성은 뱅크의 수를 두배로 늘리는 것이지요. 이것은 프리페치란 이름으로 잘 알려져 있는데요. 프리페치가 무엇인지는 아래에서 설명하겠는데 GDDR의 경우 아래 표처럼 됩니다.

 

GDDR 메모리 프리 페치 수
GDDR (GDDR1) 2n 프리 페치
GDDR2 4n 프리 페치
GDDR3 4n 프리 페치
GDDR4 8n 프리 페치
GDDR5 8n 프리 페치 × 2
GDDR5X 16n 프리 페치 × 2

 

8n 프리페치라면 특정 주소에 대해 요청을 발행했을 때, 거기에서 8개의 연속된 주소에 있는 데이터가 반환되는 구조를 나타냅니다. 메모리 내부에서 연속된 8개의 메모리 셀에 요청하고, 이를 정리해서 발송하는 동작입니다.

 

GDDR4 세대에서 신호 속도는 3.2Gbps까지 도달했지만 메모리 셀 자체는 400MHz로 구동합니다. 그래서 8개의 셀이 동시에 순차적으로 읽어들여 3.2Gbps의 신호 속도를 실현합니다.  

 

이 기술은 고속화에 유리하나 한번 요청해서 발송되는 데이터 양이 늘어난다는 단점도 있습니다. 8n 프리페치의 경우 한번 요청으로 32byte(256bit)가 읽어들이는데 GDDR5 세대에서는 문제가 됩니다. 메모리 셀의 동작 속도를 감안해서 16n을 빼내고 싶으나 그 경우 한번 요청으로 읽어오는 데이터 용량이 64byte(512bit)가 되니 너무 많은 겁니다.

 

그래서 GDDR5는 주소를 2개 사용하여 각각 8n 프리페치로 동작하는 8n 프리페치 × 2 방식을 구현했습니다. GDDR5X는 8n 프리페치를 계속하는 게 무리였는지 16n 프리페치 × 2가 됐습니다. 즉 주소를 한개 지정하면 64byte의 데이터 덩어리가 오는 셈입니다.

 

그런데 GPU의 내부 구성을 생각하면 16n 프리페치에는 좀 까다로운 문제가 있습니다. 기존의 GPU 코어는 모두 32byte의 액세스 단위로 액세스를 최적화했기 때문입니다. 그런데 GDDR5X가 16n 프리페치를 채용하면 이번에는 64 byte로 정리해서 오게 됩니다.

 

4.png

 

예를 들어 이 그림처럼 각 쉐이더 그룹(NVIDIA의 SM이나 SMX, AMD의 CU)이 32byte 단위로 메모리에서 데이터를 읽기 요청했을 경우, GDDR5라면 그대로 32byte 단위로 옵니다.

 

5.png

 

그런데 GDDR5X라면 32byte가 더해져 총 64byte가 함게 로딩될 것입니다.

 

물론 쉐이더 그룹이 더 큰 단위, 예를 들어 64byte과 128byte, 256byte 등의 단위로 액세스한다면 데이터가 낭비되지 않지만, 반대로 32byte 단위의 랜덤 액세스에선 전송된 데이터의 절반이 낭비됩니다. 그럼 메모리 대역폭을 두배로 늘렸다 해도 실제 메모리 대역폭은 절반으로 줄어들게 됩니다. 즉 GDDR5X를 효율적으로 활용하려면 GPU에서의 지원도 필요하다 할 수 있겠습니다.

 

 

패키지 크기가 작아지고 핀 수가 20핀 늘어난 GDDR5X

 

메모리 용량은 수요에 따라 늘어난 것도 있지만, 원래 GDDR5X는 GDDR5 메모리 칩 2개를 패키지 내부에서 중첩시킨 것과 같은 구성이기에 용량을 2배로 늘리는 건 필연적입니다.

 

다만 하나의 칩으로 16Gbit(2GB) 구성이 포함되기에 메모리 버스 폭 256bit의 경우 8개의 칩을 단면에 장착한 그래픽카드에선 최대 16GB, 16개의 칩을 양면에 장착했을 경우 32GB라는 대용량 메모리 그래픽카드를 구성할 수 있습니다. 만약 2세대 맥스웰 아키텍처인 GM200의 384비트 메모리 버스폭에 24GB 양면 탑재라면 총 48GB의 비디오 램이 나오는 것이지요.

 

덧붙여서 GDDR5X은 최소 4Gbit(0.5GB)니 256bit 메모리 폭에 단면 구성이면 4GB라는 계산이 나옵니다. GDDR5X을 이용하는 그래픽 카드의 메모리 탑재량은 아마 최소 0.5GB가 될 것입니다.

 

네번째 차이점은 패키지입니다. 용량이 늘어났지만 패키지 크기 자체는 GDDR5X가 GDDR5보다 약간 줄어들었습니다.

 

GDDR5 : 12 × 14 × 1.1mm
GDDR5X : 10 × 14 × 1.1mm

 

다만 앞서 말한대로 단자를 이루는 볼의 핀 수는 GDDR5가 170개지만 GDDR5X는 190개로 20핀 정도 늘었습니다. 따라서 핀 끼리 간격은 GDDR5가 0.8mm인데 GDDR5X는 0.65mm까지 좁아졌습니다. 또한 핀의 높이도 바뀌어 GDDR5가 0.35mm ± 0.05mm지만 GDDR5X 최소 0.21mm로 약간 작아졌습니다. 즉 GDDR5와 GDDR5X는 메모리 칩 배선에서 호환성이 전혀 없다는 것입니다.

 

6.png

 

GDDR5의 핀 레이아웃

 

7.png

 

GDDR5X의 핀 레이아웃

 

덧붙여서 메모리 칩의 핀 레이아웃도 당연히 크게 변화했습니다. 위의 핀 레이아웃에서 큰 차이는 GDDR5가 데이터 핀(DQxx 짙은 녹색 부분)를 가로로 분리하고 사이에 GND를 끼우는 형태인데, GDDR5X는 데이터 핀을 정리하여 외부(1, 2,13,14 열)에 VSS(접지)와 VDD(DRAM 셀 전원)을 연결한다는 것 정도입니다. 또 추가된 20핀의 대부분이 VDD와 VDDQ, VPP(펌프업 전원)이라는 건 흥미로운 점입니다.

 

8.png

 

GDDR5의 권장 배선 레이아웃

 

9.png

 

GDDR5X의 권장 배선 레이아웃

  

패키지는 직접적인 관계가 없으나 GDDR5X에서 성가신 문제가 될 수 있는 게 배선입니다. GDDR5X의 사례가 적은 건 여러 복잡한 구성을 고려할 필요가 없기 때문에 단순한 것이지요. 다만 단면과 양면의 전환이 문제가 됩니다.

 

10.png

 


GDDR5를 사용하는 그래픽 카드의 기판은 위 그림처럼 구성된 것이 많습니다. 데이터 라인(DQ × 16)의 절반은 그래픽카드 앞면의 메모리 칩에 연결되지만, 나머지 절반은 기판 양면에 걸쳐지는 식입니다(노란 점선으로 둘러싼 부분).

 

메모리 칩을 앞면에만 배치하는 경우 점선으로 둘러싼 배선은 앞면에만 연결된 상태가 됩니다. 여기에 메모리 칩의 동작을 32bit 모드로 하면 모든 데이터 라인은 앞면의 메모리 칩과 신호를 주고 받습니다. 반면 그래픽카드 기판 양면에 구현할 경우 점선 안의 배선은 안/밖 양면의 메모리 칩에 연결된 상태가 됩니다. 하지만 여기에 메모리 칩을 16bit 모드로 동작시키면 앞면에 연결된 배선은 데이터가 흐르지 않고 뒷면의 메모리 칩에만 들어가게 됩니다.

 

이는 같은 기판을 사용하면서 4GB와 8GB, 6GB와 12GB처럼 메모리 탑재 용량이 다른 그래픽 카드를 제조하는 것이 가능하다는 말이 됩니다. 문제는 GDDR5X처럼 신호가 빠를 경우 노란 점선으로 둘러싸인 구조가 허용되는가입니다. 사실 GDDR5 세대에서도 데이터 라인에 이러한 분기를 만들어선 안되지만, 그래도 작동은 되기에 실제 제품에서 쓰고 있는 상황입니다. 이게 GDDR5X에서도 똑같이 동작할지는 의문입니다.

 

만약 이것이 안된다면 단면과 양면이 다른 기판을 사용하거나 도중에 신호 스위치를 넣어 분기시켜야 할 것입니다. 스위치를 쓰면 비현실적이니 실제 제품화에선 단면/양면 기판을 바꾸지 않을까 생각됩니다.

 

 

GDDR5X에서 걱정되는 건 소비 전력의 증가와 제조 비용

 

여기까지가 GDDR5X의 스펙에 나온 특징입니다. 이제는 스펙 테이블에 나오지 않은 이야기를 하겠습니다.

 

우선 소비 전력의 문제입니다. 신호 속도가 두배가 되는 시점에 GDDR5X는 통신에 필요한 전력이 두배 이상 늘어난다고 해야 할 것입니다. 또한 16n 프리페치 × 2 방식을 쓰면서 DRAM 셀에서 활성화되는 영역도 두배로 늘어나게 되고, 이것 때문에 전체 소비 전력이 두배로 늘어나게 됩니다. 한마디로 GDDR5X의 소비 전력은 2배 가까이 늘어난다는 이야기죠.

 

이렇게 되면 마이크론이 주장하는대로 GDDR5X가 HBM보다 더 뛰어날 것인지 의문이 들지요. HBM은 버스 폭을 넓힌(1024bit) 대신 전송 속도는 떨어지기에(HBM1가 500MHz DDR, HBM2는 1GHz DDR), 소비 전력 당 메모리 대역폭이란 점에선 GDDR5X보다 유리하다고 생각할 수도 있기 때문입니다. HBM은 메모리 칩에도 컨트롤러가 필요하니 그만큼 소비 전력은 증가하지만 그것을 감안하더라도 HBM 쪽이 다소 유리한 것으로 보입니다. 이 요소는 특히 자동차 기기처럼 발열에 까다로운 곳에 쓰일 때 다소 부정적인 요소가 될 것입니다.

 

가격도 문제입니다. 가격은 메모리 용량에 따라 달라지겠지만 GDDR5 메모리에 비해 GDDR5X 메모리가 약간 더 비싼 건 당연합니다. 마이크론은 HBM2보다 더 저렴하다고 어필하나, 메모리 대역폭 당 가격으로 환산하면 다소 이상합니다.

 

또 GPU에 10Gbps 이상의 GDDR5X 지원 메모리 컨트롤러를 탑재해야 한다는 점도 단점이라고 할 수 있습니다. 일단 램버스가 2011년에 12.8Gbps의 싱글 엔드 신호에 대응한 메모리 컨트롤러 IP의 동작 데모를 공개했으니 이걸 쓰면 GDDR5X를 지원하는 건 가능합니다. 하지만 반대로 말하면 메모리 컨트롤러를 이런걸로 교체해야 한다는 말이니 추가 비용이 들어가게 됩니다.

 

NVIDIA는 차세대 GPU인 파스칼 세대에서 하이엔드에 HBM2, 미들레인지는 GDDR5X를 쓴다는 말이 있는데 구체적인 스펙이나 사용하는 메모리의 스펙 등은 아직 공개되지 않았습니다. 다만 마이크론은 메모리 스펙 설명에 GDDR5X를 추가했으니 양산 준비에 들어간 건 틀림없을 것입니다. 빠르면 2016년 상반기에 GDDR5X을 채용하는 그래픽 카드를 볼 수 있을지도 모릅니다.

 

소스: http://www.4gamer.net/games/999/G999902/20160204083/

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.