HBM2 규격의 진정한 성능을 제공. 2세대 HBM2
메모리와 스토리지 계층에서 작업 메모리는 프로세서 가까이에 위치(함께 패키지)한 Near Memory와, 확장 메모리 슬롯에 장착한 Far Memory로 나뉩니다. 니어 메모리는 더 넓은 대역, 더 많은 용량으로 발전해 나가고, 파 메모리는 비휘발성 메모리를 더한 하이브리드 시스템을 구축, 초대용량을 실현합니다. 이런 규격에는 니어 메모리가 HBM(High Bandwidth Memory) 2와 그 후속인 HBM3, 파 메모리는 DDR5과 NVDIMM 계열이 있습니다.
여기서 니어 메모리인 HBM은 처음 예정과는 다르게 전개되고 있습니다. 광대역과 대용량의 비중이 크고, 저용량은 뒷전이 됐습니다. 현재 HBM의 주요 고객인 하이엔드 고성능 컴퓨팅(HPC) 시장에서 광대역 메모리 수요가 늘어나고 있어서입니다.
현재 HBM의 주요 고객은 오직 광대역과 대용량만을 요구합니다. 따라서 DRAM 제조사의 HBM2 메모리도 광대역 고용량을 더욱 추구하는 아키텍처로 선회하고 있습니다. HBM2뿐만 아니라 그 이후에서도 저가형 HBM 규격이 무산되는 등의 변화가 생겨나고 있습니다.
메인스트림 DRAM의 로드맵
삼성이 2016년 HotChips에서 설명한 컨슈머 시장의 HBM 계획
HBM2은 모듈 1개가 256GB/sec 이상의 광대역 메모리를 실현하는 DRAM 기술입니다. HBM을 생산하는 2개 회사 중 하나인 SK 하이닉스는 미국 샌프란시스코에서 2월에 개최된 반도체 컨퍼런스 ISSCC(IEEE International Solid-State Circuits Conference)에서 새로운 HBM2 메모리를 발표했습니다(12.3 A 1.2 V 64Gb 341GB / s HBM2 Stacked DRAM with Spiral Point-to-Point TSV Structure and Improved Bank Group Data Control. JH Cho et. al,). HBM 계열 메모리는 2015년에 1세대 HBM이 나오고 2016년에 2세대 HBM2가 나왔는데, 2월에 SK 하이닉스가 발표한 건 HBM2의 개량형입니다.
마찬가지로 HBM2을 공급하는 삼성도 2세대 HBM2인 AquaBolt를 발표했습니다. 데이터 전송 속도는 2.4Gbps, 1스택 당 메모리 대역폭은 307GB/sec입니다. HBM을 공급하는 두 회사가 같은 시기에 HBM2의 2세대 버전을 발표했습니다.
HBM2는 최대 2Gbps의 전송 속도를 내며, 1스택 메모리 대역폭은 256GB/sec, DRAM 적층 수는 8다이가 될 예정이었습니다. 4스택 구성이라면 메모리 대역은 1TB/sec, 메모리 용량은 8 스택 8Hi에 32GB가 됩니다. 그러나 실제 제품에선 광대역과 대용량을 모두 구현하기 어려웠습니다. 최고 속도를 내지 못하거나, 설령 최고 속도를 내도 소비 전력이 늘어났습니다.
그래서 HBM 제조사인 SK 하이닉스와 삼성은 데이터 전송 속도를 스펙 이상으로 끌어올려, 8Hi 스택에서도 낮은 전력으로 최대 성능을 발휘하는 차세대 HBM2의 개발을 진행해 왔습니다. 이 2세대 HBM2이야말로 원래 계획했던 광대역/대용량을 달성한 진성한 HBM2라고 할 수 있습니다.
4채널/다이에서 2채널/다이로 변화
SK 하이닉스가 ISSCC에서 발표한 2세대 HBM2는 기존의 HBM2에 비해 아키텍처의 변화가 큽니다. 그것은 TSV 적층하는 DRAM 사이의 연결 토플로지입니다. 1세대 HBM2에서 SK 하이닉스는 멀티 드롭으로 접속했으나, 2세대 HBM2에서 SK 하이닉스는 P2P로 연결합니다.
HBM은 제어를 수행하는 베이스 소릭 다이를 바닥에 깔고 그 위에 DRAM 다이를 적층하는 TSV로 연결됩니다. SK 하이닉스의 1세대 HBM2는 적층된 모든 DRAM 다이의 메모리 채널마다 TX(Transmitter 송신)/RX(Reciever 수신)을 배치했습니다. 8채널 모두에 TX/RX를 넣어 적층된 DRAM 모두를 연결하는 멀티 드롭 구성입니다. 반면 SK 하이닉스의 2세대 HBM2에선 채널에서 1개의 DRAM 다이만 TX/RX에 연결, 각각의 다이에는 2채널의 TX/RX만 있습니다.
HBM 시스템
왼쪽이 기존의 HBM2 멀티 드롭 아키텍처, 오른쪽은 새로운 HBM2 나선형 P2P
HBM의 채널
그래서 SK 하이닉스의 HBM2 DRAM은 1다이의 채널 수가 바뀌었습니다. 기존의 1세대 HBM2는 1다이 4채널이었으나 2세대 HBM2는 1다이 2채널로 바뀌었습니다. 삼성의 1세대 HBM2도 1다이에 2채널/4채널의 설정이 가능했습니다.
1세대 HBM2에서 2세대 HBM2로 가면서 1다이 4채널에서 1다이 2채널로 바뀌었다는 건, HBM2가 목표하는 시장의 변화와 HBM 메모리가 추구하는 방향의 변화를 의미합니다. HBM은 4개의 DRAM 다이를 적층하는 4Hi와 8개의 다이를 적층하는 8Hi, 2개 다이의 2Hi가 있습니다. SK 하이닉스의 1세대 HBM2가 원래 1다이 4채널 구현했던 건, 2개의 DRAM 다이의 구성으로 2Hi에서 완전한 메모리 대역을 실현하기 위해서였습니다.
SK 하이닉스의 1세대와 2세대 HBM2 채널 구성 변화. 왼쪽은 1세대, 오른쪽은 2세대
SK 하이닉스의 1세대 HBM2 구성
SK 하이닉스의 2세대 HBM2 구성
HBM 아키텍처는 128비트 메모리 채널 8개를 1개로 묶습니다. 128비트 x 8채널 = 1024비트로 1024비트의 메모리 버스가 나옵니다. 1세대 HBM2는 SK 하이닉스와 삼성 모두 1개의 다이 당 최대 4채널로 512비트 버스를 지녔습니다. 다이의 대역은 2Gbps의 속도에서 128GB/s가 되어, 2개의 다이로 8채널의 완전한 대역폭을 달성할 수 있었습니다.
소용량의 수요를 고려했던 1세대 HBM2의 2Hi 스펙
HBM2는 원래 2Hi에서 전체 대역을 확보해, DRAM 용량은 낮아도 메모리 대역은 높은 걸 필요로 하는 고객을 확보하려 했습니다. HBM2은 삼성과 SK 하이닉스가 모두 8Gbits(ECC를 포함하면 9Gbits)의 다이 용량을 지닙니다. 스택 당 메모리 용량은 4Hi에서 4GB, 8Hi에서 8GB입니다. 그러나 2Hi는 2GB로 제한됩니다.
예를 들어 256GB/sec의 메모리 대역을 필요로 해도 메모리 용량이 2GB면 된다면 2Hi가 알맞습니다. 512GB/sec의 메모리 대역이라면 2Hi에 4GB 용량이 됩니다. 캐시로 쓰거나 컨슈머 제품이라면 이 정도의 대역폭/용량이어도 균형이 맞습니다. 사실 HBM2을 처음 도입했을 때엔 이런 설명도 있었습니다.
HBM2 스택의 다이 수와 메모리의 관계
1세대 HBM2는 2Hi의 저용량으로도 모든 대역을 커버할 수 있음을 특징으로 내세웠습니다.
HBM2는 다양한 분야에서 여러 용량과 대역폭에 맞춰 공급할 예정이었습니다.
그러나 이번에 SK 하이닉스가 내놓은 새로운 HBM2는 2채널/다이니, 완전한 대역폭을 제공할 수 있는 구성은 4Hi와 8Hi 뿐입니다. 이번 구현에서는 HBM2의 8채널 1024비트 인터페이스에서 각 다이에 구현된 건 2채널 256비트 뿐입니다. 억지로 2Hi를 상품화하면 메모리 채널 수와 대역폭이 반으로 줄어들게 됩니다.
SK 하이닉스의 HBM2의 2Hi 채널 구성
반면 새로운 HBM2는 각 다이의 구현이 편해졌습니다. SK 하이닉스는 기존의 HBM2가, 각 다이에 8채널 모두의 TX/RX를 구현했으며, 멀티 채널로 연결했다고 설명합니다. 그러나 이번에는 각 다이마다 2채널의 TX/RX만 있고, 채널에서 보면 베이스 다이와 DRAM 다이가 P2P로 연결됩니다. 결과적으로 8Hi에서도 인터페이스를 빠르게 구동하기 쉬워졌습니다.
1세대 HBM2는 저용량 응용 분야에 맞춰 설계했습니다. 따라서 대용량에선 성능을 발휘하기 어려운 설계였습니다. 반면 2세대 HBM2는 대용량 응용에 맞춘 설계를 사용했습니다. 대신 2Hi의 소용량은 포함하지 않았습니다. 이것은 HBM2의 실제 시장 상황에 따른 것입니다.