ZNS SSD: egenskaper og bruk av dette lagringsformatet

ZNS SSD -er vil være en realitet på kort tid. De er ikke en annen type maskinvare, men de varierer i måten de får tilgang til dataene på NAND Flash -minnebrikker og bruker en mer optimalisert metode for bruk av NAND Flash -minne. Så de innebærer endringer i Flash -kontrolleren integrert i hver SSD.

SSD ZNS -standarden ble godkjent som standard i NVMe og er en del av versjon 2.0 av den samme. Det innebærer store endringer i måten du får tilgang til og organisere dataene som er lagret inne. Så langt har man fått tilgang til SSD -en som om den var en konvensjonell harddisk, noe som ikke er den beste metoden for denne typen minne.

ZNS SSD

Hva er en SSD?

En konvensjonell SSD på maskinvarenivå er et sett med ikke-flyktige RAM minner, spesielt NAND Flash -minne, som er koblet til en flash -kontroller, som fungerer på samme måte som en vanlig minnekontroller og er ansvarlig for å administrere tilgangsforespørsler til minnet du har koblet til.

Så langt har SSD -er brukt den samme måten å administrere dataene sine på som en konvensjonell harddisk, noe som ikke er veldig effektiv når det gjelder levetid og hvordan de bruker mulighetene. Årsaken er at NAND Flash -minnet til tross for at det ikke er flyktig som på en harddisk, ligner mer på RAM når det gjelder datatilgang. Hva er det som gjør det bedre å bruke en ny måte å få tilgang til denne typen minne som er mer avansert og derfor i tråd med dens evner.

ZNS er nettopp den formen, la oss nå se dens egenskaper.

Hva er en ZNS SSD?

ZNS -kontroller

Først og fremst, hva betyr ZNS? Vel, de er forkortelsen for Zoned NameSpaces. Som er en måte å organisere lagring på en disk, og derfor snakker vi om måten data lagres på SSD. På harddisker er det som er gjort å organisere informasjonen på sider, som er lagret i tabeller og sistnevnte i kataloger. Personsøkingssystemet brukes til å organisere dataene på en konvensjonell harddisk der hver side har en fast og spesifikk plass.

På den annen side, i en ZNS SSD, er det som gjøres å dele rommet i soner av forskjellige størrelser. Målet er at når prosessorden GPU eller et annet element trenger å skrive dataene i minnet i stedet for å peke til en virtuell minneadresse, hva det vil gjøre er å peke på det området. Som vil ha blitt definert tidligere når det gjelder størrelse. Hva er dens drift? Enkelt, hver gang du vil skrive til flash -minne, påkalles navneområdet som er tilordnet sonen. Flash -kontrolleren vil deretter skrive dataene i den sonen og ikke utenfor den. Det vil også gjøre det sekvensielt, for ikke å forlate døde mellomrom på disken og optimalisere bruken.

SSD ZNS

Det som oppnås med denne teknikken er at flash -minnekontrolleren ikke trenger å håndtere skriv til tilfeldige minneadresser og bruk av plass på SSD -en er optimalisert. CPUen forbeholder seg ganske enkelt en avgrenset del av lagringen som et område for lagring av dataene. Når du trenger tilgang til den sonen, vil PC -en fortelle flashminnekontrolleren at den ønsker å få tilgang til dataene i den spesifikke sonen ved å påkalle det spesifikke navneområdet.

ZNS SSD -er bruker det vi kaller logisk blokkadressering, hver og en av sonene består av logiske blokker eller LBA -er. Hver sone kan ha et hvilket som helst antall logiske blokker for å lagre data, men den må være minst 2 i størrelse, og når dataene til en logisk blokk eller LBA er skrevet, fylles informasjonen til den neste sekvensielt.

Den største fordelen er at den ikke skaper døde mellomrom på SSD -en ved ikke å reservere mer minne enn nødvendig hele tiden. Dette gjør skrivesyklusene mye kortere og lar oss også lettere forutsi latensen i tilgangen til dataene etter hvert som de organiseres sekvensielt i stedet for å bli distribuert av enheten.

Oppgi maskin på en ZNS SSD og kommandoer

Máquina Estado ZNS

For å støtte Zones NameSpaces må flash -minnekontrolleren kunne utføre en rekke instruksjoner for å håndtere informasjonen og tilgangen til SSD -en på riktig måte. Det er derfor en serie finite state -maskiner brukes til å kontrollere informasjonen på SSD -en. Endelige tilstandsmaskiner er mikrokablede koder i maskinvaren, i dette tilfellet blitskontrolleren, som, basert på inngangsinformasjon, indikerer hvordan den må fungere med det området av flashminne.

  • Tømme: data kan skrives når det ikke er noe. Hvis en lesing er gjort, vil den returnere dataene som er forhåndsdefinert av produsenten. Mesteparten av tiden søppel. En sone kan slettes helt gjennom reset -kommandoen, dette ødelegger organisasjonen av de forskjellige sonene.
  • Full: sonen er full av data og kan ikke lagre mer informasjon, men den kan brukes for skrivebeskyttet.
  • Åpen: gjør det mulig å lese og skrive dataene i gjeldende aktive LBA i sonen. Hver sone kan være implisitt åpen eller eksplisitt åpen. Den første refererer til det faktum at vi kan åpne den ved å påberope Open -kommandoen til flash -kontrolleren. Den eksplisitte modusen har i stedet den samme funksjonen, men fra selve applikasjonen.
  • Lukket: når en sone er lukket, godtar den bare lesekommandoer og tillater ikke registrering av nye data.
  • Fullfør: sletter ikke dataene, men markerer sonen som fullført. Uavhengig av om mer minne opprinnelig ble tildelt lagring i form av flere LBA -er, kan ikke flere data lagres i den sonen.

I begynnelsen av hver sone, er det blitskontrollen som gjør at det er plassert en etikett som minner deg om statusen til sonen i minnet.