(57)【要約】【課題】第１と第２のバスに接続され、デバイス間のデータ転送を行うバスブリッジ回路において、第１のバスのパリテイエラーを、第２のバスに正しく伝達する。【解決手段】第１のＰＣＩデバイス（１８）で生成されたパリテイビットと、第２のＰＣＩデバイス（８）からのバイトイネーブル信号から新たなパリテイビットを生成し、第１のＰＣＩデバイス（１８）からのリードデータととともに第２のＰＣＩデバイス（８）に転送する。このため、１次側と２次側のバスで、バイトエネーブルの値が異なっても、２次側バスのパリテイエラーを正しく、１次側バスへ伝達できる。又、簡単な回路の付加で実現でき、容易に且つ低コストでかかる機能を実現できる。【選択図】図３
2004220220.tif 000002
【特許請求の範囲】
【請求項１】
第２のデバイスからのリード要求に応じて、第１のデバイスにリード要求を発行し、前記第１のデバイスから第１のバスを介するデータを受け、第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路において、前記第１のバスのデータと、前記バスブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、格納するデータバッファと、
前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報とから新たなエラー検出情報を生成するエラー検出情報生成回路と、
前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するコントローラとを有する
ことを特徴とするバスブリッジ回路。
【請求項２】
前記コントローラは、前記第１のＰＣＩデバイスのデータをプリフェッチするためのバイトイネーブル信号を前記第１のＰＣＩデバイスに送信する
ことを特徴とする請求項１のバスブリッジ回路。
【請求項３】
前記コントローラは、前記第１のデバイスへの前記リードリクエストに応じた前記第１のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第１のデバイスに送信し、
且つ前記第１のデバイスからのデータを前記データバッファに格納した後、前記第２のデバイスにレデイ信号を送信し、前記第２のデバイスからのバイトイネーブル信号を受信する
ことを特徴とする請求項１のバスブリッジ回路。
【請求項４】
リードリクエストを発生する第２のデバイスと、
前記リードリクエストに対するリードデータを出力する第１のデバイスと、
前記第２のデバイスと第２のバスで接続され、前記第１のデバイスと第１のバスで接続され、前記第１のデバイスからの前記第１のバスを介するリードデータを、前記第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路とを有し、
前記第１のデバイスは、前記リードデータと、前記ブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを前記第１のバスに出力し、
前記バスブリッジ回路は、
前記第１のバスからの前記リードデータと前記エラー検出情報を受け入れ、格納するデータバッファと、
前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成回路と、
前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するコントローラとを有する
ことを特徴とするバス接続システム。
【請求項５】
第２のデバイスからのリード要求に応じて、第１のデバイスにリード要求を発行し、前記第１のデバイスから第１のバスを介するデータを受け、第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路のデータエラー通知方法において、
前記第１のバスのデータと、前記ＰＣＩブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、データバッファに格納するステップと、
前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成ステップと、
前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するステップとを有する
ことを特徴とするバスブリッジ回路のデータエラー通知方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２つのＰＣＩバス等のバスを接続し、その間のデータ転送を行うバスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー方法に関し、特に、２つのバス間の転送データのパリテイエラーを通知するバスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法に関する。
【０００２】
【従来の技術】
コンピュータシステムでは、各機能デバイスをバスで接続し、種々の機能を実現する。近年のパーソナルコンピュータの普及に伴い、コントローラ等も、パーソナルコンピュータ用に開発された機能デバイスを、ペリフェラル・コンポーネント・インターコネクトバス（ＰＣＩバス）で接続して、構築することが行われている。
【０００３】
一方、異なる機能のデバイスをバス接続する場合に、デバイスとデバイスとの間のバスにブリッジ回路を設けることが有効である。図７は、従来のＰＣＩバスに接続されたブリッジ回路（ＰＣＩブリッジ回路）の構成図である。
【０００４】
ＰＣＩブリッジ回路２０２は、２つのＰＣＩバス３００、４００に接続し、ＰＣＩバス３００に接続されたＰＣＩデバイス２００と、ＰＣＩバス４００に接続されたＰＣＩデバイス２０４とのデータ転送を行う。ＰＣＩブリッジ回路２０２は、転送データを格納するＦＩＦＯ（Ｆａｓｔ  Ｉｎ  Ｆａｓｔ  Ｏｕｔ）バッファと、ＰＣＩデバイスから見て、ターゲットとしての制御を行い、ＰＣＩデバイスから見て、マスタとしての制御を行う制御回路とから構成される。
【０００５】
ここで、ＰＣＩデバイス２００からＰＣＩデバイス２０４に、リード要求を発生し、ＰＣＩデバイス２０４からＰＣＩデバイス２００にデータをリード転送する場合（リードという）には、ＰＣＩデバイス２００からＰＣＩブリッジ回路２０２にリードリクエストを発行する。その後、ＰＣＩブリッジ回路２０２からＰＣＩデバイス２０４にリードリクエストを発行し、１次側ＰＣＩバス４００を介しＰＣＩデバイス２０４からデータを、ＦＩＦＯバッファにプリフェッチする。
【０００６】
一方、ＰＣＢバスプロトコルでは、ＣＢＥ（Ｃｏｍｍａｎｄ    Ｂｙｔｅ    Ｅｎａｂｌｅ）機能があり、ＰＣＩバス幅（例えば、６４ビット＝８ｂｙｔｅ，３２ビット＝４ｂｙｔｅ）のデータの有効性をバイト単位で指定できる。即ち、ＰＣＩバスに接続されるＰＣＩデバイスの必要なデータビット数に応じて、ＰＣＩバス幅のデータビットをバイト単位で有効／無効にし、並列転送データから必要な転送データを取得する。
【０００７】
このＣＢＥ機能では、イニシエータ（マスタ）ＰＣＩデバイスから、例えば、３２ビット幅のＰＣＩバスであれば、４ビットのＣＢＥ信号を発行し、バイト単位のデータの有効／無効を制御する。
【０００８】
更に、このＣＢＥ信号とリードデータ（ＡＤ信号）とを保護するため、リード時は、イニシエータＰＣＩデバイスからターゲットＰＣＩデバイスへ発行するＣＢＥ信号とターゲットＰＣＩデバイスの出力するデータの全てのビットとのＥｘ−ＯＲ（Ｅｘｃｌｕｓｉｖｅ−ＯＲ）論理を取り、パリテイ信号（１ビット）を生成し、ターゲットＰＣＩデバイスに通知する。
【０００９】
例えば、図７のＰＣＩブリッジ２０２をまたいでリード動作を行う場合には、ターゲット側のＰＣＩバス４００のパリテイは、ＰＣＩブリッジ回路２０２が発行するＣＢＥ信号と、ＰＣＩデバイス２０４のリードデータのＥｘ−ＯＲで生成され、イニシエータ側のＰＣＩバス３００のパリテイは、ＰＣＩデバイス２００が発行するＣＢＥ信号と、ＰＣＩブリッジ回路２０２の出力するリードデータのＥｘ−ＯＲで生成される。
【００１０】
ここで、ＰＣＩブリッジ回路２０２の両側のＰＣＩバス３００，４００では、リードデータは、同じ値であるため、両ＣＢＥ信号が同じであれば、パリテイも同じとなり、ＰＣＩブリッジ回路２０２は、パリテイを生成せずに、ＰＣＩデバイス２０４からの受け取ったパリテイ信号をそのままＰＣＩデバイス２００に伝達すれば良い。
【００１１】
しかしながら、前述のように、ＣＢＥ信号を変化できるため、従来は、ＰＣＩブリッジ回路２０２が、ＰＣＩデバイス２００が発行するＣＢＥ信号と、ＰＣＩブリッジ回路２０２の出力するリードデータのＥｘ−ＯＲで、イニシエータ側のＰＣＩデバイス２００のパリテイを生成していた。
【００１２】
【発明が解決しようとする課題】
一方、ＰＣＩブリッジ回路２０２が、ＰＣＩデバイス２０４からデータをプリフェッチする場合には、イニシエータ側のＣＢＥ信号の値を予測できないため、リード時は、ＰＣＩブリッジ回路２０２からのＣＢＥ信号を全て有効（ＣＢＥを全て‘０’）に設定し、イニシエータ側ＰＣＩデバイス２００からのＣＢＥ信号の各有効ビットのパターンに対応できるようにしている。
【００１３】
即ち、ＰＣＩブリッジ回路２０２の両側でのＣＢＥ信号の値が異なる場合がある。このため、ＰＣＩブリッジ回路２０２が、ＰＣＩデバイス２００からリード要求を受けて、ＰＣＩデバイス２０４からプリフェッチしたデータに、パリテイエラーがあった場合には、エラーのあるプリフェッチデータとＣＢＥ信号からパリテイを生成するため、これを受け取ったＰＣＩデバイス２００が、パリテイエラーを認識できないという問題が生じていた。
【００１４】
従って、本発明の目的は、バスブリッジ回路がプリフェッチしたデータのデータエラーをイニシエータ側デバイスに通知するためのバスブリッジ回路、バス接続システム及びバスブリッジ回路のデータエラー通知方法を提供することにある。
【００１５】
又、本発明の他の目的は、バスブリッジ回路がプリフェッチしたデータに、データエラーがあった場合に、イニシエータ側デバイスが、エラーデータを正しいデータと認識することを防止するためのバスブリッジ回路、バス接続システム及びバスブリッジ回路のデータエラー通知方法を提供することにある。
【００１６】
更に、本発明の他の目的は、簡単な構成で、バスブリッジ回路がプリフェッチしたデータのデータエラーをイニシエータ側デバイスに通知するためのためのバスブリッジ回路、バス接続システム及びバスブリッジ回路のデータエラー通知方法を提供することにある。
【００１７】
【課題を解決するための手段】
この目的の達成のため、本発明のバスブリッジ回路は、第２のデバイスからのリード要求に応じて、第１のデバイスにリード要求を発行し、前記第１のデバイスから第１のバスを介するデータを受け、第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路であって、前記第１のバスのデータと、前記バスブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、格納するデータバッファと、前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成回路と、前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するコントローラとを有する。
【００１８】
又、本発明のバス接続システムは、リードリクエストを発生する第２のデバイスと、前記リードリクエストに対するリードデータを出力する第１のデバイスと、前記第２のデバイスと第２のバスで接続され、前記第１のデバイスと第１のバスで接続され、前記第１のデバイスからの前記第１のバスを介するリードデータを、前記第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路とを有し、前記第１のデバイスは、前記リードデータと、前記バスブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示する前記バイトイネーブル信号と前記データから生成したエラー検出情報とを前記第１のバスに出力し、前記バスブリッジ回路は、前記第１のバスからの前記リードデータと前記エラー検出情報を受け入れ、格納するデータバッファと、前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成回路と、前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するコントローラとを有する。
【００１９】
又、本発明のバスブリッジ回路のデータエラー通知方法は、第２のデバイスからのリード要求に応じて、第１のデバイスにリード要求を発行し、前記第１のデバイスから第１のバスを介するデータを受け、第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路のデータエラー通知方法であって、前記第１のバスのデータと、前記バスブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、データバッファに格納するステップと、前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成ステップと、前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するステップとを有する。
【００２０】
本発明では、第１のデバイスで生成されたエラー検出情報と、第２のデバイスからの第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号から新たなエラー検出情報を生成し、リードデータととともに第２のデバイスに転送するので、１次側と２次側のバスで、バイトエネーブルの値が異なっても、２次側バスのデータエラー（パリテイエラー）を正しく、１次側バスへ伝達できる。又、簡単な回路の付加で実現でき、容易に且つ低コストでかかる機能を実現できる。
【００２１】
更に、本発明では、好ましくは、前記コントローラは、前記第１のデバイスのデータをプリフェッチするための前記バイトイネーブル信号を前記第１のデバイスに送信する。このため、第２のデバイスのバイトイネーブルの変更に対応できる。
【００２２】
更に、本発明では、好ましくは、前記エラー検出情報生成回路は、前記第２のデバイスからの前記バイトイネーブル信号と前記データバッファに受け入れたパリテイビットとのＥｘ−ＯＲを取るＥＸ−ＯＲ回路で構成された。これにより、簡単な回路で新たなパリテイビットを生成できる。
【００２３】
更に、本発明では、好ましくは、前記コントローラは、前記第１のデバイスへの前記リードリクエストに応じた前記第１のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第１のデバイスに送信し、且つ前記第１のデバイスからのデータを前記データバッファに格納した後、前記第２のデバイスにレデイ信号を送信し、前記第２のデバイスからのバイトイネーブル信号を受信する。これにより、ＰＣＩプロトコルを変更せずに、パリテイを正しく通知できる。
【００２４】
更に、本発明では、好ましくは、前記データバッファが、ＦＩＦＯバッファで構成されたことにより、パリテイビット等のデータエラーを含む転送制御が容易となる。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態を、ＰＣＩバス接続システム、ＰＣＩブリッジ回路、他の実施の形態の順で説明する。
【００２６】
［ＰＣＩバス接続システム］
図１は、本発明の一実施の形態のＰＣＩバス接続システムの構成図であり、図２は、図１のＰＣＩ接続システムをコントローラに使用したストレージシステムの構成図である。図２は、磁気デイスクを使用したＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋ）システムを示す。
【００２７】
図２に示すように、ストレージシステムは、一対の磁気デイスクコントローラ（以下、コントローラという）１、２と、この一対のコントローラ１、２にラインｌ１，ｌ２で接続された多数の磁気デイスク装置５０−１〜５０−ｍ、５２−１〜５２−ｎとからなる。
【００２８】
コントローラ１、２は、直接又はネットワーク機器を介し、ホストやサーバーに接続され、ホストやサーバーの大量のデータを、ＲＡＩＤデイスクドライブ（磁気デイスク装置）へ高速かつ、ランダムに読み書きが出来るシステムである。
【００２９】
一対のコントローラ１、２は、同一の構成を有し、ＣＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）１１、１２、２１、２２と、ＣＭ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｍｏｄｕｌｅ）１０、１５〜１９、２０、２５〜２９と、ＤＡ（Ｄｅｖｉｃｅ  Ａｄａｐｔｅｒ）１３、１４、２３、２４のファンクションモジュールによって構成されている。
【００３０】
ＣＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）１１、１２、２１、２２は、ホストを結ぶホスト・インタフェースの制御をつかさどる回路であり、後述するように、ファイバーチャネルコントローラ等で構成される。ＤＡ（Ｄｅｖｉｃｅ  Ａｄａｐｔｅｒ）１３、１４、２３、２４は、デイスクデバイス５０−１〜５０−ｍ、５２−１〜５２−ｍを制御するため、デイスクデバイスとコマンド、データのやり取りを行う回路であり、例えば、ファイバーチャネル回路（ＦＣ）とＤＭＡ回路等で構成される。
【００３１】
ＣＭ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｍｏｄｕｌｅ）は、ＣＰＵ１０，２０と、ブリッジ回路１７、２７と、メモリ（ＲＡＭ）１５、２５と、コンパクトフラッシュメモリ１６，２６と、ＩＯブリッジ回路１８，２８と、一対のＢＩＯＳフラッシュメモリ３２，３３，４２，４３とを有する。
【００３２】
更に、ＣＭは、ＲＳＰ（Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅ  Ｐｒｏｃｅｓｓｏｒ）３４，４４と、外部接続用ＬＡＮポート３６，４６とを有する。メモリ１５，２５は、バッテリーでバックアップされ、主記憶として使用される。
【００３３】
ＣＰＵ１０，２０は、ブリッジ回路１７，２７を介し、メモリ１５，２５、コンパクトフラッシュメモリ１６，２６、ＩＯブリッジ回路１８，２８に接続される。このメモリ１５，２５は、ＣＰＵ１０，２０のワーク領域やキャッシュ領域に使用され、コンパクトフラッシュメモリ１９，２９は、ＣＰＵ１０，２０が実行するプログラムを格納する。このプログラムとして、カーネル，ファイルアクセスプログラム（リード／ライトプログラム）、ＲＡＩＤ管理プログラム等を格納する。
【００３４】
ＢＩＯＳフラッシュメモリ３２，３３，４２，４３は、冗長構成のため、一対設けられ、一方が稼動、他方が待機に使用され、ＢＩＯＳを格納する。ＣＰＵ１０，２０は、このプログラムを実行し、リード／ライト処理、ＲＡＩＤ管理処理等を実行する。
【００３５】
ＰＣＩバス３５、４５は、ブリッジ回路１７，２７を介し、ＣＰＵ１０，２０と、コンパクトフラッシュメモリ１５，２５、一対のＢＩＯＳフラッシュメモリ３２，３３，４２，４３、ＲＳＰ３４，４４，ＬＡＮポート３６，４６とを接続する。
【００３６】
ＲＳＰ３４，４４は、各種の状態管理やリモートサービスを行うプロセッサで構成される。ＬＡＮポート３６，４６は、外部のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続するためのものである。
【００３７】
ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス３１は、ＣＡ１１，１２，２１，２２と、ＤＡ１３，１４，２３，２４とを接続するとともに、ＩＯブリッジ回路１８，２８を介し、ＣＰＵ１０，２０、メモリ１５，２５を接続する。更に、ＰＣＩバス３１には、ＰＣＩ−ノードリンクブリッジ（ＰＮＢ）回路３０，４０が接続される。
【００３８】
コントローラ１のＰＣＩ−ノードリンクブリッジ回路３０は、コントローラ２のＰＣＩ−ノードリンクブリッジ回路４０と接続され、コントローラ１，２間のコマンド、データの交信を行う。
【００３９】
コントローラ１は、例えば、デイスク装置５０−１〜５０−ｍを担当し、コントローラ２は、例えば、デイスク装置５２−１〜５２−ｎを担当する。図２では、デイスク装置５０−１〜５０−ｍと、５２−１〜５２−ｎとが、ＲＡＩＤ５の構成を有する。
【００４０】
図１は、コントローラ１の構成のみを詳細に示し、図２で示したものと同一のものは、同一の記号で示してある。尚、コントローラ２も同一の構成である。図１において、ＣＡ１１，１２は、各々ＰＣＩブリッジ回路７と、ＰＣＩバス９と、ＰＣＩデバイスであるＦＣＣ（ファイバーチャネルコントローラ）８で構成される。
【００４１】
即ち、ＣＡ１１，１２は、ＩＯブリッジ回路（ＰＣＩデバイス）１８と第１のＰＣＩバス３１を介し接続されるＰＣＩブリッジ回路７と、ＦＣＣ（ＰＣＩデバイス）８と、ＰＣＩブリッジ回路７とＦＣＣ８を接続する第２のＰＣＩバス９とで構成される。この第１のＰＣＩバス３１には、前述のＰＮＢ３０，ＤＡ１３，１４が接続される。
【００４２】
即ち、入出力系システムのバスとなり、ＩＯブリッジ回路１８で、データ処理系システム（ＣＰＵ１０，メモリ１５、３２，３３，１６等）と入出力系システムとを接続する。このＰＣＩブリッジ回路７は、図３以下にて後述するように、ストレージシステムのデータには、ＣＲＣ（Ｃｙｃｌｉｃ    Ｒｅｄｕｎｄａｎｃｙ    Ｃｏｄｅ）が付加され、ホストからのデータにＣＲＣが付加されないため、ホストからのデータには、ＣＲＣを付加し、ホストへのデータには、ＣＲＣを削除するものである。尚、ブリッジ回路３７は、ＰＣＩバス３５に、異なる性質のメモリであるフラッシュメモリ３２，３３と、コンパクトフラッシュメモリ１６とを接続するブリッジである。
【００４３】
［ＰＣＩブリッジ回路］
次に、ＰＣＩブリッジ回路を説明する。図３は、ＰＣＩブリッジ回路のブロック図、図４は、ＰＣＩブリッジ回路を介するデータ転送動作のタイムチャート図、図５は、そのパリテイ付与例の説明図、図６は、図３のパリテイ生成動作の説明図である。
【００４４】
図３に示すように、ＩＯブリッジ回路（ＰＣＩデバイス）１８は、第１のＰＣＩバス３１によりＰＣＩブリッジ回路７に接続し、ＰＣＩブリッジ回路７は、第２のＰＣＩバス９によりＦＣＣ（ＰＣＩデバイス）８に接続する。ＦＣＣ８には、一対のＦＣトランシーバー８０，８２が設けられる。ＦＣトランシーバー８０，８２に、ＦＣ（ファイバーチャネル）ループが接続され、ホストやネットワークと接続する。
【００４５】
ＰＣＩブリッジ回路７は、ＰＣＩデバイス８からの第２のＰＣＩバス９のホストデータ（転送データ）を格納し、ＰＣＩデバイス１８に転送するＳ−Ｐ（Ｓｅｃｏｎｄａｒｙ−Ｐｒｉｍａｒｙ）ＦＩＦＯ（Ｆａｓｔ  Ｉｎ  Ｆａｓｔ  Ｏｕｔ）７７と、ＰＣＩデバイス１８からの第１のＰＣＩバス３１の記憶データ（転送データ）を格納し、ＰＣＩデバイス８に転送するＰ−Ｓ（Ｐｒｉｍａｒｙ−Ｓｅｃｏｎｄａｒｙ）ＦＩＦＯ７８を有する。
【００４６】
ＰＣＩブリッジ回路７は、更に、第２のＰＣＩバス９のホストデータを受け、ＣＲＣを作成し、ホストデータに付加するＣＲＣ生成回路７４と、Ｐ−ＳＦＩＦＯ７８から第２のＰＣＩバス９へ出力する記憶データのＣＲＣチエックを行い、ＣＲＣを削除するＣＲＣチエック回路７６と、ＣＢＥ信号、レデイ信号に応じて、ＦＩＦＯ７７，７８、ＣＲＣ生成回路７４、ＣＲＣチエック回路７６を制御するコントローラ７０とを有する。
【００４７】
ＰＣＩデバイス１８は、３２ビットのリードデータと、ＰＣＩブリッジ回路７からのＣＢＥ信号の各ビットとのＥｘ−ＯＲを取り、ＰＣＩバス３１のパリテイ信号を生成するパリテイ生成回路１８０を有する。又、コントローラ７０は、ＰＣＩデバイス１８から受け取ったパリテイ信号と、ＰＣＩデバイス８からのＣＢＥ信号の各ビットとのＥｘ−ＯＲを取り、ＰＣＩバス９のパリテイ信号を生成するパリテイ生成回路７２を有する。
【００４８】
図４乃至図６により、図３の構成の動作を説明する。イニシエータ側ＰＣＩデバイス８は、ＰＣＩブリッジ回路７にリードリクエストを発行した後、ＰＣＩブリッジ回路７は、ＰＣＩバスプロトコルに従い、内部処理を行い、バス使用権を獲得し、ターゲット（コンプリメンタリー）側ＰＣＩデバイス１８とデータ転送状態を確立し、リードリクエストをＰＣＩデバイス１８に発行する。
【００４９】
コンプリメンタリー側ＰＣＩデバイス１９は、リードデータの転送の用意ができると、ＰＣＩブリッジ回路７にレデイ信号を返す。ＰＣＩブリッジ回路７は、これにより、ＣＢＥ信号（全ビット‘０’）をＰＣＩデバイス１９に送信する。これに応じて、ＰＣＩデバイス１９は、３２ビットのリードデータ１と、パリテイ生成回路１８０で生成したパリテイビットＰを、ＰＣＩブリッジ回路７に出力する。
【００５０】
以降、ＰＣＩブリッジ回路７からのＣＢＥ信号（全ビット‘０’）に応じて、ＰＣＩデバイス１９は、３２ビットのリードデータ２、３、…と、パリテイ生成回路１８０で生成したパリテイビットＰを、ＰＣＩブリッジ回路７に出力する。
【００５１】
一方、ＰＣＩブリッジ回路７は、出力されたリードデータとパリテイビットを、ＦＩＦＯバッファ７８に格納し、少なくとも、３２ビットのリードデータとパリテイビットを格納し終わると、イニシエータ側のＰＣＩデバイス８に、レデイ信号を送る。
【００５２】
ＰＣＩデバイス８は、これにより、ＣＢＥ信号（例えば、‘１０００’）をＰＣＩブリッジ回路７に送信する。これに応じて、ＰＣＩブリッジ回路７は、ＦＩＦＯバッファ７８の３２ビットのリードデータ１と、パリテイ生成回路７２で生成したパリテイビットＰ‘を、ＰＣＩデバイス８に出力する。
【００５３】
以降、ＰＣＩデバイス８からのＣＢＥ信号（‘１０００’）に応じて、ＰＣＩブリッジ回路７は、３２ビットのリードデータ２、３、…と、パリテイ生成回路７２で生成したパリテイビットＰ‘を、ＰＣＩデバイス８に出力する。
【００５４】
図６に示すように、ＰＣＩデバイス１８からのパリテイビットは、３２ビットのリードデータと、ＰＣＩブリッジ回路７からのＣＢＥ信号とのＥｘ−ＯＲである。即ち、パリテイビットＰは、３２ビットのリードデータとＣＢＥ信号の‘１’の数が、奇数なら‘１’、偶数なら‘０’である。
【００５５】
一方、ＰＣＩブリッジ回路７からのパリテイビットＰ‘は、ＰＣＩデバイス１８からのパリテイビットＰと、ＰＣＩデバイス８からのＣＢＥ信号とのＥｘ−ＯＲである。即ち、パリテイビットＰ’は、パリテイビットＰとＣＢＥ信号の‘１’の数が、奇数なら‘１’、偶数なら‘０’である。
【００５６】
即ち、図５に示すように、コンプリメンター側バス３１では、ＣＢＥ信号が、‘００００’であるため、パリテイビットＰは、リードデータの‘１’の数で決定される。一方、イニシエータ側バス９では、パリテイビットＰ‘は、パリテイビットＰとＣＢＥ信号との’１‘の数で決定される。
【００５７】
従って、図５の正常時に示すように、リードデータに１ビットエラーが無い時は、パリテイビットＰ‘は、３２ビットのリードデータとＰＣＩデバイス８からのＣＢＥ信号との‘１’の数が、奇数なら‘１’、偶数なら‘０’となる。
【００５８】
同様に、図５のパリテイエラー時に示すように、リードデータに１ビットエラーがある時は、パリテイビットＰ‘は、３２ビットのエラーリードデータとＰＣＩデバイス８からのＣＢＥ信号との‘１’の数が、奇数なら‘１’、偶数なら‘０’となる。
【００５９】
即ち、ＰＣＩデバイス１８からのリードデータにパリテイエラーがあると、リードデータにパリテイエラーがあることをパリテイビットＰ‘に反映し、ＰＣＩデバイス１８に伝達される。同様に、ＰＣＩデバイス１８からのリードデータにパリテイエラーが無いと、リードデータにパリテイエラーが無いことをパリテイビットＰ‘に反映し、ＰＣＩデバイス１８に伝達される。
【００６０】
このようにして、１次側と２次側のバスで、バイトエネーブルの値が異なっても、２次側バス３１のパリテイエラーを正しく、１次側バス９へ伝達できる。又、簡単な回路の付加で実現でき、容易に且つ低コストでかかる機能を実現できる。
【００６１】
［他の実施の形態］
前述の実施の形態では、図２のような冗長構成のＲＡＩＤストレージシステムのコントローラで説明したが、他のコントローラやデータ処理装置のＰＣＩバス接続システムに適用でき、ストレージシステムの物理デイスクは、磁気デイスク、光デイスク、光磁気デイスク、各種のストレージデバイスを適用できる。
【００６２】
又、ＰＣＩデバイス８からのＣＢＥ信号を‘１０００’で説明したが、他のビットパターンでも同様に動作する。更に、ＰＣＩデバイス８からＰＣＩデバイス１８へのリード要求のリード転送で説明したが、逆に、ＰＣＩデバイス１８からＰＣＩデバイス８へのリード要求のデータ転送でも適用でき、ＰＣＩデバイス１８は、ＩＯブリッジ回路に限らず、他のＰＣＩデバイスであっても良い。尚、ＰＣＩバスとは、ペリフェラル・コンポーネント・インターコネクトバスの他に、他のコンピュータバスを含む。
【００６３】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００６４】
（付記１）第２のデバイスからのリード要求に応じて、第１のデバイスにリード要求を発行し、前記第１のデバイスから第１のバスを介するデータを受け、第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路において、前記第１のバスのデータと、前記バスブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、格納するデータバッファと、前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報とから新たなエラー検出情報を生成するエラー検出情報生成回路と、前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するコントローラとを有することを特徴とするバスブリッジ回路。
【００６５】
（付記２）前記コントローラは、前記第１のデバイスのデータをプリフェッチするための前記バイトイネーブル信号を前記第１のデバイスに送信することを特徴とする付記１のバスブリッジ回路。
【００６６】
（付記３）前記エラー検出情報生成回路は、前記第２のデバイスからの前記バイトイネーブル信号と前記データバッファに受け入れたパリテイビットとのＥｘ−ＯＲを取るＥＸ−ＯＲ回路で構成されたことを特徴とする付記１のバスブリッジ回路。
【００６７】
（付記４）前記コントローラは、前記第１のデバイスへの前記リードリクエストに応じた前記第１のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第１のデバイスに送信し、且つ前記第１のデバイスからのデータを前記データバッファに格納した後、前記第２のデバイスにレデイ信号を送信し、前記第２のデバイスからのバイトイネーブル信号を受信することを特徴とする付記１のバスブリッジ回路。
【００６８】
（付記５）前記データバッファが、ＦＩＦＯバッファで構成されたことを特徴とする付記１のバスブリッジ回路。
【００６９】
（付記６）リードリクエストを発生する第２のデバイスと、前記リードリクエストに対するリードデータを出力する第１のデバイスと、前記第２のデバイスと第２のバスで接続され、前記第１のデバイスと第１のバスで接続され、前記第１のデバイスからの前記第１のバスを介するリードデータを、前記第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路とを有し、前記第１のデバイスは、前記リードデータと、前記バスブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを前記第１のバスに出力し、前記バスブリッジ回路は、前記第１のバスからの前記リードデータと前記エラー検出情報を受け入れ、格納するデータバッファと、前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成回路と、前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するコントローラとを有することを特徴とするバス接続システム。
【００７０】
（付記７）前記コントローラは、前記第１のデバイスのデータをプリフェッチするための前記バイトイネーブル信号を前記第１のデバイスに送信することを特徴とする付記６のバス接続システム。
【００７１】
（付記８）前記エラー検出情報生成回路は、前記第２のデバイスからのバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報とのＥｘ−ＯＲを取るＥＸ−ＯＲ回路で構成され、前記第１のデバイスは、前記バスブリッジ回路からの前記バイトイネーブル信号と前記リードデータから前記エラー検出情報を生成するＥＸ−ＯＲ回路を有することを特徴とする付記６のバス接続システム。
【００７２】
（付記９）前記コントローラは、前記第１のデバイスへの前記リードリクエストに応じた前記第１のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第１のデバイスに送信し、且つ前記第１のデバイスからのデータを前記データバッファに格納した後、前記第２のデバイスにレデイ信号を送信し、前記第２のデバイスからのバイトイネーブル信号を受信することを特徴とする付記６のバス接続システム。
【００７３】
（付記１０）前記データバッファが、ＦＩＦＯバッファで構成されたことを特徴とする付記６のバス接続システム。
【００７４】
（付記１１）第２のデバイスからのリード要求に応じて、第１のデバイスにリード要求を発行し、前記第１のデバイスから第１のバスを介するデータを受け、第２のバスを介し前記第２のデバイスに転送するバスブリッジ回路のデータエラー通知方法において、前記第１のバスのデータと、前記ブリッジ回路からの前記第１のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、データバッファに格納するステップと、前記第２のデバイスからの前記第２のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成ステップと、前記第２のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第２のバスを介して前記第２のデバイスに転送するステップとを有することを特徴とするバスブリッジ回路のデータエラー通知方法。
【００７５】
（付記１２）前記第１のデバイスのデータをプリフェッチするための前記バイトイネーブル信号を前記第１のデバイスに送信するステップを更に有することを特徴とする付記１１のバスブリッジ回路のデータエラー通知方法。
【００７６】
（付記１３）前記エラー検出情報生成ステップは、前記第２のデバイスからのバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報とのＥｘ−ＯＲを取るステップからなることを特徴とする付記１１のバスブリッジ回路のデータエラー通知方法。
【００７７】
（付記１４）前記第１のデバイスへの前記リードリクエストに応じた前記第１のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第１のデバイスに送信するステップと、前記第１のデバイスからのデータを前記データバッファに格納した後、前記第２のデバイスにレデイ信号を送信し、前記第２のデバイスからのバイトイネーブル信号を受信するステップとを更に有することを特徴とする付記１１のバスブリッジ回路のデータエラー通知方法。
【００７８】
（付記１５）前記格納ステップは、データバッファであるＦＩＦＯバッファに前記リードデータとエラー検出情報を格納するステップからなることを特徴とする付記１１のバスブリッジ回路のデータエラー通知方法。
【００７９】
【発明の効果】
このように、本発明では、第１のデバイスで生成されたエラー検出情報と、第２のデバイスからのバイトイネーブル信号から新たなエラー検出情報を生成し、リードデータととともに第２のデバイスに転送するので、１次側と２次側のバスで、バイトエネーブルの値が異なっても、２次側バスのパリテイエラー等のエラー検出情報を正しく、１次側バスへ伝達できる。又、簡単な回路の付加で実現でき、容易に且つ低コストでかかる機能を実現できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のＰＣＩバス接続システムのブロック図である。
【図２】図１の構成を適用したストレージシステムの構成図である。
【図３】図１のＰＣＩブリッジ回路の構成図である。
【図４】図３のＰＣＩブリッジ回路のデータ転送動作のタイムチャート図である。
【図５】図３のパリテイ生成処理例の説明図である。
【図６】図３のパリテイ生成動作の説明図である。
【図７】従来のＰＣＩブリッジ回路の説明図である。
【符号の説明】
１、２  ストレージコントローラ
７  ＰＣＩブリッジ回路
８  ＰＣＩデバイス（ＦＣＣ）
９  第２のＰＣＩバス
１１、１２、２１、２３  チャネルアダプター
１３、１４、２３、２４  デバイスアダプター
１０、２０  ＣＰＵ
１５，２５  メモリ
１６、２６  プログラムメモリ
１８，２８  第１のＰＣＩデバイス（ＩＯブリッジ回路）
３０、４０  ＰＣＩ−ノードブリッジ回路
３１、４１  第１のＰＣＩバス
７０  コントローラ
７２  パリテイ生成回路
７７，７８  ＦＩＦＯバッファ
５０−１〜５０−ｍ、５２−１〜５２−ｎ  物理デイスク装置（ストレージ装置）
１８０  パリテイ生成回路
【図１】
2004220220.tif 000003
【図２】
2004220220.tif 000004
【図３】
2004220220.tif 000005
【図４】
2004220220.tif 000006
【図５】
2004220220.tif 000007
【図６】
2004220220.tif 000008
【図７】
2004220220.tif 000009