SLC-cache: bruk og egenskaper i NVMe SSD-er

SLC cache

Et av begrepene som refererer til ytelsen til NVMe SSD-er som du har hørt mest de siste månedene, er SLC Cache. Det er derfor vi har utarbeidet denne artikkelen for deg slik at du kan forstå hvordan det fungerer og hvilke fordeler det gir for ytelsen til våre høyytelses solid-state-stasjoner.

Datalagring basert på NAND Flash-teknologi har resultert i et paradigmeskifte i ulike sektorer av databehandling, fra minnekort for håndholdte enheter til NVMe SSDs på PC-er. Det er nettopp i det siste tilfellet at en av de historiske flaskehalsene i historien har blitt eliminert ved å ikke ha begrensningene i både tilgangsforsinkelse og båndbredde til tradisjonelle harddisker, men det er ingen perfekt teknologi som yter 100 % og det er alltid elementer som tynger det ned, og tvinger ingeniører til å finne og implementere løsninger.

NAND Flash og minneceller

Type Celda NAND Flash SLC TLC MLC QLC

NAND Flash-minne er en type NVRAM eller ikke-flyktig RAM, betyr dette at driften er den samme som en konvensjonell RAM, men med den forskjellen at dataene ikke går tapt når systemet slutter å motta strøm. Avveiningen for å ha denne evnen er å ha et begrenset antall minneskrivinger i livssyklusen. Selv om fordelene i form av ytelse når det gjelder tilgang til lagring er verdt det, ikke forgjeves, er hvert datasystem bare så raskt som dets tregeste del, som vanligvis er lagringen, forlater det.

Hver bit av minne i et RAM-minne er lagret i det som kalles minneceller og i de første NAND Flash-minnene som brukes til SSD lagring ble det brukt en bit per celle, noe som gjorde lagring svært kostbart. Løsningen? At hver celle kan inneholde data på 2 bits ( MLC ), 3 biter ( TLC ) eller opptil 4 bits ( QLC ). Det ekstra problemet? Jo flere bits per celle, desto raskere brytes de ned og derfor kortere levetid. Ha dette i bakhodet fordi det er grunnlaget for å forstå SLC Cache.

TLC- og QLC-celler degraderes ikke bare i varighet

SSD NVMe

Når du har nådd dette punktet, vil mange av dere ha ideen i hodet at NAND Flash-minner av typen MLC, TLC og QLC har mer lagringskapasitet, men mindre varighet, men båndbredden til dem alle er den samme og derfor celletypen varierer ikke ytelsen. Vel, la oss fortelle deg at de dårlige nyhetene ikke slutter der, men at tilgangshastigheten også reduseres.

når prosessor gjør en forespørsel om tilgang til en minneadresse i NVMe SSD-en, mottas den av flashkontrolleren som vil søke etter dataene i minnet for å overføre dem gjennom PCI Express- eller SATA-grensesnittet, avhengig av hvilken du bruker. enheten, men flashkontrolleren får direkte tilgang til enhetens NVMe-brikker for å manipulere dataene og gjør det ikke gjennom grensesnittene vi har nevnt.

Måten å lagre dataene i NAND Flash-minnet er gjennom endringer i spenningen, et SLC-minne trenger bare 1 spenning, en MLC krever 3 , men en TLC går til 7 og hvis vi går til en QLC, går saken til 15 . Vel, jo høyere tall, desto lengre tid tar det å utføre en lese- og skriveoperasjon. Og når begynner dette å bli et problem? Vel, fra TLC-minnet og hvis du ser på antall NVMe SSD-enheter i butikkene, vil du se at de alle bruker disse cellene i det minste i dag.

Løsningen: SLC-cache

SLC Cache NVMe
Det første du må huske på er at SLC-cachen ikke er den samme som DRAM-cachen som også er i enkelte NVMe SSD-er, siden vi ikke snakker om det flyktige minnet som er mellom flashkontrolleren og PCI-grensesnittet. Uttrykk for det samme, siden SLC-cachen også er i DRAM-less-enhetene. Generelt, selv om det er unntak som vi vil se senere, innen hver NVMe-brikke er det to typer NAND Flash-minne:

  • Et TLC- eller QLC-minne for datalagring
  • Et mye mindre SLC-minne som fungerer som en cache.

Det første vi må forstå er at en cache ikke er noe mer enn et minne som er mye nærmere en prosessor og derfor med lavere ventetid som midlertidig lagrer data. Hvis vi gjennomgår det vi har fortalt deg, har vi følgende premisser:

  • SLC-celler har mye lengre levetid enn TLC-er og enda lengre enn QLC-er, så de tar mye lengre tid å bryte ned.
  • Tilgangshastigheten til SLC-celler er mye høyere.

Dermed er løsningen at dataene midlertidig dumpes inn i SLC-minnet, som fungerer som en buffer-cache slik at en datakopieringsmekanisme deretter modifiserer minneadressene i TLC.

SLC-bufferytelse

SLC MLC TLC voltaje cache
Vi kommer til den viktigste delen, SLC-cachen har en fast størrelse, og dette betyr at hvis vi bruker den til å sende eller motta små data, vil ytelsen opprettholdes, men hvis vi for eksempel ønsker å lage en sekvensiell kopi av data i form av en veldig stor datablokk så snart SLC er full vil ytelsen synke.

Det er derfor, selv om vi kan ha to NVMe SSD-er i hendene med samme lagring, tilgangsgrensesnitt og til og med celletyper, det vil si praktisk talt det samme, kan de ha en helt annen ytelse. Grunnen? Tydeligvis SLC-cachen som kan variere i størrelse.

SLC-cachen brukes ikke bare til å lagre data med sekvensiell tilgang, men også tilfeldig og det må tas hensyn til at programmer ved tilgang til informasjon gjør det med høy rekursjon og i en avgrenset informasjonsblokk.

SLC-buffertyper

Type Caché SLC
Det er to måter å administrere SLC-cachen på, som vil avhenge av algoritmen for dette som produsenten har implementert i flashkontrolleren. Snarere refererer det til hvor mye plass i den som kan tildeles for midlertidig lagring.

  • I den statiske cachen er lagringsplassen fast og kan ikke variere i størrelse.
  • I den dynamiske cachen er den tildelte størrelsen variabel.

Hvordan er dynamisk hurtigbuffer mulig hvis antall SLC-celler er fast? Fangsten er å bruke NVMe TLC-cellene som om de var SLC-er, det vil si å få dem til å lagre en bit i hver i stedet for 3. Så det er noen NVMe-brikker som omdisponerer deler av lagringen som cache.

Fordelen med den dynamiske cachen er at størrelsen på SLC-cachen ikke er oppbrukt, men det er en risiko for at flere og flere TLC-celler ikke lenger brukes til lagring, noe som påvirker den totale kapasiteten til denne til å lagre data. Av denne grunn benytter de fleste dynamiske SLC-buffersystemer seg av systemer som begrenser den maksimale størrelsen på dette gjennom fastvaren.