Host Memory Buffer (HMB) based SSD란? 개념 정리



Host Memory Buffer (HMB)는 SSD가 DRAM을 가지고 있지 않은(DRAM이 없는) DRAMless SSD 입니다. 이 경우, Host의 Memory를 SSD의 DRAM 대신 사용합니다. Host Memory Buffer (HMB)는 SSD를 위한 Host Memory 일부를 할당하여 사용할 수 있게 할 수 있습니다. SSD는 메타 데이터 저장, 캐시 버퍼 저장, NVMe의 연속되지 않은 큐의 어드레스 관리 또는 임의의 SSD를 위한 특정 목적과 같은 다양한 목적을 위해 할당된 호스트 메모리를 이용할 수 있습니다.

기존에 DRAM이 있는 경우에는 DRAM이 없는 것과 비교하여 HOST가 내리는 논리적 블록에 대한 요청을 물리적 블록으로 바꾸기 위하여 시간이 오래걸리기 때문에, 빠르게 응답하기 어려웠습니다. DRAM이 있는 경우에는 논리적 블록과 물리적 블록이 연결된 테이블을 저장하고 있기 때문에, 빠르게 응답할 수 있습니다. DRAM의 제거는 제조단가를 줄여주지만 속도적인 측면에서 매우 불리합니다.

NVMe 1.2 부터는 HMB가 새로 도입되었습니다. HMB는 PCI-Express 인터페이스의 DMA 기능을 활용하여 SSD에 자체 DRAM이 필요하지 않고, SSD가 시스템 CPU에서 DRAM 메모리의 일부를 사용할 수 있습니다. 속도적인 측면을 보면 HMB 보다 DRAM이 SSD 내부에 있는 것이, 컨트롤러가 접근하기 더 좋기 때문에 속도가 더 빠릅니다. HMB SSD는 DRAM을 제거하여 SSD 제작 단가를 낮출 수 있고, DRAMless보다 속도를 빠르게 향상시켜 경쟁력을 만들 수 있는 제품이라고 보면 될 것 같습니다.


출처

  • https://www.flashmemorysummit.com/English/Collaterals/Proceedings/2015/20150813_FJ31_Chen_Dorgello.pdf
  • https://patents.google.com/patent/KR20180054394A/ko
  • https://itigic.com/ko/host-memory-buffer-in-nvme-ssds-how-does-it-work/