Datenblock
Ein Datenblock (lehnübersetzt aus dem englischen data block) ist eine begrenzte, fallweise festgelegte Anzahl von Bits oder Bytes, die als Transporteinheit behandelt wird. Historisch bedingt wurde und wird dafür, auf hardwarenaher Ebene der Festplatten und Disketten, auch oft der Begriff Sektor verwendet. Der Blockaufbau und die Blockelemente entsprechen den betreffenden Kommunikationsprotokollen.
Blockung
Bei der Blockung muss zwischen physikalischer und logischer Blockgröße unterschieden werden.[1] So werden von der Hardware bestimmte Blockgrößen vorgegeben, wobei auf der Ebene der Software ein Vielfaches davon als logische Blockgröße genutzt werden kann, wie beispielsweise vom Dateisystem in einem Betriebssystem. Bei Datenbanken ist die Blockung von Datensätzen ein elementarer Begriff bei der Speicherung von Daten auf Datenträgern, und bezeichnet das Zusammenfassen von mehreren Datensätzen, die dann als eine Einheit – als logischer Block oder Kontrollintervall – verwaltet (z. B. gespeichert) werden.[2]
Aufgrund des Fortschritts der technologischen Entwicklung werden die von der Hardware zur Verfügung gestellten physikalischen Datenblöcke (bei Festplatten die Sektoren, bei SSDs Seiten bzw. pages)[3] inzwischen auch auf Hardwareebene logisch verwaltet, sodass moderne Blockgeräte den Zugriff auf Datenblöcke logisch abstrahieren.[4]
Massenspeicher
Festplatten und Disketten
Datenblöcke kommen bei Festplatten und Disketten auf verschiedenen Abstraktionsebenen vor:
- Zum einen erfolgt die Kommunikation zwischen Betriebssystem und Gerätecontroller (ist in zeitgenössischen Festplatten eingebaut) sowie auch der Zugriff auf den Datenträger durch den Gerätecontroller blockweise. (Die Größen der Blöcke bei Kommunikation und Zugriff sind normalerweise gleich, außer bei 512e-Festplatten.)
- Diese Datenblöcke werden bisweilen, insbesondere im Umfeld der Microsoft-Betriebssysteme, Sektoren genannt,[5] um sie vom zweiten Fall zu unterscheiden. Das Wort Sektor wird hierbei eigentlich ungenau benutzt, da es traditionellerweise in Analogie zum Begriff Kreissektor benutzt wird. Es steht also eigentlich für alle Datenblöcke im entsprechenden Kreissektor, wobei erst zusammen mit der Kopf- sowie Zylinder-Nummer ein bestimmter Datenblock spezifiziert ist (CHS-Adressierung).
- Zum anderen erfolgt die Organisation der Daten durch das Betriebssystem (genauer: durch den Dateisystem-Treiber) üblicherweise nicht mehr auf der niedrigsten Ebene der Datenblöcke, sondern auf der nächsthöheren, derjenigen der Cluster (dies ist der Terminus unter Windows; dagegen unter Linux: Blöcke).[6]
- Ein Cluster umfasst dabei praktisch immer einen oder mehrere Sektoren (meist eine Zweierpotenz), z. B. acht.
Blockgröße
Ein Datenblock (kurz Block oder Sektor genannt) ist die kleinste in einem Zugriff les- oder schreibbare Einheit einer Festplatte oder Diskette. Traditionell sind Datenblöcke 29 = 512 Byte groß, was der Clustergröße des Ur-Unix-Dateisystems entspricht; seit ca. 2010 gibt es zunehmend Festplatten mit 212 = 4096-Byte-Datenblöcken, was der Mindestclustergröße moderner Betriebssysteme entspricht. (Für Details dazu und Probleme bei der Umstellung siehe Abschnitt Advanced Format im Artikel Festplattenlaufwerk.)
Adressierung
Jeder Datenblock auf einem Datenträger kann eindeutig adressiert werden, wozu es verschiedene Verfahren gibt:
- die CHS-Adressierung (über Zylinder-, Kopf- und Sektornummer) orientiert sich an der Festplattengeometrie. Diese ist bei zeitgenössischen Festplatten allerdings derart komplex, dass sie via CHS nicht mehr abgebildet werden kann. (Daher nimmt der Festplattencontroller bei der CHS-Adressierung auch eine Adressumsetzung vor und spiegelt dem Host (Computer mit Betriebssystem) eine fiktive Geometrie vor, die in den Rahmen der Beschränkungen aufgrund der CHS-Adressierung passt.)
- das modernere LBA-Verfahren (blockbasierte Adressierung) über fortlaufend nummerierte Blöcke.
Compact Disc
2352 Byte, entsprechend 1/75 s Audiodaten, ist die Blockgröße bei Audio-CDs. Auch bei der Datenspeicherung z. B. auf CD-ROM (Mode 1) wird diese Blockgröße verwendet. Darin sind außer 2048 Byte = 2 KiB Nutzdaten als praktikabler Datenmenge zusätzliche Fehlerkorrektur- und Synchronisationsdaten enthalten. Sie verringern die Bitfehlerhäufigkeit um etwa das Zehntausendfache gegenüber dem Wert bei Audio-CDs.
Protokolle
Netzwerk
In Computernetzen werden Datenblöcke eher als Datenpakete bezeichnet. In den meisten Netzwerkprotokollen ist die Paketlänge variabel, es gibt allerdings häufig Mindest- oder Maximallängen für die Pakete. So muss etwa ein Ethernet-Paket mindestens 72 Byte groß sein. Sind weniger Daten zu senden, so wird das Paket künstlich durch Fülldaten (z. B. Nullen) vergrößert, die vom Empfänger ignoriert werden.
SCSI
Das SCSI-Protokoll verwendet Datenblöcke, um Befehle zu senden. Es tritt im Computer außer bei SCSI-Laufwerken u. a. auch bei Laufwerken mit wechselbaren Medien auf (CD- und DVD-Laufwerke). Dort werden Datenpakete als Pakete referenziert, die befehlsweise 10, 12 oder 16 Bytes groß sind.
Einzelnachweise
- ↑ Dieter Harig: UNIX … im Alleingang: Für Einsteiger und Umsteiger. Springer-Verlag, Berlin, Heidelberg 1993, ISBN 978-3-540-55126-3, 5. Dateien – 5.4 Filesystemtypen, S. 101 (eingeschränkte Vorschau in der Google-Buchsuche): „Es ist notwendig, zwischen physikalischen und logischen Blockgrößen zu unterscheiden. Während die Blockung auf physikalischer Ebene von der Hardware immer fest vorgegeben ist, können logisch, das bedeutet auf Programmebene, durchaus größere Blöcke definiert werden.“
- ↑ Hans Joachim Ollmert: Datenstrukturen und Datenorganisationen. 2. Auflage. R. Oldenbourg Verlag GmbH, München 1992, ISBN 3-486-22212-0, 3. Datenblöcke, S. 69 (eingeschränkte Vorschau in der Google-Buchsuche): „Ein elementarer Begriff bei der Speicherung von Daten auf Datenträgern ist der Begriff der Blockung von Datensätzen. Wenn die Datensätze einer Datei geblockt werden, werden sie nicht einzeln auf das externe Medium geschrieben, sondern es werden mehrere Datensätze zu einem logischen Block (englisch: logical block) oder einem Kontrollintervall (englisch: control interval) zusammengefasst und dann als eine Einheit auf dem Datenträger gespeichert.“
- ↑ Marc Brandt: Mac OS Hacking: Professionelle Werkzeuge und Methoden zur forensischen Analyse des Apple-Betriebssystems. Franzis Verlag GmbH, Haar bei München 2017, ISBN 978-3-645-22431-4, 3 Das Mac-OS-Dateisystem im Fokus, S. 71 (eingeschränkte Vorschau in der Google-Buchsuche): „Die physikalische Schicht bezeichnet die Hardware des Datenträgers. Dies sind meist Solid-State-Disk-Speicher (SSD) oder magnetische Festplatten. Die kleinsten Speichereinheiten sind Pages (Seiten) oder Sektoren.“
- ↑ Constantinos A. Loizides: Analyse und Simulation von Fragmentierungseffekten beim “ReiserFS” Dateisystem. ibidem-Verlag, Stuttgart 2012, ISBN 978-3-8382-5561-3, 2.2.8 Das Modell einer SCSI-Festplatte, S. 30 (eingeschränkte Vorschau in der Google-Buchsuche): „Eine SCSI-Festplatte fällt in die SCSI-Klasse der ‚Direktzugriffsgeräte‘ (engl. ‚direct access device‘). Diese Geräte verwalten Daten in logischen Blöcken für späteren Zugriff. Jeder Datenblock in dabei über eine eindeutige logische Blocknummer (LBN), adressierbar. … Im Sinne der Abstraktion der Geräte präsentiert sich eine SCSI-Platte dem Benutzer bzw. Initiator als sequentielle Folge von logischen Blöcken zum Speichern von Benutzerdaten.“
- ↑ Xiaodong Lin: Introductory Computer Forensics: A Hands-on Practical Approach. Springer-Verlag, 2018, ISBN 978-3-03000580-1, 4 Volume Analysis, S. 94, Table 4.1 Definitions and common concepts, doi:10.1007/978-3-030-00581-8 (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “Data block: The smallest unit of storage of a device, typically 512 bytes. Also known as a sector.”
- ↑ Konzepte der Speicheradressierung. In: Linuxtopia. Abgerufen am 17. Februar 2024.