DE102022004158A1 - iEternalStorage Verfahren zum Langzeitspeichern von Daten durch Anreicherung der Daten durch mit den Daten assoizierten Error-Correction-Codes, die eine regelmäßige Datenüberprüfung und -Korrektur ermöglichen und unabhängig von zugrundliegenden, technischen Systemen ist - Google Patents

iEternalStorage Verfahren zum Langzeitspeichern von Daten durch Anreicherung der Daten durch mit den Daten assoizierten Error-Correction-Codes, die eine regelmäßige Datenüberprüfung und -Korrektur ermöglichen und unabhängig von zugrundliegenden, technischen Systemen ist Download PDF

Info

Publication number
DE102022004158A1
DE102022004158A1 DE102022004158.8A DE102022004158A DE102022004158A1 DE 102022004158 A1 DE102022004158 A1 DE 102022004158A1 DE 102022004158 A DE102022004158 A DE 102022004158A DE 102022004158 A1 DE102022004158 A1 DE 102022004158A1
Authority
DE
Germany
Prior art keywords
data
storage
error
storage process
file
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.)
Pending
Application number
DE102022004158.8A
Other languages
English (en)
Inventor
gleich Anmelder Erfinder
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102022004158.8A priority Critical patent/DE102022004158A1/de
Publication of DE102022004158A1 publication Critical patent/DE102022004158A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die vorliegende Erfindung eines Langzeit-Archivs („Ewigkeits-Speicher“) erlaubt das fehlerfreie Lesen großer Datenmengen über lange Zeiträume (z.B. über Dekaden), unabhängig von zugrundeliegenden Speicher-Systemen und -Techniken sowie von Anbietern von Speicherlösungen.Den Daten werden zusätzliche Error-Correction-Codes unabhängig vom konkreten Speichersystem, z.B. Dateisystem, hinzugefügt und für die Fehlerkorrektur bei jedem Lesevorgang verwendet, der auch in regelmäßigen Abständen automatisiert über alle Daten durchgeführt werden kann, um zwischenzeitlich aufgetretene Fehler zu korrigieren und eine aufgefrischte Version der Daten zu speichern.Der Error-Correction-Code kann frei gewählt werden, z.B. um Zusicherungen (SLA, Service Level Agreements) für die Fehlerfreiheit zu gewähren und auf die gewünschte Aufbewahrungszeit und Speichertechnik zu optimieren. Zusätzlich kann das Verfahren auf redundante oder mehrfache Speicherorte erweitert werden.Über eine Alterskontrolle der Daten, z.B. der Zeit sei dem letzten Neu-Speichern, können auch technische Probleme der Hardware gelöst werden, die sich über die Dauer des Speicherns oder des Alters der Hardware ergeben. Weiterhin ist es möglich, Daten auch auf z.B. unsicheren Speicherorten durch Verschlüsselung weiter abzusichern oder Daten so zu verteilen, dass ein einzelner Speicherort keine Rekonstruierbarkeit der Daten erlaubt.

Description

  • Stand der Technik
  • Das Speichern von großen Datenmengen über lange Zeiträume, z.B. Jahrzehnte, oder sogar dauerhaft für nachfolgende Generationen, ist auch heute noch eine technische Herausforderung.
  • Das Problem stellt sich bei digitaler Archivierung von archäologischen Daten ebenso wie bei staatlichen Datenarchiven mit zum Teil sehr hohen Datenmengen bis in den Bereich von Petabytes (1015 Bytes) oder mehr.
  • Aber auch physikalische Daten aus Großanlagen (z.B. Synchroton, Linearbeschleunigern) oder Langzeitstudien zu Gesundheit oder gesellschaftlichen Entwicklungen sollen teils über viele Jahrzehnte eine Auswertung und vergleich mit aktuelleren Daten ermöglichen.
  • Auch Konstruktionsunterlagen, Verträge und Finanzdaten der Privatwirtschaft erfordern durch rechtliche Rahmenbedingungen oder zur späteren Klärung von Haftungsfragen teils erhebliche Haltedauern und stellen hohe Anforderungen an Korrektheitsnachweise der relevanten Daten.
  • Insgesamt steigt die Datenmenge weltweit exponentiell und die Anforderungen an die korrekte Verfügbarkeit von Daten über lange Zeit steigen durch Anforderungen wie OpenData, Extrapolationen durch künstliche Intelligenz, gesetzliche Bestimmungen und kommerzielle Risiken u.a. durch Produkthaftungen.
  • Hierbei sind Fehler in den Daten und zur Gänze verlorene Daten problematisch. Es stellen sich dann auch regelmäßig Fragen zur Fahrlässigkeit und tatsächlicher Nutzung des aktuellen Standes der Technik, der durch Verfahren, wie dem hier vorgestellten, jeweils erhöht wird und dementsprechend für sensible und wichtige Daten regelmäßig nachvollzogen werden muss.
  • Ein häufiges Missverständnis ist die Interpretation, durch zuverlässige Handhabung von Backups als Zielsetzung, für Datenrekonstruierbarkeit zu sorgen. Die eigentliche Anforderung an ein Speicherkonzept ist die Zusicherung der Datenkorrektheit und langfristige Datenverfügbarkeit unter den gegebenen, zumeist finanziellen Rahmenbedingungen. Es gilt also, eine Optimierungsstrategie zwischen technischen, geschäftlichen und finanziellen Anforderungen durchzuführen.
  • Backups, redundante Datenhaltung und ähnliche Verfahren sind lediglich eine technische Realisierung der ursprünglichen Anforderungen nach Datenkorrektheit und -verfügbarkeit. Die konkrete Speichertechnik dient hier nur als mögliche Lösung des Optimierungsproblems. Sie sollen bei Datenfehlern einspringen, um korrekte Daten aus den sekundären Speicherorten rekonstruieren zu können, unterliegen aber den gleichen Schwächen der zugrunde liegenden Techniken, wie weiter unten beschrieben. Sie realisieren die Vorstellung, dass Fehler an einem Speicherort nicht durch gleichzeitige Fehler an dem oder den anderen unkorrigierbar werden.
  • Auch, wenn es im ersten Moment seltsam erscheint, sind Steinplatten mit eingravierten Zeichen ebenfalls Stand der Technik und Datenträger mit zum Teil Jahrtausenden an gewährten Datenverfügbarkeiten. Ihre Speicherdichte ist allerdings für heutige Verhältnisse zu niedrig, aber sie weisen auf grundsätzliche Probleme hin, die im Weiteren näher ausgeführt werden und für alle anderen Techniken mal mehr oder weniger ebenfalls Anwendung finden.
  • Obwohl Steinplatten Jahrtausende halten können, unterliegen sie Alterungsprozessen, sind äußeren Einflüssen wie Diebstählen, Erosion, aber auch schlicht Unauffindbarkeit ausgesetzt. Selbst, für den Fall, dass die zu sichernden Daten auf Steinplatten mit vertretbarem Aufwand zu speichern wären, sind wohl weitaus mehr dieser Datenträger verloren gegangen oder ihre Informationen zum Teil nicht mehr lesbar, als noch erhalten und lesbar. Teile von ihnen fehlen oder sind von Naturkräften abgeschliffen und damit unlesbar geworden. Für dauerhafte Verfügbarkeit und Korrektheit bieten sie trotz ihrer theoretischen Langlebigkeit also kaum eine Alternative.
  • Mikrofilme halten unter geeigneten, klimatischen Bedingungen mehrere hundert Jahre, können aber die exponentiell steigenden Datenmengen nicht speichern oder erzeugen erhebliche Kosten durch die geringe Speicherdichte und den hohen Aufwand. Wie die meisten Techniken außerhalb von Festplatten oder SSDs sind die Lesegeschwindigkeiten für eine Datenrekonstruktion im Fall der Erfordernis zu langsam, wenn es um größerer Datenvolumen geht.
  • CDs, DVDs, Blueray und verwandte Datenträger haben ebenfalls zu geringe Speicherdichten im Bereich weniger Gigabyte und altern binnen weniger Jahre. Für ein Petabyte an Daten wären hier zehntausende Datenträger erforderlich, müssten wegen der Materialalterung regelmäßig umkopiert werden und benötigen große Lagerkapazitäten in klimatisierten, UV-geschützten Räumlichkeiten. Allein der Aufwand für das Umkopieren auf frische Datenträger würde alle üblichen Zeit- und Kostenrahmen übersteigen und erfordern für eine ausreichende Zuverlässigkeit ausreichend sichere Prozesse (Datenträger-Management).
  • Festplatten erlauben heute bereits große Datenmengen kostengünstig zu speichern und können einige Jahre halten, wonach ein Umzug der Daten auf neue Datenträger erforderlich ist. Ein Prozess, der in Bezug auf Zuverlässigkeit, Konsistenz und Korrektheit fehlerträchtig ist - auch ohne technische Randbedingungen, wie weiter unten beschrieben. Auch das Altern der mechanischen Komponenten sowie die des magnetischen Materials der Speicherscheiben begrenzt die Zuverlässigkeit der Datenhaltung. Das sichere Management der Datenträger und ihrer Wechsel oder der Ersatz durch neuere Technik ist eine Herausforderung, die von spezialisierten Anbietern wie Cloud-Anbietern mit großem Aufwand betrieben werden muss.
  • Zuverlässige Zahlen zur Haltbarkeit und Fehlerrate dieser Datenträger sind schwer zu ermitteln. Zum einen gibt es Zusicherungen der Hersteller für Bit-Fehler-Raten, die nur in wenigen Fällen und sehr umständlich nachzuprüfen sind. Zum anderen wechseln Modelle und eingesetzte Techniken regelmäßig und die immer höheren Speicherdichten und z.B. Nutzung von mehreren Bits pro Speicherzelle führen dazu, dass frühere Angaben dazu sich nicht mit neuen Geräten vergleichen lassen. Thermodynamik und Quanteneffekte wie der Tunneleffekte haben durch die Verkleinerung der Strukturen verstärkt Einfluss auf die Zuverlässigkeit der Datenhaltung. Interne Methoden zur Identifizierung der Zustände 1 und 0 werden gegenüber u.a. Alterungsprozessen und Elektronendrifts immer empfindlicher und können zu Fehlinterpretation der Dateninhalte führen, wenn z.B. statt einer logischen 1 stattdessen eine 0 gelesen wird.
  • SSDs, also rein elektronische Massenspeicher ohne bewegliche Teile, sind teurer als Festplatten und halten derzeit noch geringere Speichermengen. Es gibt zu ihnen allerdings noch keine sehr lange Erfahrung und bisherige Ergebnisse müssen hochgerechnet werden. Ihre Lebensdauer dürfte allerdings erheblich unter der von Festplatten liegen. Die Probleme der Festplatten, bis auf den mechanischen Verschleiß, teilen sie. Dafür haben sie technisch bedingte, eigene Fehlerprozesse wie das Diffundieren der Ladungsträger mit der Zeit aus den Speicherzellen (z.B. über Tunneleffekte).
  • RAID-Arrays („redundant array of independent disks“) erlauben das Zusammenschalten mehrerer, lokaler Speichergeräte zu einem Verbund. Zumeist wird die Zusammenschaltung innerhalb eines Rechners oder Servers aufgebaut. Einige der definierten RAID-Konfigurationen erlauben es, die Daten über die Datenträger so redundant zu verteilen, dass der Ausfall eines oder mehrerer Datenträger dennoch eine Rekonstruktion der Daten erlaubt. Bitfehler können somit mit den redundanten Informationen repariert werden. Im Fall eines Defektes eines Datenträgers, im Allgemeinen Festplatten oder SSDs, lässt sich somit ausgleichen, indem ein neuer Datenträger statt des fehlerhaften eingebaut wird und eine Rekonstruktion der Daten dort aus den verbleibenden Datenträgern durchgeführt wird. Die Sicherheit findet also auf Basis ganzer Datenträger statt.
  • Im Gegensatz hierzu erlaubt die vorliegende Erfindung die Verteilung auf mehrere, externe Speicher, ist aber nicht auf externe Redundanzen angewiesen, da die Error-Correction-Codes als Bestandteil der Meta-Daten neben den Rohdaten auch bei einem Speicherträger gespeichert und zur Fehlerkorrektur verwendet werden können. Das Verfahren greift auch primär auf einen einzelnen Speicher zu, so dass das Korrekturverfahren und die Speicherzeit (Latenzen) keine Rolle spielen. Zudem arbeitet es auf Dateibasis und korrigiert Fehler unabhängig von den Datenträgern lokal auf den einzelnen Datensätzen (Dateien). Allein aus Verschleißgründen prüfen RAID-Arrays auch nicht regelmäßig die Korrektheit aller Daten, sondern gehen davon aus, dass Fehler beim Lesen oder Schreiben identifiziert und über redundante Informationen auf den verbleibenden Datenträgern korrigiert werden können, sollte einer der Datenträger ausfallen oder übermäßige Fehler anzeigen. Die Vorliegende Erfindung arbeitet somit auch auf RAID-Arrays, ergänzt diese aber um wesentliche, zusätzliche und unabhängige Verfahren, um die Datenverfügbarkeit und -korrektheit zu erhöhen und arbeitet dabei auf einer höheren Abstraktionsschicht, ggf. also zusätzlich.
  • Neben diesen und anderen Verfahren und Speichermedien bleiben grundsätzliche Probleme erhalten. Selbst bei größter Sorgfalt und Qualität gibt es bei jeder dieser Techniken eine gewisse Wahrscheinlichkeit, dass bei einem Schreibvorgang oder schlicht durch die Zeit Daten fehlerhaft werden.
  • Zu unterscheiden sind zudem weitere Fehlerquellen z.B. Übertragungsfehler beim Lesen vom Ursprungsmedium, aus dem für den Speichervorgang verwendeten flüchtigen Speicher („RAM“) im Übertragungsgerät selbst, den Leitungen zum Speichergerät, den verschiedenen Controllern auf dem Weg der Daten sowie Schreibfehler auf dem Zielmedium. Die vielen beteiligten Prozessschritte und Techniken sind zum Teil nicht durch eigene Fehlerkorrekturmaßnahmen abgesichert.
  • Daneben altern Speicher-Materialien und verlieren Daten, können kosmische Strahlung und Wärme zum „Kippen“ von einzelnen Bits führen und sorgen sinkende Schwellen zur Unterscheidung der Zustände 0 und 1 (z.B. elektrische Ladungsstärken) über die Zeit zu Lesefehlern und Fehlinterpretationen der Bits. Bei Speichern mit mehreren Bits in einer Speicherzelle oder der Erhöhung der Speicherdichte auf Magnetscheiben in Festplatten steigt das Risiko von Fehlinterpretationen zusätzlich. Auch die Lesekonstanz kann zu Fehlern führen, wenn die Lesetechnik, wie z.B. Magnetköpfe in Festplatten, eigenen Alterungsprozessen unterliegen.
  • Auch technische Änderungen führen zu Datenverlusten. Alle paar Jahre werden neue Schnittstellen eingeführt (SCSI, IDE, S-ATA, ...) und ältere vom Markt genommen. Geräte sind dann ggf. nicht mehr auslesbar und die Daten schwer bis gar nicht mehr auszulesen. Auch die Unterstützung dieser Geräte durch Software („Treiber“) für moderne Betriebssysteme sind nur begrenzte Zeit verfügbar und werden nach dieser Zeit nicht mehr aktuell gehalten oder an neue Betriebssysteme angepasst.
  • Jeder Schreibvorgang, der von einem älteren Medium auf ein Neues überträgt, hat also selbst eine gewisse Fehlerwahrscheinlichkeit. Fehlerkorrektur-Mechanismen können diese Fehler nur zum Teil ausgleichen, indem sie aus den zusätzlichen Informationen eines Error-Correction-Codes (ECC) das Wiederherstellen ermöglichen.
  • Die meisten, genutzten Korrektur-Maßnahmen mittels Error-Correction-Codes erlauben höchstens 1 Bit-Fehler zu beheben, bei zwei Bit-Fehlern können sie den Fehler zwar oft noch erkennen, aber nicht mehr korrigieren. Die Daten sind und bleiben somit fehlerhaft und dies kann zum vollständigen Verlust der Daten führen. Die meisten hierfür verwendeten Verfahren unterliegen jedoch nicht der Kontrolle des Nutzers. Zum einen sind sie oft in der Hardware realisiert und werden vom Hersteller vorgegeben, zum anderen liegen sie in der Software wie einem Dateisystem, die ebenfalls nur schwer zu erweitern sind.
  • Aktuelle Speichertechniken nutzen ECC auf Speicher-, Datei- oder Dateisystemebene und sind daher nicht auf die Anforderungen eines Langzeitspeichers ausgerichtet, sondern nehmen eine gewisse Rest-Fehler-Quote zu Gunsten geringer Mehrkosten durch Speicherplatzeinsparungen und geringen Verschleiß in Kauf. Für sehr große Datenmengen über sehr lange Zeiträume und hohe Anforderungen an die Korrektheit und Vollständigkeit sind sie daher nicht geeignet.
  • Insbesondere komprimierte und verschlüsselte Daten sind ausgesprochen fehleranfällig, ebenso wie Techniken wie Block-Chains, bei denen jedes Bit wichtig für das korrekte Lesen und Interpretieren der nachfolgenden Informationen ist.
  • Online-Speicher in der Cloud sind wenig transparent und die eingesetzten Techniken zum Teil nicht nachvollziehbar oder vom Dateninhaber kontrollierbar. Sie bieten auch keine Garantien, dass die eingesetzten Verfahren zu einem späteren Zeitpunkt auch noch so Gültigkeit haben und wichtige Daten vor Bitfehlern auch weiterhin genauso schützen. Der Ansatz als Managed Service führt dazu, dass die Art und Weise der Datenhaltung dem Nutzer abgenommen wird, aber auch nicht dauerhaft bleibt, sondern in Abständen neuen Techniken, Prozessen und Kostenoptimierungen unterliegt.
  • Letztlich basieren diese Dienste auf den bereits beschriebenen Techniken und unterliegen damit den gleichen Fehlermechanismen.
  • Mehrere Patenanmelder haben sich bereits um dieses Problem bemüht und Lösungsvorschläge erarbeitet.
  • In der Offenlegungsschrift DE000019612530 beschreibt der Erfinder ein Verfahren zur Herstellung eines hochauflösenden, digitalen Masters zur Archivierung von Video, Bild- und Tondaten. Hierbei wird die Langzeitarchivierung nicht gelöst und lediglich das Speichern von Zusatzprozessschritten vermerkt, die zu einer nachträglichen Umformatierung der Ursprungsdaten und somit Formatanpassung erforderlich sind. Das Problem der Speicherung für lange Zeiträume wird nicht behandelt, die Frage nach Datenverfügbarkeit und -korrektheit ist nicht Bestandteil der Offenlegungsschrift.
  • In der Offenlegungsschrift DE102004042978 beschreibt der Erfinder eine Technik zur Langzeitarchivierung, die darauf beruht, dass ein oder mehrere redundante Speicher vorhanden sind, jede Datei auf den Speichersystemen mittels eines Hashwertes auf Fehlerfreiheit überprüft werden kann und die korrekte Version dann für die Überschreibung des oder der fehlerhaften Datensätze verwendet wird. Er schlägt, wie in der vorliegenden Erfindung auch, vor, dass die Datensätze regelmäßig und vollständig auf Fehler untersucht werden. Im Gegensatz dazu beschreibt die vorliegende Erfindung ein Verfahren, das Redundanzsysteme zur unabhängigen Speicherung zwar ebenfalls als Option beschreibt, aber bereits auf Byte- oder Blockebene als Teil einer Datei und ohne ein Redundanzsystem funktioniert. Ein Redundanzsystem wird hierzu somit nicht benötigt und der benötigte Speicherplatz und somit auch die Kosten etwa halbiert. Redundanzsysteme würden die Fehlersicherheit weiter erhöhen und ermöglichen noch zuverlässigere Systeme und höhere SLAs (Service Level Agreements) seitens des Anbieters. Auch genügt ein Hashwert lediglich zum Feststellen von Fehlern, aber nicht zur Korrektur.
  • Das Patent DE102006014329 erweitert das Konzept aus Offenlegungsschrift DE102004042978 , indem es mehrere Datenträger definiert und den Korrekturmechanismus auch auf Teile der Kopien erweitert, falls Fehler auftreten, um eine höhere Wiederherstellungswahrscheinlichkeit zu erreichen. Auch hierbei wird ein Hashwert erzeugt und der Datei hinzugefügt (als Meta-Datum), um Inkonsistenzen zwischen den Kopien zu ermitteln. Der Erfinder erwähnt auch das Risiko, am selben Ort gelagerter Kopien z.B. bei Anschlägen oder anderen Ereignissen, die den jeweiligen Lagerort und damit auch die Kopien zerstören. Er bezieht sich allerdings auf physische Datenträger und kann nur anhand des Hashwertes Dateifehler identifizieren, die über eine korrekte Datenkopie und Überschreiben des fehlerhaften Datensatzes behoben werden können. Im Gegensatz dazu arbeitet das vorliegende Verfahren bereits auf einem Datensatz und umfasst auch neue Technologien und Angebote z.B. in der Cloud.
  • Die Offenlegungsschrift DE102010041452 beschreibt ein Verfahren, in dem Daten (insbesondere die aus bildgebenden, medizinischen Geräten, automatisiert gelöscht werden, um Speicherplatz und damit Kosten zu sparen und händische, fehlerträchtige Verfahren zu vermeiden. Die vorliegende Erfindung nutzt ein ähnliches Verfahren, wendet dieses aber zur Absicherung von Datenbeständen für die Langzeitarchivierung an. Damit erweitert sie das Konzept dieser Erfindung wesentlich auf einen neuen Aufgabenbereich aus.
  • Aufgabe der Erfindung
  • Die vorliegende Erfindung hat die Aufgabe, kostengünstig und zuverlässig Daten für lange Zeit zu speichern und auftretende Fehler in einem automatisierten Verfahren zu beheben, die durch verschiedene Prozesse entstehen können (siehe Stand der Technik). Damit werden Datenkorrektheit und -verfügbarkeit gegenüber vorhandenen Techniken erhöht.
  • Als Langzeit-Archivierung werden Zeiträume von Jahrzehnten und länger verstanden. In dieser Zeit sollen die Daten vollständig und fehlerlos lesbar sein.
  • Das Konzept lässt sich auf lokalen Speichergeräten anwenden, z.B. auf Festplatten in einem PC- oder Server-System, NAS-Speicher oder und insbesondere auf Managed Storage Services wie einer Cloud (Cloud-Speichersysteme, u.a. S3-Speicher, ...) und als Software as a Service mit einer aus Benutzersicht vollständigen und transparenten Funktionalität etablieren.
  • Das Konzept soll insbesondere in der Cloud-Anwendung davon profitieren, dass der Anbieter regelmäßig Updates seiner Hardware auf neue Technik durchführt, die Daten automatisiert von der alten Hardware auf die neue umkopiert sowie sich um Ausfälle und Software-Themen (z.B. aktuelle Treiber) kümmert. Dies kann auch vom Anwender der Erfindung lokal umgesetzt werden. Dies führt allerdings zu einem hohen, administrativen Aufwand, wird durch die Erfindung aber nicht ausgeschlossen.
  • Das Konzept soll zugleich aber die Abhängigkeit von Techniken und Prozessen minimieren sowie von Anbietern von Hardware oder Service, selbstständig für Datenkorrektheit und -konsistenz sorgen und höhere Verfügbarkeitswerte der Daten z.B. über SLAs (Service Level Agreements) eines Anbieters ermöglichen.
  • Dabei wird eine Datenredundanz auf mehreren, unabhängigen Systeme nicht vorausgesetzt, kann aber die Verfügbarkeit und Korrektheit der Daten zusätzlich erhöhen.
  • Dazu wird jede Datei in einem Format gespeichert, das neben den zu sichernden Daten (Rohdaten) weitere Zusatzdaten enthält wie den Error-Correction-Code. Diese werden idealerweise mit den Roh-Daten (z.B. ein Bild im JPG-Format) als Meta-Datei gespeichert, können aber auch extern z.B. in einer Datenbank gehalten werden.
  • Diese Zusatzdaten sind in erster Linie Prüfsummen (Error Correction Codes, „ECC“), die es erlauben, Fehler nicht nur zu identifizieren, sondern bis zu einem gewissen Grad (Anzahl Bitfehlern) auch zu korrigieren. Die Anzahl feststellbarer und korrigierbarer Bit-Fehler kann je nach Anforderung durch die genutzte ECC-Methode und -Tiefe gewählt werden.
  • Im Gegensatz zu den üblichen Methoden, die einen ECC auf Ebene des Speicher- oder Dateisystems verwalten, sind die hier vorgestellten ECC-Informationen Bestandteil der Dateien selbst oder mit ihnen assoziierte Zusatzinformationen und somit Technik-, Dateisystem- und Anbieter-unabhängig.
  • Ebenso können Informationen über das Alter von Daten, z.B. Zeit seit dem letzten Überprüfen oder das Alter des Datenträgers als Meta-Daten eingebunden werden, um zusätzliche Sicherungsmechanismen zu etablieren.
  • Als fortlaufender oder regelmäßig wiederkehrender Prozess werden alle Daten auf Fehler anhand des ECC-Mechanismus überprüft und Fehler mit den Zusatzdaten des ECC automatisch korrigiert. Die korrigierte Datei wird erneut und fehlerfrei („frisch“) gespeichert, die alte, fehlerhafte Datei ggf. gelöscht und damit ein neuer Speicherbereich für die neue Datei erzwungen, der an einer neuen Stelle liegt, falls die Fehlerursache z.B. an der darunterliegenden Hardware liegt (z.B. defekte Sektoren auf einer Festplatte oder defekte Speicherzellen auf einer SSD).
  • Dies erhöht die Zuverlässigkeit des dort bereits vorhandenen Fehler-Handlings (z.B. durch Markieren der defekten Bereiche und Umkopieren an andere Stelle oder Hardware), macht dieses Verfahren unabhängig davon und bietet eine zusätzliche Sicherheits-Maßnahme für die Korrektheit der Daten. Zudem reduziert es die inhärente Fehlerwahrscheinlichkeit dieser Medien, Techniken und der Prozess-Kette des Lese- und Schreibvorganges in den vielen beteiligten, technischen Komponenten.
  • Über eine Kontrolle der Zeit seit dem letzten Neu-Speichern lassen sich auch Altersprozesse in der zugrundeliegenden Hardware ausgleichen, indem ein Neuspeichern nach einer einstellbaren Zeit erzwungen wird und die Konsistenz und Korrektheit der neuen Daten durch Vergleich der beiden Dateien und ECC-Informationen geprüft wird.
  • Ein zweiter oder weitere Datenstandorte, insbesondere an entfernten Orten („Geo-Redundanz“) erlauben eine zusätzliche Erhöhung der Zuverlässigkeit der Datenkorrektheit, indem die beiden oder mehreren Standorte bei auftretenden Fehlern als Referenz oder zur Bestimmung der fehlerfreien Kopie hinzugezogen werden können.
  • Auch soll ein Verteilen der Daten auf mehrere Anbieter unterstützt werden, um z.B. die Anbieter mit den günstigsten Kosten zu priorisieren („Makeln“) sowie Verschlüsselung oder Trennen von Daten, so dass keiner der Anbieter mit seinen Daten allein die Daten rekonstruieren kann. Insbesondere für unsichere Drittstaaten mit geringerem Schutzniveau u.a. gegenüber der DSGVO können so ohne Risiko der Datenzugriffs oder eventueller Haftung und Bußgeldern genutzt werden.
  • Beschreibung
  • Die vorliegende Erfindung besteht aus 3 Hauptkomponenten: dem Speichersystem für die Daten, den Daten selbst einschließlich der Metadaten sowie dem Prozess-Komplex für Lesen, Schreiben und Fehler-Management.
  • Das Speichersystem basiert auf verfügbaren Techniken, wie Festplatten, SSDs und wird dediziert z.B. am Serverstandort des Nutzers oder in der Cloud genutzt. Besonders geeignet sind Cloud-Speicher, weil dort ein Teil der Hard- und Software-seitigen Probleme wie Hardware-Refresh, aktualisierte Treiber und Überwachung der Technik (Monitoring) bereits gelöst und weitestgehend automatisiert sind.
  • Die Daten können alle digitalen Daten sein, die in einem Dateisystem gespeichert werden können. Beschränkungen z.B. seitens der Dateigrößen und Datenmenge sollten in einem gemanagten Service eine zumindest untergeordnete Rolle spielen. Ansonsten sind sie zu beachten.
  • Die Teil-Prozesse für Lesen, Schreiben und Fehler-Management bestehen aus den drei Komponenten, die für die Transparenz der Daten nach Außen und die Korrektur von Fehlern zuständig sind.
    • In Bild 1 wird der Aufbau exemplarisch und vereinfacht gezeigt.
  • Element 1 ist der Quell-Speicher, in dem die Originaldaten des Dateninhabers ursprünglich liegen und die in den Ewigkeitsspeicher übertragen werden sollen. Im Folgenden wird dies als „Datenquelle“ bezeichnet. Der Ewigkeitsspeicher kann als Backup-Speicher oder als Hauptspeichersystem verwendet werden. Ist der Ewigkeitsspeicher der Hauptspeicher so können auch andere Datenquellen als ein primäres Speichersystem verwendet werden, z.B. die laufende Generierung von Daten eines IoT-Systems (Internet of Things), ein Messinstrument, eine Maschine und ihre Betriebsdaten, Videokameras oder Sattelitenaufnahmen, die indirekt oder direkt dem Ewigkeitsspeicher zugeführt werden.
  • Element 2 ist das Speichersystem, in dem die Daten zur Langzeitspeicherung gehalten werden. Dies kann ein oder mehrere Speicherorte umfassen, um zusätzliche (Geo-) Redundanz zu erzielen und Verluste und Ausfälle durch technische Probleme, Katastrophen oder Angriffe von Hackern an einem Standort oder bei einem Anbieter auszugleichen. Die Standorte können somit auch bei verschiedenen Anbietern liegen, um eine Anbieter-Abhängigkeit oder weiträumige Störungen und Probleme bei einem Anbieter zu vermeiden. Tatsächlich sorgt eine solche Anbieter-Redundanz auch dafür, dass eventuelle, wirtschaftliche Probleme eines Anbieters nicht die Daten gefährdet, z.B. durch Insolvenz. Immerhin sollen Daten über den sehr langen Zeitraum eines Vertragsverhältnisses in heute sehr dynamischen Zeiten gehalten werden. Das Speichersystem muss lediglich transparent Schreib- und Lesevorgänge ermöglichen und hierfür Schnittstellen bereits halten. Daher eignet sich nahezu jedes verbreitete Storage-System einschließlich Cloud-Speicher dafür.
  • Das Speichersystem kann mit einem Mechanismus versehen sein, der ein Überschreiben, Löschen, Verändern oder Sabotieren der Daten verhindert (z.B. S3-Speicher mit einem Schutz vor Veränderungen als WORM-Speicher, „Write-Once-Read-Many“ mit einstellbarer Dauer der Unveränderlichkeit). Auch eine Versionierung der Daten, um auf ältere Daten weiterhin zugreifen zu können und/oder Änderungen an Daten zuzulassen, ohne die vorherigen Versionen zu verlieren, ist eine sinnvolle Ergänzung.
  • In der Beispiels-Skizze (Bild 1) wird ein Speicherort dediziert angesprochen, während der zweite Speicherort über einen externen Mechanismus synchron gehalten wird („georedundante Replikation“). Die Prozesse Error-Coding (Element 3) und De-Error-Coding (Element 4) können auch beide oder mehrere Standorte zugleich ansprechen, um u.a. eine Verteilung der Daten auf die Standorte dediziert kontrollieren zu können.
  • Beide Speicherorte können sich selbstverständlich auch innerhalb der gleichen Infrastruktur befinden, was allerdings die Redundanz und damit Zuverlässigkeit einschränkt. Auch können mehr als zwei Speicherorte berücksichtigt werden. Der oder die redundanten Speicherorte ermöglichen als Backups den Zugriff auf Referenzkopien, um Datenverluste selbst dann aufzulösen, falls der Hauptspeicherort unkorrigierbare Fehler aufweist oder nicht mehr verfügbar ist. Der oder die Redundanzstandorte sind optionale Erweiterung zur Erhöhung der Datenkorrektheit und -verfügbarkeit.
  • Auch können der Error-Coding-Prozess (Element 3) und der De-Error-Coding-Prozess (Element 4) selbst auf beide Speicherorte zugleich zugreifen, beide über diesen Mechanismus synchron halten und die Daten aus beiden oder mehreren Speicherorten in die Prüfung, Korrektur und Reports einbeziehen. In diesem Fall wird vorgeschlagen, dass die beiden Prozesse Error-Coding und De-Error-Coding die Menge an Speicherorten transparent für den Refresh-Prozess verwalten, so dass dieser nur einen Speicherort sieht. Der Refresh-Prozess würde dann bei Fehlern und Inkonsistenzen zwischen Speicherstandorten lediglich erfahren, dass ein Fehler (und ggf. wo) aufgetreten ist und das Umkopieren für diesen einleiten, wie unten beschrieben.
  • Der Refresh-Zyklus könnte als Zusatzinformation aus dem Fehlerbericht des Prozesses De-Error-Coding auch den fehlerhaften Standort erhalten, so dass er gezielt den Error-Coding-Prozess so steuern kann, dass ein zusätzlicher Vergleich mit den Daten des redundanten Speicherortes die Datenkorrektheit des Datensatzes sicherstellt und die Daten an einem anderen Speicherort neu gespeichert werden, z.B. um zwischen Anbietern zu makeln und Daten neu zu verteilen.
  • Element 3 beschreibt den Error-Coding-Prozess, also die Anreicherung der Roh-Daten (z.B. eines JPG-Bildes) um die Error-Correction-Codes und ggf. weiterer Daten wie für die Bestimmung des Alters der Daten ohne Refresh oder statistischer Daten wie die Anzahl erforderlicher Datenkorrekturen nach Bit-Fehlern. Der Error-Coding-Prozess kann auch eine Verschlüsselung der Daten durchführen, um ggf. bei mehreren Anbietern oder Datenstandorten in unsicheren Drittstaaten für DSGVO-relevante Daten das notwendige Schutzniveau einzuhalten.
  • Der Error-Coding-Prozess sorgt für die transparente Logik des Speicherns von Roh-Daten in einer Meta-Datei aus Sicht des Refresh-Zyklus (Element 5).
  • Die Zusatzinformationen werden im besten Fall in einer Meta-Datei mit den Roh-Daten gespeichert, um Inkonsistenzen zu vermeiden und alle relevanten Daten zu aggregieren. Alternativ kann auch z.B. eine getrennte Datenbank oder eine Zusatzdatei für diese verwendet werden, aber der Refresh-Prozess sowie die Nutzung verteilter, redundanter Speichersysteme wird hierdurch komplexer und fehleranfälliger.
  • Element 4 beschreibt den Prozess des De-Error-Codings, also der Extraktion der Roh-Daten aus den gespeicherten Meta-Daten. Aus Sicht eines zugreifenden Nutzers (Element 6) stellt dieser Prozess sicher, dass er - wie von einem Dateisystem und Zugriff auf die Nutzdaten erwartet - die Roh-Daten transparent erhält (z.B. eine JPG-Datei). Dabei werden alle weiteren Informationen entfernt und die Roh-Datei an den Nutzer oder nutzenden Prozess (z.B. Anzeige, Bearbeiten, Auswertungen, Analysen oder an eine künstliche Intelligenz) ausgeliefert.
  • Dieser Prozess sorgt für die transparente Logik des Lesens von Roh-Daten aus einer Meta-Datei.
  • Beim De-Error-Coding wird die gelesene Datei bei jedem Lesevorgang anhand des Error-Correction-Codes auf Korrektheit oder ggf. Zeit seit dem letzten Datei-Refresh geprüft und im Falle, dass ein Ereignis auftritt (Fehler, Altersgrenze überschritten, ...) eine Nachricht an den Refresh-Prozess gesendet, der dann eine Maßnahme zur Fehlerbeseitigung und/oder Neu-Speicherung ergreift.
  • Der Prozess De-Error-Coding übernimmt auch die Entschlüsselung der Daten, falls sie vom Prozess Error-Coding verschlüsselt wurden. Dies ermöglich die rechtssichere Speicherung bei beliebigen Anbietern und geografischen Speicherstandorten, wenn es sich um rechtlich eingeschränkte Daten bezüglich der Datenstandorte handelt (z.B. DSGVO-relevante Daten).
  • Element 5 beschreibt den Refresh-Prozess. Er sorgt für das Auffrischen von Daten durch Umkopieren. Dies ist in erster Linie dann der Fall, wenn beim Lesen von Daten über den Prozess De-Error-Coding für die Datei ein Fehler-Signal erzeugt wird, weil ein oder mehrere Fehler entdeckt wurden. Die entsprechende Datei wird dann als korrigierte („frische“) Version neu gespeichert.
  • E gibt mindestens zwei Arten von Signalen des De-Error-Coding-Prozesses an den Refresh-Prozess.
  • Das erste Signal gibt an, dass ein Fehler entdeckt und mittels Error-Correction-Code behoben wurde. In diesem Fall speichert der Refresh-Prozess über den Error-Coding-Prozess die Daten in korrigierter Form erneut und löscht die alte Datei oder markiert sie z.B. als nicht-gültig, um u.a. den benutzten und eventuell defekten Speicherplatz nicht erneut zu verwenden. Zusatzinformationen im Fehler-Signal können z.B. Speicherorte auseinanderhalten, die Art und Menge von Fehlern berichten oder das Alter seit dem letzten Refresh mitteilen.
  • Das zweite Signal gibt an, dass ein Fehler entdeckt wurde, aber nicht behoben werden konnte. Das kann der Fall sein, wenn sich zu viele Bit-Fehler für den Error-Correction-Code ergeben haben und die Datei nicht repariert werden konnte. In diesem Fall wird die verlorene Datei markiert, der unbehebbare Fehler gespeichert und ggf. in Reports vermerkt oder es können Warnmeldungen an den Datenbesitzer oder ein Team von Spezialisten (z.B. Daten-Forensiker) zur händischen Reparatur weitergeleitet werden.
  • Im Falle eines redundanten Speichersystems kann der Refresh-Prozess auch eigenständig die zugehörige Datei im redundanten Speichersystem (ggf. auch mehrere), z.B. an einem anderen Speicherstandort als Referenz hinzuziehen, prüfen und bei Fehlerlosigkeit die fehlerhafte Datei durch eine geprüfte Kopie von dort ersetzen.
  • Dazu würde der De-Error-Coding-Prozess nicht nur einen Fehler melden, sondern ebenfalls in welchem der Speichersysteme dieser aufgetreten ist, um dem Refresh-Zyklus zu ermöglichen, nur die Datei am betroffenen Speicherort durch Umkopieren zu reparieren.
  • Der Refresh-Zyklus ist im Idealfall auch die zentrale Instanz für die Erstellung von Log-Dateien, für das Daten-Monitoring, Reporting, eine eventuelle Ticketerstellung und Warnmeldungen für Fehler auf Dateisystem- oder Hardware-Level an den Betreiber der Infrastruktur.
  • Weitere Signale können anzeigen, dass das voreingestellte, maximale Alter seit dem letzten Speichern oder Umkopieren überschritten wurde, und damit im Refresh-Prozess ein Umkopieren einleiten.
  • Der Prozess Refresh nimmt auch Dateien von externen Quellen (z.B. über Uploads oder ein Backup-Tool) entgegen und speichert sie als neue Meta-Dateien in das Speichersystem.
  • Ebenfalls zum Refresh-Zyklus gehört die Funktion, alle Daten in bestimmten Abständen vollständig auszulesen und bei Auftreten von Fehlern oder Altersgrenzen ein Umkopieren einzuleiten. Dieser Teil-Prozess stellt sicher, dass zum einen keine fehlerhaften Dateien vorhanden sind und zum anderen keine Alterungsprozesse an Datenträgern auftreten. Er sorgt ebenfalls dafür, dass einzelne Fehler rechtzeitig behoben werden, bevor sich die Fehler anhäufen und der Error-Correction-Code damit nicht mehr eine Korrektur durchführen kann, die Daten also verloren sind.
  • Über diesen Prozess kann auch mit einem anderen Ziel-System eine fehlerfreie Kopie bei Wechsel der zugrundeliegenden Hardware oder auf ein neues System (z.B. einen anderen Error-Correction-Code) durchgeführt werden. Ebenso kann er damit eine Erhöhung der Redundanz auf ein weiteres, redundantes System (z.B. Erhöhung der Zuverlässigkeit durch Geo-Redundanz) oder das Einbinden eines weiteren Speichersystems (z.B. ein vom aktuellen Anbieter unabhängiges System eines anderen Anbieters) in einem automatisierten Prozess durchführen. Der Refresh-Zyklus muss hierfür im Allgemeinen lediglich ein Umkopieren aller Daten an z.B. einen anderen Speicherort durchführen und den neuen Speicherstandort ggf. intern als neues Ziel vermerken, um u.a. Upgrades auf größere Redundanzen automatisch durchführen zu können (z.B. als „SLA-Upgrade“).
  • Der Refresh-Zyklus kann auch die Daten-Migration von einem Anbieter oder einem lokalen Speichersystem in diese Lösung durchführen. Eine andere Alternative wäre das Hochladen z.B. über einen Backup-Mechanismus und eine Aktualisierung der Liste der verfügbaren Dateien, so dass weiterhin der Datenpool vollständig geprüft werden kann. Ein Trace-Mechanismus durch den Datenbestand, bei dem alle aktuell vorhandenen Dateien durchlaufen werden, wäre wahrscheinlich die einfachste und sicherste Methode, um einen dynamisch aktualisierbaren Datenpool handzuhaben.
  • Die Aufteilung der Prozesse kann auch anders konzeptioniert und aufgeteilt werden. Insbesondere als Microservices z.B. auf einer Kubernetes-Plattform, in der auch eine automatische Anpassung der technischen Ressourcen für die jeweilige Arbeitslast erfolgt oder ein oder mehrere, ggf. geo-redundante Instanzen der Prozesse als High-Availibility-Lösung aufgebaut wird.
  • Wichtig ist, die Geschwindigkeit des Lesens aller Daten in festgelegten Zeitabständen zu prüfen. Bei verfügbaren Bandbreiten der Schnittstellen der Prozesse De-Error-Coding und Refresh sowie der beteiligten Speichersysteme sollen innerhalb des definierten Zeitraumes (z.B. einmal pro Jahr) alle Daten gelesen werden können, also ausreichende Bandbreiten zur Verfügung stehen.
  • Element 6 ist die Ausgabe der von Meta-daten bereinigten Daten (Roh-Daten) an externe User. Dies kann z.B. ein Bild sein, das anderen Nutzern zur Verfügung gestellt werden soll.
  • Element 7 ist der Datenbesitzer, im Folgenden als Kunde bezeichnet, der die Daten bereitstellt und an Ihnen i.A. die Verwertungsrechte besitzt. Das hier vorgestellte Verfahren soll eine Sicherheit für Datenkorrektheit und -verfügbarkeit ermöglichen, die dem Kunden auch durch Gewährung von SLAs (Service Levele Agreements) bestätigt werden kann, wenn das Konzept dieser Erfindung als Managed Service bereitgestellt wird.
  • In Bild 2 wird das vereinfachte Konzept aus Bild 1 um einige Funktionen erweitert, die z.B. für einen gemanagten Service oder ein Produkt zusätzlich benötigt werden (ohne Anspruch auf Vollständigkeit und ohne Berücksichtigung von Variationen und Erweiterungen in der Konkretisierung und Ausführung eines Anbieters oder der technischen Realisierung in einer Infrastruktur).
  • Element 1 ist erneut die Datenquelle, z.B. ein lokales Speichersystem innerhalb der Zuständigkeit des Datenbesitzers. Die Daten dort werden dupliziert (z.B. als Backup) oder migriert in den Speicherprozess und an den Prozess Upload (Element 7) übergeben. Dieser kann z.B. als Zwischenspeicher dienen oder einfach als Filesystem, von dem aus automatisch hochgeladene Dateien in das Speichersystem als Meta-Daten eingespeichert werden.
  • Der Prozess Refresh (Element 5) übernimmt die Daten, übergibt sie an den Prozess Error-Coding zur Anreicherung um u.a. die Error-Correction-Codes und speichert sie so als neue (Meta-) Dateien in das Speichersystem (Element 2).
  • Zugleich übermittelt der Prozess Refresh statistische Daten, wie Logging-Informationen an den Prozess Control (Element 8), die dort verarbeitet werden und ggf. Aktionen auslösen können (z.B. bei Auftreten von Fehlern).
  • Der Prozess Control (Element 8) übernimmt auch die Steuerung u.a. der Aufgaben, alle Dateien regelmäßig zu überprüfen (über Befehle an den Prozess Refresh) oder geeignete Algorithmen zur Wiederherstellung fehlerhafter Daten z.B. aus einem zweiten oder weiteren Speichersystemen durchzuführen. Einige der zuvor beschriebenen Aufgaben des Prozesses Refresh werden somit in das eigenständige Modul Control übergeben und die Komplexität des Prozesses Refresh damit gesenkt.
  • Dies erleichtert die dynamische Entwicklung z.B. um weitere Funktionalitäten, neue Algorithmen und erweiterte Services. Dies ermöglicht die Programmierung als Microservices, die sich zudem besser skalieren lassen (z.B. über Kubernetes).
  • Die Prozesse Error-Coding und De-Error-Coding (Elemente 3 und 4) bleiben weitestgehend unverändert gegenüber der Beschreibung zu Bild 1.
  • Der Prozess Reports (Element 9) erhält Informationen über den Prozess Control, um einerseits statistische Daten zu aggregieren, zu speichern und auszuwerten. Die Statistiken dienen zum einen den Bedienern und Usern (z.B. über den Prozess Web-Frontend, Element 10), zum anderen für die interne Qualitätskontrolle und Steuerung nachgelagerter Systeme und Prozesse wie Abrechnung für den Anbieter dieses Konzeptes als gemanagte Lösung oder als Produkt.
  • Der Prozess Web-Frontend (Element 10) ermöglich den Internet-, bzw. Browser-basierten Zugriff auf Statistiken, das Hoch- und Herunterladen der Originaldateien (Roh-Dateien, z.B. ein JPG-Bild) sowie Einstellungen.
  • Damit wäre der Speicherprozess als gekapselte Lösung auch als Produkt anbietbar und könnte als eigenständige, unabhängige Lösung leicht individualisiert oder als Standard-Produkt ausgeführt werden.
  • Für u.a. Systemhäuser als Anbieter auf fremden Speichersystemen und Cloud-Speichern ergibt sich somit eine selbst kontrollierbare, von Anbietern unabhängige Möglichkeit, einen Ewigkeits-Speicher als gemanagte Lösung anzubieten, zwischen Speicheranbietern zu makeln und diese ohne Einfluss auf den ihren Kunden gewährten Service auch von einem Anbieter auf einen anderen zu migrieren und damit das Langzeit-Versprechen über SLAs gewähren zu können.
  • Insbesondere erlaubt das hier vorgestellte Verfahren ein Speicher-Produktportfolio mit unterschiedlichen Zusicherungen (SLA-Klassen wie „Bronze“, „Silber“, „Gold“ und „Platin“) mit jeweils steigenden SLAs und zu entsprechenden Kosten anzubieten. Die Kunden dieses Systemhauses können dann je nach Datenkategorisierung und -Priorisierung ihres Datenbestandes die für sie geeignete Zusicherungsklasse wählen und über einen Anbieter des gemanagten Service ihre jeweiligen Anforderungen in den verschiedenen Zusicherungsklassen, aber bei einem Partner, abdecken.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 000019612530 [0029]
    • DE 102004042978 [0030, 0031]
    • DE 102006014329 [0031]
    • DE 102010041452 [0032]

Claims (10)

  1. Speicherprozess für insbesondere Langzeit-Archivierung, dadurch gekennzeichnet, dass zu speichernde, digitale Daten mit einem der Datei zugeordneten Error-Correction-Code assoziiert werden, der in der Lage ist, die Korrektur einer vorgegebenen Anzahl an Bitfehlern pro Byte oder Datenblock zu reparieren, und der unabhängig von einer zugrundeliegenden Technik wie Festplatten, Dateisystemen, wozu auch RAID-Arrays gehören, oder anderen Fehlerfeststellungs- oder Korrektur-Mechanismen ist, die nicht der Kontrolle des Speicherprozesses selbst unterliegen. Der Speicherprozess besteht aus den Funktionseinheiten Speicher für die Datenhaltung, der Infrastruktur für den Compute-Anteil des Speicherprozesses und mindestens den Speicherprozess-Teilprozessen Error-Coding (Schreib-Transparenz mit Anreicherung um Error-Correction-Code in einer Meta-Datei), Error-Coding (Lese-Transparenz für Extraktion der ursprünglichen Daten aus der Meta-Datei) und Refresh (Error-Handling, Daten-Reparation durch Umkopieren, Logging, Datenpool-Durchlauf, -Prüfung und Neu-Speichern). Der Speicherprozess kann bei jedem Lesen von Daten auf Fehlerfreiheit prüfen. Weiterhin lädt er den gesamten Datenbestand in regelmäßigen Abständen, prüft auf Fehler und leitet geeignete Maßnahmen zur Fehlerbehebung ein, insbesondere ein Neuspeichern einer fehlerfreien Datenversion durch Korrektur anhand der Error-Correction-Codes.
  2. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass der Prozess Error-Coding eine Ver- und der Prozess De-Error-Coding eine Entschlüsselung der Daten durchführen kann, die den transparenten Zugriff auf die Daten für den Prozess Refresh ermöglich, aber die Sicherheit vor fremdem Zugriff an den Speicherorten gewährt.
  3. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass bei jedem Umkopieren auch ein Vergleich der neuen mit der fehlerbereinigten alten Datei-Version erfolgt, um Fehler z.B. in der Prozess-Kette und den beteiligten Geräten, Schnittstellen, Verbindungen oder externen Ereignissen wie ionisierender Strahlung in der neuen Datei zu vermeiden.
  4. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass zwei oder mehrere Speicherorte gewählt werden können, die synchron gehalten und die in die Fehlersuche und Fehlerkorrektur einbezogen werden. Diese können, müssen aber nicht, an unterschiedlichen, weit entfernten Orten (Geo-Redundanz) oder auf gleicher Speichertechnik oder bei dem gleichen Anbieter sein.
  5. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass in den Algorithmus für das Umkopieren von Dateien auch die Fehlerrate pro Speicherort, die Zeit seit dem letzten Umkopieren oder das Alter zugrundeliegender Hardware als Entscheidungsgrundlage einbezogen wird.
  6. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass Datenmigration und Datenduplikation Teil der Funktionalität des Speicherprozesses sind. Dies ermöglicht, Anbieterwechsel, Hinzunahme von Speicherorten, Daten von einem externen Speichersystem in das Speichersystem des Speicherprozesses zu integrieren und Wechsel der zugrundeliegenden Technik innerhalb des Speicherprozesses durchzuführen (z.B. Wechsel von Festplatten zu SSD oder S3-Speicher oder zu neuen Speichertechniken in der Zukunft).
  7. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass der Speicherprozess eine Erhöhung der Datenkorrektheit und -verfügbarkeit als automatisiertes SLA-Änderung durch Hinzufügen oder Entfernen weiterer oder bestehender Speicherstandorte durchführt.
  8. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass der Speicherprozess an weitere Systeme wie z.B. Qualitätskontrolle, Management-Tools für die Hardware (HDD, SSD, ...) gekoppelt werden kann und statistische Informationen und Events an diese übermitteln kann.
  9. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass Daten auf mehrere Anbieter für Storage-Systeme verteilt werden, so dass der Zugriff auf einen Speicherort nicht genügt, die gespeicherten Roh-Daten zu rekonstruieren.
  10. Speicherprozess nach Anspruch 1, dadurch gekennzeichnet, dass eine Verteilung der Daten auf mehrere Speicherorte je nach Schutzniveau und Anzahl an Speicherstandorten kostenoptimiert auf die Anbieter verteilt wird, dass die meisten Daten auf den kostengünstigsten Speicherorten liegen.
DE102022004158.8A 2022-11-09 2022-11-09 iEternalStorage Verfahren zum Langzeitspeichern von Daten durch Anreicherung der Daten durch mit den Daten assoizierten Error-Correction-Codes, die eine regelmäßige Datenüberprüfung und -Korrektur ermöglichen und unabhängig von zugrundliegenden, technischen Systemen ist Pending DE102022004158A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022004158.8A DE102022004158A1 (de) 2022-11-09 2022-11-09 iEternalStorage Verfahren zum Langzeitspeichern von Daten durch Anreicherung der Daten durch mit den Daten assoizierten Error-Correction-Codes, die eine regelmäßige Datenüberprüfung und -Korrektur ermöglichen und unabhängig von zugrundliegenden, technischen Systemen ist

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022004158.8A DE102022004158A1 (de) 2022-11-09 2022-11-09 iEternalStorage Verfahren zum Langzeitspeichern von Daten durch Anreicherung der Daten durch mit den Daten assoizierten Error-Correction-Codes, die eine regelmäßige Datenüberprüfung und -Korrektur ermöglichen und unabhängig von zugrundliegenden, technischen Systemen ist

Publications (1)

Publication Number Publication Date
DE102022004158A1 true DE102022004158A1 (de) 2024-05-16

Family

ID=91023740

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022004158.8A Pending DE102022004158A1 (de) 2022-11-09 2022-11-09 iEternalStorage Verfahren zum Langzeitspeichern von Daten durch Anreicherung der Daten durch mit den Daten assoizierten Error-Correction-Codes, die eine regelmäßige Datenüberprüfung und -Korrektur ermöglichen und unabhängig von zugrundliegenden, technischen Systemen ist

Country Status (1)

Country Link
DE (1) DE102022004158A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19612530A1 (de) 1996-03-29 1997-10-02 Philips Patentverwaltung Verfahren und Anordnung zur Herstellung eines hochaufgelösten digitalen Film-Masters
DE102004042978A1 (de) 2004-08-31 2006-03-09 Siemens Ag Verfahren zur Archivierung von Daten
DE102006014329B3 (de) 2006-03-23 2007-09-06 Siemens Ag Verfahren zur Archivierung von Daten
DE102010041452A1 (de) 2010-09-27 2012-03-29 Siemens Aktiengesellschaft Medizintechnische Datenverarbeitungseinrichtung und Verfahren zum Betreiben einer medizintechnischen Datenverarbeitungseinrichtung

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19612530A1 (de) 1996-03-29 1997-10-02 Philips Patentverwaltung Verfahren und Anordnung zur Herstellung eines hochaufgelösten digitalen Film-Masters
DE102004042978A1 (de) 2004-08-31 2006-03-09 Siemens Ag Verfahren zur Archivierung von Daten
DE102006014329B3 (de) 2006-03-23 2007-09-06 Siemens Ag Verfahren zur Archivierung von Daten
DE102010041452A1 (de) 2010-09-27 2012-03-29 Siemens Aktiengesellschaft Medizintechnische Datenverarbeitungseinrichtung und Verfahren zum Betreiben einer medizintechnischen Datenverarbeitungseinrichtung

Similar Documents

Publication Publication Date Title
DE112018004275T5 (de) Raid-array-wiederherstellungsunterstützung anhand einer externen array-kopie
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
US10114831B2 (en) Delta version clustering and re-anchoring
DE68928546T2 (de) Dateisystem für eine vielzahl von speicherklassen
US9588858B2 (en) Periodic data replication
DE112019000213T5 (de) Speichersysteme mit Peer-Datenwiederherstellung
DE112020003423T5 (de) Architektur von virtuellem speichersystem
US7707374B2 (en) Incremental data storage method, apparatus, interface, and system
US20220269445A1 (en) Restoring an archive authorized by an authenticated user
DE112015000378T5 (de) Selektives Rückkopieren für einen auf einem Chipplättchen gepufferten nichtflüchtigen Speicher
DE112015005211T5 (de) Systeme und verfahren für die speicherfehler-verwaltung
US10976942B2 (en) Versioning a configuration of data storage equipment
JP2007511820A (ja) 独立ノード冗長アレイに対するポリシーに基づく管理
DE69112445T2 (de) Netzwerkplattenanordnung.
DE102009031923A1 (de) Verfahren zum Verwalten von Datenobjekten
KR20120098708A (ko) 가상 데이터베이스를 사용하는 데이터센터 작업흐름 자동화 시나리오
DE102005012358A1 (de) Datenschutz unter Verwendung von Daten, die in Schnappschüsse verteilt sind
US11221983B1 (en) Multi-level indexing of backup files
DE112015000384T5 (de) Erhöhen der Zuverlässigkeit in einem verteilten Speichersystem
DE112020000305B4 (de) Verringern der wiederherstellungszeit in einer computerspeicherumgebung
DE112018004637T5 (de) Maschinelles lernen zum verbessern von wiederherstellungen von redundanten anordnungen von unabhängigen festplatten
US20050091461A1 (en) Incremental data storage method, apparatus, interface, and system
DE112010004264B4 (de) Selektiver Schreibschutz für das Austesten der Wiederherstellung nach einem Absturz
DE112017002940T5 (de) Standard- und Nicht-Standard-Datenzugriff auf verstreute Speichernetzwerke
DE102021127814A1 (de) Ablagespeichersteuerung, operationsverfahren dafür

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R086 Non-binding declaration of licensing interest
R016 Response to examination communication