Galerie 27
Jak se vyznat v SSD: M.2, PCIe, NVMe i QLC bez marketingu
Zdroj: Svethardware.cz
Článek Storage a RAM SSD Samsung

Jak se vyznat v SSD: M.2, PCIe, NVMe i QLC bez marketingu | Kapitola 3

Milan Šurkala

Milan Šurkala

Seznam kapitol

1. Formáty SSD a sběrnic 2. Čipy NAND a cache paměti 3. Chlazení a záruky 4. SSD pro hráče, Závěr

Názvy SSD jsou mnohdy krkolomnou přehlídkou zkratek. Dnešní článek vysvětlí, co znamenají, a jak se podílí na celkovém výkonu SSD.

Reklama

Chlazení aneb proč se hodí heatsink

Zatímco starší SSD si vystačila bez chladiče, ty moderní mají jak výkonnější řadiče, tak i paměti, přičemž jejich spotřeba se pomalu, ale jistě zvyšuje. Modernější procesy však toto pomáhají snížit, ale možná si vzpomínáte, jak se s prvními PCIe 5.0 SSD objevily také aktivně chlazená řešení, než se postupně přešlo na úspornější řadiče, a tím tato potřeba postupně vymizela. A tak se pořád zmítáme mezi vzrůstajícími nároky na chlazení s příchodem nových generací PCIe a klesáním, jak se tato nová generace postupně stane starší a dospělejší.

image
Zdroj: Svět hardware

Při časově delších přesunech může být rostoucí teplota větším problémem, což se ukázalo i u Samsungu 990. Ten dostanete bez jakéhokoli heatsinku nebo heat-spreaderu a na samotném SSD je maximálně tak nálepka (tedy ani tenká destička - heat-spreader - pro trochu lepší rozvod tepla). A bylo to na výsledcích hodně vidět. V HWiNFO mi teplota řadiče u některých testů ukazovala hodnotu až 115 °C, většinou to ale bylo v zátěži do cca 105 °C. Nakolik to byla reálná hodnota, to těžko říci, ale dále budeme pro porovnání poklesu teplot operovat s tímto zdrojem.

To jsou hodnoty, při kterých by se čipy (ať už výpočetní nebo paměťové) ideálně neměly provozovat. Zbyl mi ale velký heat-sink ze základní desky Gigabyte X570 Aorus Elite, který jsem na toto SSD aplikoval a hned to bylo o něčem jiném. Teplota řadiče se většinou při zátěži pohybovala okolo 88-90 °C a úplným maximem u testů bylo 96 °C. Paměťové čipy pak vykazovaly teplotu do 65 °C, což je naprosto bezproblémově akceptovatelná hodnota. 

Samsung 990 PRO s heatsinkem
Zdroj: Samsung
Samsung 990 PRO s heatsinkem

Dostatečné chlazení je dobré nepodcenit hned ze dvou důvodů. Tím prvním je životnost. Řadič, který se peče na obrovských teplotách, to zrovna neocení, a SSD může dříve umřít. Vysoká teplota samotným pamětem při práci ani tak nevadí, to spíše u skladování. Za další, může se snížit výkon. SSD ho omezí, čímž sníží spotřebu, a tedy i vydávané teplo (tomuto se říká teplotní throttling). Dobré chlazení tak chcete i kvůli zachování vysokého výkonu. Zda už zvolíte chladič od základní desky, ten dodávaný s SSD, nebo si koupíte vlastní, to záleží na konkrétních chladičích. Stále je lepší nějaký než žádný.

Samsung 990 SSD 1TB - Teploty
Zdroj: Svethardware.cz
Samsung 990 SSD 1TB - Teploty

Tady jsem otestoval SSD bez chladiče a pak s výše zmíněným chladičem ze základní desky Gigabyte. Jak vidíte na průbězích, v obou konfiguracích se začalo na cca 2100 MB/s. Nejprve probereme dobu do vyčerpání pSLC bufferu. Chlazená varianta se udržela nad 1900 MB/s, zatímco bez chladiče jsem postupně spadl na 1700 MB/s. Throttling se tak projevil, ale jen chvilkově (mezi zhruba 100 a 210 zapsanými GB, kde chlazená verze pomaličku klesala k oněm 1900 MB/s, zatímco nechlazená spadla k 1700 MB/s). 

Chlazený řadič šel s teplotou od 75 °C na zhruba 87 °C, nechlazený pak z 80 °C na téměř 100 °C. Samotné paměťové čipy se držely na začátku mezi 50-55 °C, před pádem pSLC bufferu byly jen o 5 °C teplejší, přičemž teplota více stoupala u nechlazené verze.

Ačkoli vyčerpání bufferu znamená výrazně nižší rychlosti, což vidíte výrazným pádem v obou případech na 140 MB/s, teplota kvůli foldingu (přerovnávání dat z buněk zapsaných pomocí pSLC na QLC a současného QLC zápisu dalších dat) dál roste. U chlazené varianty se řadič dostal k 91 °C, paměťové čipy na 64 °C. Naproti tomu při testu bez chladiče se řadič dostal ke 107 °C, paměti pak 70 °C. 

Životnost SSD aneb co je to TBW a DWPD a nejen to

Dalším tématem je životnost SSD. Zde je dobré říci, že ty údaje, které uvádí výrobci, jsou obvykle výrazně konzervativní. Např. před několika lety jsme testovali 240GB SSD OCZ Vector 150, které vydrželo 15krát více, než kolik uváděl výrobce. Při zápisu 20 GB denně by dle tohoto testu mělo vydržet na 180 let. A jak se vůbec tato výdrž uvádí? Jsou zde v zásadě dva parametry.

Tím prvním je TBW (TeraBytes Written), které označuje, kolik TB dat můžete na SSD garantovaně zapsat. To neznamená, že poté SSD hned umře, ale možnost, že už nebude fungovat korektně a je to hodnota, kterou kryje záruka (takže ta musí být výrazně pod tím, co SSD fyzicky zvládne, aby se výrobci nevracela kvanta SSD  záruční době). Pro příklad, náš Samsung 990 s 1TB kapacitou má 400 TBW, což znamená, že je možné ho garantovaně přepsat 400krát. Kvůli dalším záležitostem na pozadí to ale znamená o něco více fyzických přepisů samotných NAND čipů (WAF, over-provisioning,..). 

Pro představu, moje SSD používané jako primární disk, provozované zhruba 2,7 roku, má zatím zapsáno 57 TB. Takovým tempem by 1TB Samsung 990 vydržel zhruba 19 let. V mém případě je to větší 2TB TLC s životností na 1,6 PBW (800 hostitelských "přepisů"), tedy na nějakých 75 let při mém stylu provozu. 

V zásadě se dá říci, že čím méně bitů na buňku, tím vyšší životnost (SLC > MLC > TLC > QLC), ale jak je vidět, i QLC se 400 přepisy by mělo vydržet na hodně dlouho a v zásadě i u QLC jde o parametr, kterého v praxi pravděpodobně nedosáhnete. Výjimkou mohou být extrémně malá SSD jako systémový disk (kde nízká kapacita × počet přepisů = malá TBW). Takovým příkladem může být můj bývalý ultrabook se 128GB SSD, kde se to po 9 letech provozu k té TBW hranici opravdu už hodně přiblížilo. 

Druhou metrikou, která je docela podobná, ale používá se spíše u serverových SSD než spotřebních, je DWPD (Drive Writes Per Day). Ta říká, kolik přepisů celého SSD je možné v rámci záruky denně provést. U Samsungu 990 se třeba tato hodnota neuvádí, ale můžeme si ji spočítat. 400 TBW má vydržet na 3 roky (tolik je záruka), což dělá 400 TB/(3×365 dní) = 0,365 TB denně. Poněvadž SSD má kapacitu 1 TB, znamená to tedy 0,365 DWPD, jinak řečeno, 0,365 přepisu SSD každý den. 

Ještě by bylo dobré zmínit, že u SSD je problémem také retence dat. Pokud SSD není napájeno, data se po delší době mohou ztratit, což je výraznějším problémem s nárůstem počtů bitů na buňku. QLC tak bez napájení vydrží obecně méně než TLC atd. Zálohovat data na SSD, která nejsou připojená k počítači, tak není zrovna moc dobrý nápad. A právě zde může být vysoká teplota NAND čipů problémem. Pro zajímavost, organizace JEDEC u klientských SSD vyžaduje udržení dat po dobu 1 roku při teplotě 30 °C bez napájení.

WAF, Wear-Leveling a Over-Provisioning

Tady pozor na výše zmíněný WAF (Write Amplification). Problémem je, že to, kolik dat se poslalo na SSD (hostitelský zápis), neodpovídá tomu, kolik dat se zapsalo na samotné čipy NAND (NAND zápis). Důvodů může být několik, ale v zásadě je tu hlavně onen folding. Uvědomme si, že data se nejprve zapisují jako SLC a pak se v době nečinnosti (no a někdy i činnosti, když už není zbytí), přepisují jako TLC/QLC. 

Pro náš demonstrační případ budeme uvažovat QLC. Pokud tak zapisujeme např. 100 Gb dat, v pseudoSLC režimu zapíšeme nejprve do 100 miliard buněk (1 bit na buňku) a pak to foldingem přeskládáme do 25 miliard buněk po 4 bitech na buňku. Celkově tak pro uložení 100 miliard bitů provedeme 125 miliard naprogramování buněk. Každý bit je do NAND zapsán dvakrát, nejprve do pSLC samostatně, podruhé do QLC (se třemi dalšími do jedné buňky). 

Na 1 bit tak sice zapíšeme 2 bity do SSD (100 Gb Host Writes = 200 Gb NAND Writes) a WAF = 2 (NAND Writes / Host Writes), ale zápisem ovlivníme jen 1,25 buňky (když to zjednodušíme). Nelze to převést na 1,25násobné opotřebení, protože SLC zápis ovlivňuje životnost podstatně méně než QLC zápis. Naštěstí udávaná životnost TBW by s tímto už měla počítat a týká se Host Writes, tedy už s oním WAF počítá. 400 TBW tak může fyzicky znamenat o několik set TB navíc zapsaných do NAND čipů. 

Aby nám neumřela jedna část SSD dříve než ostatní, využívá se tzv. wear leveling. To je docela paradoxní technologie. Dynamický wear leveling zajišťuje to, aby se na SSD zapisovalo různě, tedy aby se při příštím zápisu využily ty buňky, které mají méně cyklů. Jinak řečeno, snaží se o rovnoměrné zatížení a využívání jednotlivých paměťových buněk, aby se některé neopotřebovávaly rychleji než ostatní.

Statický wear leveling je ta paradoxní část. Některá data jsou statická, pořád na stejném místě. Ta by tak tyto buňky blokovala pro další zápisy a vytvořily by ostrůvky málo přepisovaných buněk. SSD tak samo přesune tato data jinam, aby se tyto buňky mohly využívat pro něco, co se častěji mění. Paradoxně se tak sice zvyšuje počet zápisů, na druhou stranu se tak mnohem lépe rozkládá opotřebování buněk, což životnost SSD ve výsledku zvyšuje.

No a nesmíme zapomenout na over-provisioning. SSD má obvykle část kapacity vyhrazenou pro sebe, kterou nelze zaplnit daty. SSD to využívá k různým funkcím, např. jako zásobu náhradních bloků, pokud některé vypoví službu, pro wear leveling, snížení WAF a další. Kapacita nemusí být zrovna malá. Naše SSD má 1 TiB paměťových čipů, což je 10244 bajtů, a to je 1,0995 bilionu bajtů (1 TiB). Výrobce vám ale nabízí 1 TB, ne 1 TiB. Tedy 1,0 bilionu bajtů. Windows ukazuje kapacitu 931 GB, ačkoli toto číslo fakticky patří jiné jednotce, a má tam být 931 GiB (1.000.000.000.000/10243). Hodnoty 1,0995 - 1,0 TB nám ve výsledku dávají rozdíl 99,5 GB (92,7 GiB), a toto je pak schováno např. pro OP.

No a v neposlední řadě musíme zmínit příkaz TRIM a garbage collection. Při výmazu si souborový systém jen odstraní odkaz na daný blok, ale samotné SSD o tom nic neví a pořád je považuje za platná data a obsazené místo. Příkaz TRIM tak oznámí SSD, že dané bloky jsou považovány za nechtěné, a to je pak může smazat (sám o sobě je TRIM nemaže). Garbage collection pak vybírá bloky s velkým množstvím neplatných stránek, ty platné dá dohromady a zapíše jinam, čímž uvolní celý blok. 


Předchozí
Další
Reklama
Reklama
Reklama
Reklama