Zapytaj eksperta
Aby wybrać odpowiednie rozwiązanie, należy poznać wymagania danego projektu i systemu. Skorzystaj ze wskazówek ekspertów firmy Kingston.
Zapytaj ekspertaPamięć NAND flash nie jest prostym nośnikiem do odczytu/zapisu danych. Aby zapewnić jej niezawodne działanie, należy zaimplementować kilka algorytmów: zarządzanie blokami NAND, usuwanie pozostałości danych, kontrola błędów oraz równoważenie zużycia. Nowoczesna pamięć NAND flash jest pamięcią zarządzaną, wyposażoną w algorytmy zapisane w urządzeniu pamięci, a nie zaimplementowane w procesorze hosta. Jest to korzystne dla użytkowników, ponieważ sprawia, że zarządzanie pamięcią NAND jest mniej skomplikowane dla hosta i upraszcza obsługę oraz utrzymanie produktu.
Zapisy hosta w pamięci NAND flash charakteryzują się pewnym stopniem nieefektywności, co może spowodować wcześniejszą awarię nośnika. Najmniejszą jednostką organizacyjną pamięci NAND jest strona, którą można odczytać i zaprogramować, ale nie można jej wymazać. Jedyną jednostką organizacyjną, którą można wymazać, jest blok składający się z wielu stron. Dlatego stron nie można nadpisać, dopóki nie zostanie usunięty blok. Bloki mogą z czasem ulec usterce, gdy zostanie osiągnięty górny poziom ich wytrzymałości. Mogą również wystąpić usterki prowadzące do wcześniejszej awarii.
Pamięć NAND flash ma ograniczoną liczbę cykli programowania i wymazywania. Osiągnięcie wartości granicznej oznacza, że urządzenie jest w stanie zużycia (EoL) i przestało być niezawodne. Wytrzymałość pamięci różni się w zależności od konfiguracji komórek NAND.
Jednopoziomowa konfiguracja komórek zapewnia największą wytrzymałość i największy margines błędu.
eMMC LBA 512B Sector Address |
NAND Page & Block Address |
0:31 | Blk10, Pg101 |
32:63 | Blk10, Pg102 |
64:95 | Blk10, Pg103 |
96:127 | Blk10, Pg104 |
128:159 | Blk15, Pg57 |
160:191 | Blk8, Pg129 |
192:223 | Blk10, Pg107 |
224:255 | Blk22, Pg88 |
Pamięć eMMC wykonuje odczyt i zapis w 512-bajtowych jednostkach sektora, które są logiczne – nie fizyczne. Adresy sektorów określa się mianem adresów bloków logicznych (ang. Logical Block Addresses, LBA). Gdy następuje modyfikacja danych, wymazanie całego bloku NAND byłoby niepraktyczne, powodując nieefektywne zużycie stron, które się nie zmieniły. Schemat mapowania LBA-PBA (ang. Physical Block Address) umożliwia mniejsze zapisy w celu zrównoważenia zużycia bloków, co określa się mianem równoważenia zużycia. Za pomocą tablicy translacji adresów adresy LBA są mapowane do adresów PBA. Proces ten zapewnia równoważenie zużycia bloków i poprawia szybkość zapisu.
Proces mapowania adresów przebiega w następujący sposób:
Zwykle największym źródłem zjawiska wzmocnienia zapisu są małe, losowe, niedopasowane do strony wielokrotne zapisy. Aby zminimalizować współczynnik WAF, zapisy powinny być dopasowane do granic strony w wielokrotnościach jednostek rozmiaru strony. Optymalny rozmiar jednostki jest określony w polu Optimal Write Size (Optymalny rozmiar zapisu) w rejestrze Extended CSD.
Wzór na obliczenie całkowitej liczby zapisanych bajtów (ang. Total Bytes Written, TBW) jest prosty:
Często współczynnik WAF ma wartość od 4 do 8, jednak zależy to od działania systemu hosta podczas zapisu. Na przykład duże sekwencyjne zapisy dają niższy współczynnik WAF, podczas gdy losowe zapisy małych bloków danych skutkują wyższym współczynnikiem WAF. Tego rodzaju działanie często prowadzi do przedwczesnej awarii urządzeń pamięci masowej.
Na przykład dla pamięci eMMC o pojemności 4GB, przy współczynniku wytrzymałości 3000 i WAF równym 8, będzie to:
Całkowita liczba zapisanych bajtów dla urządzenia eMMC wynosi 1,5TB. Oznacza to, że w ciągu całego cyklu życia produktu można zapisać na nim 1,5TB danych zanim osiągnie on stan EoL.
Aby oszacować swoje zapotrzebowanie na TBW, należy oszacować dzienne wykorzystanie danego urządzenia. Na przykład przy dziennym obciążeniu zapisem wynoszącym 500MB (i zakładanym 5-letnim cyklu życia) niezbędne będzie urządzenie, które może osiągnąć wartość TBW powyżej 915GB:
Wartość TBW można wykorzystać do określenia maksymalnego dopuszczalnego współczynnika WAF dla urządzenia, ponieważ TBW = (DC x EF) / WAF. Jeśli żywotność danego urządzenia nie może osiągnąć docelowej wartości TBW w danym zastosowaniu produktu, można spróbować ją poprawić. W takim przypadku należy rozważyć ustawienie pamięci w trybie komórek pseudojednopoziomowych (ang. Pseudo Single Level Cell, pSLC), co może pozwolić na ponad dziesięciokrotne zwiększenie wytrzymałości poprzez przełączenie urządzenia z trybu TLC lub MLC w tryb jednego bitu na komórkę. Spowoduje to jednak drastyczne zmniejszenie pojemności: o 50% w przypadku urządzenia działającego w trybie MLC (dwa bity na komórkę) lub ponad 66% w przypadku urządzenia działającego w trybie TLC (trzy bity na komórkę). Jeśli jest to rozwiązanie niezadowalające, pomocne może być zastosowanie do obsługi danego obciążenia urządzenia o większej pojemności. Urządzenie o dwukrotnie większej pojemności będzie miało dwukrotnie większą wartość TBW.
Algorytmy eMMC firmy Kingston osiągają niski współczynnik wzmocnienia zapisu. Oferujemy wiele konfiguracji, aby umożliwić zrównoważenie wydajności, żywotności i niezawodności pamięci. Wiek urządzenia można monitorować za pomocą narzędzi JEDEC do szacowania żywotności umieszczonych w rejestrze EXT_CSD – wspólnej funkcji dla wszystkich urządzeń eMMC. Żywotność jest określana w 10-procentowych przedziałach w oparciu o wytrzymałość urządzenia. Jedno narzędzie określa wiek bloków NAND flash skonfigurowanych w trybie TLC lub MLC, podczas gdy drugie podaje wiek bloków skonfigurowanych w trybie pseudo SLC. Urządzenia pamięci eMMC firmy Kingston obsługują również polecenia dostawcy, które pozwalają określić średni wiek bloku urządzenia. Są one bardziej precyzyjne niż narzędzia JEDEC, ale do ich użycia niezbędne jest opracowanie niewielkiego oprogramowania. Można również przesłać stare urządzenie do firmy Kingston w celu przeprowadzenia bardziej kompleksowej analizy.
#KingstonIsWithYou
Aby wybrać odpowiednie rozwiązanie, należy poznać wymagania danego projektu i systemu. Skorzystaj ze wskazówek ekspertów firmy Kingston.
Zapytaj ekspertaTrwałość produktu jest kluczowym problemem dla wielu aplikacji wbudowanych, które zazwyczaj wymagają żywotności 7-10 lat. Biorąc pod uwagę szybkie tempo, w jakim technologia się rozwija i zmienia, długoterminowe utrzymanie produktów wbudowanych może być trudne.
To istotne, by wiedzieć, w jaki sposób odbywa się zarządzenie pamięcią flash NAND w kartach pamięci eMMC i jak wpływa to na jej żywotność. Ten przewodnik może pomóc projektantom i inżynierom w oszacowaniu i weryfikacji żywotności urządzenia pamięci masowej eMMC w projektowanym systemie.