Hem Företag Metoder för SMR Data Management

Metoder för SMR Data Management

by Adam armstrong

SMR använder ett mappningssystem för LBA som vill skrivas slumpmässigt för att bara skriva dem sekventiellt. I likhet med SSD:s Flash Translation Layer (FTL), använder SMR HDDs vad som ibland kallas SMR (eller Shingle) Translation Layer (STL), vilket är ett liknande koncept. Med SMR finns dock mycket mer att vinna på att göra värden medveten om den bakomliggande SMR-tekniken. Branschen befinner sig i slutskedet av standardiseringsprocessen för SMR med ZBC (Zoned Block Commands) som standard för SAS och ZAC (Zoned ATA Commands) som standard för SATA. Dessa standarder definierar en Zoned Block Device där LBA-utrymmet är uppdelat i oberoende Zoner. Inom varje zon ska skrivningar vara sekventiella. För att skriva över data är det nödvändigt att först återställa zonen, liknande ett raderingsblock i en SSD. Vad som händer när icke-sekventiella skrivningar skickas till en zon varierar beroende på typen av SMR-implementering.


SMR använder ett mappningssystem för LBA som vill skrivas slumpmässigt för att bara skriva dem sekventiellt. I likhet med SSD:s Flash Translation Layer (FTL), använder SMR HDDs vad som ibland kallas SMR (eller Shingle) Translation Layer (STL), vilket är ett liknande koncept. Med SMR finns dock mycket mer att vinna på att göra värden medveten om den bakomliggande SMR-tekniken. Branschen befinner sig i slutskedet av standardiseringsprocessen för SMR med ZBC (Zoned Block Commands) som standard för SAS och ZAC (Zoned ATA Commands) som standard för SATA. Dessa standarder definierar en Zoned Block Device där LBA-utrymmet är uppdelat i oberoende Zoner. Inom varje zon ska skrivningar vara sekventiella. För att skriva över data är det nödvändigt att först återställa zonen, liknande ett raderingsblock i en SSD. Vad som händer när icke-sekventiella skrivningar skickas till en zon varierar beroende på typen av SMR-implementering.

Det finns tre kategorier av SMR-enheter, eller mer exakt, tre typer av leverantörer av hanteringsenheter kan använda. Var och en har sin egen uppsättning fördelar och nackdelar.

Drive hanterad

Den första typen är känd som drive managed, även känd som transparent. Enkelt uttryckt hanterar SMR-enheten alla förfrågningar från värden, som en traditionell hårddisk idag. Drive managed har fördelen av att inte behöva en värd som är medveten om SMR. Drive managed SMRs är kompatibla med nästan allt vilket gör dem enklaste att distribuera. Zonindelningen för den underliggande SMR-hårddisken är helt dold för värden. Det här är den typ av SMR-hantering som vi förväntar oss att se allmänt tillgänglig i den första konsumentmarknadsutgåvan eftersom det inte finns några kommersiellt tillgängliga operativsystem eller filsystem som stöder SMR-enheter när detta skrivs. Men när fler tester görs och SMR-tekniken blir mer genomgripande, kommer vi att se allmänt tillgängliga operativsystem och mjukvarustackar som stöder SMR.

Nackdelen med drive managed är att prestandan är oförutsägbar eftersom enheten hanterar sina bakgrundsprocesser när den behöver, oavsett IO-förfrågningar. Dessutom, eftersom inkommande slumpmässiga skrivningar inte sammansmälts till sekventiella skrivningar på värdsidan, utsätts enheten för mer påtryckning, och därmed lägre prestanda i ihållande arbetsbelastningar, än det skulle vara om värden var medveten om SMR. Drive-hanterade SMR-enheter klarar av dessa brister genom att utnyttja en sorts "landningszon", där slumpmässiga skrivningar kan hanteras innan de skrivs till disken. Sätten att införliva detta utrymme på SMR-enheter kan dock variera mycket, vilket leder till avsevärt olika prestandaprofiler beroende på målmarknaden för varje enhet och tillverkare.

Host Managed

Nästa typ av hantering är känd som host managed. Med denna typ av hantering använder värden kommandon och zoninformation för att optimera beteendet hos SMR-enheten genom att hantera IO:er för att säkerställa att skrivningar alltid är sekventiella inom en zon. Om en värd skickar en icke-sekventiell skrivning inom en zon kommer enheten att avvisa den och returnera ett fel. Detta ger enheten mer förutsägbar prestanda och skulle vara mer sannolikt att ses initialt i företags- och hyperskalaapplikationer.

Nackdelen med värdhantering är att SMR-enheterna inte är kompatibla med värdsystem (HBA, enhetsdrivrutiner, filsystem, databaser, etc) som inte är SMR-medvetna. Det betyder att filsystemen måste anpassas för att stödja SMR-enheter. Detta sker, först i hyperskaliga utrymmet där de största aktörerna i världen har möjlighet att modifiera sina lagringsstackar för att ta hänsyn till SMR, och nu även i det vanliga utrymmet med öppen källkod. Xfs-underhållaren, Dave Chinner, publicerade ett dokument som beskriver SMR-optimeringarna för xfs under Linux Vault-konferensen i Boston i början av mars. I samma händelse presenterade Hannes Rienecke från Suse en Zone-cachemekanism som kan tillåta nuvarande filsystem att arbeta med värdhanterade SMR-enheter. Det är troligt att dessa investeringar tillsammans med en aptit på kapacitet kommer att uppmuntra andra att använda de nya lösningarna med öppen källkod och fortsätta modifieringar av sina system för att stödja SMR-enheter.

Host Aware

Den sista typen av hantering kallas värdmedveten. I ett nötskal, host aware är en kombination av de två typerna av hantering ovan. SMR-enheten hanteras själv men den implementerar också de nya ZBC/ZAC-standarderna och tillåter värden att använda den nya kommandouppsättningen för att optimera enhetens beteende. Om enheten i det här fallet tar emot en icke-sekventiell skrivning från värden kommer den att acceptera begäran men då kan prestandan från begäran vara oförutsägbar. Värdmedveten har fördelen av att vara bakåtkompatibel och ger värden viss kontroll. Värdmedveten kommer sannolikt att vara den föredragna modellen för de flesta klient- och traditionella företagssystem, och tar över alla drifthanterade driftsätt, medan värdstyrd börjar framstå som valet för moderna distribuerade lagringslösningar.

Vad är Shingled Magnetic Recording (SMR)?

Diskutera den här historien