Denne artikel indeholder oplysninger om, hvorfor SSD slides op.
Oversigt
Hvorfor slides Solid State-enheder op?
For at diskutere, hvorfor en flash-baseret SSD har en begrænset skrivelevetid, må vi se på 900 %, hvordan det varierer mellem flash-typer, og hvilke teknikker der bruges til at forbedre dens funktionalitet.
En flash-hukommelsesenhed læses og skrives på sider. En læsning er relativt ligetil, da en læsekommando med adressen udstedes, og de respektive data returneres. En skrivning kan kun ske på de sider, der er slettet. Derfor fremkalder værtskrivekommandoer flash-sletningscyklusser, inden de skrives til flashen. Denne skrive/slette-cyklus forårsager celleslitage, som resulterer i en begrænset skrivetid.
NAND-flashenheder kan enten være en celle på et enkelt niveau (SLC) eller en celle på flere niveauer (MLC). SLC gemmer kun én bit med information og kræver kun to spændingsniveauer for at repræsentere 0 eller 1. Dette er den enkleste implementering af NAND og giver højeste holdbarhed op omkring 100.000 cyklusser. Efterhånden som fremtidige generationer af flash flyttes til mindre geometrier, reduceres holdbarheden (vi ser allerede nogle, der har 50.000 cyklusser). MLC angiver normalt lagring af to informationsbits og kræver fire spændingsniveauer for at repræsentere 00, 01, 10 og 11. Celleslitagen mellem SLC og MLC ligner hinanden, men da flere spændingsniveauer skal registreres, reduceres udholdenhedsniveauerne væsentligt. MLC er normalt omkring 10.000, men nyere generationer er helt ned til 3.000-5.000 cyklusser.
En flash-SSD består af en mængde af flash-matrice for at kunne opnå den høje kapacitet. For at forbedre skrivelevetiden for SSD'er bruges der flere teknikker, som kan anvendes på begge NAND-typer. Skriveadgang på værten forekomme på enhver placering, der kan forårsage hotspots, hvilket resulterer i for tidligt slitage på disse placeringer. Der kan bruges en teknik kaldet slidudjævning (Wear Leveling) til at undgå hotspots. Slidudjævning giver en næsten lige fordeling af skriveadgange på tværs af den totale kapacitet for SSD'en. Skriveforstærkning er et mål for forholdet mellem antallet af flash-skrivninger i forhold til værtsskrivningen. Hvis der eksempelvis genereres 2 flash-skrivninger pr. værtsskrivning, er skriveforstærkningen også 2. For at reducere skriveforstærkningen kan en teknik kaldet overprovisioning forbedre spildopsamlingseffektiviteten og dermed reducere skrivningen. Til sidst bruger en teknik, der typisk anvendes til MLC, lavere spændingsniveauer under skrivecyklussen for at lette celleslitage og derved forbedre skrivetiden.
Selvom det vil være vanskeligt at bestemme, nøjagtigt hvor længe en SSD kan holde, findes der retningslinjer til at vurdere. SSD'er bruger en metrikværdi udviklet af JEDEC kaldet TBW (skrevne terabytes). Mens den faktiske skrivning påvirkes af arbejdsprofilen (f.eks. tilfældig eller sekventiel, blokstørrelse eller skriveaktivitet), giver TBW et skøn, men din faktiske kørsel vil variere. For at bestemme den forventede levetid skal du tage TBW'en og dividere med den forventede gennemsnitlige BW (skrevne bytes)for skrivningen til drevet. Bortset fra meget krævende applikationer bør SSD'er typisk forventes at kunne holde mere end tre år.
Slidudjævning
NAND flashhukommelse er udsat for slid på grund af gentagne programmerings- og sletningscyklusser, der ofte udføres i datalagringsapplikationer og -systemer, der anvender FTL (Flash Translation Layer). Konstant programmering og sletning til den samme hukommelsesplacering slider denne del af hukommelsen op og gør den ubrugelig. Som følge heraf skulle NAND flash have begrænset levetid. For at forhindre scenarier som disse anvendes der særlige algoritmer i SSD, som kaldes Wear Leveling. Som ordet antyder, leverer Wear Leveling en metode til at fordele programmerings- og sletningscyklusser jævnt over alle hukommelsesblokke i SSD'en. Dette forhindrer kontinuerlige programmerings- og sletningscyklusser til den samme hukommelsesblok, hvilket forlænger NAND-flashhukommelsens levetid.
Der er to typer slidudjævning, dynamisk og statisk. Den dynamiske slid-algoritme garanterer, at dataprogrammerings- og sletningscyklusser bliver jævnt fordelt i alle blokkene i NAND flash. Algoritmen er dynamisk, fordi den udføres, hver gang data i drevets skrivebuffer tømmes og skrives til flashhukommelsen. Dynamisk slidudjævning kan ikke alene sikre, at alle blokke slidudjævnes med samme hastighed. Der er også det særlige tilfælde, når data skrives og lagres i flash i længere tid eller på ubestemt tid. Mens andre blokke aktivt ombyttes, slettes og grupperes, forbliver disse blokke inaktive i slidudjævningsprocessen. For at sikre, at alle blokke slidudjævnes med samme hastighed, implementeres en ekstra slidudjævningsalgoritme kaldet statisk slidudjævning. Statisk slid udjævning er rettet mod de blokke, der er inaktive, og har lagrede data.
Dell SSD-drev har både statiske og dynamiske slid udjævningsalgoritmer for at sikre, at NAND-blokkene slides jævnt, så SSD'ens levetid forlænges.
Overprovisioning
Overprovisioning forbedrer:
- Skriveydeevne og IOPS
- Pålidelighed