Dane ECC i zapasowe bloki pamięci chroniące informacje zapisywane na dyskach SSD marki Kingston przed błędami

Kompleksowa ochrona danych

We wszystkich dyskach SSD firmy Kingston wykorzystywana jest kompleksowa ochrona danych, która chroni dane użytkownika dysku SSD natychmiast po przesłaniu ich z systemu hosta na dysk SSD, a następnie z dysku SSD do komputera hosta.

Transfery danych w dysku SSD

Wszystkie dyski SSD są wyposażone w kontrolery umożliwiające komunikację z systemem hosta, do którego podłączono dysk. Dane zapisywane na dysku SSD lub z niego odczytywane są przesyłane za pośrednictwem takiego kontrolera, niezależnie od formatu dysku SSD (2,5 cala, AIC, M.2 itp.) i stosowanego protokołu (np. SATA lub NVMe).

Na rynku są obecnie dostępne kontrolery SSD o różnych konstrukcjach. Niektóre z nich mają wbudowaną pamięć podręczną (zazwyczaj typu SRAM), inne mogą wymagać odrębnego układu (lub układów) pamięci DRAM, który służy do tymczasowego przechowywania wewnętrznych tablic mapowania pamięci Flash i przetwarzanych danych użytkownika. Jeszcze inne kontrolery nie przechowują tabeli mapowania w odrębnej pamięci DRAM – zamiast tego na ten cel przeznaczana jest część pamięci NAND Flash.

Dane zapisywane na dyskach SSD są przechowywane w układach pamięci NAND Flash. Układy NAND są urządzeniami pamięci trwałej, co oznacza, że zapisane w nich dane nie zostają utracone w chwili odłączenia zasilania. Gdy kontroler SSD otrzymuje polecenie zapisania lub pobrania danych, zapisuje je w układach pamięci NAND Flash lub je z nich odczytuje.

Wykrywanie i korekcja błędów

Dyski SSD muszą zapewniać integralność danych przekazywanych z komputera hosta do pamięci NAND poprzez kontroler dysku SSD. Dane transferowane z hosta na dysk SSD określa się niekiedy danymi w ruchu, ponieważ zostaną one dopiero zapisane w pamięci NAND Flash. W kontrolerach dysków SSD stosuje się technologię korekcji błędów często zwaną ECC od Error Correction Code (kod korekcji błędów). Jej zadaniem jest wykrywanie i korygowanie przeważającej większości błędów występujących na ścieżce przesyłania danych. Wraz z każdym zapisanym blokiem danych układy pamięci Flash przechowują dodatkowe informacje służące do korekcji błędów. Informacje takie pozwalają kontrolerowi SSD korygować wiele błędów podczas odczytywania bloków danych. Podobnie jak w przypadku nośników w talerzowych dyskach twardych, podczas normalnej pracy pamięci NAND Flash występują błędy bitów, które zostają od razu naprawione dzięki danym ECC.

W rzadkich przypadkach błędy danych w odczytywanym bloku są niemożliwe do naprawienia. Takie sytuacje są rozpoznawane przez kontroler dysku SSD i zgłaszane hostowi jako błędy ECC niemożliwe do skorygowania (ang. Uncorrectable ECC Error, UECC). Dyski SSD mają zapewniać najwyższą niezawodność. W przypadku dysków SSD klasy klienckiej błędy UECC występują zazwyczaj nie częściej niż w 1 na 10

-15 odczytanych bitów, w przypadku urządzeń klasy korporacyjnej wskaźnik ten wynosi 1 na 10-16 odczytanych bitów. Zgodnie z opracowanymi przez organizację JEDEC wymaganiami JEDS218A i JESD219 dotyczącymi współczynnika UBER dla korporacyjnych i klienckich dysków SSD, na dysku SSD klasy korporacyjnej może wystąpić tylko 1 nieodzyskiwalny błąd bitu przy 1 błędzie bitu na każde 10 kwadrylionów przetworzonych bitów (~1,11 petabajtów), a na klienckim dysku SSD przy 1 błędzie bitu na każdy 1 kwadrylion przetworzonych bitów (~0,11 petabajtów).

Ponadto firma Kinsgston stosuje w swoich dyskach SSD zapasowe bloki pamięci NAND Flash. Takie obszary pamięci są zazwyczaj wykorzystywane jako nadmiarowe bloki pamięci, do których nie ma dostępu użytkownik dysku SSD. Jeśli w bloku danych pamięci NAND występują poważne błędy, zostaje on oznaczony jako uszkodzony i wyłączony z użycia. W jego miejsce do puli używanych bloków trafia jeden z bloków nadmiarowych. W razie konieczności podczas tego procesu dane są korygowane z wykorzystaniem danych ECC. Zastosowanie zapasowych bloków wydłuża okres przydatności eksploatacyjnej dysków SSD i podnosi ich trwałość.