Nové SSD s řadiči SandForce budou mít o trošku větší kapacitu. Proč?
Firma ADATA přišla na trh s SSD řady SX900 s řadičem SandForce 2281, který bude mít větší kapacitu, než byste možná u SSD s řadiči SandForce čekali. SSD ADATA SX900 budou k mání v kapacitách 64, 128, 256 a 512 GB, přičemž byste asi čekali spíše kapacity jako 60, 120, 240 a 480 GB. Za zvýšením kapacity stojí nový firmware, který už si dokáže poradit s nároky kladenými na SSD a zároveň zpřístupnit „celou kapacitu“ NAND flash čipů na SSD připájených („celá kapacita“ je v uvozovkách záměrně, záhy vysvětlíme). Asi vás jako první napadne, zda by nešlo i stávající SSD s podobným řadičem trošku „zvětšit“ ;-).
Teoreticky šlo, v praxi to bude o něco složitější. O vydání takového firmwaru totiž budou rozhodovat koncoví výrobci konkrétních SSD a věříme všemu možnému, jen ne tomu, že se výrobci odhodlají pouhou formou upgradu firmwaru zpřístupnit zhruba 6,66 % kapacity navíc. Naopak – toho se dá skvěle využít v marketingu a poslat na trh nové modely s vyšší kapacitou :-).
Jak je tedy možné kapacitu SSD zvýšit a nesníží to výkon a životnost SSD?
Tyto otázky jsou na místě a dokonce je dobré ptát se na ně takto zároveň. Na SSD totiž bývá často rezervována určitá kapacita jako „over-provisioning“ – řadič SSD ji využívá laicky řečeno jako vlastní „temp“ pro optimalizaci rozložení dat na flash čipech a jejich buňkách (tomu se zase zkráceně říká „wear-leveling“). To proto, aby se buňky zatěžovaly rovnoměrně a nedocházelo příliš brzo k opotřebovávání některých. Jak jistě víte, buňky flash pamětí mají omezený počet přepisů.
„Over-provisioning“ se dá i uměle zvýšit, a to několika způsoby. Jednak můžete určitými nástroji snížit maximální hodnotu LBA, tedy počet viditelných bloků – jinými slovy natvrdo oříznete kapacitu o nějakou část SSD. Celý počítač tak bude vidět SSD jako menší a není síly, která by přiměla uživatele využít zbývající kapacitu – tedy kromě opětovného nastavení LBA na původní maximální hodnotu (tím chceme říci, že při snížení kapacity přes nastavení LBA uvidí úložiště jako menší nejen uživatel, ale i operační systém a veškeré nástroje pracující s SSD na úrovni přímého přístupu na disk – adresovat bloky za stanovenou hranicí zkrátka nedovolí sám SSD).
Druhou možností je prosté vytvoření menšího diskového oddílu a používání jen této menší kapacity. Systém sice uvidí SSD s původní velkou kapacitou, ale uživateli nedovolí pracovat s nealokovaným zbytkem. Efekt je prakticky stejný s tím rozdílem, že ve druhém případě prostě uvidíte ve správci disků nějaké volné místo, se kterým mohou případně pracovat nástroje přistupující k disku na úrovni bloků. Pokud na toto místo ale nikdo nebude nic zapisovat, SSD jej bude (protože není „oTRIMované“) používat pro wear-leveling. O trošku se tím prodlouží životnost SSD a především bude méně degradovat jeho výkon při intenzivním používání. Alespoň někteří výrobci SSD to tak tvrdí.
Snad u každého SSD je natvrdo pro „over-provisioning“ vyhrazena určitá kapacita a s řadiči SandForce jí není zrovna málo. Firmware je vytvořen tak, že tento „zbytek“ zkrátka není možné využít – nelze nastavit LBA na větší než stanovenou maximální hranici. Kolik to je? Není to ~6,7 %, jak by se zdálo po zvýšení formou nového firmwaru. Ono je to ve skutečnosti ještě o dost víc, zde přichází na řadu míchání „hrušek s jablky“, přesněji řečeno „binárních a dekadických“ jednotek kapacity.
Když se řekne 240 GB, nebo 256 GB, myslí se tím 240 000 000 000, nebo 256 000 000 000 bajtů (plus mínus nějaký ten bajt, ale fakt jich není mnoho). Realita je však taková, že čipy, z nichž je takový SSD poskládán, mají ve skutečnosti celkovou kapcitu 256 GiB, což je 274 877 906 944 bajtů. To nám jen oproti 256 GB dělá 7,37 % rozdílu a oproti 240 GB dokonce 14,5 %. Jinými slovy: úpravou firmwaru, který nám jakoby „přidává“ ~6,7 % kapacity, jsme omezili pro over-provisioning ze 14,5 % jen na 7,37 %, tedy v podstatě na polovinu. Zde tedy paradoxně výrazně pomohli výrobci pevných disků, když začali označovat kapacity svých produktů jednotkami s dekadickými násobky, takže to dnes už nepřijde nikomu divné (tedy kromě věčných rejpalů ;-).
Přichází na řadu druhá otázka: jak to tedy bude s výkonem? Inu, firmware SSD musí být vylepšen tak, aby si s tímto „snížením vlastního tempu na polovinu“ poradil. SSD nebudou mít navíc žádnou další flash paměť, dokonce nebude přidán ani DRAM čip. Vše zajistí pouze firmware. Podle interních měření ADATA prý nedochází k žádnému zpomalení, což je ovšem tvrzení, které se špatně potvrzuje, i vyvrací, neboť vám nikdo nedá vedle sebe dva identické SSD, jeden s firmwarem používajícím 14,5% over-provisioning a druhý s pouze 7,37% OP. Leda by se nějaký filantropický výrobce SSD rozhodl, že skutečně vydá firmware, který SSDčku přidá „mávnutím kouzelného proutku“ ~6,7 % kapacity navíc. S něčím takovým ale nepočítáme, to se spíš objeví nová řada hardwarově identická s tou předchozí a pak by to porovnat šlo.
Co se životnosti týče, to samozřejmě ukáže až čas, na to vám nyní odpověď nedáme. Máme trošku pocit, že životnost tím utrpět může, ale v praxi to nebude nic vážného, minimálně se vyplatí kvůli tomu dělat marketingový humbuk s navýšením kapacity o ~6,7 %, i přestože se to (podle nás s největší pravděpodobností) na stávající modely vztahovat nebude.