Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Różnice pomiędzy NAND Flash a NOR Flash

ghost666 26 Mar 2020 00:00 84 0
  • #1
    ghost666
    Tłumacz Redaktor
    Pamięć Flash - NAND i NOR - odgrywają integralną rolę we wszelkiego rodzaju systemach wbudowanych. Jednakże, aby poprawnie zaimplementować taki element w systemie, dobrze jest wiedzieć, jak działa i czym się charakteryzuje, szczególnie w sytuacji, gdy dobieramy pamięć i wybieramy pomiędzy pamięcią Flash NAND oraz NOR.

    Projektanci systemów wbudowanych muszą wziąć pod uwagę wiele czynników przy wyborze pamięci Flash: jakiego rodzaju architektury Flash użyć, czy wybrać interfejs szeregowy czy równoległy, czy potrzebuje kodu korekcji błędów (ECC) i tak dalej. Jeśli procesor lub kontroler obsługuje tylko jeden typ interfejsu, ogranicza to opcje, dzięki czemu można łatwo wybrać pamięć. Jednak często tak nie jest. Na przykład niektóre układy FPGA obsługują szeregową pamięć Flash NOR, równoległą pamięć Flash NOR i pamięć Flash NAND do przechowywania danych konfiguracyjnych. Tej samej pamięci można użyć do przechowywania danych użytkownika, co utrudnia wybór odpowiedniej pamięci.

    Aby pomóc projektantom systemów wbudowanych i innych urządzeń wykorzystujących pamięci Flash, w poniższym artykule przyjrzymy się bliżej różnicom pomiędzy pamięciami typu NAND a NOR Flash.

    Różnice pomiędzy NAND Flash a NOR Flash
    Rys.1. NOR Flash (po lewej) ma architekturę
    przypominającą bramkę NOR, natomiast NAND
    Flash (po prawej) przypomina bramkę NAND.
    Architektura pamięci

    Pamięci Flash przechowują informacje w komórkach pamięci wykonanych z pływających tranzystorów. Nazwy technologii wyjaśniają sposób organizacji komórek pamięci. W NOR Flash jeden koniec każdej komórki pamięci jest podłączony do linii źródłowej, a drugi koniec bezpośrednio do linii bitowej, co tworzy konstrukcję podobną do bramki NOR. W NAND Flash kilka komórek pamięci (zazwyczaj osiem komórek) jest połączonych szeregowo, podobnie jak ma to miejsce w strukturze bramki NAND (patrz rysunek 1).

    Architektura pamięci NOR Flash zapewnia wystarczającą liczbę linii adresowych do zmapowania całego zakresu pamięci. Daje to zaletę w postaci szybkiego losowego dostępu i krótkich czasów odczytu, co czyni go idealnym do zapisywania wykonywanego kodu dla układów. Kolejną zaletą są w 100% znane dobre bity przez cały okres użytkowania części - to istotne w systemach, gdzie niezawodność jest kluczowym aspektem urządzenia. Wady NOR Flash obejmują większy rozmiar komórki pamięci, co skutkuje wyższym kosztem na bit oraz niższymi prędkościami zapisu i kasowania pamięci.

    Natomiast NAND Flash ma znacznie mniejszy rozmiar komórki i znacznie wyższe prędkości zapisu i kasowania w porównaniu do pamięci NOR Flash. Wady obejmują niższą prędkość odczytu oraz konieczność implementacji interfejsu pośredniczącego, z uwagi na konieczność odwzorowania I/O. Interfejs ten nie pozwala na losowy dostęp do pamięci, co nieznacznie utrudnia obsługę pamięci. Należy zauważyć, że wykonanie kodu z pamięci NAND Flash realizuje się poprzez kopiowanie zawartości pamięci do RAM, co różni się od wykonania kodu bezpośrednio z NOR Flash. Kolejną poważną wadą jest obecność uszkodzonych bloków. NAND Flash zazwyczaj ma 98% dobrych bitów, gdy jest dostarczany w stanie fabrycznym. Dodatkowo, w całym czasie eksploatacji elementu, powstają dodatkowe uszkodzenia w blokach pamięci. Dlatego też konieczne jest wykorzystanie funkcji korekcji błędów (ECC) w urządzeniu, a także dedykowanego kontrolera, który eliminuje uszkodzone bloki z dalszej eksploatacji.

    Pojemność pamięci

    Pamięci Flash NAND są dostępne w znacznie większych gęstościach zapisu niż pamięci NOR Flash, głównie ze względu na niższy koszt za bit i mniejsze wymiary komórek. Pamięci Flash NAND zwykle mają pojemność od 1 Gb do 16 Gb. Pamięci NOR Flash mają z kolei wielkość od 64 Mb do 2 Gb. Ze względu na większą gęstość pamięć NAND Flash jest używana głównie do przechowywania danych.

    Wymazywanie, odczyt i zapis

    W układach NOR i NAND Flash pamięć jest zorganizowana w bloki kasowania. Taka architektura pomaga utrzymać niższy koszt przy jednoczesnym zachowaniu wysokiej wydajności. Mniejszy rozmiar bloku umożliwia szybsze cykle kasowania. Minusem wykorzystania mniejszych bloków jest jednak wzrost powierzchni i kosztów układu. Ze względu na niższy koszt za bit, NAND Flash może bardziej opłacalnie obsługiwać mniejsze bloki kasowania w porównaniu do pamięci NOR Flash. Typowy dostępny obecnie rozmiar bloku kasowania wynosi od 8 KB do 32 KB dla NAND Flash i 64 KB do 256 KB dla NOR Flash.

    Operacje usuwania danych w NAND Flash są proste, natomiast w NOR Flash każdy bajt musi zostać zapisany z wartością „0”, zanim będzie można go usunąć. Powoduje to, że operacja usuwania dla NOR Flash jest znacznie wolniejsza niż w NAND Flash. Na przykład pamięć NAND Flash S34ML04G2 Cypress wymaga 3,5 ms, aby skasować blok 128 KB, natomiast pamięci NOR Flash Cypress S70GL02GT zajmuje to około 520 ms (także dla sektora 128 KB).

    Pamięć NOR Flash ma wystarczającą liczbę adresów i linii danych, aby odwzorować cały region pamięci, podobnie jak działa pamięć SRAM. Na przykład 2-Gbit (256 MB) pamięć Flash NOR z 16-bitową magistralą danych będzie miała 27 linii adresowych, umożliwiając dostęp do odczytu w dowolnym miejscu pamięci. W pamięciach NAND Flash dostęp do pamięci odbywa się za pomocą multipleksowanego adresu i magistrali danych. Typowe pamięci NAND Flash wykorzystują 8-bitową lub 16-bitową zmultipleksowaną magistralę adresów i danych z dodatkowymi sygnałami, takimi jak Chip Enable, Write Enable, Read Enable, Address Latch Enable, Command Latch Enable i Ready/Busy. Flash NAND musi otrzymać najpierw polecenie (odczyt, zapis lub kasowanie), a następnie adres i dane. Konieczność realizacji tych dodatkowych operacji powoduje, że odczyt losowego bitu dla pamięci NAND Flash jest znacznie wolniejszy. Na przykład pamięć Flash NAND S34ML04G2 wymaga 30 µS w porównaniu do 120ns dla pamięci Flash NOR S70GL02GT. Zatem NAND jest aż 250 razy wolniejszy w tym przypadku.

    Aby przezwyciężyć lub zmniejszyć ograniczenia wolniejszej niższej odczytu, pamięć NAND Flash jest często odczytywana, jako strony, przy czym każda strona jest mniejszym podziałem bloków wymazywania. Zawartość jednej strony jest odczytywana sekwencyjnie z cyklem adresu i polecenia tylko na początku każdego cyklu odczytu. Czas dostępu sekwencyjnego dla NAND Flash jest zwykle krótszy niż czas dostępu losowego w urządzeniach NOR Flash z uwagi na to, że w pamięci NAND Flash odczytywanej sekwencyjnie, pomiędzy poszczególnymi stronami nie trzeba podawać polecenia oraz adresu w pamięci. W miarę wzrostu wielkości bloku danych do odczytu skumulowane opóźnienie w NOR Flash staje się większe niż w NAND Flash. Dlatego NAND Flash może być szybszy dla odczytów sekwencyjnych. Jednak ze względu na znacznie dłuższy początkowy czas dostępu do odczytu dla pamięci NAND Flash różnica w wydajności jest widoczna tylko podczas przesyłania dużych bloków danych, często dla rozmiarów powyżej 1 KB.

    W obu technologiach Flash dane mogą być zapisywane w bloku tylko wtedy, gdy blok jest pusty. Wolna operacja kasowania pamięci NOR Flash powoduje, że operacja zapisu jest jeszcze wolniejsza. W NAND Flash, podobnie jak w przypadku odczytu, dane są często zapisywane lub programowane na stronach (zwykle po 2 KB). Na przykład zapis jednej strony w układzie NAND Flash S34ML04G2 zajmuje zwykle około 300 µs.

    Aby przyspieszyć operacje zapisu, nowoczesne pamięci NOR Flash wykorzystują programowane bufora, podobne do strony zapisu. Na przykład pamięć S70GL02GT obsługuje programowanie bufora, co umożliwia programowanie wielobajtowe z podobnym czasem zapisu dla pojedynczego słowa. Na przykład programowanie bufora dla 512 bajtów danych może zapewnić przepustowość 1,14 MB/s.

    Pobór energii

    Pamięci NOR Flash zwykle wymagają większego prądu podczas pierwszego włączenia zasilania niż NAND Flash. Jednak prąd czuwania dla NOR Flash jest znacznie niższy niż NAND Flash. Chwilowa moc czynna jest porównywalna dla obu pamięci Flash. Moc pobierana przez układ zależy, więc od czasu, przez który pamięć jest aktywna. NOR Flash ma tutaj przewagę, jeśli chodzi o losowe odczyty, podczas gdy NAND Flash zużywa stosunkowo dużo mniej energii do operacji kasowania, zapisu i odczytu sekwencyjnego.

    Niezawodność

    Niezawodność zapisu danych jest ważnym aspektem każdego urządzenia pamięci. W pamięciach Flash występuje zjawisko zwane odwracaniem bitów, na skutek którego niektóre bity mogą zostać samorzutnie odwrócone. Zjawisko to występuje częściej w pamięci NAND Flash niż w NOR Flash. Pamięci NAND są sprzedawane już z uszkodzonymi blokami rozrzuconymi losowo po całym układzie, głównie ze względu wydajność procesu produkcji. Więcej komórek pamięci psuje się w miarę kasowania, a cykle kasowania trwają przez cały cykl życia NAND Flash, przy każdym reprogramowaniu komórek. Obsługa złych bloków jest zatem obowiązkową funkcją NAND Flash. Z drugiej strony, pamięć Flash NOR jest dostarczana bez uszkodzonych bloków, a liczba bloków pamięci uszkadzających się w okresie życia pamięci jest niewielka. Zatem jeśli chodzi o niezawodność przechowywanych danych, NOR Flash jest o wiele lepszy niż NAND Flash.

    Kolejnym aspektem niezawodności jest retencja danych, w której pamięć NOR Flash znów ma przewagę. S70GL02GT NOR Flash oferuje 20 lat czasu retencji danych dla maksymalnie 1 000 cykli programowania/kasowania. Z kolei na przykład pamięć S34ML04G2 (NAND Flash) oferuje typowy czas retencji danych na poziomie 10 lat.

    Równie ważną cechą do rozważenia jest maksymalna liczba cykli programowania i kasowania dla danego układu. Początkowo, pamięci NAND Flash oferowały 10 razy większą liczbę cykli programowania i kasowanie w porównaniu z układami NOR Flash. Przy obecnych postępach technologicznych nie jest to już prawdą, ponieważ obie pamięci są teraz porównywalne w tym zakresie. Na przykład zarówno S70GL02GT (NOR), jak i S34ML04G2 (NAND) oferuje do 100 000 cykli kasowania programu. Jednak ze względu na mniejszy rozmiar bloku używanego w NAND Flash, dla każdej operacji usuwany jest mniejszy obszar. Powoduje to, że nadal większą całkowitą żywotność oferuje NAND Flash.

    Tabela 1, poniżej, zawiera podsumowanie głównych aspektów omówionych w tym artykule.

    Różnice pomiędzy NAND Flash a NOR Flash


    Zasadniczo pamięć Flash NOR stanowi doskonały wybór dla aplikacji wymagających mniejszej pojemności, ale szybszego dostępu do losowego odczytu i wyższej niezawodności danych. W związku z tym układy NOR Flash idealnie nadają się do przechowywania kodu procesora itp. Z kolei pamięci NAND Flash są idealne do zastosowań takich jak przechowywanie danych, w których wymagana jest większa pojemność pamięci oraz szybsze operacje zapisu i kasowania.

    Źródło: https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/" target="_blank" rel="noopener" rel="nofollow ugc" class="postlink "> https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/