Vad är SLC Caching?

click fraud protection

Moderna SSD-enheter erbjuder ett mycket bättre GB per $-förhållande än de brukade för några år sedan. När SSD-enheter först kom ut på marknaden låg de vanligtvis i kapacitetsintervallet 64 GB eller 128 GB. De var också dyrare än hårddiskar med flera terabyte. I åratal antogs det om man ville ha massor lagringsutrymme och inte ville betala höga priser, behövde du en hårddisk och var tvungen att acceptera det lägre prestanda.

Men saker och ting är lite annorlunda nu. Ja, SSD: er är fortfarande dyrare per GB än hårddiskar, men priset är mycket närmare. En 2TB SSD är för närvarande prissättningen för SSD: er. En 2TB SSD är ungefär dubbelt så mycket som en 2TB HDD. Du kan nu få en ännu mer betydande prestandafördel för den extra kostnaden.

Det är fortfarande sant att om du vill ha många terabyte lagring. Det är till exempel billigare att skaffa hårddiskar om du vill ha en stor RAID-array. Men anta att du bara har att göra med vanliga hemanvändares nivåer av datorlagring. I så fall är en en- eller två-terabyte SSD mer än tillräckligt och kommer inte att bryta banken.

Hur kom priset ner?

Så vad förändrades? Vad fick priset ner till rimliga nivåer? För det första har tekniken helt enkelt mognat. Det blir billigare att göra dessa saker med tiden. Vissa tekniska genombrott och innovationer har dock varit en verklig gamechanger. 3D VNAND tillät betydande ökningar av lagringstätheten genom att tillåta minnesceller att staplas ovanpå varandra i stället för att pressas närmare och närmare varandra på ett enda plan. Detta är inte olikt hur flervåningsparkeringar tillåter att fler bilar parkeras på samma område som en platt parkeringsplats.

Moderna SSD-enheter använder nu i allmänhet TLC-flashminne. TLC står för Triple-Level Cell, vilket betyder att varje minnescell kan lagra tre databitar. Detta tredubblar datalagringskapaciteten för samma antal minnesceller jämfört med Single-Layer Cell (SLC)-minnet i tidigare SSD: er.

Dessa tre förändringar förklarar majoriteten av prisförbättringen på SSD: er. Men det har också skett många andra utvecklingar. Saken är den att TLC kommer med några ganska stora varningar.

Vad är problemet med TLC?

Problemet med att placera flera bitar av data i en enda minnescell är att det är betydligt mer komplicerat att skriva data. Detta saktar ner processen. Detta är ett problem eftersom SSD-enheter ska vara snabba. De har drivit nya generationer av standarder till att fördubbla och fördubbla bandbredden för att möjliggöra snabbare lagring.

Även om du fortfarande kan läsa från TLC på enastående 16 GB på de senaste PCIe 5 SSD: erna, kan du definitivt inte skriva till dem så snabbt. Faktum är att TLC-skrivhastigheter i allmänhet är någonstans runt 2000 MB. Det är fortfarande mycket snabbare än en hårddisk men långsammare än PCIe 3 SSD: er.

Notera: TLC är inte den enda typen av flashminne som används. Det finns ett relativt litet antal Quad-Level Cell (QLC) SSD: er, och utvecklingen av Penta-Level Cell (PLC) SSD: er fortskrider för 4 respektive 5 bitar data per cell. Skrivhastigheten för QLC-minne är för närvarande runt 350 MB, vilket är långsammare än hårddiskar.

Ange SLC-cachen

SSD-tillverkare utvecklade SLC-cache för att komma runt dessa kraftigt reducerade skrivhastigheter. Detta är ett enkelt knep för att skriva data till supersnabbt SLC-flashminne. Data kopieras sedan till den långsammare TLC-blixten så snabbt som möjligt i bakgrunden. Detta möjliggör de annonserade, snabba skrivhastigheterna för SSD: n, så länge det finns SLC-cacheutrymme att skriva in i. Detta är inte ett problem i de flesta fall men kan vara det om du gör betydande skrivoperationer på en gång. Till exempel, att återställa eller skriva en säkerhetskopia innebär vanligtvis att skriva till en stor andel av en enhet.

SLC-cachen kommer vanligtvis i två distinkta delar: en statisk SLC-cache och en dynamisk pseudo-SLC-cache. Den statiska cachen är i allmänhet liten, mindre än 10 GB även på stora 2TB-enheter. Den statiska cachen är alltid tillgänglig, även när enheten är nästan full. Den dynamiska cachen varierar i storlek, som namnet antyder, baserat på det återstående utrymmet på enheten.

Större SSD-enheter har större pseudo-SLC-cacher och kan göra större skrivningar vid topphastigheter. Det är viktigt att notera att den dynamiska cachestorleken baseras på det återstående lediga utrymmet, inte den totala enhetens kapacitet. Den dynamiska cachestorleken minskas när enheten fylls på. Många SSD: er allokerar ungefär en tredjedel av sitt lediga utrymme för att användas som dynamisk SLC-cache. Det kan vara runt 600 GB på en 2TB-enhet.

SSD-styrenheten väljer att skriva inkommande data till SLC-cachen eftersom det är snabbt. Detta är viktigt eftersom data kan skickas till SSD snabbare än det kan skrivas till det mycket långsammare TLC-flashminnet. När SSD: n är inaktiv kopierar styrenheten sedan data över till TLC-minnet med dess lägre skrivhastigheter. Detta lagrar data på ett mer utrymmeseffektivt sätt och frigör SLC-cachen igen för att acceptera fler skrivoperationer vid höga hastigheter. Så länge det finns utrymme i SLC-cachen kan SSD: n arbeta med sina högsta annonserade hastigheter. När cachen är full måste enheten sakta ner, varför det är användbart att ha en stor SLC-cache.

Potentiell framtid

Inga SSD-enheter använder det för tillfället, men det finns ett potentiellt användningsfall för en MLC-cache också. MLC står för Multi-Level Cell, en dåligt namngiven metod för att lagra två databitar i en cell istället för en eller tre. Detta är långsammare än SLC men snabbare än TLC. Medan SLC-cacher erbjuder fantastiska hastigheter som MLC inte kunde matcha, skulle MLC erbjuda dubbelt så stor cachestorlek.

Teoretiskt sett skulle detta vara en utmärkt mellanväg som tillåter topp SLC-cachehastigheter tills SLC-cachen är förbrukad. Går sedan till en MLC-cache om mer data fortfarande behöver skrivas. Detta skulle fortfarande vara snabbare än att skriva direkt till TLC- eller QLC-minnet men skulle sannolikt involvera mer komplicerad logik.

Även om TLC-hastigheterna har varit relativt snabba, har detta inte varit nödvändigt. När QLC och PLC SSD: er blir vanligare kommer de att komma med ytterligare skrivhastighetsminskningar. Sekundär MLC-cachelagring kan vara ett sätt som tekniken utvecklas för att lindra detta.

Slutsats

SLC-cachelagring är en smart metod för att skriva cachning på SSD-enheter. Det möjliggör höga överföringshastigheter vid skrivningar till hundratals gigabyte på flashminne som nominellt inte kan skrivas till med den hastigheten. Data som skrivs till cachen spolas till TLC- eller QLC-flashminnet så snabbt som möjligt för att frigöra cachen för toppöverföringshastigheter.

Mängden SLC-cache varierar beroende på det återstående lediga utrymmet på enheten. Detta innebär att större och tommare enheter kan skriva mer data vid topphastigheter än mindre SSD-enheter eller SSD-enheter närmare kapacitet. Vad tror du? Låt oss veta i kommentarerna nedan.