Co je SMR či Shingled Magnetic Recording u pevných disků? Jak funguje a je to problém?

17. 4. 2020

Sdílet

V pevných discích je čím dál častěji používán tzv. záznam SMR neboli Shingled Magnetic Recording. Měli byste ho znát, neboť velmi ovlivní, jak se HDD chová.

Moderní pevné disky používají různé technologie pro zvýšení kapacity. Héliové plnění umožňuje zmenšit mezery mezi plotnami a dostat jich tak do HDD víc. Přicházející technologie HAMR a MAMR zmenší jednotlivé bity na disku tím, že při zápisu místo lokálně zahřejí. SMR ovšem zvyšuje hustotu zápisu, aniž by se fyzicky změnil materiál plotny, pomocí změněného uspořádání stop na ní. SMR je technologie, která podobně jako HAMR nebo MAMR má zvýšit hustotu zápisu na HDD, tak aby se na stejně velkou magnetickou plotnu vešlo více dat. Ovšem nedělá to tak, že by jednotlivé stopy opravdu byly efektivně menší při zachování všech parametrů. SMR používá stejně „širokou“ stopu jako normální zápis (tomu se dnes říká PMR = perpendicular magnetic recording, nebo CMR = conventional magnetic recording), ale zápis zahušťuje tím, že stopy zapíše tak blízko k sobě, že následující se částečně překrývá s tou předchozí. Takto se daří získat navíc okolo 15 % kapacity proti CMR plotně stejné generace.

Překrývající se stopy a co to znamená pro zápis

Tento překrývající se zápis se označuje SMR, což znamená shingled magnetic recording, česky by se dalo říct šindelový záznam a kdo znáte tuto střešní krytinu, si asi podobnost dokážete dobře představit. SMR nemá problém při čtení, to je možná komplikovanější, ale s překrytými stopami se dokáže vyrovnat a uživatel nic nepozná. Problém je zápis. Pokud zapisujete, poruší zapisovací hlave záznam v následující stopě.

SMR zaznam WD 1 SMR záznam spočívá v tom, že jednotlivé stopy se překrývají, takže je možné se stejnou šířkou stop dosáhnout na větší hustotu dat (Zdroj: WD)

To znamená, že její obsah musí být před zápisem přečten a po zápisu první stopy musí být z paměti znovu zapsán. To ale sejme data zase v další stopě, takže toto je třeba kaskádově několikrát opakovat. Stopy na plotně mají kvůli tomu vždy po nějaké době dělící stopu, která se už s další nepřekrývá, takže zde lze překydávání dat ukončit.

SMR zaznam WD 2 Plotna je rozdělená do zón, které končí nepřekrývající se stopou, kde je možná kaskádové přepisování ukončit. Jinak by se musel přepsat celý povrch (Zdroj: ZonedStorage.io)

Zápis na SMR plotnu by měl alespoň teoreticky být svižný a bez problémů, pokud je místo zatím nepoužito. Jakmile ale zapisujete do prostoru, kde už jsou nějaká data, narazíte na výše zmíněný problém. HDD nemají moc velké mezipaměti DRAM, takže takové přepisování musí probíhat po malých dávkách s pohybem hlaviček a výkon může jít opravdu jak se říká do kytek. Zvlášťě při ne sekvenčním, ale náhodném zápisu, kde může pár zapsaných bajtů vést k masivnímu internímu přepisování, vzniká tzv. write amplification.

SMR zaznam Seagate 03 Při SMR zápisu určitého rozsahu dat hlavička při psaní zasáhne i následující stopu (Zdroj: Seagate)
SMR zaznam Seagate 02 Při přepisu stopy je proto nutné kaskádově přepsat i následující (Zdroj: Seagate)

Z tohoto důvodu používají SMR HDD něco jako je zapisovací cache u SSD – zónu na disku, kam se vždy sekvenčně sypou zapisovaná data, která pak disk v klidu přehazuje na jejich reálné místo na plotně. Tato garbage collection na pozadí má samozřejmě omezenou rychlost a pokud zaplníte zapisovací buffer, může rychlost opravdu brutálně klesnout, když je HDD nuceno pořád přepínat mezi příjmem nových dat do mezipaměti a jejím vyprazdňováním.

Drive Managed SMR versus Host Managed SMR

Toto se jinak týká tzv. Drive Managed SMR, kdy se o správu dat a zápisu/přepisu stará samotný disk a jeho firmware. O něco lépe funguje „Host Managed SMR“, které se používá v serverech. Tam garbage collection a přepisování dat spravuje operační systém (jenž má k dispozici více RAM a server se také může spoléhat na UPS), který také dokáže zápis lépe zoptimalizovat i třeba na úrovni souborového systému.

Pozor, někteří výrobci přestávají použití SMR ploten uvádět

U externích HDD zdá se už dlouho můžete při koupi dostat SMR disk a také to nemusí být nikde napsané, nicméně u externích HDD typicky nebývá ve specifikacích vůbec nic a o přesném modelu disku uvnitř se nic nedozvíte, takže toto není novinka, byť je to nepříjemné.

Aktuálně se ale objevují i interní HDD, kde SMR je použito a není to ve specifikacích řečeno. U samostatných disků přitom výrobci uvádí celkem podrobné specifikace a byli jsme zvyklí jim věřit a očekávat, že takováto pro praktické použití velmi důležitá věc v nich bude uvedena. Proto je dost nepříjemné, že se nyní SMR zamlčuje a doufejme, že nevůle spotřebitelů toto změní.

bitcoin_skoleni

SMR zaznam Seagate Záznam SMR zvyšuje kapacitu při zachování výrobních nákladů, aniž by se přidaly plotny. Užitečný je zejména pro archivaci a skladování dat, naopak není vhodný, když se na HDD často zapisuje a přepisují se data (Zdroj: Seagate)

Nejlepší pro cold storage

Obecně lze říci, že SMR nemusí být velký problém tam, kdy se na prázdný disk postupně zapisují data a tam na něm už zůstanou, tedy například na archivaci a tzv. cold storage. Obecně, pokud jednou data zapisujete a pak je už jen mnohokrát opakovaně čtete, může SMR plotna sloužit bez větších problémů. Problém by možná mohl být, pokud se velký blok data zapisuje napřeskáčku po náhodných malých blocích, což dělají torrentové klienty.

SMR může způsobit, že disky vypadávají z pole RAID

Pokud máte takováto HDD v poli RAID, tak se pomalý náhodný zápis může stát obecně problémem. A rovněž nepředvídatelný výkon může potrápit, pokud se zpomalí tu jedno, tu druhé/třetí/čtvrté HDD. Kvůli nízké rychlosti totiž některé řadiče mohou disk z pole RAID vyřadit, protože si myslí, že je vadný, a vaše pole se ocitne offline. Toto je docela problém u disků WD Red pro použití v NAS, kde nyní firma WD začala SMR potichu používat, aniž by to přiznala.