Flash pamet a vadne bloky

Pavel Hudecek edizon na seznam.cz
Sobota Únor 20 14:28:50 CET 2016


Též bych to nedoporučovat používat na úrovni bitů. Jen konstatuji, že se to 
tak chová. Znalost tohoto aspektu může pomoci při debugování:-)

PH

--------------------------
From: Jan Waclawek

>Tzn. 255 lze přepsat čímkoli, ze 3 se už dá udělat jen 0, 1, nebo 2.

Toto by som rozhodne nedoporucoval. DS k niektorym pamatiam nepredpisuje
obmedzenie na byty, ale u inych ano (vid nahodny vyber dole). Verim tomu,
ze aj u tych, kde to DS nedovoluje, sa daju v uz naprogramovanych byte
preprogramovat dalsie bity z 1 na 0; ale su aj fyzikalno-technologicke
dovody na to nerobit to (write disturb), a Vy nemozete vediet, ci su pre
dany obvod relevantne alebo nie. Ide teda o metodu "mne to funguje", ktora
sa moze v dlhodobom horizonte vypomstit znizenou spolahlivostou, napriklad.

Takze ak to chcete mat portabilne, programuje sa zasadne po bytoch, pricom
je u niektorych pamati mozne za urcitych okolnosti urychlit programovanie
tak, ze sa programuje viac bytov naraz (musia byt v ramci stranky obvykle
256 byte).

wek


Macronix MX25L8008E - asi bit
The Page Program (PP) instruction is for programming the memory to be "0"

ST/Numonyx/Micron M25P32 - bit
The PAGE PROGRAM command allows bytes in the memory to be programmed, which
means the bits are changed from 1 to 0.

Spansion/Cypress S25FL116K - byte
The Page Program command allows from one byte to 256 bytes (a page) of data
to be programmed at
previously erased (FFh) memory locations.

SST/Microchip SST25VF512 - byte (mimochodom, nema page program)
The Byte-Program instruction programs the bits in the selected byte to the
desired data. The selected
byte must be in the erased state (FFH) when initiating a Program operation.

Winbond W25Q16CV - byte
The Page Program command allows from one byte to 256 bytes (a page) of data
to be programmed at
previously erased (FFh) memory locations.
(a jeje, kto odpisuje od koho? :-) )




-----
>Ano.
>
>Resp. lze si představovat, že při zápisu proběhne AND s tím co už tam je.
>
>Tzn. 255 lze přepsat čímkoli, ze 3 se už dá udělat jen 0, 1, nebo 2.
>
>PH
>
>
>From: Martin Hanek
>Na toto jsem se ptal. Když nebudu potřebovat změny, ale využiji paměť
>třeba na logy nebo data, která jen přidávám, tak mi stačí smazat sector
>a postupně je zapisovat? Příklad:
>- mám data o velikosti 512B
>- vymažu sector 4kB
>- postupně, tak jak je sbírám, zapisuju bloky 512B, aniž bych sector mazal
>- po čase, až zapíšu celou paměť pojedu od začátku, tedy smažu blok a
>postupně zapisuju
>
>Lze to takto?
>
>Martin Hanek
>
>Dne 19.2.2016 v 13:24 "Ing. Libor Konečný" napsal(a):
>>
>> Ten zasadni rozdil je v tom (to je asi duvod vyssi ceny)  ze AT45 maji
>> RAM buffery. Tzn nemusite provadet erase, AT45db umi primo zapisovat,
>> interni HW si to jiz osetri.
>> U standardni flash musite vymazat blok a postupne zapisovat, bohuzel pri
>> zmene jednoho zapsaneho bajtu, musite znovu vymazat dany blok a do RAM
>> si zapamatovat co tam bylo puvodne, pak zmenit a zapsat. U MCU s malou
>> kapacitou je prave dulezita co nejmensi velikost bloku.
>>
>> U at45 nemusite ma to vlastni RAM buffer, takze muzete prepsat jeden
>> bajt a on se tam ulozi. Je sice pomalejsi, ale chova se  jako EEPROM. 



Další informace o konferenci Hw-list