PAMIĘĆ FLASH –
BUDOWA I
ZASADA
DZIAŁANIA
Autorzy:
Michał Góra
Ariel Gierczak
Budowa komórki układu Flash
Pamięć flash jest odmianą pamięci
EEPROM
(Electrically
Erasable
Programmable Read-Only Memory).
Kasowanie i zapis odbywa się przez
podanie
odpowiednich
sygnałów
elektrycznych.
Nazwa
"flash"
pochodzi
od
możliwości
bardzo
szybkiego
kasowania
zapisanych
komórek pamięci.
Zasadza działania
Zasada działania opiera się na przechowywaniu informacji w
tranzystorach polowych MOSFET. Zwykły tranzystor składa się ze
źródła i drenu - półprzewodnika typu N+ (P+) oddzielonego
półprzewodnikiem typu P (N) nad którym umieszczona jest
elektroda - bramka.
Napięcie bramki jest równe napięciu
podłoża - tranzystor wyłączony
Przyłożenie napięcia do bramki
wywołuje pole elektryczne w
półprzewodniku typu P (N) –
tranzystor włączony
Tranzystor tego typu pobiera prąd tylko w momencie przełączania
stanu. Jedna komórka pamięci Flash składa się z takiego tranzystora,
który pomiędzy podłożem, a bramką sterującą (Control Gate) posiada
odizolowaną bramkę pływającą (Floating Gate).
Pamięci Flash występują w dwóch odmianach NOR i NAND. Różnica w
konstrukcji polega na połączeniu komórek w równolegle (NOR) lub
szeregowo (NAND). Pamięci NAND nie mogą być odczytywane zupełnie
swobodnie, a jedynie porcjami - stronami po kilka kB. Ponadto w
porównaniu do pamięci NOR mają krótsze czasy zapisu, odczytu, większą
gęstość zapisu i niższy koszt na MB pojemności. Także wytrzymałość
liczby cykli P/E jest do 10 razy większa. W niektórych zastosowaniach
wymagany jest dostęp zupełnie swobodny, który zapewnia pamięć typu
NOR.
Pamięć NOR
Pamięć NAND
NOR vs NAND
Organizacja bloków
Oprócz pamięci na dane współczesne układy
posiadają oddzielne kilka bajtów na każdy blok do
przechowywania
sum
kontrolnych
(Error
Correction Code).
Typowe rozmiary stron i bloków współczesnych
pamięci NAND wynoszą:
- 32 strony x 512 B + 16 B na ECC = blok 16 kB
- 64 strony x 2048 B + 64 B na ECC = blok 128 kB
- 64 strony x 4096 B + 128 B na ECC = blok 256 kB
- 128 stron x 4096 B + 128 B na ECC = blok 512 kB
Ograniczona liczba cykli zapisu/kasowania
Problem zużywania się pamięci rozwiązuje się na
kilka sposobów:
- Równoważenie zużycia wszystkich bloków.
- Oznaczanie zużytych bloków jako Bad Block.
-
Adaptacje
istniejących
systemów
plików
oszczędzają cykle kasowania korzystając z warstwy
programowej (Flash Translation Layer - FLT).
- Układy firm Compact Flash i Secure Digital mają
wbudowane sprzętowe mechanizmy wydłużające
życie pamięci.
- Trzymanie plików często odczytywanych i rzadko
zapisywanych, a częste zapisy (np. stronicowanie) są
wykonywane na magnetycznych dyskach twardych.
SLC vs MLC
Aktualne trendy rozwoju pamięci flash idą w dwóch kierunkach -
wysokiej odporności na błędy i wysokiej gęstości zapisu. Podział ten jest
realizowany poprzez trzymanie jednego bitu w kilku komórkach lub w
wielu bitów w jednej komórce. Technika ta nosi nazwę Multi-Level Cell
MLC w odróżnieniu od Single-Level Cell SLC. I tak 4 poziomy - 0, 1/3, 2/3
i 1 umożliwiają zapisanie 2 bitów w jednej komórce.
W czerwcu 2008 południowokoreańska firma Hynix zaprezentowała
układy MLC NAND o 8 poziomach, czyli 3 bitach na komórkę. W
porównaniu do SLC pamięci MLC mają 2-3 krotnie wyższą gęstość
zapisu, wolniejszy czas odczytu o kilkadziesiąt procent i 10-krotnie
mniejszą żywotność. Problemem jest też podatność na błędy i gubienie
informacji przy zmianach temperatur.
Rozkład napięć dla zapisu MLC
CompactFlash
-Maksymalna prędkość transmisji
danych
wynosi 133 MB/s.
-Rozmiar:
42.8mm x 36.4mm x 3.3mm dla typu I
42.8mm x 36.4mm x 5.0mm dla tupu II
-Napięcie zasilania: 3.3 i 5.0 V
-Temperatura pracy od 0 do 70 stopni
Celsjusza
- Wytrzymałość elektryczna:
1.000.000 cykli odczytu/zapisu (w
przypadku kart pamięci)
- Waga: maks 11.4 gram
Interfejs jest elektrycznie zgodny ze
standardem IDE oraz wykorzystywanym w
laptopach PCMCIA
-Ukazany na rynku w 1994 roku.
-Pierwsze powszechnie dostępne
na rynku karty pamięci flash.
-Dostępne w rozmiarach od
16MB
do
12GB.
Aktualna
specyfikacja
w
wersji
2.0
przewiduje karty o rozmiarze do
137GB i prędkości transmisji
danych do 16MB/s.
-Najszybsze dostępne obecnie na
rynku karty posiadają indeks x80.
Compact Flash jest najstarszą i
zarazem
największą
kartą
pamięci.
SmartMedia
- Opracowana przez Toshibę w 1996 roku.
- Składają się z pojedynczego chipa pamięci Flash (typu
NAND) i nie mają żadnego kontrolera.
-Przez to wszelkie operacje odczytu/zapisu polegają na
kontrolerze wbudowanym w urządzenie obsługujące
kartę.
-Karty SmartMedia były znane jako jedne z najcieńszych i
najlżejszych kart pamięci na rynku.
-Mierzą zaledwie 45x 37 x 0.76 mm i ważą poniżej 1.8
grama.
Główne założenia:
Średni czas między awariami: 1.000.000 godzin
Wytrzymałość mechaniczna: minimum 10.000 włożeń
Wytrzymałość elektryczna: 1.000.000 cykli
odczytu/zapisu
Wytrzymałość na uderzenia: 1000G
Wytrzymałość na wstrząsy: 15G
Na rynku dostępne są karty o
pojemnościach 2, 4, 8, 16, 32, 64 i 128MB.
Ich główną zaletą jest cena,
a wynika to z konstrukcji karty.
Memory Stick i Memory Stick Pro
-Karta opracowana przez Sony.
-Karty pamięci stałej dzielą się na "zwykłe" Memory Stick oraz
Memory Stick Pro.
- Używana głównie w aparatach cyfrowych Sony, konsolach do
gier Playstation i telefonach komórkowych marki Sony Ericsson
oraz NEC.
-Rozmiar karty, który można przyrównać do
baterii "paluszka" AA, a więc 50 x 21.5 x
2.8 mm.
-Mniejsze - DUO - są wielkości znaczka
pocztowego: 31mm x 20mm x 1.6mm.
- Wersja Memory Stick PRO charakteryzuje się
zwiększoną prędkością przesyłu danych oraz większą
pojemnością.
- Wersja Memory Stick Duo oraz Memory Stick PRO
Duo to wersje kart pamięci, w których wielkość karty
zredukowano o połowę.
- Wersja Memory Stick Micro, zwana również M2, to
miniaturowa wersja karty Memory Stick – o rozmiarach
prawie czterokrotnie mniejszych od standardowej.
Używana była w telefonach Sony Ericsson.
- Obecnie Memory Stick produkowana jest nie tylko
przez Sony ale m.in. przez Sandisk czy Lexar
Memory Stick i Memory Stick Pro
Standard/Duo:
4 MB, 8 MB, 16 MB, 32 MB, 64 MB,
128 MB
PRO/PRO Duo:
64 MB, 128 MB, 256 MB, 512 MB, 1
GB, 2 GB, 4 GB, 8 GB, 16 GB, 32 GB
Micro (M2):
64 MB, 128 MB, 256 MB, 512 MB, 1
GB, 2 GB, 4 GB, 8 GB, 16 GB
Prędkość transferu danych
Standard:
Maksymalna prędkość zapisu: 14,4 Mb/s (1,8 MB/s)
Maksymalna prędkość odczytu: 19,6 Mb/s (2,5 MB/s)
PRO/PRO Duo:
Transfer: 160 Mb/s (20 MB/s)
Minimalna prędkość zapisu: 15 Mb/s
Maksymalna prędkość zapisu: 80 Mb/s (High Speed PRO
Duo)
Micro (M2):
Transfer: 160 Mb/s (20 MB/s)
MultiMedia Card
- Swój debiut na rynku miały w listopadzie 1997.
- Standard MMC został opracowany przez spółkę SanDisk Corporation oraz
Siemens.
- W chwili premiery były to najmniejsze karty Flash , mające 24mm x 32mm
x 1.4 mm.
-Ze względu na swoje rozmiary i wagę (poniżej 2 gram) używane do
telefonów komórkowych i odtwarzaczy mp3.
- - Istnieją w dwóch wariantach, rzadko spotykanym ROM, czyli stałej
pamięci tylko do odczytu, a także w klasycznych Flash.
- Oba rodzaje do komunikacji ze używają 7 pinowego interfejsu
szeregowego o szerokości 1, 4 i 8 bitów.
19
Marca
2004
roku
firma
SanDisk
zaprezentowała ich jeszcze mniejsza wersje. RS-
MMC (Reduced Size MultiMedia Card, czyli karty
MMC o zmniejszonym rozmiarze). Jedyną różnicą
miedzy kartami RS-MMC a MMC jest właśnie
rozmiar 24.0mm x 18.0mm x 1.4mm,
Secure Digital
- Zostały wprowadzone na rynek pod koniec 2001 roku, przez Toshibe i
Panasonica.
-Głównym powodem powstania SD była jednak potrzeba implementacji
mechanizmu ochrony danych przed kopiowaniem.
-Powierzchnia adresowana jest zgodna z systemem plików FAT32
- Karty miniSD mają zaledwie 21.5mm x 20mm x 1.4mm i ważą poniżej
jednego grama. W chwili premiery dostępne były karty o pojemności 16,
32 i 64MB, a dziś można dostać karty o rozmiarach do 4 GB.
-Karty od 4 GB do 32 GB określane są jako SDHC
Aktualny wskaźnik prędkości kart:
klasa 2: 16 Mb/s (2 MB/s) -
klasa 4: 32 Mb/s (4 MB/s)
klasa 6: 48 Mb/s (6 MB/s)
klasa 10: 80 Mb/s (10 MB/s)
Karty pamięci SD są powszechnie
stosowane w:
- Cyfrowych aparatach fotograficznych
- Kamerach cyfrowych
- Palmtopach
- Telefonach komórkowych
- Urządzeniach do nawigacji satelitarnej
i odbiornikach GPS
- Odtwarzaczach MP4/MTV
- Konsolach GBA/SP
xD Picture
- Z kart pamięci xD korzystają cyfrowe aparaty fotograficzne
Olympus oraz Fujifilm, a także cyfrowe dyktafony Olympus.
-W obecnej chwili są dostępne w pojemnościach 16 MB, 32 MB,
64 MB, 128 MB, 256 MB, 512 MB, 1 GB oraz 2 GB. Karta ma
wymiary 20 mm × 25 mm × 1.78 mm (porównywalne ze
znaczkiem pocztowym)
-Waży 2.8 g.
- Karty te zadebiutowały na rynku w lipcu 2002
r.
- Produkują je Toshiba i Samsung
Budowa pendrive
Klasyczny pendrive składa się z:
- płytki PCB (3)
- wtyku USB typu A (4)
- kontrolera (2)
- nieulotnej pamięci NAND (1)
Dodatkowe elementy to:
- regulator napięcia 5 do 3.3 V
- rezonator kwarcowy zwykle 12 MHz
- elementy dodatkowe jak złącze
serwisowe, blokada zapisu .
Dysk SSD
Solid-state drive
- urządzenie pamięci masowej
- zbudowane w oparciu o pamięć typu flash
- brak elementów elektromechanicznych, tylko układy
scalone
- dane zapisane są w bramkach przechowujących
elektrony
SSD - zalety
- mniejszy czas dostępu do danych
- większe prędkości zapisu i odczytu
- mniejszy pobór energii
-odporność na przeciążenia, wstrząsy
i wibracje
-szeroki zakres temperatur,
w których mogą pracować
-przeważnie są lżejsze
SSD - wady
- ograniczona żywotność
-MLC do 10 000 zapisów jednej
komórki
-SLC do 100 000 zapisów jednej
komórki
-ciągle ceny o rząd wielkości
wyższe
wolniejsze nadpisywanie małych
obszarów
-realna awaryjność
Porównanie wydajności HDD i
SSD w teście PCMark
SSD - czyszczenie i zapis segmentów
- ”pusty” (wymazany) segment flash jest wypełniony jedynkami
- można zmienić pojedyncze bity z 1 na 0
- nie można zmienić z 0 na 1 (by to zrobić trzeba wymazać cały
segment)
-segmenty są dość duże (zazwyczaj 256KB)
-zapis jest szybki jeśli jest dużo czystych segmentów
komenda TRIM
- zazwyczaj dysk twardy nie wie, które sektory są nieużywane
- to system plików obsługuje usuwanie plików
- dla dysku twardego każdy sektor jest używany
- nie można było powiedzieć poprzez interfejs (S)ATA dyskowi, że dany
sektor jest nie używany
-dlatego rozszerzono interfejs ATA o tę możliwość (TRIM)
-wsparcie w Linux 2.6.33+, Windows 7
Nowe wymagania dla systemów plików
- ograniczona żywotność komórek
- czyszczenie nieużywanych bloków w tle (np. TRIM)
- duże segmenty - ”fragmentacja” wewnętrzna
- problemy z nadpisywaniem segmentów
-np. utrata zasilania między czyszczeniem a pisaniem
-również obniżona wydajność tej operacji
NilFS
Mocny nacisk na robienie snapshot, słabe/brak wsparcia dla SSD.
Można jednocześnie czytać ze snapshotów podczas korzystania z
dysku.
LogFS
Prosty, nie wspiera snapshotów. Montowanie w czasie O(log(n)).
JFFS2
Nie przechowuje drzewa katalogów na dysku. Montowanie w czasie
O(n). Nie wspiera snapshotów. W praktyce nadaję się tylko do małych
nośników
ZFS
Bardzo zaawansowany system plików tworzony przez system Sun.
Używany na długo przed powstaniem komercyjnych SSD. Ma bardzo
wiele ciekawych funkcjonalności, ale do pełnego ich wsparcia wymaga
sprzętu. Tworzony pod kątem serwerów. Udostępniony na licencji open
source CDDL, co w praktyce uniemożliwia wykorzystania jego w Linux.
Btrfs
Bardzo złożony i zaawansowany system plików, w założeniu ma być
odpowiednikiem ZFS na licencji GPL. Projektowany głównie do
serwerów, niekoniecznie z dyskami SSD .
Systemy plików na pamięci
Flash
Dziękujem
y za
uwagę