Tak nejak mne napada, kam si SSD disky ukladaji informace o tom kam premapovali jake sektory pri wear levellingu. Predpokladam, ze taky na flash aby prezily vypnuti systemu. No a v tom pripade to bude nejvice prepisovana cast flash pameti, ktera odejde jako prvni a s ni i cely disk. Nebo napada nekoho finta jak to vyresit?
To je DOBRÁ otázka! :-) Odpověď neznám, ale taky mi to vrtá hlavou. Zkuste mrknout do tohoto datasheetu:
http://www.sst.com/dotAsset/40312
a hledejte třeba "flash file system". Zjistíte, že přesně to sladké tajemství tam nenapsali :-D
Docela rovnoměrný wear leveling s distribuovanými metadaty mají Linuxové filesystémy určené pro holé Flash čipy, jako třeba JFFS2 nebo LogFS.
http://en.wikipedia.org/wiki/JFFS2
http://en.wikipedia.org/wiki/LogFS
Vespod je holá flashka, svrchu se to váže rovnou do vrstvy VFS = nikde z toho nekouká blokové zařízení.
Cenou za rovnoměrnost opotřebení je nižší výkon. Počítám, že něco takhle složitého by asi v SSDčku zapečeno být nemohlo.
Historicky zůstává v Linuxu taky implementace vrstvy NFTL/iNFTL, která je "přivázaná za nohu" k dávným flashdiskům M-Systems DiskOnChip. Vespod byl holý DiskOnChip MTD, svrchu se to tvářilo jako blokové zařízení, na kterém šel vyrobit konvenční "diskový" filesystém (třeba ext2). Podrobnosti neznám - ale je to každopádně lepší, než primitivní wear-leveling takymechanismy zaměřené na FAT FS.