SSD zatím není použitelné řešení, které by stálo za řeč. Mechanický disk lze za zlomek ceny používat bez sebemenších omezení, bez nečekaných změn výkonu (k horšímu) a bez neustálého strachu o data. Proč bych měl přemýšlet, jestli si zkompiluju kernel dvacetkrát nebo jednou??? Počítač slouží člověku, ne člověk počítači! Proč bych měl vůbec uvažovat o tom, že by disk mohl v průběhu morální životnosti počítače selhat? To se u mechanického disku prostě nestane.
Nejdůležitější postřehy shrnuje tento článek: http://www.zive.sk/disky-ssd-o-com-sa-nehovori/sc-3-a-292570/default.aspx Zejména závislost výkonu a opotřebení na zaplnění SSD je naprosto absurdní průšvih, který je sám o sobě jasným důvodem SSD nepoužívat. A že prý dražší SSD tímto neduhem netrpí? Opravdu? Kde je to napsáno? Že by snad v těch pověstných, dosud nezveřejněných a matematicky nepříliš solidních, zato však zázračných algoritmech pro wear leveling, které prý v těch drahých SSD (už konečně opravdu) jsou? :-D No tak to je opravdu výsměch.
Za zlomek ceny jednoho SSD jsem si koupil čtyři pevné disky. RAID5 odolá výpadku jednoho z nich (nesrovnatelně méně pravděpodobnému než u SSD), rychlost kontinuálního čtení a zápisu je srovnatelná s novým SSD a nesrovnatelně vyšší než u měsíc používaného SSD, kapacita je víc než desetinásobná ve srovnání s SSD za stejnou cenu... Fakt nevím, k čemu je SSD.
Takový flashdisk na USB zřídkakdy vydrží víc než 5 přepsání. Po nekonečných reklamacích (mp3 přehrávač, dva flashdisky -- to všechno selhalo po několika přepisech) jsem přešel výhradně na opravdové disky. I mp3 přehrávač mám diskový. Je to smutné, protože pohyblivé součástky nejsou dvakrát elegantní. Ale je to jediná technologie, která opravdu funguje a která není jen podvod na zákaznících. 99% lidí, kterým selže flashdisk, se na reklamaci vybodne a raději si koupí jiný. (A přesně tohle výrobci chtějí.) Drtivé většině lidí ovšem neselže, protože na něm přenášejí tak málo dat, že ani nikdy nepřepíšou všechny fyzické bloky. Jenže má-li tato béčková technologie nahradit pevný disk, situace je najednou zcela jiná.
Řeči o tisících přepsání jsou plané sliby, kterým se nelze než zasmát. Už proto, že mechanický disk jich vydrží nesrovnatelně víc. (Není to paradox?) A jestli stále ještě někdo tvrdí, že čipy v SSD jsou něco zcela jiného než flashdisk, pak asi jen věří pohádkám.
Já pohádkám nevěřím. A moc se těším na dobu, až budou SSD existovat. Zatím neexistují. To, co se prodává pod názvem SSD dnes, by zasloužilo zamést na smetiště dějin.
RAID z HDD sice má slušné kontinuální čtení a zápis, ale nijak nepomáhá náhodnému čtení a zápisu. Přitom při interaktivní práci se systémem oceníte nejvíc právě to náhodné čtení. Kliknete na ikonu, a začnou se nahrávat spousty souborů (executable, knihovny, nastavení). HDD je v tu chvíli velmi pomalý, SSD naopak báječně rychlé. Další výhody SSD: mechamická odolnost (oceníte u notebooku), nízká spotřeba, nízká hmotnost. A problém s počtem zápisů? Pokud se takového problému vůbec dočkáte, tak prostě váš disk jednoho dne začne mít bad blocks. Jenže to uvidíte včas, a vždy se to bude týkat jen bloku, který právě zapisujete. Co už je úspěšně zapsané, to pak i přečtete. Naopak když odchází HDD, máte problémy se čtením kdysi úspěšně zapsaných dat.
USB flash disky mi zatím bez problému vydržely roky, a těch přepsání byla dlouhá řada. Jako FS používám FAT32 a NTFS.
Jak už jsem psal, důvod k náhodnému čtení podle mě ve skutečnosti neexistuje.
a) binárky + knihovny + data pro GUI:
Tohle může zajistit vhodný preload mechanismus v distribuci už při startu systému, aby bylo vše k dispozici v cache v RAM. Dnešní RAM je tak levná, že je škoda ji nevyužít pořádně. To řeší veškeré klikání na ikony. Jasně, start je pak delší a otázka je, jak dobře je tohle použitelné na notebooku. Ale já notebook většinou uspávám, tedy data buď zůstanou v RAM, nebo se (při uspání na disk) načtou znovu efektivně a sekvenčně ze swapu. Myslím, že při dobré konfiguraci je velká RAM + pevný disk účelnější než SSD, hlavně proto, že RAM má mnohem širší možnosti využití.
b) kompilace spousty malých zdrojáků:
Napřed se ovšem rozbalí tarball. Malé zdrojáky se efektivně a téměř sekvenčně zapíší na disk a navíc zůstanou v RAM. Tedy při kompilaci už se nic náhodně seekovat nemusí. Výstup kompilace se opět zapisuje efektivně standardními mechanismy filesystému.
Nízká spotřeba, mechanická odolnost a nízká hmotnost jsou vlastnosti, na které se velmi těším. Jakmile budou SSD existovat, rozhodně si takové médium pořídím, právě pro tyto vlastnosti. Zatím ale SSD neexistují.
Podle mě se u SSD žádných bad blocks nedočkáte. Vady se projeví tak, že přístup k některým blokům bude trvat celé vteřiny. Nebude možné přečíst některé soubory a podivné půlhodinové prodlevy při startu systému rozhodně nejsou příjemným zážitkem. Notebook, na kterém jsem tohle viděl, rozhodně nebyl z nejlevnějších a rozhodně nepatřil mezi první modely s SSD.
Když odchází HDD, poznáte to s rozumným předstihem:
* podle počítadla realokovaných bloků ve S.M.A.R.T. (nenulové)
* podle toho, že SMART test (smartctl -t long) selže
Když odchází SSD, nepoznáte s rozumným předstihem prakticky nic.
Já jsem na flashdiscích používal kromě NTFS (s vypnutým indexováním, samozřejmě) především Reiser4, Btrfs a ZFS. Co do výkonu byl asi nejlepší ten první (ale taky toho umí mnohem méně než dva posledně jmenované). Bohužel životnost nikdy nebyla valná a vždy jsem se relativně brzy dostal do stavu, kdy se zapisuje rychlostí 3 kB/s a přečtení některých soubovů trvá desítky minut. Přitom se jednalo o řádově měsíc používání s občasnými zálohovacími operacemi typu hg pull; hg update -- tedy nic, coby přepisovalo všechny bloky.
Ale no tak. SSD má sice své dětské nemoci, ale takový popis je maximálně tendenční, více k tomu snad ani není co. To RAID pole je sice super, ale na jeho schopnosti v sekvenčním čtení v praxi s*re pes. Pokud nekopíruju denně gigabajty filmů tam a zpět, je mi nějaký RAID z výkonnostního hlediska úplně na nic. Nejčastější operací je náhodné čtení malých bloků dat a to je to, co dnes brzdí jakýkoli počítač s HDD a ať má RAID jaký chce, nepomůže mu to nijak. Zde je SSD za všech okolností mnohonásobně rychlejší, ale to se jaksi taktně úplně zapomnělo zmínit, že? ... A přemýšlet kolikkrát zkompiluju jádro opravdu netřeba, ale dnes má holt každý tendenci SSD v různých článcích furt rozfrcávat a mnohdy s hromadou převzatých bludů odjinud a tak se vesele pletou pojmy s průjmy a vnikají různé za vlasy přitažené dojmy a obavy. Možná by obecně všem neškodilo méně nad tím laborovat a více to normálně používat.
No a ty flashky, to snad ne. 5 přepisů, no to určitě, proč ne hned dva třeba, to by bylo do té demagogie lepší číslo, ne? Mě ještě neodešla ani ta poslední reklamní (jiné jsem snad ani neměl). Karty do mobilu a MP3 to samé. Mám hromady SD karet do foťáku X krát přepisovaných a fungují jako nové (a ještě dlouho budou).
Pokud chci rychlé čtení malých bloků, koupím si spoustu RAM (na žádném stroji nemám pod 8 GB) a zajistím si vhodný preload, který je v té či oné podobě dostupný v podstatě ve všech distribucích.
Neznám situaci, kdy by čtení malých bloků bylo potřeba neustále. Binárky a knihovny? Ty ošetří RAM a preload. A pokud jde o kompilaci, u které se čte spousta malých souborů, *napřed* se přece rozbalí archiv -- tedy všechny malé soubory se téměř sekvenčně zapíší na disk a především zůstanou i v RAM, protože jí je prostě dost. Takže ani tady není důvod ke čtení spousty malých bloků. Nějak mi tedy uniká důvod, proč mi má záležet na údajně rychlé odezvě SSD.
Odezva SSD je rychlá v prvních měsících. Jakmile se vyskytnou první vadné bloky (což na sebe nenechá dlouho čekat), nastane naprosté zoufalství s přístupovou dobou řádově desítek sekund k některým důležitým souborům. A nedá se s tím nic udělat, kromě vyhození SSD oknem. SSD tedy není za všech okolností rychlejší než disky...
Flashdisk mi už selhal tolikrát, že bych ho v podstatě nechtěl ani zadarmo jako reklamní předmět. A to jsem na něm nekompiloval kernel. :-) Stačí tam jen párkrát nakopírovat nějaký hodně košatý adresářový strom. Wear-leveling pak totálně selže a poškozené bloky způsobí, že se z toho nedá pořádně číst a rychlost zápisu klesne téměř na nulu. Jenže místo aby ten flashdisk nějak rozumně hlásil „ano, jsem v háji, reklamuj mě“, jen mlčí a neříká nic. Uživatel může například půl dne čekat a spekulovat, zda ta data ještě uvidí či nikoliv. Takovou technologii zkrátka používat nechci.
Karty ve foťáku v podstatě slouží k přidávání souborů velmi podobné velikosti, které se ve velké většině případů po přidání nepřepisují. Věřím, že u nich wear-leveling funguje o něco lépe a vydrží tedy déle.