ROM (MROM) - pamięci tylko do odczytu. Ten typ pamięci programowany jest w trakcie procesu produkcyjnego. Czasami ROM określana jako MROM (Mask-programmable ROM).
PROM (ang. Programmable ROM) - programowalna pamięć tylko do odczytu. Jest to pamięć jednokrotnego zapisu. Pierwsze pamięci tego typu były programowane przez przepalenie cieniutkich drucików wbudowanych w strukturę (tzw. „przepalanie połączeń”), które zazwyczaj przeprowadza się w programatorach.
EPROM (ang. Erasable Programmable ROM) - kasowalna pamięć tylko do odczytu. Do której zaprogramowania potrzebne jest specjalne urządzenie, zwane programatorem PROM (PROM Programmer albo PROM Burner). Pamięć tego typu do powtórnego zaprogramowania wymaga kasowania, które przeprowadza się poprzez naświetlanie ultrafioletem. Pamięci tego typu montowane są zazwyczaj w obudowie ceramicznej z „okienkiem” ze szkła kwarcowego umożliwiającym skasowanie.
EEPROM (ang. Electrically Erasable Programmable ROM) - pamięć kasowalna elektrycznie. Wykonywana w różnych postaciach, różniących się sposobem organizacji kasowania i zapisu.
Stricte:
RAM (ang. Random Access Memory - pamięć o dostępie swobodnym) - podstawowy rodzaj pamięci cyfrowej. Choć nazwa sugeruje, że oznacza to każdą pamięć o bezpośrednim dostępie do dowolnej komórki pamięci (w przeciwieństwie do pamięci o dostępie sekwencyjnym, np. rejestrów przesuwnych), ze względów historycznych określa ona tylko te rodzaje pamięci o bezpośrednim dostępie, w których możliwy jest wielokrotny i łatwy zapis, a wyklucza pamięci ROM (tylko do odczytu) i EEPROM których zapis trwa znacznie dłużej niż odczyt, pomimo iż w ich przypadku również występuje swobodny dostęp do zawartości[1].
W pamięci RAM przechowywane są aktualnie wykonywane programy i dane dla tych programów oraz wyniki ich pracy. W temperaturze pokojowej zawartość większości pamięci RAM jest tracona w czasie mniejszym niż sekunda po zaniku napięcia zasilania, niektóre typy wymagają także odświeżania, dlatego wyniki pracy programów, wymagające trwałego przechowania, muszą być zapisane na innym nośniku danych.
Pamięci RAM dzieli się na pamięci statyczne (ang. Static RAM, w skrócie SRAM) oraz pamięci dynamiczne (ang. Dynamic RAM, w skrócie DRAM). Pamięci statyczne są szybsze od pamięci dynamicznych, które wymagają ponadto częstego odświeżania, bez którego szybko tracą swoją zawartość. Pomimo swoich zalet są one jednak dużo droższe; używane są w układach, gdzie wymagana jest duża szybkość (np. pamięć podręczna procesora) lub ilość pamięci jest niewielka, że nie opłaca się konstruować układu odświeżania (np. proste mikrokontrolery). W komputerach wymagających dużej ilości pamięci jako pamięć operacyjną używa się pamięci DRAM.
Pamięć RAM jest stosowana głównie jako pamięć operacyjna komputera, jako pamięć niektórych komponentów (procesorów specjalizowanych) komputera (np. kart graficznych, dźwiękowych itp.), jako pamięć danych sterowników mikroprocesorowych.
Technologie pamięci RAM
Współczesna pamięć RAM jest realizowana sprzętowo w postaci układów scalonych występujących w różnych technologiach lub jako fragmenty bardziej złożonych scalonych układów cyfrowych (np. pamięć cache L1, L2 procesora, a ostatnio także L3) oraz w postaci różnych modułów, znajdujących głównie zastosowanie w komputerach. Wyróżnia się pamięci trwałe (NVRAM) i ulotne.
Pamięci nieulotne (Non-Volatile Random Access Memory)
FRAM - nośnikiem danych jest kryształ
MEMS - pamięć mikroelektromechaniczna
MRAM - nośnikiem danych są magnetyczne złącza tunelowe (konstrukcja prototypowa)
OUM - pamięć oparta na zmianach stanu stopów pierwiastków rudotwórczych
PRAM - elementem pamięciowym jest kryształ (konstrukcja prototypowa)
ROM (ang. Read-Only Memory - pamięć tylko do odczytu) - rodzaj pamięci półprzewodnikowej urządzenia elektronicznego, w szczególności komputera, z której dane można tylko odczytywać, a zapis jest niemożliwy, trwa długo lub może wymagać dodatkowych czynności lub sprzętu. W tego typu pamięciach przechowywane są dane, które muszą być zachowane, nawet jeśli urządzenie nie jest zasilane.
Określenie ROM stosowane jest też także do nie półprzewodnikowych niekasowalnych nośników danych, na przykład CD-ROM, DVD-ROM.
PROM (ang. Programmable read-only memory) - pamięć komputerowa jednokrotnego zapisu, zbudowana w postaci układu scalonego.
Programowanie pamięci PROM polega na podaniu między linię bitu, a linię słowa napięcia od kilkunastu do kilkudziesięciu woltów, które przepala element łączący linię bitu i linię słowa. Opornik przepala się na przerwę, a tranzystory na zwarcie. Pamięci z matrycą oporową mają wpisane jedynki, a przy programowaniu wpisujemy 0. Pamięci z matrycą tranzystorową mają najczęściej wpisane 0, a przy programowaniu wpisujemy 1.
Proces programowania nie następuje w momencie produkcji. Można ją zaprogramować samodzielnie po kupieniu.
Przykładem takiej pamięci, wykonanej w technice TTL, jest układ scalony DM74S288 (produkcji National Semiconductor) o pojemności 256b i organizacji 32 x 8b.
W pamięć PROM jest wyposażany również szereg mikroprocesorów jednoukładowych np. PIC z literą C. Układ jest programowalny w trakcie lub tuż po montażu i w pełni funkcjonalny dla odpowiednika z pamięcią Flash, ale znacząco tańszy w skali produkcji. W urządzeniach z pamięcią PROM nie można aktualizować oprogramowania.
EPROM (ang. Erasable Programmable Read-Only Memory) - rodzaj pamięci cyfrowej w postaci układu scalonego, przechowującej zawartość także po odłączeniu zasilania. Wykorzystuje specjalnie skonstruowany tranzystorMOS z dwiema bramkami: sterującą, normalnie połączoną elektrycznie z resztą układu i bramką pamiętającą, odizolowaną od reszty układu.
Pamięć EPROM programowana jest przy pomocy urządzenia elektronicznego, które podaje na dren tranzystora napięcie wyższe niż normalnie używane w obwodach elektronicznych (zwykle ok. 18 V, w układach cyfrowych stosuje się napięcia 3,3-5 V), zdolne do chwilowego przebicia warstwy izolacyjnej wokół bramki pamiętającej. Programowanie układu polega na przebiciu cienkiej warstwy izolatora i wpuszczeniu do bramki pamiętającej określonego ładunku elektrycznego. Jego obecność na stałe zatyka tranzystor, niezależnie od stanu drugiej bramki. Skasowanie pamięci polega na odprowadzeniu ładunku z bramki.
Raz zapisana, pamięć EPROM może zostać skasowana jedynie przez wystawienie jej na działanie silnego światła (UV-EPROM) ultrafioletowego (wymagana długość fali: 253,7 nm), które jonizuje izolator umożliwiając odpłynięcie zgromadzonego ładunku lub elektrycznie (EEPROM). Pamięci EPROM wielokrotnego programowania można rozpoznać po przeźroczystym okienku ze szkła kwarcowego na górze układu, przez które widać kość krzemową i które umożliwia dostęp światła ultrafioletowego w razie konieczności skasowania. Istnieją wersje jednokrotnego programowania (OTP), które nie posiadają okienka kasowania a układ krzemowy jest zamontowany w obudowie z tworzywa sztucznego. Istotną cechą tego rozwiązania jest znacznie niższa cena układu wynikająca z niższego kosztu samej obudowy.
Pamięć EPROM przechowuje dane przez około dziesięć do dwudziestu lat. Pozwala na około tysiąc cykli zapisu i dowolną liczbę cykli odczytu. Aby ochronić pamięć przed przypadkowym skasowaniem okienko musi być zawsze zasłonięte.
W starszych płytach głównych pamięć EPROM wykorzystywana była do zapisu BIOS-u płyty. Okienko kości EPROM zakrywane było etykietką z nazwą producenta BIOS-u, numerem wersji i notką o prawach autorskich.
EEPROM (ang. Electrically-Erasable Programmable Read-Only Memory) - rodzaj nieulotnej pamięci komputerowej. Oznaczana również jest jako E²PROM.
Pamięć EEPROM w odróżnieniu od pamięci EPROM może być kasowana tylko przy użyciu prądu elektrycznego. Liczba zapisów i kasowań jest ograniczona, w zależności od typu i producenta pamięci wynosi od 10.000 do 1.000.000 cykli. Po przekroczeniu tej wartości pamięć ulega uszkodzeniu. Liczba odczytów pamięci jest nieograniczona.
Wykorzystywana do przechowywania małej ilości danych, które muszą być dostępne po zaniku zasilania.
Rozwinięciem pamięci EEPROM jest pamięć typu Flash, w której dzięki zastosowaniu buforów zwiększono szybkość zapisu do pamięci.
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
W zależności od wykorzystanego typu bramki logicznej, można wyróżnić dwa rodzaje pamięci flash:
pamięć flash typu NOR - wykorzystuje funktor binegacji logicznej (NOR)
pamięć flash typu NAND - wykorzystuje funktor dysjunkcji logicznej (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 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
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.
Ograniczenia
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
Pamięci flash są powszechnie stosowane we wszelkich kartach pamięci, pamięciach USB (pendrive) oraz pamięciach SSD (dysk SSD).