JP4368587B2 - バスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法 - Google Patents
バスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法 Download PDFInfo
- Publication number
- JP4368587B2 JP4368587B2 JP2003005284A JP2003005284A JP4368587B2 JP 4368587 B2 JP4368587 B2 JP 4368587B2 JP 2003005284 A JP2003005284 A JP 2003005284A JP 2003005284 A JP2003005284 A JP 2003005284A JP 4368587 B2 JP4368587 B2 JP 4368587B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- bridge circuit
- pci
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、2つのPCIバス等のバスを接続し、その間のデータ転送を行うバスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー方法に関し、特に、2つのバス間の転送データのパリテイエラーを通知するバスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法に関する。
【0002】
【従来の技術】
コンピュータシステムでは、各機能デバイスをバスで接続し、種々の機能を実現する。近年のパーソナルコンピュータの普及に伴い、コントローラ等も、パーソナルコンピュータ用に開発された機能デバイスを、ペリフェラル・コンポーネント・インターコネクトバス(PCIバス)で接続して、構築することが行われている。
【0003】
一方、異なる機能のデバイスをバス接続する場合に、デバイスとデバイスとの間のバスにブリッジ回路を設けることが有効である。図7は、従来のPCIバスに接続されたブリッジ回路(PCIブリッジ回路)の構成図である。
【0004】
PCIブリッジ回路202は、2つのPCIバス300、400に接続し、PCIバス300に接続されたPCIデバイス200と、PCIバス400に接続されたPCIデバイス204とのデータ転送を行う。PCIブリッジ回路202は、転送データを格納するFIFO(Fast In Fast Out)バッファと、PCIデバイスから見て、ターゲットとしての制御を行い、PCIデバイスから見て、マスタとしての制御を行う制御回路とから構成される。
【0005】
ここで、PCIデバイス200からPCIデバイス204に、リード要求を発生し、PCIデバイス204からPCIデバイス200にデータをリード転送する場合(リードという)には、PCIデバイス200からPCIブリッジ回路202にリードリクエストを発行する。その後、PCIブリッジ回路202からPCIデバイス204にリードリクエストを発行し、1次側PCIバス400を介しPCIデバイス204からデータを、FIFOバッファにプリフェッチする。
【0006】
一方、PCBバスプロトコルでは、CBE(Command Byte Enable)機能があり、PCIバス幅(例えば、64ビット=8byte,32ビット=4byte)のデータの有効性をバイト単位で指定できる。即ち、PCIバスに接続されるPCIデバイスの必要なデータビット数に応じて、PCIバス幅のデータビットをバイト単位で有効/無効にし、並列転送データから必要な転送データを取得する。
【0007】
このCBE機能では、イニシエータ(マスタ)PCIデバイスから、例えば、32ビット幅のPCIバスであれば、4ビットのCBE信号を発行し、バイト単位のデータの有効/無効を制御する。
【0008】
更に、このCBE信号とリードデータ(AD信号)とを保護するため、リード時は、イニシエータPCIデバイスからターゲットPCIデバイスへ発行するCBE信号とターゲットPCIデバイスの出力するデータの全てのビットとのEx−OR(Exclusive-OR)論理を取り、パリテイ信号(1ビット)を生成し、ターゲットPCIデバイスに通知する。
【0009】
例えば、図7のPCIブリッジ202をまたいでリード動作を行う場合には、ターゲット側のPCIバス400のパリテイは、PCIブリッジ回路202が発行するCBE信号と、PCIデバイス204のリードデータのEx−ORで生成され、イニシエータ側のPCIバス300のパリテイは、PCIデバイス200が発行するCBE信号と、PCIブリッジ回路202の出力するリードデータのEx−ORで生成される。
【0010】
ここで、PCIブリッジ回路202の両側のPCIバス300,400では、リードデータは、同じ値であるため、両CBE信号が同じであれば、パリテイも同じとなり、PCIブリッジ回路202は、パリテイを生成せずに、PCIデバイス204からの受け取ったパリテイ信号をそのままPCIデバイス200に伝達すれば良い。
【0011】
しかしながら、前述のように、CBE信号を変化できるため、従来は、PCIブリッジ回路202が、PCIデバイス200が発行するCBE信号と、PCIブリッジ回路202の出力するリードデータのEx−ORで、イニシエータ側のPCIデバイス200のパリテイを生成していた。
【0012】
【発明が解決しようとする課題】
一方、PCIブリッジ回路202が、PCIデバイス204からデータをプリフェッチする場合には、イニシエータ側のCBE信号の値を予測できないため、リード時は、PCIブリッジ回路202からのCBE信号を全て有効(CBEを全て‘0’)に設定し、イニシエータ側PCIデバイス200からのCBE信号の各有効ビットのパターンに対応できるようにしている。
【0013】
即ち、PCIブリッジ回路202の両側でのCBE信号の値が異なる場合がある。このため、PCIブリッジ回路202が、PCIデバイス200からリード要求を受けて、PCIデバイス204からプリフェッチしたデータに、パリテイエラーがあった場合には、エラーのあるプリフェッチデータとCBE信号からパリテイを生成するため、これを受け取ったPCIデバイス200が、パリテイエラーを認識できないという問題が生じていた。
【0014】
従って、本発明の目的は、バスブリッジ回路がプリフェッチしたデータのデータエラーをイニシエータ側デバイスに通知するためのバスブリッジ回路、バス接続システム及びバスブリッジ回路のデータエラー通知方法を提供することにある。
【0015】
又、本発明の他の目的は、バスブリッジ回路がプリフェッチしたデータに、データエラーがあった場合に、イニシエータ側デバイスが、エラーデータを正しいデータと認識することを防止するためのバスブリッジ回路、バス接続システム及びバスブリッジ回路のデータエラー通知方法を提供することにある。
【0016】
更に、本発明の他の目的は、簡単な構成で、バスブリッジ回路がプリフェッチしたデータのデータエラーをイニシエータ側デバイスに通知するためのためのバスブリッジ回路、バス接続システム及びバスブリッジ回路のデータエラー通知方法を提供することにある。
【0017】
【課題を解決するための手段】
この目的の達成のため、本発明のバスブリッジ回路は、第2のデバイスからのリード要求に応じて、第1のデバイスにリード要求を発行し、前記第1のデバイスから第1のバスを介するデータを受け、第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路であって、前記第1のバスのデータと、前記バスブリッジ回路からの前記第1のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、格納するデータバッファと、前記第2のデバイスからの前記第2のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成回路と、前記第2のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第2のバスを介して前記第2のデバイスに転送するコントローラとを有する。
【0018】
又、本発明のバス接続システムは、リードリクエストを発生する第2のデバイスと、前記リードリクエストに対するリードデータを出力する第1のデバイスと、前記第2のデバイスと第2のバスで接続され、前記第1のデバイスと第1のバスで接続され、前記第1のデバイスからの前記第1のバスを介するリードデータを、前記第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路とを有し、前記第1のデバイスは、前記リードデータと、前記バスブリッジ回路からの前記第1のバスの並列データの所定ビット数単位にイネーブルを指示する前記バイトイネーブル信号と前記データから生成したエラー検出情報とを前記第1のバスに出力し、前記バスブリッジ回路は、前記第1のバスからの前記リードデータと前記エラー検出情報を受け入れ、格納するデータバッファと、前記第2のデバイスからの前記第2のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成回路と、前記第2のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第2のバスを介して前記第2のデバイスに転送するコントローラとを有する。
【0019】
又、本発明のバスブリッジ回路のデータエラー通知方法は、第2のデバイスからのリード要求に応じて、第1のデバイスにリード要求を発行し、前記第1のデバイスから第1のバスを介するデータを受け、第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路のデータエラー通知方法であって、前記第1のバスのデータと、前記バスブリッジ回路からの前記第1のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、データバッファに格納するステップと、前記第2のデバイスからの前記第2のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成ステップと、前記第2のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第2のバスを介して前記第2のデバイスに転送するステップとを有する。
【0020】
本発明では、第1のデバイスで生成されたエラー検出情報と、第2のデバイスからの第1のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号から新たなエラー検出情報を生成し、リードデータととともに第2のデバイスに転送するので、1次側と2次側のバスで、バイトエネーブルの値が異なっても、2次側バスのデータエラー(パリテイエラー)を正しく、1次側バスへ伝達できる。又、簡単な回路の付加で実現でき、容易に且つ低コストでかかる機能を実現できる。
【0021】
更に、本発明では、好ましくは、前記コントローラは、前記第1のデバイスのデータをプリフェッチするための前記バイトイネーブル信号を前記第1のデバイスに送信する。このため、第2のデバイスのバイトイネーブルの変更に対応できる。
【0022】
更に、本発明では、好ましくは、前記エラー検出情報生成回路は、前記第2のデバイスからの前記バイトイネーブル信号と前記データバッファに受け入れたパリテイビットとのEx−ORを取るEX−OR回路で構成された。これにより、簡単な回路で新たなパリテイビットを生成できる。
【0023】
更に、本発明では、好ましくは、前記コントローラは、前記第1のデバイスへの前記リードリクエストに応じた前記第1のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第1のデバイスに送信し、且つ前記第1のデバイスからのデータを前記データバッファに格納した後、前記第2のデバイスにレデイ信号を送信し、前記第2のデバイスからのバイトイネーブル信号を受信する。これにより、PCIプロトコルを変更せずに、パリテイを正しく通知できる。
【0024】
更に、本発明では、好ましくは、前記データバッファが、FIFOバッファで構成されたことにより、パリテイビット等のデータエラーを含む転送制御が容易となる。
【0025】
【発明の実施の形態】
以下、本発明の実施の形態を、PCIバス接続システム、PCIブリッジ回路、他の実施の形態の順で説明する。
【0026】
[PCIバス接続システム]
図1は、本発明の一実施の形態のPCIバス接続システムの構成図であり、図2は、図1のPCI接続システムをコントローラに使用したストレージシステムの構成図である。図2は、磁気デイスクを使用したRAID(Redundant Arrays
of Inexpensive Disk)システムを示す。
【0027】
図2に示すように、ストレージシステムは、一対の磁気デイスクコントローラ(以下、コントローラという)1、2と、この一対のコントローラ1、2にラインl1,l2で接続された多数の磁気デイスク装置50−1〜50−m、52−1〜52−nとからなる。
【0028】
コントローラ1、2は、直接又はネットワーク機器を介し、ホストやサーバーに接続され、ホストやサーバーの大量のデータを、RAIDデイスクドライブ(磁気デイスク装置)へ高速かつ、ランダムに読み書きが出来るシステムである。
【0029】
一対のコントローラ1、2は、同一の構成を有し、CA(Channel Adapter)11、12、21、22と、CM(Centralized Module)10、15〜19、20、25〜29と、DA(Device Adapter)13、14、23、24のファンクションモジュールによって構成されている。
【0030】
CA(Channel Adapter)11、12、21、22は、ホストを結ぶホスト・インタフェースの制御をつかさどる回路であり、後述するように、ファイバーチャネルコントローラ等で構成される。DA(Device Adapter)13、14、23、24は、デイスクデバイス50−1〜50−m、52−1〜52−mを制御するため、デイスクデバイスとコマンド、データのやり取りを行う回路であり、例えば、ファイバーチャネル回路(FC)とDMA回路等で構成される。
【0031】
CM(Centralized Module)は、CPU10,20と、ブリッジ回路17、27と、メモリ(RAM)15、25と、コンパクトフラッシュメモリ16,26と、IOブリッジ回路18,28と、一対のBIOSフラッシュメモリ32,33,42,43とを有する。
【0032】
更に、CMは、RSP(Remote Service Processor)34,44と、外部接続用LANポート36,46とを有する。メモリ15,25は、バッテリーでバックアップされ、主記憶として使用される。
【0033】
CPU10,20は、ブリッジ回路17,27を介し、メモリ15,25、コンパクトフラッシュメモリ16,26、IOブリッジ回路18,28に接続される。このメモリ15,25は、CPU10,20のワーク領域やキャッシュ領域に使用され、コンパクトフラッシュメモリ19,29は、CPU10,20が実行するプログラムを格納する。このプログラムとして、カーネル,ファイルアクセスプログラム(リード/ライトプログラム)、RAID管理プログラム等を格納する。
【0034】
BIOSフラッシュメモリ32,33,42,43は、冗長構成のため、一対設けられ、一方が稼動、他方が待機に使用され、BIOSを格納する。CPU10,20は、このプログラムを実行し、リード/ライト処理、RAID管理処理等を実行する。
【0035】
PCIバス35、45は、ブリッジ回路17,27を介し、CPU10,20と、コンパクトフラッシュメモリ15,25、一対のBIOSフラッシュメモリ32,33,42,43、RSP34,44,LANポート36,46とを接続する。
【0036】
RSP34,44は、各種の状態管理やリモートサービスを行うプロセッサで構成される。LANポート36,46は、外部のLAN(Local Area Network)と接続するためのものである。
【0037】
PCI(Peripheral Component Interconnect)バス31は、CA11,12,21,22と、DA13,14,23,24とを接続するとともに、IOブリッジ回路18,28を介し、CPU10,20、メモリ15,25を接続する。更に、PCIバス31には、PCI−ノードリンクブリッジ(PNB)回路30,40が接続される。
【0038】
コントローラ1のPCI−ノードリンクブリッジ回路30は、コントローラ2のPCI−ノードリンクブリッジ回路40と接続され、コントローラ1,2間のコマンド、データの交信を行う。
【0039】
コントローラ1は、例えば、デイスク装置50−1〜50−mを担当し、コントローラ2は、例えば、デイスク装置52−1〜52−nを担当する。図2では、デイスク装置50−1〜50−mと、52−1〜52−nとが、RAID5の構成を有する。
【0040】
図1は、コントローラ1の構成のみを詳細に示し、図2で示したものと同一のものは、同一の記号で示してある。尚、コントローラ2も同一の構成である。図1において、CA11,12は、各々PCIブリッジ回路7と、PCIバス9と、PCIデバイスであるFCC(ファイバーチャネルコントローラ)8で構成される。
【0041】
即ち、CA11,12は、IOブリッジ回路(PCIデバイス)18と第1のPCIバス31を介し接続されるPCIブリッジ回路7と、FCC(PCIデバイス)8と、PCIブリッジ回路7とFCC8を接続する第2のPCIバス9とで構成される。この第1のPCIバス31には、前述のPNB30,DA13,14が接続される。
【0042】
即ち、入出力系システムのバスとなり、IOブリッジ回路18で、データ処理系システム(CPU10,メモリ15、32,33,16等)と入出力系システムとを接続する。このPCIブリッジ回路7は、図3以下にて後述するように、ストレージシステムのデータには、CRC(Cyclic Redundancy Code)が付加され、ホストからのデータにCRCが付加されないため、ホストからのデータには、CRCを付加し、ホストへのデータには、CRCを削除するものである。尚、ブリッジ回路37は、PCIバス35に、異なる性質のメモリであるフラッシュメモリ32,33と、コンパクトフラッシュメモリ16とを接続するブリッジである。
【0043】
[PCIブリッジ回路]
次に、PCIブリッジ回路を説明する。図3は、PCIブリッジ回路のブロック図、図4は、PCIブリッジ回路を介するデータ転送動作のタイムチャート図、図5は、そのパリテイ付与例の説明図、図6は、図3のパリテイ生成動作の説明図である。
【0044】
図3に示すように、IOブリッジ回路(PCIデバイス)18は、第1のPCIバス31によりPCIブリッジ回路7に接続し、PCIブリッジ回路7は、第2のPCIバス9によりFCC(PCIデバイス)8に接続する。FCC8には、一対のFCトランシーバー80,82が設けられる。FCトランシーバー80,82に、FC(ファイバーチャネル)ループが接続され、ホストやネットワークと接続する。
【0045】
PCIブリッジ回路7は、PCIデバイス8からの第2のPCIバス9のホストデータ(転送データ)を格納し、PCIデバイス18に転送するS−P(Secondary-Primary)FIFO(Fast In Fast Out)77と、PCIデバイス18からの第1のPCIバス31の記憶データ(転送データ)を格納し、PCIデバイス8に転送するP−S(Primary-Secondary)FIFO78を有する。
【0046】
PCIブリッジ回路7は、更に、第2のPCIバス9のホストデータを受け、CRCを作成し、ホストデータに付加するCRC生成回路74と、P−SFIFO78から第2のPCIバス9へ出力する記憶データのCRCチエックを行い、CRCを削除するCRCチエック回路76と、CBE信号、レデイ信号に応じて、FIFO77,78、CRC生成回路74、CRCチエック回路76を制御するコントローラ70とを有する。
【0047】
PCIデバイス18は、32ビットのリードデータと、PCIブリッジ回路7からのCBE信号の各ビットとのEx−ORを取り、PCIバス31のパリテイ信号を生成するパリテイ生成回路180を有する。又、コントローラ70は、PCIデバイス18から受け取ったパリテイ信号と、PCIデバイス8からのCBE信号の各ビットとのEx−ORを取り、PCIバス9のパリテイ信号を生成するパリテイ生成回路72を有する。
【0048】
図4乃至図6により、図3の構成の動作を説明する。イニシエータ側PCIデバイス8は、PCIブリッジ回路7にリードリクエストを発行した後、PCIブリッジ回路7は、PCIバスプロトコルに従い、内部処理を行い、バス使用権を獲得し、ターゲット(コンプリメンタリー)側PCIデバイス18とデータ転送状態を確立し、リードリクエストをPCIデバイス18に発行する。
【0049】
コンプリメンタリー側PCIデバイス19は、リードデータの転送の用意ができると、PCIブリッジ回路7にレデイ信号を返す。PCIブリッジ回路7は、これにより、CBE信号(全ビット‘0’)をPCIデバイス19に送信する。これに応じて、PCIデバイス19は、32ビットのリードデータ1と、パリテイ生成回路180で生成したパリテイビットPを、PCIブリッジ回路7に出力する。
【0050】
以降、PCIブリッジ回路7からのCBE信号(全ビット‘0’)に応じて、PCIデバイス19は、32ビットのリードデータ2、3、…と、パリテイ生成回路180で生成したパリテイビットPを、PCIブリッジ回路7に出力する。
【0051】
一方、PCIブリッジ回路7は、出力されたリードデータとパリテイビットを、FIFOバッファ78に格納し、少なくとも、32ビットのリードデータとパリテイビットを格納し終わると、イニシエータ側のPCIデバイス8に、レデイ信号を送る。
【0052】
PCIデバイス8は、これにより、CBE信号(例えば、‘1000’)をPCIブリッジ回路7に送信する。これに応じて、PCIブリッジ回路7は、FIFOバッファ78の32ビットのリードデータ1と、パリテイ生成回路72で生成したパリテイビットP‘を、PCIデバイス8に出力する。
【0053】
以降、PCIデバイス8からのCBE信号(‘1000’)に応じて、PCIブリッジ回路7は、32ビットのリードデータ2、3、…と、パリテイ生成回路72で生成したパリテイビットP‘を、PCIデバイス8に出力する。
【0054】
図6に示すように、PCIデバイス18からのパリテイビットは、32ビットのリードデータと、PCIブリッジ回路7からのCBE信号とのEx−ORである。即ち、パリテイビットPは、32ビットのリードデータとCBE信号の‘1’の数が、奇数なら‘1’、偶数なら‘0’である。
【0055】
一方、PCIブリッジ回路7からのパリテイビットP‘は、PCIデバイス18からのパリテイビットPと、PCIデバイス8からのCBE信号とのEx−ORである。即ち、パリテイビットP’は、パリテイビットPとCBE信号の‘1’の数が、奇数なら‘1’、偶数なら‘0’である。
【0056】
即ち、図5に示すように、コンプリメンター側バス31では、CBE信号が、‘0000’であるため、パリテイビットPは、リードデータの‘1’の数で決定される。一方、イニシエータ側バス9では、パリテイビットP‘は、パリテイビットPとCBE信号との’1‘の数で決定される。
【0057】
従って、図5の正常時に示すように、リードデータに1ビットエラーが無い時は、パリテイビットP‘は、32ビットのリードデータとPCIデバイス8からのCBE信号との‘1’の数が、奇数なら‘1’、偶数なら‘0’となる。
【0058】
同様に、図5のパリテイエラー時に示すように、リードデータに1ビットエラーがある時は、パリテイビットP‘は、32ビットのエラーリードデータとPCIデバイス8からのCBE信号との‘1’の数が、奇数なら‘1’、偶数なら‘0’となる。
【0059】
即ち、PCIデバイス18からのリードデータにパリテイエラーがあると、リードデータにパリテイエラーがあることをパリテイビットP‘に反映し、PCIデバイス18に伝達される。同様に、PCIデバイス18からのリードデータにパリテイエラーが無いと、リードデータにパリテイエラーが無いことをパリテイビットP‘に反映し、PCIデバイス18に伝達される。
【0060】
このようにして、1次側と2次側のバスで、バイトエネーブルの値が異なっても、2次側バス31のパリテイエラーを正しく、1次側バス9へ伝達できる。又、簡単な回路の付加で実現でき、容易に且つ低コストでかかる機能を実現できる。
【0061】
[他の実施の形態]
前述の実施の形態では、図2のような冗長構成のRAIDストレージシステムのコントローラで説明したが、他のコントローラやデータ処理装置のPCIバス接続システムに適用でき、ストレージシステムの物理デイスクは、磁気デイスク、光デイスク、光磁気デイスク、各種のストレージデバイスを適用できる。
【0062】
又、PCIデバイス8からのCBE信号を‘1000’で説明したが、他のビットパターンでも同様に動作する。更に、PCIデバイス8からPCIデバイス18へのリード要求のリード転送で説明したが、逆に、PCIデバイス18からPCIデバイス8へのリード要求のデータ転送でも適用でき、PCIデバイス18は、IOブリッジ回路に限らず、他のPCIデバイスであっても良い。尚、PCIバスとは、ペリフェラル・コンポーネント・インターコネクトバスの他に、他のコンピュータバスを含む。
【0063】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【0064】
(付記1)第2のデバイスからのリード要求に応じて、第1のデバイスにリード要求を発行し、前記第1のデバイスから第1のバスを介するデータを受け、第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路において、前記第1のバスのデータと、前記バスブリッジ回路からの前記第1のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、格納するデータバッファと、前記第2のデバイスからの前記第2のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報とから新たなエラー検出情報を生成するエラー検出情報生成回路と、前記第2のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第2のバスを介して前記第2のデバイスに転送するコントローラとを有することを特徴とするバスブリッジ回路。
【0065】
(付記2)前記コントローラは、前記第1のデバイスのデータをプリフェッチするための前記バイトイネーブル信号を前記第1のデバイスに送信することを特徴とする付記1のバスブリッジ回路。
【0066】
(付記3)前記エラー検出情報生成回路は、前記第2のデバイスからの前記バイトイネーブル信号と前記データバッファに受け入れたパリテイビットとのEx−ORを取るEX−OR回路で構成されたことを特徴とする付記1のバスブリッジ回路。
【0067】
(付記4)前記コントローラは、前記第1のデバイスへの前記リードリクエストに応じた前記第1のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第1のデバイスに送信し、且つ前記第1のデバイスからのデータを前記データバッファに格納した後、前記第2のデバイスにレデイ信号を送信し、前記第2のデバイスからのバイトイネーブル信号を受信することを特徴とする付記1のバスブリッジ回路。
【0068】
(付記5)前記データバッファが、FIFOバッファで構成されたことを特徴とする付記1のバスブリッジ回路。
【0069】
(付記6)リードリクエストを発生する第2のデバイスと、前記リードリクエストに対するリードデータを出力する第1のデバイスと、前記第2のデバイスと第2のバスで接続され、前記第1のデバイスと第1のバスで接続され、前記第1のデバイスからの前記第1のバスを介するリードデータを、前記第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路とを有し、前記第1のデバイスは、前記リードデータと、前記バスブリッジ回路からの前記第1のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを前記第1のバスに出力し、前記バスブリッジ回路は、前記第1のバスからの前記リードデータと前記エラー検出情報を受け入れ、格納するデータバッファと、前記第2のデバイスからの前記第2のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成回路と、前記第2のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第2のバスを介して前記第2のデバイスに転送するコントローラとを有することを特徴とするバス接続システム。
【0070】
(付記7)前記コントローラは、前記第1のデバイスのデータをプリフェッチするための前記バイトイネーブル信号を前記第1のデバイスに送信することを特徴とする付記6のバス接続システム。
【0071】
(付記8)前記エラー検出情報生成回路は、前記第2のデバイスからのバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報とのEx−ORを取るEX−OR回路で構成され、前記第1のデバイスは、前記バスブリッジ回路からの前記バイトイネーブル信号と前記リードデータから前記エラー検出情報を生成するEX−OR回路を有することを特徴とする付記6のバス接続システム。
【0072】
(付記9)前記コントローラは、前記第1のデバイスへの前記リードリクエストに応じた前記第1のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第1のデバイスに送信し、且つ前記第1のデバイスからのデータを前記データバッファに格納した後、前記第2のデバイスにレデイ信号を送信し、前記第2のデバイスからのバイトイネーブル信号を受信することを特徴とする付記6のバス接続システム。
【0073】
(付記10)前記データバッファが、FIFOバッファで構成されたことを特徴とする付記6のバス接続システム。
【0074】
(付記11)第2のデバイスからのリード要求に応じて、第1のデバイスにリード要求を発行し、前記第1のデバイスから第1のバスを介するデータを受け、第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路のデータエラー通知方法において、前記第1のバスのデータと、前記ブリッジ回路からの前記第1のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データから生成したエラー検出情報とを受け入れ、データバッファに格納するステップと、前記第2のデバイスからの前記第2のバスの並列データの所定ビット数単位にイネーブルを指示するバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報から新たなエラー検出情報を生成するエラー検出情報生成ステップと、前記第2のデバイスの前記バイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなエラー検出情報を、前記第2のバスを介して前記第2のデバイスに転送するステップとを有することを特徴とするバスブリッジ回路のデータエラー通知方法。
【0075】
(付記12)前記第1のデバイスのデータをプリフェッチするための前記バイトイネーブル信号を前記第1のデバイスに送信するステップを更に有することを特徴とする付記11のバスブリッジ回路のデータエラー通知方法。
【0076】
(付記13)前記エラー検出情報生成ステップは、前記第2のデバイスからのバイトイネーブル信号と前記データバッファに受け入れたエラー検出情報とのEx−ORを取るステップからなることを特徴とする付記11のバスブリッジ回路のデータエラー通知方法。
【0077】
(付記14)前記第1のデバイスへの前記リードリクエストに応じた前記第1のデバイスからのレデイ信号に応じて、前記バイトイネーブル信号を順次前記第1のデバイスに送信するステップと、前記第1のデバイスからのデータを前記データバッファに格納した後、前記第2のデバイスにレデイ信号を送信し、前記第2のデバイスからのバイトイネーブル信号を受信するステップとを更に有することを特徴とする付記11のバスブリッジ回路のデータエラー通知方法。
【0078】
(付記15)前記格納ステップは、データバッファであるFIFOバッファに前記リードデータとエラー検出情報を格納するステップからなることを特徴とする付記11のバスブリッジ回路のデータエラー通知方法。
【0079】
【発明の効果】
このように、本発明では、第1のデバイスで生成されたエラー検出情報と、第2のデバイスからのバイトイネーブル信号から新たなエラー検出情報を生成し、リードデータととともに第2のデバイスに転送するので、1次側と2次側のバスで、バイトエネーブルの値が異なっても、2次側バスのパリテイエラー等のエラー検出情報を正しく、1次側バスへ伝達できる。又、簡単な回路の付加で実現でき、容易に且つ低コストでかかる機能を実現できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態のPCIバス接続システムのブロック図である。
【図2】図1の構成を適用したストレージシステムの構成図である。
【図3】図1のPCIブリッジ回路の構成図である。
【図4】図3のPCIブリッジ回路のデータ転送動作のタイムチャート図である。
【図5】図3のパリテイ生成処理例の説明図である。
【図6】図3のパリテイ生成動作の説明図である。
【図7】従来のPCIブリッジ回路の説明図である。
【符号の説明】
1、2 ストレージコントローラ
7 PCIブリッジ回路
8 PCIデバイス(FCC)
9 第2のPCIバス
11、12、21、23 チャネルアダプター
13、14、23、24 デバイスアダプター
10、20 CPU
15,25 メモリ
16、26 プログラムメモリ
18,28 第1のPCIデバイス(IOブリッジ回路)
30、40 PCI−ノードブリッジ回路
31、41 第1のPCIバス
70 コントローラ
72 パリテイ生成回路
77,78 FIFOバッファ
50−1〜50−m、52−1〜52−n 物理デイスク装置(ストレージ装置)
180 パリテイ生成回路
Claims (5)
- 第2のデバイスからのリード要求に応じて、第1のデバイスにリード要求を発行し、前記第1のデバイスから第1のバスを介するデータを受け、第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路において、
前記第1のバスの前記第1のデバイスからのデータと、前記バスブリッジ回路からの前記第1のバスの並列データのバイト単位にイネーブルを指示する第1のバイトイネーブル信号と前記データから、前記第1のデバイスが生成したパリテイ信号とを受け入れ、格納するデータバッファと、
前記第2のデバイスからの前記第2のバスの並列データのバイト単位にイネーブルを指示する第2のバイトイネーブル信号と前記データバッファに受け入れた前記パリテイ信号とから新たなパリテイ信号を生成するエラー検出情報生成回路と、
前記第2のデバイスの前記第2のバイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなパリテイ信号を、前記第2のバスを介して前記第2のデバイスに転送するコントローラとを有する
ことを特徴とするバスブリッジ回路。 - 前記コントローラは、前記第1のデバイスのデータをプリフェッチするための前記第1のイネーブル信号を前記第1のデバイスに送信する
ことを特徴とする請求項1のバスブリッジ回路。 - 前記コントローラは、前記第1のデバイスへの前記リードリクエストに応じた前記第1のデバイスからのレデイ信号に応じて、前記第1のバイトイネーブル信号を順次前記第1のデバイスに送信し、
且つ前記第1のデバイスからのデータを前記データバッファに格納した後、前記第2のデバイスにレデイ信号を送信し、前記第2のデバイスからの前記第2のバイトイネーブル信号を受信する
ことを特徴とする請求項1のバスブリッジ回路。 - リードリクエストを発生する第2のデバイスと、
前記リードリクエストに対するリードデータを出力する第1のデバイスと、
前記第2のデバイスと第2のバスで接続され、前記第1のデバイスと第1のバスで接続され、前記第1のデバイスからの前記第1のバスを介するリードデータを、前記第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路とを有し、
前記第1のデバイスは、前記リードデータと、前記バスブリッジ回路からの前記第1のバスの並列データのバイト単位にイネーブルを指示する第1のバイトイネーブル信号と前記データから生成したパリテイ信号とを前記第1のバスに出力し、
前記バスブリッジ回路は、
前記第1のバスからの前記リードデータと前記パリテイ信号を受け入れ、格納するデータバッファと、
前記第2のデバイスからの前記第2のバスの並列データのバイト単位にイネーブルを指示する第2のバイトイネーブル信号と前記データバッファに受け入れた前記パリテイ信号から新たなパリテイ信号を生成するエラー検出情報生成回路と、
前記第2のデバイスの前記第2のバイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなパリテイ信号を、前記第2のバスを介して前記第2のデバイスに転送するコントローラとを有する
ことを特徴とするバス接続システム。 - 第2のデバイスからのリード要求に応じて、第1のデバイスにリード要求を発行し、前記第1のデバイスから第1のバスを介するデータを受け、第2のバスを介し前記第2のデバイスに転送するバスブリッジ回路のデータエラー通知方法において、
前記第1のバスの前記第1のデバイスからのデータと、前記バスブリッジ回路からの前記第1のバスの並列データのバイト単位にイネーブルを指示する第1のバイトイネーブル信号と前記データから前記第1のデバイスが生成したパリテイ信号とを受け入れ、データバッファに格納するステップと、
前記第2のデバイスからの前記第2のバスの並列データのバイト単位にイネーブルを指示する第2のバイトイネーブル信号と前記データバッファに受け入れた前記パリテイ信号から新たなパリテイ信号を生成するエラー検出情報生成ステップと、
前記第2のデバイスの前記第2のバイトイネーブル信号に応じて、前記データバッファのデータと、前記新たなパリテイ信号を、前記第2のバスを介して前記第2のデバイスに転送するステップとを有する
ことを特徴とするバスブリッジ回路のデータエラー通知方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003005284A JP4368587B2 (ja) | 2003-01-14 | 2003-01-14 | バスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法 |
US10/743,140 US7213180B2 (en) | 2003-01-14 | 2003-12-23 | Bus bridge circuit, bus connection system, and data error notification method for bus bridge circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003005284A JP4368587B2 (ja) | 2003-01-14 | 2003-01-14 | バスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004220220A JP2004220220A (ja) | 2004-08-05 |
JP4368587B2 true JP4368587B2 (ja) | 2009-11-18 |
Family
ID=32709013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003005284A Expired - Fee Related JP4368587B2 (ja) | 2003-01-14 | 2003-01-14 | バスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7213180B2 (ja) |
JP (1) | JP4368587B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194663B2 (en) * | 2003-11-18 | 2007-03-20 | Honeywell International, Inc. | Protective bus interface and method |
KR100567309B1 (ko) * | 2004-06-15 | 2006-04-04 | 삼성전자주식회사 | 데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법 |
JP4165499B2 (ja) * | 2004-12-13 | 2008-10-15 | 日本電気株式会社 | コンピュータシステム及びそれを用いたフォールトトレラントシステム並びにその動作制御方法 |
US7848232B2 (en) * | 2006-09-13 | 2010-12-07 | Dell Products L.P. | Time division multiplexed communication bus and related methods |
US8793538B2 (en) * | 2012-01-30 | 2014-07-29 | Hewlett-Packard Development Company, L.P. | System error response |
US9384086B1 (en) | 2015-11-30 | 2016-07-05 | International Business Machines Corporation | I/O operation-level error checking |
US9354967B1 (en) | 2015-11-30 | 2016-05-31 | International Business Machines Corporation | I/O operation-level error-handling |
JP6861611B2 (ja) * | 2017-11-07 | 2021-04-21 | ルネサスエレクトロニクス株式会社 | 半導体装置及びそれを備えた半導体システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155843A (en) * | 1990-06-29 | 1992-10-13 | Digital Equipment Corporation | Error transition mode for multi-processor system |
US5404482A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
JP3782840B2 (ja) * | 1995-07-14 | 2006-06-07 | 株式会社ルネサステクノロジ | 外部記憶装置およびそのメモリアクセス制御方法 |
JPH0981502A (ja) | 1995-09-08 | 1997-03-28 | Toshiba Corp | コンピュータシステム |
JP2002116961A (ja) * | 2000-10-11 | 2002-04-19 | Nec Corp | シリアル通信装置およびシリアル通信方法 |
US6975752B2 (en) * | 2001-01-31 | 2005-12-13 | General Electric Company | Imaging system including detector framing node |
US6934903B1 (en) * | 2001-12-17 | 2005-08-23 | Advanced Micro Devices, Inc. | Using microcode to correct ECC errors in a processor |
-
2003
- 2003-01-14 JP JP2003005284A patent/JP4368587B2/ja not_active Expired - Fee Related
- 2003-12-23 US US10/743,140 patent/US7213180B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040139269A1 (en) | 2004-07-15 |
US7213180B2 (en) | 2007-05-01 |
JP2004220220A (ja) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7761657B2 (en) | Storage control system, control method for storage control system, port selector, and controller | |
US6813688B2 (en) | System and method for efficient data mirroring in a pair of storage devices | |
US7730257B2 (en) | Method and computer program product to increase I/O write performance in a redundant array | |
US5937174A (en) | Scalable hierarchial memory structure for high data bandwidth raid applications | |
CN101452373B (zh) | 输入输出处理器 | |
KR100640037B1 (ko) | 파일 제어 시스템 및 파일 제어 장치 | |
US7493432B2 (en) | Storage system with memories each having DIMMs daisy-chain connected to one another and control method thereof | |
US11157204B2 (en) | Method of NVMe over fabric RAID implementation for read command execution | |
JP2007513435A (ja) | データ組織化を管理するための方法、システム、及びプログラム | |
WO1998038576A9 (en) | Fly-by xor | |
WO2016048724A1 (en) | Memory write management in a computer system | |
KR100195856B1 (ko) | 양방향 동기 다중 드롭 데이터 버스를 갖는 데이터처리시스템 | |
US20060112267A1 (en) | Trusted platform storage controller | |
WO2014094250A1 (zh) | 数据处理方法和设备 | |
US7552249B2 (en) | Direct memory access circuit and disk array device using same | |
JP4368587B2 (ja) | バスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法 | |
US6496878B1 (en) | Transfer progress alert module | |
CN115408707A (zh) | 一种数据传输方法、装置、***及电子设备和存储介质 | |
US10846256B2 (en) | Multi-endpoint device sideband communication system | |
US7370128B2 (en) | Expander device capable of communication protocol translation | |
US6370616B1 (en) | Memory interface controller for datum raid operations with a datum multiplier | |
US20080195837A1 (en) | Data access method, channel adapter, and data access control device | |
CN114546902A (zh) | 基于多协议访问存储器的***、设备和方法 | |
US20030182492A1 (en) | Method and system for handling interrupts and other communications in the presence of multiple processing sets | |
JP4175901B2 (ja) | バスブリッジ回路、バス接続システム、及びバスブリッジ回路のバッファ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090825 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090826 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |