DE112014000347T5 - Hybrid-Speichersystem mit hoher Speicherdichte - Google Patents

Hybrid-Speichersystem mit hoher Speicherdichte Download PDF

Info

Publication number
DE112014000347T5
DE112014000347T5 DE112014000347.6T DE112014000347T DE112014000347T5 DE 112014000347 T5 DE112014000347 T5 DE 112014000347T5 DE 112014000347 T DE112014000347 T DE 112014000347T DE 112014000347 T5 DE112014000347 T5 DE 112014000347T5
Authority
DE
Germany
Prior art keywords
data
linear
storage media
tape
linear storage
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
DE112014000347.6T
Other languages
English (en)
Other versions
DE112014000347B4 (de
Inventor
Steven Robert Hetzier
Robert Michael Rees
Gary Miles Mc-Clelland
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 DE112014000347T5 publication Critical patent/DE112014000347T5/de
Application granted granted Critical
Publication of DE112014000347B4 publication Critical patent/DE112014000347B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
    • G11B15/675Guiding containers, e.g. loading, ejecting cassettes
    • G11B15/68Automatic cassette changing arrangements; automatic tape changing arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
    • G11B15/675Guiding containers, e.g. loading, ejecting cassettes
    • G11B15/68Automatic cassette changing arrangements; automatic tape changing arrangements
    • G11B15/682Automatic cassette changing arrangements; automatic tape changing arrangements with fixed magazines having fixed cassette storage cells, e.g. in racks
    • G11B15/6835Automatic cassette changing arrangements; automatic tape changing arrangements with fixed magazines having fixed cassette storage cells, e.g. in racks the cassettes being transferred to a fixed recorder or player using a moving carriage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
    • G11B15/675Guiding containers, e.g. loading, ejecting cassettes
    • G11B15/68Automatic cassette changing arrangements; automatic tape changing arrangements
    • G11B15/6895Automatic tape changing arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B23/00Record carriers not specific to the method of recording or reproducing; Accessories, e.g. containers, specially adapted for co-operation with the recording or reproducing apparatus ; Intermediate mediums; Apparatus or processes specially adapted for their manufacture
    • G11B23/02Containers; Storing means both adapted to cooperate with the recording or reproducing means
    • G11B23/037Single reels or spools

Abstract

Ein System enthält eine Ebene für lineare Speichermedien; eine zweite Speicherebene, die leistungsfähiger ist als die Ebene für lineare Speichermedien; eine Datensteuereinheit zum Verlagern von Daten zwischen den Ebenen; und eine Host-Schnittstelle, die auf Platten- und/oder Netzwerkspeicherbefehle anspricht. Die Ebene für lineare Speichermedien enthält: einen Ablagebereich zum Aufbewahren von Spulen mit darauf befindlichen linearen Speichermedien, wenigstens ein Laufwerk für lineare Speichermedien, das zum Lesen und/oder Beschreiben von linearen Speichermedien eingerichtet ist; und wenigstens einen Roboter zum Transportieren der linearen Speichermedien zwischen dem Ablagebereich und dem wenigstens einen Laufwerk für lineare Speichermedien. Der Roboter bewegt sich auf einer ersten Oberfläche bei einem Kontakt mit der Oberfläche. Ein System gemäß einer weiteren Ausführungsform enthält eine Ebene für lineare Speichermedien, die dadurch gekennzeichnet ist, dass eine Lesezugriffszeit auf jeden Datenblock, der auf einer beliebigen Spule in dem Ablagebereich gespeichert ist, weniger als 10 Sekunden beträgt.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf Datenspeichersysteme und Insbesondere auf Hybrid-Speichersysteme, die Ebenen zur Datenspeicherung aufweisen.
  • HINTERGRUND
  • Bei magnetischen Speichersystemen werden Daten von einem magnetischen Aufzeichnungsmedium gelesen und darauf geschrieben, wobei magnetische Wandler verwendet werden. Daten werden auf das magnetische Aufzeichnungsmedium geschrieben, indem ein Magnetaufzeichnungswandler zu einer Position über dem Medium bewegt wird, an der die Daten gespeichert werden sollen. Der Magnetaufzeichnungswandler erzeugt dann ein magnetisches Feld, das die Daten in dem magnetischen Medium codiert. Daten werden von dem Medium gelesen, indem der Magnetlesewandler in ähnlicher Weise positioniert wird und anschließend das magnetische Feld des magnetischen Mediums erfasst wird. Lese- und Schreiboperationen können mit der Bewegung des Mediums unabhängig synchronisiert werden, um sicherzustellen, dass die Daten von der gewünschten Stelle auf dem Medium gelesen und an dieser geschrieben werden können.
  • Bei einem Bandlaufwerk-System wird ein magnetisches Band mit hoher Geschwindigkeit über die Oberfläche des Bandkopfes bewegt. Der Bandkopf ist üblicherweise so eingerichtet, dass er den Abstand zwischen dem Kopf und dem Band auf einen geringstmöglichen Wert einstellt. Der Abstand zwischen dem Magnetkopf und dem Magnetband ist entscheidend, so dass die Aufzeichnungsspalte der Wandler, bei denen es sich um die Quelle des Magnetaufzeichnungsflusses handelt, in einem engen Kontakt mit dem Band sind, um scharfe Schreibübergänge zu bewirken. Wenn sich das Leseelement in einem engen Kontakt zu dem Band befindet, ist außerdem ein wirksames Koppeln des Magnetfelds von dem Band zu dem Leseelement möglich.
  • In naher Zukunft wird durch eine Anwendung verbesserter Datenträger erwartet, dass sich die Kosten der Speicherung von Informationen (pro Byte) um einen Faktor von mindestens fünf in Bezug auf die Magnetplatte verringern. Außerdem wird durch die kurz- und langfristige Zuverlässigkeit weiterhin eine bandgestützte Speicherung favorisiert. Da des Weiteren für eine größere Massenspeicherung Cloud-Netzwerke zur Verfügung gestellt werden, erfolgt ein Speichern hauptsächlich in großen Archiven und nicht in einzelnen Laufwerken, wobei es sich dabei um eine Betrachtungsweise handelt, die ein bandgestütztes Speichern favorisiert. Ein bisheriger Nachteil eines bandgestützten Speicherns in Bezug auf ein plattengestütztes Speichern bestand in einer verhältnismäßig schlechten Zugriffszeit beim bandgestützten Speichern, wobei die erforderliche Zeit, um das Band zum Bandlaufwerk zu bringen und anschließend das Band zu der Dateiposition zu spulen, im Durchschnitt üblicherweise etwa 40 Sekunden beträgt.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Ein System gemäß einer Ausführungsform enthält eine Ebene für lineare Speichermedien; eine zweite Speicherebene, die leistungsfähiger ist als die Ebene für lineare Speichermedien; eine Datensteuereinheit zum Verschieben von Daten zwischen den Ebenen; und eine Host-Steuereinheit, die auf Platten- und/oder Netzwerkspeicherbefehle anspricht. Die Ebene für lineare Speichermedien enthält: eine Mehrzahl von Spulen, auf denen sich lineare Speichermedien befinden; einen Ablagebereich zum Aufbewahren der Spulen, wenn die Spulen nicht in Gebrauch sind, wenigstens ein Laufwerk für lineare Speichermedien, das zum Lesen und/oder Beschreiben der linearen Speichermedien eingerichtet ist, und wenigstens einen Roboter zum Transportieren der linearen Speichermedien zwischen dem Ablagebereich und dem wenigstens einen Laufwerk für lineare Speichermedien. Der Roboter bewegt sich auf einer ersten Oberfläche, wobei ein Kontakt zu der Oberfläche besteht.
  • Ein System gemäß einer weiteren Ausführungsform enthält eine Ebene für lineare Speichermedien; und eine Host-Schnittstelle, die auf Platten- und/oder Netzwerkspeicherbefehle anspricht. Die Ebene für lineare Speichermedien enthält: eine Mehrzahl von Spulen, auf denen sich lineare Speichermedien befinden; einen Ablagebereich zum Aufbewahren der Spulen, wenn die Bandspulen nicht in Gebrauch sind, wenigstens ein Laufwerk für lineare Speichermedien, das zum Lesen und/oder Beschreiben der linearen Speichermedien eingerichtet ist. Eine Leistungsfähigkeit der linearen Speichermedien ist dadurch gekennzeichnet, dass eine Lesezugriffszeit auf jeden Datenblock, der auf einer beliebigen Spule in dem Ablagebereich gespeichert ist, weniger als 10 Sekunden beträgt.
  • Gemäß einer weiteren Ausführungsform wird ein Verfahren zum Betreiben des obigen Speichersystems bereitgestellt, bei dem bei einer Anforderung zum Abrufen von Daten ermittelt wird, ob die Daten in einer Ebene für lineare Speichermedien oder in einer zweiten, leistungsfähigeren Speicherebene gespeichert sind. Wenn festgestellt wird, dass die Daten in der Ebene für lineare Speichermedien gespeichert sind, wird die Spule, die die Daten enthält, durch einen Roboter zu einem Laufwerk für lineare Speichermedien transportiert, in dem die Daten gelesen werden. Beim Empfangen einer Anforderung zum Schreiben von Daten wird ermittelt, ob die Daten in einer Ebene für lineare Speichermedien oder in einer zweiten leistungsfähigeren Ebene gespeichert werden sollen. Wenn festgestellt wird, dass die Daten in der Ebene für lineare Speichermedien gespeichert werden sollen, wird ein Roboter angewiesen, eine Spule zu einem ausgewählten Laufwerk für lineare Speichermedien zu transportieren, und die Daten werden zum Schreiben auf die Spule zu dem ausgewählten Laufwerk gesendet.
  • Bei einem weiteren Aspekt wird ein Computerprogramm bereitgestellt, das in einem computerlesbaren Medium gespeicherten Computerprogrammcode aufweist, der bewirkt, dass das Computersystem die Schritte der Ausführungsformen des Verfahrens ausführt, wenn er in ein Computersystem geladen und darin ausgeführt wird.
  • Weitere Aspekte und Ausführungsformen der vorliegenden Erfindung werden aus der folgenden genauen Beschreibung deutlich, die bei Verwendung in Verbindung mit den Zeichnungen die Grundgedanken der Erfindung beispielhaft veranschaulicht.
  • KURZBESCHREIBUNG DER MEHREREN ZEICHNUNGSANSICHTEN
  • Ausführungsformen der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen lediglich beispielhaft beschrieben, in denen:
  • 1 ein Funktionsblockschaltplan gemäß einer beispielhaften Ausführungsform ist;
  • 2A eine Draufsicht eines Systems, bei dem mobile Roboter für einen schnelleren Zugriff auf ein Band verwendet werden, gemäß einer Ausführungsform ist;
  • 2B ein Übersichtsplan eines vereinfachten Bandlaufwerksystems gemäß einer Ausführungsform ist;
  • 3 eine Seitenansicht eines mobilen Roboters gemäß einer Ausführungsform ist;
  • 4A eine Darstellung einer optischen Struktur auf einer Oberfläche gemäß einer Ausführungsform ist;
  • 4B eine Teilseitenansicht einer Oberflächengestaltung gemäß einer Ausführungsform ist;
  • 4C eine Teilseitenansicht einer Oberflächengestaltung gemäß einer Ausführungsform ist;
  • 4D eine Teilseitenansicht einer Oberflächengestaltung gemäß einer Ausführungsform ist;
  • 4E eine Teilseitenansicht einer Oberflächengestaltung gemäß einer Ausführungsform ist;
  • die 5A bis 5B genaue Ansichten eines mobilen Roboters gemäß einer Ausführungsform sind;
  • die 6A bis 6B vereinfachte Ansichten eines Bandarchivs, bei dem mobile Roboter verwendet werden, gemäß einer Ausführungsform sind;
  • die 7A bis 7D schematische Darstellungen einer Bandführung, bei der mobile Roboter verwendet werden, gemäß einer Ausführungsform sind;
  • die 8A bis 8D schematische Darstellungen von Schritten zur selbsttätigen Bandführung, bei der ein Bandlaufwerk verwendet wird, gemäß einer Ausführungsform sind;
  • die 9A bis 9C schematische Darstellungen von Schritten, bei denen Flanschverlängerungen verwendet werden, gemäß einer Ausführungsform sind;
  • 10A ein Ablaufplan eines Verfahrens gemäß einer Ausführungsform ist;
  • 10B ein Ablaufplan eines Verfahrens gemäß einer Ausführungsform ist;
  • 11 eine Abbildung einer Netzwerkarchitektur gemäß einer Ausführungsform ist und
  • 12 ein Systemplan einer repräsentativen Hardwareumgebung, die den Servern und/oder Clients von 11 zugeordnet werden kann, gemäß einer Ausführungsform ist.
  • GENAUE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die folgende Beschreibung erfolgt zum Zweck des Veranschaulichens der allgemeinen Grundgedanken der vorliegenden Erfindung und soll die hier beanspruchten erfindungsgemäßen Konzepte nicht einschränken. Des Weiteren können bestimmte Merkmale, die hier beschrieben werden, in Verbindung mit anderen beschriebenen Merkmalen in jeder der verschiedenen möglichen Kombinationen und Umsetzungen verwendet werden.
  • Falls nicht ausdrücklich anders definiert, sollten allen Ausdrücken ihre breitest möglichen Interpretationen gegeben werden, darunter Bedeutungen, die aus der Beschreibung nahe liegen, sowie Bedeutungen, die für einen Fachmann verständlich und/oder in Wörterbüchern, Abhandlungen usw. definiert sind.
  • Es muss außerdem angemerkt werden, dass die in der Beschreibung und den angefügten Ansprüchen verwendeten Singularformen „ein” und „der/die/das” falls nicht anders angegeben die Pluralformen einschließen.
  • Die folgende Beschreibung offenbart verschiedene bevorzugte Ausführungsformen von Daten-Speichersystemen sowie deren Funktions- und/oder Bestandteile.
  • Bei einer allgemeinen Ausführungsform enthält ein System eine Ebene für lineare Speichermedien; eine zweite Speicherebene, die leistungsfähiger ist als die Ebene für lineare Speichermedien; eine Datensteuereinheit zum Verschieben von Daten zwischen den Ebenen; und eine Host-Schnittstelle, die auf Platten- und/oder Netzwerkspeicherbefehle anspricht. Die Ebene für lineare Speichermedien enthält: eine Mehrzahl von Bandspulen, auf denen sich lineare Speichermedien befinden, einen Ablagebereich zum Aufbewahren der Bandspulen, wenn die Bandspulen nicht in Gebrauch sind, wenigstens ein Laufwerk lineare Speichermedien, das zum Lesen und/oder Beschreiben der linearen Speichermedien eingerichtet ist, und wenigstens einen Roboter zum Transportieren der linearen Speichermedien zwischen dem Ablagebereich und dem wenigstens einen Laufwerk für lineare Speichermedien. Der Roboter bewegt sich längs einer ersten Oberfläche, wobei ein Kontakt zu der Oberfläche besteht.
  • Bei einer weiteren allgemeinen Ausführungsform enthält ein System eine Ebene für lineare Speichermedien; und eine Host-Schnittstelle, die auf Platten- und/oder Netzwerkspeicherbefehle anspricht. Die Ebene für lineare Speichermedien enthält: eine Mehrzahl von Bandspulen, auf denen sich lineare Speichermedien befinden, einen Ablagebereich zum Aufbewahren der Bandspulen, wenn die Bandspulen nicht in Gebrach sind, wenigstens ein Laufwerk für lineare Speichermedien, das zum Lesen und/oder Beschreiben der linearen Speichermedien eingerichtet ist. Eine Leistungsfähigkeit der linearen Speichermedien ist dadurch gekennzeichnet, dass eine Lesezugriffszeit auf jeden Datenblock, der auf einer beliebigen Spule in dem Ablagebereich gespeichert ist, weniger als 10 Sekunden beträgt.
  • Herkömmliche Systeme für lineare Speichermedien (z. B. Bandsysteme) sind so gestaltet, dass sie Zugriffe sequenziell ausführen, und die Dauer eines Direkt-Lesezugriffs kann daher mehr als eine Minute betragen, wodurch ihre Gebrauchsfähigkeit begrenzt wird, da Softwarestapel für einen Plattenzugriff üblicherweise eine Begrenzung der maximalen Zugriffszeit von 20 bis 30 Sekunden aufweisen, nach denen eine Zeitabschaltung erfolgt. Durch eine Verminderung der Bandlänge können möglicherweise mittlere Zugriffszeiten nahe an dieser Begrenzung erreicht werden, wobei kein Raum für unerwartete Verzögerungen verbleibt, wodurch ein Unterstützen einer Warteschlange schwierig wird und die Kosten erheblich ansteigen.
  • Eine neue Systemarchitektur für lineare Speichermedien, die Zugriffszeiten unterstützt, die ausreichend kurz sind, um über einen Softwarestapel für Plattenzugriff Daten auszutauschen, ohne Zeitabschaltungen zu bewirken, ist erwünscht und wird an dieser Stelle beschrieben. Die Ausführungsformen und/oder Verfahren, die hier beschrieben und/oder vorgeschlagen werden, lösen vorzugsweise wenigstens zwei Probleme, die mit dem Erreichen von Zugriffszeiten für lineare Speichermedien verbunden sind, die ausreichend kurz sind für eine Verwendung bei einem Platten-Softwarestapel: Direkt-Lesevorgänge und Direkt-Schreibvorgänge. Gemäß einem Ansatz können Direkt-Lesevorgänge verbessert werden, indem ein Roboter-Zugriffsmechanismus und ein lineares Speichermedium sowie ein Lese- Schreibsystem entwickelt werden, das in der Lage ist, einen Datenblock von- einer beliebigen Stelle in dem System in einer Zeit abzurufen, die wesentlich kürzer ist als die Plattenstapel-Zeitabschaltung der Software, die in diesem Zusammenhang verwendet wird. Ein derartiges Robotersystem wird nachfolgend unter Bezugnahme auf die 2A bis 9C beschrieben. Kurz gesagt, ein derartiges System verwendet eine Gruppe von mobilen Robotern, um Halteeinrichtungen linearer Speichermedien von einem Aufbewahrungsbereich zu einer Leseeinheit wie z. B. ein Mediumlaufwerk zu verschieben. Bei einigen Ausführungsformen kann eine Leseeinheit eine oder mehrere Aufwickelstationen enthalten, die das lineare Speichermedium nahe der gewünschten Sollposition vorpositionieren, bevor das Medium in das Mediumlaufwerk eingefädelt wird. Eine derartige Anordnung ermöglicht einen besseren Durchsatz durch eine Pipeline-Verarbeitung von Operationen. Andere Ansätze enthalten schnelle Bestückungsroboter.
  • Die Zeit zum Lokalisieren eines Datensatzes auf den linearen Speichermedien kann bei verschiedenen Ausführungsformen viel kürzer sein als bei gegenwärtigen Systemen. Ein Aspekt, um das zu erreichen, besteht darin, dass das Medium mit geringen Längen in Kombination mit einem Mechanismus zum schnellen Lokalisieren genutzt werden kann. Bei Datenträgerabschnitten mit der Länge von einigen Dutzend Metern, kombiniert mit Lokalisiergeschwindigkeiten von 20 m/s und mehr können Lokalisierzeiten von durchschnittlich weniger als 1 Sekunde erreicht werden, nachdem das Medium in ein Mediumlaufwerk eingesetzt wurde. Somit kann die Gesamtzeit vom Erhalten einer Leseanforderung bis zum Zurückgeben der Daten an den Host so gestaltet sein, dass sie beträchtlich kürzer ist als die oben erwähnte Plattenstapel-Zeitabschaltung. Eine derartig hohe Zugriffsgeschwindigkeit ermöglicht, dass das System ein Verarbeiten von Warteschlangen unterstützt; somit kann die Leistungsfähigkeit durch Hinzufügen zusätzlicher Leseeinheiten, z. B. Mediumlaufwerke, skaliert werden. Bei einigen Ausführungsformen eines derartigen Systems können Lesezugriffszeiten von durchschnittlich etwa 2 Sekunden oder weniger erreicht werden.
  • Darüber hinaus sind herkömmliche Systeme mit linearen Speichermedien zwar nicht für Direkt-Schreiboperationen optimiert, bei verschiedenen Ausführungsformen und/oder Verfahren, die an dieser Stelle beschrieben und/oder vorgeschlagen werden, können jedoch direkte Schreibvorgänge ausgeführt werden, indem sie zu einem sequenziellen Schreibstrom umgesetzt werden, wie etwa durch Verwenden von Protokollstruktur-Schreibvorgängen, ohne darauf beschränkt zu sein. Ein derartiges System kann vorzugsweise ermöglichen, dass Direkt-Schreibvorgänge mit nahezu der Geschwindigkeit von sequenziellen Schreibvorgängen erfolgen. Deswegen kann die Geschwindigkeit eines Direkt-Schreibvorgangs die Geschwindigkeit eines direkten Lesevorgangs beträchtlich übersteigen. Darüber hinaus kann eine Managementschicht verwendet werden, um Schreibvorgänge zu verarbeiten und sie in ein sequenzielles Format umzusetzen. Das kann die Kosten des Systems verringern, da weniger Schreib-Laufwerke benötigt werden, um einen vorgegebenen Leistungsfähigkeitsgrad von Direkt-Schreibvorgängen zu erreichen.
  • Alternativ kann dadurch der Lesedurchsatz des Systems verbessert werden, da eine größere Anzahl von Mediumlaufwerken für Leseoperationen als Schreiboperationen zugewiesen werden können, z. B. wenn derartige Laufwerke sowohl Lesen als auch Schreiben können.
  • Um ein Umsetzen von direkten Schreibvorgängen in sequenzielle Schreibvorgänge zu ermöglichen, kann eine Ausführungsform ein System enthalten, das einen Schreibpuffer/Cache-Speicher aufweist, vorzugsweise zusätzlich zu einem Lese-Cache-Speicher, um die Leseleistung des Systems zu verbessern. Diese beiden Cache-Speicher können vorzugsweise jedes Medium nutzen, das bei einem Direktzugriff leistungsfähiger ist als das lineare Speichermedium wie beispielsweise ein oder mehrere Medien mit zufälligem Zugriff oder Direktzugriff, zu denen Festplatten, Halbleiterspeicher, dynamische Direktzugriffsspeicher (DRAM), Flash-Speicher, nichtflüchtige Speicher (NVM) usw. und/oder andere gehören können, die an dieser Stelle erwähnt werden und/oder in der Technik bekannt sind.
  • Somit ist vorstellbar, dass das lineare Speichermedium in einer Ebene von linearen Speichermedien vorhanden ist, und der Puffer/Cache-Speicher ist als eine zweite Speicherebene vorstellbar, die leistungsfähiger ist als die Ebene mit linearen Speichermedien. In der vorliegenden Beschreibung kann sich „Leistungsfähigkeit” vorzugsweise auf die Verzögerung von einer Datenanforderung, z. B. von einem Host- oder Speicher-Netzwerk bis zum eigentlichen Lesen und/oder Schreiben der Daten auf das gewünschte Speichermedium für eine derartige Anforderung beziehen. Ohne die Erfindung in irgendeiner Weise einschränken zu wollen, kann bei verschiedenen Ansätzen eine Lese- oder Schreibanforderung, die durch ein Speichersystem empfangen wird, einen Prozess oder eine Operation in Reaktion auf die Anforderung auslösen.
  • Darüber hinaus kann die zweite Speicherebene selbst eine Mehrzahl von leistungsfähigen Speicherebenen enthalten wie z. B. eine Kombination aus Festplatte und/oder Halbleiterspeicher. Des Weiteren kann die Ebene des linearen Speichermediums außerdem eine Mehrzahl von leistungsfähigen Speicherebenen enthalten. Daher können in Abhängigkeit von der gewünschten Ausführungsform unterschiedliche Aufgaben für die zweite Speicherebene und/oder die Ebene mit linearen Speichermedien in darin vorhandenen Speicherebenen, die unterschiedlich leistungsfähig sind, ausgeführt werden, die höhere, geringere oder untereinander gleiche Leistungsfähigkeiten aufweisen.
  • 1 zeigt den Funktionsblockschaltplan 100 für ein Daten-Speichersystem 150 gemäß einer Ausführungsform. Als Option kann das vorliegende Daten Speichersystem 150 in Verbindung mit Merkmalen jeder anderen hier aufgelisteten Ausführungsform umgesetzt werden wie jene, die unter Bezugnahme auf die anderen FIGUREN beschrieben sind. Natürlich können jedoch ein derartiges Daten-Speichersystem 150 und die anderen an dieser Stelle dargestellten Systeme in zahlreichen Anwendungen und/oder in Umsetzungen verwendet werden, die möglicherweise in den hier aufgelisteten veranschaulichenden Ausführungsformen besonders beschrieben sind. Des Weiteren kann das hier dargestellte Daten-Speichersystem 150 in jeder gewünschten Umgebung verwendet werden.
  • In 1 enthält der Funktionsblockschaltplan 100 eine Ebene eines lineare Speichermediums, die die Speichermodule 128 des linearen Speichermediums enthält, und eine zweite Speicherebene, die den Schreib-Puffer/Cache-Speicher 114 und/oder den Lese-Cache-Speicher 116 enthält.
  • In 1 gibt es weiterhin ein Host- oder Speicher-Netzwerk 102 und eine Management-Schnittstelle 104, die beide mit dem Speichersystem 150 verbunden sind. Das Host- oder Speicher-Netzwerk 102 kann vorzugsweise Operationen für das Speichersystem 150 steuern, beispielsweise Schreib-Anforderungen, Lese-Anforderungen usw. befördern; während die Management-Schnittstelle 104 vorzugsweise logistische Informationen des Speichersystems 150 steuert, darunter Datenbesitz, Daten-Partitionierung, Daten-Sensibilität usw., ohne darauf beschränkt zu sein. Obwohl nicht gezeigt können das Host- oder Speicher-Netzwerk 102 und/oder die Management-Schnittstelle 104 außerdem mit einem Host, einem Benutzer, einem Administrator, einer Datenverarbeitungseinheit usw. verbunden oder für diese zugänglich sein, die Anforderungen bereitstellen können, die durch das Speichersystem 150 zu verarbeiten sind.
  • Gemäß verschiedenen Ansätzen können derartige Anforderungen Schreib-Anforderungen, Lese-Anforderungen usw. oder jede andere Anforderung enthalten, was einem Fachmann beim Lesen der vorliegenden Beschreibung deutlich wird. Bei einem bevorzugten Ansatz kann das System eine Host-Schnittstelle enthalten, die auf Platten- und/oder Netzwerk-Befehle anspricht (wird nachfolgend genauer erläutert). Außerdem und/oder alternativ kann die Host-Schnittstelle auf Bandspeicherbefehle ansprechen, beispielsweise von dem Host- oder Speicher-Netzwerk 102. Bei einem veranschaulichenden Ansatz kann die Host-Schnittstelle auf Platten- und/oder Netzwerk-Speicherbefehle von einer Platten- und/oder Netzwerk-Speicherschnittstelle, beispielsweise in einem Host, in einer Speicher-Steuereinheit eines Speicher-Netzwerks usw. beim gegenseitigen Datenaustausch ansprechen. Bei einem veranschaulichenden Ansatz kann der Datenaustausch zwischen dem Host- oder Speicher-Netzwerk 102 und dem Speichersystem 150 über jeden bekannten Mechanismus erfolgen, darunter Fibre Channel, Busverkehr, ein Netzwerk wie z. B. ein Speicherbereich-Netzwerk (SAN), Serial ATA-(SATA-), Serial Attached SCSI-(SAS-), Representational State-Transfer-(REST-)Systeme, Network Attached Storage (NAS), Objektspeicherung usw. und Kombinationen hiervon.
  • In der vorliegenden Beschreibung können das Host- oder Speicher-Netzwerk 102 und/oder die Management-Schnittstelle 104 in Abhängigkeit von der gewünschten Ausführungsform über eine Leitung, ein Kabel, einen Lichtwellenleiter, eine Buskonfiguration, drahtlos usw. mit dem Speichersystem 150 verbunden sein. Darüber hinaus kann jede andere Verbindung unter Bezugnahme auf die Beschreibung von 1 in Abhängigkeit von der gewünschten Ausführungsform über eine Leitung, ein Kabel, einen Lichtwellenleiter, eine Buskonfiguration, drahtlos usw. erfolgen.
  • Gemäß einer beispielhaften Ausführungsform kann das Host- oder Speicher-Netzwerk 102 von 1 durch jedes der Netzwerke 1104, 1106, 1108 von 11 dargestellt werden. Darüber hinaus können eine (nicht gezeigte) Host-Schnittstelle und/oder das Speichersystem 150 von 1 durch die Benutzereinheiten 1116 bzw. den Datenserver 1114 von 11 dargestellt werden. Wie in 11 dargestellt können deshalb die Netzwerke 1104, 1106, 1108, die die Benutzereinheiten 1116 und den Datenserver 1114 verbinden, die Verbindung des Host- oder Speicher-Netzwerks 102 zwischen der (nicht gezeigten) Host-Schnittstele und dem Speichersystem 150 von 1 darstellen.
  • Weiterhin in 1 enthält der Funktionsblockschaltplan 100 des Weiteren einen Front-End-Treiber 106, der die Host-Schnittstelle oder einen Teil der Host-Schnittstelle darstellt. Daher ist der Front-End-Treiber 106 mit dem Host- oder Speicher-Netzwerk 102 verbunden und leitet vorzugsweise Daten und/oder Befehle, die von dem Host- oder Speicher-Netzwerk 102 empfangen werden, an eine Daten-Steuereinheit wie beispielsweise den Cachespeicher-Manager 108 weiter. Gemäß verschiedenen Ansätzen kann der Front-End-Treiber 106 jeden Treiber enthalten, was einem Fachmann beim Lesen der vorliegenden Beschreibung deutlich wird, und/oder der durch einen Fachmann beim Lesen der vorliegenden Beschreibung in einfacher Weise erzeugt werden kann.
  • Der Cachespeicher-Manager 108 kann gespeicherte Daten und/oder empfangene Daten verarbeiten. Der Cachespeicher-Manager 108 und/oder jede andere Komponente des Speichersystems 150 kann in Hardware und/oder Software umgesetzt werden und kann einen (nicht gezeigten) Prozessor zum Ausführen von Befehlen eines in der Technik bekannten Typs verwenden wie beispielsweise eine Zentraleinheit (CPU), ein vor Ort programmierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC) usw. Natürlich kann jede Anordnung eines Speichersystems verwendet werden, was einem Fachmann beim Lesen der vorliegenden Beschreibung deutlich wird.
  • Bei verschiedenen Ansätzen kann der Cachespeicher-Manager 108 Daten verarbeiten, die in den Speichermodulen 128 des linearen Speichermediums, dem Redundant-Array-of-Independent-Disks-(RAID-)Modul 110, den Zuordnungstabellen 112 usw. gespeichert sind. Bei anderen Ansätzen kann der Cachespeicher-Manager 108 Daten verarbeiten, die von dem Host- oder Speicher-Netzwerk 102 beispielsweise über eine Schreibanforderung empfangen wurden. Somit kann in Abhängigkeit von verschiedenen Prozessanforderungen, die von dem Host- oder Speicher-Netzwerk 102 weitergeleitet werden, der Cachespeicher-Manager 108 unterschiedliche Operationen ausführen. Beispielsweise kann eine Schreibanforderung einen Schreibprozess auslösen, wie bald deutlich wird; wobei eine Leseanforderung einen Leseprozess auslösen kann, was nachfolgend genauer erläutert wird. Gemäß anderen Ansätzen können Anforderungen, die durch den Cachespeicher-Manager 108 empfangen werden, außerdem geschriebene Daten, Schreibzuordnungen, Löschanforderungen, Statusanforderungen usw. oder Kombinationen hiervon enthalten.
  • Weiter in 1 kann eine Schreibanforderungen durch den Cachespeicher-Manager 108 empfangen werden, vorzugsweise bezüglich Daten, die in dem Speichersystem 150 gespeichert werden sollen. Gemäß einem Beispiel, das die Erfindung keinesfalls beschränken soll, kann eine durch den Cachespeicher-Manager 108 empfangene Schreibanforderung Direktzugriffs-Eingabeschreibdaten enthalten. Bei anderen Ansätzen kann eine Schreibanforderung lineare Daten, sequenzielle Daten, zufällige Daten usw. oder jede andere Form von Daten enthalten, was einem Fachmann beim Lesen der vorliegenden Beschreibung deutlich wird.
  • Der Cachespeicher-Manager 108 kann ermitteln, ob eine RAID-Funktion und/oder andere Rekonstruktionsoperationen beispielsweise unter Verwendung des RAID-Moduls 110, vorzugsweise bevor die Daten geschrieben werden, auf die Schreibanforderungsdaten angewendet werden sollten. Wie in 1 dargestellt ist der Cachespeicher-Manager 108 mit dem RAID-Modul 110 verbunden, wodurch Daten zwischen ihnen beispielsweise durch Anwenden der RAID-Funktion codiert und/oder decodiert werden können. Die RAID-Funktion kann vorzugsweise auf empfangene Schreibdaten angewendet werden, da die Zuverlässigkeit des Gesamtsystems durch den Einschluss der RAID-Funktion verbessert werden kann. Darüber hinaus kann die RAID-Funktion verwendet werden, um Daten unabhängig ihrer gewünschten Speicherposition zu schützen. Bei einem anderen Ansatz kann die RAID-Funktion auf Daten angewendet werden kann, die in dem Speichersystem 150 gespeichert sind, bevor sie zurückgegeben werden, beispielsweise in Reaktion auf eine Leseanforderung. Gemäß einem Ansatz kann die RAID-Funktion Daten von zufälligen Daten in sequenzielle Daten ändern, kann jedoch jede andere Kombination von Datenformen beinhalten, die hier aufgelistet sind.
  • Der Cachespeicher-Manager präsentiert sich selbst für angeschlossene Hosts als eine Plattenspeichersteuereinheit. Der Cachespeicher-Manager kann den Speicherplatz als „virtuelle Platten” (VDISK) freigeben, wodurch Thin Provisioning (schlanke Speicherzuweisung) und Erweiterungsfähigkeit des Speichers ermöglicht werden.
  • Zwar können die Daten und/oder Metadaten auf der zweiten Speicherebene durch RAID geschützt sein, gemäß einem weiteren Ansatz kann es jedoch außerdem erwünscht sein, dass die auf lineare Speichermedien geschriebenen Daten selbstbeschreibend sind, Mit „selbstbeschreibend” ist gemeint, dass alle Zustandsinformationen, die zum ordnungsgemäßen Identifizieren eines Datenblocks erforderlich sind, durch Lesen von Informationen von der Ebene des linearen Speichermediums wiederhergestellt werden können. Bei einer veranschaulichenden Ausführungsform entspricht das System einem selbstbeschreibenden Index der Daten, die in der Ebene des linearen Speichermediums enthalten sind, der verwendet werden kann, um Zuordnungsinformationen wirkungsvoll wiederherzustellen, die die Gruppe von Bereichen beschreiben, die auf diese Ebene geschrieben wurden, und sie als zugehörig zu einer bestimmten virtuellen Platte eindeutig kennzeichnen sowie die logische Blockadresse (LBA) oder gleichbedeutend die Nummer des logischen Bereichs in der VDISK kennzeichnen. Bei einem weiteren Ansatz kann die VDISK durch den VDISK-Manager 120 verwaltet und/oder aktualisiert werden.
  • Bei einem bevorzugten Ansatz können Daten, die eine Schreibanforderung betreffen, in der Ebene des linearen Speichermediums gespeichert werden, d. h. auf das lineare Band in den Speichermodulen 128 linearer Speichermedien geschrieben werden. Gemäß verschiedenen Ansätzen können jedoch Daten, die eine Schreibanforderung betreffen, in dem Schreibpuffer/Cache-Speicher 114, dem Lese-Cache-Speicher 116 usw. oder in einer beliebigen Kombination hiervon, beispielsweise teilweise, größtenteils usw. in Abhängigkeit von der gewünschten Ausführungsform gespeichert werden. Bei einem Ansatz können Daten auf einem vorgegebenen Datenträger in dem Speichersystem 150 in Abhängigkeit von der Wichtigkeit, Größe, Anforderungshäufigkeit usw. der Daten gespeichert werden. Gemäß einem Beispiel, das die Erfindung keinesfalls beschränken soll, kann das Speichersystem 150 Direktzugriff-Eingabeschreibdaten für eine Schreibanforderung, beispielsweise von einem Host empfangen und die Direktzugriff-Eingabeschreibdaten in sequenzielle Daten umsetzen, wie oben beschrieben wurde. Darüber hinaus können die sequenziellen Daten dann auf dem linearen Speichermedium in den Speichermodulen 128 mit linearen Speichermedien gespeichert werden. Wenn zu erwarten ist, dass die Daten bald und/oder häufig ausgelesen werden, können die Schreibdaten außerdem und/oder alternativ für einen schnelleren Zugriff in dem Lese-Cache-Speicher 116 gespeichert werden.
  • Weiterhin in 1 kann der Cachespeicher-Manager 108 außerdem ein Verschieben von Daten zwischen der zweiten Speicherebene, beispielsweise dem Schreibpuffer/Cache-Speicher 114 und der Ebene des lineare Speichermediums, beispielsweise den Speichermodulen 128 mit linearen Speichermedien, steuern. Bei einem Ansatz kann der Cachespeicher-Manager 108 Daten aus separaten Schreibanforderungen auswählen, damit sie für eine gemeinsame Schreiboperation miteinander verknüpft werden. Somit kann der Cachespeicher-Manager 108 vorzugsweise zulassen, dass die Schreibdaten, die mehreren Direktzugriff-Schreibanforderungen zugehörig sind, auf der zweiten Ebene akkumuliert werden, bevor sie zu der Ebene des linearen Speichermediums verschoben (z. B. geschrieben) werden. Bei einem Ansatz können die Schreibdaten, die in dem Schreibpuffer/Cache 114 akkumuliert werden, in der zweiten Speicherebene akkumuliert werden, so dass wenigstens eine ganzzahlige Anzahl von vollständigen Bandwindungen auf einer Bandspule in einem einzigen Durchgang unabhängig von den Abmessungen der Bandspule auf den das lineare Speichermedium geschrieben. werden. Wenn die in der zweiten Ebene akkumulierten Schreibdaten nicht gleich wenigstens einer ganzzahligen Anzahl von vollständigen Bandwindungen auf der Bandspule entsprechen, können die Schreibdaten vorzugsweise in der zweiten Ebene gehalten werden, bis die hier akkumulierten Schreibdaten gleich wenigstens einer ganzzahligen Anzahl von vollständigen Bandwindungen auf der Bandspule sind. Das kann die Gesamtschreibdauer verringern und die Schreibeffektivität des Systems erhöhen und dadurch die Abrufe der Bandspule auf einen geringstmöglichen Wert bringen (wird nachfolgend genauer erläutert). Vielleicht noch wichtiger ist, dass dies dazu beiträgt, die Flächendichte des Bands zu erhöhen, was einem Ansteigen der Kapazität entspricht. Bei anderen Ansätzen, die die Erfindung keinesfalls einschränken sollen, können jedoch die in der zweiten Ebene akkumulierten Schreibdaten dort gehalten werden, bis ein anderer Referenzindex erkannt wird, darunter eine Zeitbegrenzung, eine Dringlichkeitsstufe, ein Benutzereingriff, eine Anforderung usw., ohne auf diese beschränkt zu sein.
  • Bei einer weiteren Ausführungsform werden die Schreibdaten per Datenstrom direkt auf die Ebene des linearen Speichermediums transportiert und nicht auf der zweiten Ebene akkumuliert, bevor sie zu der Ebene des linearen Speichermediums verlagert werden. Bei einem derartigen Ansatz ist in dem System gegebenenfalls eine zweite Ebene vorhanden.
  • Durch Integrieren einer Daten-Steuereinheit, z. B. des Cachespeicher-Managers 108, besteht daher die Möglichkeit, dass die Datenträger-Blockgröße größer ist als herkömmliche Anforderungs-Blockgrößen. Das erzeugt einen effizienteren Schreibvorgang bei linearen Speichermedien, da eine längere Schreibanforderung, die mehrere kleinere Schreibanforderungen enthalten kann, effizienter ist als ein Ausführen von jeder der mehreren kleineren Schreibanforderungen einzeln in den Speichermodulen 128 des linearen Speichermediums, wie in Kürze deutlich wird.
  • Die Speichermodule 128 des linearen Speichermediums können jede Konfiguration aufweisen, die hier beschrieben und/oder vorgeschlagen wurde, insbesondere im Hinblick auf die nachfolgende Beschreibung der 2A bis 3. In den 2A bis 3 kann somit ein lineares Speichermedium (z. B. ein Band) vorzugsweise auf Bandspulen 202 gewickelt sein, die an dieser Stelle auch als Rollen bezeichnet werden. Die Bandspulen 202 können auf einer tiefer liegenden Oberfläche 304 wie beispielsweise einer „Bodenfläche” eines Ablagebereichs zum Aufbewahren von Spulen liegen, wenn die Spulen nicht in Gebrauch sind. Gemäß unterschiedlichen Ansätzen kann der Ablagebereich eine Ebene, mehr als eine Ebene usw. aufweisen, wie nachfolgend erläutert wird, und kann des Weiteren Rampen aufweisen, ohne darauf beschränkt zu sein, die vorzugsweise für ein Verlagern von linearen Speichermedienzwischen den Ebenen dienen. Bei dem Ablagebereich handelt es sich vorzugsweise um eine horizontale Oberfläche, auf der die Bandspulen ruhen; bei anderen Ansätzen jedoch kann der Ablagebereich eine vertikale, angewinkelte, terrassenförmige, abgestufte usw. Oberfläche oder Kombinationen hiervon beinhalten. Bei derartigen alternativen Ansätzen können die Bandspulen an dem Ablagebereich angebracht und/oder durch den Ablagebereich unterstützt werden unter Verwendung von Haken, Lippen, Magneten, Regalflächen, Manschetten, Pfosten usw. oder durch irgendeine andere Struktur, um bei Bedarf der Gravitationskraft auf die Bandspulen entgegenzuwirken.
  • In 3 können die mobilen Roboter 210 auf einer oberen Oberfläche 302 manövrieren, wobei ein Kontakt zu dieser Oberfläche vorhanden ist, indem z. B. Antriebsräder und eine magnetische Anziehungskraft zwischen dem mobilen Roboter 210 und der oberen Oberfläche 302 oder Abschnitten der oberen Oberfläche vorhanden sind (siehe 3). Deswegen kann ein Archiv von Bandspulen auf einer tiefer liegenden Oberfläche wie z. B. einer „Bodenfläche” liegen, während ein mobiler Roboter auf der oberen Oberfläche manövriert. Der Roboter kann Bandspulen aufnehmen und sie zu einer anderen Position verlagern, z. B. von dem Ablagebereich zu einer Aufwickelstation oder einem Mediumlaufwerk in Abhängigkeit von der gewünschten Ausführungsform.
  • Nochmals zu den Speichermodulen 128 des linearen Speichermediums von 1, sie können außerdem einen Mechanismus aufweisen, um die Spulen wahlweise von dem Ablagebereich an wenigstens einem Roboter in Eingriff zu bringen. Gemäß verschiedenen Ansätzen kann der Mechanismus einen einziehbaren Arm, einen Magneten, eine Saugeinheit usw. enthalten. Wie in 3 dargestellt kann der Mechanismus einen Spulengreifer 312 enthalten, ohne auf diesen beschränkt zu sein, der die Spulen 202 vertikal von einem horizontalen Ablagebereich 304 an dem wenigstens einen, darüber befindlichen mobilen Roboter 210 in Eingriff zu bringen.
  • Weiter in 1 kann das Daten-Speichersystem 150 eine Roboter-Steuereinheit 130 enthalten. Wie in 1 dargestellt befindet kann die Roboter-Steuereinheit 130 vorzugsweise Daten mit den Speichermodulen 128 mit linearen Speichermedien austauschen und kann die mobilen Roboter steuern und/oder verwalten. Bei verschiedenen Ansätzen kann die Roboter-Steuereinheit 130 normale Betriebsbedingungen, Bedingungen mit hohem Verkehrsaufkommen, Überlauf, Anforderungen mit hoher Priorität usw. oder jede andere Situation steuern und/oder verwalten, was einem Fachmann beim Lesen der vorliegenden Beschreibung deutlich wird. Die Roboter-Steuereinheit 130 kann zusätzlich mit allen anderen Abschnitten des Speichersystems 150 verbunden sein, um beispielsweise Befehle, Aktualisierungen, Informationen usw. von diesen zu empfangen. Außerdem kann die Roboter-Steuereinheit 130 mit einem Host, einem Benutzer, einem Administrator, einer Datenverarbeitungseinheit usw. verbunden sein, die Anforderung bereitstellen können, die durch die Roboter-Steuereinheit 130 zu verarbeiten sind. Darüber hinaus kann die Ebene für lineare Speichermedien eine (nicht gezeigte) Steuereinheit aufweisen, die Host-Kommunikation, Datenverwaltung, Steuerungsfunktionen usw. realisieren kann.
  • Des Weiteren kann der Cachespeicher-Manager 108 wie oben angegeben einen effizienteren Schreibvorgang des linearen Speichermediums aufgrund der Tatsache ermöglichen, dass eine umfangreiche Schreibanforderung bei einigen Ausführungsformen mehrere kleinere Schreibanforderungen enthält. Bei einem Beispiel, das die Erfindung in keiner Weise einschränken soll, enthält eine umfangreichere Schreibanforderung an die Ebene für lineare Speichermedien, die mehrere kleinere Schreibanforderungen von einem Host beinhaltet, Zusammenfassen der kleineren Schreibanforderungen in der umfangreicheren Schreibanforderung; und lediglich einmaliges Finden, Laden, Beschreiben und Ersetzen einer Bandspule; wohingegen dann, wenn jede der mehreren kleineren Schreibanforderungen einzeln ausgeführt wird, mehrere Bandspulen für jede der mehreren kleineren Schreibanforderungen gefunden, geladen, beschrieben und ersetzt werden müssten. Deswegen verringert ein Aufnehmen einer derartigen Funktionalität in die Daten-Steuereinheit (z. B. den Cachespeicher-Manager 108) die Schreibdauer, die Leistungsaufnahme, Abnutzung usw., wodurch die Systemleistung verbessert wird und eine separate Optimierung von Leistungsfähigkeit und Kapazität möglich ist.
  • Um die Leistungsfähigkeit des Speichersystems weiter zu verbessern, können zusätzliche Laufwerke in jeder Ebene des Systems vorgesehen werden.
  • Bei einer veranschaulichenden Ausführungsform ist die Zugriffsleistung der Ebene des lineare Speichermediums dadurch gekennzeichnet, dass Daten von jeder Stelle in dem System innerhalb der Zugriffszeitbegrenzung der Platten- und/oder Netzwerkspeicherschnittstelle abgerufen werden können.
  • Bei einer weiteren veranschaulichenden Ausführungsform kann die Leistungsfähigkeit der Ebene des linearen Speichermediums eines Speichersystems dadurch gekennzeichnet sein, dass eine Lese-Zugriffszeit auf einen Datenblock, der auf einer vorgegebenen Spule in dem Ablagebereich gespeichert ist, weniger als 10 Sekunden beträgt. Die Leistungsfähigkeit der Ebene eines linearen Speichermediums kann insbesondere dadurch gekennzeichnet sein, dass eine Lese Zugriffszeit auf einen beliebigen Datenblock, der auf einer Spule in dem Ablagebereich gespeichert ist, weniger als 30 Sekunden, vorzugsweise weniger als 20 Sekunden und im Idealfall weniger als 10 Sekunden beträgt. Durch die schnellen Lese-Zugriffszeiten und die Schreibdauern für die Ebene des linearen Speichermediums ist es gegebenenfalls möglich, dass sie in Kombination mit einer leistungsfähigerer Ebene, z. B. der zweiten Ebene funktionieren. Deswegen können ein oder mehrere Speichermodule 128 des linearen Speichermediums wenigstens zwei Laufwerke, beispielsweise Laufwerke mit linearen Speichermedien enthalten. Gemäß einem Ansatz kann wenigstens eines der Laufwerke für lineare Speichermedien sowohl zum Lesen als auch zum Beschreiben der linearen Speichermedien eingerichtet sein. Daher kann eine Lese- und/oder Schreibanforderung nicht auf der Grundlage dessen beschränkt sein, welche Laufwerke zu einem vorgegebenen Zeitpunkt verwendet werden, und mehrere Operationen können unabhängig davon, ob es sich um Lese- oder Schreiboperationen handelt, zur selben Zeit verarbeitet werden. Bei einem veranschaulichenden Beispiel können Leseoperationen an Laufwerke gerichtet sein, die noch keine Operationen ausführen. Dadurch ist es möglich, dass Lesen und Schreiben gleichzeitig erfolgen, wodurch eine Unterbrechung des Schreibvorgangs vermieden wird, während außerdem verhindert wird, dass der Lesevorgang verzögert wird, bis das Schreiben abgeschlossen wurde, oder umgekehrt. Wenn beispielsweise ein Laufwerk für eine Schreib- oder Leseoperationsanforderung verwendet wird, kann es anschließend bei Bedarf für eine Schreib- oder Leseoperationsanforderung verwendet werden.
  • Zwar können physische Laufwerke in der Lage sein, lineare Speichermedien zu lesen und zu beschreiben, für ein bestimmtes Laufwerk oder für Laufwerke kann es jedoch wünschenswert sein, lediglich eine dieser Operationen (d. h. Lesen oder Schreiben) über eine längere Zeitdauer auszuführen. Es kann außerdem einen Kostenvorteil darstellen, dass separate Laufwerke für lineare Speichermedien infolge des geringeren Umfangs an Elektronik, Köpfen usw. vorhanden sind. Da darüber hinaus das sequenzielle Schreibverfahren eine höhere effektive Leistungsfähigkeit bei Direkt-Schreibvorgängen bereitstellt, können Systemkosten durch Kombinieren einer Anzahl von Schreiblaufwerken mit einer größeren Anzahl von Nur-Lese-Laufwerken gesenkt werden. Es kann somit wenigstens für eine Teilmenge, Mehrzahl, sämtliche usw. Laufwerke in einer Ebene für lineare Speichermedien vorzuziehen sein, dass sie ausschließlich zum Schreiben oder Lesen optimiert sind.
  • Wie hier erläutert ermöglicht das Erreichen von Zugriffszeiten von weniger als etwa 10 Sekunden und vorzugsweise in der Größenordnung von etwa 1 Sekunde die Verwendung einer Warteschlangenverarbeitung. Die Reaktionszeit für Warteschlangen-E/A kann außerdem durch überlappende Operationen verbessert werden, wodurch die Leistungsfähigkeit d. h. ein Erhöhen des Durchsatzes, weiter verbessert wird. Somit kann eine Mehrzahl von mobilen Robotern in einem System verwendet werden, beispielsweise in der Ebene für lineare Speichermedien, bei der die Mehrzahl von Robotern in überlappenden Operationen genutzt werden können, um den Datendurchsatz des Systems zu verbessern.
  • Weiterhin in 1 können Schreibdaten, die Schreibanforderungen entsprechen, in dem Schreib-Puffer/Cache-Speicher 114 der zweiten Ebene akkumuliert werden, bevor sie zu der Ebene des linearen Speichermediums verlagert (z. B. geschrieben) werden; somit kann der Schreib-Puffer/Cache-Speicher 114 als Warteschlange dienen. Bei einem bevorzugten Ansatz kann der Schreib-Puffer/Cache-Speicher 114 die Schreibdaten als Protokoll-Schreibvorgänge formatieren, bevor die Schreibdaten zu dem Datenträgermedia-Manager 118 gesendet werden, der daran angeschlossen ist wie in 1 gezeigt. Protokoll-Schreibvorgänge ermöglichen vorzugsweise, dass Daten sequenziell auf lineare Speichermedien geschrieben werden unabhängig von der Form der Daten, in der sie durch die Schreibanforderung empfangen werden. Somit können Daten, die mehrere Schreibanforderungen betreffen, die in der zweiten Ebene akkumuliert wurden, ein Protokoll-Format realisieren und sequenziell geschrieben werden.
  • Gemäß einem veranschaulichenden Beispiel, das die Erfindung keinesfalls beschränken soll, können Schreibanforderungen A2, D2 und F2 empfangen und durch den Cachespeicher-Manager 108 in den Schreib-Puffer/Cache-Speicher 114 gruppiert werden, bevor sie auf die Ebene des linearen Speichermediums geschrieben werden. Bei den Daten, die die Schreibanforderungen A2, D2 und F2 betreffen, kann es sich um Fortsetzungen der Daten von zuvor ausgeführten Schreibanforderungen A1, D1 bzw. F1 handeln, die möglicherweise bereits auf separate Positionen in der Ebene des linearen Speichermediums, z. B. auf unterschiedliche Abschnitte von verschiedenen Bandspulen, geschrieben wurden. Anstelle des Ausführens der Schreibanforderungen A2, D2 und F2 erst nachdem die Daten von allen Schreibanforderungen A1, D1 und F1 einzeln abgerufen wurden, ermöglichen Protokoll-Schreibvorgänge, dass die Daten, die Schreibanforderungen A2, D2 und F2 betreffen, sequenziell auf den am günstigsten zugänglichen Abschnitt des linearen Speichermediums auf der Ebene des linearen Speichermediums oder auf jede andere gewünschte Position auf der Ebene des linearen Speichermediums geschrieben werden. Die Positionen der Daten, die die Schreibanforderungen A2, D2 und F2 auf dem linienförmigen Speicherdatenträger betreffen, können in den Zuordnungstabellen 112 gespeichert werden.
  • Bei einem System, das wie in 2A dargestellt mobile Roboter zum Aufnehmen und Absetzen der linearen Speichermedien nutzt und mehr als einen Roboter aufweist, um ein Laufwerk bei überlappenden Operationen zu bedienen, kann der Lese-Durchsatz verbessert werden. Das ist möglich, da ein erster Roboter ein erstes Band von dem Laufwerk an die Ablageposition zurückgeben kann, während ein zweiter Roboter ein zweites Band von seiner Ablageposition an das Laufwerk liefert. Wie oben in den 2A bis 3 beschrieben kann ein System wenigstens einen, wenigstens zwei, mehrere usw. mobile Roboter zum Transportieren der linearen Speichermedienzwischen dem Ablagebereich und dem wenigstens einen Laufwerk für lineare Speichermedien enthalten. Die mobilen Roboter können vorzugsweise die linearen Speichermedien transportieren, indem wenigstens eine Bandspule abgerufen wird und sie zu einer gewünschten Position, z. B. eine Aufwickelstation, ein Laufwerk, der Ablagebereich usw. verlagert wird. Gemäß verschiedenen Ansätzen können die mobilen Roboter in Abhängigkeit von der gewünschten Ausführungsform jeden mobilen Roboter enthalten, der an dieser Stelle beschrieben und/oder vorgeschlagen wird, ohne darauf beschränkt zu sein.
  • Andere Operationen können sich ebenfalls überlagern. Z. B. in 2A kann wenigstens eine Aufwickelstation 230 vorhanden sein, um an den Bandspulen 202 Operationen zur Grobpositionierung auszuführen, bevor die Spulen an dem Bandlaufwerk 204 für Lese- und/oder Schreiboperationen und nachfolgende Rückspuloperationen angebracht werden. Bei einem bevorzugten Ansatz kann zu Operationen zur Grobpositionierung ein Lokalisieren von bestimmten Abschnitten des auf eine vorgegebene Bandspule gespeicherten Bands in einer möglichst geringen Zeitdauer gehören. Darüber hinaus können die Operationen zur Grobpositionierung durchgeführt werden, während andere Spulen gelesen und/oder beschrieben werden, wodurch sich Operationen überlagern. Bei einem Beispiel, das die Erfindung keinesfalls beschränken soll, kann eine Bandspule einen bestimmten Datensatz aufweisen, der darauf an einer bestimmten Position zwischen Enden des Bandmediums bei einer bestimmten Windung geschrieben wurde. Um die Bandspule auf ein Beschreiben vorzubereiten, kann die Operation zur Grobpositionierung das Band schnell spulen, bis die Position erreicht wird, die sich vermutlich geringfügig vor dem Ende der geschriebenen Daten befindet. Wenn die Aufwickelstation einen Kopf aufweist, kann die Aufwickelstation dann mit geringerer Geschwindigkeit fortfahren, bis das Ende der geschriebenen Daten lokalisiert wird. Wenn die Aufwickelstation keinen Kopf aufweist, kann das Mediumlaufwerk, das die Bandspule anschließend aufnimmt, das Ende der auf dem Band befindlichen Daten wegen der Vorpositionierung schnell finden. Somit kann die Operation zur Grobpositionierung das Ende geschriebener Daten schneller lokalisieren als es bei direkter Verwendung der Laufwerke möglich ist, ohne dass das Ende der geschriebenen Daten verpasst wird, wodurch eine unnötige Zeitverzögerung beim Lokalisieren des Endes der geschriebenen Daten verhindert wird.
  • Bei einem weiteren Beispiel, das die Erfindung keinesfalls beschränken soll, können Operationen zur Grobpositionierung verwendet werden, um die Gesamtdauer vom Empfangen einer Leseanforderung bis zum Zurückgeben der Daten an den Hast von einer Bandspule zu verringern. Die Operationen zur Grobpositionierung können die zugeordnete Position von Daten, die auf die Spulen geschrieben wurden, die in einer Zuordnung eines Zuordnungsmoduls gespeichert sein kann. Das kann vorzugsweise die Dauer eines Lesezugriffs auf einen Datenblock vermindern, der auf einer vorgegebenen Spule gespeichert ist (wird später genauer erläutert). Somit können Operationen zur Grobpositionierung der wenigstens einen Aufwickelstation mit Lokalisierungsoperationen bei Lesevorgängen und Roboterbewegungen überlappen, was eine weitere Verbesserung der Nutzung des Systems zur Folge haben kann.
  • Zum Verfolgen, wo Daten gespeichert sind, insbesondere in Bezug auf entsprechende Daten, ist eine bestimmte Art von Zuordnungsschema erwünscht. Ein derartiges Zuordnungsschema kann vorzugsweise in der Lage sein, die physische Position der aktuellen Version jedes logischen Blocks zu kennzeichnen, dessen Informationen hier auch als Metadaten bezeichnet werden.
  • Bei weiterer Bezugnahme auf 1 sind Zuordnungstabellen 112 außerdem in dem Speichersystem 150 enthalten. Die Zuordnungstabellen 112 verfolgen, wo die Daten und/oder die Metadaten in dem Speichersystem 150 gespeichert sind, vorzugsweise derart, dass alle Daten, nachdem sie geschrieben wurden, lokalisiert werden können und auf sie zugegriffen werden kann. Bei einem Ansatz wird dadurch ermöglicht, dass das Speichersystem 150 jede der möglichen mehreren Positionen verfolgen kann, an denen ein bestimmter Datensatz in den Speichermodulen 128 des linearen Speichermediums gespeichert ist. Darüber hinaus kann auf die Zuordnungstabellen 112 zugegriffen werden, und/oder sie können aktualisiert werden, nachdem eine Schreibanforderung ausgeführt wurde, bevor eine Leseanforderung verarbeitet wird, in Zeitintervallen, auf Anforderung (z. B. von einem Benutzer) usw. in Abhängigkeit von der gewünschten Ausführungsform.
  • Ein Zuordnungsmodul kann vorhanden sein, um vorzugsweise in der zweiten Ebene ein Zuordnen von Daten in den linearen Speichermedien vorzuhalten, z. B. eine Zuordnungstabelle, Datenbank bzw. Die Zuordnungstabellen 112 werden vorzugsweise in der zweiten Speicherebene gespeichert oder zwischengespeichert, die leistungsfähiger (z. B. schneller) ist als die Ebene für lineare Speichermedien. Es kann vorteilhaft sein, eine Kopie der Daten und/oder der Metadaten in der zweiten Speicherebene zu behalten, so dass E/A-Operationen ausgeführt werden können, ohne dass Metadaten von dem langsameren Datenträger gelesen werden müssen.
  • Somit kann die Position eines Datenelement ermittelt werden, ohne dass auf die langsamere Speicherebene für lineare Speichermedienzugegriffen werden muss, wodurch die Verarbeitungsgeschwindigkeit, die Geschwindigkeit der Datenlokalisierung, die Geschwindigkeit der Datensuche usw. verbessert werden. Gemäß anderen Ausführungsformen können jedoch Zuordnungstabellen in dem linearen Speichermedium, einer dritten Speicherebene mit einem beliebigen Grad der Leistungsfähigkeit oder sowohl in der zweiten Speicherebene als auch in der Ebene für lineare Speichermedien, über die zweite Speicherebene und die Ebene für lineare Speichermedien hinweg usw. gespeichert werden.
  • Bei weiteren Ausführungsformen kann das Speichersystem eine beliebige Anzahl von Datenspeicherebenen enthalten und kann in jeder Speicherebene die gleichen oder unterschiedlichen Speichermedien enthalten. Jede Datenspeicherebene kann beispielsweise den gleichen Typ von Speichermedien wie z. B. HDDs, SSDs, Datenträger mit sequenziellem Zugriff (Band in Bandlaufwerken, optische Platten in Laufwerken für optische Platten usw.), Datenträger mit direktem Zugriff (CD-ROM, DVD-ROM usw.) oder jede Kombination von Speichermedientypen enthalten. Bei einem derartigen Ansatz kann die zweite Datenträgerebene eine Mehrheit von SSD-Speicherdatenträgern zum Speichern von Daten in einer leistungsfähigeren Speicherumgebung enthalten, und die restlichen Speicherebenen, darunter Ebenen für lineare Speichermedien, und/oder alle zusätzlichen Speicherebenen können jede Kombination aus SSDs, HDDs, Bandlaufwerken usw. zum Speichern von Daten in einer leistungsschwächeren Speicherumgebung enthalten. Deswegen können Daten, auf die häufiger zugegriffen wird, Daten mit höherer Priorität, Daten, auf die schneller zugegriffen werden muss, usw. in der zweiten Datenebene gespeichert werden, während Daten, die ein oder mehrere dieser Attribute nicht aufweisen, in jeder der zusätzlichen Speicherebenen gespeichert werden, darunter eine Ebene für lineare Speichermedien. Natürlich kann sich ein Fachmann beim Lesen der vorliegenden Beschreibungen viele andere Kombinationen von Typen der Speichermedien vorstellen, um die unterschiedlichen Speicherschemen gemäß den hier präsentierten Ausführungsformen umzusetzen.
  • Als weitere Hilfe bei der Wiederherstellung nach einem Systemausfall kann es vorteilhaft sein, die Zuordnungsinformationen der Zuordnungstabellen 112 zu den linearen Speichermedien oder ebenso zu bestimmten anderen Speichern zu überprüfen. Gemäß unterschiedlichen Ansätzen können die Zuordnungsinformationen in den Zuordnungstabellen 112, einem virtuellen Plattenmanager, einem Speichermodul, einem Datenträgermedia-Manager usw. gespeichert werden. Ein Manager 120 für virtuelle Platten kann ermöglichen, dass das System eine logische Ansicht des Systems als eine Mehrzahl von virtuellen Platten oder VDISKS präsentiert, was außerdem die Fähigkeit der schlanken Speicherzuweisung ermöglicht (siehe 120 von 1).
  • Gemäß unterschiedlichen Ansätzen können die Zuordnungstabellen 112 Verweistabellen wie z. B. Block-Zuordnungstabellen, Grafiken, Streudiagramme, Wahrscheinlichkeitsfunktionen usw. oder jedes andere Speicherverfahren und/oder System enthalten, das einem Fachmann beim Lesen der vorliegenden Beschreibung erkennbar ist. Bei einem veranschaulichenden Ansatz kann der Cachespeicher-Manager 108 die Informationen bezüglich der Position verwalten, an der die Daten in den Speichermodulen 128 für lineare Speichermedien tatsächlich gespeichert werden.
  • Bei einem Ansatz können geschriebene Daten an einer eindeutigen Position in dem Speichersystem 128, z. B. an einer eindeutigen Position in den Speichermodulen 128 für lineare Speichermedien, gespeichert werden. Somit können die Zuordnungstabellen 112 verwendet werden, um die physische Position der Daten zu verfolgen, wenn die Daten an einer eindeutigen Position gespeichert werden. Darüber hinaus können die Zuordnungstabellen 112 die Daten verfolgen, wenn sie an mehreren Positionen und/oder in mehrere Segmente partitioniert gespeichert werden.
  • Bei einem bevorzugten Ansatz können Abschnitte der Daten an mehr als einer Position in dem Speichersystem 150, genauer an mehr als einer Position in den Speichermodulen 128 für lineare Speichermedien, gespeichert werden. Wenn ein Abschnitt der Daten, die in den Speichermodulen 128 für lineare Speichermedien gespeichert sind, beschädigt wird, verloren geht, gestohlen wird, unlesbar wird usw. kann deswegen dieser Datenabschnitt über Fehlerkorrekturdaten, die an den anderen Positionen in den Speichermodulen 128 für lineare Speichermedien gespeichert sind, aus den anderen Datenabschnitten wiederhergestellt werden. Darüber hinaus können Daten als Segmente gespeichert werden, von denen jedes an unterschiedlichen Positionen in den Speichermodulen 128 für lineare Speichermedien gespeichert werden kann. Bei einem bevorzugten Ansatz kann eine Schreibanforderung für die Speichermodule 128 für lineare Speichermedien in mehrere kleinere Segmente aufgeteilt werden, von denen jedes einen kleinen Abschnitt der Daten repräsentiert, die die Schreibanforderung bilden. Gemäß verschiedenen Ansätzen kann ein Segment Daten enthalten, die eine vollständige Schreibanforderung, den Großteil einer Schreibanforderung, eine halbe Schreibanforderung, ein Bruchstück einer Schreibanforderung usw. repräsentieren. Des Weiteren kann jedes dieser mehreren kleineren Segmente an unterschiedlichen Positionen in den Speichermodulen 128 für lineare Speichermedien gespeichert werden. Wenn ein Teil der in den Speichermodulen 128 für lineare Speichermedien gespeicherten Daten, die eine Schreibanforderung betreffen, beschädigt ist, verloren geht, gestohlen wird, unlesbar wird usw., können daher die restlichen kleineren Datensegmente von den entsprechenden Positionen in den Speichermodulen 128 für lineare Speichermedien abgerufen werden.
  • Wenn gemäß einer beispielhaften Ausführungsform, die die Erfindung keinesfalls einschränken soll, eine ganze Bandspule in den Speichermodulen 128 für lineare Speichermedien beschädigt ist, so dass die darauf befindlichen Daten unlesbar sind, kann auf die verlorenen Daten von anderen Position zugegriffen werden, wenn sie redundant gespeichert wurden, und/oder aus ihren anderen Segmenten in den Speichermodulen 128 für lineare Speichermedien neu erzeugt werden. Gemäß einem weiteren Ansatz können in Abhängigkeit von der gewünschten Ausführungsform Daten an mehreren Positionen gespeichert werden und/oder in dem Speichersystem 150, vorzugsweise in den Speichermodulen 128 für lineare Speichermedien in mehrere Segmente partitioniert werden.
  • Weiterhin in 1 sind die Zuordnungstabellen 112 mit dem VDISK-Manager 120 verbunden. VDISKs helfen beim Partitionieren der in dem Speichersystem 150 gespeicherten Daten durch Verwenden von schlanker Speicherzuweisung oder jedes anderen Ansatzes, der einem Fachmann beim Lesen der vorliegenden Beschreibung deutlich wird. Wie in 1 gezeigt ist der DISK-Manager 120 darüber hinaus mit dem Management-Modul 122 und der Management-Schnittstelle 104 verbunden. Daher kann der VDISK-Manager 120 Anforderungen von dem Management-Modul 122 und/oder der Management-Schnittstelle 104 empfangen und verarbeiten und kann zu der Verwaltung der Schreibdaten beitragen.
  • Bei dem Schreib-Puffer/Cache-Speicher 114 von 1 können die Schreibdaten (z. B. Protokoll-Schreibvorgänge) zu dem Datenträgermedia-Manager 118 gesendet werden, der wie in 1 gezeigt mit diesem verbunden ist. Der Datenträgermedia-Manager 118 kann zum Zuweisen linearer Speichermedien und zum Übertragen von Daten zu und von den linearen Speichermedien verwendet werden. Zu diesem Zweck kann der Datenträgermedia-Manager 118 vorzugsweise mit dem Back-End-Treiber 124 und der Media-Freigabeeinrichtung 126 Daten austauschen. Die Media-Freigabeeinrichtung 126 verwaltet vorzugsweise, welche Abschnitte des linearen Speichermediums in den Speichermodulen 128 für lineare Speichermedien leer sind, in welche Abschnitte Daten geschrieben wurden, welche Abschnitte geeignet sind, um darauf gespeicherte Daten zu löschen, usw. Deshalb kann die Datenträger-Freigabeeinrichtung 126 den Datenträgermedia-Manager 118 informieren, welche Abschnitte der linearen Speichermedien in den Speichermodulen 128 für lineare Speichermedien erfolgreich beschrieben werden können, ohne die Daten zu beeinträchtigen, die in den Speichermodulen 128 für lineare Speichermedien gehalten werden sollen. Gemäß einem Ansatz kann die Media-Freigabeeinrichtung 126 von dem Datenträgermedia-Manager 118 aufgerufen werden, um eine Bandspule teilweise, vollständig usw. zu leeren und/oder zum Überschreiben zur Verfügung zu stellen. Das kann realisiert werden, indem ein Überschreiben der auf dem Band befindlichen Daten, ein Ersetzen des Bands auf der Rolle durch ein neues unbeschriebenes Band, ein Ersetzen von Band und Spule durch eine neue Spule mit einem neuen Band usw. ermöglicht wird.
  • Der Back-End-Treiber 124 kann darüber hinaus einen Datenaustausch zwischen dem Datenträgermedia-Manager 118 und den Speichermodulen 128 mit linearen Speichermedien für ein Verwalten und/oder ein Steuern der linearen Speichermedien für Speichermodule 128 mit linearen Speichermedien ermöglichen. Somit kann der Back-End-Treiber 124 vorzugsweise ein Schreiben von Daten auf die linearen Speichermedien der Speichermodule 128 mit linearen Speichermedien wie oben beschrieben unterstützen.
  • Die Zuordnungstabellen 112, der VDISK-Manager 120, der Datenträgermedia-Manager 118, die Media-Freigabeeinrichtung 126 und/oder der Back-End-Treiber 124 oder alle anderen Elemente in dem Speichersystem 150 können außerdem verwendet werden, wenn auf geschriebene Daten zugegriffen wird, um eine Leseanforderung zu erfüllen. Wie oben erwähnt kann es sich bei einer Anforderung, die von einem Host, einem Benutzer, einem Administrator, einer Datenverarbeitungseinheit usw. empfangen wird, um eine Leseanforderung handeln. Bei einem Beispiel kann eine Leseanforderung ein Abrufen von geschriebenen Daten anregen, die in dem Speichersystem 150 gespeichert wurden.
  • Gemäß verschiedenen Ansätzen können die geschriebenen Daten Daten enthalten, die in dem Speichersystem 150 gemäß einem Ansatz gespeichert sind, der an dieser Stelle in Bezug auf Schreibanforderungen und/oder Schreibdaten aufgelistet ist. Somit können bei einem bevorzugten Ansatz Daten, die eine Schreibanforderung betreffen, in der Ebene linearer Speichermedien gespeichert werden, z. B. auf ein lineares Band in den Modulen 128 mit linearen Speichermedien geschrieben werden. Gemäß unterschiedlichen Ansätzen können jedoch Daten, die eine Schreibanforderung betreffen, in dem Schreib-Puffer/Cache-Speicher 114, in dem Lese-Cache-Speicher 116 usw. oder in einer beliebigen Kombination hiervon z. B. teilweise, eine Mehrheit hiervon usw. in Abhängigkeit von der gewünschten Ausführungsform gespeichert werden.
  • Der Cachespeicher-Manager 108 kann eine Leseanforderung verarbeiten, die von dem Host- oder Speicher-Netzwerk 102 empfangen wurde. Gemäß einem Beispiel, das die Erfindung keinesfalls beschränken soll, kann eine Leseanforderung, die von dem Cachespeicher-Manager 128 empfangen wurde, eine Leseanforderung unter Bezugnahme auf mittels Direktzugriff geschriebene Daten betreffen.
  • Die Leseanforderung kann vorzugsweise einen Lesevorgang auslösen wie oben beschrieben und in dem Funktionsblockschaltplan 100 dargestellt. Bei weiterer Bezugnahme auf 1 kann nach dem Empfangen einer Leseanforderung durch den Cachespeicher-Manager 108 auf die Zuordnungstabellen 112 zugegriffen werden, um die Position der geschriebenen Daten nachzuschlagen, die die Leseanforderung betreffen. Gemäß verschiedenen Ansätzen können die Zuordnungstabellen 112 jeden Ansatz beinhalten, der hier beschrieben und/oder vorgeschlagen wurde und können vorzugsweise den Cachespeicher-Manager 108 mit der Position der geschriebenen Daten versorgen, die die Leseanforderung in dem Speichersystem 150 betreffen. Darüber hinaus kann der VDISK-Manager 120 zusätzlich oder alternativ den Cachespeicher-Manager 108 mit Informationen bezüglich des Speicherorts der geschriebenen Daten versorgen.
  • Der Cachespeicher-Manager 108 tauscht vorzugsweise außerdem Daten mit dem Lese-Cache-Speicher 116 und dem Datenträgermedia-Manager 118 aus. Bei einem Ansatz kann der Cachespeicher-Manager 108 Daten festlegen, die gemeinsam für übliche Leseanforderungen kombiniert werden, wodurch er wie eine Warteschlange wirkt. Somit kann der Cachespeicher-Manager 108 vorzugsweise zulassen, dass die Lesedaten, die verschiedenen Leseanforderungen zugehörig sind, in der zweiten Ebene, z. B. der Lese-Cache-Speicher 116, akkumuliert werden, bevor auf die Ebene für lineare Speichermedien zugegriffen wird. Wie oben erläutert kann dadurch die Suchdauer verringert werden, die Leistungsfähigkeit des Systems verbessert werden, usw., was erwünscht wäre. Leseanforderungen können jedoch individuell ausgeführt werden, z. B. infolge einer erteilten Leseanforderung mit einer großen Leseanforderungsgröße, einer hohen Priorität, einem Überschreiben des Benutzers, usw. Gemäß einem weiteren veranschaulichenden Ansatz können der Lese-Cache-Speicher 116 und/oder der Cachespeicher-Manager 108 Leseanforderungen individuell verarbeiten, wenn in einer bestimmten Zeitbegrenzung keine weiteren Leseanforderungen empfangen werden, wodurch Verluste auf ein Mindestmaß zurückgehen.
  • In Abhängigkeit von der Situation kann der Datenträgermedia-Manager 118 eine Leseanforderung von dem Lese-Cache-Speicher 116 oder von dem Cachespeicher-Manager 108 direkt empfangen. Nach dem Empfangen einer Leseanforderung tauscht der Datenträgermedia-Manager 118 Daten mit dem Back-End-Treiber 124 bezüglich der Position geschriebener Daten in den Speichermodulen 128 mit linearen Speichermedien aus. Der Back-End-Treiber 124 ermöglicht vorzugsweise ein Lokalisieren und Abrufen der angeforderten Daten in den Speichermodulen 128 mit linearen Speichermedien, die die eine oder die mehreren Leseanforderungen betreffen. Nachdem sie lokalisiert und an den Back-End-Treiber 124 und den Datenträgermedia-Manager 118 zurückgegeben wurden, können die Daten an den Cachespeicher-Manager 108 gesendet werden.
  • Beim Empfangen der geschriebenen Daten kann der Cachespeicher-Manager 108 die Daten vorzugsweise unter Verwendung der oben beschriebenen RAID-Funktion codieren und/oder decodieren, bevor sie an das Host- oder Speicher-Netzwerk ausgegeben werden. Bei verschiedenen Ansätzen können die Daten in jeder Form ausgegeben werden, die hier aufgelistet ist, darunter sequenzielle Daten, wahlfreie Daten usw., ohne darauf beschränkt zu sein. Darüber hinaus können die Daten ausgegeben werden, ohne dass sie teilweise oder vollständig codiert und/oder decodiert sind.
  • Während des gesamten Lese- und/oder Schreibvorgangs können die Zuordnungstabellen, VDISKs, das Management-Modul, Lese-Cache-Speicher, Media-Freigabeeinrichtung usw. beispielsweise für zukünftige Anforderungen aktualisiert werden.
  • Es kann darüber hinaus für die Speichermodule 128 mit linearen Speichermedien nützlich sein, wenn eine feste Gruppe von Medien vorhanden ist, ohne dass eine direkte Benutzerersetzung vorgesehen ist. Daher kann das System eine endliche Gruppe von Medien und/oder Laufwerken aufweisen. Das System kann dadurch sicherstellen, dass sämtliche Medien in dem System durch im System vorhandene Laufwerke beschrieben werden. Das ermöglicht dem System, Kalibrierungs- oder andere Kennzeichnungsdaten für jedes Band und jedes Laufwerk zu speichern, was dazu beitragen kann, die Flächendichte zu erhöhen und zu ermöglichen, dass das Laufwerk eine ordnungsgemäße Verfolgung und Kanalinitialisierung schneller erfasst. Es kann des Weiteren die Notwendigkeit für eine generationsbasierte Kompatibilität bei Datenträgern und Köpfen beseitigen, was für die Flächendichte günstig ist. Neue Datenträger und Laufwerke könnten trotzdem in das System eingeführt werden, beispielsweise während der Wartung. Dabei handelt es sich jedoch um seltene Ereignisse, daher kann des Kennzeichnen bei Bedarf ausgeführt werden. Ein derartiges System kann auf die bei Bandsystemen übliche generationsbasierte Kompatibilität verzichten, die möglicherweise die erreichbare Flächendichte begrenzt.
  • 2A zeigt eine genaue Ansicht des Speichermoduls 128 mit linearen Speichermedien gemäß einer Ausführungsform. Als Option kann das vorliegende Speichermodul 128 mit linearen Speichermedien in Verbindung mit Merkmalen von jeder anderen hier aufgelisteten Ausführungsform umgesetzt werden wie beispielsweise jene, die unter Bezugnahme auf die anderen FIGUREN beschrieben sind. Natürlich können ein derartiges Speichermodul 128 mit linearen Speichermedien und andere, die hier dargestellt sind, jedoch bei verschiedenen Anwendungen und/oder bei Umsetzungen verwendet werden, die möglicherweise in den hier aufgelisteten veranschaulichenden Ausführungsformen speziell beschrieben sind. Darüber hinaus kann das hier dargestellte Speichermodul 128 mit linearen Speichermedien bei jeder gewünschten Ausführungsform verwendet werden. Des Weiteren ist das Speichermodul 128 mit linearen Speichermedien keinesfalls auf jenes beschränkt, das in 2A dargestellt ist, und es kann in Abhängigkeit von verschiedenen Ausführungsformen alle Teile und/oder die Ausrichtung von Teilen enthalten, die wünschenswert wären.
  • Wie durch die teilweise Draufsicht von 2A und die teilweise Seitenansicht von 3 gezeigt kann ein Speichermodul 128 mit linearen Speichermedienwie beispielsweise ein Bandarchiv einen oder mehrere mobile Roboter 210 zum Transportieren von wenigstens einer Bandspule 202, die möglicherweise Teil einer Bandkassette ist, zu und von Bandlaufwerken 204 enthalten, um Daten von dem Band zu lesen.
  • 2B veranschaulicht eine vereinfachte Ansicht des Bandlaufwerks 204 eines bandgestützten Datenspeichersystems, das im Kontext der vorliegenden Erfindung verwendet werden kann. Zwar ist in 2B eine spezielle Umsetzung eines Bandlaufwerks gezeigt, es sollte jedoch angemerkt werden, dass die hier beschriebenen Ausführungsformen im Kontext einer Vielfalt von Bandlaufwerksystemen umgesetzt werden können.
  • Wie gezeigt sind eine Bandzufuhrspule 220 und eine Aufnahmespule 221 vorgesehen, um ein Band 222 zu lagern. Eine oder mehrere Spulen können Teil einer Wechselkassette sein und sind nicht notwendigerweise Teil des Bandlaufwerks 204. Das Bandlaufwerk wie beispielsweise das in 2B dargestellte kann des Weiteren einen (oder mehrere) Antriebsmotor aufweisen, um die Bandzufuhrspule 220 und die Aufnahmespule 221 anzutreiben, um das Band 222 über einen Bandkopf 226 eines beliebigen Typs zu bewegen. Ein derartiger Kopf kann eine Anordnung aus Leseeinrichtungen, Schreibeinrichtungen oder aus beiden enthalten.
  • Führungen 225 führen das Band 222 über den Bandkopf 226. Ein derartiger Bandkopf 226 ist seinerseits über ein Kabel 231 mit einer Steuereinrichtung 228 verbunden. Die Steuereinheit 228 steuert üblicherweise Kopffunktionen wie beispielsweise Servonachlauf, Schreiben, Lesen usw. Die Steuereinheit kann gemäß jeder in der Technik bekannten Logikschaltung sowie der hier offenbarten Logikschaltung betrieben werden. Das Kabel 231 kann Lese/Schreibschaltungen enthalten, um Daten zum Kopf 226 zu übertragen, damit sie auf dem Band 222 aufgezeichnet werden, und um Daten zu erhalten, die durch den Kopf 226 vom Band 222 gelesen werden. Ein Stellglied 232 steuert die Position des Kopfes 226 relativ zu dem Band 222.
  • Eine Schnittstelle 234 kann außerdem für einen Datenaustausch zwischen dem Bandlaufwerk und einem (internen oder externen) Host vorgesehen sein zum Senden und Empfangen der Daten und zum Steuern der Funktion des Bandlaufwerks und Übertragen des Zustands des Bandlaufwerks zu dem Host, wie es einem Fachmann klar ist.
  • Auf das Band auf der ausgewählten Bandspule oder dem Bandspulenpaar kann mittels der mobilen Roboter 210 zugegriffen werden, bei denen es sich um ferngesteuerte Miniatur-Transportmittel handeln kann, die sich über einen Kontakt an einer Oberfläche bewegen (wie beispielsweise eine obere Oberfläche 302, für die austauschbar die Bezeichnung „Deckenfläche” verwendet wird wie in 3 gezeigt). Daher können die Bandspulen an einer unteren Oberfläche liegen wie beispielsweise eine „Bodenfläche”, während ein mobiler Roboter an der oberen Oberfläche über einen Kontakt mit der Oberfläche manövriert wird, beispielsweise durch ein Nutzen von Antriebsrädern und einer magnetischen Anziehung zwischen dem Roboter und der oberen Oberfläche oder Teilen der oberen Oberfläche (siehe 3). Bei einem Ansatz kann das Bandarchiv mehr als eine Ebene aufweisen. Auf jeder Ebene können Bandspulen an einer unteren Oberfläche (für die austauschbar der Ausdruck „Bodenfläche” verwendet wird) in einem dichten Muster angeordnet sein. Diese Anordnung ist in der teilweisen Draufsicht von 2A gemäß einer Ausführungsform gezeigt.
  • Ein zusammenhängendes Band kann auf einer einzelnen Spule aufbewahrt werden oder kann einen Stift oder ein anderes Endstück enthalten, das ein Einfädeln des Bands in das Bandlaufwerk ermöglicht. Bei anderen Ansätzen kann das Band mit einem Spulenpaar beispielsweise in einer Bandkassette verbunden sein.
  • Gemäß einer Ausführungsform kann ein Magnetband in Miniatur-Bandspulen 202 enthalten sein, die lediglich einen Bruchteil der Bandlänge einer Standard-Bandkassette aufweisen, wodurch sich die Suchdauer vermindert. Eine derartige geringere Länge kann beispielsweise weniger als etwa ein Fünftel der Bandlänge einer Standard-Linear-Tape-Open-(LTO-)Bandkassette, weniger als etwa ein Fünfundzwanzigstel der Bandlänge einer Standard-Bandkassette, weniger als etwa ein Fünfzigstel der Bandlänge einer Standard-Bandkassette usw. betragen. Bei bestimmten Ansätzen kann die Länge des Bands auf der Mehrzahl von Bandspulen 202 weniger als etwa 50 Meter für jede Bandspule 202 betragen und kann vorzugsweise weniger als etwa 25 Meter betragen, wobei ein Wert von vorzugsweise 20 Meter und weniger stärker bevorzugt ist usw.
  • Die Suchdauer von bandgestützten Systemen bei Verwendung derartiger Bandspulen kann außerdem oder alternativ vermindert werden, indem die Lokalisierungsgeschwindigkeit beispielsweise auf etwa 20 Meter pro Sekunde (m/s) oder mehr vergrößert wird. „Lokalisierungsdauer” bezeichnet die Zeit, die erforderlich ist, um das Band zum Anfang eines Datensatzes (oder Datei) zu wickeln, nachdem das Band in das Bandlaufwerk geladen wurde. Wenn die Bandlänge auf etwa 20 m oder weniger verringert ist und die Lokalisierungsgeschwindigkeit etwa 20 m/s beträgt, beträgt die durchschnittliche Lokalisierungsdauer (20 m/20 m(s)/2 = 0,5 s. Außer dem Verringern der Suchdauer in dem Laufwerk kann die System-Suchdauer vermindert werden, indem das Bandarchiv strukturiert wird, um eine mittlere Ladedauer von etwa 0,5 s zu erreichen. „Ladedauer” bezeichnet die Zeit zwischen dem ersten Zeitpunkt, an dem eine Anforderung das Bandarchiv erreicht, und einem zweiten Zeitpunkt, an dem die relevante(n) Bandspule(n) in das Bandlaufwerk geladen wird bzw. werden.
  • Gemäß einer Ausführungsform ist das Bandsystem so eingerichtet, dass die durchschnittliche Suchdauer weniger als etwa 2 Sekunden, vorzugsweise etwa 1 Sekunde oder weniger beträgt. Bei der Suchdauer handelt es sich um die Verzögerung zwischen einem ersten Zeitpunkt, an dem eine Anforderung zum Zugreifen auf Daten von dem Bandarchiv empfangen wird, und einem zweiten Zeitpunkt, an dem das Bandarchiv beginnt, die Daten an den Anforderer bereitzustellen.
  • Bei weiterer Bezugnahme auf 2A können die Bandspulen 202 dicht gepackt sein beispielsweise in einem hexagonalen Array, einem geordneten Array, einer kreisförmigen Anordnung usw., um die Anzahl von Bandspulen, die in einem begrenzten Raum gespeichert werden können, auf einen Maximalwert zu bringen.
  • Gemäß einer Ausführungsform kann ein Durchmesser von jeder aus der Mehrzahl von Bandspulen 202 weniger als etwa 100 mm, beispielsweise weniger als etwa 50 mm, weniger als etwa 40 mm, weniger als etwa 30 mm betragen.
  • Bei einigen Ansätzen steht ein einzelnes Bandlaufwerk 204 zum Lesen und/oder Beschreiben eines Bands auf den Bandspulen 202 zur Verfügung. In Abhängigkeit von der Häufigkeit, mit der Dateien gelesen werden, kann eine Mehrzahl von Bandlaufwerken 204 zum Lesen und/oder Beschreiben eines Bands auf den Bandspulen 202 zur Verfügung stehen wie in 2A durch das äußerst linke Bandlaufwerk 204 gezeigt, das ein Band liest. Die Bandlaufwerke 204 können auf der Oberfläche in jeder Anordnung angeordnet sein wie einem Fachmann bekannt, vorzugsweise derart, dass ein schneller Zugriff auf die Bandlaufwerke 204 möglich ist, um die Lade- und Datenzugriffsdauern zu verringern.
  • Bei einem Ansatz kann das Speichermodul 128 mit linearen Speichermedien so eingerichtet sein, dass es dem mobilen Roboter 210 ermöglicht, jede einzelne ausgewählte Bandspule 202 zu lokalisieren, abzurufen und zu dem Bandlaufwerk 204 zu transportieren und ein Lesen des Bands durch das Bandlaufwerk 204 innerhalb von fünf Sekunden nach dem Empfangen einer Anforderung zum Lesen von Daten von dem Band der ausgewählten Bandspule 202 einleitet, wobei ein Wert von weniger als etwa 2 Sekunden stärker bevorzugt ist und im Idealfall weniger als etwa 1 Sekunde beträgt. Bei einem weiteren Ansatz kann das System wenigstens eine Wickelstation 230 enthalten, um Operationen zur Groblokalisierung an den Spulen auszuführen, bevor die Spulen an dem wenigstens einem Laufwerk für lineare Speichermedien angebracht werden. Bei einem bevorzugten Ansatz können Operationen zur Groblokalisierung das Lokalisieren von gewünschten Abschnitten des an einer vorgegebenen Bandspule gespeicherten Bands in einer möglichst kurzen Zeit enthaften.
  • Bei mehreren Ausführungsformen bewegen sich mehrere, beispielsweise zwei, fünf oder mehr mobile Roboter 210, ungehindert über die Oberfläche. Bei anderen Ausführungsformen kann lediglich ein einzelner Roboter auf einer vorgegebenen Ebene vorhanden sein. Es kann für die mobilen Roboter 210 vorteilhaft sein, wenn sie nicht durch Kabel mit irgendeinem anderen Teil des Speichermoduls 128 mit linearen Speichermedien verbunden sind. Diese Struktur begünstigt eine schnelle Roboterbewegung und ermöglicht, dass sich die mobilen Roboter 210 zwischen Ebenen, Räumen, Einhausungen usw. bewegen können. Wenn mehrere mobile Roboter 210 verwendet werden, werden außerdem alle Probleme mit Kabeln, die sich von unterschiedlichen Robotern 210 verheddern, beseitigt, wenn die mobilen Roboter drahtlos gesteuert werden.
  • Die mobilen Roboter 210 können vorgegebene „Ruhe”-Positionen aufweisen wie durch mobile Roboter 210 gemäß einer Ausführungsform gezeigt. Wie in 2A gezeigt hat sich ein mobiler Roboter 211 aus einer Ruheposition bewegt, Bandspulen erfasst und bewegt sich gerade zu einem Bandlaufwerk, um die Bandspulen in das Bandlaufwerk zu laden, damit das Band von diesem gelesen wird. Außerdem hat der mobile Roboter 208 Bandspulen aus einem Bandlaufwerk abgerufen, des eine Leseoperation beendet hat, und gibt die Bandspulen gerade an ihre Aufbewahrungsposition zurück. Diese Bewegung ist natürlich lediglich beispielhaft und soll die Erfindung keinesfalls beschränken. Die mobilen Roboter 210 können wenigstens eine Bandspule abrufen, sie können jedoch in Abhängigkeit von der gewünschten Ausführungsform ihre Bandabrufoperationen überlagern.
  • Die mobilen Roboter 210 können sich in geradlinigen Schritten bewegen oder können sich auf natürlichere Weise in bogenförmigen Mustern zwischen Positionen an der Oberfläche gemäß verschiedenen Ausführungsformen bewegen. Außerdem können die mobilen Roboter 210 auf ihrem Weg befindliche Objekte meiden gemäß irgendeinem Verfahren, was für einen Fachmann beim Lesen der vorliegenden Beschreibungen klar wäre.
  • Bei einigen früheren Geometrien von Bandarchiven greift ein Archivgreifer auf eine Anordnung aus Bandspulen und/oder Bandkassetten durch die Bewegung eines ersten Trägers längs einer Schiene oder eines Paars von Schienen zu. Der erste Träger hält seinerseits eine andere Gruppe von Schienen oder Führungen, die eine Bewegung eines zweiten Trägers ermöglicht, der den Greifer hält. Das Schema ermöglicht, dass der Greifer an beliebiger Stelle, wo sich die Bandspulen oder Bandkassetten befinden, zweidimensional zugreift. Alternativ wurde bei einigen früheren Entwürfen der zweite Träger durch eine Drehbewegung ersetzt, die um die Achsen des ersten Trägers erfolgt. Dieses Schema beschränkt die Flexibilität des Archivs, da sich Greifer (oder Roboter) gegenseitig stören können. Wenn beispielsweise die Greifer dieselbe Gruppe von Schienen verwenden, können sie sich nicht aneinander vorbei bewegen. Außerdem gibt es im Allgemeinen in Bandarchiven keinen verfügbaren Raum für die Installation einer zusätzlichen Gruppe von Schienen, deswegen ist dieses Schema in seiner Funktionalität stark eingeschränkt. Außerdem ermöglichen diese früheren Entwürfe keine einfache Wiederherstellung des Zugriffs auf die Bandspulen und/oder Bandkassetten, wenn ein Greifer ausfällt.
  • Andererseits verwenden die hier genannten Systeme „unbeschränkte” Roboter, die den Zugriff auf die Bandspulen und/oder Bandkassetten ermöglichen. Dabei gibt der Ausdruck „unbeschränkt” an, dass die Bewegung nicht an Schienen, Bahnen, Führungen, Leitbahnen usw. gebunden ist, sondern dass die Bewegung in wenigstens zwei Dimensionen z. B. längs einer Oberfläche frei erfolgt. Daher können unbeschränkte mobile Roboter in einfacher Weise hinzugefügt oder von der Oberfläche entfernt werden, und sie können längs der Oberfläche umeinander herum manövrieren, da sie an keine Schiene oder Bahn gebunden sind.
  • Wie in 3 gezeigt kann es sich gemäß einer Ausführungsform bei der Oberfläche, über die sich die mobilen Roboter uneingeschränkt bewegen, um eine obere Oberfläche 302 (wie beispielsweise bei einem Ansatz um eine Deckenfläche) handeln, und diese ist möglicherweise nicht so strukturiert, dass die mobilen Roboter 210 keinen Einschränkungen unterliegen, z. B. nicht auf Bewegungen auf bestimmten Bahnen, Wegen, Schienen usw. beschränkt sind. Deswegen kann jeder mobile Roboter 210 eine Bewegung ausführen, die von der Bewegung jedes anderen mobilen Roboters 210 unabhängig ist, beispielsweise kann jeder mobile Roboter 210 den Weg kreuzen, den ein anderer mobile Roboter 210 genommen hat oder nehmen wird. Indem der mobile Roboter 210 an eine Oberfläche 302 gebunden ist, die von einer Oberfläche 304 getrennt ist, die die Bandspulen 202 unterstützt, sind die mobilen Roboter 210 in ähnlicher Weise nicht darauf beschränkt, Gassen, Wegen, Korridoren usw. zwischen Gruppen, Spalten, Zeilen usw. von Bandspulen 202 zu folgen. Bei einem Beispiel kann diese Bewegung analog zu der Bewegung eines Einkaufswagens durch einen Supermarkt erfolgen. Jedoch anstelle der Beschränkung auf eine Bewegung zwischen den Regalen des Supermarkts können sich die mobilen Roboter 210 unbeschränkt längs der Deckenfläche des Supermarkts bewegen, wobei sie beispielsweise jede gewünschte Ware aus den darunterliegenden Regalen auswählen können. Die Fähigkeit zum Verwenden mehrerer mobiler Roboter 210 zum Zugreifen auf eine Gruppe von Bandspulen 202 gewährleistet einen schnelleren Zugriff auf kurze gefragte Dateien. Diese Geometrie ist viel flexibler als frühere Konfigurationen, bei denen die Bandkassettengreifer an x- und y-Positionierern unterstützt wurden, deren Wege sich nicht kreuzen konnten. Die mobilen Roboter 210 können an die obere Oberfläche 302 gekoppelt sein, wobei Magnete 310 oder eine andere Verbindungs- oder Anziehungseinheit verwendet wird, die die mobilen Roboter 210 zu der oberen Oberfläche 302 hin belastet. Dadurch, dass die mobilen Roboter 210 an der oberen Oberfläche 302 manövrieren können, können die Bandspulen 202 einfach auf einer unteren Oberfläche 304 wie beispielsweise einer Bodenfläche ruhen. Die Magnete 310 können die mobilen Roboter 210 zu der oberen Oberfläche 302 hin mit einer viel stärkeren Kraft belasten als die Schwerkraft die mobilen Roboter 210 zu der unteren Oberfläche 304 hin belastet, wodurch eine viel größere Reibungskraft der Räder 306, 308 der mobilen Roboter möglich ist, wodurch eine schnellere Roboterbeschleunigung und somit kürzere Suchdauern ermöglicht werden.
  • Bei einem Ansatz können die mobilen Roboter 210 drei Räder 306, 308 aufweisen: zwei Hinterräder 308 und ein Vorderrad (Manövrierrad oder -kugel 306. Bei anderen dreirädrigen Konfigurationen kann der mobile Roboter 210 zwei Vorderräder 308 und ein Hinterrad (Manövrierrad oder -kugel) 306 aufweisen. Zur Klarheit gibt ein Lenkrad bei dieser Erläuterung ein Rad an, dessen Richtung der Positionierung oder Drehung in Bezug auf den Roboterkörper nicht feststehend ist. Der mobile Roboter 210 kann natürlich eine beliebige Anzahl von Rädern 306, 308 oder eine andere Vorrichtung, um eine Bewegung des mobilen Roboters 210 zu bewirken, aufweisen, wie es für einen Fachmann klar ist. Eine Ausführungsform des mobilen Roboters 210 kann beispielsweise zwei Antriebsräder und zwei (Manövrier-)Räder oder Kugeln aufweisen. Ein Lenken des Roboters kann in jeder bekannten Weise erfolgen wie beispielsweise durch unabhängiges Antreiben von zwei Rädern mit einem Manövrierrad des Nachlauftyps, Lenken unter Verwendung des Manövrierrads und Antreiben und Steuern mit dem Manövrierrad usw.
  • Der mobile Roboter 210 kann einen Spulengreifer 312 aufweisen, der dann, wenn der mobile Roboter 210 über einer gewünschten Bandspule 202 oder einer Gruppe von Bandspulen 202 positioniert ist, die Bandspule ergreifen, (beispielsweise magnetisch) anziehen, befestigen oder die Bandspule 202 auf andere Weise halten kann, so dass sie in den mobilen Roboter 210 geladen und zu einem Bandlaufwerk oder zurück von einem Bandlaufwerk zu der Aufbewahrungsposition der Bandspule transportiert werden kann.
  • Bei weiterer Bezugnahme auf 3 ist bei einigen Ausführungsformen die Höhe des mobilen Roboters 210 so bemessen, dass er in der Lage ist, über den Bandspulen 202 in einem Raum H von etwa 4,5 cm (1,75 Zoll) zu manövrieren, der bei einer Konfiguration mit Standard-Einschub etwa 1 U beträgt. Die kleinsten Einheiten, die für in Einschüben angebrachte Computerkomponenten verwendet werden, sind „1-U”-Einheiten, die eine Höhe von 4,5 cm (1,75 Zoll) aufweisen. Da eine Spule für ein Standard-Magnetband der Breite 1,3 cm (0,5 Zoll) eine geringe Dicke von 1,5 cm (0,58 Zoll) aufweisen kann, ist diese 1-U-Einheit möglicherweise ausreichend dick, um eine einzelne Speicherebene zu halten, die eine Ebene von Bandspulen 202 plus mobile Roboter 210 aufweisen kann. Somit kann ein Ein-Ebenen-Entwurf mit mobilen Robotern 210, Bandspulen 210 und Laufwerken für verschiedene Konfigurationen von Bandarchiven verwendet werden, die von einer einzelnen Ebene bis zu mehreren gestapelten Ebenen reichen, die einen gesamten Speicherraum oder jede gewünschte Abmessung füllen können.
  • Bei einem Ansatz kann die Mehrzahl von Bandspulen 202 einen Abstand von der oberen Oberfläche aufweisen und in einer Entfernung von etwa 15 cm, beispielsweise 15 ± 1,5 cm von der oberen Oberfläche angeordnet sein, wobei der Abstand weniger als etwa 20 cm, weniger als etwa 10 cm, weniger als etwa 5 cm oder einen beliebigen Wert in den zuvor genannten Bereichen beträgt.
  • Das Speichermodul 128 mit linearen Speichermedien kann außerdem eine Steuereinheit 212 zum Lenken der Bewegung des mobilen Roboters 210 aufweisen. Die Steuereinheit 212 kann intern in dem mobilen Roboter 210 vorhanden sein oder außerhalb des Roboters 210 (wie in 2A gezeigt) und mit diesem Daten über einen beliebigen Typ von Datenübertragungskanal austauschen (wie beispielsweise drahtlos, leitungsgestützt, über Infrarot usw.).
  • Gemäß einer veranschaulichenden Ausführungsform weist ein Speichermodul 128 mit linearen Speichermedien wenigstens ein Bandlaufwerk 204 auf, das zum Lesen von Daten von Band eingerichtet ist, das auf einer von einer Mehrzahl von Bandspulen 202 gespeichert ist, wenigstens einen mobilen Roboter 210, der ein Volumen von weniger als etwa 16,4 dm3 (1000 Kubik-Zoll) aufweist, (wobei der Wert bei einigen Ansätzen kleiner als etwa 14,8 dm3 (900 in3) ist, kleiner als etwa 12,3 dm3 (750 in3) ist, kleiner als etwa 8,2 dm3 (500 in3) ist, kleiner als etwa 4,1 dm3 (250 in3) ist, kleiner als etwa 1,7 dm3 (100 in3) ist, kleiner als etwa 0,8 dm3 (50 in3) ist), der eingerichtet ist, um selektiv eine oder mehrere von der Mehrzahl von Bandspulen abzurufen und die eine oder die mehreren Bandspulen 202 zu dem Bandlaufwerk 204 zu transportieren. Der mobile Roboter 210 bewegt sich längs einer Oberfläche und unterliegt vorzugsweise mechanisch keiner Beschränkung, um sich längs einer vorgegebenen Laufbahn oder eines Wegs zu bewegen (d. h. ohne Beschränkung). Bei einigen Ansätzen kann der mobile Roboter 210 mechanisch keinen Beschränkungen unterliegen und in der Lage sein, sich autonom längs eines beliebigen gewünschten Wegs über die Oberfläche zu bewegen.
  • Um die Navigation des mobilen Roboters 210 zu unterstützen, kann die untere und/oder obere Oberfläche eine optische Struktur aufweisen, die zur Navigation des mobilen Roboters 210 genutzt werden kann, und der mobile Roboter 210 kann so eingerichtet sein, dass er die optische Struktur erkennt.
  • Wie in 4A gezeigt kann die untere Oberfläche oder die Bodenfläche 304 beispielsweise eine optische Struktur 402 aufweisen, die für den mobilen Roboter entworfen ist, um seine Position zu lokalisieren. Bei dieser optischen Struktur 402 kann es sich um ein rechtwinkliges Raster handeln, das sich über die gesamte Bodenfläche 304 erstreckt, wobei jede Rasterfläche 404 mit einem lesbaren Code bezeichnet ist, der Zeile und Spalte der speziellen Rasterfläche 404 kennzeichnet. Dieser lesbare Code kann jede Form aufweisen, wie für einen Fachmann klar ist.
  • Die Bodenfläche 304 kann gemäß verschiedenen Ausführungsformer eben sein wie in 4B gezeigt, bedeckt mit kleinen Vertiefungen wie in 4C gezeigt, oder kann ein Gitter aufweisen, das Aufnahmebereiche definiert, in denen die Bandspulen 202 positioniert werden wie in 4d gezeigt. Durch Erweitern des Gitters über die Bandspulen 202 hinaus kann es eine Oberfläche bilden, auf der die mobilen Roboter 210 getragen werden können, und die mobilen Roboter 210 würden nicht längs der oberen Oberfläche manövriert werden, sondern würden stattdessen gemäß einer Ausführungsform auf der unteren Oberfläche manövriert werden, die durch die oben liegende Oberfläche des Gitters gebildet wird. Bei einem weiteres Ansatz können sich wie in 4E gezeigt Ständer 401 von der unteren Oberfläche 304 aufwärts erstrecken, um Spulen am Verwendungsort zu halten. Die Ständer 401 können in Kombination mit anderen Ansätzen verwendet werden wie jene, die in den 4B und 4C gezeigt sind.
  • Die Gestaltung des mobilen Roboters 210 kann zusätzliche Merkmale, Fähigkeiten usw. enthalten, was für einen Fachmann beim Lesen der vorliegenden Beschreibungen klar ist. Bei einer Ausführungsform ist ein mobiler Roboter 210 in den 5A bis 5B gemäß einem Ansatz gezeigt. Bei diesem Beispiel treiben ein oder mehrere Motoren 508 symmetrische Antriebsräder 308 an, die Vorwärts- und Rückwärtsbewegungen ermöglichen, und bei einem weiteren Ansatz können die Antriebsräder 308 ein Lenken bereitstellen, wenn die Antriebsräder 308 unter Verwendung von zwei symmetrischen Antriebsmotoren 508 unabhängig betätigt werden. Diese Motoren 508 können an jedem Rad 308 durch ein einstufiges Reduziergetriebe angebracht sein. Der mobile Roboter 210 kann zusätzlich durch ein oder mehrere andere omnidirektionale Passivräder 306 betragen werden, die sich in alle Richtungen bewegen können, und bei einigen Ansätzen manövrierfähig (z. B. lenkbar, positionierbar usw.) sein können. Bei dem bzw. den omnidirektionalen Rädern 306 kann es sich um Nachlaufräder handeln, wobei Kugelkalotten stärker bevorzugt sind, die auch als Kugelrollen bezeichnet werden.
  • Zum Aufnehmen der Bandspule(n) 202 kann eine einfache Plattform 312 durch einen Elektromagneten oder Motor (nicht gezeigt) abgesenkt und angehoben werden. Wenn die Bandspulen 202 eine oben liegende magnetische Platte aufweisen, können die Bandspulen 202 an der Plattform 312 durch Erregen von Elektromagneten 502 ergriffen werden. Eine oder mehrere Kameras 504 können eine Navigation der mobilen Roboter 210 er möglichen. Eine Kamera 504 kann über jeder Spulenhalteposition 506 angebracht sein, wodurch der mobile Roboter 210 seine Position ermitteln und eine Bandspule direkt in ein Bandlaufwerk liefern kann. Der mobile Roboter 210 muss bei einigen Ansätzen nicht präzise arbeiten, da die Kameras 504 die Bandspulen 202 und das Positionsgitter (oder die Spannfutter der Bandspulen an dem Laufwerk) gleichzeitig abbilden können, um die Bandspulen 202 präzise zu positionieren.
  • Damit mehrere mobile Roboter 210 am gleichen Arbeitsort arbeiten können, z. B. auf derselben Bodenfläche, sind an den mobilen Robotern 210 vorzugsweise keine Kabel angebracht. Die mobilen Roboter 210 benötigen eine geringe Leistung, und eine Spitzengeschwindigkeit von etwa 2 m/s ist bei einigen Ausführungsformen ausreichend, um die Bandspule 202 aufzunehmen und sie innerhalb einer halben Sekunde zum Laufwerk zu bringen. Für einen mobilen Roboter 210 mit einer Masse von 150 Gramm würde die entsprechende kinetische Energie etwa 0,3 Joule betragen. Diese Energiemenge kann durch eine wiederaufladbare Batterie, durch induktive Kopplung usw. geliefert werden, wobei ein Kondensator mit seiner äußerst langen Lebensdauer möglicherweise vorzuziehen wäre. Bei einer Ausführungsform kann ein Elektrolytkondensator von 1000 μF, an den eine Spannung von 80 Volt angelegt wurde und der damit einen Energieinhalt von 3,2 Joule aufweist, verwendet werden, der trotzdem lediglich einen Durchmesser von 16 mm und eine Länge von 40 mm aufweist. Der mobile Roboter 210 kann in seiner Parkposition oder an dem Bandlaufwerk, wenn er die Bandspule 202 lädt, aufgeladen werden. Außerdem kann der Roboter auch Energie für Betrieb und/oder Aufladen über eine Kontaktierung an einer Oberfläche erhalten, die eine Energieverteilungsfähigkeit eines in der Technik bekannten Typs aufweist. Der Roboter kann außerdem Energie für Betrieb und/oder Steuerinformationen über eine Anbindung (Tether) erhalten.
  • Wie in 5B gezeigt sind die Bandspulen 202 gemäß einer bevorzugten Ausführungsform auf einer Bodenfläche 304 angeordnet, wobei die Oberfläche 302 der Bodenfläche 304 gegenüberliegend ist, und der mobile Roboter 210 ist hin zu der Oberfläche 302 vorgespannt, beispielsweise durch magnetische Vorspannung (unter Verwendung von Magneten 310), wodurch der mobile Roboter 210 über den Bandspulen 202 hängt. Der mobile Roboter 210 kann beispielsweise hin zu der oberen. Oberfläche 302 magnetisch vorgespannt sein.
  • Wie in den 6A bis 6B gezeigt kann eine Archiv-Steuereinheit mit den mobilen Robotern 210 mittels Lichtsignalen wie beispielsweise Infrarot-(IR-)Signalen; Hochfrequenz-(HF-)Signalen usw. Daten austauschen und kann auf jeder Ebene des Speichermoduls 128 mit linearen Speichermedien unterschieden werden, um Übersprechen zu vermeiden. Die Archiv-Steuereinheit berechnet einen Weg, den der mobile Roboter 210 nehmen soll, um die Bandspulen aufzunehmen und abzulegen und die Bandspulen in die Bandlaufwerke 204 zu laden. Der mobile Roboter 210 kann sich bei einem Ansatz per Servoantrieb längs des Wegs unter Verwendung seiner Kameras bewegen oder er kann bei einer weiteren Ausführungsform Codiereinrichtungen an seinen Motoren oder Rädern verwenden, um sich per Servoantrieb zu bewegen, wobei die Kameras lediglich für Feinjustierungen verwendet werden.
  • Bei einer Ausführungsform kann ein Speichermodul 128 mit linearen Speichermedien eine Mehrzahl von Bandlaufwerken 204 aufweisen, wobei jedes Bandlaufwerk 204 auf der Bodenfläche angeordnet ist, die die Bandspulen trägt, wobei sich die Bodenfläche unterhalb der Oberfläche, auf der die mobilen Roboter 210 manövrieren, in einem Abstand befindet, der ausreichend ist, damit dazwischen (zwischen den Bandspulen und der Oberfläche) die Bewegung der mobilen Roboter 210 erfolgen kann.
  • Bei großen Mehrebenen-Speichermodulen 128 mit linearen Speichermedien können sich mobile Roboter 210 zwischen Bodenflächen unter Verwendung von Rampen 604 bewegen. Dadurch ist es möglich, dass die mobilen Roboter 210 selbst unterschiedliche Bodenflächen mit Bandspulen laden und die Arbeitslast neu ausgleichen, indem die mobilen Roboter 210 optimal positioniert und die Bandspulen angeordnet werden. Die jeweilige Anzahl von mobilen Robotern 210, Bandspulen und Bandlaufwerken 204 kann durch die Zugriffshäufigkeit auf die Dateien, Daten usw. ermittelt werden.
  • Gemäß einem Ansatz können mehrere Oberflächen verwendet werden, die eine verteilte und gestapelte Konfiguration aufweisen, und der mobile Roboter 210 ist so eingerichtet, dass er zwischen den mehreren Oberflächen verfährt. Bei diesem Ansatz kann wenigstens eine Rampe 604 vorgesehen sein, die wenigstens zwei der mehreren Oberflächen verbindet, wodurch ermöglicht wird, dass der mobile Roboter 210 zwischen den mehreren Oberflächen verfährt.
  • Wie in 6B dargestellt können gemäß einer Ausführungsform ein oder mehrere Bandlaufwerke 204 direkt an den Bodenflächen 606 eines Speichermoduls 128 mit linearen Speichermedien befestigt sein, das eine oder mehrere Ebenen aufweist. Außerdem können die mobilen Roboter 210 von den Deckenflächen 602 angezogen werden. Bei dieser Gestaltung können das bzw. die Laufwerke 204 an jeder Position in dem Speichermodul 128 mit linearen Speichermedien in einfacher Weise positioniert werden, indem in der Anordnung aus Spulen (nicht gezeigt) einfach Platz gelassen wird. Diese Anordnung vereinfacht eine Neukonfiguration des Speichermoduls 128 mit linearen Speichermedien, nachdem es gefertigt wurde, ebenso wie nach einem Ersetzen von ausgefallenen Bandlaufwerken, wenn dieser Fall eintreten sollte. Die mobilen Roboter 210 können z. B. zum Verschieben und/oder Neupositionieren eines Bandlaufwerks 204 eingerichtet sein. Gemäß einer Ausführungsform kann wenigstens ein Bandlaufwerk 204 auf jeder Ebene des Speichermoduls 128 mit linearen Speichermedien angeordnet sein.
  • Gemäß einer Ausführungsform kann das Archiv so eingerichtet sein, dass es „Ersatz”-Bandlaufwerke 204 und mobile Roboter 210 aufweist, die beim Ausfall anderer Bandlaufwerke und mobiler Roboter einsatzbereit sind. Wenn bei einer weiteren Ausführungsform zusätzliche Bandlaufwerke 204 und mobile Roboter 210 infolge eines bestimmten Faktors verwendet werden sollen wie beispielsweise eine erhöhte Arbeitslast, ausgefallene mobile Roboter und/oder Bandlaufwerke usw., kann das Speichermodul 128 mit linearen Speichermedien ein Hinzufügen oder Entfernen von Bandlaufwerken, Bandspulen und/oder mobilen Robotern durch den Benutzer nach dem Fertigen des Speichermoduls 128 mit linearen Speichermedienzulassen.
  • Gemäß verschiedenen Ausführungsformen kann jeder Typ von Bandeinfädelsystem, der in der Technik bekannt ist, an die Verwendung bei den hier beschriebenen Systemen angepasst werden. Wenn beispielsweise Bandspulen einzeln (nicht paarweise) verwendet werden, kann gemäß einer Ausführungsform ein Standard-Einfädelmechanismus verwendet werden, um die Bandspule an dem Bandlaufwerk einzufädeln. Das Speichern des Bands auf Spulenpaaren hat den Vorteil, dass das Band nach dem Laden verwendungsbereit ist und nicht auf eine andere interne Spule gewickelt werden muss. Wenn das Band nicht mehr verwendet wird, können außerdem beide Spulen mit dem Band entnommen werden, und das Band muss nicht von der internen Spule abgewickelt werden, damit es entnommen werden kann.
  • Wie in 7A gezeigt kann bei einer weiteren Ausführungsform das Bandlaufwerk 204 selbst keinen Einfädler aufweisen. Stattdessen kann der mobile Roboter 210 so eingerichtet sein, dass er das Band 706 der abgerufenen Bandspule 702 bei dem Bandlaufwerk 204 einfädelt. Bei einem Ansatz lädt ein mobiler Roboter 210 das Band 706, das auf einem Paar Bandspulen 704, 704 bereitgestellt wird, in das Bandlaufwerk 204, indem zunächst eine Spule 702 abgelegt wird, und anschließend die andere Spule 704 in ein Spulenspannfutter 708, damit ein Spulenmotor das Band 706 wickeln kann. Wenn das Band 706 alternativ lediglich auf einer Spule gespeichert ist (wie beispielsweise auf der Spule 702), kann der mobile Roboter ein Ende des Bands, das sich nicht auf der Spule 702 befindet, verlagern, um es an dem internen Antriebsrad zu befestigen, wie in Bezug auf die 7B bis 7D beschrieben. Bei einigen Ausführungsformen kann die Präzision der Bewegung des mobilen Roboters 210 viel größer sein als die eines Lademechanismus mit Führungsstift, der gegenwärtig bei Bandlaufwerken verwendet wird.
  • Wie in den 7B bis 7D gezeigt kann bei einer weiteren Ausführungsform eine einzelne Spule 702 mit Band 706 auf ein Spulenspannfutter und Motor 714 geladen werden, die an einem Träger 716 befestigt sind, der so eingerichtet ist, dass er einer Führung 718 folgt, die eine Bewegung des Spannfutters 714 um das Bandlaufwerk 204 zulässt, um ein Spulen des Bands 706 ermöglicht. Bevor die Spule 702 in das Spannfutter 714 geladen wird, wird das Spannfutter 714 in die Nähe der internen (Aufnahme-)Spule 710 gebracht wie in 7B gezeigt. Nachdem der (zur Klarheit nicht gezeigte) mobile Roboter die Spule 702 in dem Spannfutter 714 platziert hat, befestigt ein Mechanismus 712 das Ende des Bands 706 an der Aufnahmespule 710. Siehe 7C. Zu diesem Zeitpunkt kann das Band 706 zwischen den Spulen 702 und 710 als Teil einer Operation zur vorläufigen Positionierung übergeben werden, bevor das Band 706 mit dem Aufzeichnungskopf 720 oder anderen Führungsflächen wie beispielsweise Rollen in Berührung kommt, wodurch eine schnellere Bandpositionierung bei verminderten Bandbeschädigungen und geringerem Antriebsverschleiß ermöglicht wird. Anschließend werden das Spannfutter und der Spulenmotor 714 und die Bandspule 702 längs der Führung 718 zu einer endgültigen Position bewegt wie in 7D gezeigt, in der von dem Band 706 gelesen oder dieses beschrieben werden kann.
  • Bei einer weiteren Ausführungsform werden die Archivspule 702 und der Träger 716 nicht verlagert, sondern die Aufnahmespule 710 und ihr Motor können verlagert werden, um das Bandlaufwerk 204 einzufädeln. Wenn bei einer nochmals weiteren Ausführungsform das Band 706 auf einem Spulenpaar gespeichert ist, kann der mobile Roboter die beiden Spulen direkt an dem Bandlaufwerk 204 positionieren, wobei das Band 706 vor dem Einfädeln positioniert werden kann.
  • Wie in den 8A bis 8D gezeigt kann das Band 706 alternativ an zwei Bandspulen 202 gehalten werden, und es kann ein Verfahren verwendet werden, bei dem die Unzuverlässigkeit eines Führungsstifts vermieden wird. Bei diesem Ansatz können die Spannfutter 802 des Bandlaufwerks mit demselben engen Abstand der Bandspulen 20 in ihrer Ruheposition angeordnet sein. Der mobile Roboter platziert die Bandspulen 202 in den Spannfuttern 802 wie in 8B gezeigt, und zwei bewegliche Rollen 804, 806 fädeln anschließend das Band 706 in der Position ein. Zuerst fädelt die Rolle 804 das Band 706 ein wie in 8C gezeigt und anschließend fädelt die Rolle 806 das Band 706 ein wie in 8D gezeigt. Das Band 706 kann positioniert werden, bevor sich die Rollen 804, 806 in ihre endgültige Position bewegen, wodurch eine zusätzliche Abnutzung und Steuerschwierigkeiten vermieden werden, die mit einem Kontakt des Bands 706 an der Rolle 806 oder anderen Führungsflächen und an dem Kopfverbunden sind. Alternativ können bei einer weiteren Ausführungsform zwei glatte Zylinder, die Luftlager bilden, verwendet werden, um das Bandlaufwerk einzufädeln.
  • Bei einer Ausführungsform kann jede Spule ausreichend groß sein (die Flansche sind beispielsweise ausreichend groß), um die vollständige Länge des Bands aufzunehmen, wenn auf das gesamte Band zugegriffen werden soll. Wenn das Band auf Paaren dieser großen Spulen gespeichert wird, kann die Kapazität des Archivs gegenüber dem Wert bei Verwendung einzelner Spulen um einen Faktor 2 verringert werden.
  • Bei einem weiteren Ansatz kann das Band auf einem Spulenpaar gespeichert werden, wobei wenigstens eine Spule nicht ausreichend groß ist, um die ganze Länge des Bands aufzunehmen. Wie in den 9A bis 9C gezeigt kann eine Verringerung der Spulenabmessung erreicht werden, indem in das Bandlaufwerk vorübergehende Flanschverlängerungen 902, 904 eingesetzt werden. Bei dem Bandlaufwerk ist eine vorübergehende Flanschverlängerung 902 an dem Motor/Spulenspannfutter 908 befestigt, so dass der Spulenflansch 906 verlängert ist, wenn er sich in dem Laufwerk befindet. Wenn sich die Spulen 202 in dem Laufwerk befinden, wird eine weitere Flanschverlängerung 904 auf jeder der Spulen 202 angeordnet, so dass Band auf eine der Spulen gespult werden kann. Bevor die Bandspulen 202 aus dem Bandlaufwerk entladen werden, wird das Band zwischen den Bandspulen 202 gleichmäßig zurückgespult, so dass es lediglich zwischen den dauerhaften Flanschen 906 auf den Bandspulen 202 liegt.
  • Bei einem weiteren Ansatz kann eine Verdichtungsrolle verwendet werden, um das Band auf der Spule zu halten, nachdem sein Durchmesser größer als der des Flansches geworden ist.
  • Bei einigen Ansätzen kann das Bandarchiv fehlertolerant und/oder selbstreparierend sein. Jede Bandkassette kann beispielsweise durch mehrere unterschiedliche Laufwerke gelesen werden, wenn jedoch ein Roboter ausfällt, können die anderen Roboter um den ausgefallenen Roboter herum manövrieren, ein ausgefallener Roboter kann durch einen anderen Roboter abgeschleppt und ersetzt werden und/oder ein ausgefallenes Bandlaufwerk kann abgeschleppt und ersetzt werden.
  • Wenn gemäß einer Ausführungsform ein mobiler Roboter ausfällt, kann er durch einen anderen mobilen Roboter abgeschleppt und ersetzt werden. Die Bandlaufwerke können so eingerichtet sein, dass ein mobiler Roboter ein Bandlaufwerk in einfacher Weise abschleppen und ersetzen kann, nachdem die Bandspulen vorübergehend weggeräumt wurden, die sich möglicherweise auf dem Weg befinden, der zum Entfernen des Bandlaufwerks benutzt wird. Die Leistungsversorgungs- und Datenverbindungen können so eingerichtet sein, dass eine sehr geringe Kraft erforderlich ist, indem beispielsweise einfache Gleitfederkontakte für die Leistungsübertragung und die optische Verbindung für den Datentransfer des Bandlaufwerks verwendet werden.
  • Gemäß einer Ausführungsform kann das System so eingerichtet sein, dass ein Entfernen eines ausgefallenen mobilen Roboters unter Verwendung eines anderen mobilen Roboters möglich ist, wobei in diesem Fall der ausgefallene mobile Roboter dann durch den mobilen Roboter, der das Entfernen ausführt, oder bei einigen Ansätzen durch einen anderen mobilen Roboter ersetzt werden kann.
  • Bei einer weiteren Ausführungsform kann der mobile Roboter so eingerichtet sein, dass er das Bandlaufwerk entfernt, beispielsweise wenn das Bandlaufwerk beschädigt ist. Der Roboter kann gleichfalls ein Ersatz- oder ein repariertes Bandlaufwerk installieren.
  • Jede der hier beschriebenen und/oder vorgeschlagenen Ausführungsformen kann in Abhängigkeit von der gewünschten Ausführungsform mit zahlreichen funktionalen Verfahren kombiniert werden.
  • 10A zeigt ein Verfahren 1000 zum Abrufen von Daten aus einem mehrschichtigen Medium-Speichersystem gemäß einer Ausführungsform. Als eine Option kann das vorliegende Verfahren 1000 in Verbindung mit Merkmalen von allen anderen hier aufgelisteten Ausführungsformen umgesetzt werden wie beispielsweise jene, die unter Bezugnahme auf die anderen FIGUREN beschrieben werden. Natürlich können ein derartiges Verfahren 1000 und andere hier dargestellte Verfahren bei verschiedenen Anwendungen und/oder bei Umsetzungen verwendet werden, die möglicherweise in den hier aufgelisteten veranschaulichenden Ausführungsformen speziell beschrieben wurden. Des Weiteren kann das hier dargestellte Verfahren 1000 in jeder gewünschten Umgebung verwendet werden.
  • In 10A enthält das Verfahren 1000 eine Datenanforderung wie in der Operation 1002 dargestellt. Gemäß zahlreichen Ansätzen können die Daten alle Daten oder Datenformen enthalten, die hier beschrieben und/oder vorgeschlagen werden.
  • Darüber hinaus enthält die Operation 1004 des Verfahrens 1000 ein Ermitteln, ob die Daten in einer Ebene mit linearen Speichermedien und/oder in einer zweiten Speicherebene, die leistungsfähiger ist als die Ebene mit linearen Speichermedien, gespeichert sind wie hier beschrieben. Bei einer bevorzugten Ausführungsform enthält die Ebene mit linearen Speichermedien: eine Mehrzahl von Spulen, auf denen sich lineare Speichermedien befinden, einen Ablagebereich zum Aufbewahren von Spulen, wenn die Spulen nicht in Gebrauch sind, ein oder mehrere Laufwerke für lineare Speichermedien, die zum Lesen und/oder Beschreiben der linearen Speichermedien eingerichtet sind, und wenigstens einen mobilen Roboter zum Transportieren der linearen Speichermedienzwischen dem Ablagebereich und dem wenigstens einen Laufwerk für lineare Speichermedien, wobei sich der Roboter ohne Einschränkung auf einer ersten Oberfläche bewegt.
  • Das Verfahren 1000 enthält des Weiteren zusätzlich ein Anweisen des mobilen Roboters zum Transportieren eine der Spulen mit darauf befindlichen Daten zu einem der Laufwerke für lineare Speichermedien in der Ebene für lineare Speichermedien, wenn festgestellt wird, dass die Daten auf der Ebene für lineare Speichermedien gespeichert sind. Siehe Operation 1006.
  • Weiterhin in 10A enthält die Operation 1008 des Verfahrens 1000 ein Empfangen der Daten von dem einen der Laufwerke für lineare Speichermedien; während die Operation 1010 ein Senden der Daten beispielsweise an den Anforderer enthält.
  • 10B zeigt ein Verfahren 1018 zum Abrufen von Daten von einem Medien-Speichersystem mit mehreren Ebenen gemäß einer Ausführungsform. Als Option kann das vorliegende Verfahren 1018 in Verbindung mit Merkmalen von allen anderen hier aufgelisteten Verfahren umgesetzt werden wie etwa jene, die unter Bezugnahme auf die anderen FIGUREN beschrieben werden. Natürlich können jedoch ein derartiges Verfahren 1018 und andere, die hier dargestellt sind, bei verschiedenen Anwendungen und/oder bei Umsetzungen verwendet werden, die möglicherweise in den hier aufgelisteten veranschaulichenden Ausführungsformen speziell beschrieben sind. Des Weiteren kann das hier dargestellte Verfahren 1018 in jeder gewünschten Umgebung verwendet werden.
  • In der Operation 1020 von 10B wird eine Anforderung von Schreibdaten empfangen. In der Operation 1022 wird festgestellt, ob die Daten in einer Ebene für lineare Speichermedien und/oder in einer zweiten Speicherebene, die leistungsfähiger ist als die hier beschriebene Ebene für lineare Speichermedien, gespeichert werden sollen. Bei einer bevorzugten Ausführungsform enthält die Ebene für lineare Speichermedien: eine Mehrzahl von Spulen mit darauf befindlichen linearen Speichermedien, einen Ablagebereich zum Aufbewahren der Spulen, wenn die Spulen nicht in Gebrauch sind, ein oder mehrere Laufwerke für lineare Speichermedien zum Lesen und/oder Beschreiben der linearen Speichermedien, und wenigstens einen mobilen Roboter zum Transportieren der linearen Speichermedien zwischen dem Ablagebereich und dem wenigstens einen Laufwerk für lineare Speichermedien, wobei sich der Roboter ohne Einschränkung auf einer ersten Oberfläche bewegt.
  • In der Operation 1024 wird der mobile Roboter angewiesen, eine der Spulen zu einem ausgewählten Laufwerk für lineare Speichermedien auf der Ebene für lineare Speichermedien zu transportieren, wenn festgestellt wird, dass die Daten auf der Ebene für lineare Speichermedien gespeichert werden sollen. In der Operation 1026 werden die Daten zu dem ausgewählten Laufwerk für lineare Speichermedien gesendet, um sie auf die Spule zu schreiben.
  • Einem Fachmann ist klar, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert werden können. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Firmware- und/oder Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardware-Aspekte kombiniert, annehmen, die hier alle als, ”Logik”, ”Schaltung”, ”Modul” oder ”System” bezeichnet werden können. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert wird, die computerlesbaren Programmcode aufweisen, der darin ausgeführt wird.
  • Jede Kombination aus einem oder mehreren computerlesbaren Medien kann genutzt werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Ein computerlesbares Speichermedium kann z. B. ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, -vorrichtung oder einheit oder jede geeignete Kombination des Vorhergehenden sein, ist jedoch nicht darauf beschränkt. Zu spezifischeren Beispielen (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums würde Folgendes gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein löschbarer programmierbarer Festwertspeicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compactdisk-Festwertspeicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination des Vorhergehenden. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes materielle Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal mit computerlesbarem Programmcode enthalten, der darin z. B. im Basisband oder als Teil einer Trägerwelle verkörpert wird. Ein derartiges sich ausbreitendes Signal kann jede von einer Vielfalt von Formen annehmen, zu denen elektromagnetische, optische Formen oder jede geeignete Kombination hiervon gehören, die jedoch nicht darauf beschränkt sind. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung übertragen, verbreiten oder transportieren kann..
  • Programmcode, der auf einem computerlesbaren Medium verkörpert ist, kann unter Verwendung jedes geeigneten Mediums übertragen werden, darunter drahtlose, leitungsgestützte, Lichtwellenleiterkabel-, Hochfrequenz-(HF-)Medien usw. oder jede geeignete Kombination aus dem Vorhergehenden, ohne darauf beschränkt zu sein.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie etwa die Programmiersprache ”C” oder ähnliche Programmiersprachen. Der Programmcode kann nur auf dem Computer eines Benutzers, teilweise auf dem Computer eines Benutzers, als ein eigenständiges Software-Paket, teilweise auf dem Computer eines Benutzers und teilweise auf einem fernen Computer oder nur auf dem fernen Computer oder Server ausgeführt werden. In dem zuletzt genannten Szenario kann der ferne Computer mit dem Computer des Benutzers durch jeden Netzwerktyp verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer (z. B. über das Internet unter Verwendung eines Internet-Dienstanbieters) hergestellt werden.
  • Aspekte der vorliegenden Erfindung werden hier unter Bezugnahme auf Ablaufplan-Darstellungen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block der Ablaufplan-Darstellungen und/oder Blockschaltbilder und Kombinationen von Blöcken in den Ablaufplan-Darstellungen und/oder Blockschaltbildern durch Computerprogrammbefehle umgesetzt werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu bilden, so dass Befehle, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Umsetzen der Funktionen/Wirkungen, die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind, erzeugen..
  • Diese Computerprogrammbefehle können außerdem in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand produzieren, der Befehle enthält, die die Funktion/Wirkung umsetzen, die in dem Block/den Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind.
  • Computerprogrammbefehle können außerdem in einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten geladen werden, um eine Reihe von Operationsschritten zu bewirken, die auf dem Computer, der anderen programmierbaren Datenverarbeitungsvorrichtung oder anderen Einheiten ausgeführt werden sollen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, so dass die Befehle, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Umsetzen der Funktionen/Wirkungen, die in dem Block oder Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind, bereitstellen.
  • Der Ablaufplan und die Blockdarstellungen in den Figuren veranschaulichen die Architektur, Funktionalität und Operation von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder in Blockdarstellungen ein Modul, Segment oder Abschnitt von Code repräsentieren, der einen oder mehrere ausführbare Befehle zum Umsetzen der spezifizierten logischen Funktion(en) aufweist. Es sollte außerdem angemerkt werden, dass bei einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen möglicherweise nicht in der in den Figuren angegebenen Reihenfolge auftreten. Zum Beispiel können zwei Blöcke, die nacheinander gezeigt sind, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können gelegentlich in Abhängigkeit von der beteiligten Funktionalität in der umgekehrten Reihenfolge ausgeführt werden. Es wird außerdem angemerkt, dass jeder Block in den Blockdarstellungen und/oder Ablaufplan-Darstellungen und Kombinationen von Blöcken in den Blockdarstellungen und/oder der Ablaufplan-Darstellung durch Systeme, die auf spezieller Hardware beruhen, die die spezifizierten Funktionen oder Wirkungen ausführen, oder Kombinationen aus spezieller Hardware und Computerbefehlen umgesetzt werden können.
  • 11 veranschaulicht eine Netzwerkarchitektur 1100 gemäß einer Ausführungsform. Als eine Option kann die Netzwerkarchitektur 1100 in Verbindung mit Merkmalen von jeder anderen hier aufgelisteten Ausführungsform umgesetzt werden wie beispielsweise jene, die unter Bezugnahme auf die anderen FIGUREN beschrieben wurden. Natürlich können jedoch eine derartige Netzwerkarchitektur 1100 und andere hier dargestellte Architekturen in verschiedenen Anwendungen und/oder bei Umsetzungen verwendet werden, die möglicherweise in den hier aufgelisteten veranschaulichenden Ausführungsformen beschrieben sind. Des Weiteren kann die hier dargestellte Netzwerkarchitektur 1100 bei jeder gewünschten Umgebung verwendet werden.
  • Wie in 11 gezeigt wird eine Mehrzahl von fernen Netzwerken 1102 bereitgestellt, darunter ein erstes fernes Netzwerk 1104 und ein zweites fernes Netzwerk 1106. Ein Gateway 1101 kann zwischen die fernen Netzwerke 1102 und ein proximale Netzwerk 1108 geschaltet werden. Im Kontext der vorliegenden Netzwerkarchitektur 1100 können die Netzwerke 1104, 1106 jeweils eine beliebige Form annehmen, darunter ein LAN, ein WAN wie beispielsweise das Internet, ein öffentliches Fernsprechvermittlungsnetz (PSTN), ein internes Telefonnetz usw., ohne darauf beschränkt zu sein.
  • In Gebrauch dient das Gateway 1101 als Eintrittspunkt von den fernen Netzwerken 1102 zu dem nahen Netzwerk 1108. Daher kann das Gateway 1101 als Router, der in der Lage ist, ein vorgegebenes Datenpaket zu lenken, das an dem Gateway 1101 eintrifft, und als Switch funktionieren, der den tatsächlichen Weg für ein vorgegebenes Paket in das und aus dem Gateway 1101 einrichtet.
  • Des Weiteren ist wenigstens ein Datenserver 1114 vorhanden, der mit dem nahen Netzwerk 1108 verbunden ist und auf den von den fernen Netzwerken 1102 über das Gateway 1101 zugegriffen werden kann. Es sollte angemerkt werden, dass der bzw. die Datenserver 1114 jeden Typ von Datenverarbeitungseinheit/Groupware enthalten können. Mit jedem Datenserver 1114 ist eine Mehrzahl von Benutzereinheiten 1116 verbunden. Zu derartigen Benutzereinheiten 1116 können ein Desktop-Computer, ein Laptop-Computer, handgehaltene Computer, Drucker oder jeder andere Typ von Logikschaltungen gehören. Es sollte angemerkt werden, dass eine Benutzereinheit 1111 außerdem bei einer Ausführungsform mit jedem anderen der Netzwerke verbunden sein kann.
  • Ein Peripheriegerät 1120 oder eine Reihe von Peripheriegeräten beispielsweise Faxmaschinen, Drucker, vernetzte und/oder lokale Speichereinheiten oder Systeme usw. können mit einem oder mehreren der Netzwerke 1104, 1106, 1108 verbunden sein. Es sollte außerdem angemerkt werden, dass Datenbanken und/oder zusätzliche Komponenten mit jedem Typ von Netzwerkelementen, die mit den Netzwerken 1104, 1106, 1108 verbunden sind, genutzt oder mit diesen integriert sein können. Im Kontext der vorliegenden Beschreibung kann ein Netzwerkelement jede Komponente eines Netzwerks bezeichnen.
  • Gemäß einigen Ansätzen können hier beschriebene Verfahren und Systeme bei und/oder in virtuellen Systemen und/oder Systemen umgesetzt werden, die ein oder mehrere andere Systeme emulieren wie beispielsweise ein UNIX-System, das eine IBM z/BS-Umgebung emuliert, ein UNIX-System, das eine MICROSOFT WINDOWS-Umgebung virtuell beherbergt, ein MICROSOFT WINDOWS-System, das eine IBM z/BS-Umgebung emuliert, usw. Diese Virtualisierung und/oder Emulation kann bei einigen Ausführungsformen durch die Verwendung eines Hypervisor verbessert werden.
  • Bei mehreren Ansätzen können ein oder mehrere Netzwerke 1104, 1106, 1108 ein Cluster aus Systemen repräsentieren, das gewöhnlich als eine „Cloud” bezeichnet wird. Bei Cloud-Datenverarbeitung werden gemeinsam genutzte Ressourcen wie etwa Verarbeitungsleistung, Peripheriegeräte, Software, Daten, Server usw. jedem System in der Cloud in einer Auf-Anforderung-Beziehung bereitgestellt, wodurch ein Zugriff auf Dienste und deren Verteilung über viele Datenverarbeitungssysteme ermöglicht werden. Cloud-Datenverarbeitung beinhaltet üblicherweise eine Internet-Verbindung zwischen den Systemen, die in der Cloud betrieben werden, es können jedoch außerdem andere Techniken zum Verbinden der Systeme verwendet werden.
  • 12 zeigt eine repräsentative Hardware-Umgebung, die gemäß einer Ausführungsform einer Benutzereinheit 1116 und/oder einem Server 1114 von 11 zugehörig ist. Diese Figur veranschaulicht eine typische Hardware-Konfiguration einer Arbeitsstation, die eine Zentraleinheit 1210 wie beispielsweise einen Mikroprozessor und mehrere andere Einheiten aufweist, die über einen Systembus 1212 miteinander verbunden sind.
  • Die in 12 gezeigte Arbeitsstation enthält einen Direktzugriffsspeicher (RAM) 1214, einen Festwertspeicher (ROM) 1216, einen E/A-Adapter 1218 zum Verbinden von peripheren Einheiten wie beispielsweise Plattenspeichereinheiten 1220 mit dem Bus 1212, einen Benutzer-Schnittstellenadapter 1222 zum Anschließen einer Tastatur 1224, einer Maus 1226, eines Lautsprechers 1228, eines Mikrofons 1232 und/oder anderer Benutzer-Schnittstelleneinheiten wie z. B. ein berührungsempfindlicher Bildschirm und eine digitale Kamera (nicht gezeigt) mit dem Bus 1212, einen Datenübertragungsadapter 1234 zum Verbinden der Arbeitsstation mit einem Datenübertragungsnetzwerk 1235 (z. B. ein Datenverarbeitungsnetzwerk) und ein Anzeigeadapter 1236 zum Verbinden des Busses 1212 mit einer Anzeigeeinheit 1238.
  • Die Arbeitsstation kann ein dauerhaft darin befindliches Betriebssystem wie beispielsweise das Microsoft Windows®-Betriebssystem (BS), ein MAC-BS, ein UNIX-BS usw. aufweisen. Es ist klar, dass eine bevorzugte Ausführungsform außerdem auf anderen als den erwähnten Plattformen und Betriebssystemen umgesetzt werden kann. Eine bevorzugte Ausführungsform kann unter Verwendung der Sprache JAVA, XML, C und/oder C++ oder anderen Programmiersprachen zusammen mit einer objektorientierten Programmiermethodik geschrieben werden. Objektorientiertes Programmieren (OOP) kann verwendet werden, das in steigendem Maße zum Entwickeln komplexer Anwendungen genutzt wird.
  • Der Ablaufplan und die Blockdarstellungen in den Figuren veranschaulichen die Architektur, Funktionalität und Operation von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder in Blockdarstellungen ein Modul, Segment oder Abschnitt von Code repräsentieren, der einen oder mehrere ausführbare Befehle zum Umsetzen der spezifizierten logischen Funktion(en) aufweist. Es sollte außerdem angemerkt werden, dass bei einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen möglicherweise nicht in der in den Figuren angegebenen Reihenfolge auftreten. Zum Beispiel können zwei Blöcke, die nacheinander gezeigt sind, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können gelegentlich in Abhängigkeit von der beteiligten Funktionalität in der umgekehrten Reihenfolge ausgeführt werden. Es wird außerdem angemerkt, dass jeder Block in den Blockdarstellungen und/oder Ablaufplan-Darstellungen und Kombinationen von Blöcken in den Blockdarstellungen und/oder der Ablaufplan-Darstellung durch Systeme, die auf spezieller Hardware beruhen, die die spezifizierten Funktionen oder Wirkungen ausführen, oder Kombinationen aus spezieller Hardware und Computerbefehlen umgesetzt werden können.
  • Es ist klar, dass die verschiedenen Merkmale der hier beschriebenen Methodiken und Ausführungsformen auf beliebige Weise kombiniert werden können, wodurch eine Mehrzahl von Kombinationen aus den hier dargestellten Beschreibungen erzeugt wird.
  • Datenübertragungskomponenten wie z. B. Eingabe/Ausgabe- oder E/A-Einheiten (darunter Tastaturen, Anzeigen, Zeigeeinheiten usw., die jedoch nicht darauf beschränkt sind) können direkt oder über dazwischen liegende E/A-Steuereinheiten mit dem System verbunden sein.
  • Datenübertragungskomponenten wie beispielsweise Busse, Schnittstellen, Netzwerkadapter usw. können außerdem mit dem System verbunden sein, damit das Datenverarbeitungssystem z. B. der Hast mit anderen Datenverarbeitungssystemen, fernen Druckern, Speichereinheiten usw. über dazwischen liegende private oder öffentliche Netzwerke verbunden werden kann. Modems, Kabel-Modems und Ethernet-Karten sind lediglich einige der gegenwärtig verfügbaren Typen von Netzwerkadaptern, die bei einigen Ansätzen verwendet werden können.
  • Es ist ferner klar, dass hier beschriebene Ausführungsformen in Form eines Dienstes bereitgestellt werden können, der im Auftrag eines Kunden angewendet werden kann, um Dienst-auf-Anforderung anzubieten.
  • Zwar wurden oben verschiedene Ausführungsformen beschrieben, es sollte jedoch klar sein, dass sie lediglich beispielhaft und nicht als Einschränkung dargestellt wurden. Daher sollte die Breite und der Umfang einer Ausführungsform der vorliegenden Erfindung nicht durch eine der oben beschriebenen beispielhaften Ausführungsformen beschränkt sein, sondern sollte nur gemäß der nachfolgenden Ansprüche und deren Ersetzungen definiert werden.

Claims (18)

  1. Datenspeichersystem, das aufweist: eine Ebene mit linearen Speichermedien; eine zweite Speicherebene, die leistungsfähiger ist als die Ebene mit linearen Speichermedien; eine Datensteuereinheit zum Verschieben von Daten zwischen den Ebenen; und eine Host-Schnittstelle, die auf Platten- und/oder Netzwerkspeicherbefehle anspricht und Daten und/oder Befehle, die von einem Host- oder Speicher-Netzwerk empfangen werden, an einen Cachespeicher-Manager weiterleitet, wobei sich der Cachespeicher-Manager selbst für angeschlossene Hosts als eine Plattenspeichersteuereinheit präsentiert, die den Speicherplatz als virtuelle Platten (VDISK) freigibt, wobei die Ebene mit linearen Speichermedien enthält: eine Mehrzahl von Spulen mit darauf befindlichen linearen Speichermedien, einen Ablagebereich zum Aufbewahren der Spulen, wenn sie nicht in Gebrauch sind, wenigstens ein Laufwerk für lineare Speichermedien, das zum Lesen und/oder Beschreiben der linearen Speichermedien eingerichtet ist, und wenigstens einen Roboter zum Transportieren der linearen Speichermedien zwischen dem Ablagebereich und dem wenigstens einen Laufwerk für lineare Speichermedien, wobei sich der Roboter auf einer ersten Oberfläche bei einem Kontakt mit der Oberfläche bewegt.
  2. System nach Anspruch 1, wobei der Ablagebereich eine horizontale Oberfläche enthält, auf der die Spulen aufbewahrt werden, wenn die Spulen nicht in Gebrauch sind, wobei der Roboter und/oder der Ablagebereich einen Mechanismus aufweist, um die Spulen selektiv für einen Eingriff an dem Roboter vertikal zu bewegen.
  3. System nach Anspruch 1 oder 2, wobei eine Leistungsfähigkeit der Ebene für lineare Speichermedien dadurch gekennzeichnet ist, dass eine Lesezugriffszeit auf einen Datenblock, der auf einer im Ablagebereich befindlichen Spule gespeichert ist, weniger als 10 Sekunden beträgt.
  4. System nach einem der vorhergehenden Ansprüche, wobei die Host-Schnittstelle so eingerichtet ist, dass sie auf Platten- und/oder Netzwerkspeicherbefehle von einer Platten- oder Netzwerkspeicherschnittstelle anspricht, mit der sie Daten austauschen kann, wobei eine Zugriffsleistungsfähigkeit der Ebene für lineare Speichermedien dadurch gekennzeichnet ist, dass Daten von einer beliebigen Stelle in dem System innerhalb einer Zugriffszeitbegrenzung der Platten- und/oder Netzwerkspeicherschnittstelle abgerufen werden können.
  5. System nach einem der vorhergehenden Ansprüche, wobei das System so eingerichtet ist, dass Direktzugriff-Eingabeschreibdaten von einem Host empfangen werden und die Datensteuereinheit so eingerichtet ist, dass sie die Direktzugriff-Eingabeschreibdaten in sequenzielle Daten umsetzt, wenn auf lineare Speichermedien geschrieben wird.
  6. System nach Anspruch 5, wobei die Schreibdaten, die verschiedenen Direktzugriff-Schreibanforderungen von dem Host zugehörig sind, in der zweiten Ebene akkumuliert werden, bevor sie zu der Ebene für lineare Speichermedien verschoben werden.
  7. System nach Anspruch 6, wobei die Schreibdaten, die in der zweiten Ebene akkumuliert wurden, auf das lineare Speichermedium geschrieben werden, so dass wenigstens eine ganzzahlige Anzahl von vollständigen Windungen auf die linearen Speichermedien in einem einzigen Durchgang geschrieben werden.
  8. System nach Anspruch 5, wobei die Schreibdaten direkt zu der Ebene für lineare Speichermedien als Datenstrom gesendet werden.
  9. System nach einem der vorhergehenden Ansprüche, wobei die Ebene für lineare Speichermedien wenigstens zwei Laufwerke enthält und wobei die Leseoperationen an Laufwerke gerichtet sind, die keine Schreiboperationen ausführen.
  10. System nach Anspruch 9, wobei eine Teilmenge der Laufwerke für Schreibvorgänge optimiert ist.
  11. System nach Anspruch 9, wobei eine Teilmenge der Laufwerke für Lesevorgänge optimiert ist.
  12. System nach Anspruch 11, wobei es sich bei einem optimierten Laufwerk um ein Nur-Lese-Laufwerk handelt.
  13. System nach einem der vorhergehenden Ansprüche, das eine Mehrzahl von Robotern enthält, wobei das System zum Nutzen der Mehrzahl von Robotern bei sich überlagernden Operationen eingerichtet ist, um den Datendurchsatz des Systems zu verbessern.
  14. System nach einem der vorhergehenden Ansprüche, das ferner eine Aufwickelstation aufweist, um Operationen zur Groblokalisierung und/oder Rückspuloperationen an den Spulen auszuführen, bevor die Spulen an dem wenigstens einem Laufwerk für lineare Speichermedien angebracht werden.
  15. System nach einem der vorhergehenden Ansprüche, das ferner ein Zuordnungsmodul aufweist, um eine Zuordnung von Daten auf den linearen Speichermedien in der zweiten Ebene so vorzuhalten, dass eine Position eines Datenblocks auf den linearen Speichermedien ohne Lesen der linearen Speichermedien ermittelt werden kann.
  16. Verfahren zum Abrufen von Daten in einem Mehrebenen-Datenspeichersystem nach einem der Ansprüche 1 bis 15, wobei das Verfahren aufweist: Empfangen einer Anforderung zum Abrufen von Daten durch die Host-Schnittstelle; Ermitteln durch die Datensteuereinheit, ob die Daten in der Ebene für lineare Speichermedien oder in der zweiten Speicherebene gespeichert sind; und wenn festgestellt wird, dass die angeforderten Daten in der Ebene für lineare Speichermedien gespeichert sind, Anweisen eines Roboters von dem wenigstens einem Roboter, eine Spule, auf der sich die angeforderten Daten befinden, zu dem wenigstens einen Laufwerk für lineare Speichermedien zu transportieren; Lesen der Daten durch das Laufwerk für lineare Speichermedien; und Senden der Daten an den Anforderer.
  17. Verfahren zum Schreiben von Daten in einem Mehrebenen-Datenspeichersystem nach einem der Ansprüche 1 bis 15, wobei das Verfahren aufweist: Empfangen einer Anforderung zum Schreiben von Daten durch die Host-Schnittstelle; Ermitteln durch die Datensteuereinheit, ob die Daten in der Ebene für lineare Speichermedien oder in der zweiten Speicherebene gespeichert werden sollen; und wenn festgestellt wird, dass die Daten in der Ebene für lineare Speichermedien gespeichert werden sollten, Anweisen eines Roboters von dem wenigstens einen Roboter, eine aus der Mehrzahl von Spulen ausgewählte Spule zu einem von dem wenigstens einen Laufwerk für lineare Speichermedien zu transportieren; Senden der Daten zu dem wenigstens einen Laufwerk für lineare Speichermedien; und Schreiben der Daten durch das Laufwerk für lineare Speichermedien auf die Spule.
  18. Computerprogramm, das auf einem computerlesbaren Medium gespeicherten Computerprogrammcode aufweist, der bewirkt, dass das Computersystem alle Schritte eines Verfahrens nach Anspruch 16 oder 17 ausführt, wenn er in ein Computersystem geladen und darin ausgeführt wird.
DE112014000347.6T 2013-01-30 2014-01-28 Hybrid-Speichersystem mit hoher Speicherdichte Active DE112014000347B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
USUS-13/754,714 2013-01-30
US13/754,714 US9263082B2 (en) 2013-01-30 2013-01-30 High density hybrid storage system
US13/754,714 2013-01-30
PCT/IB2014/058593 WO2014118694A1 (en) 2013-01-30 2014-01-28 High density hybrid storage system

Publications (2)

Publication Number Publication Date
DE112014000347T5 true DE112014000347T5 (de) 2015-09-17
DE112014000347B4 DE112014000347B4 (de) 2021-06-24

Family

ID=51222827

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014000347.6T Active DE112014000347B4 (de) 2013-01-30 2014-01-28 Hybrid-Speichersystem mit hoher Speicherdichte

Country Status (5)

Country Link
US (2) US9263082B2 (de)
JP (1) JP5943367B2 (de)
DE (1) DE112014000347B4 (de)
GB (1) GB2525547A (de)
WO (1) WO2014118694A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494674B2 (en) 2011-08-24 2013-07-23 International Business Machines Corporation Fast-access self-repairing tape library using mobile robots
US9263082B2 (en) 2013-01-30 2016-02-16 International Business Machines Corporation High density hybrid storage system
US9785575B2 (en) 2014-12-30 2017-10-10 International Business Machines Corporation Optimizing thin provisioning in a data storage system through selective use of multiple grain sizes
WO2018226654A1 (en) * 2017-06-05 2018-12-13 Austin Smith Acid stabilization of quantum dot-resin concentrates and premixes
US10991390B2 (en) * 2019-02-08 2021-04-27 Western Digital Technologies, Inc. Head assembly with suspension system for a tape embedded drive
KR20200143871A (ko) * 2019-06-17 2020-12-28 삼성전자주식회사 스토리지를 포함하는 전자 장치 및 그의 스토리지 이용 방법
US11342004B2 (en) 2019-11-07 2022-05-24 Quantum Corporation System and method for rapid replacement of robotic media mover in automated media library
US11735223B2 (en) 2021-06-29 2023-08-22 Western Digital Technologies, Inc. Head suspension system for a tape drive
US11790946B2 (en) * 2022-02-04 2023-10-17 Seagate Technology Llc Magnetically repositionable cassettes within a data storage drive

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3715040A (en) 1970-07-14 1973-02-06 Advanced Digital Syst Inc Data accessing system
JPS57117154A (en) 1981-01-14 1982-07-21 Hitachi Ltd Automatic loading device of tape
JPS5933660A (ja) * 1982-07-16 1984-02-23 Nippon Columbia Co Ltd 連続再生装置
US4864511A (en) * 1987-01-27 1989-09-05 Storage Technology Corporation Automated cartridge system
US4932826A (en) * 1987-01-27 1990-06-12 Storage Technology Corporation Automated cartridge system
US4928245A (en) * 1987-01-27 1990-05-22 Storage Technology Corporation Automated cartridge system
US5155639A (en) 1988-11-03 1992-10-13 U.S. Philips Corporation Transport apparatus for a single reel tape cartridge
US4989191A (en) * 1989-01-03 1991-01-29 Frank Sheafen Kuo Data processing system with mixed media memory packs
GB8905435D0 (en) 1989-03-09 1989-04-19 Hewlett Packard Ltd Data storage apparatus
US5150452A (en) 1989-07-28 1992-09-22 Megamation Incorporated Method and apparatus for anti-collision and collision protection for multiple robot system
JPH0337686U (de) * 1989-08-22 1991-04-11
US5504873A (en) * 1989-11-01 1996-04-02 E-Systems, Inc. Mass data storage and retrieval system
US5214768A (en) * 1989-11-01 1993-05-25 E-Systems, Inc. Mass data storage library
JPH04302846A (ja) * 1991-03-29 1992-10-26 Sony Corp ビデオカセット再生装置
JPH0684251A (ja) 1992-02-25 1994-03-25 Internatl Business Mach Corp <Ibm> 自動記憶ライブラリー
EP0559975B1 (de) 1992-03-10 1999-06-16 Hewlett-Packard Limited Datenspeichergerät
US5557770A (en) 1993-03-24 1996-09-17 International Business Machines Corporation Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk
US5333810A (en) 1993-05-13 1994-08-02 Storage Technology Corporation Raised linear threading mechanism for a tape transport system
JP3264866B2 (ja) 1997-07-02 2002-03-11 富士通株式会社 ライブラリ装置用カートリッジ移送ロボット
US5956301A (en) 1998-03-25 1999-09-21 International Business Machines Corporation Automated data storage library media handling with a plurality of pickers having multiple grippers
US5906324A (en) 1998-05-04 1999-05-25 International Business Machines Corporation Single reel tape cartridge with integral tape guide
US6260006B1 (en) 1998-12-22 2001-07-10 Storage Technology Corporation System and method for multi-volume tape library
US7107395B1 (en) * 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
US6421579B1 (en) 1999-11-05 2002-07-16 International Business Machines Corporation Multiple independent intelligent pickers with dynamic routing in an automated data storage library
US7039657B1 (en) * 1999-11-09 2006-05-02 International Business Machines Corporation Method, system, and program for accessing data from storage systems
AU2052301A (en) 1999-11-30 2001-06-12 Storage Technology Corporation Dual concentric robotic high performance automated tape cartridge system
US6856985B1 (en) 2000-04-10 2005-02-15 Storage Technology Corporation Server based control of robotic libraries
US6868049B2 (en) 2000-12-04 2005-03-15 Storage Technology Corporation Method and system for accessing multiple rows of media objects in an automated storage library using a single track robotic mechanism
US20020087783A1 (en) * 2000-12-29 2002-07-04 Storage Technology Corporation Low cost, high performance tape drive
JP2002373464A (ja) * 2001-06-14 2002-12-26 Sony Corp 記録媒体交換式記録再生装置
US6791781B2 (en) 2001-07-17 2004-09-14 International Business Machines Corporation Method and apparatus for providing linear position (LPOS) estimations
US7100858B2 (en) 2001-10-15 2006-09-05 Quantum Corporation Self-centering tape reel for single reel tape cartridges
US6808353B2 (en) 2001-12-19 2004-10-26 Storage Technology Corporation Method of non-disruptive capacity scaling for a data storage library
US6718228B2 (en) 2001-12-27 2004-04-06 Storage Technology Corporation High density data storage library with horizontal array structures
JP2004086251A (ja) 2002-08-22 2004-03-18 Nec Corp 情報記録再生装置の二重化制御装置及び方法並びに二重化制御プログラム
US7487288B2 (en) * 2004-05-14 2009-02-03 International Business Machines Corporation Dynamic loading of virtual volume data in a virtual tape server
EP1754402B1 (de) 2004-05-17 2008-05-28 Matsushita Electric Industrial Co., Ltd. Entscheidungsverfahren für die komponentenanbringreihenfolge und entscheidungsvorrichtung für die komponentenanbringreihenfolge
US8641352B2 (en) 2004-10-13 2014-02-04 Skyline Parking Ag Entrance gate for an automatic parking garage having mechanism for centering a vehicle on the entrance gate
US7546180B1 (en) 2004-12-29 2009-06-09 Storage Technology Corporation Position determination of multiple mechanisms sharing a common axis of motion in a robotic tape library
JP4863765B2 (ja) * 2006-05-15 2012-01-25 株式会社日立製作所 バックアップ及び/又はリストアを行う記憶制御方法及びシステム
KR100812724B1 (ko) * 2006-09-29 2008-03-12 삼성중공업 주식회사 실내 위치측정시스템을 이용한 벽면 이동 로봇
JP5056047B2 (ja) 2007-02-15 2012-10-24 富士通株式会社 ライブラリ装置とその位置制御方法
JP2008287850A (ja) * 2007-04-20 2008-11-27 Hitachi Maxell Ltd 磁気テープ駆動装置
TWI357974B (en) 2007-11-05 2012-02-11 Ind Tech Res Inst Visual navigation system and method based on struc
US8108065B2 (en) 2008-01-08 2012-01-31 International Business Machines Corporation Target of opportunity in an automated data storage library
US9349410B2 (en) 2008-01-08 2016-05-24 International Business Machines Corporation Automated data storage library with target of opportunity recognition
JP2009198982A (ja) 2008-02-25 2009-09-03 Fujifilm Corp 放射線変換器及び放射線画像撮影システム
US7974040B2 (en) 2008-02-27 2011-07-05 International Business Machines Corporation Pass-through mechanism for linear tape library
US8457778B2 (en) 2008-08-15 2013-06-04 Spectra Logic Corp. Robotic storage library with queued move instructions and method of queuing such instructions
US20110122527A1 (en) * 2009-11-25 2011-05-26 International Business Machines Corporation Storing and Locating a Self-Describing Storage Cartridge
JP2011216158A (ja) 2010-03-31 2011-10-27 Fujitsu Ltd ドライブ装置、ライブラリ装置および制御方法
JP5617540B2 (ja) 2010-11-02 2014-11-05 富士通株式会社 仮想テープ装置および仮想テープ装置における物理テープ選択方法
US8687315B2 (en) * 2011-05-11 2014-04-01 International Business Machines Corporation Data storage system using a media mobility unit (MMU), the MMU, and methods of use thereof
US8494674B2 (en) 2011-08-24 2013-07-23 International Business Machines Corporation Fast-access self-repairing tape library using mobile robots
US9263082B2 (en) 2013-01-30 2016-02-16 International Business Machines Corporation High density hybrid storage system

Also Published As

Publication number Publication date
US20160005432A1 (en) 2016-01-07
WO2014118694A1 (en) 2014-08-07
GB201514784D0 (en) 2015-10-07
JP5943367B2 (ja) 2016-07-05
US9858958B2 (en) 2018-01-02
GB2525547A (en) 2015-10-28
US20140211602A1 (en) 2014-07-31
US9263082B2 (en) 2016-02-16
JP2016508657A (ja) 2016-03-22
DE112014000347B4 (de) 2021-06-24

Similar Documents

Publication Publication Date Title
DE112014000347B4 (de) Hybrid-Speichersystem mit hoher Speicherdichte
DE112014002846B4 (de) Bandlaufwerk mit überlappendem Betrieb
US9418696B2 (en) Fast-access self-repairing tape library using mobile robots
JP5885298B2 (ja) テープドライブでのデータ書き込み方法、プログラム
US9336149B2 (en) Partial volume access in a physical stacked volume
DE102013003474A1 (de) Implementieren einer hot-spare-ssd für das zufällige schreiben grosser blöcke für ein smr-raid
KR20150109723A (ko) 광 디스크 기반 아카이브 시스템에서 데이터 관리 방법
US11017810B2 (en) Spring clip leader and housing for magnetic tape
US10817207B2 (en) Management of a multi-library storage system
US20200150879A1 (en) Encoded parity
JP2012234609A (ja) データ格納方法及びハイブリッドデータストレージ機器
JP2013140653A (ja) テープ記憶装置
US9285996B2 (en) Tape drive buffer utilization
DE112020003062T5 (de) Dynamische anpassung einer logischen speicherkapazität für speicherlaufwerke
US20150003951A1 (en) High performance tape system
KR20150129185A (ko) 광 디스크 기반 아카이브 시스템에서 데이터 관리 방법
CN106796492A (zh) 主动存储设备
KR20160067308A (ko) 광 디스크 기반 아카이브 시스템에서 실패 디스크 처리 방법

Legal Events

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