Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wytrzymałość pamięci FLASH

Freddie Chopin 18 Wrz 2009 09:11 1926 4
  • #1 18 Wrz 2009 09:11
    Freddie Chopin
    Specjalista - Mikrokontrolery

    1. Z tego co wiem niszczenie pamięci FLASH odbywa się jedynie podczas kasowania - pamięć ma wytrzymałość np 10k cykli, co oznacza, że zapisaną stronę / komórkę można skasować 10k razy. Prawda li to?

    2. Jeśli powyższe jest prawdą, to czy "cyklem niszczącym" jest skasowanie komórki, która jest już skasowana, czy może taki cykl nie dolicza się do sumy?

    Pytanie spowodowane jest notą aplikacyjną o emulowaniu EEPROMu w pamięci FLASH - http://www.st.com/stonline/products/literature/an/13718.pdf . W algorytmie zawarte jest profilaktyczne kasowanie strony, nawet jeśli w teorii jest ona skasowana. Chciałbym wiedzieć, czy takie coś niszczy pamięć, czy jest "bezpieczne"?

    thx from the mountain

    4\/3!!

    0 4
  • #2 18 Wrz 2009 11:42
    arrevalk
    Poziom 25  

    1. Raczej około 10k razy, to nie jest nigdy dokladnie tyle, czasem więcej czasem mniej. A dodatkowo z tego co czytałem to pamięć "zużywają" cykla zapis/kasowanie a nie tylko kasowanie.

    2.Drugi cykl też się wlicza chyba że układ zarządzający flashem w jakiś sposób potrafi stwierdzić że komórka jest czysta (tu pytanie najlepiej skierować do inżynierów ST).

    Zresztą nie używał bym określenia "nisczy" a "zużywa". A czy to bezpieczne raczej tak bo przecież w eepromie nie przechowywuje się zmiennych bierzących programu (przynajmiej ja tak robie).

    0
  • #3 18 Wrz 2009 22:17
    shg
    Specjalista techniki cyfrowej

    http://en.wikipedia.org/wiki/Hot_carriers_injection

    1. Niszczenie odbywa się przy zmianie potencjału bramki, czyli zarówno przy kasowaniu, jak i programowaniu. Ta trwałość to w najgorszych warunkach, zazwyczaj piszą, że minimum tyle. W praktyce (w temperaturze pokojowej) jest więcej.

    2. Różnie, zależy czy w układzie istnieje możliwość wstrzyknięcia większej ilości nośników do już przeładowanej bramki, jeżeli nie, to wielokrotne cykle zapisu tej samej wartości (lub kasowania) są nieszkodliwe.

    0
  • #4 21 Lip 2011 23:47
    buh
    Poziom 22  

    A co dokładnie się niszczy w pamięciach Flash podczas cykli zapisywania/kasowania?
    Nigdzie nie potrafię znaleźć odpowiedzi na to pytanie, wszędzie tylko skopiowany artykuł o pamięciach Flash z Wikipedii.

    0
  • #5 22 Lip 2011 09:25
    tmf
    Moderator Mikrokontrolery Projektowanie

    shg - nie wiem jak to dokładnie wygląda w ARM, ale w ogólności FLASH się niszczy wyłącznie podczas cyklu kasowania - bo tylko wtedy przykładany jest wysoki potencjał, który degraduję barierę. Podczas zapisu, niezależnie, czy 0, czy 1 nic się nie dzieje. W trakcie programowania bitu na 1 nie są wstrzykiwane ładunki - dlatego właśnie FLASH wymaga kasowania.

    Dodano po 4 [minuty]:

    BTW, proces degradacji FLASH nie jest zero-jedynkowy :) FLASH degraduje się w sposób ciągły podczas każdego kasowania, po prostu po 10k kasowań statystycznie jego jakość uniemożliwia zachowanie parametrów gwarantowanych przez producenta, np. czasu retencji, szczególnie w wyższych temperaturach.
    Wynika z tego, że układ pracujący w typowych warunkach może przeżyć nawet 100k kasowań, z drugiej strony układ pracujący w ekstremalnych warunkach nie powinien mieć nawet 1k kasowań. Warto też zwrócić uwagę na organizację pamięci. Zwykle FLASH jest zorganizowany w postaci stron, kasowanych łącznie. Stąd jeśli kasujemy niezależnie leżące obok siebie komórki (jeśli jest taka możliwość) to tak naprawdę kasujemy całą stronę, co wpływa na żywotność nie tylko kasowanej komórki, ale także komórek leżących na tej samej stronie.

    0