ZNS SSD: egenskaber og brug af dette lagringsformat

ZNS SSD'er bliver en realitet på ingen tid. De er ikke en anden type hardware, men de varierer i den måde, de får adgang til dataene på NAND Flash -hukommelseschips og anvender en mere optimeret metode til brug af NAND Flash -hukommelse. Så de involverer ændringer i Flash Controller integreret i hver SSD.

SSD ZNS -standarden blev godkendt som standard inden for NVMe og er en del af version 2.0 af den samme. Det indebærer store ændringer i den måde, du får adgang til og organiserer de data, der er gemt inde. Hidtil har man fået adgang til SSD'en, som om det var en konventionel harddisk, hvilket ikke er den bedste metode til denne type hukommelse.

ZNS SSD

Hvad er en SSD?

En konventionel SSD på hardwareniveau er et sæt ikke-flygtige RAM hukommelser, især NAND Flash -hukommelse, der er forbundet til en flash -controller, der fungerer på samme måde som en normal hukommelsescontroller og er ansvarlig for at administrere adgangsanmodninger til den hukommelse, du har tilsluttet.

Hidtil har SSD'er brugt den samme måde at administrere deres data som en konventionel harddisk, hvilket ikke er særlig effektivt med hensyn til deres levetid og hvordan de skal bruge deres muligheder. Årsagen er, at NAND Flash -hukommelsen på trods af ikke at være flygtig som på en harddisk mere ligner RAM med hensyn til dataadgang. Hvad gør det bedre at anvende en ny måde at få adgang til denne type hukommelse, der er mere avanceret og derfor er i overensstemmelse med dens muligheder.

ZNS er netop den form, lad os nu se dens egenskaber.

Hvad er en ZNS SSD?

ZNS -controller

Først og fremmest, hvad betyder ZNS? Nå, de er forkortelsen for Zoned NameSpaces. Hvilken er en måde at organisere lagring på en disk, og derfor taler vi om måden, hvorpå data gemmes på SSD'en. På harddiske er det, der gøres, at organisere oplysningerne på sider, som er gemt i tabeller og sidstnævnte i mapper. Personsøgningssystemet bruges til at organisere dataene på en konventionel harddisk, hvor hver side har en fast og specifik plads.

På den anden side i en ZNS SSD, hvad der gøres, er at opdele rummet i zoner af forskellige størrelser. Målet er, at når CPU, GPU eller et andet element skal skrive dataene i hukommelsen i stedet for at pege på en virtuel hukommelsesadresse, hvad det vil gøre er at pege på det område. Som vil have været defineret tidligere med hensyn til størrelse. Hvad er dens funktion? Enkelt, hver gang du vil skrive til flash -hukommelse, aktiveres navneområdet, der er tildelt denne zone. Flashcontrolleren skriver derefter dataene i den zone og ikke uden for den. Det vil også gøre det sekventielt, for ikke at efterlade døde rum på disken og optimere dens brug.

SSD ZNS

Hvad der opnås med denne teknik er, at flashhukommelsescontrolleren ikke behøver at håndtere skrivninger til tilfældige hukommelsesadresser, og brugen af ​​plads på SSD'en er optimeret. CPU'en forbeholder sig simpelthen en afgrænset del af lageret som et område til lagring af dataene. Når du har brug for at få adgang til den zone, vil pc'en fortælle flashhukommelsescontrolleren, at den ønsker at få adgang til dataene i den pågældende zone ved at påberåbe det specifikke navneområde.

ZNS SSD'er bruger det, vi kalder logisk blokadressering, hver og en af ​​zonerne består af logiske blokke eller LBA'er. Hver zone kan have et hvilket som helst antal logiske blokke til at gemme data, men den skal være mindst 2 i størrelse, og når dataene i en logisk blok eller LBA er blevet skrevet, udfyldes oplysningerne om den næste i rækkefølge.

Den største fordel er, at den ikke skaber døde rum på SSD'en ved ikke altid at reservere mere hukommelse end nødvendigt. Dette gør skrivecyklusserne meget kortere og giver os også mulighed for lettere at forudsige latensen i adgangen til dataene, da de er organiseret sekventielt i stedet for at blive distribueret af enheden.

Angiv maskine på en ZNS SSD og kommandoer

Máquina Estado ZNS

For at understøtte Zones NameSpaces skal flashhukommelsescontrolleren være i stand til at udføre en række instruktioner for at håndtere oplysningerne og adgangen til SSD'en korrekt. Derfor bruges en række endelige statsmaskiner til at styre oplysningerne på SSD'en. Endelige tilstandsmaskiner er mikro-kablet kode i hardwaren, i dette tilfælde flash-controlleren, som baseret på inputinformation angiver, hvordan den skal fungere med det område af flash-hukommelse.

  • Tom: data kan skrives, når der ikke er noget, hvis der er foretaget en aflæsning, returnerer det de data, der er foruddefineret af producenten. Det meste af tiden skrald. En zone kan slettes fuldstændigt gennem nulstillingskommandoen, dette ødelægger organiseringen af ​​de forskellige zoner.
  • Fuld: zonen er fuld af data og kan ikke gemme flere oplysninger, men den kan bruges til skrivebeskyttet.
  • Åben: gør det muligt at læse og skrive dataene i den aktuelle aktive LBA i zonen. Hver zone kan være implicit åben eller eksplicit åben. Den første henviser til det faktum, at vi kan åbne den ved at påberåbe kommandoen Open for flash -controlleren. Den eksplicitte tilstand har i stedet den samme funktion, men fra selve applikationen.
  • Lukket: når en zone lukkes, accepterer den kun læste kommandoer og tillader ikke indtastning af nye data.
  • Finish: sletter ikke dataene, men markerer zonen som fuldført. Uanset om der oprindeligt blev tildelt mere hukommelse til lagring i form af flere LBA'er, kan der ikke gemmes flere data i den zone.

I starten af ​​hver zone, hvad flash -controlleren gør, er at placere en etiket, der minder dig om status for denne zone i hukommelsen.