S pevnými disky jako takovými se pojí řada nejrůznějších technologií a funkcí. Jednou z nich je TRIM, což je označení příkazu využívaného u SSD disků. Zjistěte s námi, k čemu je vlastně dobrý.
Klasické pevné disky HDD už jsou pozvolna na ústupu, respektive se v rámci výpočetní techniky používají pouze k vybraným účelům. Současnosti jednoznačně vládnou SSD disky, které jsou rychlejší a spolehlivější. O rozdílech mezi těmito typy disků jsme se podrobněji rozepsali v článku na téma Rozdíly HDD, SSD a SSHD. Nyní se zaměříme na proces zvaný TRIM. Ten se primárně týká zmiňovaných SSD disků.
Ještě, než podrobněji probereme funkci TRIM, je třeba se na pevné disky podívat obecně, a to z hlediska ukládání dat. Popíšeme vám, jak vlastně funguje klasický HDD, když na něj zapisujete data, popřípadě je mažete. V tento moment vás do jisté míry můžeme odkázat na jeden z našich článků na téma Návod na bezpečné smazání pevného disku. I z něj vyplývá, že pokud na pevném disku smažete data, dochází pouze ke smazání metadat. Na první pohled se v operačním systému tváří, jako smazaná. Dokud je však nepřepíšete daty jinými, mohou být obnovena. Na to je třeba si dát u citlivých informací pozor.
U klasického disku HDD je možné při ukládání nových dat přepsat tato existující stará data, i když nejsou viditelná. Zjednodušeně řečeno, čtecí hlava je zkombinována s tou mazací neboli lze provádět mazání i zápis dat najednou.
U SSD disků, respektive flash úložišť to funguje trochu jinak. Jejich příchod určitě zastínil používání klasických pevných disků HDD, a to především kvůli rychlosti zápisu a čtení. Jenže, i tato technologie narazila na určité limity, potažmo degradaci. SSD disky neumožňují proces mazání a zápisu najednou. Tzn., že než dojde k zápisu nových dat, musí dojít ke smazání dat starých. Bohužel však nestačí klasické smazání, jak jsme uvedli dříve, kdy data zůstávají na pevném disku a jsou do jisté míry obnovitelná. Standardně SSD disk před vymazáním konkrétní data zkopíruje z daného bloku do nového a teprve poté je možné do něj zapisovat.
Jak asi správně tušíte, jde o proces, který po relativně krátkém používání SSD disku způsobuje jeho degradaci. Dochází k postupnému zpomalování pevného disku. A rychlost je v podstatě jedna z jeho největších předností. Zároveň se nerovnoměrně přepisují a opotřebovávají zápisové buňky, a to vede ke snížené životnosti SSD disku. Tato úložiště totiž mají omezenou životnosti v řádu několika tisíc změn obsahu. To znamená, že tento režim je pro SSD pevné disky dlouhodobě neudržitelný. Přesně kvůli němu vznikla funkce TRIM eliminující tyto problémy.
Právě příkaz TRIM je řešením výše popisovaných nešvarů s rychlými SSD disky. Tato funkce se v operačním systému Windows objevila s příchodem verze Windows 7 a vyšších. Od října 2009 je tedy podpora u tohoto systému, avšak s omezením na klasická AHCI zařízení. TRIM ovšem není jen záležitostí Windows. Jádro Linuxu tento příkaz podporuje už od roku 2008. Co se týče Linuxu, využitelnost je u souborových systémů Btrfs, Ext4, GFS2, FAT a XFS. Tato funkce je mimochodem nedílnou součástí také zařízení se systémem Android, a to od verze 4.3, takže od roku 2013.
Funkce TRIM je v podstatě takovým čističem a organizátorem pevných disků SSD. Tento příkaz primárně zefektivnil a zjednodušil zápis dat. Díky příkazu TRIM už nedochází k výše uvedeným problémům, které míjí klasické HDD disky. S touto aktivní funkcí už se nestane, že by do prázdných bloků byla vepisována 0, respektive celé bloky byly označovány za smazané. TRIM si tohle všechno pohlídá a ve své podstatě je prostřednictvím tohoto příkazu, potažmo operačního systému upozorněn SSD disk na to, že je třeba smazat některé soubory. Tím dochází ke zvýšení efektivity pevných disků a k minimalizaci zpomalení do budoucna. Ke zvýšení výkonu SSD disku vlastně dojde díky tomu, že s příkazem TRIM odpadává zbytečné mazání neplatných dat. Tato propracovaná technologie si zároveň dokáže pohlídat přepis jednotlivých buněk. Ví, které byly kolikrát přepsány a při následném zápisu jsou vybírány ty s menším počtem zápisů. Tímto úkonem se prodlužuje životnost SSD disku.
S příkazem TRIM se úzce pojí funkce Garbage Collection, což je pravidelná optimalizace pevného disku a snaha udržet co možná nejvíce prázdných bloků pro zápis, na rozdíl od situace, kdy funkce TRIM není zapnutá. Ještě dodáme, že o rovnoměrné opotřebování zápisových buněk se stará mezivrstva Flash Translation Layer, jíž můžete znát pod zkratkou FTL.
Pokud se o výpočetní techniku zajímáte více, možná namítnete jistou souvislost s defragmentačním nástrojem. Jenže, opak je v tomto případě pravdou. Defragmentace s TRIM jsou dvě zcela odlišné věci. Defragmentace se týká primárně klasických pevných disků HDD, tedy těch se čtecími a zapisovacími hlavami. Přeskupování fragmentů určitě není tím samým, jako příkaz TRIM primárně určený pro SSD disky.
Nezapomínejte na to, že fungování TRIM není podmíněno pouze podporou v operačních systémech. Podpora musí být také na straně řadiče SSD. Standardně budete mít u svého SSD disku a konkrétního systému příkaz pravděpodobně aktivovaný, hodí ale vědět, jak ho případně deaktivovat a znovu aktivovat. Tento úkon nemusíte v operačním systému Windows složitě hledat. Vystačíte si s příkazovou řádkou.
Zapnutí a vypnutí funkce TRIM se řídí tím, co napíšete za tento příkaz. Pokud to bude =0, pak příkaz TRIM deaktivujete. Pakliže napíšete =1, nastane opak, tedy příkaz TRIM aktivujete.
Vývoj SSD disků jde samozřejmě mílovými kroky kupředu. A proto je třeba se zmínit také o discích NVMe. Ty jsme mimochodem podrobněji rozebírali v článku NVMe SSD disky a vše, co byste měli vědět. Nebudeme vám tedy vysvětlovat, jak takové disky fungují a v čem se liší. Stejně tak nepadne zmínka ani o srovnání SATA SSD, na což odkazuje článek Porovnání rychlosti NVMe a SATA SSD disku. Naším hlavním tématem se stane zmíněná funkce TRIM. S tou je to totiž u NVMe disků tak trochu jinak.
Pravděpodobně nikde nenajdete zmínku o tom, že by NVMe disky používaly tuto technologii. V jejich případě se aplikuje jiný systém, který pracuje na podobném základu, avšak s jednou hlavní odlišností. Na rozdíl od příkazu TRIM nemusí být spuštěn samostatně bez možnosti spuštění jiných příkazů a vyčkávání na doběhnutí této funkce. Vliv na to má především použitá technologie označovaná zkratkou DMC. Za ní se skrývá anglické slovní spojení Dataset Management Control.