(57)【要約】メモリバスラインをターミネーション処理するための方法、装置及びマシーン読み出し可能な媒体が説明される。いくつかの実施例では、メモリバスラインは、メモリへの書き込み中にメモリバスラインの駆動に利用される出力バッファの１以上のトランジスタによりターミネーション処理される。
2006509270.tif 000002
【特許請求の範囲】
【請求項１】
メモリへの書き込みに応答して、第１インピーダンス装置または第２インピーダンス装置を介しメモリバスラインを駆動するステップと、
前記メモリバスラインの駆動後、前記メモリバスラインを前記第１インピーダンス装置及び前記第２インピーダンス装置によりターミネーション処理するステップと、
から構成される方法。
【請求項２】
請求項１記載の方法であって、
前記ターミネーション処理するステップは、メモリからの読み出し中に行われることを特徴とする方法。
【請求項３】
請求項１記載の方法であって、
前記ターミネーション処理するステップは、前記メモリバスラインのアイドル状態中に行われることを特徴とする方法。
【請求項４】
請求項１記載の方法であって、
前記駆動するステップは、前記メモリバスラインに第１インピーダンスを与えるため、前記第１インピーダンス装置または前記第２インピーダンス装置の１以上のスイッチング装置を選択的にオンすることから構成されることを特徴とする方法。
【請求項５】
請求項４記載の方法であって、
前記ターミネーション処理するステップは、前記メモリバスラインに第２インピーダンスを与えるため、前記第１インピーダンス装置の１以上のスイッチング装置と前記第２インピーダンス装置の１以上のスイッチング装置を選択的にオンすることから構成されることを特徴とする方法。
【請求項６】
メモリへの書き込みに応答して、メモリバスラインを駆動するため、１以上のプルアップトランジスタまたは１以上のプルダウントランジスタをオンするステップと、
メモリからの読み出しに応答して、前記メモリバスラインをターミネーション処理するため、前記１以上のプルアップトランジスタ及び前記１以上のプルダウントランジスタをオンするステップと、
から構成されることを特徴とする方法。
【請求項７】
請求項６記載の方法であって、さらに、
前記メモリバスラインに環境変動に対し調整される第１インピーダンスを提供するため、前記メモリへの書き込みに応答して、何れのプルアップトランジスタとプルダウントランジスタがオンされるか決定するステップを有することを特徴とする方法。
【請求項８】
請求項７記載の方法であって、さらに、
前記メモリバスラインに環境変動に対し調整される第２インピーダンスを提供するため、前記メモリからの読み出しに応答して、何れのプルアップトランジスタとプルダウントランジスタがオンされるか決定するステップを有することを特徴とする方法。
【請求項９】
メモリバスラインに接続するメモリラインターミナルと、
前記メモリバスラインターミナルに接続され、第１制御信号に応答して前記メモリバスラインを駆動し、第２制御信号に応答して前記メモリバスラインをターミネーション処理する出力バッファと、
メモリへの書き込みに応答して前記出力バッファに前記第１制御信号を提供し、メモリからの読み出しに応答して前記出力バッファに前記第２制御信号を提供する回路と、
から構成されるメモリコントローラ。
【請求項１０】
請求項９記載のメモリコントローラであって、さらに、
前記メモリバスラインターミナルに接続され、前記メモリからの読み出し中にデータを受け取る受信機を有することを特徴とするメモリコントローラ。
【請求項１１】
請求項１０記載のメモリコントローラであって、さらに、
前記出力バッファに接続され、前記第１制御信号に応答して、前記出力バッファに前記メモリバスライン上で駆動するデータを提供するライトラッチと、
前記受信機に接続され、前記メモリからの読み出し中に前記受信機により受け取られるデータをラッチするリードラッチと、
を有することを特徴とするメモリコントローラ。
【請求項１２】
請求項９記載のメモリコントローラであって、
前記回路は、第１インピーダンスと第２インピーダンスがプロセス変動に対し調整されるように、前記メモリへの書き込み中において前記出力バッファを前記第１インピーダンスによりプログラムし、前記メモリからの読み出し中において前記出力バッファを前記第２インピーダンスによりプログラムすることを特徴とするメモリコントローラ。
【請求項１３】
請求項９記載のメモリコントローラであって、
前記出力バッファは、第１電圧源と前記メモリバスラインターミナルとの間に接続された複数の第１トランジスタと、第２電圧源と前記メモリバスラインターミナルとの間に接続された複数の第２トランジスタとから構成され、
前記回路は、前記メモリからの読み出し中、前記複数の第１トランジスタの１以上と前記複数の第２トランジスタの１以上を選択的にオンするため、前記第２制御信号を生成する、
ことを特徴とするメモリコントローラ。
【請求項１４】
請求項１３記載のメモリコントローラであって、
前記回路は、前記メモリへの書き込み中、前記複数のトランジスタの１以上または前記複数の第２トランジスタの１以上を選択的にオンするため、前記第１制御信号を生成することを特徴とするメモリコントローラ。
【請求項１５】
請求項１３記載のメモリコントローラであって、
前記回路はさらに、前記メモリへの書き込み中に前記複数の第１トランジスタと前記複数の第２トランジスタの何れのトランジスタがオンされるかに関する第１指示と、前記メモリからの読み出し中に前記複数の第１トランジスタと前記複数の第２トランジスタの何れのトランジスタがオンされるかに関する第２指示とを提供するテーブルを有することを特徴とするメモリコントローラ。
【請求項１６】
請求項１５記載のメモリコントローラであって、
前記テーブルは、１以上の環境パラメータから導かれるインデックス値に基づき、複数の制御値から第１制御値と第２制御値を選択することを特徴とするメモリコントローラ。
【請求項１７】
リードリクエストとライトリクエストを生成するプロセッサと、
データを格納する揮発性メモリと、
プロセッサバスを介し前記プロセッサに接続され、メモリバスを介し前記揮発性メモリに接続されるメモリコントローラと、
から構成される計算装置であって、
前記メモリコントローラは、
前記メモリバスを介し前記揮発性メモリにデータを書き込む出力バッファと、
前記メモリバスを介し前記揮発性メモリからデータを受け取る受信機と、
前記プロセッサバスのライトリクエストに応答して、前記出力バッファによる前記揮発性メモリへのデータの書き込みを実行させ、前記プロセッサバスのリードリクエストに応答して、前記出力バッファによる前記メモリバスへのターミネーションインピーダンスの提供する実行させる回路と、
から構成されることを特徴とする計算装置。
【請求項１８】
請求項１７記載の計算装置であって、
前記出力バッファは、
前記メモリバスのメモリバスラインと第１電圧源との間に接続された第１インピーダンス装置と、
前記メモリバスラインと第２電圧源との間に接続された第２インピーダンス装置と、
から構成され、
前記回路は、
第１データを書き込むため、前記第１インピーダンス装置に前記メモリバスラインを前記第１電圧源方向にプルさせ、
第２データを書き込むため、前記第２インピーダンス装置に前記メモリバスラインを前記第２電圧源方向にプルさせ、
前記第１及び第２インピーダンス装置に、前記リードリクエストに応答して、前記メモリバスラインをそれぞれ前記第１電圧源と前記第２電圧源方向にプルさせる、
ことを特徴とする計算装置。
【請求項１９】
請求項１７記載の計算装置であって、
前記出力バッファは、
第１制御信号により制御される第１インピーダンス量を有し、前記メモリバスラインを第１電圧源方向にプルする第１プログラム可能インピーダンス装置と、
第２制御信号により制御される第２インピーダンス量を有し、前記メモリバスラインを第２電圧源方向にプルする第２プログラム可能インピーダンス装置と、
から構成され、
前記回路は、前記メモリバス上で第１データ信号を駆動するために前記第１制御信号を生成し、前記メモリバス上で第２データ信号を駆動するために前記第２制御信号を生成し、メモリからの読み出し中に前記メモリバスをターミネーション処理するために前記第１制御信号と前記第２制御信号を生成する、
ことを特徴とする計算装置。
【請求項２０】
請求項１９記載の計算装置であって、
前記メモリは、ダブルデータレートメモリから構成されることを特徴とする計算装置。
【請求項２１】
メモリへの書き込み中、メモリバスラインを出力バッファにより駆動するステップと、
メモリからの読み出し中、前記メモリバスラインを前記出力バッファによりターミネーション処理するステップと、
から構成される方法。
【請求項２２】
請求項２１記載の方法であって、
前記ターミネーション処理するステップは、前記メモリからの読み出し中に前記メモリバスラインにターミネーションインピーダンスを提供するようプルアップインピーダンス装置とプルダウンインピーダンス装置をプログラムするステップから構成されることを特徴とする方法。
【請求項２３】
請求項２２記載の方法であって、
前記プログラムするステップは、
プルアップインピーダンスを確立するため、前記プルアップインピーダンス装置の１以上のトランジスタをオンするステップと、
プルダウンインピーダンスを確立するため、前記プルダウンインピーダンス装置の１以上のトランジスタをオンするステップと、
から構成され、
前記プルアップインピーダンスと前記プルダウンインピーダンスは、前記メモリバスラインに前記ターミネーションインピーダンスを提供することを特徴とする方法。
【請求項２４】
実行に応答してシステムに、
メモリへの書き込み中、メモリバスラインを出力バッファにより駆動するステップと、
メモリからの読み出し中、前記メモリバスラインを前記出力バッファによりターミネーション処理するステップと、
を実行させる複数の命令を有するマシーン読み出し可能な媒体。
【請求項２５】
請求項２４記載のマシーン読み出し可能な媒体であって、
前記ターミネーション処理するステップは、前記メモリからの読み出し中に前記メモリバスラインにターミネーションインピーダンスを提供するようプルアップインピーダンス装置とプルダウンインピーダンス装置をプログラムするステップから構成されることを特徴とする媒体。
【請求項２６】
請求項２５記載のマシーン読み出し可能な媒体であって、
前記プログラムするステップは、
プルアップインピーダンスを確立するため、前記プルアップインピーダンス装置の１以上のトランジスタをオンするステップと、
プルダウンインピーダンスを確立するため、前記プルダウンインピーダンス装置の１以上のトランジスタをオンするステップと、
から構成され、
前記プルアップインピーダンスと前記プルダウンインピーダンスは、前記メモリバスラインに前記ターミネーションインピーダンスを提供することを特徴とする媒体。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［背景］
システムメモリとメモリコントローラとの間のデータ転送レートの高速化が進んでいる。このような高速の転送レートでの信号完全性向上のため、メモリ装置とメモリコントローラは、メモリバスライン上の信号反射を低減するようメモリバスラインのインピーダンスに一致するターミネーティングレジスタ（ｔｅｒｍｉｎａｔｉｎｇ  ｒｅｓｉｓｔｅｒ）を有する。従来のメモリコントローラは、メモリバスラインのリード及び/またはアイドル状態中、メモリバスラインに接続されるターミネーティングレジスタを有する。さらに、メモリコントローラは、プロセス、電圧及び温度に対して一定の抵抗を維持する追加的論理を有する。メモリコントローラはさらに、メモリ書き込み中、ターミネーティングレジスタをメモリバスラインから切断する回路を有する。メモリバスラインのターミネーション処理に関する追加的ターミネーティングレジスタ、論理及び回路は、追加的な死蔵領域を消費する。
［詳細な説明］
ここで説明される本発明は、例示することにより示され、添付された図面における限定を受けるものではない。図の簡単化のため、図面に示される要素は、必ずしも縮尺を確定するよう描写されてはいない。例えば、いくつかの要素のサイズは、簡単化のため、他の要素に対して誇張されているかもしれない。さらに、適切と判断されると、参照符号は、対応または類似要素を示すのに図面を通じて繰り返し利用される。
【０００２】
以下の説明は、メモリバスラインのターミネーション処理のための技術を説明している。以下の説明では、論理実現、オペコード、オペランド指定手段、リソース分割/共有/重複実現、システムコンポーネントのタイプ及び内部関係、並びに論理分割/統合選択などの多数の具体的詳細が、本発明のより完全なる理解を提供するため与えられる。しかしながら、当業者は、本発明がこのような具体的詳細なしに実現可能であるということを認識するであろう。他の例では、制御構造、ゲートレベル回路及びフルソフトウェア命令シーケンスは、本発明を不明瞭にしないよう詳細には示されていない。含まれている説明により、当業者は、過度の実験なく適切な機能を実現することができるであろう。
【０００３】
明細書中、「一実施例」、「実施例」、「一例となる実施例」などの記載は、説明されている実施例が特定の特徴、構成または特性を有するが、すべての実施例がこのような特徴、構成または特性を有する必要がないかもしれないということを示している。さらに、このような表現は、必ずしも同一の実施例を参照しているわけではない。さらに、特定の特徴、構成あるいは特性が実施例に関連して説明されているとき、明示的に記載されているかどうかに関わらず、このような特徴、構成あるいは特性を他の実施例に関連して実効化することは当業者の知識の範囲内のものであると考えられる。
【０００４】
本発明の実施例は、ハードウェア、ファームウェア、ソフトウェアあるいはこれらの任意の組み合わせにより実現されてもよい。本発明の実施例はまた、１以上のプロセッサにより読み出し及び実行することが可能なマシーン読み出し可能な媒体に記憶されている命令として実現されてもよい。マシーン読み出し可能な媒体は、マシーン（例えば、計算装置など）により読み出し可能な形式により、情報の格納または送信を行う任意の機構を有するようにしてもよい。例えば、マシーン読み出し可能な媒体には、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、電気、光学、音響または他の形式の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号など）などが含まれてもよい。
【０００５】
図１において、計算装置１００の一例となる実施例が示される。計算装置１００は、プロセッサバス１０６を介しチップセット１０４に接続される１以上のプロセッサ１０２から構成される。チップセット１０４は、プロセッサ１０２をシステムメモリ１０８及び他のデバイス１１０（例えば、マウス、キーボード、ビデオコントローラ、ハードディスク、フロッピー（登録商標）ディスク、ファームウェアなど）に接続するための１以上の集積回路パッケージまたはチップから構成される。チップセット１０４は、プロセッサバスへのアクセスのためのプロセッサバスインタフェース１１２、システムメモリ１０８へのアクセスのためのメモリコントローラ１１４及びデバイス１１０へのアクセスのための１以上のデバイスインタフェース１１６から構成される。他の実施例では、プロセッサ１０２は、メモリコントローラのすべてまたは一部を有するようにしてもよい。プロセッサバスインタフェース１１２は、プロセッサ１０２により発せられたプロセッサバストランザクションを復号し、メモリコントローラ１１４及び/またはデバイスインタフェース１１６のためにプロセッサバストランザクションを生成するようにしてもよい。デバイスインタフェース１１６は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）バス、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）バス、ＬＰＣ（Ｌｏｗ  Ｐｉｎ  Ｃｏｕｎｔ）バス、及び/または他のＩ/Ｏバスなどのデバイスバス１１８を介しチップセット１０４に接続されるデバイス１１０と通信するためのインタフェースを提供する。
【０００６】
メモリコントローラ１１４は、メモリバス１２４のメモリバスライン１２２を介してシステムメモリ１０８との間のデータの送受信を行う１以上のメモリ入出力（Ｉ/Ｏ）バッファ１２０を有する。システムメモリ１０８は、例えば、フラッシュメモリ、スタティックメモリ（ＳＲＡＭ）、ダイナミックメモリ（ＤＲＡＭ）、ダブルデータレートメモリ（ＤＤＲ）、ＲＡＭＢＵＳメモリなどの各種揮発性及び不揮発性メモリ技術により実現されてもよい。メモリコントローラ１１４はさらに、メモリＩ/Ｏバッファ１２０を介しシステムメモリ１０８に転送されるデータを格納するライトラッチ（ｗｒｉｔｅ  ｌａｔｃｈ）１２６と、メモリＩ/Ｏバッファ１２０を介しシステムメモリ１０８から受け取られるデータを格納するリードラッチ（ｒｅａｄ  ｌａｔｃｈ）１２８とを有する。メモリコントローラ１１４はさらに、ラッチ１２６及び１２８とプロセッサバスインタフェースとの間のデータ転送を制御する制御論理１３０を有する。制御論理１３０はさらに、メモリＩ/Ｏバッファ１２０をキャリブレーションし、メモリＩ/Ｏバッファ１２０を介してラッチ１２６及び１２８とシステムメモリ１０８との間の転送を制御する。
【０００７】
図２を参照するに、メモリコントローラ１１４の一実施例が示される。図示されるように、メモリコントローラ１１４のメモリＩ/Ｏバッファ１２０は、受信機２０２と出力バッファ２０４とを有する入力バッファ２００から構成される。出力バッファ２０４と受信機２０２は、システムメモリ１０８とのデータのやりとりを行う、例えば、メモリバスラインパッド、コンタクトあるいはピンなどのメモリバスラインターミナル２０６に接続される。一実施例による入力バッファ２００は、出力バッファ２０４を用いて、メモリリード及び/またはアイドル状態中、ターミナル２０６をターミネーション処理する。これにより、受信機２０２は、ターミナル２０６からデータ信号を正確に受信し、リードラッチ１２８に受信データを提供することができる。
【０００８】
一実施例では、出力バッファ２０４は、高電圧源ＶＨＩＧＨ（例えば、１．５ボルトなど）とターミナル２０６との間を接続するプログラム可能なプルアップインピーダンス装置２０８を有する。出力バッファ２０４はさらに、ターミナル２０６と低電圧源（例えば、地面など）との間を接続するプログラム可能なプルダウンインピーダンス装置２１０を有する。プルアップ装置２０８は、プルアップ制御信号を受け取るインピーダンス制御入力ＰＵＩＭＰを有し、プルダウン装置２１０は、プルダウン制御信号を意受け取るインピーダンス制御入力ＰＤＩＭＰを有する。一実施例では、インピーダンス制御入力ＰＵＩＭＰとＰＤＩＭＰのそれぞれは、マルチビット制御信号を受け取るマルチ入力ラインを有する。他の実施例では、インピーダンス制御入力ＰＵＩＭＰとＰＤＩＭＰのそれぞれは、２つのみの状態を有する制御信号を受け取る単一入力ラインを有する。さらなる他の実施例では、インピーダンス制御入力ＰＵＩＭＰとＰＤＩＭＰのそれぞれは、符号化または逐次的に送信された制御信号を受け取る単一入力ラインを有する。
【０００９】
プルアップ装置２０８は、プルアップ制御信号によりアクティブ解除に応答して、高電圧源ＶＨＩＧＨをターミナル２０６から切断する。一実施例では、プルアップ装置２０８は、高電圧源ＶＨＩＧＨとターミナル２０６との間に超高レベルのインピーダンスを確立することにより、高圧電源ＶＨＩＧＨをターミナル２０６から切断する。さらに、プルアップ装置２０８は、プルアップ制御信号によるアクティブ化に応答して、ターミナル２０６を高電圧源ＶＨＩＧＨ方向にプルする。一実施例では、プルアップ装置２０８は、プルアップ制御信号により制御される大きさを有する高電圧源ＶＨＩＧＨとターミナル２０６との間のプルアップインピーダンスを確立することにより、ターミナル２０６を高電圧源ＶＨＩＧＨ方向にプルする。
【００１０】
同様にして、プルダウン装置２１０は、プルダウン制御信号によるアクティブ解除に応答して、低電圧源ＶＬＯＷをターミナル２０６から切断する。一実施例では、プルダウン装置２１０は、低電圧源ＶＬＯＷとターミナル２０６との間の超高レベルのインピーダンスを確立することにより、低電圧源ＶＬＯＷをターミナル２０６から切断する。さらに、プルダウン装置２１０は、プルダウン制御信号のアクティブ化に応答して、ターミナル２０６を低電圧源ＶＬＯＷ方向にプルする。一実施例では、プルダウン装置２１０は、プルダウン制御信号により制御される大きさを有する低電圧源ＶＬＯＷとターミナル２０６との間のプルダウンインピーダンスを確立することにより、ターミナル２０６を低電圧源ＶＬＯＷ方向にプルする。
【００１１】
メモリコントローラ１１４はさらに、プルアップ装置２０８及びプルダウン装置２１０のインピーダンスを制御するインピーダンス制御２１２を有する。一実施例では、インピーダンス論理２１２は、システムメモリ１０８に書き込まれるデータを示すデータ信号を受け取るデータ入力Ｄと、メモリへの書き込みまたはメモリからの読み出しのためメモリＩ/Ｏバッファ１２０を設定するか示すライト信号またはリード信号を受け取るライト入力Ｗ/ＲＩとを有する。インピーダンス制御２１２はさらに、メモリへの書き込み中、プルアップ装置２０８とプルダウン装置２１０のプログラム可能なインピーダンスを示すライト制御信号を受け取るライトインピーダンス入力ＷＩＭＰを有する。インピーダンス制御論理２１２はまた、メモリからの読み出し中またはアイドル状態中、プルアップ装置２０８とプルダウン装置２１０のプログラム可能なインピーダンスを示すリード制御信号を受け取るリードインピーダンス入力ＲＩＭＰを有する。
【００１２】
インピーダンス制御２１２はさらに、プルアップ装置２０８のインピーダンス制御入力ＰＵＩＭＰに接続されたプルアップ制御出力ＰＵＣＴＬを有する。一実施例では、インピーダンス制御２１２は、プルアップ制御出力ＰＵＣＴＬに対して、データ入力Ｄ、ライト入力Ｗ/ＲＩ、ライトインピーダンス入力ＷＩＭＰ及びリードインピーダンス入力ＲＩＭＰにより受信されるデータ信号、ライト信号、ライト制御信号及びリード制御信号に依存するプルアップ制御信号を生成する。インピーダンス制御２１２はまた、プルダウン装置２１０のインピーダンス制御入力ＰＤＩＭＰに接続されたプルダウン制御出力ＰＤＣＴＬを有する。一実施例では、インピーダンス制御２１２は、プルダウン制御出力ＰＤＣＴＬに対して、データ入力Ｄ、ライト入力Ｗ/ＲＩ、ライトインピーダンス入力ＷＩＭＰ及びリードインピーダンス入力ＲＩＭＰにより受信されるデータ信号、ライト信号、ライト制御信号及びリード制御信号に依存するプルダウン制御信号を生成する。
【００１３】
メモリコントローラ１１４の制御論理１３０は、リード制御出力ＲＣＴＬ及びライト制御出力ＷＣＴＬを介し、リード制御信号とライト制御信号をインピーダンス制御２１２に提供するインピーダンスキャリブレーションユニット２１４を有する。インピーダンスキャリブレーションユニット２１４は、リード制御信号とライト制御信号を調整するための１以上の環境パラメータを受け取る１以上の環境入力ＥＩＮを有する。インピーダンスキャリブレーションユニット２１４は、様々な手法を用いて、環境入力ＥＩＮの環境信号に基づき、リード制御信号とライト制御信号を調整する。例えば、一実施例では、インピーダンスキャリブレーションユニット２１４は、センサ、設定パラメータあるいは他の装置から温度信号、電圧信号及び/またはシリコンプロセス信号を受け取り、受信した信号に基づきリード制御信号とライト制御信号を調整するようにしてもよい。
【００１４】
他の実施例では、インピーダンスキャリブレーションユニット２１４は、キャリブレーションレジスタＲＣＯＭＰと基準電圧ＶＲＥＦが環境入力ＥＩＮに接続された結果として、信号を受け取る。インピーダンスキャリブレーションユニット２１４は、キャリブレーションレジスタＲＣＯＭＰと基準電圧ＶＲＥＦとの所定の関係が取得されるまで、インピーダンスキャリブレーションユニット２１４のトランジスタ上で選択的にスイッチングすることにより、プルアップキャリブレーション値とプルダウンキャリブレーション値を取得する。キャリブレーションレジスタＲＣＯＭＰの有効抵抗値と基準電圧ＶＳＷＩＮＧに基づき、プルアップキャリブレーション値とプルダウンキャリブレーション値を取得するインピーダンスキャリブレーションユニット２１４の実現に対し、１９９９年１２月２３日に出願された米国特許第６，３４７，８５０号「プログラム可能なバッファ回路（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｂｕｆｆｅｒ  Ｃｉｒｃｕｉｔ）」を参照されたい。しかしながら、プロセス、電圧及び/または温度変動を補償するため、他の既知のキャリブレーション技術が利用されてもよいということは認識されるべきである。
【００１５】
インピーダンスキャリブレーションユニット２１４は、さらに、ライト制御信号とリード制御信号を生成するための制御値のキャリブレーションテーブル２１６を有する。インピーダンスキャリブレーションユニット２１４は、プロセス、電圧及び/または温度変動を考慮するための制御値を受け取る環境入力ＥＩＮのパラメータ信号から導出されるインデックス値によりキャリブレーションテーブル２１６をインデックス付けする。一実施例では、キャリブレーションテーブル２１６は、キャリブレーションレジスタＲＣＯＭＰと電圧基準ＶＲＥＦから導かれるプルアップキャリブレーション値にインデックス付けされるライトプルアップ値とリードプルアップ値を有する。さらに、キャリブレーションテーブル２１６は、キャリブレーションレジスタＲＣＯＭＰと電圧基準ＶＲＥＦから導かれるプルダウンキャリブレーション値にインデックス付けされるライトプルダウン値とリードプルダウン値を有する。制御値が、プロセス、電圧及び/または温度変動を考慮するための他の値にインデックス付けされてもよいということが認識されるべきである。
【００１６】
図示されるように、メモリコントローラ１１４は、単一メモリＩ/Ｏバッファ１２０を有する。しかしながら、他の実施例では、メモリコントローラ１１４は、各メモリバスライン１２２または各メモリバスライン群１２２に対して、別々のメモリＩ/Ｏバッファ１２０を有するようにしてもよい。さらに、メモリコントローラ１１４は、各メモリＩ/Ｏバッファ１２０に対して、別々のインピーダンス制御２１２及び/または別々のインピーダンスキャリブレーションユニット２１４を有するようにしてもよい。このような実施例は、メモリＩ/Ｏバッファ１２０のインピーダンスの個別のプログラミングを可能にする。
【００１７】
図３において、インピーダンス制御２１２と出力バッファ２０４の一実施例が示される。図示されるように、出力バッファ２０４は、高電圧源ＶＨＩＧＨとターミナル２０６との間に並列に配置された一群のｐ−チャネルＭＯＳＦＥＴ３００と、低電圧源ＶＬＯＷとターミナル２０６との間に並列に配置された一群のｎ−チャネルＭＯＳＦＥＴ３０２とから構成される。プルアップ装置２０８がアクティブ化されるとオンされるｐ−チャネルＭＯＳＦＥＴ３００の個数と値が、高電圧源ＶＨＩＧＨとターミナル２０６との間に確立されたインピーダンスを決定する。同様に、プルダウン装置２１０がアクティブ化されるとオンされるｐ−チャネルＭＯＳＦＥＴ３００の個数と値が、低電圧源ＶＬＯＷとターミナル２０６との間に確立されたインピーダンスを決定する。一実施例では、ＭＯＳＦＥＴ３００と３０２は、広範なインピーダンスプログラミング（例えば、２５〜５００オームなど）を可能にする２進過程により、かつ十分小さな粒度（例えば、約１．５オーム）を取得するため十分な数によりサイズ決定される。図示されるように、出力バッファ２０４のプルアップ装置２０８は４つのｐ−チャネルＭＯＳＦＥＴ３００から構成され、プルダウン装置２１０は４つのｎ−チャネルＭＯＳＦＥＴ３０２から構成される。しかしながら、他の実施例では、プルアップ装置２０８とプルダウン装置２１０は、他の個数のスイッチング装置（例えば、ＭＯＳＦＥＴ、ＪＦＥＴなど）から構成されてもよい。さらに、他の実施例では、プルアップ装置２０８とプルダウン装置２１０が有するスイッチング装置の個数が異なっていてもよい。
【００１８】
図示されるように、インピーダンス制御２１２は、プルアップマルチプレクサ３０４とプルダウンマルチプレクサ３０６を有する。プルアップマルチプレクサ３０４はＡＮＤゲート３０８と３１０及びＮＯＲゲート３１２を有し、プルダウンマルチプレクサ３０６はＡＮＤゲート３１４と３１６及びＯＲゲート３１８を有する。しかしながら、他の実施例では、インピーダンス制御２１２は異なって実現されてもよいということが認識されるべきである。プルアップマルチプレクサ３０４は、０以上のｐ−チャネルＭＯＳＦＥＴ３００を選択的にオンするプルアップ制御信号を生成し、プルダウンマルチプレクサ３０６は、０以上のｎ−チャネルＭＯＳＦＥＴ３０２を選択的にオンするプルダウン制御信号を生成する。一実施例では、プルアップマルチプレクサ３０４は、データ入力Ｄのデータ信号、ライト入力Ｗ/ＲＩのライト信号、ライトインピーダンス入力ＷＩＭＰ上で受け取られたライト制御信号のプルアップ部分ＷＰＵ［０：３］及びリードインピーダンス入力ＲＩＭＰ上で受け取られたリード制御信号のプルアップ部分ＲＰＵ［０：３］に基づき、プルアップ制御信号を生成する。同様に、プルダウンマルチプレクサ３０６は、データ入力Ｄのデータ信号、ライト入力Ｗ/ＲＩのライト信号、ライトインピーダンス入力ＷＩＭＰ上で受け取られたライト制御信号のプルダウン部分ＷＰＤ［０：３］及びリードインピーダンス入力ＲＩＭＰ上で受け取られたリード制御信号のプルダウン部分ＲＰＤ［０：３］に基づき、プルダウン制御信号を生成する。
【００１９】
一実施例では、インピーダンス制御２１２とメモリＩ/Ｏバッファ１２０は、ライト入力Ｗ/ＲＩの値がＨＩＧＨになると、ライトモードで動作する。理解されるように、データ入力Ｄの値がＬＯＷであり、かつライト入力Ｗ/ＲＩの値がＨＩＧＨであるとき、各ＡＮＤゲート３０８と３１０の出力はＬＯＷであり、これにより、各ＮＯＲゲート３１２の出力はＨＩＧＨになる。ＮＯＲゲート３１２の出力がＨＩＧＨになることにより、各ｐ−チャネルＭＯＳＦＥＴ３００はオフされ、プルアップ装置２０８はアクティブ解除される。さらに、データ入力Ｄの値がＬＯＷであり、かつライト入力の値がＨＩＧＨであるとき、各ＡＮＤゲート３１４の出力と、このため、各ＯＲゲート３１８の出力は、ライトプルダウン部分ＷＰＤ［０：３］の対応するビットの状態に依存することになる。特に、ライトプルダウン部分ＷＰＤ［０：３］のあるビットがＨＩＧＨである場合、ＯＲゲート３１８の対応する出力はＨＩＧＨとなり、これにより、対応するｎ−チャネルＭＯＳＦＥＴ３０２をオンすることにより、プルダウン装置２１０がアクティブ化される。逆に、ライトプルダウン部分ＷＰＤ［０：３］のあるビットがＬＯＷである場合、ＯＲゲート３１８の対応する出力はＬＯＷとなり、これにより、対応するｎ−チャネルＭＯＳＦＥＴ３０２はオフされる。
【００２０】
データ入力Ｄの値がＨＩＧＨであり、かつライト入力Ｗ/ＲＩの値がＨＩＧＨであるとき、各ＡＮＤゲート３１４と３１６の出力はＬＯＷであり、これにより、各ＯＲゲート３１８の出力はＬＯＷになる。ＯＲゲート３１８の出力がＬＯＷになることにより、各ｎ−チャネルＭＯＳＦＥＴ３００はオフされ、プルダウン装置２１０はアクティブ解除される。さらに、データ入力Ｄの値がＨＩＧＨであり、かつライト入力の値がＨＩＧＨであるとき、各ＡＮＤゲート３０８の出力と、このため、各ＮＯＲゲート３１２の出力は、ライトプルアップ部分ＷＰＵ［０：３］の対応するビットの状態に依存することになる。特に、ライトプルアップ部分ＷＰＵ［０：３］のあるビットがＨＩＧＨである場合、ＮＯＲゲート３１８の対応する出力はＨＩＧＨとなり、これにより、対応するｐ−チャネルＭＯＳＦＥＴ３００をオンすることにより、プルアップ装置２０８がアクティブ化される。逆に、ライトプルアップ部分ＷＰＵ［０：３］のあるビットがＬＯＷである場合、ＮＯＲゲート３１２の対応する出力はＨＩＧＨとなり、これにより、対応するｐ−チャネルＭＯＳＦＥＴ３００はオフされる。
【００２１】
一実施例では、インピーダンス制御２１２とメモリＩ/Ｏバッファ１２０は、ライト入力Ｗ/ＲＩの値がＬＯＷになると、リードモード及び/またはアイドルモードで動作する。理解されるように、データ入力Ｄの値とは無関係にライト入力Ｗ/ＲＩの値がＬＯＷであるとき、各ＡＮＤゲート３１０の出力と、これにより、各ＮＯＲゲート３１２の出力は、リードプルアップ部分ＲＰＵ［０：３］の対応するビットの状態に依存する。特に、リードプルアップ部分ＲＰＵ［０：３］のあるビットがＨＩＧＨである場合、ＮＯＲゲート３１２の対応する出力はＬＯＷとなり、これにより、対応するｐ−チャネルＭＯＳＦＥＴ３００をオンすることにより、プルアップ装置２０８がアクティブ化される。逆に、リードプルアップ部分ＲＰＵ［０：３］のあるビットがＬＯＷである場合、ＮＯＲゲート３１２の対応する出力はＨＩＧＨとなり、これにより、対応するｐ−チャネルＭＯＳＦＥＴ３００がオフされる。
【００２２】
同様に、データ入力Ｄの値とは無関係にライト入力Ｗ/ＲＩの値がＬＯＷであるとき、各ＡＮＤゲート３１６の出力と、これにより、各ＯＲゲート３１８の出力は、リードプルダウン部分ＲＰＤ［０：３］の対応するビットの状態に依存する。特に、リードプルダウン部分ＲＰＤ［０：３］のあるビットがＨＩＧＨである場合、ＯＲゲート３１８の対応する出力はＨＩＧＨとなり、これにより、対応するｎ−チャネルＭＯＳＦＥＴ３０２をオンすることにより、プルダウン装置２１０がアクティブ化される。逆に、リードプルダウン部分ＲＰＤ［０：３］のあるビットがＬＯＷである場合、ＯＲゲート３１８の対応する出力はＬＯＷとなり、これにより、対応するｎ−チャネルＭＯＳＦＥＴ３０２がオフされる。
【００２３】
図４を参照するに、メモリコントローラ１１４の一実施例の動作が示される。ブロック４００において、インピーダンスキャリブレーションユニット２１４は、プロセス、電圧及び/または温度変動を考慮するため、ライト制御信号とリード制御信号を調節する。一実施例では、ライト制御信号は、メモリへの書き込み中、プルアップ装置２０８とプルダウン装置２１０のインピーダンスをそれぞれ制御するライトプルアップ部分ＷＰＵ［０：３］とライトプルダウン部分ＷＰＤ［０：３］を有する。同様に、一実施例では、リード制御信号は、メモリからの読み出し中及び/またはアイドル状態中、プルアップ装置２０８とプルダウン装置２１０のインピーダンスをそれぞれ制御するリードプルアップ部分ＲＰＵ［０：３］とリードプルダウン部分ＲＰＤ［０：３］を有する。
【００２４】
ブロック４０２において、制御論理１３０は、インピーダンス制御２１２のライトインピーダンス入力ＷＩＭＰにライトプルアップ部分ＷＰＵ［０：３］とライトプルダウン部分ＷＰＤ［０：３］からなるライト制御信号を提供する。同様に、ブロック４０４において、制御論理１３０は、インピーダンス制御２１２のリードインピーダンス入力ＲＩＭＰをリードプルアップ部分ＲＰＵ［０：３］とリードプルダウン部分ＲＰＤ［０：３］からなるリード制御信号を提供する。
【００２５】
ブロック４０６において、制御論理１３０は、プロセッサバスインタフェース１１２から受け取られる信号とメモリバス１２４の状態に基づき、メモリへの書き込みを実行するか判断する。メモリへの書き込みを行うと決定すると、ブロック４０８において、制御論理１３０は、インピーダンス制御２１２のライト入力Ｗ/ＲＩにメモリへの書き込みを示すＨＩＧＨライト信号を提供する。逆に、メモリへの書き込みを行わないと決定すると、ブロック４１０において、制御論理１３０は、インピーダンス制御２１２のライト入力Ｗ/ＲＩにメモリからの読み出し及び/またはアイドル状態を示すＬＯＷライト信号を提供する。
【００２６】
ブロック４１２において、インピーダンス制御２１２は、メモリバスライン１２２上で得データ信号を駆動するため、プルアップ装置２０８またはプルダウン装置２１０の何れかをアクティブ化する。一実施例では、インピーダンス制御２１２は、それのデータ入力ＤがＨＩＧＨになるのに応答して、出力バッファ２０４のインピーダンス制御入力ＰＵＩＭＰにプルアップ装置２０８をそれのライトインピーダンス入力ＷＩＭＰのライトプルアップ部分ＷＰＵ［０：３］により指定されるインピーダンスによりアクティブ化するプルアップ制御信号を提供し、出力バッファ２０４のインピーダンス制御入力ＰＤＩＭＰにプルダウン装置２１０をアクティブ解除するプルダウン制御信号を提供する。同様に、一実施例では、インピーダンス制御２１２は、それのデータ入力ＤがＬＯＷになるのに応答して、出力バッファ２０４のインピーダンス制御入力ＰＤＩＭＰにプルダウン装置２１０をそれのライトインピーダンス入力ＷＩＭＰのライトプルダウン部分ＷＰＤ［０：３］により指定されるインピーダンスによりアクティブ化するプルダウン制御信号を提供し、出力バッファ２０４のインピーダンス制御入力ＰＵＩＭＰにプルアップ装置２１０をアクティブ解除するプルアップ制御信号を提供する。
【００２７】
ブロック４１４において、出力バッファ２０４は、ターミナル２０６を介しメモリバスライン１２２においてデータ信号を駆動する。一実施例では、出力バッファ２０４は、プルアップ装置２０８のアクティブ化とプルダウン装置２１０のアクティブ解除に応答して、メモリバスライン１２２上でのＨＩＧＨデータ信号を駆動するため、プルアップ装置２０８のプログラムされたインピーダンスを介してメモリバスライン１２２を高電圧源ＶＨＩＧＨ方向にプルする。同様に、出力バッファ２０４は、プルダウン装置２１０のアクティブ化とプルアップ装置２０８のアクティブ解除に応答して、メモリバスライン１２２上でＬＯＷデータ信号を駆動するため、プルダウン装置２１０のプログラムされたインピーダンスを介しメモリバスライン１２２を低電圧源ＶＬＯＷ方向にプルする。
【００２８】
メモリへの書き込みを行わないと決定すると、ブロック４１６において、インピーダンス制御２１２は、メモリからの読み出し中及び/またはアイドル状態中、メモリバスライン１２２をターミネーション処理するため、プルアップ装置２０８とプルダウン装置２１０の両方のインピーダンスのアクティブ化及び制御を行う。一実施例では、インピーダンス制御２１２は、それのライト入力Ｗ/ＲＩがＬＯＷであることに応答して、出力バッファ２０４のインピーダンス制御入力ＰＵＩＭＰにプルアップ装置２０８をそれのリードインピーダンス入力ＲＩＭＰのリードプルアップ部分ＲＰＵ［０：３］により指定されるインピーダンスによりアクティブ化するプルアップ制御信号を提供する。さらに、インピーダンス制御２１２は、それのライト入力Ｗ/ＲＩがＬＯＷであることに応答して、出力バッファ２０４のインピーダンス制御入力ＰＤＩＭＰにプルダウン装置２１０をそれのリードインピーダンス入力ＲＩＭＰのリードプルダウン部分ＲＰＤ［０：３］により指定されるインピーダンスによりアクティブ化するプルダウン制御信号を提供する。
【００２９】
ブロック４１８において、出力バッファ２０４は、受け取ったプルアップ制御信号とプルダウン制御信号に基づき、メモリバスライン１２２をターミネーション処理する。一実施例では、出力バッファ２０４は、プルアップ装置２０８のプログラムされたインピーダンスを介しメモリバスライン１２２を高電圧源ＶＨＩＧＨ方向にプルし、プルダウン装置２１０のプログラムされたインピーダンスを介しメモリバスライン１２２を低電圧源ＶＬＯＷ方向にプルする。これにより、プルアップ装置２０８とプルダウン装置２１０のプログラムされたインピーダンスは、メモリバスライン１２２をターミネーション処理するため合成される。例えば、プルアップ装置２０８は、高電圧源ＶＨＩＧＨとターミナル２０６との間に４００オームのインピーダンスを確立し、プルダウン装置２１０は、低電圧源ＶＬＯＷとターミナル２０６との間に４００オームのインピーダンスを確立するようになるかもしれない。これにより、ターミナル２０６と電圧源ＶＨＩＧＨとＶＬＯＷとの間に２００オームのリードターミネーションインピーダンスが確立される。
【００３０】
本発明の特徴が例となる実施例を参照して説明されたが、この説明は限定的な意味に解釈されるべきでない。本発明が属する技術分野の当業者には明らかな上記実施例の様々な変形及び本発明の他の実施例は、本発明の趣旨及び範囲に属するものとみなされる。
【図面の簡単な説明】
【００３１】
【図１】図１は、計算装置の一実施例を示す。
【図２】図２は、図１の計算装置のメモリコントローラの一実施例を示す。
【図３】図３は、図２のメモリコントローラのメモリ入出力バッファの一実施例を示す。
【図４】図４は、図２及び図３に示されたメモリコントローラの一実施例の動作を示す。
【図１】
2006509270.tif 000003
【図２】
2006509270.tif 000004
【図３】
2006509270.tif 000005
【図４】
2006509270.tif 000006
【国際調査報告】
2006509270.tif 000007
2006509270.tif 000008
2006509270.tif 000009