Jak działają zapisy pamięci flash NAND?

14

Poniżej znajduje się obraz mojego zrozumienia działania pamięci flash NAND.

Flash NAND działa najpierw poprzez usunięcie wszystkich komórek w jednym bloku (zasadniczo ustawiając go na „1”), a następnie selektywnie zapisując 0. Moje pytanie brzmi: skoro linia słowa jest wspólna dla wszystkich komórek na jednej stronie, w jaki sposób kontroler NAND programuje 0 w określonych komórkach na stronie?

W przypadku pamięci flash NOR łatwo jest zauważyć, że określone komórki można zaprogramować za pomocą wstrzykiwania gorącego elektronu (przykładanie wysokiego napięcia do komórki). Ale w przypadku NAND nie jest to możliwe, ponieważ ogniwa NAND są połączone szeregowo i nie jest możliwe przyłożenie wysokiego napięcia do określonych ogniw. Zatem w NAND dokonano tunelowania kwantowego, w którym linia słowa otrzymuje wysokie napięcie, aby zapisać 0. Nie jest dla mnie jasne, w jaki sposób można ustawić to napięcie na selektywne (innymi słowy, ponieważ linie słowa są dzielone między komórki w strona, wysokie napięcie do zaprogramowania jednego bitu na 0 nie powinno również wyzerować innych bitów na stronie).

Organizacja macierzy pamięci NAND

Joel Fernandes
źródło

Odpowiedzi:

10

Poniższy obraz przedstawia bardziej szczegółową wersję organizacji macierzy pamięci NAND FLash w pytaniu. Tablica pamięci flash NAND jest podzielona na bloki, które z kolei są podzielone na strony . Strona jest najmniejszym ziarnistość danych, które mogą być kierowane przez kontrolera zewnętrznego .

Tablica pamięci flash NAND - rysunek 2.2 z pracy magisterskiej połączonej poniżej

Powyższy obraz to rysunek 2.2 „Tablica pamięci flash NAND” autorstwa : Vidyabhushan Mohan . Modelowanie właściwości fizycznych pamięci flash NAND . Praca magisterska. University of Virginia, Charlottesville. Maj 2010 r.

Aby wykonać operację programu , innymi słowy zapisując „ 0 ” w pożądanych komórkach, zewnętrzny kontroler pamięci musi określić fizyczny adres strony, która ma zostać zaprogramowana. Dla każdej operacji zapisu należy wybrać bezpłatną prawidłową stronę, ponieważ pamięć flash NAND nie zezwala na aktualizację w miejscu. Sterownik przesyła następnie do układu polecenie programu , dane, które mają zostać zaprogramowane, oraz fizyczny adres strony.

Gdy z kontrolera nadejdzie żądanie operacji programu, wybierany jest wiersz macierzy pamięci ( odpowiadający żądanej stronie ), a zatrzaski w buforze stron są ładowane danymi do zapisania. SST zostaje włączona , gdy VAT jest wyłączone przez jednostkę sterującą. Aby nastąpiło tunelowanie FN , konieczne jest wysokie pole elektryczne na bramie pływającej i podłożu. To wysokie pole elektryczne osiąga się przez ustawienie bramki sterującej wybranego rzędu na wysokie napięcie Vpgm i przesunięcie linii bitów odpowiadających logicznemu „0” do ziemi.

Stwarza to dużą różnicę potencjałów w bramie pływającej i podłożu, powodując, że elektrony tunelują z podłoża do pływającej bramki. W przypadku programowania „ 1 ” (co w zasadzie nie jest programowaniem) komórka pamięci powinna pozostawać w tym samym stanie, co przed operacją programu. Chociaż stosowane są różne techniki, aby zapobiec tunelowaniu elektronów dla takich komórek, zakładamy, że program samosterowania wstrzymuje działanie.

Technika ta zapewnia niezbędną napięcie Program hamują jadąc bitową linie odpowiadające logiczne „ 1 ” do Vcc i włączeniem do SSL i wyłączenie z GSL . Kiedy linia słowa wybranego wiersza wzrasta do Vpgm , pojemność szeregowa przez bramkę sterującą, bramę pływającą, kanał i masę są sprzężone, automatycznie zwiększając potencjał kanału i zapobiegając tunelowaniu FN.


Informacje te zostały pobrane i podsumowane tutaj, a więcej szczegółów dotyczących programowania pamięci NAND Flash można również znaleźć w tym źródle.

gbudan
źródło
Dziękuję za podsumowanie tezy, na którą wskazałeś. Czy możesz wyjaśnić nieco prościej, że tunelowanie linii wspólnej słowa nie ma wpływu na komórki, które mają pozostać w „1”? Z tego, co zrozumiałem w opublikowanym fragmencie, wszystkie te bity, które mają tę samą wspólną linię słów, są również przypisane do tego samego napięcia do odpowiednich bitów. Z tego powodu pole elektryczne w bramie pływającej dla takich tranzystorów jest wystarczająco niskie, aby ich wartość została zachowana na „1”. Ponadto, dlaczego GSL jest wyłączony, w jaki sposób pomaga GSL?
Zasadniczo, mówiąc prosto, obecność lub brak ładunków wewnątrz FGT powoduje przesunięcie Vprogu FGT, który służy do odróżnienia logicznego „1” od logicznego „0”. Pojedynczy FGT nigdy nie jest programowany sam. Jednorazowo programowana jest tylko grupa FGT; ta grupa FGT odpowiada w tym przypadku stronie, co wyjaśnia, dlaczego NAND jest adresowany blokowo zamiast bitowo. Mam nadzieję, że to jasne.
gbudan
Mówisz „włączając SSL”, ale na schemacie nie ma nic o nazwie SSL. Również „tu po więcej szczegółów” jest martwym linkiem.
Steev,
@Steev - Dziękujemy za podkreślenie, że oryginalne linki nie żyły. Znalazłem działający link do pracy, która była podstawą tej odpowiedzi, i zaktualizowałem powyższe linki. Zobacz tutaj stronę autora pracy dyplomowej, która zawiera tę pracę.
SamGibson,