NOTAT: Denne blog blev opdateret den 26. september 2018 af Earle Philhower III for at afspejle de seneste fremskridt inden for Western Digitals SSD-teknologi.
Dette er mit andet indlæg i blogserien “Speeds, Feeds and Needs”, der er designet til at forklare de mere tekniske elementer af virksomhedslagring på en måde, der er forståelig for alle. I mit første indlæg diskuterede jeg latensens rolle i storagearkitekturer. I dette indlæg vil jeg diskutere SSD-udholdenhed, og hvordan dette påvirker dit valg af SSD, samt give dig nogle tommelfingerregler til at træffe det rigtige valg.
Det er ikke nemt at vælge den rigtige SSD
Du har sikkert kigget på et SSD-datablad og været lidt overvældet. At vælge den rigtige SSD er trods alt en kompliceret proces. Du er nødt til at vælge den rigtige formfaktor, så drevet passer ind i din server. Du skal vælge mellem tre store, inkompatible grænseflader (SATA,SAS eller NVMe™). Du skal naturligvis også vælge den rigtige kapacitet, der kan være alt fra 100 gigabyte til flere terabyte. Det er alt, hvad du behøver at gøre, ikke sandt? Forkert.
Der er endnu et valg, du skal træffe, og det er et valg, som du måske ikke har skullet træffe før: SSD-udholdenhedsniveauet. SSD-udholdenhed er den samlede mængde data, som en SSD er garanteret at kunne skrive under garantien, ofte angivet i “TBW” eller “DWPD” (som vi vil diskutere lidt senere). Fysikken bag SSD-udholdenhed er kompliceret, men resultaterne er enkle: SSD’er slides op, når du skriver på dem. Hvis du vælger den forkerte SSD-udholdenhed, ender du med at udskifte drevet tidligt eller betale for meget for et drev med højere udholdenhed end nødvendigt.
Not All Flash Is Created Equal
SSD-udholdenhed er begrænset, fordi den NAND-flash, der driver SSD’er, har et begrænset antal “program/erase”-cyklusser (P/E), før den ikke længere kan bruges. Disse cyklusser opstår, når eksisterende data skal overskrives i en flashcelle. Efterhånden som industrien overgår fra Multi Level Cell (MLC) til Triple Level Cell (TLC) SSD’er, som lagrer 3 bits pr. celle, falder antallet af tilgængelige P/E-cyklusser. Dette fald i cyklusser er naturligvis en dårlig ting for udholdenheden.
Fejlekorrektion, overprovisionering og firmware
Trods alt er SSD-udholdenhed ikke kun fastsat ved hjælp af P/E-cyklusgrænser. Teknologi, som producenten har placeret omkring NAND’en, kan også ændre udholdenheden, på godt og ondt. Western Digital forbedrer SSD-udholdenhed med tre hovedteknologier: fejlkorrektion, overprovisioning og firmware.
Advancerede fejlkorrektionsteknikker som f.eks. HGST’s CellCare™ NAND-styringsteknologi eller SanDisk®’s Guardian Technology™ kan hjælpe med at hente data fra selv marginale flashceller og kan forlænge NAND-cellens brugbare levetid dramatisk.
Overprovisioning tilføjer ekstra flashkapacitet til SSD’en. Denne ekstra flashkapacitet er ikke synlig for brugeren, men den er synlig for drevet og bruges til at forbedre udholdenheden ved at muliggøre en mere effektiv datahåndtering.
Endelig kan det program, der kører i SSD’en, firmwaren, på intelligent vis administrere flash’en inde i SSD’en. Jo mere erfaring et firma har med slutbrugernes arbejdsbelastninger og selve flashen (SanDisk, et Western Digital-mærke, har over tredive års erfaring på dette område!), jo mere intelligens kan det indlejre i denne firmware for at hjælpe med at maksimere udholdenheden.
SSD-udholdenhedsligningen
SSD-udholdenhed beskrives almindeligvis i form af Drive Writes Per Day (DWPD) i en bestemt garantiperiode (typisk 3 eller 5 år). Med andre ord, hvis en SSD på 1 TB er specificeret til 1 DWPD, kan den tåle, at der skrives 1 TB data til den hver dag i garantiperioden. Alternativt, hvis en SSD på 1 TB er specificeret til 10 DWPD, kan den tåle 10 TB data, der skrives til den hver dag i garantiperioden.
En anden måleenhed, der anvendes til SSD-skriveudholdenhed, er Terabytes Written (TBW), som beskriver, hvor mange data der kan skrives til SSD’en i løbet af drevets levetid.
Omregningen mellem TBW og DWPD er enkel:
DWPD til TBW: TBW = Kapacitet(TB) * DWPD * 365 * Garanti(år)
TBW til DWPD: DWPD = TBW / (365 * Garanti(år) * Kapacitet(TB) )
“1 DWPD” er ikke lig med “1 DWPD”
En almindelig fælde, som brugere falder i, når de kigger på SSD-datablade, er at antage, at “1 DWPD” på et drev betyder det samme som “1 DWPD” på et andet drev. Når SSD’er har forskellige kapaciteter, kan den samlede mængde data, du kan skrive til dem, variere dramatisk. Tag f.eks. en SSD på 15 TB med “1 DWPD” og en SSD på 1 TB med “1 DWPD”, begge med en 5-årig garanti.
TBW(15TB) = 15TB * 1 DWPD * 365 dage/år * 5 år = 27.375 TBW
TBW(1TB) = 1TB * 1 DWPD * 365 dage/år * 5 år = 1.825 TBW
Hvad sker der, når du får forkert SSD-udholdenhed
Valg af en SSD med for høj udholdenhed kan ofte øge de oprindelige omkostninger. I nogle tilfælde kan en SSD med højere udholdenhed dog give en højere skriveydelse end en SSD med lavere udholdenhed. Så hvis din applikation kan drage fordel af ekstra SSD-ydelse, kan du overveje at kigge på en model med højere udholdenhed.
Valg af et for lavt udholdenhedskrav kan dog øge dine omkostninger og problemer i det lange løb. Efterhånden som den samlede mængde skrevne data går ud over den garanterede udholdenhed, øges muligheden for datatab og SSD-fejl. Omkostningerne og frustrationerne ved at udskifte fejlbehæftede drev eller håndtere tabte data kan hurtigt løbe op.
Geting it Right
Når du ved, hvor mange data din applikation vil skrive, er valget af udholdenhedsniveau ligetil: Bestem den gennemsnitlige mængde data, der skrives pr. dag, multiplicer den med antallet af dage, en server er i drift, og brug derefter dette tal som en nedre grænse for udholdenhed. Dette gennemsnitstal er en nedre grænse, da det er klogt at tilføje plads til uventet vækst.
The SSD Endurance Cheat Sheet
Når målinger af arbejdsbyrden ikke er let tilgængelige, er der nogle tommelfingerregler, der kan bruges i stedet. Den følgende tabel indeholder en liste over anvendelsestilfælde og et generaliseret interval af DWPD, tilpasset fra Top Considerations for Enterprise SSDs.
Da der kun er tale om tommelfingerregler (fra samtaler med vores kunder og produktteams), bør de blot bruges som vejledninger til at indlede samtaler med din leverandør, når du vælger en SSD til din egen applikation.
Anvendelsestilfælde | Beskrivelse | Af ca. DWPD | |
Boot-drev | Server boot-drev. Opdateres kun med jævne mellemrum. Logfiler og alle permanente data gemmes andetsteds. | 0.1 ~ 1.0 | |
Indholdsdistribution | Accelererende CDN-frontender. Medier migreres afhængigt af popularitet. | 0,5 ~ 2,0 | |
Overvågning | Streaming af skrivninger fra flere kameraer, kontinuerlig drift, overskrivning af drevet med jævne mellemrum. | Kameraer * BW | |
Virtualisering og Containere | Tier-0-lagring til containere og VM’er i et hyperkonvergeret system. SSD’er leverer al lokal lagring til klyngen. | 1.0 ~ 3.0 | |
OLTP Database | Dataintensive arbejdsbyrder. Hyppige opdateringer af databaselogfiler og datafiler, ofte tusindvis af gange i sekundet. | 3.0+ | |
High Performance Caching | Højtydende caching | Hurtigere lokale harddiske. Nogle af de højest mulige skrivearbejdsbelastninger. | 3.0++ |
Valg af den korrekte SSD til din applikation kræver valg af den passende udholdenhed, især med nutidens nyere flashteknologier. Hvis du tager dig tid til at undersøge databladene og dine arbejdsbelastninger for at vælge den rigtige udholdenhed for din SSD, vil du maksimere dens levetid og minimere dine købs- og driftsomkostninger.
Videre læsning
- Tech Brief: Matching SSD Endurance to Common Enterprise Applications
- White Paper: Top Considerations for Enterprise SSDs
- Blog: “Top Considerations for Enterprise SSDs
- Blog: TCO-implikationer af udholdenhed