Pamięć flash

Z Wikipedii, wolnej encyklopedii
Dysk półprzewodnikowy z pamięcią flash

Pamięć flash (ang. flash memory) – rodzaj pamięci komputerowej (półprzewodnikowej, nieulotnej) stanowiącej rozwinięcie konstrukcyjne i kontynuację pamięci typu EEPROM. Dostęp do danych zapisanych w pamięci flash wykorzystuje 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.

Klasyfikacja[edytuj | edytuj kod]

W zależności od organizacji komórek pamięci przypominającą budowę bramki logicznej, można wyróżnić dwa rodzaje pamięci flash:

  • pamięć flash typu NOR
  • pamięć flash typu NAND

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 mikrooprogramowanie różnego rodzaju urządzeń. Wytrzymuje od 10 do 100 tysięcy 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ń do pamięci masowej, na przykład w kartach pamięci. Pierwszą kartą pamięci opartą na pamięci flash typu NAND była karta SmartMedia. Później zaczęto jej używać także w innych typach kart pamięciowych (MultiMedia Card, Secure Digital, Memory Stick i xD Picture Card) oraz w pamięciach USB (potocznie określane jako pendrive).

Początki[edytuj | edytuj kod]

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

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

W 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 (niewymagających modyfikacji) w inne miejsce tak, aby 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 naraz, 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]

Karta pamięci marki Sandisk wykorzystująca pamięć Flash

Pamięć flash jest powszechnie stosowana w napędach SSD, kartach pamięci i pamięciach USB.

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[edytuj | edytuj kod]