-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft im Allgemeinen eine Speichersicherung
und insbesondere eine abgesetzte Sicherheitsspeicherung von sowohl gespeicherten
als auch gelöschten
Daten mit einer automatischen Speicherverwaltung.
-
Hintergrund der Erfindung
-
Übergangsspeichervorrichtungen,
so genannte transiente Speichervorrichtungen, wie z. B. USB-Flash-Laufwerke,
sogenannte USB-Flash-Drives (UFDs), und entfernbare Festplattenlaufwerke,
sind zum Speichern von Daten nützlich,
welche zwischen mehreren Arbeitsplatzrechnern, so genannten Personal
Computers, zu übertragen
sind. Im Gegensatz zu Arbeitsplatzrechnern weisen transiente Speichervorrichtungen
jedoch üblicherweise
keine Wiederherstellungssysteme für gelöschte Dateien auf. Ebenso stellt
ein Arbeitsplatzrechner typischerweise keine Sicherung für eine optional
damit verbundene transiente Speichervorrichtung bereit. Ein Arbeitsplatzrechner
weist üblicherweise
ein System auf, um gelöschte
Dateien zu einem Abschnitt der Festplatte (einem so genannten Wiederherstellungsbehälter oder
Recycle Bin) zu verschieben, wenn die Dateien auf der internen Festplatte
gespeichert waren, aber nicht, wenn die Dateien auf einem peripheren
UFD gespeichert waren. Dementsprechend bewahrt der Wiederherstellungsbehälter die
Dateien, welche ursprünglich
auf der internen Festplatte gespeichert waren, für eine zukünftige Wiederherstellung auf,
aber die Dateien, welche von dem UFD gelöscht wurden, sind nicht wiederherstellbar.
-
Obwohl
ein Wiederherstellungsbehälter
innerhalb einer transienten Speichervorrichtung realisiert werden
kann, würde
jeglicher für
die gelöschten Dateien
bereitgestellter Platz den verfügbaren
Platz zum Speichern neuer Dateien verringern.
-
Für Speichervorrichtungen
mit einem begrenzten Speicherplatz muss der Benutzer zwischen einem
Maximieren des Platzes, welcher für neue Dateien verfügbar ist,
und einem Bereitstellen von Platz zum Ermöglichen einer Wiederherstellung
von gelöschten
Dateien wählen.
Dementsprechend implementieren transiente Speichervorrichtungen üblicherweise
keine Wiederherstellungsbehälter
und gelöschte
Dateien sind nicht wiederherstellbar. Ein Benutzer, welcher unbeabsichtigt
eine Datei löscht,
ist nicht in der Lage, das Löschen
rückgängig zu
machen.
-
Aufgabe
der vorliegenden Erfindung ist es daher, ein Sicherungssystem für auf einer
transienten Speichervorrichtung gespeicherte Dateien bereitzustellen,
ohne den begrenzten Speicher darauf zu opfern.
-
Zusammenfassung der Erfindung
-
Gemäß der vorliegenden
Erfindung wird diese Aufgabe durch ein Verfahren zum Sichern eines Datenspeichers
nach Anspruch 1, ein Speichersystem nach Anspruch 5, ein Verfahren
zum Sichern eines Datenspeichers nach Anspruch 11 und ein Speichersystem
nach Anspruch 14 gelöst.
Die abhängigen
Ansprüche
definieren bevorzugte und vorteilhafte Ausführungsformen der Erfindung.
-
Der
vorliegende Erfinder hat Vorrichtungen und Verfahren entwickelt,
welche verwendet werden können,
um sowohl gespeicherte als auch gelöschte Daten von einem Datenspeicher
(nachfolgend „Primärdatenspeicher”) von z.
B. einer transienten Speichervorrichtung zu sichern, ohne Platz
zum Speichern von Daten zu opfern. Somit ist die gesamte Speicherkapazität der Vorrichtung
zum Speichern von Daten verfügbar,
obwohl die gespeicherten Daten auch vollständig auf der Vorrichtung gesichert sind
und eine Wiederherstellung von von der Vorrichtung gelöschten Daten
bereitgestellt wird. Ausführungsformen
der Erfindung können
einen Sekundärdatenspeicher
zum Sichern des Primärdatenspeichers,
einen Speicher für
gelöschte
Daten (welcher auch als Wiederherstellungsbehälter oder Recycle Bin bezeichnet
werden kann) zum Beibehalten von gelöschten Daten, und eine Datenverwaltungsanwendung
zum Verwalten des Sicherns von gespeicherten und gelöschten Daten
des Primärdatenspeichers
aufweisen. Es wird besonders erwähnt,
dass die hierin offenbarten Ausführungsformen
nicht notwendigerweise auf eine Anwendung bei einer transienten
Speichervorrichtung beschränkt
sind, sondern, wie es für
den Fachmann selbstverständlich
ist, auch verwendet werden können,
um eine Speichersicherung (von sowohl gespeicherten als auch gelöschten Daten)
für andere
Arten von Speichervorrichtungen bereitzustellen, welche beispielsweise
verschiedene Arten von einem Speicher oder einer Aufbewahrung verkörpern.
-
Der
Speicher für
gelöschte
Daten kann entweder ein Datenspeicher getrennt von dem Sekundärdatenspeicher
(„separater” oder „getrennter” Speicher
für gelöschte Daten)
sein, wobei in diesem Fall der Sekundärdatenspeicher die gleiche
Kapazität
wie (oder eine größere Kapazität als) der
Primärdatenspeicher
aufweisen kann, oder der Speicher für gelöschte Daten kann innerhalb
des Sekundärdatenspeichers
(„integrierter”, „kombinierter” oder „gemeinsam
genutzter” Speicher
für gelöschte Daten) sein,
wobei in diesem Fall der Sekundärdatenspeicher
eine größere Kapazität als der
Primärdatenspeicher
aufweisen kann, was ein Spiegeln von den gesamten Daten des Primärdatenspeichers
ermöglicht, wenn
der Primärdatenspeicher
voll ist, während
dennoch Platz zum Speichern von von dem Primärdatenspeicher gelöschten Daten
bereitgestellt wird.
-
Die
Datenverwaltungsanwendung kann das Sichern von in dem Primärdatenspeicher
gespeicherten Daten in dem Sekundärdatenspeicher, das Sichern
von von dem Primärdatenspeicher
gelöschten Daten
in dem Speicher für
gelöschte
Daten, die Übertragung
von Daten zu dem Speicher für
gelöschte Daten
aufgrund eines Löschens
von Daten von dem Primärdatenspeicher,
und das Entfernen von Daten von dem Speicher für gelöschte Daten wie von den Speicherkapazitätsgrenzen
des Speichers für gelöschte Daten
vorgeschrieben (anwendbar auf sowohl den separaten Speicher für gelöschte Daten
als auch den integrierten Speicher für gelöschte Daten) verwalten und/oder
geeigneten Platz in dem Sekundärdatenspeicher
(wie es nachfolgend beschrieben werden wird) bereitstellen, um das
Sichern von Daten, welche zu dem Primärdatenspeicher hinzuzufügen sind,
darin zu ermöglichen
(anwendbar auf den Fall des integrierten Speichers für gelöschte Daten). Die
Datenverwaltungsanwendung kann automatisch ein Sicherheitsnetz von
freiem Platz zum Sichern von neuen zu dem Primärdatenspeicher hinzugefügten Daten
oder von von einem Primärdatenspeicher
gelöschten
Daten bereitstellen, indem Daten (zuvor gelöschte Daten) von dem Speicher
für gelöschte Daten durch
Anwenden von geeigneten speziellen Kriterien wahlweise gelöscht werden.
Ein automatisches Entfernen von zuvor gelöschten Daten verringert zusammen
mit anderen hierin beschriebenen Merkmalen den Bedarf, dass der
Benutzer des Primärdatenspeichers
die Daten in dem Speicher für
gelöschte
Daten verwaltet und stellt dem Benutzer dementsprechend einen erheblichen
Vorteil bereit. Da Benutzer typischerweise eine derartige Verwaltung
nicht ausführen
wollen und es tatsächlich
vermeiden, eine derartige Verwaltung durchzuführen (außer sie wird benötigt, um
verlorene Daten von einer Sicherung wiederherzustellen), ist es
klar, dass dieses Merkmal zusammen mit anderen hierin beschriebenen
Merkmalen einen wichtigen Vorteil bereitstellt.
-
Beispielausführungsformen
der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf
die beigefügten
Zeichnungen im Detail beschrieben werden.
-
Kurzbeschreibung der Zeichnungen
-
Die
Erfindung wird nachfolgend in den beigefügten Ansprüchen beschrieben, welche unter
Bezugnahme auf die beigefügte
Beschreibung, welche die nachfolgenden Zeichnungen einbezieht, zu
verstehen sind.
-
1A und 1B stellen
Speichersysteme gemäß Beispielausführungsformen
der vorliegenden Erfindung zusammen mit weiteren Elementen, mit
welchen Speichersysteme in Verbindung arbeiten können, dar;
-
2A–2C stellen
einen Sekundärdatenspeicher
eines Speichersystems zusammen mit einem Primärdatenspeicher dar, mit welchem
ein Speichersystem in Verbindung gemäß Bespielausführungsformen
arbeiten kann, wobei ein Speicher für gelöschte Daten innerhalb des Sekundärdatenspeichers
realisiert ist;
-
3A–3C stellen
einen Sekundärdatenspeicher
und einen Speicher für
gelöschte
Daten eines Speichersystems zusammen mit einem Primärdatenspeicher
dar, mit welchem ein Speichersystem gemäß alternativen Beispielausführungsformen in
Verbindung arbeiten kann, wobei der Speicher für gelöschte Daten außerhalb
des Sekundärdatenspeichers
realisiert ist;
-
4A und 4B stellen
Einstellungen der Größe des Speichers
für gelöschte Daten
der 2A–2C bzw. 3A–3C dar;
-
5 stellt
ein Verfahren zum Sichern eines Datenspeichers gemäß Beispielausführungsformen dar,
welches bei dem in 2A–2C gezeigten Speichersystem
anwendbar ist; und
-
6A und 6B zeigen
Verfahren zum Sichern eines Datenspeichers gemäß alternativer Beispielausführungsformen,
welche bei dem in 3A–3C gezeigten
Speichersystem anwendbar sind.
-
An
den Stellen, wo es geeignet ist, werden gleiche oder ähnliche
Bezugszeichen in mehreren Zeichnungen verwendet, um gleiche oder ähnliche Elemente
zu bezeichnen.
-
Detaillierte Beschreibung
-
Die
folgende detaillierte Beschreibung und die beigefügten Zeichnungen
sollen die vorliegende Erfindung nur darstellen und nicht beschränken. Es ist
klar, dass nur bestimmte Beispielausführungsformen hierin beschrieben
und gezeigt werden.
-
Die
Struktur und der Betrieb von Speichersystemen und Verfahren gemäß verschiedener
Beispielausführungsformen
der vorliegenden Erfindung wird nun beschrieben werden.
-
Es
wird erwartet, dass hierin offenbarte Ausführungsformen in Verbindung
mit einer transienten Speichervorrichtung, einem Hauptrechner und/oder einem
Netz verwendet werden, obwohl diese Elemente nicht notwendig sind.
Der Begriff „transiente Speichervorrichtung” betrifft
eine Speichervorrichtung (z. B. eine Massenspeichervorrichtung),
welche von einem Hauptrechner entfernbar ist. Dementsprechend zeigt 1A eine
Ausführungsform
eines Speichersystems zusammen mit weiteren Elementen, mit welchen
sie in Verbindung arbeiten kann. Wie in 1A gezeigt
ist, weist eine transiente Speichervorrichtung 100, einen
Primärdatenspeicher 102 auf. Im
Zusammenhang der vorliegenden Erfindung weisen exemplarische transiente
Speichervorrichtungen ein USB-Flash-Laufwerk (USB Flash Drive, UFD), eine
entfernbare Festplatte, eine Speicherkarte usw. auf. Der Primärdatenspeicher
kann ein nicht flüchtiger
Speicher wie z. B. ein NAND Flash oder ein Memristorspeicher (z.
B. in USB-Flash-Laufwerken oder externen Festkörperlaufwerken oder Halbleiterlaufwerken)
oder ein magnetisches Speichermedium (z. B. in externen Festplattenlaufwerken)
sein, aber auch andere Arten eines Speichermediums können für den Primärspeicher
verwendet werden, wie es einem Fachmann angesichts der hierin gegebenen
Beschreibung klar sein wird.
-
Beispiele
von Hauptrechnern im Zusammenhang der vorliegenden Erfindung umfassen
einen Arbeitsplatzrechner, ein intelligentes Telefon und eine persönliche Informationsvorrichtung,
aber die hierin offenbarten Ausführungsformen
sind auch auf andere Arten von Hauptrechnern anwendbar, wie es einem
Fach mann angesichts der hierin gegebenen Beschreibung klar sein
wird. Wie in 1A gezeigt ist, weist ein Hauptrechner 104 ein
Betriebssystem 105 auf, welches für ein Übertragen 106 von
Daten zu und von der transienten Speichervorrichtung 100,
für ein
Löschen 107 von
Daten von der transienten Speichervorrichtung 100 und für ein Übertragen 108 von Daten
und Meldungen von Löschungen
und/oder Hinzufügungen
von Daten zu einem Speichersystem 110 verantwortlich ist,
um die Sicherung von Dateien, welche auf der transienten Speichervorrichtung 100 gespeichert
sind und von der transienten Speichervorrichtung 100 gelöscht werden,
auf dem Speichersystem 110 zu ermöglichen. Es ist besonders zu
erwähnen,
dass der Begriff „Sicherung” und dergleichen
in der vorliegenden Erfindung unter Bezugnahme auf ein Beibehalten
von Kopien von sowohl gespeicherten Daten als auch gelöschten Daten
verwendet wird.
-
Das
Speichersystem 110 umfasst eine Datenverwaltungsanwendung 112,
einen Sekundärdatenspeicher 114,
einen Speicher für
gelöschte
Daten 116, einen Prozessor 118, eine Kommunikationsschnittstelle 120,
eine Benutzerschnittstelle 122 und (nicht gezeigte) Daten-
und Steuerleitungen dazwischen. Die Datenverwaltungsanwendung 112 weist eine
oder mehrere Unteranwendungen auf, welche eine Datenentfernungsanwendung 124 einbeziehen. Diese
Anwendungen und Unteranwendungen werden von dem Prozessor 118 ausgeführt, um
Vorgänge
auszuführen,
wie nachfolgend beschrieben wird. Der Prozessor 118 kann
eine Standardsystemvorrichtung auf einem Chip (System-on-Chip, SoC),
eine Systemvorrichtung in einem Gehäuse (System-in-Package, SiP)
oder eine Mehrzweckverarbeitungseinheit mit einer Software oder
Firmware sein (z. B. eine spezielle Software, welche die oben erwähnten Anwendungen
ausführen
kann), welche, wenn sie ausgeführt
wird, die hierin beschriebenen Schritte und Vorgänge ausführt. Alternativ kann der Prozessor 118 ein
anwendungsspezifischer integrierter Schaltkreis (ASIC) sein, welcher
die hierin beschrieenen Schritte und Vorgänge unter Verwendung einer
Hardware (welche z. B. die oben erwähnten Anwendungen realisiert)
ausführt.
Die Kommunikationsschnitt stelle 120 stellt eine Kommunikation
zwischen dem Speichersystem 110 und dazu externen Elementen,
wie z. B. der transienten Speichervorrichtung 100, dem
Hauptrechner 104 und einem (nicht gezeigten) Netz, bereit.
Diese Kommunikation kann drahtgebunden oder drahtlos sein und kann über hierin
nicht erwähnte
Zwischenstellen durchgeführt werden.
Die Benutzerschnittstelle 122 stellt eine Benutzerinteraktion
mit dem Speichersystem 110 bereit. Die Benutzerschnittstelle 122 kann
eine graphische Benutzerschnittstelle (GUI), eine Kommandozeilenschnittstelle
und/oder weitere Schnittstellen aufweisen, welche für die hierin
beschriebenen Zwecke geeignet sind. Der Sekundärdatenspeicher 114 wird verwendet,
um die in dem Primärdatenspeicher 102 gespeicherten
Daten zu sichern (und/oder Kopien davon zu halten). Der Speicher
für gelöschte Daten 116 wird
verwendet, um Daten zu sichern (Kopien davon zu halten), welche
von dem Primärdatenspeicher 102 gelöscht wurden.
Der Sekundärdatenspeicher 114 und
der Speicher für
gelöschte
Daten 116 können
jeweils ein nicht flüchtiger
Speicher sein, welcher als Sicherungsspeicher geeignet ist, einschließlich eines
abgesetzten Speichers und eines verbundenen Speichers (online Speicher),
wie z. B. ein netzbasierter Speicher, Firmenbereichsspeichernetze,
ein heimischer Speicherserver oder andere geeignete Arten von Speichern
oder Ablagen.
-
Hierin
beschriebene Systeme und Komponenten können Software, Firmware, Hardware
oder eine beliebige Kombination daraus sein, welche für die hierin
beschriebenen Zwecke geeignet sind. Hierin beschriebene Systeme
und Komponenten können sich
auf Servern, Hauptrechnern und anderen Vorrichtungen befinden, welche
für die
hierin beschriebenen Zwecke geeignet sind. Wie es einem Fachmann
klar sein wird, können
in einigen Fällen
Komponenten in eine größere oder
kleinere Anzahl von Komponenten als beschrieben geteilt oder integriert werden. „Daten”, wie sie
hierin verwendet werden, können
Computerdateien von einer beliebigen Art (z. B. Text, Bilder, Audio,
Vi deo, binär,
usw.) und beliebige andere Datenformate oder Strukturen für die hierin
beschriebenen Zwecke sein.
-
Bei
einigen Ausführungsformen
ist der Speicher für
gelöschte
Daten 116 ein von dem Sekundärdatenspeicher 114 getrenntes
Element („separater” oder „getrennter” Speicher
für gelöschte Daten),
wie in 1A gezeigt, wohingegen in anderen
Ausführungsformen
ein Speicher für
gelöschte
Daten 117 innerhalb eines Sekundärdatenspeichers 115 realisiert ist
(„integrierter”, „kombinierter” oder „gemeinsam
genutzter” Speicher
für gelöschte Daten),
wie in dem in 1B gezeigten Speichersystem 111 schematisch dargestellt.
Diese Unterscheidung wird nachfolgend genauer ausgeführt werden.
Der Einfachheit halber zeigt 1B nur
einen Teil der 1A. Es ist klar, dass die transiente
Speichervorrichtung 100, der Primärdatenspeicher 102,
der Hauptrechner 104, das Hauptrechnerbetriebssystem 105,
die Datentransfervorgänge 106,
die Datenlöschvorgänge 107 und
die Daten- und Meldungsübertragungsvorgänge 108, welche
in 1A gezeigt sind, auch für 1B gelten.
-
Weitere
Anordnungen von Speichersystemen 110 und 111,
welche in den 1A bzw. 1B gezeigt
sind, und weitere Elemente, mit welchen die Speichersysteme 110 und 111 in
Verbindung betrieben werden können
(wie z. B. der Primärdatenspeicher 102,
der Hauptrechner 104, das (nicht gezeigte) Netz usw.),
können
verwendet werden, wie es einem Fachmann angesichts der hierin gegebenen
Beschreibung klar sein wird. Diesbezüglich kann sich z. B. das Speichersystem 110, 111 auf
einem Hauptrechner 104 oder in einem Netz befinden, obwohl dies
nicht zwingend erforderlich ist. Die Verwendung von „Speichersystem 110, 111” betrifft
das Speichersystem 110 oder 111 oder beide, wie
es in Anbetracht des Kontextes geeignet ist. Ähnliche Verwendungen sind in
einer ähnlichen
Art und Weise auszulegen. Überdies
müssen
die verschiedenen Komponenten des Speichersystems 110, 111,
wie z. B. der Prozessor 118, die Datenverwaltungsanwendung 112,
der Sekundärspeicher 114, 115 und
der Speicher für
gelöschte
Daten 116, 117, nicht zusammen ange ordnet sein
(z. B. in derselben Vorrichtung oder demselben Server), wie in 1A und 1B gezeigt,
sondern beliebige der Komponenten können sich entfernt voneinander
befinden, außer
es ist hierin anders angegeben (z. B. in dem Fall eines gemeinsam
verwendeten oder genutzten Speichers für gelöschte Daten, wo der Speicher
für gelöschte Daten 117 innerhalb des
Sekundärdatenspeichers 115 realisiert
ist, wobei sich diese beiden Komponenten zusammen befinden würden, obwohl
sich der Speicher 117 für
gelöschte Daten
entfernt von einem Abschnitt des Sekundärdatenspeichers 115 befinden
könnte,
wenn der Sekundärdatenspeicher 115 über mehrere
Vorrichtungen verteilt ist). Einzelne Komponenten der Datenverwaltungsanwendung 112 können sich
auch entfernt voneinander befinden. Beliebige Komponenten des Speichersystems 110, 111 können sich
in einem Hauptrechner 104 oder einem (nicht gezeigten)
Netz befinden, aber dies ist nicht notwendigerweise der Fall. Eine
Kommunikation zwischen Komponenten des Speichersystems 110, 111 und
anderen Elementen (z. B. dem Primärdatenspeicher 102,
dem Hauptrechner 104 usw.), mit welchen das Speichersystem 110, 111 in
Verbindung arbeitet, kann, muss aber nicht, über ein Netz durchgeführt werden.
Es können auch
mehrere Hauptrechner 104 in Verbindung mit dem Speichersystem 110, 111 verwendet
werden. Ein einzelner Hauptrechner 104 kann mit mehreren Speichersystemen 110, 111 verbunden
werden. Das Speichersystem 110, 111 kann eine
Komponente von einem oder mehreren Hauptrechnern 104 sein,
mit welchem die transiente Speichervorrichtung 100 verbunden
ist. Das Speichersystem 110, 111 kann mehreren
Clients dienen, welche jeweils einen oder mehrere Primärdatenspeicher 102 aufweisen.
Das Speichersystem 110, 111 kann weitere als die
hierin beschriebenen oder zusätzliche
zu den hierin beschriebenen Komponenten aufweisen und kann weitere
als die hierin beschriebenen oder zusätzliche zu den hierin beschriebenen
Funktionen ausführen.
-
Soweit
Details von Komponenten des hierin offenbarten Speichersystems 110, 111 oder
von Vorgängen
von derartigen Kompo nenten der Einfachheit halber weggelassen werden,
ist es klar, dass derartige Details einem Fachmann bekannt sind.
-
Ein
kurzer und vereinfachter Überblick
des Betriebs des Speichersystems 110, 111 gemäß einer Ausführungsform
der vorliegenden Erfindung wird nachfolgend erörtert werden. Die nachfolgend
beschriebenen Vorgänge
können
von der Datenverwaltungsanwendung 112 ausgeführt werden.
Wenn Daten zu dem Primärdatenspeicher 102 hinzugefügt werden
(z. B. 106), kann eine Meldung zu dem Speichersystem 110, 111 gesendet
werden (z. B. 108), woraufhin die Datenverwaltungsanwendung 112 diese
hinzugefügten
Daten zu dem Sekundärdatenspeicher 114, 115 kopiert,
um eine Sicherung in dem Speichersystem 110, 111 von
den in dem Primärdatenspeicher 110 gespeicherten
Daten zu erzeugen. Diese Sicherung ist z. B. in 2A bzw. 3A als Spiegel 260 bzw. 360 dargestellt.
Wenn Daten von dem Primärdatenspeicher 102 gelöscht werden
(z. B. 107), wird eine Meldung zu dem Speichersystem 110, 111 gesendet
(z. B. 108), woraufhin die Datenverwaltungsanwendung 112 die
gelöschten
Daten (d. h. die Kopie von den gelöschten Daten, welche zuvor von
dem Primärdatenspeicher 102 zu
dem Spiegel 260, 360 des Sekundärdatenspeichers 114, 115 kopiert
wurden, als die Daten zu dem Primärdatenspeicher 102 hinzugefügt wurden)
von dem Spiegel 260, 360 des Sekundärdatenspeichers 114, 115 zu
dem Speicher für
gelöschte
Daten 116, 117 überträgt, oder woraufhin die Datenverwaltungsanwendung 112 in äquivalenter
Art und Weise die gelöschten
Daten von dem Spiegel 260, 360 löscht und
die gelöschten
Daten in den Speicher für
gelöschte
Daten 116, 117 kopiert (schreibt). Dieser Übertragungsvorgang dient
sowohl dazu, eine Konsistenz zwischen den Inhalten (Daten 269, 2A)
des Primärdatenspeichers 102 und
den Inhalten des Spiegels 260, 360 des Sekundärdatenspeichers 114, 115 beizubehalten bzw.
die Identität
dazwischen beizubehalten, als auch dazu, mindestens einige der von
dem Primärdatenspeicher 102 gelöschten Daten
in dem Speicher für
gelöschte
Daten 116, 117 zu behalten, wodurch eine Sicherung
von von dem Primärdatenspeicher 102 gelöschten Daten
bereitgestellt wird.
-
Als
eine Einschränkung
oder Schwierigkeit zu dem Obigen sollte besonders erwähnt werden, dass
es auftreten kann, dass der Primärdatenspeicher 102 nicht
betriebsfähig
mit dem Speichersystem 110, 111 verbunden ist,
wenn Änderungen
(z. B. Hinzufügungen
und Löschungen)
an den in dem Primärdatenspeicher 102 gespeicherten
Daten durchgeführt
werden. Dies kann auftreten, wenn die Vorrichtung, welche den Primärdatenspeicher 102 enthält, physikalisch
von dem Speichersystem 110, 111 getrennt ist,
z. B. von dem Hauptrechner oder Server, auf welchem sich das Speichersystem 110, 111 befindet.
In einer derartigen Situation können
Hinzufügungen
und Löschungen
von Daten des Primärdatenspeichers 102 nicht
dem Speichersystem 110, 111 gemeldet werden, so
dass die nachfolgenden Vorgänge
eines Hinzufügens
von Daten zu dem Spiegel 260, 360 bzw. (falls
erforderlich) eines Löschens
von Daten in dem Speicher für
gelöschte
Daten 116, 117 nicht durchgeführt werden können. Es
kann festgelegt werden, dass in diesem Fall die Meldungen bei einer
folgenden (z. B. nächsten)
betriebsfähigen
Verbindung des Primärdatenspeichers 102 mit
dem Speichersystem 110, 111 durchgeführt werden
und die zuvor erwähnten
nachfolgenden Vorgänge
des Speichersystems 110, 111 automatisch durchgeführt werden,
wodurch der Spiegel 260, 360 bzw. der Speicher
für gelöschte Daten 116, 117 aktualisiert
bzw. mit dem Datenspeicher 102 synchronisiert werden.
-
In
dem obigen Szenario besteht daher eine Verzögerung zwischen dem Zeitpunkt,
zu dem Daten zu dem Primärdatenspeicher 102 hinzugefügt oder davon
gelöscht
werden, und dem Zeitpunkt, zu dem die entsprechenden Änderungen
in dem Sekundärdatenspeicher 114, 115 und
dem Speicher für
gelöschte
Daten 116, 117 durchgeführt werden. Eine solche Verzögerung kann
auch durch andere Einflüsse
bewirkt werden, z. B. durch inhärente
Verzögerungen
beim Betrieb des Speichersystems 110, 111 oder beliebiger
Komponenten davon, oder durch ein (temporäres oder permanentes) Aussetzen
von der gesamten oder einem Teil der Sicherungsfunktionalität bei einer
Benutzeranforderung.
-
Aufgrund
einer solchen Verzögerung
kann es passieren, dass zu einem gegebenen Zeitpunkt die in dem
Spiegel 260, 360 und dem Speicher für gelöschte Daten 116, 117 enthaltenen
Sicherungen nicht aktuell sind und nicht zu dem derzeitigen Sachzustand
in dem Primärdatenspeicher 102 „passen”.
-
Die
Datenverwaltungsanwendung 112 und insbesondere die Datenentfernungsanwendung 124 davon
entfernt (z. B. 255, 355 in 2B, 3C) Daten
von dem Speicher für
gelöschte
Daten 116, 117, wie dies durch die Größenbeschränkung (Speicherkapazität) des Speichers
für gelöschte Daten 116, 117 bedingt
ist, und (in Ausführungsformen,
in welchen der Speicher für
gelöschte
Daten 117 in dem Sekundärdatenspeicher 115 realisiert
ist) wie es erforderlich ist, um in dem Sekundärdatenspeicher 115 kopierte
Daten als eine Sicherung von zu dem Primärdatenspeicher hinzugefügten Daten
unterzubringen. Das Entfernen (z. B. 255, 355)
von Daten von dem Speicher für
gelöschte
Daten 116, 117 kann von dem Speichersystem 110, 111 gemäß einem
Kriterium automatisch durchgeführt
werden, d. h. Daten, welche ein Kriterium erfüllen, werden gelöscht. Das Kriterium
kann von dem Speichersystem eingestellt werden. Alternativ kann
das Kriterium von einem Benutzer eingestellt werden. Das Entfernen
(z. B. 255, 355) von Daten von dem Speicher für gelöschte Daten 116, 117 kann
ferner manuell durchgeführt
werden, z. B. von einem Benutzer aus dem Stegreif heraus. Das Kriterium
kann komplex sein und z. B. eine Kombination von Kriterien einbeziehen.
Es sollte besonders erwähnt,
dass im Gegensatz zu dem Löschen
von Daten von dem Spiegel 260, 360 des Sekundärdatenspeichers 114, 115,
welches (wie in dem vorhergehenden Absatz beschrieben) von einem Schreiben
oder Kopieren der gelöschten
Daten in den Speicher für
gelöschte
Daten 116, 117 begleitet wird und somit keine
permanente (nicht wiederherstellbare) Löschung oder keinen permanenten
Verlust von Daten bildet, das Entfernen (z. B. 255, 355) von
Daten von dem Speicher für
gelöschte
Daten 116, 117 nicht von einem Schreiben oder
Kopieren der gelöschten
Daten an einen anderen Ort begleitet wird und somit ein permanentes
(nicht wieder herstellbares) Löschen
oder einen permanenten (nicht wiederherstellbaren) Verlust der Daten
darstellt.
-
Die
nachfolgende Beschreibung wird spezielle Beispielausführungsformen
eines Speichersystems 110, 111 einschließlich weiterer
Details des zuvor beschriebenen Betriebs sowie zusätzliche
Aspekte des Speichersystems 110, 111 beschreiben.
-
2A–2C stellen
eine Beispielausführungsform
eines Speichersystems 111 dar, welches durch einen „integrierten” (oder „kombinierten” oder „gemeinsam
genutzten”)
Speicher für
gelöschte
Daten gekennzeichnet ist, d. h., wo der Speicher für gelöschte Daten 117 innerhalb
des Sekundärdatenspeichers 115 realisiert
ist (wie in 1B gezeigt). Der Einfachheit
halber sind in den 2A–2C Komponenten
des Speichersystems 111 außer dem Sekundärdatenspeicher 115 und
dem Speicher für
gelöschte
Daten 117 weggelassen. Es sollte besonders erwähnt werden,
dass 2A nicht nur den Sekundärdatenspeicher 115 und
den Speicher für
gelöschte
Daten 117, sondern auch den Primärdatenspeicher 102 zeigt.
-
Eine
allgemeine Diskussion des Speichersystems 111 dieser Ausführungsform
wird nun unter Bezugnahme auf die 2A–2C gegeben
werden. In dem Speichersystem 111, welches durch den integrierten
Speicher für
gelöschte
Daten gekennzeichnet ist, weist der Sekundärdatenspeicher 115 sowohl
den Spiegel 260 als auch den Speicher für gelöschte Daten 117 (und
möglicherweise
freien Platz 262) auf und die Größe des Sekundärdatenspeichers 115 ist
größer als
die des zugeordneten Primärdatenspeichers 102,
welcher von dem Sekundärdatenspeicher 115 gesichert
wird. Wie es aus der Beschreibung hierin klar wird, erlaubt die
Bedingung, dass die Größe des Sekundärdatenspeichers 115 größer als
die des Primärdatenspeichers 102 ist,
und ist dafür
erforderlich, dass Daten, welche von dem Primärdatenspeicher 102 gelöscht werden,
(in dem Speicher für
gelöschte
Daten 117) beibehalten werden, sogar wenn der Primärdatenspeicher 102 bis
zu seiner Kapazität
gefüllt
ist, d. h. keinen freien Platz 265 enthält. Der Sekundärdatenspeicher 115 muss nicht
physikalisch geteilt sein, um zwei getrennte Abschnitte zu enthalten,
sondern der Platz (die Speicherkapazität) innerhalb des Sekundärdatenspeichers 115 kann
vielmehr veränderlich
zwischen dem Spiegel 260, dem Speicher für gelöschte Daten 117 und
dem freien Platz 262, welcher als weder zu dem Spiegel 260 noch
zu dem Speicher für
gelöschte
Daten 117 zugehörig
angesehen werden kann, zugeordnet werden.
-
Die
veränderliche
Zuordnung von Platz innerhalb des Sekundärdatenspeichers 115 unterliegt den
folgenden Beschränkungen
bezüglich
der Größe des Spiegels 260 und
der Größe des Speichers
für gelöschte Daten 117.
Der Spiegel 260 ist ausgestaltet, Kopien von allen in dem
Primärdatenspeicher 102 gespeicherten
Daten zu halten. Somit gleicht die Größe (die Speicherkapazität) des Spiegels 260 zu jedem
Zeitpunkt der des Inhalts (der Daten 269) des Primärdatenspeichers 102 und
die Größe des Spiegels 260 kann
nicht die volle Kapazität
des Primärdatenspeichers 102 überschreiten.
Der folgende Vorbehalt gilt für
den vorhergehenden Satz. Es kann eine Verzögerung zwischen dem Zeitpunkt,
zu dem Daten zu dem Primärdatenspeicher 102 hinzugefügt oder von
dem Primärdatenspeicher 102 entfernt
werden, und dem Zeitpunkt, zu dem die gleiche Änderung an dem Sekundärdatenspeicher 115 durchgeführt wird, geben,
z. B. weil der Primärdatenspeicher 102 nicht betriebsfähig mit
dem Speichersystem 111 verbunden ist, Verzögerungen
in dem Betrieb des Speichersystems 111 vorhanden sind oder
die gesamte oder ein Teil der Sicherungsfunktionalität aufgrund
einer Benutzeranforderung wie zuvor beschrieben gesperrt ist. Aufgrund
einer solchen Verzögerung
kann es passieren, dass zu einem gegebenen Zeitpunkt die Größe des Spiegels 260 nicht
der des Inhalts (der Daten 269) des Primärdatenspeichers 102 gleicht.
-
Bezüglich des
Speichers für
gelöschte
Daten (117) kann sich die Größe davon ausdehnen, um den gesamten
von dem Spiegel 260 nicht belegten Platz zu belegen. Bei
dem anderen Extrem, wenn der Spiegel 260 seine größte Größe aufweist
(welche der gesamten Kapazität
des Primärdatenspeichers 102 gleicht),
wird der Speicher für
gelöschte
Daten 117 auf die Größe des zusätzlichen
Speichers 267 verringert (wie es in 2A der
Fall ist). Somit kann die Größe des zusätzlichen
Speichers 267 als die minimale Größe des Speichers für gelöschte Daten 117 angesehen
werden. Sogar wenn der Speicher für gelöschte Daten 117 leer
ist, kann der zusätzliche
Speicher 267 als für
den Speicher für
gelöschte
Daten 117 reserviert angesehen werden. Der zusätzliche Speicher 267 muss
nicht physikalisch (z. B. fest) dem Speicher für gelöschte Daten 117 zugeordnet
sein, aber in der Praxis ist der zusätzliche Speicher 267 zumindest
teilweise wirksam für
den Speicher für
gelöschte
Daten 117 reserviert. Der Grund dafür ist, dass der Spiegel 260 keinen
Bedarf für
eine Verwendung für
den zusätzlichen
Speicher 267 aufweist, da die maximale Speicherkapazität, welche
der Spiegel 260 fordert, die volle Kapazität des Primärdatenspeichers 102 ist,
und der zusätzliche
Speicher 267 als der überschüssige Platz
in dem Sekundärdatenspeicher 115 über und
oberhalb der vollen Kapazität
des Primärdatenspeichers 102 definiert
ist.
-
Innerhalb
der Begriffe des obigen Rahmenwerks wird jeder gegebene Platz innerhalb
des Sekundärdatenspeichers 115 dem
Spiegel 260 oder dem Speicher für gelöschte Daten 117 lediglich
aufgrund der an dem Platz gehaltenen Daten, welche dem Spiegel 260 bzw.
dem Speicher für
gelöschte Daten 117 zugeordnet
sind, zugeordnet. Somit sind alle Daten in dem Sekundärdatenspeicher 115 entweder
dem Spiegel 260 oder dem Speicher für gelöschte Daten 117 zugeordnet.
Eine derartige Zuordnung kann durchgeführt werden, indem Daten, welche
dem Spiegel 260 zugeordnet sind, anders als Daten, welche
dem Speicher für
gelöschte
Daten 117 zugeordnet sind, markiert werden, indem eine
von den beiden Arten von Daten markiert und die anderen nicht markiert
werden (die nicht markierten Daten können somit eigentlich als markiert
angesehen werden), oder durch eine beliebige andere Manipulation von
Metadaten der Daten, oder auf eine andere geeignete Art und Weise,
wie sie einem Fachmann angesichts der hierin bereitgestellten Beschreibung
einfallen wird.
-
Während alle
Daten in dem Sekundärdatenspeicher 115 entweder
dem Spiegel 260 oder dem Speicher für gelöschte Daten 117 zugeordnet
sind, ist der gesamte Platz in dem Sekundärdatenspeicher 115 nicht
notwendigerweise zu entweder dem Spiegel 260 oder dem Speicher
für gelöschte Daten 117 zugeordnet.
Der Platz, welcher nicht von dem Spiegel 260 zugeordneten
Daten oder von dem Speicher für
gelöschte
Daten 117 zugeordneten Daten belegt ist, ist freier Platz 262 (gemäß dem oben
erwähnten Punkt
(Vorbehalt) kann angenommen werden, dass dieser Speicher für gelöschte Daten 117 den
nicht belegten Platz aufweist, wenn die Inhalte des Speichers für gelöschte Daten 117 nicht
den zusätzlichen Speicher 267 füllen). Platz,
welcher durch Löschen 273 von
Daten von dem Spiegel 260 oder durch Entfernen 255 von
Daten von dem Speicher für
gelöschte
Daten 117 freigegeben (als nicht belegt angesehen) wird,
kehrt zu dem Status des freien Platzes 262 zurück (wiederum
kann gemäß dem oben
erwähnten Punkt
(Vorbehalt) angenommen werden, dass der Speicher für gelöschte Daten 117 den
nicht belegten Platz aufweist, wenn die Inhalte des Speichers für gelöschte Daten 117 nicht
den zusätzlichen
Speicher 267 füllen).
-
Obwohl
die vorliegende Erfindung auf die „Größen” des Spiegels 260 und
des Speichers für
gelöschte
Daten 117 und auf „Änderungen” von diesen Größen und
dergleichen hinweist, sollten derartige Redewendungen in Bezug auf
die obige Diskussion verstanden werden.
-
Die
Erörterung
wird nun unter detaillierter Bezugnahme auf die Beschreibung von
den 2A–2C fortgesetzt
werden. Das Zuordnen und Verwalten von Daten in dem Sekundärdatenspeicher 115 in
dieser Beispielausführungsform
wird nun unter Bezugnahme auf den Primärdatenspeicher 102 erörtert werden.
-
Wie
in 2A gezeigt ist, enthält der Primärdatenspeicher 102 Daten 269 und,
solange der Primärdatenspeicher 102 nicht
voll ist, freien Platz 265, d. h. den nicht belegten Abschnitt
des Primärdatenspeichers 102,
welcher frei ist, um Daten, welche zu dem Primärdatenspeicher 102 hinzuzufügen sind,
zu halten. Wenn Daten 269 den Primärdatenspeicher 102 bis
zu seiner Kapazität
füllen
würden,
würde kein freier
Platz 265 in dem Primärdatenspeicher 102 vorhanden
sein.
-
Der
Sekundärdatenspeicher 115 weist
einen Spiegel 260, einen Speicher für gelöschte Daten 117 und
möglicherweise
freien Platz 262 auf. D. h., wenn entweder der Spiegel 260 oder
der Speicher für
gelöschte
Daten 117 nicht bis zur Kapazität gefüllt ist, weist der Sekundärdatenspeicher 115 freien
Platz 262 auf. Der Spiegel 260 ist ausgestaltet,
alle Daten 269, welche in dem Primärdatenspeicher 102 gespeichert
sind, genau zu spiegeln, d. h., er hält Kopien davon. Wenn Daten
zu dem Primärdatenspeicher 102 hinzugefügt werden,
werden somit die gleichen Daten auch in den Spiegel 260 des
Sekundärdatenspeichers 115 geschrieben
(271, 2B), und wenn Daten von dem
Primärdatenspeicher 102 gelöscht werden,
werden die identischen Daten in dem Spiegel 260 von dem
Spiegel 260 gelöscht
(273, 2C). Bezüglich des Sicherns von Daten,
z. B. in dem Sekundärdatenspeicher 115 oder
in dem Speicher für gelöschte Daten 117,
wird in dieser Offenbarung synonym von Speichern oder Schreiben
von Kopien von ursprünglichen
Daten in einen zweiten Ort, Kopieren von ursprünglichen Daten in einen zweiten Ort,
Speichern oder Schreiben der ursprünglichen Daten in einen zweiten
Ort, Speichern oder Schreiben von Daten, welche identisch zu den
ursprünglichen
Daten sind oder den ursprünglichen
Daten entsprechen, in einen zweiten Ort und dergleichen gesprochen.
Bezüglich
des Löschens
von Daten ist besonders zu erwähnen,
dass dieses Löschen
entweder ein physikalisches Löschen
oder ein virtuelles (logisches) Löschen sein kann, wobei das
Letztere z. B. durch Kennzeichnen der Daten als gelöscht durchgeführt werden
kann. Wie zuvor erwähnt
und wie es nachfolgend genauer ausgeführt werden wird, werden die
von dem Spiegel 260 gelöschten 273 Daten nicht
insgesamt von dem Sekundärdatenspeicher 115 entfernt,
sondern vielmehr in den Speicher für gelöschte Daten 117 kopiert.
-
Obwohl
der Spiegel 260 Kopien von allen Daten 269, welche
in dem Primärdatenspeicher 102 gespeichert
sind, speichert, ist besonders zu erwähnen, dass es keinen Bedarf
gibt, freien Platz 265 des Primärdatenspeichers 102 zu
spiegeln. Wie in der 2A gezeigt ist und nachfolgend
erörtert
wird, ist dementsprechend der Abschnitt des Sekundärdatenspeichers 115,
welcher dem freien Platz 265 des Primärdatenspeichers 102 entspricht,
auch freier Platz 262 in dem Sekundärdatenspeicher 115,
welcher für eine
Verwendung von entweder dem Spiegel 260 oder dem Speicher
für gelöschte Daten 117 verfügbar ist.
-
Der
Speicher für
gelöschte
Daten 117 ist ausgestaltet, Kopien von (zumindest einigen)
Daten, welche von dem Primärdatenspeicher 102 gelöscht wurden,
zu halten. Natürlich
kann der Speicher für gelöschte Daten 117 bezüglich seines
Inhaltes geleert werden, z. B. durch einen Benutzereingriff, und somit
zu einer beliebigen gegebenen Zeit leer sein.
-
Da
sich die Datenmenge 269 in dem Primärdatenspeicher 102 ändern kann,
kann sich die Größe des Spiegel 260 des
Sekundärdatenspeichers 115 entsprechend ändern und
die Größe des freien
Platzes 265 des Primärdatenspeichers 102 kann
sich umgekehrt ändern.
Daher kann sich die Größe des Speichers
für gelöschte Daten 117 ändern, sogar wenn
die Größe des zusätzlichen
Speichers 267 und die Größe des Sekundärdatenspeichers 115 fest sind.
Wie nachfolgend in der Erörterung
der 4A und 4B erklärt wird,
sind die Größe des zusätzlichen
Speichers 267 und die Größe des Sekundärdatenspeichers 115 anfänglich fest,
können
jedoch z. B. durch einen Benutzereingriff geändert werden. Es ist besonders
zu erwähnen,
dass, solange die Größe des Sekundärdatenspeichers 115 und
die Grö ße des zusätzlichen
Speichers 267 gleich bleiben, die Größe des Speichers für gelöschte Daten 117 und
die Größe des Spiegels 260 in
einem umgekehrten Verhältnis
zueinander veränderlich
sind. Wenn sich die Menge von freiem Platz 265, welcher
in dem Primärdatenspeicher 102 verfügbar ist,
verringert, verringert sich somit die Menge von freiem Platz 262 in
dem Sekundärdatenspeicher 115,
vergrößert sich
die Größe des Spiegels 260 und
verringert sich die Menge von Platz, welcher für den Speicher für gelöschte Daten 117 in
dem Sekundärdatenspeicher 115 verfügbar ist,
jeweils um die gleiche Menge.
-
Wie
zuvor erwähnt
und aus 2A ersichtlich, ist in dieser
Ausführungsform
der Sekundärdatenspeicher 115 größer als
der Primärdatenspeicher 102.
Dies ermöglicht
(und ist erforderlich), dass von dem Primärdatenspeicher 102 gelöschte Daten
in dem Speicher für
gelöschte
Daten 117 beibehalten werden, sogar wenn der Primärdatenspeicher 102 bis
zu seiner Kapazität
gefüllt
ist, d. h. keinen freien Platz 265 enthält. Wenn der Primärdatenspeicher 102 bis
zu seiner Kapazität
gefüllt
ist, d. h. keinen freien Platz 265 enthält, wird die Größe (d. h.
die Speicherkapazität)
des Speichers für
gelöschte
Daten 117 auf die Größe des zusätzlichen
Speichers 267 verringert, wie aus 2A abgeleitet
werden kann. Wie zuvor erwähnt
und nun auch aus 2A klar ist, gleicht die Größe des zusätzlichen
Speichers 267 der Größe, um welche
die Speicherkapazität
des Sekundärdatenspeichers 115 die
des Primärdatenspeichers 102 überschreitet,
d. h., die Größe des zusätzlichen
Speichers 267 gleicht der Differenzgröße zwischen dem Sekundärdatenspeicher 115 und
dem Primärdatenspeicher 102.
Wenn die Größe des Sekundärdatenspeichers 115 gleich
der Größe des Primärdatenspeichers 102 wäre, und
wenn der Primärdatenspeicher 102 voll
wäre, würde der
Sekundärdatenspeicher 115 auch
(mit Kopien von Daten 269, welche in dem Primärdatenspeicher 102 gespeichert sind)
voll sein und würde
keinen zusätzlichen
Platz aufweisen, d. h., keinen Platz, um von dem Primärdatenspeicher 102 gelöschte Daten
beizubehalten. Dies wird aus der obigen Erörterung und aus 2A klar.
-
2B und 2C stellen
das Ändern
einer Zuordnung von Speicherplatz innerhalb des Sekundärdatenspeichers 115 zwischen
dem Spiegel 260 und dem Speicher für gelöschte Daten 117 dar,
wenn Daten zu dem Spiegel 260 des Sekundärdatenspeichers 115 hinzugefügt werden
(271, 2B) oder davon gelöscht werden
(273, 2C). dieses Hinzufügen 271 oder
Löschen 273 von
Daten zu bzw. von dem Spiegel 260 des Sekundärdatenspeichers 115 tritt,
wie zuvor erwähnt,
aufgrund eines Hinzufügens bzw.
Löschens
von Daten zu bzw. von dem Primärdatenspeicher 102 auf.
Die linke Seite der beiden Figuren stellt den Speicher zu der Zeit
T1 dar, d. h. vor dem Vorgang des Datenhinzufügens 271 oder Datenlöschens 273,
und die rechte Seite von beiden Figuren stellt den Speicher zu der
Zeit T2 dar, d. h., nach dem Vorgang des Datenhinzufügens 271 oder des
Datenlöschens 273.
Es sollte jedoch besonders erwähnt
werden, dass der Pfeil, welcher mit „Daten entfernt 255” bezeichnet
ist, nicht so aufzufassen ist, dass er anzeigt, dass dieser Datenentfernungsvorgang
nach dem in T2 gezeigten Zustand auftritt, sondern vielmehr, wie
nachfolgend erklärt
wird, dass dieser Datenentfernungsvorgang vor dem in T2 gezeigten
Zustand auftritt und insbesondere vor dem Hinzufügen 271 von Daten.
Es ist ferner besonders zu erwähnen,
dass der dargestellte Pfeil, welcher mit „Daten hinzufügen 271” bezeichnet
ist, nicht das Bewegen von Daten von der linken Struktur zu der
rechten Struktur darstellt. In beiden 2B und 2C ist die
Größe des Primärdatenspeichers 102 (welche
mit der gestrichelten Klammer gezeigt ist) gleich der Größe des Sekundärdatenspeichers 115 minus
der Größe des zusätzlichen
Speichers 267, wie es in dem Fall der 2A war.
-
Wie
in dem Beispielsszenario der 2B gezeigt
ist, ist zu dem Zeitpunkt T1 (auf der linken Seiten), d. h., vor
dem Hinzufügen 271 von
Daten zu dem Sekundärdatenspeicher 115,
die Größe des Spiegels 260 kleiner
als die Größe des Primärdatenspeichers 102,
und die Größe des Speichers
für gelöschte Daten 117 ist
dementsprechend größer als die
Größe des zusätz lichen
Speichers 267. Es sollte besonders erwähnt werden, dass in dieser
Figur somit bereits zum Zeitpunkt T1 der Speicher für gelöschte Daten 117 (sowie
der Spiegel 260 und somit der Sekundärdatenspeicher 115 insgesamt)
voll ist, im Gegensatz zu 2A, in
welcher freier Platz 262 in dem Sekundärdatenspeicher 115 vorhanden
ist. Wenn Daten zu dem Primärdatenspeicher 102 hinzugefügt werden
(der Vorgang des Hinzufügens
ist nicht gezeigt), werden identische Daten zu dem Spiegel 260 hinzugefügt 271,
wodurch die Größe des Spiegels 260 in
Richtung seiner maximalen Größe nämlich der
Größe des Primärdatenspeichers 102 anwächst und
sich die Größe des Speichers
für gelöschte Daten 117 dementsprechend
in Richtung seiner minimalen Größe nämlich der
Größe des zusätzlichen
Speichers 267 verringert. Diese Änderungen sind auf der rechten
Seite zum Zeitpunkt T2 gezeigt. Es ist jedoch besonders zu erwähnen, dass
das Hinzufügen 271 von
Daten zu dem Spiegel 260 das Entfernen 255 von
Daten (d. h., von Daten, welche zuvor von dem Primärdatenspeicher 102 gelöscht wurden) von
dem Speicher für
gelöschte
Daten 117 erfordert, um Platz in dem Sekundärdatenspeicher 115 freizugeben,
um die zu dem Spiegel 260 hinzugefügten 271 Daten (Kopien
der Daten, welche neu zu dem Primärdatenspeicher 102 hinzugefügt wurden)
unterzubringen. Es ist besonders zu erwähnen, dass im Gegensatz zu
der Situation des in 2A gezeigten Sekundärdatenspeichers 115,
das Hinzufügen
von (einer bestimmten Menge von) Daten zu dem Spiegel 260 des
Sekundärdatenspeichers 115 ein
Entfernen von Daten von dem Speicher für gelöschte Daten 117 nicht
erfordern würde,
da in dem Sekundärdatenspeicher 115 freier
Platz 262 existiert, um neue Daten oder eine bestimmte
Menge von neuen Daten unterzubringen.
-
Das
Entfernen 255 von Daten von dem Speicher für gelöschte Daten 115 kann
von der Datenentfernungsanwendung 124 der Datenverwaltungsanwendung 112 (welche
in 1A gezeigt sind) automatisch durchgeführt werden.
Die Datenentfernungsanwendung 124 wählt in dem Speicher für gelöschte Daten 117 enthaltene
Daten für
ein Entfernen auf der Grundlage von Krite rien (oder äquivalent
von Prioritäten)
aus. Beispiele für
Kriterien, welche verwendet werden können, umfassen die Zeitdauer,
welche vergangen ist, seitdem ein gegebener Vorgang zuletzt auf
den Daten ausgeführt
wurde (der Begriff „auf
den Daten ausgeführter
Vorgang” oder
dergleichen wird in diesem Zusammenhang verwendet, um mindestens
einen der folgenden Vorgänge
zu bezeichnen: Erzeugen von Daten, Zugreifen auf Daten, Verwenden
von Daten, Verändern
von Daten, Löschen
von Daten (z. B. Löschen
von dem Primärdatenspeicher 102 oder Übertragen
zu dem Speicher für
gelöschte Daten 117)),
die Größe der Daten,
die Größe einer Datei,
in welcher die Daten enthalten sind, die Art der Daten, die Art
einer Datei, in welcher die Daten enthalten sind, der ursprüngliche
Ort der Daten, der ursprüngliche
Ort einer Datei, in welcher die Daten enthalten sind, der Ort einer
Datei, in welcher die Daten enthalten sind, in dem Dateisystem als
die Datei gelöscht
wurde, der Inhalt von Metadaten der Daten, der Inhalt von Metadaten
einer Datei, in welcher die Daten enthalten sind, die Frequenz,
mit welcher auf die Daten zugegriffen wurde, andere Merkmale der Daten,
von denen anzunehmen ist, dass sie mit Benutzerpräferenzen
oder mit der Wahrscheinlichkeit einer Verwendung der Daten durch
einen Benutzer in Beziehung stehen, usw. Um die obigen Beispiele
weiter zu spezifizieren, bedeutet das Entfernen 255 auf der
Grundlage einer Dauer, welche vergangen ist, seitdem ein bestimmter
Vorfall aufgetreten ist, ein Entfernen 255 von Daten, wenn
die Dauer, welche vergangen ist, seitdem ein bestimmter Vorfall
aufgetreten ist, einen bestimmten Schwellenwert oder Wert überschreitet,
in diesem Fall einen Zeitdauerschwellenwert. Ein Entfernen 255 von
Daten auf der Grundlage der Art von Daten bedeutet ein Entfernen
von Daten, wenn die Art der Daten eine bestimmte spezifizierte Art
oder eine aus einer Gruppe von bestimmten spezifizierten Arten von
Daten ist. Ein Entfernen von Daten auf der Grundlage der Art von
einer Datei, welche die Daten enthält, bedeutet ein Entfernen 255 von
Daten, wenn die Art der Datei, in welcher die Daten enthalten sind,
eine bestimmte Art oder eine aus einer Gruppe von bestimmten Arten von
Dateien, in welchen die Daten enthalten sind, ist. Die weiteren zuvor
dargelegten Beispiele würden
in der gleichen oder einer ähnlichen
Art und Weise erklärt
werden.
-
Zusätzlich können Kriterien,
auf deren Grundlage ein Entfernen 255 von Daten von dem Speicher
für gelöschte Daten 117 durchgeführt wird, von
einem Benutzer ausgewählt
oder bestimmt werden. Derartige Kriterien können die zuvor erwähnten Kriterien
oder weitere Kriterien (oder gleichermaßen auch Prioritäten) sein.
Z. B. kann ein Benutzer eine Priorisierung von Daten, welche zu
entfernen sind, bestimmen, z. B. eine Liste von Priorisierungsregeln, wie
z. B.: Erstens, entferne 255 alle Dateien deren Frequenz
unterhalb eines vorbestimmten Schwellenwerts (Minimum) fällt; Zweitens,
entferne 255 alle Dateien, deren Größe einen bestimmten Schwellenwert überschreitet.
-
Sicherheitshalber
kann eine derartige priorisierte Liste auch automatisch von der
Datenentfernungsanwendung 124 verwendet werden. Zusätzlichen
können
mehrere Kriterien auch auf andere Arten und Weisen verwendet werden,
z. B. eine Verwendung eines gewichteten Mittelwerts, eine Verwendung
einer Summe oder eines Produktes von Werten, welche aus einzelnen
Kriterien oder auf andere Arten und Weisen erzeugt werden. Die Redewendung,
dass „die
Kriterien ein oder mehrere einer spezifizierten Liste von Kriterien
verwenden können” oder dergleichen
soll nicht als eine Beschränkung aufgefasst
werden, wie mehrere Kriterien kombiniert werden können oder
gemeinsam angewendet werden können.
-
Die
Kriterien können,
müssen
aber nicht, durch das Speichersystem 111 vorgegeben sein
(z. B. vor einer ersten Benutzung durch den Endbenutzer), wobei
sie in diesem Fall durch den Endbenutzer veränderbar sein können, was
jedoch nicht zwingend erforderlich ist. Die Kriterien werden wiederholt
angewendet, um Daten für
ein Entfernen auszuwählen,
bis ausreichend Speicherplatz in dem Speicher für gelöschte Daten 117 zurückgewonnen
wurde, um dem Spiegel 260 verfügbar gemacht zu werden, um
Kopien von neu zu dem Primärdatenspeicher 102 hinzugefügten Daten
unterzubringen. Die Auswahl von Daten (z. B. Dateien) auf der Grundlage
von Kriterien kann z. B. durchgeführt werden, indem die Daten
in dem Speicher für
gelöschte
Daten 117 durchgesehen werden und die durchgesehenen Daten
bezogen auf beliebige Metadaten davon analysiert werden, z. B. indem
die Metadaten, welche ein spezielles Merkmal (z. B. eine Dateigröße) anzeigen,
mit einem Schwellenwert (z. B. einer vorgegebenen maximalen Dateigröße) verglichen
werden. Mehrere Kriterien können einzeln
angewendet werden, um Daten für
das Entfernen 255 auszuwählen oder können parallel angewendet werden
und ein zusammengesetzter Wert verwendet werden, um Daten für das Entfernen 255 auszuwählen. Es
ist klar, dass weitere Details des zuvor beschriebenen automatischen
Entfernens 255 von Daten auf der Grundlage von Kriterien
(einschließlich
dem Einstellen von den Kriterien) und Veränderungen daran einem Fachmann
bekannt sind. Natürlich
kann das Entfernen 255 von Daten von dem Speicher für gelöschte Daten 117 auch
von Hand (z. B. in einer nicht systematischen Art und Weise) durch einen
Benutzer durchgeführt
werden. Wenn z. B. ein Datenentfernen 255 erforderlich
ist, kann der Benutzer aufgefordert werden, Daten zu entfernen.
-
2C stellt
die Zustände
von Vorgängen
zu den gleichen zwei Zeitpunkten wie sie in 2B dargestellt
sind dar, wenn Daten von dem Spiegel 260 gelöscht werden 273.
Die linke Seite der Figur zeigt den Sekundärdatenspeicher 115 zu
der Zeit T1, d. h. vor dem Löschen 273 der
Daten von dem Spiegel 260 des Sekundärdatenspeichers 115.
Es ist besonders zu erwähnen,
dass wie in 2B der Spiegel 260 und
der Speicher für
gelöschte
Daten 117 in 2C voll sind, wie durch das
Fehlen von freiem Platz 262 in dem Sekundärdatenspeicher 115 angezeigt
ist. wenn Daten von dem Primärdatenspeicher 102 gelöscht werden
(das Datenlöschen
ist nicht gezeigt), werden die identischen Daten von dem Spiegel 260 zu
dem Speicher für
gelöschte
Daten 117 übertragen
(oder zu diesem Vorgang ver gleichbar werden die identischen Daten
von dem Spiegel 260 gelöscht 273 und
in den Speicher für
gelöschte
Daten 117 kopiert oder geschrieben). Das Löschen 273 der Daten
(welche sich an dem Platz 275 „zu löschende Daten” befinden)
von dem Spiegel 260 gibt Platz (Platz 278 „hinzugefügte Daten”) frei,
welcher dem Speicher für
gelöschte
Daten 117 verfügbar
gemacht wird oder von diesem übernommen
wird, um die gelöschten
Daten unterzubringen. Dementsprechend verringert sich die Größe des Spiegels 260 und
die Größe des Speichers 117 für gelöschte Daten
vergrößert sich
dementsprechend, wie durch den Austausch von Stellen der durchgezogenen
und gestrichelten horizontalen Linien in dem Sekundärdatenspeicher 117 gezeigt
ist, was auftritt, wenn wir uns von T1 zu T2 bewegen: Der Platz 275 (Speicherkapazität) in dem
Spiegel 260, welcher zur Zeit T1 (auf der linken Seite)
von den zu löschenden
Daten belegt ist, wird von dem Spiegel 260 wirksam übertragen oder
freigegeben und dem Speicher für
gelöschte Daten 117 zugänglich gemacht
und von diesem (als Platz 278 „hinzugefügte Daten”) übernommen, wobei das Ergebnis
zum Zeitpunkt T2 (auf der rechten Seite) gezeigt ist. Im Gegensatz
zu dem Hinzufügen 271 von
Daten zu dem Spiegel 260 (was in 2B gezeigt
ist) ist es in dem Fall des Löschens 273 von
Daten von dem Spiegel 260 nicht erforderlich, Daten von
dem Speicher für
gelöschte
Daten 117 (oder von dem Sekundärdatenspeicher 115)
zu entfernen 255, da insgesamt keine Daten zu dem Sekundärdatenspeicher 117 hinzugefügt werden;
die Daten, welche zu dem Speicher für gelöschte Daten 117 hinzugefügt werden,
wurden von dem Spiegel 160 abgezogen; die Summe der Größe des Spiegels 260 und
der Größe des Speichers
für gelöschte Daten 117 bleibt die
gleiche.
-
Ein
Vorbehalt ist an dieser Stelle berechtigt. Wenn der Primärdatenspeicher 102 wie
erwähnt
aus irgendeinem Grund nicht mit dem Speichersystem 111 verbunden
ist, kann es passieren, dass Daten zu dem Primärdatenspeicher 102 hinzugefügt werden, ohne
dass Kopien davon zu dem Spiegel 260 des Sekundärdatenspeichers 115 hinzugefügt werden. Wenn
derartig hinzugefügte Daten
dann von dem Primärdatenspeicher 102 gelöscht werden
während
der Primärdatenspeicher 102 immer
noch nicht mit dem Speichersystem 111 verbunden wurde,
wird das Speichersystem 111 aufgrund einer nachfolgenden Verbindung
versuchen, die Daten (welche zuerst zu dem Primärdatenspeicher 102 hinzugefügt wurden und
dann davon gelöscht
wurden) in den Speicher für gelöschte Daten 117 zu
schreiben. Im Gegensatz zu dem in 2C dargestellten
Fall sind in diesem Fall jedoch die fraglichen Daten nicht in dem
Spiegel 260 enthalten und werden somit nicht von dem Spiegel 260 gelöscht, so
dass der Spiegel 260 keinen Platz freigibt, welcher dem
Speicher für
gelöschte
Daten 117 verfügbar
gemacht werden kann, um darin die fraglichen Daten unterzubringen.
Somit könnte
es notwendig sein, Daten von dem Speicher für gelöschte Daten 117 zu
entfernen 255, um darin die fraglichen Daten unterzubringen.
Somit kann in diesem speziellen Fall das Löschen von Daten von dem Primärdatenspeicher 102 ein
Entfernen 255 von Daten von dem Speicher für gelöschte Daten 117 erfordern. In
diesem Fall eines Entfernens 255 von Daten von dem Speicher
für gelöschte Daten 117 wäre es möglich, das
Kriterium (welches zum Auswählen
von zu entfernenden Daten verwendet wird) auch auf die neuen gelöschten Daten
(d. h. die Daten, welche nicht in dem Spiegel 260 gesichert
wurden) anzuwenden. Alternativ wäre
es auch möglich,
einfach die neuen gelöschten
Daten nicht in den Speicher für
gelöschte
Daten 117 zu schreiben. Diese Alternative hätte das
gleiche Ergebnis, wie wenn die neuen gelöschten Daten in den Speicher
für gelöschte Daten 117 geschrieben
worden wären
und dann davon entfernt worden wären
(aber unter den dargelegten Umständen
kann diese Folge von Ereignissen nicht auftreten, da der Speicher
für gelöschte Daten 117 keinen
geeigneten Platz aufweist, um die neu gelöschten Daten unterzubringen,
ohne zuerst etwas von seinem Inhalt zu löschen). Im Gegensatz zu der
Ausführungsform,
welche den integrierten Speicher für gelöschte Daten aufweist, wie in 2A–2C dargestellt,
stellen die 3A–3C eine
Beispielausführungsform
eines Speichersystems 110 dar, welches durch einen „separaten” oder „getrennten” Speicher
für gelöschte Daten
gekennzeichnet ist, d. h., wo der Speicher für gelöschte Daten 116 getrennt
von dem Sekundärdatenspeicher 114 ist
(wie in 1A gezeigt). Der Einfachheit
halber sind in den 3A–3C Komponenten
des Speichersystems 110 außer dem Sekundärdatenspeicher 114 und
dem Speicher für
gelöschte
Daten 116 weggelassen. Es wird besonders erwähnt, dass 3A nicht
nur den Sekundärdatenspeicher 114 und
den Speicher für gelöschte Daten 116,
sondern auch den Primärdatenspeicher 102 zeigt.
Die Zuordnung und Verwaltung von Daten in dem Sekundärdatenspeicher 114 und
dem Speicher für
gelöschte
Daten 116 in dieser Beispielausführungsform wird nun unter Bezugnahme
auf den Primärdatenspeicher 102 erörtert werden.
-
Wenn
die Daten 369 des zugeordneten Primärdatenspeichers 102 weniger
als die maximale Kapazität
davon belegen, bleibt, wie in 3A gezeigt,
in dem Primärdatenspeicher 102 ein
freier Platz 365 übrig,
und ein äquivalenter
freier Platz 362 von gleicher Größe besteht in dem Sekundärdatenspeicher 114.
Im Gegensatz zu dem Fall des integrierten Speichers für gelöschte Daten (2A–2C)
ist hier der freie Platz 362 des Sekundärdatenspeichers 114 nicht
verfügbar,
um ein Teil des Speichers für
gelöschte
Daten 116 zu werden. Vielmehr ist die Größe des Speichers
für gelöschte Daten 116 anfänglich fest
(obwohl sie geändert
werden kann, wie nachfolgend erörtert
werden wird) und wird nicht durch Änderungen der Größe des Spiegels 360 beeinflusst.
Wie nachfolgend erörtert
wird, und wiederum im Gegensatz zu dem Fall des integrierten Speichers
für gelöschte Daten,
ist es bei der Verwendung des separaten Speichers für gelöschte Daten 116 vielmehr
das Löschen
von Daten von dem Primärdatenspeicher 102 als
das Hinzufügen
von Daten zu dem Primärdatenspeicher 102, was
ein Entfernen 355 von in dem Speicher für gelöschte Daten 116 gespeicherten
Daten erfordern kann. Wie zuvor bei der Erörterung der 2C erwähnt wurde,
gibt es im Fall des integrierten Speichers für gelöschte Daten einen Spezialfall
(„Vorbehalt”), in welchem
das Löschen
von Daten von dem Primärdatenspeicher 102 ein Entfernen 255 von
in dem Speicher für
gelöschte
Daten 117 gespeicherten Daten erfordern kann.
-
3B und 3C stellen
das Ändern
der Zuordnung des Speicherplatzes zwischen dem Spiegel 360 und
dem freien Platz 362 des Sekundärdatenspeichers 114 dar,
wenn Daten zu dem Spiegel 360 des Sekundärdatenspeichers 114 hinzugefügt 372 (3B)
oder von dem Spiegel 360 des Sekundärdatenspeichers 114 gelöscht 374 (3C)
werden. Dieses Hinzufügen 372 bzw.
Löschen 374 von Daten
zu dem Spiegel 360 bzw. von dem Spiegel 360 des
Sekundärdatenspeichers 114 tritt
wie erwähnt aufgrund
von einem Hinzufügen
bzw. Löschen
von Daten zu bzw. von dem Primärdatenspeicher 102 auf.
Die linke Seite von beiden Figuren stellt den Speicher zu der Zeit
T1, d. h. vor dem Vorgang des Datenhinzufügens 372 oder dem
Vorgang des Datenlöschens 374 dar
und die rechte Seite von beiden Figuren stellt den Speicher zu der
Zeit T2, d. h. nach dem Vorgang des Datenhinzufügens 372 oder dem Vorgang
des Datenlöschens 374,
dar. Es sollte jedoch besonders erwähnt werden, dass der Pfeil,
welcher mit „Daten
entfernt 355” bezeichnet
ist, nicht anzeigen soll, dass dieser Datenentfernungsvorgang nach
dem zu T2 gezeigten Zustand auftritt; vielmehr tritt dieser Datenentfernungsvorgang,
wie nachfolgend erklärt
werden wird, vor dem zu T2 gezeigten Zustand auf und insbesondere
vor dem Löschen 374 von
Daten. Es sollte ferner besonders erwähnt werden, dass der dargestellte
Pfeil, welcher mit „Daten hinzufügen 372” bezeichnet
ist, nicht das Bewegen von Daten von der linken Struktur zu der
rechten Struktur darstellt. In beiden Figuren ist die Größe des Primärdatenspeichers 102 (welche
durch die gestrichelte Klammer angezeigt ist) gleich der Größe des Sekundärdatenspeichers 114,
wie in dem Fall der 3A. Es wird besonders erwähnt, dass
die 3B und 3C nicht
notwendigerweise genau in dem gleichen Maßstab wie die 3A dargestellt sind.
Es soll angenommen werden, dass die Größe des Primärdatenspeichers 102,
die Größe des Sekundärdatenspeichers 114 und
die Größe des Speichers
für gelöschte Daten 116 in
den 3B und 3C die
gleiche wie die Größe des Primärda tenspeichers 102,
die Größe des Sekundärdatenspeichers 114 bzw.
die Größe des Speichers
für gelöschte Daten 116 in 3A ist.
-
Wie
in dem Beispielszenario der 3B gezeigt
ist, ist zu der Zeit T1 (auf der linken Seite), d. h. vor dem Hinzufügen 372 von
neuen Daten zu dem Sekundärdatenspeicher 114,
die Größe des Spiegels 360 kleiner
als die Größe des Primärdatenspeichers 102,
und die Größe des Speichers
für gelöschte Daten 116 ist
anfänglich
fest und ist unabhängig
von der Größe des Sekundärdatenspeichers 114.
Da die Größe des Spiegels 360 kleiner
als die Größe des Primärdatenspeichers 102 ist
(z. B. ist der Primärdatenspeicher 102 nicht
bis zu seiner Kapazität
mit Daten 369 gefüllt),
gibt es etwas freien Platz 362 in dem Sekundärdatenspeicher 114.
Wenn statt dessen die Größe des Spiegels 360 die
gleiche wie die Größe des Primärdatenspeichers 102 wäre (z. B.,
wenn der Primärdatenspeicher 102 bis
zu seiner Kapazität
mit Daten 369 voll wäre),
wäre kein
freier Platz 362 in dem Sekundärdatenspeicher 114 vorhanden
und das Hinzufügen
von Daten zu dem Sekundärdatenspeicher 114 wäre nicht
möglich.
Wenn Daten zu dem Primärdatenspeicher 102 hinzugefügt werden
(der Vorgang des Hinzufügens
ist nicht gezeigt), werden identische Daten zu dem Sekundärdatenspeicher 114 hinzufügt 372,
wobei die Größe des Spiegels 360 ansteigt
und sich die Größe des freien
Platzes 362 entsprechend verringert, wobei diese Änderungen
zu der Zeit T2 (auf der rechten Seite) gezeigt sind. Die Größe des Speichers
für gelöschte Daten 116 und sein
Inhalt ändern
sich von T1 nach T2 nicht, da der Speicher für gelöschte Daten 116 getrennt
und unabhängig
von dem Sekundärdatenspeicher 114 ist.
-
3C stellt
ein Datenlöschen 374 von
dem Spiegel 360 dar, wobei die Situation des Sekundärdatenspeichers 114 zu
den gleichen zwei Zeitpunkten gezeigt ist, wie sie in 3B dargestellt
sind. Zu der Zeit T1 (auf der linken Seite), d. h. vor dem Datenlöschen 374,
weist der Sekundärdatenspeicher 114 noch
eine endliche Menge von freiem Platz 362 auf (obwohl, wenn
der Primärdatenspeicher 102 voll wäre, der
Sekundärdatenspeicher 114 keinen
freien Platz 362 haben würde). Wenn Daten von dem Primärdatenspeicher 102 gelöscht werden
(der Löschvorgang
ist nicht gezeigt), werden identische Daten von dem Spiegel 360 zu
dem Speicher für
gelöschte Daten 116 bewegt
und die Größe des Spiegels 360 verringert
sich, während
die Größe des freien
Platzes 362 entsprechend anwächst, wie durch die Veränderung
der Positionen der durchgehenden und gestrichelten horizontalen
Linien in dem Sekundärdatenspeicher 114 gezeigt
ist. Diese Veränderung
tritt auf, wenn wir uns von T1 nach T2 bewegen: Der Platz 375 (Speicherkapazität) im Spiegel 360,
welcher zur Zeit T1 (auf der linken Seite) von den zu löschenden Daten
belegt ist, wird von dem Spiegel 360 wirksam übertragen
oder freigegeben, um freier Platz 377 zu werden, wobei
das Ergebnis zum Zeitpunkt T2 (auf der rechten Seite) gezeigt ist.
Da die Größe des Speichers
für gelöschte Daten 116 fest
ist (vorbehaltlich des nachfolgend erörterten Vorbehalts) und der
freigegebene Platz somit für
den Speicher für
gelöschte Daten 116 nicht
verfügbar
ist, kann es sein, dass alte Daten in dem Speicher für gelöschte Daten 116 entfernt 355 werden
müssen,
um Platz für
neu gelöschte Daten
bereitzustellen. Auf jeden Fall wird letztendlich ein begrenzender
Punkt erreicht werden, bei welchem alte Daten in dem Speicher für gelöschte Daten 116 entfernt 355 werden
müssen,
um Platz für
neu gelöschte
Daten zu machen. In einem derartigen Fall, wenn es keinen geeigneten
Platz in dem Speicher für gelöschte Daten 116 gibt,
um sowohl den bestehenden Inhalt des Speichers für gelöschte Daten 116 (d. h.,
Daten, welche zuvor von dem Primärdatenspeicher 102 gelöscht wurden)
als auch die neu gelöschten
Daten unterzubringen, wird ein Entfernen 355 von Daten
von dem Speicher für
gelöschte
Daten 116 gemäß einem
Kriterium ausgeführt,
wie es im Zusammenhang mit 2B zuvor
erklärt
wurde. Diesbezüglich,
wie es zuvor unter Bezugnahme auf den speziellen Fall (Vorbehalt),
welcher in der Diskussion der 2C erwähnt wurde,
erklärt
wurde, wäre
es ferner möglich,
das Kriterium auch auf die neu gelöschten Daten anzuwenden. Alternativ
wäre es
auch möglich, einfach
die neu gelöschten
Daten nicht in den Speicher für
gelöschte
Daten 116 zu schreiben. Diese Alternative würde zu dem
gleichen Ergebnis führen, wie
wenn die neu gelöschten
Daten in den Speicher für
gelöschte
Daten 116 geschrieben werden würden und dann davon entfernt 355 werden
würden
(aber bei den gegebenen Umständen
kann dieser Ablauf von Vorgängen
nicht auftreten, da der Speicher für gelöschte Daten 116 keinen
geeigneten Platz zum Unterbringen der neu gelöschten Daten aufweist, ohne
zuerst etwas von seinem Inhalt zu entfernen 355).
-
In
den obigen oder weiteren Beispielausführungsformen ist es ferner
möglich,
die Größe des Sekundärdatenspeichers 115 (in
dem Fall der Ausführungsform
des gemeinsam genutzten Speichers für gelöschte Daten, welche in 2A–2C gezeigt ist)
oder des Speichers für
gelöschte
Daten 116 (in dem Fall der Ausführungsform mit getrenntem Speicher
für gelöschte Daten,
welche in 3A–3C gezeigt
ist) einzustellen. Wenn die Größe des Primärdatenspeichers 102 eingestellt
wird, wäre
es natürlich
wünschenswert,
die Größe des Spiegels 260, 360 des
Sekundärdatenspeichers 114, 115 dementsprechend
einzustellen. In der nachfolgenden Erörterung wird jedoch angenommen,
dass die Größe des Primärdatenspeichers 102 konstant
ist.
-
Wenn
die Größe des Primärdatenspeichers 102 konstant
ist, kann es dennoch wünschenswert sein,
z. B. die Größe des Sekundärdatenspeichers 115 (im
Fall des gemeinsam genutzten Speichers für gelöschte Daten) oder des Speichers
für gelöschte Daten 116 (im
Fall des getrennten Speichers für
gelöschte
Daten) zu erhöhen,
um die Speicherkapazität zum
Halten von von dem Primärdatenspeicher 102 gelöschten Daten
zu erhöhen.
Indem dies durchgeführt
wird, kann der Bedarf, Inhalte des Speichers für gelöschte Daten 116, 117 (d.
h., Daten, welche von dem Primärdatenspeicher 102 gelöscht wurden)
zu entfernen 255, 355 (d. h., permanent zu löschen), verringert
werden. Wenn ein Speichersystem 110, 111 von einem
gewerblichen Speicherdienstanbieter verwaltet wird und ein Benutzer
einer Speichervorrichtung mit einem Primärdatenspeicher 102 ein
Kunde des Dienstanbieters ist, kann der Dienstanbieter z. B. dem
Benutzer ermöglichen,
mehr Speicherplatz für
den Sekundärspeicher 115 (im
Fall des gemeinsam genutzten Speichers für gelöschte Daten) oder für den Speicher
für gelöschte Daten 116 (im
Fall eines getrennten Speichers für gelöschte Daten) von dem Dienstanbieter
zu fordern. Bei einem weiteren Beispiel kann eine Anordnung aufgebaut
sein, worin die Größe des Sekundärdatenspeichers 115 oder des
Speichers für
gelöschte
Daten 116 automatisch erhöht wird, um bestimmte Inhalte
des Speichers für gelöschte Daten 116, 117 für eine längere Zeit
beizubehalten als dies anderenfalls auftreten würde. Inhalte einer bestimmten
Art oder welche ein bestimmtes Kriterium (z. B. spezielle Dateinamen
oder Dateien einer speziellen Dateiart) erfüllen, können z. B. automatisch für eine erweiterte
Zeitdauer beibehalten werden, wobei der Sekundärdatenspeicher 115 oder der
Speicher für
gelöschte
Daten 116 automatisch vergrößert wird, wenn es notwendig
ist, diese Inhalte unterzubringen. Das Kriterium kann von dem System und/oder
dem Benutzer eingestellt werden und kann mehrere Kriterien einbeziehen
(z. B. priorisierte Kriterien oder eine Verwendung einer gewichteten
Mittelung). Das Erweitern der Beibehaltungszeit der bestimmten Inhalte
kann temporär,
permanent oder fest oder änderbar
sein.
-
Zusätzlich zu
einem Erhöhen
der Speicherkapazität
für gelöschte Daten
ist es möglich,
die Speicherkapazität
für gelöschte Daten
zu verringern, da dies auch gewünscht
sein kann, um z. B. Speicherkosten zu verringern. Einem Benutzer
kann somit ermöglicht
werden, eine Verringerung der Speicherkapazität des Sekundärdatenspeichers 115 (in
dem Fall des gemeinsam genutzten Speichers für gelöschte Daten) oder des Speichers
für gelöschte Daten 116 (in
dem Fall des getrennten Speichers für gelöschte Daten) zu bewirken. Wiederum
kann eine Anordnung bereitgestellt werden, worin die Größe des Sekundärdatenspeichers 115 (in
dem Fall des gemeinsam genutzten Speichers für gelöschte Daten) oder des Speichers
für ge löschte Daten 116 (in
dem Fall einer getrennten Speicherung von gelöschten Daten) automatisch gemäß einem
Kriterium verringert wird. Die Größe des Sekundärdatenspeichers 115 oder
des Speichers für
gelöschte
Daten 116 kann z. B. automatisch verringert werden, wenn
der von den Inhalten des Sekundärdatenspeichers 115 oder
des Speichers für
gelöschte
Daten 116 belegte Platz unter einen vorbestimmten Speicherkapazitätsschwellenwert
sinkt, oder wenn die Zeit, welche vergangen ist, nachdem die Größe des Sekundärdatenspeichers 115 oder
des Speichers für
gelöschte
Daten 116 erhöht
wurde, einen bestimmten Schwellenwert überschreitet. Falls es erforderlich
ist, können
Inhalte von dem Speicher für
gelöschte
Daten 116, 117 gelöscht 255, 355 werden,
um die Verringerung der Größe davon
zu bewerkstelligen. Das Entfernen 255, 355 von Inhalten
kann automatisch oder von einem Benutzer (z. B. nachdem er gefragt
wurde) beispielsweise auf der Grundlage von Kriterien (wie sie im
Zusammenhang mit den in 2B und 3C dargestellten Szenarien
erörtert
wurden) oder auf der Grundlage einer Benutzerauswahl durchgeführt werden.
Varianten, Permutationen und Kombinationen der Aspekte der Größeneinstellung
des Sekundärdatenspeichers 115 oder
des Speichers für
gelöschte
Daten 116, wie sie zuvor erörtert wurden, können realisiert
werden, wie es einem Fachmann selbstverständlich ist.
-
4A stellt
ein Szenario dar, in welchem die Größe des Sekundärdatenspeichers 115 der 1B und 2A–2C vergrößert wird
und Daten zu dem Primärdatenspeicher 102 und
somit zu dem Spiegel 260 des Sekundärdatenspeichers 115 hinzugefügt werden. 4B stellt
ein Szenario dar, in welchem die Größe des Speichers für gelöschte Daten 116 der 1A und 3A–3C vergrößert wird
und Daten von dem Primärdatenspeicher 102 gelöscht werden
und somit von dem Spiegel 360 des Sekundärdatenspeichers 114 gelöscht werden und
zu dem Speicher für
gelöschte
Daten 116 hinzugefügt
werden.
-
4A stellt
einen Sekundärdatenspeicher 115 dar,
bevor die Größe des Sekundärdatenspeichers 115 erhöht wird
(T1), nach dem die Größe des Sekundärdatenspeichers 115 erhöht wurde,
aber bevor neue Daten hinzugefügt 271 wurden
(T2), und nachdem neue Daten hinzugefügt 271 wurden (T3). Die
jeweilige Größe des Primärdatenspeichers 102 wird
durch die gestrichelte Klammer angezeigt. Bei T1 weist der Speicher
für gelöschte Daten 117 eine Speicherkapazität über den
zusätzlichen
Speicher 267 hinaus auf, was sich in der Tatsache widerspiegelt,
dass der Primärdatenspeicher 102 freien
Platz 265 aufweist (siehe 2A) (somit
ist der Spiegel 260 nicht so groß wie er sein könnte), und
was sich ferner in der Tatsache widerspiegelt, dass der Speicher
für gelöschte Daten 117 voll
ist (wenn der Speicher für
gelöschte
Daten nicht voll wäre,
wäre der nicht
belegte Abschnitt des Speichers für gelöschte Daten 117 über dem
zusätzlichen
Speicher 267 freigegeben, um freier Platz 262 zu
werden, welcher in der Figur gezeigt wäre). Wenn zusätzlicher
Speicherplatz zu dem Sekundärdatenspeicher 115 hinzugefügt 480 wird,
wird die Größe des Speichers
für gelöschte Daten 117 um
den Zuwachs 482 erhöht
(T2). D. h., der hinzugefügte
Speicherplatz (Zuwachs 482) wird eigentlich zu dem zusätzlichen
Speicherplatz 267 hinzugefügt. Aber solange keine weiteren
Daten zu dem Speicher für
gelöschte
Daten 117 hinzugefügt
werden, ist der zusätzliche
Platz, welche hierzu hinzugefügt
wurde (d. h., der Zuwachs 482) unbelegt. Deshalb weist
der Speicher für
gelöschte
Daten 117 nun einen unbelegten Platz (von gleicher Größe wie der
Zuwachs 482) oberhalb der Größe des zusätzlichen Speichers 267 auf.
Daher wird der unbelegte Platz freigegeben, um freier Platz 262 zu
werden, und somit verringert sich die Größe des Speichers für gelöschte Daten 117 auf
die Größe, die
er vor dem Hinzufügen 480 des
Zuwachses 482 hatte. Dies ist die in 4A bei
T2 gezeigte Situation (die Größe des Zuwachses 482 gleicht
der Größe des freien Platzes 262).
Wenn neue Daten zu dem Primärdatenspeicher 102 hinzugefügt werden
(der Vorgang des Hinzufügens
ist nicht gezeigt), werden Kopien der neuen Daten zu dem Spiegel 260 hinzugefügt 271,
so dass der Spiegel 260 den freien Platz 262 übernimmt,
und in Abhängigkeit
der Größe der neuen Daten
kann der Spiegel 260 zusätzlichen Platz von dem Speicher
für gelöschte Daten 117 übernehmen. In
der Figur ist (bei T3) gezeigt, dass die Größe der hinzugefügten Daten
der Größe des freien
Platzes 262 gleicht (und somit der Größe des Zuwachses 482 gleicht),
was durch die Tatsache belegt ist, dass die Größe des Spiegels 260 zu
T3 der Summe der Größe des Spiegels 260 bei
T2 und der Größe des freien Platzes 262 bei
T2 gleicht. In einem derartigen Fall gibt es keinen Bedarf, zusätzlichen
Platz von dem Speicher für
gelöschte
Daten 117 zu übernehmen. Wie
bei T3 zu sehen ist, hat das Erhöhen
der Größe des Spiegels 260 ein
gleichzeitiges Verringern der Größe (um die
gleiche Größe wie das
Erhöhen)
in dem Rest des Sekundärdatenspeichers 115 zur
Folge; in diesem Fall wurde das Verringern der Größe einzig
durch Entnehmen von Platz von dem freien Platz 262 bewirkt,
also nicht von dem Speicher für gelöschte Daten 117.
In dem Fall, dass der freie Platz 262 nicht ausreichend
ist, um die neuen Daten, welche zu dem Spiegel 260 hinzuzufügen sind,
unterzubringen, ist es jedoch notwendig, Inhalte des Speichers für gelöschte Daten 117 zu
entfernen 255, um Platz davon freizugeben, um ihn dem Spiegel 260 zur Verfügung zu
stellen, um die neuen Daten unterzubringen. Ein derartiges Entfernen 255 von
Inhalten von dem Speicher für
gelöschte
Daten 117 kann gemäß einem
Kriterium ausgeführt
werden, wie es zuvor unter Bezugnahme auf 2B erklärt wurde.
Da der Sekundärdatenspeicher 115 (insbesondere
der Speicher für
gelöschte
Daten 117 darin) vergrößert wurde,
wird auf jeden Fall die Forderung, Inhalte des Speichers für gelöschte Daten 117 zu
entfernen 255, entschärft,
z. B. kann das Entfernen 255 der Inhalte weniger häufig ausgeführt werden.
-
Das
Szenario, bei welchem die Größe des Sekundärdatenspeichers 115 der 1B und 2A–2C vergrößert wird
und Daten von dem Primärdatenspeicher 102 gelöscht werden,
kann aus den 2C und 4A und
der hierin gegebenen Erörterung
hergeleitet werden.
-
4B stellt
einen Sekundärdatenspeicher 114 und
einen Speicher für
gelöschte
Daten 116 (1A, 3A–3C)
dar, bevor die Größe des Speichers
für gelöschte Daten 116 vergrößert wurde (T1),
nachdem die Größe des Speichers
für gelöschte Daten 116 vergrößert wurde,
aber bevor Daten gelöscht
wurden (T2), und nachdem Daten von dem Spiegel 360 gelöscht wurden
(T3). Die jeweilige Größe des Primärdatenspeichers 102 wird
durch die gestrichelte Klammer angezeigt. Bei T1 weist der Sekundärdatenspeicher 114 einen
freien Platz 362 auf, welcher die Tatsache widerspiegelt,
dass der Primärdatenspeicher 102 freien
Platz 365 (siehe 3A) aufweist,
aber in diesem Fall (d. h. bei der Ausführungsform mit getrenntem Speicher
für gelöschte Daten,
welche in 3A–3C gezeigt
ist) ist der freie Platz 362 des Sekundärdatenspeichers 114 nicht
für den
Speicher für
gelöschte
Daten 116 verfügbar.
Wenn zusätzlicher
Speicherplatz zu dem Speicher für
gelöschte
Daten 116 hinzugefügt 490 wird,
vergrößert sich
die Größe des Speichers
für gelöschte Daten 116 um
einen Zuwachs 492 (T2). Bis mehr Daten zu dem Speicher
für gelöschte Daten 116 hinzugefügt werden,
ist der zusätzliche
Platz, welcher dazu hinzugefügt 490 wurde
(d. h., der Zuwachs 492), unbelegt. Wenn Daten von dem
Primärdatenspeicher 102 gelöscht werden
(der Löschvorgang
ist nicht gezeigt), werden Kopien von den gelöschten Daten, welche zuvor
in dem Spiegel 360 gespeichert waren, von dem Spiegel 360 zu
dem vergrößerten Speicher
für gelöschte Daten 116 übertragen
(oder äquivalent
können
auch die von dem Primärdatenspeicher 102 gelöschten Daten
auch von dem Spiegel 360 des Sekundärdatenspeichers 114 gelöscht 374 werden
und zu dem Speicher für
gelöschte
Daten 116 hinzugefügt
werden). Demzufolge verringert sich der Spiegel 360 in
seiner Größe (oder gibt äquivalent
nicht länger
belegten Platz frei) und der freie Platz 262 des Sekundärdatenspeichers 114 erhöht sich
entsprechend in der Größe, wie
durch die Veränderung
der Positionen der durchgezogenen und gestrichelten horizontalen
Linien in dem Sekundärdatenspeicher 114 gezeigt
ist. Diese Veränderung tritt
auf, wenn wir uns von T2 nach T3 bewegen: der Platz 375 (Speicherkapazität) in dem
Spiegel 360, welcher zu der Zeit T2 von den zu löschenden
Daten belegt ist, wird in wirksamer Weise von dem Spiegel 360 freigegeben
oder übertragen,
um freier Platz 377 („freigegebener
Platz”)
zu werden, wobei das Ergebnis zur Zeit T3 gezeigt ist. In Abhängigkeit
der Größe der Daten,
welche von dem Primärdatenspeicher 102 gelöscht werden,
kann es notwendig sein oder auch nicht, Inhalte von dem Speicher
für gelöschte Daten 116 zu
entfernen 355, um darin die von dem Primärdatenspeicher 102 gelöschten Daten
unterzubringen. Obwohl 4B nicht notwendigerweise maßstabsgetreu
gezeichnet ist, würde
sie unter der Annahme, dass sie maßstäblich gezeichnet ist, zeigen,
dass die Menge von Platz, welche von dem Spiegel 360 freigegeben
wird, nicht größer als
der Zuwachs 492 (d. h. die Menge von Platz, welche von
dem Speicher für gelöschte Daten 116 gewonnen
wird) ist, wobei es in diesem Fall nicht notwendig wäre, Inhalte
von dem Speicher für
gelöschte
Daten 116 zu entfernen 355. Da der Speicher für gelöschte Daten 116 vergrößert wurde,
wird auf jeden Fall die Anforderung, Inhalte von dem Speicher für gelöschte Daten 116 zu
entfernen 355, entschärft,
z. B. kann das Entfernen 355 der Inhalte weniger häufig durchgeführt werden.
-
Das
Szenario, bei welchem die Größe des Speichers
für gelöschte Daten 116 der 1A und 3A–3C vergrößert wird
und Daten zu dem Primärdatenspeicher 102 hinzugefügt werden,
kann aus den 3B und 4B und
der hierin gegebenen Erörterung
hergeleitet werden.
-
Die
Szenarios, bei welchen die Größe des Sekundärdatenspeichers 115 (Ausführungsform
mit gemeinsam genutztem Speicher für gelöschte Daten, 1B und 2A–2C)
oder die Größe des Speichers
für gelöschte Daten 116 (die
Ausführungsform
mit getrennter Speicherung für
gelöschte
Daten, 1A und 3A–3C)
verringert wird, und in welchen Daten zu dem Primärdatenspeicher 102 hinzugefügt oder
davon gelöscht
werden, können
aus den Figuren und der hierin bereitgestellten Beschreibung hergeleitet
werden.
-
5, 6A und 6B stellen
Verfahren zum Sichern eines Datenspeichers dar, welche unter Verwendung
der hierin zuvor beschriebenen Systeme ausgeführt werden können. 5 stellt
ein derartiges Verfahren dar, welches unter Verwendung des Speichersystems
mit integrierten gelöschten
Daten (1B, 2A–2C)
ausgeführt
werden kann, wohingegen 6A und 6B derartige
Verfahren darstellen, welche unter Verwendung des Speichersystems
mit separaten gelöschten
Daten (1A, 3A–3C)
ausgeführt
werden können.
-
5 wird
nun unter Bezugnahme auf ein Speichersystem mit gemeinsam genutztem
Speicher für
gelöschte
Daten, wie z. B. dem in den 1B und 2A–2C dargestellten,
beschrieben werden.
-
Bei
Schritt S510 empfängt 108 (1A)
die Datenverwaltungsanwendung 112 eine Meldung, dass spezifizierte
Daten zu dem Primärdatenspeicher 102 hinzugefügt wurden.
In Schritt S520 bestimmt die Datenverwaltungsanwendung 112,
ob ausreichend freier Platz 262 in dem Sekundärdatenspeicher 115 existiert,
um die spezifizierten Daten, welche zu dem Primärdatenspeicher 102 hinzugefügt wurden,
unterzubringen. Wenn ausreichend freier Platz existiert („ja”) kopiert 271 die
Datenverwaltungsanwendung 112 im Schritt S540 die spezifizierten
Daten zu dem Spiegel 260 des Sekundärdatenspeichers 115 (d.
h., sie schreibt die spezifizierten Daten in den Sekundärdatenspeicher 115 als
dem Spiegel 260 zugewiesene Daten).
-
Wenn
nicht genügend
freier Platz in Schritt S520 existiert („nein”), wird der Ablauf bei Schritt S530
fortgesetzt, in welchem eine Datenentfernungsanwendung 124 Daten,
welche in dem Sekundärdatenspeicher 115 gespeichert
sind, aber als gelöscht markiert
sind (d. h., Daten, welche in dem Sekundärdatenspeicher 115 gespeichert
sind und dem Speicher für
gelöschte
Daten 117 zugeordnet sind), von dem Sekundärdatenspeicher 115 gemäß einem
Kriterium entfernt 255. Wie zuvor erklärt, gibt das Entfernen 255 von
als gelöscht
markierten Daten von dem Sekundärdatenspeicher 115 (oder
ein vergleichbares Entfernen von Daten von dem Speicher für gelöschte Daten 117)
den von den jetzt entfernten Daten belegten Platz frei, um freier
Platz zu werden, wodurch die Menge von freiem Platz in dem Sekundärdatenspeicher 115 erhöht wird.
Der freigegebene freie Platz ist für den Spiegel 260 verfügbar. Der
Schritt S530 wird in einer Schleife mit dem Schritt S520 wiederholt,
um wiederholt Daten von dem Speicher für gelöschte Daten 117 zu
entfernen 255, bis ausreichender Platz freigegeben ist,
um die spezifizierten Daten, welche zu dem Primärdatenspeicher 102 hinzugefügt wurden,
unterzubringen. Wenn ausreichend freier Platz existiert, wird der
Ablauf bei Schritt S540 fortgesetzt, in welchem die Datenverwaltungsanwendung 112 die spezifizierten
Daten zu dem Spiegel 260 des Sekundärdatenspeichers 115 kopiert 271 (d.
h. die spezifizierten Daten werden in den Sekundärdatenspeicher 115 als
dem Spiegel 260 zugeordnete Daten geschrieben 271).
Die Rückkopplungsschleife
zwischen den Schritten S530 und S520 ist in dem Sinne optional,
dass der Schritt S530 ein einzelner Schritt sein kann, in welchem
eine ausreichend große
Menge von Daten (welche anfangs bestimmt wird) von dem Speicher
für gelöschte Daten 117 entfernt
wird, um einen ausreichenden Platz freizugeben, um die spezifizierten
Daten, welche zu dem Primärdatenspeicher 102 hinzugefügt wurden,
unterzubringen.
-
Bei
dem Schritt S550 empfängt 108 die
Datenverwaltungsanwendung 112 eine Meldung, dass die spezifizierten
Daten (welche zu dem Primärdatenspeicher 102 hinzugefügt wurden,
wie in Schritt S510 gemeldet wurde) von dem Primärdatenspeicher 102 gelöscht wurden.
Im Schritt S560 markiert die Datenverwaltungsanwendung 112 die
spezifizierten Daten (welche in Schritt S540 geschrieben wurden 271)
in dem Spiegel 260 des Sekundärdatenspeichers 115 als
gelöscht,
d. h., sie ordnet die spezifizierten Daten dem Speicher für gelöschte Daten 117 zu
oder überträgt wirksam
die spezifizierten Daten von dem Spiegel 260 zu dem Speicher
für gelöschte Daten 117.
Es ist besonders zu erwähnen, dass
in Schritt S550 eine Meldung emp fangen wird, dass die spezifizierten
Daten von dem Primärdatenspeicher 102 gelöscht wurden,
wohingegen im Schritt S560 eine identische Kopie von den spezifizierten
Daten, welche im Schritt S540 in den Sekundärdatenspeicher 115 kopiert
wurden und in dem Sekundärdatenspeicher 115 angeordnet
sind, als gelöscht
markiert wird. Wie zuvor erwähnt
wird in dieser Offenbarung unter Bezugnahme auf das Sichern von Daten,
z. B. in dem Sekundärdatenspeicher 115 oder dem
Speicher für
gelöschte
Daten 117, Synonym von Speichern oder von Schreiben von
Kopien der ursprünglichen
Daten in einen zweiten Ort, von Speichern, Schreiben oder Kopieren
der ursprünglichen Daten
in einen zweiten Ort, von Speichern oder Schreiben von zu den ursprünglichen
Daten identischen (oder zu den ursprünglichen Daten korrespondierenden)
Daten in einen zweiten Ort usw. gesprochen.
-
6A wird
nun unter Bezugnahme auf ein Speichersystem mit separatem Speicher
für gelöschte Daten,
wie z. B. das in 1A und 3A–3C dargestellte,
beschrieben werden. Im Schritt S610 empfängt 108 eine Datenverwaltungsanwendung 112 eine
Meldung, dass spezifizierte Daten von dem Primärdatenspeicher 102 gelöscht wurden.
Im Schritt S620 bestimmt die Datenverwaltungsanwendung 112,
ob in dem Speicher für
gelöschte
Daten 116 ausreichend freier Platz existiert, um die spezifizierten
Daten, welche von dem Primärdatenspeicher 102 gelöscht wurden,
unterzubringen. Wenn ausreichend freier Platz existiert („ja”), speichert
(schreibt) die Datenverwaltungsanwendung 112 im Schritt
S640 die spezifizierten Daten in den Speicher für gelöschte Daten 116 (d.
h. 374, 3C).
-
Wenn
nicht genügend
freier Platz im Schritt S620 existiert („nein”), wird der Ablauf im Schritt S630
fortgesetzt, in welchem die Datenentfernungsanwendung 124 Daten
von dem Speicher für
gelöschte
Daten 116 gemäß einem
Kriterium entfernt 355. Das Entfernen 355 von
Daten von dem Speicher für
gelöschte
Daten 116 erhöht
die Menge von freiem Platz in dem Speicher für gelöschte Daten 116. Der Schritt
S630 wird in einer Schleife mit Schritt S620 wiederholt, um wiederholt
Daten von dem Speicher für
gelöschte
Daten 116 zu entfernen 355, bis ausreichend Platz
freigegeben ist, um die spezifizierten Daten, welche von dem Primärdatenspeicher 102 gelöscht wurden,
unterzubringen. Wenn ausreichend freier Platz existiert, wird der
Ablauf im Schritt S640 fortgesetzt, in welchem die Datenverwaltungsanwendung 112 die
spezifizierten Daten in dem Speicher für gelöschte Daten 116 speichert
bzw. in den Speicher für
gelöschte
Daten 116 schreibt (d. h. 374). Die Rückkopplungsschleife
zwischen den Schritten S630 und S620 ist in dem Sinne optional,
dass der Schritt S630 ein einzelner Schritt sein kann, in welchem
eine ausreichend große
Menge von Daten am Anfang bestimmt und von dem Speicher für gelöschte Daten 116 entfernt
wird 355, um ausreichend Platz freizugeben, um die von
dem Primärdatenspeicher 102 gelöschten spezifizierten
Daten unterzubringen.
-
6B stellt
ein Verfahren dar, welches sich von dem in 6A dargestellten
dahingehend unterscheidet, dass zwei Schritte hinzugefügt wurden,
und zwar ein Schritt S605 (welcher vor dem Schritt S610 durchgeführt wird)
und ein Schritt S615 (welcher nach dem Schritt S610 ausgeführt wird).
In dem Schritt S605 werden vor dem Empfang 108 der Meldung
in der Datenverwaltungsanwendung 112, dass spezifizierte
Daten von dem Primärdatenspeicher 102 gelöscht wurden,
die spezifizierten Daten zu dem Spiegel 360 des Sekundärdatenspeichers 114 kopiert
(d. h. 372 in 3B). Dies wird routinemäßig durchgeführt, um
die in dem Primärdatenspeicher 102 gespeicherten
Daten zu sichern. Im Schritt S615 löscht die Datenverwaltungsanwendung 112 die
spezifizierten Daten von dem Spiegel 360 des Sekundärdatenspeichers 114 (d.
h. 374 in 3C), nachdem die Datenverwaltungsanwendung 112 eine
Meldung empfangen hat 108, dass die spezifizierten Daten von
dem Primärdatenspeicher 112 gelöscht wurden. Dies
wird weiterhin routinemäßig derart
durchgeführt, dass
der Spiegel 360 eine genaue Sicherungskopie der in dem
Primärdatenspeicher 102 gespeicherten Daten
hält. Obwohl
in der Figur der Schritt S615 so gezeigt ist, dass er zwischen den
Schritten S610 und S620 auftritt, kann der Schritt S615 zu einem
beliebigen anderen Punkt in dem Ablauf nach dem Schritt S610 durchgeführt werden.
-
Wie
zuvor erwähnt,
kann eine Verzögerung zwischen
der Zeit, zu welcher Daten zu dem Primärdatenspeicher 102 hinzugefügt oder
von dem Primärdatenspeicher 102 gelöscht werden,
und der Zeit, zu welcher die gleiche Änderung in dem Sekundärdatenspeicher 114 durchgeführt wird,
aus verschiedenen Gründen
auftreten. Wenn eine derartige Verzögerung auftritt und wenn während des
Verlaufs der Verzögerung
Daten zu dem Primärdatenspeicher 102 hinzugefügt und dann
von dem Primärdatenspeicher 102 gelöscht werden,
würden
diese Daten anderenfalls nicht den Routineschritten S605 und S615 unterzogen
werden und somit nicht in den Spiegel 360 des Sekundärdatenspeichers 114 kopiert
bzw. von dem Spiegel 360 des Sekundärdatenspeichers 114 gelöscht werden.
-
Wie
einem Fachmann klar sein wird, können die
Schritte des zuvor beschriebenen Verfahrens in einigen Fällen in
einer anderen Reihenfolge als zuvor beschrieben durchgeführt werden.
-
Wie
einem Fachmann klar sein wird, können bestimmte
hierin offenbarte Ausführungsformen
(z. B. die zuvor dargelegten Verfahren) von einem auf einem Computer
lesbaren Medium gespeicherten Programmcode realisiert werden. Solch
ein Computer lesbares Medium, welches für die hierin beschriebenen
Zwecke von einer beliebigen geeigneten Art sein kann, wird als von
dem Umfang der vorliegenden Erfindung umfasst erachtet.
-
Angesichts
der obigen Beschreibung werden die nachfolgenden Aspekte der beispielhaften
Ausführungsformen,
welche hierin beschrieben wurden, besonders erwähnt.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Sichern eines Datenspeichers bereitgestellt.
-
Das
Verfahren umfasst: ein Empfangen einer Meldung eines Löschens von
ersten Daten von einem Primärdatenspeicher;
ein Bestimmen, ob ausreichend freier Platz in einem Speicher für gelöschte Daten
existiert, um die ersten Daten darin zu speichern; ein Speichern
der ersten Daten in dem Speicher für gelöschte Daten, wenn ausreichend
freier Platz in dem Speicher für
gelöschte
Daten existiert, um die ersten Daten darin zu speichern; und, wenn nicht
ausreichend freier Platz in dem Speicher für gelöschte Daten existiert, um die
ersten Daten darin zu speichern, (a) ein Löschen von Daten von dem Speicher
für gelöschte Daten
gemäß einem
Kriterium, wodurch eine Menge von freiem Platz in dem Speicher für gelöschte Daten
erhöht
wird, um die ersten Daten in dem Speicher für gelöschte Daten unterzubringen, und
(b) ein Speichern der ersten Daten in dem Speicher für gelöschte Daten.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung weist das Verfahren gemäß dem ersten
Aspekt ferner vor dem Empfangsschritt ein Kopieren der ersten Daten
zu einem Sekundärdatenspeicher
und nachfolgend zu dem Empfangsschritt ein Löschen der ersten Daten von
dem Sekundärdatenspeicher
auf.
-
Gemäß einem
dritten Aspekt der vorliegenden Erfindung wird ein Speichersystem
bereitgestellt. Das Speichersystem umfasst eine Datenverwaltungsanwendung,
welche ausgestaltet ist, die folgenden Vorgänge auszuführen: Meldungen von einer Löschung von
ersten Daten von einem Primärdatenspeicher
zu empfangen; aufgrund eines Empfangs einer Meldung eines Löschens von
ersten Daten von einem Primärdatenspeicher
zu bestimmen, ob ausreichend freier Platz in einem Speicher für gelöschte Daten
existiert, um die ersten Daten darin zu speichern; wenn ausreichend
freier Platz in dem Speicher für
gelöschte
Daten existiert, um die ersten Daten darin zu speichern, die ersten
Daten in dem Speicher für
gelöschte
Daten zu speichern; und, wenn nicht ausreichend freier Platz in
dem Speicher für
gelöschte
Daten existiert, um darin die ersten Daten zu speichern, (a) Daten
von dem Speicher für
gelöschte
Daten gemäß einem
Kriterium zu entfernen, wodurch ein Betrag von freiem Platz in dem
Speicher für
gelöschte
Daten erhöht
wird, um die ersten Daten in dem Speicher für gelöschte Daten unterzubringen, und
(b) die ersten Daten in dem Speicher für gelöschte Daten zu speichern.
-
Gemäß einem
vierten Aspekt der vorliegenden Erfindung ist die Datenverwaltungsanwendung in
dem System gemäß dem dritten
Aspekt ferner ausgestaltet, die folgenden Vorgänge auszuführen: Kopien von zweiten Daten,
welche zu dem Primärdatenspeicher
hinzugefügt
wurden, zu empfangen; und aufgrund eines Empfangs einer Kopie von
zweiten Daten, welche zu dem Primärdatenspeicher hinzugefügt wurden,
die Kopie der zweiten Daten in einem Sekundärdatenspeicher zu speichern.
-
Gemäß einem
fünften
Aspekt der vorliegenden Erfindung weist das System gemäß dem dritten Aspekt
ferner den Speicher für
gelöschte
Daten und/oder einen Sekundärdatenspeicher
zum Speichern von Kopien von in dem Primärdatenspeicher gespeicherten
Daten auf.
-
Gemäß einen
sechsten Aspekt der vorliegenden Erfindung ist das Datenverwaltungssystem
in dem System gemäß dem vierten
Aspekt ferner ausgestaltet, die Kopie der zweiten Daten in dem Sekundärdatenspeicher
aufgrund einer betriebsfähigen Verbindung
des Primärdatenspeichers
mit der Datenverwaltungsanwendung zu speichern.
-
Gemäß einem
siebten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Sichern eines Datenspeichers bereitgestellt. Das Verfahren umfasst:
ein Empfangen einer Meldung, das erste Daten zu einem Primärdatenspeicher
hinzugefügt
wurden; ein Bestimmen, ob ausreichend freier Platz in einem Sekundärdatenspeicher
existiert, um darin die ersten Daten zu speichern; ein Kopieren
der ersten Daten zu dem Sekundärdatenspeicher,
wenn ausreichend freier Platz in dem Sekundärdatenspeicher existiert, um
die ersten Daten darin zu spei chern; wenn nicht ausreichend freier
Platz in dem Sekundärdatenspeicher
existiert, um die ersten Daten darin zu speichern, (a) ein Entfernen
von in dem Sekundärdatenspeicher
gespeicherten aber als gelöscht
markierten Daten von dem Sekundärdatenspeicher
gemäß einem
Kriterium, wodurch ein Betrag von freiem Speicher in dem Sekundärdatenspeicher
erhöht
wird, um die ersten Daten in dem Sekundärdatenspeicher unterzubringen,
und (b) ein Kopieren der ersten Daten in den Sekundärdatenspeicher;
ein Empfangen einer Meldung einer Löschung von den ersten Daten
von dem Primärdatenspeicher;
und ein Markieren der ersten Daten in dem Sekundärdatenspeicher als gelöscht. Gemäß dem Verfahren
weist der Sekundärdatenspeicher
eine Speicherkapazität
auf, die größer als
eine Speicherkapazität
des Primärdatenspeichers
ist.
-
Gemäß einem
achten Aspekt der vorliegenden Erfindung wird ein Speichersystem
bereitgestellt. Das System umfasst einen Sekundärdatenspeicher mit einer Speicherkapazität, die größer als
eine Speicherkapazität
eines Primärdatenspeichers
ist, und eine Datenverwaltungsanwendung. Die Datenverwaltungsanwendung
ist ausgestaltet, die folgenden Vorgänge auszuführen: (A) Meldungen eines Hinzufügens von
Daten zu dem Primärdatenspeicher
und Meldungen eines Löschens
von Daten von dem Primärdatenspeicher
zu empfangen; (B) aufgrund einer Meldung eines Hinzufügens von
ersten Daten zu einem Primärdatenspeicher
(i) zu bestimmen, ob ausreichend freier Platz in dem Sekundärdatenspeicher existiert,
um darin die ersten Daten zu speichern, (ii) wenn ausreichend freier
Platz in dem Sekundärdatenspeicher
existiert, um darin die ersten Daten zu speichern, die ersten Daten
zu dem Sekundärdatenspeicher
zu kopieren, und (iii) wenn kein ausreichend freier Platz in dem
Sekundärdatenspeicher
existiert, um darin die ersten Daten zu speichern, (a) Daten, welche
in dem Sekundärdatenspeicher
gespeichert aber als gelöscht
markiert sind, von dem Sekundärdatenspeicher
gemäß einem
Kriterium zu entfernen, wodurch eine Menge von freiem Platz in dem
Sekundärdatenspeicher
erhöht
wird, um die ersten Daten in dem Sekundärdatenspeicher unter zubringen,
und (b) die ersten Daten zu dem Sekundärdatenspeicher zu kopieren.
Die Datenverwaltungsanwendung ist ferner ausgestaltet, den folgenden
Vorgang durchzuführen: (C)
aufgrund eines Empfangs einer Meldung einer Löschung der ersten Daten von
dem Primärdatenspeicher
die ersten Daten in dem Sekundärdatenspeicher
als gelöscht
zu markieren.
-
Bei
einem der zuvor erwähnten
ersten bis sechsten Aspekte der vorliegenden Erfindung kann die
Speicherkapazität
des Speichers für
gelöschte Daten
erhöht
oder verringert werden.
-
Bei
dem zuvor erwähnten
siebten oder achten Aspekt der vorliegenden Erfindung kann die Speicherkapazität des Sekundärdatenspeichers
erhöht oder
verringert werden.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung umfasst das Entfernen von Daten von dem
Speicher für
gelöschte
Daten gemäß einem Kriterium
einen oder mehrere der folgenden Vorgänge: Entfernen von Daten von
dem Speicher für
gelöschte
Daten auf der Grundlage, ob eine Zeitdauer, welche verstrichen ist,
seit ein vorgegebener Vorgang auf den Daten zuletzt durchgeführt wurde,
einen gegebenen Schwellenwert überschreitet;
Entfernen von Daten von dem Speicher für gelöschte Daten auf der Grundlage
einer Art einer Datei, in welcher die Daten enthalten sind; Entfernen
von Daten von dem Speicher für
gelöschte
Daten auf der Grundlage, ob eine Größe einer Datei, in welcher
die Daten enthalten sind, einen gegebenen Schwellenwert überschreitet;
Entfernen von Daten von dem Speicher für gelöschte Daten auf der Grundlage
einer ursprünglichen
Stelle einer Datei, in welcher die Daten enthalten sind; Entfernen
von Daten von dem Speicher für gelöschte Daten
auf der Grundlage eines Inhalts von Metadaten einer Datei, in welcher
die Daten enthalten sind; und Entfernen von Daten von dem Speicher für gelöschte Daten
auf der Grundlage einer Priorisierung von zu löschenden Daten, welche von
einem Benutzer bestimmt wird.
-
Die
Artikel „ein” und „eine” werden
hierin verwendet, um ein oder mehr als ein (d. h., mindestens ein)
grammatikalisches Objekt des Artikels in Abhängigkeit des Kontexts zu referenzieren.
Beispielsweise kann in Abhängigkeit
des Kontexts „ein
Element” genau
ein Element oder mehr als ein Element bedeuten. Der Begriff „aufweisen” oder „umfassen” und grammatikalische
Varianten davon werden hierin austauschbar mit der Formulierung „einschließlich, aber
nicht notwendigerweise darauf begrenzt” und grammatikalischen Varianten
davon austauschbar verwendet. Der Begriff „z. B.” bedeutet hierin so viel wie „z. B.,
aber nicht notwendigerweise darauf begrenzt” und wird austauschbar mit
dieser Formulierung verwendet.
-
Obwohl
bestimmte exemplarische Ausführungsformen
hierin beschrieben wurden, sollte es klar sein, dass die vorliegende
Erfindung nicht durch diese Ausführungsformen
oder die Details davon beschränkt
wird. Im Gegensatz dazu ist es klar, dass viele Modifikationen und
Verbesserungen der offenbarten Ausführungsformen von einem Fachmann
angesichts der hierin bereitgestellten Beschreibung entworfen werden
können,
ohne von der Lehre und dem Umfang der vorliegenden Erfindung abzuweichen. Alle
derartigen Veränderungen
und Verbesserungen sollen unter die Lehre und den Umfang der Ansprüche fallen.
Der Umfang der Ansprüche
soll der breitesten Auslegung entsprechen, um alle derartigen Veränderungen
und Verbesserungen zu umfassen. Dementsprechend ist die vorhergehende
Erörterung nur
veranschaulichend und nicht beschränkend. Es ist klar, dass die
vorliegende Erfindung innerhalb der Lehre und des Umfangs der Ansprüche anders
als speziell beschrieben ausgeführt
werden kann. Die vorliegende Erfindung wird nur durch die beigefügten Ansprüche beschränkt.