Pamięć flash

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Przykładowa karta pamięci oparta o pamięć flash jako nośnik danych

Pamięć flash (ang. flash memory) – rodzaj nieulotnej pamięci komputerowej, stanowiącej rozwinięcie konstrukcyjne i kontynuację pamięci typu EEPROM. Dostęp do danych zapisanych w pamięci flash wykorzystuje tzw. stronicowanie pamięci: operacje odczytu, zapisu lub kasowania wykonywane są jednocześnie na ustalonej konstrukcyjnie liczbie komórek, pogrupowanych w strukturę będącą wielokrotnością słowa maszynowego (bajtu). Cechą wyróżniającą pamięć flash jest wykorzystanie technologii komórek wielostanowych (ang. multi level cell, MLC).

Klasyfikacja[edytuj | edytuj kod]

W zależności od wykorzystanego typu bramki logicznej, można wyróżnić dwa rodzaje pamięci flash:

Pamięć flash typu NOR umożliwia bezpośredni dostęp do każdej komórki pamięci, ale ma stosunkowo długie czasy zapisu i kasowania. Z tego względu nadaje się do przechowywania danych, które nie wymagają częstej aktualizacji, jak np. firmware różnego rodzaju urządzeń. Wytrzymuje od 10 do 100 tys. cykli programowania. Stosowano ją w pierwszych wersjach kart pamięci CompactFlash, ale później zastąpiono tańszymi pamięciami flash typu NAND.

Pamięć flash typu NAND, w stosunku do pamięci typu NOR, ma krótszy czas zapisu i kasowania, większą gęstość upakowania danych, korzystniejszy stosunek kosztu do pojemności oraz dziesięciokrotnie większą trwałość. Jednak główną cechą pamięci tego typu jest sekwencyjny dostęp do danych. Ogranicza to zakres zastosowań tylko jako pamięć masowa, np. w kartach pamięci. Pierwszą kartą pamięci opartą na pamięci flash typu NAND, była karta SmartMedia. Później zaczęto ich używać także w innych typach kart pamięciowych, np. MultiMedia Card, Secure Digital, Memory Stick i xD Picture Card oraz w pamięciach USB (pendrive).

Początki[edytuj | edytuj kod]

Pamięć flash, zarówno typu NOR, jak i NAND, skonstruował jako pierwszy, ok. 1980 roku, dr Fujio Masuoka, zatrudniony w firmie Toshiba[1].

Do masowej produkcji jako pierwsza wprowadziła ją firma Intel w roku 1988 – była to pamięć flash typu NOR.

W roku 1989 pojawiły się pamięci flash typu NAND firm Samsung i Toshiba.

Ograniczenia[edytuj | edytuj kod]

By można było zapisać komórkę pamięci flash, należy ją wcześniej skasować. Nie jest możliwe ponowne zapisanie danych do już zapisanej komórki. Jakkolwiek można odczytać i zapisać dowolną komórkę pamięci, to operacja kasowania umożliwia skasowanie tylko całych bloków komórek. Nie można skasować pojedynczej komórki. Z tego powodu zapis danych nie jest w pełni swobodny. Pamięci te umożliwiają odczyt i zapis dowolnej komórki, ale już nie swobodne kasowanie i nadpisanie zawartości.

Powyższe ograniczenia powodują pewne trudności w obsłudze dostępu do danych w pamięciach masowych. Zapis musi być skoordynowany z operacją kasowania bloków pamięci. Zazwyczaj jeśli plik ma zostać zaktualizowany lub nadpisany, system zarządzania pamięcią tworzy nową kopię pliku w innym miejscu, oznaczając tylko poprzednią wersję jako bezużyteczną. Taka wersja pliku nadal zajmuje wolne miejsce, jest ono zwalniane jeśli operacja kasowania jest możliwa, czyli w danym bloku pamięci nie ma fragmentu innego pliku. W celu efektywniejszego kasowania bloków pamięci możliwe jest też przenoszenie części innych plików (nie wymagających modyfikacji) w inne miejsce, tak by blok nadawał się do skasowania. Dodatkową komplikacją jest fakt, że operacja kasowania jest znacznie dłuższa niż operacja zapisu i odczytu.

Standardowe pamięci EEPROM pozwalają zapisywać lub kasować tylko jedną komórkę pamięci na raz, co oznacza, że pamięci flash są znacznie szybsze, jeśli system je wykorzystujący zapisuje i odczytuje komórki o różnych adresach w tym samym czasie. Wszystkie rodzaje pamięci EEPROM, w tym pamięci flash, mają technologicznie ograniczoną liczbę cykli kasowania (zapisu) – przekroczenie tej liczby powoduje nieodwracalne uszkodzenia.

Zastosowanie[edytuj | edytuj kod]

Pamięci flash są powszechnie stosowane we wszelkich kartach pamięci, pamięciach USB (pendrive) oraz pamięciach SSD (dysk SSD).

Obecnie w użyciu są następujące karty pamięci stosujące jako nośnik danych pamięć flash:

Ponadto są używane do przechowywania programów i danych w urządzeniach wbudowanych (ang. embedded), gdzie są stosowane zamiast popularnych kiedyś pamięci typu EPROM i PROM.

Zobacz też[edytuj | edytuj kod]

Przypisy