Hantering av begränsat antal skrivningar på Solid State diskar

Relevanta dokument
Digital- och datorteknik

Digital- och datorteknik

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Slitskyddade skovlar för slunghjul

Betyg E (med tvekan) : (= Eleven beskriver mest med egna ord hur man upplevt träningen)

KLOKA FRÅGOR OM ÄLDRES LÄKEMEDELSBEHANDLING ATT STÄLLA I SJUKVÅRDEN

Uppdaterad Enkel manual tävlingsanmälan i friidrottens nya IT- system.

Motivering och kommentarer till enkätfrågor

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Underhållsinventering av asfaltsbelagda vägar inom Mälarbadens Samfällighetsförening med kostnadsprognos

BATTERITESTARE EM Bruks- och underhållsanvisning

Att köpa ny dator SeniorNet Lidingö Januari-2016

Jämförelse av skrivtekniker till cacheminne

Skötbordsguiden DIN GUIDE TILL DET BÄSTA SKÖTBORDET

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Utrustning och material, del 1

Arbetslöshet i Sveriges kommuner

Projektarbete 2: Interaktiv prototyp

Seriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]

En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.

Clicker 5. Lathund kring de vanligaste och mest grundläggande funktionerna för att komma igång med Clicker. Habilitering & Hjälpmedel

19. Skriva ut statistik

Luftförvärmare artikel

Reservera utskriftsjobb

Classfronter Vägledning för Studenter (version 1.1)

Arbetsrätt. Ola Brinnen April 2016

Föreläsning 3.1: Datastrukturer, en översikt

Vad är syftet? Vad är syftet? Därför föreslår du/ni att: Därför föreslår du/ni att: Namn/grupp: Drakdräparna. Namn/grupp: Konvojen Babord

Mobilen spårar dig överallt. måndag 28 mars Du registreras via mobilen dygnet runt, även när du sover. Uppgifterna lagras i ett halvår.

Möjliga Världar. Skapande Skola, Halmstad. Robert Hais

Armor case. Vattentätt Inbyggt skärmskydd Klarar fall på 3 meter Klarar 2 tons tryck 4-lagersskydd

Klass 6B Guldhedsskolan

FOURMI Flyttsystem är ett unikt proffsverktyg för att flytta hyllor

Då jag i likhet med flertalet filmare står utanför Filmavtalet så vill jag yttra mig.

Uponor InfrastrUktUr uponor BETÄCKnInGAr. nyhet! Längre livslängd, tätare anslutning och bättre ljudergonomi

Välkommen till ditt nya liv. vecka 13-16

Rollspel 2a: Förhandlingsteknik

FÖRKORTA DIN VÄG PÅ BANAN

Sinnenas stig GNESTA

Nr659. l. Hustruns släktnamn bör kunna användas såsom makarnas gemensamma. Mot. 1971:659 7

Lär dig göra marklyft

SÄKERHETSINSTRUKTIONER FÖR BALDER 210 REVOLVER

NÄR MAN TALAR OM TROLLEN och några andra talesätt

4 proffstips för icloud

Manual för praktiker

Anujan Balasingam IDA14 NAND flashminnen

Statskontorets enkät till organisationer för patientgrupper, pensionärer och personer med funktionsnedsättningar

Gunnesboskolan, miljövänlig? Energi och Miljö tema VT-10

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum:

VIMENTIS VIP. FÖR STARTUPS & SMÅFÖRETAGARE Med hjälp utav Vimentis VIP kommer en helt ny värld att öppnas upp för dig som företagare.

Socialstyrelsens äldreundersökningar, manual till Indikators webbverktyg

Bästa hälsning, Johannes Andersson

Fakta om tidsbegränsade anställningar

Samhälle, samverkan & övergång

Linor, block och taljor

Instuderingsfrågor Skelettet, med svar

Ta dig över älven. Lejonen Toleredsskolans grundsärskola

Kommentarer utbildning föreningar. Närvarokort. Grundföreskrifter. För sent inkommen ansökan

Med Älgfrode 3.2 som beräkningsverktyg för förslag på avskjutning.

Ovningsbankens Handbollspaket Styrketräning

Generell Analys. 3. Det är viktigt att du väljer ett svar i vart och ett av de åttio blocken.

LADDNING OCH ANVÄNDNING AV UPPLADDNINGSBARA BATTERIER (TILLVAL) ANVÄNDNING MED TORRBATTERIER A

Skadliga nollflödespunkter i Fortum Värmes fjärrvärmenät i Stockholm

Malmö stad Fritidsförvaltningen. Att hantera närvarokort - Föreningsadministratör

Barn och familj

Introduktion. Av Tobias Lindström KPP039 MDH 2010

Du är kär! Du är kär! Du är kär! (i nån som går i din skola)

Lenco SCR-81 Radio kassett och cd stereo Instruktionsmanual på Svenska

8-4 Ekvationer. Namn:..

Klassen måste ha gått igenom:

Att göra investeringskalkyler med hjälp av

Semesteromställning Personec P

Vårdfaktura Bokföringsfil och Kontering

KÄNN DIN PULS OCH FÖRHINDRA STROKE. Några enkla regler för hur du mäter din puls. Det här är en folder från Pfizer och Bristol-Myers Squibb

4:8 Transistorn och transistorförstärkaren.

FÖR DATORER. Historiskt arkiv. Användarguide. För Österbottens Tidning

Vilken batteriskruvdragare/borrmaskin är bäst för elektriker? Postad av Svenne Eriksson - 29 okt :50

Manual Jourläkarschema Närhälsan V7 - Version 1.0

Vandrande Tidsverkstad. Ett naturligt tillfälle till reflektion och samtal om tiden och tillvaron

Att tänka på inför friidrottstävling

Sammanfattning på lättläst svenska

SmartgymS TRÄNA HEMMA PROGRAM SMARTA ÖVNINGAR FÖR ATT KOMMA I FORM - HEMMA! Effektiv Träning UTAN Dyra Gymkort!

Tidplan för introduktionen av den nya sedel- och myntserien

UTVÄRDERING AV UTSTÄLLNINGEN OMÄNSKLIGT/ OM TEKNIK / LÄSKORT OCH LURAR

Asfaltdagen 2015 Peter Ekdahl. Vad är nu detta?

55200 Inspelningsbar microfon

Viktiga begränsningar

Lyssna, stötta och slå larm!

Vägledning. - för trafikantombudens information om trafiksäkerhet. NTF Skånes Trafikäldreråd

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

VAD TYCKER DE ÄLDRE OM ÄLDREOMSORGEN? - SÄRSKILT BOENDE I HÖGANÄS KOMMUN 2013

Så fyller du i blanketten!

Kontakta Trygghetsrådet när du sagts upp på grund av arbetsbrist. Vid din sida på din väg mot ett nytt jobb!

Kommun-, landstings- och regionledningens ansvar

esamhälle Sammanfattning-regionala nätverksträff Innehåll

NU KÖR VI! TILLSAMMANS.

MusicFly Pro. Användarmanual. Inledning

På jakt med geocaching

1 Ändra kolumnbredd och radhöjd

Utökning av mätområdet på ett mätinstrument med LED

Transkript:

LTH - LUNDS TEKNISKA HÖGSKOLA Hantering av begränsat antal skrivningar på Solid State diskar Filip Nilsson 2015-12-07

Sammanfattning På senare år har utvecklingen för SSD (Solid State Drive) enheter kommit väldigt långt. Detta har lett till att de blir alltmer vanliga och ersätter HDD (Hard Disc Drive) enheter hos många. De flesta vet dock inte hur en SSD fungerar. Syftet med denna rapport är att undersöka på vilket sätt en SSD är begränsad, vad detta beror på, och hur det hanteras. För att kunna förstå hur en SSD-enhet fungerar jämförs SSD-tekniken med HDD-tekniken. Det rapporten kommer fram till är att en SSD-enhet slits ut p.g.a. många skrivning/raderings cykler då detta är en tung operation för en SSD. För att hantera detta finns det flera olika funktioner som samarbetar och underlättar bördan för enheten. 1

Inledning Syftet med denna rapport är att visa och förklara det slitage och åldrande som en SSD (Solid State Drive) utsätts för och hur det påverkar enheten. För att kunna förstå hur en SSD slits och hur de blir svårare att använda med tiden behöver man först förstå vad en SSD är och hur den är uppbyggd. En SSD är ett sekundärminne, det är alltså en variant av en hårddisk (HDD - Hard Disc Drive). En SSD och en HDD utför samma uppgifter vilket är att lagra stora mängder data trots detta är det mycket som skiljer dem åt.. För att förstå hur en SSD fungerar är det lättaste att jämföra den med en HDD och visa hur de skiljer sig åt när de ska lagra data. Bild 1: Insidan av en HDD. En SSD är betydligt snabbare än en HDD och en av anledningarna är att en den inte består av några rörliga delar. På bild 1 kan man se insidan av en hårddisk, där ser man en läsarm och ett antal skivor. Skivornas uppgift är att förvara data som skrivs dit med hjälp av läshuvudet. Varje skiva är uppdelad i sektorer, kluster och spår(se bild 2). När processorn behöver information från hårddisken så måste skivorna snurra till sektorn där rätt data lagrats och armen måste sedan flytta sig till rätt spår på skivan och därefter läsa av platsen med hjälp av magnetism. Även om detta går otroligt fort så är det en väldigt kostsam process jämfört med läsning av register, cache och ramminnen som är menat att användas som korttidslagring. Beroende på var datan finns lagrad på hårddisken varierar tiden det tar då skivorna behöver snurra till de olika platserna. Bild 2: Överblick av datalagring på en HDD. 2

En SSD har som sagt inga rörliga delar utan är uppbyggd av en mängd NAND-flashminnen som även används i t.ex. mobiltelefoner. Dessa minnen består av en mängd mindre celler (Se bild 3) där ettor och nollor sparas som data. Namnet NAND (Not And) kommer från att strukturen i minnet är liknande den logiska operationen NAND. Bild 3: En NAND Flash cell. En av anledningarna att en SSD är så mycket snabbare än en HDD är att den har lika snabb tillgång till sina olika lagringsplatser. Alltså kvittar det var enheten lagrar datan, för oavsett var den är lagrad så tar det lika långt tid att hämta. Dock så varierar det för en HDD, detta p.g.a. att de fysiska delarna måste förflytta sig till rätt plats för att kunna göra en avläsning. Om man tittar på jämförelsen (se bild 4) där man testar att göra några slumpmässiga läsningar på en SSD och en HDD, så ser man att en HDD har vissa intervall där inget nyttigt arbete utförs. Under dessa intervall väntar den på att de fysiska delarna ska hitta datan. Bild 4: Jämförelse av SSD och HDD vid slumpmässig läsningar. En SSD må vara snabbare men till skillnad från en HDD så kan den inte manipulera en enskild cell. Detta p.ga att en SSD andvänder NAND strukturen som bara tillåter att man skriver data på en hel rad åt gången (Se "NAND page" bild 3). 3

Diskussion Trots alla Fördelar som SSD har, så har flashminnen (som SSD använder sig av) en stor nackdel. Denna är att flashminnen endast klarar av ett begränsat antal interaktioner. Varje cell har bara ett visst antal raderings/skrivnings cykler den kan hantera innan den blir opålitlig. Att läsa data har en liten inverkan men den är så pass liten jämfört med hur cellen påverkas av en radering/skrivning. För att förstå slitaget måste man dyka ännu djupare i hur en SSD är uppbyggd, närmare bestämt hur cellerna i NAND-flashminnet är uppbyggda. De två vanligaste lösningarna som används i cellerna är antingen SLC (Single-Level Cell) transistorer eller MLC(Multi-Level Cell) transistorer. Skillnaden mellan dessa två transistorer som man kan höra på namnen är att de antingen har en laddningsnivå eller flera. Dessa laddningsnivåer används för att representera ettor och nollor. SLC transistorn som endast har en nivå av laddning kan representera antingen ett eller noll d.v.s. oladdad eller laddad. Men en MLC transistor som kan ha flera olika laddningar kan då representera ett par olika värden. Om man t.ex. säger att en transistor kan hantera 4 olika värden så kan den representera följande: 00, 01, 10 och 11. Detta gör att man kan lagra större mängd data med färre antal celler med hjälp av MLC transistorer. Dock så blir avläsningsprocessen av cellerna mer komplicerad och därmed långsammare än om man använder sig av SLC transistorer. Allstå blir det dyrare att använda sig av SLC transistorer då det kräver mer hårdvara per megabyte och därmed är det vanligast att sådana SSD-enheter hittas i serverhallar och dylikt och MLC enheter hos privatpersoner. När en SSD-enhet är oanvänd så innehåller ingen av cellerna någon laddning och när en cell inte har någon laddning så tolkas detta som att cellen har värdet 1. Men när en cell innehåller en laddning så har den värdet 0. Detta gäller då för en enhet som använder SLC transistorer men principen är densamma för MLC transistorer bara då att det finns två ytterligare laddningsnivåer. Att ladda en oladdad cell (därmed ändra värdet från 1 till 0) är en lätt operation. Men däremot att göra tvärtom, att ta bort laddningen från en laddad cell är betydligt svårare. Att göra detta kräver mycket spänning, och då är det lätt att kringliggande celler påverkas trots att det inte är meningen. Det finns sätt att förhindra detta från att ske men detta kräver väldigt mycket av de närliggande cellerna och riskerar att skada dem. Man använder därför en annan metod, istället för att radera enstaka rader och skriva till samma rad igen så raderar man och skriver tillbaka ett helt block istället. Ett block är en uppsättning av väldigt många rader, och antalet rader ett block innehåller varierar beroende på vilken tillverkare som gjort enheten. Detta gör då att man slipper använda de metoder som kan skada cellerna för att alla cellerna ska sättas till samma värde. Därefter är det bara att skriva tillbaka datan men med den önskade ändringen. Detta leder till en längre livslängd på cellerna. För varje skrivning till en SSD vet vi nu att man måste radera hela block för att få skriva ifall det inte finns någon annan ledig plats. Varje cell har dessutom bara ett begränsat antal skrivningar. Detta p.g.a. att varje gång man ändrar laddningen hos en cell så slits den på så sätt att lite laddning blir kvar i materialet som transistorn är gjord av. Detta gör att resistansen i materialet hos transistorn ändras vilket leder till att laddningen man försöker ge en cell inte blir den man förväntar sig. Detta kan försvåra avläsningen av varje cell då man måste kunna urskilja de olika laddningsnivåerna för att veta vilken data som finns lagrad. Detta slitage är då värre hos enheter som använder MLC transistorer då de behöver skilja på flera olika nivåer. Enheter som använder SLC transistorer behöver dock bara läsa mellan två olika nivåer och är därmed lättare att läsa av. Om man använder sig av SLC transistorer är gränsen för antal gånger man kan radera informationen hos ett block ca. hundra tusen (Enligt Gokul 4

Soundararajan [2]). Men på en enhet som använder MLC så kan gränsen vara så låg som mellan fem och tiotusen gånger per block. När ett block passerar denna gräns kan det bli så pass slitet att det inte är i tillräckligt bra skick att lagra data på, detta block markeras då som oanvändbart och därmed minskas lagringskapaciteten hos enheten. För att minska påverkan av detta problem finns det än mängd olika funktioner som samarbetar och dessa sköts av en kontrollenhet som finns i en SSD. Två av dessa funktioner är Garbage Collection och Wear Leveling. Garbage Collection funktionens uppgift är att helt radera data som inte längre används. Detta underlättar då när man ska skriva ny data, då slipper man att radera innan man ska skriva för det är redan gjort av Garbage Collection funktionen. Denna funktionen gör sitt arbete när inte enheten är upptagen med tyngre operationer. Den andra funktionen Wear Levelings uppgift är att fördela slitaget jämnt över NAND-minnena. Detta görs så att det inte är en plats som skrivs på oftare än andra så att denna plats blir utsliten. Tack vare alla funktioner i kontrollenheten ökar livslängden hos en SSD. Det hjälper då även att ha större lagringskapacitet på sin SSD-enhet då det ökar antalet celler som kan sprida ut belastningen på. Tack vare den snabba utvecklingen som skett under de senaste åren är detta problem inte lika allvarligt längre. Då man förbättrat de olika funktioner som kan förlänga livslängden hos cellerna. Även om man har en SSD som använder sig av MLC transistorer så kan den räcka 5 år och längre men en vanlig HDD kanske inte ens räcker så länge trots att den är förskonad från detta problem [1]. 5

Referenser [1] Hutchinson, R 2012, 'Solid-state revolution: in-depth on how SSDs really work', ars technica, 4 june, (pp. 1-6.) http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-statedisks-really-work/1/ [2] Soundararajan, G., Prabhakaran, V., Balakrishnan, M., & Wobber, T. (2010, February). Extending SSD Lifetimes with Disk-Based Write Caches. In FAST(Vol. 10, pp. 101-114). https://www.usenix.org/legacy/event/fast10/tech/full_papers/soundararajan.pdf 6