SLC-cache: udnyttelse og karakteristika i NVMe SSD'er

SLC cache

Et af de udtryk, der refererer til ydeevnen af ​​NVMe SSD'er, som du har hørt mest i de seneste måneder, er SLC Cache. Det er derfor, vi har forberedt denne artikel til dig, så du kan forstå, hvordan det virker, og hvilke fordele det bringer til ydeevnen af ​​vores højtydende solid-state-drev.

Datalagring baseret på NAND Flash-teknologi har resulteret i et paradigmeskifte inden for forskellige computersektorer, fra hukommelseskort til håndholdte enheder til NVMe SSD'er på pc'er. Det er netop i sidstnævnte tilfælde, at en af ​​de historiske flaskehalse i historien er blevet elimineret ved ikke at have begrænsningerne i både adgangsforsinkelse og båndbredde på traditionelle harddiske, dog er der ingen perfekt teknologi, der yder 100%, og der er altid elementer, der tynger det ned, og tvinger ingeniører til at skulle finde og implementere løsninger.

NAND Flash og hukommelsesceller

Type Celda NAND Flash SLC TLC MLC QLC

NAND Flash-hukommelse er en type NVRAM eller ikke-flygtig RAM, betyder det, at dens drift er den samme som en konventionel RAM, men med den forskel, at dens data ikke går tabt, når systemet holder op med at modtage strøm. Afvejningen for at have denne evne er at have et begrænset antal hukommelsesskrivninger i sin livscyklus. Selvom fordelene i form af ydeevne, når det kommer til adgang til lagerplads, er det værd, ikke forgæves, er hvert computersystem kun så hurtigt, som dets langsomste del, som normalt er lageret, forlader det.

Hver bit hukommelse i en RAM-hukommelse er lagret i det, der kaldes hukommelsesceller og i de første NAND Flash-hukommelser, der bruges til SSD lagring blev der brugt en bit pr. celle, hvilket gjorde lagring meget dyr. Løsningen? At hver celle kan indeholde data på 2 bit ( MLC ), 3 bit ( TLC ) eller op til 4 bit ( QLC ). Det ekstra problem? Jo flere bits pr. celle, jo hurtigere nedbrydes de og derfor kortere levetid. Husk dette, fordi det er grundlaget for at forstå SLC Cache.

TLC- og QLC-celler nedbrydes ikke kun i varighed

NVMe SSD

Når du har nået dette punkt, vil mange af jer have den idé i hovedet, at NAND Flash-hukommelser af typen MLC, TLC og QLC har mere lagerkapacitet, men mindre varighed, men båndbredden for dem alle er den samme og derfor celletypen varierer ikke ydelsen. Nå, lad os fortælle dig, at de dårlige nyheder ikke slutter der, men at adgangshastigheden også forringes.

Når CPU laver en anmodning om adgang til en hukommelsesadresse i NVMe SSD'en, modtages den af ​​flash-controlleren, der vil søge efter dataene i hukommelsen for at overføre dem gennem PCI Express- eller SATA-grænsefladen, afhængigt af hvilken du bruger. enheden, men flash-controlleren får direkte adgang til enhedens NVMe-chips for at manipulere dens data og gør det ikke gennem de grænseflader, som vi har nævnt.

Måden at gemme data i NAND Flash-hukommelsen er gennem ændringer i spændingen, en SLC-hukommelse behøver kun 1 spænding, en MLC kræver 3 , men en TLC går til 7 og hvis vi går til en QLC, går det til 15 . Jo højere tal, jo længere tid tager det at udføre en læse- og skriveoperation. Og hvornår begynder dette at være et problem? Nå, fra TLC-hukommelsen, og hvis du ser på antallet af NVMe SSD-enheder i butikkerne, vil du se, at de alle bruger disse celler i det mindste i dag.

Løsningen: SLC cache

SLC Cache NVMe
Den første ting at huske på er, at SLC-cachen ikke er den samme som DRAM-cachen, der også er i nogle NVMe SSD'er, da vi ikke taler om den flygtige hukommelse, der er mellem flash-controlleren og PCI-interfacet. Udtryk det samme, da SLC-cachen også er i DRAM-less-enhederne. Generelt, selvom der er undtagelser, som vi vil se senere, er der inden for hver NVMe-chip to typer NAND Flash-hukommelse:

  • En TLC- eller QLC-hukommelse til datalagring
  • En meget mindre SLC-hukommelse, der fungerer som en cache.

Det første, vi skal forstå, er, at en cache ikke er andet end en hukommelse, der er meget tættere på en processor og derfor med lavere latenstid, der midlertidigt gemmer data. Hvis vi gennemgår, hvad vi har fortalt dig, har vi følgende præmisser:

  • SLC-celler har en meget længere levetid end TLC'er og endda længere end QLC'er, så de tager meget længere tid at nedbryde.
  • Adgangshastigheden for SLC-celler er meget højere.

Løsningen er således, at dataene midlertidigt dumpes ind i SLC-hukommelsen, der fungerer som en buffer-cache, så en datakopieringsmekanisme derefter modificerer hukommelsesadresserne i TLC.

SLC cache ydeevne

SLC MLC TLC voltaje cache
Vi kommer til den vigtigste del, SLC-cachen har en fast størrelse, og det betyder, at hvis vi bruger den til at sende eller modtage små data, vil dens ydeevne blive bibeholdt, men hvis vi for eksempel ønsker at lave en sekventiel kopi af data i form af en meget stor datablok, så snart SLC'en er fuld, vil ydelsen falde.

Det er grunden til, at selvom vi kan have to NVMe SSD'er i vores hænder med den samme lagring, adgangsgrænseflade og endda celletyper, det vil sige praktisk talt den samme, kan de have en helt anden ydeevne. Grunden? Naturligvis SLC-cachen, som kan variere i størrelse.

SLC-cachen bruges ikke kun til at gemme data med sekventiel adgang, men også tilfældigt og der skal tages højde for, at programmer ved adgang til information gør det med høj rekursion og i en afgrænset informationsblok.

SLC-cachetyper

Tipos Caché SLC
Der er to måder at administrere SLC-cachen på, hvilket vil afhænge af algoritmen for dette, som producenten har implementeret i flash-controlleren. Det refererer snarere til, hvor meget plads indeni den kan afsættes til midlertidig opbevaring.

  • I den statiske cache er lagerpladsen fast og kan ikke variere i størrelse.
  • I den dynamiske cache er den tildelte størrelse variabel.

Hvordan er dynamisk cache mulig, hvis antallet af SLC-celler er fastsat? Fangsten er at bruge NVMe TLC-cellerne, som om de var SLC'er, det vil sige, at få dem til at gemme en bit i hver i stedet for 3. Så der er nogle NVMe-chips, der omallokerer en del af lageret som cache.

Fordelen ved den dynamiske cache er, at størrelsen af ​​SLC-cachen ikke er opbrugt, men der er en risiko for, at flere og flere TLC-celler ikke længere bruges til lagring, hvilket påvirker den samlede kapacitet af denne til at lagre data. Af denne grund gør de fleste dynamiske SLC-cache-systemer brug af systemer, der begrænser den maksimale størrelse af dette gennem firmwaren.