Może warto też wspomnieć jak w ogóle te flashe są tak naprawde programowane?
Dzieje się to mniej więcej tak, że przykładając odpowiednie napięcia w odpowiednie linie, można się dostać do wszystkch programowalnych komórek. Oczywiście oznacza to, że odpowiednia sekwencja sygnałów pozwoli na zaprogramowanie po kolei wszystkich komórek..
Sama komórka pamięta swój stan w dość ciekawy sposób.
Otóż jest to tranzystor z podwójną bramką. Zawiera on specjalną warstwę - obszar, w którym mogą się znajdować lub nie znajdować nośniki - np elektrony. Elektrony te, zależnie czy się tam znajdują, czy nie, wpływają na pole pod bramką i na fakt powstawania kanału w tranzystorze.
Elektrony te same też z tamtąd nie uciekną, ponieważ musiały by pokonać barierę potencjału.
Programowanie polega na dostarczeniu nośników do tranzystorów w odpowiednich komórkach.
Kasowanie pamięci polega na pozbyciu sie elektronów ze wszystkich komórek.
Z kasowaniem jest łatwiej - elektrony by pokonać barierę potencjału muszą dostać energii. w EPROMach dostarcza się energii za pomocą światła UV. W EEPROMach i zwyklych FLASHach, energia jest elektryczna. Nośniki uwalniają się ze wspomnianego obszaru e półprzewodniku i pamięć jest wyczyszczona.
Zaprogramowanie polega na takim przesterowaniu bramek i drenów oczekiwanych tranzystorów, że spowoduje to napływ (bądź brak napływu) elektronów z prądu drenu do obszaru pod bramką. Po powrocie do napięć występujących podczas normalnej pracy układu, elektrony uciekać już nie będą.
Niszczenie pamięci polega na tym, że płynące elektrony - poprzez tlenek bramkowy, uszkadzają go i zmniejszają jego oporność. Po pewnym czasie, może powstać prąd upływu, poprzez który przestrzeń w tranzystorze się rozładuje i komórka straci swoją zawartość, w kontroler pamięci zauważy błąd CRC w swoim systemie plików.