DE69127752T2 - System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem - Google Patents

System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem

Info

Publication number
DE69127752T2
DE69127752T2 DE69127752T DE69127752T DE69127752T2 DE 69127752 T2 DE69127752 T2 DE 69127752T2 DE 69127752 T DE69127752 T DE 69127752T DE 69127752 T DE69127752 T DE 69127752T DE 69127752 T2 DE69127752 T2 DE 69127752T2
Authority
DE
Germany
Prior art keywords
data storage
host processor
file
storage subsystem
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69127752T
Other languages
English (en)
Other versions
DE69127752D1 (de
Inventor
Stuart Belsan
John Kitchen
Henry Ludlam
Charles Milligan
Mogens Pedersen
George Rudeseal
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.)
Storage Technology Corp
Original Assignee
Storage Technology Corp
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 Storage Technology Corp filed Critical Storage Technology Corp
Publication of DE69127752D1 publication Critical patent/DE69127752D1/de
Application granted granted Critical
Publication of DE69127752T2 publication Critical patent/DE69127752T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Processing Or Creating Images (AREA)
  • Storage Device Security (AREA)

Description

    Erfindungsgebiet
  • Diese Erfindung betrifft ein dynamisch abbildendes Datenspeichersubsystem und im besonderen eine Vorrichtung zur Freigabe des physikalischen Raumes, der von einer Datei belegt wird, die durch den Hostprozessor gelöscht wird. Die Erfindung betrifft des weiteren eine verbesserte Anordnung zum Verhindern des unberechtigten Zugriffs auf in dem Datenspeichersubsystem gespeicherte Daten, nachdem der Dateiname der Daten aus einem Speicher getilgt worden ist, der die Namen der in dem Datenspeichersubsystem gespeicherten Dateien aufführt.
  • PROBLEM
  • Bei Datenspeichersubsystemen ist es ein Problem, die maximale Menge an physikalischem Speicherplatz in dem Datenspeichersubsystem auszunutzen. Es sind zahlreiche Dateiplatzverwaltungssysteme in Gebrauch, um diese Funktion zu erfüllen, und diese Systeme sind an die einzelne Betriebssystemumgebung des Hostprozessors angepaßt. In einem typischen IBM Direktzugriffsspeicher- (DASD) Plattenspeichersystem wird z.B. eine Datei in eine ausgewählte Speicherstelle geschrieben, die durch eine Anfangszylindernummer und eine Kopfnummer (CCHH) identifiziert wird. Der Name der Datei und ihre Speicherstelle (CCHH) werden in ein Datenträger-Inhaltsverzeichnis (VTOC) auf dem Datenträger geschrieben, auf dem die Datei gespeichert ist. Die virtuelle Adresse der Datei wird ferner in einen Indexspeicher geschrieben, der mit einer Plattensteuereinheit verbunden ist, die zu dem DASD-System gehört. Dieser Speicher fungiert als ein Index, der den Namen und die virtuelle Adresse des VTOC-Eintrags jeder Datei aufführt, die auf dem physikalischen Plattenlaufwerk, das den virtuellen Datenträger umfaßt, gespeichert ist.
  • Eine ausgewählte Datei wird gelesen oder geschrieben, wenn der Hostprozessor den mit der Plattensteuereinheit verbundenen Indexspeicher liest, um die virtuelle Adresse des VTOC-Eintrags der ausgewählten Datei zu bestimmen. Der Hostprozessor sendet einen Befehl über die Plattensteuereinheit an das Plattenlaufwerk, das die ausgewählte Datei enthält, um das VTOC des Plattenlaufwerks abzufragen, um die Speicherstelle (CCHH) zu identifizieren, die die ausgewählte Datei enthält. Der Hostprozessor sendet dann einen Befehl über die Plattensteuereinheit, um auf die bezeichnete Speicherstelle (CCHH) dieses Plattenlaufwerks zuzugreifen, um die ausgewählte Datei zu lesen oder zu schreiben. Wenn die ausgewählte Datei nicht mehr gewünscht wird, "tilgt" der Hostprozessor die Datei aus dem DASD-System. In den meisten Fällen umfaßt die Dateitilgungsoperation nur das Löschen des Dateinamens aus dem mit der Plattensteuereinheit verbundenen Indexspeicher und aus dem VTOC des Plattenlaufwerksdatenträgers, der die Datei speichert. Die Datei selbst bleibt in der virtuellen Abbildung und auf dem magnetischen Medium des Plattenlaufwerks, bis sie überschrieben oder anderweitig durch den Hostprozessor gelöscht wird.
  • Ein bedeutsames Problem bei dieser Architektur besteht darin, daß Dateien typischerweise aneinandergrenzenden virtuellen Spuren auf einem virtuellen Datenträger zugewiesen werden. Da diese virtuellen Spuren einer Datei zugewiesen werden und Daten auf diese zugwiesenen virtuellen Spuren geschrieben werden, wird der virtuelle Datenträger nach und nach mit Daten gefüllt. Wenn eine zugewiesene Datei durch den Hostprozessor gelöscht wird, kann der der gelöschten Datei ursprünglich durch den Hostprozessor zugewiesene Platz nicht zur Verwendung durch nachfolgend zugewiesene Dateien zur Verfügung stehen. Dies ist, weil die Menge an Platz auf den der gelöschten Datei zugewiesenen virtuellen Spuren ungenügend sein kann, um nachfolgend zugewiesene größere Dateien zu speichern. Dies verursacht eine Fragmentierung des virtuellen Datenträgers, wo eine bedeutsame Menge an physikalischer Speicherkapazität des DASD-Systems keiner Datei zugewiesen wird, weil diese unbenutzte Speicherkapazität in der Form einer Vielzahl kleiner Erweiterungen ist, die keine ausreichende Größe aufweisen, um ohne weiteres für den Hostprozessor verwendbar zu sein.
  • Ein Verfahren, dieses Problem herkömmlicher DASD-Systeme zu umgehen, ist die Verwendung eines dynamisch abbildenden virtuellen Datenspeichersubsystems, das die virtuellen Spuren eines virtuellen Datenträgers in logischen Spuren eines logischen Datenträgers innerhalb des Datenspeichersubssystems abbildet. Dies ermöglicht dem Datenspeichersubsystem, den zum Speichern der empfangenen Datei benötigten physikalischen Speicherplatz unabhängig von den Einschränkungen eines traditionellen DASD-Systems dynamisch zuzuweisen, wo die virtuellen Spuren, die einen virtuellen Datenträger bilden, durch ein festgelegtes physikalisches Abbilden auf physikalischen Spuren definiert werden. Eine Schwierigkeit bei der Verwendung eines dynamisch abgebildeten virtuellen Datenspeichersybsystems besteht darin, daß das Datenspeichersubsystem keine Kenntnis von der Aktivität des Hostprozessors beim Löschen überholter Dateien hat, sofern nicht der Hostprozessor umprogrammiert wird, Daten aktiv aus dem Datenspeichersubsystem zu löschen. Außerdem weiß der Hostprozessor nichts von der Aktivität des Datenspeichersubsystems beim dynamischen Abbilden der virtuellen Spuren eines virtuellen Datenträgers, um logische Spuren eines logischen Datenträgers auszuwählen. Wenn Dateien durch den Hostprozessor gelöscht werden, ist es daher schwierig, die gelöschten Dateien in einer rechtzeitigen Weise von dem Datenspeichersubsystem zu entfernen, und das Datenspeichersubsystem fährt fort, diese überholten Dateien fortwährend zu behalten, bis der Hostprozessor diese Dateien überschreibt. Wenn das Datenspeichersubsystem unabhängig vom Hostprozessor arbeitet, sendet der Hostprozessor keine Mitteilungen über gelöschte Dateien an das Datenspeichersubsystem, und die gelöschten Dateien werden niemals physikalisch daraus entfernt.
  • Ein weiteres Problem bei den oben beschriebenen DASD-Systemen ist, daß die Spuren einer gelöschten Datei in dem Datenspeichersubsystem durch die Verwendung eines Befehls zugänglich bleiben, der verlangt, daß eine spezifizierte Spur einer spezifizierten physikalischen Einheit gelesen wird. Dadurch kann der Inhalt der spezifizierten Spur gelesen und einem Benutzer des Hostprozessors verfügbar gemacht werden. Die einzige Möglichkeit, den Zugriff auf die auf der spezifizierten Spur gespeicherte gelöschte Datei zu verhindern, besteht darin, den Hostprozessor zu veranlassen, eine Löschoperation auf der Spur durchzuführen, die die gelöschte Datei enthält, um die darin enthaltenen Daten zu vernichten. Während dies möglich ist, ist es mühsam und erfordert den Einsatz beträchtlicher Betriebsmittel des Computerprozessors und des Speichersubsystems. Als Folge werden getrennte Datenlöschoperationen gewöhnlich nur für Dateien durchgeführt, die hochempfindliche Daten, z.B. Gehaltsdaten und dergleichen, enthalten, wo die Verhinderung eines unberechtigten Zugriffs den Aufwand an benötigter Computersystemverarbeitungszeit wert ist.
  • In derselben Weise wie in einem herkömmlichen DASD-Speichersystem, das Plattenlaufwerke großer Formzahl verwendet, kann eine Dateilöschoperation in einem dynamisch abgebildeten Datenspeichersubsystem mit virtuellem Speicher durchgeführt werden, indem der Name der Datei aus dem VTOC des virtuellen Datenträgersu der die Datei enthält, getilgt wird. Das Löschen des Dateinamens aus dem VTOC schließt den weiteren Zugriff auf die Datei durch einen Befehl aus, der den Dateinamen benötigt. In einer ähnlichen Weise wie bei DASD-Systemen mit Plattenlaufwerken großer Formzahl kann jedoch ein Systembenutzer Befehle verwenden, die das Lesen einer spezifizierten virtuellen Spur als Ganzes verlangen. Als Reaktion auf den Empfang eines solchen Befehls legt das Datenspeichersubsystem die virtuelle Adresse, die es empfängt, an sein virtuelles Spurverzeichnis an, um die logische Adresse der spezifizierten virtuellen Spur zu identifizieren. Das Datenspeichersubsystem liest dann alle Daten von der logischen Spur, die den Inhalt der spezifizierten virtuellen Spur enthält. Folglich ist zu sehen, daß die Verhinderung des unberechtigten Zugriffs auf Daten gelöschter Dateien bei dynamisch abgebildeten virtuellen Datenspeichersubsystemen das gleiche Problem wie bei herkömmlichen DASD-Subsystemen ist.
  • Es ist einzusehen, daß traditionelle DASD-Datenspeichersubsysteme die physikalische Speicherkapazität des magnetischen Mediums infolge der durch gelöschte Dateien verursachten virtuellen Fragmentierung nicht effizient nutzen. Außerdem empfängt das typische dynamisch abgebildete virtuelle Datenspeichersubsystem keine Information vom Hostprozessor, um Dateien, die durch den Hostprozessor gelöscht werden, zu identifizieren, in einer rechtzeitigen Weise und fährt fort, diese überholten Dateien zu behalten. Dies verursacht wiederum einen Verlust an physikalischer Speicherkapazität auf dem Datenspeichersubsystem. Außerdem ist es bei allen Datenspeichersubsystemen ein Problem, den unberechtigten Zugriff auf die Daten von "gelöschten" Dateien zu verhindern, wo die Löschoperation nur das Löschen des Dateinamens aus dem mit der Plattensteuereinheit verbundenen Indexspeicher und aus dem VTOC des Plattenlaufwerksdatenträgers, der die Datei enthält, umfaßt.
  • Die Europäische Patentanmeldung EP-A-0 319 147 offenbart ein Verfahren zum Betrieb eines Datenspeichersubsystems, bei dem der Datenspeicherplatz durch Teilen des Speichers in Abschnitte fester Länge verwaltet wird. Dieses System implementiert eine virtuelle Daterspeicherphilosophie unter Verwendung eines virtuellen Spurverzeichnisses, um die Datenspeicherung zu verwalten. Insbesondere wird die durch den Hostprozessor den Daten zugewiesene virtuelle Adresse durch das Datenspeichersubsystem in eine logische Adresse übersetzt, um die physikalische Speicherstelle der Daten zu identifizieren.
  • LÖSUNG
  • Die vorangehenden Probleme werden gelöst und ein technischer Fortschritt in der Technik wird erzielt durch ein Platzfreigabesystem für gelöschte Dateien, das Einrichtungen in einem dynamisch abbildenden virtuellen Datenspeichersubsystem bereitstellt, um den durch eine gelöschte Daten belegten physikalischen Platz sofort zur Verwendung durch das Datenspeichersubsystem freizugeben, um nachfolgend empfangene Dateien zu speichern. Das System bietet außerdem Datensicherheit, indem der unberechtigte Zugriff auf die Daten von geltschten Dateien verhindert wird.
  • Im besonderen stellt die Erfindung eine Vorrichtung und ein Verfahren zur Verfügung, um Dateien aus Datenspeichereinrichtungen in einem dynamisch abbildenden virtuellen Datenspeichersubsystem zu löschen, wie in Anspruch 1 und 9 definiert.
  • Bei einer bevorzugten Ausführung besteht das Datenspeichersubsystem aus einer parallelen Plattenlaufwerksanordnung, die eine große Zahl von Plattenlaufwerken kleiner Formzahl verwendet, um das Format und das Vermögen von Plattenlaufwerken großer Formzahl zu emulieren. Die Vielzahl von Plattenlaufwerken in dem Datenspeichersubsystem ist in eine Vielzahl von Redundanzgruppen variabler Größe von N+M parallel geschalteten Plattenlaufwerken konfiguriert, um Daten darauf zu speichern. Jede Redundanzgruppe, auch logisches Plattenlaufwerk genannt, ist in eine Anzahl logischer Zylinder geteilt, die je i logische Spuren enthalten, eine logische Spur für jede der i physikalischen Spuren, die in einem Zylinder eines physikalischen Plattenlaufwerks enthalten sind. Jede logische Spur besteht aus N+M physikalischen Spuren, eine physikalische Spur von jedem Plattenlaufwerk in der Redundanzgruppe. Die N+M Plattenlaufwerke werden benutzt, um N Datensegmente zu speichern, eines auf jeder von N physikalischen Spuren pro logischer Spur, und um M Redundanzsegmente zu speichern, eines auf jeder von M physikalischen Spuren pro logischer Spur in der Redundanzgruppe. Dieses Datenspeichersubsystem unterhält eine dynamische Abbildung zwischen den virtuellen und physikalischen Datenspeichereinrichtungen. Das Datenspeichersubsystem besteht aus drei abstrakten Schichten: virtuell, logisch und physikalisch. Die virtuelle Schicht fungiert als ein herkömmlicher Plattenlaufwerksspeicher mit großer Formzahl. Die logische Schicht arbeitet als eine Anordnung von Speichereinheiten, die in eine Mehrzahl von Redundanzgruppen gruppiert sind, wobei jede N+M physikalische Plattenlaufwerke enthält. Die physikalische Schicht fungiert als eine Mehrzahl einzelner Plattenlaufwerke kleiner Formzahl. Ein virtuelles Spurverzeichnis wird in dem Datenspeichersubsystem unterhalten, um die Stelle des momentanen Beispiels jeder virtuellen Spur in dem Datenspeichersubsystem zurückzurufen. Das virtuelle Spurverzeichnis besteht aus einem Eintrag für jede virtuelle Spur, die der zugehörige Kostprozessor adressieren kann. Der Eintrag enthält die logische Sektoradresse, bei der das Beispiel der virtuellen Spur beginnt. Das virtuelle Spurverzeichnis enthält auch Daten, die die Länge des virtuellen spurbeispiels in Sektoren angeben.
  • Das Platzfreigabesystem für gelöschte Dateien verwendet einen Benutzerausgang in der Dateilöschroutine des Hostprozessors, um Information an das Datenspeichersubsystem zu senden, die die Dateilöschaktivität des Hostprozessors anzeigt. Bestehende Kanalbefehlswörter werden in einer Weise verwendet, die für den Hostprozessor transparent ist. Das Datenspeichersubsystem empfängt dadurch sofort einen Hinweis, daß der Hostprozessor eine Datei aus dem Datenträgerinhaltsverzeichnis löscht. Das Datenspeichersubsystem kann dann gleichzeitig diese Datei aus dem in dem Datenspeichersubsystem enthaltenen virtuellen Spurverzeichnis löschen und dadurch den durch diese gelöschte Datei belegten physikalischen Plattenplatz freigeben. Da der Dateiplatzfreigabeprozeß in dem Datenspeichersubsystem in Verbindung mit der vom Hostprozessor gesteuerten Datenträgerinhaltsverzeichnis-Löschaktivität ausgeführt wird, verhindert der Hostprozessor, daß andere Prozesse innerhalb des Hostprozessors und andere Hostprozessoren versuchen, während der Dateilöschprozedur auf diese Datei zuzugreifen. Das dynamisch abgebildete virtuelle Datenspeichersubsystem gibt somit den von einer gelöschten Datei belegten physikalischen Platz sofort zur Verwendung durch nachfolgend empfangene Dateien frei, wodurch die für den Hostprozessor verfügbare Menge an physikalischer Speicherkapazität maximiert wird, um eine signifikante Kapazitäts- und Leistungsverbesserung gegenüber den normalen Plattenlaufwerken mit großer Formzahl bereitzustellen.
  • Indem das Datenspeichersubsystem so betrieben wird, daß als Reaktion auf den Empfang eines Dateilöschbefehls die logische Adresse der Datei aus dem virtuellen Spurverzeichnis gelöscht wird, verhindert das Löschen der logischen Adresseninformation aus dem virtuellen Spurverzeichnis, daß der Hostprozessor irgendeinen weiteren Zugang zu der gelöschten Datei erlangt, selbst wenn sie noch auf den logischen Plattenlaufwerken gespeichert bleibt. Nach dem Löschen der logischen Adresse aus dem virtuellen Spurverzeichnis reagiert das Datenspeichersubsystem noch immer auf den Empfang eines Befehls, der die virtuelle Adresse der Datei enthält, durch Anlegen der virtuellen Adresse an das virtuelle Spurverzeichnis, um die entsprechende logische Adresse zu gewinnen. Da aber die logische Adresse der Datei aus dem virtuellen Spurverzeichnis gelöscht worden ist, empfängt der Hostprozessor nur einen Nullhinweis von dem Datenspeichersubsystem, der dem Hostprozessor wie eine gelöschte Spur vorkommt. Die Datei bleibt daher gesichert und ihr unberechtigter Zugriff wird verhindert, selbst wenn die Daten der Datei auf dem magnetischen Medium der logischen Spuren des logischen Speichers bleiben, in den sie geschrieben wurden. Die Daten bleiben gesichert, weil ein Benutzer keinen Systembefehl erzeugen kann, der das Lesen einer logischen Spur einer logischen Einheit bewirken könnte, wenn die Adresse der logischen Spur nicht mehr im virtuellen Spurverzeichnis vorhanden ist.
  • Somit ist zu sehen, daß die vorliegende Erfindung die oben erörterten Probleme des Standes der Technik löst, indem einem dynamisch abgebildeten virtuellen Datenspeichersubsystem ermöglich wird, den durch eine gelöschte Datei belegten Platz sofort freizugegeben und den Zugriff auf eine in den logischen Speichereinheiten verbleibende Datei nach der Zeit auszuschließen, wo die virtuelle-logische Adressenkorrelationsinformation der Datei aus dem virtuellen Spurverzeichnis des Datenspeichersubsystems entfernt wird.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 zeigt das dynamisch abgebildete virtuelle Datenspeichersubsystem in Blockschaltbildform.
  • Fig. 2 zeigt weitere Einzelheiten der Clustersteuerung.
  • Fig. 3 zeigt das virtuelle Abbild eines herkömmlichen unformatierten DASD-Datenträgers, die entsprechenden Zuordnungstabellen und die physikalischen DASD-Elemente in einem abbildenden logischen Subsystem.
  • Fig. 4 zeigt die auf den virtuellen Datenträger geschriebene erste und zweite Spur, die entsprechenden Zuordnungstabelleneinträge und die physikalischen DASD-Elemente in dem abbildenden logischen Subsystem.
  • Fig. 5 offenbart weitere Einzelheiten eines VTOC.
  • Fig. 6 offenbart ein Abbild eines virtuellen Datenträgers mit einigen seiner Spuren mit Dateien beschrieben, die mit virtueller/logischer Adressenkorrelationsinformation beschriebene Zuordnungstabelle und die logischen Datenträger.
  • Fig. 7 zeigt ein Abbild des virtuellen Datenträgers, nachdem alle Dateieinträge aus dem VTOC gelöscht worden sind, die Zuordnungstabellen und die logischen Datenträger ohne die vorliegende Erfindung.
  • Fig. 8 zeigt ein Abbild des virtuellen Datenträgers, nachdem alle Dateieinträge gelöscht worden sind, die Zuordnungstabellen und die logischen Datenträger mit der Erfindung.
  • Fig. 9 zeigt ein typisches Freiplatzverzeichnis, das in dem Datenspeichersubsystem verwendet wird.
  • Fig. 10 zeigt in Flußdiagrammform den Freiplatzsammelprozeß.
  • Fig. 11 und 12 zeigen in Flußdiagrammform die Operation des Platzfreigabeprozesses für gelöschte Dateien.
  • Fig. 13 zeigt Einzelheiten von typischen Kanalprogrammbefehlen und -parametern.
  • AUSFÜHRLICHE BESCHREIBUNG Architektur des Datenspeichersubsystems
  • Fig. 1 zeigt in Blockschaltbildform die Architektur der bevorzugten Ausführung des dynamisch abbildenden virtuellen Datenspeichersubsystems 100. Das Datenspeichersubsystem 100 erscheint den zugehörigen Hostprozessoren 11-12 als eine Ansammlung von Plattenlaufwerken großer Formzahl mit ihrer zugehörigen Speichersteuevung, weil die Architektur der parallelen Plattenlaufwerksanordnung des Datenspeichersubsystems 100 für die zugehörigen Hostprozessoren 11-12 transparent ist. Dieses Datenspeichersubsystem 100 umfaßt eine Mehrzahl von Plattenlaufwerken (122-1 bis 125-r), die sich in einer Mehrzahl von Plattenlaufwerksuntergruppen 103-1 bis 103-i befinden. Die Plattenlaufwerke 122-1 bis 125-r sind, obwohl sie Plattenlaufwerke zum Speichern von Redundanzinformation und Plattenlaufwerke für Sicherungszwecke bereitstellen, wesentlich billiger als das typische Plattenlaufwerk mit 14 Zoll Formzahl mit einem zugehörigen Sicherungsplattenlaufwerk. Die Mehrzahl von Plattenlaufwerken 122-1 bis 125-r sind typischerweise die Gebrauchfestplattenlaufwerke im 5¼ Zoll Format.
  • Die in Fig. 1 gezeigte Architektur ist die einer Mehrzahl von Hostprozessoren 11-12, die über die entsprechende Mehrzahl von Datenkanälen 21, 22-31, 32 mit einem Datenspeichersubsystem 100 verbunden sind, das die Datenspeicherkapazität des hinteren Endes für die Hostprozessoren 11-12 bereitstellt. Diese Grundkonfiguration ist in der Datenverarbeitungstechnik allgemein bekannt. Das Datenspeichersubsystem 100 umfaßt eine Steuereinheit 101, die dazu dient, die Untergruppen von Plattenlaufwerken 103-1 bis 103-i und ihre zugehörigen Laufwerksmanager 102-1 bis 102-i mit den Datenkanälen 21-22, 31-32 zu verbinden, die das Datenspeichersubsystem 100 mit der Mehrzahl von Hostprozessoren 11-12 verbinden.
  • Die Steuereinheit 101 umfaßt typischerweise zwei Clustersteuerungen 111, 112 für Redundanzzwecke. Innerhalb einer Clustersteuerung 111 stellt der Mehrweg-Speicherdirektor 110-0 eine Hardwareschnittstelle bereit, um die Datenkanäle 21, 31 mit der in der Steuereinheit 101 enthaltenen Clustersteuerung 111 zu verbinden. In dieser Hinsicht stellt der Mehrweg-Speicherdirektor 110-0 eine Hardwareschnittstelle zu den zugehörigen Datenkanälen 21, 31 bereit und stellt eine Multiplexfunktion bereit, um jedem angeschlossenen Datenkanal ex-21 von jedem Hostprozessor ex-11 zu ermöglichen, mit einer ausgewählten Clustersteuerung 111 innerhalb der Steuereinheit 101 verbunden zu werden. Die Clustersteuerung 111 selbst stellt zwei Speicherwege 201-0, 201-1 bereit, die als eine Schnittstelle zu einer Mehrzahl von Lichtleiterkanälen des hinteren Endes 104 fungieren. Außerdem enthält die Clustersteuerung 111 eine Datenkompressionsfunktion und eine Datenführungsfunktion, die der Clustersteuerung 111 ermöglicht, die Übertragung von Daten zwischen einem ausgewählten Datenkanal 21 und einem Cachespeicher 113 und zwischen dem Cachespeicher 113 und einem der angeschlossenen Lichtleiterkanäle 104 zu steuern. Die Steuereinheit 101 stellt die Hauptsteuerfunktionen des Datenspeichersubsystems bereit, die die Schaffung und Steuerung von Datenredundanzgruppen, die Rekonstruktion von Daten für ein ausgefallenes Plattenlaufwerk, das Schalten eines Reserveplattenlaufwerks an die Stelle eines ausgefallenen Plattenlaufwerks, die Datenredundanzerzeugung, die Platzverwaltung der logischen Einheiten und das Abbilden virtueller Einheiten in logische Einheiten umfassen. Diese Subsystemfunktionen werden unten im einzelnen erörtert.
  • Der Plattenlaufwerksmanager 102-1 verbindet die Mehrzahl in der Plattenlaufwerksuntergruppe 103-1 enthaltener Gebrauchsplattenlaufwerke 122-1 bis 122-r mit der Mehrzahl von Lichtleiterkanälen des hinteren Endes 104. Der Plattenlaufwerksmanager 102-1 umfaßt eine Eingabe/Ausgabe-Schaltung 120, die eine HardwareschnittBtelle bereitstellt, um die Lichtleiterkanäle 104 mit den Datenwegen 126 zu verbinden, die den Steuer- und Treiberschaltungen 121 dienen. Die Steuer- und Treiberschaltungen 121 empfangen die Daten auf Leitern 126 von der Eingabe/Ausgabe-Schaltung 120 und wandeln die Form und das Format dieser Signale wie durch die zugehörigen Gebrauchsplattenlaufwerke in der Plattenlaufwerksuntergruppe 103-1 verlangt um. Außerdem stellen die Steuer- und Treiberschaltungen 121 eine Steuersignalschnittstelle bereit, um Signale zwischen der Plattenlaufwerksuntergruppe 103-1 und der Steuereinheit 101 zu übertragen.
  • Die Daten, die auf die Plattenlaufwerke in der Plattenlaufwerksuntergruppe 103-1 geschrieben werden, bestehen aus Daten, die von einem zugehörigen Hostprozessor 11 über den Datenkanal 21 an eine der Clustersteuerungen 111, 112 in der Steuereinheit 101 gesendet werden. Die Daten werden z.B. in die Clustersteuerung 111 geschrieben, die die Daten im Cache 113 speichert. Die Clustersteuerung 111 speichert N physikalische Spuren von Daten im Cache 113 und erzeugt dann M Redundanzsegmente für Fehlerkorrekturzwecke. Die Clustersteuerung 111 wählt dann eine Untergruppe von Plattenlaufwerken (122-1 bis 122-n+m) aus, um eine Redundanzgruppe zum Speichern der empfangenen Daten zu bilden. Die Clustersteuerung 111 wählt in der ausgewählten Redundanzgruppe eine leere logische Spur aus, die aus N+M physikalischen Spuren besteht. Jede der N physikalischen Spuren der Daten wird auf eines von N Plattenlaufwerken in der ausgewählten Redundanzgruppe geschrieben. Weitere M Plattenlaufwerke werden in der Redundanzgruppe benutzt, um die M Redundanzsegmente zu speichern. Die M Redundanzsegmente umfassen Fehlerkorrekturzeichen und Daten, die benutzt werden können, die Integrität der auf den N Plattenlaufwerken gespeicherten N physikalischen Spuren zu verifizieren und eine oder mehr der N physikalischen Datenspuren zu rekonstruieren, wenn diese physikalische Spur infolge eines Fehlers des Plattenlaufwerks, auf dem diese physikalische Spur gespeichert ist, verloren wurde.
  • Das Datenspeichersubsystem 100 kann somit ein oder mehr Plattenlaufwerke großer Formzahl (z.B. ein Plattenlaufwerk des Typs IBM 3380K) unter Verwendung einer Mehrzahl von Plattenlaufwerken kleinerer Formzahl emulieren, während hohe Zuverlässigkeit bereitgestellt wird, indem die Daten über eine Mehrzahl von Plattenlaufwerken kleinerer Formzahl geschrieben werden. Eine Verbesserung der Zuverlässigkeit wird auch erhalten, indem ein Pool von R Sicherungsplattenlaufwerken (125-1 bis 125-r) bereitgestellt wird, die anstelle eines ausgefallenen Plattenlaufwerks schaltbar verbindbar sind. Die Datenrekonstruktion wird durch die Verwendung der M Redundanzsegmente zustandegebracht, so daß die in den restlichen funktionierenden Plattenlaufwerken gespeicherten Daten zusammen mit der in den Redundanzsegmenten gespeicherten Redundanzinformation von Steuersoftware in der Steuereinheit 101 verwendet werden können, um die Daten zu rekonstruieren, die verlorengehen, wenn ein oder mehr der Mehrzahl von Plattenlaufwerken in der Redundanzgruppe (122-1 bis 122-n+m) ausfallen. Diese Anordnung liefert ein Zuverlässigkeitsvermögen ähnlich dem, das durch Anordnungen mit Schattenplatten erreicht wird, zu verglichen mit einer solchen Anordnung bedeutend verringerten Kosten.
  • Plattenlaufwerk
  • Jedes der Plattenlaufwerke 122-1 bis 125-r in der Plattenlaufwerksuntergruupe 130-1 kann als ein Plattensubsystem angesehen werden, das aus einem Plattenantriebsmechanismus und seinen umgebenden Steuer- und Schnittstellenschaltungen besteht. Das Plattenlaufwerk besteht aus einem Gebrauchsplattenlaufwerk, das ein käufliches Festplattenlaufwerk des Typs ist, der typischerweise in Personalcomputern verwendet wird. Ein mit dem Plattenlaufwerk verbundener Computerprozessor hat die Steuerverantwortung für das ganze Plattenlaufwerk und überwacht alle Information, die über die verschiedenen seriellen Datenkanäle geführt wird, die jedes Plattenlaufwerk 122-1 bis 125-r mit den Steuer- und Treiberschaltungen 121 verbinden. Alle über diese Kanäle zu dem Plattenlaufwerk übertragenen Daten werden in einem entsprechenden Schnittstellenpuffer gespeichert, der über einen zugehörigen seriellen Datenkanal mit einer entsprechenden Seriell/Parallel-Umwandlungsschaltung verbunden ist. Ein Plattencontroller wird ebenfalls in jedem Plattenlaufwerk bereitgestellt, um die vom Gebrauchsplattenlaufwerk benötigte elektrische Niedrigpegel-Schnittstelle zu implementieren. Das Gebrauchsplattenlaufwerk besitzt eine ESDI-Schnittstelle, die mit den Steuer- und Treiberschaltungen 121 verbunden werden muß. Der Plattencontroller stellt diese Funktion zur Verfügung. Der Plattencontroller stellt die Serialisierung und Deserialisierung von Daten, die CRC/ECC-Generierung, die Prüfung und Korrektur und die NRZ-Datencodierung bereit. Die Adressierungsinformation, z.B. das Kopfwahlsignal und andere Arten von Steuersignalen, werden durch die Steuer- und Treiberschaltungen 121 dem Gebrauchsplattenlaufwerk 122-1 zur Verfügung gestellt. Dieser Kommunikationsweg wird auch für Diagnose- und Steuerzwecke bereitgestellt. Die Steuer- und Treiberschaltungen 121 können z.B. ein Gebrauchsplattenlaufwerk abschalten, wenn das Plattenlaufwerk im Bereitschaftsmodus ist. Auf diese Weise bleibt das Gebrauchsplattenlaufwerk in einem Leerlaufzustand, bis es von den Steuer- und Treiberschaltungen 121 ausgewählt wird.
  • Steuereinheit
  • Fig. 2 zeigt in Blockschaltbildform weitere Einzelheiten der Clustersteuerung 111. Der Mehrweg-Speicherdirektor 110 umfaßt eine Mehrzahl von Kanalschnittstelleneinheiten 201-0 bis 201-7, von denen jede ein entsprechendes Paar von Datenkanälen 21, 31 abschließt. Die von der entsprechenden Kanalschnittstelleneinheit 201-0 empfangenen Steuer- und Datensignale werden auf einem der entsprechenden Steuer- und Datenbusse 206-C, 206-D oder 207-C, 207-D an entweder den Speicherweg 200-0 oder den Speicherweg 200-1 ausgegeben. Wie aus dem in Fig. 2 gezeigten Aufbau der Clustersteuerung 111 zu sehen ist, gibt es eine bedeutsame Menge darin enthaltener Symmetrie. Der Speicherweg 200-0 ist identisch mit dem Speicherweg 200-1, und nur einer von diesen wird hierin beschrieben. Der Mehrweg-Speicherdirektor 110 benutzt zwei Sätze von Daten- und Steuerbussen 206-D, C und 207-DU C, um jede Kanalschnittstelleneinheit 201-0 bis 201-7 mit beiden Speicherwegen 200-0 und 200-1 zu verbinden, so daß der entsprechende Datenkanal 21 von dem zugehörigen Hostprozessor 11 entweder über den Speicherweg 200-0 oder 200-1 auf die Mehrzahl von Lichtleiterkanälen des hinteren Endes 104 geschaltet werden kann. Im Speicherweg 200-0 ist ein Prozessor 204-0 enthalten, der den Betrieb des Speicherwegs 200-0 regelt. Außerdem wird eine optische Geräteschnittstelle 205-0 bereitgestellt, um zwischen dem Lichtleitersignalformat der Lichtleiterkanäle 104 und den im Speicherweg 200-0 enthaltenen metallischen Leitern umzuwandeln. Die Kanalschnittstellensteuerung 202-0 arbeitet unter Steuerung des Prozessors 204-0, um den Datenfluß zum und vom Cachespeicher 113 und eine der Kanalschnittstelleneinheiten 201 zu steuern, die momentan mit dem Speicherweg 200-0 aktiv ist. Die Kanalschnittstellensteuerung 202-0 umfaßt einen zyklischen Redundanzprüf- (CRC) Generator/Prüfer, um die CRC-Bytes für die empfangenen Daten zu erzeugen und zu prüfen. Die Kanalschnittstellenschaltung 202-0 umfaßt außerdem einen Puffer, der die Geschwindigkeitsfehlanpassung zwischen der Datenübertragungsrate des Datenkanals 21 und dem vorhandenen Datenübertragungsvermögen des Cachespeichers 113 ausgleicht. Die Daten, die durch die Kanalschnittstellenschaltung 202-0 von einer entsprechenden Kanalschnittstellenschaltung 201 empfangen werden, werden über die Kanaldatenkompressionsschaltung 203-0 an den Cachespeicher 113 weitergeleitet. Die Kanaldatenkompressionsschaltung 203-0 stellt die benötigte Hardware und den Mikrocode bereit, um die Kompression der Kanaldaten der Steuereinheit 101 bei einer Datenschreibung des Hostprozessors durchzuführen. Sie führt außerdem die erforderliche Dekompressionsoperation für die Steuereinheit 101 bei einer Datenleseoperation durch den Hostprozessor 11 durch.
  • Wie aus dem in Fig. 2 gezeigten Aufbau zu sehen ist, werden alle Datenübertragungen zwischen einem Hostprozessor 11 und einer Redundanzgruppe in den Plattenlaufwerksuntergruppen 103 durch den Cachespeicher 113 geführt. Die Steuerung des Cachespeichers 113 wird in der Steuereinheit 101 durch den Prozessor 204-0 bereitgestellt. Die durch den Prozessor 204-0 bereitgestellten Funktionen umfassen die Initialisierung des Cacheverzeichnisses und anderer Cachedatenstrukturen, die Cacheverzeichnissuche -verwaltung, die Cacheplatzverwaltung, Verbesserungsalgorithmen der Cacheleistung sowie andere Cachesteuerfunktionen. Des weiteren erzeugt der Prozessor 204-0 die Redundanzgruppen aus den Plattenlaufwerken in den Plattenlaufwerksuntergruppen 103 und unterhält Aufzeichnungen über den Status dieser Geräte. Der Prozessor 204-0 bewirkt außerdem, daß die Redundanzdaten über die N Datenplatten in einer Redundanzgruppe innerhalb des Cachespeichers 113 erzeugt werden, und schreibt die M Segmente von Redundanzdaten auf die M Redundanzplatten in der Redundanzgruppe. Die Funktionssoftware im Prozessor 204-0 verwaltet auch die Zuordnungen von virtuellen zu logischen und von logischen zu physikalischen Geräten. Die Tabellen, die diese Zuordnung beschreiben, werden durch diese Funktionssoftware des Prozessors 204-0 aktualisiert, unterhalten, gesichert und gelegentlich zurückgewonnen. Die Freiplatzsammelfunktion wird ebenfalls vom Prozessor 204-0 durchgeführt sowie die Verwaltung und Planung der Lichtleiterkanäle des hinteren Endes 104. Viele dieser obigen Funktionen sind in der Datenverarbeitungstechnik allgemein bekannt und werden hierin nicht im einzelnen beschrieben.
  • Dynamische Zuordnung virtueller Geräte zu logischen Geräten
  • Was Datenübertragungsoperationen angeht, gehen alle Datenübertragungen durch den Cachespeicher 113. Frontende- oder Kanalübertragungsoperationen sind daher vollkommen unabhängig von Rückende- oder Geräteübertragungsoperationen. Bei diesem System sind Staging-Operatinen ähnlich dem Staging in anderen Plattensubsystemen mit Chachespeicher, aber Destaging-Übertragungen werden für Massenübertragungen in Gruppen gesammelt. Außerdem führt dieses Datenspeichersubsystem 100 die Freiplatzsammlung, das Aktualisieren der Zuordnungstabelle und die Fehlererholung gleichzeitig als Hintergrundprozesse durch. Wegen der vollständigen Trennung von vorderem und hinterern Ende wird das Datenspeichersubsystem 100 von den anspruchsvollen Prozessortimingabhängigkeiten früherer Count-Key-Datenplattensubsysteme befreit. Das Subsystem ist frei, seine Verarbeitungsresourcen der Leistungserhöhung durch intelligentere Planung und Datenübertragungssteuerung zu widmen.
  • Das Datenspeichersubsystem mit paralleler Plattenlaufwerksanordnung 100 umfaßt drei abstrakte Schichten: virtuell, logisch und physikalisch. Die virtuelle Schicht fungiert als ein herkömmlicher Plattenspeicher großer Formzahl. Die logische Schicht fungiert als eine Anordnung von Speichereinheiten, die zu einer Mehrzahl von Redundanzgruppen (z.B. 122-1 bis 122-n+m) gruppiert sind, die je N+M Plattenlaufwerke enthalten, um N physikalische Datenspuren und M physikalische Spuren von Redundanzinformation für jede logische Spur zu speichern. Die physikalische Schicht fungiert als eine Mehrzahl einzelner Plattenlaufwerke kleiner Formzahl. Das Datenspeicherverwaltungssystem arbeitet, um das Abbilden von Daten unter dieaen abstrakten Schichten durchzuführen und die Zuweisung und die Verwaltung des tatsächlichen Platzes auf den physikalischen Geräten zu steuern. Diese Datenspeicherverwaltungsfunktionen werden in einer Weise durchgeführt, die die Operation des Datenspeichersubsystems mit paralleler Plattenlaufwerksanordnung 100 für die Hostprozessoren (11-12) transparent macht.
  • Eine Redundanzgruppe besteht aus N+M Plattenlaufwerken. Die Redundanzgruppe wird auch logischer Datenträger oder logisches Gerät genannt. In jedem logischen Gerät gibt es eine Mehrzahl logischer Spuren, von denen jede der Satz aller physikalischen Spuren in der Redundanzgruppe ist, die dieselbe physikalische Spuradresse besitzen. Diese logischen Spuren werden außerdem in logische Zylinder organisiert, von denen jeder die Ansammlung aller logischen Spuren innerhalb einer Redundanzgruppe ist, auf die bei der Stellung eines gemeinsamen logischen Betätigers zugegriffen werden kann. Ein Datenspeichersubsystem mit paralleler Laufwerksanordnung 100 erscheint dem Hostprozessor wie eine Ansammlung von Plattenlaufwerken großer Formzahl, von denen jedes eine vorbestimmte Anzahl Spuren einer vorbestimmten Größe, genannt virtuelle Spur, enthält. Wenn der Hostprozessor 11 Daten über den Datenkanal 21 an das Datenspeichersubsystemm 100 sendet, werden daher die Daten in der Form der einzelnen Sätze einer virtuellen Spur gesendet. Um den Betrieb des Datenspeichersubsystems mit paralleler Laufwerksanordnung 100 für den Hostprozessor 11 transparent zu machen, werden die empfangenen Daten auf den wirklichen physikalischen Plattenlaufwerken (122-1 bis 122-n+m) in der Form von virtuellen Spurbeispielen gespeichert, die die Kapazität einer Spur auf dem Plattenlaufwerk großer Formzahl, das durch das Datenspeichersubsystem 100 emuliert wird, widerspiegeln. Obwohl ein virtuelles Spurbeispiel von einer physikalischen Spur in die nächste physikalische Spur überlaufen kann, wird einem virtuellen Spurbeispiel nicht erlaubt, von einem logischen Zylinder in einen anderen überzulaufen. Dies wird gemacht, um die Verwaltung des Speicherplatzes zu vereinfachen.
  • Wenn eine virtuelle Spur durch den Hostprozessor 11 modifiziert wird, wird das aktualisierte Beispiel der virtuellen Spur im Datenspeichersubsystem 100 nicht an seiner ursprünglichen Stelle neu geschrieben, sondern wird stattdessen in einen neuen logischen Zylinder geschrieben, und das vorherige Beispiel der virtuellen Spur wird als überholt markiert. Mit der Zeit wird daher ein logischer Zylinder mit "Löchern" überholter Daten, bekannt als freier Platz, durchlöchert. Um ganze freie logische Zylinder zu schaffen, werden virtuelle Spurbeispiele, die noch gültig sind und sich unter fragmentiertem freien Platz innerhalb eines logischen Zylinders befinden, innerhalb des Datenspeichersubsystems 100 umgelagert, um gänzlich freie logische Zylinder zu schaffen. Um die Datenübertragungsaktivität gleichmäßig zu verteilen, werden die Spuren jedes virtuellen Gerätes so gleichmäßig wie möglich unter den logischen Geräten im Datenspeichersubsystem 100 gestreut. Außerdem werden virtuelle Spurbeispiele wenn nötig aufgebauscht, um in eine ganzzahlige Anzahl phsikalischer Gerätesektoren zu passen. Dies ist, um sicherzustellen, daß jedes virtuelle Spurbeispiel an einer Sektorgrenze des physikalischen Gerätes beginnt.
  • Zuordnungstabellen
  • Es ist erforderlich, die Stelle aller Daten innerhalb des Datenspeichersubsystems mit paralleler Laufwerksanordnung 100 genau aufzuzeichnen, da die von den Hostprozessoren 11-12 empfangenen Daten von ihrer Adresse im virtuellen Raum in eine physikalische Stelle im Subsystem in einer dynamischen Weise abgebildet werden. Eine Zuordnungstabelle, die das virtuelle Spurverzeichnis einschließt, wird unterhalten, um die Stelle des momentanen Beispiels jeder virtuellen Spur im Datenspeichersubsystem 100 zurückzurufen. Das virtuelle Spurverzeichnis besteht aus einem Eintrag für jede virtuelle Spur, die der zugehörige Hostprozessor 11 adressieren kann. Der Eintrag enthält die logische Sektoradresse, bei der das virtuelle Spurbeispiel beginnt. Der Eintrag des virtuellen Spurverzeichnisses enthält außerdem Daten, die die Länge des virtuellen Spurbeispiels in Sektoren angeben. Das virtuelle Spurverzeichnis wird in nicht durchgehenden Stücken im Cachespeicher 113 gespeichert und wird über Zeiger in einer virtuellen Gerätetabelle indirekt adressiert. Das virtuelle Spurverzeichnis wird jedesmal aktualisiert, wenn ein neues virtuelles Spurbeispiel auf die Plattenlaufwerke geschrieben wird.
  • Die Speichersteuerung umfaßt auch ein Freiplatzverzeichnis (Fig. 9), das eine Liste aller logischen Zylinder im Datenspeichersubsystem 100 geordnet nach logischen Geräten ist. Jedes logische Gerät wird in einer Liste, genannt Freiplatzliste, für das logische Gerät katalogisiert. Jeder Listeneintrag stellt einen logischen Zylinder dar und und gibt die Menge an freiem Platz an, den dieser logische Zylinder momentan enthält. Dieses Freiplatzverzeichnis enthält einen Positionseintrag für jeden logischen Zylinder; jeder Eintrag umfaßt sowohl Vorwärts- und Rückwärtszeiger für die doppelt verbundene Freiplatzliste seines logischen Gerätes als auch die Anzahl in dem logischen Zylinder enthaltener freier Sektoren. Jeder dieser Zeiger zeigt entweder auf einen weiteren Eintrag in der Freiplatzliste seines logischen Gerätes oder ist null. Das Sammeln von freiem Platz ist ein Hintergrundprozeß, der im Datenspeichersubsystem 100 implementiert ist. Der Freiplatzsammelprozeß macht Gebrauch von dem logischen Zylinderverzeichnis, das eine im ersten Sektor jedes logischen Zylinders enthaltene Liste ist, die den Inhalt dieses logischen Zylinders angibt. Das logische Zylinderverzeichnis enthält einen Eintrag für jedes in dem logischen Zylinder enthaltene virtuelle Spurspeispiel. Der Eintrag für jedes virtuelle Spurspeispiel enthält den Identifizierer des virtuellen Spurspeispiels und den Identifizierer des relativen Sektors innerhalb des logischen Zylinders, in dem das virtuelle Spurbeispiel beginnt. Von diesem Verzeichnis und dem virtuellen Spurverzeichnis kann der Freiplatzsammelprozeß bestimmen, welche virtuellen Spurbeispiele in diesem logischen Zylinder noch gegenwärtig sind und daher zu einer anderen Stelle bewegt werden müssen, um den logischen Zylinder zum Schreiben neuer Daten verfügbar zu machen.
  • Freiplatzsammlung
  • Wenn Daten im Cachespeicher 113 modifiziert werden, können sie nicht an ihre vorherige Stelle auf einem Plattenlaufwerk in den Plattenlaufwerksuntergruppen 103 zurückgeschrieben werden, da dieses die Redundanzinformation auf dieser logischen Spur der Redundanzgruppe ungültig machen würde. Sobald eine virtuelle Spur aktualisiert worden ist, muß daher die Spur an eine neue Stelle im Datenspeichersubsystem 100 geschrieben werden, und die Daten an der vorherigen Stelle müssen als freier Platz markiert werden. In jeder Redundanzgruppe werden daher die logischen Zylinder mit "Löchern", von überholten Daten in der Form von virtuellen Spurbeispielen durchlöchert, die als überholt markiert sind. Um logische Zylinder zum Destaging vollständig zu leeren, müssen die gültigen Daten in teilweise gültigen Zylindern in den Cachespeicher 113 gelesen und in neue vorher geleerte logische Zylinder zurückgeschrieben werden. Dieser Prozeß wird Freiplatzsammlung genannt. Das sofortige Freigeben gelöschter Dateien erhöht die Leistung des Freiplatzsammelprozesses, da gelöschte Dateien nicht in neuen logischen Zylindern gesammelt werden. Es ist folglich offenkundig, daß eine rechtzeitige Freigabe gelöschter Datensätze ein wichtiger Prozeß in diesem Datenspeichersubsystem ist, da sie das Overhead der Freiplatzsammlung in dem Subsystem verringert.
  • Die Freiplatzsammelfunktion wird durch die Steuereinheit 101 durchgeführt. Die Steuereinheit 101 wählt einen logischen Zylinder, der gesammelt werden muß, als Funktion davon aus, wie viel freien Platz er enthält. Die Freiplatzbestimmung basiert auf dem in Fig. 9 gezeigten Freiplatzverzeichnis, das die Verfügbarkeit von unbenutztem Speicher im Datenspeichersubsystem 100 angibt. Die in Fig. 9 gezeigte Tabelle ist eine Auflistung aller im Datenspeichersubsystem 100 enthaltenen logischen Geräte und der Identifikation jedes der darin enthaltenen logischen Zylinder. Die Einträge in dieser Tabelle stellen die Anzahl freier physikalischer Sektoren in diesem einzelnen Zylinder dar. Ein Schreibcursor wird im Speicher unterhalten, und dieser Schreibcursor zeigt den verfügbaren, offenen logischen Zylinder an, in den die Steuereinheit 101 schreiben wird, wenn Daten nach Modifikation durch den zugehörigen Hostprozessor 11-12 oder als Teil eines Freiplatzsammelprozesses vom Cache 113 abgegeben werden. Außerdem wird ein Freiplatzsammelcursor unterhalten, der auf den momentanen logischen Zylinder zeigt, der als Teil eines Freiplatzsammelprozesses freigemacht wird. Die Steuereinheit 101 kann daher das in Fig. 9 gezeigte Freiplatzverzeichnis als ein Rückendeprozeß durchgehen, um zu bestimmen, welcher logische Zylinder auf einem logischen Gerät den größten Nutzen aus der Freiplatzsammlung ziehen würde. Die Steuereinheit 101 aktiviert den Freiplatzsammelprozeß, indem sie alle gültigen Daten von dem ausgewählten logischen Zylinder in den Cachespeicher 113 liest. Der logische Zylinder wird dann als völlig leer aufgeführt, da alle virtuellen Spurbeispiele darin als überholt markiert sind. Zusätzliche logische Zylinder werden zu Freiplatzsammelzwecken gesammelt oder, wenn Daten von einem zugehörigen Hostprozessor 11-12 empfangen werden, bis ein ganzer logischer logischer Zylinder gefüllt worden ist. Sobald ein ganzer logischer Zylinder gefüllt worden ist, wird ein neuer vorher geleerter logischer Zylinder gewählt.
  • Fig. 10 zeigt in Flußdiagrammform die vom Prozessor 204 vorgenommenen Operationsschritte, um den Freiplatzsammelprozeß durchzuführen. Der Grundprozeß wird in Schritt 1001 eingeleitet, wenn der Prozessor 204 einen logischen Zylinder (LC) zum Sammeln basierend auf der Anzahl freier logischer Sektoren, wie in der Freiplatzverzeichnistabelle von Fig. 9 aufgeführt, auswählt.
  • In Schritt 1002 liest der Prozessor 204 das logische Zylinderverzeichnis des Zylinders, der in Schritt 1001 ausgewählt wurde. In Schritt 1003 liest dann der Prozessor 204 die logische Adresse aus dem virtuellen Spurverzeichnis- (VTD) Eintrag für jede virtuelle Spuradresse, die in dem gelesenen logischen Zylinderverzeichnis enthalten ist. In Schritt 1004 wird, wenn der VTD-Eintrag einen Cachezeiger enthält, die logische Adresse aus dem Cacheverzeichnis gelesen, wohin sie während des Staging-Prozesses verschoben wurde. In Schritt 1005 vergleicht der Prozessor 204 die logische Adresse, die im virtuellen Spurverzeichniseintrag gespeichert wurde, mit der logischen Adresse, die im logischen Zylinderverzeichnis gespeichert wurde. Wenn diese zwei Adressen nicht übereinstimmen, zeigt dies an, daß das Spurbeispiel ungültig ist, und in Schritt 1012 stellt der Prozessor fest, daß das Spurbeispiel nicht gültig ist, verschiebt dieses Spurbeispiel nicht und geht zu Schritt 1013.
  • Wenn der Prozessor 204 in Schritt 1005 feststellt, daß die im virtuellen Spurbezeichner gespeicherte virtuelle Adresse mit der im logischischen Zylinderverzeichnis gespeicherten virtuellen Adresse übereinstimmt, wird in Schritt 1006 das virtuelle Spurbeispiel in eine vorbestimmte Stelle im Cachespeicher 113 geladen. In Schritt 1007 läßt der Prozessor 204 den logischen Zeiger im virtuellen Spurbezeichner und lädt in Schritt 1008 das virtuelle Spurbeispiel in die Plattenlaufwerksuntergruppe 103 ab, die den durch diesen Freiplatzsammelprozeß benutzten logischen Zylinder enthält. In Schritt 1009 stellt der Prozessor 204 fest, ob der virtuelle Spurbezeichner einen Cachezeiger enthält. Wenn nicht, aktualisiert der Prozessor 204 in Schritt 1011 den virtuellen Spurbezeichner und geht zu Schritt 1013. Wenn der virtuelle Spurbezeichner einen Cachezeiger enthält, aktualisiert der Prozessor 204 in Schritt 1010 das Cacheverzeichnis und geht zu Schritt 1013. In Schritt 1013 aktualisiert der Prozessor 204 das Freiplatzverzeichnis, um anzuzeigen, daß der gesammelte Zylinder jetzt ein freier Zylinder ist, der für Datenspeicherzwecke verfügbar ist, und die vorher darin enthaltenen Daten in einem bezeichneten logischen Zylinder gesammelt worden sind und die geeigneten Zuordnungstabelleneinträge aktualisiert worden sind.
  • Speicherzuordnung
  • Fig. 3 zeigt verschiedene in dem dynamisch abbildenden virtuellen Datenspeichersubsystem 100 enthaltene begriffliche Elemente, die für den Prozeß der Freigabe gelöschten Dateiraumes von Bedeutung sind. Auf der linken Seite von Fig. 3 wird ein Bild eines durch das Datenspeichersubsystem 100 emulierten virtuellen DASD-Datenträgers gezeigt. Fig. 3 zeigt auch die Steuereinheit 101 mit einer Zuordnungstabelle 401 (im Cache 113 enthalten). Fig. 3 zeigt weiter eine Mehrzahl logischer Datenträger 209-0 bis 209-m, die den Redundanzgruppen (122-1 bis 122-n+m, 124-1 bis 124-n+m) von Fig 1 entsprechen. Die Eigenarten der logischen Geräte 209 sind für den Hostprozessor 11 unsichtbar, der annimmt, daß er mit einem physikalischen DASD-Gerät verbunden ist, und nur mit den vom virtuellen DASD-Datenträger 109 verwendeten virtuellen Adressen arbeitet. Die Steuereinheit 101 übersetzt virtuelle Adressen in die von den Geräten 209 verwendeten logischen Adressen.
  • Fig. 3 zeigt den unformatierten Zustand des emulierten virtuellen DASD-Datenträgers 109, mit dem der Hostprozessor 11 beim Schreiben und Lesen von Daten zu kommunizieren glaubt. Der durch Fig. 3 dargestellte Systemzustand zeigt den Zustand, in dem sich der virtuelle DASD-Datenträger 109 vor der Zeit befindet, wo Daten oder Information auf den virtuellen Datenträger geschrieben werden. In diesem Zustand enthält jede Spur des virtuellen Datenträgers nur ein Heimatadressenfeld HA und ein Feld R0 für den Satz 0, wie in der Technik bekannt ist. Die logischen Datenträger 290-0 bis 209-m sind zu dieser Zeit frei von Information.
  • Fig. 4 zeigt den nächsten Schritt in dem typischen Prozeß zum Vorbereiten eines virtuellen DASD-Datenträgers 109 und der logischen Datenträger 209 für die Speicherung von Daten. Die Spur TRK0 des virtuellen DASD-Datenträgers 109 enthält dieselben HA- und R0-Felder wie der virtuelle DASD-Datenträger 109 von Fig. 3. Außerdem enthält der virtuelle DASD-Datenträger 109 von Fig. 4 jetzt die Felder R1, R2 und R3 in Zylinder 0 Spur TRK0. Diese Felder umfassen das Datenträgerlabel, das in der Technik bekannt ist und verschiedenartige Overheadinformation für den virtuellen Datenträger enthält. Diese Datenträgerlabelinformation umfaßt den Satz R3, der Information betreffend das VTOC enthält, das als in Spur 1 von Zylinder 0 enthalten gezeigt wird, obwohl das VTOC irgendwo auf dem virtuellen Datenträger 109 anders als in Spur TRK0 gespeichert werden kann. Das einzige, was man verstehen muß, ist, daß der VTOC-Datensatz sich irgendwo auf dem virtuellen Datenträger 109 anders als in Spur TRK0 befinden kann und daß der Satz R3 des Datenträgerlabels Information betreffend den Aufenthaltort des VTOC-Datensatzes auf dem Datenträger enthält.
  • Da die logischen Datenträger 209 dieselbe Information speichern müssen wie sie im emulierten virtuellen Datenträger 109 enthalten sein würde, wird die Datenträgerlabelinformation z.B. in Zylinder 0 Spur 0 des auf der rechten Seite von Fig. 4 gezeigten logischen Gerätes 209-0 aufgezeichnet. Die logische Adresse der Datenträgerlabelinformation wird in die Stelle 401-0 der Zuordnungstabelle 401 geschrieben, die ein adressierbarer Speicher ist und im Cache 113 gespeichert wird. Der Zuordnungstabellenspeicher 401 übersetzt zwischen der virtuellen Datenträgeradresse und der entsprechenden logischen Datenträgeradresse jeder logischen Spur. Dies ermöglicht dem logischen DASD-System, einen Befehl vom Hostprozessor 11, der die virtuelle Speicheradresse einer Datei spezifiziert, zu empfangen und die vom Hostprozessor 11 verlangte Lese- oder Schreiboperation auszuführen. Als Reaktion auf den Empfang eines solchen Befehls legt die Steuereinheit 101 die empfangene virtuelle Adresseninformation an die Zuordnungstabelle 401 an, um die entsprechende logische Adresse zu bestimmen.
  • Wenn der Hostprozessor 11 einen Befehl ausgibt, um die Datenträgerlabelinformation auf den virtuellen Datenträger 109 zu schreiben, schreibt die Steuereinheit 101 Daten in das Feld 401-0, die die Stelle der Datenträgerlabelinformation des virtuellen Datenträgers 109 in den logischen Datenträgern 209 angeben. Wie in Fig. 4 gezeigt, bestimmt die Steuereinheit 101, daß die Datenträgerlabelinformation des virtuellen Datenträgers 109 in Zylinder 0 Spur 0 des logischen Datenträgers 209-0 einzutragen ist. Die Adressenübersetzungsinformation des virtuellen VTOC wird in die Stelle 401-1 der Zuordnungstabelle 401 geschrieben, die zeigt, daß das virtuelle VTOC in CYL5 TRK5 von Gerät 209-1 ist. Das VTOC wird in Verbindung mit Fig. 5 ausführlicher beschrieben.
  • VTOC-Datei
  • Fig. 5 zeigt weitere Einzelheiten der VTOC-Datei des virtuellen Datenträgers 109. Die VTOC-Datei wird als in Spur TRK1 des virtuellen Datenträgers 109 enthalten gezeigt. Die Datenträgerlabelinformation kann als in Spur TRK0 des virtuellen Datenträgers 109 angenommen werden, wie in Fig. 4, obwohl sie in Fig. 5 nicht gezeigt wird. Die VTOC- Datei von Fig. 5 enthält drei mit R1, R2 und R3 bezeichnete Sätze. Der Satz R1 ist vom Formattyp 4 und beschreibt, wie in der Technik bekannt ist, die Größe und den Inhalt des VTOC und stellt Datenträger- und Gerätemerkmale bereit. Es gibt einen Eintrag im Format 4 auf jedem virtuellen Datenträger, und die virtuelle Adresse dieses Satzes R1 wird im Satz R3 des Datenträgerlabels gefunden. Der Eintrag im Satz R1 des VTOC gibt auch die Zylinder- und Kopfnummer- (CCHH) Information an, die Anfang und Ende der VTOC-Datei spezifiziert.
  • Der Satz R2 der VTOC-Datei ist vom Formattyp 5 und enthält Freiplatzinformation des virtuellen Datenträgers. Für ein nicht-indexiertes VTOC beschreibt dieser Satz den Speicherplatz auf dem virtuellen Datenträger 109, der keiner Datendatei zugewiesen worden ist. Es kann eine Mehrzahl von Einträgen im Format 5 geben, und der erste derartige Eintrag im Format 5 auf dem Datenträger (VTOC) ist immer der zweite Dateisteuerblock (DSCB) des VTOC.
  • Der virtuelle Datenträger 109 von Fig. 5 wird auch mit einer in Spur TRK2 aufgezeichneten ersten Datei DSN1 gezeigt. Die Spuren TRK3 bis TRK5 und höher sind noch leer. Information betreffend die Datei DSN1 wird im VTOC-Satz R3 gespeichert, der vom Formattyp 1 ist. Dieser Satz R3 beschreibt die ersten drei Bereiche der Datei, und es gibt einen R3-Satzeintrag für jede Datei auf dem Datenträger, außer für das VTOC selbst. Der Satz R3 enthält Information, die Zylindernummer und Kopfnummer sowohl für den Anfang als auch das Ende der Datei DSN1 spezifiziert. Ein R3-Satz ist vom Formattyp 0, wenn in diesem Satz keine Datei aufgezeichnet ist.
  • Fig. 6 ist ähnlich Fig. 6 außer, daß die Dateien DSN2 und DSN3 in den virtuellen Datenträger 109 geschrieben worden sind. Der Hostprozessor 11 glaubt, daß der virtuelle Datenträger 109 jetzt das Datenträgerlabel in Spur TRK0, die VTOC-Datei in Spur TRK1, die Datei DSN1 in Spur TRK2 und die Dateien DSN2 und DSN3 in den Spuren TRK3 und TRK4 enthält. Die Steuereinheit 101 reagiert auf jeden von den Hostprozessoren 11, 12 empfangenen Befehl zum Schreiben der virtuellen Spuren TRK0 bis TRK4 und schreibt die entsprechenden Dateien in die logischen Datenträger 209. Die Einträge der Zuordnungstabelle 401 geben an, wo die virtuellen Datenträgereinträge in den logischen Datenträgern 209 gespeichert werden. Die Datenträgerlabelinformation der virtuellen Spur TRK0 ist im Zylinder 0 Spur 0 des logischen Gerätes 0. Die VTOC- Datei ist im Zylinder 5 Spur 5 des logischen Gerätes 1. Die Datei DSN1 ist im Zylinder 8 Spur 3 des logischen Gerätes 3, und die Datei DSN3 ist im Zylinder 10 Spur 4 des logisches Gerätes 0.
  • Die Zuordnungstabelle 401 und die logischen Datenträger 209 ermöglichen dem logischen Datenspeichersubsystem von Fig. 6, unter Steuerung des Hostprozessors 11 und der Steuereinheit 101 zu arbeiten, um auf vom Hostprozesspr 11 erzeugte virtuelle Adressen zu reagieren und Dateien von den logischen Datenträgern 209 zu lesen bzw. darauf zu schreiben. Der Hostprozessor 11 sendet einen Kanalbefehl, der einen virtuellen Adressenparameter enthält, an die Steuereinheit 101, um Zugriff auf eine spezifizierte Datei zu verlangen. Die Steuereinheit 101 empfängt jeden solchen Befehl und legt die empfangene virtuelle Adresse der verlangten Datei an die Zuordnungstabelle 401 an. Die Zuordnungstabelle 401 antwortet mit der entsprechenden logischen Adresse, die die Stelle auf dem logischen Datenträger 209 spezifiziert, in dem die verlangte Datei gespeichert ist. Die Steuereinheit 101 steuert das Zugreifen auf die Datei unter Verwendung der von der Zuordnungstabelle 401 spezifizierten logischen Datenträgeradresse.
  • Die VTOC-Datei des virtuellen Datenträgers 109 enthält die Sätze R1 und R2 sowie die Sätze R3, R4 und R5 im Format 1. Das logische VTOC enthält dieselbe Information. Diese Einträge im Format 1 betreffen die Dateien DSN1, DSN2 bzw. DSN3. Um eine Datei zu lesen, wenn ihre Stelle dem Hostprozessor 11 nicht bekannt ist, wird zuerst das VTOC gelesen, um die virtuelle Adresse der Datei zu erlangen. Danach wird die aus dem Format 1 Feld des VTOC gewonnene Adresseninformation an die Zuordnungstabelle 401 angelegt, um die logische Adresse der Datei zu erlangen. Diese logische Adresseninformation wird von der Steuereinheit 101 verwendet, um die Datei zu lesen oder zu schreiben.
  • Löschen von Dateien durch den Hostprozessor
  • Das im Hostprozessor residente Betriebssystem, z.B. das Betriebssystem IBM MVS, umfaßt eine Softwarekomponente, die das Datenträgerinhaltsverzeichnis des zugehörigen Datenspeichersubsystems 100 unterhält. In der MVS-Umgebung wird diese Softwarekomponente das Direktzugriffsgeräteplatzverwaltungs- (DADSM) Program genannt und reagiert auf Anforderungen von anderen Softwarekomponenten innerhalb des MVS- Betriebssystems und von Anwendungsprogrammen, um auf dem zugehörigen Datenspeichersubsystem 100 Dateien (in der MVS-Umgebung Datensätze genannt) zuzuweisen und zu löschen. Der Zuweisungsprozeß reserviert eine vorbestimmte Menge an Platz auf dem Datenspeichersubsystem 100, um eine Datei darauf zu speichern. Die Datei besteht aus einer Folge von Erweiterungen, von denen jede einer Mehrzahl sequentiell adressierter virtueller Spuren entspricht, wobei jede virtuelle Spur eine Mehrzahl von Datensätzen enthält. Der Löschprozeß löscht eine zuvor gespeicherte Datei aus dem Datenspeichersubsystem 100.
  • Das Flußdiagramm von Fig. 11 und 12 erläutert die im Dateiplatzfreigabeprozeß unternommenen Schritte, um den von gelöschten Dateien im Datenspeichersubsystem 100 belegten Platz freizugeben. Im Betrieb reserviert die DADSM-Softwarekomponente, als Reaktion auf eine Löschanforderung von einem Anwendungsprogramm in Schritt 1201, in Schritt 1202 den virtuellen Datenträger, auf dem die bezeichnete Datei gespeichert ist. Der virtuelle Datenträger wird durch den Hostprozessor 11 reserviert, um ihn vor anderen Hostprozessoren 12 zu schützen, die versuchen, auf die ausgewählte Datei auf dem Datenspeichersubsystem 100 zuzugreifen, während der erste Kostprozessor 11 versucht, diese Datei löschen. Der Hostprozessor 11 sperrt dann in Schritt 1203 das Datenträgerinhaltsverzeichnis ab, was ein Prozeß ist, der davor schützt, daß andere Anwendungsprogramme oder Softwarekomponenten innerhalb desselben Hostprozessors 11 auf die ausgewählte Datei zugreifen. Der Hostprozessor 11 schreibt dann in Schritt 1204 den Dateisteuerblock, der die identifizierte Datei definiert, von einem Format 1 Modus, der anzeigt, daß Daten darin enthalten sind, in einen Format 0 Modus um, der eine leere Datei anzeigt. Außerdem schreibt in Schritt 1205 der Hostprozessor 11 den Format 5 Dateisteuerblock um, der zugewiesenen Platz auf dem virtuellen Datenträger definiert. Durch Umschreiben des Format 5 Dateisteuerblocks fügt der Hostprozessor 11 diese vorher von der gelöschten Datei belegte Folge von physikalischen Erweiterungen der Freiplatzliste im virtuellen Datenträger hinzu. An diesem Punkt wird in Schritt 1206 eine Hostsoftwarekomponente 11A, die Teil der Platzfreigabevorrichtung des Datenspeichersubsystems ist, aktiviert. Diese Hostsoftwarekomponente 11A besteht aus einem normalen Benutzerausgangsaufruf, in der MVS-Softwareumgebung wohlbekannt, der am Ende des Umschreibprozesses des Format 5 Dateisteuerblocks ausgeführt wird. Die Hostsoftwarekomponente 11A sendet ein Kanalprogramm an das Datenspeichersubsystem 100 und empfängt als Reaktion darauf eine Antwort, die anzeigt, daß die ausgewählte Datei aus dem Datenspeichersubsystem 100 gelöscht worden ist. Dieser Nachrichtenaustausch wird unter Verwendung der bestehenden Untermenge von Kanalsteuerwörtern, die in der MVS-Umgebung allgemein bekannt sind, durchgeführt. Diese Kanalsteuerwörter umfassen die Befehle "Erweiterung definieren", "Satz lokalisieren", Daten schreiben" und "CDK lesen". Jedes dieser Kanalbefehlswörter besteht aus Zeigern, die auf zugehörige Parameterlisten oder Daten zeigen, die im Speicher des Hostprozessors 11 gespeichert sind.
  • Fig. 13 zeigt die Kanalprogrammbefehle und Daten, die zwischen der Hostsoftwarekomponente 11A im Hostprozessor 11 und dem Datenspeichersubsystem 100 ausgetauscht werden. In Schritt 1207 sendet die Hostsoftwarekomponente 11A einen Erweiterung-Definieren-Befehl 1301, dessen zugehörige Parameter 1311 Suchadressen (CCHH) xxxxxxxx und yyyyyyyy umfassen, die die Erweiterungen (virtuelle DASD-Spuren) definieren, deren realer Speicher freizugeben ist. In Schritt 1208 sendet die Hostsoftwarekomponente 11A einen Satz-Lokalisieren-Befehl 1302, desssen zugehörige Parameter 1312 einen nicht-berechtigten Befehl darstellen. Diese standard Satz-Lokalisieren-Befehlsparameter werden durch die Kostsoftwarekomponente 11A geändert, um sie durch das Datenspeichersubsystem als eine Nicht-Hostprozessornachricht eindeutig identifizierbar zu machen. Insbesondere gibt es einen zwischen Bit 0 von Byte 1 (Hilfsbyte) und den Bytes 14, 15 (der Übertragungslängenfaktor) erzeugten absichtlichen Widerspruch. Außerdem wird das Suchargument der Bytes 8-11 auf ein vorbestimmtes Muster - C5C3C1D4 - gesetzt. Diese zwei gleichzeitigen Änderungen in den Satz-Lokalisieren- Parametern warnen das Datenspeichersubsystem 100 vor der Hostsoftwarekomponenten- 11A Quelle dieser Befehle. Außerdem enthält das Byte 12 einen Funktionscode (02), der die von der Hostsoftwarekomponente 11A verlangte Operation angibt. Eine Suchadresse zzzzzzzz ist in den Parametern 1312 in den Bytes 4-7 enthalten, wobei die Suchadresse innerhalb der in den Erweiterungen-Definieren-parametern 1311 definierten Erweiterungen liegt. In Schritt 1209 sendet die Hostsoftwarekomponente einen Daten-Schreiben-Befehl 1303, dessen zugehörige Parameter 1313 keine Definitionen enthalten. Als Reaktion auf diese Kanalbefehle und Parameter sucht in Schritt 1210 das Datenspeichersubsystem 100 im Cache 113 nach den identifizierten Daten und macht sie, wenn gefunden, im Cache 113 ungültig, um nachfolgenden Zugriff darauf zu verhindern. In Schritt 1211 tilgt das Datenspeichersubsystem 100 die Übersetzung der virtuellen Adresse der Datei in die logische Adresse aus dem Zuordnungstabellenspeicher 401. Diese Operation macht die in den Erweiterung-Definieren-Parametern 1311 definierte Erweiterung zu freiem Platz im Datenspeichersubsystem 100. In Schritt 1212 aktualisiert dann das Datenspeichersubsystem 100 das Freiplatzverzeichnis des logischen Zylinders, der zuvor die Daten enthielt. In Schritt 1213 veranlaßt die Hostsoftwarekomponente, daß ein Count-Key- Lesen- und Datenkanalbefehl 1304 an das Datenspeichersubsystemm 100 gesendet wird, das in Schritt 1214 mit der Nachricht 1314 antwortet, die die gelöschte Dateierweiterung (Anfangs-CCHH und End-CCHH) sowie die Suchadresse aus den durch die Hostsoftwarekomponente 11A gesendeten Satz-Lokalisieren-Parametern 1312 aufführt. In Schritt 1215 verifiziert die Hostsoftwarekomponente 11A die Platzfreigabe der gelöschten Datei durch Vergleichen der vom Datenspeichersubsystem in den Count-Key-Daten-Lesen-Parametern 1314 zurückgegebenen Daten mit den ursprünglich von der Hostsoftwarekomponente gesendeten Saten. In Schritt 1216 gibt der Hostprozessor 11 das im Schritt 1203 gesperrte Datenträgerinhaltsverzeichnis und den im Schritt 1202 reservierten Datenträger frei. In Schritt 1217 endet der Prozeß, wenn ein erfolgreicher Vergleich erreicht wird, und der Hostprozessor 11 wird freigesetzt, um weiterzuarbeiten.
  • Datensicherheitsaspekte der Platzfreigabe von gelöschten Dateien
  • Fig. 7 zeigt ein Bild des virtuellen Datenträgers 109 sowie den Zustand der Zuordnungstabelle 401 und der logischen Datenträger 209 nach einer Operation, in der der Hostprozessor 11 die Steuereinheit 101 auffordert, die Dateien DSN1, DSN2 und DSN3 zu löschen. Wie auf der linken Seite von Fig. 7 für den virtuellen Datenträger 109 zu sehen ist, haben der Hostprozessor 11 und die Steuereinheit 101 in dieser Löschfunktion durch Löschen der Format 1 Einträge (R3, R4 und R5 von Fig. 6) in der Datei VTOC-Datei für jede der Dateien DSN1, DSN2, DSN3 zusammengearbeitet. Nach Maßgabe üblicher Prozeduren die Funktion von DASD-Subsystemen betreffend bewirkt die Steuereinheit 101 nicht, daß die tatsächlichen Daten einer gelöschten Datei aus den Bereichen der logischen Datenträger 209, die die Datei enthalten, gelöscht werden. Stattdessen wird nur der verwandte Format 1 Eintrag im VTDC gelöscht. Diese Betriebsart einer Dateilöschfunktion ist normalerweise angemessen, da, wenn eine nachfolgende Anforderung, eine gelöschte Datei zu lesen, an das VTOC angelegt wird, das VTOC keine brauchbare Information an die Steuereinheit 101 zurückgibt, weil das VTOC den Format 1 Eintrag der gelöschten Datei, z.B. DSN1, nicht mehr enthält. Dasselbe gilt für die Dateien DSN2 und DSN3, die in Fig. 7 ebenfalls als aus dem VTOC gelöscht gezeigt werden.
  • Unter normalen Umständen ist das Löschen eines VTOC Format 1 Eintrags einer gelöschten Datei für die meisten Benutzer ausreichend, da, wenn das VTOC später zum Zugriff auf die gelöschte Datei abgefragt wird, es keine Information zurückgibt und der Hostprozessor 11 annimmt, daß die Datei nicht mehr existiert. In Fig. 7 sollte man jedoch zur Kenntnis nehmen, daß, obwohl der Format 1 Eintrag für eine gelöschte Datei aus dem VTOC gelöscht worden ist, die tatsächlichen Daten in den logischen Spuren der logischen Datenträger 209 bleiben und die logische Adresse der Datei noch im Zuordnungsspeicher 401 verbleibt. Die logische Adresse spezifiziert den Aufenthaltsort der Datei in den logischen Datenträgern 209.
  • Das System von Fig. 7 verhindert das Zugreifen auf die gelöschten Dateien DSN1, DSN2 oder DSN3 durch Befehle, die das VTOC abfragen, da der Format 1 VTOC-Eintrag für jede dieser Dateien aus dem VTOC gelöscht worden ist. Der Hostprozessor 11 kann jedoch einen Befehl erzeugen, der das Lesen der ganzen Spur eines Datenträgers verlangt. Die Steuereinheit 101 kann somit einen Kanalbefehl vom Hostprozessor 11 empfangen, der das Lesen der ganzen Spur 2 des virtuellen Datenträgers 109 verlangt. Die Steuereinheit 101 reagiert auf diesen Befehl und legt die virtuelle Adresse der Spur 2 an den Zuordnungsspeicher 401 an, der angibt, daß Spur 2 des virtuellen Datenträgers dem Zylinder 5 Spur 6 des logischen Datenträgers 209-2 entspricht. Unter Verwendung dieser Information sendet die Steuereinheit 101 die passenden Befehle an die Steuerschaltungen der logischen Datenträger 209, um zu veranlassen, daß Spur 6 von Zylinder 5 des logischen Gerätes 2 gelesen und an den Hostprozessor 11 zurückgegeben wird. Auf diese Weise kann ein Benutzer Zugang zu einer Datei erlangen, deren Format 1 Eintrag aus dem VTOC gelöscht worden ist. Diese Situation in unerwünscht bei Gegebenheiten, wo die gelöschten Dateien empfindliche Information, z.B. Gehaltsinformation oder andere geschützte Information, enthalten, der ein höheres Maß an Sicherheit gewährt werden muß.
  • Fig. 8 offenbart die Funktion des erfindungsgemäßen Systems nach einer Operation, in der der Hostprozessor 11 verlangt hat, daß die Dateien DSN1, DSN2 und DSN3 gelöscht werden. Wie in Verbindung mit Fig. 8 beschrieben, wird der Format 1 Eintrag für diese drei Dateien durch den Löschbefehl aus dem VTOC gelöscht, so daß ein späterer Versuch des Hostprozessors 11, auf die gelöschte Datei über ihren Format 1 VTOC- Eintrag zuzugreifen, keine Daten zurückbringt.
  • Erfindungsgemäß arbeitet die Steuereinheit 101 als Reaktion auf eine Dateilöschoperation in Fig. 8, um alle Adresseninformationu die die virtuellen und logischen Adressen von gelöschten Dateien korreliert, aus der Zuordnungstabelle 401 zu löschen. Dies wird in den unteren drei Stellen der Zuordnungstabelle 401 gezeigt, die jetzt Null-Information enthalten. Bei dieser Situation bringt der Empfang eines Befehls durch die Steuereinheit 101, der das Lesen der virtuellen Spuren TRK2, TRK3 oder TRK4 spezifiziert, keine brauchbare Information an den Benutzer zurück, weil die Zuordnungstabelle 401 als Reaktion auf den Empfang solcher Befehle keine Information an die Steuereinheit 101 zurückgibt, die die logische Adresse der gelöschten Dateien angibt. Dies verhindert den Zugriff auf gelöschte Dateien, deren Daten noch auf den logischen Datenträgern 209 verbleiben. Mit anderen Worten, obwohl die Daten, deren Sicherheit geschützt werden muß, auf den logischen Datenträgern bleiben, kann auf sie nicht durch einen Computerbefehl zugegriffen werden, der das Lesen von spezifizierten Spuren des virtuellen Datenträgers verlangt.
  • Während eine spezifische Ausführung dieser Erfindung offenbart worden ist, wird erwartet, daß in der Technik erfahrene Personen alternative Ausführungen dieser Erfindung entwerfen können und werden, die in den Umfang der anliegenden Ansprüche fallen.

Claims (14)

1. In einem dynamisch abbildenden virtuellen Datenspeichersubsystem (100), das eine Mehrzahl von Datenspeichergeräten (122-125) umfaßt und mit mindestens einem Hostprozessor (11, 12) verbunden ist, zum Speichern von Dateien zum Zugriff durch den Hostprozessor (11, 12) unter Verwendung einer jeder der Dateien durch den Hostprozessor (11, 12) zugewiesenen virtuellen Adresse umfaßt eine operativ von dem Hostprozessor (11, 12) unabhängige Vorrichtung in dem Datenspeichersubsystem (100) zum Tilgen von Dateien aus den Datenspeichergeräten (122-125):
eine Einrichtung (101), die auf den Hostprozessor (11, 12) anspricht, der eine Datei an das Datenspeichersubsystem (100) zur Speicherung darin sendet, zum Umsetzen einer der gesendeten Datei durch den Hostprozessor (11, 12) zugewiesenen virtuellen Adresse in eine Adresse, die eine physikalische Speicherstelle auf einem der Datenspeichergeräte (122-125) definiert;
eine Einrichtung (103) zum Schreiben der gesendeten Datei in die definierte physikalische Speicherstelle auf den Datenspeichergeräten (122-125);
eine Einrichtung (401) zum Speichern von Daten einschließlich der Adresse, die das Umsetzen der virtuellen Adresse in die physikalische Speicherstelle anzeigt, für jede der auf den Datenspeichergeräten (122-125) gespeicherten Dateien;
eine Einrichtung (11A, 1206-1209, 1213, 1215) in dem Hostprozessor (11, 12), die auf das Löschen einer der Dateien durch den Hostprozessor (11, 12) anspricht und unabhängig von dem Hostprozessor (11, 12) Befehle an das Datenspeichersubsystem (100) sendet, die die vom Hostprozessor gelöschte Datei identifizieren, und
eine Einrichtung (204) in dem Datenspeichersubsystem (100), die von dem Hostprozessor (11, 12) operativ unabhängig ist und auf den Empfang der gelöschte Dateien identifizierenden Befehle anspricht, zum Streichen aus der Speichereinrichtung (401) der Adresse, die das Umsetzen der virtuellen Adresse in die physikalische Speicherstelle für die identifizierte gelöschte Datei anzeigt.
2. Vorrichtung nach Anspruch 1, bei der der Hostprozessor (11, 12) vordefinierte Befehle, von denen jeder einen Satz von Parametern umfaßt, an das Datenspeichersubsystem (100) sendet, um das Datenspeichersubsystem (100) zu aktivieren, Dateien auf den Datenspeichergeräten (122-125) zu lesen und zu schreiben, wobei die Sendeeinrichtung (11A) umfaßt:
eine Einrichtung (11A, 1206-1209) zum Erzeugen eines der vordefinierten Befehle unabhängig von dem Hostprozessor (11, 12);
eine Einrichtung (1208) zum Ändern wenigstens eines der vordefinierten Parameter in dem einen erzeugten vordefinierten Befehl, um dem Datenspeichersubsystem (100) anzuzeigen, daß der eine Befehl, der die geänderten Parameter enthält, von der Sendeeinrichtung (11A) und nicht von dem Kostprozessor (11, 12) herstammt, und
eine Einrichtung (11A) zum Weiterleiten des geänderten Befehls an das Datenspeichersubsystem (100).
3. Vorrichtung nach Anspruch 2, bei der die Sendeeinrichtung (11A) weiter umfaßt:
eine Einrichtung (1209) zum Einfügen der durch den Hostprozessor (11, 12) der gelöschten Datei zugewiesenen virtuellen Adresse in den einen erzeugten vordefinierten Befehl.
4. Vorrichtung nach Anspruch 3, bei der das Datenspeichersubsystem (100) vordefinierte Antwortbefehle, von denen jeder einen Satz von Parametern umfaßt, an den Hostprozessor (11, 12) sendet, um den Abschluß des Lesens und Schreibens von Dateien in dem Datenspeichersubsystem (100) anzuzeigen, wobei die Streichungseinrichtung (201) umfaßt:
eine Einrichtung (1213) zum Erzeugen eines der vordefinierten Antwortbefehle;
eine Einrichtung (1214) zum Einfügen der durch den Hostprozessor (11, 12) der gelöschten Datei zugewiesenen virtuellen Adresse in den einen erzeugten Antwortbefehl, um der Sendeeinrichtung (11A) anzuzeigen, daß die geänderten Parameter von dem Datenspeichersubsystem (100) herstammen, und
eine Einrichtung (1214) zum Weiterleiten des einen erzeugten Antwortbefehls an die in dem Hostprozessor (11, 12) gelegene Sendeeinrichtung.
5. Vorrichtung nach Anspruch 1, bei der die Streichungseinrichtung (201) umfaßt:
eine Einrichtung (1211) zum Einfügen einer Nulladresse in die Speichereinrichtung (401) anstelle der Daten in der Speichereinrichtung (401), die das Umsetzen der virtuellen Adresse in die physikalische Speicherstelle für die identifizierte gelöschte Datei anzeigen.
6. Vorrichtung nach Anspruch 1, bei der das Datenspeichersubsystem (100) einen Cachespeicher (113) zum Speichern von Daten im Transit zwischen den Datenspeichergeräten (122-125) und dem Hostprozessor (11, 12) umfaßt, wobei das Datenspeichersubsystem (100) weiter umfaßt:
eine Einrichtung (1210), die auf den gelöschte Dateien identifizierenden Befehl anspricht, zum Tilgen der gelöschten Datei aus dem Cachespeicher (113), falls darin vorhanden.
7. Vorrichtung nach Anspruch 1, bei der das dynamisch abbildende virtuelle Datenspeichersubsystem (100) eine Mehrzahl von Plattenlaufwerken (122-125) umfaßt, wobei eine Untermenge der Mehrzahl von Plattenlaufwerken (122-125) wenigstens zwei Redundanzgruppen zugeteilt wird, wobei jede Redundanzgruppe aus wenigstens zwei Plattenlaufwerken (122) besteht, wobei die Zuordnungseinrichtung (401) umfaßt:
eine Einrichtung (201), die auf den Empfang einer Datei von dem Hostprozessor (11, 12) anspricht, zum Auswählen einer der Redundanzgruppen (122), um die empfangene Datei darin zu speichern;
eine Einrichtung (401) zum Umsetzen einer durch den Hostprozessor (11, 12) der empfangenen Datei zugewiesenen virtuellen Adresse in eine Adresse, die eine physikalische Speicherstelle auf den Plattenlaufwerken (122) in der ausgewählten Redundanzgruppe (122) definiert.
8. Vorrichtung nach Anspruch 1, bei der das dynamisch abbildende virtuelle Datenspeichersubsystem (100) eine Mehrzahl von Plattenlaufwerken (122-125) umfaßt, wobei eine Untermenge der Mehrzahl von Plattenlaufwerken (122-125) wenigstens zwei Redundanzgruppen zugeteilt wird, wobei jede Redundanzgruppe (122) n+m Plattenlaufwerke (122) enthält, wo n eine positive Ganzzahl größer als 1 ist und m eine positive Ganzzahl gleich oder größer als 1 ist, wobei die Zuordnungseinrichtung (401) umfaßt:
eine Einrichtung (201), die auf den Empfang einer Datei von dem Hostprozessor (11, 12) anspricht, zum Auswählen einer der Redundanzgruppen (122), um die empfangene Datei darin zu speichern;
eine Einrichtung (401) zum Umsetzen einer durch den Hostprozessor (11, 12) der empfangenen Datei zugewiesenen virtuellen Adresse in eine Adresse, die eine physikalische Speicherstelle auf den Plattenlaufwerken (122) in der ausgewählten Redundanzgruppe (122) definiert.
eine Einrichtung (204) zum Erzeugen von Datenredundanzinformation für die empfangene Datei und
die Schreibeinrichtung (103) die empfangene Datei plus die Redundanzdaten auf die n+m Plattenlaufwerke (122) der ausgewählten Redundanzgruppe (122) schreibt.
9. In einem dynamisch abbildenden virtuellen Datenspeichersubsystem (100), das eine Mehrzahl von Datenspeichergeräten (122-125) umfaßt und mit mindestens einem Kostprozessor (11, 12) verbunden ist, zum Speichern von Dateien zum Zugriff durch den Hostprozessor (11, 12) unter Verwendung einer jeder der Dateien durch den Hostprozessor (11, 12) zugewiesenen virtuellen Adresse umfaßt ein operati, von dem Hostprozessor (11, 12) unabhängiges Verfahren in dem Datenspeichersubsystem (100) zum Löschen von Dateien aus den Datenspeichergeräten (122-125) die Schritte:
Umsetzen, als Reaktion auf das Senden einer Datei durch den Hostprozessor (11, 12) an das Datenspeichersubsystem (100) zur Speicherung darin, einer der gesendeten Datei durch den Hostprozessor (11, 12) zugewiesenen virtuellen Adresse in eine Adresse, die eine physikalische Speicherstelle auf einem der Datenspeichergeräte (122-125) definiert;
Schreiben der gesendeten Datei in die definierte physikalische Speicherstelle auf den Datenspeichergeräten (122-125);
Speichern von Daten einschließlich der Adresse, die das Umsetzen der virtuellen Adresse in die physikalische Speicherstelle anzeigt, in einem Zuordnungsspeicher (401) für jede der auf den Datenspeichergeräten (122-125) gespeicherten Dateien;
Senden von dem Hostprozessor (11, 12), als Reaktion auf das Löschen einer der Dateien durch den Hostprozessor (11, 12), unabhängig von dem Hostprozessor (11, 12), gelöschte Dateien identifizierender Befehle an das Datenspeichersubsystem (100), die die vom Hostprozessor gelöschte Datei identifizieren, und
Streichen aus dem Zuordnungsspeicher (401), operativ unabhängig von dem Hostprozessor (11, 12), als Reaktion auf den Empfang der gelöschte Dateien identifizierenden Befehle, der Adresse, die das Umsetzen der virtuellen Adresse in die physikalische Speicherstelle für die identifizierte gelöschte Datei anzeigt.
10. Verfahren nach Anspruch 9, bei dem der Hostprozessor (11, 12) vordefinierte Befehle, von denen leder einen Satz von Parametern umfaßt, an das Datenspeichersubsystem (100) sendet, um das Datenspeichersubsystem (100) zu aktivieren, Dateien auf den Datenspeichergeräten (122-125) zu lesen und zu schreiben, wobei der Sendeschritt umfaßt:
Erzeugen eines der vordefinierten Befehle unabhängig von dem Hostprozessor (11, 12);
Ändern wenigstens eines der Parameter in dem einen erzeugten vordefinierten Befehl, um dem Datenspeichersubsystem (100) anzuzeigen, daß der eine Befehl, der die geänderten Parameter enthält, eine unter Ausschluß des Hostprozessors (11, 12) erzeugte Datei-Gelöscht-Nachricht ist;
Einfügen der durch den Hostprozessor (11, 12) der gelöschten Datei zugewiesenen virtuellen Adresse in den einen erzeugten vordefinierten Befehl und
Weiterleiten des geänderten Befehis an das Datenspeichersubsystem (100).
11. Verfahren nach Anspruch 9, bei dem der Schritt des Streichens umfaßt:
Einfügen einer Nulladresse in den Zuordnungsspeicher (401) anstelle der Daten, die das Umsetzen der virtuellen Adresse in die physikalische Speicherstelle für die identifizierte gelöschte Datei anzeigen.
12. Verfahren nach Anspruch 9, bei dem das Datenspeichersubsystem (100) einen Cachespeicher (113) zum Speichern von Daten im Transit zwischen den Datenspeichergeräten (122-125) und dem Hostprozessor (11, 12) umfaßt, weiter umfassend:
Tilgen, als Reaktion auf den gelöschte Dateien identifizierenden Befehl, der gelöschten Datei aus dem Cachespeicher (113), falls darin vorhanden.
13. Verfahren nach Anspruch 9, bei dem das dynamisch abbildende virtuelle Datenspeichersubsystem (100) eine Mehrzahl von Plattenlaufwerken (122-125) umfaßt, wobei eine Untermenge der Mehrzahl von Plattenlaufwerken (122-125) wenigstens zwei Redundanzgruppen zugeteilt wird, wobei jede Redundanzgruppe (122) aus wenigstens zwei Plattenlaufwerken (100) besteht, wobei der Umsetzungsschritt umfaßt:
Auswählen, als Reaktion auf den Empfang einer Datei von dem Hostprozessor (11, 12), einer der Redundanzgruppen (122), um die empfangene Datei darin zu speichern;
Umsetzen einer durch den Hostprozessor (11, 12) der empfangenen Datei zugewiesenen virtuellen Adresse in eine Adresse, die eine physikalische Speicherstelle auf den Plattenlaufwerken (122) in der ausgewählten Redundanzgruppe (122) definiert.
14. Verfahren nach Anspruch 9, bei dem das dynamisch abbildende virtuelle Datenspeichersubsystem (100) eine Mehrzahl von Plattenlaufwerken (122-125) umfaßt, wobei eine Untermenge der Mehrzahl von Plattenlaufwerken (122-125) wenigstens zwei Redundanzgruppen zugeteilt wird, wobei jede Redundanzgruppe (122) n+m Plattenlaufwerke (122) enthält, wo n eine positive Ganzzahl größer als 1 ist, und m eine positive Ganzzahl gleich oder größer als 1 ist, wobei der Umsetzungsschritt umfaßt:
Auswählen, als Reaktion auf den Empfang einer Datei von dem Hostprozessor (11, 12), einer der Redundanzgruppen (122), um die empfangene Datei darin zu speichern;
Umsetzen einer durch den Hostprozessor (11, 12) der empfangenen Datei zugewiesenen virtuellen Adresse in eine Adresse, die eine physikalische Speicherstelle auf den Plattenlaufwerken (122) in der ausgewählten Redundanzgruppe (122) definiert.
Erzeugen von Datenredundanzinformation für die empfangene Datei, worin der Schreibschritt die empfangene Datei plus die Redundanzdaten auf die n+m Plattenlaufwerke (122) der ausgewählten Redundanzgruppe (122) schreibt.
DE69127752T 1990-06-18 1991-06-14 System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem Expired - Fee Related DE69127752T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/540,500 US5193184A (en) 1990-06-18 1990-06-18 Deleted data file space release system for a dynamically mapped virtual data storage subsystem
PCT/US1991/004270 WO1991020025A1 (en) 1990-06-18 1991-06-14 Deleted data file space release system for a dynamically mapped virtual data storage subsystem

Publications (2)

Publication Number Publication Date
DE69127752D1 DE69127752D1 (de) 1997-10-30
DE69127752T2 true DE69127752T2 (de) 1998-03-26

Family

ID=24155716

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69127752T Expired - Fee Related DE69127752T2 (de) 1990-06-18 1991-06-14 System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem

Country Status (6)

Country Link
US (1) US5193184A (de)
EP (1) EP0538288B1 (de)
AT (1) ATE158660T1 (de)
DE (1) DE69127752T2 (de)
ES (1) ES2107466T3 (de)
WO (1) WO1991020025A1 (de)

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0485110B1 (de) * 1990-11-09 1999-08-25 Emc Corporation Logische Aufteilung eines Speichersystems mit redundanter Matrix
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5325523A (en) * 1991-04-10 1994-06-28 International Business Machines Corporation Method for deleting objects from library resident optical disks by accumulating pending delete requests
US5481694A (en) * 1991-09-26 1996-01-02 Hewlett-Packard Company High performance multiple-unit electronic data storage system with checkpoint logs for rapid failure recovery
US5394532A (en) * 1992-04-15 1995-02-28 Storage Technology Corporation Disk drive array memory system having instant format capability
JP2851982B2 (ja) * 1992-04-17 1999-01-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報処理装置
US5596736A (en) * 1992-07-22 1997-01-21 Fujitsu Limited Data transfers to a backing store of a dynamically mapped data storage system in which data has nonsequential logical addresses
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5559978A (en) * 1992-10-14 1996-09-24 Helix Software Company, Inc. Method for increasing the efficiency of a virtual memory system by selective compression of RAM memory contents
US5581723A (en) * 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
CA2121852A1 (en) * 1993-04-29 1994-10-30 Larry T. Jost Disk meshing and flexible storage mapping with enhanced flexible caching
US5623669A (en) * 1993-07-21 1997-04-22 International Business Machines Corporation High speed online copy of partitioned data
US5530850A (en) * 1993-10-25 1996-06-25 International Business Machines Corporation Data storage library array with log-structured file system which allows simultaneous write and garbage collection
US5542066A (en) * 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
JPH07334309A (ja) * 1994-06-08 1995-12-22 Brother Ind Ltd 記憶装置
JPH0844498A (ja) 1994-07-29 1996-02-16 Hitachi Ltd 圧縮機能付き記憶装置及びそれを有するコンピュータシステム
JP3687111B2 (ja) * 1994-08-18 2005-08-24 株式会社日立製作所 記憶装置システムおよび記憶装置の制御方法
US5765175A (en) * 1994-08-26 1998-06-09 Intel Corporation System and method for removing deleted entries in file systems based on write-once or erase-slowly media
US5497457A (en) * 1994-10-17 1996-03-05 International Business Machines Corporation Redundant arrays of independent libraries of dismountable media with parity logging
US5634028A (en) * 1994-12-15 1997-05-27 International Business Machines Corporation Compact track address translation mapping system and method
US6101574A (en) * 1995-02-16 2000-08-08 Fujitsu Limited Disk control unit for holding track data in non-volatile cache memory
US6009498A (en) * 1995-02-16 1999-12-28 Fujitsu Limited Disk control unit for holding track data in cache memory
JP3509285B2 (ja) * 1995-05-12 2004-03-22 富士通株式会社 圧縮データ管理方式
US5860137A (en) * 1995-07-21 1999-01-12 Emc Corporation Dynamic load balancing
US5768566A (en) * 1996-03-01 1998-06-16 Microsoft Corporation Method and facility for uninstalling a computer program package
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
GB9606927D0 (en) 1996-04-02 1996-06-05 Memory Corp Plc Data storage devices
US5778393A (en) * 1996-05-20 1998-07-07 International Business Machines Corporation Adaptive multitasking for dataset storage
JP3202600B2 (ja) * 1996-06-27 2001-08-27 日本電気株式会社 磁気ディスク装置
US5805864A (en) * 1996-09-10 1998-09-08 International Business Machines Corporation Virtual integrated cartridge loader for virtual tape storage system
US6092168A (en) * 1996-10-25 2000-07-18 Hewlett-Packard Co. Data storage system and method for deallocating space by writing and detecting a predefined data pattern
US6092170A (en) * 1996-11-29 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Data transfer apparatus between devices
US6496791B1 (en) * 1997-07-09 2002-12-17 Neville Yates Interfaces for an open systems server providing tape drive emulation
US6173359B1 (en) 1997-08-27 2001-01-09 International Business Machines Corp. Storage and access to scratch mounts in VTS system
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
US6105103A (en) * 1997-12-19 2000-08-15 Lsi Logic Corporation Method for mapping in dynamically addressed storage subsystems
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6173360B1 (en) * 1998-01-09 2001-01-09 International Business Machines Corporation Apparatus and method for allowing existing ECKD MVS DASD using an ESCON interface to be used by an open storage using SCSI-type interface
US6591356B2 (en) * 1998-07-17 2003-07-08 Roxio, Inc. Cluster buster
US6507911B1 (en) * 1998-07-22 2003-01-14 Entrust Technologies Limited System and method for securely deleting plaintext data
US6438642B1 (en) * 1999-05-18 2002-08-20 Kom Networks Inc. File-based virtual storage file system, method and computer program product for automated file management on multiple file system storage devices
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US8234477B2 (en) * 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US6247096B1 (en) * 1998-11-02 2001-06-12 International Business Machines Corporation Handling eject requests of logical volumes in a data storage subsystem
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
US6351792B1 (en) 1999-02-02 2002-02-26 Storage Technology Corporation Selective remote storage copy system and methods
US6751714B2 (en) 1999-02-02 2004-06-15 Storage Technology Corporation Systems and methods for relocation of compressed data tracks
US6356915B1 (en) 1999-02-22 2002-03-12 Starbase Corp. Installable file system having virtual file system drive, virtual device driver, and virtual disks
US6754661B1 (en) * 1999-07-13 2004-06-22 Microsoft Corporation Hierarchical storage systems for holding evidentiary objects and methods of creating and operating upon hierarchical storage systems
US6311232B1 (en) * 1999-07-29 2001-10-30 Compaq Computer Corporation Method and apparatus for configuring storage devices
US6336163B1 (en) * 1999-07-30 2002-01-01 International Business Machines Corporation Method and article of manufacture for inserting volumes for import into a virtual tape server
US6338114B1 (en) 1999-08-18 2002-01-08 International Business Machines Corporation Method, system, and program for using a table to determine an erase operation to perform
US6564307B1 (en) * 1999-08-18 2003-05-13 International Business Machines Corporation Method, system, and program for logically erasing data
US6839827B1 (en) * 2000-01-18 2005-01-04 International Business Machines Corporation Method, system, program, and data structures for mapping logical blocks to physical blocks
US20010025343A1 (en) * 2000-03-27 2001-09-27 Roy Chrisop Random bit mask generation for obscuring data on nonvolatile memory device
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
US6751635B1 (en) * 2000-08-18 2004-06-15 Network Appliance, Inc. File deletion and truncation using a zombie file space
US6857059B2 (en) * 2001-01-11 2005-02-15 Yottayotta, Inc. Storage virtualization system and methods
JP4175788B2 (ja) * 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US6829617B2 (en) * 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
US7475098B2 (en) 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US6999913B2 (en) * 2002-12-10 2006-02-14 John Alan Hensley Emulated read-write disk drive using a protected medium
US7017024B2 (en) * 2002-12-12 2006-03-21 International Business Machines Corporation Data processing system having no system memory
US6993649B2 (en) 2002-12-17 2006-01-31 John Alan Hensley Method of altering a computer operating system to boot and run from protected media
JP4438457B2 (ja) * 2003-05-28 2010-03-24 株式会社日立製作所 記憶領域割当方法、システム及び仮想化装置
JP4433372B2 (ja) * 2003-06-18 2010-03-17 株式会社日立製作所 データアクセスシステム及び方法
US8250093B2 (en) * 2003-08-25 2012-08-21 International Business Machines Corporation Method and system for utilizing a cache for path-level access control to structured documents stored in a database
US8150818B2 (en) * 2003-08-25 2012-04-03 International Business Machines Corporation Method and system for storing structured documents in their native format in a database
US7519574B2 (en) * 2003-08-25 2009-04-14 International Business Machines Corporation Associating information related to components in structured documents stored in their native format in a database
US7792866B2 (en) * 2003-08-25 2010-09-07 International Business Machines Corporation Method and system for querying structured documents stored in their native format in a database
US8775468B2 (en) * 2003-08-29 2014-07-08 International Business Machines Corporation Method and system for providing path-level access control for structured documents stored in a database
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
JP2005190036A (ja) 2003-12-25 2005-07-14 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
JP4463042B2 (ja) 2003-12-26 2010-05-12 株式会社日立製作所 ボリュームの動的割り付け機能を有する記憶装置システム
US20050154786A1 (en) * 2004-01-09 2005-07-14 International Business Machines Corporation Ordering updates in remote copying of data
US7478211B2 (en) 2004-01-09 2009-01-13 International Business Machines Corporation Maintaining consistency for remote copy using virtualization
US20050193169A1 (en) * 2004-03-01 2005-09-01 Ahluwalia Manish K. Memory management
US7647358B2 (en) * 2004-03-22 2010-01-12 Microsoft Corporation Computing device with relatively limited storage space and operating/file system thereof
US8069192B2 (en) * 2004-03-22 2011-11-29 Microsoft Corporation Computing device with relatively limited storage space and operating / file system thereof
JP2006011803A (ja) * 2004-06-25 2006-01-12 Hitachi Ltd 情報処理システムおよびその制御方法
CA2590361C (en) * 2004-11-05 2012-01-03 Data Robotics Incorporated Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7873782B2 (en) * 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
JP2006195712A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
US7457910B2 (en) * 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
US9405521B2 (en) * 2006-06-29 2016-08-02 Microsoft Technology Licensing, Llc Mapping of virtualized setup-free applications for a computing system
US7685377B1 (en) 2006-07-12 2010-03-23 Storage Technology Corporation Piecewise logical data management
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
KR101490327B1 (ko) * 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US20080162813A1 (en) * 2007-01-02 2008-07-03 International Business Machines Corporation Multiple logic media drive
US8161253B2 (en) * 2007-01-30 2012-04-17 International Business Machine Corporation Maintenance of valid volume table of contents
JP5042660B2 (ja) * 2007-02-15 2012-10-03 株式会社日立製作所 ストレージシステム
US9207876B2 (en) 2007-04-19 2015-12-08 Microsoft Technology Licensing, Llc Remove-on-delete technologies for solid state drive optimization
US8086652B1 (en) * 2007-04-27 2011-12-27 Netapp, Inc. Storage system-based hole punching for reclaiming unused space from a data container
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
JP2009151807A (ja) * 2009-02-09 2009-07-09 Hitachi Ltd 記憶装置
JP5999645B2 (ja) * 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
EP2476039B1 (de) 2009-09-09 2016-10-26 SanDisk Technologies LLC Vorrichtung, system und verfahren zur leistungsverlustverwaltung in einem speichersystem
EP2476079A4 (de) * 2009-09-09 2013-07-03 Fusion Io Inc Vorrichtung, system und verfahren zur zuordnung von speicherorten
WO2011129006A1 (ja) * 2010-04-15 2011-10-20 株式会社 日立製作所 ストレージ装置及びストレージ装置の制御方法
US10013354B2 (en) 2010-07-28 2018-07-03 Sandisk Technologies Llc Apparatus, system, and method for atomic storage operations
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
CN103262054B (zh) 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US9213594B2 (en) 2011-01-19 2015-12-15 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing out-of-service conditions
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US20120237024A1 (en) * 2011-03-18 2012-09-20 Wei-Ti Liu Security System Using Physical Key for Cryptographic Processes
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US8799618B2 (en) * 2011-04-12 2014-08-05 Empire Technology Development Llc Service associated with persistent storage
US8682867B2 (en) 2011-07-15 2014-03-25 International Business Machines Corporation Deleted data recovery in data storage systems
US8566558B2 (en) 2011-07-22 2013-10-22 Hitachi, Ltd. Storage apparatus and data management method
WO2013088474A2 (en) * 2011-12-14 2013-06-20 Hitachi, Ltd. Storage subsystem and method for recovering data in storage subsystem
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
WO2014165040A1 (en) * 2013-03-13 2014-10-09 Veriscape, Inc. Dynamic memory management for a virtual supercomputer
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9606909B1 (en) * 2013-04-05 2017-03-28 Amazon Technologies, Inc. Deallocating portions of provisioned data storage based on defined bit patterns indicative of invalid data
US9639296B1 (en) * 2013-04-05 2017-05-02 Amazon Technologies, Inc. Deallocating portions of data storage based on notifications of invalid data
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US10216439B2 (en) * 2016-02-02 2019-02-26 International Business Machines Corporation Protecting unallocated data within a storage volume

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3761881A (en) * 1971-06-30 1973-09-25 Ibm Translation storage scheme for virtual memory system
JPS5615066B2 (de) * 1974-06-13 1981-04-08
US4155119A (en) * 1977-09-21 1979-05-15 Sperry Rand Corporation Method for providing virtual addressing for externally specified addressed input/output operations
US4290104A (en) * 1979-01-02 1981-09-15 Honeywell Information Systems Inc. Computer system having a paging apparatus for mapping virtual addresses to real addresses for a memory of a multiline communications controller
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
DE3279744D1 (en) * 1981-08-03 1989-07-06 Ibm Peripheral sub-systems accommodating guest operating systems
US4587610A (en) * 1984-02-10 1986-05-06 Prime Computer, Inc. Address translation systems for high speed computer memories
US4758951A (en) * 1985-04-09 1988-07-19 Tektronix, Inc. Method for translating virtual addresses into real addresses
US4853842A (en) * 1985-09-11 1989-08-01 Texas Instruments Incorporated Computer memory system having persistent objects
US4833604A (en) * 1986-01-13 1989-05-23 International Business Machines Corporation Method for the relocation of linked control blocks
US4722085A (en) * 1986-02-03 1988-01-26 Unisys Corp. High capacity disk storage system having unusually high fault tolerance level and bandpass
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US4953122A (en) * 1986-10-31 1990-08-28 Laserdrive Ltd. Pseudo-erasable and rewritable write-once optical disk memory system
JPS6410463A (en) * 1987-07-01 1989-01-13 Sony Corp Magnetic disk
DE3855250T2 (de) * 1987-11-30 1996-11-21 Ibm Verfahren zur Speicherung von Dateien von vorstrukturierten Gruppen verbundener Informationen in einem Datenverarbeitungssystem
US5053948A (en) * 1988-01-29 1991-10-01 Wisconsin Alumni Research Foundation File index system for mass storage device
US4939598A (en) * 1988-02-08 1990-07-03 International Business Machines Corporation Managing data storage space on large capacity record media
US4974197A (en) * 1988-05-05 1990-11-27 International Business Machines Batching data objects for recording on optical disks with maximum object count
US4989206A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5075845A (en) * 1989-12-22 1991-12-24 Intel Corporation Type management and control in an object oriented memory protection mechanism
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem

Also Published As

Publication number Publication date
DE69127752D1 (de) 1997-10-30
US5193184A (en) 1993-03-09
WO1991020025A1 (en) 1991-12-26
EP0538288B1 (de) 1997-09-24
EP0538288A1 (de) 1993-04-28
ATE158660T1 (de) 1997-10-15
ES2107466T3 (es) 1997-12-01

Similar Documents

Publication Publication Date Title
DE69127752T2 (de) System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem
DE102019132371A1 (de) Zuordnungsverwaltung logisch zu physisch unter Verwendung von nichtflüchtigem Speicher
DE60035151T2 (de) Hardware-Anordnung zur Verwaltung von Cachespeicherstrukturen in einem Datenspeichersystem
DE112020002526B4 (de) Blockmodusumschaltung in datenspeichersystem
DE69127895T4 (de) Logisches spurschreibzuordnungssystem für paralleles plattenlaufwerksmatrixdatenspeicherungsuntersystem
DE112014000254B4 (de) Mehrstufiges Zwischenspeichern und Migrieren in unterschiedlichen Granularitäten
DE69032517T2 (de) Verfahren und System zum dynamischen Identifizieren von Datenträgern in einem Gestaltungsdateisystem
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
US8549051B2 (en) Unlimited file system snapshots and clones
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
KR101628675B1 (ko) 저장 요청을 첨부 데이터 저장 명령으로 변환하는 장치,시스템,및 방법
US6421767B1 (en) Method and apparatus for managing a storage system using snapshot copy operations with snap groups
DE60313783T2 (de) Bewegen von daten zwischen speichereinheiten
US7415653B1 (en) Method and apparatus for vectored block-level checksum for file system data integrity
DE112013006655T5 (de) Speichervorrichtung und Verfahren zum Steuern der Speichervorrichtung
DE112017002941T5 (de) Arbeitslastoptimierte Datendeduplizierung mittels Phantomfingerabdrücken
DE112020004840B4 (de) Speicherbereinigung in datenspeichersystemen
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
KR20110048486A (ko) 멀티-프로세서/멀티-스레드 환경에서 저장 요청을 조정하는 장치, 시스템 및 방법
DE102004013114A1 (de) Plattenarrayvorrichtung und Steuerungsverfahren für eine Plattenarrayvorrichtung
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE112012004571T5 (de) Unterstützen von unvollständigen Datensegmenten in Flash-Cache-Speichern
DE112010004573T5 (de) System und verfahren zur optimierten wiedernutzbarmachungsverarbeitung in einem virtuellen bandbibliotheksystem
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE112013000900T5 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee