DE60023383T2 - Datenübertragungsanforderungsverarbeitungsschema zur Verringerung von mechanischen Beseitigungen eines Datenaufzeichnungssystems - Google Patents

Datenübertragungsanforderungsverarbeitungsschema zur Verringerung von mechanischen Beseitigungen eines Datenaufzeichnungssystems Download PDF

Info

Publication number
DE60023383T2
DE60023383T2 DE60023383T DE60023383T DE60023383T2 DE 60023383 T2 DE60023383 T2 DE 60023383T2 DE 60023383 T DE60023383 T DE 60023383T DE 60023383 T DE60023383 T DE 60023383T DE 60023383 T2 DE60023383 T2 DE 60023383T2
Authority
DE
Germany
Prior art keywords
data transfer
class
request
transfer requests
requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60023383T
Other languages
English (en)
Other versions
DE60023383D1 (de
Inventor
Hiroshi Yao
Tatsunori Kanai
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE60023383D1 publication Critical patent/DE60023383D1/de
Publication of DE60023383T2 publication Critical patent/DE60023383T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein Steuerungsschema einer Anforderungsverarbeitungseinrichtung zum Verarbeiten von Datentransferanforderungen, die zu einer Speichereinrichtung ausgegeben werden, die große mechanische Aktionen erfordert, wie etwa einen Medienwechsler.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Im allgemeinen werden Datentransferanforderungen, die zu einer Speichereinrichtung ausgegeben werden, einmal in Schlangen eingetragen und dann in einer Reihenfolge gemäß einer Planungsrichtlinie verarbeitet, die für diese Speichereinrichtung spezifisch ist. Richtlinien, die häufig als die Planungsrichtlinie der Speichereinrichtung verwendet werden, inkludieren FIFO (zuerst hinein, zuerst heraus (First In First Out)) und SCAN. FIFO ist eine Richtlinie zum Verarbeiten von Anforderungen in einer Reihenfolge von Ausgabezeiten von Anforderungen, wohingegen SCAN eine Richtlinie ist, die für eine Platteneinrichtung spezifisch ist, worin eine Bewegungsrichtung eines Kopfes auf eine Richtung beschränkt ist, und Anforderungen in einer derartigen Reihenfolge verarbeitet werden, dass eine Anforderung, die auf eine nächste Spur in dieser Richtung zugreift, zuerst verarbeitet wird.
  • In der Speichereinrichtung, die innerhalb eines Echtzeitsystems inkorporiert ist, gibt es jedoch Fälle, wo eine Frist bzw. ein Fristablauf (deadline) für eine Verarbeitung von jeder Datentransferanforderung gesetzt ist. In derartigen Fällen wird häufig eine Planungsrichtlinie eingesetzt, die EDF (früheste Frist zuerst, Earliest Deadline First) genannt wird. Dies ist eine Richtlinie, worin Anforderungen in einer derartigen Reihenfolge verarbeitet werden, dass eine Anforderung mit der frühesten Frist zuerst verarbeitet wird.
  • Auch ist es in dem Fall einer Behandlung einer Serie von Datentransferanforderungen, die periodisch verarbeitet werden sollten, möglich, eine Richtlinie einzusetzen, die RM (Rate gleichbleibend, Rate Monotonic) genannt wird. Jede Anforderungssequenz, die durch RM zu behandeln ist, hat ihre eindeutige Periode, derart, dass eine Anforderung innerhalb einer Periode ausgegeben und verarbeitet wird. RM ist eine Richtlinie, in der eine Vielzahl von Anforderungssequenzen gleichzeitig in einer derartigen Reihenfolge behandelt werden, dass eine Anforderung, die zu einer Sequenz mit einer kürzesten Periode gehört, zuerst verarbeitet wird.
  • FIFO wird in Fällen verwendet, wo eine Antwortzeit für eine Anforderung wichtig ist, und SCAN wird in Fällen verwendet, wo ein gesamtes Transferleistungsverhalten wichtig ist. Andererseits werden EDF oder RM häufig in Fällen verwendet, wo es eine Notwendigkeit gibt zu garantieren, dass eine Verarbeitung von jeder periodischen Datentransferanforderung innerhalb ihrer Periode abgeschlossen sein wird. Sogar in derartigen Fällen können jedoch FIFO oder SCAN verwendet werden, falls eine spezielle Bedingung zutrifft, dass alle Datentransferanforderungen eine gleiche Periode haben.
  • In dem Fall einer Verwendung von Bändern als ein Speichermedium, das ein Ziel von Datentransfer ist, oder dem Fall einer Verwendung einer Vielzahl von Speichermedien, während sie durch einen Medienwechsler gewechselt werden, wird hier ein Overhead in dem Fall von zufälligen Zugriffen sehr groß. Aus diesem Grund wird die Transfereffizienz schlecht, da die Overheadzeit bis zu dem Start des Datentransfers relativ länger als die Zeit wird, die zum tatsächlichen Transferieren von Daten erforderlich ist. Außerdem ist der Umfang von Aktionen durch mechanische Teile groß, sodass es eine Notwendigkeit gibt, die Lebensdauer der mechanischen Teile in Betracht zu ziehen.
  • Als ein Schema zum Ausführen des Datentransfers in der Speichereinrichtung, die Bänder oder einen Medienwechsler verwendet, wurden bisher die folgenden Schemata vorgeschlagen.
    • (1) Ein Datentransfer mit einer Frist wird nicht behandelt. Es wird nämlich der Zeitteilungsvielfachzugriff, der eine Richtlinie verwendet, die Fristen garantieren kann, wie etwa EDF oder RM, aufgegeben, und es wird eine Richtlinie eingesetzt, die die Zahl von Bandbewegungen oder Medienwechseln reduzieren kann, wie etwa SCAN.
    • (2) Es wird ein Datentransfer mit einer Frist in dem Fall einer Ausführung des Zeitteilungsvielfachzugriffs, der Medienwechsel erfordert, nicht behandelt. Während der Datentransfer mit einer Frist für eine beliebige Datei auszuführen ist, wird nämlich ein Medium, das diese Datei speichert, in einem Laufwerk gelassen, während diese Datei in Gebrauch ist. In diesem Schema ist es jedoch, um auf eine Datei zuzugreifen, die in einem anderen Medium gespeichert ist, notwendig, auf das Ende der Verwendung der gegenwärtig verwendeten Datei zu warten.
    • (3) Es wird einfach der Zeitteilungsvielfachzugriff ausgeführt, der eine Richtlinie verwendet, die Fristen garantieren kann, wie etwa EDF oder RM. In diesem Schema ist es möglich, einen Datentransfer mit einer Frist zu behandeln, aber die Planung zum Reduzieren der Zahl von Bandbewegungen oder Medienwechseln ist unmöglich.
    • (4) In dem Fall einer Ausführung des Zeitteilungsvielfachzugriffs unter Verwendung von EDF oder RM wird ein Umfang von Datentransfer erhöht. Da die Transferzeit und die Transferperiode in Proportion zu dem Datentransferumfang länger werden, ist es möglich, die Zahl von Bandbewegungen oder Medienwechseln relativ zu reduzieren, aber es wird auch die Wartezeit in Proportion zu dem Datentransferumfang in diesem Schema länger.
  • Es wird vermerkt, dass auch ein Schema existiert, welches ein überlegenes Zufallszugriffsleistungsverhalten als Bänder oder ein Medienwechsler hat, und das eine Cache-(Zwischenspeicher-)Platte in einer Form einer Festplatte verwendet, deren Kapazität über die eines Speichers hinaus vergrößert werden kann. In dem Fall einer tatsächlichen Ausführung des periodischen Datentransfers unter Verwendung einer Cache-Platte ist es üblich, ein Schema zu verwenden, in dem alle Dateien mit hohen Nutzungsfrequenzen in die Cache-Platte gecacht werden und der Zeitteilungsvielfachzugriff nur für jene Dateien gestattet ist, die gänzlich auf der Cache-Platte gecacht sind. Bezüglich jener Dateien, die nicht auf der Cache-Platte gecacht sind, ist ein beliebiges der oben beschriebenen vier Schemata einzusetzen.
  • Wie beschrieben, war es gemäß den konventionellen Schemata in dem Fall einer Ausführung des periodischen Datentransfers von der Speichereinrichtung unter Verwendung von Bändern oder eines Medienwechslers unvermeidbar, die Wartezeit zu erhöhen, bis der periodische Datentransfer startet, wenn ein Schema zum Reduzieren des Umfangs von mechanischen Aktionen eingesetzt wird.
  • EP-A-757310 offenbart einen Planungsalgorithmus, umfassend eine Kombination eines EDF-Algorithmus und eines SCAN-Algorithmus.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist deshalb ein Ziel der vorliegenden Erfindung, wie durch die unabhängigen Ansprüche definiert, ein Datentransferanforderungsverarbeitungsschema vorzusehen, das fähig ist zum: (a) Planen der Verarbeitungsreihenfolge der Datentransferanforderungen derart, dass der Umfang von mechanischen Aktionen reduziert werden kann, indem die Lebensdauer der mechanische Teile in Betracht gezogen wird, in dem Fall einer Verwendung von Speichermedien, die einen großen Umfang von Aktionen durch die mechanischen Teile zur Zeit eines Zugriffs erfordern, wie etwa eines Medienwechslers; (b) Garantieren, dass eine Verarbeitung jeder Anforderung vor ihrer Frist in dem Fall einer Handhabung einer Datentransferanforderung, die periodisch zu verarbeiten ist, abgeschlossen sein wird; (c) Verkürzen der Wartezeit, bis der Datentransfer startet (d.h. keine Erhöhung des Umfangs von Transferdaten und der Periode für jede Anforderung) in dem Fall einer Behandlung von Datentransferanforderungen, die periodisch zu verarbeiten sind.
  • Ein erster Aspekt der Erfindung sieht ein Verfahren zum Verarbeiten von Datentransferanforderungen in Bezug auf eine Speichereinrichtung vor, die mechanische Aktionen beim Ausführen von Datentransfers erfordert, die Schritte umfassend:
    sequenzielles Annehmen der Datentransferanforderungen mit jeweiligen Fristenabläufen zum Abschließen angeforderter Datentransfers;
    wiederholtes Prüfen einer Beziehung zwischen einem Fristablauf von jeder angenommenen Datentransferanforderung und einer aktuellen Zeit und Klassifizieren jeder angenommenen Datentransferanforderung in eine von ersten und zweiten Klassen gemäß der Nähe der aktuellen Zeit zu jedem Fristablauf;
    Planen einer Verarbeitung von Datentransferanforderungen erster Klasse, die als die erste Klasse durch den Klassifizierungsschritt klassifiziert sind, gemäß einer ersten Planungsrichtlinie, worin ein Abschluss von Datentransfers, die durch die Datentransferanforderungen angefordert werden, innerhalb der Fristabläufe, die für die Datentransferanforderungen spezifiziert sind, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge einer Verarbeitung ist, und Planen einer Verarbeitung von Datentransferanforderungen zweiter Klasse, die als die zweite Klasse durch den Klassifizierungsschritt klassifiziert sind, gemäß einer zweiten Planungsrichtlinie, worin eine Verringerung von Umfängen der mechanischen Aktionen, die beim Ausführen von Datentransfers erforderlich sind, die durch die Datentransferanforderungen angefordert werden, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge einer Verarbeitung ist, während eine Verarbeitung der Datentransferanforderungen erster und zweiter Klasse derart geplant wird, dass die Datentransferanforderungen erster Klasse bei höherer Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden; und
    Verarbeiten der Datentransferanforderungen gemäß einem Planungsergebnis, das durch den Planungsschritt erhalten wird, um die Speichereinrichtung so zu steuern, Datentransfers auszuführen, die durch die Datentransferanforderungen angefordert werden.
  • Ein zweiter Aspekt der Erfindung sieht eine Datentransferanforderungsverarbeitungseinrichtung zum Verarbeiten von Datentransfers in Bezug auf eine Speichereinrichtung vor, die mechanische Aktionen beim Ausführen von Datentransfers erfordert, umfassend:
    eine Annahmeeinheit, die konfiguriert ist, die Datentransferanforderungen mit jeweiligen Fristabläufen zum Abschließen angeforderter Datentransfers sequenziell anzunehmen;
    eine Klassifizierungseinheit, die konfiguriert ist, wiederholt eine Beziehung zwischen einem Fristablauf jeder angenommenen Datentransferanforderung und einer aktuellen Zeit zu prüfen, und jede angenommene Datentransferanforderung in eine von ersten und zweiten Klassen gemäß der Nähe der aktuellen Zeit zu jedem Fristablauf zu klassifizieren;
    eine Planungseinheit, die konfiguriert ist, eine Verarbeitung von Datentransferanforderungen erster Klasse, die als die erste Klasse durch die Klassifizierungseinheit klassifiziert sind, gemäß einer ersten Planungsrichtlinie zu planen, worin ein Abschluss von Datentransfers, die durch die Datentransferanforderungen angefordert werden, innerhalb der Fristabläufe, die für die Datentransferanforderungen spezifiziert sind, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge der Verarbeitung ist, und eine Verarbeitung von Datentransferanforderungen zweiter Klasse, die als die zweite Klasse durch die Klassifizierungseinheit klassifiziert sind, gemäß einer zweiten Planungsrichtlinie zu planen, worin eine Verringerung von Umfängen der mechanischen Aktionen, die beim Ausführen von Datentransfers erforderlich sind, die durch die Datentransferanforderungen angefordert werden, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge der Verarbeitung ist, während eine Verarbeitung der Datentransferanforderungen der ersten und zweiten Klasse derart geplant wird, dass die Datentransferanforderungen erster Klasse bei einer höheren Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden; und
    eine Verarbeitungseinheit, die konfiguriert ist, die Datentransferanforderungen gemäß einem Planungsergebnis, das durch die Planungseinheit erhalten wird, so zu verarbeiten, um die Speichereinrichtung zu steuern, Datentransfers auszuführen, die durch die Datentransferanforderungen angefordert werden.
  • Ein dritter Aspekt der Erfindung sieht ein computerverwendbares Medium vor mit darin verkörperten computerlesbaren Programmcodes zum Veranlassen eines Computers, als eine Datentransferanforderungsverarbeitungseinrichtung zum Verarbeiten von Datentransferanforderungen mit Bezug auf eine Speichereinrichtung zu funktionieren, die mechanische Aktionen beim Ausführen von Datentransfers erfordert, die computerlesbaren Programmcodes inkludierend:
    einen ersten computerlesbaren Programmcode zum Veranlassen des Computers, die Datentransferanforderungen mit jeweiligen Fristabläufen zum Abschließen angeforderter Datentransfers sequenziell anzunehmen;
    einen zweiten computerlesbaren Programmcode zum Veranlassen des Computers, wiederholt eine Beziehung zwischen einem Fristablauf jeder angenommenen Datentransferanforderung und einer aktuellen Zeit zu prüfen und jede angenommene Datentransferanforderung in eine von ersten und zweiten Klassen gemäß der Nähe der aktuellen Zeit zu jedem Fristablauf zu klassifizieren;
    einen dritten computerlesbaren Programmcode zum Veranlassen des Computers, eine Verarbeitung von Datentransferanforderungen erster Klasse, die als die erste Klasse durch den zweiten computerlesbaren Programmcode klassifiziert sind, gemäß einer ersten Planungsrichtlinie zu planen, worin ein Abschluss von Datentransfers, die durch die Datentransferanforderungen angefordert werden, innerhalb der Fristabläufe, die für die Datentransferanforderungen spezifiziert sind, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge einer Verarbeitung ist, und eine Verarbeitung von Datentransferanforderungen zweiter Klasse, die als die zweite Klasse durch den zweiten computerlesbaren Programmcode klassifiziert sind, gemäß einer zweiten Planungsrichtlinie zu planen, worin eine Verringerung von Umfängen der mechanischen Aktionen, die beim Ausführen von Datentransfers erforderlich sind, die durch die Datentransferanforderungen angefordert werden, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge einer Verarbeitung ist, während eine Verarbeitung der Datentransferanforderungen der ersten und zweiten Klasse derart geplant wird, dass die Datentransferanforderungen erster Klasse bei einer höheren Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden; und
    einen vierten computerlesbaren Programmcode zum Veranlassen des Computers, die Datentransferanforderungen gemäß einem Planungsergebnis, das durch den dritten computerlesbaren Programmcode erhalten wird, so zu verarbeiten, um die Speichereinrichtung zu steuern, Datentransfers auszuführen, die durch die Datentransferanforderungen angefordert werden.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung, aufgenommen in Verbindung mit den begleitenden Zeichnungen, offensichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das eine beispielhafte Konfiguration eines Datenspeichersystems zeigt, inkorporierend eine Datentransferanforderungsverarbeitungseinrichtung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2 ist ein Zeitsteuerungsdiagramm, das eine beispielhafte Puffernutzung in dem Fall einer Verwendung von zwei Puffern in dem Datenspeichersystem von 1 zeigt.
  • 3 ist ein Zeitsteuerungsdiagramm, das eine beispielhafte Puffernutzung in dem Fall einer Verwendung von mehr als zwei Puffern in dem Datenspeichersystem von 1 zeigt.
  • 4 ist ein Zeitsteuerungsdiagramm, das eine Verarbeitung von Datentransferanforderungen von Klasse-1 in dem Fall einer Einstellung einer Zeitdifferenz zwischen einer Frist und einer Klassenumschaltzeit gleich einer Periode in dem Datenspeichersystem von 1 zeigt.
  • 5 ist ein Zeitsteuerungsdiagramm für Datentransferanforderungen und Datenverbrauchsverarbeitung in dem Fall vom periodischen Lesen von einer Speichereinrichtung in dem Datenspeichersystem von 1.
  • 6 ist ein Flussdiagramm, das eine Prozedur bis zu einer Registrierung einer individuellen Datentransferanforderung in einen Planer in dem Datenspeichersystem von 1 zeigt.
  • 7 ist ein Flussdiagramm, das eine Prozedur zeigt, um eine Frist einer Datentransferanforderung in einer periodischen Anforderungssequenzmanagementeinheit in dem Datenspeichersystem von 1 zu prüfen.
  • 8 ist ein Flussdiagramm, das eine Prozedur zeigt, um eine Frist und eine Klassenumschaltzeit für eine Datentransferanforderung in einer Zeiteinstellungseinheit in dem Datenspeichersystem von 1 einzustellen.
  • 9 ist ein Flussdiagramm, das eine Prozedur zeigt, um Datentransferanforderungen in eine Managementeinheit für Klasse-1 oder eine Managementeinheit für Klasse-2 in einem Planer in dem Datenspeichersystem von 1 zu registrieren.
  • 10 ist ein Flussdiagramm einer beispielhaften Operation, in dem ein Planer eine Verarbeitung einer Anforderung höchster Priorität in dem Datenspeichersystem von 1 anweist.
  • 11 ist ein Zeitsteuerungsdiagramm für Datengenerierung und Datentransferanforderungsverarbeitung in dem Fall vom periodischen Schreiben in eine Speichereinrichtung in dem Datenspeichersystem von 1.
  • 12A, 12B und 12C sind Zeitsteuerungsdiagramme, die beispielhafte Anforderungsverarbeitungsergebnisse durch zwei konventionelle Schemata und das Schema der vorliegenden Erfindung in dem Fall vom gleichzeitigen Arbeiten von drei Anwendungen zeigen, die periodische Datentransferanforderungen ausgeben.
  • 13 ist ein Flussdiagramm einer beispielhaften Operation, in der ein Planer eine Verarbeitung in einer absteigenden Reihenfolge von Priorität anweist, wenn eine Vielzahl von Laufwerken in der Datenspeichereinrichtung von 1 verwendet werden.
  • 14 ist ein Flussdiagramm einer beispielhaften Operation, in der ein Planer eine Verarbeitung in einer absteigenden Reihenfolge von Priorität anweist, wenn auch Anforderungen ohne Fristen in dem Datenspeichersystem von 1 behandelt werden.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Bezug nehmend nun auf 1 bis 14 werden die bevorzugten Ausführungsformen eines Datentransferanforderungsverarbeitungsschemas gemäß der vorliegenden Erfindung detailliert beschrieben.
  • Zuerst wird mit Bezug auf 1 ein Überblick des Datentransferanforderungsverarbeitungsschemas der vorliegenden Erfindung beschrieben.
  • Wie in 1 gezeigt, umfasst eine Datentransferanforderungsverarbeitungseinrichtung gemäß einer Ausführungsform der vorliegenden Erfindung allgemein eine Anforderungsempfangseinheit 101, eine Zeiteinstellungseinheit 102, einen Planer 103 und eine Speichereinrichtungssteuereinheit 104.
  • Die Anforderungsempfangseinheit 101 spielt eine Rolle einer Schnittstelle zum Empfangen von Datentransferanforderungen von Anwendungen 105, die in einem System arbeiten, das diese Datentransferanforderungsverarbeitungseinrichtung nutzt.
  • In jeder Datentransferanforderung werden eine Speicherposition in einer Speichereinrichtung 106 von Daten, die zu transferieren sind, und eine Adresse eines Puffers 107 zum Speichern von Daten, die zu transferieren sind, beschrieben, ähnlich wie in einer Anforderung für eine konventionelle Speichereinrichtung. Wenn die Datentransferanforderung eine Anforderung zum Lesen ist, ist hier die Speichereinrichtung 106 eine Transferquelle und der Puffer 107 ist ein Transferziel, wohingegen wenn die Datentransferanforderung eine Anforderung zum Schreiben ist, ist der Puffer 107 eine Transferquelle und die Speichereinrichtung 106 ist ein Transferziel. Außerdem wird in dieser Ausführungsform eine Frist dieser Datentransferanforderung innerhalb dieser Datentransferanforderung spezifiziert.
  • Die Zeiteinstellungseinheit 102 verweist auf die Datentransferanforderung, die von der Anforderungsempfangseinheit 101 empfangen wird, und setzt eine Zeit früher als die Frist dieser Anforderung als eine Klassenumschaltzeit. Die Klassenumschaltzeit ist eine Zeit, in der dieser Datentransferanforderung von einem Zustand einer Zugehörigkeit zu einer Klasse-2 zu einem Zustand einer Zugehörigkeit zu einer Klasse-1 umgeschaltet werden sollte, wobei Klasse-1 und Klasse-2 Klassen zum Planen von Datentransferanforderungen gemäß unterschiedlichen Richtlinien sind, wie nachstehend beschrieben wird (falls die Klassenumschaltzeit, die hier eingestellt wird, eine vergangene Zeit im Vergleich zu der aktuellen Zeit ist, wird eine derartige Datenanforderung zu der Klasse-1 von Beginn an gehören).
  • Der Planer 103 vergleicht die aktuelle Zeit und die Klassenumschaltzeit, wenn die Datentransferanforderung, für die die Klassenumschaltzeit eingestellt ist, von der Zeiteinstellungseinheit 102 empfangen wird, und klassifiziert die Datentransferanforderung als entweder Klasse-1, wenn die aktuelle Zeit bereits die Klassenumschaltzeit überschreitet, oder anderenfalls Klasse-2. Danach setzt der Planer 103 fort, die Klassenumschaltzeit der Anforderung zu überwachen, die als Klasse-2 klassifiziert ist, und hebt die Anforderung zu Klasse-1 an, wenn die aktuelle Zeit die Klassenumschaltzeit überschreitet.
  • Der Planer 103 wählt auch Anforderungen, die als Klasse-1 klassifiziert sind, bei einer höheren Priorität als Anforderungen, die als Klasse-2 klassifiziert sind. Prioritätsreihenfolgen unter Anforderungen, die in die gleiche Klasse klassifiziert sind, werden gemäß einer Planungsrichtlinie bestimmt, die für jede Klasse angenommen ist. Auf diese Weise wird eine Anforderung mit dem höchsten Prioritätsgrad, der als ausführbar beurteilt ist gemäß der Planungsrichtlinie jeder Klasse, ausgewählt, und es wird ein Befehl zu der Speichereinrichtungssteuereinheit 104 gemäß der ausgewählten Datentransferanforderung ausgegeben.
  • Die Speichereinrichtungssteuereinheit 104 gibt Steuerbefehle, die bei einer Verarbeitung der Datentransferanforderung höchster Priorität, ausgewählt durch den Planer 103, notwendig sind, zu der Speichereinrichtung 106 gemäß einem Befehl von den Planer 103 aus. Die Steuerbefehle inkludieren nicht nur einen Datentransferbefehl, sondern auch einen Befehl zum Bewegen eines Speichermediums in einem Medienwechsler und der gleichen. Durch diese Steuerbefehle werden die Daten zwischen der Speichereinrichtung 106 und einem Puffer 107 innerhalb eines Speichers 108 eines Systems transferiert, das diese Datentransferanforderungsverarbeitungseinrichtung nutzt.
  • Es wird vermerkt, dass eine Differenz zwischen der Frist und der Klassenumschaltzeit nicht notwendigerweise einen fixierter Wert annehmen kann. Es ist für die Zeiteinstellungseinheit 102 auch möglich, die Klassenumschaltzeit gemäß anderer Information einzustellen, die sich auf eine individuelle Datentransferanforderung bezieht. In dem Fall z.B., wo im voraus bekannt ist, dass eine individuelle Datentransferanforderung periodisch ausgegeben wird, ist es möglich, diese Periode als eine Differenz zwischen der Frist und der Klassenumschaltzeit einzustellen.
  • Auch können der Fall, wo der Abschluss einer Verarbeitung vor der Frist allein wichtig ist, und der Fall, wo eine Antwortzeit auch wichtig ist, für eine individuelle Datentransferanforderung derart unterschieden werden, dass eine Anforderung, für die eine Antwortzeit wichtig ist, als Klasse-1 von Beginn an durch Einstellen der Klassenumschaltzeit in der aktuellen Zeit klassifiziert wird.
  • Jede Anforderung, die als Klasse-1 klassifiziert ist, ist eine Anforderung, für die die Klassenumschaltzeit bereits vergangen ist und die Frist relativ nahe ist. Folglich ist es, als eine Planungsrichtlinie, die durch den Planer 103 für Klasse-1 anzunehmen ist, wünschenswert, eine Richtlinie einzusetzen, die Information in Bezug auf eine Zeit als einen primären Schlüsselfaktor beim Bestimmen der Verarbeitungsreihenfolge verwendet, wie etwa EDF oder RM (eine Richtlinie, in der der Abschluss einer Verarbeitung jeder Anforderung vor ihrer Frist garantiert ist, eine Richtlinie, die eine höhere Priorität dem Abschluss einer Verarbeitung jeder Anforderung vor ihrer Frist als die Verringerung eines Umfangs von mechanischen Aktionen gibt etc.). Mindestens sollte diese Richtlinie vorzugsweise nicht eine Richtlinie sein, in der einige Anforderungen abhängig von einem Zustand der Speichereinrichtung für immer wartend gehalten werden können.
  • Andererseits ist jede Anforderung, die als Klasse-2 klassifiziert ist, eine Anforderung, für die die Frist nicht nahe ist, und die zu Klasse-1 angehoben wird, wenn die Klassenumschaltzeit vergangen ist, während die Zeit abläuft. Folglich ist es, als eine Planungsrichtlinie, die durch den Planer 103 für Klasse-2 anzunehmen ist, akzeptabel, eine Richtlinie einzusetzen, in der einige Anforderungen für immer wartend gehalten werden können. Aus diesem Grund wird in der vorliegenden Erfindung eine Planungsrichtlinie, die auf Information hinsichtlich eines Zustands der Speichereinrichtung (eine aktuelle Zugriffsposition eines Bandes, ein Identifikator eines Mediums, das gegenwärtig in einem Laufwerk 110 eines Medienwechslers eingehängt (mounted) ist etc.) verweist und einen Umfang von mechanischen Aktionen, die bei Verarbeitung jeder Anforderung erforderlich sind, als einen Schlüsselfaktor bei Bestimmung der Verarbeitungsreihenfolge verwendet (eine Richtlinie zum Reduzieren mindestens eines von einem Umfang einer Bewegung eines Speichermediums (einen Umfang zum Rückspulen eines Bandes z.B.), einem Umfang einer Bewegung eines Kopfes, um auf das Speichermedium zuzugreifen, und der Zahl von Medienwechseln, eine Richtlinie, die eine höhere Priorität der Verringerung dieser Dinge als der schnellen Verarbeitung der Anforderung gibt etc.) für Klasse-2 eingesetzt.
  • Es wird vermerkt, dass jedes oben (und nachstehend) beschriebene Element in der Form von Software oder einer Kombination von Software und Hardware vorgesehen werden kann. Es ist auch möglich, die Datentransferanforderungsverarbeitungseinrichtung dieser Ausführungsform durch Installieren eines Programms zum Realisieren von Funktionen jedes Elementes wie oben beschrieben in einem Mehrzweckcomputer zu realisieren.
  • In dem Fall einer Verwendung eines Medienwechslers als die Speichereinrichtung 106 gibt es Notwendigkeiten für Wechsel von Speichermedien, um ein geeignetes Speichermedium, das ein Ziel der Datentransferanforderung ist, in das Laufwerk 110 einzuhängen. Der Umfang einer Bewegung eines Speichermediums und mechanischer Teile zum Befördern des Speichermediums ist im Vergleich mit den anderen mechanischen Teilen innerhalb der Speichereinrichtung 106 (wie etwa z.B. eines Kopfes einer optischen Platteneinrichtung) relativ groß. Insbesondere kann die Lebensdauer der mechanischen Teile zum Befördern von Medien problematisch sein.
  • Aus diesem Grund ist in dieser Ausführungsform die Planungsrichtlinie für Klasse-2 mit einer Funktion zum Durchführen einer Beurteilung versehen, derart, dass die Datentransferanforderung, die einen Medienwechsel erfordert, nicht verarbeitet wird (oder später verarbeitet wird). Zu diesem Zweck managt die Speichereinrichtungssteuereinheit 104 den Zustand des Laufwerkes 110 des Medienwechslers und unterhält eine Medienwechslerzustandsinformation 109, auf die von dem Planer 103 verwiesen werden kann, um zu beurteilen, ob ein Speichermedium in dieses Laufwerk eingeführt ist oder nicht und eine Medienzahl dieses Mediums zu erhalten, falls das Medium eingeführt ist.
  • Zur Zeit einer Auswahl der ausführbaren Datentransferanforderung unter Anforderungen, die als Klasse-2 klassifiziert sind, beurteilt und wählt der Planer 103 nur jene Datentransferanforderungen, deren Ziele ein Speichermedium ist, das in das Laufwerk in diesem Moment als ausführbar eingeführt ist. Auf diese Weise werden, selbst wenn das Laufwerk in einem Ruhezustand ist und es einige Anforderungen gibt, die als Klasse-2 klassifiziert sind, diese Anforderungen solange nicht ausgewählt, wie ein Speichermedium, das ein Ziel dieser Anforderungen ist, nicht in das Laufwerk eingeführt ist.
  • Als ein Ergebnis wird die Datentransferanforderung als Klasse-2 klassifiziert, bis ihre Klassenumschaltzeit erreicht ist, und derart geplant, dass die Zahl von Speichermedienwechseln reduziert wird. Wenn die Klassenumschaltzeit vergangen ist, wird die Anforderung zu Klasse-1 angehoben und gemäß der Zeit, wie etwa ihrer Frist, als ein Schlüssel geplant, an Stelle der Verringerung der Zahl von Speichermedienwechseln.
  • In dieser Ausführungsform ist es auch möglich, eine Funktion zum Verarbeiten der Datentransferanforderung, die von einer Anwendung empfangen wird, durch ihre Unterteilung in eine Vielzahl von Teilanforderungen vorzusehen. Sobald der Datentransfer mit Bezug auf die Speichereinrichtung gestartet ist, ist es im allgemeinen schwierig, diesen Datentransfer zu unterbrechen und stattdessen eine andere Transferanforderung auszuführen. Wenn der Transferumfang, der durch die Datentransferanforderung spezifiziert wird, einen gewissen fixierten Einheitenumfang überschreitet, kann aus diesem Grund eine derartige Datentransferanforderung in eine Vielzahl von Teil anforderungen derart unterteilt werden, dass der Transferumfang jeder Teilanforderung den Einheitenumfang nicht überschreitet. Bei Verwendung dieser Funktion wird es möglich, eine Gelegenheit für eine Unterbrechung beizubehalten, wann immer der Datentransfer in dem Einheitenumfang ausgeführt wird, sogar für die Datentransferanforderungsverarbeitung, die normalerweise nicht unterbrochen werden kann. Es wird vermerkt, dass diese Anforderungsunterteilungsfunktion in einer beliebigen der Anforderungsempfangseinheit 101, der Zeiteinstellungseinheit 102 oder des Planers 103 realisiert werden kann.
  • Die Speichermedien inkludieren jene, für die die Datentransferrate für das Lesen und das Schreiben stark unterschiedlich ist. In dem Fall vom Schreiben zu der magneto-optischen Platte z.B. gibt es einige magneto-optische Platten, die die dreistufige Verarbeitung zum Löschen alter Daten, Auf zeichnen neuer Daten und Verifizieren aufgezeichneter Daten erfordern. In diesem Fall ist die Zeit, die beim Schreiben von Daten erforderlich ist, dreimal länger als der Fall zum Lesen von Daten der gleichen Größe. In einem derartigen Fall ist es zweckdienlich, die oben beschriebene Anforderungsunterteilungsfunktion zu verwenden. In dem Fall vom Schreiben wird nämlich die Anforderung durch Einstellen des Einheitenumfangs, 1/3 des Einheitenumfangs für das Lesen zu sein, unterteilt. Auf diese Weise können die Transferzeit für den Einheitenumfang vom Schreiben und die Transferzeit für den Einheitenumfang vom Lesen hergestellt werden, gleich zu erscheinen.
  • Der Puffer 107 zum Speichern von Daten, die aus der Speichereinrichtung als Reaktion auf die Datentransferanforderung ausgelesen werden oder zum Speichern von Daten, die in die Speichereinrichtung zu schreiben sind, ist normalerweise in dem Speicher 108 vorgesehen, und auf ihn wird durch seine Ad resse in der Datentransferanforderung verwiesen. In dem Fall einer Verwendung des Medienwechslers oder dergleichen als die Speichereinrichtung 106 ist es jedoch möglich, einen Cache vorzusehen, der durch eine Festplatte oder dergleichen gebildet wird, um den Overhead wegen einem Zugriff auf eine derartige Speichereinrichtung abzudecken. Wenn die erforderliche Pufferkapazität groß ist, kann dann der Puffer 107 in der Cache-Festplatte vorgesehen werden, die eine größere Kapazität als der Speicher hat, und die oben beschriebene Operation kann mit Bezug auf diesen Puffer 107 ausgeführt werden.
  • Als Nächstes wird der Fall einer Anwendung der vorliegenden Erfindung auf ein System beschrieben, das Datentransferanforderungen behandelt, die periodisch zu verarbeiten sind.
  • Hier sind die Datentransferanforderungen, die periodisch zu verarbeiten sind, Anforderungen einer fortlaufenden Datentransferanforderungssequenz, für die jeweilige Fristen im Intervall einer Periode eingestellt sind, die für diese Sequenz spezifisch ist. Im folgenden wird eine Sequenz, die durch eine Vielzahl derartiger Datentransferanforderungen gebildet wird, einfach als "periodische Anforderungssequenz" bezeichnet.
  • In einer Anwendung, in der Daten, die sequenziell in Einheiten einer gewissen fixierten Größe aus der Speichereinrichtung ausgelesen werden, bei einer konstanten Rate zu verbrauchen sind, ist es z.B. notwendig, nächste Daten auszulesen, bevor aktuelle Daten vollständig verbraucht sind und ein Verbrauch nächster Daten beginnt. Eine Zeit, die beim Verbrauch von Daten in einer gewissen fixierten Größe erforderlich ist, ist eine Konstante, sodass eine Zeit, in der ein Verbrauch individueller Daten beginnt, d.h. die Frist einer individuellen Datentransferanforderung, in einer konstanten Periode kommt.
  • Im allgemeinen wird in dem Fall einer Verarbeitung periodisch generierter Anforderungen durch die Planungsrichtlinie, wie etwa RM oder EDF, vorausgesetzt, dass jede Anforderung in einer Startzeitsteuerung jeder Periode ausgegeben wird und die Frist dieser Anforderung in einer Endzeitsteuerung dieser Periode eingestellt wird (d.h. die relative Frist wird gleich der Periode gesetzt). Dies ist so wegen einem Planungsumsetzbarkeitstest (der nachstehend zu beschreiben ist) zum Beurteilen, ob es möglich ist zu garantieren, dass die Frist jeder Anforderung für eine Serie von Anforderungen, die periodisch zu verarbeiten sind, relativ einfach auf RM und EDF unter einer derartigen Voraussetzung angewendet werden kann.
  • Als einen beispielhaften Fall, der die obige Voraussetzung erfüllt, gibt es einen Fall, in dem doppelte Puffer vorgesehen werden, und ein Puffer zum Ausführen der Datentransferanforderungsverarbeitung und ein Puffer, von dem die Anwendungsbenutzerdaten in einem Intervall einer Periode umgeschaltet werden, wie in 2 gezeigt. In 2 zeigen bidirektionale Pfeile einer doppelten Linie eine Zeitperiode zwischen der Ausgabezeit und der Frist jeder Datentransferanforderung an.
  • Wenn mehr als zwei Puffer verfügbar sind, wie in 3 gezeigt, ist es jedoch möglich, die Datentransferanforderungen vor einer Zeit vor der Frist um eine Periodenzeit auszugeben/zu verarbeiten.
  • Aus diesem Grund ist in dieser Ausführungsform die Zeiteinstellungseinheit 102 mit einer Funktion zum Einstellen der Klassenumschaltzeit in einer Zeit vor der Frist um eine Periodenzeit versehen. Auf diese Weise werden selbst in dem Fall, wie in 3 gezeigt, alle Anforderungen, die als Klasse-1 zu klassifizieren sind, als Klasse-1 in einer Startzeitsteue rung jeder Periode registriert und die Frist wird in einer Endzeitsteuerung dieser Periode eingestellt, wie in 4 gezeigt. Folglich wird es möglich, die periodische Anforderungssequenz durch Annahme von RM oder EDF als die Planungsrichtlinie für Klasse-1 zu verarbeiten.
  • Um RM als die Planungsrichtlinie für Klasse-1 anzunehmen, kann der Planer 103 mit einer Funktion zum Auswählen der Datentransferanforderungen, die als Klasse-1 zu klassifizieren sind, in einer aufsteigenden Reihenfolge ihrer Perioden versehen sein.
  • Um EDF als die Planungsrichtlinie für Klasse-1 anzunehmen, kann der Planer 103 mit einer Funktion zum Auswählen der Datentransferanforderungen, die als Klasse-1 zu klassifizieren sind, in einer aufsteigenden Reihenfolge ihrer Fristen versehen sein.
  • In dem Fall, wo die Anwendung die Frist einer individuellen Datentransferanforderung spezifiziert, ist es möglich, dass die Anwendung die Frist in einer Zeit früher als das, was für diese periodische Anforderungssequenz angemessen ist, fehlerhaft einstellt. Wenn eine Anwendung einen Fehler dieser Art macht, kann ebenso der nachteilige Effekt in der Operation der anderen periodischen Anforderungssequenzen verursacht werden.
  • In einem derartigen Fall, wo der Anforderungsausgabezeitsteuerung oder der Frist, die durch die Anwendung spezifiziert werden, nicht vertraut werden kann, ist es möglich, eine Managementeinheit einer periodischen Anforderungssequenz 111 in der Datentransferanforderungsverarbeitungseinrichtung dieser Ausführungsform vorzusehen, anstatt der Anwendung zu erlauben, die Frist einer individuellen Anforderung zu spezifizieren. Diese Managementeinheit einer periodischen Anforderungs sequenz 111 managt eine Periode jeder periodischen Anforderungssequenz und bestimmt die Klassenumschaltzeit und die Frist für jede Datentransferanforderung unter Verwendung einer Managementtabelle 112. Die Zeiteinstellungseinheit 102 verweist auf diese Klassenumschaltzeit und Frist, bestimmt durch die Managementeinheit einer periodischen Anforderungssequenz 111, und stellt die Klassenumschaltzeit und die Frist für die Datentransferanforderung ein, die zu dieser Sequenz gehört.
  • Außerdem kann die Managementeinheit einer periodischen Anforderungssequenz 111 auch mit einer Funktion zum Prüfen versehen sein, ob alle Anforderungen vollständig innerhalb ihrer jeweiligen Fristen verarbeitet werden können oder nicht, wenn die Anwendung 105 die periodische Anforderungssequenz in die Managementeinheit einer periodischen Anforderungssequenz 111 registriert, und die Registration verweigert, falls der Abschluss einer Verarbeitung aller Anforderungen innerhalb ihrer jeweiligen Fristen nicht garantiert werden kann.
  • Um diese Funktion zu realisieren, kann der Planungsumsetzbarkeitstest, der konventionell in EDF oder RM verwendet wird, angenommen werden. Der konventionelle Planungsumsetzbarkeitstest basiert auf einem Wert einer Nutzungsrate U, die wie folgt kalkuliert werden kann. U = Σ(Ci/Ti)(i = 1, ..., n) wobei n die Zahl von Sequenzen ist, Ci eine Zeit ist, die bei Verarbeitung einer individuellen Anforderung in der i-ten Sequenz erforderlich ist, und Ti eine Periode der i-ten Sequenz ist.
  • Wie in 4 gezeigt, wird jede Anforderung von Klasse-1 in Klasse-1 in einer Startzeitsteuerung jeder Periode regist riert, und die Frist wird in einer Endzeitsteuerung dieser Periode eingestellt, sodass in dem Fall von EDF die notwendige und ausreichende Bedingung zum Garantieren der Frist jeder Anforderung durch U ≤ 1 gegeben ist. In dem Fall von RM ergibt sich die ausreichende Bedingung zum Garantieren der Frist jeder Anforderung durch U ≤ n × (2i/n – 1).
  • Es wird vermerkt, dass diese Bedingungen voraussetzen, dass die Unterbrechung für jede Anforderung möglich ist. Folglich wird unter Verwendung des oben beschriebenen Anforderungsunterteilungsverfahrens der Transferumfang einer individuellen Anforderung hergestellt, einen gewissen vorgeschriebenen Einheitenumfang nicht zu überschreiten. Dann wird eine Zeit, die beim Verarbeiten einer individuellen Anforderung erforderlich ist, wie folgt erhalten. C = (die schlechteste mögliche Zeit, die für den Medienwechsel erforderlich ist) + (eine Transferzeit, die zum Transferieren eines Einheitenumfangs erforderlich ist)
  • Ferner wird die Periode der i-ten Sequenz eingestellt, Ti' = Ti – C zu sein, und eine modifizierte Nutzungsrate U' wird wie folgt kalkuliert. U' = Σ(C/Ti')(i = 1, ..., n)
  • Dann ergibt sich die ausreichende Bedingung zum Garantieren der Frist jeder Anforderung durch U' ≤ 1 für den Fall von EDF, oder durch U' ≤ n × (2i/n – 1) für den Fall von RM.
  • Es wird vermerkt, dass diese Bedingungen lediglich Beispiele der ausreichenden Bedingungen sind, und es andere Kombinationen von periodischen Anforderungssequenzen gibt, für die die Frist jeder Anforderung garantiert werden kann, selbst wenn diese Bedingungen nicht erfüllt sind.
  • In dem Fall einer Einstellung einer Differenz zwischen der Klassenumschaltzeit und der Frist, eine Periode zu sein, sind die Werte der Periode, der Klassenumschaltzeit und der Frist in einer Zeitsteuerung zum Senden der Anforderung zu dem Planer 103 nicht unabhängig. Einer dieser drei Werte kann eindeutig bestimmt werden, falls die anderen zwei Werte bekannt sind. In dem obigen Beispiel wird die Klassenumschaltzeit zu der Datentransferanforderung in der Zeiteinstellungseinheit 102 eingestellt, es ist aber auch möglich, eine Anforderung beigefügt mit ihrer Periode zu dem Planer 103 zu geben, und die Klassenumschaltzeit in dem Planer 103 aus den Werten der Periode und der Frist zu bestimmen.
  • Auch in dem Fall einer Annahme von RM als die Planungsrichtlinie für Klasse-1 ist z.B. die Frist in dem Planer 103 unnötig, nachdem die Prüfung durch die Managementeinheit einer periodischen Anforderungssequenz 111 geschehen ist, sodass es möglich ist, die Klassenumschaltzeit und die Periode zu der Anforderung in der Zeiteinstellungseinheit 102 beizufügen und die Frist zu löschen. Es ist auch möglich, nur die Klassenumschaltzeit zu der Anforderung in der Zeiteinstellungseinheit 102 beizufügen, und die Periode in dem Planer 103 durch Abfragen der Managementeinheit einer periodischen Anforderungssequenz 111 zu erhalten. In jedem Fall ist es ausreichend, dem Planer 103 zu ermöglichen, die Klassenumschaltzeit zu bestimmen.
  • Als Nächstes wird ein Verfahren zum Behandeln einer Datentransferanforderung ohne Frist in dieser Ausführungsform beschrieben. In dieser Ausführungsform ist die Datentransferanforderung ohne Frist als Klasse-3 klassifiziert, die von Klasse-1 und Klasse-2 verschieden ist. Auch stellt die Zeiteinstellungseinheit 102 keinerlei Klassenumschaltzeit zu ei ner Anforderung ein, für die eine Frist nicht spezifiziert ist.
  • Zur Zeit einer Auswahl der Anforderung hoher Priorität in dem Planer 103 kann die Prioritätsreihenfolge unter unterschiedlichen Klassen auf mehreren Wegen zugewiesen werden. Die höhere Prioritätsreihenfolge kann in einer Reihenfolge von Klasse-1, Klasse-3 und Klasse-2, oder in einer Reihenfolge von Klasse-1, Klasse-2 und Klasse-3 zugewiesen werden. In dem Fall, wo eine Antwortzeit der Anforderung, die als Klasse-3 klassifiziert ist, wichtig ist, kann der Anforderung von Klasse-3 eine höhere Priorität als der Anforderung von Klasse-2 gegeben werden. In dem Fall, wo die Verringerung eines Umfangs von mechanischen Aktionen in der Speichereinrichtung 106 wichtig ist, kann der Anforderung von Klasse-2 eine höhere Priorität als der Anforderung von Klasse-3 gegeben werden.
  • Bezüglich der Planungsrichtlinie, die für Klasse-3 anzunehmen ist, gibt es keine Notwendigkeit, Information bezüglich der Zeit als einen Schlüssel zu verwenden, aber die Anforderung, die als Klasse-3 klassifiziert ist, wird niemals zu Klasse-1 angehoben, sodass es wünschenswert ist, eine Richtlinie zu verwenden, in der die Anforderung nicht für immer wartend gehalten wird.
  • Im folgenden wird der Fall einer gleichzeitigen Handhabung vieler Sequenzen von Datentransferanforderungen, die periodisch in einem System zu verarbeiten sind, das einen entfernbaren Plattenmedienwechsler als die Speichereinrichtung verwendet, die ein Ziel der Datentransferanforderungen zu sein hat, als ein konkretes Beispiel dieser Ausführungsform beschrieben.
  • In dem Fall dieses Beispiels empfängt die Anforderungsempfangseinheit 101 von 1 eine Registration der periodi schen Anforderungssequenz und individueller Datentransferanforderungen, die zu dieser periodischen Anforderungssequenz gehören, von der Anwendung 105.
  • Die Managementeinheit einer periodischen Anforderungssequenz 111 managt jede registrierte periodische Anforderungssequenz durch Speichern ihres Identifikators, ihrer Periode und einer Frist einer vorherigen Anforderung (nachstehend zu beschreiben) als einen Datensatz in der Managementtabelle 112.
  • Die Zeiteinstellungseinheit 102 stellt die Klassenumschaltzeit und die Frist für jede empfangene Datentransferanforderung durch Verweisen auf die Managementeinheit einer periodischen Anforderungssequenz 111 ein.
  • Der Planer 103 inkludiert eine Anforderungsklassifizierungseinheit 113, eine Managementeinheit für Klasse-1 114, eine Managementeinheit für Klasse-2 115 und eine Klassenumschalteinheit 116.
  • Die Anforderungsklassifizierungseinheit 113 vergleicht die Klassenumschaltzeit jeder Anforderung mit der aktuellen Zeit, und klassifiziert diese Anforderung als Klasse-1, falls die aktuelle Zeit die Klassenumschaltzeit überschreitet, oder anderenfalls als Klasse-2.
  • Die Managementeinheit für Klasse-1 114 und die Managementeinheit für Klasse-2 115 managen Anforderungen, die jeweils als Klasse-1 und Klasse-2 klassifiziert sind, und wählen ausführbare Anforderungen mit der höchsten Priorität in den jeweiligen Klassen gemäß den Planungsrichtlinien, die für die jeweiligen Klassen angenommen sind.
  • Die Planungsrichtlinie, die für Anforderungen angenommen ist, die als Klasse-1 klassifiziert sind, ist EDF. Die Management einheit für Klasse-1 114 ist mit einer Liste versehen, in der die Anforderungen in einer Reihenfolge ihrer Fristen verkettet sind.
  • Die Planungsrichtlinie, die für Anforderungen angenommen ist, die als Klasse-2 klassifiziert sind, ist eine Richtlinie, in der nur Anforderungen in Bezug auf ein Medium, das bereits in dem Laufwerk eingeführt ist, als ausführbar ausgewählt werden. Die Managementeinheit für Klasse-2 115 ist mit so vielen Listen wie die Zahl von Speichermedien versehen, in jedem von denen Anforderungen in Bezug auf jedes Speichermedium verkettet sind. Die Planungsrichtlinie, die für Anforderungen innerhalb jeder Liste angenommen ist, ist FIFO.
  • Die Klassenumschalteinheit 116 hat eine Funktion zum Anheben jener Anforderungen, die in der Managementeinheit für Klasse-2 115 registriert sind, für die die aktuelle Zeit die Klassenumschaltzeit überschritten hat, in Klasse-1, und ihre Registration in die Managementeinheit für Klasse-1 114 (während sie aus der Managementeinheit für Klasse-2 115 gelöscht werden). Die Klassenumschalteinheit 116 ist mit einer Liste versehen, in der Knoten, die Zeiger zu Datentransferanforderungen von Klasse-2 anzeigen, in einer ansteigenden Reihenfolge ihrer Klassenumschaltzeiten verkettet sind. Es ist ein Timer 117 derart eingerichtet, dass ein Timer-Ereignis in der Klassenumschaltzeit der Anforderung an einer Spitze der Liste auftritt.
  • Zur Zeit einer sequenziellen Auswahl der ausführbaren Anforderungen mit höherer Priorität fragt der Planer 103 zuerst in der Managementeinheit für Klasse-1 114 nach, ob ausführbare Anforderungen von Klasse-1 existieren oder nicht. Falls sie existieren, wird die Anforderung mit der höchsten Priorität unter ihnen ausgewählt. Falls sie nicht existieren, fragt der Planer 103 in der Managementeinheit für Klasse-2 115 nach, ob Anforderungen von Klasse-2 mit Bezug auf ein Speichermedium, das gegenwärtig in dem Laufwerk eingeführt ist, existieren oder nicht. Falls sie existieren, wird die Anforderung mit dem höchsten Prioritätsgrad unter ihnen ausgewählt. Falls sie nicht existieren, wird beurteilt, dass es in diesem Punkt keine ausführbare Anforderungen gibt. Es wird vermerkt, dass dies nur ein Beispiel ist, und es andere mögliche Beispiele gibt. Falls z.B. weder die ausführbaren Anforderungen von Klasse-1 noch die ausführbaren Anforderungen von Klasse-2 existieren, kann die Anforderung mit der frühesten Klassenumschaltzeit unter den Datentransferanforderungen von Klasse-2 ausgewählt werden, während der Medienwechsel zu einem Speichermedium ausgeführt wird, das ein Ziel der ausgewählten Anforderung ist, oder die Anforderung mit Bezug auf ein Speichermedium, wovon beurteilt wird, einen geringsten Umfang von Aktionen von mechanischen Teilen für den Zweck des Medienwechsels durch irgendein Kriterium unter den Datentransferanforderungen von Klasse-2 zu haben, kann ausgewählt werden, während der Medienwechsel zu diesem Speichermedium ausgeführt wird.
  • Die Speichereinrichtungssteuereinheit 104 steuert den Medienwechsel des Medienwechslers 106 und den Datentransfer des entfernbaren Plattenlaufwerkes 110 gemäß Befehlen von dem Planer 103. Außerdem hat die Speichereinrichtungssteuereinheit 104 eine Medienwechslerzustandsinformation 109, erhalten durch Prüfen eines Zustands von jedem Teil des Medienwechslers 106, die bei Beantwortung einer Abfrage über den Medienwechslerzustand von dem Planer 103 verwendet wird.
  • Der Medienwechsler 106 hat eine Zahl von Einschüben größer oder gleich der Zahl von Platten für Speicherplatten, ein Laufwerk zum Ausführen des tatsächlichen Datentransfers und einen Arm zum Bewegen eines Speichermediums (Platte) zwischen den Einschüben und dem Laufwerk. Hier inkludieren die Steuer befehle von der Speichereinrichtungssteuereinheit 106 mindestens einen Befehl zum Bewegen eines Mediums von einem Einschub zu dem Laufwerk, einen Befehl zum Bewegen eines Mediums von dem Laufwerk zu einem Einschub, einen Befehl für einen Datentransfer und einen Befehl zum Prüfen eines Zustands von jedem Teil.
  • Es gibt auch eine Datenspeicherpositionsmanagementeinheit 118, die eine Entsprechung zwischen einer logischen Position, die durch die Anwendung 105 bei Verweis auf Daten, die zu transferieren sind, verwendet wird, und einer physischen Position, in der Daten tatsächlich in der Speichereinrichtung 106 gespeichert sind, in einer Speicherpositionsentsprechungstabelle 119 managt. In dem Fall z.B. zum Managen von Daten in Einheiten von Dateien hat die Datenspeicherpositionsmanagementeinheit 118 eine Funktion zum Abrufen einer Medienzahl von einem Speichermedium, in dem die Daten tatsächlich gespeichert sind, und einer Speicherposition (Sektorzahl etc.) auf diesem Speichermedium gemäß einem Dateiidentifikator (Dateiname etc.) und einer Versatzposition von einer Spitze der Datei, in der diese Daten enthalten sind.
  • Es wird vermerkt, dass die Datenspeicherpositionsmanagementeinheit 118 z.B. in der Form eines Dateisystems sein kann, und sie außerhalb der Datentransferanforderungsverarbeitungseinrichtung dieser Ausführungsform vorgesehen sein kann. In einem derartigen Fall kann die Anwendung 105 eine Konvertierung von der logischen Position zu der physischen Position der Daten durch Verweisen auf die Datenspeicherpositionsmanagementeinheit 118 ausführen, und die physische Position der Daten in der Datentransferanforderung direkt beschreiben.
  • Im folgenden wird die Operation von jedem Element in dieser Ausführungsform entlang eines Flusses der Datentransferanforderung beginnend von einer Anwendung, die Daten aus der Spei chereinrichtung sequenziell ausliest und Daten bei einer konstanten Rate verbraucht, detaillierter beschrieben.
  • Diese Anwendung 105 reserviert N Puffer 107 zum Speichern von Daten, die durch individuelle Datentransferanforderungen ausgelesen werden, speichert ausgelesene Daten sequenziell in diese Puffer und verbraucht diese ausgelesenen Daten. Hier zeigt der Verbrauch von Daten durch die Anwendung an, dass Daten aus den Puffern ausgelesen und dann zu einem Client, der mit diesem System verbunden ist, durch ein Netz abgespielt, angezeigt oder transferiert werden.
  • 5 zeigt ein Zeitsteuerungsdiagramm für die Puffernutzung in dem Fall von N = 4 an. Durch Verwenden dieser Puffer auf diese Weise ist es möglich, Daten bei einer konstanten Rate kontinuierlich zu verbrauchen.
  • Eine Periode T (sek) der periodischen Anforderungssequenz wird aus einer Rate R (Byte/sek), bei der Daten durch diese Anwendung verbraucht werden, und einem Umfang von Daten, die durch eine individuelle Anforderung transferiert werden, bestimmt. In dieser Ausführungsform ist der Umfang von Daten, die durch eine individuelle Anforderung transferiert werden, eingestellt, ein fixierter Wert B (Bytes) zu sein.
  • Zuerst führt die Anwendung 105 die Registration der periodischen Anforderungssequenz mit Bezug auf die Anforderungsempfangseinheit 110 zur Zeit des Starts der periodischen Anforderungssequenz aus. Der Inhalt, der zu registrieren ist, ist die Periode der periodischen Anforderungssequenz. In dem Fall der Anwendung dieses Beispiels reicht es aus, die Periode = T zu registrieren, wie in 5 gezeigt.
  • Als Nächstes weist die Managementeinheit einer periodischen Anforderungssequenz 111 einen Identifikator einer neuen peri odischen Anforderungssequenz zu. Dann werden dieser Identifikator, die Periode und eine Frist einer vorherigen Anforderung als ein Datensatz in der Managementtabelle 112 hinzugefügt. Wenn individuelle Datentransferanforderungen von der Anwendung 105 ausgegeben werden, prüft die Managementeinheit einer periodischen Anforderungssequenz 111 die Frist aller Datentransferanforderungen. Z.B. geschieht diese Prüfung durch Vorhersagen der Frist einer Anforderung, die als nächste zu verarbeiten ist, als eine Zeit, erhalten durch Addieren der Periode zu der Frist der vorherigen Anforderung in der periodischen Anforderungssequenz, zu der diese Anforderung gehört, und Vergleichen dieses vorhergesagten Wertes mit der Frist, die von der Anwendung gegeben wird. Ein Anfangswert der Frist einer vorherigen Anforderung wird eingestellt, die aktuelle Zeit zur Zeit einer Registrierung der periodischen Anforderungssequenz in diesem Beispiel zu sein. Nach der Registration wird der zugewiesene Identifikator zu der Anwendung 105 durch die Anforderungsempfangseinheit 101 zurückgegeben.
  • Die Anwendung 105 erstellt N Datentransferanforderungen zur Zeit des Starts der periodischen Anforderungssequenz, und ordnet Puffer diesen Datentransferanforderungen zu. Dann werden diese N Datentransferanforderungen zu der Anforderungsempfangseinheit 101 in der beabsichtigten Datenlesereihenfolge ausgegeben. Dann wird, wie in 5 gezeigt, der Verbrauch von Daten in der Frist der ersten Anforderung gestartet, d.h. eine Periode nach der Ausgabezeit der ersten Anforderung.
  • In der hier erstellten Transferanforderung werden ein Identifikator der periodischen Anforderungssequenz, zu der diese Anforderung gehört, die Frist dieser Anforderung, eine logische Position (Dateiidentifikator, Versatzposition) in der Speichereinrichtung von Daten, die zu transferieren sind, und eine Adresse des Puffers beschrieben. In dieser Ausführungsform ist der Umfang von Daten, die zu transferieren sind, in dem System fixiert, sodass es keine Notwendigkeit gibt, diese Information in einer individuellen Anforderung zu beschreiben.
  • Wie aus 5 gesehen werden kann, kann, so weit die N Datentransferanforderungen betroffen sind, die anfangs gemeinsam ausgegeben werden, die Frist eingestellt werden, (i × T + aktuelle Zeit) für die i-te Transferanforderung zu sein. Bezüglich der anschließenden Datentransferanforderungen, die die Puffer wiederverwenden, nachdem der Verbrauch der vorherigen Daten, die in den Puffern gespeichert sind, abgeschlossen ist, kann die Frist eingestellt werden, ((N – 1) × T + Ausgabezeit der Anforderung) zu sein.
  • Eine individuelle Datentransferanforderung, die von der Anwendung ausgegeben wird, wird in den Planer 103 durch die Anforderungsempfangseinheit 101 und die Zeiteinstellungseinheit 102 registriert. 6 zeigt einen Überblick über eine Prozedur für diese Registration.
  • Wenn eine individuelle Datentransferanforderung von der Anwendung 105 empfangen wird, konvertiert die Anforderungsempfangseinheit 101 die logische Position der Daten, die in der Datentransferanforderung beschrieben werden, in eine physische Position (Medienzahl und eine Speicherposition auf diesem Medium) der Daten durch Verweisen auf die Speicherpositionsentsprechungstabelle 119 der Datenspeicherpositionsmanagementeinheit 118 (Schritt S201). Dann wird die Datentransferanforderung zu der Zeiteinstellungseinheit 102 gesendet.
  • Die Zeiteinstellungseinheit 102 gibt den Identifikator der periodischen Anforderungssequenz und die Frist, beschrieben in der Datentransferanforderung, zu der Managementeinheit einer periodischen Anforderungssequenz 111.
  • Die Managementeinheit einer periodischen Anforderungssequenz 111 prüft diese Frist, die durch die Anwendung eingestellt ist, und korrigiert sie, falls notwendig (Schritt S202). Ein Detail der Prozedur, die durch die Managementeinheit einer periodischen Anforderungssequenz 111 in diesem Punkt ausgeführt wird, wird in 7 gezeigt.
  • Zuerst werden die Periode der entsprechenden periodischen Anforderungssequenz und die Frist der vorherigen Anforderung unter Verwendung des Identifikators, der von der Zeiteinstellungseinheit 102 gegeben wird, als einen Schlüssel erhalten (Schritt S301). Innerhalb der Managementeinheit einer periodischen Anforderungssequenz 111 wird der vorhergesagte Wert für die Frist der aktuellen Anforderung eingestellt, (Frist der vorherigen Anforderung + Periode) zu sein (Schritt S302). Die Frist, die von der Anwendung spezifiziert wird, wird gemäß diesem vorhergesagten Wert geprüft.
  • Es werden nämlich der vorhergesagte Wert für die Frist und die Frist, die von der Zeiteinstellungseinheit 102 gegeben wird, verglichen, und falls der vorhergesagte Wert größer ist (Schritt S303 JA), kann beurteilt werden, dass die Anwendung gerade versucht, den Datentransfer in einer Periode auszuführen, die kürzer als das ist, was geplant war. Dies könnte die fehlerhafte Operation verursachen, sodass die Frist, die durch die Anwendung spezifiziert wird und von der Zeiteinstellungseinheit 102 gegeben wird, ignoriert wird, und der vorhergesagte Wert, der durch die Managementeinheit einer periodischen Anforderungssequenz 111 kalkuliert wird, als die Frist der aktuellen Anforderung eingestellt wird (Schritt S304). Falls andererseits der vorhergesagte Wert kleiner als die Frist ist, die von der Zeiteinstellungseinheit 102 gege ben wird (Schritt S303 NEIN), kann beurteilt werden, dass die Anwendung gerade versucht, den Datentransfer in einer Periode auszuführen, die länger als das ist, was geplant war. In diesem Beispiel wird die Anforderung der Anwendung in einem derartigen Fall respektiert, sodass der vorhergesagte Wert ignoriert wird und die Frist, die von der Zeiteinstellungseinheit 102 gegeben wird, als die Frist der aktuellen Anforderung eingestellt wird (Schritt S305).
  • Dann wird die Managementtabelle 112 durch Einstellen der oben beschriebenen Frist der aktuellen Anforderung als die Frist einer vorherigen Anforderung aktualisiert (Schritt S306). Diese Frist der aktuellen Anforderung wird zu der Zeiteinstellungseinheit 102 zurückgegeben (in dem Fall von dem Schritt S305 ist die Frist, die durch die Anwendung eingestellt wird, die zeitweilig durch die Zeiteinstellungseinheit 102 aufrechterhalten wird, die gleiche wie die Frist der aktuellen Anforderung, sodass es möglich ist mitzuteilen, dass die aufrechterhaltene Frist verwendet werden sollte, an Stelle einer Rückgabe der Frist hier), und die Periode wird der Zeiteinstellungseinheit 102 gegeben.
  • Alternativ ist es auch möglich, diese Operation derart zu modifizieren, dass die Anwendung überhaupt keine Frist beifügt, die Zeiteinstellungseinheit 102 nur den Identifikator der periodischen Anforderungssequenz zu der Managementeinheit einer periodischen Anforderungssequenz 111 gibt, und der vorhergesagte Wert für die Frist der aktuellen Anforderung, der durch die Managementeinheit einer periodischen Anforderungssequenz 111 in dem Schritt S302 kalkuliert wird, direkt zu der Zeiteinstellungseinheit 102 als die Frist der aktuellen Anforderung zurückgegeben wird.
  • Die Zeiteinstellungseinheit 102 setzt die Frist der Datentransferanforderung erneut, setzt die Klassenumschalteinheit und sendet diese Datentransferanforderung zu dem Planer 103 (Schritt S203). Ein Detail der Prozedur, die durch die Zeiteinstellungseinheit 102 in diesem Punkt ausgeführt wird, wird in 8 gezeigt.
  • Zuerst wird die Frist, die ursprünglich der Datentransferanforderung beigefügt ist, durch die Frist der aktuellen Anforderung ersetzt, die von der Managementeinheit einer periodischen Anforderungssequenz 111 erhalten wird (Schritt S401). Auch wird die Klassenumschaltzeit eingestellt, (Frist – Periode) zu sein (Schritt S402). Dann wird diese Klassenumschaltzeit der Datentransferanforderung beigefügt (Schritt S403), und die Datentransferanforderung wird zu dem Planer 103 gesendet.
  • In diesem Punkt werden der Identifikator der periodischen Anforderungssequenz, die Frist, die physische Position (Medienzahl, Speicherposition auf diesem Medium) der Daten, die zu transferieren sind, die Adresse des Puffers und die Klassenumschaltzeit in der Datentransferanforderung beschrieben.
  • In dem Planer 103 wird die Datentransferanforderung, die von der Zeiteinstellungseinheit 102 empfangen wird, registriert (Schritt S204). Ein Detail der Prozedur, die durch den Planer 103 in diesem Punkt ausgeführt wird, wird in 9 gezeigt.
  • Zuerst wird die Datentransferanforderung, die von der Zeiteinstellungseinheit 102 empfangen wird, in der Anforderungsklassifizierungseinheit 113 klassifiziert. Es wird nämlich die Klassenumschaltzeit, die in der Datentransferanforderung enthalten ist, mit der aktuellen Zeit verglichen, und falls die aktuelle Zeit die Klassenumschaltzeit überschreitet (Schritt S501 JA), wird die Datentransferanforderung in die Managementeinheit für Klasse-1 114 registriert (Schritt S502). Falls die aktuelle Zeit die Klassenumschaltzeit nicht überschreitet (Schritt S501 NEIN), wird die Datentransferanforderung in die Managementeinheit für Klasse-2 115 registriert (Schritt S502).
  • In der Managementeinheit für Klasse-1 114 wird die Frist der Anforderung, die neu zu registrieren ist, geprüft, und die Anforderung wird mit der Liste derart verkettet, dass die Anforderungen in einer Reihenfolge ihrer Fristen angeordnet sind.
  • In der Managementeinheit für Klasse-2 115 wird das Zielmedium der Anforderung, die neu zu registrieren ist, geprüft, und die Anforderung wird am Boden der Liste entsprechend dem Zielmedium verkettet.
  • Zur Zeit einer Registrierung der Datentransferanforderung in die Managementeinheit von Klasse-2 115 wird die Datentransferanforderung auch in die Klassenumschalteinheit 116 registriert (Schritt S504). Wenn die Liste der Klassenumschalteinheit 116 leer ist (Schritt S505 JA) oder die Klassenumschaltzeit der Anforderung, die neu zu registrieren ist, früher als die Klassenumschaltzeit der Anforderung entsprechend dem oberen Knoten ist (Schritt S506 JA), wird der Knoten entsprechend der Anforderung, die neu zu registrieren ist, oben in der Liste eingefügt (Schritt S507). Dann wird die Timer-Ereignis-Eintrittszeit des Timers 117 zu der Klassenumschaltzeit dieser Anforderung abgestimmt (Schritt S508). Wenn eine Anforderung mit der Klassenumschaltzeit früher als die Klassenumschaltzeit der Anforderung, die neu zu registrieren ist, bereits registriert ist (Schritt S505 NEIN und S506 NEIN), wird nach einer Einfügungsposition, um die Klassenumschaltzeitreihenfolge aufrechtzuerhalten, in der Liste gesucht, und der Knoten entsprechend der Anforderung, die neu zu registrieren ist, wird in dieser Position eingefügt (Schritt S509).
  • Dies schließt die Beschreibung der Operation von jedem Element bis zu der Registration der Datentransferanforderung in den Planer 103 ab. Im folgenden wird beschrieben, wie die registrierte Datentransferanforderung durch den Planer 103 behandelt wird. Neben der oben beschriebenen Anforderungsregistrationsoperation führen die Elemente, die den Planer 103 bilden, die folgenden Operationen aus.
  • Wenn das Timer-Ereignis auftritt, prüft die Klassenumschalteinheit 116 die Klassenumschaltzeiten der Anforderungen entsprechend den Knoten, die mit der Klassenumschaltliste verkettet sind, sequenziell von der Spitze der Liste. Dann werden alle jene Anforderungen, für die die aktuelle Zeit die Klassenumschaltzeit erreicht oder überschritten hat, aus der Managementeinheit für Klasse-2 115 gelöscht und stattdessen in die Managementeinheit für Klasse-1 114 registriert, während die entsprechenden Knoten von der Liste gelöscht werden. Falls die Liste leer wird, wird dann der Timer 117 derart eingestellt, dass das Timer-Ereignis nicht auftreten wird. Falls Knoten in der Liste verbleiben, wird der Timer 117 auf die Klassenumschaltzeit der Anforderung entsprechend dem oberen Knoten in der Liste eingestellt.
  • Zur Zeit einer Auswahl der Anforderung höchster Priorität in Klasse-1 wählt die Managementeinheit für Klasse-1 114 die Anforderung an der Spitze der Liste in der Fristreihenfolge. Wenn keine Anforderung mit dieser Liste verkettet ist, wird beurteilt, dass es keine ausführbare Anforderung gibt.
  • Zur Zeit einer Auswahl der Anforderung höchster Priorität in Klasse-2 wählt die Managementeinheit für Klasse-2 115 die Anforderung an einer Spitze der Liste entsprechend dem spezifizierten Medium. Wenn keine Anforderung mit dieser Liste verkettet ist, wird beurteilt, dass es keine ausführbare Anforderung gibt.
  • Nun gibt es in dieser Ausführungsform eine Möglichkeit für die Anforderung, die bis dann nicht-ausführbar gewesen ist, ausführbar zu werden, in einer Zeitsteuerung von beliebigen der folgenden Ereignisse:
    • • wenn eine neue Anforderung registriert ist,
    • • wenn eine Anforderung, die als Klasse-2 registriert ist, zu Klasse-1 angehoben wird,
    • • wenn die Medienbewegung durch den Medienwechsler beendet ist, oder
    • • wenn der Datentransfer durch das Laufwerk des Medienwechslers beendet ist.
  • Wenn ein beliebiges der obigen Ereignisse auftritt, wählt aus diesem Grund der Planer 103 die ausführbare Anforderung mit der höchsten Priorität in diesem Punkt und weist die Operation der Speichereinrichtungssteuereinheit 104 an.
  • In diesem Beispiel hat der Medienwechsler ein einzelnes Laufwerk, sodass der Planer 103 gemäß dem Flussdiagramm von 10 wie folgt arbeitet.
  • Zuerst wird geprüft, ob das Laufwerk des Medienwechslers gegenwärtig Daten transferiert oder nicht. Falls es gegenwärtig Daten transferiert (Schritt S601 JA), geht der Planer 103 erneut zurück zu dem oben beschriebenen Ereigniswartezustand.
  • Als Nächstes wird die Anforderung höchster Priorität in der Managementeinheit für Klasse-1 114 wie oben beschrieben ausgewählt (Schritt S602). Falls die ausführbare Anforderung existiert (Schritt S603 JA), wird die Medienzahl des Mediums, das in das Laufwerk eingeführt ist, zu der Speichereinrichtungssteuereinheit 104 abgefragt (Schritt S604), und dann geprüft, ob das Zielmedium dieser Anforderung in das Laufwerk eingeführt ist oder nicht. Falls das Zielmedium eingeführt ist (Schritt S605 JA), wird der Datentransferstart zu der Speichereinrichtungssteuereinheit 104 gemäß dieser Anforderung angewiesen (Schritt S606). In diesem Punkt wird diese Anforderung aus der Managementeinheit für Klasse-1 114 gelöscht. Dann geht der Planer 103 erneut zu dem Ereigniswartezustand zurück.
  • Falls das Zielmedium nicht in das Laufwerk eingeführt ist (Schritt S605 NEIN), wird zu der Speichereinrichtungssteuereinheit 104 abgefragt, ob der Medienwechsler gegenwärtig gerade Medien bewegt (ob der Arm gegenwärtig in Verwendung ist) oder nicht. Falls er gegenwärtig nicht Medien bewegt (Schritt S607 NEIN), wird der Speichereinrichtungssteuereinheit 104 der Medienwechsel angewiesen (Schritt S608). In diesem Punkt wird diese Anforderung aus der Managementeinheit für Klasse-1 114 noch nicht gelöscht. Dann geht der Planer 103 erneut zurück zu dem Ereigniswartezustand. (Später tritt ein Ereignis auf, dass die für den Medienwechsel angewiesene Medienbewegung hier beendet ist, und die Schritte S601 bis S605 werden erneut ausgeführt, in welchem Fall der Schritt S605 JA wird, sodass der Datentransfer für die verbleibende Anforderung gestartet werden kann). Falls er gegenwärtig Medien bewegt (Schritt S607 JA), geht der Planer 103 erneut zurück zu dem Ereigniswartezustand.
  • Wenn die ausführbare Anforderung in der Managementeinheit für Klasse-1 114 nicht existiert (Schritt S603 NEIN), wird als Nächstes die Anforderung höchster Priorität in der Managementeinheit für Klasse-2 115 ausgewählt. Zu diesem Zweck wird die Medienzahl des Mediums, das in das Laufwerk eingeführt ist, zuerst zu der Speichereinrichtungssteuereinheit 104 ab gefragt (Schritt S609). Dann wird die Anforderung höchster Priorität unter den Anforderungen der Klasse-2, für die dieses Medium ein Ziel ist, ausgewählt (Schritt S610). Falls die ausführbare Anforderung existiert (Schritt S611 JA), wird der Datentransferstart zu der Speichereinrichtungssteuereinheit 104 gemäß dieser Anforderung angewiesen (Schritt S612). In diesem Punkt wird diese Anforderung aus der Managementeinheit für Klasse-2 115 gelöscht. Dann geht der Planer 103 erneut zurück zu dem Ereigniswartezustand. Falls die ausführbare Anforderung in der Managementeinheit für Klasse-2 115 nicht existiert (Schritt S611 NEIN), geht der Planer 103 erneut zurück zu dem Ereigniswartezustand.
  • Wenn der Befehl für den Medienwechsel von dem Planer 103 empfangen ist, prüft die Speichereinrichtungssteuereinheit 104, ob ein Medium in das Laufwerk 110 eingeführt ist oder nicht. Falls ein Medium eingeführt ist, wird der Steuerbefehl zum Bewegen dieses Mediums von dem Laufwerk 110 zu dem ursprünglichen Einschub zu den Medienwechsler 106 ausgegeben, und benachrichtigt den Planer 103, wenn die Bewegung beendet ist. Falls ein Medium nicht eingeführt ist, wird der Steuerbefehl zum Bewegen eines Mediums, spezifiziert von dem Planer 103, von dem Einschub zu dem Laufwerk 110 zu dem Medienwechsler 106 ausgegeben, und benachrichtigt den Planer 103, wenn die Bewegung beendet ist.
  • Wenn der Befehl für den Datentransferstart von dem Planer 103 empfangen ist, gibt die Speichereinrichtungssteuereinheit 104 auch den Steuerbefehl zum Ausführen des Datentransfers zu dem Laufwerk 110 des Medienwechslers 106 aus, und benachrichtigt den Planer 103, wenn der Datentransfer beendet ist. Das Beenden des Datentransfers wird auch der Anwendung 105 durch die Anforderungsempfangseinheit 101 mitgeteilt.
  • Wenn die Verarbeitung (Verbrauch) von Daten, die in einen beliebigen Puffer 107 gelesen sind, abgeschlossen ist und diese Daten unnötig werden, ordnet danach die Anwendung 105 diesen Puffer als einen Puffer zum Speichern von Daten, die in N Perioden später zu verarbeiten sind, erneut zu, und gibt eine neue Datentransferanforderung aus.
  • Es wird vermerkt, dass in dieser Ausführungsform die ähnlichen Operationen für die Anwendung 105 ausgeführt werden können, die Daten bei einer konstanten Rate generiert (oder von außen empfängt) und Daten in die Speichereinrichtung 106 sequenziell schreibt.
  • Die Anwendung 105 reserviert N Puffer 107 zum Speichern von Daten, die durch individuelle Anforderungen zu transferieren sind, und generiert sequenziell Daten, speichert Daten in Puffer und gibt die Datentransferanforderungen zum Schreiben in die Speichereinrichtung 106 aus, wie in 11 gezeigt.
  • Nachdem die Datentransferanforderung zum Schreiben von Daten, die in einem Puffer 107 (z.B. Puffer-0) gespeichert sind, zu der Speichereinrichtung 106 ausgegeben ist, werden Daten sequenziell in die anderen Puffer 107 (z.B. Puffer-1, Puffer-2, Puffer-3) gespeichert, und dieser Puffer (Puffer-0) wird als Nächstes in den (N – 1) Perioden später angefordert. Folglich kann die Frist der Datentransferanforderung als ((N – 1) × T + aktuelle Zeit) spezifiziert werden. Die anschließenden Operationen sind die ähnlichen wie in dem Fall einer Datenleseanwendung, mit Ausnahme dessen, dass der Datentransfer Schreiben an Stelle von Lesen ist.
  • Um die Wirkungen dieser Ausführungsform zu veranschaulichen, wird eine beispielhafte Situation zum gleichzeitigen Betreiben von drei Anwendungen zum periodischen Lesen von Daten betrachtet. Es wird angenommen, dass die Zeit, die für den Me dienwechsel erforderlich ist, t ist, und die Zeit, die zum Transferieren von Daten von B (Bytes) von der Speichereinrichtung auch die gleiche t ist. Es wird auch angenommen, dass die drei Anwendungen auf Dateien, die in unterschiedlichen Medien gespeichert sind, in jeweiligen Perioden von 6 t, 6 t und 11 t zugreifen. In einer derartigen Situation werden die folgenden drei Schemata verglichen.
    • (a) Konventionelles Schema, unter Verwendung von zwei Puffern, und ein Umfang von Daten, die durch eine individuelle Anforderung zu transferieren sind, gleich B (Bytes).
    • (b) Konventionelles Schema, unter Verwendung von zwei Puffern, und ein Umfang von Daten, die durch eine individuelle Anforderung zu transferieren sind, gleich 2 × B (Bytes), wobei die Periode zweimal länger als die von (a) ist.
    • (c) Schema gemäß dieser Ausführungsform der vorliegenden Erfindung, unter Verwendung von vier Puffern, und ein Umfang von Daten, die durch eine einzelne Anforderung zu transferieren sind, gleich B (Bytes).
  • 12A, 12B und 12C zeigen jeweils die Zeitsteuerungsdiagramme für die Verarbeitung gemäß den obigen drei Schemata. An Achsen, die mit A, B und C bezeichnet sind, die die drei Anwendungen darstellen, repräsentieren schwarze Kästen die Medienwechsel, und schwarze Kästen mit Nummern, die darin angezeigt sind, repräsentieren die Datentransfers. Die Nummern in den schwarzen Kästen zeigen die Transferreihenfolge in jeder Anwendung an.
  • wie aus 12 gesehen werden kann, sind in der Verarbeitung (c) dieser Ausführungsform alle Anforderungen als Klasse-1 zur Zeit des Starts einer neuen Anwendung klassifiziert, sodass die ersten Daten jeder Datei sequenziell transferiert werden, während zuerst der Medienwechsel ähnlich wie in (a) ausgeführt wird (es wird EDF in diesem Beispiel verwendet, aber die Anforderungen werden in einer ansteigenden Reihenfolge ihrer Perioden ähnlich wie in dem Fall einer Verwendung von RM zufällig verarbeitet). Danach wird, da die ausführbaren Anforderungen von Klasse-2 während Ruhezeiten verarbeitet werden, in denen es keine ausführbare Anforderung von Klasse-1 gibt, die Periode des Medienwechsels allmählich länger und die Zahl von Medienwechseln wird allmählich verringert.
  • Wenn nämlich (a) und (c) verglichen werden, kann die Zahl von Medienwechseln durch Erhöhen der Zahl von Puffern in (c) merklich reduziert werden.
  • Andererseits ist in (b) die Zahl von Medienwechseln kleiner als (a), da der Umfang vom Datentransfer pro Anforderung und die Periode zweimal so groß wie (a) sind, aber die Wartezeit, bis der Datenverbrauch durch die lesende Anwendung beginnt, wird auch zweimal länger.
  • Wenn (b) und (c) verglichen werden, ist die Zahl von Medienwechseln in der zweiten Hälfte des stationären Betriebszustands in (c) kleiner als in (b). Außerdem ist die tatsächliche Periode von (c) eine Hälfte von (b) (gleich (a)), sodass die Wartezeit bis zu dem Datenverbrauchsstart auch eine Hälfte von (b) ist (gleich (a)). Gemäß dieser Ausführungsform ist es nämlich möglich, die Zahl von Medienwechseln ohne Erhöhung des Umfangs von Datentransfer pro Anforderung und der Periode (d.h. die Wartezeit) zu reduzieren.
  • Es wird vermerkt, dass es auch ein Schema gibt, dass nur obere Daten der Dateien cacht, um es erscheinen zu lassen, als ob es keine Wartezeit bis zu dem Datenverbrauchsstart gibt, aber selbst wenn ein derartiges Schema eingesetzt wird, kann die Größe von jeden Daten in (c) eine Hälfte von (b) sein, sodass die gesamte Cache-Kapazität, die zum Cachen der gleichen Zahl von Daten erforderlich ist, gemäß dieser Ausführungsform die Hälfte sein kann.
  • Als Nächstes wird als eine Modifikation der obigen Ausführungsform die Operation des Planers 103 in einem beispielhaften Fall beschrieben, wo der Medienwechsler 106 eine Vielzahl von Laufwerken 110 hat.
  • In diesem Beispiel wird zuerst, wenn der Planer 103 aktiviert wird, da ein beliebiges der oben beschriebenen vier Ereignisse auftritt, eine Laufwerkzustandsliste erstellt. Diese Laufwerkzustandsliste ist eine Liste zum Anzeigen einer Reihenfolge, durch die die Laufwerke als ein Bewegungsziel auszuwählen sind, wenn es eine Notwendigkeit gibt, ein Medium von einem Einschub zu einem Laufwerk für den Zweck des Datentransfers zu bewegen.
  • In der Laufwerkzustandsliste sind Knoten mit der Laufwerkszahl und einem numerischen Wert, der einen darin beschriebenen Zustand anzeigt, in einer Reihenfolge verkettet:
    • (1) ein Laufwerk, in dem kein Medium eingeführt ist;
    • (2) ein Laufwerk, in dem ein Medium eingeführt ist, das aber gegenwärtig keine Daten transferiert, und es keine Anforderung gibt, für die dieses Medium ein Ziel ist; und
    • (3) ein Laufwerk, in dem ein Medium eingeführt ist, das aber gegenwärtig keine Daten transferiert, und es eine Anforderung gibt, für die dieses Medium ein Ziel ist.
  • Es wird vermerkt, dass ein Laufwerk, von dem gegenwärtig ein Medium zu einem Einschub bewegt wird, ein Laufwerk, zu dem ein Medium gegenwärtig von einem Einschub bewegt wird, und ein Laufwerk, zu dem ein Befehl für eine derartige Medienbewegung bereits ausgegeben ist, aus den obigen (1) bis (3) ausgeschlossen wird.
  • In diesem Beispiel ist eine Vielzahl von Laufwerken verfügbar, sodass es Fälle gibt, wo mehr als eine Anforderung von Klasse-1 gleichzeitig ausführbar sind. Aus diesem Grund ist die Managementeinheit für Klasse-1 114 mit einer Funktion zum Auswählen der ausführbaren Anforderungen in einer absteigenden Reihenfolge ihrer Priorität in diesem Moment an Stelle von einer Funktion zum Auswählen der Anforderung höchster Priorität versehen. Hier wird jedoch die Auswahl nur von jenen Anforderungen durchgeführt, deren Zielmedien die Bedingung erfüllen, dass "es in einen Einschub oder ein Laufwerk eingeführt ist und es gegenwärtig nicht Daten transferiert". Falls die obige Bedingung nicht erfüllt ist, wird eine Anforderung nicht ausgewählt, selbst wenn ihre Priorität die höchste ist, und es wird nach einer anderen Anforderung mit einer nächst höheren Priorität gesucht. Es wird vermerkt, dass während sich das Medium zwischen einem Einschub und einem Laufwerk bewegt, die obige Bedingung als nicht erfüllt zu betrachten ist.
  • Ähnlich sind für die Anforderungen von Klasse-2 eine Vielzahl von Laufwerken verfügbar, sodass es Fälle gibt, wo mehr als eine Anforderung von Klasse-2 gleichzeitig ausführbar sind. Aus diesem Grund wählt die Managementeinheit für Klasse-2 115 Anforderungen aus jenen Anforderungen aus, deren Zielmedien die Bedingung erfüllen, dass "es in ein Laufwerk eingeführt ist und es gegenwärtig nicht Daten transferiert". Es gibt jedoch keine Notwendigkeit, die Prioritätsreihenfolge unter den Anforderungen zu bestimmen, die unterschiedliche Zielmedien haben, für die die obige Bedingung zutrifft. Aus diesem Grund ist die Managementeinheit für Klasse-2 115 mit einer Funktion zum Spezifizieren eines Mediums, das die obige Bedingung er füllt, und Auswählen der Anforderung höchster Priorität unter den Anforderungen von Klasse-2 mit Bezug auf dieses Medium versehen.
  • 13 zeigt die Operation des Planers 103 in diesem Fall, der eine Vielzahl von Laufwerken involviert. Zuerst wird die Laufwerkzustandsliste erstellt (Schritt S701), und dann wird die Verarbeitung der Anforderung von Klasse-1 gestartet. Falls die Laufwerkzustandsliste leer ist (Schritt S702 NEIN), geht der Planer 103 zurück zu dem Ereigniswartezustand.
  • Falls es Knoten in der Laufwerkzustandsliste gibt (Schritt S702 JA), werden die Anforderungen in einer absteigenden Reihenfolge ihrer Priorität in der Managementeinheit für Klasse-1 114 ausgewählt (Schritt S703). Falls es eine ausführbare Anforderung von Klasse-1 gibt (Schritt S704 JA), wird geprüft, ob das Zielmedium dieser Anforderung in ein Laufwerk eingeführt ist oder nicht. Falls das Zielmedium in ein Laufwerk eingeführt ist (Schritt S705 JA), wird der Datentransferstart der Speichereinrichtungssteuereinheit 104 gemäß dieser Anforderung angewiesen (Schritt S706). In diesem Punkt wird diese Anforderung aus der Managementeinheit für Klasse-1 114 gelöscht. Außerdem wird ein Knoten entsprechend diesem Laufwerk aus der Laufwerkzustandsliste gelöscht (Schritt S707). Dann kehrt die Verarbeitung zu der Prüfung der Laufwerkzustandsliste zurück (Schritt S702).
  • Falls das Zielmedium nicht in ein Laufwerk eingeführt ist (Schritt S705 NEIN), wird geprüft, ob ein Arm gegenwärtig in Gebrauch ist (ein beliebiges Medium gegenwärtig bewegt wird) oder nicht. Falls der Arm gegenwärtig in Gebrauch ist (Schritt S708 JA), kehrt die Verarbeitung zu der Prüfung der Laufwerkzustandsliste zurück (Schritt S702).
  • Falls der Arm gegenwärtig nicht in Gebrauch ist (Schritt S708 NEIN), wird ein Laufwerk entsprechend dem oberen Knoten in der Laufwerkzustandsliste als ein Mediumbewegungsziellaufwerk ausgewählt (Schritt S709). Dann wird der Medienwechsel für dieses Laufwerk der Speichereinrichtungssteuereinheit 104 angewiesen (Schritt S710). In diesem Punkt wird dieser Anforderung noch nicht von der Managementeinheit für Klasse-1 114 gelöscht. Es wird jedoch ein Knoten entsprechend diesem Laufwerk von der Laufwerkzustandsliste gelöscht (Schritt S711). Dann kehrt die Verarbeitung zu der Prüfung der Laufwerkzustandsliste zurück (Schritt S702).
  • Falls es keine ausführbare Anforderung von Klasse-1 gibt (Schritt S704 NEIN), wird die Verarbeitung der Anforderung von Klasse-2 gestartet. Es wird geprüft, ob der Zustand des Laufwerks entsprechend dem letzten Knoten der Laufwerkzustandsliste das oben beschriebene (3) ist, d.h. "ein Laufwerk, in dem ein Medium eingeführt ist, das aber gegenwärtig Daten nicht transferiert, und es eine Anforderung gibt, für die dieses Medium ein Ziel ist", oder nicht.
  • Falls der Zustand (3) ist (Schritt S712 JA), wird dieses Laufwerk ausgewählt (Schritt S713). Dann wird die Medienzahl eines Mediums, das in dieses ausgewählte Laufwerk eingeführt ist, geprüft (Schritt S714), und die Anforderung höchster Priorität unter den Anforderungen von Klasse-2 in Bezug auf dieses Medium wird in der Managementeinheit für Klasse-2 115 ausgewählt (Schritt S715). Es wird vermerkt, dass die Anforderungen mit Bezug auf dieses Medium alle Anforderungen von Klasse-2 sind, da der Datentransferstart bereits in dem früheren Schritt angewiesen worden wäre, falls es eine beliebige Anforderung von Klasse-1 gibt.
  • Der Datentransferstart wird der Speichereinrichtungssteuereinheit 104 gemäß der Anforderung angewiesen, die in der Ma nagementeinheit für Klasse-2 115 ausgewählt ist (Schritt S716). In diesem Punkt wird diese Anforderung aus der Managementeinheit für Klasse-2 115 gelöscht. Außerdem wird ein Knoten entsprechend diesem Laufwerk aus der Laufwerkzustandsliste gelöscht (Schritt S717). Dann kehrt die Verarbeitung zu der Prüfung des Zustands des letzten Knotens in der Laufwerkzustandsliste zurück (Schritt S712).
  • Falls der Zustand des Laufwerks entsprechend dem letzten Knoten in der Laufwerkzustandsliste nicht (3) ist (Schritt S712 NEIN) (oder falls die Laufwerkzustandsliste leer ist), geht der Planer 103 zurück zu dem Ereigniswartezustand.
  • Als Nächstes wird ebenso als eine andere Modifikation der obigen Ausführungsform die Operation von jedem Element in einem beispielhaften Fall einer Behandlung einer Datentransferanforderung ohne Frist beschrieben.
  • In dem Fall einer Behandlung einer Datentransferanforderung ohne Frist kann die obige Ausführungsform wie folgt modifiziert werden. Zuerst wird ein spezieller Identifikator zum Anzeigen, dass es eine Datentransferanforderung ohne Frist ist, als der Identifikator der periodischen Anforderungssequenz vorgesehen. Es gibt keine Notwendigkeit für die Anwendung 105, die Registration der periodischen Anforderungssequenz auszuführen, sodass die Anwendung den Identifikator der periodischen Anforderungssequenz zur Zeit einer Ausgabe einer individuellen Datentransferanforderung spezifiziert. In der Anforderungsempfangseinheit 101 kann aus diesem Identifikator ermittelt werden, dass es die Datentransferanforderung ohne Frist ist, sodass diese Anforderung zu dem Planer 103 ohne ihr Senden zu der Zeiteinstellungseinheit 102 direkt gesendet wird.
  • In der Anforderungsklassifizierungseinheit 113 des Planers 103 wird die Anforderung, der die Frist nicht beigefügt ist, als Klasse-3 klassifiziert, und in eine Managementeinheit für Klasse-3 registriert (nicht gezeigt).
  • Die Planungsrichtlinie, die für die Anforderungen angenommen wird, die als Klasse-3 klassifiziert sind, ist FIFO. Die Managementeinheit für Klasse-3 ist mit einer Liste versehen, in der die Anforderungen in ihrer Registrationsreihenfolge verkettet sind.
  • Zur Zeit einer Auswahl der Anforderung höchster Priorität in dem Planer 103 kann die Verarbeitung für Klasse-3 der Verarbeitung, die in 10 gezeigt wird, gemäß der Prioritätsreihenfolge unter Klassen hinzugefügt werden. 14 zeigt die Verarbeitung in dem Fall einer Verwendung der Prioritätsreihenfolge von Klasse-1, Klasse-3 und Klasse-2.
  • Die Operationen der Schritte S801 bis S808 in 14 sind jeweils die gleichen wie die Operationen der Schritte S601 bis S608 in 10. Wenn es keine ausführbare Anforderung von Klasse-1 gibt (Schritt S803 NEIN), wird die Anforderung höchster Priorität unter den Anforderungen von Klasse-3 in diesem Beispiel ausgewählt (Schritt S809). Falls es eine ausführbare Anforderung von Klasse-3 gibt (Schritt S810 JA), werden die Operationen ähnlich zu jenen für die Anforderung von Klasse-1 ausgeführt. Es wird nämlich die Medienzahl eines Mediums, das in das Laufwerk eingeführt ist, geprüft (Schritt S804), und der Datentransfer wird gestartet, falls das Zielmedium der Anforderung eingeführt ist (Schritt S806), oder der Medienwechsel wird angewiesen, falls das Zielmedium der Anforderung nicht eingeführt ist (Schritt S808), nach einer Bestätigung, dass der Arm gegenwärtig nicht in Gebrauch ist. Falls es keine Anforderung von Klasse-3 gibt (Schritt S810 NEIN), wird die Verarbeitung der Anforderung von Klasse-2 ge startet, und es werden die Operationen der Schritte S811 bis S814, die den Operationen der Schritte S609 bis S612 in 10 ähnlich sind, ausgeführt.
  • In dem Fall einer Verwendung der Prioritätsreihenfolge von Klasse-1, Klasse-2 und Klasse-3 andererseits wird die Verarbeitung der Anforderung von Klasse-3 gestartet, wenn in Schritt S611 in 10 beurteilt wird, dass es keine ausführbare Anforderung von Klasse-1 oder Klasse-2 gibt. Die Anforderung von Klasse-3 höchster Priorität wird ausgewählt, und falls das Zielmedium der ausgewählten Anforderung nicht eingeführt ist, wird die Anforderung durch Ausführen des Medienwechsels verarbeitet. Hier kann die Prioritätsreihenfolge unter den Anforderungen von Klasse-3 die Anforderungsregistrationsreihenfolge (FIFO) oder eine derartige Reihenfolge sein, dass die höchste Priorität jenen Anforderungen gegeben wird, deren Zielmedium gegenwärtig in das Laufwerk eingeführt ist.
  • Selbst in dem letzteren Fall entsteht jedoch, falls beurteilt wird, dass es keine ausführbare Anforderung gibt, wenn es keine Anforderung mit Bezug auf ein Medium gibt, das gegenwärtig in das Laufwerk eingeführt ist, ähnlich wie für Anforderungen von Klasse-2 in dem oben beschriebenen Beispiel eine Möglichkeit für einige Anforderungen, für immer nicht verarbeitet zu werden, sodass, wenn es keine Anforderung von Klasse-3 mit Bezug auf ein Medium gibt, das gegenwärtig in das Laufwerk eingeführt ist, eine andere Anforderung von Klasse-3 als eine ausführbare Anforderung ausgewählt werden sollte.
  • Wie beschrieben, wird gemäß der vorliegenden Erfindung, wenn die Datentransferanforderungen mit Fristen zu verarbeiten sind, eine Anforderung, für die die aktuelle Zeit die Klassenumschaltzeit überschreitet, als Klasse-1 klassifiziert und gemäß der Planungsrichtlinie unter Verwendung der Zeit als ein Schlüssel verarbeitet, wie etwa EDF oder RM, selbst wenn dies eine Verarbeitung erfordert, die einen großen Umfang von mechanischen Aktionen involviert, wie etwa einen Medienwechsel. Andererseits wird eine Anforderung, für die die aktuelle Zeit die Klassenumschaltzeit nicht überschreitet, als Klasse-2 klassifiziert und gemäß einer derartigen Richtlinie verarbeitet, dass diese Anforderung nicht verarbeitet wird, selbst wenn das Laufwerk in einem Ruhezustand ohne Transfer beliebiger Daten ist, z.B. falls dies eine Verarbeitung erfordert, die große mechanische Aktionen involviert, wie etwa einen Medienwechsel.
  • Folglich wird es möglich, die Zahl von Medienwechseln ohne Erhöhung der Periode zu reduzieren, während der Abschluss eines individuellen Datentransfers innerhalb der Frist durch Annehmen der Planungsrichtlinie, wie etwa EDF oder RM, besonders in einem System garantiert wird, das periodischen Datentransfer behandelt.
  • Es ist zu vermerken, dass die oben beschriebenen Ausführungsformen modifiziert werden können, eine logische Zeit für die Frist und die Klassenumschaltzeit zu verwenden.
  • Wenn z.B. die Zeitsteuerung vom Datenverbrauch durch die Anwendung akkurat ist, wird die Zeit, die durch die Anwendung genommen wird, um Daten von einem Puffer zu verbrauchen, genau gleich einer Periode. In einem derartigen Fall kann eine logische Zeit, die nur innerhalb jeder periodischen Anforderungssequenz gültig ist, wie etwa die Zahl von Perioden seit dem Start jeder periodischen Anforderungssequenz, zum Spezifizieren der Frist und der Klassenumschaltzeit verwendet werden. Die Operation der Datentransferanforderungsverarbeitungseinrichtung in dem Fall einer Verwendung einer derartigen logischen Zeit ist wie folgt.
  • Wenn die Anwendung 105 eine Anforderung registriert, wird zuerst die Zahl von Perioden seit dem Start der periodischen Anforderungssequenz als die logische Frist spezifiziert. Die Zeiteinstellungseinheit 102 kann dann die logische Klassenumschaltzeit = logische Frist – 1 einstellen.
  • Auch gibt die Anwendung 105 eine Mitteilung zu der Anforderungsempfangseinheit 101 in einer Grenze jeder Periode aus. Die Managementeinheit einer periodischen Anforderungssequenz 111 zählt die Zahl von Mitteilungen, die durch die Anforderungsempfangseinheit 101 empfangen werden, und unterhält die Zahl von Perioden seit dem Start der entsprechenden periodischen Anforderungssequenz als eine logische aktuelle Zeit. Hier kann die Anwendung 105 diese Mitteilung in einer Zeitsteuerung zum Umschalten von Puffern, von denen Daten zu verbrauchen sind, ausgeben.
  • In der Klassenumschalteinheit 116 werden jene Anforderungen von Klasse-2, die zu der entsprechenden periodischen Anforderungssequenz gehören, für die die logische aktuelle Zeit die logische Klassenumschaltzeit überschreitet, in Klasse-1 in einer Zeitsteuerung einer Ankunft dieser Mitteilung angehoben. Folglich erfordert die Klassenumschalteinheit 116 nicht die Timer-Einstellungsoperation, da diese Mitteilung an Stelle des Timer-Ereignisses genutzt wird.
  • In dem Fall, wo die Planungsrichtlinie der Managementeinheit für Klasse-1 114 eine Richtlinie basierend auf der Frist ist, wie etwa EDF, um sollte die Startzeit der periodischen Anforderungssequenz derart beibehalten werden, dass die absolute Frist als: absolute Frist = Startzeit + logische Frist × Perioden kalkuliert werden kann.
  • Als eine weitere Modifikation kann die Anwendung 105 eine Mitteilung in einer Grenze jeder Periode nur ausgeben, wenn die Zahl von verbleibenden Puffern, die für den Datenverbrauch verfügbar sind, kleiner oder gleich 1 ist. In diesem Fall wird in der Klassenumschalteinheit 116 eine Anforderung, die die früheste Frist unter den Anforderungen von Klasse-2 hat, die zu der periodischen Anforderungssequenz gehören, die der Mitteilung entspricht, zu Klasse-1 angehoben.
  • Somit sollten die Frist und die Klassenumschaltzeit, die in den obigen Ausführungsformen und den angefügten Ansprüchen erwähnt werden, als nicht nur die Frist und die Klassenumschaltzeit, die im Sinne von absoluten Zeiten gegeben sind, sondern auch die Frist und die Klassenumschaltzeit, die im Sinne von logischen Zeiten gegeben sind, abdeckend ausgelegt werden.
  • Es ist auch zu vermerken, dass die oben beschriebenen Ausführungsformen gemäß der vorliegenden Erfindung zweckdienlich unter Verwendung eines konventionellen Mehrzweck-Digitalcomputers implementiert werden können, der gemäß den Unterweisungen der vorliegenden Spezifikation programmiert ist, wie einem Fachmann in der Computertechnik offensichtlich sein wird. Geeignete Softwarekodierung kann durch geübte Programmierer basierend auf den Unterweisungen der vorliegenden Offenbarung leicht vorbereitet werden, wie einem Fachmann in der Softwaretechnik offensichtlich sein wird.
  • Insbesondere kann die Datentransferanforderungsverarbeitungseinrichtung der oben beschriebenen Ausführungsformen zweckdienlich in einer Form eines Softwarepaketes implementiert werden.
  • Ein derartiges Softwarepaket kann ein Computerprogrammprodukt sein, das ein Speichermedium einsetzt, inkludierend gespei cherten Computercode, der verwendet wird, einen Computer zu programmieren, die offenbarte Funktion und den Prozess der vorliegenden Erfindung durchzuführen. Das Speichermedium kann inkludieren, ist aber nicht darauf begrenzt, einen beliebigen Typ von konventionellen Floppy-Disks, optischen Disks, CD-ROMs, magneto-optischen Platten, ROMs, RAMs, EPROMs, EEPROMs, magnetischen oder optischen Karten oder beliebigen anderen geeigneten Medien zum Speichern von elektronischen Instruktionen.
  • Es ist auch zu vermerken, dass neben jenen bereits oben erwähnten beliebige Modifikationen und Variationen der obigen Ausführungsformen durchgeführt werden können, ohne von den neuartigen und vorteilhaften Merkmalen der vorliegenden Erfindung abzuweichen. Entsprechend sind alle derartigen Modifikationen und Variationen gedacht, innerhalb des Bereichs der angefügten Ansprüche inkludiert zu sein.

Claims (25)

  1. Verfahren zum Verarbeiten von Datentransferanforderungen mit Bezug auf eine Speichereinrichtung, die mechanische Aktionen beim Ausführen von Datentransfers erfordert, die Schritte umfassend: sequenzielles Annehmen der Datentransferanforderungen mit jeweiligen Fristenabläufen (deadlines) zum Abschließen angeforderter Datentransfers; regelmäßiges Prüfen einer Beziehung zwischen einem Fristablauf jeder angenommenen Datentransferanforderung und einer aktuellen Zeit und Klassifizieren jeder angenommenen Datentransferanforderung in eine von ersten und zweiten Klassen gemäß der Nähe der aktuellen Zeit zu jedem Fristablauf; wobei angenommene Datentransferanforderungen mit nahen Fristabläufen in die erste Klasse klassifiziert werden; Planen einer Verarbeitung von Datentransferanforderungen erster Klasse, die als die erste Klasse durch den Klassifizierungsschritt klassifiziert sind, gemäß einer ersten Planungsrichtlinie, worin ein Abschluss von Datentransfers, die durch die Datentransferanforderungen angefordert werden, innerhalb der Fristabläufe, die für die Datentransferanforderungen spezifiziert sind, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge einer Verarbeitung ist, und Planen einer Verarbeitung von Da tentransferanforderungen zweiter Klasse, die als die zweite Klasse durch den Klassifizierungsschritt klassifiziert sind, gemäß einer zweiten Planungsrichtlinie, worin eine Verringerung von Umfängen der mechanischen Aktionen, die beim Ausführen von Datentransfers erforderlich sind, die durch die Datentransferanforderungen angefordert werden, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge einer Verarbeitung ist, während eine Verarbeitung der Datentransferanforderungen erster und zweiter Klasse derart geplant wird, dass die Datentransferanforderungen erster Klasse bei höherer Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden; und Verarbeiten der Datentransferanforderungen gemäß einem Planungsergebnis, das durch den Planungsschritt erhalten wird, um die Speichereinrichtung so zu steuern, Datentransfers auszuführen, die durch die Datentransferanforderungen angefordert werden.
  2. Verfahren nach Anspruch 1, ferner umfassend den Schritt zum Einstellen einer Zeit früher als ein Fristablauf von jeder Datentransferanforderung als eine Klassenumschaltungszeit für jede Datentransferanforderung; wobei der Klassifizierungsschritt regelmäßig jede Datentransferanforderung mit der Klassenumschaltungszeit, die durch die aktuelle Zeit überschritten wird, als die erste Klasse klassifiziert, und jede Datentransferanforderung mit der Klassenumschaltungszeit, die nicht durch die aktuelle Zeit überschritten wird, als die zweite Klasse klassifiziert.
  3. Verfahren nach Anspruch 1, wobei der Planungsschritt eine Verarbeitung jeder Datentransferanforderung erster Klasse derart plant, dass ein Datentransfer, der durch jede Datentransferanforderung erster Klasse angefordert wird, garantiert wird, innerhalb eines Fristablaufs abgeschlossen zu werden, der für jede Datentransferanforderung erster Klasse spezifiziert ist, ungeachtet eines Umfangs der mechanischen Aktionen, die beim Ausführen des Datentransfers erforderlich sind, der durch jede Datentransferanforderung erster Klasse angefordert wird.
  4. Verfahren nach Anspruch 1, wobei der Planungsschritt eine Verarbeitung jeder Datentransferanforderung zweiter Klasse derart plant, dass jede Datentransferanforderung zweiter Klasse nicht verarbeitet wird, falls eine vorgeschriebene Bedingung bezüglich eines Umfangs für die mechanischen Aktionen, die beim Ausführen eines Datentransfers erforderlich sind, der durch jede Datentransferanforderung zweiter Klasse angefordert wird, nicht erfüllt ist.
  5. Verfahren nach Anspruch 4, wobei die vorgeschriebene Bedingung ist, dass ein Datentransfer, der durch jede Datentransferanforderung zweiter Klasse angefordert wird, einen Medienwechsel in der Speichereinrichtung nicht erfordert.
  6. Verfahren nach Anspruch 2, wobei die Datentransferanforderungen eine Serie von Datentransferanforderungen inkludieren, die eine periodische Anforderungssequenz bilden, die in einer vorgeschriebenen Periode periodisch zu verarbeiten sind, und der Einstellungsschritt eine Zeit, die früher als ein Fristablauf jeder Datentransferanforderung um eine vorgeschriebene Zeitperiode ist, als die Klassenumschaltungs zeit für jede Datentransferanforderung einstellt, die zu der periodischen Anforderungssequenz gehört.
  7. Verfahren nach Anspruch 6, wobei die Datentransferanforderungen eine Vielzahl von periodischen Anforderungssequenzen inkludieren, und der Planungsschritt eine Verarbeitung der Datentransferanforderungen erster Klasse derart plant, dass die Datentransferanforderungen erster Klasse, die zu einer periodischen Anforderungssequenz mit einer kürzeren vorgeschriebenen Periode gehören, bei einer höheren Priorität als die Datentransferanforderungen erster Klasse verarbeitet werden, die zu anderen periodischen Anforderungssequenzen gehören.
  8. Verfahren nach Anspruch 1, wobei der Planungsschritt eine Verarbeitung der Datentransferanforderungen erster Klasse derart plant, dass eine Datentransferanforderung erster Klasse mit einem früheren Fristablauf bei einer höheren Priorität als andere Datentransferanforderungen erster Klasse verarbeitet wird.
  9. Verfahren nach Anspruch 1, wobei der Planungsschritt eine Verarbeitung der Datentransferanforderungen zweiter Klasse derart plant, dass mindestens eines von einem Umfang einer Bewegung eines Speichermediums in der Speichereinrichtung, einem Umfang einer Bewegung eines Kopfes, um auf ein Speichermedium in der Speichereinrichtung zuzugreifen, und einer Zahl von Medienwechseln in der Speichereinrichtung, die beim Ausführen von Datentransfers erforderlich sind, die durch die Datentransferanforderungen angefordert werden, reduziert wird.
  10. Verfahren nach Anspruch 1, wobei der Klassifizierungsschritt auch Datentransferanforderungen ohne Fristabläufe als Datentransferanforderungen dritter Klasse klassifiziert, und der Planungsschritt eine Verarbeitung der Datentransferanforderungen mit Fristabläufen und der Datentransferanforderungen ohne Fristabläufe derart plant, dass die Datentransferanforderungen erster Klasse bei einer höheren Priorität als die Datentransferanforderungen dritter Klasse verarbeitet werden, und die Datentransferanforderungen dritter Klasse bei einer höheren Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden.
  11. Verfahren nach Anspruch 1, wobei der Klassifizierungsschritt auch Datentransferanforderungen ohne Fristabläufe als Datentransferanforderungen dritter Klasse klassifiziert, und der Planungsschritt eine Verarbeitung der Datentransferanforderungen mit Fristabläufen und der Datentransferanforderungen ohne Fristabläufe derart plant, dass die Datentransferanforderungen erster Klasse bei einer höheren Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden, und die Datentransferanforderungen zweiter Klasse bei einer höheren Priorität als die Datentransferanforderungen dritter Klasse verarbeitet werden.
  12. Verfahren nach Anspruch 11, wobei der Planungsschritt eine Verarbeitung jeder Datentransferanforderung dritter Klasse derart plant, dass jede Datentransferanforderung dritter Klasse eine Möglichkeit hat verarbeitet zu werden, selbst wenn eine vorgeschriebene Bedingung bezüglich eines Umfangs der mechanischen Aktionen, die beim Ausführen einer Datentransferanforderung erforderlich sind, die durch jede Datentransferanforderung dritter Klasse angefordert wird, nicht erfüllt ist.
  13. Datentransferanforderungsverarbeitungseinrichtung zum Verarbeiten von Datentransferanforderungen mit Bezug auf eine Speichereinrichtung (106, 110), die mechanische Aktionen beim Ausführen von Datentransfers erfordert, umfassend: eine Annahmeeinheit (101), die konfiguriert ist, die Datentransferanforderungen mit jeweiligen Fristabläufen zum Abschließen angeforderter Datentransfers sequenziell anzunehmen; eine Klassifizierungseinheit (113), die konfiguriert ist, regelmäßig eine Beziehung zwischen einem Fristablauf jeder angenommenen Datentransferanforderung und einer aktuellen Zeit zu prüfen, und jede angenommene Datentransferanforderung in eine von ersten und zweiten Klassen gemäß der Nähe der aktuellen Zeit zu jedem Fristablauf zu klassifizieren; wobei angenommene Datentransferanforderungen mit nahen Fristabläufen in die erste Klasse klassifiziert werden; eine Planungseinheit (103), die konfiguriert ist, eine Verarbeitung von Datentransferanforderungen erster Klasse, die als die erste Klasse durch die Klassifizierungseinheit (113) klassifiziert sind, gemäß einer ersten Planungsrichtlinie zu planen, worin ein Abschluss von Datentransfers, die durch die Datentransferanforderungen angefordert werden, innerhalb der Fristabläufe, die für die Datentransferanforderungen spezifiziert sind, ein primä rer Schlüsselfaktor beim Bestimmen einer Reihenfolge der Verarbeitung ist, und eine Verarbeitung von Datentransferanforderungen zweiter Klasse, die als die zweite Klasse durch die Klassifizierungseinheit (113) klassifiziert sind, gemäß einer zweiten Planungsrichtlinie zu planen, worin. eine Verringerung von Umfängen der mechanischen Aktionen, die beim Ausführen von Datentransfers erforderlich sind, die durch die Datentransferanforderungen angefordert werden, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge der Verarbeitung ist, während eine Verarbeitung der Datentransferanforderungen der ersten und zweiten Klasse derart geplant wird, dass die Datentransferanforderungen erster Klasse bei einer höheren Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden; und eine Verarbeitungseinheit (104), die konfiguriert ist, die Datentransferanforderungen gemäß einem Planungsergebnis, das durch die Planungseinheit erhalten wird, so zu verarbeiten, um die Speichereinrichtung zu steuern, Datentransfers auszuführen, die durch die Datentransferanforderungen angefordert werden.
  14. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 13, ferner umfassend eine Zeiteinstellungseinheit (102), die konfiguriert ist, eine Zeit früher als ein Fristablauf jeder Datentransferanforderung als eine Klassenumschaltungszeit für jede Datentransferanforderung einzustellen; wobei die Klassifizierungseinheit (113) regelmäßig jede Datentransferanforderung mit der Klassenumschaltungszeit, die durch die aktuelle Zeit überschritten wird, als die erste Klasse, und jede Datentransferanforderung mit der Kassenumschaltungszeit, die nicht durch die aktuelle Zeit überschritten wird, als die zweite Klasse klassifiziert.
  15. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 13, wobei die Planungseinheit (103) eine Verarbeitung jeder Datentransferanforderung erster Klasse derart plant, dass ein Datentransfer, der durch jede Datentransferanforderung erster Klasse angefordert wird, garantiert wird, innerhalb eines Fristablaufs abgeschlossen zu werden, der für jede Datentransferanforderung erster Klasse spezifiziert ist, ungeachtet eines Umfangs der mechanischen Aktionen, die beim Ausführen des Datentransfers erforderlich sind, der durch jede Datentransferanforderung erster Klasse angefordert wird.
  16. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 13, wobei die Planungseinheit (103) eine Verarbeitung jeder Datentransferanforderung zweiter Klasse derart plant, dass jede Datentransferanforderung zweiter Klasse nicht verarbeitet wird, falls eine vorgeschriebene Bedingung bezüglich eines Umfangs der mechanischen Aktionen, die beim Ausführen eines Datentransfers erforderlich sind, der durch jede Datentransferanforderung zweiter Klasse angefordert wird, nicht erfüllt ist.
  17. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 16, wobei die vorgeschriebene Bedingung ist, dass ein Datentransfer, der durch jede Datentransferanforderung zweiter Klasse angefordert wird, einen Medienwechsel in der Speichereinrichtung (106, 110) nicht erfordert.
  18. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 14, wobei die Datentransferanforderungen eine Serie von Datentransferanforderungen inkludieren, die eine periodische Anforderungssequenz bilden, die periodisch in einer vorgeschriebenen Periode zu verarbeiten ist, und die Zeiteinstellungseinheit (102) eine Zeit, die früher als ein Fristablauf jeder Datentransferanforderung um eine vorgeschriebene Periodenzeit ist, als die Klassenumschaltungszeit für jede Datentransferanforderung einstellt, die zu der periodischen Anforderungssequenz gehört.
  19. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 18, wobei die Datentransferanforderungen eine Vielzahl von periodischen Anforderungssequenzen inkludieren, und die Planungseinheit (103) eine Verarbeitung der Datentransferanforderungen erster Klasse derart plant, dass die Datentransferanforderungen erster Klasse, die zu einer periodischen Anforderungssequenz mit einer kürzeren vorgeschriebenen Periode gehören, bei einer höheren Priorität als die Datentransferanforderungen erster Klasse verarbeitet werden, die zu anderen periodischen Anforderungssequenzen gehören.
  20. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 13, wobei die Planungseinheit (103) eine Verarbeitung der Datentransferanforderungen erster Klasse derart plant, dass eine Datentransferanforderung erster Klasse mit einem früheren Fristablauf bei einer höheren Priorität als andere Datentransferanforderungen erster Klasse verarbeitet wird.
  21. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 13, wobei die Planungseinheit (103) eine Verar beitung der Datentransferanforderungen zweiter Klasse derart plant, dass mindestens eines von einem Umfang einer Bewegung eines Speichermediums in der Speichereinrichtung (106, 110), einem Umfang einer Bewegung eines Kopfes, um auf ein Speichermedium in der Speichereinrichtung zuzugreifen, und einer Zahl von Medienwechseln in der Speichereinrichtung (106, 110), die beim Ausführen von Datentransfers erforderlich sind, die durch die Datentransferanforderungen angefordert werden, reduziert wird.
  22. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 13, wobei die Klassifizierungseinheit (113) auch Datentransferanforderungen ohne Fristabläufe als Datentransferanforderungen dritter Klasse klassifiziert, und die Planungseinheit (103) eine Verarbeitung der Datentransferanforderungen mit Fristabläufen und der Datentransferanforderungen ohne Fristabläufe derart plant, dass die Datentransferanforderungen erster Klasse bei einer höheren Priorität als die Datentransferanforderungen dritter Klasse verarbeitet werden, und die Datentransferanforderungen dritter Klasse bei einer höheren Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden.
  23. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 13, wobei die Klassifizierungseinheit (113) auch Datentransferanforderungen ohne Fristabläufe als Datentransferanforderungen dritter Klasse klassifiziert, und die Planungseinheit (103) eine Verarbeitung der Datentransferanforderungen mit Fristabläufen und der Datentransferanforderungen ohne Fristabläufe derart plant, dass die Datentransferanforderungen erster Klasse bei ei ner höheren Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden, und die Datentransferanforderungen zweiter Klasse bei einer höheren Priorität als die Datentransferanforderungen dritter Klasse verarbeitet werden.
  24. Datentransferanforderungsverarbeitungseinrichtung nach Anspruch 13, wobei die Planungseinheit eine Verarbeitung jeder Datentransferanforderung dritter Klasse derart plant, dass jede Datentransferanforderung dritter Klasse eine Möglichkeit hat verarbeitet zu werden, selbst wenn eine vorgeschriebene Bedingung bezüglich eines Umfangs der mechanischen Aktionen, die beim Ausführen eines Datentransfers erforderlich sind, der durch jede Datentransferanforderung dritter Klasse angefordert wird, nicht erfüllt ist.
  25. Computerverwendbares Medium mit computerlesbaren Programmcodes, die darin verkörpert sind, zum Veranlassen eines Computers, als eine Datentransferanforderungsverarbeitungseinrichtung zum Verarbeiten von Datentransferanforderungen mit Bezug auf eine Speichereinrichtung zu funktionieren, die mechanische Aktionen beim Ausführen von Datentransfers erfordert, wobei die computerlesbaren Programmcodes inkludieren: einen ersten computerlesbaren Programmcode zum Veranlassen des Computers, die Datentransferanforderungen mit jeweiligen Fristabläufen zum Abschließen angeforderter Datentransfers sequenziell anzunehmen; einen zweiten computerlesbaren Programmcode zum Veranlassen des Computers, regelmäßig eine Beziehung zwischen einem Fristablauf jeder angenommenen Datentransferanforderung und einer aktuellen Zeit zu prüfen und jede angenom mene Datentransferanforderung in eine von ersten und einer zweiten Klassen gemäß der Nähe der aktuellen Zeit zu jedem Fristablauf zu klassifizieren; wobei angenommene Datentransferanforderungen mit nahen Fristabläufen in die erste Klasse klassifiziert werden; einen dritten computerlesbaren Programmcode zum Veranlassen des Computers, eine Verarbeitung von Datentransferanforderungen erster Klasse, die als die erste Klasse durch den zweiten computerlesbaren Programmcode klassifiziert sind, gemäß einer ersten Planungsrichtlinie zu planen, worin ein Abschluss von Datentransfers, die durch die Datentransferanforderungen angefordert werden, innerhalb der Fristabläufe, die für die Datentransferanforderungen spezifiziert sind, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge einer Verarbeitung ist, und eine Verarbeitung von Datentransferanforderungen zweiter Klasse, die als die zweite Klasse durch den zweiten computerlesbaren Programmcode klassifiziert sind, gemäß einer zweiten Planungsrichtlinie zu planen, worin eine Verringerung von Umfängen der mechanischen Aktionen, die beim Ausführen von Datentransfers erforderlich sind, die durch die Datentransferanforderungen angefordert werden, ein primärer Schlüsselfaktor beim Bestimmen einer Reihenfolge einer Verarbeitung ist, während eine Verarbeitung der Datentransferanforderungen der ersten und zweiten Klasse derart geplant wird, dass die Datentransferanforderungen erster Klasse bei einer höheren Priorität als die Datentransferanforderungen zweiter Klasse verarbeitet werden; und einen vierten computerlesbaren Programmcode zum Veranlassen des Computers, die Datentransferanforderungen gemäß einem Planungsergebnis, das durch den dritten computer lesbaren Programmcode erhalten wird, so zu verarbeiten, um die Speichereinrichtung zu steuern, Datentransfers auszuführen, die durch die Datentransferanforderungen angefordert werden.
DE60023383T 1999-03-26 2000-03-24 Datenübertragungsanforderungsverarbeitungsschema zur Verringerung von mechanischen Beseitigungen eines Datenaufzeichnungssystems Expired - Fee Related DE60023383T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP08362899A JP3382176B2 (ja) 1999-03-26 1999-03-26 要求処理方法および要求処理装置
JP8362899 1999-03-26

Publications (2)

Publication Number Publication Date
DE60023383D1 DE60023383D1 (de) 2005-12-01
DE60023383T2 true DE60023383T2 (de) 2006-05-24

Family

ID=13807748

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60023383T Expired - Fee Related DE60023383T2 (de) 1999-03-26 2000-03-24 Datenübertragungsanforderungsverarbeitungsschema zur Verringerung von mechanischen Beseitigungen eines Datenaufzeichnungssystems

Country Status (5)

Country Link
US (2) US6802064B1 (de)
EP (1) EP1039366B1 (de)
JP (1) JP3382176B2 (de)
CA (1) CA2302996C (de)
DE (1) DE60023383T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3382176B2 (ja) * 1999-03-26 2003-03-04 株式会社東芝 要求処理方法および要求処理装置
US6937814B1 (en) * 2000-04-14 2005-08-30 Realnetworks, Inc. System and method for play while recording processing
US8392586B2 (en) * 2001-05-15 2013-03-05 Hewlett-Packard Development Company, L.P. Method and apparatus to manage transactions at a network storage device
US7965729B2 (en) * 2001-05-23 2011-06-21 Polytechnic University Transferring data such as files
US7062582B1 (en) 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
US7032042B2 (en) * 2003-09-10 2006-04-18 Intel Corporation Request conversion
JP4057989B2 (ja) * 2003-09-26 2008-03-05 株式会社東芝 スケジューリング方法および情報処理システム
US7757052B2 (en) * 2005-01-05 2010-07-13 International Business Machines Corporation Apparatus, system, and method for optimizing recall of logical volumes in a virtual tape server
US20090032018A1 (en) * 2007-08-03 2009-02-05 Eaton Jason P System Adapted to Provide a Flow of Gas to an Airway of a Patient
US8151008B2 (en) 2008-07-02 2012-04-03 Cradle Ip, Llc Method and system for performing DMA in a multi-core system-on-chip using deadline-based scheduling
WO2012050912A1 (en) * 2010-09-28 2012-04-19 The Ohio State University System and method for proactive resource allocation
WO2012050913A1 (en) 2010-09-28 2012-04-19 The Ohio State University Predictive network system and method
US8966172B2 (en) 2011-11-15 2015-02-24 Pavilion Data Systems, Inc. Processor agnostic data storage in a PCIE based shared storage enviroment
US9652182B2 (en) 2012-01-31 2017-05-16 Pavilion Data Systems, Inc. Shareable virtual non-volatile storage device for a server
CN111614980B (zh) 2012-08-14 2022-04-12 俄亥俄州立创新基金会 用于通过移动设备来优化网络带宽的使用的系统和方法
US8818392B2 (en) * 2012-08-21 2014-08-26 International Business Machines Corporation Network and user behavior based time-shifted mobile data transmission
US9565269B2 (en) 2014-11-04 2017-02-07 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
US9712619B2 (en) 2014-11-04 2017-07-18 Pavilion Data Systems, Inc. Virtual non-volatile memory express drive
JP7114515B2 (ja) * 2019-03-14 2022-08-08 国立大学法人東海国立大学機構 通信装置、通信システム及びメッセージ調停方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
US5581784A (en) * 1992-11-17 1996-12-03 Starlight Networks Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams
DE69429204T2 (de) * 1993-03-26 2002-07-25 Cabletron Systems Inc Ablaufssteuerungsverfahren und -gerät für ein Kommunikationsnetzwerk
US5442730A (en) * 1993-10-08 1995-08-15 International Business Machines Corporation Adaptive job scheduling using neural network priority functions
US5761417A (en) * 1994-09-08 1998-06-02 International Business Machines Corporation Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node
US5787482A (en) * 1995-07-31 1998-07-28 Hewlett-Packard Company Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window
US5826081A (en) * 1996-05-06 1998-10-20 Sun Microsystems, Inc. Real time thread dispatcher for multiprocessor applications
US6078998A (en) * 1997-02-11 2000-06-20 Matsushita Electric Industrial Co., Ltd. Real time scheduling of prioritized disk requests
US6028843A (en) * 1997-03-25 2000-02-22 International Business Machines Corporation Earliest deadline first communications cell scheduler and scheduling method for transmitting earliest deadline cells first
US6112265A (en) 1997-04-07 2000-08-29 Intel Corportion System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command
US5974503A (en) * 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US6088734A (en) * 1997-11-12 2000-07-11 International Business Machines Corporation Systems methods and computer program products for controlling earliest deadline first scheduling at ATM nodes
US6532213B1 (en) * 1998-05-15 2003-03-11 Agere Systems Inc. Guaranteeing data transfer delays in data packet networks using earliest deadline first packet schedulers
US6343351B1 (en) * 1998-09-03 2002-01-29 International Business Machines Corporation Method and system for the dynamic scheduling of requests to access a storage system
US6378036B2 (en) * 1999-03-12 2002-04-23 Diva Systems Corporation Queuing architecture including a plurality of queues and associated method for scheduling disk access requests for video content
JP3382176B2 (ja) * 1999-03-26 2003-03-04 株式会社東芝 要求処理方法および要求処理装置

Also Published As

Publication number Publication date
EP1039366A3 (de) 2001-10-10
EP1039366B1 (de) 2005-10-26
US7127714B2 (en) 2006-10-24
CA2302996C (en) 2006-08-08
US20050027936A1 (en) 2005-02-03
JP2000276303A (ja) 2000-10-06
CA2302996A1 (en) 2000-09-26
DE60023383D1 (de) 2005-12-01
JP3382176B2 (ja) 2003-03-04
US6802064B1 (en) 2004-10-05
EP1039366A2 (de) 2000-09-27

Similar Documents

Publication Publication Date Title
DE60023383T2 (de) Datenübertragungsanforderungsverarbeitungsschema zur Verringerung von mechanischen Beseitigungen eines Datenaufzeichnungssystems
DE69123334T2 (de) Schlangenverwalterverfahren für ein elektronisches Mitteilungssystem
DE60033994T2 (de) Verfahren und System zur Ausgabe an und zum Ordnen von Befehlen in einem Festplattenlaufwerk
DE2209282C3 (de) Datenverarbeitungsanlage
CN100407152C (zh) 多策略资源调度的方法和系统
DE3884504T2 (de) Eingabe-Dienstsubsystem zur dynamischer Arbeitsplanung für ein Computersystem.
DE60204687T2 (de) Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird
DE60016784T2 (de) Planung von speicherzugriffen für raten-garantierte und nicht-raten-garantierte anforderungen
DE602004012492T2 (de) DMA-Steuerung mit Busbesetzungszeit-Beschränkung sowie DMA-Parametersätze für mehrere logische Prozessoren
DE3587398T2 (de) Datenspeicherhierarchie und deren Betriebsverfahren.
DE60037065T2 (de) Übertragungsteuerung mit Naben- und Torachitektur
DE10062063B4 (de) Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE60117818T2 (de) Verwaltung des ersetzens von daten in einem zwischenspeicher auf einem knoten aufgrund von zwischenspeichern anderer knoten
DE19530483A1 (de) Einrichtung und Verfahren zur Echtzeit-Verarbeitung einer Mehrzahl von Tasks
DE10392278T5 (de) Verfahren und Vorrichtung zur Speicherzugangssteuerung
DE2755952A1 (de) Ein/ausgabe-verarbeitungssystem mit einer zeitgebereinrichtung
JPH1076446A (ja) 生産工程管理装置および生産工程管理方法
DE112020004661T5 (de) Ermitteln einer optimalen Anzahl von Threads pro Kern in einem Mehrkern-Prozessorkomplex
DE19945993B4 (de) Plattenschreibvollendungssystem
DE102019133147A1 (de) Datenspeichersysteme und verfahren zur optimierten planung von hintergrund-verwaltungsoperationen
DE112012005572B4 (de) Ausgleichen der Bandbreite von Anforderern, die ein gemeinsam genutztes Speichersystem verwenden
CN108255424A (zh) 一种NVMe固态硬盘IO响应延迟的保障方法
JPH09231144A (ja) データファイル管理方法およびデータファイル管理装置
DE3889678T2 (de) Datenverarbeitungsanordnung und Verfahren mit Massenspeicherpufferverwaltung.
DE112022003892T5 (de) System und verfahren zur zentralisierten verwaltung der arbeitslast und zur parallelen bedienung von priorisierten anfragen

Legal Events

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