Flash SSD klaar voor de Data Center? Hoewel de NAND flash technologie al meer dan 30 jaar geleden door Toshiba is ontwikkeld, maakt het nog steeds een ontwikkeling door. Dat gebeurt nu in een tempo dat nog niet eerder in de wereld van de halfgeleidertechnologie is waargenomen. NAND flash leveranciers proberen koortsachtig tegemoet te komen aan de vraag naar lagere kosten per bit. Dit biedt de mogelijkheid om flash grootschalig in de volgende generatie consumentendevices te kunnen toepassen. Flash, het primaire opslagmedium voor Solid State Drives (SSDs), biedt vanwege de dalende bit kosten ook nieuwe mogelijkheden voor toepassing in SSDs. De hogere snelheid van non-volatile memory, in vergelijking met de traagheid van de mechanische hard drive (HDD) alternatieven, en dalende kosten maakt dat non-volatile memory in toenemende mate een aantrekkelijk storage medium voor toepassing binnen de Data Center wordt (zie figuur 1).
Figuur 1: Non-Volatile Memory (NVM) opvulling prijs/prestatie
Betrouwbaarheid NAND flash De NAND industrie is zich steeds meer bewust van de uitdagingen waarvoor de SSD leveranciers zich zien gesteld bij de integratie van NAND componenten in SSD. De componenten krijgen wel steeds een grotere opslagcapaciteit, worden sneller en goedkoper, maar ten aanzien van de betrouwbaarheid niet beter! In de storage industrie wordt NAND flash het meest toegepast in SSDs. Vanwege de hoge kosten wordt DRAM in veel mindere mate toegepast. Sommige experts zijn van mening dat SSDs op termijn de HDDs gaan vervangen. De critici van SSDs wijzen op de onbetrouwbaarheid van SSDs zijn van mening dat SSDs vooralsnog ongeschikt zijn voor grootschalige toepassing in de data center. De realiteit is dat NAND flash, als puur storage medium gezien, meer betrouwbaar is dan het op HDDs toegepaste magnetische medium! Ook de SSD controller technologie bevindt zich nog in een ontwikkelingsstadium. Want, de SSD fabrikanten worden met dezelfde zaken geconfronteerd als destijds met de HDD-technologie. Vaak wordt vergeten dat ook de HDD-fabrikanten er jaren over hebben gedaan om HDDs betrouwbaar te maken. De vraag is of SDDs, ten aanzien van betrouwbaarheid, op termijn op gelijke hoogte met HDDs kunnen komen. In dit artikel trachten we daarop een antwoord te
geven. We geven een overzicht van de bestaande NAND technologieën en we kijken naar de toekomst van SSD als primair storage medium in de data center. Verschil DRAM en NAND Flash SSDs kunnen met DRAM of Flash worden uitgerust, of een combinatie van beide. De op DRAM gebaseerde SSDs maken van dezelfde type geheugen gebruik als interne server RAM. Zoals bekend, DRAM bewaart de data zolang er spanning aanwezig is. In tegenstelling tot Flash, waarbij na afschakeling van de spanning de data aanwezig blijft. DRAM gebaseerde SSDs bieden de hoogste IOPs (vaak een miljoen of meer), die van NAND SSDs ligt doorgaans in de honderden tot duizend. Net zoals DRAM-gebaseerde systemen, kunnen NAND Flash SSDs als extern cache aan de ‘voorkant’ van storage systemen (DAS, NAS en SAN) of als cache binnen een groter storage system worden toegepast. Naast de hogere prijs en snelheid is DRAM ook meer betrouwbaar dan Flash. NAND Flash technologieën NAND Flash is een soort EEPROM waarbij data in geheugencellen wordt opgeslagen. Data worden eerst gewist en vervolgens ´geherprogrammeerd´. Flash geheugen is alleen per block of page te adresseren, doorgaans per 4KB of 8KB. Het is beschikbaar in een enkele cel (SLC) en een uitvoering in meerdere variëteiten celniveaus (MLC 2, 3 of 4-bit per cel). SLC flash slaat één bit per cel op, het presteert beter, en heeft een langere levensduur (endurance) dan MLC. De leessnelheid van MLC en SLC is ongeveer gelijk, maar de schrijfsnelheden verschillen nogal. Verder bedraagt de levensduur van SLC doorgaans 100,000 write cycles, die van MLC slechts een tiende of nog minder (zie figuur 2). Fabrikanten van SDD controller en NAND passen verschillende technieken toe om de levensduur van een Flash-gebaseerde SSD voor toepassing op drive of system niveau te verlengen. Technieken als wear-leveling, error detection en correction, en block management algoritmen, dragen alle bij om op systeemniveau de ‘endurance’ bij een gegeven ‘data retention’ niveau te verhogen (zie hierna).
Figuur 2: Endurance SLC vs. MLC (bron TeleCommunication Systems)
Flash wear-out en Over-Provisioning
NAND flash cellen ´slijten´(wear-out) door de wijze waarop writes worden uitgevoerd. Technisch gezien betekent wear-out dat de cellen hun eigenschap verliezen om de daarin opgeslagen data voor lange tijd bruikbaar te kunnen vasthouden. Voorwaarde voor het schrijven naar een flash page is dat de page leeg moet zijn. Zo niet, dan moet deze eerst worden gelezen, daarna gecombineerd met de bestaande data en tenslotte het totaal naar de page weggeschreven. Dit alles vindt op het device in de achtergrond plaats en is voor de gebruiker niet waarneembaar. Gezien de beperkte levensduur van de cellen hebben de leveranciers een paar trucjes bedacht om de wear-out zo goed mogelijk over alle cellen te verdelen (wear-leveling). Wear-leveling efficiency is een relatief nieuwe methode die door veel SSD leveranciers wordt toegepast. Daarbij gaat men uit van de maximale afwijking tussen de meest- en minst slechte data block, gemeten in een bepaal tijdsbestek; dit wordt meestal in een percentage uitgedrukt. De meeste NAND flash-gebaseerde SSDs bieden meer opslagcapaciteit dan de gebruiker in werkelijkheid ziet (´over-provisioning´). De extra verborgen capaciteit biedt de flash controller de mogelijkheid om het aantal writes over een grotere storage space te spreiden, waarmee de levensduur wordt verlengd. De niet-getoonde extra flash capaciteit varieert per product en kan enkele tientallen procenten bedragen. Bij sommige SSD producten kan de gebruiker zelf de hoeveelheid over-provisioning capaciteit instellen. Error Correction Het Error Correction (ECC) concept is betrekkelijk eenvoudig. Daarbij geldt dat hoe meer bits er per byte beschikbaar zijn, des te groter de kans op correctie. Er zijn echter wel praktische beperkingen bij het aantal te corrigeren bits. Ten eerste, de afweging tussen de kosten van de controller, complexiteit en de algehele SSD prestaties. Ten tweede, het aantal te corrigeren bits per sector wordt beperkt door de hoeveelheid bytes die de NAND component kan reserveren voor de ECC data. De kleinere NAND componenten ondersteunen 4-bits correctie, de nieuwste componenten kunnen 16 bits reserveren voor elke 512-byte data sector. Endurance en Retention Herlaadbare batterijen verliezen na een zeker aantal opladingen het vermogen tot opladen. Dit is vergelijkbaar met de op non-volatile memory gebaseerde SSDs. Die verliezen naar tienduizenden schrijf/wis cycli hun vermogen om data te bewaren en wordt door de flash leveranciers aangeduid als ‘endurance´. Wanneer een data block zijn vermogen verliest om data vast te houden of wanneer er data fouten optreden (die niet meer door ECC kunnen worden gecorrigeerd) dan wordt het block verruild met een uit de reserve block pool. Wanneer ook de reserve blocken op zijn en er vervolgens een fout optreed dan bereikt de SSD een kritische fase en moet de SSD vervangen worden. Meerdere schrijf/wis bewerkingen breken de oxidelaag in NAND flash cellen af en maken het moeilijker om de elektronen ‘op zijn plaats te houden´. Er bestaat daarom een omgekeerde relatie tussen endurance en data retention: meer schrijven en wissen betekent een kortere data retention. Een hogere endurance kan worden bereikt als de data retention laag is. Omgekeerd, een lagere endurance waarde kan een hogere data retention waarde als gevolg hebben. De exacte aard van deze relatie varieert tussen componenten en is niet lineair. De
trend is dat NAND fabrikanten doorgaan met te kiezen voor een gunstige endurance en data retention specificaties en die op te offeren voor lagere kosten per bit. Endurance en data retention moeten daarom altijd samen worden gespecificeerd. De JEDEC JESD22-A117A en JESD47 standaard specificeert op de volgende manier de relatie tussen endurance en data: 100% endurance -> 1-jaar data retention en 10% endurance -> 10-jaar data retention. Flash fabrikanten moeten dus continue kiezen voor de technische afweging tussen kosten per bit en endurance. De meest bekende afweging is MLC versus SLC, waar een 2:1 of 3:1 kostenvoordeel wordt bereikt door een 10:1 reductie in endurance (zie figuur 3). Een veel gehoorde vraag van gebruikers is: welke SSD presteert het best? Steevast luidt dan het antwoord: dat hangt er van af. Want, de prestaties van NAND-gebaseerde SSDS zijn afhankelijk van verschillende factoren. De factoren die van invloed op de prestaties zijn, bevinden zich op device- en systeem niveau. Bovendien speelt de architectuur nog een belangrijke rol.
Figuur 3: Vergelijking SLC vs. MLC eigenschappen (bron TeleCommunication Systems)
NAND Flash Performance Alle NAND-gebaseerde SSDs kunnen zich in tenminste drie afzonderlijke toestanden bevinden: Fresh-Out-of-Box (FOB), Transition en Steady State. Een direct van de fabrikant afkomstige nieuwe en ongebruikte SSD heeft slechts enkele of geen programmeer/wis cyclus ondergaan. In dit stadium laat de SSD de beste prestaties zien omdat alle flash pages nog leeg zijn. In de Transition State veranderen de prestaties bij de overgang naar een Steady State. De prestaties in de Steady State kenmerken zich door een kleine variatie in prestaties, gemeten over een langere tijdsperiode. De SNIA organisatie heeft een prestatietest gedefinieerd op basis waarvan leveranciers hun SSDs kunnen testen en vergelijken. De SSD Performance Test Specification (PTS) is in twee versies gepubliceerd: Enterprise en Client. De prestatietest is gebaseerd op een synthetische
device level test en beschrijft een standaard pre-conditionering methodiek (om de effecten van de write historie te normaliseren en de SSD in een steady state te brengen). Verder wordt een testbelasting gespecificeerd waarin een specifieke toegang en data patronen en footprint beperkingen staat beschreven. Ook aan het testplatform worden bepaalde eisen gesteld om er zeker van te zijn dat de hardware/software omgeving voldoende I/Os genereert. Na afloop van de test wordt een gestandaardiseerd rapport in PTS format genereerd dat voor gebruikers kan dienen als referentie. Unscheduled downtime Veel SSD leveranciers hebben ‘moeite’ om de endurance van hun SSDs te classificeren in specificaties die voor OEMs en eindgebruikers enige betekenis hebben. De hoeveelheid schrijf/wis bewerkingen kunnen wel bruikbaar zijn als ‘afvink-item’ op een checklist specificatie maar het geeft nog geen antwoord op de echte vraag: hoe lang houdt de SSD het in mijn applicatie uit? Gebruikers willen een antwoord op de vraag wat de levensduur is van een SSD in jaren, maanden en dagen, in plaats van aantal ´cycles´. Op basis van de verwachte levensduur wil men zo goed mogelijk kunnen inschatten wat het risico is op de zogenoemde ´unscheduled downtime´. Daartoe heeft de firma SanDisk een ‘levensduurformule’ ontwikkeld. Bepaling levensduur aan de hand van formule De firma SanDisk heeft daartoe het Longterm Data Endurance (LDE) concept ontwikkeld. LDE is gebaseerd op het Business Applications Performance Corporation (BAPCo) gebruiksmodel. Het definieert het totaal op een SSD toegestane aantal data writes op basis van een jaar data retention. De specificatie geeft het aantal geschreven TeraBytes weer en is direct gerelateerd aan de capaciteit van de drive. Hoewel de specificatie bruikbaar is voor netbook en vergelijkbare applicaties, houdt het geen rekening met random data en het 24/7 gebruik van SSDs in enterprise systemen. De firma Western Digital (WD) heeft eigenlijk een betere methode door naar een 24/7 gebruiksmodel te kijken op basis van één jaarlijkse data retention. Het heeft daartoe ook een formule ontwikkeld die de bruikbare levensduur Lifetime (Yr) aangeeft. Het is de eerste endurance parameter voor SSDs en is onafhankelijk van de opslagcapaciteit en gebruiksmodel. Maar de op theorie gebaseerde formule geeft nog geen zekerheid over het moment van uitval. Als gebruiker kan men afwachten tot het moment daar is, maar beter is het voorkomen van uitval op basis van ´meten is weten´. SMART en SiSMART De firma WD heeft de (patent-hangende) SiSMART technologie ontwikkeld. Het is een ‘early warning´ system dat de status weergeeft van het percentage diskgebruik in relatie tot de endurance specificatie. De monitoring technologie kan een host systeem waarschuwen voor fouten die in de toekomst gaan leiden tot een definitieve uitval van een SSD. SisMART bewaakt de schrijf/lees cycli van elk data block en het gebruik van de spare blocks van SiliconDrive producten. Een ‘versleten´ block wordt vervangen door een spare. Uiteindelijk stopt de SSD met werken wanneer de spare blocken op zijn (zie figuur 4). Ongeveer op dat zelfde moment
zijn alle blocken versleten. Dit leidt tot uitval van de SSD en de beheerder wordt onverwacht met dat feit geconfronteerd. Met SiSMARt wordt de beheerder op tijd gewaarschuwd zodat hij op tijd actie kan ondernemen (proactief beheer). Systeemontwerpers hebben ook behoefte aan feedback die op elk moment informatie verschaft over de status van de SSDs. Op basis van de schrijf/lees transacties is SisMART in staat om de verwachte resterende percentage levensduur van de SSD te bepalen. Als dat percentage beneden een bepaald (door de beheerder in te stellen) niveau komt, dan kan de SSD tijdens een gepland onderhoud worden vervangen. Een ander voordeel van de feedback methode is de mogelijkheid om het storage gebruik in kaart te brengen. Want, het is voor een systeemontwerper lastig om tijdens bedrijf volledig alle datatransacties, die tussen de host en een device plaatsvinden, in kaart te brengen.
Figuur 4: In de tijd overblijvende percentage spares (bron Western Digital)
Deze binnen alle SiliconDrive WD-producten geïntegreerde technologie verzamelt real-world, applicatie-specifieke, gebruiksinformatie. De SiliconDrive software applicatie wordt voor een uur, dag, week, of elk andere zinvolle tijdsduur gedraaid. Vervolgens rapporteert SiSMART het gebruikspercentage over deze tijdsduur. Na beëindiging van de test wordt de SiliconDrive op elk willekeurige Windows of Linux computer geïnstalleerd. Daarna kan de WD SiliconDrive utility gedraaid om het gebruik op NAND media niveau te meten. The Bleak Future of NAND Flash Memory De storage markt werd door een begin dit jaar uitgebracht rapport opgeschrikt: ‘The Bleak Future of NAND Flash Memory’ van de University of California, SAN Diego. Een onderzoeksgroep testte 45 verschillende NAND flash chips met een diameter van 72 tot de huidige 25nm technologie. Uit de test bleek dat de schrijfsnelheid in een flash block en latency bij een toenemende densiteit daalde; respectievelijk 2.1ms, en 100µs voor TLC (Triple Level Cells). Op zich niets nieuws want, zoals hiervoor beschreven, SSD fabrikanten maken van allerlei technieken gebruik om deze nadelen te compenseren. Verder besteedde het rapport geen aandacht aan de geavanceerde flash controllers die zijn uitgerust met ECC en overprovisioning technieken. De gemeten resultaten werden op basis van een proto SSD geëxtrapoleerd tot het jaar 2024 (zie figuur 5); in het algemeen zijn extrapolaties in de ITtechnologie over een tijdsperiode van 12 jaar weinig zinvol. De daaruit getrokken conclusie geeft dan ook geen reel beeld, want men gaat er van uit dat er bij Flash technieken tot 2024 geen vooruitgang meer is. Maar ook al gaan we van deze prognose uit dan biedt SSD in 2024 nog altijd 32,000 IOPs, in vergelijking met de 200 IOPs van HDDs (de prestaties van de HDDs
zullen zeker tot 2024 niet veel meer stijgen!) en biedt flash nog een latency in het µs bereik, dat nog altijd honderden malen kleiner is dan die van de huidig snelste HDD.
Figuur 5: SSD parameters op basis van MLC-2 genormaliseerde parameters (bron University of California)
Vooruitblik toepassing Flash SSDs in Data Center De prijzen van flash memory dalen snel, de laatste jaren met 50 tot 60%. De SSD technologie verbetert voortdurend, dus schrijfsnelheden nemen waarschijnlijk toe en de wear-out zal steeds minder een probleem worden. Doordat de prijzen dalen en de capaciteit en snelheden van SSDs toenemen, is het aannemelijk dat een toenemend aantal verschillende type HDDs zal worden vervangen door SSDs. Maar een compleet afscheid van HDDs is voorlopig onwaarschijnlijk. Welke type HDDs zullen dan als eerst worden vervangen? Sommige analisten verwachten dat high-performance FC-drives als eerste aan de beurt komen omdat de prijs van flash geheugen sneller daalt dan die van dit type HDD; nu kosten SSDs nog vijftien maal meer, maar dat zal binnen drie jaar slechts enkele malen meer zijn. Maar het gebrek aan standaardmetingen om de verwachte levensduur van SSD te bepalen, vormt nog wel een belangrijke drempel voor de acceptatie van SSDs in the enterprise omgeving. Vaak is de prijs per gigabit niet relevant bij de afweging tussen SSDs en HDD. Maar ondernemingen zouden ook eens moeten kijken naar de prijs per I/O, de prijs per milliseconde toegangstijd per eenheid en het stroomverbruik. De problemen met slechte schrijfsnelheden en de beperkte levensduur van SSDs zijn vaak wat overtrokken. Aanvullende technieken als DRAM caching verbeteren de snelheid en wear-out problemen. Deze worden met wear leveling en over-provisioning geminimaliseerd. Niet te vergeten, conventionele hard drives worden in de data center doorgaans ook om de twee of drie jaar vervangen. Een andere factor die de vervanging van HDDs kan vertragen is de enorme ‘installed base’ van FC-drives. De massaliteit van een bepaalde aanwezige technologie moet niet worden onderschat: de acceptatie van SSDs kan wel eens veel langzamer voorlopen dan wat technisch en economisch gezien wenselijk is. Flash SSD kan ook als overbrugging worden gezien totdat de nieuwe resistance memory (ReRAM) beschikbaar komt. In tegenstelling tot NAND flash heeft ReRAM ongeveer dezelfde
prestatiekarakteristieken als DRAM. De eerste prototypes hebben een schrijfsnelheid van 10 nanoseconde en een miljoen keer write endurance, het tienvoudige van de huidige NAND flash. Maar ReRAM is niet de enige opslagtechnologie die de non-volatile natuur van flash combineert met de snelheid van DRAM. Zo werkt IBM aan de magnetoresistive RAM (MRAM) en racetrack memory. Wel kunnen dan ook concluderen dat de mechanische HDD-drives hun langste tijd wel hebben gehad, maar hoe lang hangt of van technische ontwikkelingen van de geheugentechnologie en de acceptatie in de markt van non-volatile memory technologie. Informatie op Internet: http://www.jedec.org/category/technology-focus-area/flash-memory-ssds-ufs-emmc%E2%84%A2 http://www.snia.org/forums/sssi http://www.wdc.com/nl/products/solidstate/technology/SiSMART.aspx