NAND 플래시 메모리를 탑재 한 메모리 모듈의 개발이 활발해지고 있습니다. NAND 플래시를 탑재한 DIMM을 서버의 시스템 메모리용 DIMM 슬롯에 장착해 스토리지(외부 저장소)나 시스템 메모리(주 기억 장치)로 이용하는 것입니다.

 

NAND 플래시를 탑재한 DIMM은 크게 나눠 2종류의 메모리 구성이 존재합니다. 하나는 DDR3 DRAM이나 DDR4 DRAM과 NAND 플래시 메모리를 섞은 DIMM입니다. 또 하나는 NAND 플래시 메모리만 탑재한 DIMM입니다. 모두 NVDIMM, 또는 비 휘발성 DIMM이라고 부르는 경우가 많습니다.

 

 

DRAM과 NAND 플래시를 섞은 DIMM의 동작

 

DRAM과 NAND 플래시를 섞은 NVDIMM은 일반적으로 DRAM DIMM처럼 씁니다. CPU의 DDR 메모리 컨트롤러에선 DRAM 만 인식하며 NAND 플래시 메모리의 존재는 알 수 없습니다. NVDIMM에 탑재된 DRAM의 메모리 용량과 NAND 플래시 메모리의 용량은 일반적으로 같습니다. DRAM과 NAND가 8GB나 16GB가 되는 메모리 구성입니다. 여기에 NAND 플래시용 컨트롤러 로직이 DIMM에 탑재됩니다.

 

DRAM과 NAND 플래시 메모리를 함께 탑재하는 이유는 백업 때문입니다. 정전(순간적인 전압 저하를 포함)가 발생하거나 불량 때문에 시스템이 재부팅되면 DIMM이 장착된 메인보드의 전원이 끊어집니다. 일반 DRAM DIMM라면 여기에서 DRAM의 내용은 모두 사라집니다.

 

1.jpg

 


DRAM과 NAND 플래시를 섞은 NVDIMM의 사례. 위는 DDR3 DIMM 타입입니다. 좌우는 각각 모듈의 앞면과 뒷면이지요. 중앙은 DDR4 DIMM 타입입니다. 아래는 백업 전원용 슈퍼 커패시터 기판입니다. 모두 Viking Technology의 제품 사진입니다.


NVDIMM는 전원 손실을 감지했을 때 즉시 전원을 백업 전원으로 전환하고 DRAM의 데이터를 유지합니다. 백업 전원은 일반적으로 슈퍼 캐패시터(대용량 콘덴서)입니다. 슈퍼 캐패시터는 영원히 전원으로 작동하는 것은 아닙니다. 슈퍼 캐패시터가 저장하던 전기 에너지가 완전히 방전되면 NVDIMM 전원이 꺼집니다. 그 전에 NVDIMM는 DRAM의 데이터를 모두 NAND 플래시 메모리로 전송(복사)합니다.

 

전송이 끝난 NVDIMM은 자신의 전원을 차단하고 시스템 전원이 복구되기를 기다립니다. 시스템의 전원이 돌아오면 NAND 플래시 메모리의 내용을 DRAM으로 되돌림과 동시에 슈퍼 커패시터를 충전합니다.

 

2.jpg

 


DDR3 DIMM 슬롯에 장착한 NVDIMM의 동작. 일반적으로 DDR3 DRAM DIMM과 동일하게 동작합니다. 왼쪽은 시스템의 전원 상태(녹색은 전원을 의미합니다), 중앙은 DIMM(왼쪽이 DRAM, 가운데가 컨트롤러 로직, 오른쪽이 NAND 플래시 메모리)와 슬롯, 서버, 오른쪽은 슈퍼 캐패시터.

 

3.jpg

 

시스템의 전원이 차단되면(왼쪽 스위치가 빨간색이 됨) DRAM의 데이터(오류 정정 코드 포함)를 모두 NAND 플래시 메모리로 전송합니다. 전송 중에 전원은 슈퍼 캐패시터에서 충당합니다. 전송이 끝나면 DIMM의 전원을 차단합니다.

 

4.jpg

 

시스템의 전원이 돌아오면(왼쪽 스위치가 녹색) NAND 플래시 메모리의 데이터를 DRAM에 전송합니다. 동시에 슈퍼 캐패시터를 충전합니다.

 

5.jpg

 

DRAM의 데이터 전송이 완료되면 NVDIMM 다시 정상 상태로 돌아옵니다. 재부팅 된 시스템은 DIMM을 DDR3 DRAM로 인식합니다.


6.jpg

 


시스템의 전원이 차단되면서 DRAM의 데이터를 NAND 플래시 메모리로 전송할 때의 타이밍. 처음에 어떤 원인으로 교류 전원이 멈춥니다(A). 전원 상태를 나타내는 신호 Powergood가 변화해 이상 현상이 발생함을 통지합니다(B). 이를 전달받은 로직(CPLD)은 세이브 트리거 신호 SAVE_Trigger_n를 활성화 합니다(C). 세이브 트리거 신호를 수신한 프로세서나 칩셋은 인터럽트 모드로 전환(D)과 함께 NVDIMM에 저장하는 신호인 SAVE_n를 활성화 합니다(F). 세이브 신호를 수신한 NVDIMM는 DRAM의 데이터를 NAND 플래시 메모리로 전송 합니다(G).

 

 

DRAM과 NAND를 섞은 DIMM의 장점과 단점

 

DRAM과 NAND 플래시를 섞은 NVDIMM의 장점은 정전에 대비하는 비용이 저렴해진다는 겁니다. 경우에 따라선 무정전 전원 공급 장치 (UPS)를 줄일 수 있는데 이건 상당한 장점입니다.

 

또 다른 장점은 다운 타임의 단축입니다. DRAM의 데이터가 모두 사라진 경우 데이터를 모두 PCIe나 SAS/SATA로 연결된 스토리지(HDD나 SSD)에서 전송해야 합니다. 이러한 스토리지는 DRAM 입장에서 봤을 때 NAND 플래시 메모리에 비해 지연 시간(대기 시간)이 훨씬 길고, 또한 데이터 전송 속도가 매우 느립니다. 데이터 센터나 웹 기반 시스템 같은 실시간 처리가 요구되는 시스템에서 다운 타임은 경제적인 손실을 의미합니다. 다운 타임은 최대한 짧을수록 좋지요.

 

단점은 물론 DIMM의 가격이 비싸진다는 겁니다. 부품 비용만 따져도 NAND 플래시 메모리와 컨트롤러 로직 백업 전원용 슈퍼 캐패시터의 가격을이 일반 DRAM DIMM에 더해야 하지요.

 

7.jpg

 


DRAM과 NAND 플래시를 섞은 NVDIMM의 장점(무정전 전원 공급 장치의 생략)
 

 

NAND 플래시 DIMM은 초고속 SSD

 

또 다른 NVDIMM 메모리 구성인 NAND 플래시 메모리만 넣은 DIMM(NAND 플래시 DIMM)를 봅시다. DIMM에는 NAND 플래시 외에 NAND 플래시용 컨트롤러 로직이 들어갑니다. CPU에서 메모리가 아닌 스토리지로 취급하며, DDR 메모리 버스를 통해 데이터를 빠르게 읽을 수 있는 초고속 SSD로 쓰게 됩니다. DIMM 슬롯에 SSD를 장착한 것이라고 할 수 있습니다.

 

8.jpg

 


NAND 플래시 메모리를 탑재 한 DIMM의 개요. DDR3 DIMM과 동일한 폼팩터에 NAND 플래시와 NAND 컨트롤러를 넣었습니다. Diablo Technologies가 개발한 MCS (Memory Channnel Storage) 기술의 설명 도면.

 

9.jpg

 

NAND 플래시 메모리를 탑재한 DIMM 제품인 샌디스크의 ULLtraDIMM입니다. Diablo Technologies가 개발 한 MCS 기술을 도입했습니다. ULLtraDIMM은 DDR3 메모리 DIMM 슬롯에 장착합니다. 저장 용량은 200GB나 400GB로 DIMM 중에선 매우 큽니다.


NAND 플래시 DIMM의 동작은 SSD와 다르지 않습니다. 기존의 SSD와 다른 점은 데이터 전송 속도가 매우 높다는 것입니다. 기존의 SSD는 데이터 전송 속도가 빠른 제품의 경우 PCIe 3.0 × 4 인터페이스를 이용합니다. 데이터 전송 속도는 최대 4GB/sec로 꽤 높지요. 현재 많이 쓰이는 SATA 6Gbps 인터페이스의 데이터 전송 속도는 약 600MB/sec입니다. 최근 SSD는 데이터 전송 속도를 제법 높일 수 있기에 SATA 인터페이스는 속도가 부족합니다. 그래서 최근의 고속 SSD는 PCIe 인터페이스를 사용하는 추세입니다.

 

DDR 메모리 인터페이스를 사용하면 이론적으로 SSD를 더욱 빠르게 할 수 있습니다. 예를 들어 DDR4 메모리 채널의 데이터 전송 속도는 17GB/sec(핀당 데이터 전송 속도는 2,166Mbit/sec)로 매우 높습니다. PCIe 3.0 × 4 인터페이스의 4배가 넘는 대역폭을 갖춘 것입니다. 이렇게 빠른 채널을 이용하기에 대역폭이 매우 넓은 SSD를 실현할 수 있습니다.

 

또한 DDR 메모리 인터페이스를 사용하기에 SSD의 지연 시간(대기 시간)을 줄일 수 있습니다. SSD의 지연 시간은 CPU와 스토리지의 물리적 인 거리(브릿지의 수와 배선의 길이)로 결정됩니다. DDR, PCIe, SATA 중에서는 DDR이 SSD까지의 배선 길이가 가장 짧습니다. 즉, 대기 시간도 짧습니다.

 

10.jpg

 


샌디스크의 ULLtraDIMM과 PCIe 인터페이스의 SSD 성능을 비교한 결과입니다. 상단 그래프는 쓰기 지연 시간(레이턴시)의 실측값(μs). 왼쪽이 ULLtraDIMM, 오른쪽이 PCIe SSD. 중간의 그래프는 지연 시간의 히스토그램. 왼쪽이 ULLtraDIMM, 오른쪽이 PCIe SSD인데요. 지연 시간이 약 1/4 이하로 줄어듬을 알 수 있었습니다. 하단 왼쪽은 메시징 처리량으로 위가 ULLtraDIMM인데 903MB/sec, 아래가 PCIe SSD인데 752MB/sec의 실제 속도를 냈습니다.

 

11.jpg

 

CPU와 스토리지의 간격을 좁히는. PCIe 인터페이스의 SSD에 데이터를 저장하는 것이 아니라 DDR DIMM 슬롯에 SSD를 장착, 스토리지와 CPU의 물리적인 거리를 줄입니다. Diablo Technologies가 개발한 MCS 기술의 설명 도면.


 

DRAM DIMM을 뛰어 넘는 대용량 데이터를 저전력으로 저장

 

NAND 플래시 DIMM을 DRAM DIMM과 비교하면 크게 다른 것이 기억 용량입니다. DRAM DIMM의 저장 용량이 16GB 나 32GB 인 반면, NAND 플래시 DIMM 메모리의 용량은 기존 제품(DDR3 DIMM 슬롯에 장착 가능한 제품)이 200GB나 400GB였습니다. DRAM DIMM에 비해 저장 용량이 10배~20배 큽니다.

 

또한 대기 상태의 소비 전력이 크게 다릅니다. DRAM은 메모리 셀의 리프레시(데이터의 정기적 인 재작성)을 항상 필요로 하기에 대기 상태에서 소비 전류가 매우 큽니다. 반면 NAND 플래시 메모리는 대기 전류를 거의 소비하지 않아(일부 주변 회로만 동작),. 극단적으로 비교하면DIMM의 전원을 차단해도 상관 없습니다(이 경우 대기 시간이 크게 증가하긴 합니다).

 

더 중요한 건 부품의 비용입니다. DRAM의 비트 단가(저장 용량당 비용)과 NAND 플래시 메모리의 비트 단가는 12배나 차이납니다. NAND 플래시의 비트 단가는 DRAM의 1/12인 것입니다. 앞서 설명한대로 기억 용량이 DRAM의 10배라 해도 반도체 메모리의 부품 비용은 거의 동일합니다.

 

같은 가격에 저장 용량이 10배가 되는 것이지요. 성능을 보자면 NAND 플래시의 읽기 성능(사이클 시간)은 DRAM과 거의 같으니, 데이터 읽기 위주의 애플리케이션은 저장 용량이 늘어나면서 처리 성능이 확실히 향상됩니다. 게다가 소비 전력은 DRAM DIMM보다 낮습니다. 애플리케이션에선 매우 효과적인 스토리지임을 알 수 있습니다.

 

12.jpg

 


NAND 플래시 메모리를 탑재한 DIMM 제품. 레노버의 eXFlash DIMM는 DDR3 메모리 DIMM 슬롯에 장착합니다. 샌디스크의 ULLtraDIMM를 레노버(원래는 IBM)에게 OEM 공급한 제품입니다.

 

13.jpg

 

레노버의 eXFlash DIMM 내부 블럭. 왼쪽이 컨트롤러, 오른쪽이 저장 본체 부분.


2015년 6월에는 반도체 관련 표준 개발 단체인 JEDEC이 비 휘발성 메모리를 탑재한 DDR4 DIMM인 NVDIMM 기술 스펙을 책정했다고 발표했습니다. JEDEC 스펙은 2015년 하반기에 발표한다고 했으나 9월까지 스펙이 공개되진 않았습니다.

 

그러나 JEDEC의 규격 책정 작업과 병행하여 NVDIMM 관련 반도체 업체와 모듈 업체 등의 제품 개발이 활발해졌습니다. 규격 책정에 관여한 기업이나 업계 단체는 NVDIMM의 스펙을 일부 밝히기 시작했습니다. NVDIMM의 표준 스펙은 NAND 플래시 메모리뿐만 아니라 3D XPoint나 자기 메모리, 상변화 메모리, 저항 변화 메모리 등의 비 휘발성 메모리를 대상으로 합니다. NVDIMM의 스펙에서 밝혀지는 내용과 비 휘발성 메모리를 탑재한 NVDIMM의 개발 동향 등은 나중에 다시 다루고자 합니다.

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