NVMe SSD의 호스트 메모리 버퍼 란 무엇이며 어떻게 작동합니까?

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 NVMe 1.2 사양은라는 새로운 기능을 도입 호스트 메모리 버퍼 PCIe NVMe SSD의 성능을 획기적으로 향상시킬 수있는 HMB (HBM 그래픽 메모리와 혼동하지 않아야 함). 이 기사에서는 그 기능, 작동 방식 및이 기능을 갖춘 SSD의 성능을 향상시키는 방법에 대해 설명합니다.

대부분의 최신 SSD에는 내장 DRAM 메모리 칩, 일반적으로 1GB 드램 비율 1TB의 스토리지마다 . 이 일반적으로 NAND 메모리에 저장된 정보의 각 논리 블록 (각 쓰기주기에서 변경되는 정보)이 물리적으로 위치하는 위치를 추적하고 읽기 작업이 수행 될 때마다 참조됩니다.

NVMe SSD의 호스트 메모리 버퍼

우리가 논의한 표준 DRAM 대 NAND 비율은 ​​충분한 RAM을 제공합니다. SSD 컨트롤러는 훨씬 더 느린 복잡한 데이터 구조를 사용하는 대신 매우 민첩한 빠른 조회 테이블을 사용합니다. 이것은 SSD 컨트롤러 입력 및 출력 작업을 수행해야하며 일관된 성능의 핵심입니다.

NVMe SSD EX900 PRO

비 DRAM SSD는 훨씬 저렴하고 더 작을 수 있지만 내부 플래시 메모리에만 데이터 인덱스 테이블을 저장할 수 있기 때문에 성능이 크게 저하됩니다. 최악의 경우, 각 읽기 작업마다 실제 데이터의 위치를 ​​알기 위해 한 작업이 필요하고 데이터 자체를 읽기 위해 다른 작업이 필요하므로 읽기 대기 시간이 두 배가 될 수 있습니다.

호스트 메모리 버퍼 란 무엇입니까?

처음에 언급했듯이 NVMe 1.2 사양은 호스트 메모리 버퍼 또는 HMB라는 새로운 기능을 도입했습니다. 이 기능은 SSD가 시스템의 DRAM 메모리 일부를 사용할 수 있도록 PCI-Express 인터페이스의 DMA 기능을 활용합니다. CPU SSD에 자체 DRAM이 필요하지 않습니다.

다시 말해, SSD는 시스템 RAM의 작은 부분을 사용하여 이러한 작업을 수행하며 SSD의 내부 DRAM을 "교체"하도록 설계되지 않았지만이를 보완하기 위해 실제로 시스템에서 많은 RAM을 제거하지는 않습니다. , 수십 (100MB 미만) 정도의 크기로 필요한 것 이상으로 충분합니다.

호스트 메모리 버퍼 SSD

그것은 사실이다 PCIe를 통해 DRAM에 액세스 장치 자체에있는 DRAM 칩에 액세스하는 것보다 속도가 훨씬 느리지 만 SSD 플래시 메모리에서 정보를 읽는 것과 관련하여 성능이 크게 향상됩니다.

HMB는 성능에 어떤 영향을 줍니까?

앞에서 설명한 것처럼 성능을 향상시키는 가장 좋은 방법은 SSD에 자체 DRAM이 있다는 것입니다. 액세스 속도가 훨씬 빠르기 때문입니다. 두 번째 옵션은 PCIe를 통해 시스템 RAM으로 작동하는 호스트 메모리 버퍼를 통하는 것이며, 최악의 옵션은이 중 하나도없고 캐시 메모리 SSD 자체의 플래시 메모리를 사용해야합니다.

HMB 캐시의 효과는 SSD의 랜덤 읽기 성능을 측정하면서 작업량 (현재 동시에 액세스하는 데이터의 양)을 늘리면 명확하게 볼 수 있습니다.

호스트 메모리 버퍼 Topshiba RC100

워크로드가 24GB에 도달 할 때까지 SSD의 성능은 매우 안정적으로 유지되며 해당 수치에서 떨어지기 시작합니다. 그러나 HMB를 사용하지 않으면 성능이 점차 저하되고 있습니다.