Generyczny model współpracy
z pamięciami FLASH
-2 -
Zewnętrzne pamięci nieulotne wykonane w technologiach FLASH
Bufor danych
Współpraca z zewnętrznymi pamięciami FLASH
OS
Aplikacja
Sprzęt
Zewnętrzna pamięć FLASH
Operacja write/read
Bufor nr 1
Matryca FLASH
Obsługa
zenwętrznej
pamięci FLASH
Bufor nr 2
Bufor
-3 -
Zewnętrzne pamięci nieulotne wykonane w technologiach FLASH
Bloki i strony w typowych pamięciach FLASH
podstawowa jednostka kasowania - blok/sektor
podstawowa jednostka zapisu - strona
Przykłady z typowych wilekości
ST25P80
pojemność 1MB, blok/sektor 128KB, strona 256B
AT45DB041
pojemnośc 512KB, blok/sektor 256B, strona 256B
Pamięć Flash
-4 -
Zewnętrzne pamięci nieulotne wykonane w technologiach FLASH
Bloki i strony w typowych pamięciach FLASH
Operacja modyfikacji danych (dostęp swobodny)
1 - pobierz do bufora dane z danej strony
2 - skasuj blok
3 - zmodyfikuj danej w buforze
4 - zaprogramuj daną strone
Pamięć Flash
CPU
3.Zmien(S2, offset,
wartość)
1.Ładuj(S2)
S1
S2
Sxxx
2.Kasuj(S2
)
4.Zaprogramuj(S
2)
S3
Bufor
-5 -
Zewnętrzne pamięci nieulotne wykonane w technologiach FLASH
Bloki i strony w typowych pamięciach FLASH
Gdy pamięć FLASH zbudowano tak aby wielkości bloku i strony były
równe -
zagadnienie proste nie wymaga wielkich transferów do/z CPU
Dodatkowo wiele pamięci FLASH posiada wewnętrzny bufor strony
do wykorzystania przy modyfikowaniu danych
Przypadek
blok >> strona
podczas modyfikacji zawartości pamięci FLASH konieczne jest
„wachlowanie” danymi między jej blokami
(brak miejsca na buforowanie całego bloku w RAM CPU mocno
utrudnia realizacje tego typu operacji)
Blok
Strona