(57)【特許請求の範囲】
【請求項１】
上位装置が発行した複数のタスクをドライブ装置が実行する情報処理システムにおいて、
前記上位装置が発行した複数のタスクと、前記複数のタスクのタスク実行結果と、前記複数のタスクのチェーン情報を含む付加情報とが前記上位装置により格納され、前記複数のタスクを順次前記ドライブ装置へ転送するとともに、前記複数のタスクのタスク実行結果を前記上位装置に転送するタスクキューと、
前記上位装置により前記タスクキューに格納した前記複数のタスクの先頭アドレスが書き込まれるアドレスレジスタとを有し、
前記アドレスレジスタに書き込まれた先頭アドレス、及び、前記タスクキューに格納された付加情報に基づいて前記上位装置が発行した複数のタスクを順次実行することを特徴とする情報処理システム。
【請求項２】
前記上位装置は、前記複数のタスクを前記タスクキューに格納するとともに、前記複数のタスクのアドレスを前記アドレスレジスタに通知し、
前記ドライブ装置は、前記アドレスレジスタに格納されたアドレスに基づいて前記タスクキューからタスクを読み込んで、実行することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
ドライブ装置に対し、タスクを発行する情報処理装置であって、
上位装置が発行した複数のタスクと、前記複数のタスクのタスク実行結果と、前記複数のタスクのチェーン情報を含む付加情報とが前記上位装置により格納され、前記複数のタスクを順次前記ドライブ装置へ転送するとともに、前記複数のタスクのタスク実行結果を前記上位装置に転送するタスクキューと、
前記上位装置により前記タスクキューに格納した前記複数のタスクの先頭アドレスが書き込まれるアドレスレジスタとを有し、
前記アドレスレジスタに書き込まれたアドレス、及び、前記タスクキューに格納された付加情報に基づいて前記上位装置が発行した複数のタスクを前記ドライブ装置に順次実行させることを特徴とする情報処理装置。
【請求項４】
上位装置から発行された複数のタスクを実行する情報記憶装置であって、
前記上位装置が発行した複数のタスクと、前記複数のタスクのタスク実行結果と、前記複数のタスクのチェーン情報を含む付加情報とが前記上位装置により格納され、前記複数のタスクが順次転送されるとともに、前記複数のタスクのタスク実行結果を前記上位装置に転送するタスクキューに格納した前記複数のタスクの先頭アドレスが書き込まれるアドレスレジスタに書き込まれた先頭アドレスに基づいて前記上位装置が発行した複数のタスクを順次実行することを特徴とする情報記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はドライブ装置、特にＡＴＡ（AT Attachment）方式ドライブ装置を有する情報処理システム、インタフェース装置、情報記憶装置に接続する情報処理装置、情報記憶装置に関する。
【０００２】
【従来の技術】
ディスク装置を制御する規格として、従来からＳＣＳＩ（Small Computer System Interface）方式とＡＴＡ（AT Attachment）方式とがある。これらの２つの方式で異なるのは上位装置であるＣＰＵ（Central Processing Unit）からディスク装置に対して行うコマンドの発行方法であり、ＳＣＳＩ方式では、複数のコマンドをキューイングするコマンドキューイング機能が規定されているので、ＣＰＵが１つの実行終了を待たずに次のコマンドを発行することができる。ところがＡＴＡ方式では、ＳＣＳＩ方式のように複数のコマンドを受け付ける仕組みはないためＣＰＵがコマンドをひとつずつ発行しなければならない。このＡＴＡ方式におけるＣＰＵのコマンド発行方法の例を図１を用いて説明する。図１には、例として説明するためのパソコンの一部であるＣＰＵ１４と、ＲＡＭ（Random Access Memory）であるメインメモリ１６と、ＡＴバスとシステムバスとをインタフェースするインタフェース１３と、ＡＴドライブ装置１２とが示され、それらはシステムバス及びＡＴバスで接続されている。この構成において、ＣＰＵ１４のコマンド発行方法を図２に示す。まず、ＣＰＵ１４は、ＡＴドライブ装置１２のステータスレジスタを参照し、ＡＴドライブ装置１２のステータスがビジィでないことを確認できた場合、▲１▼でＡＴドライブ装置１２に対するコマンドであるＡＴレジスタセットをＡＴドライブ装置１２のタスクファイルに直接に書き込む。▲２▼で、もしステータスがビジィであれば、ＣＰＵ１２はステータスレジスタをポーリングし、ビジィ状態ではなくなると上記の▲１▼を行う。▲１▼により、ＡＴレジスタセットをタスクファイルに書き込まれたＡＴドライブ装置１２は、コマンド処理を開始し、処理が終了するとＣＰＵ１４へINTRQ信号（割り込み信号）をアサートする。INTRQ信号を受けたＣＰＵ１４は、▲３▼でＡＴレジスタセットを読み出して処理結果を確認する。そして▲２▼でステータスレジスタがビジィ状態でなければ、次に実行するコマンドをＡＴドライブ装置１２のタスクファイルへ書き込む。
【０００３】
【発明が解決しようとする課題】
このようにＣＰＵ１４はコマンドごとに▲１▼から▲３▼の処理を行わなければならないため、近年のＡＴドライブ装置の高速化及びバス転送速度に伴い、ＣＰＵ１４の使用頻度が増大している。
【０００４】
本発明は、このような問題点に鑑み、ドライブ装置に対するコマンドをＣＰＵがまとめて発行することを可能とする情報処理システム、ドライブ装置に接続する情報処理装置、インタフェース装置及び情報記憶装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
請求項１に記載の発明は、上位装置が発行した複数のタスクをドライブ装置が実行する情報処理システムにおいて、上位装置が発行した複数のタスクと、複数のタスクのタスク実行結果と、複数のタスクのチェーン情報を含む付加情報とが上位装置により格納され、複数のタスクを順次ドライブ装置へ転送するとともに、複数のタスクのタスク実行結果を上位装置に転送するタスクキューと、上位装置により前記タスクキューに格納した前記複数のタスクの先頭アドレスが書き込まれるアドレスレジスタとを有し、アドレスレジスタに書き込まれた先頭アドレス、及び、タスクキューに格納された付加情報に基づいて上位装置が発行した複数のタスクを順次実行することを特徴とする。
【０００６】
請求項１によれば、上位装置が発行した複数のタスクと、複数のタスクのタスク実行結果と、複数のタスクのチェーン情報を含む付加情報とが上位装置により格納され、複数のタスクを順次ドライブ装置へ転送するとともに、複数のタスクのタスク実行結果を上位装置に転送するタスクキューと、上位装置によりタスクキューに格納した複数のタスクの先頭アドレスが書き込まれるアドレスレジスタとを有し、アドレスレジスタに書き込まれた先頭アドレス、及び、タスクキューに格納された付加情報に基づいて上位装置が発行した複数のタスクを順次実行することにより、上位装置はドライブ装置に対する処理の負荷を軽減することが可能な情報処理システムを提供することができる。
【０００７】
請求項２に記載の発明は、上位装置により複数のタスクをタスクキューに格納するとともに、複数のタスクのアドレスをアドレスレジスタに通知し、アドレスレジスタに格納されたアドレスに基づいてタスクキューからタスクを読み込んで、実行することを特徴とする。
【０００８】
請求項２によれば、上位装置により複数のタスクをタスクキューに格納するとともに、複数のタスクのアドレスをアドレスレジスタに通知し、アドレスレジスタに格納されたアドレスに基づいてタスクキューからタスクを読み込んで、実行することによりドライブ装置にタスクを通知することが可能な情報処理システムを提供することができる。
【００１１】
請求項３に記載の発明は、ドライブ装置に対し、タスクを発行する情報処理装置であって、上位装置が発行した複数のタスクと、複数のタスクのタスク実行結果と、複数のタスクのチェーン情報を含む付加情報とが上位装置により格納され、複数のタスクを順次前記ドライブ装置へ転送するとともに、複数のタスクのタスク実行結果を上位装置に転送するタスクキューと、上位装置によりタスクキューに格納した複数のタスクの先頭アドレスが書き込まれるアドレスレジスタとを有し、アドレスレジスタに書き込まれたアドレス、及び、タスクキューに格納された付加情報に基づいて上位装置が発行した複数のタスクをドライブ装置に順次実行させることを特徴とする。
【００１２】
請求項３によれば、アドレスレジスタに書き込まれた先頭アドレス、及び、タスクキューに格納された付加情報に基づいて上位装置が発行した複数のタスクをドライブ装置に順次実させることにより複数のタスクを発行することが可能とする情報処理装置が提供できる。
【００１３】
請求項４に記載の発明は、上位装置から発行された複数のタスクを実行する情報記憶装置であって、上位装置が発行した複数のタスクと、複数のタスクのタスク実行結果と、複数のタスクのチェーン情報を含む付加情報とが上位装置により格納され、複数のタスクを順次ドライブ装置へ転送するとともに、複数のタスクのタスク実行結果を上位装置に転送するタスクキューに格納した複数のタスクの先頭アドレスが書き込まれるアドレスレジスタに書き込まれた先頭アドレスに基づいて上位装置が発行した複数のタスクを順次実行することを特徴とする。
【００１４】
請求項４によれば、上位装置が複数のタスクを発行することが可能なため、上位装置の負荷が軽減できる情報記憶装置を提供することができる。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１６】
最初に本発明の実施の形態におけるインタフェース装置（以下ＨＢＡ（Host Bus Adaptor）と記す）を搭載したパソコンのブロック図を図３に示す。図３には、ＨＢＡ１０と、ＡＴドライブ装置１２と、ＣＰＵ１４と、ＲＡＭであるメインメモリ１６と、ファームウェアが格納されるＲＯＭ（Read Only Memory）１５と、表示装置２０とが示されている。このうちＡＴドライブ装置１２は、ＡＴＡ方式のハードディスク装置である。表示装置２０は、コンピュータを操作するために必要な各種情報などを表示する。キーボード１８は、パソコンを利用者が操作する入力装置である。ＣＰＵ１４は、ＲＯＭ１５に格納されたファームウェアを実行するとともに、周辺機器を制御してデータを受け取り、そのデータを演算や加工をし、メインメモリ１６に記憶したり結果を周辺機器に出力したりするまでの一連の動作を行う。そして、ＨＢＡ１０はＣＰＵ１４からのコマンドであるＡＴレジスタセットなどが格納された後述するタスクファイルキューから情報を順次読み出してＡＴドライブ装置１２へ転送し制御する。このＡＴレジスタセットは、後述するようにメインメモリ１６に書き込まれるが、ＨＢＡ１０にメモリを備え、そのメモリにＡＴレジスタセットを書き込んでも良い。
【００１７】
以上のような構成でＣＰＵ１４がコマンドをまとめて発行しＨＢＡ１０がそのコマンドを転送する一連の流れを図４と図５とを用いて説明した後、それらの詳細について説明する。
【００１８】
ＣＰＵ１４がコマンドであるＡＴレジスタセットを発行する場合は、従来のようにＡＴドライブ装置１２のタスクファイルに直接に書き込むのではなく、▲１▼に示されるように、ＡＴレジスタセットと後述する付加情報とをシステムバスを介してメインメモリ１６上にタスクファイルとして書き込む。タスクファイルを書き込んだＣＰＵ１４は、先ほど書き込んだＡＴレジスタセットの先頭アドレスを▲２▼でＨＢＡ１０が有するタスクファイルアドレスレジスタに書き込む。タスクファイルアドレスレジスタにアドレスが書き込まれたＨＢＡ１０は、▲３▼でＣＰＵ１４が書き込んだＡＴレジスタセットをメインメモリ１６から読み込む。そしてＨＢＡ１０は、図５の▲５▼でそのＡＴレジスタセットをＡＴドライブ装置１２のタスクファイルへ書き込む。ＡＴレジスタセットを書き込まれたＡＴドライブ装置１２は、その処理を行い終了する。その実行結果をＨＢＡ１０は、▲４▼でＡＴドライブ装置１２から読み込み、▲６▼でメインメモリ１６に書き込む。そしてＣＰＵ１４は、▲７▼でその結果を読み出す。このように、メインメモリ１６を用い、ＡＴドライブ装置１２の制御をＨＢＡ１０が行うことにより、ＣＰＵ１４の負荷が軽くなっていることが分かる。
【００１９】
次に、以上説明した処理の詳細と、ＣＰＵ１４がＡＴレジスタセットをメインメモリに書き込んだタスクファイルについて説明する。まず図６を用いてタスクファイルについて説明する。上述したようにＣＰＵ１４は、コマンドをまとめて発行することを可能とする。そのため複数のタスクファイルからなるタスクファイルキューは図６に示されるように複数のタスクファイル２４から構成され、タスクファイル２４はタスク２６とタスク結果２８と付加情報３０から構成される。タスク２６にはＡＴレジスタセットが格納され、タスク結果２８にはＡＴレジスタセットをＡＴドライブ装置１２が実行した結果である実行結果が格納される。また、付加情報はチェーン情報であるバッファアドレスからなる。このバッファアドレスは、次のタスクファイルの先頭アドレス又は最後のタスクファイルであることを示す値が格納されている。ＨＢＡ１０は、このアドレスにより複数のタスクファイルを読み込むことができる。
【００２０】
このタスクファイルキュー２２をＣＰＵ１４がセットする例として、３つのコマンドをキューへセットする場合の説明をする。まず、ＣＰＵ１４は、１つめのコマンドを格納するためのメモリを確保し、その確保したメモリの先頭アドレスを保持する。この先頭アドレスは、先ほど説明したＨＢＡ１０のタスクファイルアドレスレジスタへ書き込まれるアドレスである。そしてＣＰＵ１４は、確保した１つめのメモリのタスク２６にＡＴレジスタセットを格納する。次に、ＣＰＵ１４は、２つめのメモリを確保し、その先頭アドレスを１つめのタスクファイルの付加情報３０に格納する。そして１つめのタスクファイルと同様に、２つめのタスクファイルのタスク２６にＡＴレジスタセットが格納される。そしてＣＰＵ１４は、最後の３つめのメモリを確保し、その先頭アドレスを２つめのタスクファイルの付加情報３０に格納する。そして今までのタスクファイルと同様に、ＣＰＵ１４は３つめのタスクファイルのタスク２６にＡＴレジスタセットを格納する。そしてこの３つめのタスクファイルでタスクファイルキューは終了するので、３つめのタスクファイルの付加情報３０には、最後のタスクファイルであることを示す値である例えばすべて０とかすべてｆ（１６進数）が格納される。このようにしてＣＰＵ１４は、タスクキュー２２を書き込むようになっている。
【００２１】
次にＣＰＵ１４の一連の処理について図７のフローチャートを用いて説明する。ＣＰＵ１４は、ステップＳ１０１でメインメモリ１６上のタスクファイル２４へタスクと付加情報を書き込む。この書き込み方法は上述したとおりである。次にステップＳ１０２で、付加情報の書き込みが終わると、ステップＳ１０３でＨＢＡ１０のタスクファイルアドレスレジスタにタスクファイルキュー２２の先頭アドレスを書き込む。ここまでの処理が終了すると、これからのＡＴドライブ装置１２に対する処理はＨＢＡ１０が行うため、ステップＳ１０５で割り込み信号をアサートされるまで、ＣＰＵ１４はステップＳ１０４で他のプロセスを実行することが可能となる。ステップＳ１０５で割り込み信号をアサートされた場合、ＣＰＵ１４は、ステップＳ１０６でメインメモリ１６上のタスクファイル２４のタスク結果２８を読み込み処理の結果を認識することができる。これでタスクキュー２２にＣＰＵ１４が格納したコマンドの処理が終了し、再びコマンドを発行する場合は、ステップＳ１０１から同様に処理を実行する。
【００２２】
次に、図８のフローチャートを用いて、ＨＢＡ１０の処理を説明する。ステップＳ２０１でＣＰＵ１４からタスクファイルアドレスレジスタにタスクファイルキュー２２の先頭アドレスを書き込まれると、ステップＳ２０２でタスクファイル２４のタスク２６をキューイングして、そのタスク２６に格納されたＡＴレジスタセットをＡＴドライブ装置１２に書き込み、ステップＳ２０３で最後にコマンドレジスタへ書き込むことでＡＴドライブ装置１２は処理を開始する。次にステップＳ２０４でＡＴドライブ装置１２のステータスレジスタへのポーリングをビジィが解除されるまで行う。ステップＳ２０５でビジィが解除されるとステップＳ２０６でタスクファイル２４のタスク結果２８に処理の結果を書き込む。このときステップＳ２０７でエラーレジスタにエラーがある場合は、ステップＳ２１０で割り込み信号をＣＰＵ１４へアサートし処理を終了する。ステップＳ２０７でエラーレジスタにエラーがない場合は、ステップＳ２０８で付加情報に格納された次に実行するタスクファイル２４のアドレスを読み込む。この付加情報に、最後のタスクファイル２４を示す値ではなく、アドレスが格納されているときは、再びステップＳ２０２から処理を行う。もし最後のタスクファイルを示す値が格納されていた場合、及びステップＳ２０７でエラーレジスタにエラーが有った場合は、ステップＳ２１０で割り込み信号をＣＰＵ１４へアサートし処理を終了する。
【００２３】
以下、本発明の要旨の一部を以下に列挙する。
【００２４】
（付記１）  上位装置が発行したコマンドをドライブ装置が実行する情報処理システムにおいて、
前記上位装置から１つ以上のコマンドが発行され、発行された前記コマンドを前記ドライブ装置へ順次通知するインタフェース部を設けたことを特徴とする情報処理システム。
【００２５】
付記１によれば、ドライブ装置への１つ以上のコマンドの通知を上位装置の代わりに行うインタフェース部を設けたことにより、上位装置はドライブ装置に対する処理の負荷を軽減することが可能な情報処理システムを提供することができる。
【００２６】
（付記２）  前記コマンドを記憶する記憶部を有し、
前記上位装置は、前記１つ以上のコマンドを該記憶部に記憶させ、前記１つ以上のコマンドを前記記憶部に記憶させたことを前記インタフェース部に通知し、前記インタフェース部は、前記記憶部に記憶されたコマンドを読み込んで前記ドライブ装置へ順次通知することを特徴とする付記１に記載の情報処理システム。
【００２７】
付記２によれば、上位装置がインタフェース部へ１つ以上のコマンドを通知するための１つの方法として、上位装置が記憶部にコマンドを記憶させ、インタフェース部にコマンドを記憶させたことを通知することによりドライブ装置にコマンドを通知することが可能な情報処理システムを提供することができる。
【００２８】
（付記３）  前記インタフェース部は、前記ドライブ装置に対して発行したコマンドによる前記ドライブ装置の処理結果を前記記憶部に記憶させ、
前記上位装置は、前記インタフェース装置からの通知により前記記憶部に記憶された処理結果を確認することを特徴とする付記２に記載の情報処理システム。
【００２９】
付記３によれば、コマンドの通知により処理を行ったドライブ装置の処理結果も上位装置が認識することが可能な情報処理システムを提供することができる。
【００３０】
（付記４）  コマンドを発行する上位装置と該コマンドを実行するドライブ装置とのインタフェースを行うインタフェース装置であって、
前記上位装置から１つ以上のコマンドを通知され、通知された前記コマンドを前記ドライブ装置へ順次通知することを特徴とするインタフェース装置。
【００３１】
付記４によれば、ドライブ装置へ機能を追加することなく、上位装置の負荷を軽減することが可能なインタフェース装置を提供することができる。
【００３２】
（付記５）  前記上位装置が前記コマンドを記憶させるための記憶部を有し、前記記憶部に前記１つ以上のコマンドを記憶させ、
前記インタフェース装置は、前記１つ以上のコマンドを前記記憶部に記憶させたことを前記上位装置から通知され、
前記記憶部に記憶された前記コマンドを前記ドライブ装置へ順次通知することを特徴とする付記４に記載のインタフェース装置。
【００３３】
付記５によれば、インタフェース装置がコマンドを認識するための１つの方法として、上位装置がコマンドを記憶部に記憶させたことによって、コマンドを認識することが可能なインタフェース装置を提供することができる。
【００３４】
（付記６）  前記ドライブ装置に対して通知したコマンドによる前記ドライブ装置の処理結果を前記記憶部に記憶させ、
前記上位装置が前記インタフェース装置からの通知により前記記憶部に記憶された処理結果を確認できることを特徴とする付記４または５に記載のインタフェース装置。
【００３５】
付記６によれば、コマンドの通知により処理を行ったドライブ装置の処理結果も上位装置に認識させることが可能なインタフェース装置を提供することができる。
【００３６】
（付記７）  ドライブ装置に対し、コマンドを発行する情報処理装置であって、
前記コマンドを記憶させるための記憶部を有し、前記記憶部に前記１つ以上のコマンドを記憶し、
前記１つ以上のコマンドを前記記憶部に記憶したことを通知することを特徴とする情報処理装置。
【００３７】
付記７によれば、１つ以上のコマンドを発行するための１つの方法として、記憶部にコマンドを記憶させ、記憶させたことを通知することにより１つ以上のコマンドを発行することが可能とする情報処理装置が提供できる。
【００３８】
（付記８）  上位装置からコマンドが発行され、該コマンドを実行する情報記憶装置であって、
前記上位装置から１つ以上のコマンドを発行され、発行された前記コマンドを順次実行することを特徴とする情報記憶装置。
【００３９】
付記８によれば、上位装置が１つ以上のコマンドを発行することが可能なため、上位装置の負荷が軽減できる情報記憶装置を提供することができる。
【００４０】
（付記９）  １つの処理が終了してから次のコマンドを受け付けるドライブ装置と、前記ドライブ装置への前記コマンドの通知を行う上位装置とのインタフェース方法において、
前記上位装置から１つ以上のコマンドが通知され、通知された前記コマンドを前記ドライブ装置へ順次通知することを特徴とするインタフェース方法。
【００４１】
付記９によれば、１つの処理が終了してから次のコマンドを受け付けるドライブ装置に対して、上位装置が１つ以上のコマンドの発行が可能なインタフェース方法を提供することができる。
【００４２】
【発明の効果】
以上説明したように、ドライブ装置に対するコマンドをＣＰＵがまとめて発行することを可能とする情報処理システム、ドライブ装置に接続する情報処理装置、インタフェース装置及び情報記憶装置が得られる。
【図面の簡単な説明】
【図１】ＡＴドライブを制御するための従来のブロック図である。
【図２】ＡＴドライブの従来の制御方法を示す図である。
【図３】パソコンのハードウェアブロック図である。
【図４】ＡＴドライブの制御方法を示す図である。
【図５】ＡＴドライブとＨＢＡ間における制御方法を示す図である。
【図６】タスクファイルキューを示す図である。
【図７】ＣＰＵの処理を示すフローチャートである。
【図８】ＨＢＡの処理を示すフローチャートである。
【符号の説明】
１０…ＨＢＡ
１２…ＡＴドライブ装置
１４…ＣＰＵ
１６…メインメモリ
１８…キーボード
２２…タスクファイルキュー
２４…タスクファイル
２６…タスク
２８…タスク結果
３０…付加情報
【図１】
0004212811.tif 000002
【図２】
0004212811.tif 000003
【図３】
0004212811.tif 000004
【図４】
0004212811.tif 000005
【図５】
0004212811.tif 000006
【図６】
0004212811.tif 000007
【図７】
0004212811.tif 000008
【図８】
0004212811.tif 000009