Drukuj
kontroler dysku SSD

Wymogi stawiane dyskom SSD to przede wszystkim niezawodność i  szybkość działania. Nowoczesne dyski SSD , najprościej rzecz ujmując składają się z kontrolera i kości pamięci NAND. Kontrolery stosuje się w ściśle określonych celach.

Zastosowanie chipów pamięci typu NAND FLASH w dyskach SSD, wymaga przeprowadzenia kilku działań w celu optymalizacji zapisu i odczytu informacji na dysku SSD. Wszystkie te działania podejmuje kontroler wykonując kod wewnętrznego oprogramowania – firmware. Jednym z podstawowych zadań kontrolera jest translacja adresu sektora dyskowego do fizycznego adresu strony pamięci NAND . Translacja jest nieodzowna, ponieważ system operacyjny adresuje dane do zapisania na dysku używając wielkości sektora 512B, zaś rozmiar konstrukcyjny klasycznej strony pamięci chipa NAND FLASH stanowi 8 lub 16kB. (Strona jest najmniejszym rozmiarem dostępnym dla operacji zapisu i odczytu, a strony składają się na bloki. Blok jest minimalnym rozmiarem dla operacji kasowania).

W pamięci NAND nie można zapisać strony przed wcześniejszym wykasowaniem całego bloku pamięci. Jeden Blok pamięci mieści od 256 do 512 stron. Wszystkimi procesami odczytu, zapisu i kasowania zawiaduje kontroler i musi on tak rozporządzać procesem translacji adresów, by współgrał on z procesem porządkowania zbędnych danych (garbage collection). Proces GC defragmentuje bloki pamięci w taki sposób, aby użyteczne dane były przeniesione do pustych stron pamięci tak, aby maksymalnie zapełnić blok. Natomiast Blok z danymi, które nie są już użyteczne, może zostać wykasowany w między czasie i w ten sposób przysposobiony do dalszego zapisu. Innym ważnym zadaniem kontrolera jest dystrybucja danych pomiędzy wszystkimi blokami pamięci NAND FLASH w ten sposób, aby zrównoważyć ich zużycie. Proces ten jest oparty na miernikach cykli zapisu/kasowania bloków pamięci.

Wszystkie procesy kontrolera muszą uwzględniać mapę uszkodzonych bloków, która jest tworzona w momencie uruchomienia dysku i jest zwiększana w przypadku pojawienia się nowych podczas użytkowania dysku. Kontroler mapuje je do odpowiedniej strefy zapasowej.

Oprócz tego często kontroler jest odpowiedzialny za kompresję danych w celu zwiększenia prędkości zapisu i odczytu danych.

Kontroler dysku SSD oraz kart pamięci SD często wprowadza dodatkowe algorytmy detekcji i korekcji błędów BCH, LDPC hard oraz soft decoding w zależności od rodzaju chipów pamięci. Kontrolery (Phison S10, kontrolery SD) stosują algorytmy BCH, ponieważ obsługują pamięci poziomu 2D . W przypadku chipów 3D stosuje się algorytm LDPC. Np. (Phison S11). Do każdej partii zapisywanych danych Kontrolery SSD generują bity ECC, które są zapisywane na specjalnych stronach pamięci. W przypadku wykrycia błędów danych, kontroler korzysta z  tych dodatkowych bitów ECC w celu korekcji błędów danych. W takim przypadku blok źródłowy oznaczany jest jako niesprawny a dane skorygowane przenoszone są do nowej strony.

W przypadku niekorygowalnych za pomocą bitów ECC,  błędów danych, kontroler podejmie próbę odczytu przy zmiennych napięciach odniesienia według algorytmu LDPC za pomocą oprogramowania.

Kontrolery dysków SSD mają z założenia gwarantować niezawodną pracę dysku SSD w całym okresie jego użytkowania, jednak życie pokazuje, że mogą być właśnie przyczyną jego awarii.

Z powyższego wynika, że kontroler dysku SSD ma wiele skomplikowanych zadań, które musi wykonywać niemalże równocześnie. Stąd też trudności w odzyskiwaniu danych z dysku SSD. Wszystkie algorytmy i zadania kontrolera muszą zostać odtworzone przez inżynierów. Inaczej odtworzenie użytecznych danych będzie niemożliwe.

Więcej informacji:

https://www.alldatarecovery.pl/ssd/244-satafirm-s11

https://eclicto.pl/odzyskiwanie-danych/odzyskiwanie-danych-z-uszkodzonego-dysku-ssd/

https://www.alldatarecovery.pl/ssd/219-technologia-ssd-wady-zalety-naprawa-i-odzyskiwanie-plikow