DE102009060746A1 - Speichersicherung - Google Patents

Speichersicherung Download PDF

Info

Publication number
DE102009060746A1
DE102009060746A1 DE102009060746A DE102009060746A DE102009060746A1 DE 102009060746 A1 DE102009060746 A1 DE 102009060746A1 DE 102009060746 A DE102009060746 A DE 102009060746A DE 102009060746 A DE102009060746 A DE 102009060746A DE 102009060746 A1 DE102009060746 A1 DE 102009060746A1
Authority
DE
Germany
Prior art keywords
data
memory
deleted
store
primary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102009060746A
Other languages
English (en)
Inventor
Donald Ray Bryant-Rich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of DE102009060746A1 publication Critical patent/DE102009060746A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup

Abstract

Ein Speichersystem (110; 111) umfasst einen Sekundärdatenspeicher (114; 115) zum Sichern eines Primärdatenspeichers (102), einen Speicher für gelöschte Daten (116; 117) zum Beibehalten von gelöschten Daten und eine Datenverwaltungsanwendung (112) zum Verwalten der Sicherung von gespeicherten und gelöschten Daten des Primärdatenspeichers (102). Der Speicher für gelöschte Daten (116; 117) kann entweder getrennt von dem Sekundärdatenspeicher (114) oder innerhalb des Sekundärdatenspeichers (115) realisiert sein. Die Datenverwaltungsanwendung (112) kann automatisch Platz zum Sichern von Daten, welche neu zu dem Primärdatenspeicher (102) hinzugefügt werden oder von dem Primärdatenspeicher (102) gelöscht werden, freisetzen, indem sie wahlweise Daten von dem Speicher für gelöschte Daten (116; 117) auf der Grundlage einer Anwendung von geeigneten Kriterien löscht.

Description

  • 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;
  • 2A2C 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;
  • 3A3C 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 2A2C bzw. 3A3C dar;
  • 5 stellt ein Verfahren zum Sichern eines Datenspeichers gemäß Beispielausführungsformen dar, welches bei dem in 2A2C gezeigten Speichersystem anwendbar ist; und
  • 6A und 6B zeigen Verfahren zum Sichern eines Datenspeichers gemäß alternativer Beispielausführungsformen, welche bei dem in 3A3C 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.
  • 2A2C 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 2A2C 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 2A2C 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 2A2C 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 2A2C dargestellt, stellen die 3A3C 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 3A3C 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 (2A2C) 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 2A2C 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 3A3C 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 2A2C 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 3A3C 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 2A2C 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, 3A3C) 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 3A3C 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 3A3C 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 2A2C) 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 3A3C) 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, 2A2C) ausgeführt werden kann, wohingegen 6A und 6B derartige Verfahren darstellen, welche unter Verwendung des Speichersystems mit separaten gelöschten Daten (1A, 3A3C) 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 2A2C 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 3A3C 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.

Claims (16)

  1. Verfahren zum Sichern eines Datenspeichers, umfassend: Empfangen einer Meldung (273) eines Löschens von ersten Daten von einem Primärdatenspeicher (102); Bestimmen, ob ausreichend freier Platz in einem Speicher für gelöschte Daten (116; 117) existiert, um darin die ersten Daten zu speichern; wenn ausreichend freier Platz in dem Speicher für gelöschte Daten (116; 117) existiert, um die ersten Daten darin zu speichern, Speichern der ersten Daten in dem Speicher für gelöschte Daten (116; 117); und wenn kein ausreichend freier Platz in dem Speicher für gelöschte Daten (116; 117) existiert, um die ersten Daten darin zu speichern, (a) Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) gemäß einem Kriterium, wodurch eine Menge von freiem Platz in dem Speicher für gelöschte Daten (116; 117) vergrößert wird, um die ersten Daten in dem Speicher für gelöschte Daten (116; 117) unterzubringen, und (b) Speichern der ersten Daten in dem Speicher für gelöschte Daten (116; 117).
  2. Verfahren nach Anspruch 1, ferner umfassend: Kopieren der ersten Daten zu einem Sekundärdatenspeicher (114; 115) vor dem Empfangsschritt; und Löschen der ersten Daten von dem Sekundärdatenspeicher (114; 115) nach dem Empfangsschritt.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) gemäß einem Kriterium einen oder mehrere der folgenden Vorgänge umfasst: Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) auf der Grundlage, ob eine Zeitdauer, welche vergangen ist, seit ein vorgegebener Vorgang zuletzt auf den Daten ausgeführt wurde, einen gegebenen Schwellenwert überschreitet; Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) auf der Grundlage einer Art einer Datei, in welcher die Daten enthalten sind; Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) 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 (116; 117) 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 (116; 117) 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 (116; 117) auf der Grundlage einer von einem Benutzer bestimmten Priorisierung von zu löschenden Daten.
  4. Verfahren nach einem der Ansprüche 1–3, wobei eine Speicherkapazität des Speichers für gelöschte Daten (116; 117) erhöht oder verringert werden kann.
  5. Speichersystem umfassend: eine Datenverwaltungsanwendung (112), welche ausgestaltet ist: Meldungen (273) eines Löschens von Daten von einem Primärdatenspeicher (102) zu empfangen; aufgrund eines Empfangs einer Meldung (273) eines Löschens von ersten Daten von einem Primärdatenspeicher (102) zu bestimmen, ob ausreichend freier Platz in einem Speicher für gelöschte Daten (116; 117) existiert, um darin die ersten Daten zu speichern; die ersten Daten in dem Speicher für gelöschte Daten (116; 117) zu speichern, wenn ausreichend freier Platz in dem Speicher für gelöschte Daten (116; 117) existiert, um darin die ersten Daten zu speichern; und wenn kein ausreichend freier Platz in dem Speicher für gelöschte Daten (116; 117) existiert, um darin die ersten Daten zu speichern, (a) Daten von dem Speicher für gelöschte Daten (116; 117) gemäß einem Kriterium zu entfernen, wodurch eine Menge von freiem Platz in dem Speicher für gelöschte Daten (116; 117) erhöht wird, um die ersten Daten in dem Spei cher für gelöschte Daten (116; 117) unterzubringen, und (b) die ersten Daten in dem Speicher für gelöschte Daten (116; 117) zu speichern.
  6. Speichersystem nach Anspruch 5, ferner umfassend (a) den Speicher für gelöschte Daten (116; 117) und/oder (b) einen Sekundärdatenspeicher (114; 115) zum Speichern von Kopien von in dem Primärdatenspeicher (102) gespeicherten Daten.
  7. Speichersystem nach Anspruch 5 oder 6, wobei die Datenverwaltungsanwendung (112) ferner ausgestaltet ist: Kopien von zu dem Primärdatenspeicher (102) hinzugefügten Daten zu empfangen; und aufgrund eines Empfangs einer Kopie von zweiten Daten, welche zu dem Primärdatenspeicher (102) hinzugefügt wurden, die Kopie der zweiten Daten in einem Sekundärdatenspeicher (114; 115) zu speichern.
  8. Speichersystem nach Anspruch 7, wobei die Datenverwaltungsanwendung (112) ferner ausgestaltet ist, die Kopie der zweiten Daten in dem Sekundärdatenspeicher (114; 115) aufgrund einer betriebsfähigen Verbindung des Primärdatenspeichers (102) mit der Datenverwaltungsanwendung (112) zu speichern.
  9. Speichersystem nach einem der Ansprüche 5–8, wobei das Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) gemäß einem Kriterium einen oder mehrere der folgenden Vorgänge umfasst: Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) auf der Grundlage, ob eine Zeitdauer, welche vergangen ist, seit ein gegebener Vorgang zuletzt auf die Daten ausgeführt wurde, einen gegebenen Schwellenwert überschreitet; Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) auf der Grundlage einer Art einer Datei, in welcher die Daten enthalten sind; Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) 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 (116; 117) auf der Grundlage eines ursprünglichen Orts einer Datei, in welcher die Daten enthalten sind; Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) auf der Grundlage eines Inhaltes von Metadaten einer Datei, in welcher die Daten enthalten sind; und Entfernen von Daten von dem Speicher für gelöschte Daten (116; 117) auf der Grundlage einer von einem Benutzer bestimmten Priorisierung der zu löschenden Daten.
  10. Speichersystem nach einem der Ansprüche 5–9, wobei eine Speicherkapazität des Speichers für gelöschte Daten (116; 117) erhöht oder verringert werden kann.
  11. Verfahren zum Sichern eines Datenspeichers, umfassend: Empfangen einer Meldung (271; 372), dass erste Daten zu einem Primärdatenspeicher (102) hinzugefügt wurden; Bestimmen, ob ausreichend freier Platz in einem Sekundärdatenspeicher (114; 115) existiert, um darin die ersten Daten zu speichern; wenn ausreichend freier Platz in dem Sekundärdatenspeicher (114; 115) existiert, um darin die ersten Daten zu speichern, Kopieren der ersten Daten in den Sekundärdatenspeicher (114; 115); wenn kein ausreichend freier Platz in dem Sekundärdatenspeicher (114; 115) existiert, um die ersten Daten darin zu speichern: (a) Entfernen von Daten, welche in dem Sekundärdatenspeicher (114; 115) gespeichert sind, aber als gelöscht markiert sind, von dem Sekundärdatenspeicher (114; 115) gemäß einem Kriterium, wodurch eine Menge von freiem Platz in dem Sekundärdatenspeicher (114; 115) erhöht wird, um die ersten Daten in dem Sekundärdatenspeicher (114; 115) unterzubringen, und (b) Kopieren der ersten Daten in den Sekundärdatenspeicher (114; 115); Empfangen einer Meldung (273) eines Löschens von ersten Daten von dem Primärdatenspeicher (102); und Markieren der ersten Daten in dem Sekundärdatenspeicher (114; 115) als gelöscht, wobei der Sekundärdatenspeicher (114; 115) eine Speicherkapazität aufweist, welche größer als eine Speicherkapazität des Primärdatenspeichers (102) ist.
  12. Verfahren nach Anspruch 11, wobei das Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) gemäß einem Kriterium einen oder mehrere der folgenden Schritte umfasst: Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage, ob eine Zeitdauer, welche vergangen ist, seitdem ein gegebener Vorgang zuletzt auf den Daten ausgeführt wurde, einen gegebenen Schwellenwert überschreitet; Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage einer Art einer Datei, in welcher die Daten enthalten sind; Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage, ob eine Größe einer Datei, in welcher die Daten enthalten sind, einen gegebenen Schwellenwert überschreitet; Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage einer ursprünglichen Position einer Datei, in welcher die Daten enthalten sind; Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage eines Inhalts von Metadaten einer Datei, in welcher die Daten enthalten sind; und Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage einer von einem Benutzer bestimmten Priorisierung von zu löschenden Daten.
  13. Verfahren nach Anspruch 11 oder 12, wobei eine Speicherkapazität des Sekundärdatenspeichers (114; 115) erhöht oder verringert werden kann.
  14. Speichersystem umfassend: einen Sekundärdatenspeicher (114; 115) mit einer Speicherkapazität größer als eine Speicherkapazität eines Primärdatenspeichers (102); und eine Datenverwaltungsanwendung (112), welche ausgestaltet ist: (A) Meldungen (271; 372) eines Hinzufügens von Daten zu dem Primärdatenspeicher (102) und Meldungen (273) eines Löschens von Daten von dem Primärdatenspeicher (102) zu empfangen; (B) aufgrund eines Empfangs einer Meldung (271; 372) eines Hinzufügens von ersten Daten zu dem Primärdatenspeicher (102): (i) zu bestimmen, ob ausreichend freier Platz in dem Sekundärdatenspeicher (114; 115) existiert, um die ersten Daten darin zu speichern; (ii) wenn ausreichend freier Platz in dem Sekundärdatenspeicher (114; 115) existiert, um darin die ersten Daten zu speichern, die ersten Daten in den Sekundärdatenspeicher (114; 115) zu kopieren; und (iii) wenn kein ausreichend freier Platz in dem Sekundärdatenspeicher (114; 115) existiert, um darin die ersten Daten zu speichern, (a) in dem Sekundärdatenspeicher (114; 115) gespeicherte aber als gelöscht markierte Daten von dem Sekundärdatenspeicher (114; 115) gemäß einem Kriterium zu entfernen, wodurch eine Menge von freiem Speicher in dem Sekundärdatenspeicher (114; 115) erhöht wird, um die ersten Daten in dem Sekundärdatenspeicher (114; 115) unterzubringen, und (b) die ersten Daten in den Sekundärdatenspeicher (114; 115) zu kopieren; und (C) aufgrund eines Empfangs einer Meldung (273) eines Löschens der ersten Daten von dem Primärdatenspeicher (102), die ersten Daten in dem Sekundärdatenspeicher (114; 115) als gelöscht zu markieren.
  15. Speichersystem nach Anspruch 14, wobei das Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) gemäß einem Kriterium einen oder mehrere der folgenden Vorgänge aufweist: Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage, ob eine Zeitdauer, welche vergangen ist, seitdem ein gegebener Vorgang zuletzt auf den Daten durchge führt wurde, einen gegebenen Schwellenwert überschreitet; Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage einer Art einer Datei, in welcher die Daten enthalten sind; Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage, ob eine Größe einer Datei, in welcher die Daten enthalten sind, einen gegebenen Schwellenwert überschreitet; Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage einer ursprünglichen Position einer Datei, in welcher die Daten enthalten sind; Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage eines Inhaltes von Metadaten von einer Datei, in welcher die Daten enthalten sind; und Entfernen von Daten von dem Sekundärdatenspeicher (114; 115) auf der Grundlage einer von einem Benutzer bestimmten Priorisierung von zu löschenden Daten.
  16. Speichersystem nach Anspruch 14 oder 15, wobei eine Speicherkapazität des Sekundärdatenspeichers (114; 115) erhöht oder verringert werden kann.
DE102009060746A 2009-01-01 2009-12-30 Speichersicherung Withdrawn DE102009060746A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/348,005 2009-01-01
US12/348,005 US8412905B2 (en) 2009-01-01 2009-01-01 Storage system having secondary data store to mirror data

Publications (1)

Publication Number Publication Date
DE102009060746A1 true DE102009060746A1 (de) 2010-07-08

Family

ID=42234818

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009060746A Withdrawn DE102009060746A1 (de) 2009-01-01 2009-12-30 Speichersicherung

Country Status (4)

Country Link
US (1) US8412905B2 (de)
KR (1) KR20100080579A (de)
DE (1) DE102009060746A1 (de)
TW (1) TW201032040A (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489698B2 (en) * 2009-12-18 2013-07-16 Electronics And Telecommunications Research Institute Apparatus and method for accessing a metadata
US8631016B2 (en) * 2010-06-29 2014-01-14 Verizon Patent And Licensing Inc. Telephone numbers with alphabetic patterns
US8549243B2 (en) 2011-02-02 2013-10-01 International Business Machines Corporation Regeneration of deleted data
JP5664315B2 (ja) * 2011-02-15 2015-02-04 富士通株式会社 管理装置、管理プログラムおよび管理方法
US8880795B2 (en) * 2011-04-29 2014-11-04 Comcast Cable Communications, LLC. Intelligent partitioning of external memory devices
KR20130017389A (ko) * 2011-08-10 2013-02-20 삼성전자주식회사 영상 처리 장치 및 이를 이용한 영상 처리 방법
KR101354854B1 (ko) * 2012-01-02 2014-01-27 엘에스산전 주식회사 시스템의 알람 관리 장치 및 방법
WO2013160939A1 (en) * 2012-04-24 2013-10-31 Hitachi, Ltd. Backup system and backup method
KR101911803B1 (ko) 2012-08-10 2018-10-26 삼성전자주식회사 휴대용 단말 장치 및 그 동작 방법
US8856484B2 (en) * 2012-08-14 2014-10-07 Infinidat Ltd. Mass storage system and methods of controlling resources thereof
US9046998B2 (en) * 2012-09-14 2015-06-02 Empire Technology Development Llc Cloud-based trash-can
JP2014206967A (ja) * 2013-03-18 2014-10-30 株式会社Genusion 記憶装置
US9620148B2 (en) * 2013-07-01 2017-04-11 Toyota Motor Engineering & Manufacturing North America, Inc. Systems, vehicles, and methods for limiting speech-based access to an audio metadata database
US10754735B2 (en) * 2017-11-20 2020-08-25 Salesforce.Com, Inc. Distributed storage reservation for recovering distributed data
US11262934B2 (en) * 2019-02-27 2022-03-01 International Business Machines Corporation Deletion of stored data
CN110321078B (zh) * 2019-06-18 2022-06-17 海芯科技(厦门)有限公司 一种防止系统受干扰误擦写单片机mtp数据的方法
CN110413448A (zh) * 2019-06-28 2019-11-05 苏州浪潮智能科技有限公司 一种云主机备份方法与装置
US11546411B1 (en) * 2021-07-10 2023-01-03 Vmware, Inc. Backing up confidential data to user devices on the same local network
US20230222095A1 (en) * 2022-01-13 2023-07-13 Cyera, Ltd. System and method for data discovery in cloud environments

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US7136903B1 (en) * 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
US6412080B1 (en) * 1999-02-23 2002-06-25 Microsoft Corporation Lightweight persistent storage system for flash memory devices
US6351776B1 (en) * 1999-11-04 2002-02-26 Xdrive, Inc. Shared internet storage resource, user interface system, and method
US6553360B1 (en) * 1999-12-06 2003-04-22 Intel Corporation Software-based problem-resolution production system with standardized information providers & solution interpreters
US6636953B2 (en) * 2000-05-31 2003-10-21 Matsushita Electric Co., Ltd. Receiving apparatus that receives and accumulates broadcast contents and makes contents available according to user requests
US20070245165A1 (en) * 2000-09-27 2007-10-18 Amphus, Inc. System and method for activity or event based dynamic energy conserving server reconfiguration
US6611836B2 (en) * 2000-12-26 2003-08-26 Simdesk Technologies, Inc. Server-side recycle bin system
US6948026B2 (en) * 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US7146525B2 (en) * 2001-08-31 2006-12-05 Legend (Beijing) Limited Method for backing up and recovering data in the hard disk of a computer
US7155465B2 (en) * 2003-04-18 2006-12-26 Lee Howard F Method and apparatus for automatically archiving a file system
JP2005018233A (ja) * 2003-06-24 2005-01-20 Fujitsu Ltd 仮想記憶媒体に記録されたデータをバックアップする方法及び、仮想記憶媒体に記録されたデータのバックアップ装置
WO2005017686A2 (en) * 2003-08-05 2005-02-24 Sepaton, Inc. Emulated storage system
JP3712071B2 (ja) * 2003-10-02 2005-11-02 ソニー株式会社 ファイル管理装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体
US7502891B2 (en) * 2003-10-30 2009-03-10 International Business Machines Corporation Storage management based on worklist
JP2005301684A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd ストレージシステム
US7831561B2 (en) * 2004-05-18 2010-11-09 Oracle International Corporation Automated disk-oriented backups
EP1840785A1 (de) * 2005-01-07 2007-10-03 Matsushita Electric Industrial Co., Ltd. Backup-system, aufzeichnungs-/wiedergabeeinrichtung, backup-einrichtung, backup-verfahren, programm und integrierte schaltung
US7509467B2 (en) * 2006-01-13 2009-03-24 Hitachi, Ltd. Storage controller and data management method
US20070185936A1 (en) * 2006-02-07 2007-08-09 Derk David G Managing deletions in backup sets
JP2007219611A (ja) * 2006-02-14 2007-08-30 Hitachi Ltd バックアップ装置及びバックアップ方法
US7461223B2 (en) * 2006-05-29 2008-12-02 Microsoft Corporation Retaining shadow copy data during replication
US8850140B2 (en) * 2007-01-07 2014-09-30 Apple Inc. Data backup for mobile device
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US8151068B2 (en) * 2008-02-04 2012-04-03 Microsoft Corporation Data copy management for faster reads
US20100205154A1 (en) * 2009-02-08 2010-08-12 Gregory Beliczynski System and Method for Storing and Retrieving Deleted Files

Also Published As

Publication number Publication date
TW201032040A (en) 2010-09-01
US8412905B2 (en) 2013-04-02
US20100169595A1 (en) 2010-07-01
KR20100080579A (ko) 2010-07-09

Similar Documents

Publication Publication Date Title
DE102009060746A1 (de) Speichersicherung
DE102012208141B4 (de) Ausgleich nachlassender Funktionsfähigkeit
DE602004008550T2 (de) Speichervorrichtung und System zum Bereitstellen einer Reservierungsfunktion für einen Kommunikationspuffer.
DE102008015662B4 (de) Beseitigung von Daten
DE60313783T2 (de) Bewegen von daten zwischen speichereinheiten
DE4220198C2 (de) Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem
DE112011102076B4 (de) Neuordnen des Zugriffs zum Verringern der Gesamtsuchzeit auf Bandmedien
DE112011100819B4 (de) Speicherplatzreservierung in einem Deduplizierungssystem
DE3908459C2 (de) Netzwerkserver
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE60316783T2 (de) Erkennung von Speichermangel und Feinabschaltung
DE112009004503T5 (de) Optimierung der zugriffszeit von auf speichern gespeicherten dateien
DE102007006307A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, Aufzeichnungsmedium und nichtflüchtigen Speicherelement
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
DE102009034651A1 (de) Prozess und Verfahren zur Abbildung von logischen Adressen auf physische Adressen in Festkörperplatten
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE112007003693T5 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE4218025A1 (de) Datenspeicherverwaltungssystem und verfahren mit speicherzuordnung auf der basis nachgefragter dienstklassen
DE102013204972A1 (de) Hybride Sicherung und Wiederherstellung eines sehr grossen Dateisystems unter Verwendung von Metadaten-Abbildsicherung und herkömmlicher Sicherung
EP3084638A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
DE112011101793T5 (de) Gemeinsame Datennutzung bei Dateiklonen
DE102008011708A1 (de) Computersystem, Verfahren zu dessen Steuerung und Systemverwaltungseinheit
DE602005005086T2 (de) Ressourcenverwaltung für datenspeicherdienste
DE112019006530T5 (de) Markieren von betroffenen ähnlichkeitsgruppen in freispeichersammeloperationen in duplizierten speichersystemen
DE112011103299T5 (de) Systeme und Verfahren zum Verwalten einer virtuellen Bandarchiv-Domäne

Legal Events

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