(57)【要約】  複数のバッファ型メモリモジュールの使用のための方法および複数の装置は、複数の実施形態の中に含まれる。複数の例のシステムにおいて、シリアルプレゼンス検出機能は、メモリモジュール上に実装された個別のＥＥＰＲＯＭデバイスにより提供される代わりに、メモリモジュールバッファ内に含まれる。さまざまな実施形態は、したがって、複数のコスト削減、チップ配置および信号ルーティングの簡素化を提供し、幾つかの状況においてはモジュール上の複数のピンを節約する。他の複数の実施形態は、説明および請求される。
2007515023.tif 000002
【特許請求の範囲】
【請求項１】
メモリモジュールバッファであって、
複数のメモリチャネルを介して他の複数のデバイスと通信できるホスト側のメモリチャネルインターフェースおよび下流のメモリチャネルインターフェースと、
前記ホスト側のメモリチャネルインターフェースを介して前記バッファと通信するデバイスの代わりにメモリモジュールの上の複数のメモリデバイスと通信するための、少なくとも前記ホスト側のメモリチャネルインターフェースに結合されたメモリデバイスインターフェースと、
シリアルバスポートと、
前記バッファがあるメモリモジュールに関連する情報を記憶するための不揮発性メモリエリアと、
前記シリアルバスポートで受信される複数の要求に応答して、前記不揮発性メモリエリアから前記シリアルバスポートの外へ情報を送信するための第一のシリアルバスコントローラと
を備えるメモリモジュールバッファ。
【請求項２】
前記シリアルバスポートに接続され、複数のシリアルバスコマンドに応答して複数のメモリモジュールバッファ機能を作動させるための、第二のシリアルバスコントローラをさらに備える請求項１に記載のメモリモジュールバッファ。
【請求項３】
前記第一のシリアルバスコントローラは、第一のアドレスに応答し、前記第二のシリアルバスコントローラは、第二のシリアルバスアドレスに応答する請求項２に記載のメモリモジュールバッファ。
【請求項４】
前記第一および第二のシリアルバスコントローラは、少なくとも部分的に共有される共通シリアルバスレシーバ／ドライバ回路を備える請求項３に記載のメモリモジュールバッファ。
【請求項５】
前記第一のシリアルバスコントローラおよび前記バッファのセルフテスト機能の両方からアクセス可能な第二のメモリエリアをさらに備え、
前記シリアルバスポートからアクセス可能な前記不揮発性メモリエリアは、複数のメモリアドレスの第一の範囲から選択される複数のアドレスを使用し、前記シリアルバスポートからアクセス可能な前記第二のメモリエリアは、複数のメモリアドレスの第二の範囲から選択される複数のアドレスを使用する請求項１に記載のメモリモジュールバッファ。
【請求項６】
前記第一のシリアルバスコントローラは、割り当てられたシリアルバスアドレスに応答し、前記割り当てられたシリアルバスアドレスの少なくとも一部は、前記複数のメモリチャネルインターフェースを介して前記コントローラに供給される請求項１に記載のメモリモジュールバッファ。
【請求項７】
前記メモリモジュールバッファの内部のデータチャネルを介して、前記メモリデバイスインターフェースが前記不揮発性メモリエリアにアクセスできる請求項１に記載のメモリモジュールバッファ。
【請求項８】
一組のレジスタをさらに備え、
前記内部のデータチャネルは、起動直後に、前記不揮発性メモリエリアから前記複数の構成レジスタに情報をミラーリングするために使用される請求項７に記載のメモリモジュールバッファ。
【請求項９】
前記不揮発性メモリエリアは、マスク読取専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ、消去可能プログラマブルＲＯＭ、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）、フラッシュＥＥＰＲＯＭ、複数のレーザカットヒューズ、およびその複数の組み合わせを有する複数のストレージセルタイプのグループから選択される複数のデータストレージセルを備える請求項１に記載のメモリモジュールバッファ。
【請求項１０】
共通のパッケージにまとめられた第一および第二の集積回路を備え、
前記不揮発性メモリエリアおよび第一のシリアルバスコントローラは、前記第一の集積回路に集積され、前記複数のメモリチャネルインターフェースおよびメモリデバイスインターフェースは、前記第二の集積回路に集積され、
前記第二の集積回路は、第二のシリアルバスコントローラをさらに備え、
前記第一および第二のシリアルバスコントローラは、両方とも前記シリアルバスポートに接続する請求項１に記載のメモリモジュールバッファ。
【請求項１１】
複数のメモリデバイス、および
前記複数のメモリデバイスに結合されたメモリモジュールバッファを備え、
前記メモリモジュールバッファは、前記モジュールのためのシリアルプレゼンス検出機能を有するバッファ型メモリモジュール。
【請求項１２】
前記シリアルプレゼンス検出機能は、前記複数のメモリデバイス、シリアルバスポート、および前記シリアルバスポートで受信される複数の要求に応答して、不揮発性メモリエリアから前記シリアルバスポートの外へ情報を送信するための第一のシリアルバスコントローラに関連する情報を有する前記不揮発性メモリエリアを備える請求項１１に記載のバッファ型メモリモジュール。
【請求項１３】
前記シリアルバスコントローラにメモリスロット割り当ての情報を提供するために、前記第一のシリアルバスコントローラに接続される複数のアドレス割り当てラインをさらに備える請求項１２に記載のバッファ型メモリモジュール。
【請求項１４】
前記第一のシリアルバスコントローラは、少なくとも部分的にメモリスロット割り当てに依存してシリアルバスアドレスに応答し、
前記メモリスロット割り当ては、メモリチャネルを介して前記メモリモジュールバッファに伝えられる請求項１２に記載のバッファ型メモリモジュール。
【請求項１５】
前記シリアルバスポート、およびビルトインセルフテスト機能に接続される第二のシリアルバスコントローラをさらに備え、
前記第二のシリアルバスコントローラは、前記シリアルバスポートと前記ビルトインセルフテストとの間のアクセスを提供する請求項１２に記載のバッファ型メモリモジュール。
【請求項１６】
前記メモリモジュールバッファは、共通のパッケージの中にまとめられた第一および第二の集積回路を備え、
前記不揮発性メモリエリアおよび前記第一のシリアルバスコントローラは、第一の集積回路に集積され、
前記メモリモジュールバッファは、前記第二の集積回路に集積されるホスト側および下流のメモリチャネルインターフェースおよびメモリデバイスインターフェースをさらに備え、
前記第二の集積回路は、第二のシリアルバスコントローラをさらに有し、
前記第一および第二のシリアルバスコントローラは、両方とも共通のシリアルバスポートに接続する請求項１２に記載のバッファ型メモリモジュール。
【請求項１７】
バッファ型メモリモジュールの上のシリアルプレゼンス検出機能にシリアルバスアドレスを割り当てる方法であって、
前記方法は、
メモリチャネルを介して前記バッファ型メモリモジュールにスロット割り当てを送信する段階、および
少なくとも部分的に送信されるメモリスロット割り当てに基づいて、前記モジュールの内部で、割り当てられたシリアルバスアドレスを前記シリアルプレゼンス検出機能にアサートする段階
を備える方法。
【請求項１８】
メモリスロット割り当てを前記バッファ型メモリモジュールに送信する段階は、第一のメモリチャネルセグメントを介して第一のメモリスロット割り当てトークンを送信する段階、および前記バッファ型メモリモジュールで前記第一のメモリスロット割り当てトークンを受信する段階を備える請求項１７に記載の方法。
【請求項１９】
前記バッファ型メモリモジュールが、前記第一のメモリスロット割り当てトークンを前記第一のメモリチャネルセグメントに沿って後方に渡す段階をさらに備える請求項１８に記載の方法。
【請求項２０】
前記バッファ型メモリモジュールが、第二のメモリスロット割り当てトークンを形成するために前記第一のメモリスロット割り当てトークンの中のカウンタを増加させる、および前記第二のメモリスロット割り当てトークンを第二のメモリチャネルセグメントに沿って前方に渡す段階をさらに備える請求項１８に記載の方法。
【請求項２１】
前記バッファ型メモリモジュールが、前記第一のメモリスロット割り当てトークンが受信されるまで、前記第一のメモリチャネルセグメントの上で受信されるデータを第二のメモリチャネルセグメントに転送することを無効にする段階をさらに備える請求項１８に記載の方法。
【請求項２２】
プロセッサと、
前記プロセッサと通信するホストメモリコントローラと、
少なくとも、第一のバッファ型メモリモジュールであって、
複数のメモリデバイス、および前記複数のメモリデバイスに結合されるメモリモジュールバッファを有し、
前記メモリモジュールバッファは、シリアルプレゼンス検出機能を含む第一のバッファ型メモリモジュールと、
前記ホストメモリコントローラを前記第一のバッファ型メモリモジュールに接続する第一のポイント−トゥ−ポイントメモリチャネルと、
前記プロセッサが前記メモリモジュールの構成に関連した情報を発見することを可能にするための、前記第一のバッファ型メモリモジュールシリアルプレゼンス検出機能に結合される比較的に低速なバスと
を備えるコンピューティングデバイス。
【請求項２３】
複数のメモリデバイスおよび前記複数のメモリデバイスに結合されるメモリモジュールバッファを有し、シリアルプレゼンス検出機能を有する第二のバッファ型メモリモジュール、および
前記第一のバッファ型メモリモジュールを前記第二のバッファ型メモリモジュールに接続する第二のポイント−トゥ−ポイントメモリチャネルをさらに備え、
前記比較的に低速なバスは、同様に、前記第二のバッファ型メモリモジュールシリアルプレゼンス検出機能に結合される請求項２２に記載のコンピューティングデバイス。
【請求項２４】
前記第一のメモリモジュールの上の前記シリアルプレゼンス検出機能は、シリアルバスコントローラおよび前記シリアルバスコントローラを介してアクセスできる不揮発性メモリエリアを備え、
前記不揮発性メモリエリアは、前記メモリモジュールの上の前記複数のメモリデバイスに関連する情報を有する請求項２２に記載のコンピューティングデバイス。
【請求項２５】
前記不揮発性メモリエリアは、前記メモリモジュールバッファの複数の性能に関連する情報をさらに備える請求項２４に記載のコンピューティングデバイス。
【請求項２６】
前記シリアルバスコントローラは、前記第一のメモリチャネルを介して前記メモリモジュールバッファに発行される複数のコマンドを用いて構成可能であるシリアルバスアドレスに応答する請求項２２に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広く複数のディジタルメモリシステム、コンポーネント、および方法に関し、より具体的には、シリアルプレゼンス検出機能を備える複数のメモリモジュールバッファに関する。
【背景技術】
【０００２】
複数のマイクロプロセッサなどの複数のディジタルプロセッサは、データおよび複数のプロセッサ命令を記憶するために、コンピュータメモリシステムを使用する。幾つかのプロセッサは、メモリと直接通信し、他の複数は、メモリにアクセスするために、しばしば"チップセット"の部分である専用コントローラチップを使用する。
【０００３】
従来型の複数のコンピュータメモリサブシステムは、複数のメモリモジュールを用いて実装される。図１を参照すると、プロセッサ２０は、フロントサイドバス２５を介して、マイクロプロセッサ２０をさまざまな周辺装置に接続するメモリコントローラ／ハブ（ＭＣＨ）３０と通信している。これら複数の周辺装置の１つは、複数のカードスロット５２、５４、５６、および５８に挿入される複数のデュアルインラインメモリモジュール（ＤＩＭＭ）Ｄ０、Ｄ１、Ｄ２およびＤ３として示されるシステムメモリである。接続された場合、ＭＣＨ３０が適切な複数の信号をアドレス／コントロールバス５０上にアサートする時はいつでも、複数のメモリモジュールは、ＭＣＨ３０からアドレスを指定される。ＭＣＨ３０と複数のメモリモジュールの１つとの間の複数のデータ転送は、データバス４０上で生じる。複数のバス４０および５０は、それぞれのメモリモジュールにつき１つの、多数のバススタブのそれらの使用に起因して、複数の"マルチドロップ"バスと称される。
【０００４】
Ｉ／Ｏチャネルハブ（ＩＣＨ）６０は、ハブバス３５０を介してＭＣＨ３０と同様に通信する。さまざまな周辺装置は、ローピンカウント（ＬＰＣ）バス６８、システムマネージメントバス（ＳＭバス）６５、および周辺装置相互接続（ＰＣＩ）バス（図示されていない）を介してＩ／Ｏチャネルハブ６０に接続できる。ＬＰＣバス６８は、システムのためにブートコードおよび他の複数の低水準機能を供給する基本入力／出力システム（ＢＩＯＳ）／ファームウェアハブ７０に接続する。
【０００５】
ＳＭバス６５は、バッテリおよびパワーマネジメント、複数のＬＥＤの消灯／点灯、ならびに幾つかのコンポーネントの存在の検出などの単純な複数の機能のために使用される低ビットレートシリアルチャネルを提供する。ＳＭバス６５は、例えば、システムマネージメントバス（ＳＭバス）仕様、２．０版、ＳＢＳ  Ｉｍｐｌｅｍｅｎｔｅｒｓ  Ｆｏｒｕｍ、２０００年８月３日、に準拠する。Ｉ／Ｏチャネルハブ６０は、読み出すおよび他の複数のＳＭバスデバイスに書き込むために、複数のシリアルクロック（ＳＣＬ）およびシリアルデータ（ＳＤＡ）ＳＭバスラインを駆動するＳＭバスマスタを有し、システムは、同様に複数のＳＭバスデバイスのために、複数の３．３Ｖ（ＶＣＣ）およびグランド（ＧＮＤ）接続を提供する。
【０００６】
この先行技術において、それぞれのメモリスロットは、４つのＳＭバスラインＳＤＡ、ＳＣＬのためのならびに３つのハードワイヤードアドレスラインＡ２、Ａ１、およびＡ０のための複数のカプラを有する。複数のハードワイヤードアドレスラインは、バイナリ０００をスロット０（コネクタ５２）へ、バイナリ００１をスロット１へ、バイナリ０１０をスロット２へ、およびバイナリ０１１をスロット３へ、複数の高／低信号の異なった組み合わせをそれぞれのカードスロットにアサートする。
【０００７】
図２Ａおよび図２Ｂは、どのように４つのＳＭバスラインおよび３つのハードワイヤードアドレスラインがＤＩＭＭ上に接続されるかを例示する。図２Ａは、ＤＩＭＭ  Ｄ０（およびそれぞれの他のＤＩＭＭ）は、シリアルプレゼンス検出（ＳＰＤ）電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）デバイス１００を備えることを示す。図２Ｂは、ＳＰＤ  ＥＥＰＲＯＭ１００のための複数の例の接続を示しながら、ＤＩＭＭ  Ｄ０の右端に焦点を当てる（図２Ｂに示される複数の信号ルーティングトレースおよび複数のコネクタ割り当ては、任意の実際のデバイス配置に対応するようには意図されない）。第八のコネクタＷＰは、ＳＰＤ  ＥＥＰＲＯＭ１００への複数の書き込みを無効および有効にするために使用される書き込み保護信号を受信する。ＳＰＤ  ＥＥＰＲＯＭ１００上のＷＰパッケージピンが直接ＶＣＣに固定され、全てのＥＥＰＲＯＭ１００への書き込みを無効にし、したがって、ＥＥＰＲＯＭに記憶されるデータを保護する場合、このコネクタは、必要ではない。
【０００８】
図３は、代表的なＳＰＤ  ＥＥＰＲＯＭ１００（ＡＴＭＥＬ  ２４Ｃ０２、Ａｔｍｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ、Ｓａｎ  Ｊｏｓｅ  Ｃａｌｉｆｏｒｎｉａから利用可能）のためのブロック図を含む。スタート／ストップロジック１１０は、いつバスマスタがスタートまたはストップ条件をＳＭバス上にアサートするかを判断するために、複数のＳＣＬおよびＳＤＡ  ＳＭバス信号を調べる。シリアルコントロールロジック１２０は、ＳＣＬ、ＳＤＡ、ＷＰ、および複数のスタート／ストップ条件信号を受信し、ＥＥＰＲＯＭのさまざまな他の部分の動作を協調させるために、これらを使用する。例えば、スタート条件が生じた場合、シリアルコントロールロジック１２０は、ＬＯＡＤをデバイスアドレスコンパレータ１３０へアサートし、コンパレータ１３０にデバイスアドレスをＳＤＡからロードさせ、そのアドレスをバイナリデバイスアドレス１０１０［Ａ２］［Ａ１］［Ａ１］と比較させる。アドレスマッチが生じる場合、シリアルコントロールロジック１２０は、読み出しかそれとも書き込みコマンドが送られたかを判断し、適切な複数のイネーブルコマンドを書き込み回路１７２、データワードアドレス／カウンタ１４０、およびＤｏｕｔ／ＡＣＫロジック１８０へアサートする。
【０００９】
データワードアドレス／カウンタ１４０は、Ｘデコーダ１５０およびＹデコーダ１６０を駆動し、それらは、次に、センスアンプ／マルチプレクサ１７４を用いて、ＥＥＰＲＯＭコア１７０内の８ビットロケーションを選択する。データワードアドレス／カウンタ１４０は、それぞれの動作のために、新しく供給されるアドレスがロードされることができ（ＬＯＡＤを用いて）、または複数の連続的な読み出し動作のために最後に使用されたアドレスが増加されることができる（ＩＮＣを用いて）。
【００１０】
Ｄｏｕｔ／ＡＣＫロジック１８０は、ＳＤＡを２つの条件の下、駆動する。第一の条件は、ＳＭバスマスタから受信されるデータを認識することである。第二の条件は、ＳＭバスマスタからの読み出し要求に応答して、ＥＥＰＲＯＭコア１７０から読み出されるデータを順番に並べ、駆動することである。
【００１１】
ＤＩＭＭ  Ｄ０を組み立てる工場において、ＥＥＰＲＯＭコア１７０にＤＩＭＭの構成、サイズ、タイミング、およびタイプを説明する複数のパラメータが取り込まれる。図１のシステムが起動する場合、プロセッサ２０は、ハブ７０から基本起動コードにアクセスするアドレスにベクトルを向け、それ自身を構成する。プロセッサ２０は、その後、ＩＣＨ６０にそれぞれのＳＭバスＤＩＭＭスロットのアドレスを指定させ、ＤＩＭＭがそのスロットに挿入されている場合、ＤＩＭＭのＳＰＤ  ＥＥＰＲＯＭから複数のメモリパラメータを読み出させる。プロセッサ２０は、取り出される複数のＤＩＭＭパラメータに従って、ＭＣＨ３０を構成する。ブートシーケンスは、ＭＣＨ３０を進め、挿入された複数のＤＩＭＭは、完全に使用可能になる。
【図面の簡単な説明】
【００１２】
複数の実施形態は、複数の図面への参照を伴う本開示を読むことで最も理解される。
【図１】先行技術のコンピュータシステムを説明する。
【図２Ａ】先行技術のＤＩＭＭを説明する。
【図２Ｂ】先行技術のＤＩＭＭを説明する。
【図３】先行技術のＳＰＤ  ＥＥＰＲＯＭのためのブロック図を含む。
【図４】本発明の幾つかの実施形態に係る複数の完全バッファ型ＤＩＭＭを組み込むコンピュータシステムを描写する。
【図５】本発明の幾つかの実施形態に係る複数の完全バッファ型ＤＩＭＭのための一般的な物理デバイスレイアウトを図示する。
【図６】本発明の幾つかの実施形態に係るメモリモジュールバッファのためのブロック図を含む。
【図７】本発明の幾つかの実施形態に係るバッファパッケージ内にＳＰＤ  ＥＥＰＲＯＭ集積回路を組み込むメモリモジュールバッファパッケージのためのブロック図を含む。
【図８】本発明の幾つかの実施形態に係るＳＰＤ不揮発性メモリブロックおよびビルトインセルフテストにアクセスするための１つのＳＭバスコントローラ用いるメモリモジュールバッファのためのブロック図を含む。
【図９】本発明の幾つかの実施形態に係る複数の完全バッファ型ＤＩＭＭを組み込むコンピュータシステムを描写し、ここで複数のスロットアドレスは、ハードワイヤードではなく、システムの複数のメモリチャネルを用いて、起動時に決定される。
【図１０】本発明の幾つかの実施形態に係るメモリバッファのためのブロック図を含み、例えば、図９のコンピュータシステムの中で役立つ。
【発明を実施するための最良の形態】
【００１３】
本明細書は、"複数の完全バッファ型メモリモジュール"に関連し、標準的な複数のＤＩＭＭとは、幾つかの観点において異なる。これら複数の差異の中で主要なことは、モジュール上の複数のメモリデバイスを、モジュールをＭＣＨ（またはプロセッサ）に接続するメモリチャネルから分離させる、メモリモジュール上のメモリモジュールバッファの存在である。下記で説明される複数の実施形態において、ＳＰＤ機能は、メモリモジュールバッファに結合される。
【００１４】
最初に図４を参照すると、バッファ型メモリモジュールメモリサブシステム２００を組み込むシステム２００が示されており、システム２００は、プロセッサ２２０、フロントサイドバス２２５、ＭＣＨ２３０、ハブバス２４０、Ｉ／Ｏチャネルハブ２７０、ＳＭバス２５５、ＬＰＣバス２６０、およびＢＩＯＳ／ファームウェアハブ２７０を備え、図１においてそれらの対応するものとして相互接続されたこれらは、大部分で同様に接続され、機能している。しかしながら、ＭＣＨ２３０は、図１のようなマルチドロップアドレス／コントロールバスおよびマルチドロップデータバスを使用しない。代わりに、ＭＣＨ２３０は、完全バッファ型ＤＩＭＭ（ＦＢＤＩＭＭ）  Ｆ０上のメモリモジュールバッファ３００と、メモリチャネル２３２として共に機能する２つの対向する単向性のポイント−トゥ−ポイントのバス接続を介して通信する。幾つかの実施形態において、メモリチャネル２３２は、ＭＣＨ２３０をＦＢＤＩＭＭ  Ｆ０にリンクするために、複数の高ビットレート差動信号ペアの比較的に少ない数を使用する。それぞれの差動ペアは、単向性のポイント−トゥ−ポイント専用接続を提供するので、複数のスタブまたは"複数のマルチドロップ"無しに、複数の高ビットレートは、維持されることができる。
【００１５】
ＦＢＤＩＭＭ  Ｆ１は、直接ＭＣＨ２３０に接続しないが、代わりに、ＦＢＤＩＭＭ  Ｆ０のバッファ３００にメモリチャネル２３２と同一に機能する第二のメモリチャネル２３４を介して接続する。短く説明されるように、バッファ３００は、ＦＢＤＩＭＭ  Ｆ１とのＭＣＨ通信を容易にするために、メモリチャネル２３２とメモリチャネル２３４との間でトラフィックを往復させる。
【００１６】
多くの、または少しの、ＦＢＤＩＭＭは、このポイント−トゥ−ポイントメモリチャネル構成を用いてＭＣＨに接続されることができる。図４において、第三のポイント−トゥ−ポイントメモリチャネル２３６を介してＦＢＤＩＭＭ  Ｆ１に接続するＦＢＤＩＭＭ  Ｆ２、および第四のポイント−トゥ−ポイントメモリチャネル２３８を介してＦＢＤＩＭＭ  Ｆ２に接続するＦＢＤＩＭＭ  Ｆ３を伴い、４つのＦＢＤＩＭＭが示される。
【００１７】
バッファ型メモリモジュールＦ０は、複数のメモリモジュールの典型である。図５は、ＦＢＤＩＭＭ  Ｆ０の表側の図および裏側の図の両方を示す。ＦＢＤＩＭＭ  Ｆ０の表側は、メモリバッファ３００および８個のＤＲＡＭ（ダイナミックランダムアクセスメモリ）デバイス３０２−０から３０２−８を備える。ＦＢＤＩＭＭ  Ｆ０の裏側は、メモリランク３０２−０から３０２−８の部分であるＤＲＡＭデバイス３０２−５およびメモリ３０４−０から３０４−８の第二のランクを有する１０個のＤＲＡＭデバイスを備える。
【００１８】
ＳＰＤ機能３１０は、図２Ａおよび図２Ｂに示されるようにＤＩＭＭ回路基板上に実装される専用デバイスパッケージの代わりに、バッファ３００に含まれる。少なくとも幾つかの実施形態において、ＳＰＤ機能は、比較的に大きなバッファ集積回路ダイ上のさもなければ使用されないシリコン内に実装され、モジュールのチップ数を削減し、潜在的に複数のコスト削減をもたらす。先行技術の複数のＤＲＡＭデバイスで見かけられる専用ＳＰＤパッケージの除去は、複数のＤＲＡＭバスラインがバッファ３００から複数のＤＲＡＭデバイスまで、どこを経由できるのかの制約のみならず、ＤＩＭＭ上のどこに複数のＤＲＡＭデバイス（例えば、３０２−８）が配置できるのかの幾つかの制約も同様に除去できる。さらに、幾つかの状況において、ＳＰＤ以外の複数の機能のために、バッファ回路へのＳＭバス接続は、望ましく、したがって、少なくとも複数のＳＭバスパッケージピンは、そのような複数の状況において、これら他の複数の機能とＳＰＤ機能との間で共有される。
【００１９】
図６は、メモリモジュールバッファ３００のためのブロック図を含む。バッファの主要な複数のブロックは、ＳＰＤ不揮発性メモリ（ＮＶＭ）機能３１０、ノースバウンド（ＮＢ）データインターフェース３２０、サウスバウンド（ＳＢ）データインターフェース３３０、ＤＲＡＭインターフェース３４０、ビルトインセルフテスト（ＢＩＳＴ）機能３５０、ＳＭバスコントローラ３６０、および一組の構成レジスタ３７０である。
【００２０】
ＮＶＭ３１０およびＳＭバスコントローラ３６０は、４つのＳＭバス信号／電力ラインを受け取る。加えて、ＳＰＤ  ＮＶＭ３１０は、３つのハードワイヤードアドレス割り当て信号Ａ２、Ａ１、およびＡ０を受信する。ＳＰＤ  ＮＶＭ３１０は、３つのアドレス割り当て信号を、例えば、前に図３のＳＰＤ  ＥＥＰＲＯＭのために説明されたように、その複数のＳＭバスアドレスを判断するために使用する。ＳＰＤ  ＮＶＭ３１０は、図３に示されるようにＥＥＰＲＯＭとして潜在的に構成されることができるが、ＳＰＤ  ＮＶＭ３１０の複数のキー要素は、通常一度のみプログラムされる必要がある不揮発性メモリエリア、および不揮発性メモリエリアがＳＭバス接続を介してアクセスされることを可能にするＳＭバスコントローラである。したがって、不揮発性メモリエリアは従来型の複数のフラッシュメモリセル、ＰＲＯＭ（プログラマブル読取専用メモリ）アレイ、ＥＰＲＯＭ（消去可能プログラマブルＰＲＯＭ）アレイ、またはレーザ可分ヒューズの一組のアレイでよい。同様の構成の複数のＦＢＤＩＭＭの十分に高いボリュームが生産される幾つかの状況において、不揮発性メモリエリアは、異なる複数のＦＢＤＩＭＭ構成を提供する複数のバッファ回路のために用いられる異なる複数のＲＯＭマスクで半導体製造時にプログラムされるマスクＲＯＭアレイさえ備える。
【００２１】
サウスバウンドデータパスは、ホスト側のメモリチャネルＳＢデータ入力およびＳＢデータ入力で受信した複数の差動信号を通常、再駆動する下流のメモリチャネルＳＢデータ出力を備える。ＳＢデータインターフェース３３０は、複数のバッファコマンドおよびＳＢデータ入力で受信されたデータをＤＲＡＭインターフェース３４０、および潜在的にＢＩＳＴ３５０に渡す。複数のテストモードにおいて、ＢＩＳＴ３５０は、サウスバウンドデータ出力上で駆動されるために、複数の信号をＳＢデータインターフェース３３０に同様に提供する。
【００２２】
ノースバウンドデータパスは、下流のメモリチャネルＮＢデータ入力およびＮＢデータ入力で受信された複数の差動信号を通常再駆動するホスト側のメモリチャネルＮＢデータ出力を備える。ＮＢデータインターフェース３２０は、ＤＲＡＭインターフェース３４０がモジュールの複数のＤＲＡＭから読み出されるデータをノースバウンドデータ出力に差し挟むことを可能にする。複数のテストモードにおいて、ＢＩＳＴ３５０は、データをノースバウンドデータ出力に同様に差し挟むことができ、またはノースデータ入力からデータを読み出すことができる。
【００２３】
ＤＲＡＭインターフェース３４０は、片側の複数の狭い高速のＮＢおよびＳＢデータインターフェースと、および反対側のより広い、より遅いＤＲＡＭインターフェースと通信する。ＤＲＡＭインターフェース３４０は、ＳＢデータ入力ポートで受信される複数のコマンドを適切なタイミングの複数のＤＲＡＭアドレスおよびコマンドに変形するための、モジュールの複数のＤＲＡＭデバイスに書き込むためにＳＢデータ入力ポートで受信される書き込みデータをバッファリングするための、およびＮＢデータ出力の外に送信するためにモジュールの複数のＤＲＡＭデバイスから受信された読み出しデータをバッファリングするためのロジックを有する。メモリコントローラまたはプロセッサは、例えば、ＳＰＤ  ＮＶＭ３１０から読み出される複数のパラメータなどの複数のパラメータを複数の構成レジスタ３７０の一組にＳＢデータ入力ポートを用いて転送する。複数の構成レジスタパラメータは、どのようにＤＲＡＭインターフェース３４０がモジュール上の複数のＤＲＡＭのランクまたは複数のランクと通信するのかを調整するために使用されることができる。
【００２４】
ＢＩＳＴ機能３５０は、デバイスの複数のメモリチャネルをテストするためにおよび／または複数のＤＲＡＭデバイスをテストするために、複数のテストシーケンスを開始することができる。説明される実施形態において、ＳＭバスコントローラ３６０は、ＢＩＳＴ機能３５０に接続する。リモートＳＭバスマスタ（例えば、ＩＣＨを介して動作しているプロセッサ）は、ＳＭバスコントローラ３６０に複数のＳＭバスコマンドを発行することにより、複数のＢＩＳＴ機能を開始および／または複数のＢＩＳＴ要求を収集することができる。ＳＭバスコントローラ３６０は、システムにより割り当てられるダイナミックアドレスを有することができる。
【００２５】
図７は、メモリモジュールバッファ３００のための実施形態の代替を示す。この実施形態において、ＳＰＤ  ＥＥＰＲＯＭダイ３１０およびバッファ回路ダイ３９０は、共通のパッケージ３８０に実装される。バッファ回路ダイ３９０は、例えば、ＳＰＤ機能を除いた図６のバッファのために説明された複数の機能を有する複数のＳＭバス接続は、パッケージの外にＳＭバスピンの１つのセットが現れるように、ダイ３１０とダイ３９０との間で、パッケージの内部で依然として共有される。
【００２６】
図８は、メモリモジュールバッファ３００のための実施形態のさらに他の代替のタイプを示す。この本実施形態において、１つのＳＭバスコントローラ３６０は、２つのＳＭバスアドレスを認識する。１つは、ＳＰＤ不揮発性メモリ３１０のアドレス指定のためで、他のは、ＢＩＳＴ機能３５０のアドレス指定のためである。適切な対象の機能を選択するために使用される２つのアドレスコンパレータと共に、ＳＭバスコントローラ回路の多くは、２つの機能の間で共有される。同様に、図８に示される他の差異は、ＳＰＤ  ＮＶＭ３１０から複数の構成レジスタ３７０への直接接続であり、ＩＣＨ、ＭＣＨ、およびプロセッサが介入することなく、複数の構成レジスタ３７０に直接複数のＳＰＤパラメータがロードされることを可能にする。
【００２７】
複数の実施形態の代替の集まりにおいて、ＳＭバスコントローラ３６０は、ＳＰＤ  ＮＶＭ３１０およびＢＩＳＴ３５０の両方に関連する１つのＳＭバスアドレスを受け取ることができる。ＳＰＤ  ＮＶＭ３１０およびＢＩＳＴ３５０は、複数のメモリアドレスの異なる複数の範囲に割り当てられる。ＳＭバスコントローラ３６０内の現在のデータアドレスに依存して、コントローラ３６０は、受信されるＳＭバスコマンドが、ＳＰＤ  ＮＶＭ３１０を対象にするかそれともＢＩＳＴ３５０かどうかを判断する。ＢＩＳＴ３５０に割り当てられる複数のアドレスは、メモリアレイ（揮発性または不揮発性）の構成要素となり、または複数のＢＩＳＴレジスタの集まりにアクセスするために変形される。
【００２８】
ポイント−トゥ−ポイントメモリチャネル配置の幾つかの実施形態を伴い、図１および図４に示されるハードワイヤードスロットアドレススキームを排除する機会が同様に存在する。複数のハードワイヤードＡ２、Ａ１、およびＡ０ラインへの要求がなければ、それぞれのＦＢＤＩＭＭ上のそれぞれのＦＢＤＩＭＭ上の３つのピンおよびそれぞれのメモリモジュールバッファ上の３つのピンは、省かれることができ、システムマザーボードがそれぞれのメモリスロットのための複数のアドレスラインを備える図１の要求は、同様に消えることができる。図９は、そのような配置を示す。実施形態のこのタイプにおいて、ＭＣＨ２３０およびＦＢＤＩＭＭ  Ｆ０は、チャネル２３２上で、リンクセットアップの間、およびＦＢＤＩＭＭバッファが完全に構成される前に、少なくとも幾つかのコマンドがメモリチャネル２３２を介してＦＢＤＩＭＭに送られることを可能にするメモリチャネルモードをサポートする。例えば、ＭＣＨ２３０は、メモリスロット割り当てトークンをチャネル２３２を介してＦＢＤＩＭＭ  Ｆ０に送ることができる。ＦＢＤＩＭＭ  Ｆ０は、このトークンを読み、トークンは、また自動的に、メモリチャネル２３４を介してＦＢＤＩＭＭ  Ｆ１に、その後、メモリチャネル２３６を介してＦＢＤＩＭＭ  Ｆ２などに再駆動される。
【００２９】
そのようなトークンを受信するそれぞれのメモリモジュールバッファは、幾つかの可能な行動の１つを起こすことができる。例えば、トークンの第二のコピーは、それぞれのモジュールバッファが第一のトークンを受信することにより、下流に送られることができる。それぞれのモジュールバッファは、したがって、それがどのスロットに存在するかを判断するために、それが受信する複数のトークンの数を数える。あるいは、それぞれのモジュールバッファは、トークンを増やし、コピーを渡すことができる。バッファにより受信される最後の割り当てトークンのトークン値は、モジュールバッファのためのメモリスロットを指し示す。複数のトークンは、幾つのスロットが動作中の複数のＦＢＤＩＭＭを備えるかをＭＣＨに通知するために、ノースバウンド方向でＭＣＨに同様に渡されることができる。
【００３０】
後ろに渡される複数のトークンが役立つ他の可能性は、それぞれのモジュールがそのスロット位置を指し示すスロット割り当てトークンを受信するまで、それぞれのモジュールは、複数のサウスバウンドデータ出力信号を伝播させるその能力を無効にするスキームである。そのようなトークンがメモリモジュールバッファにより一旦受信されると、トークンからのスロット割り当てアドレスは、記録され、トークンは、ＭＣＨに渡され、ＦＢＤＩＭＭ  Ｆ０  の上のバッファは、そのサウスバウンドデータ入力からサウスバウンドデータ出力へのパスを有効にする。ＭＣＨが第二のトークン（第二の割り当てアドレスと共に）を送る場合、それは、ＦＢＤＩＭＭ  Ｆ０により無視されるが、ＦＢＤＩＭＭ  Ｆ１に今は有効にされたメモリチャネル２３４を介して再送される。ＦＢＤＩＭＭ  Ｆ１は、第二の割り当てアドレスを記録し、トークンをＭＣＨに渡し、そのサウスバウンドデータ入力からサウスバウンドデータ出力へのパスを有効にする。ＭＣＨが返されないトークンを送るまで、そのプロセスは続く。
【００３１】
図１０は、複数のハードワイヤードスロット割り当てラインを要求しないメモリモジュールバッファ３００のための１つの可能なブロック図を示す。スロット割り当てがホスト側のメモリチャネルを介して受信される場合（例えば、上記で説明された複数の方法の１つによって）、スロット割り当ては、構成レジスタ３７０に書き込まれる。構成レジスタ３７０は、複数の適切なスロット割り当てパラメータ（例えば、Ａ２、Ａ１、およびＡ０）をＳＭバスコントローラ３６０に外部のハードワイヤード接続なしに供給する。続いて、プロセッサは、ＳＰＤ  ＮＶＭ３１０から複数のパラメータをダウンロードするために、それぞれのＦＢＤＩＭＭメモリスロットに複数のＳＭバストランザクションを要求する。
【００３２】
当業者であれば、ここで教えられる複数のコンセプトは、特定のアプリケーションに多くの他の有利な方法で合わせられることを理解するだろう。特に、当業者であれば、説明される複数の実施形態は、本開示を読んだ後に明白になる多くの代替の実装から選択されることを理解するだろう。例えば、説明されたもの以外の、バッファ機能の複数のグループ分けができる。ここで用いられる特定の複数のグループ分けは、１つの可能な機能的なグループ分けを提示するが、複数の機能は、添付の複数の請求項の範囲内で細分され、および／または多くの他の組み合わせに結合されることができる。
【００３３】
ここで示される特定の複数の特徴の多くは、設計の複数の選択である。複数のチャネルおよびバス幅、複数の信号伝達周波数、複数のＦＢＤＩＭＭレイアウト、複数のメモリデバイスの数、複数のコントロールバスプロトコル等は、全て設計の複数の選択である。複数のＤＩＭＭは、メモリの多数のランクおよび／または多数のデバイスの複数のメモリモジュールを備えることができる。幾つかの実施形態は、一例のシリアルバスとしてＳＭバスを用いて説明されたが、他の複数のマネージメント、コントロール、および／またはシリアルバスフォーマットを伴うここで開示される複数の概念を何者も排除しない。"シリアル"バスは、一般的に１つのデータラインまたは差動ラインペアをデータ信号伝達のために用いるが、もちろん、付属の複数の信号ライン同様に、少しのそのような複数の接続を使用することができる。そのような軽微な複数の修正は、本発明の複数の実施形態の中に包含され、複数の請求項の範囲内であることが意図される。
【００３４】
先行する複数の実施形態は、例である。本明細書は、"一"、"１つの"、"他の"、または"幾つかの"（複数の）実施形態を幾つかの場所において参照するが、これは、必ずしも、それぞれのそのような参照が同じ（複数の）実施形態へのものであり、または特徴が１つの実施形態にのみ適用することを意味しない。
【図１】
2007515023.tif 000003
【図２Ａ】
2007515023.tif 000004
【図２Ｂ】
2007515023.tif 000005
【図３】
2007515023.tif 000006
【図４】
2007515023.tif 000007
【図５】
2007515023.tif 000008
【図６】
2007515023.tif 000009
【図７】
2007515023.tif 000010
【図８】
2007515023.tif 000011
【図９】
2007515023.tif 000012
【図１０】
2007515023.tif 000013
【国際調査報告】
2007515023.tif 000014
2007515023.tif 000015
2007515023.tif 000016