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 datenspeichersubsystemInfo
- 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
Links
- 238000003384 imaging method Methods 0.000 title claims description 3
- 238000013500 data storage Methods 0.000 claims abstract description 136
- 238000003860 storage Methods 0.000 claims abstract description 48
- 238000013507 mapping Methods 0.000 claims description 42
- 238000000034 method Methods 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 19
- 238000012217 deletion Methods 0.000 claims description 13
- 230000037430 deletion Effects 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 7
- 238000010926 purge Methods 0.000 claims description 4
- 238000010422 painting Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 6
- 238000006748 scratching Methods 0.000 abstract 1
- 230000002393 scratching effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 22
- 238000012546 transfer Methods 0.000 description 12
- 101001053809 Homo sapiens Kinetochore-associated protein DSN1 homolog Proteins 0.000 description 11
- 102100024062 Kinetochore-associated protein DSN1 homolog Human genes 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 101100514848 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MTW1 gene Proteins 0.000 description 9
- ZGRQPKYPJYNOKX-XUXIUFHCSA-N Cys-Cys-His-His Chemical compound C([C@H](NC(=O)[C@H](CS)NC(=O)[C@H](CS)N)C(=O)N[C@@H](CC=1NC=NC=1)C(O)=O)C1=CN=CN1 ZGRQPKYPJYNOKX-XUXIUFHCSA-N 0.000 description 8
- 239000000835 fiber Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 101150072397 trk2 gene Proteins 0.000 description 3
- 101150008358 TRK1 gene Proteins 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000005574 cross-species transmission Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- -1 DSN2 Proteins 0.000 description 1
- 241001522191 Gyrodactylus salaris Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1990
- 1990-06-18 US US07/540,500 patent/US5193184A/en not_active Expired - Lifetime
-
1991
- 1991-06-14 EP EP91911860A patent/EP0538288B1/de not_active Expired - Lifetime
- 1991-06-14 ES ES91911860T patent/ES2107466T3/es not_active Expired - Lifetime
- 1991-06-14 WO PCT/US1991/004270 patent/WO1991020025A1/en active IP Right Grant
- 1991-06-14 AT AT91911860T patent/ATE158660T1/de not_active IP Right Cessation
- 1991-06-14 DE DE69127752T patent/DE69127752T2/de not_active Expired - Fee Related
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 |