Retencja danych
Pamięć masowa oparta na technologii NAND flash jest obecnie głównym wyborem dla wbudowanych systemów przemysłowych. Dzięki braku ruchomych części i wysokiej liczbie operacji wejścia/wyjścia na sekundę (IOPS), urządzenia z technologią NAND flash są bardzo skuteczne w aplikacjach przemysłowych i systemach serwerowych. Mimo że pamięć masowa oparta na technologii NAND flash zapewnia wyższą wydajność w porównaniu z tradycyjnymi rozwiązaniami, projektanci systemów mogą mieć pewne obawy dotyczące niezawodności danych. A jednym z takich zagadnień jest retencja danych.
Retencja danych to miara, jak długo komórka pamięci flash może utrzymać zaprogramowany stan, przy wyłączonym urządzeniu. Na zachowanie danych wpływa wiele czynników, takich jak typ pamięci flash, cykle P/E, wzorce użytkowania, temperatura i inne.
Niniejszy dokument przedstawia podstawowe pojęcia, dotyczące zachowania danych w pamięciach flash oraz różnice między konfiguracjami pamięci SLC, MLC, 2D TLC i 3D TLC.
Podstawy pamięci Flash
Komórka pamięci NAND flash to zasadniczo tranzystor z bramką pływającą. Między bramką sterującą a podłożem dodano dodatkową bramkę, znaną jako bramka pływająca. Bramka pływająca jest elektronicznie izolowana przez warstwę tlenku izolacyjnego i nie posiada połączeń elektrycznych. Ładunki w bramce pływającej pozostają tam przez długi czas. W urządzeniach pamięci flash wszystkie dane przechowuje się jako ładunki na bramce pływającej. Elektrony przepływają między bramką sterującą a podłożem. Gdy do bramki sterującej zostanie przyłożone napięcie, elektrony są przyciągane w górę i tunelują przez cienką warstwę tlenku.
Bramka pływająca zatrzymuje elektrony, a ładunek elektryczny się kumuluje. Jest to proces programowania komórki NAND. Aby wymazać komórkę NAND, napięcie przykłada się do podłoża, zmuszając elektrony do powrotu przez warstwę tlenku z bramki pływającej do podłoża, co uwalnia ładunek z bramki pływającej.
Liczba elektronów w bramce pływającej powoduje różnicę w napięciu bramki. Napięcie to określa sygnał bitowy, który reprezentuje wartość danych. Dane odczytuje się poprzez sprawdzenie poziomu napięcia na komórce. Warstwa tlenku izolacyjnego zużywa się w wyniku powtarzającego się tunelowania elektronów. Z czasem część elektronów może zostać uwięziona w bramce pływającej lub wycieknąć z powrotem do podłoża, co prowadzi do utraty danych.
Technologia bramek pływających jest standardem dla pamięci SLC i MLC. Jednak niektóre formy pamięci 3D TLC zaczynają przyjmować nową technologię znaną jako „charge trap". Zasadniczo zaletą technologii „charge trap" jest to, że elektrony w bramce pływającej mają większą swobodę przemieszczania się, co oznacza, że mogą z czasem wypaść z pozycji. Z kolei elektrony w technologii „charge trap" są praktycznie nieruchome. Ponieważ pamięć 3D TLC jest konstruowana pionowo, technologia „charge trap" jest preferowana, ponieważ ułatwia układanie warstw. Niemniej jednak producenci wciąż eksperymentują z ulepszaniem obu tych technologii.
Typy pamięci Flash i cykle P/E
Istnieją różne technologie pamięci flash, z których każda wiąże się z kompromisami. Pamięć jednopoziomowa (SLC) wykorzystuje pojedynczą komórkę do przechowywania jednego bitu danych. Pamięć wielopoziomowa (MLC) jest bardziej złożona i potrafi interpretować cztery stany cyfrowe, przechowując dwa bity w pojedynczej komórce.
Dzięki temu produkcja jest bardziej opłacalna, ale komórki szybciej się zużywają. Pamięć trójpoziomowa (TLC) rozwija ten trend, przechowując trzy bity w jednej komórce. Efektem ubocznym przechowywania większej liczby bitów w jednej komórce jest zwiększenie tempa degradacji komórki pamięci flash. Jak wspomniano w poprzednim akapicie, stan komórki NAND zależy od napięcia bramki, które jest z kolei zależne od liczby elektronów znajdujących się na bramce pływającej.
W przypadku pamięci SLC istnieją tylko dwa stany, które można rozróżnić w ramach napięcia progowego. Dla pamięci MLC istnieją cztery stany. Podobny zakres napięcia progowego zostanie podzielony na cztery regiony. W rezultacie pamięć MLC ma mniejsze odchylenie ładunku, zanim wystąpią błędy danych. W przypadku pamięci TLC liczba stanów wzrasta do ośmiu, co oznacza, że degradacja staje się jeszcze bardziej prawdopodobna. Oprócz pamięci SLC, MLC i TLC istnieje także technologia znana jako SLC-lite. Wykorzystuje ona nowy system zarządzania NAND do przechowywania 1 bitu na komórce MLC, zapewniając wydajność i trwałość na poziomie pośrednim między SLC a MLC. Jest to idealne rozwiązanie w sytuacjach, gdzie pożądany jest kompromis między zaletami i wadami tych dwóch typów pamięci.
Wzorce użytkowania
Zasadniczo pamięć flash nie ulega degradacji z powodu wieku, lecz z powodu wzorców użytkowania, które różnią się w zależności od zastosowań. Częstotliwość zapisu i kasowania danych wyraża się w cyklach programowania/kasowania (P/E). Pamięć, która przeszła dużą liczbę cykli P/E, wykazuje zwiększone tempo degradacji danych.
Różne typy komórek pamięci NAND flash mają również różną odporność na zużycie. Maksymalną liczbę cykli, w których komórka pamięci flash może zostać zaprogramowana i wymazana, określa się jako cykle P/E. Gdy komórki NAND flash osiągną maksymalną liczbę cykli P/E, mogą odwrócić wystarczającą liczbę bitów, aby spowodować wysoki poziom błędów bitowych. Zjawisko odwracania bitów występuje, gdy bit zmienia stan z 0 na 1 lub z 1 na 0. Jeśli kod korekcji błędów (ECC) nie jest w stanie skompensować tych błędów, następuje utrata danych.
Typ: SLC; P/E Cycles: 60,000
Typ: SLC-lite; P/E Cycles: 20,000
Typ: MLC; P/E Cycles: 3,000
Typ: 2D TLC; P/E Cycles: 300 to 500
Typ: 3D TLC*; P/E Cycles: 1,000-3,000
Typ: SLC-liteX**; P/E Cycles: 100,000
*Tylko niektóre przemysłowe dyski SSD 3D TLC są w stanie osiągnąć 3 000 cykli P/E.
** Niektóre modele SLC-liteX oferują jedynie 30 000 cykli P/E.
Ponieważ warstwa tlenkowa ulega degradacji wraz ze wzrostem liczby cykli P/E, trwałość danych zmniejsza się z czasem. Po początkowym etapie szacowana trwałość danych wykazuje wykładniczy spadek. Częste cykle P/E powodują stałe zużycie warstwy tlenkowej komórki pamięci. Przy niższej częstotliwości cykli P/E warstwa tlenkowa nie jest narażona na ciągłe zużycie, co pozwala jej na regenerację i wydłużenie żywotności.
Jak pokazano powyżej, technologia 2D TLC ogranicza całkowitą liczbę dostępnych cykli P/E do bardzo niskiego poziomu – być może zbyt niskiego dla niektórych zastosowań. Z kolei technologia 3D TLC zapewnia tyle samo cykli P/E co MLC, dzięki innowacjom w architekturze komórek. Osiąga to, pozostając jednocześnie przystępna cenowo oraz oferując większą przestrzeń do przechowywania danych.
Temperatura
Temperatura to kolejny czynnik, mający duży wpływ na trwałość danych, ponieważ zdolność pamięci NAND flash do zachowywania danych zależy od temperatury, na jaką komórka flash jest narażona podczas aktywnego użytkowania i przechowywania. W wyższych temperaturach elektrony szybciej uciekają z bramki pływającej, co ostatecznie zmienia stan napięcia komórki. Wówczas proces programowania i kasowania komórki flash jest stosunkowo mniej obciążający dla jej struktury, ponieważ elektrony wyciekają szybciej, jednak trwałość danych w komórce NAND ulega pogorszeniu. Natomiast w niskich temperaturach trwałość danych komórki flash ulega poprawie. Elektrony są również łatwiej przechowywane, ale większe obciążenie struktury komórki powoduje większe zużycie warstwy tlenkowej. Dlatego programowanie w wyższej temperaturze i przechowywanie w niższej temperaturze minimalizuje zużycie warstwy tlenkowej.
Niniejszy artykuł to krótki przegląd zagadnienia retencja danych, na których trwałość wpływa wiele czynników. W szczególności są to wzorce użytkowania i warunki temperaturowe, które mogą znacznie się różnić w przemysłowych zastosowaniach wbudowanych. Retencja danych pokazuje jak bardzo różnice między technologiami SLC, MLC, 2D TLC i 3D TLC mogą mieć wpływ na trwałość danych.
Największą zaletą technologii 3D TLC jest fakt, że oferuje liczbę cykli P/E porównywalną z technologią MLC. Jednocześnie zapewnia znacznie większą pojemność pamięci masowej w konkurencyjnej cenie.