DE10228128B4 - Verfahren zur Speicherung von Daten, Verfahren zum Lesen von Daten, Vorrichtung zur Komprimierung von Daten und Vorrichtung zur Dekomprimierung von Daten - Google Patents

Verfahren zur Speicherung von Daten, Verfahren zum Lesen von Daten, Vorrichtung zur Komprimierung von Daten und Vorrichtung zur Dekomprimierung von Daten Download PDF

Info

Publication number
DE10228128B4
DE10228128B4 DE10228128A DE10228128A DE10228128B4 DE 10228128 B4 DE10228128 B4 DE 10228128B4 DE 10228128 A DE10228128 A DE 10228128A DE 10228128 A DE10228128 A DE 10228128A DE 10228128 B4 DE10228128 B4 DE 10228128B4
Authority
DE
Germany
Prior art keywords
data
mass storage
data blocks
storage device
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10228128A
Other languages
English (en)
Other versions
DE10228128A1 (de
Inventor
Andreas Baenisch
Werner Obermaier
Sabine Kling
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Polaris Innovations Ltd
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10228128A priority Critical patent/DE10228128B4/de
Priority to US10/602,403 priority patent/US6819627B2/en
Publication of DE10228128A1 publication Critical patent/DE10228128A1/de
Application granted granted Critical
Publication of DE10228128B4 publication Critical patent/DE10228128B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Verfahren zur Speicherung von Daten auf einem Massenspeicher durch ein Computersystem, welches Computersystem die Daten dem Massenspeichers zur Speicherung nach den Regeln eines Filesystems aufgebaut zuführt, welcher Massenspeicher vom wahlfreien Zugriffstyp ist, bei dem die Daten in Daten-Blöcken (1, 2, 3) organisiert sind, wobei die Daten-Blöcke zur Ablage nach den Regeln eines Filesystems eines die Daten liefernden Computersystems auf dem Massenspeicher vorgesehen sind, wobei die Daten-Blöcke Organisationsinformationen (21, 31, 22, 32, 23, 33), die am Anfang und am Ende eines Daten-Blocks angeordnet sind, zur Verwaltung der Daten-Blöcke und die zu speichernde Nutz-Information enthalten, wobei zusammenhängende Nutz-Informationsbereiche (11, 12, 13) über mehrere, dann mittels ihrer Organisationsinformationen miteinander verketteter, Daten-Blöcke verteilt sein können, wobei die zusammenhängende Nutz-Information eines oder mehrerer Daten-Blöcke von der Organisationsinformation abgetrennt wird und fortlaufend zusammengestellt wird (10) und in einem darauffolgenden Schritt mittels eines Daten-Komprimierungsverfahrens komprimiert (K) werden, worauf die so gewonnene komprimierte Datenmenge zu einzelnen in...

Description

  • Die Erfindung betrifft Verfahren zum Lesen und Verfahren zum Speichern von Daten nach dem Oberbegriff der Ansprüche 1 und 2 sowie 11 und 12, sowie eine Vorrichtung zur Komprimierung von Daten und Dekomprimierung von Daten nach dem Oberbegriff des Anspruchs 21 und 28.
  • Bei modernen Computersystemen wird mit immer komplizierteren und leistungsfähigeren Anwendungen immer mehr Speicherplatz auf den zu Computersystemen gehörenden Massenspeichern benötigt. Diese Massenspeicher müssen dabei möglichst schnellen Datenzugriff ermöglichen, um hier nicht als Flaschenhals bezüglich der Leistung des Computersystems zu wirken. Bei sehr hohem Datenspeicherbedarf ist daher eine Verwendung von Massenspeichern, die einen wahlfreien Zugriff ermöglichen wünschenswert.
  • Die zur Verfügung stehenden Kapazitäten der Massenspeicher in einem üblichen Computersystem ist jedoch begrenzt, sodass sehr Speicheraufwendige Anwendungen oder Datenbestände umständlich ausgelagert werden müssen, um den ständig steigenden Speicherplatzbedarf zu decken.
  • Aus der WO 01/80000 A2 ist ein Verfahren und System zum Speichern von Dateisystemdaten in Speicherbereichen eines Halbleiterspeichers beschrieben. Dabei werden Dateisystemdaten in eine Anzahl von gleich großen Dateiblöcken unterteilt, welche in Blöcke variabler Länge komprimiert und dann verkettet werden. Es ist dadurch zwar eine erhöhte Speicherplatzausbeute in Halbleiterspeichern möglich, eine Anwendung auf wahlfreie Massenspeicher ist jedoch nicht diskutiert.
  • In der US 5,574,907 ist ein Verfahren und eine Vorrichtung zum Defragmentieren von komprimierten Dateien auf einer Festplatte beschrieben. Das entsprechende Verfahren sieht eine Defragmentierung auf einer Festplatte dann vor, wenn durch Komprimierung von Datenblöcken zwischen den komprimierten Blöcken freier Speicherplatz entsteht. Die Defragmentierung besteht darin, die komprimierten Datenblöcke an den Speicheranfang zu schieben und durch die Komprimierung freigewordene Lücken im Speicher an das Speicherende zu schieben. Ein datenblockweises Komprimieren erfordert gerade diesen Schritt der Defragmentierung.
  • Aufgabe der Erfindung ist es also Verfahren zum Speichern und Verfahren zum Lesen von Daten sowie eine Vorrichtung zur Komprimierung von Daten und eine Vorrichtung zur Dekomprimierung von Daten zur Verfügung zu stellen, bei dem herkömmliche wahlfreie Massenspeicher und Computersysteme Anwendung finden, wobei jedoch wesentlich höhere Datenmengen gespeichert werden können und eine Fragmentierung der Daten weitestgehend vermieden ist.
  • Diese Aufgabe wird durch ein Verfahren zur Speicherung von Daten nach dem Anspruch 1 und nach dem Anspruch 2, ein Verfahren zum Lesen von Daten nach dem Anspruch 11 und nach Anspruch 12, sowie durch eine Vorrichtung zur Komprimierung von Daten nach Anspruch 21 und eine Vorrichtung zur Dekomprimierung von Daten nach Anspruch 28 gelöst.
  • Weitere Vorteile, Besonderheiten und zweckmäßige Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen oder deren Unterkombinationen.
  • Nachfolgend wird die Erfindung anhand der Zeichnung weiter erläutert.
  • Dabei zeigt:
  • 1 eine zusammengehörende Gruppe von drei Daten-Blöcken mit unkomprimierten Nutz-Informationen,
  • 2 einen schematischen Komprimierungs-Ablauf der reinen Nutz-Informationen,
  • 3 zwei Daten-Blöcke mit komprimierten Nutz-Informationen,
  • 4 eine zusammengehörende Gruppe von drei Daten-Blöcken mit unkomprimierten Nutz-Informationen,
  • 5 einen schematischen Komprimierungs-Ablauf der Daten-Blöcke,
  • 6 zwei Daten-Blöcke mit komprimierten Daten-Blöcken als Nutz-Informationen, und
  • 7 einen schematischen Aufbau einer erfindungsgemäßen Vorrichtung.
  • In den Figuren gleiche Bezugszeichen bezeichnen gleiche oder gleich wirkende Elemente.
  • Die 1 bis 3 zeigt schematisch die Veränderung von Daten-Blöcken bei Anwendung des erfindungsgemäßen Verfahrens zur Speicherung. Gezeigt ist in 1 eine zusammengehörende Gruppe von drei Daten-Blöcken 1, 2 und 3 mit unkomprimierten Nutz-Informationen 11, 12 und 13 auf einem Massenspeicher. Die Nutz-Information ist dabei für einen Block zu lang, sodass sie auf drei Daten-Blöcke aufgeteilt worden ist. Die Daten-Blöcke 1 werden dann mittels ihrer Organisationsinformation am Anfang 21 und am Ende 31 des Daten-Blocks miteinander verkettet. Dies geschieht mittels sogenannter Blockpointer. Diese Blockpointer geben jeweils am Ende des Daten-Blocks an (oder auch alle Information in einem Organisationsdatenbereich am Anfang eines Daten-Blocks), wo der sich in Bezug auf die Nutz-Information nächste Daten-Block auf dem Massenspeicher befindet. Die Nutz-Information ist dabei fast immer unkomprimiert.
  • 2 zeigt den Daten-Zustand nachdem die zusammenhängende Nutz-Information 11, 12, 13 der drei Daten-Blöcke von der Organisationsinformation abgetrennt worden ist und fortlaufend (10) zusammengestellt wurde.
  • Im Schritt des Daten-Komprimierens (K) werden diese Daten dann komprimiert, was die Datenmenge verringert.
  • 3 zeigt das Ergebnis der darauffolgenden Schritte, nachdem die so gewonnene komprimierte Datenmenge zu einzelnen in bezüglich ihrer Datenlänge vorgewählten Komprimiert-Daten-Pakete 41 und 42 zerteilt worden ist – beispielsweise ein Vielfaches von 1024 Bytes – und diese in zwei Komprimiert-Daten-Blöcke mit Organisationsinformationen (21, 31 und 22, 32) versehen worden ist. Diese Organisationsinformationen ist zur Verwaltung der Daten-Blöcke auf dem Massenspeicher notwendig und ist nach den Regeln des Filesystems des die Daten liefernden Computersystems generiert worden. Die zusammengehörenden Komprimiert-Daten-Blöcke mit ihren zusammenhängenden komprimierten Daten (die Nutz-Information) sind dabei mittels der Organisationsinformationen miteinander verkettet und können daher verteilt auf dem Massenspeicher abgelegt werden.
  • 4 bis 6 zeigt die Daten bzw. die Daten-Blöcke nach dem zweiten Verfahren zur Speicherung von Daten auf einem Massenspeicher durch ein Computersystem.
  • Wie in 5 dargestellt, werden hier jedoch die mittels ihrer Organisationsinformationen miteinander gegebenenfalls verketteten Daten-Blöcke 1 bis 3 entsprechend der Verkettung vor deren Ablegen auf dem Massenspeicher fortlaufend als ganzes mit der Organisationsinformation mittels eines Daten-Komprimierungsverfahrens zu einer komprimierten Datenmenge 40 komprimiert (K).
  • Diese so gewonnene komprimierte Datenmenge wird zu einzelnen in bezüglich ihrer Datenlänge vorgewählten Komprimiert-Daten-Paketen zerteilt. Diese so gewonnenen Komprimiert-Daten-Pakete werden dann in Komprimiert-Daten-Blöcke mit Organisationsinformationen zur Verwaltung auf dem Massenspeicher umgewandelt (siehe 6).
  • Die zusammengehörenden Komprimiert-Daten-Blöcke mit zusammenhängenden komprimierten Daten werden also wieder über mehre, mittels ihrer Organisationsinformationen miteinander verketteter Komprimiert-Daten-Blöcke verteilt und auf dem Massenspeicher abgelegt.
  • Als Daten-Komprimierungsverfahren kann ein Huffmann-, 1-Byterun-, LhA-, ZIP- oder RAR-Verfahren oder irgendein anderes Komprimierungsverfahren angewendet werden.
  • 7 zeigt schematisch den Aufbau einer Vorrichtung mittels derer eine Kompression (Schreibvorgang) und eine Dekompression (Lesevorgang) vorgenommen werden kann.
  • Ein Computersystem 51 liefert und verlangt die Daten D. Diese sind so aufbereitet, dass sie für die Kommunikation mit einem gängigen Massenspeichermedium in Form einer Festplatte ausgelegt sind.
  • Zunächst regelt eine Eingabe-/Ausgabe-Vorrichtung 52 den Datenfluss. Die zu schreibenden Daten – in Form von Daten-Blöcken werden zunächst dem Schreib-Speicher 53 zugeführt, wo diese gespeichert werden.
  • Die Sortierungseinrichtung 55 eine Sortierungseinrichtung stellt die Daten-Blöcke entsprechend der Reihenfolge der in den Daten-Blöcken enthaltenen, und gegebenenfalls über mehrere Daten-Blöcke verteilten Nutz-Information fortlaufend zu einem Daten-Gesamt-Paket zusammen.
  • Die der Sortierungseinrichtung 55 zugeordnete Daten-Komprimierungs-Einrichtung 57 komprimiert das Daten-Gesamt-Paket nach dem im Programmspeicher 58 abgelegten Daten-Komprimierungsverfahren.
  • Hiernach werden die komprimierten Daten in Daten-Pakte zerteilt und diese als Komprimiert-Daten-Blöcke mit Organisationsinformationen zur Verwaltung und Verkettung derselben auf dem Massenspeicher 60 (Festplatte) abspeichert.
  • Es ist natürlich genauso denkbar, erst Pakete abzuteilen, und diese dann zu komprimieren; dies würde aber die Effektivität bei vorgegebener Blocklänge einschränken.
  • Die Sortierungseinrichtung 55 kann auch bei der Zusammenstellung des Daten-Gesamt-Pakets die Organisationsinformationen des Filesystems des Computersystems abtrennen und nur die reinen Nutz-Daten fortlaufend zusammenstellen. Dies entspricht dann den vorbeschriebenen zwei Varianten des Schreib-Verfahrens.
  • Die Komprimiert-Daten-Blöcke können dabei nach den Regeln des Filesystems des die Daten liefernden Computersystems organisiert aufgebaut sein. Das hat den Vorteil, dass diese durch das Computersystem selbst wieder ausgelesen werden könnten. Es ist aber auch denkbar hier ganz andere, der Vorrichtung eigene Organisationsstrukturen zu verwenden.
  • Der Programmspeicher 58 hat den Vorteil, dass nicht starr nur ein Verfahren zur Komprimierung angewendet werden kann, sondern, dass durch einen Programmierungseingriff P von außen eine variable Programmierung vorgenommen werden kann.
  • Bei einem Lesevorgang werden die Elemente der Vorrichtung wie folgt aktiviert. Zunächst werden die Daten-Blöcke von dem Massenspeicher 60 gelesen, worauf die zusammenhängende Nutz-Information eines oder mehrerer Daten-Blöcke von der Organisationsinformation abgetrennt wird und fortlaufend zusammengehörend, entsprechend ihrer Verkettung, in den Zwischenspeicher 59 abgelegt wird.
  • Im darauffolgenden Schritt werden die Nutz-Informationen mittels des im Programmspeicher 58 gespeicherten Daten-Dekomprimierungsverfahrens mittels der Daten-Dekomprimierungs-Einrichtung 56 dekomprimiert.
  • Die dekomprimierten Daten werden dem Computersystem 51 zum Auslesen in einem Lesespeicher 54 zur Verfügung gestellt.
  • Die Daten werden dabei in nach den Regeln des Filesystems des die Daten auslesenden Computersystems aufgebauten Daten-Blöcke – also mit entsprechender Organisationsinformation – aufbereitet und nach dem Filesystem organisiert in dem Lesespeicher 54 zum Abruf durch das Computersystem abgelegt.
  • Die Vorrichtung kann dabei in der Festplatte selber, oder in dem ihr zugeordneten Controller ausgebildet sein, was den Einsatz eines gängigen Computersystems einerseits und einer handelsüblichen Festplatte andererseits möglich macht.

Claims (33)

  1. Verfahren zur Speicherung von Daten auf einem Massenspeicher durch ein Computersystem, welches Computersystem die Daten dem Massenspeichers zur Speicherung nach den Regeln eines Filesystems aufgebaut zuführt, welcher Massenspeicher vom wahlfreien Zugriffstyp ist, bei dem die Daten in Daten-Blöcken (1, 2, 3) organisiert sind, wobei die Daten-Blöcke zur Ablage nach den Regeln eines Filesystems eines die Daten liefernden Computersystems auf dem Massenspeicher vorgesehen sind, wobei die Daten-Blöcke Organisationsinformationen (21, 31, 22, 32, 23, 33), die am Anfang und am Ende eines Daten-Blocks angeordnet sind, zur Verwaltung der Daten-Blöcke und die zu speichernde Nutz-Information enthalten, wobei zusammenhängende Nutz-Informationsbereiche (11, 12, 13) über mehrere, dann mittels ihrer Organisationsinformationen miteinander verketteter, Daten-Blöcke verteilt sein können, wobei die zusammenhängende Nutz-Information eines oder mehrerer Daten-Blöcke von der Organisationsinformation abgetrennt wird und fortlaufend zusammengestellt wird (10) und in einem darauffolgenden Schritt mittels eines Daten-Komprimierungsverfahrens komprimiert (K) werden, worauf die so gewonnene komprimierte Datenmenge zu einzelnen in bezüglich ihrer Datenlänge vorgewählten Komprimiert-Daten-Pakete (41, 42) zerteilt wird, wobei die Komprimiert-Daten-Pakete in Komprimiert-Daten-Blöcken mit Organisationsinformationen (21, 31, 22, 32) zur Verwaltung auf dem Massenspeicher nach den Regeln des Filesystems des die Daten liefernden Computersystems organisiert abgelegt werden, wobei mehrere zusammengehörende Komprimiert-Daten-Blöcke mit zusammenhängenden komprimierten Daten über mehrere, mittels ihrer Organisationsinformationen miteinander verketteter Komprimiert-Daten-Blöcke verteilt auf dem Massenspeicher abgelegt werden.
  2. Verfahren zur Speicherung von Daten auf einem Massenspeicher durch ein Computersystem, welches Computersystem die Daten dem Massenspeichers zur Speicherung nach den Regeln eines Filesystems aufgebaut zuführt, welcher Massenspeicher vom wahlfreien Zugriffstyp ist, bei dem die Daten in Daten-Blöcken organisiert sind, wobei die Daten-Blöcke zur Ablage nach den Regeln eines Filesystems eines die Daten liefernden Computersystems auf dem Massenspeicher vorgesehen sind, wobei die Daten-Blöcke Organisationsinformationen, die am Anfang und am Ende eines Daten-Blocks angeordnet sind, zur Verwaltung der Daten-Blöcke und die zu speichernde Nutz-Information enthalten, wobei zusammenhängende Nutz-Informationsbereiche über mehrere, dann mittels ihrer Organisationsinformationen miteinander verketteter, Daten-Blöcke verteilt sein können, wobei die mittels ihrer Organisationsinformationen miteinander gegebenenfalls verketteten Daten-Blöcke entsprechend der Verkettung vor deren Ablegen auf dem Massenspeicher fortlaufend mittels eines Daten-Komprimierungsverfahrens zu einer komprimierten Datenmenge komprimiert werden, und die so gewonnene komprimierte Datenmenge zu einzelnen in bezüglich ihrer Datenlänge vorgewählten Komprimiert-Daten-Pakete zerteilt wird, wobei die Komprimiert-Daten-Pakete in Komprimiert-Daten-Blöcken mit Organisationsinformationen zur Verwaltung auf dem Massenspeicher abgelegt werden, wobei mehrere zusammengehörende Komprimiert-Daten-Blöcke mit zusammenhängenden komprimierten Daten über mehrere, mittels ihrer Organisationsinformationen miteinander verketteter Komprimiert-Daten-Blöcke verteilt auf dem Massenspeicher abgelegt werden.
  3. Verfahren zur Speicherung von Daten auf einem Massenspeicher nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass als Daten-Komprimierungsverfahren ein Huffmann-, 1-Byterun-, LhA-, ZIP- oder RAR-Verfahren angewendet wird.
  4. Verfahren zur Speicherung von Daten auf einem Massenspeicher nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das Daten-Komprimierungsverfahren in einem hierzu vorgesehenen programmierbaren Programmspeicher abgelegt wird.
  5. Verfahren zur Speicherung von Daten auf einem Massenspeicher nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die vom Computersystem zur Speicherung auf dem Massenspeicher vorgesehenen Daten-Blöcke zunächst in einem Schreib-Speicher zwischengespeichert werden.
  6. Verfahren zur Speicherung von Daten auf einem Massenspeicher nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Organisationsinformationen Start-, End-, und Verkettungsinformationen (Blockpointer) sind.
  7. Verfahren zur Speicherung von Daten auf einem Massenspeicher nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Komprimiert-Daten-Blöcke den gleichen Aufbau wie die Daten-Blöcke des Filesystems haben.
  8. Verfahren zur Speicherung von Daten auf einem Massenspeicher nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass auf dem Massenspeicher eine Tabelle vorgesehen ist, in der Informationen über die Belegung des Massenspeichers mit Daten-Blöcken geführt werden, wobei diese Tabelle nach der Anwendung des Daten-Komprimierungsverfahrens und dem Ablegen auf der Daten-Blöcke mit den komprimierten Nutz-Informationen oder die Komprimiert-Daten-Blöcke dem Massenspeicher entsprechend deren neuer Länge und/oder Anzahl und/oder Speicherposition modifiziert wird.
  9. Verfahren zur Speicherung von Daten auf einem Massenspeicher nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Daten-Blöcke feste Längen zu 1024 Bytes oder einem Vielfachen davon haben.
  10. Verfahren zur Speicherung von Daten auf einem Massenspeicher nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass der Massenspeicher eine Festplatte ist.
  11. Verfahren zum Lesen von Daten von einem Massenspeicher (60) durch ein Computersystem (51), welches Computersystem nach den Regeln eines Filesystems auf die gespeicherten Daten des Massenspeichers zugreift, welcher Massenspeicher vom wahlfreien Zugriffstyp ist, bei dem die Daten in Daten-Blöcken organisiert sind, wobei die Daten-Blöcke nach den Regeln des Filesystems eines die Daten abfragenden Computersystems auf dem Massenspeicher abgelegt sind, wobei die Daten-Blöcke Organisationsinformationen, die am Anfang und am Ende eines Daten-Blocks angeordnet sind, zur Verwaltung der Daten-Blöcke und die zu lesende Nutz-Information enthalten, wobei zusammenhängende Nutz-Informationsbereiche über mehrere, dann mittels ihrer Organisationsinformationen miteinander verketteter, Daten-Blöcke verteilt sein können, wobei die Daten-Blöcke von dem Massenspeicher gelesen werden, worauf die zusammenhängende Nutz-Information eines oder mehrerer Daten-Blöcke von der Organisationsinformation abgetrennt wird und fortlaufend zusammengehörend, entsprechend ihrer Verkettung, in einem Zwischenspeicher abgelegt wird, und in einem darauffolgenden Schritt mittels eines Daten-Dekomprimierungsverfahrens dekomprimiert werden, die dekomprimierten Nutz-Informationen werden darauf in unkomprimierte Daten-Blöcke zerteilt und nach den Regeln des Filesystems mit Organisationsinformationen über einen Lese-Speicher miteinander verkettet, und zum Abruf durch das Computersystem in einem Lese-Speicher bereitgestellt.
  12. Verfahren zum Lesen von Daten von einem Massenspeicher durch ein Computersystem, welches Computersystem nach den Re geln eines Filesystems auf die gespeicherten Daten des Massenspeichers zugreift, welcher Massenspeicher vom wahlfreien Zugriffstyp ist, bei dem die Daten in Daten-Blöcken organisiert sind, wobei die Daten-Blöcke Organisationsinformationen, die am Anfang und am Ende eines Daten-Blocks angeordnet sind, zur Verwaltung der Daten-Blöcke und die zu lesende Nutz-Information enthalten, wobei zusammenhängende Nutz-Informationsbereiche über mehrere, dann mittels ihrer Organisationsinformationen miteinander verketteter, Daten-Blöcke verteilt sein können, wobei die Daten-Blöcke von dem Massenspeicher gelesen werden, worauf die zusammenhängende Nutz-Information eines oder mehrerer Daten-Blöcke von der Organisationsinformation abgetrennt wird und fortlaufend zusammengehörend, entsprechend ihrer Verkettung, in einem Zwischenspeicher abgelegt wird, wobei die Nutzinformation komprimierte Komprimiert-Daten-Blöcke sind, die nach den Regeln eines Filesystems aufgebaut sind und in einem darauffolgenden Schritt mittels eines Daten-Dekomprimierungsverfahrens dekomprimiert werden, die dekomprimierten, nach den Regeln des Filesystems des die Daten auslesenden Computersystems aufgebauten Daten-Blöcke werden darauf nach den Regeln des Filesystems organisiert in einem Lesespeicher zum Abruf durch das Computersystem abgelegt.
  13. Verfahren zum Lesen von Daten von einem Massenspeicher nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass als Daten-Komprimierungsverfahren ein Huffmann-, 1-Byterun-, LhA-, ZIP- oder RAR-Verfahren angewendet wird.
  14. Verfahren zum Lesen von Daten von einem Massenspeicher nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass das Daten-Komprimierungsverfahren in einem hierzu vorgesehenen programmierbaren Programmspeicher (58) abgelegt wird.
  15. Verfahren zum Lesen von Daten von einem Massenspeicher nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet, dass die vom Computersystem (51) zur Speicherung auf dem Massenspeicher (60) vorgesehenen Daten-Blöcke (1, 2, 3) zunächst in einem Schreib-Speicher (53) zwischengespeichert werden.
  16. Verfahren zum Lesen von Daten von einem Massenspeicher nach einem der Ansprüche 11 bis 15, dadurch gekennzeichnet, dass die Organisationsinformationen Start-, End-, und Verkettungsinformationen (Blockpointer) sind, die insbesondere am Anfang und am Ende eines Daten-Blocks angeordnet sind.
  17. Verfahren zum Lesen von Daten von einem Massenspeicher nach einem der Ansprüche 11 bis 16, dadurch gekennzeichnet, dass die Komprimiert-Daten-Blöcke den gleichen Aufbau wie die -Daten-Blöcke haben.
  18. Verfahren zum Lesen von Daten von einem Massenspeicher nach einem der Ansprüche 11 bis 17, dadurch gekennzeichnet, dass auf dem Massenspeicher eine Tabelle vorgesehen ist, in der Informationen über die Belegung des Massenspeichers mit Daten-Blöcken geführt werden, wobei diese Tabelle nach der Anwendung des Daten-Komprimierungsverfahrens und dem Ablegen auf der Daten-Blöcke mit den komprimierten Nutz-Informationen oder die Komprimiert-Daten-Blöcke dem Massenspeicher entsprechend deren neuer Länge und/oder Anzahl und/oder Speicherposition modifiziert wird.
  19. Verfahren zum Lesen von Daten von einem Massenspeicher nach einem der Ansprüche 11 bis 18, dadurch gekennzeichnet, dass die Daten-Blöcke feste Längen zu 1024 Bytes oder einem Vielfachen davon haben.
  20. Verfahren zum Lesen von Daten von einem Massenspeicher nach einem der Ansprüche 11 bis 19, dadurch gekennzeichnet, dass der Massenspeicher eine Festplatte ist.
  21. Vorrichtung zur Komprimierung von Daten, welche zur Speicherung durch ein Computersystem (51) auf einen Massenspeicher (60) vom wahlfreien Zugriffstyp vorgesehen sind, welches Computersystem die Daten zur Speicherung auf einem Massenspeicher nach den Regeln eines Filesystems aufgebaut zur Verfügung stellt, wobei die Daten in Daten-Blöcken organisiert sind, wobei die Daten-Blöcke Organisationsinformationen, die am Anfang und am Ende eines Daten-Blocks angeordnet sind, zur Verwaltung der Daten-Blöcke und die zu speichernde Nutz-Information enthalten, wobei zusammenhängende Nutz-Informationsbereiche über mehrere, dann mittels ihrer Organisationsinformationen miteinander verketteter, Daten-Blöcke verteilt sein können, wobei eine Sortierungseinrichtung (55) vorgesehen ist, die die Daten-Blöcke entsprechend der Reihenfolge der in den Daten-Blöcken enthaltenen, über mehrere Daten-Blöcke verteilten Nutz-Information fortlaufend zu einem Daten-Gesamt-Paket zusammenstellt und eine Daten-Komprimierungs-Einrichtung (57) vorgehen ist, die das Daten-Gesamt-Paket nach einem Daten-Komprimierungsverfahrens komprimiert und die komprimierten Daten in Daten-Pakte zerteilt und diese als Komprimiert-Daten-Blöcke mit Organisationsinformationen zur Verwaltung und Verkettung derselben auf dem Massenspeicher (60) abspeichert.
  22. Vorrichtung zur Komprimierung von Daten nach Anspruch 21, dadurch gekennzeichnet, dass die Sortierungseinrichtung (55) bei der Zusammenstellung des Daten-Gesamt-Pakets die Organisationsinformationen des Filesystems des Computersystems (51) abtrennt und nur die reinen Nutz-Daten fortlaufend zusammenstellt.
  23. Vorrichtung zur Komprimierung von Daten nach Anspruch 21 oder 22, dadurch gekennzeichnet, dass die Komprimiert-Daten-Blöcke nach den Regeln des Filesystems des die Daten liefernden Computersystems (51) organisiert aufgebaut sind.
  24. Vorrichtung zur Komprimierung von Daten nach einem der Ansprüche 21 bis 23, dadurch gekennzeichnet, dass ein Schreib-Speicher (53) zur Zwischenspeicherung der Daten-Blöcke, die vom Computersystem im Format des Filesystems geliefert werden vorgesehen ist.
  25. Vorrichtung zur Komprimierung von Daten nach einem der Ansprüche 21 bis 24, dadurch gekennzeichnet, dass ein Verfahrens-Programmspeicher (58) vorgesehen ist, in dem das Komprimierungsverfahren für die Daten-Komprimierungs-Einrichtung und/oder die Sortierungsvorschrift für die Sortierungseinrichtung abgelegt ist.
  26. Vorrichtung zur Komprimierung von Daten nach Anspruch 25, dadurch gekennzeichnet, dass der Verfahrens-Programmspeicher reversibel programmierbar ist.
  27. Vorrichtung zur Komprimierung von Daten nach einem der Ansprüche 21 bis 26, dadurch gekennzeichnet, dass der Massenspeicher (60) eine Festplatte ist und/oder dass die Vorrichtung in der Festplatte ausgebildet ist.
  28. Vorrichtung zur Dekomprimierung von Daten, welche auf einem Massenspeicher vom wahlfreien Zugriffstyp gespeichert sind, wobei die Daten in Daten-Blöcken organisiert sind, wobei die Daten-Blöcke Organisationsinformationen, die am Anfang und am Ende eines Daten-Blocks angeordnet sind, zur Verwaltung der Daten-Blöcke und die zu speichernde Nutz-Information enthalten, wobei zusammenhängende Nutz-Informationsbereiche über mehrere, dann mittels ihrer Organisationsinformationen miteinander verketteter, Daten-Blöcke verteilt sein können, wobei eine Dekomprimierungs-Einrichtung vorgehen ist, die die Daten-Blöcke nach auslesen aus dem Massenspeicher entsprechend ihrer darin befindlicher Nutz-Information zusammengehörend gemäß deren Verkettung fortlaufend unter Abtrennung der Organisationsinformationen zusammenstellt, und hierauf die Daten nach einem Daten-Dekomprimierungsverfahren dekomprimiert und die dekomprimierten Daten in einem hierzu vorgesehen Lese-Speicher zum Auslesen durch ein Computersystem ablegt.
  29. Vorrichtung zur Dekomprimierung von Daten nach Anspruch 28, dadurch gekennzeichnet, dass die dekomprimierten Daten in Daten-Pakte zerteilt und diese als Daten-Blöcke mit Organisationsinformationen zur Verwaltung, nach den Regeln des Filesystems des die Daten abrufenden Computersystems, im Lesespeicher zum Auslesen durch ein Computersystem ablegt werden.
  30. Vorrichtung zur Dekomprimierung von Daten nach Anspruch 28 oder 29, dadurch gekennzeichnet, dass ein Verfahrens-Programmspeicher (58) vorgesehen ist, in dem das Dekomprimierungsverfahren für die Daten-Dekomprimierungs-Einrichtung (56) abgelegt ist.
  31. Vorrichtung zur Dekomprimierung von Daten nach Anspruch 30, dadurch gekennzeichnet, dass der Verfahrens-Programmspeicher reversibel programmierbar ist.
  32. Vorrichtung zur Dekomprimierung von Daten nach einem der Ansprüche 28 bis 31, dadurch gekennzeichnet, dass der Massenspeicher eine Festplatte ist.
  33. Vorrichtung zur Dekomprimierung von Daten nach einem der Ansprüche 28 bis 32, dadurch gekennzeichnet, dass die Vorrichtung in einer Festplatte oder einem Festplattencontroller ausgebildet ist.
DE10228128A 2002-06-24 2002-06-24 Verfahren zur Speicherung von Daten, Verfahren zum Lesen von Daten, Vorrichtung zur Komprimierung von Daten und Vorrichtung zur Dekomprimierung von Daten Expired - Fee Related DE10228128B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10228128A DE10228128B4 (de) 2002-06-24 2002-06-24 Verfahren zur Speicherung von Daten, Verfahren zum Lesen von Daten, Vorrichtung zur Komprimierung von Daten und Vorrichtung zur Dekomprimierung von Daten
US10/602,403 US6819627B2 (en) 2002-06-24 2003-06-23 Method for storing data, method for reading data, apparatus for storing data and apparatus for reading data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10228128A DE10228128B4 (de) 2002-06-24 2002-06-24 Verfahren zur Speicherung von Daten, Verfahren zum Lesen von Daten, Vorrichtung zur Komprimierung von Daten und Vorrichtung zur Dekomprimierung von Daten

Publications (2)

Publication Number Publication Date
DE10228128A1 DE10228128A1 (de) 2004-01-22
DE10228128B4 true DE10228128B4 (de) 2004-09-23

Family

ID=29761343

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10228128A Expired - Fee Related DE10228128B4 (de) 2002-06-24 2002-06-24 Verfahren zur Speicherung von Daten, Verfahren zum Lesen von Daten, Vorrichtung zur Komprimierung von Daten und Vorrichtung zur Dekomprimierung von Daten

Country Status (2)

Country Link
US (1) US6819627B2 (de)
DE (1) DE10228128B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229902B2 (en) * 2006-11-01 2012-07-24 Ab Initio Technology Llc Managing storage of individually accessible data units
US7885932B2 (en) * 2006-11-01 2011-02-08 Ab Initio Technology Llc Managing storage of individually accessible data units
AU2014202186B2 (en) * 2006-11-01 2016-03-03 Ab Initio Technology Llc Managing storage of individually accessible data units
US9852143B2 (en) 2010-12-17 2017-12-26 Microsoft Technology Licensing, Llc Enabling random access within objects in zip archives
US20130013605A1 (en) 2011-07-08 2013-01-10 Stanfill Craig W Managing Storage of Data for Range-Based Searching
US20130067237A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Providing random access to archives with block maps
US8839446B2 (en) 2011-09-12 2014-09-16 Microsoft Corporation Protecting archive structure with directory verifiers
US8819361B2 (en) 2011-09-12 2014-08-26 Microsoft Corporation Retaining verifiability of extracted data from signed archives
US8972967B2 (en) 2011-09-12 2015-03-03 Microsoft Corporation Application packages using block maps

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574907A (en) * 1994-11-30 1996-11-12 Microsoft Corporation Two-pass defragmentation of compressed hard disk data with a single data rewrite
WO2000077615A2 (en) * 1999-06-11 2000-12-21 Microsoft Corporation Network file system
WO2001080000A2 (en) * 2000-04-12 2001-10-25 Intel Corporation Accessing file data stored in non-volatile re-programmable semiconductor memories

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794228A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with buffer manager providing per page native data compression and decompression

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574907A (en) * 1994-11-30 1996-11-12 Microsoft Corporation Two-pass defragmentation of compressed hard disk data with a single data rewrite
WO2000077615A2 (en) * 1999-06-11 2000-12-21 Microsoft Corporation Network file system
WO2001080000A2 (en) * 2000-04-12 2001-10-25 Intel Corporation Accessing file data stored in non-volatile re-programmable semiconductor memories

Also Published As

Publication number Publication date
US20040049485A1 (en) 2004-03-11
US6819627B2 (en) 2004-11-16
DE10228128A1 (de) 2004-01-22

Similar Documents

Publication Publication Date Title
DE69626569T2 (de) Datenkompressionsverfahren und Struktur für eine Speichereinheit mit direktem Zugriff
DE60205238T2 (de) Verfahren und gerät zur aufzeichnung von dateien auf einem sequentiellen datenträger und ein sequentieller datenträger
DE102020106971A1 (de) Datenschreibverwaltung im nichtflüchtigen speicher
DE112010003662B4 (de) Ausgleich nachlassender Funktionsfähigkeit von Halbleiterdatenträgern auf der Grundlage der von einer RAID-Steuereinheit empfangenen Daten- und Paritätsnutzungsinformationen
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE112013000900B4 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
DE10228128B4 (de) Verfahren zur Speicherung von Daten, Verfahren zum Lesen von Daten, Vorrichtung zur Komprimierung von Daten und Vorrichtung zur Dekomprimierung von Daten
DE102011056563A1 (de) Datenkompressionsvorrichtungen, Betriebsverfahren dafür und Datenverarbeitungsgeräte einschließlich derselben
DE112012002452T5 (de) Anpassungsfähiges Zwischenspeichern von Datensätzen für Halbleiterplatten
DE69819853T2 (de) Speichersystem mit einer Mehrzahl von sich an mehrere Datenformate anpassenden Schnittstellen
DE112011102139T5 (de) Bandspeichereinheit und Schreibverfahren dafür
DE3039285A1 (de) Datenspeicher-anordnung und datenspeicherverfahren
EP2340486A1 (de) Verfahren zur übertragung von programmcodes an einen speicher eines steuergerätes, insbesondere für kraftfahrzeuge
EP3871394A1 (de) Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
EP2948894B1 (de) Verfahren zum sicheren löschen eines nichtflüchtigen halbleiter-massenspeichers, computersystem sowie computerprogrammprodukt
WO2008071733A1 (de) Verfahren zum auslesen von daten aus einem speichermedium
DE10257861A1 (de) Speichersystem mit einem nichtflüchtigen Speicherelement, das direkt ohne Redundanz überschreibt, sowie das dazugehörige Schreibverfahren
EP2284710A1 (de) Verfahren zum Verwalten von Speicherressourcen in einem portablen Datenträger
DE10345416A1 (de) Speichereinrichtung mit erweiterter Speicherkapazität
DE112008003516T5 (de) Speicherung von Dateifragmenten in einem Speicher
DE3837843C2 (de) Verfahren zur Datenkomprimierung und -dekomprimierung
DE10128752A1 (de) Verfahren zur Ablage von Daten in einen Speicherbaustein
DE10339203A1 (de) Organisation eines Dateibaums bei einem tragbaren Datenträger
DE10315189B4 (de) Verfahren zur Bestimmung der Anzahl durchgeführter Löschvorgänge eines Speicherblocks einer Speichereinrichtung
EP1293938A2 (de) Binärzähler mit permutierten Speicherung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee