Lehrveranstaltung Speichersysteme Sommersemester 2009 Kapitel 3: MEMS Based Storage Flash Storage André Brinkmann
AnDcipatory Scheduler Was bedeutet work conserving und decepdve idleness Wie sieht die Struktur des Frameworks aus, welche neuen Zustände werden eingeführt Was sind die Workload Annahmen des Scheduler Frameworks Wie funkdoniert AS bei einem Seek Reducing Scheduler
MEMS MEMS: Microelectromechanical systems (MEMS) Größenordnungen der Mechanik von Mikrometer bis Millimeter Zielsetzung MEMS Storage: 10 Gbyte Daten auf der Größe eines Cent Stücks 100 MB 1 GB/s Bandbreite 10 x bessere Zugriffszeiten 100 x weniger Verlustleistung Geringe Kosten Viele mögliche Schreibvorgänge
MEMS Based Storage Actuators Read/Write tips Media Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Read/write tips side view Media Bits stored underneath each tip Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Media Sled Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Springs Springs Springs Springs Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Anchor Anchor Anchors attach the springs to the chip. Anchor Anchor Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Sled is free to move Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Sled is free to move Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Springs pull sled toward center Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Springs pull sled toward center Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Actuator Actuators pull sled in both dimensions Actuator Actuator Y Actuator X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Actuators pull sled in both dimensions Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Actuators pull sled in both dimensions Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Actuators pull sled in both dimensions Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Actuators pull sled in both dimensions Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Probe tip Probe tips are fixed Probe tip Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage Probe tips are fixed Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Storage One probe tip per square Each tip accesses data at the same relative position Sled only moves over the area of a single square Y X Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems
MEMS Based Management Similar to disk based scheme Dominated by transfer Dme Challenges: Broken Dps Slow erase cycle ~seconds/block track Folie basiert auf Vorlesung von A. Wang: Advanced Operating Systems a cylinder group
MEMS: Technische Erwartungen Kapazität pro Sled: 3,2 GByte Avg. Seek Time: 0,55 ms Max. Seek Time: 0,81 ms Maximale Anzahl von Tips: 1280 Maximaler Durchsatz: 89,6 MByte/s Folie basiert auf Hong, Wang, et al.: Using MEMS-Based Storage in Computer Systems MEMS Storage Architectures
Umsetzung von MEMS Vorangetrieben durch Gerd Binninger / IBM Zürich im Millipede Projekt 2 dimensionales Feld von Prüfspitzen, die auf einem freitragenden (CanDlever) Arm angebracht sind Mikromechanischer Scanner bewegt Speichermedium unter dem Array Daten: 64 x 64 (4096) CanDlevers, 100 µm Abstand 6,4 x 6,4 mm² Array auf 10 x 10 mm² Chip Transfer and Join Technologie: CanDlevers und CMOS auf verschiedenen Wafer un abhängige OpDmierung Folie basiert auf Web-Seiten von IBM
CanDlever Jeder CanDlever hat je einen Heater für Lesen und für Schreiben kann in z Richtung angehoben, abgesenkt werden Dimensionen CanDlever 70 µm Gesamt Länge 500 700 nm >Tip Länge Radius der Spitze ist wenige nm Aufzeichnungsdichte: 1 Tbit/inch² Fehlerrate: 10 4 Folie basiert auf Web-Seiten von IBM
Schreibvorgang Kopf wird auf dem Polymer Medium posidoniert Medium wird durch Erhitzen auf ca. 400 C weich gemacht und der Kopf drückt ein Loch in das Medium Heater wird durch Strom erhitzt (Leistungsabgabe in dem Widerstand) Kraq auf das Medium im Bereich einiger hundert nano Newton für wenige Mikro Sekunden Durch schnelles Kühlen wird Loch fixiert Folie basiert auf Web-Seiten von IBM
Lesevorgang Heater für das Lesen wird auf ca. 200 C erhitzt Je näher der Tip an dem Medium, desto schneller kühlt der Heater ab Aus der Abkühlung folgt ein messbarer, höherer Widerstand Messung des Stromflusses ermöglicht DetekDerung der Daten Folie basiert auf Web-Seiten von IBM
Löschen von Daten Löcher in dem Polymer sind nur Meta Stabil Durch erneutes Erhitzen des Polymers kann Form erneut verändert werden Schreiben eines (kleineren) Lochs in der Nähe des Datums führt zu Löschen des alten Datums Überschreiben eines Tracks erfolgt durch Schreiben vieler, naher beieinanderliegender Einsen Folie basiert auf Web-Seiten von IBM
Flash Speicher FloaDng Gate eines Flash Speichers elektrisch isoliert Bei hoher posidver Spannung auf Source Drain Strecke werden Elektronen durch elektrischen Isolator auf FloaDng Gate gebracht Fowler Nordheim Tunneleffekt Speicherung eines Bits erfolgt persistent auf dem FloaDng Gate Hohe negadve Spannung ermöglicht Löschen der InformaDonen Es können nur 1 en geschrieben werden Löschen schädigt Isolator max. 1 Mio. Löschvorgänge Folie basiert auf www.wikipedia.de
NOR Flash Entwickelt als Ersatz für EPROM und ROMs Adressierung über klassische Adressbusse Keine Glue Logic zwischen Kontroller und Flash Ermöglicht Ausführung von Code Bytes können einzelnd beschrieben werden (Übergang 1 0 ) Löschen nur in Blöcken möglich (Reset aller Bits auf 1 ) Blockgröße zwischen 64 Kbyte und 256 KByte Langsam beim Schreiben Datengrößen < 1 GBit Folie basiert auf www.wikipedia.de
NOR Flash
NAND Flash NAND Flashes arbeiten page und blockoriendert Page muss sequendell abgefragt werden, Schaltung entspricht NAND Schaltung bei Standard Gazern Page Größe zwischen 512 Byte und 4 Kbyte zusätzlich 12 bis 16 Byte für Checksumme Pages werden zu Blöcken zusammengefasst Pages können nur einmal beschrieben werden Höhere Speicherdichte als NOR Flash Folie basiert auf www.wikipedia.de
NAND Flash
Folie basiert auf Technologie-Übersicht von Toshiba 2006 Vergleich NOR/NAND
Folie basiert auf Technologie-Übersicht von Toshiba 2006 Vergleich NOR/NAND
Challenges Requirements in Good Performance Limited Cost per Unit Strong Demands in Reliability Increasing in Access Frequencies Tight Coupling with Other Components Low CompaDbility among Vendors Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Issues Architecture AP AP AP AP File System Layer Block Device Layer (FTL EmulaDon) MTD Drivers FTL: Flash Translation Layer MTD: Memory Technology Device Flash Memory Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Write Once Issues: Flash CharacterisDcs No wridng on the same page unless its residing block is erased Pages are classified into valid, invalid, and free pages Bulk Erasing Pages are erased in a block unit to recycle used but invalid pages Wear Leveling Each block has a limited lifedme in erasing counts Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Issues: Flash CharacterisDcs Example: out of place update A B C D Live Pages Free Pages Assume that we want to update pages A and B Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Issues: Flash CharacterisDcs Example: out of place update A B C D A B Dead Pages Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Issues: Flash CharacterisDcs Example 2: Garbage CollecDon L D D L D D L D Recycle First Block L L D L L L F D L F L L L L D F L D Live Block Dead Block F L L F L L F D F Free Block Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Issues: Flash CharacterisDcs Example 2: Garbage CollecDon D D D D D D D D Copy Live Data somewhere else L L D L L L L D L L L L L L D F F L L L L L F D Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Issues: Flash CharacterisDcs Example 2: Garbage CollecDon F F F F F F F F L L D L L L L D L L L L L L D F Erase Data Block Overhead: - Copying of Live Data - Block Erasing F L L L L L F D Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Example 3: Wear Leveling Issues: Flash CharacterisDcs 100 10 20 L D D L D D L D L L D L L L F D L F L L L L D F 15 F L L F L L F D Erase Counter Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Issues Policies: FTL FTL adopts a page level address transladon mechanism The main problem of FTL is large memory space requirements for storing address transladon informadon Address transladon has to be performed in memory Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
ObservaDons Write throughput drops significantly aqer garbage collecdon starts The capacity of flash memory storage systems increases very quickly such that also memory space requirements growth quickly Reliability becomes more and more cridcal when the manufacturing capacity increases Significant increment of flash memory access numbers Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo
Folie basiert auf Vorlesung Flash-Memory Storage Systems von Tei-Wei Kuo System Architecture
Striping Designs Could we boost system performance and enlarge system capacity by simply having muldple flash banks working together? Issues Space UDlizaDon vs Wear Leveling Stripping Levels vs Performance Performance vs Management Granularity
Striping Designs Hot Data Hot data usually come from meta data of file systems Small. A piece of hot data is usually 2 sectors. structured (or indexed) user files, etc. Storing of hot data on a stadcally assigned bank might consume free space quickly, start garbage collecdon frequently, or wear their residing banks quickly.
Striping Designs Cold Data Cold data usually come from read only (or WORM) files E.g., bulk and sequendal files that oqen have a number of sectors Storing of cold data on a stadcally assigned bank might increase the capacity udlizadon, and deteriorate the efficiency of garbage collecdon severely
Main Strategies: A Dynamic Striping Policy Distribute hot/cold data properly among banks. Hot data banks have low erase cycle counts Cold data banks have low capacity udlizadons Remark: The hotness of wrizen data should be efficiently idendfied!!!
Efficient Hot Data IdenDficaDon Why Important? Wear Leveling Pages that contain hot data could turn into dead pages very quickly. Blocks with dead pages are usually chosen for erasing. Hot data should be wri6en to blocks with smaller erase counts. Erase Efficiency (i.e., effecdve free pages reclaimed from garbage collecdon.) Mixture of hot data and non hot data in blocks might deteriorate the efficiency of erase opera?ons.