Vágás (hajtási parancs)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. május 10-én felülvizsgált verziótól ; az ellenőrzések 19 szerkesztést igényelnek .

Trim ( eng.  to trim  - trim ) – egy ATA interfész parancs , amely lehetővé teszi az operációs rendszer számára, hogy értesítse a szilárdtestalapú meghajtót arról, hogy mely adatblokkok ( oldalak ) nem hordoznak hasznos terhelést, és nem tárolhatók fizikailag.

A Trim része az ATA interfész specifikációjának , amelyet az INCITS [1] T13 csoportja szabványosít .

A

A parancsot nem sokkal a szilárdtestalapú meghajtók (SSD-k) megjelenése után vezették be , hogy versenyképes alternatívává tegyék őket a személyi számítógépekben használt hagyományos merevlemezekkel szemben.

Mivel belsőleg a műveletek végrehajtása az SSD-n nagyon különbözik ugyanazon műveletek végrehajtásától a hagyományos mechanikus merevlemezeken, az operációs rendszerek szokásos módszerei olyan műveletekhez, mint a fájlok törlése és a lemez formázása (az érintett szektorok közvetlen elérése nélkül/ oldalak a meghajtón) az SSD-n végzett írási műveletek teljesítményének fokozatos romlásához vezetnek [2] .

A Trim használata lehetővé teszi az SSD számára, hogy csökkentse a szemétgyűjtés hatását , ami egyébként az érintett szektorok írási műveleteinek teljesítményének csökkenését eredményezné [3] .

Egyéb megoldások

Bár a Trim megjelenése előtt már rendelkezésre álltak egyes meghajtók "visszaállítására" segédprogramok, egyebek mellett minden adatot töröltek a meghajtóról, ami gyakorlatilag használhatatlanná tette őket az optimalizálás szempontjából [4] .

A szilárdtestalapú meghajtók jellemzői

Fájlrendszer szinten

A fájlrendszerekben általánosan használt törlési módszerek sajátosságai miatt a meghajtók nem tudják, mely szektorok/oldalak vannak ténylegesen használatban, és melyek tekinthetők tétlennek.

A törlési műveletek általában arra korlátozódnak, hogy az adatblokkokat „felhasználatlanként” jelöljék meg a fájlrendszerben [5] [6] . Ellentétben például egy felülírási művelettel, a törlés nem eredményez fizikai írást az adatokat tartalmazó érintett szektorokban. Mivel a meghajtó nem fér hozzá a fájlrendszer-struktúrákhoz – például a nem használt fürtök listájához –, a meghajtó homályban marad a blokkok felszabadításával kapcsolatban.

Noha ez gyakran lehetővé tette a hagyományos merevlemezeken lévő törölt adatok helyreállítását , bár azokat az operációs rendszer "törölt"-ként jelölte meg, ez azt is jelentette, hogy amikor az operációs rendszer később írási műveletet hajtott végre a szabad területnek tekintett szektorok valamelyikébe, ez a művelet a meghajtó szempontjából felülírási műveletnek tekinthető. Hagyományos merevlemezeknél ez a művelet nem különbözik az üresjárati szektorba való írástól, SSD-nél a kopáskiegyenlítés miatt az adatok felülírása jelentősen eltér a tétlen szektorba való írástól (minden írás ugyanabba a logikai szektorba más-más fizikaiba történik szektorok), potenciálisan rontva a teljesítményt további írási műveletek [6] .

A memória fizikai szintjén

Az SSD-k flash memória cellákban tárolják az adatokat ( MLC SSD-ben) "oldalakba" csoportosítva (jellemzően egyenként 4 KB ), amelyek viszont blokkokba vannak csoportosítva (összesen jellemzően 128 oldal vagy 512 KB) [5] [7] .

A NAND flash cellákba csak akkor lehet közvetlenül írni, ha üresek. Abban az esetben, ha adatokat tárolnak, a cellák tartalmát törölni kell, mielőtt új adatot írnak rájuk. Az SSD meghajtókban az írási művelet csak oldalakon végezhető el, azonban a hardveres korlátok miatt a törlés parancsot mindig a teljes blokkon hajtják végre [7] . Ennek eredményeként az SSD adathordozóra írás nagyon gyors, amíg vannak üres oldalak, de jelentősen lelassul, ha az előre megírt oldalakat törölni kell.

Mivel az oldalon lévő cellákat törölni kell, mielőtt újra le lehetne írni, de csak egy egész blokkot lehet törölni, az újraírási folyamat elindít egy olvasás-törlés-módosítás-írás ciklust [5] [8] : a A teljes blokkot meg kell őrizni a gyorsítótárban, mielőtt eltávolítható lenne a meghajtóról, a felülírt adatok módosulnak a gyorsítótárban, és csak ezután kerül a teljes blokk (a frissített oldallal) a meghajtóra. Ezt a jelenséget íráserősítésként[9] [10] néven ismerjük .

Az SSD vezérlő szintjén

SSD-vezérlőikben a gyártók különféle technikákat alkalmaznak az írási műveletek optimális elosztására a pendrive-on [5] [11] . Ez nemcsak a sebesség optimalizálása érdekében történik az íráserősítés minimalizálásával, hanem a flash cellák élettartamának növelése ( ) hagyományos MLC flash cellák 3000-5000 írási ciklust képesek ellenállni [11] . Egy másik megközelítés az operációs rendszernek vagy a BIOS -nak nem deklarált tartalék (tartalék) memória használata , hogy tiszta oldalakat biztosítson az írási műveletekhez, ameddig csak lehetséges, mielőtt más oldalakat felülírna [3] .

Ezeknek a módszereknek a hatékonysága nagymértékben függ az operációs rendszer és az SSD-vezérlő közötti információcserétől arról, hogy mely oldalak tekinthetők elfoglaltnak és mely oldalak tekinthetők szabadnak. Hagyományosan a legtöbb operációs rendszer nem tájékoztatja a meghajtókat a törölt szektorokról/oldalakról, ami nem teszi lehetővé az SSD-vezérlők számára a szabad hely optimális lefoglalását. A Vágás parancsot azért vezették be, hogy ezt orvosolják a nem használt cellák törlésével, mielőtt azokba írnának, így csökkentve a hozzáférési időt [3] .

Mivel a parancs teljesen törli a cellákban lévő adatokat, általában nem lehet visszaállítani belőlük az adatokat [12] .

A RAID - tömbök nem mindig támogatják a vágást [13] .

Csapattámogatás operációs rendszerekhez és meghajtókhoz

A Trim parancsnak az ATA-szabványhoz való hozzáadása előtt gyártott régebbi SSD-knél firmware-frissítésre van szükség,  különben a parancs figyelmen kívül marad. A Vágás parancsot szintén nem támogatja minden operációs rendszer .

Levágás támogatása az operációs rendszerekben
Operációs rendszer Támogatás
Windows 8 és újabb A végső kiadás óta (2012. október) támogatott
Windows Server 2012 A végső kiadás óta (2012. október) támogatott
Windows 7 A végső kiadás óta (2009. október) támogatott [14]
Windows Server 2008 R2 A végső kiadás óta (2009. október) támogatott [15] [16]
Linux 2.6.33 2010 februárja óta támogatott [17] , ioctl BLKDISCARD
OpenSolaris 2010 júliusa óta támogatott [18]
FreeBSD 8.3, 9.2, 10.0 Támogatott UFS [19] , támogatja ZFS [20] [21] .
Mac OS X Támogatott (a 10.10.4-es verzió óta bármilyen SSD-hez, előtte csak az Apple által szállított SSD-k [22] )
Android A 4.3-as verziótól kezdve a rendszerhez hozzáadták az fstrim funkció támogatását, amely a Trim [23] [24] analógja.
ubuntu Az Ubuntu 14.04 óta támogatott.

Egyéb módszerek és esetek

Bizonyos esetekben, amikor az operációs rendszer nem támogatja a Trim-et, vannak olyan segédprogramok , amelyek lehetővé teszik a parancs "kézi" elküldését. Általában az ilyen programok az operációs rendszer eszközeivel összeállítják a szabad blokkok listáját, és Trim parancsok sorozata formájában továbbítják a meghajtóra. Ilyen termékek léteznek mind univerzális segédprogramok ( hdparm 9.17 és újabb verzió), mind egyedi típusú meghajtók szoftverei (Intel [25] , G.Skill [26] ) formájában.

A Trim parancs SCSI -analógja az Unmap és Write ugyanaz [27] parancs .

Jegyzetek

  1. Vágásra utaló T13  dokumentumok . INCITS T13 . INCITS. Letöltve: 2009. július 8. Az eredetiből archiválva : 2012. június 30.
  2. Shimpi, Anand Lal. The SSD Anthology  4. AnandTech.com (2009. március 18.) . Letöltve: 2010. június 19. Az eredetiből archiválva : 2012. június 30.
  3. 1 2 3 Shimpi, Anand Lal. (2009-03-18). p. tíz.
  4. Shimpi, Anand Lal. (2009-03-18). p. tizenegy.
  5. 1 2 3 4 Savill, John. Azt hallottam, hogy a szilárdtestalapú lemezek (SSD-k) az írási teljesítményük csökkenését tapasztalják használatuk során. Miért?  (angol) . WindowsITPro (2009. április 21.). Letöltve: 2010. június 19. Az eredetiből archiválva : 2012. június 30.
  6. 1 2 Shimpi, Anand Lal. (2009-03-18). p. 7.
  7. 1 2 Shimpi, Anand Lal. (2009-03-18). p. 5.
  8. Shimpi, Anand Lal. (2009-03-18). p. nyolc.
  9. Íráserősítés: Intel's Secret Sauce . Letöltve: 2010. szeptember 20. Az eredetiből archiválva : 2010. november 15.
  10. Az X25-M vezérlő belsejében: Kopásszint-szabályozás, Íráserősítés-szabályozás
  11. 1 2 Shimpi, Anand Lal. (2009-03-18). p. 6.
  12. Túl vágott? Amikor az SSD-adat-helyreállítás  lehetetlen . TechGage . TechGage (2010. március 5.). Letöltve: 2010. április 16. Az eredetiből archiválva : 2012. június 30.
  13. Gareth Halfacree. Az Intel kiadása Trim for  RAID . bit-tech.net (2010. március 23.). Letöltve: 2010. november 2. Az eredetiből archiválva : 2012. június 30.
  14. Támogatás és kérdések és válaszok a szilárdtestalapú  meghajtókhoz . MSDN (2009. május 9.). Letöltve: 2010-08-12]. Az eredetiből archiválva : 2012. június 30.
  15. Windows 7 továbbfejlesztések szilárdtestalapú  meghajtókhoz . Microsoft letöltések . Microsoft Corporation (2008. november 12.). Letöltve: 2009. július 8. Az eredetiből archiválva : 2012. június 30.
  16. K. Mi az a Trim funkció a szilárdtestalapú lemezekhez (SSD), és miért fontos?  (angol)  (elérhetetlen link) . Windows IT Pro. Letöltve: 2010. szeptember 1. Az eredetiből archiválva : 2010. január 2..
  17. Vágás Linuxon  (angol)  (lefelé mutató link) . Kernel kezdők. Letöltve: 2010. szeptember 1. Az eredetiből archiválva : 2012. június 30.
  18. SATA Trim támogatás az OpenSolarisban (2010. július 29.). Az eredetiből archiválva : 2012. június 30.
  19. SVN 216796. verzió (2010. december 29.). Az eredetiből archiválva : 2012. június 30.
  20. SVN 240868 -as verzió (2012. szeptember 23.). Archiválva az eredetiből 2012. október 25-én.
  21. TRIM klaszterezés (lefelé irányuló kapcsolat) (2011. május 5.). Az eredetiből archiválva : 2012. június 30. 
  22. Daniel Eran Dilger. Az Apple MacBook Pro gépeit aktív SSD TRIM támogatással szállítják Snow Leopardban  . appleinsider.com (2011. március 4.). Letöltve: 2011. március 7. Az eredetiből archiválva : 2012. június 30.
  23. Hogyan működik: TRIM . https://iguides.ru/ . Letöltve: 2021. január 7. Az eredetiből archiválva : 2021. január 9..
  24. A TRIM technológia az Android 4.3-ban zökkenőmentesen működik  (orosz)  ? . fullhub.ru . Letöltve: 2021. január 7. Az eredetiből archiválva : 2021. január 10.
  25. Intel SSD Optimizer White Paper  (eng.) (pdf). Intel Corp. Hozzáférés dátuma: 2010. január 23. Az eredetiből archiválva : 2012. június 30.
  26. wiper.exe a Falcon  sorozathoz . XtremeSystems. Hozzáférés dátuma: 2010. január 23. Az eredetiből archiválva : 2012. június 30.
  27. Megjegyzés az SCSI UNMAP támogatásához a FreeBSD levelezőlistában . Az eredetiből archiválva : 2012. június 30.

Linkek