Metody detekcji i korekcji błędów w pamięciach masowych

| Technika

Układy pamięci NAND Flash 3D powszechnie stosuje się do produkcji dysków SSD dla zastosowań biurowo-domowych. Niemniej technologia ta wkrótce zawita do aplikacji przemysłowych, dlatego warto zapoznać się z różnicami pomiędzy metodami detekcji i korekcji błędów stosowanymi w pamięciach 2D i 3D.

Metody detekcji i korekcji błędów w pamięciach masowych

Rys. 1. Budowa komórki pamięci: a) 2D, b) 3D

Układy pamięci NAND Flash typu 3D zawdzięczają swoją wysoką pozycję rynkową dużej trwałości wynikającej z budowy komórki pamięci oraz relatywnie niskiej cenie za gigabit pojemności (rys. 1).

Komórkę pamięci NAND Flash 3D stanowi pionowy tranzystor (rys. 1b), a informacja jest zapisywana i przechowywana w postaci ładunku elektrycznego w pojemności "pływającej" bramki tranzystora MOS. Pływająca bramka wraz z dwoma warstwami izolatora otacza kanał tranzystora z krzemu polikrystalicznego.

W efekcie powierzchnia a zatem pojemność bramki jest większa niż w przypadku komórki pamięci wykonanej w technologii 2D (rys. 1a), większa jest też jej grubość.

Rys. 2. Rysunek poglądowy przedstawiający budowę NAND Flash: a) macierz komórek pamięci 2D, b) macierz komórek pamięci 3D, c) łańcuch komórek pamięci 2D i d) struktura komórek pamięci 3D

To istotne, bo wymiary bramki wpływają na jej parametry elektryczne i trwałość komórki pamięci. Typowe układy pamięci 2D MLC w technologii 15 nm cechuje trwałość 3000 cykli kasowania/programowania oraz niewielka upływność dająca przy maksymalnym stopniu zużycia czas pracy do 1 roku. Pod warunkiem zastosowania właściwych metod detekcji i korekcji błędów parametry te odpowiadają trwałości układów 3D TLC.

Układy pamięci 3D NAND Flash zawdzięczają swoją dużą pojemność wielowarstwowej strukturze komórek pamięci (rys. 2).

Jak zostało to zobrazowane na rysunku 1b, komórki pamięci 3D budują pionowe tranzystory budujące wielowarstwowe stosy (96 i więcej) - rysunek 2b. Są one umieszczone obok siebie (rys. 3).

Taka budowa zapewnia uzyskanie dużego upakowania danych w strukturze półprzewodnikowej. W przypadku pamięci 3D nie podaje się rozmiaru charakterystycznego technologii w nm, gdyż o pojemności układu pamięci decyduje głównie liczba warstw i ich struktura.

Źródła błędów w NAND Flash

Rys. 3. Poziomy widok komórek pamięci 3D

Niezależnie od interfejsu (USB, SATA, PCIe), każdy kontroler pamięci NAND FLash zawiera blok detekcji i korekcji błędów danych. Błędy powstają w wyniku dystrybucji cykli zapisu, odczytu, kasowania, upływności, SILC (stress induced leakage current), uwalniania pułapek elektronowych (ang. charge de-trapping), uszkodzeń trwałych i przemijających. Są one naturalną konsekwencją budowy układów pamięci i zastosowanych technologii, można zaryzykować określenie "wad".

Relatywnie nowa technologia 3D nie eliminuje wad swojej poprzedniczki 2D. Wprowadza ona nowe wyzwania związane z upływnością w rozbudowanej pionowo strukturze. W przypadku pamięci 3D można wyróżnić znane z układów 2D upływności do: kanału tranzystora, bramki oraz nowe: do warstw pośrednich (ang. spacers), pomiędzy łańcuchami komórek pamięci i poprzez współdzieloną warstwę pływającej bramki (trap layer - rys. 4).

Upływność jest silnie zależna od temperatury, co zostało zobrazowane na rysunku 5.

Ponadto, w strukturach 3D, komórki pamięci znajdujące się na górnych warstwach mogą mieć różne wymiary i parametry od znajdujących się na warstwach dolnych. Wszystko to powoduje, że układy pamięci 3D wymagają innych metod detekcji i korekcji błędów niż pamięci typu 2D.

Metody detekcji i korekcji błędów

Rys. 4. Upływność pomiędzy sąsiadującymi komórkami pamięci

W pamięciach masowych zbudowanych z zastosowaniem NAND Flash stosuje się metody detekcji-korekcji BCH lub LDPC. Nazwa BCH pochodzi od nazwisk twórców metody Bose-Chaudhuri-Hocquenghema i jest ona stosowana do detekcji i korekcji błędów w pamięciach 2D.

Kody BCH należą do grupy cyklicznych (wielomianowych) kodów blokowych. BCH jest kodem o długości słowa kodowego n, zawierającego k elementów informacji. Liczba elementów kontrolnych wynosi n-k (rys. 6).

Każdy zapis danych do dysku, powoduje wygenerowanie przez jego kontroler słów kodowych, a następnie ich zapis w stronach pamięci (rys. 7).

Jak widać, w trakcie zapisu generowane są elementy kontrolne, zwane bitami "ECC". Ich zapamiętanie wymaga dodatkowej pojemności w tzw. przestrzeni nadmiarowej (ang. spare area). Przykładowo, strona pamięci o pojemności 16 kB może mieć dodatkowo 1 kB przestrzeni nadmiarowej. W cyklu odczytu słowo kodowe jest odczytywane z układu pamięci, następnie dekoder ustala liczbę bitów zawierających przekłamania oraz ich lokalizację, przekłamane bity są korygowane.

Typowe kontrolery dysków SSD pozwalają na detekcję i korekcję 64-72 bitów w każdym sektorze o wielkości 1 kB (pamięci TLC 2D), 24-40 bitów w sektorze 1 kB - MLC 2D. Zdolność BCH do detekcji-korekcji błędów może być ustalona metodami analitycznymi - zupełnie inaczej jest w przypadku kodów LDPC.

Kody LDPC (Low-Density Parity Check) należą do grupy kodów liniowych. Słowo kodowe jest tworzone za pomocą macierzy generującej G. Powstaje ono poprzez przemnożenie wektora danych przez macierz v = u·G. W przypadku kodów LDPC nieznany jest skuteczny algorytm pozwalający na wyznaczenie odległości Hamminga pomiędzy dwoma słowami kodowymi. Z tego też powodu wyznaczanie przybliżonej skuteczności detekcji i korekcji błędów przez LDPC jest możliwe tylko metodami statystycznymi.

Rys 5. Zależność pomiędzy czasem upływności a temperaturą

W przypadku LDPC istnieją dwie metody detekcji i korekcji błędów danych: hard i soft. Metoda hard decoding polega na jednorazowym odczycie danych z NAND Flash i przesłaniu ich na wejście dekodera. Skuteczność detekcji/korekcji tej metody jest nieznacznie wyższa od BCH. W sytuacji, gdy możliwa jest zmiana napięcia referencyjnego VREF i ponowny odczyt danych, możliwe jest utworzenie informacji statystycznej wskazującej prawdopodobieństwo występowania błędu (rys. 8).

Utworzona statystyka jest wykorzystywana przez iteracyjny algorytm detekcji-korekcji błędów. Podejmuje on decyzje o zmianie bitów na przeciwne tj. 0->1, 1->0, dążąc do minimalizacji wagi syndromu błędu.

Zasadniczą zaletą metody soft decoding jest uwzględnienie statystyki charakteryzującej upływność występującą w strukturze. W połączeniu z techniką zapisu pSLC i pMLC, LDPC pozwala na zastosowanie 3D NAND Flash w wymagających aplikacjach przemysłowych.

Podsumowanie

Rys 6. Blok danych z podziałem na k elementów informacji oraz n-k elementów kontrolnych

W związku z ciągłym rozwojem technologicznym granice technologii planarnej i tym samym możliwości rozwoju technologii 2D w pamięciach Flash zostały już w pewnym stopniu osiągnięte. Niemniej jednak w dalszym ciągu jest ona pożądana na rynku przemysłowym, gdzie istnieje zderzenie dwóch przeciwstawnych potrzeb i interesów związanych z opłacalnością produkcji starszych rozwiązań i potrzebą zapewnienia wysokiej trwałości i niezawodności zapisu danych.

Rozwiązaniem dla powyższej sprzeczności jest rozwój technologii 3D dla przemysłu, co do niedawna było problemem. Jednym z powodów jest proces walidacyjny. Wytwarzane obecnie urządzenia charakteryzują się cyklem życia 5- bądź 10-letnim, co uniemożliwia wymianę tak istotnego elementu jak Flash w ramach serwisu.

Rys. 7. Przykładowy podział strony układu pamięci NAND Flash na bloki (sektory)

Jako drugi powód można było wymienić niepotwierdzoną wcześniej wytrzymałość i niezawodność technologii TLC 3D na poziomie MLC, co uległo zmianie w roku 2018 na poziomie MLC lub coraz bardziej popularnej w systemach krytycznych - najstarszej i co za tym idzie najdroższej - technologii SLC.

Zgodnie z przewidywaniami Wilk Elektronik, na przestrzeni kolejnych 5 lat rynek zmieni się diametralnie - widzimy coraz większe zapotrzebowanie z segmentu przemysłowego na wyższe pojemności nowych produktów - takich jak np. SSD w formacie M.2. Jest to związane z ciągłym rozwojem aplikacji, które istnieją na rynku już od 5-15 lat. Nastał zatem czas na zmianę rozwiązań typu CFast na technologie oparte o nowszy interfejs - mówi Wiesław Wilk, prezes Wilk Elektronik.

Rys. 8. Dystrybucja poziomów napięć i prawdopodobieństwo odczytu wartości 0 lub 1

Niestety technologia 2D MLC czy SLC jest coraz słabiej dostępna, a jej koszty rosną, dlatego też rozpoczyna się proces realnego przejścia na 3D TLC. Nasza firma będzie jedną z pierwszych na świecie, która otrzyma próbki pamięci 3D TLC o jakości przemysłowej od firmy Toshiba - dodał p. Wilk.

Będą one mogły być przełączone w tryby pSLC bądź pMLC, co niewątpliwie ułatwi prace rozwojowe klientom. Warto podkreślić, że w perspektywie kolejnych 8 lat technologia 3D TLC oraz technologie pokrewne będą już wykorzystywane w większości nowych i modernizowanych starszych rozwiązań rynkowych.

Wilk Elektronik SA
www.goodram.com