DE112018005316T5 - Schnelle Lokalisierung unter Verwendung von Nachahmungslesevorgängen auf Bandlaufwerken - Google Patents

Schnelle Lokalisierung unter Verwendung von Nachahmungslesevorgängen auf Bandlaufwerken Download PDF

Info

Publication number
DE112018005316T5
DE112018005316T5 DE112018005316.4T DE112018005316T DE112018005316T5 DE 112018005316 T5 DE112018005316 T5 DE 112018005316T5 DE 112018005316 T DE112018005316 T DE 112018005316T DE 112018005316 T5 DE112018005316 T5 DE 112018005316T5
Authority
DE
Germany
Prior art keywords
tape
magnetic tape
requested data
read
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.)
Granted
Application number
DE112018005316.4T
Other languages
English (en)
Other versions
DE112018005316B4 (de
Inventor
Atsushi Abe
Setsuko Masuda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112018005316T5 publication Critical patent/DE112018005316T5/de
Application granted granted Critical
Publication of DE112018005316B4 publication Critical patent/DE112018005316B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/213Tape storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Adjustment Of The Magnetic Head Position Track Following On Tapes (AREA)

Abstract

Ein durch einen Computer umgesetztes Verfahren gemäß einer Ausführungsform enthält: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, ein Bestimmen, ob sich eine Kopie eines Abschnitts der angeforderten Daten in einem Cache befindet, ein Anweisen eines Bandlaufwerks, auf Abschnitte der angeforderten Daten zuzugreifen, für die bestimmt wurde, dass sie sich nicht im Cache befinden, für jeden der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, ein Bestimmen, ob ein mehrmaliges Ausführen eines Lokalisierungsbefehls oder Ausführen eines Lesebefehls die Abschnitte der angeforderten Daten in einem kürzeren Zeitraum abruft, ein Ausgeben des Befehls, der zum Abrufen der Abschnitte der angeforderten Daten in dem kürzeren Zeitraum bestimmt ist, ein Kombinieren der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, mit dem Abschnitt der angeforderten Daten, der sich in dem Cache befindet, und ein Erfüllen der Leseanforderung.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft Datenspeichersysteme und insbesondere betrifft diese Erfindung ein Lesen von lokalisierten Daten unter Verwendung von Bandlaufwerken.
  • In Magnetspeichersystemen lesen Magnetwandler Daten aus magnetischen Aufzeichnungsmedien und schreiben Daten in diese. Daten werden auf die magnetischen Aufzeichnungsmedien geschrieben, indem ein magnetischer Aufzeichnungswandler in eine Position über den Medien bewegt wird, auf denen die Daten gespeichert werden sollen. Der magnetische Aufzeichnungswandler generiert dann ein Magnetfeld, das die Daten in die magnetischen Medien encodiert. Die Daten werden aus den Medien durch ein ähnliches Positionieren des magnetischen Lesewandlers und ein anschließendes Abfühlen des Magnetfelds der magnetischen Medien gelesen. Lese- und Schreiboperationen können unabhängig voneinander mit der Bewegung der Medien synchronisiert werden, um sicherzustellen, dass die Daten aus dem gewünschten Speicherort auf den Medien gelesen und in diesen geschrieben werden können.
  • Ein Zugreifen auf Daten, die vorher auf ein Magnetband geschrieben wurden, umfasst typischerweise ein Lokalisieren des Magnetbands, auf das die Daten geschrieben wurden, ein Abrufen des Magnetbands, ein Laden des Magnetbands in ein Bandlaufwerk, ein Ausrichten eines Magnetkopfs in dem Bandlaufwerk auf den bestimmten Abschnitt des Magnetbands, auf den die Daten geschrieben sind, und ein tatsächliches Lesen der Daten. Versuche zum Verringern von Datenzugriffszeiten führten die Verwendung einer Zwischenspeicherung in Kombination mit Magnetband ein. Wenn Daten auf ein Magnetband geschrieben und/oder aus einem Magnetband gelesen werden, werden die Daten vorübergehend in einem Cache gespeichert, sodass auf sie leichter und schneller zugegriffen werden kann. Da die Menge an verfügbarem Platz in dem Cache jedoch im Lauf der Verwendung abnimmt, werden die in dem Cache gespeicherten Daten gelöscht, wodurch der Cache zum Speichern von anderen Daten freigegeben wird. Wenn eine bestimmte Datei geschrieben wird, die eine Größe aufweist, die größer als die Größe des Cache ist, bleibt dementsprechend zu jedem Zeitpunkt nur ein Abschnitt der Datei in dem Cache, wodurch veranlasst wird, dass die Datei einem Arbeitsspeicher in nicht zusammenhängenden Bereichen zugewiesen wird.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Ein durch einen Computer umgesetztes Verfahren gemäß einer Ausführungsform der Erfindung enthält: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, wobei die Daten mehrere Abschnitte aufweisen, ein Bestimmen, ob sich eine Kopie eines Abschnitts der angeforderten Daten in einem Cache befindet, ein Anweisen eines Bandlaufwerks, auf dem Magnetband auf Abschnitte der angeforderten Daten zuzugreifen, für die bestimmt wurde, dass sie sich nicht in dem Cache befinden, für jeden der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, ein Bestimmen, ob ein mehrmaliges Ausführen eines Lokalisierungsbefehls oder ein Ausführen eines Lesebefehls die Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, in einem kürzeren Zeitraum abruft, ein Ausgeben des Befehls, der zum Abrufen der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, in dem kürzeren Zeitraum bestimmt ist, ein Kombinieren der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, mit dem Abschnitt der angeforderten Daten, der sich in dem Cache befindet, und ein Erfüllen der Leseanforderung.
  • Ein durch einen Computer umgesetztes Verfahren gemäß einer weiteren Ausführungsform der Erfindung enthält: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, wobei die Daten mehrere Abschnitte aufweisen, ein Anweisen eines Bandlaufwerks, auf die angeforderten Daten auf dem Magnetband zuzugreifen, und für jeden Abschnitt der anforderten Daten ein Ausführen eines iterativen Prozesses zu: einem Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten aus dem Magnetband zu lesen, einem Bestimmen, ob sich eine Kopie des Abschnitts der angeforderten Daten in einem Cache befindet, einem Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten, die aus dem Magnetband gelesen wurden, in Reaktion auf ein Bestimmen zu verwerfen, dass sich eine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet, und einem Empfangen, von dem Bandlaufwerk, des Abschnitts der angeforderten Daten, die aus dem Magnetband gelesen wurden, in Reaktion auf ein Bestimmen, dass sich keine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet.
  • Ein Computerprogrammprodukt gemäß einer weiteren Ausführungsform der Erfindung enthält ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen. Das durch einen Computer lesbare Speichermedium ist kein flüchtiges Signal per se. Des Weiteren sind die Programmanweisungen durch einen Prozessor lesbar und/oder ausführbar, um den Prozessor zu veranlassen, ein Verfahren auszuführen, das enthält: ein Empfangen, durch den Prozessor, einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, wobei die Daten mehrere Abschnitte aufweisen; ein Anweisen, durch den Prozessor, eines Bandlaufwerks, auf die angeforderten Daten auf dem Magnetband zuzugreifen; und für jeden Abschnitt der anforderten Daten ein Ausführen, durch den Prozessor, eines iterativen Prozesses zu: einem Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten aus dem Magnetband zu lesen; einem Bestimmen, ob sich eine Kopie des Abschnitts der angeforderten Daten in einem Cache befindet; einem Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten, die aus dem Magnetband gelesen wurden, in Reaktion auf ein Bestimmen zu verwerfen, dass sich eine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet; und einem Empfangen, von dem Bandlaufwerk, des Abschnitts der angeforderten Daten, die aus dem Magnetband gelesen wurden, in Reaktion auf ein Bestimmen, dass sich keine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet.
  • Ein durch einen Computer umgesetztes Verfahren gemäß noch einer weiteren Ausführungsform der Erfindung enthält: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, ein Bestimmen, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um das Magnetband von einer zweiten Position in eine erste Position vorzuspulen, kleiner als ein zweiter Zeitraum ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen, ein Anweisen des Bandlauflaufwerks, die Lokalisierungsoperation in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum kleiner als der zweite Zeitraum ist, ein Anweisen des Bandlauflaufwerks, die Anzahl von Leseoperationen in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum nicht kleiner als der zweite Zeitraum ist, und ein Anweisen des Bandlaufwerks, die während eines Ausführens der Anzahl von Leseoperationen aus dem Magnetband gelesenen Daten zu verwerfen. Es ist anzumerken, dass gemäß der vorliegenden Beschreibung die „zweite Position“ einer aktuellen Stelle eines Magnetbandkopfs relativ zu dem Magnetband entsprechen soll, und die „erste Position“ einem Anfang der angeforderten Daten entsprechen soll.
  • Ein Computerprogrammprodukt gemäß einer weiteren Ausführungsform der Erfindung enthält ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen. Das durch einen Computer lesbare Speichermedium ist kein flüchtiges Signal per se. Des Weiteren sind die Programmanweisungen durch einen Prozessor lesbar und/oder ausführbar, um den Prozessor zu veranlassen, ein Verfahren auszuführen, das enthält: ein Empfangen, durch den Prozessor, einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind; ein Bestimmen, durch den Prozessor, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um das Magnetband von einer zweiten Position in eine erste Position vorzuspulen, kleiner als ein zweiter Zeitraum ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen; ein Anweisen, durch den Prozessor, des Bandlauflaufwerks, die Lokalisierungsoperation in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum kleiner als der zweite Zeitraum ist; ein Anweisen, durch den Prozessor, des Bandlauflaufwerks, die Anzahl von Leseoperationen in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum nicht kleiner als der zweite Zeitraum ist; und ein Anweisen, durch den Prozessor, des Bandlaufwerks, die aus dem Magnetband während eines Ausführens der Anzahl von Leseoperationen gelesenen Daten zu verwerfen. Es ist nochmals anzumerken, dass gemäß der vorliegenden Beschreibung die „zweite Position“ einer aktuellen Stelle eines Magnetbandkopfs relativ zu dem Magnetband entsprechen soll, während die „erste Position“ einem Anfang der angeforderten Daten entsprechen soll.
  • Sämtliche dieser Ausführungsformen der Erfindung können in einem magnetischen Datenspeichersystem umgesetzt werden, wie zum Beispiel einem Bandlaufwerksystem, das einen Magnetkopf, einen Antriebsmechanismus, um ein magnetisches Medium (z.B. Aufzeichnungsband) über den Magnetkopf zu führen, und einen Controller enthalten kann, der elektrisch mit dem Magnetkopf verbunden ist.
  • Weitere Aspekte und Ausführungsformen der Erfindung, die in Verbindung mit den Zeichnungen beispielhaft die Grundgedanken der Erfindung veranschaulichen, werden aus der folgenden ausführlichen Beschreibung offenkundig.
  • Figurenliste
    • 1A ist eine schematische Darstellung eines vereinfachten Bandlaufwerksystems gemäß einer Ausführungsform der Erfindung.
    • 1B ist eine schematische Darstellung einer Bandkassette gemäß einer Ausführungsform der Erfindung.
    • 2A ist eine Seitenansicht eines flachgeläppten, bidirektionalen Zwei-Modul-Magnetbandkopfs gemäß einer Ausführungsform der Erfindung.
    • 2B ist eine Ansicht einer Bandauflagefläche ab einer Linie 2B von 2A.
    • 2C ist eine Detailansicht ab einem Kreis 2C von 2B.
    • 2D ist eine Detailansicht einer teilweisen Bandauflagefläche eines Paars von Modulen.
    • 3 ist eine teilweise Ansicht einer Bandauflagefläche eines Magnetkopfs mit einer Schreib-Lese-Schreib-Konfiguration.
    • 4 ist eine teilweise Ansicht einer Bandauflagefläche eines Magnetkopfs mit einer Lese-Schreib-Lese-Konfiguration.
    • 5 ist eine Seitenansicht eines Magnetbandkopfs mit drei Modulen gemäß einer Ausführungsform, wobei alle Module allgemein entlang von ungefähr parallelen Ebenen liegen.
    • 6 ist eine Seitenansicht eines Magnetbandkopfs mit drei Modulen in einer tangentialen (gewinkelten) Konfiguration.
    • 7 ist eine Seitenansicht eines Magnetbandkopfs mit drei Modulen in einer Umhüllungskonfiguration.
    • 8A bis 8C sind schematische Darstellungen, die den Grundgedanken eines Band-Überspannens darstellen.
    • 9 ist eine repräsentative Darstellung von Dateien und Indices, die auf einem Magnetband gemäß einer Ausführungsform der Erfindung gespeichert sind.
    • 10 ist eine Teildarstellungsansicht eines Datenspeichersystems gemäß einer Ausführungsform der Erfindung.
    • 11A ist ein Ablaufplan für ein Verfahren gemäß einer Ausführungsform der Erfindung.
    • 11B ist ein Ablaufplan von untergeordneten Prozessen für eine der Operationen in dem Ablaufplan von 11A.
    • 11C ist ein Ablaufplan von untergeordneten Prozessen für eine der Operationen in dem Ablaufplan von 11A.
    • 11D ist ein Ablaufplan von untergeordneten Prozessen für eine der Operationen in dem Ablaufplan von 11A.
    • 12 ist ein Diagramm der Anzahl von übersprungenen Datensätzen im Vergleich zur Verarbeitungszeit gemäß einer Ausführungsform.
    • 13 ist eine repräsentative Darstellung von Dateien und Indices, die auf einem Magnetband gemäß einer Ausführungsform der Erfindung gespeichert sind.
    • 14A ist ein Ablaufplan von untergeordneten Prozessen für eine der Operationen in dem Ablaufplan von 11A.
    • 14B ist ein Ablaufplan von untergeordneten Prozessen für eine der Operationen in dem Ablaufplan von 11A gemäß einer Ausführungsform der Erfindung.
    • 14C ist ein Ablaufplan von untergeordneten Prozessen für eine der Operationen in dem Ablaufplan von 11A gemäß einer Ausführungsform der Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung wird zum Zweck einer Veranschaulichung der allgemeinen Grundgedanken der vorliegenden Erfindung angegeben und soll die hierin beanspruchten erfinderischen Konzepte keinesfalls einschränken. Ferner können bestimmte hierin beschriebene Merkmale in Kombination mit anderen beschriebenen Merkmalen in jeder der verschiedenen möglichen Kombinationen und Variationen verwendet werden.
  • Sofern hierin nicht speziell anders definiert, gilt für alle Begriffe die breitestmögliche Interpretation, einschließlich aus der Patentschrift implizierten Bedeutungen sowie Bedeutungen, die von einem Fachmann verstanden werden und/oder wie sie in Wörterbüchern, Abhandlungen usw. definiert sind.
  • Es ist auch anzumerken, dass die Singularformen „ein“, „eine“ und „der/die/das“, wie in der Patentschrift und den Ansprüchen im Anhang verwendet, Plural-Entsprechungen enthalten, sofern nicht anders angegeben.
  • Die folgende Beschreibung offenbart mehrere Magnetspeichersysteme sowie deren Betrieb und/oder Komponententeile davon. Verschiedene der hierin beschriebenen Ausführungsformen der Erfindung sind fähig, die Leistung von Leseanforderungen zu verbessern, indem ein günstigstes Verfahren bestimmt wird, um an den Datensatz zu gelangen und/oder den Datensatz selbst zu lesen, wodurch die Systemleistung auf Grundlage von aktuellen (z.B. spezifischen) Systemparametern verbessert wird, Lesezugriffszeiten verringert werden, Abnutzung auf einem Bandlaufwerk reduziert wird usw., wie im Folgenden ausführlicher beschrieben wird.
  • In einer allgemeinen Ausführungsform der Erfindung enthält ein durch einen Computer umgesetztes Verfahren: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, wobei die Daten mehrere Abschnitte aufweisen, ein Bestimmen, ob sich eine Kopie eines Abschnitts der angeforderten Daten in einem Cache befindet, ein Anweisen eines Bandlaufwerks, auf dem Magnetband auf Abschnitte der angeforderten Daten zuzugreifen, für die bestimmt wurde, dass sie sich nicht im Cache befinden, für jeden der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, ein Bestimmen, ob ein mehrmaliges Ausführen eines Lokalisierungsbefehls oder Ausführen eines Lesebefehls die Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, in einem kürzeren Zeitraum abruft, ein Ausgeben des Befehls, der zum Abrufen der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, in dem kürzeren Zeitraum bestimmt ist, ein Kombinieren der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, mit dem Abschnitt der angeforderten Daten, der sich in dem Cache befindet, und ein Erfüllen der Leseanforderung.
  • In einer weiteren allgemeinen Ausführungsform der Erfindung enthält ein durch einen Computer umgesetztes Verfahren: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, wobei die Daten mehrere Abschnitte aufweisen, ein Anweisen eines Bandlaufwerks, auf die angeforderten Daten auf dem Magnetband zuzugreifen, und für jeden Abschnitt der anforderten Daten ein Ausführen eines iterativen Prozesses zu: einem Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten aus dem Magnetband zu lesen, einem Bestimmen, ob sich eine Kopie des Abschnitts der angeforderten Daten in einem Cache befindet, einem Anweisen des Bandlaufwerks, den Abschnitt der aus dem Magnetband gelesenen angeforderten Daten in Reaktion auf ein Bestimmen zu verwerfen, dass sich eine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet, und einem Empfangen, von dem Bandlaufwerk, des Abschnitts der angeforderten Daten, die aus dem Magnetband gelesen wurden, in Reaktion auf ein Bestimmen, dass sich keine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet.
  • In einer anderen allgemeinen Ausführungsform der Erfindung enthält ein Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen Das durch einen Computer lesbare Speichermedium ist kein flüchtiges Signal per se. Des Weiteren sind die Programmanweisungen durch einen Prozessor lesbar und/oder ausführbar, um den Prozessor zu veranlassen, ein Verfahren auszuführen, das enthält: ein Empfangen, durch den Prozessor, einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, wobei die Daten mehrere Abschnitte aufweisen; ein Anweisen, durch den Prozessor, eines Bandlaufwerks, auf die angeforderten Daten auf dem Magnetband zuzugreifen; und für jeden Abschnitt der anforderten Daten ein Ausführen, durch den Prozessor, eines iterativen Prozesses zu: einem Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten aus dem Magnetband zu lesen; einem Bestimmen, ob sich eine Kopie des Abschnitts der angeforderten Daten in einem Cache befindet; einem Anweisen des Bandlaufwerks, den aus dem Magnetband gelesenen Abschnitt der angeforderten Daten in Reaktion auf ein Bestimmen zu verwerfen, dass sich eine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet; und einem Empfangen, von dem Bandlaufwerk, des Abschnitts der angeforderten Daten, die aus dem Magnetband gelesen wurden, in Reaktion auf ein Bestimmen, dass sich keine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet.
  • In noch einer weiteren allgemeinen Ausführungsform der Erfindung enthält ein durch einen Computer umgesetztes Verfahren: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, ein Bestimmen, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um das Magnetband von einer zweiten Position in eine erste Position vorzuspulen, kleiner als ein zweiter Zeitraum ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen, ein Anweisen des Bandlauflaufwerks, die Lokalisierungsoperation in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum kleiner als der zweite Zeitraum ist, ein Anweisen des Bandlauflaufwerks, die Anzahl von Leseoperationen in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum nicht kleiner als der zweite Zeitraum ist, und ein Anweisen des Bandlaufwerks, die während eines Ausführens der Anzahl von Leseoperationen aus dem Magnetband gelesenen Daten zu verwerfen. Es ist anzumerken, dass gemäß der vorliegenden Beschreibung die „zweite Position“ einer aktuellen Stelle eines Magnetbandkopfs relativ zu dem Magnetband entsprechen soll, und die „erste Position“ einem Anfang der angeforderten Daten entsprechen soll.
  • In einer weiteren allgemeinen Ausführungsform der Erfindung enthält ein Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen. Das durch einen Computer lesbare Speichermedium ist kein flüchtiges Signal per se. Des Weiteren sind die Programmanweisungen durch einen Prozessor lesbar und/oder ausführbar, um den Prozessor zu veranlassen, ein Verfahren auszuführen, das enthält: ein Empfangen, durch den Prozessor, einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind; ein Bestimmen, durch den Prozessor, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um das Magnetband von einer zweiten Position in eine erste Position vorzuspulen, kleiner als ein zweiter Zeitraum ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen; ein Anweisen, durch den Prozessor, des Bandlauflaufwerks, die Lokalisierungsoperation in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum kleiner als der zweite Zeitraum ist; ein Anweisen, durch den Prozessor, des Bandlauflaufwerks, die Anzahl von Leseoperationen in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum nicht kleiner als der zweite Zeitraum ist; und ein Anweisen, durch den Prozessor, des Bandlaufwerks, die während eines Ausführens der Anzahl von Leseoperationen aus dem Magnetband gelesenen Daten zu verwerfen. Es ist nochmals anzumerken, dass gemäß der vorliegenden Beschreibung die „zweite Position“ einer aktuellen Stelle eines Magnetbandkopfs relativ zu dem Magnetband entsprechen soll, während die „erste Position“ einem Anfang der angeforderten Daten entsprechen soll.
  • 1A veranschaulicht ein vereinfachtes Bandlaufwerk 100 eines Datenspeichersystems auf Bandgrundlage, das in dem Kontext der vorliegenden Erfindung verwendet werden kann. Zwar wird in 1A eine bestimmte Umsetzung eines Bandlaufwerks gezeigt, doch ist anzumerken, dass die hierin beschriebenen Ausführungsformen der Erfindung in dem Kontext jedes Typs von Bandlaufwerksystem umgesetzt werden können.
  • Wie gezeigt, werden eine Bandzuführkassette 120 und eine Aufwickelspule 121 bereitgestellt, um ein Band 122 zu tragen. Eine oder mehrere der Spulen können einen Teil einer auswechselbaren Kassette bilden und sind nicht notwendigerweise Teil des Systems 100. Das Bandlaufwerk, wie das in 1A veranschaulichte, kann ferner einen bzw. mehrere Antriebsmotoren enthalten, um die Bandzuführkassette 120 und die Aufwickelspule 121 anzutreiben, um das Band 122 über einen Bandkopf 126 eines beliebigen Typs zu bewegen. Ein derartiger Kopf kann eine Anordnung von Lesevorrichtungen, Schreibvorrichtungen oder beides enthalten.
  • Führungen 125 führen das Band 122 über den Bandkopf 126. Ein derartiger Bandkopf 126 ist wiederum über ein Kabel 130 mit einem Controller 128 verbunden. Der Controller 128 kann ein Prozessor sein oder einen Prozessor und/oder eine beliebige Logik zum Steuern jedes untergeordneten Systems des Laufwerks 100 enthalten. Zum Beispiel steuert der Controller 128 typischerweise Kopffunktionen wie Servonachlauf, Schreiben von Daten, Lesen von Daten usw. Der Controller 128 kann mindestens einen Servokanal und mindestens einen Datenkanal enthalten, von denen jeder eine Datenfluss-Verarbeitungslogik enthält, die konfiguriert ist, um Informationen zu verarbeiten und/oder zu speichern, die auf das Band 122 geschrieben und/oder aus diesem gelesen werden sollen. Der Controller 128 kann unter einer im Stand der Technik bekannten Logik sowie jeder hierin offenbarten Logik arbeiten und kann daher in verschiedenen Ausführungsformen als ein Prozessor für jede der hierin enthaltenen Beschreibungen von Bandlaufwerken betrachtet werden. Der Controller 128 kann mit einem Arbeitsspeicher 136 jedes bekannten Typs verbunden sein, der Anweisungen speichern kann, die durch den Controller 128 ausführbar sind. Des Weiteren kann der Controller 128 konfiguriert und/oder programmierbar sein, um einiges oder alles der hierin vorgestellten Methodik auszuführen oder zu steuern. Somit kann der Controller 128 als derart konfiguriert betrachtet werden, dass er verschiedene Operationen mittels einer Logik, die auf einem oder mehreren Chips, Modulen und/oder Blöcken; Software, Firmware und/oder anderen Anweisungen programmiert ist, die für einen oder mehrere Prozessoren zur Verfügung stehen; usw. und Kombinationen davon ausführt.
  • Das Kabel 130 kann Lese-/Schreib-Schaltungen zum Übertragen von Daten, die auf dem Band 122 aufgezeichnet werden sollen, zu dem Kopf 126 und zum Empfangen von Daten enthalten, die durch den Kopf 126 aus dem Band 122 gelesen werden. Ein Stellantrieb 132 steuert die Position des Kopfs 126 relativ zu dem Band 122.
  • Eine Schnittstelle 134 kann ebenfalls für einen Datenaustausch zwischen dem Bandlaufwerk 100 und einem Host (intern oder extern) bereitgestellt werden, um die Daten zu senden und zu empfangen und den Betrieb des Bandlaufwerks 100 zu steuern, und um dem Host den Zustand des Bandlaufwerks 100 zu übermitteln, wie all dies vom Fachmann verstanden wird.
  • 1B veranschaulicht eine beispielhafte Bandkassette 150 gemäß einer Ausführungsform der Erfindung. Eine derartige Bandkassette 150 kann zusammen mit einem System wie demjenigen verwendet werden, das in 1A gezeigt ist. Wie gezeigt, umfasst die Bandkassette 150 ein Gehäuse 152, ein Band 122 in dem Gehäuse 152 und einen nicht flüchtigen Arbeitsspeicher 156, der mit dem Gehäuse 152 verbunden ist. In einigen Ansätzen kann der nicht flüchtige Arbeitsspeicher 156 in das Gehäuse 152 eingebettet sein, wie in 1B gezeigt. In weiteren Ansätzen kann der nicht flüchtige Arbeitsspeicher 156 an der Innenseite oder der Außenseite des Gehäuses 152 ohne Modifizierung des Gehäuses 152 angebracht sein. Zum Beispiel kann der nicht flüchtige Arbeitsspeicher in ein selbsthaftendes Etikett 154 eingebettet sein. Der nicht flüchtige Arbeitsspeicher 156 kann eine Flash-Speichereinheit, eine Nur-Lese-Speicher- (ROM) Einheit usw. sein, die in die Innenseite oder Außenseite der Bandkassette 150 eingebettet oder mit diesen verbunden ist. Auf den nicht flüchtigen Arbeitsspeicher kann durch das Bandlaufwerk und die Band-Betriebssoftware (die Treibersoftware) und/oder eine andere Einheit zugegriffen werden.
  • Zu Beispielzwecken veranschaulicht 2A eine Seitenansicht eines flachgeläppten, bidirektionalen Zwei-Modul-Magnetbandkopfs 200, der in dem Kontext der vorliegenden Erfindung umgesetzt werden kann. Wie gezeigt, umfasst der Kopf ein Paar von Sockeln 202, die jeweils mit einem Modul 204 ausgestattet sind und in einem kleinen Winkel α in Bezug zueinander befestigt sind. Die Sockel können „U-Profile“ sein, die haftend miteinander verbunden sind. Jedes Modul 204 enthält ein Substrat 204A und einen Verschluss 204B mit einem dünnen Folienabschnitt, der allgemein als ein „Spalt“ bezeichnet wird, in dem die Lesevorrichtungen und/oder Schreibvorrichtungen 206 ausgebildet sind. Im Einsatz wird ein Band 208 über die Module 204 entlang einer Medien- (Band) Auflagefläche 209 in der Art und Weise bewegt, die zum Lesen und Schreiben von Daten auf dem Band 208 unter Verwendung der Lesevorrichtungen und Schreibvorrichtungen gezeigt wird. Der Umschlingungswinkel θ des Bands 208 an Rändern, der in die flachen Medienauflageflächen 209 hinein- und aus diesen herausführt, liegt für gewöhnlich bei ungefähr 0,1 Grad und ungefähr 3 Grad.
  • Die Substrate 204A bestehen typischerweise aus einem abriebfesten Material, wie beispielsweise einer Keramik. Die Verschlüsse 204B können aus derselben oder einer ähnlichen Keramik wie die Substrate 204A gefertigt sein.
  • Die Lesevorrichtungen und Schreibvorrichtungen können in einer Huckepack- oder zusammengelegten Konfiguration angeordnet sein. Eine Huckepack-Konfiguration weist einen (magnetisch induktiven) Schreibwandler oben auf (oder unter) einem (magnetisch abgeschirmten) Lesewandler (z.B. magnetoresistive Lesevorrichtung usw.) auf, wobei die Pole der Schreibvorrichtung und die Abschirmungen der Lesevorrichtung im Allgemeinen getrennt sind. Eine zusammengelegte Konfiguration weist eine Lesevorrichtungsabschirmung in derselben physischen Schicht wie ein Schreibvorrichtungspol auf (daher „zusammengelegt“). Die Lesevorrichtungen und Schreibvorrichtungen können auch in einer verschachtelten Konfiguration angeordnet sein. Alternativ kann jede Anordnung von Kanälen nur aus Lesevorrichtungen oder Schreibvorrichtungen bestehen. Alle dieser Anordnungen können eine oder mehrere Servospurlesevorrichtungen zum Lesen von Servodaten auf dem Medium enthalten.
  • 2B veranschaulicht die Bandauflagefläche 209 von einem der Module 204 ab einer Linie 2B von 2A. Ein typisches Band 208 wird mit gestrichelten Linien gezeigt. Das Modul 204 ist bevorzugt lang genug, um das Band stützen zu können, wenn der Kopf zwischen Datenbänder gelangt.
  • In diesem Beispiel enthält das Band 208 4 bis 32 Datenbänder, z.B. mit 16 Datenbändern und 17 Servospuren 210, wie in 2B gezeigt, auf einem Band 208 mit einer Breite von einem halben Inch. Die Datenbänder sind zwischen den Servospuren 210 definiert. Jedes Datenband kann eine Anzahl von Datenspuren umfassen, zum Beispiel 1024 Datenspuren (nicht gezeigt). Während Lese-/Schreiboperationen sind die Lesevorrichtungen und/oder Schreibvorrichtungen 206 auf bestimmten Spurpositionen innerhalb eines der Datenbänder positioniert. Äußere Lesevorrichtungen, die manchmal als Servolesevorrichtungen bezeichnet werden, lesen die Servospuren 210. Die Servosignale werden wiederum verwendet, um die Lesevorrichtungen und/oder Schreibvorrichtungen 206 während der Lese-/Schreiboperationen auf einen speziellen Satz von Spuren ausgerichtet zu halten.
  • 2C stellt eine Mehrzahl von Lesevorrichtungen und/oder Schreibvorrichtungen 206 dar, die in einem Spalt 218 auf dem Modul 204 im Kreis 2C von 2B ausgebildet sind. Wie gezeigt, enthält die Anordnung von Lesevorrichtungen und Schreibvorrichtungen 206 zum Beispiel 16 Schreibvorrichtungen 214, 16 Lesevorrichtungen 216 und zwei Servolesevorrichtungen 212, die Anzahl der Elemente kann jedoch variieren. Beispiele dafür sind 8, 16, 32, 40 und 64 aktive Lesevorrichtungen und/oder Schreibvorrichtungen 206 pro Anordnung und alternativ verschachtelte Auslegungen mit ungeraden Anzahlen von Lesevorrichtungen oder Schreibvorrichtungen, wie zum Beispiel 17, 25, 33 usw. Ein Beispiel umfasst 32 Lesevorrichtungen pro Anordnung und/oder 32 Schreibvorrichtungen pro Anordnung, wobei die tatsächliche Anzahl von Wandlerelementen größer sein könnte, zum Beispiel 33, 34 usw. Dies ermöglicht, dass sich das Band langsamer bewegt, wodurch geschwindigkeitsinduzierte Verfolgungs- und mechanische Probleme verringert werden und/oder weniger „Wicklungen“ ausgeführt werden, um das Band zu füllen oder zu lesen. Zwar können die Lesevorrichtungen und Schreibvorrichtungen in einer Huckepack-Konfiguration angeordnet sein, wie in 2C gezeigt, die Lesevorrichtungen 216 und Schreibvorrichtungen 214 können aber auch in einer verschachtelten Konfiguration angeordnet sein. Alternativ kann jede Anordnung von Lesevorrichtungen und/oder Schreibvorrichtungen 206 nur aus Lesevorrichtungen oder Schreibvorrichtungen bestehen, und die Anordnungen können eine oder mehrere Servolesevorrichtungen 212 enthalten. Wie bei gemeinsamer Betrachtung von 2A und 2B bis 2C festgestellt wird, kann jedes Modul 204 einen ergänzenden Satz von Lesevorrichtungen und/oder Schreibvorrichtungen 206 für solche Zwecke wie beispielsweise bidirektionales Lesen und Schreiben, Fähigkeit zum Lesen während des Schreibens, Rückwärtskompatibilität usw. enthalten.
  • 2D zeigt eine Teilansicht einer Bandauflagefläche von ergänzenden Modulen eines Magnetbandkopfs 200 gemäß einer Ausführungsform der Erfindung. Daher ist für jedes Modul eine Mehrzahl von Lese/Schreib- (R/W) Paaren in einer Huckepack-Konfiguration auf einem gemeinsamen Substrat 204A und einer optionalen elektrisch isolierenden Schicht 236 ausgebildet. Die Schreibvorrichtungen, beispielhaft dargestellt durch den Schreibwandler 214, und die Lesevorrichtungen, beispielhaft dargestellt durch den Lesewandler 216, sind parallel zu einer darüber verlaufenden beabsichtigten Bewegungsrichtung eines Bandmediums ausgerichtet, um ein R/W-Paar auszubilden, das beispielhaft durch das R/W-Paar 222 dargestellt wird. Anzumerken ist, dass die beabsichtigte Richtung der Bandbewegung hierin manchmal als die Bandbewegungsrichtung bezeichnet wird und derartige Begriffe austauschbar verwendet werden können. Eine derartige Bandbewegungsrichtung kann aus der Auslegung des Systems abgeleitet werden, z.B. durch ein Prüfen der Führungen; ein Beobachten der tatsächlichen Bandbewegungsrichtung relativ zu dem Referenzpunkt; usw. Des Weiteren verläuft in einem System, das für bidirektionales Lesen und/oder Schreiben betreibbar ist, die Bandbewegungsrichtung in beide Richtungen typischerweise parallel, und somit können beide Richtungen als einander gleichwertig betrachtet werden.
  • Es können mehrere R/W-Paare 222 vorhanden sein, wie zum Beispiel 8, 16, 32 Paare usw. Die R/W-Paare 222, wie gezeigt, sind linear in einer Richtung ausgerichtet, die im Allgemeinen senkrecht zu einer darüber verlaufenden Bandbewegungsrichtung ist. Die Paare können jedoch auch diagonal usw. ausgerichtet sein. Die Servolesevorrichtungen 212 sind auf der Außenseite der Anordnung von R/W-Paaren positioniert, deren Funktion bekannt ist.
  • Im Allgemeinen bewegt sich das Magnetbandmedium entweder in einer Vorwärts- oder einer Rückwärts-Richtung, wie durch einen Pfeil 220 angegeben. Die Magnetbandmedium- und die Kopfbaugruppe 200 arbeiten in einer im Stand der Technik bekannten Weise einer Wandlerbeziehung. Die huckepack genommene magnetoresistive (MR) Kopfbaugruppe 200 enthält zwei Dünnfilmmodule 224 und 226 von im Allgemeinen identischer Bauweise.
  • Die Module 224 und 226 werden mit einem zwischen den Verschlüssen 204B vorhandenen Zwischenraum zusammengefügt (teilweise gezeigt), um eine einzelne physische Einheit auszubilden, um eine Fähigkeit zum Lesen während des Schreibens bereitzustellen, indem die Schreibvorrichtung des führenden Moduls und die Lesevorrichtung des nachfolgenden Moduls aktiviert werden, die auf die Schreibvorrichtung des führenden Moduls parallel zu der dazu relativen Bandbewegungsrichtung ausgerichtet ist. Wenn ein Modul 224, 226 eines Huckepack-Kopfs 200 aufgebaut wird, werden Schichten in dem Spalt 218 ausgebildet, der über einem elektrisch leitenden Substrat 204A (teilweise gezeigt) erstellt ist, z.B. aus AITiC, im Allgemeinen in der folgenden Reihenfolge für die R/W-Paare 222: eine isolierende Schicht 236, eine erste Abschirmung 232, typischerweise aus einer Eisenlegierung wie NiFe (-), Kobalt-Zirkon-Tantal (CZT) oder Al-Fe-Si (Sendust), ein Sensor 234 zum Abfühlen einer Datenspur auf einem magnetischen Medium, eine zweite Abschirmung 238, typischerweise eine Nickel-Eisen-Legierung (z.B. ~80/20 Atomprozent NiFe, auch bekannt als Permalloy), eine erste und eine zweite Schreibvorrichtungs-Polspitze 228, 230 und eine Spule (nicht gezeigt). Der Sensor kann von jedem bekannten Typ sein, einschließlich denjenigen auf Grundlage von MR, GMR, AMR, Tunnelmagnetowiderstand (TMR) usw.
  • Der erste und der zweite Schreibvorrichtungspol 228, 230 können aus hochmagnetischen Momentmaterialien wie beispielsweise ~45/55 NiFe hergestellt sein. Zu beachten ist, dass diese Materialien nur zu Beispielzwecken genannt werden und andere Materialien verwendet werden können. Zusätzliche Schichten, wie beispielsweise eine Isolierung zwischen den Abschirmungen und/oder Polspitzen und eine Isolierungsschicht, die den Sensor umgibt, können vorhanden sein. Materialien für die Isolierung können Aluminiumoxid und andere Oxide, isolierende Polymere usw. umfassen.
  • Die Konfiguration des Bandkopfs 126 kann mehrere Module enthalten, bevorzugt drei oder mehr. In einem Schreib-Lese-Schreib- (W-R-W) Kopf grenzen äußere Module zum Schreiben an ein oder mehrere innere Module zum Lesen an. Unter Bezugnahme auf 3, die eine W-R-W-Konfiguration darstellt, enthalten die äußeren Module 252, 256 jeweils eine oder mehrere Anordnungen von Schreibvorrichtungen 260. Das innere Modul 254 von 3 enthält eine oder mehrere Anordnungen von Lesevorrichtungen 258 in einer ähnlichen Konfiguration. Variationen eines Mehrfachmodulkopfs enthalten einen R-W-R-Kopf (4), einen R-R-W-Kopf, einen W-W-R-Kopf usw. In noch weiteren Variationen kann ein bzw. können mehrere Module Lese/Schreib-Wandlerpaare haben. Außerdem können mehr als drei Module vorhanden sein. In weiteren Ansätzen können zwei äußere Module an zwei oder mehr innere Module angrenzen, z.B. in einer W-R-R-W-, einer R-W-W-R-Anordnung usw. Der Einfachheit halber wird hierin vorwiegend ein W-R-W-Kopf verwendet, um Ausführungsformen der vorliegenden Erfindung beispielhaft zu veranschaulichen. Ein Fachmann, der Kenntnis von den Lehren hierin hat, wird verstehen, wie Variationen der vorliegenden Erfindung auf andere Konfigurationen als eine W-R-W-Konfiguration anzuwenden wären.
  • 5 veranschaulicht einen Magnetkopf 126 gemäß einer Ausführungsform der vorliegenden Erfindung, der ein erstes, zweites und drittes Modul 302, 304, 306 umfasst, die jeweils eine Bandauflagefläche 308, 310, 312 haben, die flach, konturiert usw. sein kann. Es ist anzumerken, dass der Begriff „Bandauflagefläche“ zwar zu implizieren scheint, dass die dem Band 315 zugewandte Fläche in physischem Kontakt mit der Bandauflagefläche steht, doch ist dies nicht notwendigerweise der Fall. Stattdessen kann sich nur ein Teil des Bands in konstantem oder zeitweisem Kontakt mit der Bandauflagefläche befinden, wobei andere Abschnitte des Bands über der Bandauflagefläche auf einer Luftschicht mitgenommen werden (oder „fliegen“), was manchmal als „Luftlager“ bezeichnet wird. Das erste Modul 302 wird als das „führende“ Modul bezeichnet, da es das erste Modul ist, auf das das Band in einer Drei-Modul-Auslegung trifft, um das Band in die angegebene Richtung zu bewegen. Das dritte Modul 306 wird als das „hintere“ Modul bezeichnet. Das hintere Modul folgt auf das mittlere Modul und ist das letzte Modul, das von dem Band in einer Drei-Modul-Auslegung gesehen wird. Das führende und das hintere Modul 302, 306 werden gemeinsam als äußere Module bezeichnet. Außerdem ist anzumerken, dass die äußeren Module 302, 306 sich als führende Module abhängig von der Bewegungsrichtung des Bands 315 abwechseln.
  • In einer Ausführungsform der Erfindung liegen die Bandauflageflächen 308, 310, 312 des ersten, zweiten und dritten Moduls 302, 304, 306 auf ungefähr parallelen Ebenen (was parallele und nahezu parallele Ebenen, z.B. zwischen parallel und tangential, wie in 6, enthalten soll), und die Bandauflagefläche 310 des zweiten Moduls 304 befindet sich über den Bandauflageflächen 308, 312 des ersten und des dritten Moduls 302, 306. Wie im Folgenden beschrieben, hat dies die Wirkung, den erwünschten Umschlingungswinkel α2 des Bands relativ zu der Bandauflagefläche 310 des zweiten Moduls 304 zu erstellen.
  • An Stellen, an denen die Bandauflageflächen 308, 310, 312 entlang parallelen oder nahezu parallelen, aber abgesetzten Ebenen liegen, sollte sich das Band intuitiv von der Bandauflagefläche 308 des führenden Moduls 302 ablösen. Das Vakuum, das durch den Ablöserand 318 des vorderen Moduls 302 erstellt wird, wurde in Versuchen als ausreichend befunden, um das Band auf der Bandauflagefläche 308 des führenden Moduls 302 haften zu lassen. Der hintere Rand 320 des führenden Moduls 302 (der Rand, ab dem das Band das führende Modul 302 verlässt) ist der ungefähre Referenzpunkt, der den Umschlingungswinkel α2 über der Bandauflagefläche 310 des zweiten Moduls 304 definiert. Das Band bleibt in nächster Nähe zur der Bandauflagefläche bis kurz vor dem hinteren Rand 320 des vorderen Moduls 302. Dementsprechend können sich Lese- und/oder Schreibelemente 322 in der Nähe der hinteren Ränder der äußeren Module 302, 306 befinden. Diese Ausführungsformen sind speziell für Schreib-Lese-Schreib-Anwendungen angepasst.
  • Ein Vorteil dabei ist, da die äußeren Module 302, 306 in einem bestimmten Abstand von dem zweiten Modul 304 fixiert sind, dass der innere Umschlingungswinkel α2 fixiert ist, wenn die Module 302, 304, 306 miteinander verbunden werden oder auf andere Weise in einem Kopf befestigt werden. Der innere Umschlingungswinkel α2 beträgt ungefähr tan-1(δ/W), wobei δ der Höhenunterschied zwischen den Ebenen der Bandauflageflächen 308, 310 ist, und W die Breite zwischen gegenüberliegenden Enden der Bandauflageflächen 308, 310 ist. Ein veranschaulichender innerer Umschlingungswinkel α2 liegt in einem Bereich von ungefähr 0,3° bis ungefähr 1,1°, obwohl er jeder Winkel sein kann, der aufgrund der Auslegung erforderlich ist.
  • Vorteilhafterweise ist der innere Umschlingungswinkel α2 auf der Seite des Moduls 304, die das Band (führender Rand) aufnimmt, größer als der innere Umschlingungswinkel α3 an dem hinteren Rand, wenn das Band 315 über das hintere Modul 306 geführt wird. Dieser Unterschied ist allgemein von Vorteil, da ein kleinerer Winkel α3 dazu neigt, dem entgegenzuwirken, was bisher ein effektiver steilerer Austritts-Umschlingungswinkel war.
  • Es ist anzumerken, dass die Bandauflageflächen 308, 312 der äußeren Module 302, 306 so positioniert sind, dass an dem hinteren Rand 320 des führenden Moduls 302 ein negativer Umschlingungswinkel erreicht wird. Die ist allgemein von Vorteil, um eine Reduzierung der Reibung zu unterstützen, die auf den Kontakt mit dem hinteren Rand 320 zurückzuführen ist, vorausgesetzt, dass die Stelle des Überlastungsbereichs entsprechend berücksichtigt wird, der sich in dem Band bildet, wenn es sich von dem Kopf ablöst. Dieser negative Umschlingungswinkel reduziert auch Beschädigungen der Elemente auf dem führenden Modul 302 durch Flattern und Scheuern. An dem hinteren Modul 306 gleitet das Band 315 ferner so über die Bandauflagefläche 312, dass praktisch keine Abnutzung auf den Elementen auftritt, wenn sich das Band in diese Richtung bewegt. Insbesondere führt das Band 315 Luft mit sich und gleitet daher nicht wesentlich auf der Bandauflagefläche 312 des dritten Moduls 306 (einiger Kontakt kann auftreten). Dies ist zulässig, da das führende Modul 302 schreibt, während das hintere Modul 306 inaktiv ist.
  • Schreib- und Lesefunktionen werden von verschiedenen Modulen zu jedem beliebigen Zeitpunkt ausgeführt. In einer Ausführungsform enthält das zweite Modul 304 eine Mehrzahl von Daten und optionalen Servolesevorrichtungen 331 und keine Schreibvorrichtungen. Das erste und das dritte Modul 302, 306 enthalten eine Mehrzahl von Schreibvorrichtungen 322 und keine Datenlesevorrichtungen mit der Ausnahme, dass die äußeren Module 302, 306 optionale Servolesevorrichtungen enthalten können. Die Servolesevorrichtungen können verwendet werden, um den Kopf während Lese- und/oder Schreiboperationen zu positionieren. Die Servolesevorrichtung(en) auf jedem Modul befindet bzw. befinden sich typischerweise in Richtung des Endes der Anordnung von Lesevorrichtungen oder Schreibvorrichtungen.
  • Da nur Lesevorrichtungen oder nebeneinander angeordnete Schreibvorrichtungen und Servolesevorrichtungen in dem Spalt zwischen dem Substrat und dem Verschluss vorhanden sind, kann die Spaltlänge wesentlich verkleinert werden. Typische Köpfe weisen huckepack genommene Lesevorrichtungen und Schreibvorrichtungen auf, wobei die Schreibvorrichtung über jeder Lesevorrichtung ausgebildet ist. Ein typischer Spalt beträgt 20 bis 35 Mikrometer. Unregelmäßigkeit auf dem Band können jedoch dazu neigen, in den Spalt durchzuhängen und eine Spalterosion zu erzeugen. Somit gilt, je kleiner der Spalt ist, umso besser. Der hierin ermöglichte kleinere Spalt weist weniger verschleißbedingte Probleme auf.
  • In einigen Ausführungsformen der Erfindung hat das zweite Modul 304 einen Verschluss, wogegen das erste und das dritte Modul 302, 306 keinen Verschluss haben. Wo kein Verschluss vorhanden ist, wird dem Modul bevorzugt eine Hartbeschichtung hinzugefügt. Eine bevorzugte Beschichtung ist ein diamantähnlicher Kohlenstoff (DLC).
  • In dem in 5 gezeigten Beispiel haben das erste, das zweite und das dritte Modul 302, 304, 306 jeweils einen Verschluss 332, 334, 336, der die Bandauflagefläche des zugehörigen Moduls verlängert, wodurch die Lese-/Schreib-Elemente effektiv von dem Rand der Bandauflagefläche entfernt positioniert werden. Der Verschluss 332 auf dem zweiten Modul 304 kann ein Keramikverschluss eines Typs sein, der typischerweise auf Bandköpfen zu finden ist. Die Verschlüsse 334, 336 des ersten und des dritten Moduls 302, 306 können jedoch kürzer als der Verschluss 332 des zweiten Moduls 304 sein, wie parallel zu einer Bandbewegungsrichtung über das jeweilige Modul gemessen. Dies ermöglicht es, die Module näher beieinander zu positionieren. Eine Möglichkeit, kürzere Verschlüsse 334, 336 zu erzeugen, besteht darin, die standardmäßigen Keramikverschlüsse des zweiten Moduls 304 um einen zusätzlichen Betrag zu überlappen. Eine weitere Möglichkeit besteht darin, während einer Dünnfilmbearbeitung über den Elementen Dünnfilmverschlüsse zu plattieren oder abzulegen. Zum Beispiel kann ein Dünnfilmverschluss eines harten Materials wie zum Beispiel Sendust oder eine Nickel-Eisen-Legierung (z.B. 45/55) auf dem Modul ausgebildet werden.
  • Mit Keramikverschlüssen mit reduzierter Dicke oder Dünnfilmverschlüssen 334, 336 oder keinen Verschlüssen an den äußeren Modulen 302, 306 kann der Schreib-zu-Lese-Spaltabstand auf weniger als 1 mm reduziert werden, z.B. auf ungefähr 0,75 mm oder 50 % weniger als ein Bandkopfabstand eines allgemein verwendeten geradlinig offenen Bands (LTO - Linear Tape Open). Der offene Zwischenraum zwischen den Modulen 302, 304, 306 kann immer noch auf ungefähr 0,5 bis 0,6 mm eingestellt werden, was in einigen Ausführungsformen ideal für ein Stabilisieren der Bandbewegung über das zweite Modul 304 ist.
  • Abhängig von der Bandspannung und -steifigkeit kann es wünschenswert sein, die Bandauflagefläche der äußeren Module relativ zu der Bandauflagefläche des zweiten Moduls anzuwinkeln. 6 veranschaulicht ein Beispiel, in dem sich die Module 302, 304, 306 in einer tangentialen oder nahezu tangentialen (angewinkelten) Konfiguration befinden. Insbesondere die Bandauflageflächen der äußeren Module 302, 306 sind an dem gewünschten Umschlingungswinkel α2 des zweiten Moduls 304 ungefähr parallel zu dem Band. Mit anderen Worten, die Ebenen der Bandauflageflächen 308, 312 der äußeren Module 302, 306 sind an ungefähr dem erwünschten Umschlingungswinkel α2 des Bands 315 relativ zu dem zweiten Modul 304 ausgerichtet. Das Band springt in diesem Beispiel auch von dem hinteren Modul 306 ab, wodurch die Abnutzung auf den Elementen in dem hinteren Modul 306 verringert wird. Diese Beispiele sind speziell für Schreib-Lese-Schreib-Anwendungen nützlich. Weitere Aspekte dieser Ausführungsformen sind den oben genannten ähnlich.
  • Typischerweise können die Bandumschlingungswinkel auf ungefähr die Mitte zwischen den in 5 und 6 gezeigten Beispielen eingestellt werden.
  • 7 veranschaulicht eine Ausführungsform der Erfindung, wobei die Module 302, 304, 306 sich in einer Umhüllungskonfiguration befinden. Insbesondere die Bandauflageflächen 308, 312 der äußeren Module 302, 306 sind geringfügig mehr als das Band 315 angewinkelt, wenn sie auf den gewünschten Umschlingungswinkel α2 relativ zu dem zweiten Modul 304 eingestellt werden. In diesem Beispiel springt das Band nicht von dem hinteren Modul ab, wodurch es zum Schreiben oder Lesen verwendet werden kann. Dementsprechend können sowohl das führende als auch das mittlere Modul Lese- und/oder Schreibfunktionen ausführen, während das hintere Modul alle soeben geschriebenen Daten lesen kann. Somit werden diese Ausführungsformen für Schreib-Lese-Schreib-, Lese-Schreib-Lese- und Schreib-Schreib-Lese-Anwendungen bevorzugt. In den letzteren Ausführungsformen sollten Verschlüsse breiter als die Bandkappen sein, um Lesezugriff sicherzustellen. Die breiteren Verschlüsse können eine breitere Spalt-zu-Spalt-Trennung erfordern. Daher weist eine bevorzugte Ausführungsform eine Schreib-Lese-Schreib-Konfiguration auf, die verkürzte Verschlüsse verwenden kann, die somit eine engere Spalt-zu-Spalt-Trennung ermöglicht.
  • Weitere Aspekte der in 6 und 7 gezeigten Beispiele sind den vorgenannten ähnlich.
  • Eine 32-Kanal-Version eines Mehrfachmodulkopfs 126 kann Kabel 350 mit Leitungen auf demselben oder einem kleineren Platz wie aktuelle huckepack genommene 16-Kanal-LTO-Module verwenden, oder die Verbindungen auf dem Modul können alternativ für eine Reduzierung um 50 % der Kabelspannweite wie bei einer Orgelklaviatur stufenförmig angeordnet sein. Insgesamt können nicht abgeschirmte Schreibpaarkabel für die Schreibvorrichtungen verwendet werden, die integrierte Servolesevorrichtungen haben können.
  • Die äußeren Umschlingungswinkel α1 können in dem Laufwerk eingestellt werden, wie zum Beispiel durch Führungen jedes im Stand der Technik bekannten Typs, wie beispielsweise einstellbare Walzen, Schieber usw. oder alternativ durch Stützen, die mit dem Kopf einstückig sind. Zum Beispiel können Walzen mit einer versetzten Achse verwendet werden, um die Umschlingungswinkel einzustellen. Die versetzte Achse erzeugt einen Orbitalrotationsbogen, der eine präzise Ausrichtung des Umschlingungswinkel α1 ermöglicht.
  • Zum Zusammenbauen jeder der oben beschriebenen Ausführungsformen der Erfindung kann eine herkömmliche U-Profil-Anordnung verwendet werden. Dementsprechend kann die Masse des sich daraus ergebenden Kopfs beibehalten oder relativ zu Köpfen vorheriger Generationen sogar reduziert werden. In anderen Ansätzen können die Module als ein selbsttragender Körper konstruiert werden. Dem Fachmann wird in Kenntnis der vorliegenden Lehren klar sein, dass andere bekannte Verfahren zum Herstellen derartiger Köpfe für eine Verwendung beim Konstruieren derartiger Köpfe angepasst werden können. Des Weiteren, sofern nicht anders angegeben, können Prozesse und Materialien von Typen, die im Stand der Technik bekannt sind, für eine Verwendung in verschiedenen Ausführungsformen der Erfindung in Übereinstimmung mit den Lehren hierin angepasst werden, wie für den Fachmann beim Lesen der vorliegenden Offenbarung offenkundig wird.
  • Wenn ein Band über ein Modul geführt wird, wird bevorzugt, dass das Band ausreichend nahe an den Magnetwandlern auf dem Modul vorbeigeführt wird, sodass ein Lesen und/oder Schreiben effizient, z.B. mit niedriger Fehlerrate, ausgeführt wird. Gemäß einigen Ansätzen kann ein Band-Überspannen verwendet werden, um sicherzustellen, dass das Band ausreichend nahe an dem Abschnitt des Moduls mit den Magnetwandlern vorbeigeführt wird. Für ein besseres Verständnis veranschaulichen 8A bis 8C die Grundgedanken eines Band-Überspannens. 8A zeigt ein Modul 800 mit einer oberen Bandauflagefläche 802, die sich zwischen gegenüberliegenden Rändern 804, 806 erstreckt. Ein stationäres Band 808 wird gezeigt, das die Ränder 804, 806 umschlingt. Wie gezeigt, hebt die Biegesteifigkeit des Bands 808 das Band von der Bandauflagefläche 802 ab. Die Bandspannung neigt dazu, das Bandprofil zu verflachen, wie in 8A gezeigt. In Fällen, in den die Bandspannung minimal ist, verläuft die Krümmung des Bands parabolischer als gezeigt.
  • 8B stellt das Band 808 in Bewegung dar. Der vordere Rand, d.h. der erste Rand, auf den das Band trifft, wenn es sich bewegt, kann dazu dienen, Luft von dem Band zu drücken, wodurch ein Unterdruck-Luftdruck zwischen dem Band 808 und der Bandauflagefläche 802 erzeugt wird. In 8B ist der führende Rand der linke Rand und der rechte Rand ist der hintere Rand, wenn sich das Band von links nach rechts bewegt. Infolgedessen zwingt der atmosphärische Druck über dem Band das Band zu der Bandauflagefläche 802 hin, wodurch in der Nähe jedes der Ränder ein Band-Zeltbildung Überspannen erzeugt wird. Die Band-Biegesteifigkeit widersetzt sich der Einwirkung des atmosphärischen Drucks, wodurch das Band-Überspannen in der Nähe sowohl des führenden als auch des hinteren Rands verursacht wird. Eine Modellbildung sagt vorher, dass die beiden Überspannungen sich in der Form sehr ähnlich sind.
  • 8C stellt dar, wie der Unterdruck das Band 808 zu der Bandauflagefläche 802 hin zwingt, selbst wenn eine hintere Führung 810 über der Ebene der Bandauflagefläche positioniert ist.
  • Daraus folgt, dass das Band-Überspannen verwendet werden kann, um den Pfad eines Bands zu lenken, wenn es über ein Modul geführt wird. Wie vorher erwähnt, kann ein Band-Überspannen verwendet werden, um sicherzustellen, dass das Band ausreichend nahe an dem Abschnitt des Moduls mit den Magnetwandlern vorbeigeführt wird, bevorzugt so, dass ein Lesen und/oder Schreiben effizient, z.B. mit niedriger Fehlerrate, ausgeführt wird.
  • Magnetbänder können in Bandkassetten gespeichert werden, die wiederum in Speichersteckplätzen oder dergleichen in einer Datenspeicherbibliothek gespeichert werden. Die Bandkassetten können so in der Bibliothek gespeichert werden, dass sie für einen physischen Abruf zugreifbar sind. Neben Magnetbändern und Bandkassetten können Datenspeicherbibliotheken Datenspeicherlaufwerke enthalten, die Daten auf den Magnetbändern speichern und/oder aus diesen abrufen. Des Weiteren können Bandbibliotheken und die darin enthaltenen Komponenten ein Dateisystem umsetzen, das Zugriff auf ein Band und die auf dem Band gespeicherten Daten ermöglicht.
  • Dateisysteme können verwendet werden, um zu steuern, wie Daten in einem Arbeitsspeicher gespeichert und aus diesem abgerufen werden. Somit kann ein Dateisystem die Prozesse und Datenstrukturen enthalten, die ein Betriebssystem verwendet, um Dateien im Arbeitsspeicher zu verfolgen, z.B. die Weise, in der Dateien im Arbeitsspeicher organisiert sind. Das Linear Tape File System (LTFS - lineares Banddateisystem) ist ein Beispielformat für ein Dateisystem, das in einer bestimmten Bibliothek umgesetzt werden kann, um Zugriff auf konforme Bänder zu ermöglichen. Es sollte klar sein, dass verschiedene Ausführungsformen hierin mit einer großen Bandbreite von Dateisystemformaten umgesetzt werden können, einschließlich zum Beispiel IBM Spectrum Archive Library Edition (LTFS LE). Zum Bereitstellen eines Kontexts und ausschließlich zur Unterstützung der Lesevorrichtung können einige der folgenden Ausführungsformen jedoch unter Bezugnahme auf LTFS beschrieben werden, das ein Typ eines Dateisystemformats ist. Dies wurde nur zu Beispielzwecken vorgenommen und soll die in den Ansprüchen definierte Erfindung keinesfalls einschränken.
  • Eine Bandkassette kann „geladen“ werden, indem die Kassette in das Bandlaufwerk eingesetzt wird, und die Bandkassette kann „ausgeladen“ werden, indem die Bandkassette aus dem Bandlaufwerk entfernt wird. Nach dem Laden in das Bandlaufwerk kann das Band in der Bandkassette durch das Laufwerk „gefädelt“ werden, indem das Band (der magnetische Aufzeichnungsabschnitt) physisch aus der Bandkassette herausgezogen und über einen Magnetbandkopf eines Bandlaufwerks geführt wird. Ferner kann das Band an einer Aufwickelspule (siehe 121 von 1A oben) befestigt werden, um das Band über den Magnetbandkopf zu bewegen.
  • Nach dem Einfädeln in das Bandlaufwerk kann das Band in der Kassette „eingehängt“ werden, indem Metadaten auf einem Band gelesen werden (wie z.B. in einem Index), und das Band in einen Zustand versetzt wird, in dem das LTFS fähig ist, das Band als einen Hauptbestandteil eines Dateisystems zu verwenden. Des Weiteren, um ein Band „auszuhängen“, werden bevorzugt zunächst Metadaten auf das Band geschrieben (z.B. als ein Index), wobei das Band danach aus dem Zustand entfernt werden kann, in dem das LTFS das Band als einen Hauptbestandteil eines Dateisystems verwenden darf. Um das Band „auszufädeln“ wird das Band schließlich von der Aufwickelspule abgenommen und physisch wieder in eine Bandkassette zurückgelegt. Die Kassette kann in dem Bandlaufwerk geladen bleiben, selbst wenn das Band ausgefädelt worden ist, z.B. wenn auf eine weitere Lese- und/oder Schreibanforderung gewartet wird. In anderen Beispielen kann die Bandkassette jedoch aus dem Bandlaufwerk ausgeladen werden, wenn das Band ausgefädelt worden ist, wie z.B. oben beschrieben.
  • Ein Magnetband ist ein Medium mit sequenziellem Zugriff. Somit werden neue Daten auf das Band geschrieben, in dem die Daten an das Ende der vorher geschriebenen Daten angehängt werden. Wenn Daten auf einem Band mit nur einer Partition aufgezeichnet werden, folgt daraus, dass Metadaten (z.B. Zuweisungsinformationen) kontinuierlich an das Ende der vorher geschriebenen Daten angehängt werden, da sie sich häufig aktualisieren und dementsprechend neu auf das Band geschrieben werden. Infolgedessen werden die hintersten Informationen gelesen, wenn ein Band erstmalig eingehängt wird, um auf die neueste Kopie der Metadaten zuzugreifen, die dem Band entsprechen. Dadurch entsteht jedoch eine beträchtliche Verzögerung im Prozess eines Einhängens eines bestimmten Bands.
  • Um dieser Verzögerung abzuhelfen, die durch ein Band mit Einzelpartition verursacht wird, enthält das LTFS-Format ein Band, das in zwei Partitionen unterteilt ist, die eine Index-Partition und eine Daten-Partition umfassen. Die Index-Partition kann konfiguriert werden, um Metadaten (Meta-Informationen) aufzuzeichnen, wie z.B. Dateizuweisungsinformationen (Index), während die Dateipartition konfiguriert werden kann, um den Datenbestand aufzuzeichnen, z.B. die Daten selbst.
  • Unter Bezugnahme auf 9 wird ein Magnetband 900 mit einer Index-Partition 902 und einer Daten-Partition 904 veranschaulicht. Wie gezeigt, sind Datendateien und Indices auf dem Band gespeichert. Das LTFS-Format ermöglicht es, Index-Informationen in der Index-Partition 902 am Anfang des Bands 906 aufzuzeichnen, was einem Fachmann beim Lesen der vorliegenden Beschreibung klar sein dürfte.
  • Wenn Index-Informationen aktualisiert werden, wird bevorzugt die vorherige Version der Index-Informationen überschrieben, wodurch ermöglicht wird, dass auf die aktuell aktualisierten Index-Informationen am Anfang des Bands in der Index-Partition zugegriffen werden kann. Gemäß dem spezifischen Beispiel, das in 9 veranschaulicht ist, wird eine neueste Version von Metadaten Index 3 in der Index-Partition 902 am Anfang des Bands 906 aufgezeichnet. Umgekehrt werden alle drei Metadaten-Versionen Index 1, Index 2, Index 3 sowie Daten Datei A, Datei B, Datei C, Datei D in der Daten-Partition 904 des Bands aufzeichnet. Obwohl Index 1 und Index 2 alte (z.B. überholte) Indices sind, da die Informationen auf das Band geschrieben werden, indem sie an das Ende der vorher geschriebenen Daten angehängt werden, wie vorher beschrieben, bleiben diese alten Indices Index 1, Index 2 auf dem Band 900 in der Daten-Partition 904 gespeichert, ohne überschrieben zu werden.
  • Die Metadaten können in der Index-Partition 902 und/oder der Daten-Partition 904 unterschiedlich aktualisiert werden, was von der gewünschten Ausführungsform abhängt. Gemäß einigen Ausführungsformen können die Metadaten in der Index-Partition 902 in Reaktion darauf aktualisiert werden, dass das Band so aus der Bereitstellung genommen wird, dass z.B. der Index aus der Index-Partition gelesen werden kann, wenn das Band wieder eingehängt wird. Die Metadaten können auch in die Daten-Partition 902 geschrieben werden, sodass das Band unter Verwendung der Metadaten eingehängt werden kann, die in der Daten-Partition 902 aufgezeichnet sind, z.B. als Sicherungsoption.
  • Gemäß einem Beispiel, das die Erfindung keinesfalls einschränken soll, kann LTFS LE verwendet werden, um die Funktionalität des Schreibens eines Index in der Daten-Partition bereitzustellen, wenn ein Benutzer das System explizit dazu anweist, oder zu einem Zeitpunkt, der durch einen vorbestimmten Zeitraum bezeichnet wird, der durch den Benutzer eingestellt werden kann, z.B. so, dass ein Datenverlust im Fall einer plötzlichen Stromabschaltung gemildert werden kann.
  • Wie vorher erwähnt, umfasst ein Zugreifen auf Daten, die vorher auf ein Magnetband geschrieben wurden, typischerweise ein Lokalisieren des Magnetbands, auf das die Daten geschrieben wurden, ein Abrufen des Magnetbands, ein Laden des Magnetbands in ein Bandlaufwerk, ein Ausrichten eines Magnetkopfs in dem Bandlaufwerk auf den bestimmten Abschnitt des Magnetbands, auf den die Daten geschrieben sind, und ein tatsächliches Lesen der Daten. Versuche, Datenzugriffszeiten für Magnetband zu reduzieren, führten die Verwendung einer Zwischenspeicherung in Kombination mit dem Magnetband selbst ein. Wenn Daten auf ein Magnetband geschrieben und/oder aus einem Magnetband gelesen werden, werden die Daten vorübergehend in einem Cache gespeichert, sodass darauf leichter und schneller zugegriffen werden kann. Da die Menge an verfügbarem Platz in dem Cache jedoch im Lauf der Verwendung abnimmt, werden die in dem Cache gespeicherten Daten in Reaktion auf ein Empfangen einer weiteren Anforderung einer Inanspruchnahme von Arbeitsspeicherplatz gelöscht, wodurch der Cache zum Speichern anderer Daten, die der Anforderung entsprechen, freigegeben wird. Dementsprechend wird der Inhalt des Caches typischerweise nicht in Einheiten vollständiger Dateien und/oder in einer erwünschten Zuweisungsreihenfolge gelöscht. Wenn zum Beispiel eine bestimmte Datei mit einer Größe geschrieben wird, die größer als die Größe des Caches ist, bleibt dementsprechend zu jedem Zeitpunkt nur ein Abschnitt der Datei in dem Cache, wodurch verursacht wird, dass die Datei einem Arbeitsspeicher in nicht zusammenhängenden Bereichen zugewiesen wird.
  • Bei herkömmlichen Produkten ergeben sich verkürzte Zugriffszeiten, wenn versucht wird, eine Datei zu lesen (z.B. eine bestimmte Gruppierung von Daten), die dem Arbeitsspeicher in nicht zusammenhängenden Bereichen zugewiesen worden ist. Um Daten zu lesen, die einem Magnetband in nicht zusammenhängenden Bereichen zugewiesen worden sind, wird eine Mehrzahl von Lokalisierungs- und Leseoperationen in einem Bandlaufwerk ausgeführt, das auf das Magnetband zugreift. Infolgedessen bleiben die Zeiten eines Datenzugriffs in herkömmlichen Produkten auf Magnetbandgrundlage unerwünscht langsam für Daten, die im Arbeitsspeicher in nicht zusammenhängenden Bereichen zugewiesen worden sind.
  • Im starken Gegensatz dazu sind die hierin beschriebenen verschiedenen Ansätze fähig, die Zeiten eines Datenzugriffs entscheidend zu verkürzen, indem verschiedene Operationen für Datenzugriff und/oder Lesen von Daten abhängig von der Situation umgesetzt werden. Zum Beispiel können die Operationen, die für ein Zugreifen auf eine angeforderte Datei (z.B. eine Gruppierung von Daten) auf einem Magnetband ausgeführt werden, je nach dem Abstand variieren, der eine aktuelle Ausrichtung eines Magnetbandkopfs relativ zu dem Magnetband und der Stelle der angeforderten Datei trennt, wie z.B. ausführlicher im Folgenden beschrieben wird.
  • Unter Bezugnahme auf 10 wird eine Darstellungsansicht eines Datenspeichersystems 1000 veranschaulicht. Als Option kann das Datenspeichersystem 1000 in Verbindung mit Merkmalen aus jeder anderen hierin aufgeführten Ausführungsform umgesetzt werden, wie beispielsweise diejenigen, die unter Bezugnahme auf die anderen Figuren beschrieben werden. Ein derartiges Datenspeichersystem 1000 und andere hierin dargestellte können in verschiedenen Anwendungen und/oder in Variationen verwendet werden, die in den hierin aufgeführten veranschaulichten Ausführungsformen speziell beschrieben sein können. Ferner kann das Datenspeichersystem 1000 in jeder gewünschten Umgebung verwendet werden. Somit kann für 10 (und die anderen Figuren) davon ausgegangen werden, dass sie alle möglichen Variationen enthalten.
  • Wie gezeigt, enthält die Darstellungsansicht eines Datenspeichersystems 1000 einen Benutzerbereich 1002, eine Kernel-Ebene 1004 und eine physische Einheiten-Ebene 1006. Der Benutzerbereich 1002 enthält eine Anwendung 1008, die für einen Benutzer eine logische Schnittstelle zum Speichern (Schreiben), Zugreifen (Lesen), Aktualisieren usw. von Daten bereitstellen kann, die in dem Datenspeichersystem 1000 gespeichert sind. Die Anwendung 1008 kann auf einer elektrischen Datenverarbeitungseinheit betrieben (z.B. ausgeführt) werden, die eine Schnittstelle bereitstellt, die ein Benutzer verwenden kann. Zum Beispiel kann die Anwendung 1008 auf einem PC, einer mobilen Einheit, einem Tablet usw. betrieben werden, je nach gewünschtem Ansatz.
  • Die Anwendung 1008 tauscht mit einem Controller 1010 Daten aus, der sich auf der Kernel-Ebene 1004 des Datenspeichersystems 1000 befindet. Des Weiteren kann der Controller 1010 mit einem virtuellen Dateisystem (VFS) 1012 und einem Dateisystem 1014 Daten austauschen. Es ist anzumerken, dass jede der in dem Datenspeichersystem 1000 enthaltenen Komponenten fähig sein kann, unter Verwendung jeder gewünschten Verbindung Daten auszutauschen (z.B. Informationen auszutauschen). Gemäß verschiedenen Ansätzen können zwei oder mehrere der Komponenten, die in dem Datenspeichersystem 1000 enthalten sind, fähig sein, untereinander unter Verwendung einer drahtlosen elektrischen Verbindung, z.B. eine Bluetooth-Verbindung, eine WLAN-Verbindung, eine Mobilfunkverbindung usw.; unter Verwendung einer drahtgebundenen elektrischen Verbindung usw., z.B. eine Ethernet-Verbindung, eine Leitung, ein Kabel usw. und so fort Daten auszutauschen.
  • VFS 1012 ist ferner mit einem Eingabe/Ausgabe- (E/A) Cache 1016 verbunden, der einen Arbeitsspeicher enthält, der zumindest zum temporären Speichern von Daten verwendet wird. Erforderliche Daten, die in dem E/A-Cache 1016 enthalten sind, können einfach durch Lesen der Daten aus dem Cache und deren Bereitstellen in Reaktion auf die Anforderung bedient werden. Da der E/A-Cache 1016 im Vergleich zum Magnetband ein leistungsstärkeres (z.B. schnelleres) Speichermedium ist, kann ein Zugreifen auf angeforderte Daten vom E/A-Cache 1016 wesentlich schneller erfolgen als ein erneutes Berechnen oder Abrufen der angeforderten Daten aus ihrem Speicherort auf dem Magnetband, wie z.B. im Folgenden ausführlicher beschrieben wird.
  • Weiterhin unter Bezugnahme auf 10 sind das VFS 1012 und das Dateisystem 1014 miteinander verbunden und können gemäß jedem Ansatz arbeiten, wie für den Fachmann nach einem Durchlesen der vorliegenden Beschreibung klar sein dürfte. Des Weiteren ist das Dateisystem 1014 mit Komponenten verbunden (und ist fähig, mit diesen Daten auszutauschen), die sich auf der physischen Einheiten-Ebene 1006 befinden. Daraus folgt, dass der Controller 1010 fähig ist, mit verschiedenen Komponenten sowohl auf dem Benutzerbereich 1002, der Kernel-Ebene 1004 als auch der physischen Einheiten-Ebene 1006 Daten auszutauschen. Gemäß einem veranschaulichenden Ansatz, der keinesfalls als für die Erfindung einschränkend zu betrachten ist, kann der Controller 1010 fähig sein, mit einem Bandlaufwerk, das in der physischen Einheiten-Ebene 1006 enthalten ist, Daten auszutauschen (z.B. Befehle auszugeben, Daten zu empfangen, Daten zu senden usw.).
  • Unter Bezugnahme auf die physische Einheiten-Ebene 1006 wird eine Darstellungsansicht einer Datei 1018 gezeigt, die auf einem Magnetband 1020 gespeichert ist. Gemäß bevorzugten Ansätzen werden Daten auf dem Magnetband 1020 gemäß einem Format eines linearen Banddateisystems (LTFS) gespeichert. Dementsprechend kann die Datei 1018 auf dem Magnetband 1020 gemäß einem LTFS-Format gespeichert werden. Allerdings können Daten auf dem Magnetband 1020 je nach Ansatz gemäß jedem gewünschten Format gespeichert werden.
  • Obwohl in der vorliegenden Ausführungsform der Erfindung nicht gezeigt, kann das Magnetband 1020 so in ein Bandlaufwerk geladen werden, dass ein Magnetbandkopf in dem Bandlaufwerk fähig ist, auf einen bestimmten Bereich des Magnetbands 1020 zuzugreifen (daraus zu lesen und/oder in dieses zu schreiben)(siehe z.B. 1A). Die schattierten Abschnitte der Datei 1018 entsprechen Datenabschnitten, die in dem E/A-Cache 1016 enthalten sind. Mit anderen Worten, eine Kopie der Daten, die in den schattierten Abschnitten der Datei 1018 enthalten sind, ist in dem E/A-Cache 1016 gespeichert, wie durch die gestrichelten Linien dargestellt.
  • Wie vorher erwähnt, ist der E/A-Cache ein relativ leistungsstärkeres Medium im Vergleich mit z.B. einer Magnetplatte und einem Magnetband. Dementsprechend kann ein Zugreifen auf angeforderte Daten aus dem E/A-Cache spürbar schneller als ein Abrufen der angeforderten Daten aus ihrer bzw. ihren anderen Speicherstelle(n) auf Magnetmedien sein. In Situationen, in denen eine angeforderte Datei einem Magnet-Medium in nicht zusammenhängenden Bereichen zugewiesen worden ist und/oder nur bestimmte Abschnitte einer angeforderten Datei in dem E/A-Cache bleiben (siehe z.B. Datei 1018 von 10), kann beim Lesen der angeforderten Datei auf einen Teil der Datei vom E/A-Cache aus zugegriffen werden, während auf einen Rest der Datei von dem Magnet-Medium aus zugegriffen wird. In Situationen, in denen das Magnet-Medium eine Magnetplatte ist, verursacht ein Lesen nur ausgewählter Abschnitte der angeforderten Datei aus der Platte keine spürbare Verringerung der Geschwindigkeit, in der der Lesevorgang ausgeführt wird, aufgrund der Datenstruktur des Dateisystems auf der Magnetplatte und der physischen Struktur eines physischen Plattensystems.
  • In Situationen, in denen das Magnet-Medium ein Magnetband ist, führt ein Lesen nur ausgewählter Abschnitte der angeforderten Daten aus dem Band jedoch zu unerwünscht langsamen Datenzugriffszeiten in herkömmlichen Produkten. Wenn zum Beispiel eine Datei, die dem Magnetband in nicht zusammenhängenden Bereichen zugewiesen wurde, und/oder nur bestimmte Abschnitte einer angeforderten Datei, die in dem E/A-Cache bleiben (siehe z.B. Datei 1018 von 10), ab der Startposition auf dem Magnetband gelesen werden, geben herkömmliche Produkte eine Mehrzahl von Positionierungsbefehlen (Locate - Lokalisieren) und Lesebefehlen (Read - Lesen) an ein Bandlaufwerk aus. Damit hängt die Datenzugriffszeit, die dem Lesen einer derartigen Datei entspricht, von dem Zeitraum ab, der nötig ist, um die Mehrzahl von Positionierungsbefehlen auszuführen. Während ein Lesen einiger Dateien aus dem Magnetband nur ein Ausführen einer begrenzten Anzahl von Positionierungsbefehlen umfasst, kann ein Lesen anderer Dateien ein Ausführen einer beträchtlichen Anzahl von Positionierungsbefehlen umfassen. Dementsprechend stellen verschiedene Ausführungsformen der hierin beschriebenen Erfindung einen Prozess zum Bestimmen einer effizienten Möglichkeit bereit, eine bestimmte Datei abhängig von verschiedenen Faktoren zu lesen, wie schnell offenkundig wird.
  • Unter Bezugnahme auf 11A wird ein Ablaufplan eines Verfahrens 1100 gezeigt. Das Verfahren 1100 kann gemäß der vorliegenden Erfindung in jeder der unter anderem in 1A bis 10 dargestellten Umgebungen in verschiedenen Ausführungsformen ausgeführt werden. Natürlich können mehr oder weniger als die speziell in 11A beschriebenen Operationen im Verfahren 1100 enthalten sein, wie vom Fachmann beim Durchlesen der vorliegenden Beschreibung verstanden wird.
  • Jeder der Schritte des Verfahrens 1100 kann von jeder geeigneten Komponente der Betriebsumgebung ausgeführt werden. Zum Beispiel können eine oder mehrere im Verfahren 1100 enthaltene Operationen durch den Controller 1010 des Datenspeichersystems 1000 in 10 ausgeführt werden. In verschiedenen Ausführungsformen der Erfindung kann das Verfahren 1100 teilweise oder ganz von einem Controller, einem Prozessor, einem Computer usw. oder irgendeiner anderen Einheit mit einem oder mehreren darin integrierten Prozessoren ausgeführt werden. Somit kann in einigen Ausführungsformen der Erfindung das Verfahren 1100 ein durch einen Computer umgesetztes Verfahren sein. In derartigen Ausführungsformen der Erfindung kann der Computer, der zum Umsetzen des Verfahrens verwendet wird, das Bandlaufwerk selbst oder einen Teil davon umfassen, wie beispielsweise den Controller, das Band, einen externen Host, einen Server usw. Des Weiteren können die Begriffe Computer, Prozessor und Controller in Bezug auf jede der Ausführungsformen der Erfindung hierin austauschbar verwendet werden, da derartige Komponenten in den vielen verschiedenen Variationen der vorliegenden Erfindung als gleichwertig betrachtet werden.
  • Des Weiteren kann für diese Ausführungsformen der Erfindung, die einen Prozessor haben, der Prozessor, z.B. Verarbeitungsschaltung(en), Chip(s) und oder Modul(e), die in Hardware und/oder Software umgesetzt sind und bevorzugt mindestens eine Hardware-Komponente haben, in jeder Einheit verwendet werden, um einen oder mehrere Schritte des Verfahrens 1100 auszuführen. Veranschaulichende Prozessoren umfassen eine Zentraleinheit (CPU), eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA) usw., Kombinationen davon oder irgendeine im Stand der Technik bekannte andere geeignete Datenverarbeitungseinheit.
  • Wie in 11A gezeigt, enthält die Operation 1102 des Verfahrens 1100 ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind. Gemäß einigen Ansätzen kann die empfangene Leseanforderung angeben, welche Datei gelesen werden soll, um auf die angeforderten Daten, einen Versatz, der den angeforderten Daten entspricht, eine Größe (z.B. Menge) der angeforderten Daten usw. zuzugreifen, die ein Magnetbandlaufwerk beim Zugreifen auf die angeforderten Daten unterstützten können. Zum Beispiel kann die empfangene Leseanforderung die folgenden Informationen enthalten: read („FileA“, Versatz = 1MB, Größe = 128kB). Abhängig von der Größe der angeforderten Daten (z.B. die Menge der angeforderten Daten) können die angeforderten Daten selbst mehrere Abschnitte enthalten. Zum Beispiel kann die Operation 1102 ein Empfangen einer Leseanforderung für eine 10-Gibibyte- (GiB) Datei enthalten, wobei die 10-GiB-Datei eine Mehrzahl von Datenblöcken (z.B. Abschnitte) enthält. Gemäß einem veranschaulichenden Ansatz kann die Größe jedes der Datenblöcke selbst ungefähr 512 Kibibytes (KiB) betragen, könnte aber größer oder kleiner sein. Des Weiteren können die Daten auf dem Magnetband gemäß einem LTFS-Format gespeichert werden.
  • Des Weiteren enthält eine Entscheidung 1103 ein Bestimmen, ob sich eine Kopie von jedem der Abschnitte der angeforderten Daten in einem Cache befindet, z.B. einem E/A-Cache wie oben erwähnt. In Reaktion auf ein Bestimmen, dass sich eine Kopie von einem oder mehreren Abschnitten der angeforderten Daten in dem Cache befindet, wird gezeigt, dass das Verfahren 1100 zu einer Operation 1112 springt, wodurch die angeforderten Daten in einem Lesepuffer kombiniert werden können. Nach einem Kombinieren in dem Lesepuffer kann die Leseanforderung erfüllt werden, wie z.B. im Folgenden ausführlicher beschrieben wird. Um die Abschnitte der angeforderten Daten, die sich im Cache befinden, zu kombinieren, kann ein Sprung zur Operation 1112 ein Anfordern der Abschnitte aus dem Cache, ein Empfangen der Abschnitte von dem Cache und ein Hinzufügen der von dem Cache empfangenen Abschnitte zu dem Lesepuffer enthalten. Es kann ebenfalls wünschenswert sein, zu bestimmen, ob irgendwelche anderen Abschnitte der angeforderten Daten vorhanden sind, die noch nicht ausgewertet (z.B. gelesen) worden sind. In Reaktion auf ein Bestimmen, dass ein oder mehrere Abschnitte der angeforderten Daten vorhanden sind, die noch nicht ausgewertet worden sind, kann das Verfahren 1100 zu der Entscheidung 1106 oder der Operation 1104 zurückkehren, sodass auf die restlichen Abschnitte der angeforderten Daten vom Cache oder von einem Magnetband zugegriffen werden kann.
  • Es ist anzumerken, dass dieses Durchqueren des Ablaufplans in 11A für Situationen reserviert werden kann, in denen sich alle der angeforderten Daten im Cache befinden, sodass die Leseanforderung ohne ein Lesen irgendwelcher Daten aus dem Magnetband erfüllt werden kann. In einigen Ansätzen kann sich jedoch eine Kopie von nur einigen der angeforderten Daten im Cache befinden, während sich ein Rest der angeforderten Daten auf dem Magnetband befinden kann. In solchen Ansätzen kann ein Rest des Verfahrens 1100 und/oder einige der in 11B bis 11D enthaltenen Prozesse ausgeführt werden, wie z.B. einem Fachmann nach dem Durchlesen der vorliegenden Beschreibung klar sein dürfte.
  • In Reaktion auf ein Bestimmen, dass eine Kopie von einem oder mehreren Abschnitten der angeforderten Daten sich nicht im Cache befindet (z.B. einem E/A-Cache), fährt das Verfahren 1100 mit einer Operation 1104 fort, die ein Anweisen des Bandlaufwerks enthält, auf dem Magnetband auf die Abschnitte der angeforderten Daten zuzugreifen, für die bestimmt wurde, dass sie sich nicht im Cache befinden. Wie oben angedeutet, wird bevorzugt, dass Abschnitte der angeforderten Daten mit einer aktuell im Cache gespeicherten Kopie direkt aus dem Cache zu einem Lesepuffer hinzugefügt werden anstatt aus dem Magnetband gelesen zu werden. Somit kann der Prozess eines Erfüllens der empfangenen Leseanforderung ein Sammeln von Abschnitten der angeforderten Daten aus dem Magnetband zusätzlich zu einem Sammeln von anderen Abschnitten aus dem Cache enthalten, wie z.B. in den verschiedenen Ansätzen hierin beschrieben.
  • Ein Datenspeichersystem kann jede Anzahl von verschiedenen Magnetbändern enthalten. Zum Beispiel kann ein Datenspeichersystem eine Bandbibliothek enthalten, die eine Mehrzahl von Magnetbändern enthält. Somit können abhängig davon, wo sich das Magnetband mit den angeforderten Daten relativ zum Bandlaufwerk befindet, zusätzliche Prozesse ausgeführt werden, bevor das Bandlaufwerk tatsächlich in der Lage ist, auf die angeforderten Daten zuzugreifen. Gemäß einem Beispiel, das die Erfindung keinesfalls einschränken soll, kann das Datenspeichersystem bestimmen, dass die angeforderten Daten auf einem Magnetband in einer Bandkassette gespeichert sind, die in einem Speichersteckplatz einer Bandbibliothek untergebracht ist. Somit kann eine Greiferbaugruppe eines Zugriffsmechanismus verwendet werden, um die Bandkassette mit dem Magnetband aufzunehmen (z.B. zu greifen), und die Bandkassette so zu dem Bandlaufwerk zu transportieren, dass das Magnetband in dem Bandlaufwerk eingehängt werden kann. Gemäß einem weiteren Beispiel, das die Erfindung wiederum keinesfalls einschränken soll, kann das Datenspeichersystem jedoch bestimmen, dass sich die angeforderten Daten auf einem Magnetband befinden, das zu dem Zeitpunkt des Empfangens der Leseanforderung bereits in dem Bandlaufwerk eingehängt war.
  • Nach einem Bestimmen, dass das Magnetband mit den angeforderten Daten in dem Bandlaufwerk eingehängt ist, kann das Bandlaufwerk das Magnetband vorspulen und oder zurückspulen, sodass ein Magnetbandkopf in dem Bandlaufwerk sich ungefähr an einem Anfang der angeforderten Daten oder irgendeinem gewünschten Abschnitt davon befindet. Gemäß einem veranschaulichenden Ansatz kann ein bzw. können mehrere Antriebsmotoren verwendet werden, um eine Bandzuführkassette und/oder eine Aufwickelspule anzutreiben, um das Magnetband in Reaktion auf ein Empfangen der in der Operation 1104 gesendeten Anweisungen über einen Magnetbandkopf zu führen.
  • Daraus folgt, dass das Magnetband, auf dem die Daten gespeichert sind, abhängig von der Situation bereits in das Bandlaufwerk geladen sein kann. Dementsprechend, und unter momentaner Bezugnahme auf 11B, werden beispielhafte untergeordnete Prozesse zum Sicherstellen veranschaulicht, dass ein Magnetband mit den angeforderten Daten in ein Bandlaufwerk geladen ist, um auf den Anfang der angeforderten Daten auf dem Magnetband zuzugreifen, von denen einer oder mehrere zum Ausführen der Operation 1104 von 11A verwendet werden können. Es sollte jedoch angemerkt werden, dass die untergeordneten Prozesse von 11B die Erfindung keinesfalls einschränken sollen.
  • Wie gezeigt, enthält die untergeordnete Operation 1120 ein Bestimmen eines Magnetbands, auf dem die angeforderten Daten gespeichert sind. Gemäß bevorzugten Ansätzen wird das Magnetband in einer Bandkassette gespeichert, die wiederum in Speichersteckplätzen einer Bandbibliothek gespeichert werden kann. Dementsprechend kann eine untergeordnete Operation 1120 tatsächlich ausgeführt werden, indem die Bandkassette bestimmt wird, die das Magnetband speichert, auf dem die angeforderten Daten gespeichert sind. Bandkassetten können durch einen Strichcode, eine Identifizierungsnummer, einen Hochfrequenzidentifizierungs-Chip (RFID) usw. identifiziert werden, auf die auf oder von einer Außenseite des Bandkassettengehäuses aus zugegriffen werden kann. Des Weiteren kann eine Lookup-Tabelle im Arbeitsspeicher verfolgen, welche Magnetbänder in welcher Bandkassette gespeichert sind, und die Daten, die auf solchen Magnetbändern gespeichert sind.
  • Sobald das Magnetband mit den angeforderten Daten identifiziert worden ist, enthält eine Entscheidung 1122 ein Bestimmen, ob das identifizierte Magnetband bereits in ein Bandlaufwerk einer Speicherbibliothek geladen ist. In Reaktion auf ein Bestimmen, dass das Magnetband bereits in ein Bandlaufwerk geladen ist, fährt der Ablaufplan mit einer Entscheidung 1106 von 11A unten fort. Es sollte jedoch angemerkt werden, dass zusätzliche Prozesse in Reaktion auf ein Bestimmen ausgeführt werden können, dass das Magnetband mit den gewünschten Daten bereits in ein Bandlaufwerk geladen ist. Gemäß einem veranschaulichenden Einsatzbeispiel, das die Erfindung keinesfalls einschränken soll, enthält 14A im Folgenden mehrere Prozesse, die ausgeführt werden können, um Datenzugriffszeiten zu minimieren, indem eine effiziente Weise bestimmt wird, in der das Magnetband vorgespult und/oder zurückgespult wird, um zu den angeforderten Daten zu gelangen.
  • Unter erneuter Bezugnahme auf die Entscheidung 1122 fährt der Ablaufplan von 11B in Reaktion auf ein Bestimmen, dass das Magnetband noch nicht bereits in ein Bandlaufwerk geladen ist, mit einer untergeordneten Operation 1124 fort. In diesem Fall enthält die untergeordnete Operation 1124 ein Auswählen eines Bandlaufwerks, in das die Bandkassette, die das Magnetband mit den darauf gespeicherten angeforderten Daten speichert, geladen werden soll (z.B. in dem es eingehängt werden soll). Des Weiteren enthält eine untergeordnete Operation 1126 ein Senden (z.B. ein Ausgeben) einer Anforderung, die Kassette zu dem ausgewählten Bandlaufwerk zu bewegen. Gemäß einigen Ansätzen kann die untergeordnete Operation 1126 ausgeführt werden, indem ein automatisierter robotergestützter Zugriffsmechanismus angewiesen wird, die Bandkassette aufzunehmen (z.B. unter Verwendung einer Greiferbaugruppe) und die Bandkassette physisch von einer aktuellen Stelle (z.B. einem Speichersteckplatz) in das ausgewählte Laufwerk zu transportieren.
  • Ferner enthält eine untergeordnete Operation 1128 ein Anweisen des Bandlaufwerks, den Index an dem Anfang einer ersten Partition auf dem Magnetband zu lesen. Informationen bezüglich einer Position der angeforderten Daten auf dem Magnetband können durch Lesen des Index an dem Anfang der ersten Partition auf dem Magnetband gesammelt werden. Des Weiteren kann das Bandlaufwerk jede gewünschte Kombination von Lokalisierungsoperationen ausführen, um das Magnetband so vorwärts zu bewegen, dass ein Magnetkopf des Bands über (z.B. vertikal angrenzend an) einem Anfang der angeforderten Daten positioniert wird, z.B. gemäß einem der hierin beschriebenen Ansätze.
  • Ab einer untergeordneten Operation 1128, fährt der Ablaufplan direkt mit der Entscheidung 1106 von 11A fort. Unter erneuter Bezugnahme auf 11A enthält die Entscheidung 1106 dementsprechend für jeden der Abschnitte der angeforderten Daten, die sich nicht im Cache befinden, ein Bestimmen, ob ein mehrmaliges Ausführen eines Lokalisierungsbefehls oder Ausführen eines Lesebefehls (wobei alle zurückgegebenen Daten verworfen werden, die Abschnitten der angeforderten Daten entsprechen, von denen bestimmt wird, dass sie sich auch im Cache befinden) die Abschnitte der angeforderten Daten, die sich nicht im Cache befinden, in einem kürzeren Zeitraum abruft. Mit anderen Worten, die Entscheidung 1106 enthält ein Bestimmen, ob ein Lesen der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, unter Verwendung eines Lokalisierungs-Lese-Ansatzes schneller verläuft als ein Lesen der angeforderten Daten unter Verwendung eines kontinuierlichen Leseansatzes. Wie vorher erwähnt, können sich einige der mehreren Abschnitte der angeforderten Daten auf dem Magnetband befinden, sich aber auch in dem Cache befinden, während sich andere der mehreren Abschnitte der angeforderten Daten nur auf dem Magnetband befinden können. Unter momentaner erneuter Bezugnahme auf 10 befinden sich die schattierten Abschnitte der angeforderten Datei 1018 zum Beispiel auf dem Magnetband 1020 sowie in dem E/A-Cache 1016. Die nicht schattierten Abschnitte der angeforderten Datei 1018 befinden sich jedoch nur auf dem Magnetband 1020. Dementsprechend kann die Entscheidung 1106 bestimmen, ob ein Lesen eines nächsten Abschnitts der angeforderten Daten effizienter ausgeführt werden kann, indem ein Lokalisierungs-Lese-Ansatz verwendet wird oder ein kontinuierlicher Leseansatz verwendet wird, um das Band auf eine Position vorzuspulen, die dem nächsten Abschnitt der angeforderten Daten entspricht. Daraus folgt auch, dass die Entscheidung 1106 für jeden Abschnitt der angeforderten Daten ausgeführt werden kann, z.B. in einer iterativen Weise, wie im Folgenden ausführlicher beschrieben wird. In einigen Ansätzen können jedoch alle Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, als Ganzes ausgewertet werden, um zu bestimmen, ob ein aggregierter Zeitraum einem mehrmaligen Ausführen eines Lokalisierungsbefehls oder Ausführen eines Lesebefehls entspricht, während alle zurückgegebenen Daten verworfen werden, die Abschnitten der angeforderten Daten entsprechen, von denen bestimmt wird, dass sie sich auch in dem Cache befinden.
  • Die Verwendung eines Lokalisierungs-Lese-Ansatzes zum Lesen der angeforderten Daten enthält ein Lesen der Abschnitte der angeforderten Daten, die nur auf dem Magnetband gespeichert sind, während die Abschnitte der angeforderten Daten, die sich auch im Cache befinden, übersprungen werden. Die Abschnitte der angeforderten Daten, die sich auch im Cache befinden, können übersprungen werden, indem ein Lokalisierungsbefehl ausgeführt wird, der das Band auf den nächsten Abschnitt der angeforderten Daten vorspult, die nur auf dem Magnetband gespeichert sind. Wie oben beschrieben, kann dieser Ansatz zu einem größeren Verarbeitungszeitraum als ein kontinuierlicher Leseansatz führen, der ein Ausführen einer Anzahl von kontinuierlichen Leseoperationen enthält, doch hängt dies von einer Anzahl verschiedener Faktoren ab.
  • Zum Beispiel werden Lokalisierungssuchen nach der Position eines anschließenden Abschnitts der angeforderten Daten (z.B. ein Zieldatensatz) über Firmware verarbeitet, selbst wenn der Abschnitt bereits in einem Pufferspeicher in dem Bandlaufwerk gespeichert worden ist. Als Ergebnis dessen brauchen Lokalisierungsbefehle relativ mehr Zeit tl zum Verarbeiten. Selbst wenn der Lokalisierungsbefehl ausgeführt worden ist, muss das Bandlaufwerk eine sofort danach folgende Leseoperation ausführen. Des Weiteren umfasst ein Lesen direkt nach einem Lokalisierungsbefehl eine Einstellungszeit für Hardware in der Firmware und braucht somit ebenfalls eine relativ längere Zeit tr1 zum Ausführen. Ein Ausführen einer Anzahl von kontinuierlichen Leseoperationen wird mit Hardware, aber nicht mit Firmware verarbeitet und braucht somit eine extrem kurze Zeit tr2 zum Ausführen. Dies ist teilweise auf Bandlaufwerke zurückzuführen, die typischerweise hochoptimierte Merkmale für ein kontinuierliches Lesen in der Vorwärtsrichtung aufweisen.
  • Der tatsächliche Zeitraum, der zum Verarbeiten jeder dieser verschiedenen Operationen in Anspruch genommen wird, kann abhängig von dem Typ (z.B. Generation), Konfiguration usw. des bestimmten Bandlaufwerks unterschiedlich ausfallen. Somit kann ein Bandlaufwerk nach seiner Erzeugung getestet werden, um Werte zu bestimmen, die diesen verschiedenen Verarbeitungszeiten zugehörig sind. Diese Werte können ferner für spätere Referenzzwecke im Arbeitsspeicher (z.B. einer Lookup-Tabelle) des Bandlaufwerks gespeichert werden. Gemäß einem Beispiel, das die Erfindung keinesfalls einschränken soll, kann ein LTO8-Bandlaufwerk, das auf einen Datensatz von 512 Kilobyte (kB) zugreift, eine Lokalisierungsbefehl-Verarbeitungszeit tl von 11,9 ms, eine Lesen-nach Lokalisierung-Verarbeitungszeit tr1 von 9,3 ms und eine kontinuierliche Lese-Verarbeitungszeit tr2 von 1,4 ms haben. Nach einem Bestimmen können diese Werte nach einer Aktivierung des Bandlaufwerks fixiert werden, oder können durch eine Statistikberechnung aktualisiert werden, wenn die entsprechenden Befehle nach der Aktivierung des Bandlaufwerks ausgegeben werden.
  • Trotz der relativ schnelleren und langsameren Leistungszeiten, die einem Ausführen eines Lokalisierungsbefehls im Vergleich mit einer Anzahl von kontinuierlichen Leseoperationen zugehörig sind, hängen diese Leistungszeiten zumindest in gewissem Maß von der Speicherplatzmenge ab, die eine aktuelle Position und einen anschließenden Abschnitt der angeforderten Daten auf dem Magnetband trennt. Gleichung 1 bietet eine beispielhafte Möglichkeit zu bestimmen, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um ein Magnetband von einer aktuellen Position zu dem anschließenden Abschnitt der angeforderten Daten vorzuspulen, kleiner als ein zweiter Zeitraum ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der aktuellen Position zu dem anschließenden Abschnitt der angeforderten Daten vorzuspulen. Dementsprechend kann die Gleichung 1 verwendet werden, um die Entscheidung 1106 in einigen Ansätzen auszuführen. ( P D P C ) t r 2 + t r 2 > ( P D P C + 1 ) t r 2
    Figure DE112018005316T5_0001
  • Daraus folgt, dass die Gleichung 1 auf eine Gleichung 1.1 vereinfacht werden kann, die ebenfalls gemäß jedem der hierin beschriebenen Ansätze verwendet werden kann. ( P D P C + 1 ) t r 2 > t I + t r 1
    Figure DE112018005316T5_0002
  • In diesem Fall stellt PD die Anfangsposition des anschließenden Abschnitts der angeforderten Daten dar, wogegen Pc die aktuelle Position (z.B. Stelle) des Magnetbandkopfs relativ zu dem Magnetband darstellt. Ob ein Ausführen einer Anzahl von kontinuierlichen Leseoperationen weniger Zeit in Anspruch nimmt als ein Ausführen einer Lokalisierungsoperation gefolgt von einer Leseoperation hängt demzufolge von einem Abstand zwischen der Anfangsposition des anschließenden Abschnitts der angeforderten Daten (der „ersten Position“) und der aktuellen Position des Magnetbandkopfs relativ zu dem Magnetband (der „zweiten Position“) ab.
  • Daraus folgt, dass in einigen Ansätzen statt eines Bestimmens, ob die Gleichung 1 im laufenden Betrieb für spezifische Werte von PD und Pc während des Einsatz wahr ist, die Gleichung 1 verwendet werden kann, um einen Bereich von relativen Werten für PD und Pc zu bestimmen, die dazu führen, dass der logische Ausdruck für ein bestimmtes Bandlaufwerk wahr ist. Mit anderen Worten, da sowohl die Lokalisierungsbefehl-Verarbeitungszeit tl, die Lesen-nach Lokalisierung-Verarbeitungszeit tr1 als auch die kontinuierliche Lese-Verarbeitungszeit tr2 für ein bestimmtes Bandlaufwerk bekannt sein können (oder zumindest bestimmt werden können), kann ein Wertebereich für (PD - PC + 1) bestimmt werden, was dazu führt, dass die Gleichung 1 wahr ist. Des Weiteren kann ein Wertebereich für PD und Pc, die zu einem Wert für (PD - PC + 1) führen, der in dem bestimmten Bereich liegt, auch extrapoliert und im Arbeitsspeicher z.B. als Lookup-Tabelle gespeichert werden. Somit kann in einigen Ansätzen die Entscheidung 1106 durch ein Zugreifen auf eine Lookup-Tabelle bestimmt werden, um zu bestimmen, ob der Abstand entlang der Längserstreckung des Magnetbands, der die „erste Position“ von der „zweiten Position“ trennt, sich in einem vorbestimmten Bereich befindet, was dazu führt, dass die Gleichung 1 wahr ist.
  • Unter momentaner Bezugnahme auf 12 wird ein Diagramm 1200 dargestellt, das die Verarbeitungszeiten darstellt, die einem Verfolgen eines Lokalisierungs-Lese-Ansatzes im Vergleich mit einem kontinuierlichen Leseansatz für verschiedene Anzahlen von Abschnitten zugehörig sind, die durch ein beispielhaftes LTO8-Bandlaufwerk übersprungen werden. Die Daten, die zum Ausbilden der Darstellung des Diagramms 1200 verwendet wurden, wurden gemäß einem berechneten Versuch auf Grundlage gemessener Versuchsergebnisse generiert.
  • Ein Umsetzen der Ergebnisse des kontinuierlichen Leseansatzes führt zu einer konstanten Verarbeitungszeit, da dieser Ansatz von der Anzahl von Abschnitten der angeforderten Daten unbeeinflusst bleibt, die sowohl im Cache als auch auf dem Magnetband gespeichert sind. Allerdings wird gezeigt, dass der Lokalisierungs-Lese-Ansatz eine beträchtliche Erhöhung der Verarbeitungszeit verursacht, wenn die Anzahl von Abschnitten der angeforderten Daten übersprungen wird. Zur Verdeutlichung sollte angemerkt werden, dass die Zahlen entlang der X-Achse die durchschnittliche Anzahl von Abschnitten der angeforderten Daten darstellen, in denen ein Überspringen stattfindet. Zum Beispiel stellt ein Wert von 2 entlang der X-Achse eine Situation dar, in der jeweils jeder zweite Abschnitt der angeforderten Daten während des Lesens übersprungen wird. Die Darstellungen zeigen die Beziehung zwischen dem Lokalisierungs-Lese-Ansatz und dem kontinuierlichen Leseansatz. Somit stellt die Stelle, an der sich die zwei Darstellungen überschneiden, den Punkt dar, an dem sich die Effizienz der beiden Ansätze ändert. Daraus folgt, dass die genaue Stelle, an der sich die beiden Darstellungen überschneiden, oder sogar die Darstellungen sich selbst abhängig von dem speziellen Bandlaufwerk unterscheiden können.
  • Unter erneuter Bezugnahme auf die Entscheidung 1106 kann es dementsprechend wünschenswerter sein, abhängig von der Situation einen anschließenden Abschnitt der angeforderten Daten unter Verwendung eines spezifischen Lokalisierungs-Lese-Ansatzes oder eines kontinuierlichen Leseansatzes zu lesen. Wie gezeigt, fährt das Verfahren 1100 mit einer Operation 1108 in Reaktion auf ein Bestimmen fort, dass ein Lesen eines anschließenden Abschnitts der angeforderten Daten unter Verwendung eines Lokalisierungs-Lese-Ansatzes weniger Zeit in Anspruch nehmen wird als ein Lesen eines anschließenden Abschnitts der angeforderten Daten unter Verwendung eines kontinuierlichen Leseansatzes. In diesem Fall enthält die Operation 1108 ein Ausgeben des Lokalisierungs-Lese-Befehls zum Abrufen des anschließenden Abschnitts der angeforderten Daten, die sich nicht in dem Cache befinden. Obwohl die Operation 1108 für einen anschließenden Abschnitt der angeforderten Daten nur einmal ausgeführt werden kann, kann die Operation 1108 als ein Teil eines iterativen Prozesses für mehrere Abschnitte der angeforderten Daten ausgeführt werden. Unter momentaner Bezugnahme auf 11C werden beispielhafte untergeordnete Operationen zum Ausführen des Lokalisierungs-Lese-Ansatzes für den anschließenden Abschnitt der angeforderten Daten veranschaulicht, von denen eine oder mehrere zum Ausführen der Operation 1108 von 11A verwendet werden können. Es sollte jedoch angemerkt werden, dass die untergeordneten Operationen von 11C die Erfindung keinesfalls einschränken sollen.
  • Wie gezeigt, enthält der Ablaufplan von 11C ein Anweisen des Bandlaufwerks, einen Lokalisierungsbefehl auszuführen, um einen aktuellen Abschnitt der angeforderten Daten zu überspringen und auf einen „anschließenden Abschnitt“ der angeforderten Daten zuzugreifen. Siehe untergeordnete Operation 1140. Wie vorher erwähnt, kann ein aktueller Abschnitt der angeforderten Daten (über denen der Magnetkopf des Bandlaufwerks aktuell positioniert ist), von dem Bandkopf aus einer Reihe von Gründen nicht gelesen werden. Gemäß einigen Ansätzen kann der aktuelle Abschnitt der angeforderten Daten im Cache gespeichert werden und kann daher dem Lesepuffer direkt aus dem Cache hinzugefügt werden. Des Weiteren ist anzumerken, dass der Begriff „anschließender Abschnitt“ auf einen nächsten Abschnitt der angeforderten Daten verweisen soll, der auf dem Magnetband nach einem Abschnitt der angeforderten Daten gespeichert ist, auf die derzeit durch den Magnetkopf des Bandlaufwerks zugegriffen werden kann. Jedes Mal, wenn der Begriff „anschließender Abschnitt“ in Bezug auf 11C verwendet wird, verweist er auf denselben anschließenden Abschnitt der angeforderten Daten.
  • Unabhängig von dem Grund für ein Überspringen des Abschnitts der angeforderten Daten, auf die aktuell durch den Magnetkopf zugegriffen wird, enthält eine untergeordnete Operation 1142 ein Anweisen des Bandlaufwerks, den anschließenden Abschnitt der angeforderten Daten (der jetzt ungefähr unter dem Magnetkopf des Bandlaufwerks positioniert ist) aus dem Magnetband zu lesen. Des Weiteren, obwohl nicht in 11C gezeigt, kann der Ablaufplan zusätzlich ein Anfordern des anschließenden Abschnitts der angeforderten Daten enthalten, die aus dem Magnetband gelesen wurden. Mit anderen Worten, der Ablaufplan kann ein Anfordern der in der Operation 1142 aus dem Bandlaufwerk gelesenen Daten enthalten. Das Bandlaufwerk kann die gelesenen Daten über eine drahtgebundene elektrische Verbindung (siehe z.B. 10), eine drahtlose Verbindung (z.B. unter Verwendung einer Antenne) oder auf jede andere gewünschte Weise zum Übertragen von Informationen zu der Komponente bereitstellen, indem die verschiedenen hierin beschriebenen Prozesse ausgeführt werden.
  • Eine untergeordnete Operation 1144 enthält des Weiteren ein Empfangen, von dem Bandlaufwerk, des anschließenden Abschnitts der aus dem Magnetband durch das Bandlaufwerk gelesenen angeforderten Daten. Außerdem enthält die untergeordnete Operation 1146 ein Hinzufügen des anschließenden Abschnitts der angeforderten Daten, die von dem Bandlaufwerk empfangen (und von diesem gelesen) wurden, zu einem Lesepuffer.
  • Wie gezeigt, fährt der Ablaufplan von 11C von der untergeordneten Operation 1146 mit einer Entscheidung 1148 fort. In diesem Fall enthält die Entscheidung 1148 ein Bestimmen, ob irgendwelche anderen Abschnitte der angeforderten Daten vorhanden sind, die noch nicht ausgewertet (z.B. gelesen) worden sind. Der Ablaufplan kann zur Entscheidung 1106 in Reaktion auf ein Bestimmen zurückkehren, dass mindestens ein Abschnitt der angeforderten Daten vorhanden ist, der noch nicht gelesen worden ist, und jeder der in 11A bis 11D enthaltenen Prozesse kann für den mindestens einen Abschnitt ausgeführt oder wiederholt werden, für den bestimmt wurde, das er noch nicht ausgewertet wurde. In Reaktion auf ein Bestimmen, dass keine weiteren Abschnitte der angeforderten Daten für eine Auswertung übrig sind, kehrt der Ablaufplan direkt zu Operation 1112 von 11A zurück.
  • Unter erneuter Bezugnahme auf die Entscheidung 1106 von 11A kann das Verfahren 1100 alternativ mit einer Operation 1110 in Reaktion auf ein Bestimmen fortfahren, dass ein Lesen eines anschließenden Abschnitts der angeforderten Daten unter Verwendung eines Lokalisierungs-Lese-Ansatzes nicht weniger Zeit in Anspruch nimmt als ein Lesen eines anschließenden Abschnitts der angeforderten Daten unter Verwendung eines kontinuierlichen Leseansatzes. In diesem Fall enthält die Operation 1110 ein Ausgeben des kontinuierlichen Lesebefehls zum Abrufen des anschließenden Abschnitts der angeforderten Daten, die sich nicht in dem Cache befinden. Obwohl die Operation 1110 für einen anschließenden Abschnitt der angeforderten Daten nur einmal ausgeführt werden kann, kann die Operation 1110 als ein Teil eines iterativen Prozesses für mehrere Abschnitte der angeforderten Daten ausgeführt werden. Unter momentaner Bezugnahme auf 11D werden beispielhafte untergeordnete Operationen zum Ausführen des kontinuierlichen Leseansatzes für den anschließenden Abschnitt der angeforderten Daten veranschaulicht, von denen eine oder mehrere zum Ausführen der Operation 1110 von 11A verwendet werden können. Es sollte jedoch angemerkt werden, dass die untergeordneten Operationen von 11D die Erfindung keinesfalls einschränken sollen.
  • Wie gezeigt, enthält der Ablaufplan von 11D ein Bestimmen, ob die aktuelle Position (z.B. Stelle) des Magnetbands relativ zu einem Magnetkopf des Bandlaufwerks derart ist, dass der Magnetbandkopf fähig ist, auf einen „anschließenden Abschnitt“ der angeforderten Daten zuzugreifen. Siehe Entscheidung 1160. Mit anderen Worten, die Entscheidung 1160 enthält ein Bestimmen, ob die aktuelle Position des Magnetbands gleich der Position des anschließenden Abschnitts der angeforderten Daten ist. Wiederum kann ein aktueller Abschnitt der angeforderten Daten (über denen der Magnetkopf des Bandlaufwerks aktuell positioniert ist), von dem Bandkopf aus einer Reihe von Gründen nicht gelesen werden. Gemäß einigen Ansätzen kann der aktuelle Abschnitt der angeforderten Daten im Cache gespeichert werden und kann daher dem Lesepuffer direkt aus dem Cache hinzugefügt werden. Des Weiteren ist anzumerken, dass der Begriff „anschließender Abschnitt“ auf einen nächsten Abschnitt der angeforderten Daten verweisen soll, der auf dem Magnetband nach einem Abschnitt der angeforderten Daten gespeichert ist, auf die derzeit durch den Magnetkopf des Bandlaufwerks zugegriffen werden kann. Jedes Mal, wenn der Begriff „anschließender Abschnitt“ in Bezug auf 11D verwendet wird, verweist er auf denselben anschließenden Abschnitt der angeforderten Daten.
  • Wie gezeigt, fährt der Ablaufplan in Reaktion auf ein Bestimmen, dass die aktuelle Position des Magnetbands relativ zu dem Magnetbandkopf nicht gleich dem anschließenden Abschnitt der angeforderten Daten ist, mit einer untergeordneten Operation 1162 fort. In diesem Fall enthält die untergeordnete Operation 1162 ein Anweisen des Bandlaufwerks, eine Leseoperation auszuführen, um einen aktuellen Abschnitt der angeforderten Daten zu überspringen, um zu dem anschließenden Abschnitt der angeforderten Daten zu gelangen. Nach einem Ausführen der untergeordneten Operation 1162 kehrt der Ablaufplan zu der Entscheidung 1160 zurück, die erneut ausgeführt werden kann.
  • In Reaktion auf ein Bestimmen, dass die aktuelle Position des Magnetbands relativ zu dem Magnetbandkopf gleich dem anschließenden Abschnitt der angeforderten Daten ist, fährt der Ablaufplan jedoch mit einer untergeordneten Operation 1164 fort. In diesem Fall enthält die untergeordnete Operation 1164 ein Anweisen des Bandlaufwerks, den anschließenden Abschnitt der angeforderten Daten (der jetzt ungefähr unter dem Magnetkopf des Bandlaufwerks positioniert ist) aus dem Magnetband zu lesen. Des Weiteren, obwohl nicht in 11D gezeigt, kann der Ablaufplan zusätzlich ein Anfordern des anschließenden Abschnitts der angeforderten Daten enthalten, die aus dem Magnetband gelesen wurden. Mit anderen Worten, der Ablaufplan kann ein Anfordern der in der Operation 1164 aus dem Bandlaufwerk gelesenen Daten enthalten. Das Bandlaufwerk kann die gelesenen Daten über eine drahtgebundene elektrische Verbindung (siehe z.B. 10), eine drahtlose Verbindung (z.B. unter Verwendung einer Antenne) oder auf jede andere gewünschte Weise zum Übertragen von Informationen zu der Komponente bereitstellen, indem die verschiedenen hierin beschriebenen Prozesse ausgeführt werden.
  • Eine untergeordnete Operation 1166 enthält des Weiteren ein Empfangen, von dem Bandlaufwerk, des anschließenden Abschnitts der aus dem Magnetband durch das Bandlaufwerk gelesenen angeforderten Daten. Außerdem enthält die untergeordnete Operation 1168 ein Hinzufügen des anschließenden Abschnitts der angeforderten Daten, die von dem Bandlaufwerk empfangen (und von diesem gelesen) wurden, zu einem Lesepuffer.
  • Wie gezeigt, fährt der Ablaufplan von 11D ferner von der untergeordneten Operation 1168 mit einer Entscheidung 1170 fort. In diesem Fall enthält die Entscheidung 1170 ein Bestimmen, ob irgendwelche anderen Abschnitte der angeforderten Daten vorhanden sind, die noch nicht ausgewertet (z.B. gelesen) worden sind. Der Ablaufplan kann zur Entscheidung 1106 in Reaktion auf ein Bestimmen zurückkehren, dass mindestens ein Abschnitt der angeforderten Daten vorhanden ist, der noch nicht gelesen worden ist, und jeder der in 11A bis 11D enthaltenen Prozesse kann für den mindestens einen Abschnitt ausgeführt oder wiederholt werden, für den bestimmt wurde, das er noch nicht ausgewertet wurde. In Reaktion auf ein Bestimmen, dass keine weiteren Abschnitte der angeforderten Daten für eine Auswertung übrig sind, kehrt der Ablaufplan direkt zu Operation 1112 von 11A zurück.
  • Unter erneuter Bezugnahme auf 11A enthält eine Operation 1112 ein Kombinieren der Abschnitte der angeforderten Daten, die in dem Lesepuffer enthalten sind. Dementsprechend enthält die Operation 1112 ein Kombinieren der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, mit dem Abschnitt der angeforderten Daten, der sich in dem Cache befindet. Des Weiteren enthält eine Operation 1114 ein Erfüllen der empfangenen Leseanforderung, z.B. unter Verwendung der kombinierten Abschnitte der angeforderten Daten. Die Abschnitte der angeforderten Daten, die in dem Lesepuffer enthalten sind, können gemäß jedem Ansatz kombiniert werden, der für einen Fachmann nach dem Lesen der vorliegenden Beschreibung offenkundig ist. Zum Beispiel können die Abschnitte der angeforderten Daten in einer einzelnen Datei zusammengelegt werden, die anschließend in Reaktion auf die empfangene Anforderung bereitgestellt werden kann. Des Weiteren kann die Leseanforderung erfüllt werden, indem die angeforderten Daten zu einer Quelle der empfangenen Leseanforderung gesendet werden, ein Benutzer, der die Leseanforderung ausgegeben hat, informiert wird, dass die angeforderten Daten verfügbar sind, und ein Zugriff auf die angeforderten Daten bereitgestellt wird usw.
  • Es ist anzumerken, obwohl die verschiedenen Operationen des Verfahrens 1100 und die untergeordneten Prozesse, die in 11B bis 11D so veranschaulicht sind, dass sie in Bezug zueinander ausgeführt werden, dass bestimmte der Operationen und/oder untergeordneten Prozesse separat ausgeführt werden können. Zum Beispiel kann der Prozess zum Bestimmen, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um ein Magnetband von der zweiten Position zu der ersten Position vorzuspulen, oder ein zweiter Zeitraum, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position zu der ersten Position vorzuspulen, kleiner ist, getrennt von einem Erfüllen einer Leseanforderung bestimmt werden. Zum Beispiel können verschiedene Entscheidungen und/oder untergeordnete Operationen umgesetzt werden, um die zeiteffizienteste Möglichkeit zu bestimmen, auf einen gewünschten Abschnitt eines Magnetbands zuzugreifen, um eine Schreiboperation auszuführen.
  • Desgleichen ist anzumerken, dass verschiedene der in 11B bis 11D enthaltenen untergeordneten Prozesse in einer anderen Reihenfolge als gezeigt ausgeführt werden können. Statt zum Beispiel zu bestimmen, ob eine Kopie eines einzelnen Abschnitts der angeforderten Daten sich in einem E/A-Cache befindet, nachdem der Abschnitt gelesen wurde (siehe Entscheidung 1162 von 11D), kann eine Bestimmung vorgenommen werden, ob jeder der Anzahl von Abschnitten der angeforderten Daten sich in dem Cache befindet, sodass z.B. eine Anforderung für die Abschnitte, für die bestimmt wird, dass sie sich in dem Cache befinden, parallel zu einem Lesen der Abschnitte aus dem Magnetband ausgegeben werden kann. Statt jeden der Abschnitte der angeforderten Daten einzeln zu dem Lesepuffer hinzuzufügen, können gemäß einem weiteren Beispiel alle oder einige der Abschnitte der angeforderten Daten, für die bestimmt wird, dass sie sich in dem Cache befinden, zusammen von dem Cache empfangen werden (um z.B. den Systemdurchsatz zu verringern) und dem Lesepuffer zusammen hinzugefügt werden. In einigen Ansätzen können die Abschnitte der angeforderten Daten, die von dem Cache empfangen werden, dem Lesepuffer zusammen mit den Abschnitten der aus dem Magnetband angeforderten gelesenen (und nicht verworfenen) Daten hinzugefügt werden.
  • Unter Bezugnahme auf 13 wird ein Einsatzbeispiel, das die Erfindung keinesfalls einschränken soll, gemäß einem Magnetband 1300 mit einer Index-Partition 1302 und einer Daten-Partition 1304 veranschaulicht. Wie gezeigt, sind Datendateien Datei A bis Datei D und Indices Index 0 bis Index 3 auf dem Band gespeichert. Das LTFS-Format ermöglicht es, Index-Informationen in der Index-Partition 1302 am Anfang des Bands 1306 aufzuzeichnen, was einem Fachmann beim Lesen der vorliegenden Beschreibung klar sein dürfte.
  • Unter spezieller Bezugnahme auf Datei A zeigt eine Detailansicht der Datei, dass sie eine Mehrzahl von verschiedenen Abschnitten enthält (z.B. „Datensätze“, Blöcke usw.). Wie oben beschrieben, können einige der Abschnitte in einem Cache und zusätzlich auch auf dem Magnetband gespeichert werden, während andere Abschnitte nur auf dem Magnetband gespeichert werden. In dem vorliegenden Einsatzbeispiel werden die Abschnitte n+1, n+3, n+5 und n+8 sowohl auf dem Magnetband als auch in einem Cache gespeichert und sind schattiert, um dies darzustellen. Die Abschnitte n, n+2, n+4, n+6 und n+7 werden jedoch nur auf dem Magnetband gespeichert.
  • Eine Anforderung der Abschnitte n bis n+8 von Datei A kann von einem Datenspeichersystem auf Bandgrundlage empfangen werden, das das gezeigte LTFS-Format umsetzt. In Reaktion auf ein Empfangen der Anforderung kann ein Controller (oder eine andere Verarbeitungskomponente), der elektrisch mit einem Magnetbandlaufwerk verbunden ist, in dem das Magnetband 1300 eingehängt ist, die folgenden Prozesse ausführen:
    1. 1. Abschnitt n lokalisieren.
    2. 2. Abschnitt n lesen.
    3. 3. LTFS empfängt keine Anforderung für den Bereich von Abschnitt n+1, der im Cache gespeichert ist, und wird daher durch das VFS verarbeitet.
    4. 4. Abschnitt n+1 lesen und die Daten verwerfen, die im Abschnitt n+1 enthalten sind.
    5. 5. Abschnitt n+2 lesen.
    6. 6. LTFS empfängt keine Anforderung für den Bereich von Abschnitt n+3, der im Cache gespeichert ist, und wird daher durch das VFS verarbeitet.
    7. 7. Abschnitt n+3 lesen und die Daten verwerfen, die im Abschnitt n+3 enthalten sind.
    8. 8. Abschnitt n+4 lesen.
    9. 9. LTFS empfängt keine Anforderung für den Bereich von Abschnitt n+5, der im Cache gespeichert ist, und wird daher durch das VFS verarbeitet.
    10. 10. Abschnitt n+5 lesen und die Daten verwerfen, die im Abschnitt n+5 enthalten sind.
    11. 11. Abschnitt n+6 lesen.
    12. 12. Abschnitt n+7 lesen.
    13. 13. LTFS empfängt keine Anforderung für den Bereich von Abschnitt n+8, der im Cache gespeichert ist, und wird daher durch das VFS verarbeitet.
  • Wie vorher beschrieben, können zusätzliche Prozesse in Reaktion auf ein Bestimmen ausgeführt werden, dass das Magnetband mit den gewünschten Daten bereits in ein Bandlaufwerk geladen ist. Gemäß einem veranschaulichenden Einsatzbeispiel, das die Erfindung keinesfalls einschränken soll, enthält 14A mehrere Prozesse, die ausgeführt werden können, um Datenzugriffszeiten zu minimieren, indem eine effiziente Weise bestimmt wird, in der das Magnetband vorgespult und/oder zurückgespult wird, um zu den angeforderten Daten zu gelangen. Insbesondere enthält 14A beispielhafte untergeordnete Prozesse zum Anweisen des Bandlaufwerks, auf den Anfang der angeforderten Daten auf dem Magnetband zuzugreifen. Einer oder mehrere der untergeordneten Prozesse, die in 14A enthalten sind, können zum Ausführen der Operation 1104 von 11A verwendet werden. Es sollte jedoch angemerkt werden, dass die untergeordneten Prozesse von 14A die Erfindung keinesfalls einschränken sollen.
  • Wie gezeigt, enthält eine untergeordnete Operation 1420 ein Bestimmen einer ersten Position auf dem Magnetband, die dem Anfang der angeforderten Daten entspricht. Eine „Position“, wie hierin verwendet, kann jede Form von Informationen sein, die eine bestimmte Position auf dem Magnetband selbst bezeichnet. Zum Beispiel kann eine Position ein Längspositions- (LPOS) Wert sein, der einem Servoband auf dem Magnetband entspricht. Gemäß einigen Ansätzen kann die erste Position unter Verwendung eines Versatzwerts und/oder einer Größe bestimmt werden, die den angeforderten Daten zugehörig ist. Zum Beispiel können die angeforderten Daten eine Datei oder ein Abschnitt davon sein, der in einer bestimmten Datenspur auf einem speziellen Datenband des Magnetbands gespeichert ist und an einem bestimmten Versatz ab einem Referenzpunkt auf dem Magnetband beginnt und sich in einem bestimmten Abstand entlang der Länge des Magnetbands abhängig von der Größe der Datei erstreckt. Der Referenzpunkt kann abhängig von dem gewünschten Ansatz ein Anfang des Bands, ein Ende eines Header-Bereichs auf dem Band, der Anfang einer bestimmten Wicklungsnummer des Bands, ein Bandende usw. sein. Des Weiteren kann der Versatzwert und/oder eine Größe, die den angeforderten Daten zugehörig ist, in einer Lookup-Tabelle gespeichert werden, auf die verwiesen (zugegriffen) werden kann, um die untergeordnete Operation 1420 auszuführen.
  • Eine Entscheidung 1422 enthält ein Bestimmen, ob der Magnetbandkopf des Bandlaufwerks bereits auf der ersten Position positioniert ist. Mit anderen Worten, die Entscheidung 1422 enthält ein Bestimmen, ob der Magnetbandkopf bereits ungefähr über der ersten Position positioniert ist. Der Ablaufplan fährt direkt mit der Entscheidung 1106 von 11A unten in Reaktion auf ein Bestimmen fort, dass der Magnetbandkopf des Bandlaufwerks bereits an der ersten Position positioniert ist. In Reaktion auf ein Bestimmen, dass der Magnetbandkopf des Bandlaufwerks jedoch nicht bereits an der ersten Position positioniert ist, fährt der Ablaufplan von 14A mit einer Entscheidung 1424 fort. In diesem Fall enthält die Entscheidung 1424 ein Bestimmen, ob eine zweite Position auf dem Magnetband, die der aktuellen Position eines Magnetbandkopfs relativ zu dem Magnetband entspricht, größer als die erste Position ist. Mit anderen Worten, die Entscheidung 1424 enthält ein Bestimmen, ob die aktuelle Position des Magnetbandkopfs relativ zu dem Magnetband weiter von dem Anfang des Magnetbands als die erste Position von dem Anfang des Magnetbands entfernt ist. Gemäß einem Beispiel kann ein Wert mit einer linearen Beziehung zu dem Abstand, den eine Position von dem Anfang des Bands hat, jeder der Positionen zugewiesen werden. Je weiter eine Position von dem Anfang des Magnetbands entlang der Länge des Magnetbands entfernt ist, umso höher ist der Wert, der der jeweiligen Position zugewiesen wird. Wenn somit der Positionswert, der der aktuellen Position Pc des Magnetbandkopfs relativ zu dem Magnetband zugehörig ist, größer als der Positionswert ist, der der Anfangsposition PD der angeforderten Daten zugehörig ist, kann bestimmt werden, dass die zweite Position weiter von dem Bandanfang als die erste Position entfernt ist.
  • Wie gezeigt, fährt der Ablaufplan in Reaktion auf ein Bestimmen, dass die zweite Position größer als die erste Position ist, mit einer untergeordneten Operation 1426 fort, die ein Anweisen des Bandlaufwerks enthält, einen Lokalisierungsbefehl für die erste Position auszuführen. Es ist wünschenswert, dass ein Lokalisierungsbefehl verwendet wird, um in dieser Situation auf die erste Position zuzugreifen, da bestimmt worden ist, dass der Magnetbandkopf die erste Position bereits überquert hat, und daher muss das Band zurückgespult werden, um wieder auf die erste Position zuzugreifen. Wie bald offenkundig wird, kann eine alternative Möglichkeit für den Zugriff auf eine bestimmte Position auf dem Magnetband ein Ausführen von Leseoperationen enthalten, um das Band in eine Richtung zu der bestimmten Position hin vorzuspulen. Einige Bandlaufwerke sind jedoch insofern einseitig, als sie Leseoperationen nur in einer Richtung ausführen können. Somit kann es wünschenswert sein, eine Lokalisierungsoperation statt einer Leseoperation auszuführen, um auf die erste Position zuzugreifen, wenn sie von dem Magnetbandkopf bereits überquert worden ist. In anderen Ausführungsformen der Erfindung kann das Bandlaufwerk jedoch einen bidirektionalen Bandkopf haben, der fähig ist, Leseoperationen in beide Richtungen der Bandbewegung auszuführen (von der Zuführspule zur Aufwickelspule und von der Aufwickelspule zur Zuführspule). Daraus folgt, dass gemäß einigen Beispielen, die die Erfindung keinesfalls einschränken sollen, die Entscheidung 1424 nicht ausgeführt werden kann, und der Ablaufplan ab der Entscheidung 1422 direkt mit einer Entscheidung 1428 fortfahren kann.
  • Unter weiterer Bezugnahme auf die untergeordnete Operation 1426 von 14A kann ein Lokalisierungsbefehl von dem Bandlaufwerk unter Verwendung eines Grob- und/oder eines Feinstellantriebs ausgeführt werden, um das Band auf die Zuführspule zurückzuspulen, um auf eine Position auf dem Magnetband zuzugreifen, die näher an dem Bandanfang als ein Bereich des Magnetbands liegt, auf den derzeit zugegriffen wird. Das Bandlaufwerk kann die erste Position zum Ausführen des Lokalisierungsbefehles verwenden. Ab einer untergeordneten Operation 1426 fährt der Ablaufplan direkt mit der Entscheidung 1106 von 11A fort.
  • Unter erneuter Bezugnahme auf die Entscheidung 1424 fährt der Ablaufplan mit der Entscheidung 1428 in Reaktion auf ein Bestimmen fort, dass die zweite Position nicht größer als (kleiner als) die erste Position ist. Wie oben beschrieben, kann jeder Position ein Wert zugewiesen werden, der dem Abstand der jeweiligen Position von dem Bandanfang entspricht. Dementsprechend kann der Ablaufplan mit der Entscheidung 1428 in Reaktion auf ein Bestimmen fortfahren, dass sich die zweite Position näher als die erste Position an dem Anfang des Bands befindet. In diesem Fall enthält die Entscheidung 1428 ein Bestimmen, ob ein „erster Zeitraum“, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um ein Magnetband von der zweiten Position in die erste Position vorzuspulen, kleiner als ein „zweiter Zeitraum“ ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen. Abhängig von dem Abstand zwischen der ersten und der zweiten Position kann der Zeitraum, der in Anspruch genommen wird, um das Magnetband so vorzuspulen, dass der Magnetbandkopf über der ersten Position positioniert ist, abhängig von dem Prozess unterschiedlich ausfallen, der zum Vorspulen des Magnetbands verwendet wird. Zum Beispiel kann ein Ausführen eines Lokalisierungsbefehls das Magnetband effizienter vorspulen, wenn die erste und die zweite Position durch größere Abstände getrennt sind, während ein Ausführen einer Anzahl von kontinuierlichen Leseoperationen das Magnetband effizienter vorspulen kann, wenn die erste und die zweite Position näher beieinander positioniert sind.
  • Die Einzelheiten in Bezug darauf, welcher Prozess das Magnetband am effizientesten vorspult, sodass der Magnetbandkopf fähig ist, auf die erste Position zuzugreifen, können vom jeweiligen Bandlaufwerk abhängen. Wie vorher beschrieben, werden Lokalisierungssuchen nach der Position eines Zieldatensatzes über Firmware verarbeitet, selbst wenn der Zieldatensatz bereits in einem Pufferspeicher in dem Bandlaufwerk gespeichert worden ist. Als Ergebnis dessen brauchen Lokalisierungsbefehle relativ mehr Zeit tl zum Verarbeiten. Selbst wenn der Lokalisierungsbefehl ausgeführt worden ist, muss das Bandlaufwerk eine sofort danach folgende Leseoperation sofort danach ausführen. Des Weiteren umfasst ein Lesen direkt nach einem Lokalisierungsbefehl eine Einstellungszeit für Hardware in der Firmware und braucht somit ebenfalls eine relativ längere Zeit tr1 zum Ausführen. Ein Ausführen einer Anzahl von kontinuierlichen Leseoperationen wird mit Hardware, aber nicht mit Firmware verarbeitet und braucht somit eine extrem kurze Zeit tr2 zum Ausführen. Dies ist teilweise auf Bandlaufwerke zurückzuführen, die typischerweise hochoptimierte Merkmale für ein kontinuierliches Lesen in der Vorwärtsrichtung aufweisen.
  • Der tatsächliche Zeitraum, der zum Verarbeiten jeder dieser verschiedenen Operationen in Anspruch genommen wird, kann abhängig von dem Typ (z.B. Generation), Konfiguration usw. des bestimmten Bandlaufwerks unterschiedlich ausfallen. Somit kann ein Bandlaufwerk nach seiner Erzeugung getestet werden, um Werte zu bestimmen, die diesen verschiedenen Verarbeitungszeiten zugehörig sind. Diese Werte können ferner für spätere Referenzzwecke im Arbeitsspeicher (z.B. einer Lookup-Tabelle) des Bandlaufwerks gespeichert werden.
  • Trotz der relativ schnelleren und langsameren Leistungszeiten, die einem Ausführen eines Lokalisierungsbefehls im Vergleich mit einer Anzahl von kontinuierlichen Leseoperationen zugehörig sind, hängen diese Leistungszeiten zumindest in gewissem Maß von der Speicherplatzmenge ab, die die erste Position und die zweite Position auf dem Magnetband trennt. Die Gleichung 1 bietet eine beispielhafte Möglichkeit, um zu bestimmen, ob der „erste Zeitraum“, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um ein Magnetband von der zweiten Position in die erste Position vorzuspulen, kleiner als der „zweite Zeitraum“ ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen. Dementsprechend kann die Gleichung 1 oder gleichwertig die Gleichung 1.1 (siehe oben) verwendet werden, um die Entscheidung 1428 in einigen Ansätzen auszuführen. Ob ein Ausführen einer Anzahl von kontinuierlichen Leseoperationen weniger Zeit in Anspruch nimmt als ein Ausführen einer Lokalisierungsoperation gefolgt von einer Leseoperation, hängt demzufolge von einem Abstand zwischen der Anfangsposition der angeforderten Daten (der ersten Position) und der aktuellen Position des Magnetbandkopfs relativ zu dem Magnetband (der zweiten Position) ab.
  • Daraus folgt, dass in einigen Ansätzen statt eines Bestimmens, ob die Gleichung 1 im laufenden Betrieb für spezifische Werte von PD und Pc während des Einsatz wahr ist, die Gleichung 1 verwendet werden kann, um einen Bereich von relativen Werten für PD und Pc zu bestimmen, die dazu führen, dass der logische Ausdruck für ein bestimmtes Bandlaufwerk wahr ist. Mit anderen Worten, da sowohl die Lokalisierungsbefehl-Verarbeitungszeit tl, die Lesen-nach Lokalisierung-Verarbeitungszeit tr1 als auch die kontinuierliche Lese-Verarbeitungszeit tr2 für ein bestimmtes Bandlaufwerk bekannt sein können (oder zumindest bestimmt werden können), kann ein Wertebereich für (PD - PC + 1) bestimmt werden, was dazu führt, dass die Gleichung 1 wahr ist. Des Weiteren kann ein Wertebereich für PD und Pc, die zu einem Wert für (PD - PC + 1) führen, der in dem bestimmten Bereich liegt, auch extrapoliert und im Arbeitsspeicher z.B. als Lookup-Tabelle gespeichert werden. Somit kann in einigen Ansätzen die Entscheidung 1428 durch ein Zugreifen auf eine Lookup-Tabelle bestimmt werden, um zu bestimmen, ob der Abstand entlang der Längserstreckung des Magnetbands, der die zweite Position von der ersten Position trennt, sich in einem vorbestimmten Bereich befindet, was dazu führt, dass die Gleichung 1 wahr ist. Desgleichen kann eine Bestimmung auf Grundlage von einer Anzahl von Datenabschnitten zwischen den beiden Positionen vorgenommen werden. Zum Beispiel kann eine Bestimmung auf Grundlage der Anzahl von Leseanforderungen vorgenommen werden, die unter der Annahme ausgeführt würde, dass jede ausgeführte Leseanforderung einem Lesen eines Abschnitts (z.B. Blocks) von Daten entspricht. Die Entscheidung 1428 kann unter Verwendung jedes Prozesses bestimmt werden, der für einen Fachmann nach dem Lesen der vorliegenden Beschreibung offenkundig ist.
  • Unter fortgesetzter Bezugnahme auf 14A fährt der Ablaufplan mit der untergeordneten Operation 1426 in Reaktion auf ein Bestimmen fort, dass der Zeitraum zum Ausführen einer Anzahl von kontinuierlichen Leseoperationen größer als der Zeitraum ist, um eine Lokalisierungsoperationen mit nachfolgender Leseoperation auszuführen. Wie oben beschrieben, enthält die untergeordnete Operation 1426 ein Anweisen des Bandlaufwerks, einen Lokalisierungsbefehl für die erste Position gemäß einem der hierin beschriebenen Ansätze auszuführen. Alternativ kann der Ablaufplan mit der untergeordneten Operation 1430 in Reaktion auf ein Bestimmen fortfahren, dass der Zeitraum zum Ausführen einer Anzahl von kontinuierlichen Leseoperationen kleiner als der Zeitraum ist, um eine Lokalisierungsoperationen mit nachfolgender Leseoperation auszuführen. Wie gezeigt, enthält die untergeordnete Operation 1430 ein Anweisen des Bandlaufwerks, die Anzahl von kontinuierlichen Leseoperationen auszuführen. Gemäß einigen Ansätzen kann jede ausgeführte Leseoperation einem Lesen eines einzelnen Datenabschnitts entsprechen. Zum Beispiel kann jede ausgeführte Leseoperation einem Lesen eines einzelnen Blocks von Daten entsprechen, die auf dem Magnetband gespeichert sind.
  • Da die Anzahl von kontinuierlichen Leseoperationen des Weiteren ausgeführt wird, um das Magnetband auf eine gewünschte Position vorzuspulen, sind die Daten, die tatsächlich aus dem Band gelesen werden, während die Anzahl von kontinuierlichen Operationen ausgeführt wird, nicht erwünscht. Somit wird bevorzugt, dass die Daten, die während der Anzahl von kontinuierlichen Leseoperationen gelesen werden, lieber verworfen (z.B. gelöscht) statt im Arbeitsspeicher gespeichert, zum Ausführen von weiterer Verarbeitung verwendet, für einen Benutzer bereitgestellt werden usw. Dementsprechend kann die untergeordnete Operation 1430 ferner ein Anweisen des Bandlaufwerks enthalten, um die Daten direkt nach dem Lesen zu verwerfen (z.B. zu löschen). Es ist anzumerken, dass die Daten, die während jeder der Anzahl von kontinuierlichen Leseoperationen gelesen werden, zumindest bis zu einem gewissen Ausmaß im Arbeitsspeicher gespeichert werden können. Zum Beispiel können die Daten, die aus einem bestimmten Abschnitt des Magnetbands gelesen werden, zu einem Lesepuffer hinzugefügt werden, wenn sie gelesen werden. Es wird jedoch bevorzugt, dass die Daten nicht für etwas anderes gespeichert oder verwendet werden als zum Ausführen der Leseoperationen, bevor sie gelöscht werden, wie z.B. einem Fachmann nach dem Lesen der vorliegenden Beschreibung klar sein dürfte. Somit werden in einigen Ansätzen die Daten, die während jeder der Anzahl von kontinuierlichen Leseoperationen gelesen werden, vor einer anschließenden der Leseoperationen verworfen, die ausgeführt werden (z.B. bevor die Daten überhaupt verwendet werden). Ab einer untergeordneten Operation 1430 fährt der Ablaufplan direkt mit der Entscheidung 1106 von 11A fort, die gemäß jedem der hierin beschriebenen Ansätze ausgeführt werden kann.
  • Gemäß einer anderen veranschaulichenden Einsatz-Ausführungsform der Erfindung, die die Erfindung keinesfalls einschränken soll, enthält 14B beispielhafte untergeordnete Operationen für ein Ausführen des Lokalisierungs-Lese-Ansatzes für einen anschließenden Abschnitt der angeforderten Daten, von denen eine oder mehrere zum Ausführen der Operation 1108 von 11A oben verwendet werden können. Es sollte jedoch angemerkt werden, dass die untergeordneten Operationen von 14B die Erfindung keinesfalls einschränken sollen.
  • Wie gezeigt, enthält der Ablaufplan von 14B eine Entscheidung 1440, die ein Bestimmen enthält, ob sich eine Kopie des Abschnitts der angeforderten Daten in einem E/A-Cache befindet. Der Ablaufplan fährt mit einer untergeordneten Operation 1442 in Reaktion auf ein Bestimmen fort, dass sich keine Kopie des Abschnitts der angeforderten Daten in einem E/A-Cache befindet. In diesem Fall enthält die untergeordnete Operation 1442 ein Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten aus dem Magnetband zu lesen. Des Weiteren enthält die untergeordnete Operation 1444 ein Anfordern des Abschnitts der aus dem Magnetband gelesenen angeforderten Daten. Mit anderen Worten, die untergeordnete Operation 1444 enthält ein Anfordern der in der Operation 1442 aus dem Bandlaufwerk gelesenen Daten. Das Bandlaufwerk kann die gelesenen Daten über eine drahtgebundene elektrische Verbindung (siehe z.B. 10), eine drahtlose Verbindung (z.B. unter Verwendung einer Antenne) oder auf jede andere gewünschte Weise zum Übertragen von Informationen zu der Komponente bereitstellen, indem die verschiedenen hierin beschriebenen Prozesse ausgeführt werden.
  • Die untergeordnete Operation 1446 enthält ein Empfangen, von dem Bandlaufwerk, des Abschnitts der aus dem Magnetband durch das Bandlaufwerk gelesenen angeforderten Daten. Des Weiteren enthält die untergeordnete Operation 1448 ein Hinzufügen der Abschnitte der angeforderten Daten, die von dem Bandlaufwerk empfangen (und von diesem gelesen) wurden, zu einem Lesepuffer.
  • Unter erneuter Bezugnahme auf die Entscheidung 1440 fährt der Ablaufplan mit einer untergeordneten Operation 1450 in Reaktion auf ein Bestimmen fort, dass sich eine Kopie des Abschnitts der angeforderten Daten in einem E/A-Cache befindet. In diesem Fall enthält die untergeordnete Operation 1450 ein Ausführen eines Lokalisierungsbefehls, um den Abschnitt der angeforderten Daten zu überspringen. Des Weiteren enthält die untergeordnete Operation 1452 ein Anfordern einer Kopie des Abschnitts der angeforderten Daten, von denen bestimmt wird, dass sie sich in dem E/A-Cache befinden, während die untergeordnete Operation 1454 ein Empfangen, von dem E/A-Cache, der angeforderten Kopie des Abschnitts der angeforderten Daten enthält. Ferner enthält die untergeordnete Operation 1456 ein Hinzufügen der angeforderten Kopie des Abschnitts der angeforderten Daten, die von dem E/A-Cache empfangen werden, in den Lesepuffer. Die an den E/A-Cache gesendete Anforderung der Kopie des Abschnitts der angeforderten Daten kann in einigen Ansätzen durch ein virtuelles Bandsystem (VTS) ausgeführt werden, wie einem Fachmann z.B. nach dem Lesen der vorliegenden Erfindung klar sein dürfte.
  • Wie gezeigt, fährt der Ablaufplan von 14B ab einer untergeordneten Operation 1456 sowie der untergeordneten Operation 1448 mit einer Entscheidung 1458 fort. Die Entscheidung 1458 enthält ein Bestimmen, ob irgendwelche anderen Abschnitte der angeforderten Daten vorhanden sind, die noch nicht ausgewertet (z.B. gelesen) worden sind. Der Ablaufplan kehrt zur Entscheidung 1440 in Reaktion auf ein Bestimmen zurück, dass mindestens ein Abschnitt der angeforderten Daten vorhanden ist, der noch nicht gelesen worden ist, und jeder der in 14B enthaltenen Prozesse kann für den mindestens einen Abschnitt wiederholt werden. In Reaktion auf ein Bestimmen, dass keine weiteren Abschnitte der angeforderten Daten für eine Auswertung übrig sind, kehrt der Ablaufplan direkt zur Operation 1112 von 11A zurück.
  • Gemäß noch einer weiteren veranschaulichenden Einsatz-Ausführungsform der Erfindung, die die Erfindung keinesfalls einschränken soll, enthält 14C beispielhafte untergeordnete Operationen für ein Ausführen des kontinuierlichen Leseansatzes für einen anschließenden Abschnitt der angeforderten Daten, von denen eine oder mehrere zum Ausführen der Operation 1110 of 11A oben verwendet werden können. Es sollte jedoch angemerkt werden, dass die untergeordneten Operationen von 14C die Erfindung keinesfalls einschränken sollen.
  • Wie gezeigt, enthält der Ablaufplan von 14C ein Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten aus dem Magnetband zu lesen. Siehe untergeordnete Operation 1460. Wie vorher erwähnt, enthält der kontinuierliche Leseansatz ein Lesen jedes Abschnitts der angeforderten Daten unabhängig davon, ob eine Kopie des Abschnitts ebenfalls im Cache gespeichert ist. Somit kann der Ablaufplan nach einem Lesen des Abschnitts der angeforderten Daten aus dem Magnetband mit einer Entscheidung 1462 fortfahren, die ein Bestimmen enthält, ob sich eine Kopie des Abschnitts der angeforderten Daten in einem E/A-Cache befindet. In Reaktion auf ein Bestimmen, dass sich eine Kopie des Abschnitts der angeforderten Daten in einem E/A-Cache befindet, fährt der Ablaufplan mit einer untergeordneten Operation 1464 fort, die ein Anweisen des Bandlaufwerks enthält, den Abschnitt der angeforderten Daten zu verwerfen (zu löschen), die aus dem Magnetband gelesen wurden, ohne sie anderweitig zu verwenden.
  • Der Prozess zum Lesen eines Abschnitts der angeforderten Daten, die sich auch in dem Cache befinden, nur um sie danach zu löschen, kann als ein „Nachahmungslesen“ als Teil des kontinuierlichen Leseansatzes betrachtet werden. Wiederum kann es in einigen Situationen weniger Zeit in Anspruch nehmen, alle Abschnitte der angeforderten Daten aus dem Band zu lesen, unabhängig davon, welche Abschnitte tatsächlich von dem Cache bedient werden, im Gegensatz zu einer Inanspruchnahme von Zeit zum Überspringen (Ausführen von Lokalisierungsoperationen) für jeden Abschnitt der Daten, die tatsächlich vom Cache bedient werden, z.B. von einem VTS. Obwohl ein Nachahmungslesen somit Daten enthalten kann, die aus dem Magnetband gelesen und unmittelbar danach als Teil des kontinuierlichen Leseansatzes gelöscht werden, kann dies in dem Sinn wünschenswerter sein, als es für einen Abschluss einen kleineren Zeitraum als der alternative Lokalisierungs-Lese-Ansatz in Anspruch nimmt. Es sollte jedoch angemerkt werden, dass die beträchtlichen Verbesserungen, die durch verschiedene der hierin beschriebenen Ansätze erzielt werden, in Systemen mit einer Magnetplatte nicht so ausgeprägt sind. Wie oben erwähnt, ist eine Verringerung der Geschwindigkeit des Lesens aufgrund eines Ausführens einer Mehrzahl von Lokalisierungsoperationen zwischen einem Ausführen von Leseoperationen aufgrund der Datenstruktur des Dateisystems auf einer Platte sowie der physischen Struktur eines physischen Plattensystems vernachlässigbar. Dementsprechend kann es unerwünscht sein, einige dieser Prozesse in einer Umgebung umzusetzen, die auf bestimmte Daten aus einer Magnetplatte zugreift, wie z.B. einem Fachmann nach dem Lesen der vorliegenden Beschreibung klar sein dürfte.
  • Unter fortgesetzter Bezugnahme auf 14C enthält die untergeordnete Operation 1466 ein Anfordern einer Kopie der Abschnitte der angeforderten Daten, von denen bestimmt wird, dass sie sich in dem E/A-Cache befinden, während die untergeordnete Operation 1468 ein Empfangen, von dem E/A-Cache, der angeforderten Kopie des Abschnitts der angeforderten Daten enthält. Des Weiteren enthält eine untergeordnete Operation 1470 ein Hinzufügen der angeforderten Kopie des Abschnitts der angeforderten Daten, die von dem E/A-Cache empfangen werden, zu dem Lesepuffer.
  • Unter erneuter Bezugnahme auf die Entscheidung 1462 kann der Ablaufplan mit einer untergeordneten Operation 1472 in Reaktion auf ein Bestimmen fortfahren, dass sich keine Kopie des Abschnitts der angeforderten Daten in einem E/A-Cache befindet. In diesem Fall enthält die untergeordnete Operation 1472 ein Anfordern des Abschnitts der aus dem Magnetband durch das Bandlaufwerk gelesenen angeforderten Daten. Die von dem Bandlaufwerk gelesenen Daten können in Reaktion auf die Anforderung bereitgestellt werden, die in der untergeordneten Operation 1472 gemäß einem der hierin beschriebenen und/oder vorgeschlagenen Ansätze gesendet wurde. Dementsprechend enthält die untergeordnete Operation 1474 des Weiteren ein Empfangen, von dem Bandlaufwerk, des Abschnitts der aus dem Magnetband durch das Bandlaufwerk gelesenen angeforderten Daten. Außerdem enthält eine untergeordnete Operation 1476 ein Hinzufügen der angeforderten Kopie des Abschnitts der angeforderten Daten, die von dem Cache empfangen wurden, zu dem Lesepuffer.
  • Wie gezeigt, fährt der Ablaufplan von 14C ab einer untergeordneten Operation 1476 sowie der untergeordneten Operation 1470 mit einer Entscheidung 1478 fort. Die Entscheidung 1478 enthält ein Bestimmen, ob irgendwelche anderen Abschnitte der angeforderten Daten vorhanden sind, die noch nicht ausgewertet (z.B. gelesen) worden sind. Der Ablaufplan kehrt zur Entscheidung 1460 in Reaktion auf ein Bestimmen zurück, dass mindestens ein Abschnitt der angeforderten Daten vorhanden ist, der noch nicht gelesen worden ist, und jeder der in 14C enthaltenen Prozesse kann für den mindestens einen Abschnitt wiederholt werden. In Reaktion auf ein Bestimmen, dass keine weiteren Abschnitte der angeforderten Daten für eine Auswertung übrig sind, kehrt der Ablaufplan direkt zur Operation 1112 von 11A zurück.
  • Wie vorher erwähnt, ist anzumerken, dass verschiedene der in 14A bis 14C enthaltenen untergeordneten Prozesse in einer anderen Reihenfolge als gezeigt ausgeführt werden können. Statt zum Beispiel zu bestimmen, ob eine Kopie eines einzelnen Abschnitts der angeforderten Daten sich in einem E/A-Cache befindet, nachdem der Abschnitt gelesen wurde (siehe Entscheidung 1462 von 14C), kann eine Bestimmung vorgenommen werden, ob jeder der Anzahl von Abschnitten der angeforderten Daten sich in dem Cache befindet, sodass z.B. eine Anforderung für die Abschnitte, für die bestimmt wird, dass sie sich in dem Cache befinden, parallel zu einem Lesen der Abschnitte aus dem Magnetband ausgegeben werden kann. Statt jeden der Abschnitte der angeforderten Daten einzeln zu dem Lesepuffer hinzuzufügen, können gemäß einem weiteren Beispiel alle oder einige der Abschnitte der angeforderten Daten, für die bestimmt wird, dass sie sich in dem Cache befinden, zusammen von dem Cache empfangen werden (um z.B. den Systemdurchsatz zu verringern) und dem Lesepuffer zusammen hinzugefügt werden. In einigen Ansätzen können die Abschnitte der angeforderten Daten, die von dem Cache empfangen werden, dem Lesepuffer zusammen mit Abschnitten der aus dem Magnetband angeforderten (und nicht verworfenen) Daten hinzugefügt werden.
  • Daraus folgt, dass verschiedene der hierin beschriebenen Ansätze fähig sind, die Leistungsverschlechterung zu beseitigen, die man bei herkömmlichen Produkten erlebt, wenn ein gestreamter Lesevorgang einer Gruppierung von Daten unter Verwendung eines Bandlaufwerks ausgeführt wird, in dem einige der Daten im Cache gespeichert sind, z.B. auf einer Kernel-Ebene des Systems.
  • Wie oben beschrieben kann ein Dateisystem auf Bandgrundlage bei Empfang einer Leseanforderung die Differenz zwischen der aktuellen Position eines Magnetkopfs relativ zum Band und der Position eines zu lesenden Datensatzes berechnen und ein günstigstes Verfahren bestimmen, um zu dem Datensatz zu gelangen. Zum Beispiel kann das System zwischen einem Lokalisierungs-Lese-Ansatz und einem kontinuierlichen Leseansatz wählen, wobei alle zurückgegebenen Daten verworfen werden, auf die vom Cache zugegriffen wird. Als Ergebnis dessen kann das Dateisystem die Leseanforderung ausführen, indem der günstigere der Ansätze umgesetzt wird, wodurch die Systemleistung aufgrund von aktuellen (z.B. spezifischen) Systemparametern verbessert wird, Lesezugriffszeiten verringert werden, Abnutzung auf einem Bandlaufwerk reduziert wird usw. Somit weist die Einführung eines Verwendens von Nachahmungslesebefehlen statt Lokalisierungsbefehlen in bestimmten Situationen, in denen dies einen Vorteil gegenüber einem Umsetzen eines Lokalisierungs-Lese-Ansatzes hat, beträchtliche Verbesserungen gegenüber den herkömmlichen Unzulänglichkeiten auf.
  • Es sollte jedoch angemerkt werden, dass die Verbesserungen von Systemleistung, Datenzugriffszeiten, Lesedurchsatz usw. möglicherweise zu Lasten anderer Leistungsbereiche gehen. Zum Beispiel können einige Betriebssysteme einen Befehl bereitstellen, der den E/A-Cache steuert. Zum Beispiel kann ein bestimmtes Betriebssystem einen Mechanismus zum Verwerfen des Inhalts des E/A-Cache im Kernel bereitstellen. Sofern implementiert, verwirft dieser Mechanismus auch Cache-Inhalte in Bezug auf andere Dateisysteme als das LTFS, was die Leseleistung der anderen Dateisysteme verschlechtern kann, obwohl sich die LTFS-Leseleistung verbessert. Somit kann es wünschenswert sein, die durch ein Umsetzen von verschiedenen der hierin beschriebenen Ansätze erzielten Vorteile gegen die Rückschläge abzuwägen, die von anderen Dateisystemen in demselben Speichersystem erfahren werden, wie z.B. einem Fachmann nach dem Lesen der vorliegenden Beschreibung klar sein dürfte.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein ROM, ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD, ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorgenannten. Ein durch einen Computer lesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch jeden Typ von Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es sollte klar sein, dass jeder Block der Ablaufplanveranschaulichungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen umgesetzt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Umsetzungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Des Weiteren kann ein System gemäß verschiedenen Ausführungsformen der Erfindung einen Prozessor und Logik enthalten, die in den Prozessor integriert und/oder von diesem ausführbar ist, wobei die Logik so konfiguriert ist, dass sie einen oder mehrere der hierin genannten Prozessschritte ausführt. Mit „integriert“ ist gemeint, dass in den Prozessor Logik als Hardware-Logik eingebettet ist, wie beispielsweise eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA) usw. Mit „durch den Prozessor ausführbar“ ist gemeint, dass die Logik Hardware-Logik ist; Software-Logik wie zum Beispiel Firmware, Teil eines Betriebssystems, Teils eines Anwendungsprogramms usw.; oder eine Kombination aus Hardware- und Software-Logik, auf die durch den Prozessor zugegriffen werden kann und die konfiguriert ist, um den Prozessor zu veranlassen, eine Funktionalität bei Ausführung durch den Prozessor auszuführen. Software-Logik kann auf einem lokalen und/oder entfernt angeordneten Arbeitsspeicher jedes Arbeitsspeichertyps gespeichert werden, wie im Stand der Technik bekannt. Jeder im Stand der Technik bekannte Prozessor kann verwendet werden, wie zum Beispiel ein Software-Prozessormodul und/oder ein Hardware-Prozessor wie eine ASIC, ein FPGA, eine Zentraleinheit (CPU), eine integrierte Schaltung (IC) usw.
  • Es sollte klar sein, dass die verschiedenen Merkmale der vorstehend aufgeführten Systeme und/oder Methodiken auf jede Weise kombiniert werden können, wodurch eine Mehrzahl von Kombinationen aus den oben angegebenen Beschreibungen geschaffen wird.
  • Es sollte ferner klar sein, dass Ausführungsformen der vorliegenden Erfindung in der Form eines Dienstes bereitgestellt werden können, der für einen Kunden eingerichtet wird.
  • Die hierin offenbarten erfinderischen Konzepte wurden beispielhaft dargestellt, um deren unzählige Merkmale in einer Mehrzahl von veranschaulichenden Szenarios, Ausführungsformen und/oder Umsetzungen zu veranschaulichen. Es sollte klar sein, dass die allgemein offenbarten Konzepte als modular zu betrachten sind und in jeder Kombination, Variation und Synthese davon umgesetzt werden können. Außerdem sollte jede Modifizierung, Änderung oder Entsprechung der vorliegend offenbarten Merkmale, Funktionen und Konzepte, wie einem Fachmann nach dem Durchlesen der unmittelbaren Beschreibungen klar sein dürfte, ebenfalls als innerhalb des Schutzumfangs dieser Offenbarung betrachtet werden.
  • Zwar wurden oben verschiedene Ausführungsformen beschrieben, doch sollte verstanden werden, dass sie nur zu Beispielzwecken und nicht zur Einschränkung dargestellt wurden. Daher soll die Tragweite und der Schutzumfang einer Ausführungsform der vorliegenden Erfindung durch keine der oben beschriebenen beispielhaften Ausführungsformen der Erfindung eingeschränkt werden, sondern nur in Übereinstimmung mit den folgenden Ansprüchen und deren Entsprechungen definiert werden.

Claims (12)

  1. Durch einen Computer umgesetztes Verfahren, aufweisend: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, wobei die Daten mehrere Abschnitte aufweisen; ein Anweisen eines Bandlaufwerks, auf die angeforderten Daten auf dem Magnetband zuzugreifen; und für jeden Abschnitt der anforderten Daten ein Ausführen eines iterativen Prozesses zu: einem Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten aus dem Magnetband zu lesen; einem Bestimmen, ob sich eine Kopie des Abschnitts der angeforderten Daten in einem Cache befindet; einem Anweisen des Bandlaufwerks, den Abschnitt der angeforderten Daten, die aus dem Magnetband gelesen wurden, in Reaktion auf ein Bestimmen zu verwerfen, dass sich eine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet; und einem Empfangen, von dem Bandlaufwerk, des Abschnitts der angeforderten Daten, die aus dem Magnetband gelesen wurden, in Reaktion auf ein Bestimmen, dass sich keine Kopie des Abschnitts der angeforderten Daten in dem Cache befindet.
  2. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, aufweisend: ein Hinzufügen der Abschnitte der angeforderten Daten, die von dem Bandlaufwerk empfangen wurden, zu einem Lesepuffer; ein Anfordern der Kopien der Abschnitte der angeforderten Daten, für die bestimmt wurde, dass sie sich in dem Cache befinden; und ein Hinzufügen der Kopien der Abschnitte der angeforderten Daten zu dem Lesepuffer.
  3. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei ein Anweisen des Bandlaufwerks, auf einen Anfang der angeforderten Daten auf dem Magnetband zuzugreifen, enthält: ein Bestimmen, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um das Magnetband von einer zweiten Position in eine erste Position vorzuspulen, kleiner als ein zweiter Zeitraum ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen, wobei die zweite Position einer aktuellen Position eines Magnetbandkopfs relativ zu dem Magnetband entspricht, wobei die erste Position dem Anfang der angeforderten Daten entspricht; ein Anweisen des Bandlauflaufwerks, die Lokalisierungsoperation in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum kleiner als der zweite Zeitraum ist; und ein Anweisen des Bandlauflaufwerks, die Anzahl von Leseoperationen in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum nicht kleiner als der zweite Zeitraum ist.
  4. Durch einen Computer umgesetztes Verfahren nach Anspruch 3, wobei die Daten, die während jeder der Anzahl von Leseoperationen gelesen werden, verworfen werden, bevor eine anschließende der Leseoperationen ausgeführt wird.
  5. Durch einen Computer umgesetztes Verfahren nach Anspruch 3, wobei ein Bestimmen, ob der erste Zeitraum kleiner als der zweite Zeitraum ist, ein Bestimmen enthält, ob ein Abstand, der die zweite Position von der ersten Position trennt, sich in einem vorbestimmten Bereich befindet.
  6. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei ein Anweisen des Bandlaufwerks, auf einen Anfang der angeforderten Daten auf dem Magnetband zuzugreifen, enthält: ein Bestimmen einer ersten Position auf dem Magnetband, die dem Anfang der angeforderten Daten entspricht; ein Bestimmen, ob eine zweite Position, die einer aktuellen Stelle eines Magnetbandkopfs relativ zu dem Magnetband entspricht, größer als die erste Position ist; ein Anweisen des Bandlaufwerks, einen Lokalisierungsbefehl an die erste Position in Reaktion auf ein Bestimmen auszuführen, dass die zweite Position größer als die erste Position ist; ein Bestimmen, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen, kleiner als ein zweiter Zeitraum ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband in Reaktion auf ein Bestimmen, dass die zweite Position nicht größer als die erste Position ist, von der zweiten Position in die erste Position vorzuspulen; ein Anweisen des Bandlauflaufwerks, die Lokalisierungsoperation in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum kleiner als der zweite Zeitraum ist; und ein Anweisen des Bandlauflaufwerks, die Anzahl von Leseoperationen in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum nicht kleiner als der zweite Zeitraum ist.
  7. Durch einen Computer umgesetztes Verfahren, aufweisend: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind, wobei die Daten mehrere Abschnitte aufweisen; ein Bestimmen, ob sich eine Kopie eines Abschnitts der angeforderten Daten in einem Cache befindet; ein Anweisen eines Bandlaufwerks, auf dem Magnetband auf Abschnitte der angeforderten Daten zuzugreifen, für die bestimmt wurde, dass sie sich nicht im Cache befinden; für jeden der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, ein Bestimmen, ob ein mehrmaliges Ausführen eines Lokalisierungsbefehls oder Ausführen eines Lesebefehls die Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, in einem kürzeren Zeitraum abruft; ein Ausgeben des Befehls, der dazu bestimmt ist, die Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, in dem kürzeren Zeitraum abzurufen; ein Kombinieren der Abschnitte der angeforderten Daten, die sich nicht in dem Cache befinden, mit dem Abschnitt der angeforderten Daten, der sich in dem Cache befindet; und ein Erfüllen der Leseanforderung.
  8. Durch einen Computer umgesetztes Verfahren nach Anspruch 7, wobei ein Anweisen eines Bandlaufwerks, auf dem Magnetband auf Abschnitte der angeforderten Daten zuzugreifen, für die bestimmte wurde, dass sie sich nicht im Cache befinden, enthält: ein Bestimmen, ob das Magnetband bereits in das Bandlaufwerk geladen ist; ein Ausgeben einer Anforderung, das Magnetband in Reaktion auf ein Bestimmen, dass das Magnetband noch nicht in das Bandlaufwerk geladen ist, zu dem Bandlaufwerk zu bewegen; und ein Anweisen des Bandlaufwerks, einen Index an einem Anfang einer ersten Partition auf dem Magnetband zu lesen.
  9. Durch einen Computer umgesetztes Verfahren, aufweisend: ein Empfangen einer Leseanforderung für Daten, die auf einem Magnetband gespeichert sind; ein Bestimmen, ob ein erster Zeitraum, der einem Ausführen einer Lokalisierungsoperation zugehörig ist, um das Magnetband von einer zweiten Position in eine erste Position vorzuspulen, kleiner als ein zweiter Zeitraum ist, der einem Ausführen einer Anzahl von Leseoperationen zugehörig ist, um das Magnetband von der zweiten Position in die erste Position vorzuspulen, wobei die zweite Position einer aktuellen Stelle eines Magnetbandkopfs relativ zu dem Magnetband entspricht, wobei die erste Position einem Anfang der angeforderten Daten entspricht; ein Anweisen des Bandlauflaufwerks, die Lokalisierungsoperation in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum kleiner als der zweite Zeitraum ist; ein Anweisen des Bandlauflaufwerks, die Anzahl von Leseoperationen in Reaktion auf ein Bestimmen auszuführen, dass der erste Zeitraum nicht kleiner als der zweite Zeitraum ist; und ein Anweisen des Bandlaufwerks, die Daten zu verwerfen, die aus dem Magnetband während eines Ausführens der Anzahl von Leseoperationen gelesen wurden.
  10. Durch einen Computer umgesetztes Verfahren nach Anspruch 9, wobei ein Bestimmen, ob der erste Zeitraum kleiner als der zweite Zeitraum ist, ein Bestimmen enthält, ob ein Abstand, der die zweite Position von der ersten Position trennt, sich in einem vorbestimmten Bereich befindet.
  11. Durch einen Computer umgesetztes Verfahren nach einem der vorhergehenden Ansprüche, wobei die Daten auf dem Magnetband gemäß einem linearen Banddateisystemformat gespeichert werden.
  12. Computerprogrammprodukt, aufweisend ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen, wobei das durch einen Computer lesbare Speichermedium kein flüchtiges Signal per se ist, wobei die durch einen Prozessor lesbaren und/oder ausführbaren Programmanweisungen den Prozessor veranlassen, ein Verfahren auszuführen, wie in jedem vorhergehenden Anspruch beansprucht.
DE112018005316.4T 2017-11-28 2018-11-06 Schnelle Lokalisierung unter Verwendung von Nachahmungslesevorgängen auf Bandlaufwerken Active DE112018005316B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/824,410 2017-11-28
US15/824,410 US10423336B2 (en) 2017-11-28 2017-11-28 Fast locate using imitation reads on tape drives
PCT/IB2018/058688 WO2019106457A1 (en) 2017-11-28 2018-11-06 Fast locate using imitation reads on tape drives

Publications (2)

Publication Number Publication Date
DE112018005316T5 true DE112018005316T5 (de) 2020-07-23
DE112018005316B4 DE112018005316B4 (de) 2021-05-12

Family

ID=66633217

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018005316.4T Active DE112018005316B4 (de) 2017-11-28 2018-11-06 Schnelle Lokalisierung unter Verwendung von Nachahmungslesevorgängen auf Bandlaufwerken

Country Status (6)

Country Link
US (4) US10423336B2 (de)
JP (1) JP7116383B2 (de)
CN (1) CN111344681B (de)
DE (1) DE112018005316B4 (de)
GB (1) GB2581727B (de)
WO (1) WO2019106457A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423336B2 (en) 2017-11-28 2019-09-24 International Business Machines Corporation Fast locate using imitation reads on tape drives
US11176968B2 (en) 2019-10-22 2021-11-16 International Business Machines Corporation Buffered writing of datasets and end longitudinal positions (end LPOSs) on a magnetic recording tape and validating the end LPOSs during reading of a later dataset thereafter
US11442659B2 (en) 2019-11-20 2022-09-13 International Business Machines Corporation Reading sequentially stored files based on read ahead groups
CN111767169B (zh) * 2020-06-28 2024-03-26 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及存储介质
US11176964B1 (en) 2020-10-29 2021-11-16 International Business Machines Corporation Optimized tape unmount operation
US11152018B1 (en) 2020-10-29 2021-10-19 International Business Machines Corporation Optimized tape unmount operation
US11688431B2 (en) * 2021-05-06 2023-06-27 International Business Machines Corporation Tape reposition management in a tape data storage drive
US11437062B1 (en) * 2021-08-23 2022-09-06 International Business Machines Corporation Reducing time to reposition tape to write index
CN113448922A (zh) * 2021-08-30 2021-09-28 阿里云计算有限公司 数据归档的方法、访问数据的方法及各自的装置
US11853580B1 (en) 2022-06-30 2023-12-26 International Business Machines Corporation Data migration management based on data location

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60200351A (ja) * 1984-03-26 1985-10-09 Hitachi Ltd 記憶制御方式
EP0482297B1 (de) 1990-10-23 1998-04-29 Tandberg Data Asa Verfahren und Gerät zum schnellen Zugriff auf einem logischen Block auf einem Bandmedium
JP2900801B2 (ja) * 1994-10-27 1999-06-02 ティアック株式会社 光ディスク再生装置
AU2847700A (en) 1999-01-11 2000-08-01 Edgix Corporation Internet content delivery acceleration system
US6665137B2 (en) 2001-06-07 2003-12-16 Quantum Corporation Method for locating data tracks on a tape media
US6817895B2 (en) * 2001-08-21 2004-11-16 Bridgeport Fittings, Inc. Color coded shielded cable and conduit connectors
US20030041214A1 (en) * 2001-07-27 2003-02-27 Fujitsu Limited Cache control methods and apparatus for hard disk drives
JP3778055B2 (ja) * 2001-11-02 2006-05-24 ソニー株式会社 記録再生装置及び記録再生方法
US6968423B2 (en) * 2002-02-05 2005-11-22 Seagate Technology Llc Dynamic data access pattern detection in a block data storage device
JP2004227448A (ja) * 2003-01-27 2004-08-12 Hitachi Ltd テープ管理方法及びシステム
US7231496B2 (en) 2003-09-15 2007-06-12 International Business Machines Corporation Method, system and program product for caching data objects
US7779200B2 (en) * 2005-10-13 2010-08-17 International Business Machines Corporation Method and apparatus for a magnetic tape storage system to adaptively handle space commands
JP4606998B2 (ja) * 2005-11-24 2011-01-05 日本電信電話株式会社 ネットワークキャッシュ装置およびプログラム
US20070233757A1 (en) * 2006-03-30 2007-10-04 Fujitsu Limited Garbage collection method and a hierarchy storage device
CN100590583C (zh) * 2006-08-09 2010-02-17 国际商业机器公司 写入和读取应用数据的方法和系统
US20080040539A1 (en) * 2006-08-09 2008-02-14 International Business Machines Corporation Method and system for writing and reading application data
JP2008077144A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 仮想化システム、メモリ管理方法及び制御プログラム
JP2008083845A (ja) * 2006-09-26 2008-04-10 Hitachi Ltd ストレージ装置及びストレージシステム並びにデータ読出し方法
US7443629B1 (en) 2007-04-09 2008-10-28 International Business Machines Corporation Apparatus, system, and method for optimizing fast access data storage on segmented tape media
JP4939364B2 (ja) 2007-10-17 2012-05-23 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置のデータ書込みを制御する装置、方法及びプログラム
CN100530071C (zh) 2007-11-02 2009-08-19 杭州华三通信技术有限公司 一种包括读写缓存的存储设备及缓存实现方法
US20120254547A1 (en) 2011-03-31 2012-10-04 International Business Machines Corporation Managing metadata for data in a copy relationship
JP5729479B2 (ja) * 2011-09-27 2015-06-03 富士通株式会社 仮想テープ装置及び仮想テープ装置の制御方法
JP2014533850A (ja) * 2011-11-18 2014-12-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 記憶システム上に格納されたファイルを読み取るための方法、コンピュータ・プログラム、記憶システム
DE112012005271B4 (de) * 2011-12-16 2023-06-15 International Business Machines Corporation Bandlaufwerksystem-Server
JP2013161185A (ja) * 2012-02-02 2013-08-19 Nec Corp 磁気テープ装置及びその制御方法
CN102662859B (zh) 2012-03-14 2015-11-25 北京思特奇信息技术股份有限公司 一种基于服务等级的数据缓存的系统和方法
US9830236B2 (en) * 2013-06-05 2017-11-28 Vmware, Inc. System and method for assigning memory reserved for high availability failover to virtual machines
US9513818B2 (en) 2014-05-28 2016-12-06 Oracle International Corporation Tape drives generating best access order of randomly stored files on a tape
US9606930B2 (en) * 2014-08-05 2017-03-28 International Business Machines Corporation Tape-managed partition support for effective workload allocation and space management
US10120872B2 (en) 2015-12-28 2018-11-06 Facebook, Inc. Data caching based on requestor identity
CN106991059B (zh) 2017-03-15 2019-12-13 湖北盛天网络技术股份有限公司 对数据源的访问控制方法
US10423336B2 (en) 2017-11-28 2019-09-24 International Business Machines Corporation Fast locate using imitation reads on tape drives
US10242709B1 (en) * 2017-12-20 2019-03-26 International Business Machines Corporation Detecting damaged areas on magnetic tape based on measuring a number of servo errors

Also Published As

Publication number Publication date
US11106364B2 (en) 2021-08-31
WO2019106457A1 (en) 2019-06-06
CN111344681B (zh) 2023-10-27
US20190163376A1 (en) 2019-05-30
US20190339879A1 (en) 2019-11-07
GB202006958D0 (en) 2020-06-24
JP7116383B2 (ja) 2022-08-10
DE112018005316B4 (de) 2021-05-12
JP2021504867A (ja) 2021-02-15
CN111344681A (zh) 2020-06-26
GB2581727B (en) 2022-05-04
GB2581727A (en) 2020-08-26
US20190339877A1 (en) 2019-11-07
US11099738B2 (en) 2021-08-24
US20190339878A1 (en) 2019-11-07
US10423336B2 (en) 2019-09-24
US11099737B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
DE112018005316B4 (de) Schnelle Lokalisierung unter Verwendung von Nachahmungslesevorgängen auf Bandlaufwerken
DE112014000922B4 (de) Magnetkopf und -System mit versetzten Arrays
DE112020003331B4 (de) Hochgeschwindigkeits-Dateikopie von einem Band unter Verwendung von Blockgruppierung
DE112010004295B4 (de) Löschen zeitveränderlicher periodischer Störungen in Servoregelungssystemen
DE112012002622B4 (de) Aufzeichnungseinheit für lineare Aufzeichnung zum Ausführen optimalen Schreibens beim Empfangen einer Reihe von Befehlen, darunter gemischte Lese- und Schreibbefehle, sowie Verfahren und Programm für dessen Ausführung
DE112013003138B4 (de) Variabler Schreibstopp-Schwellenwert mit variablem Glättungsfaktor
DE102016102495A1 (de) Ausgerichtetes schindelförmig überlappendes schreiben für magnetische aufzeichnungsmedien und medien mit positionierten spuren, die schindelförmig überlappende kanten aufweisen
DE112021000191T5 (de) Modul mit magnetischem dünnschicht-aufzeichnungskopf
US11016687B2 (en) Writing file information for tape file systems
DE112018005751B4 (de) Erkennen von beschädigten bereichen auf magnetbandmedien
DE102013205074A1 (de) Variabler Schreibstopp-Schwellwert
DE112012004297B4 (de) Verfahren zum Erkennen von Datenmanipulationen in einem Bandlaufwerk und Dateisystem
DE69835278T2 (de) Virtuelles magnetbandlaufwerk-archivsystem
DE102016100042B4 (de) TMR-Kopf-Aufbau mit isolierenden Schichten zum Vermindern von Kurzschlüssen
DE112020004007B4 (de) Beheben von lesefehlern in einem bandlaufwerk
DE112011102139B4 (de) Bandspeichereinheit und Schreibverfahren dafür
DE112020004204B4 (de) Mehrspulen-Bandaufzeichnungsvorrichtung mit abnehmbaren Aufnahmen zum Tragen von Bandspulenpaaren
DE112010004369B4 (de) Vorrichtung und Verfahren zum Steuern von Datenschreib-Vorgängen
DE102016204670A1 (de) Ermitteln geschätzter Positionsdaten eines magnetischen Aufzeichnungsbandes unter Verwendung einer Schätzung der Mediendicke
DE4216896A1 (de) Magnetisches aufzeichnungs- und wiedergabegeraet mit positionseinstellbarem kopf
DE102016006650A1 (de) Selbst-servo-schreib-nicht-referenz-kopfpositionsmessung
CN118116413A (zh) 磁带存储装置、计算系统以及用于磁带存储装置的方法

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final