Pamięć Flash

Z Wiki XperiaSite.pl
Skocz do: nawigacja, szukaj

Pamięć flash to elektroniczna pamięć stała, która może zostać łatwo sformatowana i przeprogramowana.

Na rynku istnieją pamięci EPROM (ang. erasable programmable read-only memory) i EEPROM (ang. electrically erasable programmable read-only memory). Różnica w ich działaniu jest w jednostce sterującej - w pamięciach EPROM kasowanie danych polega na naświetlaniu bramek pływających, a w EEPROM wykorzystywane jest sterowanie elektryczne - ładowanie i rozładowywanie bramek.

W zależności od producenta pamięci typu EPROM pozwalają na wykonanie od 100 do 1000 zapisów i kasowań.

Pierwszą pamięcią tego drugiego typu została stworzona przez firmę Toshiba. Pamięć ta na rynku pojawiła się w latach 80.
Następnie powstały dwa kolejne rodzaje pamięci (bazujące na EEPROM) - NOR i NAND, nazwane tak ze względu na dwa rodzaje bramek logicznych, podobnie do których działają poszczególne komórki danej pamięci.

W odróżnieniu od pamięć EEPROM, która musi być całkowicie sformatowana przez ponownym zapisaniem, w pamięci NAND, każdy blok (z których zbudowany jest ten typ pamięci, a który jest znacznie mniejszy niż cała pamięć) może zostać sformatowany i zapisany bez wpływu na pozostałe. Pamięć typu NOR jest jeszcze bardziej dokładna, tutaj zapisany może zostać każdy bajt pamięci.

Obecnie wszelkie przenośne urządzenia korzystają z pamięci typu NAND, czy to jako ich pamięć stała, karta SD, pamięć USB (typu pendrive), czy dysk SSD. Dzieje się to ze względu na ich stałość (w stosunku do niestałych pamięci jak RAM) oraz prędkości jakie osiągają dyski korzystające z tej technologii (choć nie tak szybkie jak statyczne pamięci RAM lub ROM).

Historia

Pamięć typu flash (zarówno NAND i NOR) powstały już w okolicach 1980 roku i były wynalazkiem Fujio Masukoa'i, pracownika firmy Toshiba.

Nowy wynalazek pokazany został w 1984 roku na spotkaniu IEDM (IEEE 1984 International Electron Devices Meeting), które odbyło się w San Francisco.

Potencjał nowego typu pamięci został zauważony przez firmę Intel, która uznała pamięć typu NOR za godnego następcę (wtedy) obecnych pamięci typu ROM, które są rzadko przeprogramowywane, jak np. BIOS w komputerach, czy oprogramowanie urządzeń typu embedded. Możliwość dostępu do każdego fragmentu danych w pamięci, ze względu na prosty dostęp do szyn danych i adresów, przekonała użycie tej pamięci mimo jej powolnego czasu dostępu.

Pamięci NOR są podstawa działania pierwszych pamięci przenośnych, jak np. kart typu CompactFlash (nowe wersje tej pamięci korzystają już z pamięci NAND).

Pamięci NAND za to przynoszą szybszy czas dostępu do danych, nie wymaga tak dużej powierzchni fizycznej dla tej samej ilości pamięci (co zmniejsza wielkość i cenę za bit) oraz pozwala na od 10 razy większą wytrzymałość (liczbę zapisów danych na komórkę). Niestety pamięć typu NAND nie dostarcza szyny adresów i dostęp do plików (bitów) polega na adresowaniu bloków (o wielkości setek i tysięcy bitów).

Wielkość chipów pamięci NAND spowodowała, że obecnie wykorzystuje się w kartach MultiMediaCard (MMC), SD, MemoryStick (MS), czy xD-Picture Card (xD). Przykładowo karty microSD posiadają chip o wielkości 1,5 cm2 o grubości mniejszej niż 1mm, a osiągają nawet 256 GB!

Nazewnictwo

Nazwa flash pochodzi od pomysłu kolegi Mousoka'i, któremu działanie (formatowanie) pamięci przypominało działanie flasha w aparacie.

FlashBudowa.png
Budowa komórki pamięci flash.

Działanie

Pamięci EEPROM działają poprzez wykorzystanie tranzystorów FAMOS (z ang. Floating gate Avalanche-injected MOS) z pływającą bramką, którą jest odizolowany tlenek krzemu. Jest to płaski obszar krzemu znajdujący się nad obszarem kanału tranzystora. Pamięć ma strukturę dwu matryc: AND i OR, jak poprzednio. Na wszystkich przecięciach linii wiersza i wyjścia w matrycy OR umieszczone są tranzystory FAMOS. Zaprogramowanie pamięci EPROM polega na wprowadzeniu wybranych tranzystorów na stałe w stan przewodzenia.

W pamięciach SLC (ang. single-level cell), każda komórka przechowuje jeden bit informacji. W pamięciach MLC (ang. multi-level cell), a zwłaszcza TLC (triple-level cell), możliwe jest zapisanie więcej niż jednego bitu w jednej komórce.

Tranzystor może być przewodzący (taki jest w większości typów pamięci flash) lub nie (taki wykorzystywany jest w pamięciach SONOS).

Tranzystor z bramką pływającą

Każda komórka pamięci odpowiada standardowi MOSFET, z tym że każdy tranzystor posiada 2 bramki, a nie jedną. W górnej części tranzystora jest bramka kontrolna (CG, od ang. control gate), a w dolnej części znajduje się pływająca bramka (FG, z ang. floating gate zaizolowane razem pod warstwą tlenku.

FG znajduje się pomiędzy CG a kanałem MOSFET. Jako, że FG nie styka się bezpośrednio z niczym i jest odizolowane, elektrony, które się na niej znajdą, są uwięzione do momentu powstania pola elektrycznego (np. dodane lub odebrane napięcie na MOSFET). Umieszczenie odpowiadającej im liczby elektronów na CG powoduje ustawienie bramki FG w stanie logicznym "0" (FG jest naładowane).

W momencie, gdy dojdzie do naładowania FG, elektrony na niej "niwelują" te na CG, co powoduje podniesienie progu napięcia (VT1) w komórce. W takim wypadku, aby cały kanał był przewodzący, do CG trzeba przyłożyć wyższe napięcie (VT2). Dla poznania wartości obu napięć, pomiędzy oba progi, dostarczane jest pośrednie napięcie do CG. Jeśli kanał przewodzi, FG musi zostać rozładowane. Taki stan to stan logicznego "1" (FG nie jest naładowane).

Wewnętrzna pompa ładująca

Mimo potrzeby odpowiednio wysokiego napięcia do zaprogramowania i sformatowania pamięci flash, do działania wymagają one jedynie jednego źródła napięcia, a jego wysokość ustawiana jest poprzez pompy ładowania znajdujące się wewnątrz chipu.

Ponad połowa napięcia dostarczanego do chipu 1.8 V zużywana jest właśnie na działanie pompy.

Jako, że konwertery mocy są o wiele wydajniejsze od pomp, przyszłe dyski SSD o niskim zużyciu energii, będą korzystać z podwójnego źródła napięcia Vcc/Vpp, jak pierwsze pamięci flash. Napięcie Vpp będzie dostarczane do dysku SSD poprze jeden wspólny konwerter.

W statkach kosmicznych i innych komputerach działających w strefach o wysokiej radiacji, pompy są pierwszym fragmentem pamięci, który ulega uszkodzeniu. W takim wypadku pamięć będzie dalej działać, ale jedynie w trybie tylko do odczytu.

NORBudowa.png
Budowa i układ przewodów komórki pamięci flash typu NOR.

Pamięć NOR

W pamięciach tego typu jeden koniec komórki połączony jest z uziemieniem, a drugi z kanałem danych. Nazwa pochodzi od bramki typu NOR, na bazie której działa pamięć tego typu. W momencie, gdy uniesiona zostaje jedna z końcówek (np. CG), druga opada (tu: FG).

Programowanie

NORProgramowanie.png
Schemat programowania pamięci typu NOR (zmiana stanu na "0").

W ich podstawowym stanie jedno poziomowe komórki pamięci NOR posiadają wartość "1". Jest to związane z przepływem niskiego napięcia do CG, a więc koniec stykający się z kanałem danych jest podniesiony. W momencie przyłożenia wyższego napięcia (zazwyczaj 5 V) do CG, następuje otwarcie kanału, a więc elektrony mogą się przemieszczać na drugą stronę komórki, do FG, w procesie zwanym "dostarczeniem (gorącego) elektronu. Dochodzi wtedy do zmiany wartości stanu na "0".

Jest to operacja którą (w odróżnieniu od formatowania) można przeprowadzić bit po bicie.

Formatowanie

Aby zmienić stan z powrotem na "1", trzeba przyłożyć odpowiednio wysokie napięcie na drugim końcu komórki = pomiędzy CG a źródłem, co "wyciąga" elektrony z FG poprzez tunelowanie kwantowe. Obecne pamięci podzielone są na segmenty (zwane też segmentami, czy blokami), które można wyczyścić niezależnie od pozostałych. Formatowanie może być przeprowadzenie jedynie na poziomie tych segmentów i wszystkie komórki w nim zawarte zostają sformatowane.

Wykorzystanie

Pamięci tego typu są wybierane do urządzeń typu embedded, ze względu na ich szybkość w dostępie do danych oraz niewielkie opóźnienie co pozwala na bezpośrednie wykonywanie kodu oraz dostęp do pamięci w jednym jej cyklu.

Pamięć NAND

Pamięć tego typu także korzysta z pływających bramek, jednak są one ułożone w sposób przypominający działaniem bramkę logiczną NAND. Kilka tranzystorów jest połączone w serię, a część stykająca się z kanałem danych jest obniżona tylko w momencie, gdy wszystkie linie słów (ang. word lines) są uniesione (ponad napięcie tranzystorów (VT). Serie te są połączone przez dodatkowe tranzystory w matrycę typu NOR w ten sam sposób, jak pojedyncze tranzystory w pamięci typu NOR.

NORFormat.png
Schemat formatowania pamięci typu NOR (zmiana stanu na "1").
NANDBudowa.png
Budowa i układ przewodów komórki pamięci flash typu NAND.

W porównaniu do NOR, wymiana jednego tranzystora na całą serię dodaje kolejny poziom adresów. Przy czym w pamięciach typu NAND adresowanie jest po całych stronach (gdzie w NOR adresowane są najpierw strony, potem i poszczególne słowa, a w końcu pojedyncze bity.

W momencie odczytu danych, najpierw wybierana jest grupa tranzystorów (tak samo jak pojedynczy tranzystor w pamięciach NOR), a następnie większość linii słów unoszona jest ponad VT zaprogramowane bitu, przy czym jedna z nich podnoszona jest jedynie lekko ponad VT. W momencie wykrycia, że bit został już zaprogramowany, dojdzie do odczytu danych z bitu.

Mimo dodatkowych tranzystorów, redukcja miejsc uziemienia pozwala na bardziej zwartą budowę, a więc i większą pojemność przy tej samej powierzchni chipa. Dodatkowo pamięć NAND ma możliwość zawierania pewnej liczby błędów (pamięć NOR nie).

Rozwój pamięci tego typu polega na zmniejszaniu wielkości tranzystorów, przy tej samej wielkości chipa, co pozwala na utrzymanie kompatybilności przy wzroście pojemności.

Zapis i formatowanie

W pamięciach typu NAND wykorzystuje się wprowadzenie tunelowe do zapisu danych i uwolnienie tunelowe do ich usunięcia.

Różnice między pamięciami NOR a NAND

Poza najbardziej widocznymi różnicami, czyli połączeniem między komórkami/tranzystorami i sposobem dostępu do plików, występują także inne różnice między tymi dwoma typami pamięci ROM.

Komórki pamięci NOR są o wiele większe (10 F2 vs 4 F2) od tych w pamięci NAND, przy wykorzystaniu tej samej technologii produkcji, a więc gdy każdy tranzystor, styk, itp. są identyczne.

Atrybut NAND NOR
Dostęp Magazyn danych Wykonanie kodu
Pojemność Duża Mała
Koszt za bit Lepsza  
Moc czynna Lepsza  
Moc bierna   Lepsza
Szybkość zapisu Lepsza  
Szybkość odczytu   Lepsza

Pamięć V-NAND

Pamięć typu Vertical NAND układa komórki pionowo i wykorzystuje architekturę CTF (ang. Charge Trap Flash). Ułożenie tego typu pozwala na większe zagęszczenie obszarów z danymi bez wymogu zmniejszenia wielkości komórek.

Struktura

CTF utrzymuje ładunek w filmie z azotku silikonu. Film takiej budowy jest bardziej wytrzymały, dzięki czemu może być cieńszy. Komórki CTF są ułożone w układ cylindryczny.

Pojedyncze komórki pamięci są zbudowane z płaskiego kawałka polisilikonu z otworem, w którym składowane są cylindry z komórkami. Powierzchnia otworu zachowuje się jak elektroda bramki. Najbardziej zewnętrzny cylinder, zbudowany z ditlenku krzemu, służy jako dielektryk bramki i otacza cylinder z azotku silikonu, który utrzymuje ładunek, a który otacza kolejny cylinder z ditlenku krzemu, wewnątrz którego znajduje się centralny pręt z polisilikonu, który pełni funkcję kanału przewodzącego.

Komórki znajdujące się w różnych poziomych warstwach nie wpływają na siebie nawzajem, jako że ładunek nie może się poruszać poziomo poprzez medium z azotku silikonu, a pole elektrycznie szczelnie izoluje poszczególne warstwy.

Budowa

  1. Rozwój grupy komórek V-NAND zaczyna się od polisilikonowej warstwy przewodzącej oraz warstwy izolacyjnej z ditlenku krzemu.
  2. Kolejnym krokiem jest uformowanie cylindrycznego otworu przechodzącego przez te warstwy. W praktyce chip pamięci V-NAND o pojemności 128 GBit składa się z 24 warstw i około 2,9 miliona otworów.
  3. Następnie powierzchnia otworu jest powlekana wieloma powłokami zbudowanymi raz z ditlenku krzemu, następnie z azotku silikonu.
  4. W końcu w otworze umieszczane są cylindry z polisilikonu.

Wydajność

W stosunku do pamięci NAND, V-NAND oferuje przynajmniej dwukrotnie większe prędkości oraz do dziesięciu razy dłuższą żywotność, przy czym zużywa jedynie połowę energii zużywanej przez NAND.

Jeśli obie pamięci są zbudowane w technologii 10 nm, to ich pojemność jest porównywalna, jednak z każdym pojedynczym wzrostem pojemności, pamięci V-NAND oferują dwukrotnie więcej miejsca na dane.

Pojemność

Dla uzyskania większych pojemności zazwyczaj stosuje się kilka chipów połączonych w matryce.

Wzrost pojemności urządzeń tego typu, zazwyczaj nadąża za prawem Moore'a. Zazwyczaj kolejna generacja pamięci posiada dwukrotnie większą pojemność niż poprzednia (512 MB, 1 GB, 2 GB, itp.). Jednakże nigdy użytkownik nie otrzyma dostępu do pełnej pojemności chipów, ponieważ jej część jest zarezerwowana do zrównoważenia zużycia pamięci, czy korekcji błędów.

Pierwsza gigabajtowa pamięć NAND pojawiła się na początku 2005 roku, korzystała z technologii MLC i była tworem firm Toshiba i SanDisk. Już we wrześniu tego samego roku pojawiła się pamięć 2 GB marki Samsung. W marcu 2006 rynek poznał pierwszą pamięć 4 GB, a we wrześniu - 8 GB wyprodukowaną w technologii 40 nm). W styczniu 2008, SanDisk pokazał pamięci 16 i 32 GB. W chwili obecnej na rynku znajdziemy też pamięci 64, 128 i 256 GB.

Oprócz tego mamy też pamięci firm Intel i Micron o pojemnościach 3,5 TB (32 warstwy chipów) oraz 10 TB SSD (5 paczek po 16 48 gigabajtowych pamięci TLC). W czerwcu 2016 Samsung pokazał dysk SSD 4 TB (48 warstw 256 gigabajtowych pamięci TLC 3D V-NAND), a w sierpniu dysk 32 TB (64 warstwy 512 gigabajtowych pamięci TLC 3D V-NAND).

Mimo to, wciąż w produkcji są pamięci megabajtowe, wykorzystywane m.in. jako pamięć na BIOS lub aplikacje typu embedded.

eMMC

Główna strona: eMMC

Pamięć wykorzystująca wbudowane na stałe komponenty pamięci typu MMC. Łączone są one w chip typu BGA IC do użytku z obwodami na płytach głównych.

UFS

Główna strona: UFS

Universal Flash Storage to typ specyfikacji pamięci flash, którego celem jest przyniesienie większych prędkości i lepszej sprawności, a przy tym zunifikowanie rynku, aby zmniejszyć chaos i potrzebę wielu różnych adapterów.