-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft die Datenspeicherung im Hinblick auf Datenspeicherlaufwerke und Datenspeicherkassetten und insbesondere den Überschreibschutz von Daten der Datenspeicherkassetten.
-
HINTERGRUND DER ERFINDUNG
-
Datenspeicherkassetten können wiederbeschreibbare Datenträger umfassen. Beispiele hierfür sind Magnetbanddatenträger, verschiedene Formen optischer Plattenspeicher, magnetische Festplattendatenträger, verschiedene Formen optischer Banddatenträger und elektronische Speichermedien. In vielen Fällen möchten Benutzer auf derartige wiederbeschreibbare Datenträger geschriebene Daten dauerhaft speichern und sie vor dem Überschreiben schützen. Die US-Patentschriften
US 6 982 846 B2 und
US 7 193 803 B2 ermöglichen den Schutz von auf Datenspeicherkassetten mit wiederbeschreibbaren Datenträgern geschriebenen Daten, wobei der Schutz durch die Datenspeicherkassette gesteuert wird und die Kassette manipulationssicher ist. Dadurch können die Kassetten in verschiedene Datenspeicherlaufwerke eingelegt und die Daten nach wie vor geschützt werden. Ein Merker (flag) für einmaliges Schreiben wird in einen sperrbaren Bereich eines Kassettenspeichers geschrieben, und der Kassettenspeicher ist gesperrt.
-
Zusätzlich wird ein Merker für einmaliges Schreiben in einen erforderlichen Datensatz des wiederbeschreibbaren Datenträgers geschrieben. Somit werden Merker für einmaliges Schreiben sowohl im gesperrten Bereich des Kassettenspeichers als auch im erforderlichen Datensatz des wiederbeschreibbaren Datenträgers bereitgestellt. Die Datenspeicherlaufwerke werden durch die Merker für einmaliges Schreiben eingeschränkt und das Überschreiben der geschützten Daten verhindert. Mithilfe des sperrbaren Abschnitts des Kassettenspeichers wird der Schutz manipulationssicher. Es ist wichtig, dass solche Kassetten (als WORM bezeichnet - „write once read many“, „einmal beschreiben, vielmals auslesen“) stets geschützt sind.
-
Eine Kassette mit einem derartigen Schutz ist jedoch für den Benutzer möglicherweise nicht zu dem Zeitpunkt verfügbar, an dem er Daten gegen Überschreiben schützen möchte. Ein Beispiel für den Schutz von Daten in der Patentschrift
US 6 339 810 B1 erörtert. Dort werden wiederbeschreibbare Datenspeichermedien durch automatisches Weiterrücken eines Schreibanhangbegrenzers für einmaliges Schreiben eingerichtet und das Datenspeicherlaufwerk so betrieben, dass vor dem Schreibanhangbegrenzer eintretende Änderungen an den Daten verhindert werden. In der Patentschrift
US 7 469 314 B2 werden Zeiger auf sowohl den Datenträger als auch einem Kassettenspeicher beschrieben, um Veränderungen zu verhindern.
-
Die Druckschrift
WO 2007 / 045 630 A2 betrifft eine Vorrichtung zum Implementieren geschützter Partitionen in Speichermedien. Die Vorrichtung umfasst: ein Steuermodul, das so konfiguriert ist, dass es mit einem Hostgerät kommuniziert und Lese- und Schreibbefehle für ein Speichergerät mit mindestens einer Partition empfängt;
wobei das Steuermodul innerhalb eines Gehäuses angeordnet ist, das die Speichervorrichtung aufnimmt; und
ein Schutzmodul, das innerhalb des Steuermoduls funktioniert und so konfiguriert ist, dass es eine Mehrzahl von Schutzzuständen für die Partition und eine Mehrzahl von zulässigen Übergängen zwischen den Schutzzuständen aufrechterhält.
-
Die Druckschrift
US 2006 / 0 002 246 A1 betrifft ein Plattenlaufwerk-Datenspeichergerät und ein Verfahren zur Implementierung einer sektorauswählbaren Write-Once-Read-Many (WORM)-Funktionalität auf dem Plattenlaufwerk-Speichersystem. Daten, die in einem Sektor auf magnetischen Speichermedien oder auf wiederbeschreibbaren optischen Medien gespeichert sind, werden durch zusätzliche (WORM) Bits im Sektorkopf vor dem Überschreiben geschützt, um den Schutzstatus der Daten in diesem Sektor zu kennzeichnen. Wenn Daten in einen Sektor eines Laufwerks des Speichersystems geschrieben werden sollen, wird der Sektorkopf für diesen Sektor gelesen und die WORM-Bits werden überprüft. Wenn der Wert der WORM-Bits anzeigt, dass der Sektor geschützt ist, wird der Schreibbefehl nicht ausgeführt und eine entsprechende Fehlermeldung an das Host-System gesendet. Wenn die WORM-Bits für den Sektor keinen WORM-Schutz anzeigen, werden die Daten in den Sektor geschrieben.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Der Erfindung liegt die Aufgabe zu Grunde ein Verfahren, ein Datenspeicherlaufwerk und ein Computerprogramm zum verbesserten Schutz einer wiederbeschreibbaren Nicht-WORM-Datenspeicherkassette gegen das Über-schreiben von Daten zu schaffen. Diese Aufgabe wurde durch die Merkmale der entsprechenden unabhängigen Ansprüche gelöst. Ausführungsformen der Erfindung sind in abhängigen Ansprüchen angegeben.
Die Verfahren und Datenspeicherlaufwerke stellen einen kassettenunabhängigen Überschreibschutz für entnehmbare, wiederbeschreibbare (Nicht-WORM-) Datenspeicherkassetten bereit.
Eine Befehlsstruktur zum Durchführen von Prozeduren (procedures) zum Schutz von Kassettendaten gegen Überschreiben für wiederbeschreibbare Nicht-WORM-Kassetten wird eingerichtet, unabhängig von oder ungeachtet der Abwesenheit von Kassettensteuerungen bezüglich des Schutzes von Daten gegen Überschreiben; für derartige Kassetten reagiert die Befehlsstruktur auf einen Befehl zur Erlaubnis des Überschreibens von Daten dahingehend, dass einem unmittelbar nachfolgenden Befehl des Schreibtyps erlaubt wird, auch dann auf eine Kassette zu schreiben, wenn der Schreibbefehl vorhandene Daten überschreibt. Die eingerichtete Befehlsstruktur wird für das Datenspeicherlaufwerk für entnehmbare Kassetten aktiviert.
-
Der erlaubte Befehl des Schreibtyps der Befehlsstruktur kann einen Befehl zum Schreiben von Daten mit oder ohne einen Befehl zur Lokalisierung des Schreibbeginns umfassen.
-
Die Prozeduren des Datenspeicherlaufwerks zum Schutz von Daten gegen Überschreiben können den Schritt umfassen, dass jeder Befehl des Schreibtyps fehlschlägt, der versucht, zuvor geschriebene Daten der Datenspeicherkassette zu überschreiben, außer beim Überschreiben eines Schreibanhangbegrenzers am Ende der zuvor geschriebenen Daten.
-
Der Schritt des Einrichtens der Befehlsstruktur des Datenspeicherlaufwerks kann das Einrichten einer Modusseite umfassen.
-
Der Schritt des Aktivierens der Befehlsstruktur kann das Platzieren eines Aktivierungssignals innerhalb der Modusseite umfassen.
-
Die Befehlsstruktur des Datenspeicherlaufwerks kann zusätzlich den Schritt des Reagierens auf einen dem Befehl zur Erlaubnis des Überschreibens von Daten unmittelbar nachfolgenden Befehl des Nichtschreib-Typs, Zurücksetzen der Prozeduren zum Überschreiben des Schutzes von Daten umfassen, und dass ein nachfolgender Überschreibversuch dazu führt, dass ein Fehlerprüfungsstatus zurückgemeldet und ein Datenschutz-Sense-Key ausgegeben wird.
-
Die Befehlsstruktur des Datenspeicherlaufwerks kann zusätzlich den Schritt umfassen, dass nach Abschluss des unmittelbar nachfolgenden Befehls des Schreibtyps die Prozeduren zum Überschreiben des Schutzes von Daten zurückgesetzt werden.
-
Der Schritt der Befehlsstruktur des Datenspeicherlaufwerks zur Erlaubnis eines Befehls des Schreibtyps kann nur für den Teilbereich der Datenspeicherkassette gelten, auf den sich der Befehl zur Erlaubnis des Überschreibens von Daten richtet, so dass die Prozeduren zum Überschreiben des Schutzes von Daten für die anderen Teilbereiche der Datenspeicherkassette weiterhin gelten.
-
Der Schutz einer wiederbeschreibbaren Datenspeicherkassette gegen das Überschreiben von Daten kann die folgenden Schritte umfassen: Erkennen, ob es sich bei einer Kassette um eine Nicht-WORM-Kassette handelt; Steuern von Prozeduren zum Schutz gegen das Überschreiben von Daten von Nicht-WORM-Kassetten unabhängig von der Abwesenheit von Kassettensteuerungen der wiederbeschreibbaren Datenspeicherkassette bezüglich des Schutzes von Daten gegen Überschreiben; Reagieren auf einen Überschreib-Zulassungs-Befehl, um für eine derartige Nicht-WORM-Kassette einen sofort nachfolgenden Schreib-Befehl zuzulassen, selbst wenn durch den Schreibbefehl vorhanden Daten überschrieben werden.
-
Figurenliste
-
In Folgenden werden nun beispielhafte Ausführungsformen der Erfindung unter Bezug auf die begleitenden Zeichnungen beschrieben, wobei:
- 1 eine isometrische Ansicht einer entnehmbaren Datenspeicherkassette mit einem Datenträger wie beispielsweise einem Magnetband sowie einen gestrichelt dargestellten Kassettenspeicher zeigt;
- 2 ein Blockschaltbild eines Datenspeicherlaufwerks zum Umgang mit der entnehmbaren Datenspeicherkassette in 1 zeigt, bei der Aspekte der vorliegenden Erfindung umgesetzt werden können;
- 3 ein Schaubild von auf einem Magnetband vorhandenen Informationen zeigt;
- 4 ein Schaubild von beispielsweise auf einem Datenspeicherlaufwerk vorhandenen Daten einer Befehlsstruktur zeigt;
- 5 einen Ablaufplan zeigt, der die Bereitstellung und Aktivierung der Befehlsstruktur von 4 wiedergibt;
- 6 ein Schaubild eines dem Datenspeicherlaufwerk von 2 bereitgestellten Befehls zeigt und
- 7 einen Ablaufplan zeigt, der ein beispielhaftes Verfahren für den Betrieb des Datenspeicherlaufwerks von 2 wiedergibt.
-
DETAILLIERTE BESCHREIBUNG
-
Die vorliegende Erfindung wird in der folgenden Beschreibung anhand bevorzugter Ausführungsformen und unter Bezug auf die Abbildungen beschrieben, in denen identische Nummern identische oder ähnliche Elemente kennzeichnen. Während die Erfindung im Hinblick auf die beste Ausführungsform zur Erreichung der Ziele der Erfindung beschrieben wird, ist für den Fachmann ersichtlich, dass bezüglich der Lehre dieser Erfindung Variationen vorgenommen werden können, ohne vom Umfang der Erfindung gemäß den angehängten Ansprüchen abzuweichen.
-
1 zeigt ein Beispiel einer Datenspeicherkassette 10, wie beispielsweise eine Magnetbandkassette, die ein wiederbeschreibbares Magnetband 11, das auf eine Nabe 12 einer Spule 13 aufgewickelt ist, sowie einen Kassettenspeicher 14 umfasst. Ein Beispiel für eine Magnetbandkassette stellt eine auf der LTO- (Linear Tape Open) Technik beruhende Kassette dar. Der Kassettenspeicher 14, umfasst beispielsweise einen Antwortsender (transponder) mit einer berührungslosen Schnittstelle, der sich in der Kassette 10 befindet und beispielsweise bei der Montage der Kassette auf eine dem Fachmann bekannte Weise in diese eingebaut wird. Bei der abgebildeten Magnetbandkassette handelt es sich um eine Kassette mit einer einzigen Spule. Magnetbandkassetten können jedoch auch als Kassetten mit zwei Spulen ausgebildet sein, wobei das Band zwischen den Spulen der Kassette weitertransportiert wird.
-
In 2 ist ein Magnetbandlaufwerk 15 abgebildet. Ein Beispiel für ein Magnetbandlaufwerk, in dem die vorliegende Erfindung verwendet werden kann, ist das auf der LTO-Technologie beruhende Magnetbandlaufwerk IBM 3580 Ultrium mit Microcode usw., mit dem gewünschte Vorgänge im Hinblick auf die Magnetbandkassette 10 ausgeführt werden können. Im vorliegenden Beispiel ist das Magnetband 11 auf eine Spule 13 in der Kassette 10 gewickelt und wird nach Einlegen in das Magnetbandlaufwerk 15 zwischen der Kassettenspule und der Aufnahmespule 16 im Magnetbandlaufwerk weitertransportiert. Alternativ hierzu können zum Vorschub des Magnetbands zwischen den Spulen auch beide Spulen einer Kassette mit zwei Spulen angetrieben werden.
-
Das Magnetbandlaufwerk umfasst eine Speicherschnittstelle 17 zum Lesen von Daten von und zum Schreiben von Daten auf den Kassettenspeicher 14 der Magnetbandkassette 10. Zum Lesen und Schreiben von Daten auf das Magnetband dient ein Lese-/Schreibsystem, das beispielsweise Folgendes umfassen kann: ein Lese-/Schreib- und Servokopfsystem 18 mit einem Servosystem zum Bewegen des Kopfes seitlich zum Magnetband 11, eine Lese-/Schreib-Servosteuerung 19 und ein Antriebsmotorsystem 20, welches das Magnetband 11 zwischen der Kassettenspule 13 und der Aufnahmespule 16 und über das Lese-/Schreib- und Servokopfsystem 18 bewegt. Die Lese-/Schreib- und Servosteuerung 19 steuert den Betrieb des Antriebsmotorsystems 20, der das Magnetband 11 mit einer gewünschten Geschwindigkeit über das Lese-/Schreib- und Servokopfsystem 18 bewegt und in einem Beispiel die Position des Lese-/Schreib- und Servokopfsystems relativ zum Magnetband 11 festlegt. In einem Beispiel verwenden das Lese-/Schreib- und Servokopfsystem 18 und die Lese-/Schreib- und Servosteuerung 19 Servosignale auf dem Magnetband 11, um die Position des Lese-/Schreib- und Servokopfsystems festzulegen. In einem weiteren Beispiel verwendet die Lese-/Schreib- und Servosteuerung 19 mindestens eine der Spulen wie in der Art eines Tachometers, um die Position des Lese-/Schreib- und Servokopfsystems relativ zum Magnetband 11 festzulegen. Das Lese-/Schreib- und Servokopfsystem 18 und die Lese-/Schreib- und Servosteuerung 19 können Hardware-Elemente sowie jedwede geeignete Form von Logik, darunter ein durch Software betriebener Prozessor oder Mikrocode oder eine Firmware oder eine Hardware-Logik oder eine Kombination daraus, aufweisen.
-
Eine Schnittstelle 23 dient zum Datenaustausch im Hinblick auf eines oder mehrere Host-Systeme oder Werkzeugprozessoren 25 und ist so eingerichtet, dass Daten außerhalb des Datenspeicherlaufwerks empfangen und gesendet werden können. Alternativ dazu kann das Magnetbandlaufwerk 15 Teil eines Teilsystems wie einer Bibliothek sein und zudem Befehle vom Teilsystem ebenfalls über die Schnittstelle 23 empfangen.
-
Eine Steuerung 24 tauscht Daten mit der Host-Schnittstelle 23, mit der Speicherschnittstelle 17 und mit dem Lese-/Schreibsystem z.B. über die Lese-/Schreib- und Servosteuerung 19 aus. Die Steuerung 24 kann jedwede geeignete Form von Logik, darunter ein oder mehrere durch Software betriebene Prozessoren oder Mikrocode oder Firmware oder Hardware-Logik oder eine Kombination daraus, umfassen.
-
Die abgebildeten und alternativen Ausführungsformen für Magnetbandlaufwerke einschließlich derer mit Kassetten mit zwei Spulen sind dem Fachmann bekannt.
-
Andere Arten entnehmbarer Datenspeicherkassetten und Datenspeicherlaufwerke sind dem Fachmann ebenfalls bekannt. Beispiele hierfür umfassen optische Festplattenkassetten und - laufwerke, optische Bandkassetten und -laufwerke, entnehmbare Computerdisketten und -laufwerke, starre Magnetfestplattenkassetten und -laufwerke usw.
-
Die Steuerung 24 tauscht üblicherweise über die Schnittstelle 23 mit dem einen oder den mehreren Host-Systemen 25, dem Werkzeug- oder dem Teilsystem Daten aus, steuert das Magnetbandlaufwerk 15 entsprechend den vom Host stammenden Befehlen an usw. und reagiert zudem auf Befehle vom Teilsystem.
-
Wie abgebildet stellt das Magnetbandlaufwerk 15 dem Magnetband 11 der Magnetbandkassette 10 Daten bereit.
-
Wie in 3 gezeigt, kann ein Magnetband 11 auf viele Arten organisiert werden. Üblicherweise weist ein Magnetband parallel angeordnete Spuren auf, kann jedoch ebenfalls mehrere Bündel von Gruppen parallel angeordneter Spuren (parallel wraps of groups of parallel tracks) aufweisen. In einem Beispiel wird das Magnetband längs in einer ersten Richtung bewegt, während das Kopfsystem Daten bezüglich eines der Bündel liest und/oder schreibt. Dann wird das Magnetband umgekehrt, in die Gegenrichtung bewegt und das Kopfsystem auf ein anderes Bündel verschoben.
-
Zur Veranschaulichung sind in 3 die Daten eines Bereichs eines einzelnen Bündels des Magnetbands 11 ausgebreitet dargestellt. Ein typischer Aufbau beinhaltet hierbei zu Beginn einen Vorsatz (header) 71, beispielsweise einer Datei, gefolgt von Benutzerdaten 73. Ein Nachlauf 78 kann ähnlich wie am Ende einer Benutzerdatei das Ende einer Datei anzeigen und beispielsweise eine Dateimarke 79 umfassen. Das Datenende kann eine Reihe weiterer Dateimarken 80 und einen Marker für das Datenende 81 umfassen.
-
In dem in 3 gezeigten Beispiel gibt ein Zeiger 82 die Position am Ende der Benutzerdaten 73 und vor den Konstrukten des Datenendes an. Für den Fachmann sind ähnliche Konstrukte für weitere Beispiele von Magnetbändern oder weitere Arten von Kassetten vorstellbar.
-
Wie oben ausgeführt, möchten Benutzer in vielen Fällen Daten auf solchen wiederbeschreibbaren Datenträgern dauerhaft speichern und sie vor dem Überschreiben schützen. Die zuvor genannten Patente '846 und '803 ermöglichen den Schutz von Daten, die auf Datenspeicherkassetten mit wiederbeschreibbaren Datenträgern geschriebenen wurden, wobei der Schutz durch die Datenspeicherkassetten gesteuert wird und manipulationssicher ist. Dadurch können die Kassetten in verschiedene Datenspeicherlaufwerke eingelegt und die Daten nach wie vor geschützt werden. Wie in 1 gezeigt, wird ein Merker für einmaliges Schreiben in einen sperrbaren Bereich des Kassettenspeichers 14 geschrieben, und der Kassettenspeicher ist gesperrt. Zudem wird ein Merker für einmaliges Schreiben auf einen erforderlichen Datensatz des wiederbeschreibbaren Datenträgers 11 geschrieben. Auf diese Weise werden Merker für einmaliges Schreiben sowohl im gesperrten Bereich des Kassettenspeichers als auch dem erforderlichen Datensatz des wiederbeschreibbaren Datenträgers bereitgestellt. Die Datenspeicherlaufwerke werden durch diesen Merker für einmaliges Schreiben eingeschränkt und das Überschreiben der geschützten Daten verhindert. Mittels des sperrbaren Abschnitts des Kassettenspeichers wird der Schutz manipulationssicher. Eine derartige Kassette kann auch als WORM bzw. „write once - read many“ (einmal beschreiben - vielmals auslesen) bezeichnet werden.
-
Die Kassetten werden üblicherweise für den WORM-Schutz initialisiert. Eine derartige initialisierte Kassette mit einem derartigen Schutz ist für den Benutzer möglicherweise jedoch nicht immer dann verfügbar, wenn der Schutz von Daten gegen Überschreiben gewünscht wird. Andererseits haben vielleicht die gesamten oder Teile der Daten auf einer Nicht-WORM-Kassette ihren Nutzen verloren, so dass es wünschenswert sein kann, die Kassette oder Teile davon zu regenerieren, um neue Daten zu speichern.
-
Die vorliegende Erfindung ermöglicht es dem Benutzer, den Schutz von Daten einer Nicht-WORM-Kassette beim Datenspeicherlaufwerk zu steuern. In einer Ausführungsform erfolgt die Steuerung des Schutzes von Daten durch eine Befehlsstruktur des Datenspeicherlaufwerks.
-
4 zeigt ein Beispiel einer Befehlsstruktur 100, die Daten gemäß Ausführungsformen der vorliegenden Erfindung enthält. Eine derartige Befehlsstruktur kann beispielsweise eine Modusseite sein. Eine Mödusseite entspricht den Daten, die einen Befehl zur Modusauswahl begleiten, der vom Host oder einem Werkzeugprozessor zu irgendeiner Zeit an das Datenspeicherlaufwerk gesendet wird. Eine Modusseite und ein Befehl zur Modusauswahl stellen nur eine von vielen Ausführungsformen einer Befehlsstruktur dar. Über eine Einstellung 103 kann eine bestehende Befehlsstruktur aktiviert oder deaktiviert werden. Die Einstellung zur Aktivierung oder Deaktivierung 103 kann sich zu der Zeit, zu der die Befehlsstruktur bereitgestellt wird, jedoch auch innerhalb der Daten befinden. Im normalen Verhalten, wie beispielsweise bei SCSI, können die Befehlsstruktur 100 und die Einstellung 103 entweder auf nichtflüchtigem Speicher oder auf dem flüchtigem Steuerungsspeicher 24 von 2 gespeichert sein. Wenn die Einstellung auf nichtflüchtigem Speicher gespeichert ist, ist diese Einstellung auch über Ein- und Ausschaltvorgänge hinweg stets abrufbar und bleibt eingestellt, bis sie durch einen weiteren Befehl zur Modusauswahl explizit geändert wird. Befinden sich die Befehlsstruktur und die Einstellung lediglich in flüchtigem Speicher, bleiben sie nur bis zum nächsten Ausschalten oder solange bestehen, bis sie durch einen weiteren Befehl zur Modusauswahl explizit geändert werden.
-
5 zeigt Ausführungsformen des Prozesses zur Bereitstellung und Aktivierung der Befehlsstruktur 100 von 4 beginnend mit Schritt 110. Der Host- oder Werkzeugprozessor 25 von 2 stellt den Befehl zur Modusauswahl bereit, der die Befehlsstruktur 100 von 4 oder alternativ dazu ein auf den Empfang der Befehlsstruktur folgendes Aktivierungssignal umfasst.
-
Unter Bezugnahme auf 2, 4 und 5 wird der Befehl für die Befehlsstruktur oder zur Modusauswahl in Schritt 105 über die Schnittstelle 23 empfangen und Schritt 107 fügt die Befehlsstruktur 100 in den gewünschten Speicher (flüchtig oder nichtflüchtig) der Steuerung 24 ein. In einer Ausführungsform wird die Befehlsstruktur durch ein über die Befehlsstruktur bereitgestelltes Aktivierungssignal aktiviert 108 oder durch ein über die Befehlsstruktur 100 bereitgestelltes Deaktivierungssignal deaktiviert 109, was jeweils durch die Einstellung 103 angegeben wird. Alternativ dazu wird das Signal 103 zur Aktivierung 108 infolge des Empfangs einer Befehlsstruktur 100, beispielsweise durch einen weiteren Befehl zur Modusauswahl, aktiviert. In einer bevorzugten Ausführungsform wird die Befehlsstruktur als Modusseite 100 mit dem in der Modusseite enthaltenen Aktivierungssignal 103 bereitgestellt.
-
Die Funktion der Befehlsstruktur 100 besteht darin, die Prozeduren zum Schutz von Kassettendaten gegen Überschreiben für wiederbeschreibbare Nicht-WORM-Kassetten unabhängig von und ungeachtet der Abwesenheit von Kassettensteuerungen zu steuern, was auch das Verhindern jeglichen Überschreibens zuvor geschriebener Daten umfasst. Somit sind die Daten, die auf eine Kassette geschrieben wurden, die keine WORM-Kassette ist, noch gegen Überschreiben geschützt. Alternativ dazu können die Prozeduren auch direkt am Datenspeicherlaufwerk durch die Steuerung 24 von 2 ausgeführt werden.
-
6 zeigt einen besonderen Befehl, bei dem das Datenspeicherlaufwerk die wiederbeschreibbare Nicht-WORM-Kassette steuert, indem Daten der Kassette überschrieben werden dürfen. Dieser besondere Befehl ist ein Befehl zur Erlaubnis des Überschreibens von Daten 120, der durch die Befehlsstruktur 100 in 4 umgesetzt werden kann. Der Befehl zur Erlaubnis des Überschreibens von Daten 120 umfasst beispielsweise einen Opcode 121, der von anderen Befehlen, wie beispielsweise SCSI-Befehlen, nicht verwendet wird. Wie alle Befehle wird der Opcode durch Daten 122 begleitet, die Einzelheiten zu Befehlsaspekten enthalten können, wie beispielsweise die Bezeichnung des Teilbereichs auf der Datenspeicherkassette gespeicherter Daten, den der Befehl betrifft. Sobald das Datenspeicherlaufwerk den Befehl 120 empfängt, und falls auf diesen unmittelbar ein Befehl des Schreibtyps folgt, der einen unmittelbar nachfolgenden Befehl umfasst (und nur dann!), darf der Schreibbefehl alle Daten des Teilbereichs oder der Kassette überschreiben. Wenn auf den Befehl zur Erlaubnis des Überschreibens von Daten 120 stattdessen ein Befehl folgt, der kein Befehl des Schreibtyps ist, wird die Funktion zur Erlaubnis des Überschreibens von Daten zurückgesetzt, so dass ein darauf folgender Schreibversuch dazu führt, dass ein Fehlerprüfungsstatus zurückgemeldet und ein Datenschutz-Sense-Key ausgegeben wird.
-
In einer Ausführungsform umfasst der erlaubte Befehl des Schreibtyps einen Schreibbefehl mit oder ohne einen Befehl zur Lokalisierung des Schreibbeginns. Die Lokalisierung muss dem Schreibbefehl zugeordnet sein.
-
In eine Ausführungsform kann eine Folge von Befehlen unmittelbar nach dem besonderen Befehl 120 beginnen. Im Falle eines Magnetbandes als Beispiel löscht infolge des unmittelbar folgenden Befehls des Schreibtyps das Überschreiben selbst jegliche vorherigen Daten und den Schreibanhangbegrenzer, der der Lokalisierung des Schreibbefehls folgt. Auf diese Weise werden der Schreibbefehl und alle direkt folgenden Schreibbefehle ausgeführt. Der letzte Befehl richtet dann einen neuen Schreibanhangbegrenzer ein.
-
Sobald der unmittelbar nachfolgende Befehl des Schreibtyps abgeschlossen wurde, werden die Prozeduren zum Überschreiben des Schutzes von Daten wieder zurückgesetzt.
-
Bei einer Ausführungsform gibt der Befehl, der das Überschreiben von Daten erlaubt, die Stelle an, an der ein Überschreiben erlaubt ist. Falls die Kassette mehrere Partitionen umfasst und der Befehl zur Erlaubnis des Überschreibens von Daten 120 die Partition angibt, für die er gelten soll, gilt der Befehl des Schreibtyps nur für die Partition, auf die sich der Befehl des Schreibtyps richtet, so dass die Prozeduren zum Überschreiben des Schutzes von Daten für andere Partitionen der Datenspeicherkassette weiterhin gelten. Alternativ dazu kann der Befehl zur Erlaubnis des Überschreibens von Daten auch eine vollständige Neuformatierung des Datenträgers, beispielsweise durch Ändern der Zahl und/oder Größe der Partitionen, gestatten.
-
3 zeigt eine Ausführungsform der Erfindung, bei der die Prozeduren zum Schutz der Daten gegen Überschreiben den Schritt umfassen, dass jeder Befehl des Schreibtyps fehlschlägt, der versucht, zuvor geschriebene Daten der Datenspeicherkassette zu überschreiben, außer beim Überschreiben eines Schreibanhangbegrenzers wie der Zusatzdateimarke 80 und der Anzeige des Datenendes 81 am Ende der zuvor geschriebenen Daten. Dadurch können am Ende der zuvor geschriebenen Daten zusätzliche Daten angehängt werden
-
Ein Beispiel für die Prozeduren der aktivierten Befehlsstruktur und des Befehls zur Erlaubnis des Überschreibens von Daten ist in 7 abgebildet. In 4, 6 und 7 kann die aktivierte Befehlsstruktur als „Datensicherheitsmodus“ bezeichnet werden. Er wird in Schritt 150 aktiviert. Ein Befehl wird in Schritt 153 empfangen, und Schritt 154 ermittelt, ob die in das Laufwerk eingelegte Datenspeicherkassette über Steuerungen für das Schreiben auf die Kassette verfügt, d.h., ob sie eine WORM-Kassette ist.
-
Dies kann dadurch erfolgen, dass der Kassettenspeicher 14 geprüft wird oder ein Merker oder andere Merkmale vom Datenträger 11 gelesen werden. Handelt es sich um eine WORM-Kassette, wird sie in Schritt 156 gemäß den Prozeduren zur Schreibsteuerung für WORM-Kassetten behandelt. Handelt es sich nicht um eine WORM-Kassette, wird in Schritt 155 ermittelt, ob der Befehl zur Erlaubnis des Überschreibens von Daten im unmittelbar vorausgehenden Befehl empfangen wurde. Eine Möglichkeit der Verfolgung besteht darin, dass der Befehl zur Erlaubnis des Überschreibens von Daten einen Auslöser für „unmittelbar folgendes Schreiben“ (UFS) setzt. Der Auslöser kann für eine bestimmte Partition gesetzt werden. In Schritt 155 wird geprüft, ob dieser Auslöser vorhanden ist. In Schritt 155 sind auch alternative Prozeduren möglich, um zu ermitteln, ob der Befehl zur Erlaubnis des Überschreibens von Daten als unmittelbar vorangehender Befehl empfangen wurde.
-
Ist unmittelbar folgendes Schreiben nicht gesetzt, wird in Schritt 157 nach einem Befehl zur Erlaubnis des Überschreibens von Daten gesucht. Handelt es sich bei dem Befehl um den Befehl zur Erlaubnis des Überschreibens von Daten, erwartet die Befehlsstruktur, dass der unmittelbar nachfolgende Befehl ein Befehl des Schreibtyps sein wird. Eine Möglichkeit, diese Erwartung festzulegen, ist das Setzen des Auslösers für unmittelbar folgendes Schreiben (UFS) in Schritt 160, wie oben erläutert.
-
Handelt es sich beim empfangenen Befehl jedoch nicht um einen Befehl zur Erlaubnis des Überschreibens von Daten, wird in Schritt 163 nach einem Schreibbefehl gesucht. Handelt es sich bei dem Befehl nicht um einen Schreibbefehl, wird er in Schritt 165 normal abgearbeitet. In dem Prozess wird dann in Schritt 153 nach dem nächsten Befehl gesucht.
-
Handelt es sich bei dem Befehl um einen Schreibbefehl, wird im Schritt 167 zum Schutz gegen Überschreiben von Daten ermittelt, ob der Schreibbefehl, falls erlaubt, die zuvor geschriebenen Daten der Datenspeicherkassette wie oben erläutert überschreiben wird. Falls ja, bewirkt Schritt 170, dass der Befehl fehlschlägt, indem beispielsweise entsprechend des anwendbaren Protokolls ein Fehlerprüfungsstatus zurückgemeldet oder ein Datenschutz-Sense-Key ausgegeben wird. Im Prozess kann dann in Schritt 153 nach dem nächsten Befehl gesucht werden. Erlaubt das Protokoll der Befehlsstruktur einen Schreibbefehl, der nicht zu einem Überschreiben führt, wird in Schritt 167 mit Schritt 173 fortgefahren, um den annehmbaren Schreibbefehl abzuarbeiten. Ein Beispiel für einen annehmbaren Schreibbefehl, der nicht zum Überschreiben zuvor geschriebener Daten führt, ist ein Schreibbefehl, der Daten am Ende der zuvor geschriebenen Daten anhängt. Wie oben erläutert, kann der Befehl einen Schreibanhangbegrenzer wie die Zusatzdateimarke 80 und die Anzeige des Datenendes 81 am Ende der zuvor geschriebenen Daten überschreiben, wie in 3 abgebildet. In dem Prozess wird dann in Schritt 153 nach dem nächsten Befehl gesucht.
-
Ergibt Schritt 155, dass der Befehl zur Erlaubnis des Überschreibens von Daten als unmittelbar vorangehender Befehl empfangen wurde, d.h. „JA“, so wird in Schritt 180 ermittelt, ob es sich beim vorliegenden Befehl um einen Befehl des Schreibtyps handelt. Falls nicht, werden die Prozeduren zum Überschreiben des Schutzes von Daten in Schritt 183 zurückgesetzt. Bei einer Ausführungsform wird der Auslöser für unmittelbar folgendes Schreiben (UFS) zurückgesetzt.
-
Der Befehl, der nicht vom Schreibtyp ist, kann dann in Schritt 165 normal abgearbeitet werden. In dem Prozess wird dann in Schritt 153 nach dem nächsten Befehl gesucht.
-
Da der Befehl, der unmittelbar auf den besonderen Befehl zur Erlaubnis des Überschreibens von Daten folgt, kein Befehl des Schreibtyps war, hebt Schritt 183 der gültigen Befehlsstruktur den Befehl zur Erlaubnis des Überschreibens von Daten auf und stellt den Schutz der zuvor geschriebenen Daten weiterhin sicher.
-
Bei einer Ausführungsform setzt nicht jeder Befehl, der kein Schreibbefehl ist, den Auslöser für unmittelbar folgendes Schreiben von Schritt 183 zurück. So setzen beispielsweise Befehle, die keine Befehle des Schreibtyps sind, das UFS nur dann zurück, wenn sie Auswirkungen auf den Schreibvorgang haben. Wie dem Fachmann bekannt ist, haben Befehle wie das Ändern der Position, das Ändern der Blockgröße usw. Auswirkungen auf den Schreibvorgang. Befehle wie Abfragen haben keine Auswirkungen auf das Schreiben und würden dann das UFS von Schritt 183 nicht zurücksetzen. Der Befehl wird unter Umgehung von Schritt 183, wie durch den Pfad 184 gezeigt, in Schritt 165 abgearbeitet.
-
Wenn der Befehl zur Erlaubnis des Überschreibens von Daten wie in Schritt 155 angegeben der unmittelbar vorangehende Befehl ist und der vorliegende unmittelbar nachfolgende Befehl wie in Schritt 180 angegeben ein Befehl des Schreibtyps ist, darf der Befehl des Schreibtyps in Schritt 186 abgearbeitet werden und auch dann auf die Kassette schreiben, wenn der Schreibbefehl vorhandenen Daten überschreibt. Wie oben erläutert, bewirkt im Fall des Überschreibens von Magnetband das Überschreiben selbst, dass die Daten gelöscht werden, die dem Überschreiben auf das vorangehende Datenende für den Teilbereich folgen. Somit erfolgt jedes weitere Schreiben so, als ob die Daten ein normaler Anhang von Schritt 173 wären. Das Überschreiben und sämtliche Anhänge müssen dann mit einem neuen Datenende, wie beispielsweise einem neuen Schreibanhangbegrenzer, enden.
-
Sobald der unmittelbar nachfolgende Befehl des Schreibtyps (oder eine Folge von Befehlen) abgeschlossen ist, werden die Prozeduren zum Überschreiben des Schutzes von Daten in Schritt 189 zurückgesetzt. Bei einer Ausführungsform wird der Auslöser für unmittelbar folgendes Schreiben (UFS) zurückgesetzt. In dem Prozess wird dann in Schritt 153 nach dem nächsten Befehl gesucht. In Schritt 189 der Befehlsstruktur wird der Befehl zur Erlaubnis des Überschreibens von Daten im Hinblick auf alle nachfolgenden Befehle nach dem Abschluss des Überschreibens in Schritt 186 für ungültig erklärt und der fortgesetzte Schutz der neu geschriebenen Daten und sämtlicher nicht überschriebener Daten wiederhergestellt.
-
Alternativ zu den in 7 gezeigten Protokollen und Prozeduren können auch andere zur Erfüllung der Funktion eines kassettenunabhängigen Schutzes von Daten auf wiederbeschreibbaren Datenspeicherkassetten verwendet werden. Dies schließt auch die Ausführung von Prozeduren zum Schutz von Daten gegen Überschreiben ein, die unabhängig von Kassettensteuerungen bezüglich des Schutzes von Daten gegen Überschreiben sind. Ebenso eingeschlossen ist das Reagieren auf einen Befehl zur Erlaubnis des Überschreibens von Daten dahingehend, dass ein unmittelbar nachfolgender Befehl des Schreibtyps auch dann auf die Kassette schreiben darf, wenn der Schreibbefehl vorhandene Daten überschreibt.
-
Bei Umsetzungen können Software, Firmware, Mikrocode, Hardware und/oder jedwede Kombination daraus Anwendung finden. Die Umsetzung kann dabei in Form von Code oder einer auf einem Datenträger wie Speicher, Arbeitsspeicher und/oder einer in dem Steuerschaltkreis 24 von 2 verfügbaren Logik erfolgen. Dabei kann der Datenträger Hardware-Logik (z.B. ein Baustein mit integrierter Schaltung, ein programmierbares Gate-Array [Programmable Gate Array PGA], eine anwenderspezifische integrierte Schaltung [Application Specific Integrated Circuit ASIC] oder ein anderer Schaltkreis, eine andere Logik oder Einheit) oder ein computerlesbares Speichermedium, wie beispielsweise ein Magnetspeichermedium (z.B. ein elektronisches, magnetisches, Infrarot- oder Halbleiter-System, Halbleiter- oder Festkörperspeicher, Magnetband, eine entnehmenbare Computerdiskette sowie Speicher mit wahlfreiem Zugriff [RAM], Nur-Lese-Speicher [ROM], eine starre Magnetfestplatte und eine optische Festplatte, eine schreibgeschützte Compact Disk [CD-ROM], eine lese-/schreibfähige Compact Disk [CD-R/W] und eine DVD), umfassen.