Beim Rechnen (insbesondere Datenübertragung und Datenspeicherung) ist ein Block der manchmal als physischer Datensatz bezeichnet wird, eine Sequenz von Bytes oder Bits, die normalerweise eine ganze Anzahl von Datensätzen enthalten, mit einer maximalen Länge, einer Blockgröße von . [1] Die so strukturierten Daten werden als blockiert . Der Vorgang des Einbringens von Daten in Blöcke wird als Blockieren bezeichnet, während Deblockieren der Vorgang des Extrahierens von Daten aus Blöcken ist. Gesperrte Daten werden normalerweise in einem Datenpuffer gespeichert und jeweils einen ganzen Block gelesen oder geschrieben. Blockieren verringert den Overhead und beschleunigt die Handhabung des Datenstroms. [2] Bei einigen Geräten, z. B. Magnetband- und CKD-Plattengeräten, verringert das Blockieren den für die Daten erforderlichen externen Speicher. Das Blockieren wird fast überall angewendet, wenn Daten auf einem 9-Spur-Magnetband, einem NAND-Flash-Speicher und rotierenden Medien wie Disketten, Festplatten und optischen Discs gespeichert werden.
Die meisten Dateisysteme basieren auf einem Blockgerät, einer Abstraktionsebene für die Hardware, die zum Speichern und Abrufen spezifizierter Datenblöcke verantwortlich ist, obwohl die Blockgröße in Dateisystemen ein Vielfaches der physischen Blockgröße sein kann. Dies führt zu einer Ineffizienz des Speicherplatzes aufgrund interner Fragmentierung, da Dateilängen oft keine ganzzahligen Vielfachen der Blockgröße sind und der letzte Block einer Datei daher teilweise leer bleibt. Dies schafft Spielraum. Einige neuere Dateisysteme wie Btrfs und FreeBSD UFS2 versuchen, dies durch Techniken zu lösen, die als Block-Suballocation und Tail-Mischen bezeichnet werden. Andere Dateisysteme wie ZFS unterstützen variable Blockgrößen. [3] [4]
Blockspeicher werden normalerweise von einem Dateisystem oder Datenbankverwaltungssystem (DBMS) zur Verwendung abstrahiert von Anwendungen und Endbenutzern. Die physischen oder logischen Datenträger, auf die über -Block-E / A zugegriffen wird, können interne Geräte eines Servers sein, die direkt über SCSI oder Fibre Channel angeschlossen sind, oder entfernte Geräte, auf die über ein Storage Area Network (SAN) mit einem Protokoll wie z iSCSI oder AoE. DBMS verwenden häufig ihre eigenen Block-E / A, um die Leistung und Wiederherstellbarkeit zu verbessern, verglichen mit dem Layering des DBMS auf einem Dateisystem.
No comments:
Post a Comment