16Aug

Miért merülnek fel a szilárdtest-meghajtók?

A referenciaértékek világosak: A szilárdtestalapú meghajtók lelassulnak, amikor kitöltik őket. Töltse meg a szilárdtest-meghajtót közel kapacitással és írási teljesítménye drasztikusan csökken. Az SSD-k és a NAND Flash-tároló működésének oka.

A hajtás kapacitásának feltöltése az egyik olyan dolog, amit soha nem szabad a szilárdtestalapú meghajtót használni. A majdnem teljes szilárdtest-meghajtó sokkal lassúbb írási műveletekkel fog lassítani a számítógépet.

Üres blokkok és részlegesen kitöltett blokkok

Amikor egy fájlt ír a szilárdtestalapú meghajtóba, üres tömböket keres és kitölt. Az üres blokkba írása a lehető leggyorsabb írási művelet. Ezért az új operációs rendszerek( Windows 7 és újabb) támogatják a TRIM funkciót, amely automatikusan törli a fájlok adatait a szilárdtestalapú meghajtóról, amint törli a fájlt az operációs rendszerben. Ez mágneses merevlemezektől eltérően működik, ahol a törölt fájlok bitjei a merevlemezen ülnek.

Nem ülnek egy szilárdtest meghajtón - a TRIM biztosítja, hogy a blokk kiürüljön, így az SSD gyorsan új adatokat írhat az üres blokkra a jövőben. Egy már írott szektor felírása ugyanolyan gyors, mint egy mechnikai merevlemez üres szektorba írása, de egy szilárdtestalapú meghajtónak egy blokkot kell törölnie, mielőtt írna rá.

NAND A flash memória 256 KB méretű blokkok belső oldalán 4 KB lapot ír. Ha további oldalakat szeretne feltölteni egy részlegesen kitöltött blokkhoz, a szilárdtestalapú meghajtónak törölnie kell az egész blokkot, mielőtt visszaírná az adatokat.

Ahogy a szilárdtest-meghajtó kitölti, kevesebb üres tömb áll rendelkezésre. Helyükön részben töltött blokkok vannak. A szilárdtestalapú meghajtó nem csak írhatja az új adatokat ezekre a részben töltött blokkokra - ez törölné a meglévő adatokat. Egyszerű írási művelet helyett a szilárdtestalapú meghajtónak el kell olvasnia a blokk értékét a gyorsítótárba, módosítania kell az értéket az új adatokkal, majd vissza kell írnia. Ne felejtsük el, hogy egy fájl írása valószínűleg sok blokkra ír, ezért ez jelentős késleltetési időt eredményezhet.

TRIM nem tömöríti a részlegesen kitöltett blokkokat

Ha betölti a meghajtót a kapacitásra vagy a kapacitás közelében, valószínűleg sok részlegesen kitöltött tömb lesz a fájlok törlése után. A TRIM parancs csak egy szilárd állapotú meghajtót irányít arra, hogy eltávolítsa a fájladatokat a fájl törlésekor. Nem kényszeríti a meghajtót semmiféle tisztítási művelet elvégzésére. Más szavakkal, töltse ki a szilárdtest-meghajtót a kapacitásra a fájlok törlése előtt, és valószínűleg sok részlegesen kitöltött blokk lesz. A meghajtó nem fog menni az útból, hogy ezeket a részlegesen töltött blokkokat teljes blokkokká alakítsa, és felszabadítsa az üres tömböket. A meghajtó továbbra is tele lesz részlegesen kitöltött tömbökkel, és az írási teljesítmény romlik.

Overprovisioning és Garbage Collection

Annak megakadályozására, hogy a fogyasztók töltsék fel a szilárdtest-meghajtókat, és véget vetnek a súlyosan leépített teljesítménynek, az SSD-gyártók meghiúsulnak az ellenük.

A fogyasztói minőségű szilárdtest-meghajtók gyakran elhanyagolják teljes flash tárolójuk 7% -át, és nem teszik elérhetővé a felhasználót. Ezt "overprovisioning" -ként( extra override) nevezik - extra tároló hardver kerül a meghajtóba, de a számítógépen nem látható, mint a rendelkezésre álló tárhely. A tartalékterület biztosítja, hogy a meghajtó sohasem teljesüljön teljes mértékben - mindig van némi szabad kapacitás, amely segít a nyomtatási teljesítmény stabilitásának megőrzésében.

Minden szilárdtestalapú vezérlőnek van egy szemétgyűjtési algoritmusa, hogy megpróbálja enyhíteni ezt a problémát. Amikor a meghajtó megtelt, részlegesen töltött tömböket keres és elkezdi megszilárdítani őket, felszabadítva annyi üres tömböt, amennyire csak lehetséges. Különböző szilárdtest-meghajtók futtatják ezeket a műveleteket különböző időpontokban és küszöbökben - ez a meghajtó vezérlőjétől függ.

Benchmark bizonyíték

Az Anandtech különféle mérőszámokat hajtott végre különböző meghajtókkal, hogy megakadályozza a szilárdtestalapú meghajtó tartalékterületének és az írási műveletek teljesítményének konzisztenciáját. Egy üres meghajtó feltöltésekor nagyon korai írásbeli teljesítményt tapasztaltak, és jelentős csökkenés következett be, mivel az írási műveletek továbbra is feltöltik a meghajtót.

A meghajtókon több tartalékterület mentén segített a teljesítménynek következetesen maradni, mivel biztosította, hogy a hajtásnak mindig elég üres tömbje legyen.

Megállapították, hogy "a minimális teljesítmény lényegesen javul, ha elérte 25% -os tartalékterületet ezeknek a [fogyasztói] meghajtóknak." Végső ajánlásuk szerint "csak akkor tervezik, hogy a [meghajtó kapacitásának] körülbelül 75% -át használják,az egyenletesség és a kapacitás közötti egyensúly. "

Ha van egy szilárdtest-meghajtó, próbáld meg elkerülni a kapacitásának több mint 75% -át. Vegyél egy nagyobb meghajtót, több tárolóval, mint amire szükséged van, és biztosítod, hogy mindig konzisztens írási teljesítményed legyen. Szerencsére az SSD-k fokozatosan sokkal olcsóbbá válnak, így ez nem olyan drága, mint egykor.

Image Credit: Zene Sorter a Wikimedia Commonsban, Simon Wüllhorst a Flickr-en