JPH08227343A - 2次記憶装置の制御装置および制御システム - Google Patents

2次記憶装置の制御装置および制御システム

Info

Publication number
JPH08227343A
JPH08227343A JP7032598A JP3259895A JPH08227343A JP H08227343 A JPH08227343 A JP H08227343A JP 7032598 A JP7032598 A JP 7032598A JP 3259895 A JP3259895 A JP 3259895A JP H08227343 A JPH08227343 A JP H08227343A
Authority
JP
Japan
Prior art keywords
transfer
secondary storage
data
initiator
storage device
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.)
Pending
Application number
JP7032598A
Other languages
English (en)
Inventor
Kazuichi Oe
和一 大江
Satoshi Inano
聡 稲野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7032598A priority Critical patent/JPH08227343A/ja
Priority to US08/543,072 priority patent/US5778445A/en
Publication of JPH08227343A publication Critical patent/JPH08227343A/ja
Pending 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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【目的】2次記憶装置のアクセス時間のデットライン設
定を可能とし、バンド幅保証を可能とする。 【構成】メモリ12には、ファームウェアとして、ディ
スク装置3のキャリブレーション、温度補償等の内部制
御用のプログラムと、転送タイミングおよび転送サイズ
をスケジューリングし、該スケジューリングに従ってコ
ンピュータ1とディスク装置3との間のデータストリー
ムの転送制御を行うためのプログラムとが格納されてい
る。CPU11は、プログラムに従って、タイマ割り込
み部13、ディスクインタフェースドライバ14および
内部インタフェースドライバ15を制御することによっ
て、ディスク装置3の内部制御およびコンピュータ1〜
ディスク装置3間のデータ転送を達成する。タイマ割り
込み部13は、CPU11により予め割り込みタイミン
グが設定され、設定されたタイミングに従って割り込み
を発生することにより、前記スケジューリングに従った
データ転送を可能とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ファイルシステムを構
成する例えば磁気ディスク装置等の2次記憶装置の制御
システムに係り、特にアクセスに際しての実時間性が要
求されるマルチメディアシステム用のファイルシステム
としての2次記憶装置の制御に好適な2次記憶装置の制
御装置および制御システムに関する。
【0002】
【従来の技術】近年、伝送、処理等のメディア(媒体)
として、文字および数値等だけでなく音声および映像等
の種々のメディアを含むマルチメディアを取り扱うシス
テムが注目されてきている。このため、文字および数値
等だけを取り扱う従来のシステムを、上述のようなマル
チメディアを取り扱うシステムに拡張してマルチメディ
アシステムとすることが要求されることが多くなってい
る。一般に、マルチメディアの取り扱いでは、文字およ
び数値等だけを取り扱う場合よりも実時間性(リアルタ
イム性)が要求される。すなわち、映像および音声等の
場合、再生に供されるデータストリームがとぎれてしま
うと、動画の映像が一時的に静止してしまったり、再生
音がとぎれて判別不能となってしまったりする。このた
め、このような映像、音声等を取り扱うマルチメディア
システムでは、一連の映像、音声等をリアルタイム的に
切れ目なく処理または転送する必要がある。
【0003】データファイルを格納し且つその読出し/
書込みを行うファイルシステムのマルチメディア化につ
いて具体的に検討する。ファイルシステムの場合、マル
チメディアを扱うことができるように、従来のファイル
システムを拡張するには、ファイルの読出し/書込みの
際のファイルのデータストリームの転送におけるバンド
幅保証を行えるようにすればよい。
【0004】このようなバンド幅保証を可能にするに
は、ファイルサーバの周期的スケジューリング、2次記
憶装置のアクセス時間の正確な予測、あるいはネットワ
ークにおけるバンド幅保証などが必要になる。
【0005】これらのうち、2次記憶装置におけるアク
セス時間の正確な予測に関しては、デバイス、すなわち
2次記憶装置を例えばハードディスク装置とした場合、
シーク回数、回転待ち時間、ディスク装置内のキャッシ
ュのヒット/アンヒット、キャリブレーション(ディス
クヘッドの位置合わせ)制御、複数ディスク接続時のデ
ィスク間での競合等の複雑な要素に影響される。
【0006】
【発明が解決しようとする課題】上述したように、ファ
イルシステムのマルチメディア化にあたって、バンド幅
保証を可能にするには、ファイルサーバを周期的にスケ
ジューリングし、2次記憶装置のアクセス時間を正確に
予測し、あるいはネットワークにおけるバンド幅を保証
することなどが必要になる。そして、2次記憶装置にお
けるアクセス時間を正確に予測するには、例えばハード
ディスク装置の場合、シーク回数、回転待ち時間、ディ
スク装置内のキャッシュのヒット/アンヒット、キャリ
ブレーション(ディスクヘッドの位置合わせ)制御、複
数ディスク接続時のディスク間での競合等の複雑な要素
を考慮しなければならない。そのため、アクセス時間の
デットラインの設定は困難であった。
【0007】本発明は、上述のような課題を解決するた
めになされたもので、2次記憶装置のアクセス時間のデ
ットライン設定を可能とし、バンド幅保証を可能とする
2次記憶装置の制御装置および制御システムを提供する
ことを目的としている。
【0008】
【課題を解決するための手段】本発明は、上述した課題
を解決するため、次のように構成する。本発明に係る2
次記憶装置の制御装置は、イニシエータからイニシエー
タと2次記憶装置との間でのデータ転送が要求される
と、該データ転送に先立って、データ転送におけるデー
タストリームの転送タイミングおよび転送サイズを設定
するための条件設定手段と、前記条件設定手段によるデ
ータストリームの転送タイミングおよび転送サイズに従
って、イニシエータと2次記憶装置との間でデータ転送
を行って2次記憶装置のデータの読出し/書込みを行う
データ転送手段とを具備する〔請求項1〕。
【0009】前記条件設定手段は、前記イニシエータか
ら与えられる転送条件に基づいてデータ転送におけるデ
ータストリームの転送タイミングおよび転送サイズを設
定するための条件制御手段を含んでいてもよい〔請求項
2〕。
【0010】前記条件設定手段は、データストリームを
間欠的に転送するための1回あたりの転送ストリームサ
イズおよび転送間隔を設定する手段であってもよい〔請
求項3〕。
【0011】前記条件設定手段は、複数のデータストリ
ームの転送タイミングおよび転送サイズをスケジューリ
ングするための手段であってもよい〔請求項4〕。前記
条件設定手段は、前記イニシエータから与えられる複数
の転送要求による転送条件に基づいて、複数のデータ転
送におけるデータストリームの転送タイミングおよび転
送サイズを設定するための条件制御手段を含んでいても
よい〔請求項5〕。
【0012】本発明に係る2次記憶装置の制御装置は、
転送すべきデータストリームの転送バンド幅を確保する
ことができない場合、その旨を前記イニシエータに通知
して当該データ転送を回避するための通知手段をさらに
有していてもよい〔請求項6〕。
【0013】前記条件設定手段は、前記イニシエータか
ら与えられる複数の転送要求による転送条件に基づき、
転送バンド幅を保証することができる転送要求について
のみ、データ転送におけるデータストリームの転送タイ
ミングおよび転送サイズを設定するための条件制御手段
を含んでいてもよい〔請求項7〕。
【0014】前記条件設定手段は、データ転送の転送期
間以外の期間に2次記憶装置の内部処理を行う期間を設
定するための内部処理設定手段を有し、且つ前記内部処
理設定手段の設定に従って内部処理を実行させるための
処理制御手段をさらに含んでいてもよい〔請求項8〕。
【0015】前記条件設定手段は、前記イニシエータか
ら与えられる転送条件に基づき、データ転送の転送バン
ド幅を保証する必要のないデータ転送については、デー
タ転送の転送バンド幅を保証すべきデータ転送の転送期
間以外の期間に転送期間を設定する手段であってもよい
〔請求項9〕。
【0016】前記2次記憶装置は、ディスク装置であ
り、且つ前記内部処理設定手段で設定する内部処理は、
ディスクヘッドの位置のキャリブレーションのためのキ
ャリブレーション処理および温度異常防止のための温度
補償処理の少なくともいずれかを含んでいてもよい〔請
求項10〕。
【0017】前記2次記憶装置の制御装置は、前記2次
記憶装置側に設けられていてもよい〔請求項11〕。前
記2次記憶装置の制御装置は、前記イニシエータ装置側
に設けられていてもよい〔請求項12〕。
【0018】本発明に係る2次記憶装置の制御システム
は、複数の2次記憶装置と、前記複数の2次記憶装置に
対するアクセスを行うイニシエータと、各2次記憶装置
にそれぞれ設けられ、前記イニシエータから該イニシエ
ータと当該2次記憶装置との間でのデータ転送が要求さ
れると、該データ転送に先立って、前記イニシエータか
ら与えられる転送条件に基づいてデータ転送におけるデ
ータストリームの転送タイミングおよび転送サイズを設
定するための条件設定手段、および前記条件設定手段に
よるデータストリームの転送タイミングおよび転送サイ
ズに従って、前記イニシエータと当該2次記憶装置との
間でデータ転送を行って2次記憶装置のデータの読出し
/書込みを行うデータ転送手段を有する2次記憶装置の
制御部と、前記イニシエータと前記複数の2次記憶装置
の制御部との間に設けられ、前記複数の2次記憶装置の
制御部を選択的に切換えて前記イニシエータに接続する
とともに、前記イニシエータから与えられる転送条件を
満足させるべく前記2次記憶装置の制御部の選択切換を
制御する切換接続装置とを具備する〔請求項13〕。
【0019】前記切換接続装置は、前記イニシエータか
ら与えられる転送条件に基づいて接続ポート間のデータ
転送のバンド幅を保証するバンド幅保証手段を含んでい
てもよい〔請求項14〕。
【0020】前記バンド幅保証手段は、前記イニシエー
タから与えられる転送条件に基づいて前記2次記憶装置
の制御部の選択切換のスケジュールを制御するスケジュ
ーラを含んでいてもよい〔請求項15〕。
【0021】
【作用】本発明に係る2次記憶装置の制御装置および制
御システムでは、イニシエータ側との間での転送に際し
て、転送条件を設定して、データストリームの送出要求
およびディスクの制御要求等を統合的に管理し、転送条
件に従ってデータストリームの転送を適切にスケジュー
リングして、データ転送のデッドラインを保証すること
ができる。
【0022】〔2次記憶装置の制御装置の作用〕本発明
に係る2次記憶装置の制御装置では、イニシエータから
要求されたデータ転送に先立って、データストリームの
転送タイミングおよび転送サイズが設定され、該設定に
よる転送タイミングおよび転送サイズに従って、データ
ストリームが転送されて2次記憶装置のデータの読出し
/書込みが行われる。
【0023】前記イニシエータから転送条件が与えられ
る場合は、この転送条件に基づいて、前記データストリ
ームの転送タイミングおよび転送サイズが設定される。
前記転送タイミングおよび転送サイズには、前記データ
ストリームを間欠的に転送するための1回あたりの転送
ストリームサイズおよび転送間隔を含ませることができ
る。
【0024】前記転送タイミングおよび転送サイズの設
定にあたり、複数のデータストリームの転送タイミング
および転送サイズをスケジューリングすることもでき
る。前記イニシエータから複数の転送要求および転送条
件が与えられる場合は、複数のデータ転送におけるデー
タストリームの転送タイミングおよび転送サイズが設定
される。
【0025】転送すべき前記データストリームの転送バ
ンド幅を確保することができない場合には、その旨を前
記イニシエータに通知して当該データ転送を回避するこ
とができる。
【0026】前記イニシエータから複数の転送要求およ
び転送条件が与えられる場合、転送バンド幅を保証する
ことができる転送要求についてのみ、データ転送におけ
るデータストリームの転送タイミングおよび転送サイズ
を設定することもできる。
【0027】前記転送タイミングおよび転送サイズの設
定にあたり、データ転送の転送期間以外の期間に2次記
憶装置の内部処理を行う期間を設定し、且つそれに従っ
て内部処理を実行させることもできる。
【0028】前記イニシエータから与えられる転送条件
に基づき、データ転送の転送バンド幅を保証する必要の
ないデータ転送については、データ転送の転送バンド幅
を保証すべきデータ転送の転送期間以外の期間に転送期
間を設定することもできる。
【0029】前記2次記憶装置は、ディスク装置である
場合、その内部処理として、ディスクヘッドの位置のキ
ャリブレーションのためのキャリブレーション処理およ
び温度異常防止のための温度補償処理の少なくともいず
れかを行うことができる。
【0030】前記2次記憶装置の制御装置は前記2次記
憶装置側に設けられていてもよい。前記2次記憶装置の
制御装置は前記イニシエータ装置側に設けられていても
よい。
【0031】〔2次記憶装置の制御システムの作用〕本
発明に係る2次記憶装置の制御システムでは、複数の2
次記憶装置の各々において、イニシエータからデータ転
送が要求されると、該データ転送に先立って、前記イニ
シエータから与えられる転送条件に基づいてデータ転送
におけるデータストリームの転送タイミングおよび転送
サイズを設定し、該データストリームの転送タイミング
および転送サイズに従って、前記イニシエータと当該2
次記憶装置との間でデータ転送を行って2次記憶装置の
データの読出し/書込みを行うとともに、前記イニシエ
ータと前記複数の2次記憶装置の制御部との間に、前記
複数の2次記憶装置の制御部を選択的に切換えて前記イ
ニシエータに接続する切換制御装置が設けられる場合、
前記切換制御装置において、前記イニシエータから与え
られる転送条件を満足させるべく前記2次記憶装置の制
御部の選択切換を制御する。
【0032】前記切換接続装置は、前記イニシエータか
ら与えられる転送条件に基づいて接続ポート間のデータ
転送のバンド幅を保証するようにすることもできる。前
記バンド幅の保証にあたっては、前記イニシエータから
与えられる転送条件に基づいて前記2次記憶装置の選択
切換のスケジュールを制御するようにすることもでき
る。
【0033】
【実施例】以下、図面を参照して本発明の実施例を説明
する。 〔実施例1〕本発明の第1の実施例による原理的な2次
記憶装置の制御装置を図1を参照して説明する。
【0034】図1は、本発明を適用したディスクコント
ローラを示し、このディスクコントローラを用いたファ
イルシステムの構成を図2に示す。図2のファイルシス
テムは、コンピュータ1、ディスクコントローラ2、お
よびディスク装置3を具備する。
【0035】コンピュータ1は、ディスク装置3をアク
セスするイニシエータであり、ディスク装置3との間で
データ転送を行って、ディスク装置3の読出し/書込み
を行う。
【0036】ディスク装置3は、例えばハードディスク
装置であり、記憶媒体である磁気ディスクに例えばファ
イルデータを書込むことにより、ファイルデータを格納
し、該ディスクからファイルデータを利用するために読
出すことができる。ディスク装置3は、複数のディスク
装置またはディスクユニットで構成することもある。
【0037】ディスクコントローラ2は、ディスク装置
3に接続され、ディスク装置3の読出し/書込み等のア
クセス動作を制御する。この実施例では、ディスクコン
トローラ2に、本発明による2次記憶装置の制御装置が
組み込まれている。
【0038】イニシエータであるコンピュータ1は、ケ
ーブルを含むディスクインタフェース4を介してディス
クコントローラ2に結合され、ディスクコントローラ2
を介してディスク装置3をアクセスする。
【0039】ディスクコントローラ2の詳細が図1に示
されている。ディスクコントローラ2は、CPU(中央
処理装置)11、メモリ12、タイマ割り込み部13、
ディスクインタフェースドライバ14および内部インタ
フェースドライバ15を備えている。
【0040】CPU11は、例えばマイクロプロセッサ
等からなり、ディスクコントローラ2は、このCPU1
1により制御されて動作する。メモリ12は、ROM
(リードオンリメモリ)およびRAM(ランダムアクセ
スメモリ)を有し、ディスク装置3を制御するためのC
PU11の動作に必要なプログラムおよびデータ等が格
納される。すなわち、ROMには、ディスク装置3を制
御するためのプログラムがファームウェアとして格納さ
れており、CPU11は、このプラグラムに従ってディ
スク装置3を制御する。RAMには、ディスク装置3を
制御するための動作に関連して所要のデータが随時格納
される。
【0041】前記ROMには、読出し/書込みの際のデ
ータ転送におけるデータストリームの転送タイミングお
よび転送サイズを設定するためのプログラムおよび設定
されたデータストリームの転送タイミングおよび転送サ
イズに従ってデータ転送を行わせるためのプログラムも
ファームウェアとして格納されている。CPU11は、
これらのプラグラムに従って転送タイミングおよび転送
サイズを設定し、その転送タイミングおよび転送サイズ
に従ってディスク装置3の読出し/書込みを制御する。
前記RAMには、前記転送タイミングおよび転送サイズ
に従ったディスク装置3の読出し/書込み処理のための
データも格納される。
【0042】タイマ割り込み部13は、設定された転送
タイミングに従ってCPU11に割り込みをかけ、所定
の転送サイズのデータストリームの転送を行わせるため
のタイミング制御を行う。
【0043】メモリ12およびタイマ割り込み部13
は、共通の内部バス16を介してCPU11に接続され
ている。ディスクインタフェースドライバ14は、内部
バス16に接続され、コンピュータ1との間のディスク
インタフェース4を駆動するためのデバイスドライバで
ある。このディスクインタフェースドライバ14および
ディスクインタフェース4を介して、ディスクコントロ
ーラ2とコンピュータ1との間での通信、例えばデータ
転送が行われる。
【0044】内部インタフェースドライバ15は、やは
り内部バス16に接続され、ディスク装置3を駆動する
ためのデバイスドライバである。この内部インタフェー
スドライバ15を介して、ディスクコントローラ2とデ
ィスク装置3との間での通信、例えばデータ転送が行わ
れる。
【0045】すなわち、メモリ12のROMには、ファ
ームウェアとして、ディスク装置3のキャリブレーショ
ン、温度補償等の内部制御用のプログラムと、転送タイ
ミングおよび転送サイズをスケジューリングし、該スケ
ジューリングに従ってコンピュータ1とディスク装置3
との間のデータストリームの転送制御を行うためのプロ
グラムとが格納されている。CPU11は、メモリ12
にファームウェアとして格納された上述のプログラムに
従って、タイマ割り込み部13、ディスクインタフェー
スドライバ14および内部インタフェースドライバ15
を制御することによって、ディスク装置3の内部制御お
よびコンピュータ1〜ディスク装置3間のデータ転送を
達成する。タイマ割り込み部13は、CPU11により
予め割り込みタイミングが設定され、設定されたタイミ
ングに従って割り込みを発生することにより、前記スケ
ジューリングに従ったデータ転送を可能とする。
【0046】図3にこのシステムのディスクコントロー
ラ2におけるデータ転送のタイミングの概略を模式的に
示す。この場合、ディスク装置3からコンピュータ1へ
のストリームAの読出し転送のためのコンピュータ1へ
のストリームAの送出、コンピュータ1からディスク装
置3へのストリームBの転送書込みのためのコンピュー
タ1からのストリームBの受信、およびその他のコンピ
ュータ1との間の送受信があるものとし、これらの送受
信とディスク装置3のキャリブレーション等の内部制御
とが行われる場合について考えている。
【0047】そして、ディスク装置3からコンピュータ
1へのストリームAの送出、およびコンピュータ1から
ディスク装置3へのストリームBの受信については、リ
アルタイム性を維持して、関連する処理、例えば表示等
に支障をきたさないようにするため、例えば、ストリー
ムの転送に先立ってコンピュータ1から与えられる転送
条件に従って、転送タイミングおよび転送サイズのデッ
ドライン(転送レートの限界)を保証する必要があるも
のとする。その他の送受信は、特に時間的な制約もな
く、とにかく送受信が行われればよい。また、ディスク
装置3のキャリブレーション等の内部制御は、厳密では
ないが、ほぼ所定の期間内に行われなければならず、こ
の内部制御の行われる期間は、データ等の送受信を行う
ことができない。
【0048】したがって、ストリームAの送出、ストリ
ームBの受信、その他の送受信および内部制御のタイミ
ングは図3のように設定される。ストリームAの送出
は、ストリームAの転送条件に応じて、転送のデッドラ
インを保証すべく、転送の間隔および一回の転送あたり
の転送サイズが設定され、間欠的に行われる。この場
合、ストリームAの転送は、外部的に見れば間欠転送の
転送間隔が保証されている。
【0049】同様に、ストリームBの受信は、ストリー
ムBの転送条件に応じて、転送のデッドラインを保証す
べく、転送の間隔および一回の転送あたりの転送サイズ
が設定される。この場合、ストリームBの転送は、外部
的に見れば間欠転送の転送間隔が保証され、間欠転送の
転送期間は記ストリームAの転送間隔期間内に収まるよ
うに設定される。
【0050】さらに、キャリブレーション等の内部制御
の期間がストリームAおよびストリームBの転送期間以
外の期間内に設定される。このとき、期間設定のタイミ
ングの(時間についての)優先度はデッドラインを保証
すべき転送期間のほうが内部制御の期間よりも高いが、
処理自体の優先度は、内部制御の優先度のほうが転送よ
りも高いので、デッドラインを保証すべき転送を設定す
ることにより、内部制御の期間をとることができないよ
うになる場合は、そのような転送を行わないようにし
て、内部制御を行わせる。つまり、デッドラインを保証
すべきストリームの転送期間を設定することにより、内
部制御の期間をとることができなくなる場合には、該ス
トリームの転送期間を設定する前に、内部制御の期間を
確保するために、デッドラインを保証すべきストリーム
の転送を設定しないようにする。
【0051】したがって、図3の場合で、例えばストリ
ームBの転送がストリームAの転送よりも後に要求さ
れ、仮に、ストリームBの転送を行うことにより、内部
制御の期間をとることができなくなるような場合には、
ストリームBの転送要求を受け付けない。内部制御の期
間を確保することが可能である場合には、内部制御のタ
イミング自体には、さほど制限がないので、ストリーム
AおよびストリームBの転送期間以外の残りの期間(つ
まり両者の転送休止期間の重なる期間)内に、内部制御
の期間を設定する。このような期間の割り当ての後、残
った期間にその他の送受信を割り当てる。
【0052】CPU11は、このようにして、スケジュ
ーリングされたタイミングに応じてタイマ割り込み部1
3を設定し、タイマ割り込み部13のタイマ割り込みを
用いて、前記タイミングに従ってディスクコントローラ
2を動作させる。
【0053】このシステムのさらに詳細な動作について
具体的に説明する。図4に、デットライン保証すべきア
クセス命令における制御プロトコル、すなわちイニシエ
ータであるコンピュータ1とデバイスであるディスク装
置3との間の情報のやりとりの概要を示す。
【0054】(1) イニシエータ側からデバイス側に要求
(request)を送出する。図5に示すように、この要求
に付加される情報は、命令、転送間隔、許容転送誤差、
転送開始時刻、優先度、ディスクアドレス、サイズおよ
びイニシエータ側メモリアドレスである。
【0055】命令は、要求する処理内容を示す情報であ
り、例えばデバイス側からイニシエータ側への転送を示
す読出し命令、イニシエータ側からデバイス側への転送
を示す書込み命令等である。ディスクアドレス、サイズ
およびイニシエータ側メモリアドレスは、それぞれデバ
イス側のディスク装置3の書込みアドレス、転送データ
サイズおよびイニシエータ側のコンピュータ1内のメモ
リの読出しアドレスであり、転送すべきデータストリー
ムの各データブロック毎に設定される。
【0056】転送間隔は、命令と命令との間の転送休止
時間をあらわす。許容転送誤差は、デバイス側で転送間
隔を守れなかった場合におけるイニシエータ側で許容し
得る誤差を示す。転送開始時刻は、デバイスが応答(ac
k)を返した後、実際に転送が始まるまでの時間を示し
ており、イニシエータ側で転送開始時刻を確認し得るよ
うにする。優先度は、後述するアクセスデスクリプタ
(Access Descriptor:以下、「AD」と称する)の優
先度を示し、各AD間の優先度をあらわす。
【0057】前記ディスクアドレス、サイズおよびイニ
シエータ側メモリアドレスは、各データブロックの各々
に対応して設定され、その他は、イニシエータ側から変
更要求がない限り有効である。すなわち、各情報のう
ち、前記ディスクアドレス、サイズおよびイニシエータ
側メモリアドレスは、各データブロックに対して1回限
り有効であり、その他の情報は、イニシエータ側から変
更要求があると、その時点で変更されて、以後、次に前
記変更要求により変更されるまでの転送に適用される。
したがって、ディスクアドレス、サイズおよびイニシエ
ータ側メモリアドレスは、要求(request)時にデータ
ブロックの転送の複数回分付加される。また、ディスク
アドレス、サイズおよびイニシエータ側メモリアドレス
は、データ転送の途中で随時デバイス側に通知する(デ
バイス側のディスクコントローラ2に格納されている実
行待ちの命令キューの命令がなくなる前に追加する)。
【0058】(2) デバイス側からイニシエータ側に応答
(ack)を送信し、イニシエータとデバイスとの結合を
切り離す。この応答(ack)に付加される情報は、図6
に示すように、上述のADである。
【0059】以後、イニシエータは、ADを用いてデバ
イス側にリクエストを送る。 (3) 指定された転送間隔が経過すると、タイマ割り込み
により、デバイス側からイニシエータ側に割り込みを送
って結合し、指定されたデータ(data)をイニシエータ
側メモリの指定されたイニシエータ側メモリアドレスに
転送する。
【0060】図7のように、データ(data)び付加され
る情報は、ファイルエンド(eof: end of file)のフラ
グ(ファイルの最後のデータ転送時にeof=1となり、
それ以外はeof=0である)、ADおよびデータの実体
である。
【0061】(4) イニシエータ側から、デバイス側に格
納されている命令キューがなくならないうちに、命令送
信(send op)により、続きの命令情報を送る。図8の
ように、命令送信(send op)に、付加される情報は、
状態情報(stat)、AD、転送間隔、許容転送誤差、転
送開始時刻、優先度、ディスクアドレス、サイズおよび
イニシエータ側メモリアドレスである。状態情報(sta
t)は、データ転送終了通知等に用いられ、この状態情
報(stat)により従前の命令状態が続いているか、ある
いは従前の命令が終了したかをデバイス側に認識させる
ことができる。転送途中で転送間隔等を修正する場合
は、この命令送信(send op)で送る転送間隔を修正す
る。ディスクアドレス、サイズおよびイニシエータ側メ
モリアドレス群は、要求(request)に含まれるものと
同様である。
【0062】図9に、デットライン保証する必要のない
通常のアクセス命令における制御プロトコルの概要を示
す。 (1) イニシエータ側からデバイス側に要求(request)
を送出する。
【0063】この場合、転送条件は不要であるので、命
令、ディスクアドレス、サイズおよびイニシエータ側メ
モリアドレスであり、図5から、転送間隔、許容転送誤
差、転送開始時刻および優先度を除いたものに相当す
る。
【0064】(2) デバイス側からイニシエータ側に応答
(ack)を送信し、イニシエータとデバイスとの結合を
切り離す。このとき、応答(ack)にADを付加する必
要はない。
【0065】(3) デバイス側は、他の転送命令ととも
に、(他の制御よりも優先度の低い処理として)転送時
間をスケジューリングし、イニシエータへの転送が可能
になったらイニシエータに割り込みを送って結合し、デ
ータの転送を行なう。
【0066】次に、上述のプロトコルにおいてデバイス
側に設けられたコントローラであるディスクコントロー
ラ2の内部での制御を図10を参照して説明する。 (i) デットラインを保証する命令の管理・制御 デットラインを保証する命令の管理には、アクセスデス
クリプタテーブル(Access Descriptor table:以下、
「AD表」と称する)およびタイマ割り込みリンクを用
いる。
【0067】図10に示すように、AD表ADTの最初
の2つの領域は、システム用として予約しておく。これ
ら2つのうちの1つ、例えば最初の領域「0」は、キャ
リブレーションの制御に用いられるシステム命令SCの
情報が格納されている個所を示すポインタ0(ptr 0)
が格納される領域である。AD表ADTのユーザ用領域
「2」…では、各ADに対応する一連の命令に対応する
命令および転送間隔等の情報を管理するため、これらの
情報が格納されている個所を示すポインタ2…(ptr 2
…)が格納されている。
【0068】キャリブレーションのシステム命令SCに
は、キャリブレーションの命令、実行間隔、許容実行誤
差および優先度等が含まれる。ユーザ用領域「2」に格
納されるポインタ2で指示されるADに対応する命令情
報UC0には、命令、転送間隔、許容転送誤差、転送開
始時刻、優先度および命令ポインタが格納される。前記
命令ポインタには、前記一連の命令のうちの各命令によ
る転送のための命令情報UC1、UC2…の格納されて
いる個所のアドレスを示すポインタが格納されている。
命令情報UC1、UC2…の各々には、転送ブロック毎
のディスクアドレス、サイズおよびメモリアドレスが格
納される。
【0069】図11に示すタイマ割り込みリンクは、A
D表における各ADの命令を適切なタイミングで実行す
るために用いられる。このタイマ割り込みリンクの各リ
ンク情報IL1、IL2、IL3…は、各々リンクアド
レス、割り込み時間、ADおよび優先度の情報により構
成される。リンクアドレスには、次のリンク情報の格納
アドレスが保持され、割り込み時間には、次の命令の実
行時間がシステムの絶対時間で保持され、ADには、図
10に示すAD表の該当するADが保持され、優先度に
はADに対応する命令の優先度が保持される。このリン
クは、システムの絶対時間で表された次に実行すべき命
令の実行時間に従って、その大きさ順にリンクアドレス
によって配列されて結合される。タイマ割り込み部13
のハードウェアには、リンクの先頭のリンク情報の割り
込み時間のみが実際にセットされる。タイマ割り込み部
13によるタイマ割り込みが発生すると、そのADに基
づいたデータ転送が実行され、先頭のタイマリンク情報
を削除し、次のタイマリンク情報の内容をタイマ割り込
み部13のハードウェアにセットして、1回のタイマ割
り込みに基づく(1サイクルの)処理を終わる。
【0070】(ii) 通常の命令の管理・制御 デットラインを保証する必要のない通常の命令は、メモ
リ12のRAM内に設定されるFIFO(first in, fi
rst out)命令キューにエンキューされて、順次実行さ
れる。FIFO命令キューは、図12に示すように、各
命令NC1、NC2…毎にデータ転送のためのディスク
アドレス、サイズおよびメモリアドレスを有している。
通常の命令とデットラインを保証する命令とでは、デッ
ドラインを保証する命令のほうが優先される。
【0071】次に、図13〜図19に示すフローチャー
トを参照して、このディスクコントローラ2の制御動作
の流れを説明する。図13は定常時の待機状態のアイド
ル(idle)ルーチンを示している。アイドルルーチンで
は、イニシエータから結合要求がきているか否か(ステ
ップS11)、タイマ割り込みが発生したか否か(ステ
ップS12)、そして通常命令用命令キューに命令がエ
ンキューされているか否か(ステップS13)の判定が
行われる。
【0072】すなわち、ステップS11で、イニシエー
タから結合要求がきていないと判定された場合は、ステ
ップS12に処理が移行し、ステップS12でタイマ割
り込みが発生していないと判定された場合は、ステップ
S13に処理が移行し、そしてステップS13で、通常
命令用命令キューに命令がエンキューされていないと判
定された場合は、ステップS11に戻る。つまり、この
アイドルルーチンでは、イニシエータから結合要求がき
ておらず、タイマ割り込みが発生しておらず、そして通
常命令用命令キューに命令がエンキューされていない場
合には、ステップS11−ステップS12−ステップS
13の判定を順次行い、その一連の判定をサイクリック
に繰り返す。
【0073】ステップS11で、イニシエータから結合
要求がきていると判定された場合は、図14に示すイニ
シエータ結合処理に処理が移行し、ステップS12でタ
イマ割り込みが発生していると判定された場合は、図1
8に示すタイマ割り込み処理に処理が移行し、そしてス
テップS13で、通常命令用命令キューに命令がエンキ
ューされていると判定された場合は、図19に示す通常
命令処理に処理が移行する。
【0074】図14はイニシエータ結合処理を示してい
る。イニシエータ結合処理では、イニシエータからの結
合要求が要求(request)であるか否か(ステップS2
1)、そしてイニシエータからの結合要求が命令送信
(send op)であるか否か(ステップS22)の判定が
行われる。ステップS21で、イニシエータからの結合
要求が要求(request)であると判定された場合は、図
15に示す要求(request)処理に処理が移行し、イニ
シエータからの結合要求が要求(request)でないと判
定された場合は、ステップS22に進む。ステップS2
2で、イニシエータからの結合要求が命令送信(send o
p)であると判定された場合は、図16に示す命令送信
(send op)処理に処理が移行し、イニシエータからの
結合要求が命令送信(send op)でないと判定された場
合は、エラー(ERROR)となり、適宜エラー処理を行
う。
【0075】図15の要求(request)処理では、先
ず、デッドラインの保証を必要としない通常命令である
か否かが判定され(ステップS23)、デッドラインの
保証をしない通常命令である場合には、図17に示す通
常命令登録処理に処理が移行する。ステップS23で通
常命令でない、すなわちデッドラインを保証する命令で
あると判定された場合は、ADを獲得して(ステップS
24)、イニシエータから送られてきた情報をAD表に
登録する(ステップS25)。さらに、その情報に基づ
く一連の命令をタイマ割り込みリンクにセットするとと
もに、先頭の命令をタイマ割り込み部13にセットして
(ステップS26)、ADを応答(ack)としてイニシ
エータに通知する(ステップS27)。ステップS27
でイニシエータに応答(ack)を返した後は、図13の
アイドルルーチンに戻る。ステップS23で通常命令で
あると判定された場合の図17の通常命令登録処理で
は、イニシエータから送られてきた情報を通常命令キュ
ーに登録し(ステップS28)、応答(ack)をイニシ
エータに返す(ステップS29)。ステップS29でイ
ニシエータに応答(ack)を返した後も、図13のアイ
ドルルーチンに戻る。
【0076】図16に示す命令送信(send op)処理で
は、イニシエータから送られてきた情報をAD表に登録
して(ステップS30)、図13のアイドルルーチンに
戻る。
【0077】図18はタイマ割り込み処理を示してい
る。タイマ割り込み処理では、先ず、先頭のタイマ割り
込み処理で指定されたADがユーザ用すなわちイニシエ
ータからの要求(request)に基づくADであるか否か
が判定され(ステップS31)、ユーザ用である場合に
は、そのAD値でAD表を引き、そのADで示される一
連の命令の先頭命令を実行する(ステップS32)。こ
の場合、例えばステップS32では、イニシエータ側と
結合し、データを転送する処理が行われる。次に、AD
表内の前記指定されたADに対応する(実行済みの)先
頭命令を削除し(ステップS33)、次の命令があるか
否かが判定される(ステップS34)。ステップS34
で次の命令があると判定された場合は、ADの転送間隔
情報等の情報に基づき、次の命令用にタイマ割り込みリ
ンクを作り、タイマ割り込みのリスト内に挿入する(ス
テップS35)。そして、タイマ割り込みリンクの(実
行済みの)先頭命令を削除して(ステップS36)、新
しい先頭命令についてのタイマ割り込みを、タイマ割り
込み処理部13にセットする(ステップS37)。ステ
ップS37の処理後は、図13のアイドルルーチンに戻
る。
【0078】ステップS31で、指定されたADがユー
ザ用でないと判定されたときは、キャリブレーション等
のシステム命令を実行して(ステップS38)、ステッ
プS35へ移行する。ステップS34で、次の命令がな
いと判定された場合は、直ちに図13のアイドルルーチ
ンに戻る。
【0079】図19は通常命令処理を示している。通常
命令処理では、先ず、FIFOからなる命令キューの先
頭命令をフェッチして(ステップS41)、次のタイマ
割り込みが発生する前に命令の実行が完了するか否かが
判定される(ステップS42)。ステップS42で、タ
イマ割り込みが発生する前に命令の実行が完了すると判
定された場合は、命令キューの先頭命令を実行する(ス
テップS43)。すなわち、ステップS43では、イニ
シエータ側と結合してデータの転送を実行する。次にF
IFO命令キューの先頭命令を削除して(ステップS4
4)、図13のアイドルルーチンに戻る。また、ステッ
プS42で、タイマ割り込みが発生する前に命令の実行
が完了しないと判定された場合は、通常命令を実行せず
に直ちに図13のアイドルルーチンに戻る。
【0080】上述した、このシステムのディスクコント
ローラ2における処理を要約すると次のようになる。デ
ットライン保証を行う必要のない通常の命令は、RAM
内のFIFO命令キューに登録されて、順次実行され
る。デットラインを保証するデータストリームの転送命
令では、まず、ストリームの転送前にイニシエータ側か
らディスクコントローラ2に、1回あたり、つまりブロ
ックあたりの転送サイズおよび転送周期等の情報を転送
要求とともに送り、ディスクコントローラ2側は、その
転送要求が受理可能ならば、その転送要求に対するAD
をイニシエータ側に返す。以後、イニシエータ側はこの
ADを用いてディスクコントローラ2をアクセスする。
ディスクコントローラ2側では、各ADについて、1回
あたりの転送サイズ、転送周期、および命令キュー等の
情報を保持し、転送周期に基づいてタイマ割り込みリン
クを設定する。タイマ割り込みリンクは、時間順に整列
されている。タイマ割り込みが発生するとAD、優先度
等の情報より、所定のユーザ命令またはキャリブレーシ
ョン等のディスク内制御命令を実行させるとともに、リ
ンクの先頭のエントリを削除し、その次のエントリにつ
いてタイマ割り込みの設定を行なって、割り込み処理を
終了する。
【0081】こうして、イニシエータとディスクコント
ローラ2との間での転送に際し、データ転送に先立っ
て、転送条件を設定して、データストリームの送出要求
およびディスクの制御要求等を統合的に管理し、転送条
件に従ってデータストリームの転送を適切にスケジュー
リングしてデータ転送を行うことにより、データ転送の
デッドライン保証が行われる。
【0082】〔実施例2〕本発明の第2の実施例による
2次記憶装置の制御装置を図20を参照して説明する。
【0083】図20は、本発明を適用したコンピュータ
内蔵のディスク制御部を示し、このディスク制御部を用
いたファイルシステムの構成を図21に示す。図21の
ファイルシステムは、コンピュータ21、ディスクコン
トローラ22、およびディスク装置3を具備する。さら
に、コンピュータ21は、本発明によるディスク制御部
23を内蔵している。
【0084】ディスク装置3は、図2に示したものと実
質的に同様の、例えばハードディスク装置であり、記憶
媒体である磁気ディスクに例えばファイルデータを書込
むことにより、ファイルデータを格納し、該ディスクか
らファイルデータを利用するために読出すことができ
る。
【0085】コンピュータ21は、ディスク装置3をア
クセスするイニシエータとしての機能を有し、ディスク
装置3との間でデータ転送を行って、ディスク装置3の
読出し/書込みを行う。この実施例では、コンピュータ
21に、本発明による2次記憶装置の制御装置がディス
ク制御部23として組み込まれている。すなわち、この
場合、コンピュータ21の主要部分が実質的なイニシエ
ータとなり、そのコンピュータ21のイニシエータ部分
とディスク装置3との間にディスク制御部23が介在す
ることになる。
【0086】ディスクコントローラ22は、ディスク装
置3に接続され、コンピュータ21の制御に従って、読
出し/書込み等のアクセスのためのディスク装置3の動
作を制御する。
【0087】コンピュータ21は、内部のディスク制御
部23からケーブルを含むディスクインタフェース24
を介してディスクコントローラ22に結合され、ディス
クコントローラ22を介してディスク装置3をアクセス
する。
【0088】ディスク制御部23は、図2におけるディ
スクコントローラ2のデータストリームの転送のスケジ
ューリングを行う部分を含む主要部分とほぼ同様の構成
を有している。したがって、図21のディスクコントロ
ーラ22は、図2のディスクコントローラ2のうちの、
データストリームの転送のスケジューリングおよび読出
し/書込み等のアクセスの処理を行う部分を除いた部
分、すなわち直接ディスク装置3の動作を制御する部分
のみと同様の構成となる。
【0089】ディスク制御部23の詳細が図22に示さ
れている。ディスク制御部23は、CPU(中央処理装
置)31、メモリ32、タイマ割り込み部33、ディス
クインタフェースドライバ34および内部インタフェー
スドライバ35を備えている。これら、CPU(中央処
理装置)31、メモリ32、タイマ割り込み部33、デ
ィスクインタフェースドライバ34および内部インタフ
ェースドライバ35は、それぞれ図1に示したCPU1
1、メモリ12、タイマ割り込み部13、ディスクイン
タフェースドライバ14および内部インタフェースドラ
イバ15とほぼ同様である。
【0090】CPU31は、例えばマイクロプロセッサ
等からなり、ディスク制御部23の全体を制御する。メ
モリ32は、ROMおよびRAMを有し、ディスク装置
3を制御するためのCPU31の動作に必要なプログラ
ムおよびデータ等が格納される。すなわち、前記ROM
には、読出し/書込みの際のデータ転送におけるデータ
ストリームの転送タイミングおよび転送サイズを設定す
るためのプログラムおよび設定されたデータストリーム
の転送タイミングおよび転送サイズに従ってデータ転送
を行わせるためのプログラムがファームウェアとして格
納されている。CPU31は、上述したプラグラムに従
って転送タイミングおよび転送サイズを設定し、その転
送タイミングおよび転送サイズに従ってディスク装置3
の読出し/書込みを制御する。前記RAMには、前記転
送タイミングおよび転送サイズに従ったディスク装置3
の読出し/書込み処理のためのデータが格納される。
【0091】タイマ割り込み部33は、設定された転送
タイミングに従ってCPU31に割り込みをかけ、所定
の転送サイズのデータストリームの転送を行わせるため
のタイミング制御を行う。
【0092】メモリ32およびタイマ割り込み部33
は、共通の内部バス36を介してCPU31に接続され
ている。ディスクインタフェースドライバ34は、内部
バス36に接続され、ディスクコントローラ22との間
のディスクインタフェース24を駆動するためのデバイ
スドライバである。このディスクインタフェースドライ
バ34およびディスクインタフェース24を介して、デ
ィスクコントローラ22とコンピュータ21との間での
通信、例えばデータ転送が行われる。
【0093】内部インタフェースドライバ35は、内部
バス36およびディスクインタフェースドライバ34に
接続され、コンピュータ21内部の他の部分とのインタ
フェースを駆動するためのデバイスドライバである。こ
の内部インタフェースドライバ35を介し、さらにディ
スクインタフェースドライバ34およびディスクコント
ローラ22を介して、コンピュータ21とディスク装置
3との間での通信、例えばデータ転送が行われる。
【0094】すなわち、メモリ32のROMには、ファ
ームウェアとして、ディスク装置3のキャリブレーショ
ン、温度補償等の内部制御用のプログラムと、転送タイ
ミングおよび転送サイズをスケジューリングし、該スケ
ジューリングに従ってコンピュータ21とディスク装置
3との間のデータストリームの転送制御を行うためのプ
ログラムとが格納されている。CPU31は、メモリ3
2にファームウェアとして格納された上述のプログラム
に従って、タイマ割り込み部33、ディスクインタフェ
ースドライバ34および内部インタフェースドライバ3
5を制御することによって、ディスク装置3の内部制御
およびコンピュータ21〜ディスク装置3間のデータ転
送を達成する。タイマ割り込み部33は、CPU31に
より予め割り込みタイミングが設定され、設定されたタ
イミングに従って割り込みを発生することにより、前記
スケジューリングに従ったデータ転送を可能とする。
【0095】なお、ディスクコントローラ22は、図示
していないが、例えばCPUおよびメモリ等を有し、デ
ィスク装置3のディスク、ヘッド等を制御するためのプ
ログラムがファームウェアとして格納されており、この
プラグラムに従って、コンピュータ21のディスク制御
部23からの制御信号に応じてディスク装置3の動作を
制御する。
【0096】このシステムのディスク制御部23におけ
るデータ転送は、図1および図2の実施例のシステムの
場合とほぼ同様に行われる。図20および図21に示し
たシステムにおける具体的な動作も、イニシエータがコ
ンピュータ21のイニシエータ部分であり、デバイス側
のディスク装置3との間にディスクコントローラ22が
介在する点を除き、ディスク制御部23が図1のディス
クコントローラ2と実質的に同様に動作するので、図4
〜図19に関連して説明した通りである。
【0097】したがって、このシステムのコンピュータ
21内のディスク制御部23における処理を要約すると
次のようになる。デットライン保証を行う必要のない通
常の命令は、メモリ32のRAM内のFIFO命令キュ
ーに登録されて、順次実行される。デットラインを保証
するデータストリームの転送命令では、まず、ストリー
ムの転送前にイニシエータ側からディスク制御部23
に、1回あたり、つまりブロックあたりの転送サイズお
よび転送周期等の情報を転送要求とともに送り、ディス
ク制御部23側は、その転送要求が処理可能ならば、そ
の転送要求に対するADをイニシエータ側に返す。以
後、イニシエータ側はこのADを用いてディスク制御部
23をアクセスする。ディスク制御部23側では、各A
Dについて、1回あたりの転送サイズ、転送周期、およ
び命令キュー等の情報を保持し、転送周期に基づいてタ
イマ割り込みリンクを設定する。タイマ割り込みリンク
は、時間順に整列されている。タイマ割り込みが発生す
るとAD、優先度等の情報より、所定のユーザ命令また
はキャリブレーション等のディスク内制御命令をディス
クコントローラ22を介して実行させるとともに、リン
クの先頭のエントリを削除し、その次のエントリについ
てタイマ割り込みの設定を行なって、割り込み処理を終
了する。
【0098】こうして、イニシエータとディスク装置3
との間でのデータ転送に際し、ディスク制御部23にお
いて、予めデータ転送に先立って、転送条件を設定し
て、データストリームの送出要求およびディスクの制御
要求等を統合的に管理し、転送条件に従ってデータスト
リームの転送を適切にスケジューリングしてデータ転送
を行うことにより、データ転送のデッドライン保証が行
われる。
【0099】〔実施例3〕本発明の第3の実施例による
2次記憶装置の制御システムを図22および図23を参
照して説明する。
【0100】図22は、コンピュータ1に対し複数のデ
ィスク装置を使用するシステムに本発明を適用したシス
テムを示しており、コンピュータ1と複数のディスクコ
ントローラ2Aおよび2Bとの間にI/Oスイッチャ
(入/出力スイッチャ)41が設けられている。ディス
クコントローラ2Aおよび2Bには、図示してはいない
が、図2のディスク装置3と同様のディスク装置がそれ
ぞれ接続されている。また、図23は、I/Oスイッチ
ャ41の具体的な構成を示している。図23のI/Oス
イッチャ41は、FIFO(first in, first out)バ
ッファ42、43、44、スイッチ45およびスケジュ
ーラ46を有している。図22および図23には、2個
のディスクコントローラ2Aおよび2Bのみを示してい
るが、通常はさらに多数のディスクコントローラが接続
される。
【0101】図22のシステムにおいて、コンピュータ
1は、図2の場合と同様であり、ディスクコントローラ
2Aおよび2Bの各々も図1および図2に示したものと
同様である。I/Oスイッチャ41は、コンピュータ1
の要求に従ってディスクコントローラ2Aおよび2Bを
選択的にコンピュータ1に接続し、コンピュータ1によ
り各対応するディスク装置をアクセスすることを可能と
する。この場合、コンピュータ1とI/Oスイッチャ4
1との間で許容する最大転送レートを20MB/sとする。
【0102】図23のI/Oスイッチャ41において、
第1のポートに設けられる第1のFIFOバッファ42
は、コンピュータ1に結合され、第2のポートに設けら
れる第2のFIFOバッファ43は、ディスクコントロ
ーラ(#0)2Aに結合され、第3のポートに設けられ
る第3のFIFOバッファ43は、ディスクコントロー
ラ(#1)2Bに結合される。スイッチ45は、第2の
FIFOバッファ43および第3のFIFOバッファ4
4のいずれかを選択して、第2または第3のポートを第
1のFIFOバッファ42に結合する。
【0103】スケジューラ46は、各ポートの許容転送
レートを予め保持しており、スイッチ45の選択制御に
際し、各ポートに結合されるディスク装置の転送レート
および転送スケジュールに応じて各ポートをスイッチン
グする。すなわち、I/Oスイッチャ41は、イニシエ
ータであるコンピュータ1からディスク装置、例えばデ
ィスクコントローラ(#0)2Aに接続されたディスク
装置に対する転送要求があると、それをスイッチ45を
介してディスクコントローラ(#0)2Aに与えるとと
もに、ディスクコントローラ(#0)2Aからの応答
(ack)をコンピュータ1に与える。このとき、スケジ
ューラ46は、コンピュータ1からの要求内容を取り込
み、ディスクコントローラ(#0)2Aについての転送
スケジュールに応じて、スイッチ45のスイッチングス
ケジュールを設定する。
【0104】同様に、コンピュータ1からディスク装
置、例えばディスクコントローラ(#1)2Bに接続さ
れたディスク装置に対する転送要求があると、それをス
イッチ45を介してディスクコントローラ(#1)2B
に与えるとともに、ディスクコントローラ(#1)2B
からの応答(ack)をコンピュータ1に与える。このと
き、スケジューラ46は、コンピュータ1からの要求内
容を取り込み、ディスクコントローラ(#1)2Bにつ
いての転送スケジュールに応じて、スイッチ45のスイ
ッチングスケジュールを設定する。
【0105】例えば、ディスクコントローラ(#0)2
Aについての転送レートが10MB/sであり、ディスクコ
ントローラ(#1)2Bについての転送レートが5MB/s
であれば、これらを総合しても、コンピュータ1とI/
Oスイッチャ41との間で許容する最大転送レート20
MB/s以下であるので、コンピュータ1は、ディスクコン
トローラ(#0)2Aおよびディスクコントローラ(#
1)2Bの両者に対してアクセスすることが可能であ
る。そこで、スケジューラ46は、ディスクコントロー
ラ(#0)2Aおよびディスクコントローラ(#1)2
Bの両者に対するスイッチ45によるスイッチングのス
ケジュールを、各ポートの許容転送レートに応じて予め
設定し、そのスケジュールに従ってスイッチ45を動作
させる。
【0106】したがって、ディスクコントローラ(#
0)2Aおよびディスクコントローラ(#1)2Bのい
ずれにおいても、データ転送等のコンピュータ1との交
信のタイミングでは、該当するディスクコントローラに
コンピュータ1が接続されているので、ディスクコント
ローラ(#0)2Aおよびディスクコントローラ(#
1)2Bの各々からは、スイッチ45およびスケジュー
ラ46の存在を認識することなく、図4〜図19に関連
して説明したのと同様の転送制御が行われる。なお、F
IFOバッファ42〜44は、各ポートにおいて多少の
タイミングのずれがあっても、データ等の取りこぼしが
生じないようにするためのバッファとして機能する。
【0107】このような、I/Oスイッチャ41を用い
たシステムでは、システム内にスケジューラ46が存在
し、該スケジューラ46が、各ポートの許容転送レー
ト、つまり保証し得るバンド幅、の情報を把握してお
り、この情報に基づいてスイッチ45を制御し、所要の
転送レートに応じた単位時間当たりの最低データ量(固
定長パケットの場合は、パケット数)の転送を保証す
る。
【0108】
【発明の効果】本発明に係る2次記憶装置の制御装置お
よび制御システムによれば、イニシエータ側との間での
転送に際して、転送条件を設定して、データストリーム
の送出要求およびディスクの制御要求等を統合的に管理
し、転送条件に従ってデータストリームの転送を適切に
スケジューリングして、2次記憶装置のアクセスにおけ
るデータ転送のデッドラインを保証することを可能とす
る2次記憶装置の制御装置および制御システムを提供す
ることができる。
【0109】本発明に係る2次記憶装置の制御装置で
は、イニシエータから要求されたデータ転送に先立っ
て、データストリームの転送タイミングおよび転送サイ
ズが設定され、該設定による転送タイミングおよび転送
サイズに従ってデータストリームを転送して、2次記憶
装置のデータの読出し/書込みを行い、データ転送のデ
ッドラインを保証することができる。
【0110】本発明に係る2次記憶装置の制御システム
では、複数の2次記憶装置の各々において、イニシエー
タからデータ転送が要求されると、該データ転送に先立
って、前記イニシエータから与えられる転送条件に基づ
いてデータ転送におけるデータストリームの転送タイミ
ングおよび転送サイズを設定し、該データストリームの
転送タイミングおよび転送サイズに従って、前記イニシ
エータと当該2次記憶装置との間でデータ転送を行って
2次記憶装置のデータの読出し/書込みを行うととも
に、前記イニシエータと前記複数の2次記憶装置の制御
部との間に、前記複数の2次記憶装置の制御部を選択的
に切換えて前記イニシエータに接続する切換制御装置が
設けられる場合、前記切換制御装置において、前記イニ
シエータから与えられる転送条件を満足させるべく前記
2次記憶装置の制御部の選択切換を制御することによ
り、切換制御装置においても、デッドラインの保証が可
能となる。
【図面の簡単な説明】
【図1】本発明に係る第1の実施例による2次記憶装置
の制御装置の構成を示すブロック図である。
【図2】図1の2次記憶装置の制御装置を用いたファイ
ルシステムの構成を示すシステムブロック図である。
【図3】図1の2次記憶装置の制御装置におけるディス
ク装置の制御のタイミングを示すタイミングチャートで
ある。
【図4】図1の2次記憶装置の制御装置におけるデッド
ライン保証を行うべき命令についてのイニシエータとデ
バイスとの間の制御プロトコルを説明するための図であ
る。
【図5】図1の2次記憶装置の制御装置における要求情
報の内容を説明するための図である。
【図6】図1の2次記憶装置の制御装置における応答情
報の内容を説明するための図である。
【図7】図1の2次記憶装置の制御装置におけるデータ
情報の内容を説明するための図である。
【図8】図1の2次記憶装置の制御装置における命令送
信情報の内容を説明するための図である。
【図9】図1の2次記憶装置の制御装置における通常命
令についてのイニシエータとデバイスとの間の制御プロ
トコルを説明するための図である。
【図10】図1の2次記憶装置の制御装置におけるデッ
ドライン保証を行うべき命令についての命令の管理を説
明するための模式図である。
【図11】図1の2次記憶装置の制御装置におけるデッ
ドライン保証を行うべき命令についてのタイマ割込リン
クを説明するための模式図である。
【図12】図1の2次記憶装置の制御装置における通常
の命令についての命令の管理を説明するための模式図で
ある。
【図13】図1の2次記憶装置の制御装置における制御
のアイドルルーチンを説明するためのフローチャートで
ある。
【図14】図1の2次記憶装置の制御装置における制御
のイニシエータ結合処理ルーチンを説明するためのフロ
ーチャートである。
【図15】図1の2次記憶装置の制御装置における制御
の要求処理ルーチンを説明するためのフローチャートで
ある。
【図16】図1の2次記憶装置の制御装置における制御
の命令送信処理ルーチンを説明するためのフローチャー
トである。
【図17】図1の2次記憶装置の制御装置における制御
の通常命令登録処理ルーチンを説明するためのフローチ
ャートである。
【図18】図1の2次記憶装置の制御装置における制御
のタイマ割込処理ルーチンを説明するためのフローチャ
ートである。
【図19】図1の2次記憶装置の制御装置における制御
の通常命令処理ルーチンを説明するためのフローチャー
トである。
【図20】本発明に係る第2の実施例による2次記憶装
置の制御装置の構成を示すブロック図である。
【図21】図20の2次記憶装置の制御装置を用いたフ
ァイルシステムの構成を示すシステムブロック図であ
る。
【図22】本発明に係る第3の実施例による2次記憶装
置の制御システムの構成を示すシステムブロック図であ
る。
【図23】図22の2次記憶装置の制御システムにおけ
るI/Oスイッチャの構成を示すブロック図である。
【符号の説明】
1,21…コンピュータ 2,22…ディスクコントローラ 3…ディスク装置 4,24…ディスクインタフェース 11,31…CPU(中央処理装置) 12,32…メモリ 13,33…タイマ割込部 14,34…ディスクインタフェースドライバ 15,35…内部インタフェースドライバ 16,36…内部バス 23…ディスク制御部 41…I/O(入/出力)スイッチャ 42,43,44…FIFOバッファ 45…スイッチ 46…スケジューラ

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 イニシエータからイニシエータと2次記
    憶装置との間でのデータ転送が要求されると、該データ
    転送に先立って、データ転送におけるデータストリーム
    の転送タイミングおよび転送サイズを設定するための条
    件設定手段と、 前記条件設定手段によるデータストリームの転送タイミ
    ングおよび転送サイズに従って、イニシエータと2次記
    憶装置との間でデータ転送を行って2次記憶装置のデー
    タの読出し/書込みを行うデータ転送手段とを具備する
    ことを特徴とする2次記憶装置の制御装置。
  2. 【請求項2】 条件設定手段は、イニシエータから与え
    られる転送条件に基づいてデータ転送におけるデータス
    トリームの転送タイミングおよび転送サイズを設定する
    ための条件制御手段を含むことを特徴とする請求項1に
    記載の2次記憶装置の制御装置。
  3. 【請求項3】 条件設定手段は、データストリームを間
    欠的に転送するための1回あたりの転送ストリームサイ
    ズおよび転送間隔を設定する手段であることを特徴とす
    る請求項1または2に記載の2次記憶装置の制御装置。
  4. 【請求項4】 条件設定手段は、複数のデータストリー
    ムの転送タイミングおよび転送サイズをスケジューリン
    グするための手段であることを特徴とする請求項1に記
    載の2次記憶装置の制御装置。
  5. 【請求項5】 条件設定手段は、イニシエータから与え
    られる複数の転送要求による転送条件に基づいて、複数
    のデータ転送におけるデータストリームの転送タイミン
    グおよび転送サイズを設定するための条件制御手段を含
    むことを特徴とする請求項2に記載の2次記憶装置の制
    御装置。
  6. 【請求項6】 転送すべきデータストリームの転送バン
    ド幅を確保することができない場合、その旨をイニシエ
    ータに通知して当該データ転送を回避するための通知手
    段をさらに有することを特徴とする請求項2に記載の2
    次記憶装置の制御装置。
  7. 【請求項7】 条件設定手段は、イニシエータから与え
    られる複数の転送要求による転送条件に基づき、転送バ
    ンド幅を保証することができる転送要求についてのみ、
    データ転送におけるデータストリームの転送タイミング
    および転送サイズを設定するための条件制御手段を含む
    ことを特徴とする請求項6に記載の2次記憶装置の制御
    装置。
  8. 【請求項8】 条件設定手段は、データ転送の転送期間
    以外の期間に2次記憶装置の内部処理を行う期間を設定
    するための内部処理設定手段を有し、且つ前記内部処理
    設定手段の設定に従って内部処理を実行させるための処
    理制御手段をさらに含むことを特徴とする請求項2に記
    載の2次記憶装置の制御装置。
  9. 【請求項9】 条件設定手段は、イニシエータから与え
    られる転送条件に基づき、データ転送の転送バンド幅を
    保証する必要のないデータ転送については、データ転送
    の転送バンド幅を保証すべきデータ転送の転送期間以外
    の期間に転送期間を設定する手段であることを特徴とす
    る請求項2に記載の2次記憶装置の制御装置。
  10. 【請求項10】 2次記憶装置は、ディスク装置であ
    り、且つ内部処理設定手段で設定する内部処理は、ディ
    スクヘッドの位置のキャリブレーションのためのキャリ
    ブレーション処理および温度異常防止のための温度補償
    処理の少なくともいずれかを含むことを特徴とする請求
    項8に記載の2次記憶装置の制御装置。
  11. 【請求項11】 2次記憶装置側に設けられたことを特
    徴とする請求項1〜10のいずれか1項に記載の2次記
    憶装置の制御装置。
  12. 【請求項12】 イニシエータの装置内に設けられたこ
    とを特徴とする請求項1〜10のいずれか1項に記載の
    2次記憶装置の制御装置。
  13. 【請求項13】 複数の2次記憶装置と、 前記複数の2次記憶装置に対するアクセスを行うイニシ
    エータと、 各2次記憶装置にそれぞれ設けられ、前記イニシエータ
    から該イニシエータと当該2次記憶装置との間でのデー
    タ転送が要求されると、該データ転送に先立って、前記
    イニシエータから与えられる転送条件に基づいてデータ
    転送におけるデータストリームの転送タイミングおよび
    転送サイズを設定するための条件設定手段、および前記
    条件設定手段によるデータストリームの転送タイミング
    および転送サイズに従って、前記イニシエータと当該2
    次記憶装置との間でデータ転送を行って2次記憶装置の
    データの読出し/書込みを行うデータ転送手段を有する
    2次記憶装置の制御部と、 前記イニシエータと前記複数の2次記憶装置の制御部と
    の間に設けられ、前記複数の2次記憶装置の制御部を選
    択的に切換えて前記イニシエータに接続するとともに、
    前記イニシエータから与えられる転送条件を満足させる
    べく前記2次記憶装置の制御部の選択切換を制御する切
    換接続装置とを具備することを特徴とする2次記憶装置
    の制御システム。
  14. 【請求項14】 切換接続装置は、イニシエータから与
    えられる転送条件に基づいて接続ポート間のデータ転送
    のバンド幅を保証するバンド幅保証手段を含むことを特
    徴とする請求項13に記載の2次記憶装置の制御システ
    ム。
  15. 【請求項15】 バンド幅保証手段は、イニシエータか
    ら与えられる転送条件に基づいて2次記憶装置の制御部
    の選択切換のスケジュールを制御するスケジューラを含
    むことを特徴とする請求項14に記載の2次記憶装置の
    制御システム。
JP7032598A 1995-02-21 1995-02-21 2次記憶装置の制御装置および制御システム Pending JPH08227343A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7032598A JPH08227343A (ja) 1995-02-21 1995-02-21 2次記憶装置の制御装置および制御システム
US08/543,072 US5778445A (en) 1995-02-21 1995-10-13 Control device for secondary storage assuring transmission bandwidth

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7032598A JPH08227343A (ja) 1995-02-21 1995-02-21 2次記憶装置の制御装置および制御システム

Publications (1)

Publication Number Publication Date
JPH08227343A true JPH08227343A (ja) 1996-09-03

Family

ID=12363305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7032598A Pending JPH08227343A (ja) 1995-02-21 1995-02-21 2次記憶装置の制御装置および制御システム

Country Status (2)

Country Link
US (1) US5778445A (ja)
JP (1) JPH08227343A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011216102A (ja) * 2004-07-20 2011-10-27 Koninkl Philips Electronics Nv ドライブユニットにおける非データ伝送のための時間バジェティング
JP5895153B2 (ja) * 2013-02-19 2016-03-30 パナソニックIpマネジメント株式会社 インタフェース装置およびバスシステム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832492A (en) * 1995-09-05 1998-11-03 Compaq Computer Corporation Method of scheduling interrupts to the linked lists of transfer descriptors scheduled at intervals on a serial bus
JP2869045B2 (ja) * 1996-09-24 1999-03-10 有限会社新城製作所 羽根付きドリルねじ用ねじ保持ベルト
DE69940278D1 (de) * 1999-01-12 2009-02-26 Fujitsu Ltd Zugangssteuerungsgerät und verfahren um zugang zu aufzeichnungsmedium zu beaufsichtigen
US6816935B1 (en) 2001-03-02 2004-11-09 Advanced Micro Devices, Inc. Interrupt and status reporting structure and method for a timeslot bus
US8112566B2 (en) * 2007-06-06 2012-02-07 Intel Corporation Methods and apparatuses for processing I/O requests of data storage devices
US8051232B2 (en) * 2007-06-25 2011-11-01 Intel Corporation Data storage device performance optimization methods and apparatuses

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630112A (en) * 1991-06-19 1997-05-13 Kabushiki Kaisha Toshiba System using timing information contained in data read from reproduction unit controlled by first oscillator to vary frequency of independent system clock signal
US5280587A (en) * 1992-03-31 1994-01-18 Vlsi Technology, Inc. Computer system in which a bus controller varies data transfer rate over a bus based on a value of a subset of address bits and on a stored value
US5581703A (en) * 1993-06-29 1996-12-03 International Business Machines Corporation Method and apparatus for reserving system resources to assure quality of service
JPH07130080A (ja) * 1993-11-02 1995-05-19 Olympus Optical Co Ltd 情報記録装置
US5461611A (en) * 1994-06-07 1995-10-24 International Business Machines Corporation Quality of service management for source routing multimedia packet networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011216102A (ja) * 2004-07-20 2011-10-27 Koninkl Philips Electronics Nv ドライブユニットにおける非データ伝送のための時間バジェティング
JP5895153B2 (ja) * 2013-02-19 2016-03-30 パナソニックIpマネジメント株式会社 インタフェース装置およびバスシステム

Also Published As

Publication number Publication date
US5778445A (en) 1998-07-07

Similar Documents

Publication Publication Date Title
JP3563541B2 (ja) データ格納装置及びデータ格納方法
JP3617089B2 (ja) 映像蓄積配送装置及び映像蓄積配送システム
JP2742390B2 (ja) ビデオ・システムにおけるポーズ・レジュームをサポートする方法およびシステム
US6032200A (en) Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs
US5784647A (en) Interface for fetching highest priority demand from priority queue, predicting completion within time limitation then issuing demand, else adding demand to pending queue or canceling
JP3408200B2 (ja) クラスタ化されたコンピュータ・システム、および共用記憶システムの単一のデータ記憶装置に対する少なくとも2つの同時データ・アクセス要求を満足するための方法
JPH08297628A (ja) 同次プログラミング環境において(n)のデータマネージャで(n+1)のI/Oチャネルを制御する方法及び装置
JP2011505037A (ja) 読出しデータバッファリングのシステム及び方法
JP3382176B2 (ja) 要求処理方法および要求処理装置
US6292878B1 (en) Data recorder and method of access to data recorder
JPH05502314A (ja) データ転送方法
JPH09251437A (ja) 計算機装置及び連続データサーバ装置
JP2001024733A (ja) データ伝送装置
US5555390A (en) Data storage method and subsystem including a device controller for respecifying an amended start address
JPH08227343A (ja) 2次記憶装置の制御装置および制御システム
US5613141A (en) Data storage subsystem having dedicated links connecting a host adapter, controller and direct access storage devices
US5890202A (en) Method of accessing storage units using a schedule table having free periods corresponding to data blocks for each storage portion
JP2007501473A (ja) メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置
US5961614A (en) System for data transfer through an I/O device using a memory access controller which receives and stores indication of a data status signal
JPH0844649A (ja) データ処理装置
JP2003208398A (ja) データ入出力装置、データ入出力方法、プログラム、および媒体
JPH08147178A (ja) 共有資源アクセス方法および共有資源アクセス装置
JP2001229081A (ja) データ転送方式
JPH11119922A (ja) データ記憶システム及び冗長データ書き込み制御方法
JP3416498B2 (ja) サーバ装置およびその制御方法並びにサーバ装置制御プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20021203