"U většiny komerčně dostupných paměťových čipů se udává minimální garantovaný počet přepisů/vymazání každého bloku v řádu stovek tisíc."
To by me zajmalo kde autor tuhle informaci nasel. U Flash byl vzdy pocet prepisu uvadan v jednotkach tisic. Sto tisic maj EEPROM.
Viz treba datasheet MPU od Atmelu:
Non-volatile Program and Data Memories
2/4/8K Bytes of In-System Programmable Program Memory Flash• Endurance: 10,000 Write/Erase Cycles– 128/256/512 Bytes In-System Programmable EEPROM• Endurance: 100,000 Write/Erase Cycles
A to je SLC. U MLC, TLC, QLC je ten pocet prepisu jeste mnohem mensi...
14. 4. 2020, 10:31 editováno autorem komentáře
SLC ma typicky 100K cyklu (neni ovlivneno zmenou ubytku naboje) a je to prakticky pocet operaci vedouci k totalnimu zniceni bunky do nepouzitelneho stavu.
MLC ma ale jenom kolem 3K z pocatku - toto mnohonasobne mensi cislo je zpusobeno tim, ze wearout bunky meni rychlost jakou ubyva naboj - a tim ta ulozena data v MLC rozlozeni vlastne hnijou. 3K je tedy pocet, kdy si bunka drzi svuj "panensky" stav a neni znatelne derava. Po 3K je ojeta do stavu, nehodiciho se pro ukladani v MLC rezimu.
Nektere pameti lze oficialne pouzivat v MLC-as-SLC rezimu, co jednak znamena vyssi rychlost a druhak prave vyssi vydrz, takze to dava praktickou vyuzitelnost jako SLC cache.
"MLC ma ale jenom kolem 3K z pocatku - toto mnohonasobne mensi cislo je zpusobeno tim, ze wearout bunky meni rychlost jakou ubyva naboj - a tim ta ulozena data v MLC rozlozeni vlastne hnijou."
Rek bych ze si ten princip MLC moc nepochopil. "Ulozeny data" (naboj) "hnijou" u SLC uplne stejne jako u MLC. Naboj je ulozenej uplne stejne a tak se i stejne vybiji a stejne se u opotrebovava ten kremik. Rozdil je jen v tom ze cteni u MLC vyzaduje vyssi presnost, cili je nachylnejsi k chybovosti kvuli samovybijeni.
Základem buňky EEPROM i flash je stejná struktura tranzistoru se stejnými problémy/vlastnostmi. Nejvíce problémů z hlediska P/E je porušení izolační vrstvy, to je nezávislé na tom, jestli je tranzistor přímo připojen na řádky/sloupce nebo je tam NAND-like několik tranzistorů v sérii. Takže pokud bude EEPROM a flash vytvořena například technologií 20 nm, bude mít i +- stejný počet P/E, okolo 100 000 [1][2].
U MLC je to o hodně nižší, to máte pravdu - tady to jsou řádově tisíce [2]. U TLC - to je typickej consumer produkt orientovaný na jedno jediné číslo, které zákazník sleduje :( [dtto některé fotoaparáty, které zbytečně honí megapixely]. Další generace *LC pamětí už bude data jen odhadovat :p
[1] https://www.researchgate.net/publication/265286222_Solid_State_Drives_Data_Reliability_and_Lifetime
[2] https://www.ni.com/cs-cz/support/documentation/supplemental/12/understanding-life-expectancy-of-flash-storage.html#section--284237232
[3] https://www.delkin.com/technology/flash-endurance/
No Flash i EEPROM v MPU bude kazdopadne vyrobena stejnou technologii a evidentne podle datasheetu stejny pocet prepisu nema.
QLC mam uz par mesicu v notebooku a na to ze ty data "odhaduje" se docela trefuje ;).
https://www.alza.cz/crucial-p1-1tb-m-2-2280-ssd-d5471336.htm
SRAM nefunguje na principu drzeni naboje. Tam je klopny obvod. 2 nebo 4 tranzistory, ktere jsou vzajemne zaprene v jedne poloze + dalsi 2 na pristup kazdeho bitu. A aby zustaly zaprene, musi byt trvale napajene. Nutnost pouzit 4 nebo 6 tranzistoru na bit je asi hlavni duvod proc se kvuli cene za bit jako operacni pamet pouziva (neco)DRAM.
Zivotnost E/EE/PROM nebo flash je omezena tim, ze naboj nikdo nedoplnuje. Presneji radic flash jej doplnit muze, ale to se tyka jen zapnuteho zarizeni.
Problém je, že když dostáváte ty elektrony do/z plovoucího hradla (a je jedno, zda procesem Fowler-Nordheim nebo Hot Carrier injekcí), tak musíte použít vyšší napětí (8-9 V a více), a potom vysokoenergetické nosiče náboje izolační oxidovou vrstvu degradují = klesá její izolační schopnost, a tedy klesá i střední doba úniku 1/2 náboje z plovoucího hradla. Samozřejmě čím tlustší oxidační vrstva, tím E/P roste, ale zase vám rostou časy a energetická náročnost.
Vzdáleně bych to přirovnal k něčemu známějšímu - procesu degradace třeba 3v3 logiky, když ji připojíte na 5V napájení (např. I/O brána procesoru/FPGA/čehokoliv jiného, která na rozdíl od core nemá interní stabilizátor nap. napětí). Ona bude fungovat, průrazná napětí jsou výše, ale degradace vrstvy bude výrazně rychlejší a třeba za měsíc, za rok,...
Zjednodušeně řečeno, okolo hradla je vrstva SiO2, ve kteé nejsou volný elektrony - nevede. Navnek se projevuje jenom .to, že v hradle jsou nebo nejsou elektrony - nic nikam neteče, ale je tam el. pole.
Při programováno se musí izolant prostřelit a v SiO2. Jenomže jak se ccpou elektrony do hradla, navzájem se odpuzují a brzdí nově přicházející, ty pak někdy zůstanou viset v SiO2. Takový elektron se počítá do pole, ale může migrovat pryč (náboj z hradla ho tlačí ven) a vyrobí poruchu, do které může spadnout další elektron z hradla... A postupně se informace vypaří.
Takže pak nastupují CRC, evidence vadných sektorů a podobný kraviny. Třeba když chtěl zákazník počítat impulsy v zařízení a uchovávat je v NV paměti (mělo to vydržet 10 roků a v průměru 2.5 události / s), šla tam EEPROM s tím, že se napřed bloku "odsřelovalo" po bitech (0xFF -> 0xFE -> 0xFC -> 0xF8 -> ... 0x00) a když bylo 254B plných, inkrementoval se v dalším bloku 16b čítač. Dalo to 2032*216=133169152 kroků a to je jeden komplet přepis v průměru za 616,5 dne. Takže za dobu životnosti se ta 24C01 přepsala asi 6x... (FRAMka by to sice dala rovnou, ale od 500 kusů už byla nepřijatelná kvůli ceně).