Festplatten
- HDD (Hard Disk Drive)
- verschiedene Größen
- 5,25"
- 3,5"
- 2,5"
- 1,8"
- 1,0"
- aus unterschiedlichen Größen ergeben sich unterschiedliche maximal Speicherkapazitäten
- 3,5" 3TB
- 2,5" 1.5TB
- 1,8" 320GB
- 4200 bis 15 000 Umdrehungen pro Minute
- besteht auf 4 grundlegenden Komponenten
- Recording Surface
- Read/Write Heads
- Transport Mechanism
- Control Electronics
Aktuator
- Kammartiger Arm mit Schreib- und Lese-Köpfen
- der radial senkrecht zum Mittelpunk mit einem Schritt oder Linearmotor auf die richtige Spur bewegt wird
- Heutige Platten bewegen den Aktuator mit einem Linearmotor im schrägen Winkel zum Mittelpunkt der Platte.
- Schrittmotor
- Motor, der seine Drehachse nur in bestimmten, festen Winkel “schrittweise” bewegen kann
- Linearmotor
- Motor, der sehr fein dosiert seine Achse drehen kann
Festplatten sind ca. Faktor 100 preisgünstiger pro Bit als Hauptspeicher und bieten ca. Faktor 100 mehr Kapazität
Nachteil: Zugriffe auf Festplatten sind um ca. Faktor 1000 langsamer Grund für die geringere Zugriffsgeschwindigkeit:
Festplatten sind mechanische Geräte die eine oder mehrere mit 4200, 5400, 7200, 10800 oder 15000 Umdrehungen pro Minute rotierende Scheiben enthalten
Auch Festplatten haben einen Cache, der Schreib- und Lesezugriffe auf den Datenträger puffert
Der Festplattencache befindet sich auf der Steuerplatine und ist zwischen 1 und 32MB groß
Für jede Seite jeder Platte existiert ein Schwungarm mit einem Schreib-/Lesekopf, der Bereiche der Scheibenoberfläche unterschiedlich magnetisiert und so die Daten auf die Festplatte schreibt
Durch den induzierten Strom (bei Veränderung des Magnetfeldes) werden die Daten ausgelesen und an den Controller weitergeleitet, dekodiert und ausgegeben.
Die Scheibe wird während des Betriebes in Drehung versetzt um die Daten über den gesamten Umfang zu speichern.
Schreib-/Leseköpfe schweben auf Luftkissen sehr dicht der Oberfläche (ca. 0,0003mm); Probleme im Vakuum
Im ausgeschalteten Zustand setzen die Köpfe auf einem dafür reservierten Bereich auf oder werden ganz aus dem Plattenbereich herausgezogen, z. B. bei Laptops.
Setzt im Betrieb ein Kopf aus, wird dies Headcrash genannt. Headcrash hat i. d. R. Datenverluste bzw. Beschädigungen des Kopfes zur Folge.
Der Sektor/Block ist die kleinste Speichereinheit auf Speichermedien. Die Größe eines Sektors wurde auf 512 Byte festgelegt. Dieser Wert wurden willkürlich gewählt. Fasst man mehrere Sektoren zu einer Einheit zusammen, nennt man diese größere Einheit Cluster. Eine Festplatte enthält mehrere übereinander angeordnete Scheiben. Auf jeder Scheibe werden die Daten kreisförmig in Spuren angeordnet. Jede Scheibe kann von oben und unten beschrieben werden. Betrachtet man nun eine einzelne Spur über alle Platten, bildet sich, da diese symmetrisch aufgebaut sind, ein Zylinder. Hinzu kommen pro Sektor die Präambel, ein Teil vor den eigentlichen Daten, welcher zur Synchronisation dient, sowie ein Fehlerkorrekturcode am Ende. Zwischen zwei Sektoren befindet sich eine kleine Lücke, die Zwischensektor-Lücke.
Die Verwaltungsdaten betragen etwa 15% der gesamten Sektordaten
RAID
- Datensicherheit von Festplatten erhöhen
- Redundant Array of Independent Disks
- besteht aus mehreren Festplatten, werden vom Benutzer aber als 1 wahrgenommen
- RAID Level spezifiziert Verteilung der Daten
- häufigsten RAID Level sind 0, 1 und 5
RAID 0
- Striping
- Beschleunigung ohne Redundanz
- Aufteilung der Festplatten in zusammenhängende Blöcke gleicher Größe
- Bei Ausfall einer Platte können Daten nicht vollständig rekonstruiert werden
RAID 1
- Mirroring, Spiegelung
- Mindestens 2 Festplatten gleicher Kapazität
- enthalten die exakt gleichen Daten
- Bei Ausfall einer Festplatte sind Daten weiterhin auf anderer Festplatte vorhanden
- Dateioperationen bei Virenbefall finden auf allen Festplatten statt
RAID 2
Bit-Level Striping mit Hamming-Code-Fehlerkorrektur
Nutzdaten werden in Blöcke gleicher Größe zerlegt
und mittels Hamming-Code auf größere Blöcke abgebildet
- Die Bits, die Potenzen von 2 sind (1, 2, 4, 8, 16, usw.) sind Prüfbits
Einzelne Bits des Hamming-Codeworts werden über Platten verteilt
Datendurchsatz wird durch RAID 2 gesteigert
Beispiel mit 7 Festplatten
- 4 Platten für Nutzdaten
- 3 Platten für Paritätsinformationen
kleinster RAID 2 Verbund braucht 3 Festplatten
Realität aus mindestens 10 Festplatten
RAID 5
- Block-Level Striping mit verteilten Paritätsinformationen
- bietet erhöhten Datendurchsatz
- und höhere Datensicherheit
- besteht aus mindestens 3 Festplatten
- Nutzdaten auf allen Festplatten verteilt
- Es werden Paritätsinformationen der Nutzdaten berechnet, mit denen beim Ausfall maximal einer Festplatte die Nutzdaten vollständig rekonstruiert werden können
- Die Berechnung der Paritätsinformationen beim Ausfall einer Platte kann abhängig von der Größe des Verbunds sehr lange dauern
- Während dieser Zeit ist der Verbund ungeschützt
- Die Berechnung der Paritätsinformationen beim Ausfall einer Platte kann abhängig von der Größe des Verbunds sehr lange dauern
Durch die Verteilung der Paritätsinformationen auf alle Festplatten (Rotating Parity) wird verhindert, dass eine einzelne Paritätsplatte zu einem möglichen Engpass (Flaschenhals) wird. Die Nettokapazität ist n−1, wobei n die Anzahl der Festplatten ist.
Paritätsinformationen
- dient der Erkennung von fehlerhaft übertragener Daten
- bezeichnet die Anzahl der mit 1 Belegten Bits
- in der Paritätskontrollcodierung exister ein zusätzliches Paritätskontrollbit, auch Paritybit genannt
Je nachdem, ob das Datum gerade oder ungerade ist, ist das Paritätskontrollbit e oder o Codewort = Datum + Paritätskontrollbit Aussage: es ist ein Fehler aufgetreten, aber nicht wo
- keine Fehlerkorrektur möglich
- bei einem Paritätsbit N = 1 kann nur eine ungerade Anzahl von Bitfehlern in einem Codewort feststellbar.
- gerade Anzahl von Bitfehlern wird nicht festgestellt.
RAID Zusammenfassung
X ist die Leistung einer einzelnen Platte beim Lese bzw Schreibvorgang
Die maximale theoretische Leistung wird meist der Rechenleistung des Hauptprozessors eingeschränkt
Raid 0, 1 und 5 am häufigsten verwendet
Oft aber auch Verbindungen von RAID Leveln
- Bsp. mehrere RAID 0 zu einem RAID 5, macht RAID 05
- RAID 00: Großes RAID 0 mit mindestens 4 Festplatten
- RAID 01: RAID 1, das aus mehreren RAID 0 besteht
- RAID 10: RAID 0 über mehrere RAID 1
- RAID 03 bzw. RAID 30: RAID 3 über mehrere RAID 0
- RAID 05: RAID 5, das aus mehreren RAID 0 besteht
- RAID 15: RAID 5, das aus mindestens drei RAID 1 besteht
- RAID 50: RAID 0, das aus mehreren RAID 5 besteht
- RAID 51: RAID 1, das aus mehreren RAID 5 besteht
- RAID 60: RAID 0, das aus mehreren RAID 6 besteht
Hardware RAID
- RAID-Controller kümmert sich um Zusammenarbeit der Festplatten
Host Raid
- Es werden entweder preiswerte RAID-Controller oder einfach der Chipsatz auf dem Mainboard eingesetzt Berechnung der Paritätsinformationen übernimmt die CPU
Software Raid
- Moderne Betriebssysteme ermöglichen das Zusammenschließen von Festplatten zu einem RAID auch ohne RAID-Controller
- Linux und Windows können RAID0, RAID1 und RAID5 bereitstellen
- MacOS X kennt RAID0 und RAID1
- Vorteile: Preiswerter als Hardware-RAID und flexibler als Host-RAID
- Nachteile: Betriebssystemabhängigkeit und zusätzliche Belastung der CPU
- Moderne Betriebssysteme ermöglichen das Zusammenschließen von Festplatten zu einem RAID auch ohne RAID-Controller
Solid State Drives
- Halbleiterlaufwerke
- Datenspeicherung auf Halbleiterbausteinen
- keine beweglichen Teile
- Vorteile
- kurze Zugriffszeiten
- geringer Energieverbrauch
- leise
- Robustheit gegen Stöße und Vibrationen
- Geringes Gewicht
- Position der Daten ist irrelevant
- Nachteile
- Höhere Preise im Vergleich zu HDDs
- Sicheres Löschen bzw überschreiben ist schwer
- Eingeschränkte Anzahl an Schreib-/Löschzyklen
- In einem Flash-Speicher sind die Speicherzellen in Gruppen zu Seiten und Blöcken angeordnet
- Je nach dem Aufbau eines Flash-Speichers ist immer eine feste Anzahl an Seiten zu einem Block zusammengefasst
- Schreib- und Löschoperationen können nur für komplette Blöcke durchgeführt werden
- Aus diesem Grund sind Löschvorgänge bei Flash-Speicher aufwendiger als Leseoperationen
- Wenn eine Seite verändert werden soll, die bereits Daten enthält, muss der gesamte Block zuerst gelöscht werden
- Dafür muss der gesamte Block in einen Pufferspeicher kopiert werden
- Im Pufferspeicher werden die Daten verändert
- Danach wird der Block im Flash-Speicher gelöscht
- Anschließend wird der komplette Block in die gelöschten Speicherzellen geschrieben