(57)【要約】【課題】キャッシュメモリのバス幅を拡張せずに、データ転送集積回路内における制御に要する時間を減少させ、キャッシュメモリへのアクセスに対する実効速度を向上させる。【解決手段】ＣＰＵ３０と、複数のチャネル制御部４０と、複数のディスク制御部５０と、キャッシュメモリ７０と、前記キャッシュメモリ７０と複数のデータバスにより通信可能に接続されているデータ転送集積回路とを含んで構成されるディスク制御装置２０において、前記データ転送集積回路２０は、前記ＣＰＵ３０、前記チャネル制御部４０、前記ディスク制御部５０から前記キャッシュメモリ７０へのアクセス要求を受信すると、当該アクセス要求に設定されている転送データ長に応じて定まる数の前記データバスを使用して前記キャッシュメモリ７０へアクセスする。【選択図】      図１
2005141344.tif 000002
【特許請求の範囲】
【請求項１】
複数のハードディスクドライブと、
通信可能に接続されている情報処理装置との間でデータ送受信を行う複数のチャネル制御部と、
通信可能に接続されている前記複数のハードディスクドライブとの間でデータ送受信を行う複数のディスク制御部と、
前記複数のチャネル制御部と前記複数のディスク制御部の制御を行うＣＰＵと、
前記チャネル制御部と前記ディスク制御部との間で送受信されるデータを記憶するキャッシュメモリと、
前記チャネル制御部、前記ディスク制御部、及びＣＰＵとバスにより通信可能に接続され、前記キャッシュメモリと複数のデータバスにより通信可能に接続されているデータ転送集積回路と
を含み、
前記データ転送集積回路は、
前記チャネル制御部または前記ディスク制御部またはＣＰＵから前記キャッシュメモリへのアクセス要求を受信すると、当該アクセス要求に設定されている転送データ長に応じて定まる数の前記データバスを使用して前記キャッシュメモリへアクセスする
ことを特徴とするディスクアレイ装置。
【請求項２】
請求項１に記載のディスクアレイ装置であって、
前記バスが６４ビット幅のＰＣＩバスであり、前記アクセス要求の前記転送データ長が前記ＰＣＩバスのアドレスフェーズにおける上位３２ビットに設定されている
ことを特徴とするディスクアレイ装置。
【請求項３】
請求項１に記載のディスクアレイ装置であって、
前記データバスが２つであり、
前記データ転送集積回路は、
当該アクセス要求に設定されている転送データ長が予め定められている基準データ長より長い場合は、２つの前記データバスを使用して前記キャッシュメモリへアクセスし、当該アクセス要求に設定されている転送データ長が前記基準データ長より短い場合は、１つの前記データバスを使用して前記キャッシュメモリへアクセスする
ことを特徴とするディスクアレイ装置。
【請求項４】
請求項３に記載のディスクアレイ装置であって、
前記キャッシュメモリが物理的に別の２つのキャッシュメモリであり、
前記２つのキャッシュメモリのそれぞれが、前記データバスにより前記データ転送集積回路と通信可能に接続されている
ことを特徴とするディスクアレイ装置。
【請求項５】
請求項３に記載のディスクアレイ装置であって、
前記データ転送集積回路は、
複数の前記チャネル制御部または前記ディスク制御部または前記ＣＰＵから前記キャッシュメモリへのアクセス要求を受信すると、当該複数のアクセス要求に優先順位を付与する優先順位付与部を備え、
前記データ転送集積回路は、
優先順位が最も高い前記アクセス要求に設定されている転送データ長が前記基準データ長より長い場合は、２つの前記データバスを使用して前記キャッシュメモリへアクセスし、優先順位が最も高い前記アクセス要求と優先順位が２番目に高い前記アクセス要求とに設定されている転送データ長が前記基準データ長より短い場合は、それぞれ１つの前記データバスを使用して前記キャッシュメモリへアクセスする
ことを特徴とするディスクアレイ装置。
【請求項６】
請求項５に記載のディスクアレイ装置であって、
前記データ転送集積回路は、優先順位が最も高い前記アクセス要求と優先順位が２番目に高い前記アクセス要求とに設定されている転送データ長が前記基準データ長より短い場合に、前記２つのデータバスが両方とも使用されていない場合は、当該２つのアクセス要求に対してそれぞれ１つの前記データバスを割り当て、前記キャッシュメモリへのアクセスを並行して行う
ことを特徴とするディスクアレイ装置。
【請求項７】
請求項５に記載のディスクアレイ装置であって、
前記データ転送集積回路は、優先順位が最も高い前記アクセス要求に設定されている転送データ長が前記基準データ長より長い場合に、２つの前記データバスのうち１つが使用されている場合は、当該アクセス要求に対して使用されていない１つの前記データバスを割り当て、前記キャッシュメモリへのアクセスを行う
ことを特徴とするディスクアレイ装置。
【請求項８】
通信可能に接続されている情報処理装置との間でデータ送受信を行う複数のチャネル制御部と、
通信可能に接続されている複数のハードディスクドライブとの間でデータ送受信を行う複数のディスク制御部と、
前記複数のチャネル制御部と前記複数のディスク制御部の制御を行うＣＰＵと、
前記チャネル制御部と前記ディスク制御部との間で送受信されるデータを記憶するキャッシュメモリと、
前記チャネル制御部、前記ディスク制御部、及びＣＰＵとバスにより通信可能に接続され、前記キャッシュメモリと複数のデータバスにより通信可能に接続されているデータ転送集積回路と
を含んで構成されるディスクアレイ装置の制御方法であって、
前記データ転送集積回路は、
前記チャネル制御部または前記ディスク制御部またはＣＰＵから前記キャッシュメモリへのアクセス要求を受信するステップと、
当該アクセス要求に設定されている転送データ長に応じて定まる数の前記データバスを選択するステップと、
前記選択されたデータバスを使用して前記キャッシュメモリへアクセスするステップと
を有することを特徴とするディスクアレイ装置の制御方法。
【請求項９】
請求項８に記載のディスクアレイ装置の制御方法であって、
前記バスが６４ビット幅のＰＣＩバスであり、
前記データバスを選択する前記ステップは、
前記ＰＣＩバスのアドレスフェーズにおける上位３２ビットに設定されている前記アクセス要求の前記転送データ長に応じて定まる数の前記データバスを選択する
ことを特徴とするディスクアレイ装置。
【請求項１０】
請求項８に記載のディスクアレイ装置の制御方法であって、
前記データバスが２つであり、
前記データバスを選択する前記ステップは、
当該アクセス要求に設定されている転送データ長が予め定められている基準データ長より長い場合は、２つの前記データバスを選択し、
当該アクセス要求に設定されている転送データ長が前記基準データ長より短い場合は、１つの前記データバスを選択する
ことを特徴とするディスクアレイ装置の制御方法。
【請求項１１】
請求項１０に記載のディスクアレイ装置の制御方法であって、
前記キャッシュメモリが物理的に別の２つのキャッシュメモリであり、
前記２つのキャッシュメモリのそれぞれが、前記データバスにより前記データ転送集積回路と通信可能に接続されている
ことを特徴とするディスクアレイ装置の制御方法。
【請求項１２】
請求項１０に記載のディスクアレイ装置の制御方法であって、
前記データ転送集積回路は、
複数の前記チャネル制御部または前記ディスク制御部または前記ＣＰＵから前記キャッシュメモリへのアクセス要求を受信すると、当該複数のアクセス要求に優先順位を付与するステップを有し、
前記データバスを選択する前記ステップは、
優先順位が最も高い前記アクセス要求に設定されている転送データ長が前記基準データ長より長い場合は、２つの前記データバスを選択し、
優先順位が最も高い前記アクセス要求と優先順位が２番目に高い前記アクセス要求とに設定されている転送データ長が前記基準データ長より短い場合は、それぞれ１つの前記データバスを選択する
ことを特徴とするディスクアレイ装置の制御方法。
【請求項１３】
請求項１２に記載のディスクアレイ装置の制御方法であって、
前記データバスを選択する前記ステップは、
優先順位が最も高い前記アクセス要求と優先順位が２番目に高い前記アクセス要求とに設定されている転送データ長が前記基準データ長より短い場合に、前記２つのデータバスが両方とも使用されていない場合は、当該２つのアクセス要求に対してそれぞれ１つの前記データバスを選択する
ことを特徴とするディスクアレイ装置の制御方法。
【請求項１４】
請求項１２に記載のディスクアレイ装置の制御方法であって、
前記データバスを選択する前記ステップは、
優先順位が最も高い前記アクセス要求に設定されている転送データ長が前記基準データ長より長い場合に、２つの前記データバスのうち１つが使用されている場合は、当該アクセス要求に対して使用されていない１つの前記データバスを選択する
ことを特徴とするディスクアレイ装置。
【請求項１５】
通信可能に接続されている情報処理装置との間でデータ送受信を行う複数のチャネル制御部と、
通信可能に接続されている複数のハードディスクドライブとの間でデータ送受信を行う複数のディスク制御部と、
前記複数のチャネル制御部と前記複数のディスク制御部の制御を行うＣＰＵと、
前記チャネル制御部と前記ディスク制御部との間で送受信されるデータを記憶するキャッシュメモリと、
前記チャネル制御部、前記ディスク制御部、及びＣＰＵとバスにより通信可能に接続され、前記キャッシュメモリと複数のデータバスにより通信可能に接続されているデータ転送集積回路と
を含んで構成される第一のコントローラ及び第二のコントローラと、
前記複数のハードディスクドライブとを含み、
前記第一のコントローラの前記データ転送集積回路と前記第二のコントローラのデータ転送集積回路とが通信可能に接続され、
前記第一のコントローラの前記データ転送集積回路は、
前記チャネル制御部または前記ディスク制御部または前記ＣＰＵから前記第二のコントローラの前記キャッシュメモリへのアクセス要求を受信すると、
当該アクセス要求が前記チャネル制御部または前記ディスク制御部からのもであるか、前記ＣＰＵからのものであるかを表すアクセス種別を設定したアクセス要求を前記第二のコントローラの前記データ転送集積回路に送信し、
前記第二のコントローラの前記データ転送集積回路は、
前記第一のコントローラの前記データ転送集積回路から前記アクセス要求を受信すると、当該アクセス要求に設定されている前記アクセス種別に応じて定まる数の前記データバスを使用して前記第二のコントローラの前記キャッシュメモリへアクセスする
ことを特徴とするディスクアレイ装置。
【請求項１６】
請求項１５に記載のディスクアレイ装置であって、
前記第二のコントローラの前記データバスが２つであり、
前記第二のコントローラの前記データ転送集積回路は、
前記第一のコントローラの前記データ転送集積回路から受信する前記アクセス要求に設定されている前記アクセス種別が前記チャネル制御部または前記ディスク制御部からのアクセス要求である場合は、２つの前記データバスを使用して前記キャッシュメモリへアクセスし、
前記アクセス要求に設定されている前記アクセス種別が前記ＣＰＵからのアクセス要求である場合は、１つの前記データバスを使用して前記キャッシュメモリへアクセスする
ことを特徴とするディスクアレイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置及びディスクアレイ装置の制御方法に関する。
【背景技術】
【０００２】
情報処理装置は磁気ディスクに対してデータを入出力することにより、あらゆる処理を行っている。しかし、磁気ディスクへのアクセス性能は、半導体記憶装置へのアクセス性能と比較してかなり低いものである。そのため、ディスク制御装置内に半導体を記憶素子とするキャッシュメモリを設け、磁気ディスクのデータをキャッシュメモリに一時的に格納することにより、情報処理装置からのアクセス性能を高めている。
【０００３】
このキャッシュメモリへのアクセス性能は、情報処理装置における処理性能を大きく左右するため、ディスク制御装置内におけるキャッシュメモリのバス幅の拡張や、バスクロックを早くすることにより、キャッシュメモリへのアクセス性能をより高める手法が用いられてきた。また、特許文献１においては、データ転送集積回路（セレクタ）を設け、キャッシュメモリに対するアクセス要求が競合した場合に、当該アクセス要求から、キャッシュメモリへのデータバスの数の分だけを選択する方法が開示されている。
【特許文献１】特開２０００−２５０７１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ディスクアレイ装置においては、用いられる基板の大きさには限度があり、キャッシュメモリのバス幅を更に拡張することが困難な状況となってきている。また、特許文献１に開示されている方法においては、データバス幅の拡張等によりデータ転送に要する時間が短くなるにつれ、データバスの割り当て制御のオーバヘッドがデータバスの使用効率を低下させる要因となっている。  
そのため、キャッシュメモリのバス幅を拡張せずに、データ転送全体のうちに占めるデータ転送集積回路内における制御に要する時間の割合を減少させ、キャッシュメモリへのアクセスに対する実効速度を向上させることが求められている。
【０００５】
本発明は上記課題を鑑みてなされたものであり、データ転送集積回路、データ転送制御方法、及びディスク制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成する本発明のうち主たる発明に係るディスクアレイ装置は、通信可能に接続されている情報処理装置との間でデータ送受信を行う複数のチャネル制御部と、通信可能に接続されている複数のハードディスクドライブとの間でデータ送受信を行う複数のディスク制御部と、前記複数のチャネル制御部と前記複数のディスク制御部の制御を行うＣＰＵと、前記チャネル制御部と前記ディスク制御部との間で送受信されるデータを記憶するキャッシュメモリと、前記チャネル制御部、前記ディスク制御部、及びＣＰＵとバスにより通信可能に接続され、前記キャッシュメモリと複数のデータバスにより通信可能に接続されているデータ転送集積回路とを含み、前記データ転送集積回路は、前記チャネル制御部または前記ディスク制御部またはＣＰＵから前記キャッシュメモリへのアクセス要求を受信すると、当該アクセス要求に設定されている転送データ長に応じて定まる数の前記データバスを使用して前記キャッシュメモリへアクセスする。  
ここで、アクセス要求とはハードディスクドライブからの読み出し要求やハードディスクドライブへの書き込み要求などである。
【０００７】
これにより、データ転送集積回路は、チャネル制御部等からキャッシュメモリへのアクセス要求を受信し、当該アクセスを実行する際に、当該アクセス要求に設定されている転送データ長に応じてキャッシュメモリへのアクセスに用いるデータバスの数を変更することができる。  
例えば、当該アクセス要求が、転送データ長の長いシーケンシャルデータに対するものである場合には、複数のデータバスを割り当て、転送データ長の短いランダムデータに対するものである場合には、１つのデータバスを割り当てる等の制御を行うことができる。
【０００８】
シーケンシャルデータの場合、データバスの割り当てからデータ転送完了までにおいてデータ転送そのものに要する時間の割合が高い。そのため、シーケンシャルデータのアクセスには複数のデータバスを用いることで、データ転送の時間を短くすることができる。
【０００９】
また、ランダムデータの場合、データバスの割り当てからデータ転送完了までにおいてデータバスの割り当てに要する時間の割合が高い。そのため、ランダムデータのアクセスには１つのデータバスを用いることで、残りのデータバスを別のランダムデータのアクセスに用いることができる。つまり、複数のランダムデータへのアクセス要求が連続して発生する状況においては、先のランダムデータのアクセスの完了を待たずに、空いているデータバスを用いて別のランダムデータのアクセスを行うことができるため、データバス割り当て待ち時間を短くし、データバスの使用率を向上させることができる。  
これにより、データバス幅の拡張やクロックの向上を行うことなく、外部装置から記憶装置へのアクセスに対する実効速度を向上させることができる。
【００１０】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１１】
ディスクアレイ装置及びディスクアレイ装置の制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
＝＝全体の概要＝＝
図１は、本実施の形態に係るデータ転送集積回路を備えるディスクアレイ装置を含む情報処理システムの構成を示すブロック図である。
【００１３】
情報処理装置１０は、ＣＰＵ（Central Processing Unit）やメモリを備えるコンピュータであり、パーソナルコンピュータやワークステーション、メインフレームなどのコンピュータである。情報処理装置１０は、結合された複数台のコンピュータで構成されることもある。情報処理装置１０ではアプリケーションソフトウェアが動作している。
【００１４】
アプリケーションソフトウェアは、例えば、銀行の自動預金預け払いシステムや航空機の座席予約システムの機能を提供する。情報処理装置１０とディスクアレイ装置１５とはそれぞれ通信手段（通信線、ネットワーク）により接続されている。通信手段は、例えばＬＡＮ（Local Area Network）やＳＡＮ（Storage Area Network）、ｉＳＣＳＩ（Internet Small Computer System Interface）、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ、ＥＳＣＯＮ（Enterprise Systems Connection）（登録商標）、ＦＩＣＯＮ（Fibre Connection）（登録商標）などである。
【００１５】
ディスクアレイ装置１５は、コントローラ２０、及びハードディスクドライブ９０などを備えて構成される。コントローラ２０は、ＣＰＵ３０、チャネル制御部４０、ディスク制御部５０、及びデータ転送集積回路６０などを備えており、これらは互いにバス８０を介して接続されている。バス８０とは、例えばＰＣＩバスなどである。また、ＣＰＵ３０、チャネル制御部４０、及びディスク制御部５０は、データ転送集積回路６０を介してキャッシュメモリ７０に接続されている。
【００１６】
チャネル制御部４０は、情報処理装置１０との間で通信を行うインタフェースである。チャネル制御部４０は、ファイバチャネルプロトコルに従ってブロックアクセス要求を受け付ける機能を有する。  
ディスク制御部５０は、ハードディスクドライブ９０との間でデータのやりとりを行うインタフェースである。ディスク制御部５０は、ハードディスクドライブ９０を制御するコマンドなどを規定するプロトコルに従ってハードディスクドライブ９０に対するデータ入出力要求を送信する機能を備える。  
ＣＰＵ３０は、ディスクアレイ装置１５の全体の制御を司るもので、メモリ３１に格納されたマイクロプログラムを実行することにより、チャネル制御部４０、ディスク制御部５０、及びデータ転送集積回路等の制御を行う。
【００１７】
キャッシュメモリ７０は、キャッシュメモリ１（７１）、キャッシュメモリ２（７２）で構成されている。各キャッシュメモリ７１，７２はデータ入出力ポートを１つ持っており、データ転送集積回路６０とデータバス６１，６２で接続されている。なお、本実施の形態においては、従来のデータバス幅を１６Ｂとし、データバス６１，６２のバス幅は、１６Ｂを２分割した８Ｂであるものとする。キャッシュメモリ７０は、主としてチャネル制御部４０とディスク制御部５０との間で授受されるデータを一時的に記憶するために用いられる。例えばチャネル制御部４０が情報処理装置１０から受信したデータ入出力コマンドが書き込みコマンドである場合には、チャネル制御部４０は情報処理装置１０から受信した書き込みデータをキャッシュメモリ７０に書き込む。またディスク制御部５０はキャッシュメモリ７０から書き込みデータを読み出してハードディスクドライブ９０に書き込む。
【００１８】
コントローラ２０は、ハードディスクドライブ９０をいわゆるＲＡＩＤ（Redundant Array of Inexpensive Disks）方式に規定されるＲＡＩＤレベル（例えば、０，１，５）で制御する機能を備えることもある。  
データ転送集積回路６０は、ＣＰＵ３０、チャネル制御部４０、及びディスク制御部５０からキャッシュメモリ７０へのアクセスを制御するために用いられる。
【００１９】
＝＝データ転送集積回路＝＝
図２は、データ転送集積回路６０の構成を示すブロック図である。データ転送集積回路６０は、ホストバッファ２００、ディスクバッファ２０１、ＣＰＵバッファ２０２、デュアルバッファ２０３、調停回路２０４、及びキャッシュ制御回路２１４などを備えて構成される。
【００２０】
ホストバッファ２００はチャネル制御部４０と、ディスクバッファ２０１はディスク制御部５０と、ＣＰＵバッファ２０２はＣＰＵ３０とバス８０を介して接続されている。図２において、ホストバッファ２００及びディスクバッファ２０１はそれぞれ１つしか図示していないが、対応するチャネル制御部４０及びディスク制御部５０と同じ数だけあるものとする。また、各バッファ２００〜２０２はＰＣＩブリッジ２１５により接続されている。なお、デュアルバッファ２０３は、後述するデュアルコントローラ構成において、コントローラ２０間で通信を行うためのバッファである。
【００２１】
ホストバッファ２００には、チャネル制御部４０からキャッシュメモリ７０へのアクセス要求及びチャネル制御部４０とキャッシュメモリ７０との間で授受されるデータが一時的に記憶される。また、ディスクバッファ２０１には、ディスク制御部５０からキャッシュメモリ７０へのアクセス要求及びディスク制御部５０とキャッシュメモリ７０との間で授受されるデータが一時的に格納される。同様に、ＣＰＵバッファ２０２には、ＣＰＵ３０からキャッシュメモリ７０へのアクセス要求及びＣＰＵ３０との間で授受されるデータが一時的に格納される。ここで、アクセス要求とは、キャッシュメモリ７０からのデータの読み出し要求やキャッシュメモリ７０へのデータの書き込み要求などである。
【００２２】
バッファ２００〜２０２に記憶されているアクセス要求が、キャッシュメモリ７０への書き込み要求である場合を例として、データの流れを説明する。
【００２３】
調停回路２０４は、各バッファ２００〜２０２が記憶しているキャッシュメモリ７０へのアクセス要求を信号線２５０を通して読み取る。調停回路２０４は、後述する手順に従いこれらのアクセス要求に対してデータバス６１，６２の一方または両方を用いたキャッシュメモリ７０へのアクセス許可を判断し、アクセスを許可するバッファ２００〜２０２に対して信号線２５１を通して通知する。また、調停回路２０４はキャッシュメモリ７０へのアクセスを許可するバッファ２００〜２０２を示すＳＥＬ信号と、当該アクセスに用いられるデータバス６１，６２を表すバス選択信号とを信号線２５５を介して、セレクタ２０６〜２０９、変換回路２１０，２１１、及びキャッシュ制御回路２１２に通知する。
【００２４】
セレクタ２０６は、調停回路２０４からＳＥＬ信号を受信すると、ＳＥＬ信号により指定されるバッファ２００〜２０２に記憶されている入出力コマンドをコマンドバス２５２を介して読み取る。次に、セレクタ２０６は、読み取った入出力コマンドをコマンドバス２５８を介して変換回路２０１，２１１及びキャッシュ制御回路２１２に送信する。
【００２５】
セレクタ２０７，２０８は、調停回路２０４からＳＥＬ信号を受信すると、ＳＥＬ信号により指定されるバッファ２００〜２０２からデータバス２５３，２５４を介してデータを読み取る。次に、セレクタ２０７，２０８は、読み取ったデータをデータバス２５６，２５７を介して変換回路２１０，２１１に送信する。なお、データバス２５３〜２５７のバス幅は６４Ｂであるとする。
【００２６】
図３は、変換回路２１０，２１１を示すブロック図である。変換回路２１０，２１１は、ラッチ回路３０１、セレクタ３０２、及び制御回路３０３などを備えて構成される。ラッチ回路３０１は、制御回路３０３からラッチＥｎａｂｌｅ信号を受信すると、セレクタ２０７，２０８から６４Ｂのデータを読み取り、８Ｂのバス８本で形成されるデータバス３０４を介してセレクタに当該データを送信する。セレクタ３０２は、制御回路３０３より送信される制御信号をもとに、８Ｂのバスを順番に選択し、キャッシュバッファ２１３，２１４にデータを送信する。
【００２７】
セレクタ２０９は、調停回路２０４からＳＥＬ信号を受信すると、キャッシュバッファ２１３，２１４に記憶されているデータをキャッシュ制御回路２１２に送信する。
【００２８】
キャッシュ制御回路２１２は、データバス６１及び制御信号２６０にてキャッシュメモリ１（７１）と、データバス６２及び制御信号２６１にてキャッシュメモリ２（７２）と接続されている。キャッシュ制御回路２１２は、調停回路２０４からＳＥＬ信号とバス選択信号とを受信すると、セレクタ２０９よりデータを読み取る。キャッシュ制御回路２１２は、セレクタ２０６よりコマンドバス２５８を介して受信する書き込みコマンドをもとに、バス選択信号により指定されるデータバス６１，６２を用いてキャッシュメモリ７０に当該データを書き込む。また、キャッシュ制御回路２１２は、キャッシュメモリ７０との間でのデータ授受に際して、ＥＣＣ（Error Correction Code）の生成及びチェックを行う。なお、キャッシュ制御回路２１２は、データバス６１，６２の使用状況を信号線２５９を介して調停回路２０４に通知している。
【００２９】
このように、データ転送集積回路６０は、ＣＰＵ３０、チャネル制御部４０、及びディスク制御部５０からキャッシュメモリへのアクセス要求を受信すると、データバス６１，６２の一方または両方を用いてキャッシュメモリ７０へのアクセスを行う。なお、アクセス要求が読み出し要求である場合はデータバス上のデータの流れおよび変換回路２１０，２１１での変換処理が逆になるだけであり、本発明の特徴であるデータバス６１，６２の選択方法については、書き込み要求の場合と同じである。
【００３０】
＝＝データバス選択処理＝＝
次に、調停回路２０４における、各バッファ２００〜２０２からキャッシュメモリ７０へのデータ転送に用いるデータバス６１，６２の選択処理を図４のフローチャートを用いて説明する。
【００３１】
調停回路２０４は、バッファ２００〜２０２からアクセス要求を受信すると（Ｓ４０１）、当該アクセス要求に基づいて転送されるデータのデータ種別を判断する（Ｓ４０２）。ここで、データ種別とは、当該アクセス要求に設定されている転送データ長が予め定められた基準データ長（例えば１ＫＢ）より長いかどうかを表すものである。本実施の形態においては、転送データ長が基準データ長より長いものを「シーケンシャルデータ」、転送データ長が基準データ長より短いものを「ランダムデータ」と呼ぶ。外部装置は、キャッシュメモリへのアクセス要求をデータ転送集積回路６０に送信する際に、バス８０が６４ビットのＰＣＩバスの場合であれば、ＰＣＩのアドレスフェーズにおいて上位３２ビットに当該データの転送データ長を付与して送信する。データ転送集積回路６０は、この転送データ長と基準データ長とを比較することにより、データ種別の判断を行う。
【００３２】
次に、調停回路２０４は、アクセス要求が複数のバッファ２００〜２０２からであるかどうかを判断する（Ｓ４０３）。調停回路２０４は、アクセス要求が複数のバッファ２００〜２０２からである場合、当該アクセス要求に対する優先コードの取得（Ｓ４０４）を行い、アクセス許可決定処理にてデータバス６１，６２の割り当てを行う（Ｓ４０５）。また、調停回路２０４は、アクセス要求が１つのバッファ２００〜２０２からである場合は、優先コードの取得は行わずに、アクセス許可決定処理にてデータバス６１，６２の割り当てを行う（Ｓ４０５）。
【００３３】
ここで、優先コードとは、調停回路２０４に接続されるバッファ２００〜２０２ごとの優先順位であり、調停回路内に記憶されている。例えば、優先コードは２ビットの数値であり、初期状態としては、ホストバッファに「００」、ディスクバッファに「０１」、ＣＰＵバッファに「１０」が割り当てられているものとする。なお、優先コード「００」が一番優先順位が高いものとする。
【００３４】
最後に、調停回路２０４は、優先コードの変更を行う（Ｓ４０６）。これは、データバス６１，６２を割り当てたバッファ２００〜２０２の優先順位を一番低くすることにより、各バッファ２００〜２０２に均等にデータバス６１，６２を割り当てるためである。前述した優先コードが２ビットの例で説明する。優先コードが初期状態にある場合において、ディスクバッファ２０１にデータバス６１，６２が割り当てられると、調停回路２０４は、ディスクバッファ２０１の優先コードを優先順位の一番低い「１０」に変更する。そして、調停回路２０４は、ディスクバッファ２０１の元の優先コードである「０１」より低い優先順位を持つバッファ２００〜２０２の優先コードを、優先順位が一つ高くなるように１だけ減算する。これにより、ＣＰＵバッファ２０２の優先コードは「０１」となり、各バッファ２００〜２０２の優先順位が変更される。
【００３５】
前述した、調停回路２０４におけるアクセス許可決定処理を図５のフローチャートを用いて説明する。
【００３６】
まず、調停回路２０４は、キャッシュメモリ７０へのアクセス要求が１つであるかどうか判断する（Ｓ５０１）。キャッシュメモリ７０へのアクセス要求が１つである場合、調停回路２０４は、当該アクセス要求に基づいて転送されるデータのデータ種別がランダムデータであるかどうか判断する（Ｓ５０２）。データ種別がランダムデータである場合、調停回路２０４は、８Ｂのバス幅でのアクセス許可を決定する（Ｓ５０３）。調停回路２０４は、データバス６１，６２のうち、いずれか一方が使用可能となるまで待ち（Ｓ５０４）、使用可能になると、当該アクセス要求を記憶しているバッファ２００〜２０２を選択するＳＥＬ信号と、使用可能となった１つのデータバス６１，６２を選択するバス選択信号とを出力する（Ｓ５０５）。
【００３７】
次に、キャッシュメモリ７０へのアクセス要求が１つであり、当該アクセス要求に基づいて転送されるデータのデータ種別がシーケンシャルデータである場合について説明する。調停回路２０４は、当該アクセス要求に対して８Ｂ×２すなわち１６Ｂのバス幅でのアクセス許可を決定する（Ｓ５０６）。調停回路は、データバス６１，６２の両方が使用可能となるまで待ち（Ｓ５０７）、使用可能になると、当該アクセス要求を記憶しているバッファ２００〜２０２を選択するＳＥＬ信号と、２つのデータバス６１，６２を選択するバス選択信号とを出力する（Ｓ５０５）。なお、シーケンシャルデータの場合にＳ５０７においてはデータバス６１，６２の両方が使用可能となるまで待つこととしているが、データバス６１，６２のうちの一方が使用可能である場合には、使用可能なデータバス６１，６２のみを選択することとしてもよい。
【００３８】
次に、キャッシュメモリ７０へのアクセス要求が複数である場合について説明する。調停回路２０４は、複数のアクセス要求のうち、優先順位が高い２つのアクセス要求に基づいて転送されるデータのデータ種別が、ともにランダムデータであるかどうか確認する（Ｓ５０８）。当該２つのアクセス要求に基づいて転送されるデータのデータ種別が両方ともランダムデータである場合、調停回路２０４は、各々のアクセス要求に対して８Ｂのバス幅でのアクセス許可を決定する（Ｓ５０９）。調停回路２０４は、データバス６１，６２の両方が使用可能となるまで待ち（Ｓ５１０）、使用可能になると、当該アクセス要求を記憶している２つのバッファ２００〜２０２を選択するＳＥＬ信号と、２つのデータバス６１，６２を選択するバス選択信号とを出力する（Ｓ５０５）。なお、ランダムデータが２つある場合にＳ５１０においてはデータバス６１，６２の両方が使用可能となるまで待つこととしているが、データバス６１，６２のうちの一方が使用可能である場合には、当該２つのアクセス要求の優先順位に従って使用可能なデータバス６１，６２のみを選択することとしてもよい。
【００３９】
次に、キャッシュメモリ７０へのアクセス要求が複数であり、優先順位が高い２つのアクセス要求に基づいて転送されるデータのデータ種別が、ランダムデータとシーケンシャルデータとである場合について説明する。調停回路２０４は、当該２つのアクセス要求のうち、優先順位が高いアクセス要求に基づいて転送されるデータのデータ種別がランダムデータであるかどうか確認する（Ｓ５１１）。優先順位が高いアクセス要求に基づいて転送されるデータがランダムデータである場合、調停回路２０４は、当該アクセス要求に対して８Ｂのバス幅でのアクセス許可を決定する（Ｓ５１２）。調停回路２０４は、データバス６１，６２のうち、いずれか一方が使用可能となるまで待ち（Ｓ５１３）、使用可能になると、当該アクセス要求を記憶しているバッファ２００〜２０２を選択するＳＥＬ信号と、使用可能となった１つのデータバス６１，６２を選択するバス選択信号とを出力する（Ｓ５０５）。
【００４０】
次に、２つのアクセス要求に基づいて転送されるデータのデータ種別が、ランダムデータとシーケンシャルデータとであり、当該２つのアクセス要求のうち、優先順位が高いアクセス要求に基づいて転送されるデータのデータ種別がシーケンシャルデータである場合について説明する。調停回路２０４は、当該アクセス要求に対して８Ｂ×２すなわち１６Ｂのバス幅でのアクセス許可を決定する（Ｓ５１４）。調停回路２０４は、データバス６１，６２の両方が使用可能となるまで待ち（Ｓ５１５）、使用可能になると、当該アクセス要求を記憶しているバッファ２００〜２０２を選択するＳＥＬ信号信号と、２つのデータバス６１，６２を選択するバス選択信号とを出力する（Ｓ５０５）。
【００４１】
ここで、外部装置からキャッシュメモリ７０へのアクセスに要する時間を、具体例を用いて説明する。なお、本例においては、１回のデータ転送における、ＰＣＩバスのオーバヘッドが３０ＣＬＫ（クロック）であり、データ転送集積回路６０のバス選択のオーバヘッドが２０ＣＬＫであるものとする。また、データ転送集積回路６０とキャッシュメモリ７０との間のデータ転送は、１６Ｂのバス幅で２２ＣＬＫかかるものとする。
【００４２】
２つの外部装置からキャッシュメモリ７０に対して５１２Ｂのデータのアクセス要求が同時に行われた場合の例を説明する。
【００４３】
図６は、データ転送集積回路６０とキャッシュメモリ７０との間を１本の１６Ｂのバス幅のデータバスにより接続している場合の例である。データ転送集積回路６０は、２つのアクセス要求に対して順に１６Ｂのデータバスの割り当てを行う。各アクセス要求のデータ転送には、ＰＣＩオーバヘッド（３０ＣＬＫ）＋バス選択（２０ＣＬＫ）＋データ転送（２２ＣＬＫ）の合計７２ＣＬＫがかかる。ただし、２つ目のアクセス要求については、１つ目のアクセス要求のデータ転送が完了するまでの間待たされているため、実際には、１つ目のアクセス要求のデータ転送時間（７２ＣＬＫ）＋２つ目のアクセス要求のデータ転送時間（７２ＣＬＫ）の合計１４４ＣＬＫを要していることとなる。つまり、平均アクセス時間は７２ＣＬＫ＋１４４ＣＬＫ／２の１０８ＣＬＫとなる。
【００４４】
一方、図７は、本実施の形態における、データ転送集積回路６０とキャッシュメモリ７０との間を２本の８Ｂのバス幅のデータバス６１，６２により接続している場合の例である。なお、１ＫＢ以上のデータをシーケンシャルデータとする。データ転送集積回路６０は、５１２Ｂのデータをランダムデータとして扱い、各々のアクセス要求に対して１本の８Ｂのデータバス６１，６２を割り当て、２つのデータ転送を同時に行う。そのため、２つのデータに対するＰＣＩオーバヘッド及びバス選択に要する時間は、１つのデータに対するものと同じだけであり、ＰＣＩオーバヘッド（３０ＣＬＫ）＋バス選択（２０ＣＬＫ）の５０ＣＬＫとなる。キャッシュメモリ７０との間のデータ転送は、バス幅が８Ｂのデータバス６１，６２を用いて行うため、１６Ｂの場合の２倍の時間（４４ＣＬＫ）を要する。つまり、ＰＣＩオーバヘッド及びバス選択（５０ＣＬＫ）＋データ転送（４４ＣＬＫ）の９４ＣＬＫで２つのデータの転送が完了することとなる。この場合の平均アクセス時間は９４ＣＬＫである。つまり、データ転送集積回路６０とキャッシュメモリ７０との間を１本の１６Ｂのバス幅のデータバスにより接続している場合の１０８ＣＬＫよりも短く、キャッシュメモリ７０へのアクセスにおける実効速度が向上していることとなる。
【００４５】
図８および図９は、本実施の形態における、キャッシュメモリ７０のタイミングチャートの例である。まず、各信号の説明を行う。ＣＬＫはキャッシュメモリを制御するクロック信号である。また「＿１」の付く信号はキャッシュメモリ１（７１）の信号であり、「＿２」の付く信号はキャッシュメモリ２（７２）の信号である。また、「＃」はＬレベルとなっている際に有効となる信号である。ＣＳ（Chip Select）信号は、キャッシュメモリ１（７１）またはキャッシュメモリ２（７２）を選択状態にするための信号である。ＲＡＳ（Row Address Strobe）及びＣＡＳ（Column Address Strobe）は入出力するデータのアドレスをキャッシュメモリ７０に与えるタイミングを伝えるための信号である。ＡＤＲは入出力するデータのアドレスを示すアドレスバスである。ＷＥ（Write Enable）はキャッシュメモリ７０への書き込みを可能にするための信号である。ＤＱ＿１はデータバス６１、ＤＱ＿２はデータバス６２を表している。
【００４６】
図８は、シーケンシャルデータを２つのデータバス６１，６２を用いてキャッシュメモリ１（７１）及びキャッシュメモリ２（７２）から読み出す場合のタイミングチャートである。なお、シーケンシャルデータのアドレスはＡＤＲ０〜ＡＤＲ３までであるとする。キャッシュ制御回路２１２は、ＣＳ＿１＃をアサートし（Ｓ８０１）、ＲＡＳ＿１＃をアサートし（Ｓ８０２）、ＡＤＲ＿１にＡＤＲ０を与え（Ｓ８０３）、ＣＡＳ＿１＃をアサートする（Ｓ８０４）。これにより、データバス６１よりＡＤＲ０のデータが出力される（Ｓ８０９）。この動作（Ｓ８０１〜Ｓ８０９）と並行して、キャッシュ制御回路２１２は、キャッシュメモリ２（７２）の制御を行う。キャッシュ制御回路２１２は、ＣＳ＿２＃をアサートし（Ｓ８０５）、ＲＡＳ＿２＃をアサートし（Ｓ８０６）、ＡＤＲ＿２にシーケンシャルデータの後ろ半分の開始アドレスであるＡＤＲ２を与え（Ｓ８０７）、ＣＡＳ＿２＃をアサートする（Ｓ８０８）。これにより、データバス６２よりＡＤＲ２のデータが出力される（Ｓ８１０）。同様にして、データバス６１よりＡＤＲ１のデータの読み出し（Ｓ８１１〜Ｓ８１９）、データバス６２よりＡＤＲ３のデータの読み出し（Ｓ８１５〜Ｓ８２０）が行われる。
【００４７】
図９は、２つのランダムデータを、それぞれ１つのデータバス６１，６２を用いてキャッシュメモリ１（７１）またはキャッシュメモリ２（７２）から読み出す場合のタイミングチャートである。なお、１つ目のランダムデータのアドレスはＡＤＲ０及びＡＤＲ２であり、２つ目のランダムデータのアドレスはＡＤＲ１及びＡＤＲ３であるとする。キャッシュ制御回路２１２は、１つ目のランダムデータのＡＤＲ０のデータをデータバス６１を用いて読み出す（Ｓ９０１〜Ｓ９０５）。キャッシュ制御回路２１２は、２つ目のランダムデータに対するアクセス許可であるＳＥＬ信号及びバス選択信号を調停回路２０４より受信すると、２つ目のランダムデータのＡＤＲ１のデータをデータバス６２を用いて読み出す（Ｓ９０６〜Ｓ９１０）。同様にして、データバス６１よりＡＤＲ２のデータの読み出し（Ｓ９１１〜Ｓ９１５）、デーバス６２よりＡＤＲ３のデータの読み出し（Ｓ９１６〜Ｓ９２０）が行われる。なお、２つのランダムデータに対するアクセス要求が同時に行われた場合は、ＡＤＲ０のデータの読み出しとＡＤＲ１のデータの読み出しは同時に開始されることとなる。
【００４８】
以上説明した本実施の形態においては、外部装置からキャッシュメモリ７０へのアクセス要求を受信し、当該アクセスを実行する際に、当該アクセス要求に設定されている転送データ長に応じてキャッシュメモリ７０へのアクセスに用いるデータバスの数を変更することができる。
【００４９】
例えば、当該アクセス要求が、転送データ長の長いシーケンシャルデータに対するものである場合には、２つのデータバスを割り当て、転送データ長の短いランダムデータに対するものである場合には、１つのデータバスを割り当てる等の制御を行うことができる。
【００５０】
シーケンシャルデータの場合、データバスの割り当てからデータ転送完了までにおいてデータ転送そのものに要する時間の割合が高い。そのため、シーケンシャルデータのアクセスには２つのデータバスを用いることで、データ転送の時間を短くすることができる。
【００５１】
また、ランダムデータの場合、データバスの割り当てからデータ転送完了までにおいてデータバスの割り当てに要する時間の割合が高い。そのため、ランダムデータのアクセスには１つのデータバスを用いることで、残りのデータバスを別のランダムデータのアクセスに用いることができる。つまり、複数のランダムデータへのアクセス要求が連続して発生する状況においては、先のランダムデータのアクセスの完了を待たずに、空いているデータバスを用いて別のランダムデータのアクセスを行うことができるため、データバス割り当て待ち時間を短くし、データバスの使用率を向上させることができる。  
これにより、データバス幅の拡張やクロックの向上を行うことなく、外部装置からキャッシュメモリ７０へのアクセスに対する実効速度を向上させることができる。
【００５２】
また、２つのランダムデータへのアクセス要求に対して、１回のデータバス割り当て処理によって、それぞれ１つのデータバスを割り当て、当該データへのアクセスを行うことができる。そのため、データバス割り当て待ち時間を更に短くし、データバスの使用率を更に向上させることができる。  
これにより、データバス幅の拡張やクロックの向上を行うことなく、キャッシュメモリ７０へのアクセスに対する実効速度を更に向上させることができる。
【００５３】
＝＝コントローラ間のデータ転送＝＝
次に、ディスクアレイ装置１５が２つのコントローラ２０を有している「デュアルコントローラ構成」の場合における、データ転送集積回路６０での制御について説明する。  
図１０は、ディスクアレイ装置１５が第一のコントローラ１００１及び第二のコントローラ１００２を有している場合の情報処理システムの構成を示すブロック図である。第一のコントローラ１００１及び第二のコントローラ１００２のハードウェア構成は、図１におけるコントローラ２０と同様である。
【００５４】
各ハードディスクドライブ９０は、両方のコントローラ１００１，１００２と通信可能に接続されている。そのため、コントローラ１００１，１００２の片方に障害が発生した場合は、他方を用いることで、ハードディスクドライブ９０へのアクセスを行うことが可能である。
【００５５】
また、２つのコントローラ１００１，１００２のデータ転送集積回路６０は、各々のデュアルバッファ２０３が専用のバス１００３で接続されており、コントローラ１００１，１００２間でデータの送受信を行うことができる。これにより、コントローラ１００１，１００２間でデータのバックアップを行い、ディスクアレイ装置１５の信頼性を高めている。
【００５６】
第一のコントローラ１００１が情報処理装置１０からデータの書き込み要求を受信した場合の動作を説明する。まず、第一のコントローラ１００１のデータ転送集積回路６０は、チャネル制御部４０から受信したデータを第一のコントローラ１００１のキャッシュメモリ７０に書き込む。そして、当該データを第二のコントローラ２０のデータ転送集積回路６０に転送する。第二のコントローラ１００２のデータ転送集積回路６０は、当該データを第二のコントローラ１００２のキャッシュメモリ７０に書き込み、第一のコントローラ１００１のデータ転送集積回路６０に書き込み完了を通知する。当該通知を受信した第一のコントローラ１００１のデータ転送集積回路６０は、チャネル制御部４０に書き込み完了を通知する。そして、チャネル制御部４０が情報処理装置１０にデータの書き込み完了を通知する。その後、第一のコントローラ１００１のディスク制御部５０がデータ転送集積回路６０を介してキャッシュメモリ７０から当該データを読み出し、ハードディスクドライブ９０に書き込む。
【００５７】
また、第一のコントローラ１００１が情報処理装置１０からデータの読み出し要求を受信した際に、第一のコントローラ１００１のキャッシュメモリ７０が障害等によりアクセスできない場合にもコントローラ１００１，１００２間でのデータ転送が行われる。この場合、第一のコントローラ１００１のデータ転送集積回路６０は、第二のコントローラ１００２のデータ転送集積回路６０に当該データの転送要求を送信する。当該要求を受信した第二のコントローラ１００２のデータ転送集積回路６０は、第二のコントローラ１００２のキャッシュメモリ７０から当該データを読み出し、第一のコントローラ１００１のデータ転送集積回路７０に送信する。そして、第一のコントローラ１００１のデータ転送集積回路６０は当該データをチャネル制御部４０に送信する。
【００５８】
この他に、各コントローラ１００１，１００２のＣＰＵ３０がデータ転送集積回路６０を介して別のコントローラ１００１，１００２のキャッシュメモリ７０にアクセスする場合もある。
【００５９】
このように、コントローラ１００１，１００２間でのデータ転送には、情報処理装置１０からのデータ入出力要求に伴うものである「ＤＭＡ転送」と、ＣＰＵ３０からの要求に伴うものである「ＣＰＵアクセス」との２つがある。これら２つのうち、ＤＭＡ転送については、コントローラ１００１，１００２間の転送にかかる時間が情報処理装置１０からのデータ入出力要求に対する応答時間に直接影響している。そのため、コントローラ１００１，１００２のデータ転送集積回路６０は、他方のデータ転送集積回路１００１，１００２にデータ転送要求を送信する際に、当該転送がＤＭＡ転送であるかＣＰＵアクセスであるかを示すアクセス種別を付与して送信する。この転送要求を受信したデータ転送集積回路６０では、アクセス種別がＤＭＡ転送である場合は２つのデータバスを用いてキャッシュメモリ７０にアクセスし、アクセス種別がＣＰＵアクセスである場合は１つのデータバスを用いてキャッシュメモリ７０にアクセスする。
【００６０】
つまり、アクセス種別がＤＭＡ転送である場合は、データバスを２つ用いることにより、コントローラ１００１，１００２間におけるデータ転送時間を短くし、情報処理装置１０に対する応答を早くすることが可能となる。また、データ種別がＣＰＵアクセスである場合は、１つのデータバスのみを用いることで、もう１つのデータバスを前述したランダムデータのアクセス要求や、他のＣＰＵ３０からのアクセス要求に割り当てることができる。これにより、データバスの割り当て待ち時間を短くし、データバスの使用率を向上させることができる。これにより、データバス幅の拡張やクロックの向上を行うことなく、外部装置からキャッシュメモリ７０へのアクセスに対する実効速度を向上させることができる。
【００６１】
以上、本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００６２】
例えば、本実施の形態においては、キャッシュメモリ７０を２つのキャッシュメモリ１（７１）及びキャッシュメモリ２（７２）により構成されるとしたが、３つ以上のメモリにより構成されるものとしてもよい。
【図面の簡単な説明】
【００６３】
【図１】本実施の形態における、情報処理システムの全体を示すブロック図である。
【図２】本実施の形態における、データ転送集積回路の構成を示すブロック図である。
【図３】本実施の形態における、データ転送集積回路が備える変換回路の構成を示すブロック図である。
【図４】本実施の形態における、データ転送集積回路が備える調停回路におけるデータバスの選択処理を示すフローチャートである。
【図５】本実施の形態における、データ転送集積回路が備える調停回路におけるアクセス許可決定処理を示すフローチャートである。
【図６】従来技術における、外部装置とキャッシュメモリとの間で２つのランダムデータのアクセスを行う場合のアクセス時間の例を示す図である。
【図７】本実施の形態における、外部装置とキャッシュメモリとの間で２つのランダムデータのアクセスを行う場合のアクセス時間の例を示す図である。
【図８】本実施の形態における、１つのシーケンシャルデータを２つのデータバスを用いてキャッシュメモリから読み出す場合のキャッシュメモリのタイミングチャートを示す図である。
【図９】本実施の形態における、２つのランダムデータをそれぞれ１つのデータバスを用いてキャッシュメモリから読み出す場合のキャッシュメモリのタイミングチャートを示す図である。
【図１０】本実施の形態における、コントローラを２つ有するディスクアレイ装置を示すブロック図である。
【符号の説明】
【００６４】
１０  情報処理装置                １５  ディスクアレイ装置
２０  コントローラ                ３０  ＣＰＵ
３１  メモリ                      ４０  チャネル制御部
５０  ディスク制御部              ６０  データ転送集積回路
６１，６２  データバス            ７０  キャッシュメモリ
７１  キャッシュメモリ１          ７２  キャッシュメモリ２
８０  バス                        ９０  記憶デバイス
２００  ホストバッファ            ２０１  ディスクバッファ
２０２  ＣＰＵバッファ            ２０３  デュアルバッファ
２０４  調停回路                  ２０５  優先順位付与部
２０６〜２０９  セレクタ          ２１０，２１１  変換回路
２１２  キャッシュ制御回路        ２１３，２１４  キャッシュバッファ
２１５  ＰＣＩバス                ３０１  ラッチ回路
３０２  セレクタ                  ３０３  制御回路
３０４  データバス                １００１  第一のコントローラ
１００２  第二のコントローラ      １００３  バス
【図１】
2005141344.tif 000003
【図２】
2005141344.tif 000004
【図３】
2005141344.tif 000005
【図４】
2005141344.tif 000006
【図５】
2005141344.tif 000007
【図６】
2005141344.tif 000008
【図７】
2005141344.tif 000009
【図８】
2005141344.tif 000010
【図９】
2005141344.tif 000011
【図１０】
2005141344.tif 000012