Co to jest bufor pamięci hosta w dyskach SSD NVMe i jak działa?

NVMe 1.2 specyfikacja wprowadziła nową funkcję o nazwie Bufor pamięci hosta lub HMB (nie mylić z pamięcią graficzną HBM), z obietnicą radykalnej poprawy wydajności dysków SSD PCIe NVMe. W tym artykule wyjaśniamy, co to jest, jak działa i jak udaje się poprawić wydajność dysków SSD, które mają tę zdolność.

Większość nowoczesnych dysków SSD obejmuje: wbudowana pamięć DRAM chip, zazwyczaj z 1 GB pamięci DRAM stosunek za każdy 1 TB pamięci , To RAM jest ogólnie przeznaczony do śledzenia, gdzie fizycznie znajduje się każdy logiczny blok informacji przechowywanych w pamięci NAND - informacje zmieniające się w każdym cyklu zapisu - i jest sprawdzany za każdym razem, gdy wykonywana jest operacja odczytu.

Bufor pamięci hosta w dyskach SSD NVMe

Standardowy stosunek DRAM do NAND, o którym mówiliśmy, zapewnia wystarczającą ilość pamięci RAM dla SSD kontroler do korzystania z bardzo elastycznej tabeli szybkiego wyszukiwania, zamiast używania bardziej złożonych struktur danych, które byłyby znacznie wolniejsze. To znacznie zmniejsza ilość pracy kontroler SSD musi zrobić, aby wykonać operacje wejścia i wyjścia, i jest kluczem do stałej wydajności.

NVME SSD EX900 PRO

Dyski SSD inne niż DRAM mogą być tańsze i jeszcze mniejsze, ale ponieważ mogą przechowywać tabele indeksów danych tylko w wewnętrznej pamięci flash, ich wydajność jest dość niekorzystna. W najgorszym przypadku opóźnienie odczytu można podwoić, ponieważ każda operacja odczytu wymaga jednej operacji, aby wiedzieć, gdzie znajdują się dane fizyczne, a drugiej operacji odczytu samych danych.

Co to jest bufor pamięci hosta?

Jak powiedzieliśmy na początku, specyfikacja NVMe 1.2 wprowadziła nową zdolność zwaną Host Memory Buffer lub HMB. Ta funkcja wykorzystuje możliwości DMA interfejsu PCI-Express, aby umożliwić dyskowi SSD wykorzystanie części pamięci DRAM z systemu CPU zamiast wymagać, aby dysk SSD był wyposażony we własną pamięć DRAM.

Innymi słowy, dysk SSD wykorzystuje niewielką część pamięci RAM systemu do wykonywania tych operacji, a ponieważ nie jest przeznaczony do „wymiany” wewnętrznej pamięci DRAM dysków SSD, ale do jej uzupełnienia, tak naprawdę nie usunie dużej ilości pamięci RAM z systemu , tylko wielkości rzędu dziesiątek (mniej niż 100 MB), więcej niż wystarcza na to, czego potrzebujesz.

Bufor pamięci hosta SSD

To prawda, że dostęp do DRAM przez PCIe jest znacznie wolniejszy niż dostęp do układu DRAM znajdującego się w samym urządzeniu, ale mimo to znacznie poprawiono wydajność w odniesieniu do odczytu informacji z pamięci flash SSD.

Jak HMB wpływa na wydajność?

Jak wyjaśniliśmy wcześniej, najlepszą opcją dla lepszej wydajności jest to, że SSD ma własną pamięć DRAM, ponieważ dostęp będzie znacznie szybszy. Drugą opcją jest bufor pamięci hosta, który działa poprzez PCIe do systemowej pamięci RAM, a najgorszą opcją byłoby brak takiej pamięci i konieczność użycia własnej pamięci flash SSD.

Efekty pamięci podręcznej HMB można wyraźnie zobaczyć, mierząc wydajność odczytu losowego dysku SSD przy jednoczesnym zwiększeniu obciążenia (ilość danych jest aktywnie uzyskiwana jednocześnie).

Bufor pamięci hosta Topshiba RC100

Widać wyraźnie, że dopóki obciążenie nie osiągnie 24 GB, wydajność dysku SSD pozostaje bardzo, bardzo stabilna i zaczyna spadać od tej liczby. Jednak przy wyłączonym HMB wydajność stopniowo spada i jest coraz większa.