(57)【要約】【目的】簡単な回路構成により信号バスの占有権を複数のデバイス間で調停することのできる信号バス占有調停方法及びデータ転送装置を提供する。【構成】少なくとも１つの信号バスと、各々が占有許可信号に応じて該信号バスを占有し、これを介してデータ転送をなす複数のデバイスとを含むデータ転送装置における信号バス占有調停方法及びデータ転送装置であり、所定カウント区間内にある各カウント値を時間経過に従って巡回する現在カウント値を保持すると共に、該デバイス毎に、該カウント値の何れかと一致する少なくとも１つの許可タイミングカウント値を保持し、該デバイスのうちの１のデバイスが生成した占有要求信号に応じて、該現在カウント値と該１のデバイスの許可タイミングカウント値とを比較し、双方の値が一致した場合にのみ該１のデバイスに該占有許可信号を供給する。【選択図】図３
2008123273.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの信号バスと、各々が占有許可信号に応じて前記信号バスを占有し、これを介してデータ転送をなす複数のデバイスとを含むデータ転送装置における信号バス占有調停方法であって、
所定カウント区間内にある各カウント値を時間経過に従って巡回する現在カウント値を保持する現在カウント値保持ステップと、
前記デバイス毎に、前記カウント値の何れかと一致する少なくとも１つの許可タイミングカウント値を保持する許可タイミングカウント値保持ステップと、
前記デバイスのうちの１のデバイスが生成した占有要求信号に応じて、前記現在カウント値と前記１のデバイスの許可タイミングカウント値とを比較し、双方の値が一致した場合にのみ前記１のデバイスに前記占有許可信号を供給する占有許可信号供給ステップと、
を含むことを特徴とする信号バス占有調停方法。
【請求項２】
前記現在カウント値保持ステップは、前記信号バスのクロック信号に同期して巡回する現在カウント値を保持することを特徴とする請求項１記載の信号バス占有調停方法。
【請求項３】
前記許可タイミングカウント値保持ステップは、前記時間経過の途中における変更要求に応じて、前記許可タイミングカウント値を変更するステップを含むことを特徴とする請求項１記載の信号バス占有調停方法。
【請求項４】
少なくとも１つの信号バスと、各々が占有許可信号に応じて前記信号バスを占有し、これを介してデータ転送をなす複数のデバイスとを含むデータ転送装置であって、
所定カウント区間内の各カウント値を時間経過に従って巡回する現在カウント値を保持する現在カウント値保持手段と、
前記デバイス毎に、前記カウント値の何れかと一致する少なくとも１つの許可タイミングカウント値を保持する許可タイミングカウント値保持手段と、
前記デバイスのうちの１のデバイスが生成した占有要求信号に応じて、前記現在カウント値と前記１のデバイスの許可タイミングカウント値とを比較し、双方の値が一致した場合にのみ前記１のデバイスに前記占有許可信号を供給する占有許可信号供給手段と、
を含むことを特徴とするデータ転送装置。
【請求項５】
前記現在カウント値保持手段は、前記信号バスのクロックタイミングに同期して巡回する現在カウント値を保持することを特徴とする請求項４記載のデータ転送装置。
【請求項６】
前記許可タイミングカウント値保持手段は、前記時間経過の途中における変更要求に応じて、前記許可タイミングカウント値を変更する手段を含むことを特徴とする請求項４記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩ（Peripheral Component Interconnect ）バスの如き信号バスと、該信号バスを共用してデータ転送を行う複数のデバイスとを含むデータ転送装置において、該デバイス間で該信号バスを使用するためのバス占有権を調停する信号バス占有調停方法及びかかるデータ転送装置に関する。
【背景技術】
【０００２】
一般に、サーバーシステム、ワークステーションやパーソナルコンピュータなどの情報処理装置においては、ＰＣＩバスを介してハードディスク等の複数のデバイスとの間でデータ転送が行われる。ＰＣＩバスの如き信号バスにおけるデータ転送は、一時的に１つのデバイスがバスを占有して行うものであることから、同時に複数のデバイスからバス使用要求が競合すれば、これら複数デバイス間でバス占有権についてアービトレーション（arbitration）処理すなわち調停をなす必要がある。
【０００３】
特許文献１に開示されるバスアクセス調停システムは、単位時間ごとに各デバイスからのバスアクセス要求の発行回数と各デバイスによるデータ転送量とを計測するデータ量監視手段と、データ量監視部で計測されたバスアクセス要求発生回数とデータ転送量とに基づき各デバイスの新たな優先度を算出し、各デバイスの新たな優先度に基づきそのデバイスに対して循環優先順位アルゴリズムの新たな優先度レベルを付与する優先度レベル更新手段とを備える。
【特許文献１】特開２０００−１４８６７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
かかる従来技術は、個々のデバイスの優先度を全てのデバイスとの間で調停する際に、変動するバスアクセス要求発生回数やデータ転送量等のトラフィックを監視し、該トラフィックに基づいて循環優先順位アルゴリズムの如き複雑な手段を追加して動的に優先度を制御するものである。従って、トラフィック監視回路を設けるなどして優先度を決定することは複雑な回路構成を必要とし、コスト上不利であるという問題がある。
【０００５】
本発明の目的は、簡単な回路構成により信号バスの占有権を複数のデバイス間で調停することのできる信号バス占有調停方法及びデータ転送装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明による信号バス占有調停方法は、少なくとも１つの信号バスと、各々が占有許可信号に応じて該信号バスを占有し、これを介してデータ転送をなす複数のデバイスとを含むデータ転送装置における信号バス占有調停方法であり、所定カウント区間内にある各カウント値を時間経過に従って巡回する現在カウント値を保持する現在カウント値保持ステップと、
該デバイス毎に、該カウント値の何れかと一致する少なくとも１つの許可タイミングカウント値を保持する許可タイミングカウント値保持ステップと、該デバイスのうちの１のデバイスが生成した占有要求信号に応じて、該現在カウント値と該１のデバイスの許可タイミングカウント値とを比較し、双方の値が一致した場合にのみ該１のデバイスに該占有許可信号を供給する占有許可信号供給ステップとを含むことを特徴とする。
【０００７】
本発明によるデータ転送装置は、少なくとも１つの信号バスと、各々が占有許可信号に応じて該信号バスを占有し、これを介してデータ転送をなす複数のデバイスとを含むデータ転送装置であり、所定カウント区間内の各カウント値を時間経過に従って巡回する現在カウント値を保持する現在カウント値保持手段と、該デバイス毎に、該カウント値の何れかと一致する少なくとも１つの許可タイミングカウント値を保持する許可タイミングカウント値保持手段と、該デバイスのうちの１のデバイスが生成した占有要求信号に応じて、該現在カウント値と該１のデバイスの許可タイミングカウント値とを比較し、双方の値が一致した場合にのみ該１のデバイスに該占有許可信号を供給する占有許可信号供給手段とを含むことを特徴とする。
【発明の効果】
【０００８】
本発明による信号バス占有調停方法及びデータ転送装置によれば、簡単な回路構成により信号バスの占有権を複数のデバイス間で調停することができる。
【発明を実施するための最良の形態】
【０００９】
本発明の実施例について添付の図面を参照しつつ詳細に説明する。
＜第１の実施例＞
図１は、本発明の第１の実施例を示し、本発明によるデータ転送装置を含む全体の構成を示している。データ転送装置１０は、信号バスであるＰＣＩバス３０と、複数のデバイス４１〜４４と、ＰＣＩバス調停回路５０とを含む。ＰＣＩバス３０には複数のＰＣＩデバイス４１〜４４が接続されている。通常、ＰＣＩデバイスとは、ＰＣＩバスに接続され得る主記憶装置やハードディスク装置等の補助記憶装置、あるいはビデオカード、サウンドカードまたはＬＡＮカードの如き各種周辺装置を意味する。また、ＰＣＩバス３０には、中央演算処理装置であるホストＣＰＵ２０が接続されている。本実施例においては、１つの信号バス２０及び４つのＰＣＩデバイス４１〜４４が例として示されているが、本発明にかかる限定はなく、本発明によるデータ転送装置は、２つ以上の信号バスと５つ以上のＰＣＩデバイスを含み得る。
【００１０】
ＰＣＩデバイス４１〜４４の各々は、その機能に従ってホストＣＰＵ２０等の他の装置との間でＰＣＩバス３０を介してデータ転送を行う。この際に、ＰＣＩデバイス４１〜４４の各々は、ＰＣＩバス調停回路５０との間でReq信号及びGnt信号を交換する。ＰＣＩバス調停回路５０は、ＰＣＩデバイス４１〜４４との間でアービトレーション（arbitration）すなわち調停をなす回路である。ＰＣＩバス３０を使用したいＰＣＩデバイス、例えば、ＰＣＩデバイス４１は、Req信号をＰＣＩバス調停回路５０に送出する。ＰＣＩバス調停回路５０は、ＰＣＩバス３０の使用状況や各ＰＣＩデバイス４１〜４４の要求の競合条件を加味して、バス占有を許可するGnt信号を生成して、これをＰＣＩデバイス４１に供給する。ＰＣＩデバイス４１は、該Gnt信号に応じてＰＣＩバス３０を占有してデータ転送を行う。
【００１１】
図２を参照すると、ＰＣＩデバイス毎のReq信号及びGnt信号の回数とデータ転送量の分布の様子が示されている。例えば、通常のＰＣＩバス調停回路ではＰＣＩデバイス毎の公正性を保つため、競合時に連続して特定のＰＣＩデバイスだけが許可をもらうことが無い様に構成され、本図に示されるようにReq信号が送出されるReq回数やGnt信号が生成されるGnt回数が均等になるように制御される。しかしこれだけでは、ＰＣＩデバイスによっては大量のデータを転送する場合がある。すなわち、本図に示されるように、Req信号を出すReq回数がすべてのＰＣＩデバイス４１〜４４で同一であったとしても、ＰＣＩデバイス４１だけがその占有時間、すなわち１回あたりのバスの使用時間が長時間である場合が有り得る。この場合、全体的なバスの占有比率はＰＣＩデバイス４１が最も大きな割合を占めることになり、Req回数及びGnt回数だけをカウントするような回路を用いるだけでは、ＰＣＩデバイス毎の公平性が保てないことが分かる。本発明による信号バス占有調停方法及びデータ転送装置は、かかる不都合を以下に説明するようにして回避する。
【００１２】
図３は、図１において示されたＰＣＩバス調停回路５０の詳細の構成を示している。ＰＣＩバス調停回路５０は、巡回カウンタ５１と、複数のスロット回路Ｓ１〜Ｓ４とから構成される。巡回カウンタ５１は、例えばＰＣＩバスクロック信号に同期して、所定カウント区間０〜Ｎとして０から７までのカウント値が時間経過に従って巡回、すわなち繰り返されるカウンタである。巡回カウンタ５１の最新すなわち現在カウント値は、複数のスロット回路Ｓ１〜Ｓ４に供給される。
【００１３】
複数のスロット回路Ｓ１〜Ｓ４の各々は、レジスタＲ１〜Ｒ４とデコーダＤ１〜Ｄ４とを各々対応して含む。レジスタＲ１〜Ｒ４は、少なくとも１つの許可タイミングカウント値を保持するレジスタである。該許可タイミングカウント値は、整数区間であるカウント区間０〜Ｎのうちの何れかに対応する少なくとも１つの整数である。該許可タイミングカウント値（以下、レジスタ値と称する）は、ＰＣＩバス３０に接続されるホストＣＰＵ２０から、時間経過に関わらず何時でも変更可能である。
【００１４】
本図を参照すると、例として、レジスタＲ１には０が設定され、レジスタＲ２には１及び２が設定され、レジスタＲ３には３、４及び５が設定され、レジスタＲ４には６及び７が設定されている例が示されている。レジスタＲ１〜Ｒ４の各々に設定されている許可タイミングカウント値の個数は、対応するＰＣＩデバイス４１〜４４の各々に保証されるＰＣＩバス３０の占有時間の配分を与える。
【００１５】
デコーダＤ１〜Ｄ４の各々は、レジスタＲ１〜Ｒ４の各々から供給される許可タイミングカウント値、すなわちレジスタ値と、巡回カウンタ５１から供給される現在カウント値と、外部のＰＣＩデバイス４１〜４４の各々から供給されるReq信号との論理積（ＡＮＤ）を取る回路で構成される。
【００１６】
図示されるように、例えば、デコーダＤ１〜Ｄ４は、２つの論理積演算素子AND1及びAND2から実現される。この場合、現在カウント値とレジスタ値とが論理積演算素子AND1の２つの入力端子に接続され、論理積演算素子AND1の論理積出力が論理積演算素子AND2の１つの入力端子に供給され、他の入力端子にReq信号が供給される。論理積演算素子AND2の論理積出力端子からGnt信号が出力される。出力されるGnt信号は対応するＰＣＩデバイス４１〜４４の各々に供給される。
【００１７】
図４は、本発明によるデータ転送装置の動作を説明している。現在カウント値は、巡回カウンタ５１により定常的に０から７までを繰り返し巡回するように変化している。ＰＣＩデバイス４１〜４４の各々のReq信号を受け付けるタイミングは、それぞれのデコーダＤ１〜Ｄ４の各々に入力されるレジスタ値と現在カウント値とが等しくなった時点だけである。それ以外のタイミングの時点では、入力されたReq信号はウエイトすなわち待ち状態になる。
【００１８】
図示されるような時点において、ＰＣＩデバイス４３からReq信号が入力されたとする。この時、ＰＣＩデバイス４２が許可されていることから、ＰＣＩデバイス４３のReq信号は、許可されるタイミングに合うまで待ち合わせ状態になる。ＰＣＩデバイス４３が許可されるタイミングは、図示されるようにＰＣＩデバイス４３のレジスタ値（３，４，５）が現在カウント値に一致する許可タイミングが到来してからとなる。
【００１９】
図５は、ＰＣＩデバイス毎にデータ転送量が均一化された分布を示している。上記したように、ＰＣＩデバイス４１〜４４の各々が許可されるタイミングの割合は、レジスタＲ〜Ｒ４の各々に設定されたレジスタ値の個数により決まる。本実施例の場合では結果として、ＰＣＩデバイス４１〜４４のバス占有時間は、ＰＣＩデバイス４１：１／８、ＰＣＩデバイス４２：２／８、ＰＣＩデバイス４３：３／８及びＰＣＩデバイス４４：２／８のように時間的に配分される。これにより、図示されようにＰＣＩデバイス４１〜４４の各々が達成するデータ転送量はほぼ均一化された状態となる。
【００２０】
以上の第１の実施例において、巡回カウンタと許可タイミングが設定されるレジスタとを含む簡単な回路構成により信号バスの占有権が複数のＰＣＩデバイス間で容易に調停される。尚、それぞれの占有時間の配分を変更したい場合はレジスタのレジスタ値をホストＣＰＵが変更することで、いつでもそれぞれのＰＣＩデバイスの配分が変更可能となっている。
＜第２の実施例＞
図６は、本発明の第２の実施例を示し、信号バス占有調停方法を実行する処理手順を示している。第１の実施例では、本発明による信号バス占有調停方法を論理積演算素子等のハードウェア素子を用いて実現する形態が示されたが、本第２の実施例は、本発明による信号バス占有調停方法を、マイクロプロセッサ等による逐次処理プロセスにより実現する形態が示される。ここで、図３に示された巡回カウンタ及びレジスタの如き構成要素は、マイクロプロセッサに接続される主記憶メモリに展開することで実現される。該巡回カウンタの現在カウント値は所定カウント区間を巡回し、各ＰＣＩデバイス別に予め許可タイミングカウント値が保持されているものとする。
【００２１】
ＰＣＩバス調停回路５０は、あるＰＣＩデバイスからReq信号が送出されるのを待つ待ち状態にある（ステップＳ１）。次いで、ＰＣＩバス調停回路５０は、Req信号が有るか否かを判定する（ステップＳ２）。もしReq信号が無い場合には、ステップＳ１のReq信号の待ち状態を継続する。一方、Req信号が有る場合には、ＰＣＩバス調停回路５０は現在カウント値と当該ＰＣＩデバイスの許可タイミングカウント値とを比較し（ステップＳ３）、双方の値が一致するか否かを判定する（ステップＳ４）。もしも現在カウント値と許可タイミングカウント値とが一致しない場合には、ＰＣＩバス調停回路５０は、例えばＰＣＩバスのクロック周期の整数倍の如き所定時間待機する（ステップＳ５）。
【００２２】
一方、現在カウント値と許可タイミングカウント値とが一致する場合には、ＰＣＩバス調停回路５０はGnt信号を生成して、これをReq信号を送出したＰＣＩデバイスに供給する（ステップＳ６）。
【００２３】
以上の第２の実施例において、ＰＣＩバス調停回路の構成を第１の実施例における論理積演算素子に代えてマイクロプロセッサ等の逐次処理装置より代替することでも、第１の実施例と同様の作用を奏すことができる。
【００２４】
以上の複数の実施例において、簡単な回路構成にて、変更自在な優先度に従って信号バスの占有権を調停するＰＣＩ調停方法及び回路が提供されている。かかる構成は、ハードウェアのみで構成が可能なため、調停のための負荷がホストＣＰＵにかからないという利点を備える。一方で、ホストＣＰＵにある程度の負荷が許容されれば、ホストＣＰＵが信号バス上のトラフィックを監視しつつ、各デバイスのバス使用状況に応じて信号バスの占有配分を動的に細かく調整することも可能である。
【産業上の利用可能性】
【００２５】
本発明による信号バス占有調停方法や回路は、ＰＣＩバスに限られず、ＰＣＩExpress規格の如く各デバイスがシリアル転送を行う複数の信号バスを共用してデータ転送をなす他のデータ転送装置にも適用し得る。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施例を示し、データ転送装置を含む全体の構成を示しているブロック図である。
【図２】ＰＣＩデバイス毎のReq信号及びGnt信号の回数とデータ転送量の分布を示すグラフである。
【図３】図１において示したＰＣＩバス調停回路の詳細の構成を示すブロック図である。
【図４】本発明によるデータ転送装置の動作を説明しているチャート図である。
【図５】ＰＣＩデバイス毎にデータ転送量が均一化された分布を示すグラフである。
【図６】本発明の第２の実施例を示し、信号バス占有調停方法を実行する処理手順を示すシーケンス図である。
【符号の説明】
【００２７】
１０  データ転送装置
２０  ホストＣＰＵ
３０  ＰＣＩバス
４１〜４４  ＰＣＩデバイス
５０  ＰＣＩバス調停回路
５１  巡回カウンタ
AND1、AND2  論理積演算素子
Ｄ１〜Ｄ４  デコーダ
Ｒ１〜Ｒ４  レジスタ
Ｓ１〜Ｓ４  スロット回路
【図１】
2008123273.tif 000003
【図２】
2008123273.tif 000004
【図３】
2008123273.tif 000005
【図４】
2008123273.tif 000006
【図５】
2008123273.tif 000007
【図６】
2008123273.tif 000008