Hogyan működnek az SSD-k?

Itt, az 2007es.com-nél gyakran megvitattuk a különbséget a különböző típusú NAND struktúrák között - függőleges NAND planáris vagy többszintű sejt (MLC) kontrahármas szintű sejtek(TLC) és négyszintű sejtek (QLC). Most beszéljünk az alapvető releváns kérdésről: Hogyan működnek az SSD-k egyáltalán, és hogyan viszonyulnak az újabb technológiákhoz, például az Intel nem felejtő tárolási technológiájához, az Optane-hoz?

Hogy megértsük, hogyan és miért SSD-k különböznek a forgó lemezektől, beszélnünk kell egy kicsit a merevlemezekről. A merevlemez adatokat tárol egy sor forgó mágneses lemezen, úgynevezett tálcákon. Van egy működtető kar, amelyhez olvasási / írási fejek vannak csatlakoztatva. Ez a kar elhelyezi az író-olvasó fejeket a meghajtó megfelelő területén, hogy információkat olvashasson vagy írjon.

Mivel a meghajtófejeknek igazodniuk kell a lemez egy területéhez az adatok olvasása vagy írása érdekében, és a lemez folyamatosan forog, késik az adatok elérése. Előfordulhat, hogy a meghajtónak több helyről kell olvasnia a program elindításához vagy egy fájl betöltéséhez, ami azt jelenti, hogy a parancs végrehajtásához többször is meg kell várnia, amíg a tálak a megfelelő helyzetbe forognak. Ha a meghajtó alszik vagy alacsony energiafogyasztású állapotban van, akkor néhány másodpercig is eltarthat, mire a lemez teljes erejéig felpörög és működésbe lép.



A kezdetektől fogva egyértelmű volt, hogy a merevlemezek nem képesek megfelelni a CPU-k működési sebességének. A HDD-k késleltetését milliszekundumokban mérjük, összehasonlítva a tipikus CPU nanoszekundumaival. Egy ezredmásodperc 1.000.000 nanoszekundum, és általában egy merevlemez-meghajtó 10-15 milliszekundumig tart, amíg adatokat talál a meghajtón és elkezdi olvasni. A merevlemez-ipar kisebb tányérokat, lemezes memóriákat és gyorsabb orsósebességet vezetett be, hogy ellensúlyozza ezt a tendenciát, de csak olyan gyors meghajtók foroghatnak. A Western Digital 10 000 fordulat / perc sebességű VelociRaptor családja a valaha volt leggyorsabb meghajtó-készlet a fogyasztói piac számára, míg egyes vállalati meghajtók akár 15 000 fordulat / perc sebességgel forogtak. A probléma az, hogy még a leggyorsabban forgó meghajtó, a legnagyobb gyorsítótárakkal és a legkisebb tálakkal is, még mindig fájdalmasan lassú, ami a CPU-t illeti.

Miben különböznek az SSD-k

- Ha megkérdeztem volna az embereket, mit akarnak, gyorsabb lovakat mondtak volna. - Henry Ford

A szilárdtestalapú meghajtókat kifejezetten azért hívják, mert nem támaszkodnak mozgó alkatrészekre vagy forgó lemezekre. Ehelyett az adatokat a NAND flash készletbe menti. Maga a NAND úgynevezett úszó kaputranzisztorokból áll. A DRAM-ban használt tranzisztortípusoktól eltérően, amelyeket másodpercenként többször kell frissíteni, a NAND vakut úgy tervezték, hogy akkor is megőrizze töltöttségi állapotát, ha nincs bekapcsolva. Ez a NAND-ot egy nem felejtő memória típusává teszi.

Flash sejtek felépítése

Kép: Cyferz a Wikipédián, Creative Commons Nevezd meg és oszd meg egyaránt 3.0.

A fenti ábra egyszerű flash cellatervet mutat. Az elektronok az úszó kapuban vannak tárolva, amely ekkor töltésként „0” vagy nem töltött „1” értéket mutat. Igen, a NAND flash-ben a 0 azt jelenti, hogy az adatokat egy cellában tároljuk - ez ellentétes azzal, ahogyan általában nulla vagy egy gondolkodunk. A NAND vaku rácsba van szervezve. A rács teljes elrendezését blokknak nevezzük, míg a rácsot alkotó egyes sorokat oldalnak nevezzük. A szokásos oldalméretek 2K, 4K, 8K vagy 16K, blokkonként 128-256 oldal. A blokk mérete ezért általában 256 KB és 4 MB között változik.

A rendszer egyik előnyének azonnal nyilvánvalónak kell lennie. Mivel az SSD-knek nincsenek mozgó alkatrészeik, jóval nagyobb sebességgel működhetnek, mint egy tipikus HDD. Az alábbi ábra a mikroszekundumokban megadott tipikus adathordozók hozzáférési késleltetését mutatja.

SSD-késleltetés

Kép készítette CodeCapsule

A NAND közel sem olyan gyors, mint a fő memória, de több nagyságrenddel gyorsabb, mint egy merevlemez. Míg az írási késleltetések a NAND flash esetében lényegesen lassabbak, mint az olvasási késések, mégis meghaladják a hagyományos fonó médiát.

Két dolgot kell észrevenni a fenti diagramban. Először vegye figyelembe, hogy a NAND cellánként több bit hozzáadása hogyan befolyásolja jelentősen a memória teljesítményét. Ez rosszabb az írásoknál, szemben az olvasásokkal - a tipikus hármas-cellás (TLC) késés négyszer rosszabb, mint az egyszintű cellák (SLC) NAND-ja az olvasásoknál, de 6-szor rosszabb az írásoknál. A késleltetési idők törlése szintén jelentősen befolyásolja. A hatás sem arányos - a TLC NAND majdnem kétszer olyan lassú, mint az MLC NAND, annak ellenére, hogy csak 50% -kal több adatot tárol (cellánként három bit, kettő helyett). Ez igaz a QLC meghajtókra is, amelyek ugyanazon cellán belül még több bitet tárolnak változó feszültségszint mellett.

Az oka annak, hogy a TLC NAND lassabb, mint az MLC vagy az SLC, annak az oka, hogy az adatok hogyan mozognak be és ki a NAND cellába. SLC NAND esetén a vezérlőnek csak azt kell tudnia, hogy a bit 0 vagy 1. MLC NAND esetén a cellának négy értéke lehet - 00, 01, 10 vagy 11. TLC NAND esetén a cellának nyolc értéke lehet és a QLC-nek 16. A megfelelő érték kiolvasása a cellából megköveteli, hogy a memória vezérlő pontos feszültséget használjon annak megállapítására, hogy töltődik-e egy adott cella.

Olvas, ír és töröl

Az SSD-k egyik funkcionális korlátja, hogy nagyon gyorsan tudnak adatokat olvasni és írni egy üres meghajtóra, az adatok felülírása sokkal lassabb. Ez azért van, mert míg az SSD-k oldalszintű adatokat olvasnak (vagyis a NAND memóriarács egyes soraiból származnak), és oldalszinten is írhatnak, feltételezve, hogy a környező cellák üresek, csak blokkszinten törölhetik az adatokat. A NAND vaku törléséhez ugyanis nagy feszültségre van szükség. Míg elméletileg törölheti a NAND-t oldalszinten, a szükséges feszültség mértéke az új cellák körüli egyes cellákat megterheli. Az adatok törlése blokk szinten segít enyhíteni ezt a problémát.

Az SSD egyetlen meglévő oldal frissítésének egyetlen módja az, ha a teljes blokk tartalmát a memóriába másolja, törli a blokkot, majd megírja a régi blokk + a frissített oldal tartalmát. Ha a meghajtó megtelt, és nincsenek üres oldalak, akkor az SSD-nek először meg kell keresnie a törléshez megjelölt, de még nem törölt blokkokat, törölnie kell, majd az adatokat be kell írnia a most törölt oldalra. Ezért az SSD-k lassabbá válhatnak az életkor előrehaladtával - a többnyire üres meghajtó tele van azonnal írható blokkokkal, a többnyire teljes meghajtó nagyobb valószínűséggel kényszerül a teljes program / törlés sorozatra.

Ha SSD-ket használt, valószínűleg hallott valami úgynevezett „szemétgyűjtésről”. A szemétszállítás olyan háttérfolyamat, amely lehetővé teszi a meghajtó számára, hogy bizonyos feladatokat a háttérben végezzen a program / törlési ciklus teljesítményének hatásainak enyhítésében. Az alábbi kép a szemétszállítás folyamatát mutatja be.

Szemétgyüjtés

Kép a Wikipedia jóvoltából

Megjegyzendő ebben a példában, hogy a meghajtó kihasználta azt a tényt, hogy nagyon gyorsan írhat üres oldalakra azáltal, hogy új értékeket ír az első négy blokkra (A’-D ’). Két új blokkot is írtak, az E és a H. Az A-D blokkok elavultnak vannak jelölve, vagyis olyan információkat tartalmaznak, amelyeket a meghajtó elavultnak jelöl. Tétlen periódus alatt az SSD a friss oldalakat egy új blokkba helyezi át, törli a régi blokkot és szabad helyként jelöli meg. Ez azt jelenti, hogy amikor az SSD-nek legközelebb írást kell végrehajtania, akkor közvetlenül a már üres X blokkba írhat, ahelyett, hogy végrehajtaná a program / törlés ciklust.

A következő koncepció, amelyet meg akarok vitatni, a TRIM. Ha egy fájlt töröl egy Windows rendszerről egy tipikus merevlemezen, a fájl nem törlődik azonnal. Ehelyett az operációs rendszer megmondja a merevlemez-meghajtónak, hogy felülírhatja annak a lemeznek a fizikai területét, ahol az adatokat legközelebb íráskor tárolták. Ezért lehet visszavonni a fájlokat (és a fájlok törlése a Windows rendszerében általában nem sok fizikai lemezterületet takarít meg, amíg ki nem üríti az újrahasznosító tartályt). Hagyományos HDD esetén az operációs rendszernek nem kell figyelnie arra, hogy hol írják az adatokat, vagy mi a blokkok vagy oldalak relatív állapota. SSD esetén ez számít.

A TRIM parancs lehetővé teszi az operációs rendszer számára, hogy elmondja az SSD-nek, hogy kihagyhatja bizonyos adatok újraírását, amikor legközelebb blokktörlést hajt végre. Ez csökkenti a meghajtó által írt teljes adatmennyiséget és növeli az SSD élettartamát. Az olvasás és az írás egyaránt károsítja a NAND flash-et, de az írások sokkal több kárt okoznak, mint az olvasás. Szerencsére a blokk szintű élettartam nem bizonyult problémának a modern NAND flash-ben. További adatok SSD hosszú élettartam, a Tech Report jóvoltából itt található.

Az utolsó két fogalom, amelyről beszélni akarunk, a kopásszintezés és az íráserősítés. Mivel az SSD-k adatokat írnak az oldalakra, de blokkokban törlik az adatokat, a meghajtóra írt adatok mennyisége mindig nagyobb, mint a tényleges frissítés. Ha például módosít egy 4KB fájlt, akkor frissíteni kell és át kell írni az egész blokkot, amelyben a 4K fájl található. A blokkonkénti oldalak számától és az oldalak méretétől függően előfordulhat, hogy 4 MB értékű adatot ír a 4 KB-os fájl frissítéséhez. A szemétszállítás csökkenti az íráserősítés hatását, csakúgy, mint a TRIM parancs. A meghajtó jelentős részének szabadon tartása és / vagy a gyártó túlkiszolgálása szintén csökkentheti az íráserősítés hatását.

A kopás szintezése arra a gyakorlatra utal, hogy bizonyos NAND blokkokat nem írnak és törölnek gyakrabban, mint másokat. Míg a kopás szintezése növeli a meghajtó várható élettartamát és állóképességét azáltal, hogy egyenlően ír a NAND-nak, ez valóban növelheti az írás erősítését. Az írások egyenletes elosztása érdekében a lemezen néha szükség van a blokkok programozására és törlésére, annak ellenére, hogy a tartalmuk valójában nem változott. Egy jó kopásszintező algoritmus igyekszik ezeket a hatásokat egyensúlyba hozni.

Az SSD vezérlő

Nyilvánvalónak kell lennie, hogy mára az SSD-k sokkal kifinomultabb vezérlési mechanizmusokat igényelnek, mint a merevlemezek. Ez nem a mágneses adathordozók szétszórása - valójában azt gondolom, hogy a HDD-k nagyobb tiszteletet érdemelnek, mint amennyit kapnak. Azok a mechanikus kihívások, amelyek az 5400–10 000 fordulat / perc fordulatszámú, tányérok feletti több olvasási-írási fej kiegyensúlyozásával járnak, nem tüsszentenek. Az a tény, hogy a merevlemezek ezt a kihívást teljesítik, miközben úttörő szerepet játszanak a mágneses adathordozókra történő felvételben, és végül meghajtókat értékesítenek gigabyte-onként 3-5 centtel, egyszerűen hihetetlen.

SSD vezérlő

Tipikus SSD vezérlő

SSD vezérlőkazonban önmagukban osztályba tartoznak. Gyakran van egy DDR3 vagy DDR4 memóriakészletük, amely segítséget nyújt maga a NAND kezelésében. Sok meghajtó tartalmaz egyszintű cellagyorsítótárakat, amelyek pufferként működnek, növelve a meghajtó teljesítményét azáltal, hogy gyors NAND-ot szentelnek az olvasási / írási ciklusoknak. Mivel az SSD-n lévő NAND vaku általában párhuzamos memóriacsatornákon keresztül csatlakozik a vezérlőhöz, úgy gondolhatja, hogy a meghajtó vezérlője ugyanolyan terheléselosztási munkát végez, mint egy csúcskategóriás tároló tömb - az SSD-k nem telepítse a RAID-ot belsőleg, de a kopásszintezés, a szemétgyűjtés és az SLC gyorsítótár-kezelés párhuzamot mutat a nagy vasvilágban.

Néhány meghajtó adattömörítési algoritmusokat is használ az írások teljes számának csökkentésére és a meghajtó élettartamának javítására. Az SSD vezérlő kezeli a hibajavítást, és az algoritmusok, amelyek vezérlik az egybites hibákat, az idő múlásával egyre összetettebbé váltak.

Sajnos nem tudunk túlságosan részletesen foglalkozni az SSD vezérlőkkel, mert a vállalatok lezárják különféle titkos szószaikat. A NAND flash teljesítményének nagy részét az alapul szolgáló vezérlő határozza meg, és a vállalatok nem hajlandók túlságosan felemelni a fedelet arról, hogyan csinálják, amit csinálnak, nehogy előnyt nyújtsanak a versenytársnak.

Interfészek

Kezdetben az SSD-k SATA portokat használtak, csakúgy, mint a merevlemezek. Az elmúlt években az M.2 meghajtókra való áttérés tapasztalható - nagyon vékony, több hüvelyk hosszú meghajtók, amelyek közvetlenül az alaplapra (vagy néhány esetben a PCIe felszálló kártya tartójának tartójára) nyílnak. A 970 EVO Plus meghajtó az alábbiakban látható.


Az NVMe meghajtók nagyobb teljesítményt nyújtanak, mint a hagyományos SATA illesztőprogramok, mert gyorsabb interfészt támogatnak. A SATA-n keresztül csatlakoztatott hagyományos SSD-k ~ 550MB / s sebességgel fejlõdnek ki a gyakorlati olvasási / írási sebesség szempontjából. Az M.2 meghajtók lényegesen gyorsabb teljesítményre képesek a 3,2 GB / s tartományban.

Az előttünk lévő út

A NAND flash óriási fejlődést kínál a merevlemezekkel szemben, de nem nélkülözheti saját hátrányait és kihívásait. A meghajtókapacitások és az egy gigabájtonkénti ár várhatóan tovább emelkedik és csökken, de kevés az esély, hogy az SSD-k elkapják a merevlemezeket gigabájtonként. A zsugorodó folyamatcsomópontok jelentős kihívást jelentenek a NAND flash számára - míg a legtöbb hardver javul, ahogy a csomópont zsugorodik, a NAND törékenyebbé válik. Az adatmegőrzési idők és az írási teljesítmény lényegében alacsonyabb a 20 nm-es NAND-nál, mint a 40 nm-es NAND, még akkor is, ha az adatsűrűség és a teljes kapacitás jelentősen javul. Eddig piacon akár 96 rétegű meghajtókat is láttunk, és ezen a ponton 128 réteg tűnik hihetőnek. Összességében a 3D NAND-ra való áttérés segített a sűrűség javításában anélkül, hogy a folyamatcsomópontok zsugorodnának, vagy a síkbeli méretezésre hagyatkoznának.

Eddig az SSD-gyártók jobb teljesítményt nyújtottak azáltal, hogy gyorsabb adatstandardokat, nagyobb sávszélességet és több csatornát kínálnak vezérlőnként - plusz a korábban említett SLC gyorsítótárak használatával. Mindazonáltal hosszú távon feltételezhető, hogy a NAND helyébe valami más lép.

Hogy mi fog kinézni valami más, még mindig vita tárgya. Mindkét mágneses RAM és fázisváltó memória jelöltként mutatkoztak be, bár mindkét technológia még csak a kezdeti szakaszban van, és jelentős kihívásokkal kell szembenézniük ahhoz, hogy valóban versenyezhessenek a NAND helyettesítőjeként. Az, hogy a fogyasztók észrevennék-e a különbséget, nyitott kérdés. Ha NAND-ról SSD-re, majd gyorsabb SSD-re frissített, akkor valószínűleg tisztában van azzal, hogy a HDD-k és az SSD-k közötti különbség jóval nagyobb, mint az SSD-SSD-rés, még akkor is, ha viszonylag szerény meghajtóról frissít. Az ezredmásodpercektől a mikroszekundumokig terjedő hozzáférési idők javítása nagyon sokat számít, de a mikroszekundumból nanomásodpercekbe való javítás az alábbiak alá eshet, amit az emberek a legtöbb esetben valóban érzékelhetnek.

Az Intel 3D XPoint (amelyet Intel Optane néven forgalmaznak) a NAND flash egyik lehetséges kihívójaként jelent meg, és az egyetlen jelenlegi alternatív technológia a mainstream gyártásban. Az Optane SSD-k nem használják a NAND-ot - nem felejtő memória felhasználásával épültek, amelyet úgy gondolnak, hogy a fázisváltó RAM-hoz hasonlóan valósítanak meg -, de hasonló szekvenciális teljesítményt kínálnak, mint a jelenlegi NAND flash meghajtók, de jóval jobb teljesítményt nyújtanak alacsony meghajtósoroknál. A meghajtó késleltetése szintén nagyjából a NAND vaku fele (10 mikroszekundum, szemben a 20-mal) és jóval nagyobb állóképesség (30 teljes meghajtó-írás naponta, szemben a csúcskategóriás Intel SSD napi 10 teljes meghajtó-írásával).

Optán1

Intel Optane teljesítménycélok

Az Optane ma már sokféle formátumban elérhető, beleértve a szerver bővítőkártyákat, a személyes SSD-ket és kiegészítő gyorsítótárként a hagyományos merevlemez gyorsítására. Az Intel az Optane-t is az egyik formájaként tolta el közvetlen csatolt memória jóval több kapacitás áll rendelkezésre, mint a DRAM, a magasabb hozzáférési késleltetések árán.

Tekintse meg az 2007es.com magyarázataink sorozatát, ahol a mai legforróbb technológiai témákról olvashat részletesebben.

Copyright © Minden Jog Fenntartva | 2007es.com