(57)【特許請求の範囲】
【請求項１】
長時間データ長記録手段で、共通バスに接続してデータ転送を行う複数のマスタデバイスのそれぞれの過去から現在までの所定の長時間の転送データ長を記録し、
長時間比率計算手段で、前記長時間のデータ長から前記各マスタデバイスの長時間の転送データ長の比率を求め、
短時間データ長記録手段で、前記複数のマスタデバイスのそれぞれの過去から現在までの前記長時間よりは短い所定の短時間の転送データ長を記録し、
短時間比率計算手段で、前記短時間のデータ長から前記各マスタデバイスの短時間の転送データ長の比率を求め、
優先順位決定手段で、前記マスタデバイスの長時間の転送データ長の比率と前記短時間の転送データ長の比率の差分又は前記長時間の転送データ長の比率を前記短時間の転送データ長の比率で割算した値が大きいマスタデバイスに前記共通バスの使用権を付与することを特徴としたバス調停方法。
【請求項２】
共通バスに接続してデータ転送を行う複数のマスタデバイスのそれぞれの過去から現在までの所定の長時間の転送データ長を記録する長時間データ長記録手段と、
前記長時間のデータ長から前記各マスタデバイスの長時間の転送データ長の比率を求める長時間比率計算手段と、
前記複数のマスタデバイスのそれぞれの過去から現在までの前記長時間よりは短い所定の短時間の転送データ長を記録する短時間データ長記録手段と、
前記短時間のデータ長から前記各マスタデバイスの短時間の転送データ長の比率を求める短時間比率計算手段と、
前記マスタデバイスの長時間の転送データ長の比率と前記短時間の転送データ長の比率の差分又は前記長時間の転送データ長の比率を前記短時間の転送データ長の比率で割算した値が大きいマスタデバイスに前記共通バスの使用権を付与する優先順位決定手段とを備えることを特徴としたバス調停装置。
【請求項３】
前記長時間データ長記録手段と長時間比率計算手段を用いて長時間の転送データ長の比率を求める代わりに、予め定めた一定値を用いることを特徴とした請求項２記載のバス調停装置。
【請求項４】
前記マスタデバイスの長時間の転送データ長の比率と前記短時間の転送データ長の比率の差分又は前記長時間の転送データ長の比率を前記短時間の転送データ長の比率で割算した値が大きい同じマスタデバイスがある場合、ラウンドロビン方式調停を用いることを特徴とした請求項２又は３記載のバス調停装置。
【請求項５】
共通バスに接続してデータ転送を行う複数のマスタデバイスのそれぞれの過去から現在までの所定の長時間の転送データ長を記録する長時間データ長記録手段と、
前記長時間のデータ長から前記各マスタデバイスの長時間の転送データ長の比率を求める長時間比率計算手段と、
前記複数のマスタデバイスのそれぞれの過去から現在までの前記長時間よりは短い所定の短時間の転送データ長を記録する短時間データ長記録手段と、
前記短時間のデータ長から前記各マスタデバイスの短時間の転送データ長の比率を求める短時間比率計算手段と、
前記マスタデバイスの長時間の転送データ長の比率と前記短時間の転送データ長の比率の差分又は前記長時間の転送データ長の比率を前記短時間の転送データ長の比率で割算した値が大きいマスタデバイスに前記共通バスの使用権を付与する優先順位決定手段として、
コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速なデータ転送を必要とし、ホストからのアクセスに長期的な傾向のあるストレージシステム内等のデータ転送を効率的に行うことができるバス調停方法及び装置及びプログラムに関する。
【０００２】
より具体的には、ストレージシステム内において複数（３つ以上）のマスタデバイス（装置）が接続される共通バスの調停回路を、システムとして最適となるよう動的に調整する方法及び装置に関する。
【背景技術】
【０００３】
従来のストレージシステムの例を説明する。図５はホスト書き込み例の説明図である。図５において、インターフェイスモジュール４０がホストとディスクコントロールモジュール５０と接続されている。ディスクコントロールモジュール５０は複数のディスク（装置）５１、５２、５３と接続されている。インターフェイスモジュール４０には、インターフェイス４１、ＭＰＵ（マイクロプロセッサユニット）４２、メモリコントローラ４３、データバッファ４４が設けてある。
【０００４】
インターフェイスモジュール４０は、ホストとディスクコントロールモジュール５０間のインターフェイス処理を行うものである。ディスクコントロールモジュール５０は、複数のディスク５１、５２、５３の制御を行うものである。ディスク５１、５２、５３は、情報を格納するディスク装置である。インターフェイス４１は、ホストと接続してインターフェイス処理を行うＩＦ−ＬＳＩ（インターフェイス集積回路）であり、共通バスと接続されるものである。ＭＰＵ４２は、インターフェイスモジュール４０全体の制御を行うものであり、共通バスと接続されるものである。メモリコントローラ４３は、ＭＣ−ＬＳＩ（メモリコントローラ集積回路）であり、共通バスとディスクコントロールモジュール５０に接続されるものである。データバッファ４４は、バッファ処理を行うものであり、メモリコントローラ４３と接続される。
【０００５】
（１）：書き込み動作の説明
ホストからのライトが行われた場合のストレージシステムにおける一連の処理を図５の(1) 〜(8) に従って説明する。
【０００６】
(1) ホストからの書き込みデータを、インターフェイス４１と共通バスとメモリコントローラ４３を通してデータバッファ４４に転送する。
【０００７】
(2) ホストからのライトコマンドを、インターフェイス４１と共通バスを通してＭＰＵ４２に通知する。
【０００８】
(3) ＭＰＵ４２は、共通バスを通してメモリコントローラ４３に書き込みＤＭＡ（直接メモリアクセス）の起動指示を行う。
【０００９】
(4) メモリコントローラ４３は、共通バスを通してＭＰＵ４２から書き込みＤＭＡ用の記述子を読み出す。なお、記述子とは転送用の情報であり、例えば、転送長、どこからどこへのアドレス（ソースアドレス、デスティネーションアドレス）等である。
【００１０】
(5) メモリコントローラ４３は、データバッファ４４からディスクコントロールモジュール５０にＤＭＡによるデータ転送を行う。
【００１１】
(6) メモリコントローラ４３は、共通バスを通してＭＰＵ４２に書き込みＤＭＡの終了を通知する。
【００１２】
(7) ＭＰＵ４２は、共通バスを通してインターフェイス４１に書き込みの完了通知（完了通知ＤＭＡ）の起動指示を行う。
【００１３】
(8) インターフェイス４１は、書き込みの完了（完了通知ＤＭＡ）によるホストへの通知を行う。
【００１４】
（２）：読み出し動作の説明
図６はホスト読み出し例の説明図である。以下、ホストからのリードが行われた場合のストレージシステムにおける一連の処理を図６の(1) 〜(7) に従って説明する。
【００１５】
(1) ホストからリードコマンドを、インターフェイス４１と共通バスを通してＭＰＵ４２に通知する。
【００１６】
(2) ＭＰＵ４２は、共通バスを通してメモリコントローラ４３に読み出しＤＭＡの起動指示を行う。
【００１７】
(3) メモリコントローラ４３は、共通バスを通してＭＰＵ４２からＤＭＡ用の記述子を読み出す。
【００１８】
(4) メモリコントローラ４３は、ディスクコントロールモジュール５０から読み出しＤＭＡによるデータ転送を行う。
【００１９】
(5) メモリコントローラ４３は、共通バスを通してＭＰＵ４２に読み出しＤＭＡの終了を通知する。
【００２０】
(6) ＭＰＵ４２は、共通バスを通してインターフェイス４１に読み出しの完了（返送ＤＭＡ）の起動指示を行う。
【００２１】
(7) インターフェイス４１は、読み出し完了（返送ＤＭＡ）によるホストへの通知を行う。
【００２２】
図５と図６の動作は、それぞれ単独に命令が発生した場合の動作であるが、ストレージシステムでは複数のライト、リードを同時に処理することができる。コンピュータシステム、特に高速なデータ転送を必要とするストレージシステムにおいては、一連の流れ全体で効率の良いことが重要である。特定の処理のみが速くても、その他に著しく遅い処理があると全体としての処理効率は低下する。このように全体の処理効率を低下させる処理をシステムのボトルネックと呼び、これを改善することが全体の処理効率向上のために大切となる。
【００２３】
上記図５と図６において、インターフェイス（ＩＦ−ＬＳＩ）４１とＭＰＵ４２とメモリコントローラ（ＭＣ−ＬＳＩ）４３の３つのマスタデバイスに接続される共通バスで行われる転送の、転送元デバイス、転送先デバイス、転送長は多様である。さらにホスト側のユーザーシステムの目的、運用形態によって転送長、頻度の特徴が異なる。特に図５の(1) ホストからの書き込みデータ転送、図６の(7) 返送ＤＭＡホストへのデータ転送の転送長に特徴が表れる。
【００２４】
例えば、共通バスに接続するマスタデバイスの２つ以上が同時にバス使用権を要求した時にこれを調停し、バス使用権を与える回路をアービタ（調停回路）と呼ぶ。このアービタは、マスタデバイスとは独立して共通バスに接続して設けられるか、または、マスタデバイスのいずれか一つに内蔵して設ける場合もある。この調停の方式には様々あるが、特定のマスタデバイスが長時間バス使用権を取得できない状況が生じないようにと配慮されたラウンドロビンと呼ばれる方式がよく用いられる。図７、図８に３つのマスタデバイスＡ〜Ｃに対するラウンドロビン方式調停の概念図を示している。
【００２５】
図７はラウンドロビン方式調停の説明図（１）である。図７において、左側のマスタデバイスＡ〜Ｃは、現在のバス使用権の許諾（Current GRANT ）デバイスを示しており、上段のマスタデバイスＡ〜Ｃは、次のバス使用権の許諾（Next GRANT）デバイスを示している。例えば、現在マスタデバイスＡがバス使用権を持っていれば、次のバス使用権の優先順位は、マスタデバイスＢが１位で、マスタデバイスＣが２位で、マスタデバイスＡが３位となることを示している。現在マスタデバイスＢがバス使用権を持っていれば、次のバス使用権の優先順位は、マスタデバイスＣが１位で、マスタデバイスＡが２位で、マスタデバイスＢが３位となることを示している。また、現在マスタデバイスＣがバス使用権を持っていれば、次のバス使用権の優先順位は、マスタデバイスＡが１位で、マスタデバイスＢが２位で、マスタデバイスＣが３位となることを示している。
【００２６】
図８はラウンドロビン方式調停の説明図（２）である。図８において、丸の中のマスタデバイスＡ〜Ｃは、現在のバス使用権の許諾（Current GRANT ）デバイスを示している。丸数字は優先順位を示している。例えば、現在マスタデバイスＡがバス使用権を持っていれば、次のバス使用権の優先順位は、マスタデバイスＣが１位で、マスタデバイスＢが２位で、マスタデバイスＡが３位となることを示している。
【００２７】
このように、ラウンドロビン方式は、同時に複数のマスタデバイスからバス使用権の要求がある場合に循環的にバス使用権を割り振っていく方式であるが、ある程度転送パターンの一定したバスに対しては効率が悪い。
【００２８】
また、従来例として、短期仲裁パラメータと長期仲裁パラメータを出力する仲裁パラメータ発生回路があった（特許文献１参照）。
【００２９】
さらに、転送特性テーブルを参照してバス調停を行うもので、この転送特性テーブルは、バスエージェント３１〜３６のうち何れかをマスタとし他の何れかをスレーブとして、これらマスタとスレーブとの間のトランザクション種類毎のデータ転送性能特性値を記憶するバス調停装置があった（特許文献２参照）。
【特許文献１】特開２００４−１３３９４６号公報
【特許文献２】特開２０００−２５０８５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
前記従来のものは次のような課題があった。
ラウンドロビン方式は、同時に複数のマスタデバイスからバス使用権の要求がある場合に循環的にバス使用権を割り振っていく方式であるが、ある程度転送パターンの一定したバスに対しては効率が悪いものであった。
【００３１】
また、従来の短期仲裁パラメータと長期仲裁パラメータを出力する仲裁パラメータ発生回路には、それぞれのマスタデバイスによる過去のデータ長を記録し、短時間記録の傾向（データ長の比率）が長時間記録の傾向（データ長の比率）に追従するように、バス権割り振りの優先順位を決定して、負荷の変動に対して自律的に最適化できるものではなかった。
【００３２】
さらに、従来の転送特性テーブルを参照してバス調停装置では、マスタだけでなくスレーブも特定してトランザクションに要する時間を予測して、バス調停を行っていますが、それぞれのマスタデバイスによる過去のデータ長を記録し、短時間記録の傾向が長時間記録の傾向に追従するように、バス権割り振りの優先順位を決定して、負荷の変動に対して自律的に最適化できるものではなかった。
【００３３】
本発明は、このような従来の課題を解決し、共通バス上の転送を監視する機能を持ち、それぞれのマスタデバイスによる過去のデータ長を記録し、短時間記録の傾向（データ長の比率）が長時間記録の傾向（データ長の比率）に追従するように、バス権割り振りの優先順位を決定することで、１シーケンスの開始から完了までの時間を短縮できるようにすることを目的とする。
【課題を解決するための手段】
【００３４】
図２は本発明の調停回路の説明図である。図２中、調停回路（アービタ）には、１０は転送監視部（手段）、１１はマスタＡの長時間データ長記録部（手段）、１２はマスタＢの長時間データ長記録部（手段）、１３はマスタＣの長時間データ長記録部（手段）、１４は合計長時間データ長記録部（手段）、１５はマスタＡの長時間比率計算部（手段）、１６はマスタＢの長時間比率計算部（手段）、１７はマスタＣの長時間比率計算部（手段）、２１はマスタＡの短時間データ長記録部（手段）、２２はマスタＢの短時間データ長記録部（手段）、２３はマスタＣの短時間データ長記録部（手段）、２４は合計短時間データ長記録部（手段）、２５はマスタＡの短時間比率計算部（手段）、２６はマスタＢの短時間比率計算部（手段）、２７はマスタＣの短時間比率計算部（手段）、３１はマスタＡの差分計算部（手段）、３２はマスタＢの差分計算部（手段）、３３はマスタＣの差分計算部（手段）、３４は優先順位決定部（手段）である。
【００３５】
本発明は、上記の課題を解決するため次のように構成した。
（１）：長時間データ長記録手段１１、１２、１３で共通バスに接続してデータ転送を行う複数のマスタデバイスのそれぞれの過去から現在までの所定の長時間の転送データ長を記録し、長時間比率計算手段１５、１６、１７で前記長時間のデータ長から前記各マスタデバイスの長時間の転送データ長の比率を求め、短時間データ長記録手段２１、２２、２３で前記複数のマスタデバイスのそれぞれの過去から現在までの前記長時間よりは短い所定の短時間の転送データ長を記録し、短時間比率計算手段２５、２６、２７で前記短時間のデータ長から前記各マスタデバイスの短時間の転送データ長の比率を求め、優先順位決定手段３４で前記マスタデバイスの長時間の転送データ長の比率と前記短時間の転送データ長の比率の差分又は前記長時間の転送データ長の比率を前記短時間の転送データ長の比率で割算した値が大きいマスタデバイスに前記共通バスの使用権を付与する。このため、複数のシーケンスが多重に発生する場合に、１シーケンスの開始から完了の時間を短縮することができ、１シーケンスの結果を利用する次の処理を早く行うことができる。
【００３６】
（２）：前記（１）バス調停方法及び装置において、前記長時間データ長記録手段と長時間比率計算手段を用いて長時間の転送データ長の比率を求める代わりに、予め定めた一定値を用いる。このため、長時間データ長記録手段１１、１２、１３と長時間比率計算手段１５、１６、１７を省くことができる。
【００３７】
（３）：前記（１）バス調停方法及び装置において、前記マスタデバイスの長時間の転送データ長の比率と前記短時間の転送データ長の比率の差分が大きい又は前記長時間の転送データ長の比率を前記短時間の転送データ長の比率で割算した値が大きい同じマスタデバイスがある場合、ラウンドロビン方式調停を用いる。このため、前記比率の差分又は割算が同じ値のマスタデバイスがあっても容易に調停を行うことができる。
【発明の効果】
【００３８】
本発明によれば次のような効果がある。
（１）：優先順位決定手段でマスタデバイスの長時間の転送データ長の比率と短時間の転送データ長の比率の差分又は長時間の転送データ長の比率を短時間の転送データ長の比率で割算した値が大きいマスタデバイスに共通バスの使用権を付与するため、複数のシーケンスが多重に発生する場合に、１シーケンスの開始から完了の時間を短縮することができ、１シーケンスの結果を利用する次の処理を早く行うことができる。
【００３９】
（２）：長時間データ長記録手段と長時間比率計算手段を用いて長時間の転送データ長の比率を求める代わりに、予め定めた一定値を用いるため、長時間データ長記録手段と長時間比率計算手段を省くことができる。
【００４０】
（３）：マスタデバイスの長時間の転送データ長の比率と短時間の転送データ長の比率の差分が大きい又は長時間の転送データ長の比率を短時間の転送データ長の比率で割算した値が大きい同じマスタデバイスがある場合、ラウンドロビン方式調停を用いるため、前記比率の差分又は割算が同じ値のマスタデバイスがあっても容易に調停を行うことができる。
【発明を実施するための最良の形態】
【００４１】
本発明の調停回路（アービタ）は、共通バス上の転送を監視する機能を持ち、定められた長時間の過去から現在までのそれぞれのマスタデバイスによる転送の種類とデータ長を記録し更新する機能と、定められた短時間の過去から現在までのそれぞれのマスタデバイスによる転送の種類とデータ長を記録し更新する機能とを備える。
【００４２】
そして、アービタは、上記の短時間記録の傾向（データ長の比率）が長時間記録の傾向（データ長の比率）に追従するように、バス権割り振りの優先順位を決定する。
【００４３】
なお、このアービタは、低優先順位のマスタデバイスがバスを使用中に、高優先順位のマスタデバイスがバス使用権を要求した時、バス権を切り替えることができる。また、このアービタは、特定のマスタデバイスが長時間バス権を取得できない状況が生じないように、長時間記録の傾向（データ長の比率）が極端に低いマスタデバイスに対してバス権割り振りの優先順位を上げることができる。
【００４４】
（１）：共通バスに３つのデバイスを接続する場合の説明
図１は本発明の共通バスに３つのデバイスを接続する場合の説明図である。図１において、共通バスには、マスタＡ（マスタデバイス１）、マスタＢ（マスタデバイス２）、マスタＣ（マスタデバイス３）、アービタ（調停回路）４が接続されている。共通バスは、複数のデバイス（マスタ）間のデータ経路を接続するものである。マスタＡは、共通バスに接続されるマスタデバイス１（図５ではインターフェイス４１）である。マスタＢは、共通バスに接続されるマスタデバイス２（図５ではＭＰＵ４２）である。マスタＣは、共通バスに接続されるマスタデバイス３（図５ではメモリコントローラ４３）である。調停回路４は、共通バスに接続するマスタデバイス（Ａ〜Ｃ）の２つ以上が同時にバス使用権を要求した時に、これを調停し、バス使用権を与える調停装置である。この調停回路４は、マスタデバイスとは独立して共通バスに接続しているが、マスタデバイス（１〜３）のいずれか一つが調停機能を内蔵（内包）することもできる。
【００４５】
（２）：調停回路の説明
図２は調停回路の説明図である。図２において、調停回路（アービタ）４には、転送監視部１０、マスタＡの長時間データ長記録部１１、マスタＢの長時間データ長記録部１２、マスタＣの長時間データ長記録部１３、合計長時間データ長記録部１４、マスタＡの長時間比率計算部１５、マスタＢの長時間比率計算部１６、マスタＣの長時間比率計算部１７、マスタＡの短時間データ長記録部２１、マスタＢの短時間データ長記録部２２、マスタＣの短時間データ長記録部２３、合計短時間データ長記録部２４、マスタＡの短時間比率計算部２５、マスタＢの短時間比率計算部２６、マスタＣの短時間比率計算部２７、マスタＡの差分計算部３１、マスタＢの差分計算部３２、マスタＣの差分計算部３３、優先順位決定部３４が設けてある。
【００４６】
転送監視部１０は、マスタＡ〜Ｃが接続されている共通バスのデータ転送の監視を行う監視手段である。マスタＡの長時間データ長記録部１１は、マスタＡの所定の長時間（例えば、１万サイクル）のデータ長（過去１万サイクル内の転送データ長）を記録する長時間データ長記録手段である。マスタＢの長時間データ長記録部１２は、マスタＢの所定の長時間（例えば、１万サイクル）のデータ長を記録する長時間データ長記録手段である。マスタＣの長時間データ長記録部１３は、マスタＣの所定の長時間（例えば、１万サイクル）のデータ長を記録する長時間データ長記録手段である。合計長時間データ長記録部１４は、マスタＡ〜Ｃの所定の合計長時間（例えば、１万サイクル）のデータ長を記録する合計長時間データ長記録手段である。
【００４７】
マスタＡの長時間比率計算部１５は、マスタＡの長時間データ長記録を合計長時間データ長記録で割った値を計算するものである。マスタＢの長時間比率計算部１６は、マスタＢの長時間データ長記録を合計長時間データ長記録で割った値を計算するものである。マスタＣの長時間比率計算部１７は、マスタＣの長時間データ長記録を合計長時間データ長記録で割った値を計算するものである。
【００４８】
マスタＡの短時間データ長記録部２１は、マスタＡの所定の短時間（例えば、４０サイクル）のデータ長（過去４０サイクル内の転送データ長）を記録する短時間データ長記録手段である。マスタＢの短時間データ長記録部２２は、マスタＢの所定の短時間（例えば、４０サイクル）のデータ長を記録する短時間データ長記録手段である。マスタＣの短時間データ長記録部２３は、マスタＣの所定の短時間（例えば、４０サイクル）のデータ長を記録する短時間データ長記録手段である。合計短時間データ長記録部２４は、マスタＡ〜Ｃの所定の合計短時間（例えば、４０サイクル）のデータ長を記録する合計短時間データ長記録手段である。  
【００４９】
マスタＡの短時間比率計算部２５は、マスタＡの短時間データ長記録を合計短時間データ長記録で割った値を計算するものである。マスタＢの短時間比率計算部２６は、マスタＢの短時間データ長記録を合計短時間データ長記録で割った値を計算するものである。マスタＣの短時間比率計算部２７は、マスタＣの短時間データ長記録を合計短時間データ長記録で割った値を計算するものである。
【００５０】
マスタＡの差分計算部３１は、マスタＡの長時間比率からマスタＡの短時間比率を引いた値を計算するものである。マスタＢの差分計算部３２は、マスタＢの長時間比率からマスタＢの短時間比率を引いた値を計算するものである。マスタＣの差分計算部３３は、マスタＣの長時間比率からマスタＣの短時間比率を引いた値を計算するものである。優先順位決定部３４は、マスタＡ〜Ｃの差分計算部３１〜３３の中で計算した値の大きいマスタにバス使用権を与えるものである。ここで、この優先順位決定部３４に差分計算部３１〜３３を含めることもできる。
【００５１】
なお、上記優先順位決定部３４で、差分計算部の中で計算した値の大きいマスタにバス使用権を与える説明をしたが、上記説明とは差分の順を逆に（短時間比率−長時間比率）し、優先順位決定部で、差分計算部の中で計算した値の小さいマスタにバス使用権を与えるようにすることもできる。
【００５２】
また、上記差分の代わりに、割算（長時間比率／短時間比率又は短時間比率／長時間比率）を用いることもできる。この場合、長時間比率／短時間比率ではこの値が大きいマスタにバス使用権を与え、短時間比率／長時間比率ではこの値が小さいマスタにバス使用権を与えることになる。
【００５３】
さらに、長時間データ長記録部が記録する予め定めた一定（所定）の長時間と短時間データ長記録部が記録する予め定めた一定（所定）の短時間は、システムの傾向により変化するものである。
【００５４】
（動作の説明）
マスタＡの長時間データ長記録部１１とマスタＢの長時間データ長記録部１２とマスタＣの長時間データ長記録部１３で、記録した長時間データ長がそれぞれ、ａ１、ｂ１、ｃ１とする。そして、マスタＡの短時間データ長記録部２１とマスタＢの短時間データ長記録部２２とマスタＣの短時間データ長記録部２３で、記録した長時間データ長がそれぞれａ２、ｂ２、ｃ２とする。
【００５５】
合計長時間データ長記録部１４の値は、「ａ１＋ｂ１＋ｃ１」となり、合計短時間データ長記録部２４の値は、「ａ２＋ｂ２＋ｃ２」となる。このため、マスタＡの長時間比率計算部１５の計算結果は、「ａ１／（ａ１＋ｂ１＋ｃ１）」となり、マスタＢの長時間比率計算部１６の計算結果は、「ｂ１／（ａ１＋ｂ１＋ｃ１）」となり、マスタＣの長時間比率計算部１７の計算結果は、「ｃ１／（ａ１＋ｂ１＋ｃ１）」となる。
【００５６】
マスタＡの短時間比率計算部２５の計算結果は、「ａ２／（ａ２＋ｂ２＋ｃ２）」となり、マスタＢの短時間比率計算部２６の計算結果は、「ｂ２／（ａ２＋ｂ２＋ｃ２）」となり、マスタＣの短時間比率計算部２７の計算結果は、「ｃ２／（ａ２＋ｂ２＋ｃ２）」となる。
【００５７】
マスタＡの差分計算部３１の計算結果は、「ａ１／（ａ１＋ｂ１＋ｃ１）−ａ２／（ａ２＋ｂ２＋ｃ２）」となり、マスタＢの差分計算部３２の計算結果は、「ｂ１／（ａ１＋ｂ１＋ｃ１）−ｂ２／（ａ２＋ｂ２＋ｃ２）」となり、マスタＣの差分計算部３３の計算結果は、「ｃ１／（ａ１＋ｂ１＋ｃ１）−ｃ２／（ａ２＋ｂ２＋ｃ２）」となる。これらの差分計算部３１〜３３の計算結果が一番大きいマスタに優先順位決定部３４がバス使用権を与えることになる。なお、差分計算部３１〜３３の計算結果が同じ値のマスタが有る場合は、従来のラウンドロビン方式を用いてバス使用権を割り振ることができる。
【００５８】
（３）：調停回路の具体的動作の説明
本発明では、共通バスに接続される複数デバイス間にあって、デバイス別に異なる転送回数、異なる転送長による一連した転送からなるシーケンスが多重に発生する場合に、１シーケンスの開始から完了時間までの時間を短縮できる。ここで「シーケンスが多重に発生する」とは、１つのシーケンスの完了を待たずに別のシーケンスを開始することを意味する。
【００５９】
図３は４多重シーケンスの場合の説明図（１）、図４は４多重シーケンスの場合の説明図（２）である。以下、図３、図４に従って、４多重シーケンスの場合の説明をする。
【００６０】
マスタＡ、マスタＢ、マスタＣの３つのデバイスが共通バスに接続された系にあって、以下の転送を順に行うことが１つのシーケンスであるとする。
【００６１】
マスタＡによる10cyc （サイクル）の転送。
→  マスタＢによる1cycの転送×４回。
→  マスタＣによる2cycの転送。
→  マスタＢによる1cycの転送×２回。
→  マスタＣによる2cycの転送。
【００６２】
次にシーケンスが多重に発生する場合を考える。各マスタデバイス（Ａ〜Ｃ）は、内部にキューバッファを持ち、処理すべき命令を保存し、ＦＩＦＯ（first-in first-out）式に順次処理するものとする。図３、図４の上段はラウンドロビンを使った４多重シーケンス例に、従来の単純なラウンドロビンによるアービトレーションを用いた場合を図示する。ここで１シーケンス（１st）〜４シーケンス（４th）が多重に発生する場合であり、それぞれ同じシーケンスの場合は同じ網かけで示してある。この手法を用いた場合、１シーケンス（１st）の終了時間（１st-end）は９８サイクルとなる（図４の上段の数字参照）ため、１シーケンスの開始−完了時間が長い。これはマスタＡが転送回数は少ないが、データ転送長が長いことに起因している。４多重シーケンスの例を示したが、さらに多重度を上げるとこの傾向は強くなる。
【００６３】
図３、図４の下段は４多重シーケンスの例に、本発明によるアービトレーションを用いた場合を図示している。これは、適当な「短時間」を設定し、短時間データ比率が長時間データ比率に追従するようにアービトレーションすることで、１シーケンスの開始−完了時間が改善できる。すなわち、複数のマスタからバス使用権の要求がある場合に、「長時間比率−短時間比率」の大きいマスタにバス使用権を与えている（なお、バスを同じマスタが使うほど短時間比率が増加するため「長時間比率−短時間比率」の値が減少することになる）。これにより、最初のシーケンスの終了（１st-end）が７４サイクルと早くなる（図４の上段の数字参照）ため、このシーケンスの結果を利用する必要が有る次の処理を早く始めることができる。
【００６４】
なお、長時間比率の時間は、短時間比率の時間より相当長く設定するため、一定として、設定値を用いることも可能である。この場合は長時間比率を計算する回路が不要となる。
【００６５】
（４）：プログラムインストールの説明
転送監視部（手段）１０、マスタＡの長時間データ長記録部（手段）１１、マスタＢの長時間データ長記録部（手段）１２、マスタＣの長時間データ長記録部（手段）１３、合計長時間データ長記録部（手段）１４、マスタＡの長時間比率計算部（手段）１５、マスタＢの長時間比率計算部（手段）１６、マスタＣの長時間比率計算部（手段）１７、マスタＡの短時間データ長記録部（手段）２１、マスタＢの短時間データ長記録部（手段）２２、マスタＣの短時間データ長記録部（手段）２３、合計短時間データ長記録部（手段）２４、マスタＡの短時間比率計算部（手段）２５、マスタＢの短時間比率計算部（手段）２６、マスタＣの短時間比率計算部（手段）２７、マスタＡの差分計算部（手段）３１、マスタＢの差分計算部（手段）３２、マスタＣの差分計算部（手段）３３、優先順位決定部（手段）３４等はプログラムで構成でき、主制御部（ＣＰＵ）が実行するものであり、主記憶に格納されているものである。このプログラムは、コンピュータで処理されるものである。このコンピュータは、主制御部、主記憶、ファイル装置、表示装置等の出力装置、入力装置などのハードウェアで構成されている。
【００６６】
このコンピュータに、本発明のプログラムをインストールする。このインストールは、フロッピィ、光磁気ディスク等の可搬型の記録（記憶）媒体に、これらのプログラムを記憶させておき、コンピュータが備えている記録媒体に対して、アクセスするためのドライブ装置を介して、或いは、ＬＡＮ等のネットワークを介して、コンピュータに設けられたファイル装置にインストールされる。
【００６７】
これにより、複数のシーケンスが多重に発生する場合に、１シーケンスの開始から完了の時間を短縮することができるバス調停装置を容易に提供することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明の共通バスに３つのデバイスを接続する場合の説明図である。
【図２】本発明の調停回路の説明図である。
【図３】本発明の４多重シーケンスの場合の説明図（１）である。
【図４】本発明の４多重シーケンスの場合の説明図（２）である。
【図５】従来のホスト書き込み例の説明図である。
【図６】従来のホスト読み出し例の説明図である。
【図７】従来のラウンドロビン方式調停の説明図（１）である。
【図８】従来のラウンドロビン方式調停の説明図（２）である。
【符号の説明】
【００６９】
１０  転送監視部（手段）
１１  マスタＡの長時間データ長記録部（手段）
１２  マスタＢの長時間データ長記録部（手段）
１３  マスタＣの長時間データ長記録部（手段）
１４  合計長時間データ長記録部（手段）
１５  マスタＡの長時間比率計算部（手段）
１６  マスタＢの長時間比率計算部（手段）
１７  マスタＣの長時間比率計算部（手段）
２１  マスタＡの短時間データ長記録部（手段）
２２  マスタＢの短時間データ長記録部（手段）
２３  マスタＣの短時間データ長記録部（手段）
２４  合計短時間データ長記録部（手段）
２５  マスタＡの短時間比率計算部（手段）
２６  マスタＢの短時間比率計算部（手段）
２７  マスタＣの短時間比率計算部（手段）
３１  マスタＡの差分計算部（手段）
３２  マスタＢの差分計算部（手段）
３３  マスタＣの差分計算部（手段）
３４  優先順位決定部（手段）
【図１】
0004468885.tif 000002
【図２】
0004468885.tif 000003
【図３】
0004468885.tif 000004
【図４】
0004468885.tif 000005
【図５】
0004468885.tif 000006
【図６】
0004468885.tif 000007
【図７】
0004468885.tif 000008
【図８】
0004468885.tif 000009