Dlaczego nadal należy używać zwykłej pamięci EEPROM zamiast pamięci flash?


34

Czy istnieje jakiś powód, dla którego ludzie nadal używają (i wdrażają w nowych systemach) normalnych EEPROM zamiast pamięci flash?

Z wikipedii z pamięcią Flash :

Pamięć flash została opracowana z EEPROM (elektrycznie kasowalna programowalna pamięć tylko do odczytu).

Czy byłyby jakieś wady (zużycie energii, miejsce, prędkość itp.) W korzystaniu z pamięci flash zamiast normalnej pamięci EEPROM?


Myślę, że możesz się mylić między EPROM (usuwalny tylko w UV, głównie przestarzały) i EEPROM (usuwalny elektrycznie).
pjc50

@ pjc50 Nie jestem - zacytowałem niewłaściwą część wiki, naprawiłem teraz - dzięki :)

2
Flash jest usuwany w dużych porcjach, natomiast pamięć EEPROM może być usuwana w bajcie.
jippie

2
Nigdy nie dowiesz się, że są takie same, czytając arkusze danych PIC ... mają nawet inne cechy. Ale chyba to może być marketing. W końcu mają też „Enhanced Flash”. BTW, EEPROM zniknął na PIC 32, a minimalny zapis strony flash to 4k bajtów.
gbarry

2
@gbarry: Nie są takie same. Flash to EEPROM, ale nie wszystkie EEPROM to flash. Zapamiętaj, co oznacza EEPROM, czyli elektronicznie kasowalna programowalna pamięć tylko do odczytu .
Olin Lathrop

Odpowiedzi:


26

Mówiąc pedantycznie, pamięć FLASH jest jedynie formą pamięci EEPROM: tutaj jest aspekt marketingowy / brandingowy. Zazwyczaj stosuje się obecnie rozróżnienie między tym, że EEPROMS są jednobajtowe (lub słowo pamięci) kasowalne / wielokrotnego zapisu, podczas gdy FLASH jest oparty na blokach dla operacji kasowania / zapisu.

Odpowiedni do pytania:

  • EEPROM są nadal popularne ze względu na maksymalne oceny cyklu kasowania / zapisu o rząd wielkości lub dwa razy lepsze niż FLASH
  • Z uwagi na to, że inwestycje w projektowanie zwykle amortyzowane były w miarę upływu czasu, jak w przypadku każdej dojrzałej technologii, koszt produkcji i testowania zmniejsza się w porównaniu z nowszą technologią.

2
Wszyscy mówią o skasowaniu jednego bajtu lub bloku, ale jaka jest teoria? mogę również usunąć dowolną liczbę bajtów z pamięci flash !!!
Bestia

1
@Frankenstein, jak to się robi?
abdullah kahraman

19

Liczba cykli zapisu, które może obsłużyć większość pamięci EEPROM, znacznie przewyższa liczbę cykli zapisu, które może obsłużyć większość pamięci flash.

EEPROMS może ogólnie obsługiwać ~ 100 000-1 000 000 zapisów na komórkę.
Flash jest ogólnie oceniany na ~ 1 000-100 000 zapisów (różni się znacznie w zależności od rodzaju flasha).

Kolejną zaletą pamięci EEPROM w porównaniu z pamięcią flash jest to, że pamięć flash musi być zazwyczaj usuwana w blokach, więc jeśli twoje wzorce zapisu obejmują sekwencyjne jednobajtowe zapisywanie, będziesz używał o wiele więcej cykli zapisu w pamięci flash, niż zrobiłbyś to z równoważnym EEPROM, tak jak EEPROM pamięć może być zasadniczo usuwana na podstawie bajtu, a nie na podstawie cyklu flashowania dla bloku.

Zasadniczo flash jest zwykle usuwany w blokach o wielkości ~ 64-512 kilobajtów. Dlatego dla każdego zapisu w dowolnym miejscu tego bloku sterownik musi skasować cały blok, używając cyklu zapisu dla całego bloku. Możesz zobaczyć, że jeśli sekwencyjnie wykonywałeś jednobajtowe zapisy na każdym adresie w bloku, skończyłbyś wykonywanie w dowolnym miejscu od 64K do 512K zapisów w całym bloku, co mogłoby z łatwością wykorzystać całą wytrzymałość zapisu flasha.

Jako takie, pamięci EEPROM są zwykle używane w sytuacjach, gdy lokalny procesor jest mały i nie ma możliwości buforowania zapisów na każdej stronie flash.


Wiele z tego staje się coraz mniej prawdziwe w miarę postępu technologii flash. Istnieją układy scalone pamięci flash, które obejmują funkcje lokalnego buforowania zapisu, a także dramatycznie zwiększają wytrzymałość zapisu w pamięci flash.


Rozmiar bloku kasującego i bloku zapisu zwykle nie jest taki sam. Również w przypadku starszej pamięci flash typu „jeden bit na komórkę” można niezawodnie nadpisywać bloki przynajmniej raz, o ile zapis nie wymagał zmiany wartości bitu z powrotem do stanu skasowanego. Na przykład, jeśli 1 jest stanem wymazanym, przy 16-bitowych blokach można zapisać 0bxxxxxxxx11111111, a później napisać 0bxxxxxxxxyyyyyyyyy (lub nawet 0b1010101011111111, a później 0b00000000xxxxxxxx).
Paul A. Clayton,

@ PaulA.Clayton - Dobra uwaga.
Connor Wolf,

@ PaulA.Clayton: Jedną rzeczą, którą chciałbym, aby dostawcy Flash udokumentowali, jest to, czy można zgodnie z prawem wyzerować dużą część już napisanego bloku flash, bez konieczności jego wcześniejszego usunięcia. Bardzo przydatna byłaby możliwość bezpośredniego unieważnienia strony bez konieczności śledzenia w innym miejscu faktu, że strona została unieważniona.
supercat
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.