(57)【特許請求の範囲】
【請求項１】
線形フィードバックシフトレジスタ（ＬＦＳＲ）、パターンバッファ、および、前記ＬＦＳＲおよびパターンバッファに連結されたハードウエアにより生成された既知のデータパターンを用いて、メモリロケーションに対する書込コマンドを発行する工程と、
前記メモリロケーションから書き込んだデータをリードバックする工程と、
エラーが生じたかどうかを決定するために、前記既知のデータパターンを用いて、前記リードバックされたデータを、ビット毎にチェックする工程と、
ビット毎のエラー情報をレジスタに格納する工程と、
グローバルエラー表示を生成するために、前記ビット毎のエラー情報の論理和演算をする工程と
を備え、
前記ハードウエアは、前記ＬＦＳＲからの入力と、前記パターンバッファからの入力とを組み合わせて、前記データパターンを生成するために実装され、
前記データパターンは、
前記ＬＦＳＲからの複数ビットを含む第１パターンと、前記パターンバッファからの複数ビットを含む第２パターンとが前記ハードウエアを介して組み合わされ、前記データパターンは、前記第１パターンおよび前記第２パターンと異なり、前記第２パターンよりも長くない第３パターンを含み、前記ハードウエアから出力されること、または、
前記ＬＦＳＲからのビットに基づいて、前記パターンバッファから前記第２パターンの一部を選択すること
の少なくとも一つにより生成される方法。
【請求項２】
前記データパターンは、メモリーテストのための最悪状況効果を生成する擬似ランダムパターンを含む請求項１に記載の方法。
【請求項３】
前記最悪状況効果は、シンボル間干渉（ＩＳＩ）、クロストークおよび共振効果のうち少なくとも一つを含む請求項２に記載の方法。
【請求項４】
前記ハードウエアは、排他的論理和ゲートを含む請求項１に記載の方法。
【請求項５】
アドレス生成器をさらに含む請求項１に記載の方法。
【請求項６】
前記アドレス生成器は、疑似ランダムアドレスパターンを生成するＬＦＳＲを含む請求項５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の形態は、メモリリンク試験、特にロバスト電気統合試験（ＲＥＵＴ）に関する。
【背景技術】
【０００２】
メモリコントローラからのメモリリンクの電気的試験は、デザインベースで変更でき、しばしばソフトウエア集約的であり、実行に多大な時間を有する、アドホック特性を備えている。電気的検証ツールは、共通のコンフィグレーション仕様が無いため、デザイン毎に書き換えられる必要があった。また、過去のメモリ試験フックは、メモリコントローラの標準機能パスに組み込めなかったので、タイミング、ページポリシー、リフレッシュレート及び省力化等の多様なノブに対してコンフィグレーション設定をエミュレートするように試験を構築しなければならなかった。
【図面の簡単な説明】
【０００３】
上記の点及び本発明のより良い理解は、添付の図面と関連して読みことで、構成についての以下の詳細の記載、実施例及び請求項から明らかになるであろう。構成についての以下の詳細の記載、実施例及び請求項の全ては、本発明の開示の一部を形成している。上記及び下記に記載され説明された開示は、本発明の構成及び実施例を開示することに焦点を当てているが、これらは説明及び例示のためだけであり、本発明がこれらに限定されないことは明確に理解できるであろう。
【０００４】
【図１】ＤＤＲ・ＲＥＵＴデータブロックを示す回路図である。
【図２】パターン生成の大容量バッファコンセプトを示す回路図である。
【図３】線形フィードバックシフトレジスタ（ＬＦＳＲ）の任意ブール組合せのルックアップテーブルを示す。
【図４】異なるレーンにおいて複数のタイプのパターンが同時に如何に用いられるかを示すチャートである。
【図５】ＧＤＤＲピンの固有パターンを制御するブール関数をプログラムするための拡張バッファを示すブロック図である。
【図６】ｐａｔｔｅｒｎｏｕｔの真理値表を示す。
【図７】Ｍ／Ｎ生成器によって生成される波形の一例である。
【図８】アドバンストアドレスパターン生成を示すブロック図である。
【図９】交互セグメントとシーケンシャルセグメントを含む内部アドレスを示す図である。
【図１０】バンク、ページ及びカラムビットを含むアドレス幅を示す図である。
【図１１】アドバンストパターン生成を示すブロック図である。
【発明を実施するための形態】
【０００５】
本明細書を通しての「１つの実施例」又は「ある実施例」との引用は、当実施例に関連して記載された特定の特徴、構成又は特性が、本願発明の少なくとも１つの実施例に含まれることを意味する。よって、本明細書を通してのさまざまな場所における「１つの実施例」又は「ある実施例」との表現の使用は、必ずしも全てが同一の実施例を示すことを意図していない。また、特定の特徴、構成又は特性は、１つ以上の実施例において適する方法で組み合わされてもよい。
【０００６】
本発明の１つの実施例によると、メモリリンクのためのＲＥＵＴ（Ｒｏｂｕｓｔ Ｅｌｅｃｔｒｉｃａｌ Ｕｎｉｆｉｅｄ Ｔｅｓｔｉｎｇ）は、先に述べた問題の全てを対処し、試験、ツール開発及びデバックを桁違いに高速化することにつながる。さらに、ＲＥＵＴは、過去の実施でできなかったパラメータ及びコンディションをトレーニングするべく、ＢＩＯＳに使用される十分なパフォーマンスを備えるトレーニングフックを提供する。
【０００７】
「ＲＥＵＴ」アーキテクチャは、相互接続ビルトインセルフテスト（ＩＢＩＳＴ）技術の更なる標準化のために開発された。ＲＥＵＴは、長年にわたるＰＣＩプログラミングモデルを用いて、レジスタセットと、それらのレジスタに関連したアクセスメカニズムとを標準化する。ＰＣＩファンクションを規定することにより、コンポーネント実装とツール開発との間の関係を絶つことができる。付随の標準のレジスタセットとともにＰＣＩ標準プログラミングモデルを導入することにより、ソフトウエア再利用を長期に可能にするために必要なインフラストラクチャを提供することができる。
【０００８】
図１をここで参照すると、ＲＥＵＴは、ＤＲＡＭに対してリクエストを発行するために、標準のメモリコントローラスケジューラパスを利用する専用アドレス及びデータ生成ハードウエアを備える。ソフトウエアインターフェースはまた、ハードウエアを制御するために規定される。このプログラミングインターフェースは、プロダクトファミリー間のツールリコード尽力を最小限にするために、プロダクト間の一貫性を保つために十分なほど意図的に包括的である。
【０００９】
ＲＥＵＴの主要試験メカニズムは、リンク又はＤＲＡＭエラーに対する試験をするために、ループバックを使用することである。ＤＤＲリンクループバックは、既知のデータパターンを用いて、メモリに対して書き込みを発行することによって達成される。このロケーションは後に読み戻され、メモリコントローラの送信側から受信側までのデータパスのどこかでエラーが生じたかどうかを判定するために、当パターンはビット毎ベースでチェックされる。ビット毎のエラー情報は、試験の間にレジスタに格納され、それらの結果がチェックされたときの試験時間を減らすために使用することができるグローバルエラー表示を生成するために、それらの結果は論理和（ＯＲ）合算される。
【００１０】
ハードウエアのアドレス生成部分は、ＤＤＲインターフェースによって許される最大レートで、メモリ読出及び書込リクエストを生成することができる。この最大レートは、試験の高速化を達成すること、及び、最悪コンディションをターゲットにすることに対して有用である。全てのリクエストは、ＤＲＡＭアドレスマッピングスキームで特定されたアドレスを用いてなされる。チャンネルにおけるランク及びページは、試験のターゲットとして特定される。リクエスト生成器は、複数のＤＲＡＭターンアラウンドケースを行使すべく、ランク及びページ間でリクエストをピンポンするために構成され得る。例えば、２ランクの間の全てのターンアラウンドをヒットするために、以下のシーケンスを発行してもよい。
ＷｒｉｔｅＲａｎｋ０ ＷｒｉｔｅＲａｎｋ１ ＲｅａｄＲａｎｋ０ ＲｅａｄＲａｎｋ１ ｒｅｐｅａｔ
【００１１】
メモリアドレス信号を与えるために、線形方法で又は線形フィードバックシフトレジスタ（ＬＦＳＲ）を用いて、アドレスが生成されてもよい。１つのランクに対して１行で発行される、ＤＲＡＭの読出及び書込数は、試験がどれくらいの期間実行されるかどうかを特定するループカウント（ｌｏｏｐｃｏｕｎｔ）とともに特定されてもよい。ループカウントは、ランタイムが２＾（ｌｏｏｐｃｏｕｎｔ）に比例するようにべき乗である。
【００１２】
データは、仕様のＩO部分における専用パスにおいて生成されるが、これは本発明の要件でなくてもよい。このデータは、シンボル間干渉（ＩＳＩ）、クロストーク及び共振効果の異なる組み合わせを生成するためにレジスタを通して制御されるパターンバッファとＬＦＳＲとの組み合わせを用いて生成される。データパターンがビット毎に如何に生成されるかを特定するために、バッファ選択レジスタは利用できる。レーン反転がまた、反転されるビットを特定する目的で、マスクベクトルを用いてビット毎ベースで利用される。
【００１３】
メモリコントローラ内の、プラットフォーム上の、又は、ＤＩＭＭ内の電気的パラメータをセットアップすることによって及びＲＥＵＴ試験を行なうことによって、電気的パラメータマージニングが行なわれる。これらの電気的パラメータは概して、ＩＯ信号が抽出されるときのタイミング又は電圧を制御する。アイダイアグラムの全体像をユーザに与えるために、数値範囲にわたってスイープされてもよい。
【００１４】
ターンアラウンドタイミング又はターミネーション設定、もっと言えば読出ＣＡＳレイテンシー設定等のプルトコルパラメータに対して、同じＲＥＵＴ試験スイープを行なうことができる。これは、ターンアラウンド又はレイテンシーを最小限にすることによってパフォーマンスを最適化する目的で、ＢＩＯＳによって用いられることができる。それは、非常に有益なデバックツールであることがまた証明されている。エラーの性質に対して素早いフィードバックを得るために、ＢＩＯＳによってプログラムされた実際の設定を用いて、ＲＥＵＴ試験は行なうことができる。
【００１５】
本発明の実施例によって解決される確かな幾つかの問題がある。
１．  バイオストレーニング
２．  ＤＩＭＭマージニング
３．  電気的検証試験時間
４．  メモリコントローラ試験及びデバック
５．  ＨＶＭ試験及びスクリーン機能
【００１６】
他の実装では、上記に列挙した問題の１つ又は２つだけしか解決できない。他の実装は概して、ＤＤＲリンク上で駆動されるショートシーケンスをプログラムすることをユーザに可能にさせる、ソフトウエアＣＰＵベースの試験又は原始的ハードウエアを用いることによって、これらの問題を取り扱ってきた。
【００１７】
ソフトウエアベースのアプローチは、プラットフォーム及びＣＰＵデザインの観点から信頼性があることが証明されていない。また、トランザクションが注入される場所（ＣＰＵコア）とＲＥＵＴ（メモリコントローラ内部）との間の距離に起因して、トランザクションのタイミング及び順序付けにおいて制御が制限される。この制御の不足及び試験挙動における変動性により、ソフトウエアアプローチの試験時間の増加にともなって、ソフトウエアベースのアプローチは、ＲＥＵＴと比べてより望ましくなく、且つより効率的でないものとなる。
【００１８】
指定されるショートシーケンスを可能にするアドホックハードウエアは、多くの場合、メモリプルトコルに従わず、ＤＲＡＭコンロトーラのプロトコル設定をエミュレートすることをプログラマーに強いさせる。実際のプルトコル設定がＲＥＵＴに使用されるので、これは制約とはならず、付加的なプログラミング複雑性ともならない。これはまた、プルトコルロジック及び設定をデバックするためにＲＥＵＴが使用されることを可能にする。過去のアプローチは、試験のためのショートシーケンスの複数のプログラミングを必要とするので、ソフトウエアオーバヘッドが試験時間の大部分を占めていた。非常に長い固有の複数の試験が、最小限のアップフロントプログラミングを用いてセットアップできるので、これは、ＲＥＵＴの場合には当てはまらない。
【００１９】
ここに記したＲＥＵＴは、メモリコントローラのプルトコル層にダイレクトに注入されるトラフィックを特定することをユーザに可能にする。これにより、現実的なタイミング及び設定を用いて試験を行なうことができる。ＲＥＵＴはまた、プログラミングオーバヘッド無しで、長いデータシーケンスを特定するためにハードウエアに貢献する。コマンドとデータ生成ハードウエアとの組み合わせ、及び、トランザクションが注入されてチェックされる方法は、特有のＲＥＵＴメカニズムである。
【００２０】
プログラミングインターフェース及び専用ハードウエアの大部分は、現行のソリューションにおいて共通には存在しない。本発明の利点は、試験に要求される読出及び書込トランザクションをスケジュールするための、標準プルトコル層を介したインターフェースである。ハードウエアによってシーケンス化された長い固有の試験を特定できることによって試験時間を短縮することもまた、現行のソリューションでは実現できない。
【００２１】
ＲＥＵＴは、バイオストレーニング、ＤＩＭＭマージニング、ＨＶＭ試験及び電気的リンク検証を含む、幅広い範囲に利用できる。これにより、顧客に、製造環境において彼らのＤＩＭＭを検査することを可能にさせるというＢＩＯＳにおける新しい特性を実現できる。従って、顧客は費用を節減でき、プロセッサの価値を高めることができる。ＤＤＲリンク試験時間は、リンク電気的問題の方々にわたってトレーニングする等の特性をバイオスにもたらすのに十分なほど短い。
【００２２】
本発明の別の例によれば、ＤＤＲ相互接続安定性は、プラットフォーム機能性及びＯＳ起動に対して有利である。ＤＤＲ周波数は、１６００ＭＴＳ及びそれを超えるまで増加しているので、タイミングを最適化するためには、より進歩したトレーニング回路が要求される。ここに記した「アドバンストデータパターン生成」と称する新しい方法は、より進歩したトレーニング能力を提供し、このため、プラットフォームＤＤＲ周波数をより速くすることができる（１６００ＭＴＳ及びそれを超える値）。
【００２３】
現行の生成トレーニング回路の問題の１つは、これらの回路があまりにも単純すぎること（例えば、「１０１０」トグルしか生成しない）、又は、実装するためにあまりにも大きいシリコン領域を必要とすること（例えば、レーン毎の背後にパターン生成器を設ける）である。
【００２４】
本発明の実施例は、３つの比較的小容量２３ビットＬＦＳＲだけを用いて複雑な擬似乱数を生成することによって上記問題の両方を解決する、「アドバンストデータパターン生成」と称する新しい方法を導入する。
【００２５】
この新しい方法の利点は、レーン毎（図では７２個ある）が、全てのレーンにわたって同一のパターンが複製されなければならない現行の生成器と比べて、固有パターンを有することができることである。通常これは、機能パスへのデータをバッファし、７２ビット幅である書込データバッファ（ＷＤＢ）の再利用によって達成できる。
【００２６】
ここで図２を参照すると、「大容量バッファ（ＷＤＢ）コンセプト」が示されている。図２に示されたとおり、長方形が大容量バッファである。この場合、大容量バッファは、３２のキャッシュライン深さを有し、各キャッシュラインは、８ビット深さインタイム（ｉｎ ｔｉｍｅ）である。通常は、１つのキャッシュラインは、任意の時間においてアクセス可能であり、５１２ビット幅である。８：１マルチプレクサは、ＤＤＲインターフェースのためにデータを７２ビット幅にシリアライズ化する。８：１マルチプレクサの背後の通常の制御は、０、１、２、３、４、５、６、７、０、１、２、３...とカウントするリニアカウンタである。動作の新しいモードでは、リニアカウンタは、複数のＬＦＳＲ及びＭ／Ｎによって置き換えられるので、３ビットシーケンスは、もはや線形ではなくなるであろう。
【００２７】
図３に示したとおり、ＷＤＢは、ＬＦＳＲ１、ＬＦＳＲ２及びＬＦＳＲ３の任意ブール組合せのルックアップテーブルを含むことができる大容量バッファである。単一のレーンにおいてこれがどのように動作するかを理解するために、特定のＤＤＲレーンのＷＤＢの８ビットインタイムが、以下の表の真理値表「Ｐａｔｔｅｒｎｏｕｔ」になるようにプログラムされた場合を考えると、ＬＦＳＲ１、ＬＦＳＲ２及びＬＦＳＲ３の排他的論理和は、ＤＤＲレーン出力において実現されるであろう。
【００２８】
図４は、異なるレーンにおいて複数のタイプのパターンが同時に如何に用いられるかを示す例である。以下の表の各セルは、１つのレーンに対して８ビットインタイムを含む。先に指摘したとおり、レーン毎ベースに、複雑なパターンを生成することができる。大容量バッファ（ＷＤＢ）は、レーン毎に対して固有のビットを保持するのに十分な容量を含むので、ここでは、ＤＤＲ相互接続の全ての７２レーンは、ＷＤＢのプログラミングを変更することだけで、固有パターンによって駆動されることができる。８：１マルチプレクサを制御するための３つのＬＦＳＲと大容量バッファ（ＷＤＢ）との組み合わせは、シリコン領域を著しく増加させること無しに、強力なデータパターン生成能力を提供する。
【００２９】
本発明のさらなる実施例においては、統合された又は個別のグラフィックスの観点から、プラットフォーム機能にとって、グラフィックスダブルデータレート（ＧＤＤＲ）相互接続安定性が重要である。ＧＤＤＲ周波数は、マルチギガヘルツ及びそれを超えるところまで増加するので、タイミングを最適化するために、より進歩したトレーニング及び相互接続診断回路が必要とされる。
【００３０】
「アドバンストデータパターン生成」と称する新しい方法は、進化したトレーニング及び相互接続診断能力を提供するので、ＧＤＤＲ周波数（マルチギガヘルツ）及び統合された又は個別のグラフィックスを含む次世代のプラットフォームを可能にする。
【００３１】
現行の生成トレーニング回路が有する問題の１つは、これらの回路があまりにも単純すぎること（例えば、「１０１０」トグルしか生成しない）、又は、実装するためにあまりにも大きいシリコン領域を必要とすること（例えば、レーン毎の背後にパターン生成器を設ける）である。
【００３２】
本発明の実施例は、１つのＭ／Ｎ生成器及び１つの３２ビットシフトレジスタを追加するだけによって、シリコン領域を最小限にしながら、複雑な擬似乱数を生成することによって、上記問題の両方を解決する、「アドバンストデータパターン生成」と称する新しい方法を導入する。この新しい方法の利点は、全てのレーンにわたって、より広く、より深く、且つより豊富なパターンを生成するこができることである。
【００３３】
ここで図５及び図６を参照し、特定のＧＤＤＲレーンの８ビットインタイムが、８ビットバッファに保持され、以下の表の真理値表「Ｐａｔｔｅｒｎｏｕｔ」になるようにプログラムされた場合を考えると、ＳＧ１、ＳＧ２及びＳＧ３の排他的論理和は、ＧＤＤＲレーン出力において実現されるであろう。ＳＧ１、ＳＧ２及びＳＧ３が、Ｍ／Ｎ生成器によって混合された異なる擬似ランダムパターン（例えは、ＬＦＳＲ出力）である場合、ＧＤＤＲレーン上の最終出力パターンは、ＬＦＳＲ１  ＸＯＲ  ＬＦＳＲ２  ＸＯＲ  Ｍ／Ｎによって得られるであろう。
【００３４】
拡張バッファ：ここでは、上記のＬＵＴコンセプトを、５ビットマルチプレクサ選択及び３２ビットバッファによって制御される３２：１マルチプレクサまで拡張する。ここでは、各ＧＤＤＲレーンは、全ての５つの機能（２つの６４ビットパターンバッファ、２つのＬＦＳＲ及び１つのＭ／Ｎ生成器）のうちのある真理値表機能を実施するために用いられることができる、上記の図に示された「拡張バッファ」によって制御することができる。
【００３５】
図５及び６には、ＧＤＤＲの８つのレーン、従って８つの３２ビット拡張バッファが示されている。これらの８つの拡張バッファは、シフトレジスタを形成するために接続されるので、８つのレーンにわたってパターンをシフトする能力を提供する。
【００３６】
ＬＦＳＲ：固有の繰り返されないパターンの最大実行長を生成するための、特定のロケーションにおいてフィードバックを有する２３ビットシフトレジスタ。
【００３７】
Ｍ／Ｎ生成器：Ｍ／Ｎ生成器は、３つの相を生成する。プレカーソルは、「ロウ」であり、プレカーソルの長さは、レジスタを介して制御することができる。「Ｍ」は、カーソルを表し、ここでも、その長さはレジスタを介して制御することができる。最後に、「Ｎ」は、「Ｎ」ビットインタイムの実行長を有するポストカーソルを表す。
【００３８】
図７は、Ｍ／Ｎ生成器が生成することができる波形の例を示す。
【００３９】
レーン反転：上記に加え、レーン反転制御は、「ノーマル」パターンから特定のレーンを反転することができる。
【００４０】
駆動ＤＣ：駆動ＤＣは、レーンが、上記の「ノーマル」パターンの代わりに、ＤＣ「１」又は「０」であるかを制御する。
【００４１】
本実施例によると、ＧＤＤＲは、シリコン領域の増加を最小限にしながら、３２レーンのそれぞれにおいて固有である複雑なパターン（ＬＦＳＲ）を用いてトレーニングされる。オンダイのより進化した相互接続診断パターンが提供される。３２：１マルチプレクサを制御するための５つの機能（２つのＬＦＳＲ、２つの６４ビットパターンバッファ及び１つのＭ／Ｎ）と「拡張バッファ」との組み合わせは、トレーニング及び相互接続診断のための強力なデータパターン生成能力を提供する。
【００４２】
本発明のさらなる実施例によれば、ＤＤＲ相互接続安定性は、プラットフォーム機能性及びＯＳ起動に対して重要である。ＤＤＲ周波数は、１６００ＭＴＳ及びそれを超えるまで増加するので、タイミングを最適化するためには、より進歩したトレーニング回路が要求される。
【００４３】
ＤＤＲ３スペックは、ＣＭＤ／アドレスピンをトレーニング又はマージニングするための明確なフックを提供しないので、現行の技術では、フルバンド幅最悪状況パターンを用いて、アドレスピンにストレスを与えることができない。その結果、現行の技術では、機能パターンを用いることを強いられ、ＣＭＤ／アドレスは、ＤＤＲスペックに１００パーセント適合したプルトコルでなければならない。しかしながら、要求されるプルトコル適合性は、単純なパターン生成器を用いて最悪状況パターンを生成することをはるかに困難にしている。
【００４４】
この問題に対する過去のアプローチでは、バスに対して、最悪状況電源供給、ＩＳＩ、共振及びクロストークノイズを同時に生成することができなかった。例えば、数サイクル以上の間ＣＭＤ／アドレスバスのバンド幅を完全に飽和状態にさせることさえあり得る単純なハードウエア信号生成器に対して非常に困難である。最悪状況パターンを与えることに対するこの能力の不足は、システム全体の周波数、パフォーマンス及びデバック能力に影響を与える。
【００４５】
本実施例によれば、「アドバンストアドレスパターン生成」と称する新しい方法は、進化したトレーニング能力を提供するので、より速いプラットフォームＤＤＲ周波数（１６００ＭＴＳ及びそれを超える値）を可能にする。現行の生成トレーニング回路が有する問題の１つは、これらの回路があまりにも単純すぎること（例えば、「１０１０」トグルしか生成しない）、又は、実装するためにあまりにも大きいシリコン領域を必要とすること（例えば、レーン毎の背後にパターン生成器を設ける）である。
【００４６】
本実施例は、「アドバンストアドレスパターン生成」と称する新しい方法を導入する。この新しい方法の利点は、ＤＤＲアドレスピンに対して、最悪状況パターンを用いてフルバンド幅のストレスを与えることができることである。また、ＤＩＭＭ電源供給システムに対して、複数のページをランダムにオープン及びクローズすることによるトレーニングとして、同時にストレスを与えることができる。
【００４７】
ここで図８を参照すると、以下に開示する幾つかのブロックを備えた、１つの実施例に準じたブロック図が確認できる。
【００４８】
スケジューラの背景：スケジューラの目的は、ＤＤＲトランザクションのタイミングを制御することである。プルトコルレベルリフレッシュ、読出、書込サイクルは全て、プルトコルに適合していることが既に立証されているスケジューラを介して「スケジュール」される。
【００４９】
決定論的生成器の背景：決定論的生成器は、Ｎ個のアドレスが格納される循環ＦＩＦＯにすぎない。任意の時間において、Ｎ個のアドレスの１つが、スケジューラに送られるであろう。決定論的生成器は、最悪状況ターンアラウンドタイムを与える、連続ページサイクル及び連続ランクサイクルを生成することができる。
【００５０】
ランダムページ生成器の背景：決定論的生成器が、ＤＩＭＭに対してより大きい電源線ストレスを与えるために、Ｎ個の正確に制御されたアドレスをシーケンスに並べることができる一方で、「ランダムページ生成器」は、その他の未使用のバンクに対する、ランダムオープン及びクローズページリクエストを生成することができる。メモリコントローラとは異なり、ＩＯトラフィック負荷が大きい状態で、最悪状況のＤＲＡＭ電源供給は起こらないので、このことは重要である。むしろ、ページオープン及びクローズリクエストによって、最も大きいｄＩ／ｄＴ及び供給ノイズがＤＲＡＭに生成される。この方法はまた、オープン／クローズリクエストの頻度に対する制御を可能にし、ＤＩＭＭ電源供給ネットワーク内の異なる共振周波数をターゲットにすることができる。
【００５１】
ＤＤＲ  ＣＭＤ／ＡＤＤＲラインにおけるフルバンド幅の達成方法：スケジューラが、ＤＤＲバス発行コマンドに対してビジーでない場合、プルトコルは、ノープ（ＮｏＯｐ）又は非選択コマンドがバスにあることを許す。この場合、ノープに関連した実際のアドレスビットは何でもよく、ＤＲＡＭによって無視されるであろう。フルバンド幅を満たす１つの方法は、ノープ／非選択アドレス生成の背後に２つのＬＦＳＲを設けることである。これは、本質的に、実際のアドレスコマンドに対して、「ノイズの多い」プレカーソル及びポストカーソルを生成する。
【００５２】
これらの全ての要素を図８の略図に組み合わせることによって、本発明は、ＤＤＲアドレスコマンドピンに対して、フルバンド幅トラフィックを生成することができ、ストレスに対するページ及びランクを正確に生成することができ、ＤＩＭＭの電源供給システムにストレスを与えることができる。これにより、ノープ／非選択トラフィックを用いて相互接続ノイズを保つことができ、２つのＬＦＳＲを用いて、バスに対して多様なＩＳＩ／クロストークシナリオを与えることができる。これらの全ての組み合わせは、最善なトレーニング結果を得ることために、相互接続部に素早くストレスを与えることができ、これにより、より高いＤＤＲ周波数を可能にする強力な進化したトレーニング回路を実現する。
【００５３】
さらなる別の実施例によると、「アドバンストアドレスパターン生成」と称する新しい方法は、アドレス範囲にわたってシーケンシャルにすること、及び、アドレス範囲の間をランダムにジャンプすることができるので、ＧＤＤＲタイミングを最適化するために必要とされるパターンを提供することができる。この新しい方法の利点は、ハードウエアを変更することなしに、ＧＤＤＲメモリコンフィグレーションの変化に適用できることである。
【００５４】
図９を参照すると、内部アドレス生成の背景を示す図が確認できる。アドレス生成器は、図９に示された内部アドレスを常に生成してもよい。トータル内部アドレスは、「交互」セグメント及び「シーケンシャル」セグメントを含む。アドレス生成の交互セグメントは、レジスタによってプログラムされたＮ個のアドレス値の間を行ったり来たりしたりできるので、交互セグメントと称する。「シーケンシャル」セグメントは、ここでもレジスタによってプログラムされた出発アドレスから終了アドレスまでシーケンシャルにカウントすることができるので、「シーケンシャル」セグメントと称する。シーケンシャルセグメントはまた、ランダムアドレスを提供するために、ＬＦＳＲによって生成することができる。
【００５５】
ここで図１０を参照すると、物理アドレス幅は、Ｎビット幅のバンク、Ｍビット幅のページ及びＯビット幅のカラムを含む。特定のプラットフォームのそれぞれは、毎回異なるＮ、Ｍ、Ｏ値を用いて、パワーオンすることができる。したがって、物理アドレス幅は、如何にして自身のＧＧＤＲメモリが設けられるかによって決定される。
【００５６】
当然、ある種のマッピングは、内部アドレスと物理アドレス間を変換するために存在するはずである。物理アドレス幅は、パワーサイクル毎に変えることができるので、マッピングは、パワーオンメモリ存在検知に結びついている必要があるか、又は、レジスタ制御され、アドレス生成器を用いる前に正しい値で書き込まれる必要がある。マッピングロジックを図１１の概略図で示す。
【００５７】
これらの要素を全て組み合わせることで、進化したパターン生成器は、Ｊビットの交互アドレス、Ｋビットのリニアアドレス又はランダムアドレスを生成することができ、それをＮ、Ｍ、Ｏ何れかのビットの物理アドレスに対してマップすることができる。これらの全ては、メモリ存在検知又はレジスタオーバライドを介して制御することができる。この結果、十分に順応性があり、再利用可能アドレスパターン生成器が実現できる。
【００５８】
抄録で記載された部分も含む、本発明の実施例の上記記載は、開示された厳格な形式に本発明を限定又は特化することを意図していない。本発明の特定の実施形態及び実施例を説明の目的で開示してきたが、当業者であれば認識できるであろうとおり、本発明の範囲を逸脱しない範囲で、多様な同等改良が可能である。
【００５９】
これらの改良は、上記詳細の記載を考慮して、本発明に適用することができる。以下の請求項で用いた用語は、本発明を明細書及び請求項で開示された特定の実施例に限定することを意図していない。むしろ、本発明の範囲は、以下の請求項によって全面的に決定されるべきであり、請求項の解釈において確立された均等論に従って解釈されるべきである。
【図１】
0005531372.tif 000002
【図２】
0005531372.tif 000003
【図３】
0005531372.tif 000004
【図４】
0005531372.tif 000005
【図５Ａ】
0005531372.tif 000006
【図５Ｂ】
0005531372.tif 000007
【図６】
0005531372.tif 000008
【図７】
0005531372.tif 000009
【図８】
0005531372.tif 000010
【図９】
0005531372.tif 000011
【図１０】
0005531372.tif 000012
【図１１】
0005531372.tif 000013