Speicherverwaltung: Flash-Laufwerke Prof. Dr. T. Kudraß 1 Flash-Laufwerke • Prof. Dr. T. Kudraß 2 NAND Puffer SATASchnittstelle Controller NAND ECC NAND Prof. Dr. T. Kudraß Cache Aufbau einer Flash-Disk n * 1000 Blöcke á 64 … 128 Seiten á 2/4 KB Daten + 128 Byte ECC 3 Probleme bei Flash-Speichern • Zwei Hauptprobleme – Löschoperationen gegenüber Lesen vergleichsweise langsam (2 ms vs. 25 μs) – Begrenzte Lebensdauer der Zelle (ca. 100.000 Lösch-SchreibZyklen bei SLC-Speichern) • Lösungen – Block Manager: Vermeidung teurer Lösch-Operationen durch Schreiben in neue leere Blöcke (Verwaltung und Wiederverwndung der alten Blöcke) – Wear Leveling: Gleichmäßige Verteilung der Schreibvorgänge auf alle Blöcke • Anbindung an den Prozessor – SATA: Nutzung wie herkömmliche Magnetplatten – allerdings mit Leistungsverlust – Alternative: Anbindung über PCI Express deutlich schneller und teurer (siehe tabellarischen Vergleich) Prof. Dr. T. Kudraß 4 Konsequenzen für Einsatz als Sekundärspeicher • Klassische DBMS-Operationen mit sequentiellem Lesen nutzen Stärken von Flash-Speicher nicht aus • Effizientere Adressierung kleinerer Blockgrößen – Komplexe Verwaltung für Wear Leveling erzeugt gewisse Latenzen – Empfohlene Blöckgrößen 32 KB (Vielfaches der Flash-Seiten) – Wahlfreie Zugriffe effizienter als auf Magnetplatten, aber begrenzen auf 4 bis 16 MB – Konkurrierende I/O-Zugriffe bis zu einem gewissen Maße ohne Performance-Einbußen durchführbar • Eigenschaften von Flash-Laufwerken Intel X25-M FusionIO ioDrive Technologie MLC SLC Schnittstelle SAT 1.5/3 Gbit/s PCIe X4 Leselatenz 85 μs 50. μs Bandbreite (Lesen) 250 MB/s 750 MB/s Bandbreite (Schreiben) 70 MB/s 650 MB/s Kapazität 80 GB 80 GB Preis (ca.) 220 € 1.900 € Prof. Dr. T. Kudraß 5 Anwendungsfälle für Flash-Speicher • Schnellere Festplatte – Kleinere Blockgrößen, jedoch Anpassung von Datenstrukturen – Nachteile: hoher Preis, Schreiblatenz • Zusätzlicher Cache zwischen Hauptspeicher und Magnetplatte – – – – Beschleunigte Leseoperationen Geringere Kosten gegenüber reinem SSD-Einsatz Kein Einfluss auf Write-Performance Beispiel: Oracle Exadata Database Machine: 2 TB RAM, 100 TB Magnetplatten, Flash Cache 5 TB (Stand Sept. 2011) • Medium für Spezialzwecke – Protokollieren und Zurücksetzen von Transaktionen im Rahmen des Recovery (siehe Vorlesung zu „Recovery“) – Speicherung von temporären Tabellen – Probleme im Langzeitbetrieb durch begrenzte Anzahl von Schreibvorgängen Prof. Dr. T. Kudraß 6