Bude pokracovani do TLC, QLC a taky trocha jinych technologii jako napr. 3DXpoint/Optane?
K hybridnim technologiim bych radil i "SLC cache", protoze se chova analogicky k popsanym diskum/ramce.
U NAND stranek je to casovani trocha jabka s hruskama, 30ns muze byt prenos bajtu takze 2112B bude trvat 63us a hodnoty v ms jsou pak cteni/zapis stranky (ale prijde mi to hodne pomaly tedy.. ). Mazani bloku s 2ms je fakt oznaceno za nejpomalejsi? :) (btw moderni flashe maji ty stranky jiz 8K+ a za zminku stoji fakt ze pocet bloku a stranek neni 2^N, ale o neco vyssi, s tim ze vyrobce garantuje nejake minimum pouzitelnych a napr. i to ze prvni stranka bude vzdy funkcni).
Hybridní disky (aspoň Seagate SSHD) ovšem kombinují i nevýhody obou částí - jednak jsou problémy klasického disku (vadné sektory apod.), ale když odejde ta SSD část, tak, podobně jako u SSD, přijdete o všechno - z toho disku už nic nepřečtete.
Takže přes S.M.A.R.T můžete hlídat mechanickou část, ale stejně vám disk může odejít úplně celý najednou, bez varování.
Bylo to zajímavé řešení, ale ceny SSD to pohřbily.
To je dost problém firmware, dokonce bych spíš řekl, že k....o naschvál. Protože pokud odejde řadič dřív než samotné buňky NAND, tak se zase ušetřilo na nesprávném místě. A postupné umírání NAND by nemělo vadit - prostě by po tom, co dojdou náhradní buňky postupně docházelo k menšímu a menšímu využití Flash a přešlo by se k rotační části.
Takže toto je nejsmutnější závěr: zase se šetřilo ne na HW, ale na SW.
Není to běžný termín. Vzhledem k tomu, že podle Toshiby pochází název Flash od toho, že jednomu z kolegů vynálezce tohoto typu paměti připomínal proces tunelování při mazání blesk fotoaparátu. Takže když už, tak "blesková paměť". Už se těším, až tu uvidím překlady zkratek. Třeba taková EMZPČP (elektricky mazatelná, zapisovatelná, pouze čitelná paměť, pro normální lidi EEPROM), to by bylo něco.
Tohle je jeden z důvodů. proč jsem přesvědčen, že neanglická (česká obzvlášť) technická literatura málokdy stojí za víc pozornosti než k použití jako podložka pod nohu stolu v hospodě, aby se nekýval. Ohýbání a překládání jednoznačných termínů, kterým rozumí celý svět, do tvarů, které nepochopí ani člověk, který se daným oborem zabývá celý život. A člověk, který o takové věci čte poprvé, si něco takového nespojí s původním termínem, až ho uvidí v rozumné literatuře nebo v práci. Přitom třeba ve starší literatuře to tak vážné nebylo (mám poměrně rozsáhlou sbírku technické literatury od 20. do začátku 90. let, převážně v češtině a něco málo v němčině).
Ja osobne jsem pro to nektere terminy neprekladat. Pohybuji se v automotive a nektere pouzivane preklady jsou des bes hruza, ze i clovek neznaly anglictiny musi pri pouziti relativne ustaleneho ceskeho terminu zkoumat jak to bylo v originale, aby se dobral vysledku.
Taky jsem chvili premyslel co se titulkem mysli... a znal jsem spis ten termin bleskova pamet i s tou historkou (ona tam mozna bude nejaka paralela s EPROM, ktere se ozarovaly pomalu UVckem).
Na druhé straně období vymýšlení nosočistoplen už tu jednou v historii bylo a není nutné se k tomu znovu vracet. Už nepotřebujeme znovuvynalézat český jazyk. Způsobuje to jen zbytečné komplikace a nedorozumění. Mám doma Anglicko-český slovník výpočetní techniky z roku 1987 a takovýchto z dnešního pohledu směšných překladů je plný (např. byte - slabika, bit - dvojková číslice).
Tedy v nadpisu jako vtípek určený ke přitáhnutí pozornosti je to dobré, ale používání v textu je pak únavné.
Jj, ještě pamatuji katalogy Tesly z osmdesátek, kde bylo "paměť s kapacitom 2 kiloslabiky".
Mžikovou paměť jsem ještě vstřebal, občas to člověk v nějakých skriptech zahlédl, ale třeba "brána" pro označení hradla MOSFET, to už jsem snad 25 let nepoužil. Vlastně ani to hradlo nepoužívám, to mám vyhrazené pro logické obvody. Pamatuji, že staří bardové v minulém století tvrdošíjně pro elektrody FET používali buď názvosloví z bipolárních tranzistorů (báze, kolektor, emitor), nebo elektroda G, D, S. Ale viděl jsem i tu bránu a odtok se zdrojem (uf). Dnes v práci neřekneme nikdo jinak než G, D, S nebo gate, source a drain.
"Mžikovou paměť jsem ještě vstřebal, občas to člověk v nějakých skriptech zahlédl, ale třeba "brána" pro označení hradla MOSFET, to už jsem snad 25 let nepoužil."
Nedavno jsem pracovne potkal osmdesatileteho pana ( v sedesatych letech absolventa FELu) ktery naprosto prirozene pouzival pro Mhz termin "megacyklus". Muj deda (Cech) ktery se jeste za rakouska vyucil v sudetech kovarem a pak byl (dle dobovych zvyklosti) rok na praxi v Rakousku, do smrti oznacoval nejruznejsi druhy kladiv a kladivek ktere vlastnil a pouzival nemeckou kovarskou hantyrkou (neco_hamr).
Podle me co se kdo v mladi nauci, tak uz se jen tezko preucuje. Dnes, kdy uz jsme 30 let obklopeni anglictinou na kazdem kroku si uz nikdo ani nevzpomene, ze nas verejny prostor byval pred rokem 89 cizich slov ZCELA PROSTY a lide (kteri se zapadni jazyky ve skole masove neucili) tak cizi vyrazy nemeli kde absorbovat a prislo jim i docela divne je pouzivat (jsme v cesku, mluvime cesky!). Prekladalo se proste vsechno co prislo zvenku.
Tehdy navic jeste svetu tolik nedominovala anglictina, a s nemcinou to tu melo jeste ty valecne konsekvence. Zila generace ktera valku primo zazila a mluvit jazykem okupantu se jim do smrti pricilo z principu. Totez se casti lidi stalo po 68 s Rustinou.
Chápu to správně, že čtení z NAND znamená, že všechny ty buňky v "totemu" (tak se té struktuře tranzistorů nad sebou kdysi říkalo že?) mají přes Gate přivedeno napětí, aby vedly. A jen u jediné buňky, kterou čteme, to napětí není, aby se zjistil její stav? Takže vyčtení řekněme všech 32 bitů je postupné? Nebo naopak se čtení provádí "po řádcích"? (to by dávalo smysl).
Vůbec ale nevím, jak u MLC - tam přece musí zkoušet různé úrovně na Gate a zjišťovat, kdy už tranzistor začne vést. Takže zpomalení (7x čtení pro 3 bity). Nebo mi něco uniklo.
U nahodne vybrane SLC flash vidim: read page: 35us, write page: 350us, erase block: 1500us. Ma to 8192+448B velkou page, ktera se pak prenese externim 200MT/s rozhranim za 43.2us. Ta dulezita informace je pak, ze pamet ma 2 planes, tj. muze delat dve operace - a pri napr. kontinualnim cteni je uzke hrdlo externi rozhrani, ne cteci operace.
Takze ano - interne je READ PAGE operace, ktera ono seriove cteni spojenych bunek prevede do digitalni podoby v dlouhem page registru. Ten zpusob cteni je prave duvod, proc NAND flash je spis "blokove zarizeni", nez jednoduse adresovatelne.
U MLC pameti se nedela vicero cteni - pouziva se "ADC" / sada 2 komparatoru. Logicky jsou data z MLC bunky dostupna jako vicero stranek, ktere spolu souvisi ("shared pages"), takze predpokladam ze komparacni urovne jsou odvozeny z adresy, to by pak mohlo usetrit 50% plochy "prevodniku". Programovani shared page pak meni bud 1/4 naboje nebo 1/2 naboje (v zavislosti na adrese page). Tento pristup taky pak sedi k tomu, ze komparacni urovne lze u lepsich (enterprise) pameti potunit v pripade opakovaneho cteni, kdy radic musi vyuzit veskere inteligence a moznosti, jak ta data obnovit.
14. 4. 2020, 11:16 editováno autorem komentáře
"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ě).
Spominam si, ako som zaciatkom 90. rokov nakupil vo vypredaji mnozstvo PROM MH74188 po 1Kcs a programoval som ich jednoduchym pripravkom, kde som cez DIP prepinace nastavil adresu a data a cez tlacitko som tam "pustil" programovaci impulz. Specifikacia v katalogu sice uvadzala dost presne parametre tohto impulzu ale fungovalo to aj s tlacitkom.
P.S: Je zaujimave, ze dnes je vacsina informacii v nasej civilizacii zavisla na udrziavani elektronov v "potencialovej jame" odkial v principe mozu (napriklad vplyvom zvysenej radiacie) "vytunelovat". To sa netyka len SSD, ale aj magnetickych diskov, pasok a optickych medii, lebo aj tam je FW mechaniky vo vacsine pripadoch ulozeny vo flash pamati.
Kdysi jsem cetl nejakou sci-fi povidku, jak na Mesici nasli nejakou divnou kamenou kostku evidentne umeleho charakteru (ne, neni to Vesmirna Odysea). Zkouseli co to je, rentgenovali, rozrezali, rozleptavali, pusobili ruznym zarenim a furt nic. Nakonec si kousky rozdelily nejake laboratore.
Potom nekoho napadlo zeptat se robotu a odpoved byla jasna - byl to binarni kod, jsou tam dva typy atomu v krystalove mrizce, ty jako celek uchovavaji zpravu. My roboti to vime davno, ale nikdo se nas neptal, takze ted uz smula...
(mozna to bylo trosku jinak, tu povidku uz jsem nikdy nenasel)
Cenově zajímavou alternativou k SLC čipům jsou hybridní paměti, které nad MLC čipem softwarově emulují SLC - jde tedy o např. MLC SD karty ale s jiným firmwarem. Dělá je například Apacer (SLC-Lite), cenově jsou na úrovni zhruba desetiny skutečných průmyslových SLC (400 vs 4000 Kč za 4 GB), ale v našich torture testech vycházely velmi podobně co do počtu přepisů, odolnosti vůči single events atd.
Mne tu chýbalo spomenutie ORNAND. Ja viem to bol projekt AMD resj FASL (Fujitsu AMD Semiconducter Limited) neskôr premenovanú na Spansion a po úplnom odšlenení od AMD zbankrotovanú
https://www.edn.com/spansion-unveils-65nm-mirrorbit-ornand-flash-for-handsets/
ale za zmienku to stálo
Flash memory subsystems combine best of NAND, NOR
Posted: 20 Jan 2006
MirrorBit ORNAND is an architecture created by Spansion. It is based on a NAND interface, can drop into traditional NAND sockets, and combines key attributes of NOR for code storage and NAND for data storage,
https://archive.eetasia.com/www.eetasia.com/ART_8800404357_499488_NP_2cecf625.HTM
Tak v oněch časech "diskrétních součástek" se člověk většinou v embedded branži setkával furt s tím samým a poznal hned podle čísla na začátku, s jakou pamětí má co do činění:
21, 61, 62 - SRAM
24 - EEPROM s připojením po I2C
25 - NOR FLASH s připojením po SPI
27 - EPROM (UV)
28 - EEPROM (zapojení jako RAM řady 62)
29 - NOR FLASH, paralelní
41 - DRAM
42 - SDRAM (o hodně, hodně pozděj)
49 - FLASH, SPI (velikost sektoru 528 nebo 1056 B)
Náhrada 27xx za 28xx byla možná po menší úpravě, protože EPROM 27xx byla, až na signál !WR, pinově kompatibilní s SRAM 62xx. Adresní a datový vodiče byly na stejným místě, !OE, !CS a napájení taky. Ale už si nějak nepamatuju, jak se vlastně ten signál !RD používal. Ono už je to cca 12 let, co jsem to měl desku s tímhle řešením v ruce - při vyklízení skladu ve firmě.
Když se pak dělala deska 28xx a 62xx, prostě se všechno až na !CS zapojilo paralelně. Ale poslední taková deska, kterou jsem dělal pro hodně konzervativního zákazníka, by letos byla plnoletá.
Je zaujimave, ze na niektorych SD kartach je marketingova informacia, ze na rozdiel od filmov im roentgenove ziarenie nevadi :-)
Roentgenove ziarenie ale moze teoreticky poskodit kazde elektronicke zariadenie, ktore obsahuje EEPROM/FLASH pamat (napriklad na ulozenie FW). Cim novsia technologia (mensi rozmer bunky) tym vyssie riziko.