Algorytm wyrównywania zużycia pamięci flash NAND
Aug 27, 2022
Ponieważ liczba operacji zapisu w pamięci flash jest ograniczona, jeśli na niektórych jednostkach wykonano 100000 operacji zapisu, nie można zagwarantować niezawodności zapisu tych jednostek, a niektóre jednostki mogą ulec awarii. Na przykład niektóre dzienniki systemu zarządzania danymi są często przepisywane, podczas gdy niektóre dane w plikach statycznych prawie nigdy nie są przepisywane. Jeśli nie są kontrolowane, niektóre bloki zostaną wcześniej uszkodzone z powodu wielokrotnego wymazywania, a niektóre bloki nie zostały przepisane. Aby rozwiązać ten problem, operacje zapisu są równomiernie rozłożone na wszystkie komórki pamięci flash, aby uzyskać równowagę w całości, aby uniknąć awaria poszczególnych komórek. Wyrównywanie zużycia to algorytm szeroko stosowany do rozwiązania tego problemu.
Wyrównywanie zużycia ma zapewnić mechanizm mapowania bloków w celu rozłożenia utraty zapisu na różne bloki. Nie spowoduje to wcześniejszego zapisania niektórych bloków i unieważnienia całego dysku SSD. Zamiast tego niektóre zarezerwowane bloki zastąpią bloki, które uległy awarii przed oczekiwanym okresem użytkowania. Algorytm ten sprawia, że żywotność całego urządzenia jest taka sama jak maksymalna żywotność lampy błyskowej.
Ogólnie rzecz biorąc, do realizacji równoważenia zużycia używany jest algorytm przechowywania plików oparty na stronach. Nie ma zależności jeden do jednego między adresem fizycznym a adresem logicznym pamięci flash. Gdy dysk SSD otrzyma żądanie zapisu danych, nie zapisze w kolejności, ale znajdzie jednostkę z najmniejszym zapisem. Dlatego też, podczas dynamicznego przydzielania bloków fizycznych do zapisu danych, odpowiednie priorytety będą przydzielane zgodnie z wykorzystaniem każdego bloku, tak aby zrównoważyć żywotność każdej komórki całej pamięci.







