(57)【要約】パリティデータを使用する１つのデータ組織化形式で１つのストレージデバイスアレイ内に記憶された旧データを更新する場合の、パリティデータを生成するための１つの方法、システム、及びプログラムが提供される。一実施形態において、１つのロジックエンジンは、１つの読み込みオペレーションにおいて取得された新データが記憶される複数のレジスタ又は複数のストアキューを有する。排他的論理和ファンクションのような１つの論理ファンクションが、他の１つの読み込みオペレーションにおいて取得された旧データを用いて、複数のレジスタのそれぞれの新データに対して実行される。第１タイプの新パリティデータを生成すべく、排他的論理和ファンクションのような１つのロジックファンクションが、他の１つの読み込みオペレーションにおいて取得された第１タイプの旧パリティデータを用いて、複数のレジスタのうちの１つの中の中間データに対して実行される。第２タイプの新パリティデータを生成すべく、排他的論理和ファンクションのような１つのロジックファンクションが、他の１つの読み込みオペレーションにおいて取得された第２タイプの旧パリティデータを用いて、複数のレジスタのうちの他の１つの中の中間データに対して実行される。【特許請求の範囲】
【請求項１】
旧データを変更する方法であって、
第１伝送オペレーションにおいて新データを、第２伝送オペレーションにおいて旧データを、第３伝送オペレーションにおいて旧第１パリティデータを、第４伝送オペレーションにおいて旧第２パリティデータを、１つのロジックエンジンに伝送する段階と、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データ、前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データ、前記第３伝送オペレーションにおいて前記ロジックエンジンに伝送された旧第１パリティデータを用いて、前記ロジックエンジンにおいて１つの新第１パリティデータを生成する段階と、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データ、前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データ、前記第４伝送オペレーションにおいて前記ロジックエンジンに伝送された旧第２パリティデータを用いて、前記ロジックエンジンにおいて１つの新第２パリティデータを生成する段階と
を備える方法。
【請求項２】
前記旧データ、旧第１パリティデータ、及び旧第２パリティデータは、複数のストレージデバイスにわたって記憶されるデータの１つのストライプ内に記憶される
請求項１に記載の方法。
【請求項３】
前記複数のストレージデバイスは、独立ディスク冗長アレイ（ＲＡＩＤ）構成で配置される
請求項２に記載の方法。
【請求項４】
前記新第１パリティデータは水平パリティデータである
請求項３に記載の方法。
【請求項５】
前記新第２パリティデータは対角パリティデータである
請求項４に記載の方法。
【請求項６】
前記ロジックエンジンにおいて１つの新第１パリティデータを生成する前記段階は、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データを、前記ロジックエンジンの１つの第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された新データに対して１つの排他的論理和の論理ファンクションオペレーションを実行する段階
を有し、
前記ロジックエンジンにおいて新第２パリティデータを生成する前記段階は、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データを、前記ロジックエンジンの１つの第２ストアキューに適用し、前記第２ストアキューの内容及び前記適用された新データに対して１つの排他的論理和の論理ファンクションオペレーションを実行する段階
を有する
請求項１に記載の方法。
【請求項７】
前記ロジックエンジンにおいて１つの新第１パリティデータを生成する前記段階は、
前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データを、前記ロジックエンジンの前記第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された旧データに対して１つの排他的論理和の論理ファンクションオペレーションを実行する段階
を有し、
前記ロジックエンジンにおいて新第２パリティデータを生成する前記段階は、
前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データを、前記ロジックエンジンの前記第２ストアキューに適用し、前記第２ストアキューの内容及び前記旧データに対して１つの排他的論理和の論理ファンクションオペレーションを実行する段階
を有する
請求項６に記載の方法。
【請求項８】
前記ロジックエンジンにおいて１つの新第１パリティデータを生成する前記段階は、
前記第３伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧第１パリティデータを、前記ロジックエンジンの前記第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された旧第１パリティデータに対して１つの排他的論理和の論理ファンクションオペレーションを実行する段階
を有し、
前記ロジックエンジンにおいて新第２パリティデータを生成する前記段階は、
前記第４伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧第２パリティデータを、前記ロジックエンジンの前記第２ストアキューに適用し、前記第２ストアキューの内容及び前記旧第２パリティデータに対して１つの排他的論理和の論理ファンクションオペレーションを実行する段階
を有する
請求項７に記載の方法。
【請求項９】
旧データが１つの揮発性メモリから前記ロジックエンジンに伝送される
請求項１に記載の方法。
【請求項１０】
前記ストライプ内の前記旧データを前記新データで上書きし、前記旧第１パリティデータを前記新第１パリティデータで上書きし、前記旧第２パリティデータを前記新第２パリティデータで上書きする段階
をさらに備える請求項２に記載の方法。
【請求項１１】
１つのストレージメディアを備える製品であって、前記ストレージメディアは、
第１伝送オペレーションにおいて新データを、第２伝送オペレーションにおいて旧データを、第３伝送オペレーションにおいて旧第１パリティデータを、第４伝送オペレーションにおいて旧第２パリティデータを、１つのロジックエンジンに伝送し、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データ、前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データ、前記第３伝送オペレーションにおいて前記ロジックエンジンに伝送された旧第１パリティデータを用いて、前記ロジックエンジンにおいて１つの新第１パリティデータを生成し、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データ、前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データ、前記第４伝送オペレーションにおいて前記ロジックエンジンに伝送された旧第２パリティデータを用いて、前記ロジックエンジンにおいて１つの新第２パリティデータを生成する
ための記憶された複数の機械可読命令を有する製品。
【請求項１２】
前記旧データ、旧第１パリティデータ、及び旧第２パリティデータは、複数のストレージデバイスにわたって記憶されるデータの１つのストライプ内に記憶される
請求項１１に記載の製品。
【請求項１３】
前記複数のストレージデバイスは、独立ディスク冗長アレイ構成（ＲＡＩＤ）で配置される
請求項１２に記載の製品。
【請求項１４】
前記新第１パリティデータは水平パリティデータである
請求項１３に記載の製品。
【請求項１５】
前記新第２パリティデータは対角パリティデータである
請求項１４に記載の製品。
【請求項１６】
前記ロジックエンジンにおいて１つの新第１パリティデータを生成するための前記複数の機械可読命令は、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データを、前記ロジックエンジンの１つの第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された新データに対して１つの排他的論理和の論理ファンクションオペレーションを実行するための、前記ストレージメディアに記憶された複数の機械可読命令
を有し、
前記ロジックエンジンにおいて新第２パリティデータを生成するための前記複数の機械可読命令は、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データを、前記ロジックエンジンの１つの第２ストアキューに適用し、前記第２ストアキューの内容及び前記適用された新データに対して１つの排他的論理和の論理ファンクションオペレーションを実行するための、前記ストレージメディアに記憶された複数の機械可読命令
を有する
請求項１１に記載の製品。
【請求項１７】
前記ロジックエンジンにおいて１つの新第１パリティデータを生成するための前記複数の機械可読命令は、
前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データを、前記ロジックエンジンの前記第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された旧データに対して１つの排他的論理和の論理ファンクションオペレーションを実行するための、前記ストレージメディアに記憶された複数の機械可読命令
を有し、
前記ロジックエンジンにおいて新第２パリティデータを生成するための前記複数の機械可読命令は、
前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データを、前記ロジックエンジンの前記第２ストアキューに適用し、前記第２ストアキューの内容及び前記旧データに対して１つの排他的論理和の論理ファンクションオペレーションを実行するための、前記ストレージメディアに記憶された複数の機械可読命令
を有する請求項１６に記載の製品。
【請求項１８】
前記ロジックエンジンにおいて１つの新第１パリティデータを生成するための前記複数の機械可読命令は、
前記第３伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧第１パリティデータを、前記ロジックエンジンの前記第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された旧第１パリティデータに対して１つの排他的論理和の論理ファンクションオペレーションを実行するための、前記ストレージメディアに記憶された複数の機械可読命令
を有し、
前記ロジックエンジンにおいて新第２パリティデータを生成するための前記複数の機械可読命令は、
前記第４伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧第２パリティデータを、前記ロジックエンジンの前記第２ストアキューに適用し、前記第２ストアキューの内容及び前記旧第２パリティデータに対して１つの排他的論理和の論理ファンクションオペレーションを実行するための、前記ストレージメディアに記憶された複数の機械可読命令
を有する
請求項１７に記載の製品。
【請求項１９】
旧データが１つの揮発性メモリから前記ロジックエンジンに伝送される
請求項１１に記載の製品。
【請求項２０】
前記ストレージメディアは、
前記ストライプ内の前記旧データを前記新データで上書きし、前記旧第１パリティデータを前記新第１パリティデータで上書きし、前記旧第２パリティデータを前記新第２パリティデータで上書きするための、記憶された複数の機械可読命令
をさらに有する請求項１２に記載の製品。
【請求項２１】
１つのオペレーティングシステム及び１つのアプリケーションを有する少なくとも１つのメモリと、
前記メモリに結合された１つのプロセッサと、
複数のストレージデバイスを有するデータストレージと、
前記データストレージに対する入出力（Ｉ／Ｏ）アクセスを管理すべく構成され、１つのロジックエンジンを有する１つのデータストレージプロセッサと、
プロセッサによって実行可能な、前記メモリ内の１つのデバイスドライバと
を備え、
前記オペレーティングシステム、デバイスドライバ、及び前記ストレージプロセッサのうちの少なくとも１つは、
第１伝送オペレーションにおいて新データを、第２伝送オペレーションにおいて旧データを、第３伝送オペレーションにおいて旧第１パリティデータを、第４伝送オペレーションにおいて旧第２パリティデータを、前記ロジックエンジンに伝送し、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データ、前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データ、前記第３伝送オペレーションにおいて前記ロジックエンジンに伝送された旧第１パリティデータを用いて、前記ロジックエンジンにおいて１つの新第１パリティデータを生成し、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データ、前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データ、前記第４伝送オペレーションにおいて前記ロジックエンジンに伝送された旧第２パリティデータを用いて、前記ロジックエンジンにおいて１つの新第２パリティデータを生成すべく構成された
システム。
【請求項２２】
前記旧データ、旧第１パリティデータ、及び旧第２パリティデータは、複数のストレージデバイスにわたって記憶されるデータの１つのストライプ内に記憶される
請求項２１に記載のシステム。
【請求項２３】
前記複数のストレージデバイスは、独立ディスク冗長アレイ（ＲＡＩＤ）構成で配置される
請求項２２に記載のシステム。
【請求項２４】
前記新第１パリティデータは水平パリティデータである
請求項２３に記載のシステム。
【請求項２５】
前記新第２パリティデータは対角パリティデータである
請求項２４に記載のシステム。
【請求項２６】
前記ロジックエンジンにおいて１つの新第１パリティデータを前記生成することは、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データを、前記ロジックエンジンの１つの第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された新データに対して１つの排他的論理和の論理ファンクションオペレーションを実行し、
前記ロジックエンジンにおいて新第２パリティデータを前記生成することは、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データを、前記ロジックエンジンの１つの第２ストアキューに適用し、前記第２ストアキューの内容及び前記適用された新データに対して１つの排他的論理和の論理ファンクションオペレーションを実行する
請求項２１に記載のシステム。
【請求項２７】
前記ロジックエンジンにおいて１つの新第１パリティデータを前記生成することは、
前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データを、前記ロジックエンジンの前記第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された旧データに対して１つの排他的論理和の論理ファンクションオペレーションを実行し、
前記ロジックエンジンにおいて新第２パリティデータを前記生成することは、
前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データを、前記ロジックエンジンの前記第２ストアキューに適用し、前記第２ストアキューの内容及び前記旧データに対して１つの排他的論理和の論理ファンクションオペレーションを実行する
請求項２６に記載のシステム。
【請求項２８】
前記ロジックエンジンにおいて１つの新第１パリティデータを前記生成することは、
前記第３伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧第１パリティデータを、前記ロジックエンジンの前記第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された旧第１パリティデータに対して１つの排他的論理和の論理ファンクションオペレーションを実行し、
前記ロジックエンジンにおいて新第２パリティデータを前記生成することは、
前記第４伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧第２パリティデータを、前記ロジックエンジンの前記第２ストアキューに適用し、前記第２ストアキューの内容及び前記旧第２パリティデータに対して１つの排他的論理和の論理ファンクションオペレーションを実行する
請求項２７に記載のシステム。
【請求項２９】
前記プロセッサに結合された１つのビデオコントローラ
をさらに備える請求項２１に記載のシステム。
【請求項３０】
前記オペレーティングシステム、デバイスドライバ、及び前記ストレージプロセッサはのうちの前記少なくとも１つは、さらに、
前記ストライプ内の前記旧データを前記新データで上書きし、前記旧第１パリティデータを前記新第１パリティデータで上書きし、前記旧第２パリティデータを前記新第２パリティデータで上書きすべく構成される
請求項２２に記載のシステム。
【請求項３１】
複数のデータストレージユニットを有する１つのデータストレージ用の１つのストレージプロセッサであって、
１つのメモリと、
１つのロジックエンジンと
１つのプロセッシングユニットであって、
第１伝送オペレーションにおいて新データを、第２伝送オペレーションにおいて旧データを、第３伝送オペレーションにおいて旧第１パリティデータを、第４伝送オペレーションにおいて旧第２パリティデータを、前記ロジックエンジンに伝送し、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データ、前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データ、前記第３伝送オペレーションにおいて前記ロジックエンジンに伝送された旧第１パリティデータを用いて、前記ロジックエンジンにおいて１つの新第１パリティデータを生成し、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データ、前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データ、前記第４伝送オペレーションにおいて前記ロジックエンジンに伝送された旧第２パリティデータを用いて、前記ロジックエンジンにおいて１つの新第２パリティデータを生成すべく構成される、１つのプロセッシングユニットと
を備えるストレージプロセッサ。
【請求項３２】
前記旧データ、旧第１パリティデータ、及び旧第２パリティデータは、複数のストレージデバイスにわたって記憶されるデータの１つのストライプ内に記憶される
請求項３１に記載のストレージプロセッサ。
【請求項３３】
前記複数のストレージデバイスは、独立ディスク冗長アレイ（ＲＡＩＤ）構成で配置される
請求項３２に記載のストレージプロセッサ。
【請求項３４】
前記新第１パリティデータは水平パリティデータである
請求項３３に記載のストレージプロセッサ。
【請求項３５】
前記新第２パリティデータは対角パリティデータである
請求項３４に記載のストレージプロセッサ。
【請求項３６】
前記ロジックエンジンにおいて１つの新第１パリティデータを前記生成することは、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データを、前記ロジックエンジンの１つの第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された新データに対して１つの排他的論理和の論理ファンクションオペレーションを実行し、
前記ロジックエンジンにおいて新第２パリティデータを前記生成することは、
前記第１伝送オペレーションにおいて前記ロジックエンジンに伝送された前記新データを、前記ロジックエンジンの１つの第２ストアキューに適用し、前記第２ストアキューの内容及び前記適用された新データに対して１つの排他的論理和の論理ファンクションオペレーションを実行する
請求項３１に記載のストレージプロセッサ。
【請求項３７】
前記ロジックエンジンにおいて１つの新第１パリティデータを前記生成することは、
前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データを、前記ロジックエンジンの前記第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された旧データに対して１つの排他的論理和の論理ファンクションオペレーションを実行し、
前記ロジックエンジンにおいて新第２パリティデータを前記生成することは、
前記第２伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧データを、前記ロジックエンジンの前記第２ストアキューに適用し、前記第２ストアキューの内容及び前記旧データに対して１つの排他的論理和の論理ファンクションオペレーションを実行する
請求項３６に記載のストレージプロセッサ。
【請求項３８】
前記ロジックエンジンにおいて１つの新第１パリティデータを前記生成することは、
前記第３伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧第１パリティデータを、前記ロジックエンジンの前記第１ストアキューに適用し、前記第１ストアキューの内容及び前記適用された旧第１パリティデータに対して１つの排他的論理和の論理ファンクションオペレーションを実行し、
前記ロジックエンジンにおいて新第２パリティデータを前記生成することは、
前記第４伝送オペレーションにおいて前記ロジックエンジンに伝送された前記旧第２パリティデータを、前記ロジックエンジンの前記第２ストアキューに適用し、前記第２ストアキューの内容及び前記旧第２パリティデータに対して１つの排他的論理和の論理ファンクションオペレーションを実行する
請求項３７に記載のストレージプロセッサ。
【請求項３９】
前記プロセッシングユニットは、さらに、
前記ストライプ内の前記旧データを前記新データで上書きし、前記旧第１パリティデータを前記新第１パリティデータで上書きし、前記旧第２パリティデータを前記新第２パリティデータで上書きすべく構成される
請求項３２に記載のストレージプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、ＲＡＩＤシステムのような、１つの組織化システムのためのパリティデータを生成するための方法、システム、及びプログラムに関する。
【背景技術】
【０００２】
ディスクドライブのようなデータ記憶デバイスに記憶されるデー他の一例のタを組織化するために様々な技術が提案されている。そのようなデータ記憶構成の１つは、独立（又は廉価）ディスク冗長アレイすなわち（ＲＡＩＤ）と呼ばれる。ＲＡＩＤ構成においては、２以上のディスクドライブが、耐障害性又はパフォーマンス、或いはその両方を向上させるべく組み合わせて使用される。異なる複数のタイプのＲＡＩＤデータストレージ構成が存在しており、これらの異なる複数のタイプはしばしばＲＡＩＤレベル０、１、２、・・・と呼ばれる。
【０００３】
ＲＡＩＤレベル０のデータ構成においては、例えば、１つのユーザファイルのデータは"ストライプ"すなわちユーザデータの複数のブロックが、パフォーマンスを向上させるべく複数のディスクにわたって分散される。しかしながら、ＲＡＩＤレベル０のデータ構成においては、一般的には、もしドライブのうちの１つが機能しなくなった場合にデータのリカバリのために提供される冗長性は存在しない。ＲＡＩＤレベル３のデータ構成はＲＡＩＤレベル０に似ているが、１つのディスクは典型的にはエラー訂正データを記憶するためにリザーブされ、エラー訂正データはしばしば"パリティデータと呼ばれる。このパリティデータは、ドライブのうちの１つが機能しなくなった場合に失われたデータ再構築するために使用され得る。ＲＡＩＤレベル５のデータ構成においては、ディスクドライブアレイにわたるデータストライプのそれぞれについてパリティデータが提供され、パリティデータを記憶することに個別のディスクドライブは供されない。代わりに、パフォーマンスを向上させるべく、ユーザデータの複数のストライプのためのパリティデータの複数のブロックが、全てのディスクアレイにわたって分散される。
【０００４】
１つのＲＡＩＤ５構成において、ディスクドライブアレイにわたるデータストライプのそれぞれについてパリティデータの１つのブロックが存在する。そのような配置は、１つのドライブが機能しなくなった場合にデータの容易な復元を提供する。２以上のドライブが機能しなくなった場合に、いくつかのストレージアプリケーションは、よりロバストなデータ保護から利益を得ることができる。一般的にそれぞれのデータストライプについてパリティデータの２つのブロックを持つ追加のＲＡＩＤスキームが開発されている。１つの知られたパリティスキームは、"水平"パリティブロック及び"対角"パリティブロックを含む。ＲＡＩＤ−５ＤＰ（デュアルパリティ）又はＲＡＩＤ６のような用語が、これら又は類似のデータ組織化構成のためにストレージ業界で使用される。
【０００５】
図１は、ＲＡＩＤシステムにおけるストライプｎのような１つのストライプ上の旧データを新データで更新する場合に、新パリティデータを生成すべく実行され得る論理オペレーションを示す。図１に示されるように、１つの排他的論理和ファンクションが、新データ３０及びストライプｎの旧データ３２上で実行される。ストライプｎについての新パリティデータ３６を生成すべく、排他的論理和ファンクションの結果が、ストライプｎの旧パリティデータ３４と排他的論理和がとられる。新パリティデータ３６は適切なＲＡＩＤストレージユニット上の旧パリティデータ３４を上書きするために使用され、新データ３０は適切なＲＡＩＤストレージユニット上の旧データ３２を上書きするために使用される。
【０００６】
図２は、図１の論理機能に従って、新データを複数のＲＡＩＤストレージユニットに書き込む場合に新パリティデータを生成するＲＡＩＤストレージプロセッサのロジックエンジン５０の従来技術の一例を示す。ロジックエンジン５０は、矢印５４によって表されるようなストアキュー５２の内容及び矢印５６によって表されるような入力に存在するデータについて排他的論理和の論理ファンクションを実行することができる１つのストアキュー５２を有する。Ｉｎｔｅｌ８０３０３集積回路チップは、アプリケーションアクセラレータユニット（ＡＡＵ）と呼ばれる１つの類似のロジックエンジンを持つ。
【０００７】
新パリティデータの生成における図２のロジックエンジン５０のオペレーションは図３に表される。ストアキュー５２をリセット（ブロック６０）すると、新データ３０がローカルメモリ６４（図２）読み込まれ（ブロック６２）、ストアキュー５２に記憶される。ストアキュー５２が予めリセットされているので、ローカルメモリ６４から読み込まれた新データ３０及びストアキュー５２のリセット内容を排他的論理和ファンクションを実行することによって、新データ３０がストアキュー５２に記憶される。読み込みオペレーションのサイズは、典型的にはストアキュー５２の容量に依存する。したがって、例えばストアキュー５２の容量が１Ｋバイトである場合、一般的に、読み込みオペレーションはストアキュー５２が１Ｋバイトの新データ３０で満たされるまで継続する。
【０００８】
新データ３０によって置き換えられるべき旧データ３２がローカルメモリ６４から読み込まれ（ブロック６４）、ストアキュー５２に予め記憶された新データ３０と排他的論理和がとられ（ブロック６６）、ストアキュー５２内に中間結果として記憶される。第３読み込みオペレーションにおいて、ローカルメモリ６４から旧パリティデータ３４が読み込まれ（ブロック６８）、ストアキュー５２に予め記憶されている中間結果と排他的論理和がとられる（ブロック７０）。最後の排他的論理和オペレーションの結果が、続くローカルメモリ６４及び複数のストレージデバイスのストライプｎへの転送のためにストアキュー５２に記憶される新パリティデータ３６となる。
【０００９】
それにもかかわらず、データストレージ構成におけるプロセッサのパフォーマンスを向上させるために、継続的な技術的必要性が存在する。
【図面の簡単な説明】
【００１０】
全体にわたり同様の参照番号が対応する構成要素を表す図面を参照する。
【図１】ＲＡＩＤパリティデータを生成する従来技術を示す。
【図２】ＲＡＩＤパリティデータの生成のためのロジックエンジンの従来技術を示す。
【図３】図２のロジックエンジンの従来技術を用いてパリティデータを生成するオペレーションの従来技術を示す。
【図４】複数の態様が実装されたコンピューティング環境の一実施形態を示す。
【図５】ＲＡＩＤパリティデータの生成のための複数の態様に従う、ストレージプロセッサの一実施形態を示す。
【図６】ＲＡＩＤパリティデータの生成のための複数の態様に従う、図５のストレージプロセッサのためのロジックエンジンの一実施形態を示す。
【図７Ａ】パリティデータを生成するために実行される複数のオペレーションの一実施形態を示す。
【図７Ｂ】パリティデータを生成するために実行される複数のオペレーションの一実施形態を示す。
【図８Ａ】パリティデータを生成する複数のオペレーションの一実施形態における、図６のロジックエンジンのストアキューの内容を示す。
【図８Ｂ】パリティデータを生成する複数のオペレーションの一実施形態における、図６のロジックエンジンのストアキューの内容を示す。
【図９】記載された複数の実施形態で使用され得る一アーキテクチャを示す。
【発明を実施するための最良の形態】
【００１１】
以下の説明において、この文書の一部を形成し、いくつかの実施形態を示す添付の図面に対して参照がなされる。他の実施形態が利用されてよく、構造的又は機能的変更がなされてよいことが理解される。
【００１２】
図４は、複数の態様が実装された１つのコンピューティング環境を示す。１つのコンピュータ１０２は、１以上の中央処理装置（ＣＰＵ１０４（１つだけ図示される）、１つのメモリ１０６、不揮発性ストレージ１０８、１つのストレージプロセッサ１０９、１つのオペレーティングシステム１１０、及び１つのネットワークアダプタ１１２を備える。さらに、アプリケーションプログラム１１４は、メモリ内で実行され、ストレージ１０８からデータを読み込み、ストレージ１０８にデータを書き込むことができる。コンピュータ１０２は、メインフレーム、サーバ、パーソナルコンピュータ、ワークステーション、ラップトップ、ハンドヘルドコンピュータ、テレフォニーデバイス、ネットワークアプライアンス、仮想化デバイス、ストレージプロセッサ、ストレージコントローラ等のような、技術的に知られた任意のコンピューティングデバイスを備えてよい。技術的に知られた任意のＣＰＵ１０４及びオペレーティングシステム１１０が使用されてよい。メモリ管理オペレーションの一環として、メモリ１０６内の複数のプログラム及びデータはストレージ１０８にスワップされてよい。
【００１３】
デバイスドライバ１２０は、メモリ１０６内で実行され、ストレージプロセッサ１０９と通信し、オペレーティングシステム１１０とストレージデバイス１０９との間を仲介するためのストレージプロセッサ特有のコマンドを有する。例えば、ストレージ１０８は、ディスクドライブ１５０ａ、１５０ｂ、・・・、１５０ｎを有してよく、データは、１つのＲＡＩＤ構成タイプにおける１以上のディスクドライブ１５０ａ、１５０ｂ、・・・、１５０ｎに最初に記録される。このストレージプロセッサ１０９は、コンピュータ１０２の一部であってよく、或いは、例えば１つのストレージプロセッサ１５４及びディスクドライブ１５０ａ、１５０ｂ、・・・、１５０ｎの他のセットを有する１つのストレージ１５６で示されるように、ネットワークアダプタ１１２を介してネットワーク１５２によりコンピュータ１０２に接続されてよい。そのようなネットワーク接続されたストレージプロセッサ１５４のために、デバイスドライバ１２０は、ネットワークストレージ１５６にデータを書き込むためにストレージプロセッサ１５４にデータを伝送すべくネットワークアダプタ１１２と通信するための、ネットワークアダプタ特有の複数のコマンドを有する。
【００１４】
いくつかの実施形態において、ストレージプロセッサ１０９は、ストレージ１０８からのデータの読み込み又はストレージ１０８へのデータの書き込みにおいてコンピュータ１０２をアシストするためのいくつかの機能を実行する。例えば、ストレージプロセッサ１０９は、データ更新及び他のデータオペレーションの間にパリティデータの生成を管理する１つのパリティデータマネージャ１３０を有してよい。このように、データパリティマネージャ１３０は、ディスクドライブ１５０ａ、・・・、１５０ｎ上のユーザデータを更新する場合にパリティデータを更新するために使用され得る。ストレージプロセッサ１０９は、これら及び他の機能を実行するための、ソフトウェア、ファームウェア、又はハードウェア、或いはそれらの組合せを有してよい。
【００１５】
適切なストレージプロセッサ１０９の一例が図５に示される。ストレージプロセッサ１０９は、ホストコンピュータ１０２とストレージ１０８との間での大量のデータの高速移動を促進する。ストレージプロセッサ１０９は、ホストコンピュータ１０２の１つのプライマリバス１６２とストレージ１０８の１つのアタッチメントコントローラ１６６に結合された１つのセカンダリバス１６４との間の１つのブリッジ１６０を有する。ブリッジ１６０は、例えばシリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）コントローラであり得るアタッチメントコントローラ１６６が、プライマリバス１６２から物理的に分離されることを可能にする。
【００１６】
プライマリアドレス変換ユニット１６８は、プライマリバス１６２から１つのプロセッサ１７０及び１つのローカルメモリ１７２への１つのローカルバス１７４を介した１つの高スループットデータパスを提供する。複数のパリティブロックを生成するための排他的論理和演算を提供する１つのロジックエンジン１７６も、ローカルバス１７４に結合されている。セカンダリアドレス変換ユニット１７８は、プロセッサ１７０及びローカルメモリ１７２からセカンダリバス１６４への高スループットデータパスを提供する。図示された実施形態において、バス１６２、１６４はＰＣＩバスであるが、他のタイプの周辺バスも使用され得る。
【００１７】
ローカルメモリ１７２は、１つのメモリコントローラ１８０を有する。図示された実施形態において、ローカルメモリ１７２は揮発性のＲＡＭタイプのメモリであり、データをキャッシュするために使用される。他の複数のタイプのメモリも使用され得る。ダイレクトメモリアクセス（ＤＭＡ）コントローラ１８２、１８４は、ホストコンピュータ１０２からローカルメモリ１７２及びローカルメモリ１７２からドライブ１５０ａ・・・１５０ｎへの複数のダイレクトメモリ転送を可能にする。
【００１８】
先に説明されたように、いくつかのＲＡＩＤスキームは、それぞれのデータストライプについて１つの水平パリティブロック及び１つの対角パリティブロックのようなパリティデータの２つのブロックを利用する。新データがストライプに書き込まれた場合、新たな水平パリティデータ及び新たな対角パリティデータも共に生成され得る。ロジックエンジン５０及び上で説明されたパリティ生成オペレーションを利用するために、６つの読み込みオペレーション、すなわち、新パリティデータの生成について先に説明されたような水平パリティデータを生成するための３つの読み込みオペレーション及び対角パリティデータを生成するための３つの読み込みオペレーションが利用されると信じられている。
【００１９】
図示された実施形態の１態様に従って、ストレージプロセッサ１０９のロジックエンジン１７６のような１つのロジックエンジンが、いくつかの用途において、パリティデータの複数のブロックの効率的な生成を著しく促進する。例えば、１つの用途において、ＲＡＩＤで構成されたデータを更新する場合に複数のパリティブロックを生成するための読み込みオペレーションの数が著しく低減される。
【００２０】
図６は、ここでそれぞれストアキュー１、ストアキュー２と呼ばれるストアキュー２００ａ、２００ｂのペアを含むロジックエンジン１７６の一例を概略形式で示す。ストアキュー１は、矢印２０２で表されるようなストアキュー１の内容及び矢印２０４によって表されるような入力に存在するデータに排他的論理和の論理ファンクションを実行することができる。同様に、ストアキュー２は、矢印２０６で表されるようなストアキュー２の内容及び矢印２０８によって表されるような入力に存在するデータに排他的論理和の論理ファンクションを実行することができる。図示された実施形態の一態様に従って、ローカルメモリ１７２のような１つのソースから１つの読み込みオペレーションで読み込まれたデータは、ストアキュー１、２のうちの１つ又は両方の内容と、追加の読み込みオペレーションなしで選択的に排他的論理和がとられる。以下により詳細に説明されるが、そのような一構成は、パリティデータ生成を促進することができる。
【００２１】
図示された実施形態において、ロジックエンジン１７６が複数のストアキューを含むことが示される。複数のレジスタ並びに他のタイプのメモリ及び複数の論理回路を含む他のタイプの複数の回路が使用され得る。
【００２２】
図７ａ、７ｂ、及び８ａ、８ｂは、ストレージ１０８に記憶されたデータを新データで更新する場合に二重のパリティデータを生成するための、プロセッサ１７０及びロジックエンジン１７６を含むことができる１つのパリティデータマネージャ１３０のオペレーションの一例を示す。本例において、水平及び対角パリティブロックは、新データで更新されるべきそれぞれのストライプについて生成される。ここで説明される方法及び構造を利用して他のタイプの複数のパリティブロックが生成されてもよいことが理解される。
【００２３】
本例において、ディスクドライブ１５０ａ・・・１５０ｎ上のストライプｎの１つのブロック内の旧データを置き換えるべき新データは、ホストコンピュータ１０２によってローカルメモリ１７２内に予め記憶されていた。ホストコンピュータ１０２からのローカルメモリ１７２へのこのデータ転送は、いくつかの実施形態において、ＤＭＡコントローラ１８２を使用した１つのＤＭＡ転送であってよい。ローカルメモリ内に一度に記憶される新データの量は、ローカルメモリ１７２の容量に依存するだろう。本実施形態において、新データに加えて、新データによって置き換えられている旧データは、ストレージ１０８から転送され、ローカルメモリ１７２内に記憶される。同様に、以下に説明されるように生成される新たな水平パリティデータによって置き換えられる古い水平パリティデータも、ストレージ１０８から転送されて、ローカルメモリ１７２内に記憶される。さらに、以下に説明されるように生成される新たな対角パリティデータによって置き換えられる古い対角パリティデータも、ストレージ１０８から転送されて、ローカルメモリ１７２内に記憶される。
【００２４】
図８ａ、対向する図７ａのブロック２２０に示されるように、ストアキュー１及びストアキュー２を共にリセット（ブロック２２０）するとストアキュー１及びストアキュー２の内容は共に空になる。図８ａ、図７ａの対向するブロック２２２に示されるように、新データがストレージプロセッサ１０９のローカルメモリ１７２から読み込まれ（ブロック２２２）ストアキュー１及びストアキュー２の両方に記憶される。
【００２５】
ストアキュー１が予めリセットされたので、新データは、ローカルメモリ１７２から読み込まれた新データ及びストアキューのリセット内容と排他的論理和ファンクション（図６）を実行することによって、ストアキュー１内に記録され得る。ストアキュー１内の新データの記憶とともに、同じ新データが、ストアキュー２のリセット内容と排他的論理和ファンクション（図６）を実行することによってストアキュー２に記憶されて得る。同じ新データが、ローカルメモリ１７２からの１つの読み込みオペレーションを利用してストアキュー１、２の両方の中に記憶され得ることが理解される。ローカルメモリ１７２からの新データ読み込みオペレーションのサイズは、典型的にはストアキュー１、２の容量に依存するだろう。したがって、例えば、ストアキュー１、２のそれぞれの容量が１Ｋバイトである場合、ストアキュー１、２のそれぞれが、ブロックｎのような、ディスクドライブ１５０ａ、１５０ｂ・・・１５０ｎのストライプｎの１つのブロックについての１Ｋバイトの新データで満たされるまで読み込みオペレーションが継続する。
【００２６】
新データによって置き換えられる旧データも、ローカルメモリ１７２から読み込まれる（ブロック２２４）。図８ａ、図７ａの対向するブロック２２６に示されるように、旧データがストアキュー１内に予め記憶された新データと排他的論理和がとられ（ブロック２２６）ストアキュー１内に１つの中間結果として記憶される。図８ａ、図７ａの対向するブロック２２６に示されるように、ストアキュー１の内容との旧データの排他的論理和ファンクションとともに、旧データはストアキュー２内に予め記憶された新データと排他的論理和もとられ（ブロック２２６）、ストアキュー２内に１つの中間結果として記憶される。同じ旧データが、ローカルメモリ１７２からの１つの読み込みオペレーションを利用してストアキュー１、２の両方の内容と排他的論理和がとられ得ることが理解される。
【００２７】
第３の読み込みオペレーションにおいて、古い水平パリティデータがローカルメモリ１７２から読み込まれ（図７ｂのブロック２２８）、ストアキュー１内に予め記憶された中間結果と排他的論理和がとられる。図８ｂ、図７ｂの対向するブロック２３０に示されるように、ストアキュー１についてのこの最後の排他的論理和オペレーションの結果が、ストアキュー１内に記憶される新たな水平パリティデータになる。ストレージプロセッサ１０９によるストレージデバイス１５０ａ・・・５０ｎのストライプｎの水平パリティブロックへの続く転送のために、矢印２３１（図６）によって示されるように、新たな水平パリティデータがストアキュー１からローカルメモリ１７２に書き込まれる。
【００２８】
第４の読み込みオペレーションにおいて、古い対角パリティデータがローカルメモリ１７２から読み込まれ（ブロック２３２）ストアキュー２内に予め記憶された中間結果と排他的論理和がとられる（ブロック２３４）。図８ｂ、図７ｂの対向するブロック２３４に示されるように、ストアキュー２についてのこの最後の排他的論理和オペレーションの結果が、ストアキュー１内に記憶される新たな対角パリティデータになる。ストレージプロセッサ１０９によるストレージデバイス１５０ａ・・・５０ｎのストライプｎの対角パリティブロックへの続く転送のために、矢印２３５（図６）によって示されるように、新たな対角パリティデータがストアキュー２からローカルメモリ１７２に書き込まれる。
【００２９】
ディスクドライブ１５０ａ、１５０ｂ・・・１５０ｎのストライプｎへの新たな水平パリティデータ及び新たな対角パリティデータの書き込みとともに、新データもまたストライプｎの１つのブロックに書き込まれる。新データについて新たな水平及び対角パリティデータが生成され、新データ並びに新たな水平パリティ及び対角パリティデータが、ディスクドライブ１５０ａ、１５０ｂ・・・１５０ｎのストライプｎの、関連する複数のブロックに書き込まれるまで、図７ａ、７ｂの複数のオペレーションが反復される。
【００３０】
示された実施形態において、新データ、旧データ、及び古いパリティの読み込みオペレーションは、ローカルメモリ１７２からロジックエンジン１７６へのデータの複数の転送を持つ。他の実施形態において、本出願の代理人にアサインされ、２００３年１２月２９日に出願され、代理人番号Ｐ１７７３２、タイトル"データ構成を管理するための方法、システム、及びプログラム"の対応する出願に記載されるように、データは、ストレージ１０８のようなストレージからロジックエンジン１７６のような１つのロジックエンジンに直接転送され得る。
追加の実施形態の詳細
【００３１】
パリティデータ生成を管理するための説明された技術は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを作り出す広く使われているプログラムミング及び／又はエンジニアリング技術を用いて、１つの方法、装置、又は製品として実装され得る。ここで使用される"製品"という用語は、ハードウェアロジック（集積回路チップ、プログラママブルゲートアレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）、或いは磁気ストレージ媒体（例えば、複数のハードディスクドライブ、複数のフレキシブルディスク、テープ等）、光学ストレージ（複数のＣＤ−ＲＯＭ、複数の光ディスク等）、揮発性及び不揮発性メモリデバイス（例えば、複数のＥＥＰＲＯＭ、複数のＲＯＭ、複数のＰＲＯＭ、複数のＲＡＭ、複数のＤＲＡＭ、複数のＳＲＡＭ、ファームウェア、プログラマブルロジック等）のような１つのコンピュータ可読メディアに実装されたコード又は論理を意味する。コンピュータ可読メディア内のコードは、１つのプロセッサによってアクセスされて実行される。好ましい実施形態が実装されたコードはさらに、１つの伝送メディアを通じて又は１つのネットワークをわたって１つのファイルサーバからアクセス可能であってよい。そのようなケースにおいて、コードが実装された製品は、１つのネットワーク伝送線、ワイヤレス伝送媒体、空間を伝搬する信号、無線波、赤外線信号等のような伝送メディアを備えてよい。したがって、"製品"は、コードが組み込まれたメディアを備えてよい。さらに、"製品"は、コードが組み込まれ、処理され、実行される、ハードウェア及びソフトウェアコンポーネントの１つの組み合わせを備えてよい。勿論、当業者は、多くの変形が本構成になされてよく、製品は、当業者に知られた情報を担う任意の媒体備えるということを理解するだろう。
【００３２】
いくつかの実施形態において、ストレージプロセッサ１０９は、データ更新及び他のデータオペレーションの間にパリティデータの生成を管理する１つのパリティデータマネージャ１３０を有してよい。ストレージプロセッサ１０９は、これら及び他の機能を実行するための、ソフトウェア、ファームウェア、又はハードウェア、或いはそれらの組合せを有してよい。例えば、一実施形態において、プロセッサ１７０及びロジックエンジン１７６は、ホストプロセッサから独立した１つのストレージプロセッサ１０９内のハードウェアに実装されてよい。他の実施形態において、パリティデータマネージャは、ド複数のライバ、１つのオペレーティングシステム又は１つのアプリケーション、或いはこれらの組み合わせを含むホストソフトウェアに実装されてよい。
【００３３】
いくつかの実施形態において、１つのコンピュータシステムは、１つのドライバ、及び、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）、シリアルアタッチドＳＣＳＩ（ＳＡＳ）、独立ディスク冗長アレイ（ＲＡＩＤ）等、１つの磁気ディスクドライブ、テープ媒体、光ディスク等のような１つの不揮発ストレージデバイスへのアクセスを管理するコントローラのような、１つのストレージコントローラを備えてよい。他の実装において、ストレージコントローラの実施形態は、１つのドライバを含まない１つのシステム内に含まれてよい。デバイス及びエキスパンダのためのＳＡＳアーキテクチャについてのさらなる詳細は、参照番号ＩＳＯ／ＩＥＣ  １４７７６−１５０：２００ｘの技術仕様書" Information Technology - Serial Attached SCSI (SAS)"及びＡＮＳＩによって発表されたＡＮＳＩ  ＩＮＣＩＴＳ．＊＊＊：２００ｘ  ＰＨＹレイヤ（２００３年７月９日）に記載されている。ＳＡＴＡアーキテクチャについての詳細は、技術仕様書"Serial ATA: High Speed Serialized AT Attachment"リビジョン１．０Ａ（２００３年１月）に記載されている。
【００３４】
いくつかの実施形態において、デバイスドライバ及びストレージプロセッサの実施形態は、デスクトップ、ワークステーション、サーバ、メインフレーム、ラップトップ、ハンドヘルドコンピュータ等のような、デバイスドライバ及びネットワークアダプタを含むコンピュータシステムに結合された１つのモニタ上に表示する情報をレンダリングする１つのビデオコントローラを含む１つのコンピュータシステム内に実装されてよい。他にも、ストレージプロセッサ及びデバイスドライバの実施形態は、ビデオコントローラを含まない１つのコンピューティングデバイスに実装されてよい。
【００３５】
いくつかの実施形態において、ロジックエンジンが、２つのストアキュー１、２、又はレジスタ２００ａ、２００ｂを持つとして示された。他にも、ロジックエンジンは、２つより多くのタイプのパリティデータが生成される場合には、追加の複数のストアキュー又は複数のレジスタを持つこともできる。
【００３６】
いくつかの実施形態において、ネットワークアダプタは、ネットワークアダプタ上の１つのポートに接続された１つのケーブルをわたってデータを伝送すべく構成されてよい。他にも、ネットワークアダプタの実施形態は、ワイヤレスＬＡＮ、ブルートゥース等のような１つのワイヤレスネットワーク又は接続にわたってデータを伝送すべく構成されてよい。
【００３７】
図７ａ−ｂ、８ａ、８ｂの図示されたロジックは、ある順番で発生するいくつかのイベントを示す。他の実施形態において、いくつかのオペレーションは、異なる順番で、変更又は削除されて、実行されてよい。さらに、複数のオペレーションが前述のロジックに追加されてよく、依然として説明された実施形態に従う。さらに、ここに説明されたオペレーションはシーケンシャルに発生してよいし、いくつかのオペレーションはパラレルに処理されてよい。またさらに、オペレーションは１つのプロセッシングユニット又は分散された複数のプロセッシングユニットによって実行されてよい。
【００３８】
図９は、図４に示された複数のホスト及び複数のストレージデバイスのような、ネットワークコンポーネントの１つのコンピュータアーキテクチャ５００の１つの実装を示す。アーキテクチャ５００は、１つのプロセッサ５０２（例えば１つのマイクロプロセッサ）、１つのメモリ５０４（例えば１つの揮発性メモリデバイス）、及びストレージ５０６（例えば、複数の磁気ディスクドライブ、複数の光ディスクドライブ、１つのテープドライブ等のような１つの不揮発性ストレージ）を備える。ストレージ５０６は、１つの内部ストレージデバイス又は１つのアタッチされた又はネットワークアクセス可能なストレージを有する。ストレージ５０６内の複数のプログラムは、当業者に知られた方法で、メモリ５０４にロードされてプロセッサ５０２によって実行される。１つのストレージプロセッサ又はコントローラ５０７はストレージ５０６をコントロールすることができる。アーキテクチャはさらに、イーサネット（登録商標）、ファイバチャネルアービトレーテッドループ等のような１つのネットワークとの通信を可能にする１つのネットワークアダプタ５０８を備える。ファイバチャネルアーキテクチャの詳細は、ドキュメント番号ＩＳＯ／ＩＥＣ  ＡＷＩ  １４１６５−２５の技術仕様書" Fibre Channel Framing and Signaling Interface"に記載されている。
【００３９】
さらに、アーキテクチャは、いくつかの実施形態において、ディスプレイモニタ上に情報をレンダリングする１つのビデオコントローラ５０９を備えてよい。ビデオコントローラ５０９は１つのビデオカード上に実装されてよく、或いはマザーボード上に実装された集積回路部品に集積されてよい。議論されたように、ネットワークデバイスのいくつかは、複数のストレージカード又は複数のコントローラを有してよい。１つの入力デバイス５１０は、ユーザ入力をプロセッサ５０２に供給するために使用され、１つのキーボード、マウス、ペンスタイラス、マイクロホン、タッチディスプレイスクリーン、或いは当業者に知られた任意のアクチベーション又は入力メカニズムを有してよい。出力デバイス５１２は、ディスプレイモニタ、プリンタ、ストレージ等のような、プロセッサ５０２から伝送される情報をレンダリングすることができ、又は他のコンポーネントである。
【００４０】
ストレージコントローラ５０６及びネットワークアダプタ５０８は、１つのペリフェラルコンポーネントインターコネクト（ＰＣＩ）カード又はいくつかの他のＩ／Ｏカードのようなカード上、或いはマザーボード上に実装された集積回路部品上に、それぞれ実装されてよい。ＰＣＩアーキテクチャについての詳細は、ＰＣＩ−ＳＩＧによって発表された" PCI Local Bus, Rev. 2.3"に記載されている。
【００４１】
前述の様々な実施形態が、実例及び説明を目的として提示された。上の細目、例、及びデータは、ある実施形態の構成の製作及び使用の１つの包括的な説明を提供する。完全であること又は開示された厳密な形に限定することは意図されていない。多くの変更及び変形が上の教示を考慮に入れると可能である。 
【図１】
2007524932.tif 000002
【図２】
2007524932.tif 000003
【図３】
2007524932.tif 000004
【図４】
2007524932.tif 000005
【図５】
2007524932.tif 000006
【図６】
2007524932.tif 000007
【図７Ａ】
2007524932.tif 000008
【図７Ｂ】
2007524932.tif 000009
【図８Ａ】
2007524932.tif 000010
【図８Ｂ】
2007524932.tif 000011
【図９】
2007524932.tif 000012