Jeśli wierzyć producentom, już najbliższym czasie możemy się spodziewać na rynku nowego typu układów pamięci Flash-NAND - pamięci QLC. Co ten skrót oznacza i czego możemy się po nowych pamięciach spodziewać? Jak będą się zachowywały wykorzystujące je nośniki? Czy będzie warto je kupować i do czego będzie można je wykorzystywać?
QLC, czyli Quad Level Cell, to kolejny krok w rozwoju technologii komórek wielostanowych. Nowa technologia ma pozwolić na przechowywanie 4 bitów informacji w jednej komórce pamięci. W połączeniu z technologią 3D NAND polegającą na zamykaniu w jednym układzie scalonym wielu warstw komórek pamięci ma doprowadzić do wzrostu pojemności układów Flash-NAND przy jednoczesnym obniżeniu kosztów ich wytworzenia. Jednak wcześniejsze doświadczenia z pamięciami TLC przechowującymi trzy bity informacji w komórce pamięci wskazują, że za duże i tanie układy możemy dostać rachunek, jakiego się nie spodziewamy.
Czego zatem możemy się spodziewać po pamięciach QLC? W oficjalnie udostępnianych informacjach nie znajdziemy zbyt wielu danych technicznych. Dla producentów i sprzedawców najważniejszy jest marketing i sprzedaż oraz to, żeby produkty wytrzymały okres gwarancyjny, a nasze dane, które będziemy przechowywać na tych nośnikach...no cóż, trzeba było robić kopie...
Zacznijmy od tego, czym jest technologia komórek wielostanowych. Komórka pamięci w układach pamięci Flash, to zmodyfikowany tranzystor polowy. Modyfikacja polega na odizolowaniu obszaru nazywanego bramką pływającą w sposób pozwalający na uwięzienie w nim elektronów tak, aby nie mogły one uciec po odłączeniu zewnętrznego zasilania. W ten sposób układ pamięci może długotrwale przechowywać nasze dane.Zgromadzone w bramce pływającej elektrony wpływają na przepływ prądu pomiędzy źródłem, a drenem tranzystora pozwalając na odczytanie stanu logicznego. W najstarszych komórkach pamięci - SLC (Single Level Cell) wyróżniane były dwa stany fizyczne - obecność lub brak elektronów w bramce pływającej, które można zinterpretować jako logiczne zera lub jedynki. Wzrost dokładności pomiarów prądu pomiędzy źródłem, a drenem pozwolił na wprowadzenie komórek MLC (Multi Level Cell) przechowujących 2 bity informacji na komórkę. Wymagało to rozróżnienia 4 poziomów naładowania bramki pływającej odpowiadających logicznym wartościom 00, 01, 10 i 11. Kolejnym krokiem były pamięci TLC (Triple Level Cell), gdzie do przechowywania trzech bitów informacji w każdej komórce konieczne jest wyróżnienie 8 poziomów naładowania bramki pływającej. Tak - dołożenie do komórki kolejnego bitu oznacza, że musimy być w stanie odróżnić kolejną potęgę dwójki stanów naładowania bramki pływającej. W przypadku pamięci QLC jest to 16 poziomów, a jeśli kiedykolwiek powstaną komórki przechowujące 5 bitów, będziemy potrzebowali odróżniać aż 32 poziomy naładowania odpowiadające każdej możliwej kombinacji wartości logicznych przechowywanych w tej komórce!
Nie trzeba chyba tłumaczyć, że odróżnianie coraz to większej liczby poziomów naładowania bramki pływającej jest coraz trudniejsze. A jak się robi trudne rzeczy, łatwo o błędy. I te błędy występują...ale na szczęście są sposoby, by sobie z nimi radzić i je korygować. Służą do tego specjalne kody korekcji błedów przechowywane w układach pamięci pomiędzy naszymi danymi. Oczywiście im więcej błędów może wystąpić, tym silniejsze kody powinny chronić informację użytkownika. I tak też się dzieje. Wraz z rozwojem układów Flash-NAND korekcja błędów bitowych jest coraz bardziej złożona. Należy się spodziewać, że w przypadku pamięci QLC zastosowane kody korekcji będą jeszcze bardziej zaawansowane niż jakiekolwiek używane dotąd. Bez tego liczne błędy bitowe będą nieustannie zagrażały integralności naszych dokumentów, zdjęć i innych danych. Z jednej strony to dobrze - tak ma być...ale jest też druga strona medalu. Kiedy taki nośnik ulegnie awarii nie każdy użytkownik zechce go wymienić na gwarancji lub bez żalu oddać do utylizacji. Często przechowywana na tym nośniku informacja ma wartość znacznie przekraczającą wartość samego urządzenia. Co w sytuacji, kiedy będziemy chcieli te dane odzyskać? Możemy być pewni, że wraz ze wzrostem złożoności wewnętrznej organizacji układów pamięci i algorytmów zapisu danych ich zrozumienie i odtworzenie w laboratoriach odzyskiwania danych będzie wymagało więcej nauki, pracy, czasu i wysiłku. Oznacza to, że i tak niemałe ceny odzyskiwania danych z dysków SSD i innych nośników półprzewodnikowych mogą jeszcze wzrosnąć.
Co zatem możemy powiedzieć o niezawodności nośników, które zapewne niebawem będziemy mogli kupić w każdym sklepie komputerowym? Ponieważ jeszcze ich nie ma musimy się oprzeć na naszej wiedzy na temat zasad funkcjonowania układów Flash-NAND oraz dotychczasowych doświadczeniach. Doskonale wiemy, że zapewnienia o niezniszczalności nośników półprzewodnikowych można włożyć między bajki. Wprawdzie są one stosunkowo odporne na czynniki zewnętrzne, ale mają jedną ważną słabość. Ich komórki zużywają się w procesie kasowania i zapisu danych.
W układach typu flash-NAND do zapisu i kasowania pamięci wykorzystuje się zazwyczaj znane z mechaniki kwantowej zjawisko tunelowania Fowlera - Nordheima. Pozwala ono na umieszczanie lub usuwanie z bramki pływającej elektronów wykorzystując ich falowe własności. Zastosowanie tego sposobu zapisu i kasowania danych w układach Flash-NAND wymaga użycia napięcia ok. 20 V. Tak wysokie napięcie może skutkować lokalnym przegrzaniem i osłabieniem warstwy tlenku krzemu, która pełni rolę izolatora separującego bramkę pływającą od reszty tranzystora. W pewnym momencie ta warstwa przestaje spełniać swoją funkcję i elektrony zaczynają uciekać. Pojawia się coraz więcej błędów bitowych. W pewnym momencie ich ilość przekracza możliwości kodów korekcji. błędów i kontroler wyłącza cały blok z eksploatacji. Aby każdy blok mógł służyć jak najdłużej, w nośnikach implementowane są algorytmy kontroli i wyrównywania zużycia, które mają we właściwym momencie zacząć oszczędzać najbardziej zużyte bloki. Przynajmniej w teorii...bo w praktyce nośniki półprzewodnikowe lubią umrzeć nagle i niespodziewanie daleko wcześniej niż przewidują to deklarowane przez producentów resursy.
Zastanówmy się chwilę nad czynnikami wpływającymi na trwałość komórek pamięci. Czy ilość bitów w komórce ma na nią wpływ? Okazuje się, że tak. Pamięci typu SLC potrafiły wytrzymywać nawet 100.000 operacji kasowania i zapisu. Dla pamięci MLC zazwyczaj było to maksymalnie kilkanaście tysięcy operacji. Komórki pamięci TLC przeciętnie ulegają awarii po 3 do 5 tysiącach operacji kasowania lub zapisu. Zjawisko to ma swoją przyczynę. Im więcej bitów upakujemy w komórce pamięci, tym mniejsze jest akceptowalne odchylenie od oczekiwanych parametrów prądu płynącego pomiędzy elektrodami tranzystora w procesie odczytu. O ile ucieczka małej liczby elektronów z bramki pływającej pamięci SLC nie wpływa w istotny sposób na interpretację reprezentowanego przez zgromadzony w niej ładunek stanu logicznego, o tyle w przypadku komórki TLC, a tym bardziej QLC z łatwością może doprowadzić do bitowych przekłamań. W przypadku pamięci QLC ucieczka 50 elektronów będzie skutkowała wystąpieniem bitowego błędu Trudno więc oczekiwać, by komórki pamięci QLC wytrzymywały więcej niż 1000 operacji kasowania lub zapisu...najgorsze z nich mogą mieć problemy z wysoką awaryjnością już na poziomie 100 takich operacji. To zdecydowanie za mało dla nośnika wielokrotnego zapisu w pełnym tego słowa znaczeniu.
Jakie jeszcze czynniki mogą mieć wpływ na trwałość komórek pamięci? Z pewnością rozmiar tranzystora. Im mniejszy tranzystor, tym trudniej zachować jednorodność struktur komórek pamięci. W naszym laboratorium zaobserwowaliśmy wyraźny wzrost awaryjności i liczby przypadków utraty danych w przypadku nośników wykorzystujących układy wykonane w technologii poniżej 20 nm. Podobne doświadczenia mają także koledzy z innych firm odzyskujących dane. Awaryjności sprzyja także technologia 3D NAND, ponieważ wiąże się ona z trudnościami z odprowadzaniem ciepła oraz z indukcją pomiędzy sąsiednimi warstwami komórek pamięci. Wprawdzie producenci starają się zapobiegać tym zjawiskom, jednak wiąże się to z zastosowaniem coraz bardziej skomplikowanych metod rozpraszania i randomizacji zapisywanych w układach danych, a do awarii i tak często dochodzi.
Jeżeli układy QLC faktycznie będą tak tanie i tak pojemne, jak to dziś zapowiadają działy marketingu niektórych producentów, to faktycznie mogą doprowadzić do rewolucji na rynku. W krótkim czasie mogą się pojawić duże i pojemne dyski SSD, które mogą się wydawać bardzo atrakcyjne potencjalnym nabywcom. Wysoka wydajność i konstrukcja pozbawiona delikatnej i precyzyjnej mechaniki charakterystycznej dla dysków twardych mogą sprawiać wrażenie zaawansowanej i niezawodnej technologii. O ile technologia nośników półprzewodnikowych faktycznie jest zaawansowana i złożona, to tyle niezawodność często jest tylko marketingowym mitem. Pamiętajmy, że celem producentów jest produkcja i sprzedaż urządzeń, a nie dbanie o bezpieczeństwo naszych danych. Jakakolwiek odpowiedzialność producentów obejmuje wyłącznie sam nośnik i kończy się wraz z gwarancją.
Pół biedy, jeśli układy QLC będą używane do archiwizowania danych lub będą pełniły funkcję pomocniczą - np. przechowując obrazy systemów operacyjnych z ustawieniami fabrycznymi (partycje recovery). Nic strasznego, jeśli będą wykorzystywane, jako dyski systemowe, które po awarii wymieni się na nowe. Ale co, jeśli awarii ulegnie nośnik zawierający jedyną kopię naszych ważnych danych?
Autor: Paweł Kaczmarzyk, www.kaleron.pl.
Komentarze