(57)【要約】【課題】  メモリ・コントローラ・レベルのＲＡＩＤに必要とされる追加のチップおよびシステムの複雑化を防ぐ。【解決手段】  本発明にかかるメモリシステムにおいて、第１のデータ・メモリは、第１のメモリ・コントローラに、第２のデータ・メモリは、第２のメモリ・コントローラに、パリティ・メモリは、パリティ・コントローラに結合され、パリティ・コントローラは、第１および第２のメモリ・コントローラに直接結合される。パリティ・データ制御ロジックは、第１および第２のデータ・メモリ内のデータと関連付けられたパリティ情報を記憶して取り出し、パリティ・データ制御ロジックは、第１のデータ・メモリ内のデータと関連付けられたパリティ・データを、前記第２のデータ・メモリ内のデータと関連付けられたパリティ・データと、パリティ・メモリ内でインタリーブする。【選択図】図２
2005108224.tif 000002
【特許請求の範囲】
【請求項１】
ホスト集積回路（１０２）と、
第１のアドレス空間（５７２）を定義する少なくとも１つの関連付けられたメモリ（３０２、４０２）を有する第１のメモリ・コントローラ（Ｄ０）と、
第２のアドレス空間（５７４）を定義する少なくとも１つの関連付けられたメモリ（３０６、４０６）を有する第２のメモリ・コントローラ（Ｄ１）と、
前記第１と第２のメモリ・コントローラ（Ｄ０、Ｄ１）と関連付けられた前記メモリに記憶されるデータと関連付けられたパリティ情報を記憶するパリティ・メモリ（Ｐ）と、
前記パリティ・メモリにデータを記憶するコントローラであって、前記第１のメモリ・コントローラと関連付けられた前記メモリに記憶されたデータと関連付けられたパリティ・データを、前記第２のメモリ・コントローラと関連付けられた前記メモリに記憶されたデータとインターリーブ方式で記憶するように構成されたコントローラと
を具備するメモリ・システム。
【請求項２】
前記メモリ・システムは、ＲＡＩＤメモリ・システムである
請求項１に記載のメモリ・システム。
【請求項３】
前記メモリ・システムは、ＲＡＩＤ３メモリ・システムである
請求項１に記載のメモリ・システム。
【請求項４】
前記第１および第２のメモリ・コンローラ（Ｄ０、Ｄ１）は、前記第１と第２のアドレス空間を重ならないように定義するように構成されうる
請求項１に記載のメモリ・システム。
【請求項５】
アドレス・ビットは、前記パリティ・メモリ内にパリティ情報を記憶し取り出すために使用される複数のアドレス・ビットに追加され、
前記追加されたアドレス・ビットは、前記第１のメモリ・コントローラと関連付けられたパリティ情報を記憶し取り出すときに第１の値に設定され、
前記追加されたアドレス・ビットは、前記第２のメモリ・コントローラと関連付けられたパリティ情報を記憶し取り出すときに、第２の値に設定される
請求項１に記載のメモリ・システム。
【請求項６】
前記第１のメモリ・コントローラと、関連付けられたメモリ（３０２、４０２）と、前記第２のメモリ・コントローラとに関連付けられたメモリが、異なるサイズである
請求項１に記載のメモリ・システム。
【請求項７】
前記パリティ・メモリ（Ｐ）は、少なくとも、前記第１のメモリ・コントローラ（Ｄ０）と関連付けられた前記メモリと、前記第２のメモリ・コントローラ（Ｄ１）と関連付けられた前記メモリの大きい方と、実質的に同じ大きさである
請求項１に記載のメモリ・システム。
【請求項８】
前記第１のメモリ・コントローラ（Ｄ０）と関連付けられた２つのメモリ・バス（４４２、４４４）と、
前記第２のメモリ・コントローラと関連付けられた２つのメモリ・バス（４４６、４４８）と、
２つのパリティ・メモリ・バス（４５２、４５４）と
が存在する請求項１に記載のメモリ・システム。
【請求項９】
複数のメモリ・コントローラと関連付けられたパリティ情報を管理する方法であって、
前記第１のメモリ・コントローラ（Ｄ０）に結合された第１のデータ・メモリ（３０２、４０２）に記憶されるデータと関連付けられた第１のパリティ情報を生成する段階と、
第２のメモリ・コントローラ（Ｄ１）に結合された第２のデータ・メモリ（３０６、４０６）に記憶されるデータと関連付けられた第２のパリティ情報を生成する段階と、
パリティ・コントローラ（Ｐ）に結合されたパリティ・メモリ（３３０、４３０）に前記第１と第２のパリティ情報を記憶する段階と
を有し、
前記第１と第２のパリティ情報が、前記パリティ・メモリ内にインターリーブ方式（５８２）で記憶される
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、改良されたＲＡＩＤメモリ・システムに関する。
【背景技術】
【０００２】
ＲＡＩＤ（ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｅｘｐｅｎｓｉｖｅ  ｄｉｓｋｓ）は、大容量記憶装置の入出力性能と信頼性を高めるために使用される技術であることは既知である。
ＲＡＩＤアレイは、冗長アーキテクチャを使用することによって故障許容（ｆａｕｌｔ  ｔｏｌｅｒａｎｃｅ）を実現しており、ＲＡＩＤアレイを制御するディスク・コントローラは、ＲＡＩＤコントローラと呼ばれる。
ＲＡＩＤシステムにおいて、１つまたは複数の記憶ユニットが故障した場合でもデータへの即時アクセスを実現するために、データが複数の記憶ユニット（例えば、ディスク）に記憶される。
【０００３】
ＲＡＩＤ技術の基本は、「ストライピング」であり、これは、複数の記憶ユニットを論理記憶ユニットの結合する特定の方法を指す。
ストライピングは、各ドライブの記憶空間を、１セクタ（５１２バイト）の小さなものや数メガバイトの大きなものでよい「ストライプ」に区分する。
次に、そのようなストライプは、回転順序でインタリーブされ、それにより、結合された空間は、各ドライブからのストライプから交互に構成される。
【０００４】
ＲＡＩＤコントローラの１つの大きなタスクは、ハードウェア障害によって生じるデータ損失を防ぐことである。
ＲＡＩＤコントローラは、様々な組の機能を提供する様々な「レベル」で定義されてきた。
【０００５】
ＲＡＩＤレベル０は、ＲＡＩＤ０とも呼ばれ、複数のディスクを、個々のディスクの容量の和と等しい容量の１つの仮想ディスクとして表すストライプ・セットからなる。
ストライプ・セットの信頼性は、その最も信頼性の低い構成要素よりも低い。
ＲＡＩＤ０は、冗長性を提供しないため、真の冗長コントローラではない。
しかしながら、並列転送技術の使用は、安価であり従って多くの低コスト・ユーザにとって魅力的な性能重視のアーキテクチャである。
【０００６】
ＲＡＩＤレベル１は、ＲＡＩＤ１とも呼ばれ、記憶ユニットのミラー化された１組の仮想記憶ユニットを作成する。
ミラーリングは、複製のデータを記憶するがコンピュータには１つの記憶ユニットとして見える１対の記憶ユニット上で実施される。
１つのミラー化された記憶ユニット対の中でストライピングは使用されないが、複数のＲＡＩＤＩアレイをストライピングして１つの大きなアレイを作成することができる。
ＲＡＩＤ１は、高い信頼性を提供する。
【０００７】
ＲＡＩＤレベル２は、ＲＡＩＤ２とも呼ばれ、ハミング符号化を使用して誤り検出および訂正機能をアレイに提供するする並列アクセス・アレイである。
これは、高価な手法で、一般に使用されない。
【０００８】
ＲＡＩＤレベル３は、ＲＡＩＤ３とも呼ばれ、高いデータ転送率に最適化されており、パリティを有する並列転送技術である。
各データ・セクタが細分され、データがすべてのデータ記憶ユニットに分散され、冗長データが専用パリティ記憶ユニットに記憶される。
当業者に理解されるように、信頼性は単一の記憶ユニットよりもはるかに高い。
【０００９】
ＲＡＩＤレベル４は、ＲＡＩＤ４とも呼ばれ、いくつかの点でＲＡＩＤ３と類似している。
ＲＡＩＤ３と同様に、冗長データが、個別のパリティ記憶ユニットに記憶される。
ＲＡＩＤ４は、個別の記憶ユニット駆動アクチュエータの動作を「切り離し」、各ディスクに大きい方の最小量のデータを読み書きすることによって、ＲＡＩＤ３システムの小さなファイルのランダム読み出し性能を改善する。
この機能は、高い入出力読み出し速度を可能にするが、書き込み速度はあまり速くない。
ＲＡＩＤ４は、主に、読み出しが多くかつ高いデータ転送速度を必要としないシステムに適している。
【００１０】
ＲＡＩＤレベル５は、ＲＡＩＤ５とも呼ばれ、回転パリティ（ｒｏｔａｔｉｎｇ  ｐａｒｉｔｙ）を有する個別のアクセス・アレイである。
データ・セクタは、ディスク・ストライピング・システムと同じように分散されるが、冗長情報は、ＲＡＩＤ３やＲＡＩＤ４システムのような１つのパリティ記憶ユニットに記憶されるのではなく、複数のアレイ・メンバ全体にユーザ・データが分散される。
これにより、１つの専用パリティ記憶ユニットを使用するＲＡＩＤ４コントローラと関連した書き込みボトルネックがなくなる。
ＲＡＩＤ５アレイは、高いデータ信頼性、高いデータ転送速度、および高い入出力速度能力を有する。
【００１１】
以上、一般に、ディスク・ドライブ市場におけるＲＡＩＤシステムを説明した。
しかしながら、ＲＡＩＤシステムは、ディスク・ドライブ市場から半導体メモリ市場に拡張されてきていることは既知である。
したがって、ＲＡＩＤシステムは、磁気ドライブと光学ドライブだけでなくシリコン・メモリでも実現されることが知られている。
そのような従来のＲＡＩＤメモリ・システムを示すブロック図である図１を参照されたい。
【００１２】
図１に示したように、既知のＲＡＩＤメモリ・システムは、ＲＡＩＤメモリ６１とパリティ・メモリ６３に結合されたＲＡＩＤメモリ・コントローラ１０を含み、ＲＡＩＤメモリ６１は、ＤＲＡＭなどの様々なタイプのメモリの任意のタイプでよい。
また、一般に参照されるタイプのＲＡＩＤメモリは、ＤＩＭＭ（ｄｕａｌ  ｉｎｌｉｎｅ  ｍｅｍｏｒｙ  ｍｏｄｕｌｅ）メモリである。
図１には、ホスト１０２とシステム・バス１０５も示されている。
ホスト１０２とＲＡＩＤメモリ６１の間で送られる情報またはデータは、ＲＡＩＤメモリ・コントローラ１０を介して送られる。
ＲＡＩＤメモリ・コントローラへの内部には、ＲＡＩＤメモリ６１内に記憶されたデータのパリティ情報を生成する論理回路がある。
図１に示したシステムの構造と動作に関する詳細は、周知であり、本明細書において説明されなくてもよい。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本明細書に示した目的に関連するものは、ホスト１０２、ＲＡＩＤメモリ・コントローラ１０、およびＲＡＩＤメモリ６１の縦の関係である。
通信チャネル７２、７３および７４のチャネル幅が大きくなるほど、ＲＡＩＤメモリ・コントローラ１０のピン数も増える。
製造コストのため、周知のように、このピン数が増えると、ＲＡＩＤメモリ・コントローラ１０の構成要素のコストが大幅に上昇することがある。
【００１４】
さらに、既知のメモリＲＡＩＤシステムおよびソリューションは、ＤＩＭＭバス・レベルではなくメモリ・コントローラ・レベルでＲＡＩＤを提供する。
これは、残念ながら、階層構造のレベルの追加と、追加のチップおよびシステムの複雑さを必要とする。
【課題を解決するための手段】
【００１５】
したがって、従来技術のシステムの以上その他の欠点に有効に対処するシステムを提供することが望ましい。
この点で、本発明の実施形態は、メモリ・システムを広く対象とする。
１つの実施形態において、第１のデータ・メモリが、第１のメモリ・コントローラに結合され、第２のデータ・メモリが、第２のメモリ・コントローラに結合されている。
パリティ・メモリが、パリティ・コントローラに結合され、パリティ・コントローラが、第１のメモリ・コントローラと第２のメモリ・コントローラに直接結合されている。
パリティ・データ制御ロジックは、第１のデータ・メモリと第２のデータ・メモリの両方に記憶されたデータと関連付けられたパリティ情報を記憶し取り出すように構成されており、パリティ・データ制御ロジックは、第１のデータ・メモリに記憶されたデータと関連付けられたパリティ・データを、前記第２のデータ・メモリに記憶されたデータと関連付けられたパリティ・データと、パリティ・メモリ内でインタリーブするように構成されている。
【００１６】
本明細書に含まれその一部分を構成する添付図面は、本発明のいくつかの態様を示し、説明と共に本発明の原理を説明する働きをする。
【発明を実施するための最良の形態】
【００１７】
本明細書で説明するように、本発明の様々な態様および実施形態がある。
１つの実施形態により、本発明は、独特なＲＡＩＤメモリ・システムを対象とする。
【００１８】
次に、図２を参照すると、この図は、メモリ２０２、２０４、２０６および２０８に対するデータ・アクセスを制御する連動するメモリ・コントローラＤ０およびＤ１を有するシステムの１つの実施形態を示す。
図２に示したシステムの１つの独特な態様は、システム・バス１０５の分割に関する。
この点において、各メモリ・コントローラＤ０およびＤ１は、システム・バス１０５の一部分だけに直接結合されている。
別個のチップ間バス２１０が、コントローラＤ０とＤ１の間の直通通信を提供する。
システム・バス１０５からチップＤ０に送られた情報は、必要に応じて、このチップ間バス２１０を介してチップＤ１に送られることがある。
図２に示し、この図に示した様々な構成要素間で情報を通信する方法を含むシステムの実施形態は、２００３年７月３０日に出願された「Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ  ｗｉｔｈ  ａ  ｓｃａｌａｂｌｅ  ｈｉｇｈ−ｂａｎｄｗｉｄｔｈ  ａｒｃｈｉｔｅｃｔｕｒｅ」と題する同時継続米国特許出願第１０／６３０，４６０号に詳しく記載されている。
【００１９】
次に図３を参照すると、この図は、図２に示したシステムを拡張したシステムの実施形態を示す。
この点で、図３に示したシステムは、図２の実施形態に関する説明と同じように、２つのメモリ・コントローラ・チップ３２１および３２３がスプリット・システム・バス１０５を介してホスト１０２と相互通信するＲＡＩＤメモリ・システムを対象としている。
さらに、パリティ・コントローラ・チップ３２０が、メモリ・コントローラ・チップ３２１と３２３の間に挟まれており、チップ間通信リンク３２２および３２４を介してメモリ・コントローラ・チップ３２１および３２３と通信する。
ＲＡＩＤメモリ３３０は、ＲＡＩＤメモリ制御チップ３２０に結合され、様々なデータ・メモリ３０２、３０４、３０６および３０８に記憶されたデータと関連付けられたパリティ情報を記憶する。
図３に示したシステムは、２００３年７月３１日に出願された「Ｉｍｐｒｏｖｅｄ  ｍｅｍｏｒｙ  ｓｙｓｔｅｍ  ａｎｄ  ｃｏｎｔｒｏｌｌｅｒ  ｆｏｒ  ｓａｍｅ」と題する同時係属出願第１０／６３２，１９９号により詳しく既済されている。
この同時係属出願は、参照により本明細書に組み込まれる。
【００２０】
次に、本発明の実施形態を示す図である図４を参照する。
図４の実施形態は、図３の実施形態と類似しているが、２つのＲＡＩＤメモリ構成要素４３０および４３２を示す。
図４の実施形態において、２つのメモリ・コントローラ４２１および４２３はそれぞれ独立に動作し、それぞれ２つのＤＩＭＭバス４４２、４４４、４４６および４４８と関連付けられている。
２つのメモリ・コントローラ４２１および４２３は、パリティ・コントローラ４２０と相互通信し、パリティ・コントローラ４２０は、ＤＩＭＭバス４５２および４５４を介して２つのＲＡＩＤメモリ４３０および４３２に接続されている。
送られる情報によって、コントローラ・チップ４２１、４２３および４２０は、コントローラ４２１および４２３の適切な動作を促進するために、チップ間リンク４２２および４２４を介して相互通信して入ってくるデータを共用する。
この点で、４２３は、４２１が必要とする情報をシステム・バス１０５から得た場合、その情報を、チップ間バスとパリティ・コントローラＰを介して４２１に送ることができる。
【００２１】
１つの実施形態において、メモリ・コントローラ４２１は、その関連付けられたメモリ４０２および４０４に記憶されるデータにＲＡＩＤパリティ計算を実行し、その結果のパリティ・データを、その関連付けられたメモリ４３０および４３２に記憶するためにＲＡＩＤコントローラ４２０に送ることができる。
同様に、メモリ・コントローラ４２３は、その関連付けられたメモリ４３０および４３２に記憶されるデータのＲＡＩＤパリティ計算を実行し、その結果のパリティ・データを、その関連付けられたメモリ４３０および４３２に記憶するためにＲＡＩＤコントローラ４２０に送ることができる。
この実施形態において、コントローラ４２０が、２つの独立したコントローラ４２１および４２３から受け取ったＲＡＩＤパリティ情報は、メモリ４３０および４３２にインターリーブされる。
メモリ４３０および４３２内のパリティ・データ記憶のインタリービングと制御を管理するパリティ・データ制御ロジック４６０が提供される。
【００２２】
図４に示したように、図３に示した実施形態にさらに１つのＤＩＭＭバス４５４が提供される。
図４の実施形態は、特にＲＡＩＤ３メモリ・システムに適しており、ここで、結果のＲＡＩＤパリティ・データは、元のデータに含まれるバイト数の半分である。
図４の実施形態は、観測時の大文字使用から利益を得ることがあり、すなわち、ほとんどのメモリ・サブシステムにおける読み出しまたは書き込みトランザクションは、長さが２バイト以上である。
したがって、一般に、メモリ装置への読み出しまたは書き込みコマンドによって、メモリ装置内の複数のメモリ・ロケーションに対する読み出しまたは書き込みが行われる。
ＲＡＩＤ３メモリ・システム・パリティ情報は、元のデータの長さの半分なので、パリティ・メモリに対するバースト読み出しまたは書き込みは、元のデータのバースト読み出しまたは書き込みの長さの半分である。
これにより、２つのＲＡＩＤ３メモリ・コントローラを１つのパリティ・コントローラで共用することが容易になる。
ＲＡＩＤメモリ・コントローラＰと接続した２つのＤＩＭＭバス４５２および４５４を利用することによって、メモリ４０２、４０４、４０６、および４０８に記憶された元のデータのパリティ情報をＲＡＩＤメモリ４３０および４３２に記憶することができる。
【００２３】
ＲＡＩＤコントローラ４２０に２つの独立したＲＡＭバスがなく、むしろＤＩＭＭバス４５２および４５４が１つの幅広いＲＡＭバスとして動作するように構成されていることを理解されたい。
しかしながら、システムをこのように構成すると、コントローラ４３０がバス４５２と４５４を１つの幅広いＤＩＭＭバスとして見なすときに、４２１と４２３がパリティＲＡＭ４３０と４３２に別々にアクセスさせる難しさが生じることがある。
このジレンマの解決は、パリティ・データを、各ＤＩＭＭごとではなくアドレスごとにインタリーブするようにパリティ・データ制御ロジック４６０を構成することにより達成することができる。
【００２４】
図４の実施形態において、図３と同じように、要求エージェント１０２は、様々なＲＡＭデバイス４０２、４０４、４０６および４０８を単一のメモリ・ドメインと見なす。
しかしながら、図４のメモリ・コントローラ４２１と４２３はそれぞれ独立に動作し、全体のメモリ・アドレス空間は、それぞれのメモリ・コントローラ・ロジック制御レジスタ（図示せず）の制御設定に基づいてＤコントローラ間で分割されることがある。
しかしながら、ＲＡＩＤメモリ４３０と４３２の容量が少なくとも、４２１と関連付けられたメモリのアドレス空間と、４２３と関連付けられたメモリとのアドレス空間の大きい方と同程度の大きさであることを理解されたい。
図５に、この概念を示す。
図５に示したように、エージェント・チップ１０２は、Ｄ０  ５７２が所有するアドレス空間とＤ１  ５７４が所有するアドレス空間を合わせたアドレス空間を有効に「認識」する。
５７４の大きい方のブロックで示したように、コントローラ４２３が、大きい方のメモリ空間を所有することが分かる。
したがって、５８２で示したパリティ・メモリは、コントローラ４２３が所有するメモリ空間５７４と少なくとも同じサイズである。
パリティ・データ制御ロジック４６０（図４）は、例えば図５のブロック５８２に示したように、代替４２１、Ｄ１、４２１、Ｄ１にパリティ・データをインターリーブするように動作する。
さらにパリティ・メモリ５８２の一番下の近くに示したように、４２１のメモリ空間がＤ１メモリ空間よりも小さい場合には、４２１が所有するアドレス空間に対応するパリティ情報に予約された余分なメモリ「スロット」は未使用でよい。
【００２５】
図３に示した実施形態では、データが２つのＤＩＭＭを介して読み書きされるが、パリティ情報が１つのＤＩＭＭを介して読み書きされるので、パリティ・データは、読み書きデータ・トランザクションのバースト長と同じであったバースト長を使用して、単一のＤＩＭＭ全体の単一パリティ・メモリに書き込まれる。
これと対照的に、図４の実施形態では、パリティ情報を読み書きするために、情報を読み書きするために使用されるのと同じ数のＤＩＭＭが使用される。
したがって、パリティ・メモリにパリティ情報を読み書きするためには、バースト長の半分しか必要ない。
例えば、元のデータが、１２８バイト転送チャンク（例えば、１２８バイトＤＭＡ）でアクセスされる場合、アドレスの７つのＬＳＢ（１２８バイト・チャンク内のデータ）は、ＤＭＡ転送を管理する方法によって、どんな値でもよいことがある。
長さがわずか半分のパリティ・データは、６４バイト・チャンクでアクセスされ、６つの最下位ビットはどんな値でもよい。
パリティ・データ制御ロジック４６０は、メモリ・ドメインのコントローラの４２１部分内にあるアドレスの第７ビット位置に０を挿入し、同時にトランザクションがアドレス・ドメインのコントローラの４２３部分内にある場合に、アドレスの第７ビット位置に１を挿入するだけで、パリティ・データをインターリーブすることができる。
このように第７ビット位置を使用してアドレス指定を管理することにより、パリティ情報がインタリーブされる。
パリティ情報をこのようにインタリーブすることによって、各メモリ・コントローラ４２１または４２３のデータ・メモリから元のデータを取り出すときに、これと対応してパリティ・データをパリティ・メモリから取り出すことができる。
【００２６】
図３と図４の両方において、要求エージェント（例えば、プロセッサ）は、２つのデータ・メモリ制御チップによって制御されるメモリを、１つの一体化されたドメインとして認識する。
この点で、実際にメモリがどのように制御されアクセスされるかの詳細は、エージェントから隠される。
エージェントは、大きいメモリ・ドメインを有する１つのコントローラと、小さい方のドメインをそれぞれ有する２つのコントローラを区別できない。
【００２７】
図３と図４のシステムの違いは、２つのメモリ・コントローラが連係しメモリ空間を共用する方法である。
図３では、ＲＡＩＤアルゴリズムは、コントローラ４２１および４２３を固定方式（ｌｏｃｋ  ｓｔｅｐ）で動作させ、それぞれ同一のメモリ構成を有する。
２つのコントローラは、実際には、４つのＤＩＭＭバス幅メモリ・サブシステムを備えた１つのコントローラがあるかのように動作する。
この環境で、エンド・ユーザは、５つのＤＩＭＭセット（４つのメモリと１つのパリティ）でメモリを追加または除去し、これは、ユーザによっては望ましくない場合がある。
図４に示したＲＡＩＤアルゴリズムは、固定方式の２つのコントローラを有する要件を解決し、これは、この手法の１つの利点である。
各コントローラは、完全に独立したメモリ・サブシステム、アドレス空間、アドレス・デコード設定などを有することができる。
少なくとも２つのコントローラ・サブシステムの大きい方に存在する程度のＲＡＭをパリティ・サブシステムに有するという要件を満たす場合は、エンド・ユーザは、２つのＤＩＭＭ対でメモリを追加または除去することができる。
この手法によってパリティＲＡＭが増えるが、これにより、エンド・ユーザがＲＡＭをより小さな増分で追加または除去できるという融通性が高まる。
【００２８】
さらに詳しい説明によって、書き込みトランザクション・シーケンスは、以下のように行われることがある。
パリティ・コントローラ４２０は、エージェント１０２から見えるようなアドレス空間全体にわたってアドレスを認識するようにプログラムされることがある（図５を参照）。
メモリ・コントローラ４２１と４２３は、アドレス空間の個別（かつ、場合によっては異種）の部分を制御することができる。
エージェント１０２は、システム・バス１０５を介して書き込み要求と書き込みデータを送ることがある。
各コントローラ・チップ内の一体化されたバス・ロジックは、（例えば、チップ間リンクを介して互いにデータを渡すことによって）スプリット・バス１０５からの書き込みトランザクションとデータを再構成する。
メモリ・コントローラ４２３と４２１はそれぞれ、各アドレス空間内にある書き込みトランザクションを請求し（例えば、制御を行う）、書き込みトランザクションによって受け取ったアドレスに書き込みコマンドを発行する。
パリティ・コントローラ４２０は、書き込みデータに基づいてＤコントローラのどちらかに送られる書き込みトランザクションごとにパリティ・データを計算し、（前述のように）書き込みトランザクションによって受け取ったアドレス空間の第７ビットに１または０を追加し、元のデータによって必要とされるバースト長の半分の書き込みを修正済みアドレスに発行する。
パリティ・コントローラ４２０のこの動作によって、適切なメモリ４３０および４３２にパリティ・データが記憶される。
【００２９】
同様に、読み込みトランザクション・シーケンスに関して、パリティ・コントローラ４２０は、エージェント１０２から見えるような空間全体にわたるアドレスを認識するようにプログラムされる。
メモリ・コントローラ４２１および４２３は、アドレス空間の別々の部分を制御することができる。
エージェント１０２は、スプリット・バス１０５を介して読出要求を送ることができ、コントローラ・チップ内の一体化されたバス・ロジックは、スプリット・バスからの読み込みトランザクションを再構成する。
メモリ・コントローラ４２１と４２３は、各アドレス空間内にあるトランザクションを請求し、読み込みトランザクションによって受け取ったアドレスに適切な読み出しコマンドを発行する。
適切なメモリ・コントローラ４２３または４２１は、読み込みトランザクションによって受け取ったアドレスと共に読み出しコマンドをメモリ装置に発行する。
パリティ・コントローラは、アドレスの第７ビットに１または０を追加し（前述のように）、元のデータに必要なバースト長の半分を有するメモリ装置に読み出しコマンドを修正済みアドレスに発行する。
メモリ・コントローラ４２１および４２３と、パリティ・コントローラ４２０はそれぞれ、その各メモリ装置から読み出しデータまたはパリティ・データを受け取る。
パリティ・コントローラ４２０は、チップ間バス４２２または４２４を介して元の読み込みトランザクションによってターゲットとされた各Ｄコントローラに適切なパリティ・データを転送する。
さらに、ターゲットのＤコントローラ内のパリティ制御ロジックは、パリティ・チェックと適正な動作を行い、メモリ・コントローラ・チップ４２１および４２３は、一体化されたバス・ロジックによって、訂正された読み出しデータ共にエージェント・チップ１０２に読み出しリターンを発行する。
【００３０】
以上は、本発明をＲＡＩＤメモリ・システムの文脈で例示した。
しかしながら、本発明が、ＲＡＩＤではないメモリ・システムにも適用可能であることを理解されたい。
また、幅広い様々な特定の機能とシステムの変形例があるので、実施形態に固有の詳細は、そのような詳細が、設計の目的およびトレードオフによって決定されることが多いので、本明細書に提供されなくてもよく、当業者が保有する技術のレベルの範囲内にある。
【図面の簡単な説明】
【００３１】
【図１】当技術分野で知られているような従来のＲＡＩＤメモリ・システムを示すブロック図である。
【図２】スプリット・システム・バスを介してホスト・エージェントと通信する２つのコントローラ・チップを有するメモリ・システムを示す図である。
【図３】図２と類似しているが、パリティ情報を記憶するためにパリティ・コントローラとメモリをさらに含むメモリ・システムの図である。
【図４】２つのメモリ・コントローラと関連付けられたデータ・メモリに記憶されたデータのパリティ情報をインタリーブするＲＡＩＤメモリ・システムの図である。
【図５】図４のシステムのＲＡＩＤメモリにパリティ情報をインターリーブすることができる方法を示す図である。
【符号の説明】
【００３２】
１０２・・・ホスト集積回路、
３０２，３０６，４０２，４０６・・・メモリ、
５７２・・・第１のアドレス空間、
５７４・・・第２のアドレス空間、
Ｄ０・・・第１のメモリ・コントローラ、
Ｄ１・・・第２のメモリ・コントローラ、
Ｐ・・・パリティ・メモリ、
【図１】
2005108224.tif 000003
【図２】
2005108224.tif 000004
【図３】
2005108224.tif 000005
【図４】
2005108224.tif 000006
【図５】
2005108224.tif 000007