(57)【要約】【課題】簡単な構成で増設できるメモリシステムおよびそのコントローラを提供する。【解決手段】メモリシステムは、ホスト集積回路コンポーネントと、少なくとも２つのデータメモリと、データメモリの対応するアドレス空間に記憶されているデータに対応するパリティ情報を記憶する少なくとも１つのパリティメモリと、少なくとも２つのコントローラ集積回路とを備える。各コントローラ集積回路（ＩＣ）は、コントローラＩＣと、コントローラＩＣに接続されたデータメモリとの間の通信を制御するメモリ制御ロジックと、データメモリに／から通信されるデータのパリティ情報を計算するパリティロジックと、パリティ情報を随伴するＩＣに／から通信するロジックと、随伴ＩＣに／からデータを通信するロジックとを備える。【選択図】図７
2005056398.tif 000002
【特許請求の範囲】
【請求項１】
メモリシステム（５００）であって、
データを記憶する第１および第２のデータメモリコンポーネント（５６１、５６２）と、
パリティ情報を記憶する１つのパリティメモリコンポーネント（５６３）と、
前記第１および第２のメモリコンポーネント（５６１、５６２）に直接接続する第１の集積回路コンポーネント（５１０）と、
前記パリティメモリコンポーネント（５６３）に直接、接続され、前記第１の集積回路コンポーネント（５１０）を通して前記第１および第２のデータメモリコンポーネント（５６１、５６２）に間接的に接続された第２の集積回路コンポーネント（５１１）であって、前記第１の集積回路コンポーネントは、該第２の集積回路コンポーネント（５１１）を通して前記パリティメモリコンポーネント（５６３）に間接的に接続される該第２の集積回路コンポーネント（５１１）と、
を備え、
前記第１の集積回路コンポーネント（５１０）は、前記第１の集積回路コンポーネント（５１０）とホスト（５０２）の間に延びる、システムバス（５０５）の第１の部分を介して前記ホスト（５０２）とデータを相互通信するように構成され、
前記第１および第２の集積回路コンポーネント（５１０、５１１）は、可逆的に（reciprocally）構成されるロジック（５１５、５１６）をさらに有し、前記第１の集積回路コンポーネント（５１０）および前記ホスト（５０２）間で通信されたデータを、別個のバスを介して、前記第１の集積回路コンポーネント（５１０）から前記第２の集積回路コンポーネント（５１１）に通信されうるように相互通信する
メモリシステム。
【請求項２】
前記メモリシステム（５００）は、ＲＡＩＤメモリシステムである
請求項１記載のメモリシステム。
【請求項３】
前記第２の集積回路コンポーネント（５１１）は、前記第１の部分に重複しない、前記システムバス（５０５）の第２の部分を介して前記ホスト（５０２）とデータを相互通信するように構成され、
前記第２の部分は、前記第２の集積回路コンポーネント（５１１）と前記ホスト（５０２）の間に延び、
前記第１および第２の集積回路コンポーネント（５１０、５１１）は、前記第２の集積回路コンポーネント（５１１）と前記ホスト（５０２）の間で通信されたデータが、前記別個のバスを介して前記第２の集積回路コンポーネント（５１１）から前記第１の集積回路コンポーネント（５１０）に通信されるようにさらに構成される
請求項１記載のメモリシステム。
【請求項４】
前記システムバス（５０５）の前記第１の部分は、前記システムバス（５０５）の実質的に半分であり、
前記システムバス（５０５）の前記第２の部分は、前記システムバス（５０５）の残りの部分である
請求項１記載のメモリシステム。
【請求項５】
前記システムバス（５０５）は、ポイントツーポイントシリアル通信バスである
請求項１記載のメモリシステム。
【請求項６】
メモリシステム（５００）であって、
ホスト集積回路コンポーネント（５０２）と、
少なくとも２つのデータメモリ（５６１、５６２）と、
該データメモリ（５６１、５６２）の対応するアドレス空間に記憶されているデータに対応するパリティ情報を記憶する少なくとも１つのパリティメモリ（５６３）と、
少なくとも２つのコントローラ集積回路（５１０、５１１）であって、該コントローラ集積回路（ＩＣ）と該コントローラＩＣに直接接続された前記データメモリ（５６１、５６２）との間の通信を制御するように構成可能なメモリ制御ロジック（５１２、５１３）、前記データメモリ（５６１、５６２）に／から通信されたデータのパリティ情報を計算するように構成可能なパリティロジック（５８２、５８３）、随伴するＩＣに／から前記パリティ情報を通信するように構成可能なロジック、および随伴するＩＣに／からデータを通信するように構成可能なロジックをそれぞれ有する少なくとも２つのコントローラ集積回路（５１０、５１１）と、
を備えるメモリシステム。
【請求項７】
前記メモリシステム（５００）は、ＲＡＩＤメモリシステムである
請求項６記載のメモリシステム。
【請求項８】
前記少なくとも２つのコントローラ集積回路（５１０、５１１）はそれぞれ、通信のために前記ホスト集積回路コンポーネント（５０２）に接続されたシステムバスの一部のみに直接接続するバスインタフェース（５１４）をさらに備える
請求項６記載のメモリシステム。
【請求項９】
厳密に２つのコントローラ集積回路（５１０、５１１）は、ＲＡＩＤ３メモリシステムを実施するように構成され、
該２つの集積回路（５１０、５１１）はそれぞれ、前記システムバス（５０５）の一部のみを介して前記ホスト集積回路コンポーネント（５０２）と直接通信するように構成され、
第１のコントローラ集積回路（５１０）は、前記システムバス（５０５）の第１の部分を介して前記ホスト集積回路コンポーネント（５０２）と直接通信するように構成され、
前記第２のコントローラ集積回路（５１１）は、前記システムバス（５０５）の第２の部分を介して前記ホスト集積回路コンポーネント（５０２）と直接通信するように構成される
請求項８記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤコントローラなど、複数の記憶装置を相互接続するメモリシステムに関する。
【背景技術】
【０００２】
既知のように、独立ディスク冗長アレイ（ＲＡＩＤ）は、大容量記憶装置の入出力パフォーマンスおよび信頼性を向上させるために使用される技術である。
ＲＡＩＤアレイは、冗長アーキテクチャを使用することによりフォールトトレランスを組み込んでおり、ＲＡＩＤアレイを制御するディスクコントローラはＲＡＩＤコントローラと呼ばれる。
ＲＡＩＤシステムでは、１つまたは複数の記憶装置の故障にも関わらず、データへの即時アクセスを提供するために、データが複数の記憶装置（たとえば、ディスク）に渡って記憶される。
【０００３】
ＲＡＩＤ技術の基本は「ストライピング」であり、これは、複数の記憶装置を１つの論理的な記憶装置にまとめる特定の方法を指す。
ストライピングは、各ドライブの記憶空間を、わずか１セクタ（５１２バイト）または何メガバイトでもありうる「ストライプ」に分割する。
そしてこれらストライプは、組み合わせられた空間が交互に各ドライブからのストライプで構成されるように、ローテーションシーケンスでインタリーブされる。
【０００４】
ＲＡＩＤコントローラの１つの主要なタスクは、ハードウェアの故障によって生じるデータの損失からの保護である。
ＲＡＩＤコントローラは、異なる特徴セットを提供する異なる「レベル」で定義されてきた。
【０００５】
ＲＡＩＤレベル０は、ＲＡＩＤ０とも呼ばれ、個々のディスクの容量の合計に等しい容量の単一の仮想ディスクとして複数のディスクを表すストライプセットからなる。
ストライプの信頼性は、信頼性の最も低いメンバの信頼性よりも低い。
ＲＡＩＤ０は、冗長性を提供しないことから真の冗長的コントローラではない。
しかし、その並列転送技術の使用は安価であるため、多くの低コストユーザにとって魅力的なパフォーマンス重視のアーキテクチャである。
【０００６】
ＲＡＩＤレベル１は、ＲＡＩＤ１とも呼ばれ、記憶装置のミラーリングセットから仮想記憶装置を作成する。
ミラーリングは、複製データを記憶しているが、コンピュータからは単一の記憶装置として見える一対の記憶装置上で行われる。
ストライピングは単一のミラーリング記憶装置対内で用いられないが、複数のＲＡＩＤ１アレイをともにストライピングして、単一の大きなアレイを作成することが可能である。
ＲＡＩＤ１は高い信頼性を提供する。
【０００７】
ＲＡＩＤレベル２は、ＲＡＩＤ２とも呼ばれ、ハミング符号化を用いて誤り検出および修正能力をアレイに提供する並列アクセスアレイである。
これは高価な手法であり、あまり一般に使用されない。
【０００８】
ＲＡＩＤレベル３は、ＲＡＩＤ３とも呼ばれ、高データ速度に向けて最適化され、パリティを使用する並列転送技法である。
各データセクタが細分され、データがすべての記憶装置にわたって分散され、冗長データがパリティ専用記憶装置に記憶される。
信頼性は単一の記憶装置よりもはるかに高く、データ転送能力は極めて高い。
ＲＡＩＤ３の弱点は、キャッシュ等、他のある技術により支援されない限り、いくつかのトランザクション処理アプリケーションに適さない、その比較的遅いＩ／Ｏ速度にある。
【０００９】
ＲＡＩＤレベル４は、ＲＡＩＤ４とも呼ばれ、特定の態様ではＲＡＩＤ３に類似する。
冗長データは、ＲＡＩＤ３と同様に独立したパリティ記憶装置に記憶される。
ＲＡＩＤ４は、個々の記憶装置ドライブアクチュエータの動作を「切り離」し、より大きな最小量データを各ディスクに読み書きすることにより、小さなファイルのランダムな読み出しに関してＲＡＩＤ３システムのパフォーマンスを向上させる。
この能力により高いＩ／Ｏ読み出し速度が可能になるが、書き込み速度は並である。
ＲＡＩＤ４は主に、読み出し集約的であり、高データ転送速度を必要としないシステムに適している。
【００１０】
ＲＡＩＤレベル５は、ＲＡＩＤ５とも呼ばれ、パリティをローテーションさせる独立アクセスアレイである。
データセクタはディスクストライピングシステムと同じ方式で分散されるが、冗長情報は、ＲＡＩＤ３またはＲＡＩＤ４システムのように単一のパリティ記憶装置に記憶されるのではなく、複数のアレイメンバにわたってユーザデータとともに散在する。
これにより、単一のパリティ専用記憶装置を使用するＲＡＩＤ４コントローラに関連するライトボトルネックが軽減される。
ＲＡＩＤ５アレイは高いデータ信頼性、良好なデータ転送速度、および高いＩ／Ｏ速度能力を有する。
【００１１】
上記に、ディスクドライブ市場におけるＲＡＩＤシステムについて概説した。
しかし、既知のように、ＲＡＩＤシステムはディスクドライブ市場から半導体メモリ市場に拡張した。
したがって、ＲＡＩＤシステムは磁気ドライブおよび光ドライブと同様に、シリコンメモリで実施されることも知られている。
このような従来のＲＡＩＤメモリシステムを示すブロック図である図１を参照する。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
図１に示すように、既知のＲＡＩＤメモリシステムは、ＲＡＩＤメモリ６１およびパリティメモリ６３に接続されたＲＡＩＤメモリコントローラ１０を備え、ＲＡＩＤメモリ６１は、ＤＲＡＭ等、様々な種類のメモリのいずれであってもよい。
また、一般に言及される種類のＲＡＩＤメモリはＤＩＭＭ（デュアルインラインメモリモジュール）メモリである。
ホスト１０２およびシステムバス１０５も図１に示されている。
ホスト１０２とＲＡＩＤメモリ６１の間でやりとりされる情報またはデータは、ＲＡＩＤメモリコントローラ１０を通してやりとりされる。
ＲＡＩＤメモリコントローラの内部には、ＲＡＩＤメモリ６１内に記憶されているデータにパリティ情報を生成するロジックがある。
図１に示すシステムの構造および動作に関しての詳細は既知であり、本明細書において説明する必要はない。
本明細書に記載する目的に関連するのは、ホスト１０２、ＲＡＩＤメモリコントローラ１０、およびＲＡＩＤメモリ６１の間の縦の関係である。
通信チャネル７２、７３、および７４のチャネル幅が増大すると、ＲＡＩＤメモリコントローラ１０のピンの個数も同様に増大する。
製造コストにより、既知のように、このピン個数の増大は、ＲＡＩＤメモリコントローラ１０のコンポーネントコストを大幅に引き上げる恐れがある。
【００１３】
さらに、既知のメモリＲＡＩＤシステムおよび方策はＲＡＩＤをＤＩＭＭバスレベルではなくメモリコントローラレベルで提供する。不都合なことに、これには階層レベルの追加、ならびにチップおよびシステムの複雑性の増大が必要である。
【課題を解決するための手段】
【００１４】
したがって、先行技術によるシステムの上記および他の欠点に有効に対処したシステムを提供することが望ましい。
この点に関連して、本発明は、ホスト集積回路コンポーネントと、少なくとも２つのデータメモリと、データメモリの対応するアドレス空間に記憶されているデータに対応するパリティ情報を記憶する少なくとも１つのパリティメモリと、少なくとも２つのコントローラ集積回路と、を備えたメモリシステムを広く対象とする。
各コントローラ集積回路（ＩＣ）は、コントローラＩＣとコントローラＩＣに直接接続されたデータメモリとの間の通信を制御するように構成可能なメモリ制御ロジックと、データメモリに／から通信されるデータのパリティ情報を計算するように構成可能なパリティロジックと、パリティ情報を随伴するＩＣに／から通信するように構成可能なロジックと、随伴ＩＣに／からデータを通信するように構成可能なロジックと、を備える。
【００１５】
本明細書に組み込まれ、本明細書の一部をなす添付図面は本発明のいくつかの態様を示し、説明と併せて本発明の原理を説明する役割を果たす。
【発明を実施するための最良の形態】
【００１６】
本明細書に述べるように、本発明には様々な態様および実施形態がある。
一実施形態によれば、本発明は、ＲＡＩＤメモリシステムにおいてメモリコントローラを実施する独自の集積回路構造を対象とする。
ＲＡＩＤメモリコントローラを独自に対象とする集積回路の構造を説明する前に、まず、本発明の特定の態様および実施形態による集積回路の一般的な内部構造について言及する。
【００１７】
この点に関連して、本発明の一実施形態を示すブロック図である図２を参照する。
この点に関連して、一実施形態は、シングルチップ上に従来通り設けられた集積回路コンポーネントをエミュレートするように集合的に動作する２つの随伴した集積回路コンポーネントを有するシステムを対象とする。
メモリコントローラ（たとえば、ＲＡＩＤコントローラ）等の集積回路コンポーネントをエミュレートする場合、製造コストは一般にピンの個数に伴って増大する。
図２に示す実施形態では、オンチップ回路（後述）が追加されるが、単一の従来のコンポーネントを効率的にエミュレートする随伴コンポーネント２１０および２１１の組み合わせは、従来のコンポーネント手法に対する他の改良を提供する。
このような１つの利点は、単一の集積回路コンポーネント２１０に必要な導電ピンの個数の低減による製造コストの低減である。
実際、単一のコンポーネント２１０の製造コストを半分以上低減することができ、これにより、２つのこのようなコンポーネント（図２のような）を使用して単一デバイスをエミュレートするほうが、単一の従来のデバイスを使用するよりも費用効率的になる。
このような別の利点は、帯域の向上を通して、すなわちコンポーネント２１０および２１１の機能回路を組み合わせることにより収容する帯域を広くすることを通して実現することができる。
【００１８】
集積回路コンポーネント２１０は、コンポーネント２１０および２１１を組み合わせて置き換えた従来の集積回路コンポーネントの機能態様を実行する機能ロジック２１２を備える。
したがって、機能ロジック２１２の説明をここで提供する必要はない。
システム２００の特定の独自の特徴に関して、集積回路コンポーネント２１０および２１１は、「バス分割ロジック」２１４および２１５、ならびに「バス統合ロジック」２１６として表されるロジックブロックを含む。
【００１９】
図１に示すように、従来の構成は、システムバス１０５を介して相互通信する集積回路コンポーネント１０２および１０を備える。
図２のシステム２００では、バスのおよそ半分が集積回路コンポーネント２１０に向けられ、バス１０５の残りの部分が集積回路コンポーネント２１１に向けられるように、システムバス１０５が分割される。
バス分割ロジックコンポーネント２１４は、その特定の集積回路コンポーネントに向けられたシステムバス１０５の部分とインタフェースするために設けられる。
集積回路コンポーネント２１０および２１１は両方とも、参照番号２１４および２１５で表されるブロックを有する。
一実施形態では、バス分割ロジックコンポーネント２１４および２１５内の回路およびロジックは同一である。
しかし、ロジックブロックは、ロジックブロックの構成に基づいて異なる機能を示すために、異なる参照番号を使用して表されている。
たとえば、図２に示す構成では、バス分割ロジックブロック２１４は、システムバス１０５の一部とインタフェースするように構成される。
バス分割ロジックブロック２１５は、随伴する集積回路コンポーネントの随伴ロジックブロックとインタフェースするように構成される。
したがって、コンポーネント２１０のバス分割ロジックブロック２１５は、コンポーネント２１１のバス分割ロジックブロック２１５と直接インタフェースする。
【００２０】
動作にあたり、コンポーネント２１０のバス分割ロジックブロック２１４が受け取ったデータは、コンポーネント２１０のバス分割ロジック２１５およびコンポーネント２１１のバス分割ロジック２１５を通る。
同様に、コンポーネント２１１のバス分割ロジック２１４を通してシステムバス１０５から受け取ったデータも、コンポーネント２１１のバス分割ロジック２１５およびコンポーネント２１０のバス分割ロジック２１５を通る。
データのこの共有および通過を通して、システムバス１０５を通して通信されるデータ全体を各コンポーネント２１０および２１１に提供することができる。
このデータは、これら２つの装置それぞれのバス統合ロジックコンポーネント２１６によって統合される。
その後、各コンポーネント２１０および２１１中の機能ロジック２１２がデータを適宜演算することができる。
機能ロジック２１２がデータを演算する様式は、特定の実施形態および実施されている機能ロジックの環境に依存することを理解されたい。
一実施形態の特定の図を、以下で述べる図５と併せて提示する。
【００２１】
本実施形態の一利点は、ピン個数の低減により、集積回路コンポーネント２１０および２１１の製造コストの低減を通して実現されるコストの低減である。
このような低減は必ずしも図２の図から明らかであるわけではないが、機能ロジック２１２が外部集積回路コンポーネントとインタフェースする場合、ピン個数の低減をより容易に確認することができる（図５〜図８参照）。
【００２２】
一実施形態では、具体的に示していないが、バス分割ロジック２１４および／または２１５にシステムバス１０５から受け取る情報の内容に基づいて、データを随伴する集積回路コンポーネントに通信すべきか否かを判断するロジックをさらに備えることができる。
たとえば、コンポーネント２１０のバス分割ロジック２１４により、システムバス１０５から受け取ったデータをコンポーネント２１１の機能ロジック２１２ではなくコンポーネント２１０の機能ロジック２１２に一意に向けられていると決定された場合、このさらなるロジック（図示せず）は、受け取ったデータを随伴するコンポーネント２１１に通信する必要がないと判断することができる。
このような判断のみを識別可能とすることができ、したがって望み通りに実施することができる様々な実施形態があることが当業者に理解されるであろう。
【００２３】
集積回路コンポーネント２１０および／または２１１の利点は、コンポーネント１０２の知識なしでシステム２００を実施可能なことであることをさらに理解されたい。
すなわち、２つの集積回路コンポーネント２１０および２１１は、従来の先行技術によるコンポーネント１０の代わりに、装置１０２に対して構成または他の変更を何等行わずに、図２に示す構成を有するシステムで実施することができる。
この点に関連して、装置１０２は、従来のコンポーネント１０に対応しているのか、それともコンポーネント２１０および２１１に対応しているのかを「知ら」ない。
【００２４】
これより、本発明の一実施形態により構築されたコンポーネント２１０を示す図３を手短に参照する。
この実施形態では、コンポーネント２１０は、バス分割ロジック２１４およびバス統合ロジック２１６を含む同じ内部ロジック要素を収容する。
しかし、バス分割ロジックコンポーネント２１５が随伴する集積回路コンポーネントにデータを通信するように構成されていた図２の構成とは対照的に、図３の実施形態のバス分割ロジックコンポーネント２１４は単に、システムバス１０５と直接インタフェースし、データをバス統合ロジック２１６に直接通信するだけである。
図３の実施形態では１つのみの集積回路コンポーネント２１０が利用されるため、図２のバス分割ロジックコンポーネント２１５の構成にバス分割ロジックコンポーネントを構成する必要がない。
【００２５】
これより、バス分割ロジックコンポーネント２１４の特定の内部ロジックコンポーネントを示す図４を参照する。
一実施形態では、コンポーネント２１４は、随伴する集積回路コンポーネント内に提供される、随伴するコンポーネントともに動作するように、コンポーネント２１４の構成を実行または提供する内部ロジック２４０を備える。
ロジック２４０は、図２のバス分割ロジックコンポーネント２１５の構成で動作するようにバス分割ロジックコンポーネント２１４を構成する。
この構成である場合、随伴するバス分割ロジックコンポーネント２１４（同じ集積回路コンポーネント内）から受け取ったデータは、外部バスまたは通信パスを介して、別の（随伴する）集積回路コンポーネント中の随伴するバス分割ロジックコンポーネントに通信される。
【００２６】
バス分割ロジック２１４内の別のコンポーネント２４２が、システムバス１０５を介しての通信を調整し制御する。
このコンポーネント２４２は、従来のものであり、指定された通信バスを介しての外部装置との通信に適したプロトコル変換および他のアクションを実行する既知の回路およびロジックを使用して実施することができる。
【００２７】
コンポーネント２４４を設けて、システムバス１０５から受け取ったデータを随伴する集積回路コンポーネントに通信すべきか否かを判断することができる。
先に触れたように、バス分割ロジックは、システムバス１０５を介して受け取った情報の内容に基づいて、システムバス１０５を介して受け取ったデータを随伴する集積回路コンポーネントに通信すべきか否かを判断するのに十分な知能を備えることができる。
最後に、コンポーネント２４６を設けて、随伴する集積回路コンポーネント内の機能ロジックによる処理のために、随伴する集積回路コンポーネントの随伴するバス分割ロジックコンポーネントとデータを選択的に交換することができる。
もちろん、当業者に理解されるように、バス分割ロジック２１４内にさらなるコンポーネントを設けてもよいが、図示の実施形態の構造および動作を理解する目的のために本明細書において説明する必要はない。
【００２８】
最後に、図４と同様の図であり、メモリコントローラ装置を実施する、本発明により構築・構成されたコンポーネント３１０および３１１の実施態様を示す図５を参照する。
この点に関連して、システム３００は、ホストプロセッサ３０２等の装置と通信するシステムバス３０５を備える。
ホストプロセッサ３０２は、読み出しおよび／または書き込みコマンドをメモリ装置３６１、３６２、３６３、および３６４に発行することができる。
内部コンポーネントは、バス分割ロジックコンポーネント３１４および３１５、ならびにバス統合ロジックコンポーネント３１６を含め、本明細書において図２に関連して説明した様式で動作するように構成される。
図２に関連して図示し説明した機能ロジック２１２は、図５のメモリコントローラロジック３１２および３１３で置き換えられる。
【００２９】
例として、ホスト３０２がメモリ３６１からデータを読み出したいと想定する。
しかるべきアドレスおよび制御信号をシステムバス３０５上でアサートして、このようなメモリ読み出しコマンドを実施する。
このシステムバスのおよそ半分はコンポーネント３１０に向けられ、システムバス３０５の信号の残りの部分はコンポーネント３１１に向けられる。
アクセスすべきメモリ３６１はコンポーネント３１０に接続されているため、コンポーネント３１０内のバス分割ロジックコンポーネントは、コンポーネント３１０のバス分割ロジック３１４から受け取った情報を、コンポーネント３１１のバス分割ロジックコンポーネント３１５に通信する必要がないと判断することができる。
しかし、システムバス３０５のバス構成に応じて、コンポーネント３１１のバス分割ロジック３１４に通信されるデータまたは情報を、ロジック３１６により統合してメモリコントローラ３１２に通信することができるように、バス分割ロジックコンポーネント３１５を通して通信する必要がある場合もある。
【００３０】
同様に、データがメモリ３６１から読み出され、メモリコントローラ３１２およびコンポーネント３１０のバス統合ロジック３１６を通ると、情報の一部またはすべてを、コンポーネント３１０のバス分割ロジック３１４、システムバス３０５を通してホストプロセッサ３０２に通信することができる。
同様に、情報のすべてまたは一部をコンポーネント３１０およびコンポーネント３１１のバス分割ロジックコンポーネント３１５、コンポーネント３１１のバス分割ロジック３１４、システムバス３０５を通してホストプロセッサ３０２に渡すこともできる。
集積回路コンポーネント３１０および３１１の様々なサブコンポーネントを通る情報の方向および経路は、システムバス３０５の構造、設計、およびプロトコルに大きく依存する。
一実施形態では、本発明は、データ信号および制御信号を集積回路コンポーネント間で通信する複数のデータラインおよび制御ラインを有するポイントツーポイントシリアルバスとともに動作するように設計される。
しかし、本発明の概念および教示に合致して、他の種類のシステムバス構成にも対応することが可能である。
【００３１】
上に述べたように、図示の実施形態の一利点は、協働動作（たとえば、図２および図５の構成）を実行するためのピンの個数（チップあたり）の低減による製造コストの低減である。
このような実施形態では、第１の導電ピンセットが、バス分割ロジックインタフェース２１４とシステムバス１０５の一部との間の通信（たとえば、リモートコンポーネント１０２との通信）を伝達するためにコンポーネント上に設けられる。
第２の導電ピンセットが、随伴するコンポーネントの随伴するバス分割ロジックインタフェース２１５間の通信を伝達するために、コンポーネント上に設けられる。
他の制御信号および通信信号を伝達するために、さらなる導電ピンを設けることも可能である。
集積回路コンポーネントの導電ピンの総数は、同じ機能演算を実行する従来の集積回路コンポーネントよりも少ない。
【００３２】
上の段落は、一実施形態において、本発明の利点の１つである、各コンポーネント上のシステムバスのピン数を増大することなく、どのようにして２つのチップをシステムバス上で接続することができるかを示している。
しかし、図５に関連して、ピン数のさらなる大幅な低減が実現される。
この点に関連して、従来のメモリコントローラコンポーネントには、メモリ３６１、３６２、３６３、および３６４という４つのメモリバスをシステムバス３０５に対してインタフェースするために、４セットのメモリ相互接続ピンが必要になる。
図５に示すように、図示の実施形態では、コンポーネント１個あたりに必要なメモリインタフェースピンが半減されており（チップ１個あたり）、これはコンポーネントの製造コストの大幅な削減に繋がる。
【００３３】
上に述べた機能および動作を実行するために必要な回路およびロジックを実施する様々な方法があることを理解されたい。
このような１つの特定の実施態様は、２００３年７月３０日に出願の同時係属中の出願第ｘｘ／ｙｙｙ，ｚｚｚ、名称「Integrated Circuit with a Scalable High-Bandwidth Architecture」（また、代理人整理番号５０８３３−１２４０で識別される）に説明され図示されており、これを参照により本明細書に援用する。
【００３４】
本発明の一態様を具現した特定の実施形態について説明したが、これより本発明の別の態様を参照する。
この点に関連して、図２の図と同様の図である図６を参照する。
しかし、図６の図は、チップ２１０と２１１の間に介在するチップ４１０をさらに有するシステム４００を示す。
チップ４１０はチップ２１０および２１１の設計と同一であることができる。
しかし、構成において、バス分割ロジックインタフェース４１５ａおよび４１５ｂはチップ２１０および２１１のバス分割ロジック２１５と同じ構成のものである。
【００３５】
具体的には、バス分割ロジックインタフェース４１５ａおよび４１５ｂは、単に別のチップからのバス分割ロジックインタフェースから受け取った情報をすべて、随伴するバス分割ロジックインタフェースに渡すように構成される（たとえば、バス分割ロジックインタフェース４１５ａは、チップ２１０のバス分割ロジック２１５からのすべての情報をバス分割ロジックインタフェース４１５ｂに渡し、バス分割ロジックインタフェース４１５ｂは、チップ２１１のバス分割ロジック２１５からの情報をすべてバス分割ロジックインタフェース４１５ａに渡す）。
【００３６】
一実施形態では、バス統合ロジック４１６および機能ロジック４１２は非アクティブであってよく、その場合、チップ２１０および２１１から通信される情報は、バス統合ロジック４１６を通して機能ロジック４１２に渡されない。
しかし、代替であるが同様の実施形態では、バス分割ロジックインタフェース４１５ａおよび４１５ｂは、バス統合ロジック４１６を通して情報を機能ロジック４１２に渡すように構成してもよい。
このような一実施形態では、チップ４１０の機能ロジック４１２は、処理作業負荷を分担して、チップ２１０および２１１の機能ロジック２１２が所望の機能を処理するのを助けることができる。
【００３７】
具体的に図示しないが、たとえば、図６の実施形態を、図５に示す実施態様等の実施態様に使用して（たとえば、メモリコントローラとして）、チップ２１０、２１１、および４１０のピン個数を対応して増大することなく、チップ２１０、２１１、および４１０の集合的なメモリコントローラがアクセス可能なメモリの数をさらに拡張することができる。
明らかなことに、他の実施形態および用法が当業者に理解されるであろう。
【００３８】
図６の実施形態について、３つのチップ２１０、２１１、および４１０を備えるものとして説明したが、本発明のチップを有するシステム４００は、システムバス１０５の編成、速度、通信プロトコル等の要因に基づいて任意の実際に役立つ個数のチップを備えるように容易に拡張可能であることを理解されたい。
拡張性は、チップ４１０として構成された中間チップをさらに挿入することによって実現される。
【００３９】
これより、一構成のＲＡＩＤメモリコントローラを実施するように構成された本発明の一実施形態を示す図７を参照する。
この点に関連して、ＲＡＩＤメモリシステム５００は、実質的に、図５に示す実施形態に従って動作する内部回路を有する集積回路５１０および５１１を使用して実施される。
この点に関連して、バス分割ロジックコンポーネント５１４および５１５、ならびにバス統合ロジック５１６の構造および動作については上に述べてあり、これらロジック要素の一実施例について、上記参照により援用される同時係属中の出願に詳細に記載されている。
したがって、集積回路コンポーネント５１０および５１１の構造および動作を理解するためにこの説明を繰り返す必要はない。
データメモリはＤＩＭＭ５６１および５６２の形で実施することができる。
これらデータメモリ５６１および５６２は、第１の集積回路５１０のデータメモリ制御ロジック５１２に直接接続される。
同様に、パリティメモリとも呼ばれるＲＡＩＤメモリ５６３もメモリ制御ロジック５１３に直接接続される。
ホスト５０２とデータメモリ５６１および５６２との間で通信されるデータは、一部は集積回路５１０を通して、また一部は集積回路５１１を通して通信される。
パリティ情報も、パリティ制御ロジックブロック５８２および５８３のうちの一方または両方で計算される。
パリティ情報は、２つの集積回路５１０と５１１がデータメモリ５６１および５６２中のデータに関連するパリティ情報について完全な知識を有するように、２つの集積回路５１０と５１１の間で完全に交換することができる。
【００４０】
本発明の好ましい実施形態では、パリティメモリ５６３に記憶されるパリティ情報は、メモリ５６１および５６２に記憶されるデータと同じアドレス空間に記憶される。
すなわち、メモリ制御ロジック５１２およびメモリ制御ロジック５１３におけるアドレス復号化動作により、データメモリ５６１および５６２と、パリティメモリ５６３とで使用される、同じメモリ装置物理アドレス（ＤＲＡＭメモリ装置の場合、ランク、バンク、ロー、およびカラム）がもたらされる。
２つの集積回路５１０と５１１の間のより低いレベルの情報およびデータトランザクションについては、上記参照により援用される同時係属中の出願に関連して記載されている。
基本の読み書きトランザクションシーケンスについてのより高いレベルの説明を以下提供する。
【００４１】
この点に関連して、ホスト５０２がデータをデータメモリ５６１および５６２に書き込む書き込みトランザクションを実行するには、集積回路５１０および５１１は、好ましくは、メモリ制御ロジック５１２および５１３において同一のアドレス復号化構成を有する。
これにより、パリティ情報が対応するデータと同じアドレス空間に記憶されることが保証される。
ホスト５０２はシステムバス５０５（分割され、一部は集積回路５１０に行き、別個の重複しない部分は集積回路５１１に行く）を介して書き込み要求を送り、データを通信する。
集積回路５１０および５１１のバス統合ロジック５１６は、分割されたシステムバス５０５からの書き込みトランザクションおよびデータを再構築する（上記参照した同時係属中の出願に詳細に説明されている）。
メモリ制御ロジック５１２は、書き込みトランザクションから受け取ったデータをデータメモリ５６１および５６２中の、書き込みトランザクションとともに受け取ったアドレスに書き込む。
パリティ制御ロジック５８３は、書き込みデータに基づいてパリティ情報を計算し、パリティ情報をパリティメモリ５６３中の、書き込みトランザクションから受け取ったアドレスに書き込む。
【００４２】
好ましい実施形態では、データ書き込みバースト長が集積回路５１０および５１１の間で同一であることを理解されたい。
パリティ情報に関連するデータ低減は、メモリコントローラ５００の半分である実効幅を有するパリティメモリ５６３に書き込むことによって実現される。
【００４３】
書き込みトランザクションシーケンスについて述べたが、読み出しトランザクションシーケンスは以下のように行われる。
書き込みトランザクションシーケンスの場合のように、集積回路５１０および５１１は両方とも同一のアドレス復号化構成をメモリ制御ロジック５１２および５１３に有する。
ホスト５０２は、システムバス５０５を介して読み出し要求を送る。
チップ５１０および５１１のバス統合ロジック５１６は、バス分割ロジック５１５を介してチップ内通信により分割されたバスから完全な読み出しトランザクションを再構築する。
読み出しトランザクションから受け取ったアドレスを使用して、集積回路５１０は読み出しコマンドをデータメモリ装置５６１および５６２に発行し、集積回路５１１は読み出しコマンドをデータメモリ装置５６３に発行する。
集積回路５１０はメモリ装置５６１および５６２から読み出されたデータを受け取り、集積回路５１１はパリティメモリ５６３からパリティ情報を受け取る。
集積回路５１１のメモリ制御ロジック５１３は、バス分割ロジック５１５を介してパリティ情報をパリティ制御ロジック５８２に転送する。
次にパリティ制御ロジック５８２はパリティチェックおよび修正動作を行う。
次に、集積回路５１０は、バス統合ロジック５１６を通して修正された読み出しデータとともに、読み出しリターンをホスト５０２に発行する。
読み出しデータをホストに通信するにあたり、データの一部は集積回路５１０のバス分割ロジック５１４を通して通信され、残りのデータは集積回路５１０および５１１のバス分割ロジック５１５を介し、集積回路５１１のバス分割ロジック５１４を通して通信される。
【００４４】
上に述べた読み出しおよび書き込みのトランザクションは、本発明の特定の独自の態様を示す観点から説明されたことを理解されたい。
この点に関連して、これらトランザクションの一般の態様は（ホストまたはデータメモリの観点から）既知であり、本明細書において説明する必要はない。
【００４５】
これより、異なる構成を有するＲＡＩＤメモリシステムを実施するように構成された本発明の一実施形態を示すブロック図である図８を参照する。
見て取れるように、図８の実施形態は図６の構成と同様であり、ＲＡＩＤシステムのメモリおよびパリティ要素をサポートするように変更されている。
一般に、図６および図７の実施形態に関連して説明した構造および動作で、図８に示す実施形態の構造および動作を理解するのに十分である。
要約すれば、２つの集積回路６１０および６１２は、図７の集積回路５１０と同様に構成されるとともに、同様に動作する。
同様に、集積回路６１１は、図７の集積回路５１１と同様に構成されて動作する。
しかし、図８に示すように、このＲＡＩＤ構成では、さらなるデータメモリ６６４および６６５が設けられている。
さらに、システムバス１０５にわたって分割される通信は、チップ内リンク６２１および６２２を介して集積回路６１０に通信され、様々なバス分割ロジックコンポーネントを介して各バス統合ロジックコンポーネントに通信される。
ホスト１０２からメモリ６６１、６６２、６６４、および６６５への書き込みトランザクションシーケンスは、図７のＲＡＩＤシステムについて説明したことと同じことが図８のＲＡＩＤシステムにおいて行われる。
しかし、読み出しトランザクションシーケンスはわずかに異なる。
この点に関連して、図７の実施形態には、集積回路５１１が、チップ内通信リンクを介してどのようにパリティデータを集積回路５１０のパリティ制御ロジック５８２に転送するかについて説明されていた。
【００４６】
これとは対照的に、図８の実施形態の読み出しトランザクションシーケンスでは、読み出しデータは、チップ内通信リンク６１２および６２２それぞれを介してメモリ制御ロジック６１２および６１４からメモリ制御ロジック６１３に転送される。
次に、集積回路６１１のパリティ制御ロジック６９３がパリティチェックおよび修正動作を行う。
次に、集積回路６１１は、バス統合ロジック６１６を通して、修正された読み出しデータとともに読み出しリターンをホスト１０２に発行する。
先に述べたように、このデータは、チップ内通信リンク６２１および６２２を横切ってバス分割ロジック６１５Ａおよび６１５Ｂを介して、またシステムバス１０５を横切ってホスト１０２へバス分割ロジックコンポーネント６１５および６１４を通して分割され通信される。
【００４７】
さらにまた、図７の実施形態では、パリティ情報はＤＩＭＭ２個分のデータから計算された。
同様にして、図８の実施形態では、パリティ情報はＤＩＭＭ４個分のデータから計算される。
したがって、パリティメモリ６６３は事実上、データメモリの幅の１／４である。
しかし、図７のように、パリティ情報のバースト長はデータと同じであり、パリティコントローラのアドレス復号化は、両方のデータメモリコントローラと同じである。
【００４８】
上記において、ＲＡＩＤメモリシステムの文脈の中で本発明を説明した。
しかし、本発明は非ＲＡＩＤメモリシステムにも同様に適用しうることを理解されたい。
ここでも、多種多様な特定の機能およびシステムバリエーションがあるため、実施に固有の詳細を本明細書に提供する必要はない。
これは、このような詳細は設計目的およびトレードオフにより決まることが多く、当業者が保有する技能レベル内のことであるからである。
【図面の簡単な説明】
【００４９】
【図１】当分野において既知の、従来のＲＡＩＤメモリシステムを示すブロック図である。
【図２】単一の従来の集積回路コンポーネントが２つの集積回路コンポーネントに分割されている、本発明の一実施形態により構築されたシステムを示すブロック図である。
【図３】単一の集積回路コンポーネントがシングルチップ構成で動作するように構成され、その他は従来の集積回路コンポーネントと同様である、本発明の一実施形態の集積回路コンポーネントを示すブロック図である。
【図４】本発明の一実施形態において実施することができるロジックインタフェースの一部を示すブロック図である。
【図５】図２と同様のブロック図であり、複数の集積回路コンポーネントがメモリコントローラコンポーネントを実施する本発明の一実施形態を示す。
【図６】図２と同様のブロック図であり、さらなる本発明の集積回路コンポーネントが、システムバスに接続された２つの本発明のコンポーネント間に介在するように構成された本発明の一実施形態を示す。
【図７】図５と同様のブロック図であり、ＲＡＩＤメモリシステムを実施する本発明の一実施形態を示す。
【図８】図６と同様のブロック図であり、ＲＡＩＤメモリシステムを実施する本発明の一実施形態を示す。
【符号の説明】
【００５０】
１０２・・・ホスト
１０５・・・システムバス
２００・・・システム
２１０・・・集積回路コンポーネント
２１１・・・集積回路コンポーネント
２１２・・・機能ロジック
２１４・・・バス分割ロジック
２１５・・・バス分割ロジック
２１６・・・バス統合ロジック
３００・・・システム
３０２・・・ホスト
３０５・・・システムバス
３１０・・・集積回路コンポーネント
３１１・・・集積回路コンポーネント
３１２・・・メモリコントローラ
３１４・・・バス分割ロジック
３１５・・・バス分割ロジック
３１６・・・バス統合ロジック
３６１・・・メモリ
５６３・・・パリティメモリ
５８２・・・パリティ制御ロジック
５８３・・・パリティ制御ロジック
【図１】
2005056398.tif 000003
【図２】
2005056398.tif 000004
【図３】
2005056398.tif 000005
【図４】
2005056398.tif 000006
【図５】
2005056398.tif 000007
【図６】
2005056398.tif 000008
【図７】
2005056398.tif 000009
【図８】
2005056398.tif 000010