Kto raz vyskúšal SSD na linuxe ako primárny disk, už sa viac nevráti späť. Ja mám v notebooku aj ssd aj hdd (na mieste po dvd) a je to úžasné, Domovské súbory ak o hudba, videa, download... mám namapované na HDD a ostatok je SSD, rýchle svižné a nemusím sa veľmi starať o to či budem mať dosť miesta ;)
Nepřešel sem na SSD, výborné výsledky mají rychlé disky 7200 ot. s rychlým přístupem.
Poznámka:
Pane Romane Bořánku, slovo skartace v žádném případě neznamená smazání. Nechápu, proč slovo skartace používáte v souvislosti s mazáním dat.
Skartace v podstatě znamená p ř e m í s t ě n í dat, u l o ž e n í dat do archivu, apod. Význam slova je definován příslušným právním předpisem.
Tudíž Váš článek vyznívá poněkud nevěrohodně.
Výklad na wikipedii je nepřesný:
V podnikatelské praxi je například skartace definována takto:
Skartace – odborné posouzení dokumentů, při kterém jsou vyřazovány dokumenty
pro činnost podnikatelského subjektu nadále nepotřebné. Při tom se oddělují
archiválie od písemností bezcenných, které jsou určeny ke zničení, tj. takové
znehodnocení znemoţňující rekonstrukci a identifikaci obsahu dokumentu.
Výpis přímo ze zákona:
499/2004
§ 10
(1) Na základě skartačního řízení vyhotoví příslušný
archiv protokol o provedeném skartačním řízení.
(2) Protokol podle odstavce 1 obsahuje
a) soupis dokumentů nebo souborů dokumentů,
které byly vybrány za archiválie,
b) zařazení archiválie do příslušné kategorie,
c) určení, kde bude archiválie uložena, a
d) soupis dokumentů, které lze zničit.
Takže "skartace" je proces, který mimo jiné i určuje, za jakých podmínek se daný dokument má archivovat nebo zničit.
Ale maže. V okamžiku kdy je uvolněn celý erase block dojde pomocí TRIM ke smazání.
fstrim není potřeba spouštět, pokud pokud používáte SSD tak jak se používat má. Tedy filesystem máte namountovaný s volbou discard a dále v LVM konfiguraci máte také issue_discards = 1. Tak se posílá TRIM ihned když je to možné.
Pokud nepoužíváte TRIM, můžete zažít ošklivé rozčarování z degradace výkonu SSD (zvláště pokud nemá disk sám vyhrazenou rezervu s volnými bloky). Wear-leveling pak musí jak blázen přesouvad bloky o kterých si myslí, že obsahují platná data. Výsledkem je nízký výkon a velké opotřebovávání SDD...
Tak ještě jednou a polopaticky:
Funkce TRIM označí sektor v SSD za nepoužitý a to je vše. Teprve při dalším zápisu se zase sektor označí za použitý. Nový zápis sektoru je ovšem většinou realizován na úplně jiné místo SSD.
V době po TRIM jsou původní data sektoru bezprizorní a SSD je může a nemusí smazat nebo přepsat jinými daty. Všechna data se dají bez problémů vyčíst servisním rozhraním.
Z hlediska OS jsou data po TRIM skutečně smazaná. Z hlediska fyzické existence nikoliv.
Ano, ale SSD se bude snažit uvolnit „prázdné“ bloky co nejdřív, aby byly připraveny na zápis. Takže je velmi pravděpodobné že vynulované bloky smazaný soubor brzy rozsekají na kousky, ze kterých půjde poskládat jen málo informací.
Jasně, asi to není zabezpečení proti FBI bušící na dveře, ale pokud někdo maže soubory z obavy že je tam nalezne někdo jiný, třeba „nálezce“ „ztraceného“ laptopu, tradiční metody lovu dat mu moc nepomůžou.
SSD nepracuje tak, že by se tam něco přepisovalo, to SSD neumí. Každý přepis ve skutečnosti znamená smazání a zápis nových dat. Navíc zapisuje se po stránkách, ale maže se jedině po blocích, což je skupina stránek. Takže pokud má SSD disk něco "přepsat", mnohem raději najde čistou stránku, tam zapíše změněná data, a původní stránku označí za prázdnou. Když se mu takhle podaří uvolnit celý blok, vyčistí jej a tím jej připraví k dalšímu zapisování.
Před uložením nových dat je nutno ten starý blok vymazat. To trvá nějaký čas. Pokud o tom že je určitý blok vymazaný ví jen filesystém (běžná praxe před TRIM) a SSD je zaplněné víc (je málo opravdu volných bloků), brutálně klesá výkon kvůli další režii při novém zápisu. TRIM nejen říká SSD které bloky jsou vymazané, ale zároveň, v době kdy je na to čas, je všechny vymaže fyzicky, aby následný zápis nebyl ničím bržděn. Dostat z toho pak smazaná data je těžší než z plotnového disku po přemazání náhodným bordelem.
Filesystém odjakživa pracuje na úrovni sektorů 512 B až 4096 B, rozhodně ne na úrovni SSD bloků 512 KB a o stavu SSD bloků neví vůbec nic.
Když smažete pár sektorů uvnitř 512 KB bloku, tak se řadiči do mazání vůbec nechce, dokud k tomu není donucen docházejícím místem nebo wear levelingem.
Vím, jak fungují flash paměti na low level úrovni, nevím, jak je to přesně vyřešené na úrovni SSD. Nicméně vzhledem k první části předchozí věty jem přesvědčen, že fyzické mazání flash paměti je plně v moci lokálního FW na SSD, který se snaží mazat pokud možno na úrovni bloků flash pamětí. TRIM (implementovaný jako ATA/SATA command) slouží pouze pro informování FW na SSD, že je možné blok smazat. Záleží na garbagge collectoru FW SSD, jak se k této informaci postaví - ty se mohou lišit a snahou každého výrobce SSD je minimalizovat počet zápisů a distribuovat je rovnoměrně po SSD, ovšem při zachování dobrých hodnot ostatních parametrů (rychlost). To samozřejmě vede na to, že statisticky jsou poslední uvolněné bloky použity co nejpozději, přesně jak píšete. Mám ale za to, že a) buď existuje nějaký požadavek (ATA/SATA interface standard), aby byly bloky fyzicky smazány do jistého časového limitu (stejně budou nakonec smazány, takže když má FW zrovna čas...), nebo b) existuje podpora pro přímé mazání bloků či inicializaci mazání v ATA/SATA standardu (méně pravděpodobné, byla by to dualita k trim ovšek s dotažením akce do konce, zřejmě toto existuje pouze jako proprietární funkce, kterou zná pouze výrobce). Toto by mohl doplnit někdo znalý, kdo má ATA/SATA standard skutečně prolezlý.
Mazání na úrovni bloků není něco, o co by se firmware snažil, ale je to jediný způsob, jak na SSD něco smazat. Operační systém pokud vím o blocích nic neví, příkazem TRIM označí za prázdnou stránku (a blok se skládá z více stránek). Takže pokud by firmware SSD měl na každý TRIM reagovat tak, že příslušnou stránku smaže, musel by smazat celý blok, tedy nejprve přesunout používané stránky z bloku do jiného bloku. Což nevypadá na nejefektivnější způsob práce. Takže bych se rozhodně nespoléhal na to, že po TRIMu se data fyzicky smažou v krátké době.
a) Časový požadavek u TRIM neexistuje http://www.t13.org/Documents/UploadedDocuments/docs2009/d2015r2-ATAATAPI_Command_set_-_2_ACS-2.pdf
b) Běžný OS zaručeně tyto případné rozšířené funkce nevolá. Intel má na to extra utilitu Intel SSD ToolBox, která to umí pro SSD Intel.
Ale kdeze ...
zjisti si k cemu je TRIM ... je to informace pro SSD ze tento blok muze ingnorovat. Nic vic. Pri zapisu totiz musi SSD udelat to, ze vzhledem k rozdilnym velikostem bloku, je treba nacist celou bunku, tu modifikovat a celou ji zapsat zpet. Presne proto, aby tohle delat nemusel, se pouziva trim.
A je to tak proto, ze SSD, ktere toto neumely, prave musely vzdy vsechny nenulove bloky modifikovat timto zpusobem, coz zcela efektivne zlikvidovalo jejich vykon.
To není o tom, že by musel nejdříve blok načíst - to je velmi rychlá operace. Jde o to, že před zápisem je potřeba celý blok smazat. A to je řádově pomalejší operace (čtení a zápis je v řádu nanosekund, mazání milisekund). Díky TRIM ví, které bloky si může dopředu ve volném čase mazat.
ježíši kriste,a když mám linux na celerenu 2 jádra, 2 GB RAM, HD 256GB - 5400 otáček, grafárnu neřeším, všechno mi pracuje, jak potřebuji - jsem nějakej méněcenej? Mám se cítit jako postiženej? SSD jsem zažil v praxi, ale proč si to kupovat, když mi to doma pracuje spolehlivě a dobře? A že je SSD rychlejší? Hm... Cikánky jsou taky rychlejší než bělošky...
Tak třeba mu to pri práci/zábavu stačí, tak proč zbytečně utrácet za další PC šrot (protože dnešní PC nic jiného není). Taky mám na dnešní poměry zdánlivě naprosto nevyhovující počítač (před pěti lety se ho za odvoz zbavovala jedna firma :-), ale jako luxusní psací stroj + vývojářská stanice + spouštění emulátorů vyhovuje, tak doufám, že ještě pár let vydrží.