Szerző: Bizó Dániel

2009. október 26. 13:01

Windows 7 és SSD, két jó barát

A korábbi ígéretekhez híven megérkezett az Intel notebook SSD-khez az új firmware, mely már lehetővé teszi a Windows 7 számára a meghajtó optimális kiaknázását. A hasonló előnyök elérése érdekében az Intel szoftveres támogatást ad a korábbi Windowsokhoz. Frissítve.

Az Intel által kiadott firmware bevezeti a vállalat új, 34 nanométeres NAND flash chipekre épülő X25-M és X18-M SSD-i számára az ATA8-ACS2 specifikáció támogatását. Mindez azt jelenti, hogy az Intel notebookokba szánt SSD-i ezentúl képesek lesznek natívan fogadni a specifikáció Data Set Management utasítását, melyet a Windows 7 is támogat. A Microsoft új operációs rendszere már felismeri az SSD jelenlétét, és ennek megfelelően kezeli, nem pedig egy szokványos merevlemezként.

A firmware frissítéssel a Windows 7 és az Intel SSD-k natívan képesek lesznek együttműködni, hogy az operációs rendszer által kezelt fájlrendszer(ek)ben törölt fájlok valóban törlésre kerüljenek az SSD-n. A Windowsok egy tipikus törléskor (legyen szó szoftver vagy felhasználó által kezdeményezettről) csak a fájlrendszer leíró metaadatait manipulálják, vagyis megszüntetik a fájlhoz tartozó bejegyzéseket, és felszabadítottnak tekintik a tárterületet. Ez azt jelenti, hogy az adatok fizikailag a hordozón megmaradnak eredeti helyükön, a meghajtó nem is tud a törlésről.

[+] Kipróbáltuk: új Intel X25-M 160 GB

Mindez ideálisnak bizonyul a merevlemezek esetében, egy törlés így sokkal gyorsabb, nem jár jelentős teljesítményveszteséggel, hiszen nem szükséges az adatok valódi törlése, ami különösen egy, az adatokat már erősen töredezetten tároló merevlemezen jelenthetne érezhető lassulásokat - tovább rombolva a mechanikus meghajtók számítástechnikai léptékben egyébként is alacsony sebességét. A probléma forrása az, hogy a meghajtót vezérlő firmware sem értesül arról, hogy a terület felszabadult.

Ez nem jelent problémát a forgó mágneses médiát használó merevlemezek esetében, mivel mikor az operációs rendszer hasznosítani akarja az érintett területet, egyszerűen új adatot írat oda a meghajtóval. A teljesen eltérő működési mechanizmusukból következően azonban az SSD-k számára problémát, konkrétan a teljesítmény csökkenését okozhatja ez a jelenség, de gyorsítja a biteket tároló flash cellák öregedését is, melyek véges ciklusban írhatóak felül az elektronokat (töltést) tároló tranzisztorkapu anyagának kifáradása miatt.

A Windows 7 már tudja: az SSD más

Vezérlésükből fakadóan az SSD-k ugyanis nem írhatják egyszerűen felül a már foglalt blokkot, hanem egy úgynevezett olvas-módosít-ír  (read-modify-write) elemi parancsot kell végrehajtaniuk egy blokkon, mely az Intel esetében 512 kilobájt, ami lelassítja az írást. Ahogyan neve is utal rá, ez az atomi parancs először kiolvassa a blokk tartalmát, megnézi, mi változik, manipulálja a szükséges biteket, majd visszaírja az egész blokkot. Mindez a NAND flash chipek architektúrájának limitációjára vezethető vissza, a NAND logikai áramkör ugyanis írni csak egy teljes blokkot tud, az elejétől a végéig, a benne tárolt lapokat vagy cellákat egyenként nem.

Ez okozza, hogy sok tesztelő arról számolt be, hogy idővel jelentősen lassul egy SSD írási teljesítménye. Ez tipikusan közel sem a cellafáradás jele, hanem a fenti jelenségé, vagyis kezdenek elfogyni az SSD szabad blokkjai, és egyre többször fogja meg ez az atomi művelet az írást - a lassulás elérheti akár 20-30 százalékot is. Hiába mutat az operációs rendszer tengernyi helyet, ha valaki tipikusan nagy tárterületre ír majd töröl, az SSD úgy látja, elfogyott a hely, ugyanis szinte minden blokk foglaltnak tűnik.

Az SSD-k egy már részben vagy egészben foglalt blokkra tehát nem írhatnak azonnal, előtte ki kell olvasniuk a tartalmát, hogy megőrizzék az esetlegesen még szükséges adatokat, melyek mellé újak kerülnek. Emiatt fontos, hogy a fájlrendszer részéről történő adattörlésekről az SSD vezérlője is tudomást szerezzen, hogy a teljesen felszabadult blokkokat biztonsággal törölni tudja, vagy esetleg egy ciklikus karbantartási feladattal konszolidálni a részben használt blokkokat. Ezáltal több blokk marad teljesen szabadon, melyekbe gond nélkül lehet írni, maximális teljesítménnyel.

Ezt az úgynevezett trimmelést (avagy trim parancsot) a Windows 7 tárolódrivere már natívan támogatja, és képes lekommunikálni az ezt a parancsot fogadni képes SSD-k felé - a trimmelés nem csak a fájltörlések, hanem más, törléssel járó alacsony szintű (partíció módosítása, formázás, tömörítés) műveletek esetében is érvényesek. Az új firmware egy további szépsége, hogy a 160 gigabájtos X25-M (G2) felhasználók számára 100 MB/s sebességre fokozza az elérhető lineáris írási sebességet, szemben az eddigi 70 MB/s papírformával.

A trimmelésnek a teljesítményen kívül van további hozadéka is, mégpedig a NAND flash cellák fáradásának a lassítása. Trimmelés nélkül olyan cellákat írhat felül újra és újra az SSD a fentebb részletezett kiolvasás-módosítás-visszaírás mechanizmusa miatt, amelyekre semmi szükség, így feleslegesen fogyasztja azok hasznos ciklusszámát. A több szabadnak látott blokk ráadásul segíti az SSD úgynevezett wear-leveling (fáradáskiegyenlítő) algoritmusának működését is, mely igyekszik az írási műveleteket egyenletesen szétteríteni az SSD blokkjai közt, megakadályozva ezzel, hogy egy-egy blokk cellái túlságosan, a többinél sokkal előbb kifáradjanak, ami egy idő után csökkenő teljesítménnyel járhat, majd írhatatlanná teheti a blokkot.

További előrelépésként a Windows 7 ezenkívül alapesetben kikapcsolja a feleslegessé vált töredezettségmentesítést, amivel szintén kíméli az SSD-t a felesleges írási műveletektől, valamint az alkalmazások gyorsítótárazását is, memóriát szabadítva fel és gyorsítva a bootolást. Igaz, csak abban az esetben, ha az SSD, melyet érzékel, elég gyors hozzá, és random műveleteknél eléri a 8 MB/s átvitelt - kisméretű adatokkal a merevlemezek erre képtelenek, a Microsoft tesztjei szerint  Windows alatt legfeljebb a 2 MB/s sebességet érik el a legjobbak is.

Trimmelés Windows XP és Vista számára is

Azok számára sincs azonban minden elveszve, akik nem Windows 7-et vagy Microsoft drivert használnak, az Intel ugyanis elkészítette az SSD Toolboxot, mellyel egészen az XP-ig visszamenőleg el lehet végezni a trimmelést, manuálisan indítva. Az Intel szerint ez villámgyorsan lefut, és érdemes naponta megtenni. Szerencsére van lehetőség ütemezés beállítására is. Jelenleg a RAID konfigurációk nem támogatottak. A Toolboxot az Inteltől lehet letölteni, a cikk írásakor nem működött az oldal. Más SSD-gyártók az szintén frissítik vagy már frissítették új meghajtóik firmware-ét, így a jövőben mindegyik együtt fog tudni működni a trimmelésben.

Linux számára egyelőre nincs Toolbox támogatás, de az Intel dolgozik ezen, ugyanakkor a Linux kernel tavaly decemberi, 2.6.28 kiadása óta támogatja ezeket a műveleteket, és az ezt a kernelt alkalmazó disztribúciók, mint például az Ubuntu 9.04 Jaunty Jackalop, már legalább fél éve elérhetőek, ugyanakkor alacsony részesedésük miatt nem igazán kapott figyelmet ez a képesség.  A Linux esetében inkább a szerver disztribúcióknál lenne jelentősége, ezek azonban hagyományosan konzervatívak, és a hosszú validációs idők miatt korábbi kerneleket alkalmaznak, így a kernel részeként még nem tartalmazzák még ezt a képességet - az RHEL 5.4 például 2.6.18-as, a SLES 11 2.6.27-es kernelt használ, ezzel szemben a Windows Server 2008 R2 szintén támogatja a trimmelést. A jelenlegi ismeretek szerint az Apple Snow Leopard egyelőre nem támogatja ilyen szinten az SSD-ket.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról