JP2000276303A - データ転送要求処理方法および装置、並びに記憶システム - Google Patents

データ転送要求処理方法および装置、並びに記憶システム

Info

Publication number
JP2000276303A
JP2000276303A JP11083628A JP8362899A JP2000276303A JP 2000276303 A JP2000276303 A JP 2000276303A JP 11083628 A JP11083628 A JP 11083628A JP 8362899 A JP8362899 A JP 8362899A JP 2000276303 A JP2000276303 A JP 2000276303A
Authority
JP
Japan
Prior art keywords
data transfer
request
class
transfer request
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11083628A
Other languages
English (en)
Other versions
JP3382176B2 (ja
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
Priority to JP08362899A priority Critical patent/JP3382176B2/ja
Priority to CA002302996A priority patent/CA2302996C/en
Priority to DE60023383T priority patent/DE60023383T2/de
Priority to US09/534,055 priority patent/US6802064B1/en
Priority to EP00302445A priority patent/EP1039366B1/en
Publication of JP2000276303A publication Critical patent/JP2000276303A/ja
Application granted granted Critical
Publication of JP3382176B2 publication Critical patent/JP3382176B2/ja
Priority to US10/930,870 priority patent/US7127714B2/en
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)

Abstract

(57)【要約】 【課題】 特に周期的なデータ転送を扱う場合に、個々
のデータ転送が制限時刻以内に終了することを保証しつ
つ、周期を大きくすることなく、メディアの交換回数を
低減する。 【解決手段】 制限時刻を持つデータ転送要求を処理す
る際に、クラス切替え時刻を越えた要求はクラス1に分
類して、メディア交換等の機械的動作量の大きい処理が
必要な場合でも時間をキーとするスケジューリング方針
に従って処理し、クラス切替え時刻を越えない要求はク
ラス2に分類して、機械的動作量の大きい処理が必要な
場合にはその要求を処理しない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メディアチェンジ
ャ等の機械的動作量が大きい記憶装置に対して発行され
るデータ転送要求を処理する要求処理装置の制御方式に
関するものである。
【0002】
【従来の技術】一般的に、記憶装置に対して発生したデ
ータ転送要求は、一旦キューにつながれて、その記憶装
置固有のスケジューリング方針にしたがって順に処理さ
れる。記憶装置のスケジューリング方針としてよく使用
される方針は、FIFO(First In Firs
t Out)およびSCANである。FIFOは要求の
発行時刻順に要求を処理する方針であり、SCANはデ
ィスク特有の方針で、ディスクのヘッドの移動方向を一
方向に限定して、その方向で最も近いトラックにアクセ
スする要求を順に処理する。
【0003】しかし、実時間システムに組み込まれる記
憶装置においては、各データ転送要求の処理に制限時間
が設定される場合がある。この場合にはEDF(Ear
liest Deadline First)がスケジ
ューリングの方針として適用されることがある。これ
は、各要求の制限時刻が早い順に要求を処理する方針で
ある。
【0004】また、周期的に処理すべき一連のデータ転
送要求を扱う場合には、RM(Rate Monoto
nic)を適用することも可能である。RMで扱う一連
の要求の系列は、それぞれの系列が固有の周期を持って
おり、1周期内で1個の要求が発行、処理される。RM
は、複数の系列を同時に扱う場合に、個々の要求が属す
る系列の周期が小さい順に要求を処理する方針である。
【0005】FIFOは要求の応答時間が重視される場
合に用いられ、SCANは総転送能力が重視される場合
に用いられる。一方、周期的なデータ転送要求を各々の
周期内で処理が終了することを保証する必要がある場合
には、EDFあるいはRMが用いられることが多い。た
だしこの場合でも、全てのデータ転送要求の周期が等し
いという特別な条件が成立する場合には、FIFOまた
はSCANを適用することも可能である。
【0006】ここで、データ転送の対象となる記憶媒体
としてテープを使用する場合や、メディアチェンジャに
より複数の記憶媒体を交換しながら使用する場合には、
ランダムアクセス時のオーバヘッドが非常に大きい。よ
って、実際にデータを転送する時間よりも、その転送が
開始されるまでのオーバーヘッド時間が相対的に大きく
なるため、転送効率が悪化する。さらに、機械部品の動
作量が大きいため、その耐久性を考慮する必要がある。
【0007】これまでは、テープやメディアチェンジャ
等を用いた記憶装置において、データ転送を行なう方式
としては、以下の方式が考えられた。
【0008】(1)制限時刻のあるデータ転送は扱わな
い。すなわち、EDFやRMなどの制限時刻の保証が可
能な方針による時分割多重アクセスを諦めて、SCAN
などを応用してテープの移動やメディアの交換回数を減
らす方針を採用する。
【0009】(2)メディアの交換が必要な時分割多重
アクセスをする場合には、制限時刻付きのデータ転送は
扱わない。すなわち、あるファイルに対して制限時刻が
あるデータ転送を行なう場合には、そのファイルの使用
中はそのファイルが格納されているメディアをドライブ
に挿入したままにしておく。しかしこの方式では、別の
メディアに格納されているファイルにアクセスするため
には、現在使用中のファイルの使用が終了するのを待た
ねばならない。
【0010】(3)EDFやRMなどの制限時刻の保証
が可能な方針による時分割多重アクセスを単純に行な
う。この方式では、制限時刻付きのデータ転送を扱うこ
とはできるが、テープの移動やメディアの交換回数を減
らすようなスケジューリングはできない。
【0011】(4)EDFやRMによる時分割多重アク
セスを行なう際に、データ転送量を大きくする。データ
転送量に比例して転送時間や転送周期も大きくなるの
で、テープの移動やメディアの交換の回数を相対的に減
らすことは可能であるが、データ転送量に比例して待ち
時間も大きくなる。
【0012】なお、テープやメディアチェンジャよりラ
ンダムアクセス性が高く、かつメモリより大容量化が可
能なハードディスクを、キャッシュディスクとして使用
する方式も存在する。実際にキャッシュディスクを用い
て周期的なデータ転送を行なう場合には、使用頻度の高
いファイルを丸ごとキャッシュにのせてしまい、全体が
キャッシュにのっているファイルに対してのみ時分割多
重アクセスを許す方式が一般的である。キャッシュにの
っていないファイルについては、やはり上記の4方式の
いずれかを適用することになる。
【0013】
【発明が解決しようとする課題】上記のように従来の方
式では、テープやメディアチェンジャを用いる記憶装置
から周期的なデータ転送を行なう場合、機械的動作量を
削減する方式をとると、周期的なデータ転送開始の待ち
時間が増加することは避けられなかった。
【0014】そこで本発明は、(a)メディアチェンジ
ャ等の、アクセス時に機械部品の動作量が大きい記憶媒
体を使用する場合に、稼働部品の耐久性を考慮して、機
械的な動作量を小さくするようにデータ転送要求の処理
順序をスケジューリングすることが可能で、(b)周期
的に処理すべきデータ転送要求を扱う際に、各々の要求
が制限時間内に終了することを保証することが可能で、
且つ、(c)周期的に処理すべきデータ転送要求を扱う
際に、データ転送開始までの待ち時間を短くする(各々
の要求で転送するデータ量および周期を大きくしない)
ことが可能な機構を提供することを目的とする。
【0015】
【課題を解決するための手段】本発明は、データ転送の
ために機械的動作を要する記憶装置に対するデータ転送
要求を処理する要求処理方法において、データ転送を終
了すべき制限時刻が決められたデータ転送要求を入力
し、入力されたデータ転送要求の制限時刻と現在時刻と
の近さに基づき、該データ転送要求が第一及び第二のク
ラスのいずれに属するかを判断し、第一のクラスに属す
ると判断されたデータ転送要求に対しては、制限時刻以
前にデータ転送が終了するようにスケジューリングを行
い、第二のクラスに属すると判断されたデータ転送要求
に対しては、データ転送のために要する機械的動作の量
が少なくなるようにスケジューリングを行い、スケジュ
ーリング結果に従ってデータ転送要求を処理することを
特徴とする。
【0016】ここで、入力された前記データ転送要求に
対し、前記制限時刻以前の時刻にクラス切替え時刻を設
定し、現在時刻が前記クラス切替え時刻を越えている場
合は前記データ転送要求が前記第一のクラスに属すると
判断し、現在時刻が前記クラス切替え時刻をまだ越えて
いない場合は前記データ転送要求が前記第二のクラスに
属すると判断するように実施すると良い。
【0017】また、前記第一のクラスに属すると判断さ
れたデータ転送要求に対するスケジューリングは、デー
タ転送のために要する機械的動作の量が多くとも、前記
制限時刻以前にデータ転送が終了するようにするもので
あることが好ましい。
【0018】一方、前記第二のクラスに属すると判断さ
れたデータ転送要求に対するスケジューリングは、デー
タ転送のために要する機械的動作の量が所定の条件を満
足しない場合には、該データ転送要求を処理しないよう
にするものであることが好ましい。
【0019】さらに、前記第一のクラスに属すると判断
されたデータ転送要求を、前記第二のクラスに属すると
判断されたデータ転送要求よりも優先して処理する(例
えば、クラス2の要求は、クラス1の全ての要求がなく
なった時に、(対象メディアがドライブに装着されてい
れば)処理する)ようにスケジューリングを行うことが
好ましい。
【0020】また、入力された前記データ転送要求に対
し、前記制限時刻以前の時刻にクラス切替え時刻を設定
し、現在時刻が前記第二のクラスに属すると判断された
データ転送要求のクラス切替え時刻に達した場合に、該
データ転送要求が前記第一のクラスに属するものと判断
し直すことも有効である。
【0021】入力された前記データ転送要求が周期的に
処理すべき一連のデータ転送要求である場合には、該一
連のデータ転送要求を構成する各々のデータ転送要求に
対して決められた制限時刻より1周期分以前の時刻に各
々のクラス切替え時刻を設定すると良い。
【0022】前記一連のデータ転送要求が複数あると
き、前記第一のクラスに属すると判断されたデータ転送
要求に対するスケジューリングは、各々のデータ転送要
求が属する一連のデータ転送要求の周期が小さい順に優
先して処理すると良い場合がある。
【0023】一方、前記第一のクラスに属すると判断さ
れたデータ転送要求に対するスケジューリングを、各々
のデータ転送要求の制限時刻が早い順に優先して処理す
るように行うと良い場合もある。
【0024】制限時刻を持たないデータ転送要求を入力
した場合には、該データ転送要求が前記第一及び第二の
クラスと異なる第三のクラスに属すると判断する。
【0025】ここで、一つの方法は、前記第一のクラス
に属すると判断されたデータ転送要求を、この第三のク
ラスに属すると判断されたデータ転送要求よりも優先し
て処理し、この第三のクラスに属すると判断されたデー
タ転送要求を、前記第二のクラスに属すると判断された
データ転送要求よりも優先して処理する(例えば、クラ
ス3の要求は、クラス1の全ての要求がなくなった時
に、(対象メディアがドライブに装着されていなければ
メディアを交換して)処理する)ように、スケジューリ
ングを行うことである。
【0026】もう一つの方法は、前記第一のクラスに属
すると判断されたデータ転送要求を、前記第二のクラス
に属すると判断されたデータ転送要求よりも優先して処
理し、前記第二のクラスに属すると判断されたデータ転
送要求を、この第三のクラスに属すると判断されたデー
タ転送要求よりも優先して処理する(例えば、クラス3
の要求は、クラス1の全ての要求がなくなった時に、
(対象メディアがドライブに装着されていれば)クラス
2の要求を処理し、それもなくなった時に、(対象メデ
ィアがドライブに装着されていなければメディアを交換
して)処理する)ように、スケジューリングを行うこと
である。
【0027】前記第三のクラスに属すると判断されたデ
ータ転送要求に対するスケジューリングは、データ転送
のために要する機械的動作の量が所定の条件を満足しな
い場合でも、該データ転送要求が処理される可能性を残
すように行うことが好ましい。
【0028】本発明に係る要求処理装置は、データ転送
のために機械的動作を要する記憶装置に対してデータ転
送要求を発行する手段と、データ転送が終了する時刻が
所定の基準を満たすことを重視するポリシーで前記デー
タ転送要求の発行をスケジューリングする第一のクラス
の手段と、データ転送のために要する機械的動作の量が
少なくなることを重視するポリシーで前記データ転送要
求の発行をスケジューリングする第二のクラスの手段
と、各々のデータ転送要求に対し、該データ転送要求が
前記第一及び第二のクラスのいずれの手段でスケジュー
リングされるべきかを決定するための基準となるクラス
切替え時刻を設定する手段と、現在時刻が前記クラス切
替え時刻を越えているデータ転送要求を前記第一のクラ
スの手段にスケジューリングさせ、現在時刻が前記クラ
ス切替え時刻をまだ越えていないデータ転送要求を前記
第二のクラスの手段にスケジューリングさせる手段と、
前記第一のクラスの手段でスケジューリングされたデー
タ転送要求を、前記第二のクラスの手段でスケジューリ
ングされたデータ転送要求よりも優先して、前記記憶装
置に対して発行させる手段とを備えたことを特徴とす
る。
【0029】ここで、前記記憶装置は、複数の記憶メデ
ィアのうちの一部をドライブに挿入してデータにアクセ
スするものであって、該ドライブに挿入された記憶メデ
ィアを該複数の記憶メディアのうちの他の一部に交換す
ることが可能なメディアチェンジャであり、前記第二の
クラスの手段は、データ転送の対象となる記憶メディア
が前記ドライブに挿入されておらず記憶メディアの交換
が必要とされるデータ転送要求は、処理しないようにス
ケジューリングする手段を含むものであるようにも、実
施できる。
【0030】本発明はまた、データ転送のために機械的
動作を要する記憶装置に対するデータ転送要求を処理す
る装置としての動作をコンピュータに実行させるための
データ転送要求処理プログラムを記憶した記憶媒体であ
って、当該プログラムは、データ転送のために要する機
械的動作の量が所定の条件を満たさないデータ転送要求
は処理しないように、各データ転送要求をスケジューリ
ングするための第一のプログラムコードと、この第一の
プログラムコードによりスケジューリングされるデータ
転送要求よりも優先して処理されるように、各データ転
送要求をスケジューリングするための第二のプログラム
コードと、データ転送を終了すべき制限時刻が決められ
たデータ転送要求を、該制限時刻と現在時刻との遠さに
基づいて、前記第一のプログラムコードによりスケジュ
ーリングすべきか、前記第二のプログラムコードにより
スケジューリングすべきかを決定するための第三のプロ
グラムコードとを含むことを特徴とする。
【0031】本発明に係る上述した各方法の発明はそれ
ぞれ装置の発明としても記憶媒体の発明としても成り立
ち、上述した各装置の発明はそれぞれ方法の発明として
も記憶媒体の発明としても成り立ち、上述した記憶媒体
の発明は方法の発明としても装置の発明としても成り立
つものである。
【0032】
【発明の実施の形態】まず最初に、本発明の実施形態の
概要について図1を参照しながら説明する。本実施形態
に係るデータ転送要求処理装置は、要求受付部101、
時刻設定部102、スケジューラ103、記憶装置制御
部104から構成される。
【0033】要求受付部101は、本発明を使用するシ
ステム上で動作するアプリケーション105からのデー
タ転送要求を受け付けるインターフェースの役割を持
つ。
【0034】データ転送要求には、従来の記憶装置に対
する要求と同様に、転送するデータの記憶装置106上
での格納位置と、転送するデータを格納するバッファ1
07のアドレスとが記述される。なお、データ転送要求
が読み出しの場合は、記憶装置106が転送元、バッフ
ァ107が転送先となり、データ転送要求が書き込みの
場合は、バッファ107が転送元、記憶装置106が転
送先となる。更に本実施形態においては、データ転送要
求内に、そのデータ転送要求の制限時刻が指定される。
【0035】時刻設定部102は、要求受付部101か
ら受けたデータ転送要求を参照し、その要求の制限時刻
より早い時刻にクラス切替え時刻を設定する。クラス切
替え時刻とは、そのデータ転送要求が、後述するように
それぞれ異なるポリシー(方針)でデータ転送要求をス
ケジューリングするクラス1とクラス2のうち、クラス
2に属している状態から、クラス1に属している状態に
切り替わるべき時刻である(設定したクラス切替え時刻
が現在時刻よりも過去の時刻になる場合にはそのデータ
転送要求は最初からクラス1に属することになる)。
【0036】スケジューラ103は、クラス切替え時刻
が設定されたデータ転送要求を時刻設定部102から受
けとると、まず現在時刻とクラス切替え時刻を比較す
る。既に現在時刻がクラス切替え時刻を越えている場合
にはクラス1、そうでない場合にはクラス2に分類す
る。その後もクラス2に分類された要求のクラス切替え
時刻を監視して、時間の経過にともないクラス1に格上
げする。
【0037】スケジューラ103は、クラス1に分類さ
れる要求をクラス2に分類される要求より優先して選択
する。同じクラスに分類される要求間の優先度について
は、各クラスに適用されるスケジューリング方針に従
う。このように、各クラスのスケジューリング方針によ
り実行可能と判断され且つ最も優先度の高い要求を選択
し、選択されたデータ転送要求に従って記憶装置制御部
104に指示を出す。
【0038】記憶装置制御部104は、スケジューラ1
03の指示に従い、スケジューラ103が選択した最も
優先度の高いデータ転送要求を処理するために必要とな
る制御命令を記憶装置106に対して出す。制御命令
は、データ転送命令のみでなく、メディアチェンジャに
おける記憶メディアの移動等の命令も含む。この制御命
令により、記憶装置106と、本発明を使用するシステ
ム上のメモリ108内のバッファ107との間で、デー
タが転送される。
【0039】なお、制限時刻とクラス切替え時刻の差は
固定の値でなくともよい。時刻設定部102が、個々の
データ転送要求に関連する別の情報に応じてクラス切替
え時刻を設定する形態も可能である。例えば、個々のデ
ータ転送要求が周期的に発行されることがあらかじめわ
かっている場合に、その周期を制限時刻とクラス切替え
時刻の差とすることが可能である。
【0040】また、個々のデータ転送要求について、制
限時刻までに処理が終了することのみが重視されるの
か、あるいは応答時間も性能として重視されるのかを区
別し、応答時間を重視する要求についてはクラス切替え
時刻に現在時刻を設定して最初からクラス1に分類され
るようにしてもよい。
【0041】クラス1に分類される各要求は、クラス切
替え時刻を越え、比較的制限時刻が近い要求である。そ
こで、スケジューラ103がクラス1に適用するスケジ
ューリング方針としては、EDFやRM等、時間に関す
る情報をキーとする方針(各要求がそれぞれの制限時刻
までに処理されるようにするポリシー、もしくは、制限
時刻を守ることを記憶装置の機械的動作量を少なくする
ことよりも優先するポリシー等)が望ましい。少なくと
も、記憶装置の状態によっては特定の要求が永久に待た
される場合があるという方針ではないことが望ましい。
【0042】それに対して、クラス2に分類される各要
求は、制限時刻までに余裕があり、時間の経過に伴いク
ラス切替え時刻を越えた要求がクラス1へ格上げされる
ものである。そこで、スケジューラ103がクラス2に
適用するスケジューリング方針としては、特定の要求が
永久に待たされる可能性がある方針でも構わない。そこ
で本発明では、記憶装置の状態に関する情報(テープの
現在のアクセス位置や、メディアチェンジャのドライブ
110に現在装着されているメディアの識別子等)10
9を参照して、各要求を処理する際に必要となる機械的
動作量をキーとするスケジューリング方針(テープ/ヘ
ッドの移動量やメディア交換回数を少なくするポリシ
ー、もしくは、これらを少なくすることを要求を早く処
理することよりも優先するポリシー等)をクラス2に適
用する。
【0043】なお、上記の(および後出する)各部は、
ソフトウェアにより構成しても、ソフトウェアとハード
ウェアの組み合わせにより構成しても構わない。また、
汎用のコンピュータに、上記の各部の機能を実行させる
ためのプログラムをインストールすることで、本実施形
態に係るデータ転送要求処理装置を実現することもでき
る。
【0044】記憶装置106としてメディアチェンジャ
を使用する場合、データ転送要求の対象となる記憶メデ
ィアをドライブ110におさめるために、記憶メディア
の交換が生じる。記憶メディアとそれを搬送する稼働部
品の移動量は、記憶装置106内の他の稼働部品(例え
ば光ディスク装置のヘッド)と比較して非常に大きい。
特に問題となるのは、メディアを搬送させるための稼働
部品の耐久性である。
【0045】そこで本実施形態の例では、クラス2のス
ケジューリング方針において、メディア交換が必要とな
るデータ転送要求は処理しない(もしくは処理を遅らせ
る)ように判断する機能を設ける。記憶装置制御部10
4がメディアチェンジャのドライブ110の状態を管理
し、そのドライブに記憶メディアが挿入されているか否
かと、挿入されている場合にはそのメディアの番号とを
スケジューラから参照できるようにする(109)。
【0046】スケジューラ103では、クラス2に分類
される要求の中で実行可能なデータ転送要求を選択する
際に、その時点でドライブに挿入されている記憶メディ
アを対象とするデータ転送要求のみを実行可能と判断し
て選択する。このようにすると、ドライブがアイドリン
グ状態でかつクラス2に分類される要求が存在する状態
であっても、それらの要求の対象となる記憶メディアが
ドライブに挿入されていない場合には、それらの要求は
選択されない。
【0047】結果として、データ転送要求は、クラス切
替え時刻までの間はクラス2に分類され、記憶メディア
の交換回数が少なくなるようにスケジューリングされ
る。クラス切替え時刻を越えるとクラス1に格上げさ
れ、記憶メディアの交換回数の増減よりも、制限時刻等
の時間をキーとしてスケジューリングされる。
【0048】本実施形態において、アプリケーションか
ら受けたデータ転送要求を複数の部分要求に分割して処
理する機能を持たせることも可能である。一般に記憶装
置に対するデータ転送は、一旦転送が開始されると、そ
の転送を中断して別の転送要求を実行するような横取り
は困難である。そこで、データ転送要求で指定された転
送量がある固定の単位量を越える場合に、そのデータ転
送要求を個々の転送量が単位量以下となる複数の部分要
求に分割して処理するとよい。この機能により、本来横
取り可能ではないデータ転送要求の処理において、単位
量のデータ転送を行なう度に横取りの機会を残すことが
可能となる。なお、要求分割の機能については、要求受
付部101、時刻設定部102、スケジューラ103の
いずれの部位で行なうことも可能である。
【0049】記憶メディアの中には、読み出しと書き込
みとでデータ転送レートが大きく異なるものが存在す
る。例えば、光磁気ディスクの書き込みにおいて、古い
データの削除/新しいデータの記録/ベリファイの3行
程が必要となるものが存在する。この場合、データの書
き込みにかかる時間は、同じ大きさのデータを読み出す
場合に比べて3倍の時間がかかる。そこで、上記の要求
分割の機能を用いるとよい。すなわち、書き込みの場合
には転送の単位量を読み出しの場合の単位量の1/3に
して要求分割を行なう。すると、書き込みの場合の単位
量の転送時間と読み出しの場合の単位量の転送時間が見
かけ上等しくなる。
【0050】データ転送要求で記憶装置から読み出した
データを格納するバッファ107、あるいは記憶装置に
書き込むデータを格納しておくバッファ107は、通常
はメモリ108上に確保され、データ転送要求内ではそ
のアドレスで参照される。しかし、記憶装置106とし
てメディアチェンジャ等を使用する場合、そのアクセス
のオーバヘッドをカバーするために、ハードディスク等
で構成されるキャッシュを用意する形態が考えられる。
バッファ量が大きい場合には、メモリよりも容量の大き
いキャッシュハードディスク上にバッファ107を確保
し、このバッファ107に対して上述した動作を行って
もよい。
【0051】次に、本発明を周期的に処理すべきデータ
転送要求を扱うシステムに適用する場合の実施形態つい
て説明する。
【0052】ここで、周期的に処理すべきデータ転送要
求とは、連続したデータ転送要求の系列において、個々
の要求の制限時刻がその系列固有の周期おきに設定され
る要求のことを指す。以降では、この複数のデータ転送
要求からなる系列のことを、簡単に「周期的要求系列」
と呼ぶことにする。
【0053】例えば、記憶装置からある固定の大きさ単
位で順次読み出したデータを一定のレートで消費するア
プリケーションでは、あるデータの消費が終了して次の
データの消費が開始される前に、次のデータを読み出さ
ねばならない。ある固定の大きさのデータを消費する時
間は一定であるので、個々のデータの消費開始時刻、す
なわち個々のデータ転送要求の制限時刻は一定の周期と
なる。
【0054】一般にRMやEDFのようなスケジューリ
ング方針で周期的に発生する要求を処理する場合には、
それぞれの要求を各周期の開始時点で発行し、その周期
の終了時点をその要求の制限時刻とする(すなわち相対
制限時間が周期と等しい)ことが前提となる。これは、
このような前提を置けば、RMおよびEDFで、周期的
に処理すべき一連の要求について各々の要求の制限時刻
が保証できるかどうかを判定するためのスケジュール可
能性テスト(後述)を、比較的容易に適用できるからで
ある。
【0055】上記の前提を満たす場合として、例えば、
図2に示すようにダブルバッファを用意して、データ転
送要求の処理を行なうバッファと、アプリケーションが
データを利用するバッファとを、一周期おきに切替える
場合が挙げられる。この図では、二重線の双方向矢印
で、データ転送要求の発行時刻と制限時刻との間を結ん
でいる。
【0056】しかし、図3に示すようにバッファを2個
より多く使用できる場合には、制限時刻の1周期分以前
の時刻よりも前にデータ転送要求を発行/処理すること
が可能である。
【0057】そこで本実施形態では、時刻設定部102
に、クラス切替え時刻を各々の制限時刻より1周期分早
い時刻に設定する機能を持たせる。すると、図3のよう
な場合であっても、クラス1に分類される要求は全て、
各周期の開始時点でクラス1に登録されて、その周期の
終了時点を制限時刻とすることとなる(図4)。したが
って、クラス1の中におけるスケジューリング方針とし
てRMやEDFを適用して周期的要求系列を処理するこ
とが可能となる。
【0058】クラス1のスケジューリング方針としてR
Mを適用するには、スケジューラ103に、クラス1に
分類されるデータ転送要求を周期が小さい順に優先して
選択する機能を用意するとよい。
【0059】クラス1のスケジューリング方針としてE
DFを適用するには、スケジューラ103に、クラス1
に分類されるデータ転送要求を制限時刻が早い順に優先
して選択する機能を用意するとよい。
【0060】個々のデータ転送要求の制限時刻をアプリ
ケーションが指定する場合、アプリケーションが誤っ
て、その周期的転送系列の本来の制限時刻より早い時刻
を設定することが考えられる。一つのアプリケーション
がこのような誤りを起こすと、他の周期的転送系列の動
作にも悪影響が生じる。
【0061】このように、アプリケーションの要求発行
のタイミングや制限時刻の指定が信用できない場合に
は、個々の要求の制限時刻をアプリケーションで指定す
るのではなく、周期的要求系列管理部111を本実施形
態に係るデータ転送要求処理装置内に設けると良い。周
期的要求系列管理部111は、管理テーブル112を用
いて、各周期的要求系列の周期を管理し、各データ転送
要求のクラス切替え時刻と制限時刻を決定する。時刻設
定部102は、周期的要求系列管理部111が決定した
これらの時刻を参照して、その系列に属するデータ転送
要求のクラス切替え時刻と制限時刻を設定する。
【0062】さらに、アプリケーション105が周期的
要求系列を周期的要求系列管理部111に登録する時
に、全ての要求が各々の制限時刻内に終了可能かどうか
を検査し、制限時刻内に終了することが保証できない場
合には登録を拒否する機能を、周期的要求系列管理部1
11に設けてもよい。
【0063】この機能の実現には、従来から用いられて
いるEDFあるいはRMのスケジュール可能性テストを
適用することができる。従来のスケジュール可能性テス
トは、利用率Uの値を元に行なわれる。利用率Uは次の
式により計算できる。
【0064】U=Σ(Ci/Ti) (i=1〜n) ここで、nは系列の個数、Ciはi番目の系列での個々
の要求の処理に必要な時間、Tiはi番目の系列の周期
である。
【0065】図4で示されるように、クラス1の要求は
各周期の開始時点でクラス1に登録され、終了時点を制
限時刻とするので、EDFの場合、U≦1が、各々の要
求の制限時刻を保証できる必要十分条件である。RMの
場合、U≦n×(2^(1/n)−1)が、各々の要求
の制限時刻を保証できる十分条件である。
【0066】但し、この条件は、要求が横取り可能であ
るということを前提にしている。そこで、先に述べた要
求分割の手法を用いて、個々の要求の転送量をある所定
の単位量以下にする。そして、個々の要求の処理に必要
な時間として、 C=(メディア交換に必要な最悪時間)+(単位量の転
送に必要な転送時間) を用いる。さらに、i番目の系列の周期として Ti'=
Ti−C を用いて、利用率Uの変形であるU'を次式の
ように計算する。
【0067】U'=Σ(C/Ti') (i=1〜n) すると、EDFの場合、U≦1が各々の要求の制限時刻
を保証できる十分条件となる。RMの場合、U'≦n×
(2^(1/n)−1)が十分条件となる。
【0068】なお、これらの条件式は、あくまで十分条
件の一例である。この式を満たさない場合でも、各々の
要求の制限時刻を保証できるような周期的要求系列の組
み合わせは存在する。
【0069】クラス切替え時刻と制限時刻の差を1周期
とする場合、スケジューラ103に要求が送られる時点
では、周期、クラス切替え時刻、制限時刻の3種類の値
は独立ではない。このうち2種類の値がわかれば残りの
1種類の値は決定される。上記の例では、時刻設定部1
02でクラス切替え時刻をデータ転送要求に設定した
が、別の形態として、周期をデータ転送要求に付加して
スケジューラ103に渡し、スケジューラ103内でこ
の周期と制限時刻とからクラス切替時刻を決定すること
も可能である。
【0070】また、たとえばクラス1のスケジューリン
グ方針としてRMを適用する場合には、周期的要求系列
管理部111でのチェックが済んだ後は、スケジューラ
103内で制限時刻を必要としないので、時刻設定部1
02でクラス切替え時刻と周期を要求に付加して、制限
時刻を削除してもよい。また、時刻設定部102でクラ
ス切替え時刻のみを要求に付加し、スケジューラ103
で周期的要求管理部111に問い合わせて周期を得ても
よい。いずれにしてもスケジューラ103内でクラス切
替え時刻を決定できるような形態であればよい。
【0071】次に、本実施形態において制限時刻を持た
ないデータ転送要求を扱う方式について述べる。本実施
形態では、スケジューラ103において、制限時刻を持
たないデータ転送要求を、クラス1、クラス2とは異な
るクラス3に分類する。また、時刻設定部102は、制
限時刻の指定のない要求にはクラス切替え時刻を設定し
ない。
【0072】スケジューラ103で優先度の高い要求を
選択する際に、各クラス間の優先順位の付け方には複数
の方式がある。優先順位の高い方からクラス1、クラス
3、クラス2とする方式にしても良いし、クラス1、ク
ラス2、クラス3の順とする方式にしても良い。クラス
3に分類される要求の応答時間を重視する場合には、ク
ラス2よりクラス3の要求を優先するとよい。記憶装置
106における機械的動作量を小さくすることを重視す
る場合には、クラス3よりクラス2の要求を優先すると
よい。
【0073】なお、クラス3に適用するスケジューリン
グ方針は、時間に関する情報をキーにする必要はない
が、クラス3に分類される要求はクラス1に格上げされ
ることがないので、永久に処理を待たされることのない
方針をとることが望ましい。
【0074】以下では、本実施形態の具体例として、デ
ータ転送要求の対象となる記憶装置にリムーバブルディ
スクのメディアチェンジャを用いるシステムにおいて、
周期的に処理すべきデータ転送要求の系列を同時に複数
扱う場合を説明する。
【0075】この例の場合、図1の要求受付部101
は、アプリケーション105からの周期的要求系列の登
録と、その周期的要求系列に属する個々のデータ転送要
求を受け付ける。
【0076】周期的要求系列管理部111は、登録され
た周期的要求系列の各々について、その系列の識別子
と、その系列の周期と、後述する前要求の制限時刻とを
1組として、管理テーブル112を用いて管理する。
【0077】時刻設定部102は、周期的要求系列管理
部111を参照して、受け付けた個々のデータ転送要求
のクラス切替え時刻と制限時刻を設定する。
【0078】スケジューラ103は、要求分類部11
3、クラス1管理部114、クラス2管理部115、ク
ラス切替え部116を含む。
【0079】要求分類部113は、要求のクラス切替え
時刻と現在時刻を比較して、クラス切替え時刻が現在時
刻を越えている場合はその要求をクラス1に分類する。
そうでない場合はクラス2に分類する。
【0080】クラス1管理部114およびクラス2管理
部115は、各クラスに分類された要求を管理し、各ク
ラスに適用されるスケジューリング方針に従って各クラ
スで実行可能な最も優先度の高い要求を選択する。
【0081】クラス1に分類される要求に対しては、ス
ケジューリング方針としてEDFを適用する。クラス1
管理部114内には、制限時刻順に要求を繋ぐリストを
1個用意する。
【0082】クラス2に分類される要求に対しては、ス
ケジューリング方針として、既にドライブに挿入されて
いるメディアに対する要求のみを実行可能として選択す
るように制限する方針をとる。クラス2管理部115内
には、記憶メディアの個数分のリストを用意して、各メ
ディアを対象とする要求を繋ぐ。各リスト内のスケジュ
ーリング方針としてはFIFOを適用する。
【0083】クラス切替え部116は、クラス2管理部
115に登録されている要求について、クラス切替え時
刻が現在時刻を越えた要求をクラス1に格上げして、ク
ラス1管理部114に登録する(クラス2管理部115
からは削除する)機能を持つ。クラス切替え部116内
には、クラス2のデータ転送要求へのポインタを示すノ
ードを繋ぐリストを用意する。そのリストにクラス切替
え時刻の早い順にノードを繋ぐ。リストの先頭の要求の
クラス切替え時刻にタイマイベントが発生するようにタ
イマ117を設定しておく。
【0084】スケジューラ103は、優先度の高い順に
実行可能な要求を選択する際に、まずクラス1管理部1
14に、実行可能なクラス1の要求が存在するかどうか
問い合わせる。存在する場合、その中で最も優先度の高
い要求を選択する。クラス1の要求が存在しない場合に
は、クラス2管理部115に、現在ドライブに挿入され
ているメディアに対するクラス2の要求が存在するかど
うか問い合わせる。存在する場合、その中で最も優先度
の高い要求を選択する。クラス2の要求も存在しない場
合には、その時点で実行可能な要求は無いとする。な
お、これはあくまで一つの例であり、他の例としては、
ここに述べた判断の流れでクラス1の要求もクラス2の
要求も存在しなかった場合に、クラス2のデータ転送要
求の中でクラス切替え時刻が早い要求を優先的に選択し
てこの要求に対応するメディアに交換するようにするこ
ともできるし、クラス2のデータ転送要求の中からメデ
ィア交換のための稼動部品の動作量が何らかの基準で少
ないと判断されるメディアに対する要求を選択してその
メディアに交換するようにしても構わない。
【0085】記憶装置制御部104は、スケジューラ1
03の指示に従い、メディアチェンジャ106のメディ
ア交換の制御と、リムーバブルディスクのドライブ11
0のデータ転送を制御する。また、メディアチェンジャ
の各部の状態を参照して、スケジューラからの状態問い
合わせに答える機能109を持つ。
【0086】メディアチェンジャ106は、複数のディ
スクを格納するためのスロットをディスク数個以上持
ち、実際のデータ転送を行なうためのドライブを1個
と、スロットとドライブの間でメディアを移動するため
のアームを持つ。記憶装置制御部106からの制御命令
としては少なくとも、スロットからドライブへのメディ
ア移動命令、ドライブからスロットへのメディア移動命
令、データ転送命令、各部の状態の参照命令が用意され
ているとする。
【0087】データ格納位置管理部118は、転送する
データを参照するためにアプリケーション105が用い
る論理的位置と、記憶装置106内でデータが実際に格
納される物理的位置との対応を、格納位置対応表119
を用いて管理する。例えば、データをファイル単位で管
理する場合、データが含まれるファイルの識別子(ファ
イル名等)とファイル先頭からのオフセット位置とを元
に、そのデータが実際に格納される記憶メディアの番号
とその記憶メディア上での格納位置(セクタ番号等)を
得る機能を持つ。
【0088】なお、データ格納位置管理部118は、例
えばファイルシステムであるが、本実施形態のデータ転
送要求処理装置の外部にあっても構わない。その場合、
アプリケーション105がデータ格納位置管理部118
を参照してデータの論理的位置から物理的位置への変換
を行ない、データ転送要求内にその物理的位置を直接記
述すればよい。
【0089】以降では、記憶装置から順次データを読み
出して一定のレートでデータを消費するアプリケーショ
ンを対象とし、そのアプリケーションを起点とするデー
タ転送要求の流れを追い、本実施形態における各部の動
作についてより細かく説明する。
【0090】対象となるアプリケーション105は、個
々のデータ転送要求で読み出すデータを格納するための
バッファ107をN個確保して、各バッファに順次デー
タを読み出して、読み出したデータの消費を行う。アプ
リケーションがデータを消費するとは、アプリケーショ
ンがバッファからデータを読み出して、再生、表示した
り、ネットワークを介して本システムに接続されたクラ
イアントへ向けて転送したりすることである。
【0091】図5にN=4の場合のバッファ利用のタイ
ムチャートを示す。このようにバッファを使用すること
により、一定のレートで連続してデータを消費すること
ができる。
【0092】周期的要求系列の周期T(sec)は、そ
のアプリケーションでデータを消費するレートR(By
te/sec)と個々の要求で転送するデータ量によっ
て決定される。本実施形態では、個々の要求で転送する
データ転送量はシステムで固定の値B(Byte)とす
る。
【0093】まずアプリケーション105は、周期的要
求系列の開始時に、要求受付部101に対して周期的要
求系列の登録を行なう。登録する内容は、周期的要求系
列の周期である。本例のアプリケーションの場合、図5
のタイムチャートに示すように、周期=Tとして登録す
ればよい。
【0094】次に、周期的要求系列管理部111は、新
しい周期的要求系列に対して識別子を割り振る。そし
て、その識別子、周期、前要求の制限時刻を1組として
管理テーブルに追加する。周期的要求系列管理部111
は、アプリケーションから個々のデータ転送要求が発行
された際に、それぞれのデータ転送要求の制限時刻をチ
ェックする。例えば、その要求が属する周期的要求系列
における前要求の制限時刻に周期を足した時刻が、今度
処理する要求の制限時刻となると予測して、アプリケー
ションからの制限時刻をこの予測と比較することにより
チェックを行う。前要求の制限時刻の初期値として、本
例では、周期的要求系列を登録した時の現在時刻を設定
する。登録の後、割り振られた識別子が要求受付部10
1を介してアプリケーション105に返される。
【0095】アプリケーション105は、周期的要求系
列開始時にはN個のデータ転送要求を作成して、個々の
データ転送要求に1個づつバッファを割り当てる。その
N個のデータ転送要求を本来のデータ読み出しの順序で
要求受付部101に出す。そして図5のタイムチャート
に示すように、最初の要求の制限時刻、すなわち最初の
要求発行から1周期後にデータの消費を開始する。
【0096】作成されるデータ転送要求には、その要求
が属する周期的要求系列の識別子と、その要求の制限時
刻と、転送するデータの記憶装置上の論理的位置(ファ
イル識別子、オフセット位置)と、バッファのアドレス
とが記述される。本実施形態では転送量はシステムで固
定とするので、個々の要求には記述しなくともよい。
【0097】制限時刻は、図5のタイムチャートからも
分かるように、最初に一斉に発行されるN個のデータ転
送要求については、i番目のデータ転送要求では(i×
T+現在時刻)とすれば良い。その後、一度データの消
費が終了して使いまわされたバッファを使用するデータ
転送要求については、制限時刻を((N−1)×T+要
求の発行時刻)とすればよい。
【0098】アプリケーションから出された個々のデー
タ転送要求は、要求受付部101、時刻設定部102を
介して、スケジューラ103に登録される。図6にその
手続きの概略を示す。
【0099】要求受付部101は、アプリケーション1
05から個々のデータ転送要求を受け付けると、データ
格納位置管理部118の格納位置対応表119を参照し
て、データ転送要求に記述されているデータの論理的位
置を物理的位置(メディアの番号とメディア上での格納
位置)に置き換える(S201)。その後、データ転送
要求を時刻設定部102に送る。
【0100】時刻設定部102は、データ転送要求に記
述された周期的要求系列の識別子と制限時刻を周期的要
求系列管理部111に渡す。
【0101】周期的要求系列管理部111は、このアプ
リケーションが設定した制限時刻のチェックし、必要で
あれば補正する(S202)。このとき周期的要求系列
管理部111が行う手続きの詳細を図7に示す。
【0102】まず、時刻設定部102から渡された識別
子をキーとして、対応する周期的要求系列の周期と前要
求の制限時刻を得る(S301)。周期的要求系列管理
部111内部では、今回の要求の制限時刻の予測値を
(前要求の制限時刻+周期)とする(S302)。この
予測値に基づき、アプリケーションから指定された制限
時刻をチェックする。
【0103】すなわち、制限時刻の予測値と時刻設定部
102から渡された制限時刻とを比較して、予測値の方
が大きい場合(S303Yes)は、アプリケーション
が予定より短い周期でデータ転送を行なおうとしている
と判断できる。これは誤動作を引き起こすため、時刻設
定部102から渡されたアプリケーション設定による制
限時刻は無視して、今回の要求の制限時刻として周期的
要求系列管理部111が計算した予測値を設定する(S
304)。制限時刻の予測値と時刻設定部102から渡
された制限時刻とを比較して、予測値の方が小さい場合
(S303No)は、アプリケーションが予定より長い
周期でデータ転送を行なおうとしていると判断できる。
本例では、この場合はアプリケーションの要求に従うこ
ととし、予測値を無視して、今回の要求の制限時刻を時
刻設定部102から渡された制限時刻とする(S30
5)。
【0104】そして、前要求の制限時刻として、上述し
た今回の要求の制限時刻を設定して、管理テーブル11
2を更新する(S306)。この今回の要求の制限時刻
を時刻設定部102に返し(S305の場合は、時刻設
定部102が一時的に保持している、アプリケーション
が設定した制限時刻が、そのまま今回の要求の制限時刻
となるため、保持している制限時刻をそのまま使うよう
指示するのでも良い)、さらに周期を時刻設定部102
に渡す。
【0105】なお、他の例としては、アプリケーション
では制限時刻を全く付けないようにし、時刻設定部10
2は周期的要求系列管理部111に周期的要求系列の識
別子だけを渡し、周期的要求系列管理部111がS30
2で計算した今回の要求の制限時刻の予測値をそのまま
今回の要求の制限時刻として時刻設定部102に返すよ
うにしても構わない。
【0106】時刻設定部102は、データ転送要求の制
限時刻を再設定し、クラス切替え時刻を設定した上で、
このデータ転送要求をスケジューラ103へ送る(S2
03)。このとき時刻設定部102が行う手続きの詳細
を図8に示す。
【0107】まず、データ転送要求に付加されていた制
限時刻を、周期的要求系列管理部111から得た今回の
要求の制限時刻に置き換える(S401)。さらに、ク
ラス切替え時刻として(制限時刻−周期)を設定する
(S402)。そして、このクラス切替え時刻をデータ
転送要求に付加して(S403)、スケジューラに送
る。
【0108】この時点でデータ転送要求には、周期的要
求系列の識別子と、制限時刻と、転送するデータの物理
的位置(メディア番号、メディア上での格納位置)と、
バッファのアドレスと、クラス切替え時刻とが記述され
ている。
【0109】スケジューラ103では、時刻設定部10
2から受けとったデータ転送要求を登録する(S20
4)。このときのスケジューラ103が行う手続きの詳
細を図9に示す。
【0110】まず、時刻設定部102からのデータ転送
要求を、要求分類部113で分類する。すなわち、デー
タ転送要求に含まれるクラス切替え時刻を現在時刻と比
較し、現在時刻を越えていれば(S501No)、クラ
ス1管理部114へ登録する(S503)。現在時刻を
越えていなければ(S501Yes)、クラス2管理部
115へ登録する(S502)。
【0111】クラス1管理部114では、新たに登録さ
れる要求の制限時刻を調べて、制限時刻順になるように
リストに繋ぐ。
【0112】クラス2管理部115では、新たに登録さ
れる要求の対象メディアを調べて、その対象メディアに
対応したリストの最後尾に繋ぐ。
【0113】データ転送要求をクラス2管理部へ登録す
る際には、並行してクラス切替部116にも登録する
(S504)。クラス切替部116のリストが空(S5
05Yes)、または先頭のノードに対応する要求のク
ラス切替え時刻より新たに登録される要求のクラス切替
え時刻が早い(S506Yes)場合には、新たに登録
される要求に対応するノードをリストの先頭に挿入する
(S507)。そして、タイマ117のタイマイベント
発生時刻を、その要求のクラス切替え時刻に設定し直す
(S508)。新たに登録される要求のクラス切替え時
刻より早いクラス切替え時刻を持つ要求が既に登録され
ている(S505NoでS506No)場合には、リス
トがクラス切替え時刻順となる挿入位置を探して、その
位置に新たに登録される要求に対応するノードを挿入す
る(S509)。
【0114】以上が、データ転送要求がスケジューラ1
03に登録されるまでの各部の動作である。以降では、
登録されたデータ転送要求を、スケジューラ103がど
のように扱うかを説明する。スケジューラ103内の各
部は、上述した要求の登録動作とは別に、以下の機能を
持つ。
【0115】クラス切替部116では、タイマイベント
が発生すると、クラス切替えリストに繋がれているノー
ドに対応する要求のクラス切替え時刻をリストの先頭か
ら順に調べる。そして、現在時刻がクラス切替え時刻と
同じかまたは越えている要求を全てクラス2管理部11
5から削除し、クラス1管理部114へ登録して、対応
するノードをリストから削除する。その後、リストが空
になった場合には、タイマイベントが発生しないように
タイマ117を設定する。リストにノードが残っている
場合には、リストの先頭ノードに対応する要求のクラス
切替え時刻にタイマ117を設定し直す。
【0116】クラス1管理部114では、クラス1で最
も優先度の高い要求を選択する際には、制限時刻順のリ
ストの先頭の要求を選択する。そのリストに要求がつな
がれていない時には、実行可能な要求が存在しないとす
る。
【0117】クラス2管理部115では、クラス2で最
も優先度の高い要求を選択する際には、指定されたメデ
ィアに対応するリストの先頭の要求を選択する。そのリ
ストに要求がつながれていない時には、実行可能な要求
が存在しないとする。
【0118】さて、本実施形態の例においては、 ・新たな要求が登録された時 ・クラス2に分類される要求がクラス1へと格上げされ
た時 ・メディアチェンジャのメディア移動が終了した時 ・メディアチェンジャのドライブのデータ転送が終了し
た時 の時点で、それまで実行可能ではなかった要求が実行可
能となる可能性がある。そこでスケジューラ103は、
上記の事象のいずれかが生じた時点で、実行可能な要求
で最も優先度の高い要求を選択して、記憶装置制御部1
04に動作を指示する。
【0119】ここの例では、メディアチェンジャが持つ
ドライブが1台であるので、スケジューラ103全体は
以下のように動作する。図10にそのフローチャートを
示す。
【0120】まず、メディアチェンジャのドライブがデ
ータ転送中かどうかを調べる。データ転送中であれば
(S601Yes)、スケジューラは再び上記の事象待
ちに戻る。
【0121】次に、クラス1管理部114で、上述した
ように最も優先度の高い要求を選択する(S602)。
実行可能な要求が存在すれば(S603Yes)、ドラ
イブに挿入されているメディアの番号を記憶装置制御部
104に問い合わせて(S604)、その要求の対象と
なるメディアがドライブに挿入されているかどうかを調
べる。対象メディアが挿入されていれば(S605Ye
s)、その要求に従いデータ転送開始を記憶装置制御部
104に指示する(S606)。この時、クラス1管理
部114からその要求を削除する。その後、再び事象待
ちに戻る。
【0122】対象メディアが挿入されていない場合には
(S605No)、さらにメディアチェンジャがメディ
アの移動中(アームの使用中)であるかどうかを記憶装
置制御部104に問い合わせる。メディア移動中でなけ
れば(S607No)、メディア交換を記憶装置制御部
104に指示する(S608)。この時、クラス1管理
部114からその要求を削除することはしない。その
後、再び事象待ちに戻る(さらに後、ここで指示された
メディア交換に係るメディア移動が終了するという事象
が発生し、S601からS605がもう一度実行され、
今度はS605Yesとなるため、残っている要求に係
るデータ転送が開始できる)。メディア移動中であれば
(S607Yes)、事象待ちに戻る。
【0123】クラス1管理部114で実行可能な要求が
存在しない場合(S603No)、次にクラス2管理部
115で最も優先度の高い要求を選択する。このため、
まず、ドライブに挿入されているメディアの番号を記憶
装置制御部104に問い合わせる(S609)。そのメ
ディアを対象とするクラス2の要求の中で、最も優先度
の高い要求を選択する(S610)。実行可能な要求が
存在すれば(S611Yes)、その要求に従いデータ
転送を開始を記憶装置制御部104に指示する(S61
2)。この時、クラス2管理部115からその要求を削
除する。その後、再び事象待ちに戻る。クラス2管理部
115で実行可能な要求が存在しない場合(S611N
o)、再び事象待ちに戻る。
【0124】記憶装置制御部104は、スケジューラ1
03からメディア交換の指示を受けると、ドライブ11
0にメディアが挿入されているかどうかを調べる。メデ
ィアが挿入されている場合には、そのメディアをドライ
ブ110から元のスロットへ移動する制御命令をメディ
アチェンジャ106に対して発行する。移動終了後には
スケジューラ103に通知する。メディアが挿入されて
いない場合には、スケジューラ103から指示されたメ
ディアをスロットからドライブ110へ移動する制御命
令をメディアチェンジャ106に対して発行する。移動
終了後にはスケジューラ103に通知する。
【0125】また、記憶装置制御部104は、スケジュ
ーラ103からデータ転送開始の指示を受けると、デー
タ転送を行なう制御命令をメディアチェンジャ106の
ドライブ110に対して発行する。データ転送終了時に
はスケジューラ103に通知する。また、要求受付部1
01を介してアプリケーション105にデータ転送終了
が通知される。
【0126】その後、アプリケーション105は、ある
バッファ107に読み出したデータの処理(消費)が終
りそのデータが不必要となると、そのバッファはさらに
N周期後に処理すべきデータを読み出すためのバッファ
として割り付けられ、新たなデータ転送要求が発行され
る。
【0127】さて、本実施形態は、一定のレートでデー
タを生成(もしくは外部から受信)して、順次そのデー
タを記憶装置106に書き込むアプリケーション105
においても同様に動作をする。
【0128】アプリケーション105は、個々の要求で
転送するデータを格納するためのバッファ107をN個
確保して、図11のタイムチャートに示すようにデータ
を生成、バッファに格納、記憶装置106に書き込むデ
ータ転送命令の発行を順次行う。
【0129】あるバッファ107(例えばバッファ0)
に格納されたデータを記憶装置106に書き込むデータ
転送要求を発行してから、他のバッファ107(例えば
バッファ1,2,3)にデータを順次格納していき、次
にそのバッファ(バッファ0)が必要となるのは(N−
1)周期後である。したがって、データ転送要求の制限
時刻としては、((N−1)×T+現在時刻)を指定す
ればよい。以後の動作は、データ転送が読み出しか書き
込みかの違いを除けば、データ読み出しアプリケーショ
ンの場合と全く同じである。
【0130】本実施形態による効果を示すために、動作
例として、周期的なデータ読み出しを行うアプリケーシ
ョンを3個同時に動作させる状況を考える。メディア交
換にかかる時間をt、B(Byte)のデータを記憶装
置から転送するのに必要な時間も同じくtとする。3つ
のアプリケーションでは、異なるメディアに格納されて
いるファイルをそれぞれ周期6t、周期6t、周期11
tでアクセスする。このような状況で以下の3方式を比
較する。 (a)従来の方式:個々のデータ転送量をB(Byt
e)、バッファ数を2個とする。 (b)従来の方式:個々のデータ転送量を2×B(By
te)、バッファ数を2個とする。周期は(a)の2倍
となる。 (c)本実施形態による方式:個々のデータ転送量をB
(Byte)、バッファ数を4個とする。
【0131】図12に上記の3方式で処理した場合のタ
イムチャートを示す。各アプリケーションA,B,Cの
軸上で、黒いボックスはメディアの交換を示し、数字の
入ったボックスはデータ転送を表す。ボックス内の数字
は各アプリケーションでの転送順序を示す。
【0132】この図12からわかるように、本実施形態
による処理(c)では、新たなアプリケーションの開始
時には要求が全てクラス1であるので、(a)のように
メディア交換しながら順番に各ファイルの最初のデータ
を転送する(この例ではEDFを用いているが、たまた
まRMを用いた場合と同様に要求の周期の小さい順にな
っている)。その後、クラス1の要求がなくなった空き
時間にクラス2で実行可能な要求を処理することによ
り、徐々にメディア交換の周期が大きくなり、メディア
交換回数が少なくなっていくことがわかる。
【0133】すなわち、本実施形態(c)を(a)と比
較すると、(a)では、1つのバッファしか使えずメデ
ィア交換が多いのに対し、(c)では、バッファ量を増
やすことによりメディア交換が明らかに少なくなる。
【0134】(b)では、2つのバッファを使え、その
分(a)よりもメディア交換は少なくなっているが、転
送データ量および周期が(a)の2倍であるので、読み
出しアプリケーションによるデータ消費を開始するまで
の待ち時間も2倍となってしまっている。
【0135】本実施形態(c)をこの(b)と比較する
と、後半の定常状態以降においてはメディア交換回数が
少なくなっている。さらに、実際の周期は(b)の半分
((a)と同等)であるので、データ消費を開始するま
での待ち時間も(b)の半分((a)と同等)で済む。
すなわち、本実施形態によれば、転送データ量および周
期(すなわち待ち時間)を大きくすることなく、メディ
ア交換回数を少なくすることが可能となる。
【0136】なお、データ消費を開始するまでの待ち時
間を見かけ上なくすために、ファイルの先頭のデータの
みをキャッシュしておく方式も存在するが、この場合で
も、本実施形態(c)によれば、(b)と比較して各デ
ータの大きさが半分で済むので、同じ数のデータをキャ
ッシュするために必要な総キャッシュ量が半分で済む。
【0137】次には、上記の実施形態の変形例として、
メディアチェンジャ106が持つドライブ110が複数
台である場合を例にとり、スケジューラ103の動作を
説明する。
【0138】この例では、前述した4個の事象のいずれ
かが発生してスケジューラ103が起動されると、まず
ドライブ状態リストを作成する。ドライブ状態リスト
は、データ転送のためにスロットからドライブにメディ
アを移動させる必要がある場合に、移動先として選択す
るドライブの順序を示すリストである。
【0139】ドライブ状態リストには、(1)メディア
が挿入されていないドライブ、(2)メディアが挿入さ
れているがデータ転送中でなく、そのメディアを対象と
する要求が存在しないドライブ、(3)メディアが挿入
されているがデータ転送中でなく、そのメディアを対象
とする要求が存在するドライブ、の順で、ドライブ番号
と状態を表す数値が書き込まれたノードがつながれる。
ただし、そのドライブからスロットへメディアを移動中
のドライブ、および、スロットからそのドライブへメデ
ィアを移動中のドライブ、および、それらの移動命令が
既に発行されているドライブは、上記の(1)から
(3)には含まない。
【0140】本例ではドライブが複数あるので、同時に
複数のクラス1の要求が実行可能な場合がある。そこで
クラス1管理部114では、最も優先度が高い要求を選
択する機能ではなく、その時点で実行可能な要求を優先
度が高い順に選択する機能を用意する。ただし、「スロ
ットあるいはドライブに挿入されておりかつデータ転送
中ではない」という条件が成立するメディアに対する要
求のみを選択の対象とする。次に優先度の高い要求であ
ったとしても、上記の条件を満たしていない場合には選
択せず、さらに次の優先順位の要求を探す。なお、メデ
ィアがスロットとドライブ間を移動中の場合は、上記の
条件を満たしていないとみなす。
【0141】クラス2の要求についても、ドライブが複
数あるので、同時に複数のクラス2の要求が実行可能な
場合がある。クラス2管理部115では、「ドライブに
挿入されておりかつデータ転送中ではない」という条件
が成立するメディアに対する要求を選択の対象とする。
ただし、その条件が成立するメディアの中で、異なるメ
ディアを対象とする要求の間に優先順位を決定する必要
は特にない。そこで、上記の要求を満たすメディアを指
定して、そのメディアに対するクラス2の要求の中で最
も優先度が高い要求を選択する機能を用意する。
【0142】図13に、このドライブが複数ある場合の
スケジューラ103の動作のフローチャートを示す。ま
ず、ドライブ状態リストを作成し(S701)、その
後、クラス1の要求の処理を開始する。ドライブ状態リ
ストが空であれば(S702No)、事象待ちに戻る。
【0143】ドライブ状態リストにノードが存在すれば
(S702Yes)、クラス1管理部114で優先度の
高い順に要求を選択する(S703)。クラス1の実行
可能な要求が存在すれば(S704Yes)、その要求
の対象メディアがドライブに挿入されているかどうか調
べる。対象メディアがドライブに挿入されていれば(S
705Yes)、その要求に従いデータ転送の開始を記
憶装置制御部104に指示する(S706)。この時、
クラス1管理部114からその要求を削除する。さら
に、ドライブ状態リストから、そのドライブに対応する
ノードを削除する(S707)。その後、ドライブ状態
リストの調査(S702)に戻る。
【0144】対象メディアがドライブに挿入されていな
ければ(S705No)、アーム使用中(どのメディア
でもいいからメディア移動中)かどうか調べる。アーム
使用中であれば(S708Yes)、ドライブ状態リス
トの調査に戻る。
【0145】アーム使用中でなければ(S708N
o)、ドライブ状態リストの先頭ノードに対応するドラ
イブを対象メディアの移動先のドライブとして選択する
(S709)。そして、そのドライブのメディア交換を
記憶装置制御部104に指示する(S710)。この
時、クラス1管理部114からその要求を削除しない。
しかし、ドライブ状態リストからは、そのドライブに対
応するノードを削除する(S711)。その後、ドライ
ブ状態リストの調査に戻る。
【0146】クラス1の要求が存在しなければ(S70
4No)、クラス2の要求の処理に移る。ドライブ状態
リストの最後のノードに対応するドライブの状態が、上
記の(3)すなわち「メディアが挿入されているがデー
タ転送中でなく、そのメディアを対象とする要求が存在
するドライブ」であるかどうか調べる。
【0147】状態が(3)であれば(S712Ye
s)、そのドライブを選択し(S713)、選択したド
ライブに挿入されているメディアの番号を調べ(S71
4)、クラス2管理部115で、そのメディアに対する
クラス2の要求の中で最も優先度の高い要求を選択する
(S715)。なお、このメディアに対する要求は全て
クラス2である。なぜなら、クラス1の要求があったと
すれば、以前のステップでデータ転送開始が指示されて
いるからである。
【0148】クラス2管理部115で選択された要求に
従い、データ転送を開始を記憶装置制御部104に指示
する(S716)。この時、クラス2管理部からその要
求を削除する。さらに、ドライブ状態リストから、その
ドライブに対応するノードを削除する(S717)。そ
の後、ドライブ状態リストの最後のノードの状態調査
(S712)に戻る。
【0149】ドライブ状態リストの最後のノードに対応
するドライブの状態が(3)でなければ(S712N
o)(あるいはドライブ状態リストが空であれば)、再
び事象待ちに入る。
【0150】次には、上記の実施形態の変形例として、
制限時刻がないデータ転送要求も扱う場合を例にとり、
各部の動作を説明する。
【0151】制限時刻がないデータ転送要求を扱う場合
には、以下のように変形すればよい。まず、周期的要求
系列の識別子として、制限時刻がないデータ転送要求で
あることを表現する特別な識別子を用意しておく。アプ
リケーション105は周期的要求系列の登録を行う必要
はなく、個々のデータ転送要求を発行する際にその識別
子を指定する。要求受付部101では、その識別子から
制限時刻がないデータ転送要求であることがわかるの
で、時刻設定部102には送らず、直接スケジューラ1
03へ送る。
【0152】スケジューラ103の要求分類部113で
は、制限時刻が付加されていない要求をクラス3に分類
し、クラス3管理部(図示せず)に登録する。
【0153】クラス3に分類される要求に対しては、ス
ケジューリング方針としてFIFOを適用する。クラス
3管理部内には、登録順に要求を繋ぐリストを1個用意
する。
【0154】スケジューラ103で最も優先度の高い要
求を選択する際には、クラス間の優先順位に応じて、図
10のフローチャートで示した処理にクラス3の処理を
加えればよい。図14に、優先順位をクラス1、クラス
3、クラス2とする場合のフローチャートを示す。
【0155】図14中、S801からS808の動作
は、それぞれ図10のS601からS608の動作と同
様である。クラス1で実行可能な要求がない場合(S8
03No)、本例では、クラス3の要求の中で最も優先
度の高い要求を選択する(S809)。ここで実行可能
な要求があれば(S810Yes)、クラス1の要求に
対するのと同様に、ドライブに挿入されているメディア
の番号を調べ(S804)、要求の対象となるメディア
が挿入されていればデータ転送を開始し(S806)、
挿入されていなければアーム使用中でないことを確認し
てメディア交換を指示する(S808)。クラス3で実
行可能な要求がなければ(S810No)、クラス2の
要求の処理に移り、図10のS609からS612と同
様の動作をS811からS814にて行う。
【0156】一方、処理の優先順位をクラス1、クラス
2、クラス3とする場合は、図10のS611でクラス
2で実行可能な要求がないと判断されたときに、クラス
3の要求の処理に移る。クラス3の要求の中で最優先の
要求を選択し、選択した要求の対象メディアが挿入され
ていなければ、メディアを交換して処理する。ここでの
クラス3内の各要求の選択の優先度は、要求登録順とし
ても良いし(FIFO)、現在ドライブに挿入されてい
るメディアに対する要求を優先させるのでも良い。ただ
し、後者の場合も、上述した例におけるクラス2のよう
に現在ドライブに挿入されているメディアに対する要求
がなければ実行可能な要求はないと判断すると、永久に
処理されない要求が出てくる可能性があるため、現在ド
ライブに挿入されているメディアに対するクラス3の要
求がなければ、クラス3の別の要求を実行可能な要求と
して選択するようにする。
【0157】以上詳述した実施形態はそれぞれあくまで
一例であり、本発明はその趣旨を逸脱しない範囲で種々
の変形実施が可能である。
【0158】
【発明の効果】本発明によれば、制限時刻を持つデータ
転送要求を処理する際に、クラス切替え時刻を越えた要
求はクラス1に分類され、メディア交換等の機械的動作
量の大きい処理が必要な場合でも、例えばEDFやRM
のような時間をキーとするスケジューリング方針にした
がって処理される。それに対してクラス切替え時刻を越
えない要求はクラス2に分類され、メディア交換等の機
械的動作量の大きい処理が必要な場合には、例えばたと
えドライブがデータ転送していないアイドリング状態で
あってもその要求を処理しないという方針を採る。
【0159】したがって、特に、周期的なデータ転送を
扱うシステムにおいて、EDFやRMのようなスケジュ
ーリング方針を適用して個々のデータ転送が制限時刻以
内に終了することを保証しつつ、周期を大きくすること
なく、メディアの交換回数を減らすことが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の概略構成を表すブロッ
ク図。
【図2】 バッファが2個の場合のバッファ利用チャー
トの例を示す図。
【図3】 バッファが2個より多い場合のバッファ利用
チャートの例を示す図。
【図4】 制限時刻とクラス切替え時刻の差を1周期と
した場合にクラス1に分類されるデータ転送要求の処理
を示すタイムチャートの例を示す図。
【図5】 本実施形態のデータ転送要求処理装置を使用
して記憶装置から周期的な読み出しを行なう場合のデー
タ転送要求とデータ消費処理のタイムチャートの例を示
す図。
【図6】 個々のデータ転送要求がスケジューラに登録
されるまでの手続きの概略を示すフローチャート。
【図7】 周期的要求系列管理部がデータ転送要求の制
限時刻をチェックする手続きを示すフローチャート。
【図8】 時刻設定部がデータ転送要求の制限時刻とク
ラス切替え時刻を設定する手続きを示すフローチャー
ト。
【図9】 スケジューラがデータ転送要求をクラス1管
理部またはクラス2管理部に登録する手続きを示すフロ
ーチャート。
【図10】 本実施形態におけるスケジューラが最も優
先度の高い要求の処理を指示する動作例を示すフローチ
ャート。
【図11】 本実施形態のデータ転送要求処理装置を使
用して記憶装置への周期的な書き込みを行なう場合のデ
ータ生成とデータ転送要求処理のタイムチャートの例を
示す図。
【図12】 周期的なデータ転送要求を行なうアプリケ
ーションが3個同時に動作した場合の要求処理のタイム
チャートの例を示す図。
【図13】 ドライブを複数台持つ実施形態におけるス
ケジューラが優先度の高い順に要求の処理を指示する動
作例を示すフローチャート。
【図14】 制限時刻のない要求をも扱う実施形態にお
けるスケジューラが優先度の高い順に要求の処理を指示
する動作例を示すフローチャート。
【符号の説明】
101…要求受付部 102…時刻設定部 103…スケジューラ 104…記憶装置制御部 105…アプリケーション 106…記憶装置(例えばメディアチェンジャ) 107…バッファ 108…メモリ(もしくはキャッシュハードディスク) 109…記憶装置状態記憶部 110…ドライブ 111…周期的要求系列管理部 112…管理テーブル 113…要求分類部 114…クラス1管理部 115…クラス2管理部 116…クラス切替え部 117…タイマ 118…データ格納位置管理部 119…格納位置対応表

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】データ転送のために機械的動作を要する記
    憶装置に対するデータ転送要求を処理する要求処理方法
    において、 データ転送を終了すべき制限時刻が決められたデータ転
    送要求を入力し、 入力されたデータ転送要求の制限時刻と現在時刻との近
    さに基づき、該データ転送要求が第一及び第二のクラス
    のいずれに属するかを判断し、 第一のクラスに属すると判断されたデータ転送要求に対
    しては、制限時刻以前にデータ転送が終了するようにス
    ケジューリングを行い、 第二のクラスに属すると判断されたデータ転送要求に対
    しては、データ転送のために要する機械的動作の量が少
    なくなるようにスケジューリングを行い、 スケジューリング結果に従ってデータ転送要求を処理す
    ることを特徴とする要求処理方法。
  2. 【請求項2】入力された前記データ転送要求に対し、前
    記制限時刻以前の時刻にクラス切替え時刻を設定し、 現在時刻が、設定された前記クラス切替え時刻を越えて
    いる場合は、前記データ転送要求が前記第一のクラスに
    属すると判断し、 現在時刻が、設定された前記クラス切替え時刻をまだ越
    えていない場合は、前記データ転送要求が前記第二のク
    ラスに属すると判断することを特徴とする請求項1記載
    の要求処理方法。
  3. 【請求項3】前記第一のクラスに属すると判断されたデ
    ータ転送要求に対するスケジューリングは、データ転送
    のために要する機械的動作の量が多くとも、前記制限時
    刻以前にデータ転送が終了するようにするものであるこ
    とを特徴とする請求項1記載の要求処理方法。
  4. 【請求項4】前記第二のクラスに属すると判断されたデ
    ータ転送要求に対するスケジューリングは、データ転送
    のために要する機械的動作の量が所定の条件を満足しな
    い場合には、該データ転送要求を処理しないようにする
    ものであることを特徴とする請求項1記載の要求処理方
    法。
  5. 【請求項5】前記第一のクラスに属すると判断されたデ
    ータ転送要求を、前記第二のクラスに属すると判断され
    たデータ転送要求よりも優先して処理するようにスケジ
    ューリングを行うことを特徴とする請求項1記載の要求
    処理方法。
  6. 【請求項6】入力された前記データ転送要求に対し、前
    記制限時刻以前の時刻にクラス切替え時刻を設定し、 現在時刻が前記第二のクラスに属すると判断されたデー
    タ転送要求のクラス切替え時刻に達した場合に、該デー
    タ転送要求が前記第一のクラスに属するものと判断し直
    すことを特徴とする請求項1記載の要求処理方法。
  7. 【請求項7】入力された前記データ転送要求が周期的に
    処理すべき一連のデータ転送要求である場合に、該一連
    のデータ転送要求を構成する各々のデータ転送要求に対
    して決められた制限時刻より1周期分以前の時刻に各々
    のクラス切替え時刻を設定することを特徴とする請求項
    2もしくは6に記載の要求処理方法。
  8. 【請求項8】前記一連のデータ転送要求が複数ある場合
    に、前記第一のクラスに属すると判断されたデータ転送
    要求に対するスケジューリングは、各々のデータ転送要
    求が属する一連のデータ転送要求の周期が小さい順に優
    先して処理するように行うことを特徴とする請求項7記
    載の要求処理方法。
  9. 【請求項9】前記第一のクラスに属すると判断されたデ
    ータ転送要求に対するスケジューリングは、各々のデー
    タ転送要求の制限時刻が早い順に優先して処理するよう
    に行うことを特徴とする請求項3または7記載の要求処
    理方法。
  10. 【請求項10】制限時刻を持たないデータ転送要求を入
    力した場合に、該データ転送要求が前記第一及び第二の
    クラスと異なる第三のクラスに属すると判断し、 前記第一のクラスに属すると判断されたデータ転送要求
    を、この第三のクラスに属すると判断されたデータ転送
    要求よりも優先して処理し、この第三のクラスに属する
    と判断されたデータ転送要求を、前記第二のクラスに属
    すると判断されたデータ転送要求よりも優先して処理す
    るように、スケジューリングを行うことを特徴とする請
    求項1記載の要求処理方法。
  11. 【請求項11】制限時刻を持たないデータ転送要求を入
    力した場合に、該データ転送要求が前記第一及び第二の
    クラスと異なる第三のクラスに属すると判断し、 前記第一のクラスに属すると判断されたデータ転送要求
    を、前記第二のクラスに属すると判断されたデータ転送
    要求よりも優先して処理し、前記第二のクラスに属する
    と判断されたデータ転送要求を、この第三のクラスに属
    すると判断されたデータ転送要求よりも優先して処理す
    るように、スケジューリングを行うことを特徴とする請
    求項1記載の要求処理方法。
  12. 【請求項12】前記第三のクラスに属すると判断された
    データ転送要求に対するスケジューリングは、データ転
    送のために要する機械的動作の量が所定の条件を満足し
    ない場合でも、該データ転送要求が処理される可能性を
    残すように行うことを特徴とする請求項10または11
    記載の要求処理方法。
  13. 【請求項13】データ転送のために機械的動作を要する
    記憶装置に対してデータ転送要求を発行する手段と、 データ転送が終了する時刻が所定の基準を満たすことを
    重視するポリシーで前記データ転送要求の発行をスケジ
    ューリングする第一のクラスの手段と、 データ転送のために要する機械的動作の量が少なくなる
    ことを重視するポリシーで前記データ転送要求の発行を
    スケジューリングする第二のクラスの手段と、 各々のデータ転送要求に対し、該データ転送要求が前記
    第一及び第二のクラスのいずれの手段でスケジューリン
    グされるべきかを決定するための基準となるクラス切替
    え時刻を設定する手段と、 現在時刻が前記クラス切替え時刻を越えているデータ転
    送要求を前記第一のクラスの手段にスケジューリングさ
    せ、現在時刻が前記クラス切替え時刻をまだ越えていな
    いデータ転送要求を前記第二のクラスの手段にスケジュ
    ーリングさせる手段と、 前記第一のクラスの手段でスケジューリングされたデー
    タ転送要求を、前記第二のクラスの手段でスケジューリ
    ングされたデータ転送要求よりも優先して、前記記憶装
    置に対して発行させる手段とを備えたことを特徴とする
    要求処理装置。
  14. 【請求項14】前記記憶装置は、複数の記憶メディアの
    うちの一部をドライブに挿入してデータにアクセスする
    ものであって、該ドライブに挿入された記憶メディアを
    該複数の記憶メディアのうちの他の一部に交換すること
    が可能なメディアチェンジャであり、 前記第二のクラスの手段は、データ転送の対象となる記
    憶メディアが前記ドライブに挿入されておらず記憶メデ
    ィアの交換が必要とされるデータ転送要求は、処理しな
    いようにスケジューリングする手段を含むものであるこ
    とを特徴とする請求項13記載の要求処理装置。
  15. 【請求項15】データ転送のために機械的動作を要する
    記憶装置に対するデータ転送要求を処理する装置として
    の動作をコンピュータに実行させるためのデータ転送要
    求処理プログラムを記憶した記憶媒体であって、 当該プログラムは、 データ転送のために要する機械的動作の量が所定の条件
    を満たさないデータ転送要求は処理しないように、各デ
    ータ転送要求をスケジューリングするための第一のプロ
    グラムコードと、 この第一のプログラムコードによりスケジューリングさ
    れるデータ転送要求よりも優先して処理されるように、
    各データ転送要求をスケジューリングするための第二の
    プログラムコードと、 データ転送を終了すべき制限時刻が決められたデータ転
    送要求を、該制限時刻と現在時刻との遠さに基づいて、
    前記第一のプログラムコードによりスケジューリングす
    べきか、前記第二のプログラムコードによりスケジュー
    リングすべきかを決定するための第三のプログラムコー
    ドとを含むことを特徴とする記憶媒体。
  16. 【請求項16】データ転送のために機械的動作を要する
    記憶装置と、 データ転送が終了する時刻が所定の基準を満たすことを
    重視するポリシーで前記記憶装置に対するデータ転送要
    求の発行をスケジューリングする第一のクラスの手段
    と、 データ転送のために要する機械的動作の量が少なくなる
    ことを重視するポリシーで前記記憶装置に対するデータ
    転送要求の発行をスケジューリングする第二のクラスの
    手段と、 各々のデータ転送要求に対し、該データ転送要求が前記
    第一及び第二のクラスのいずれの手段でスケジューリン
    グされるべきかを決定するための基準となるクラス切替
    え時刻を設定する手段と、 現在時刻が前記クラス切替え時刻を越えているデータ転
    送要求を前記第一のクラスの手段にスケジューリングさ
    せ、現在時刻が前記クラス切替え時刻をまだ越えていな
    いデータ転送要求を前記第二のクラスの手段にスケジュ
    ーリングさせる手段と、 前記第一のクラスの手段でスケジューリングされたデー
    タ転送要求を、前記第二のクラスの手段でスケジューリ
    ングされたデータ転送要求よりも優先して、前記記憶装
    置に対して発行する手段とを備えたことを特徴とする記
    憶システム。
JP08362899A 1999-03-26 1999-03-26 要求処理方法および要求処理装置 Expired - Fee Related JP3382176B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP08362899A JP3382176B2 (ja) 1999-03-26 1999-03-26 要求処理方法および要求処理装置
CA002302996A CA2302996C (en) 1999-03-26 2000-03-23 Data transfer request processing scheme for reducing mechanical actions in data storage system
DE60023383T DE60023383T2 (de) 1999-03-26 2000-03-24 Datenübertragungsanforderungsverarbeitungsschema zur Verringerung von mechanischen Beseitigungen eines Datenaufzeichnungssystems
US09/534,055 US6802064B1 (en) 1999-03-26 2000-03-24 Data transfer request processing scheme for reducing mechanical actions in data storage system
EP00302445A EP1039366B1 (en) 1999-03-26 2000-03-24 Data transfer request processing scheme for reducing mechanical actions in data storage system
US10/930,870 US7127714B2 (en) 1999-03-26 2004-09-01 Data transfer request processing scheme for reducing mechanical actions in data storage system

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2000276303A true JP2000276303A (ja) 2000-10-06
JP3382176B2 JP3382176B2 (ja) 2003-03-04

Family

ID=13807748

Family Applications (1)

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

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190274A (ja) * 2005-01-05 2006-07-20 Internatl Business Mach Corp <Ibm> 仮想テープ・サーバにおける論理ボリュームの再呼び出しを最適化するための装置、システム、および方法

Families Citing this family (18)

* 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 株式会社東芝 スケジューリング方法および情報処理システム
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
WO2012050913A1 (en) 2010-09-28 2012-04-19 The Ohio State University Predictive network system and method
US9531522B2 (en) * 2010-09-28 2016-12-27 Hesham El Gamal System and method for proactive resource allocation
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
CN104969604B (zh) 2012-08-14 2020-06-02 俄亥俄州立创新基金会 有效使用网络带宽的系统和方法
US8818392B2 (en) * 2012-08-21 2014-08-26 International Business Machines Corporation Network and user behavior based time-shifted mobile data transmission
US9712619B2 (en) 2014-11-04 2017-07-18 Pavilion Data Systems, Inc. Virtual non-volatile memory express drive
US9565269B2 (en) 2014-11-04 2017-02-07 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
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
EP0617361B1 (en) * 1993-03-26 2001-11-28 Cabletron Systems, Inc. Scheduling method and apparatus for a communication network
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 株式会社東芝 要求処理方法および要求処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190274A (ja) * 2005-01-05 2006-07-20 Internatl Business Mach Corp <Ibm> 仮想テープ・サーバにおける論理ボリュームの再呼び出しを最適化するための装置、システム、および方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3382176B2 (ja) 要求処理方法および要求処理装置
US6021464A (en) Real time disk array which guarantees write deadlines by selecting an alternate disk
US6292856B1 (en) System and method for application influence of I/O service order post I/O request
JP2611746B2 (ja) 入出力インタフェース装置及びその制御方法
US8959515B2 (en) Task scheduling policy for limited memory systems
US8046558B2 (en) File system having predictable real-time performance
KR100864964B1 (ko) 연산처리시스템 및 연산처리 제어방법, 업무관리시스템 및업무관리방법과 기억매체
US5802394A (en) Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US20080155205A1 (en) Systems and methods of data storage management, such as dynamic data stream allocation
WO2010035617A1 (ja) データの再呼び出し順を決定するための装置、方法、及びプログラム
US8549526B2 (en) Access control apparatus and access control method
JP2010097533A (ja) パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化
JP4176341B2 (ja) 記憶制御装置
JP2008276783A (ja) データ応答を順序変更するためのシステム
US9465745B2 (en) Managing access commands by multiple level caching
US20220237016A1 (en) Apparatus for determining resource migration schedule
JP2005339299A (ja) ストレージ装置のキャッシュ制御方法
JP2005092780A (ja) リアルタイムプロセッサシステム及び制御方法
JPH08227343A (ja) 2次記憶装置の制御装置および制御システム
WO2015052823A1 (ja) クラウド管理装置、その管理方法、およびそのシステム
JP2001022601A (ja) ジョブ実行制御方法及び並列計算機システム
JP2001142723A (ja) 資源配分方法、計算機システム及び記録媒体
KR20230123437A (ko) 제어 장치, 제어 방법, 제어 프로그램을 기록한 기록 매체 및 차량
JP4878979B2 (ja) マルチプレクサおよび情報処理装置
JP2021189461A (ja) ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees