(57)【特許請求の範囲】
【請求項１】
書き込みドライバマスク情報に動作可能に応答し且つ前記書き込みドライバマスク情報に基いて書き込み動作の間に複数のデータバスドライバのいずれかを無効にするように適合させられている論理を備えたメモリインタフェース回路。
【請求項２】
前記複数のデータバスドライバは書き込み動作に応答するように適合させられている請求項１のメモリインタフェース回路。
【請求項３】
前記書き込み動作の予め定められたクロックインターバルでストローブ信号を生成するように構成される少なくとも１つのストローブドライバと、
前記書き込みドライバマスク情報を受信すると共にどのデータバイトをマスクするかを決定する出力を生成するように構成される少なくとも１つのデータマスクドライバとを更に備え、
前記少なくとも１つのデータマスクドライバは前記論理に動作可能に結合され、前記論理は前記複数のデータバスドライバの少なくとも１つのいずれか１つを選択することが可能である請求項１のメモリインタフェース回路。
【請求項４】
請求項１のメモリインタフェース回路を備えた装置。
【請求項５】
前記論理は、前記書き込みドライバマスク情報に応答する入力及びそれぞれのバスドライバに結合される出力を各々が有する複数のＯＲゲートを備えたＯＲゲート構造を含んでいる請求項１のメモリインタフェース回路。
【請求項６】
メモリにおけるデータバイトを制御する方法であって、
ダブルデータレート（ＤＤＲ）書き込み動作に応答して、電力消費を低減するために、予め定められたバイトマスク設定に基いて前記書き込み動作の間に複数のＤＤＲバスドライバの少なくとも１つの対応するＤＤＲバスドライバを無効にすることを備えた方法。
【請求項７】
メモリにおけるデータバイトを制御する方法であって、
書き込み動作に応答して、前記書き込み動作の間に書き込みドライバマスク情報に応答して複数のデータバスドライバを無効にすることと、
バスを介して前記書き込みドライバマスク情報を送る一方で電力消費を低減するために前記データバスドライバを無効にすることとを備えた方法。
【請求項８】
前記書き込み動作の予め定められたクロックインターバルでストローブ信号を生成することと、
前記書き込み動作が要求される場合にマスクするデータバイトを決定することとを更に備えた請求項７の方法。
【請求項９】
ダブルデータレート（ＤＤＲ）インタフェースとＤＤＲメモリとを備えたメモリインタフェースのためのシステムであって、
前記ＤＤＲインタフェースは、書き込み動作に応答するように適合させられる複数のデータバスドライバと、書き込みドライバマスク情報に動作可能に応答するように適合させられる論理とを備えており、前記論理は前記書き込みドライバマスク情報に基いて前記書き込み動作の間に前記複数のデータバスドライバの選択されたものを無効にするように動作し、
前記ＤＤＲメモリは前記複数のデータバスドライバに動作可能に接続される複数のＤＤＲ受信機を備えており、前記複数のＤＤＲ受信機の各々は、中間点終端構造をもたらすために少なくとも１つのプルアップ抵抗及び少なくとも１つのプルダウン抵抗と共に構成される入力を有しているシステム。
【請求項１０】
前記書き込み動作の予め定められたクロックインターバルでストローブ信号を生成するように構成される少なくとも１つのストローブドライバと、
前記書き込みドライバマスク情報を受信すると共にどのデータバイトをマスクするかを決定する出力を生成するように構成される少なくとも１つのデータマスクドライバとを更に備え、
前記少なくとも１つのデータマスクドライバは前記論理に動作可能に結合され、前記論理は前記複数のデータバスドライバの少なくとも１つのいずれか１つを選択することが可能である請求項９のシステム。
【請求項１１】
前記ＤＤＲメモリ制御器は前記書き込み動作が要求されているかどうかを決定するように動作する請求項９のシステム。
【請求項１２】
前記中間点終端構造は書き込み動作の不在において前記ＤＤＲ受信機の各々の対応する１つを高レベルにプルし、且つ／又は前記中間点終端構造は書き込み動作の間に前記ＤＤＲ受信機の各々の対応する１つを低レベルにプルする請求項９のシステム。
【請求項１３】
前記論理は、書き込みドライバマスク情報に応答する入力とそれぞれのバスドライバに結合される出力とを各々が有する複数のＯＲゲートを備えたＯＲゲート構造を含む請求項９のシステム。
【請求項１４】
メモリにおけるデータバイトを制御するための装置であって、
プロセッサと、実行可能な命令が記憶されたコンピュータ可読媒体とを備え、
前記実行可能な命令は、前記プロセッサによって実行されるときに、
書き込み動作が要求されていることを決定することと、
書き込みドライバマスク情報に応答して前記書き込み動作の間に複数のデータバスドライバを無効にすることと、
バスを介して前記書き込みドライバマスク情報を送る一方で電力消費を低減するために前記データバスドライバを無効にすることとを前記プロセッサにさせる装置。
【請求項１５】
前記プロセッサ可読媒体は、前記プロセッサによって実行されるときに、
前記書き込み動作の予め定められたクロックインターバルでストローブ信号を生成することと、
前記書き込み動作が要求されている場合にマスクするデータバイトを決定することとを前記プロセッサにさせる実行可能な命令を更に備えている請求項１４の装置。
【請求項１６】
メモリにおけるデータバイトを制御するための装置であって、
プロセッサと、実行可能な命令が記憶されたコンピュータ可読媒体とを備え、
前記実行可能な命令は、前記プロセッサによって実行されるときに、
ダブルデータレート（ＤＤＲ）書き込み動作が要求されているかどうかを決定することと、
電力消費を低減するために、予め定められたバイトマスク設定に基いて前記書き込み動作の間に対応するＤＤＲバスドライバを無効にすることとを前記プロセッサにさせる装置。
【請求項１７】
実行可能な命令が記憶されたコンピュータ可読媒体であって、前記実行可能な命令は、プロセッサによって実行されるときに、
ダブルデータレート（ＤＤＲ）書き込み動作に応答して、電力消費を低減するために、予め定められたバイトマスク設定に基いて前記書き込み動作の間に複数のＤＤＲバスドライバの少なくとも１つの対応するＤＤＲバスドライバを無効にすることを前記プロセッサにさせるコンピュータ可読媒体。
【請求項１８】
前記命令はハードディスク記述言語として構成される請求項１７のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してメモリ処理に関し、より特定的にはダブルデータレート（ＤＤＲ）メモリを用いる方法、システム及び装置に関する。
【背景技術】
【０００２】
ダブルデータレート（ＤＤＲ）ダイナミックランダムアクセスメモリ（ＤＲＡＭ）は、先行するシングルデータレートＤＲＡＭの２倍の帯域を達成するためにデバイスにおいて用いられる類のメモリ集積回路を代表する。このことは、関連するクロック周波数を増大することなしにダブルポンピング（即ちクロック信号の立上がりエッジ及び立下りエッジの両方でデータを転送すること）によって達成される。デュアルインラインメモリモジュール（ＤＩＭＭ）は、一連のダイナミックランダムアクセスメモリ集積回路を備えたメモリモジュールを代表する。ＤＤＲ−ＤＲＡＭに基くＤＩＭＭは、クロックのレートの２倍でのデータを有している。このことは、データストローブ(data strobes)の立上がりエッジ及び立下りエッジの両方でのクロッキングによって達成され得る。現在、ダブルデータレート（ＤＤＲ）デュアルインラインメモリモジュール（即ちＤＤＲ＿ＤＩＭＭ）への書き込みトランザクションは、書き込み動作の間に全てのデータドライバが送信することを求めている。そのような書き込み動作の間、全ての送信機（即ちデータドライバ）は、そのような動作の間にたとえ全てのデータドライバが用いられていないとしても、アクティブである。従って、ＤＤＲ＿ＤＩＭＭへの書き込みトランザクションは、全てのデータドライバが送信し、従って不必要に電力を消費することを求めている。このことは電力が浪費されることの原因となり、今日の集積回路及びデバイスにおける重大な問題である。
【０００３】
また、現在の低電力ＤＤＲ設計は、ＤＤＲ受信機に関連する終端を有していないであろう。そのようなＤＤＲ設計は、データビットがマスクされており且つメモリによって記憶されているとしても、それらのデータビットを送る。一方、幾つかのグラフィックスＤＤＲ（ＧＤＤＲ）は、受信機側での電源へのプルアップを有する終端を伴って構成される。これらのＧＤＤＲデバイスは、通常は、書き込み動作の間に全てのデータドライバをオンにする。ＧＤＤＲデバイスにおいては、受信終端がプルアップのみ（又はプルダウンのみ）を有するように構成されている場合、ドライバをオンにする一方で１（又はプルダウンの場合には０）に駆動することは、ドライバ及び終端が同じ方向にプルされていることにより、結果として電力を消費しない。そのようなＧＤＤＲデバイスにおいては、電源プルアップ終端の場合には１に駆動し又はＧＤＤＲに対して接地プルダウン終端の場合には０に駆動するよりもむしろ、データドライバをトライステートにする（即ちオフにする）ことも可能である。従って、電源への終端を有しているＧＤＤＲデバイスに対しては、１に駆動することは、Ｉ／Ｏ電力消費ゼロをもたらすことができる。しかし、ＤＤＲデバイスに関しては、ＤＤＲ受信機が電源へ終端されている場合におけるそのような１に駆動する手法は、当該ＤＤＲデバイスに対して電力消費をゼロにはしない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＤＤＲメモリを利用する多くのデバイスはバッテリ駆動であるので、例えばそのようなデバイスのバッテリ寿命を延ばすために電力消費をより効果的に低減することが特に望まれている。
【課題を解決するための手段】
【０００５】
１つの例においては、メモリインタフェース回路は、複数のデータバスドライバと、書き込みドライバマスク情報に動作可能に応答するにように適合させられる論理とを含む。必要に応じて、複数のバス書き込みドライバ及び論理は別個の集積回路内に実装されてよい。複数のバスドライバは書き込み動作に応答するように適合させられている。論理もまた、書き込みドライバマスク情報に基いて書き込み動作の間に複数のデータバスドライバのいずれか１つを選択的に無効にするように適合させられている。関連する方法もまた開示される。
【０００６】
数ある利点のなかでも特に、メモリインタフェース回路、方法、及びシステムは、ダブルデータレート（ＤＤＲ）メモリを採用している既知のメモリインタフェース回路、方法及びシステムよりも少ない電力を消費する。１つの例では、メモリインタフェース回路は、どのデータバスが実際上は送信するこを必要としどのデータバスが必要としていないかを決定することによって、ＤＤＲ書き込み動作の間に発生する電力消費の量を低減する。
【０００７】
１つの例においては、書き込み動作の予め定められたクロックインターバルでストローブ信号を生成する少なくとも１つのストローブドライバが設けられてよい。書き込みドライバマスク情報を受信すると共にどのデータバイトをマスクするかを決定する出力を生成する少なくとも１つのデータマスクドライバが設けられてよい。各データマスクドライバは論理モジュールに結合されれてよい。論理モジュールは次いで、複数のデータバスドライバの少なくとも１つを選択することができる。
【０００８】
１つの例においては、論理モジュールはＯＲゲート構造を含む。ＯＲゲート構造は、書き込みドライバマスク情報に応答する入力を各々が有する複数のＯＲゲートを含む。各ＯＲゲートの出力は、それぞれのバスドライバに結合されていてよい。
【０００９】
１つの例においては、複数のＤＤＲ受信機が複数のデータバスドライバに動作可能に接続されていてよく、複数のＤＤＲ受信機の各々は、中間点終端構造をもたらすために少なくとも１つのプルアップ抵抗及び少なくとも１つのプルダウン抵抗と共に構成される入力を有している。中間点終端構造は書き込み動作の不在においてＤＤＲ受信機の各々の対応する１つを高レベルにプルし、且つ／又は中間点終端構造は書き込み動作の間にＤＤＲ受信機の各々の対応する１つを低レベルにプルダウンする。
【００１０】
デバイスはメモリインタフェースを含み、そしてワイヤレス携帯型デバイス又は任意の適切なデバイスであってよい。
【００１１】
ここで用いられる「回路」又は「モジュール」の用語は、電子回路、１つ以上のソフトウエアプログラム又はファームウエアプログラムを実行する１つ以上のプロセッサ（例えば、限定はされないが、マイクロプロセッサ、ＤＳＰ、又は中央処理ユニットのような共有され、専用の、又は一群のプロセッサ）及びメモリ、組み合わせに係る論理回路、ＡＳＩＣ、及び／又は説明されている機能性を提供する他の適切なコンポーネントを含む。「回路」又は「モジュール」は、それを非動作状態にするレベルまでを含めて所望の減少させられた電力レベルまで電力を減少させることによって「パワーダウン」され得る。同様に、「回路」又は「モジュール」は、それを動作状態にするレベルまで供給電力を増加させることによって「パワーアップ」され得る。また、当業者によって理解されるであろうように、「回路」又は「モジュール」の動作、設計、及び構成は、ハードウエア記述言語、例えばＶｅｒｉｌｏｇ（商標）、ＶＨＤＬ、又は他の適切なハードウエア記述言語において記述され得る。
【図面の簡単な説明】
【００１２】
以下の図面と共に後述の説明を考慮することで、本開示はより容易に理解されるであろうし、ここでは、同様の参照符号は同様の要素を表している。
【００１３】
【図１】図１はダブルデータレート（ＤＤＲ）メモリトランザクションの間に電力を節約するように構成されるメモリインタフェース回路システムの例示的なブロック図である。
【００１４】
【図２】図２はＤＤＲメモリトランザクションの間に電力を節約するように構成されるメモリインタフェース回路システムの他の実施形態の例示的なブロック図である。
【００１５】
【図３】図３はメモリインタフェース回路システムを実装する場合に用いられる回路レベルを説明するための図である。
【００１６】
【図４】図４はメモリにおけるデータバイトを制御する方法をフローチャートの形態で示す図である。
【００１７】
【図５】図５はメモリにおけるデータバイトを制御する他の方法をフローチャートの形態で示す図である。
【００１８】
【図６】図６はここに説明される技術を実装するために用いられ得る例示的な処理デバイスのブロックを示す図である。
【発明を実施するための形態】
【００１９】
図１はダブルデータレート（ＤＤＲ）メモリトランザクションの間に電力を節約するように構成されるメモリインタフェース回路システム１００の例示的なブロック図を示している。そのようなシステム１００は、ラップトップコンピュータ、サーバ、携帯型デバイス（例えばパーソナルデジタルアシスタント、携帯電話、ビデオプレーヤ）、又は任意の適切な装置のような装置１０２において随意的に動作させられてよい。システム１００はまた、装置１０２内に組み込まれた集積回路１０４として構成されてもよい。従って、このようなシステム１００のここでの付随する開示は、例えばＤＤＲメモリ書き込みトランザクションの間に不使用のデータバスドライバをトライステートにすることによって、ＤＤＲメモリトランザクションの間の電力を節約する技術を説明している。このことは、書き込み動作に応答するように適合させられる多重データバスドライバを含むメモリインタフェース回路１０８によって達成され得る。メモリインタフェース回路１０８は、ＤＤＲメモリ制御器１１０及びＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１２を含んでいてよい。ＤＤＲメモリ制御器１１０及びＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１２は、バス１０７を介して動作可能に互いに結合されていてよい。グラフィックスＤＤＲ（ＧＤＤＲ）＿Ｉ／Ｏ送受信機がＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１２と交換可能に用いられ得ることが認識されるであろう。１つの実施形態においては、ＤＤＲメモリ制御器１１０は、書き込みドライバマスク情報に動作可能に応答するように適合させられ得る論理モジュール１２０と共に構成されてよい。そのような論理モジュール１２０は、システム１００がＤＤＲ書き込み動作の間に電力低減を達成することを可能にするように構成されてよい。例としては、論理モジュール１２０は、書き込みドライバマスク情報に基いて書き込み動作の間に任意の多重データバスドライバを無効にするように動作してよい。論理モジュール１２０はまた、書き込みドライバマスク情報に基いて書き込み動作の間にどの多重データバスドライバを有効にするかを決定するように構成され得る。書き込みドライバマスク情報は、どのデータバスドライバが送信する（即ちメモリに書き込む）必要があるか、及びどのデータバスドライバが送信する必要がないかを決定することに供される。動作においては、データバスドライバに関連する書き込みドライバマスク情報は、そのデータバスドライバがマスクされている場合、即ちメモリに書き込んでいない場合に、高レベルに駆動することができる。また、データバスドライバに関連する書き込みドライバマスク情報は、そのデータバスドライバがメモリへ書き込むように設定されている場合に、低レベルに駆動することができる。そのような書き込みドライバマスク情報は、次いで、ＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１２に関連して選択されるＩ／Ｏドライバを書き込み動作の間にオフにする（即ちトライステートにする）ために用いることができる。これにより、ダブルデータレート（ＤＤＲ）メモリトランザクション、例えば書き込みトランザクションの間における電力節約がもたらされる。
【００２０】
システム１００に関係する他のコンポーネントの間での有効な通信を容易にするために、メモリクライアント１０６がバス１０５を介してメモリインタフェース１０８に接続されていてよい。メモリクライアント１０６は、中央処理ユニット（ＣＰＵ）コア、グラフィックスプロセッサユニット（ＧＰＵ）コア、マイクロコントローラ、それらの一部分、又はメモリへのアクセスを必要とする任意の適切な構造として構成されてよい。システムに関係する他のコンポーネントへのメモリクライアント１０６（例えばプロセッサ）のインターフェースの詳細な議論については、後で提供される。
【００２１】
メモリインタフェース回路１０８は、バス１０９を介してＤＤＲメモリ１１４に動作可能に結合されていてよい。ＤＤＲメモリ１１４は、コンピュータ、携帯電話、デジタルオーディオプレーヤ、携帯型デバイス等のようなデバイスにおいて用いられ得るメモリ集積回路を含んでいてよい。ＤＤＲメモリ１１４内のコンポーネントは、メモリチップ及びメモリモジュールに関係する特徴のためのＪＥＤＥＣ規格に適合する。ＤＤＲメモリ１１４は、ＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１２からバス１０９を介して伝送されるデータ／情報を受信するＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１６を含んでいてよい。ＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１６はまた、その入力に抵抗終端構造を含んでいてよい。そのような構造は、中間点終端構造として構成することができる。ＤＤＲ＿Ｉ／Ｏ受信入力での中間点終端構造は、ＤＤＲメモリトランザクションの間における書き込み動作の信号品質(signal integrity)の改善に役立つ。これにより、システム１００におけるＤＤＲメモリトランザクションは、クロック周波数を増大することなしに、例えばダブルポンピングにより概ね２倍の帯域を達成することによって、以前から知られているシングルデータレートトランザクションを越える改善を示すことが可能になる。そのようなダブルポンピングは、所与のクロック信号の立上がりエッジ及び立下りエッジの両方でのデータの転送を必要とし得る。ＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１６は、ＤＤＲメモリ１１４の動作を容易にするために、バス１１１を介してメモリセル１１８とインタフェースしてよい。そのようなメモリセルの構造は当該分野においてよく知られている。例として、メモリセル１１８は、行（即ちワード線）及び列（即ちビット線）において配列される。そのようなメモリセルは、１又は０を生成するようにチャージされ得る一群のキャパシタとして動作する。そのようなメモリセルはまた、８ビット（１バイト）のメモリの塊(chunks of memory)においてデータを記憶してよい。
【００２２】
図２はダブルデータレート（ＤＤＲ）メモリトランザクションの間に電力を節約するように構成されるメモリインタフェース回路システム２００の他の実施形態の例示的なブロック図を示している。そのようなシステム２００は、ラップトップコンピュータ、サーバ、携帯型デバイス（例えばパーソナルデジタルアシスタント、携帯電話、ビデオプレーヤ）、又は任意の適切な装置のような装置２０２において随意的に動作させられてよい。システム２００はまた、装置２０２内の集積回路２０４として構成されてもよい。この実施形態では、システム２００に関係する他のコンポーネントの間での有効な通信を容易にするために、メモリクライアント１０６がＤＤＲメモリ制御器２１０に接続されていてよい。メモリクライアント１０６は、中央処理ユニット（ＣＰＵ）コア、グラフィックスプロセッサユニット（ＧＰＵ）コア、マイクロコントローラ、それらの一部分、又はメモリにアクセスすることを必要とする任意の適切な構造として構成されてよい。ＤＤＲメモリ制御器２１０は、書き込み動作を制御する書き込みドライバマスク情報を生成するように適合させられる多重データバスドライバを含む。そのような書き込みドライバマスク情報は、どのデータバスドライバが送信する（即ちメモリに書き込む）必要があるか、及びどのデータバスドライバが送信する必要がないかを決定することに供される。ＤＤＲメモリ制御器２１０はまた、どのバイト値を書き込むかを決定する。従って、選択されたデータバスドライバを介して書き込みしないことをＤＤＲメモリ制御器２１０が決定した場合、ＤＤＲメモリ制御器２１０は次いで、これらのデータバスドライバをマスクするように動作する書き込みドライバマスク情報を生成することができる。このように、動作においては、データバスドライバに関連する書き込みドライバマスク情報は、そのデータバスドライバがマスクされている場合、即ちメモリに書き込んでいない場合に、高レベルに駆動することができる。また、データバスドライバに関連する書き込みドライバマスク情報は、そのデータバスドライバがメモリへ書き込むように設定されている場合に、低レベルに駆動することができる。
【００２３】
また、実施形態においては、システム２００の電力低減特徴を容易にする論理モジュール１２０は、ＤＤＲ＿Ｉ／Ｏ送受信機ブロック２１２内に位置するように構成される。この実施形態では、論理１２０は、ＤＤＲメモリ制御器２１０（図１におけるような）ではなくＤＤＲ＿Ｉ／Ｏ送受信機ブロック２１２の一部である。ＤＤＲ＿Ｉ／Ｏ送受信機ブロック２１２は、その入力制御信号をＤＤＲメモリ制御器２１０からバス２０７を介して受信する。論理モジュール１２０は、ＤＤＲメモリ制御器２１０によって生成される書き込みドライバマスク情報に動作可能に応答するように適合させられていてよい。そのような論理モジュール１２０はまた、システム２００がＤＤＲ書き込み動作の間に電力低減を達成することを可能にするように構成されてよい。例としては、論理は、書き込みドライバマスク情報に基いて書き込み動作の間に多重データバスドライバのいずれかを無効にするように動作してよい。そのような書き込みドライバマスク情報は、次いで、ＤＤＲ＿Ｉ／Ｏ送受信機ブロック２１２に関連して選択されるＩ／Ｏドライバをオフにする（即ちトライステートにする）ために用いることができる。これにより、ダブルデータレート（ＤＤＲ）メモリトランザクション、例えば書き込みトランザクションの間における電力節約がもたらされる。言うまでもなく、論理モジュール１２０は、書き込み動作の間、書き込みドライバマスク情報に基いて任意のデータバスドライバを有効にするように構成され得る。また、ＤＤＲ＿Ｉ／Ｏ送受信機ブロック２１２は、ＤＤＲバス２０９を介してＤＤＲメモリ１１４と動作可能に結合されていてよい。
【００２４】
図３はＤＤＲメモリトランザクションの間に大幅な電力低減を達成するために利用され得るメモリインタフェース回路システムを実装するための回路レベルの説明での実施形態を示している。この実施形態では、システム３００はメモリ制御器１１０を備えており、メモリ制御器１１０は、書き込みドライバマスク情報と、メモリ制御器１１０に付随するレジスタブロック３１１から生成されるトラーステートデータ（即ちトライステート１）とを受信する入力を有する論理ゲート１２０を含む。レジスタブロック３１１はデータ、ストローブ、及び書き込みドライバマスク情報を保持する。データ、ストローブ及び書き込みドライバマスク情報はメモリ制御器１１０によって生成され得る。メモリ制御器１１０は、メモリクライアント１０６（図１）に付随する種々のコンポーネントからの要求を受け入れてよい。メモリ制御器１１０は次いで、読み出し／書き込みが生じ得るときにどのコンポーネントがメモリに対して読み出し／書き込みしてよいかを決定する。制御器１１０はまた、読み出し、書き込み、非動作、又は自己リフレッシュのどれが実行されるべきかを決定する。論理ゲート１２０はトライステート入力（即ちトライステート１）を受信し、トライステート入力は、メモリ制御器１１０に付随するトライステート論理（図示せず）によって生成され得る。そのようなトライステート論理は書き込み及び読み出しに関係している。論理ゲート１２０は次いで、データバスドライバ３３０への入力となるトライステート２のようなトライステート信号を生成する。論理ゲート１２０から出力されるトライステート信号は、書き込み動作の間にデータバスドライバ３３０を有効にしてよく、そして任意の他のタイミングで当該データバスドライバ３３０を無効にし又はトライステートにしてよい。幾つかの場合には、データバスドライバ３３０は、読み出しの間にもデータバスドライバ３３０をオンにすることによって終端するために、読み出しに対しても用いられ得る。トライステート論理は、データバスドライバ３３０内又はメモリ制御器内に構成され得る。論理ゲート１２０は、書き込みドライバマスク情報に動作可能に応答するように適合させられている。論理ゲート１２０は、各々が書き込みドライバマスク情報を入力とする複数のＯＲゲートを備えたＯＲゲート構造として構成されてよい。各ＯＲゲートは、それぞれのデータバスドライバ３３０の入力に結合されるその出力を有していてよい。従って、書き込みドライバマスク情報とトライステートデータ（即ちトライステート１）との組み合わせは、各ＯＲゲートに、それぞれのデータバスドライバ３３０への入力（即ちトライステート２）となる出力を生成させる。論理ゲート１２０（即ちＯＲ論理構造）から生成されるデータバスドライバ３３０入力信号（即ちトライステート２）の各々は、次いで書き込み動作の間、複数のデータバスドライバ３３０から選択されるものを無効にするよう動作することができる。データバスドライバ３３０の各々は、当該データバスドライバ３３０がメモリへ書き込んでいない場合に当該データバスドライバ３３０を無効にするために、書き込みドライバマスク情報の他にトライステート情報をも供給される。これにより、書き込み動作の間に各データバスドライバ３３０をオンにするのとは対照的にどのデータバスドライバ３３０を書き込み動作の間に無効にするかを制御器３１０が選択することを可能にするスキームが提供される。また、トライステートデータと共に書き込みドライバマスク情報を有することは、各選択されたデータバスドライバ３３０が、そのデータバスドライバ３３０が無効にされているときに全く電力を引き出していないことを確実にするのに役立つ。これによりシステム３００全体の電力消費を低減することが支援される。言うまでもなく、電力低減を容易にする書き込みドライバマスク情報を得るために、書き込み動作の間に任意のデータバスドライバ３３０を有効にするように論理ゲート１２０が構成され得る。また、電力低減を達成するために書き込みドライバマスク情報を用いる書き込み動作の間にデータバスドライバを無効にし又は有効にする望ましい目標を達成するように、ＮＡＮＤゲート、ＸＯＲゲート、ＸＮＯＲゲートの任意の組み合わせ又は任意の他の均等な組み合わせ論理を含む論理ゲートの他の構成が構築されてよい。
【００２５】
複数のデータバスドライバ３３０、複数のストローブドライバ３４０、及び複数のデータマスクドライバ３５０がＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１２内に含まれていてよい。他の実施形態においては、ＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１２は、図２に示されるように論理ゲート１２０を有するように構成されてよい。動作においては、データマスクドライバ３５０の少なくとも１つが、書き込みドライバマスク情報を受信しそして出力を生成するために選択され得る。また、少なくとも１つのデータマスクドライバ３５０の入力は、論理ゲート１２０の入力に動作可能に結合されている。この書き込みドライバマスク情報は論理ゲート１２０上で作用して、複数のデータバスドライバ３３０の任意のどれがマスクするかを選択することを支援する。データマスクドライバ３５０からの出力は、データがメモリによって出力されるときに書き込みドライバマスク情報の存在又は不在を表示するために提供される。当該データマスク出力はＤＤＲメモリ１１４へ送られて、無視する（ＤＭ＝１）かあるいは書き込む（ＤＭ＝０）かをメモリに伝える。また、書き込み動作の予め定められたクロックインターバルでストローブ信号を生成するために、少なくとも１つのストローブドライバ３４０が構成されている。ストローブ信号は、立上がりエッジ及び立下りエッジでデータをラッチするクロックとして用いられる。ＤＤＲ＿ＤＲＡＭに関連する高速データ転送を理由として、各ストローブドライバ３４０は、クロックの両エッジで入力されつつある又は出力されつつあるデータを記録する(register)ように構成されていてよい。各ストローブドライバ３４０は、両方とも制御器１１０によって生成され得るストローブ信号入力及びトライステート入力を受信する。ストローブドライバからの出力は、次いでＤＤＲ＿Ｉ／Ｏ受信ブロック１１６への入力として作用する。
【００２６】
ＤＤＲ＿Ｉ／Ｏ送受信機ブロック１１６は、複数のデータバスドライバ３３０の各々に動作可能に結合される複数のＤＤＲ受信機３６０から構成されていてよい。データストローブドライバ３４０からの出力は、複数のストローブ受信機３７０の入力に動作可能に結合されている。ストローブ受信機３７０は、ストローブドライバ３４０に関連するデータストローブを正確に受信することによって、高速データ転送の間におけるＤＤＲメモリトランザクションの動作を容易にするために設けられている。データマスクドライバ３５０からの出力は、データマスク受信機３８０の入力に動作可能に結合されている。データマスク受信機３８０は、データマスクドライバ３５０によって出力されるデータ書き込みドライバマスク情報を受信するように構成されており、データマスクドライバ３５０は、データがメモリによって出力されるときに書き込みドライバマスク情報の存在又は不在を表示する。複数のＤＤＲ受信機３６０、複数のストローブ受信機３７０及び複数のデータマスク受信機３８０の各々は、中間点終端構造をもたらすために、少なくとも１つのプルアップ抵抗及び少なくとも１つのプルダウン抵抗を伴って構成される入力を有している。そのような中間点終端構造は、それがないと干渉を引き起こすであろう目的地点での電気的な波動の反射を解消することによって、動作の間のバス線の信号品質を改善するのに役立つ。ドライバ及び受信機の各々に付随するバス線は１６ビットバス幅を示しているが、３２ビットバス幅及び６４ビットバス幅のようなより大きいバスサイズもまた意図されている。
【００２７】
次に図４を参照すると、ＤＤＲ書き込み動作に基いてメモリ内のデータバイトを制御する方法が説明されている。１つの実施形態においては、所望に応じて、ＤＤＲメモリ制御器（１１０，２１０）は、ＤＤＲ書き込み動作がいつ必要であるかを動作４０２で決定するように構成され得る。また、所望に応じて、ＤＤＲメモリ制御器（１１０，２１０）は、どのバイトがマスクするかを動作４０４で決定するように構成されていてよい。動作４０６においては、バイトマスク設定に基いて、ＤＤＲメモリ制御器１１０は、書き込みドライバマスク情報（即ちバイトマスク設定）に応答して複数のＤＤＲデータバスドライバを書き込み動作の間は無効にしてよい。既に説明したように、複数のＤＤＲデータバスドライバのどれが無効になり且つ／又は有効になるかを決定するために、論理ゲートはまた、書き込みドライバマスク情報に対して動作するように組み合わせゲート論理によっても構成され得る。例としては、図３に説明される回路構成が考えられる。メモリ制御器１１０は、メモリへ書き込む要求をメモリクライアント１０６（図１）に付随する少なくとも１つのコンポーネントから受信してよい。そのような要求は、書き込み動作が必要であることをメモリ制御器１１０に決定させることができる。この例においては、当該書き込み動作がデータバスドライバ３３０、３３１及び３３２に対する動作を必要としていることを、メモリ制御器１１０が決定することができる。データバスドライバ３３０、３３１及び３３２に対するそのような動作は、データバスドライバ３３０及び３３１をオンにすること、及び書き込み動作の間にデータバスドライバ３３２をオフにすることを伴っていてよい。そのような場合には、メモリ制御器１１０は、「１１０」のバイトマスク設定を送るよう決定することができる。従って、メモリ制御器１１０内の論理ゲート１２０は、「１１０」のバイトマスク設定に応答してデータバスドライバ３３０，３３１，３３２に対して動作することができる。このように、「１１０」のバイトマスク設定に基いて、データバスドライバ３３０及び３３１はオンにされる一方でデータバスドライバ３３２は書き込み動作の間は選択的に無効にされる。書き込み動作の間における選択されたデータバスドライバのこのような無効化は、システム３００にその電力消費を低減させることをもたらす。
【００２８】
図５はメモリにおいてデータバイトを制御するための他の方法をフローチャートの形態で示している。１つの実施形態では、所望に応じて、メモリ制御器は、書き込み動作がいつ必要であるかを動作５０２で決定するように構成され得る。動作５０４では、バイトマスク設定に基いて、メモリ制御器は、書き込みドライバマスク情報（即ちバイトマスク設定）に応答して複数のデータバスドライバを書き込み動作の間は無効にしてよい。書き込みドライバマスク情報は、データバスドライバを無効にするためにバスを介して送られてよく、それによりシステムにその電力消費を低減させることをもたらし得る。例としては、図３に説明される回路構成が再び考えられる。メモリ制御器１１０は、メモリへ書き込む要求をメモリクライアント１０６（図１）に付随する少なくとも１つのコンポーネントから受信してよい。そのような要求は、書き込み動作が必要であることをメモリ制御器１１０に決定させることができる。そのような場合には、メモリ制御器１１０は、「１１０」のバイトマスク設定を送るよう決定することができ、このことは、データバスドライバ３３０及び３３１をオンにすること、及び書き込み動作の間にデータバスドライバ３３２をオフにすることを伴う。従って、「１１０」のバイトマスク設定に応答して、データバスドライバ３３０及び３３１はオンにされる一方でデータバスドライバ３３２は書き込み動作の間は選択的に無効にされる。書き込み動作の間における選択されたデータバスドライバのこのような無効化は、システム３００にその電力消費を低減させることをもたらす。
【００２９】
次に図６を参照すると、本発明を実施するために用いられ得る例示的なデバイス６００が更に示されている。図１〜３を再び参照すると、デバイス６００又は同様のデバイスは、例えば１つ以上のシステム１００，２００を実装するために用いられてよく、１つ以上のシステム１００，２００は、例えばメモリインタフェース回路３００を実装するために用いられてよい。それとは関係なく、デバイス６００は、コンピュータ可読媒体６０４に結合されるプロセッサ６０２（例えばメモリクライアント１０６，２０６）を備えている。次いでコンピュータ可読媒体６０４は、記憶されている実行可能な命令６１６及びデータ６１８を備えている。実施形態においては、プロセッサ６０２は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、又はそれらの組み合わせのような、記憶されている命令６１６を実行可能であり且つ記憶されているデータ６１８に対して動作可能な１つ以上の処理デバイスを備えていてよい。同様に、コンピュータ可読媒体６０４は、ＣＤＲＯＭ、ＲＡＭ、他の形態のＲＯＭ、ハードドライブ、分散型メモリ等のような１つ以上のデバイスを備えていてよい。図６に示される種類のプロセッサ及び記憶装置配列は、当業者にとってよく知られている。この実施形態においては、ここで説明されるシステム１００，２００での処理技術は、コンピュータ可読媒体６０４内の実行可能な命令及びデータの組み合わせとして実施される。
【００３０】
１つの実施形態においては、デバイス６００は、１つ以上のユーザ入力デバイス６０６、ディスプレイ６０８、周辺インタフェース６１０、他の出力デバイス６１２、及びネットワークインタフェース６１４を備えていてよく、これらは全てプロセッサ６０２と通信する。ユーザ入力デバイス６０６は、ユーザ入力をプロセッサ６０２へ供給するための任意のメカニズムを備えていてよい。例えば、ユーザ入力デバイス６０６は、キーボード、マウス、タッチスクリーン、マイクロフォン及び適切な音声認識アプリケーション、又はそれによってデバイス６００のユーザがプロセッサ６０２へ入力データを供給することができる任意の他の手段を備えていてよい。ディスプレイ６０８は、任意の標準的なディスプレイ、例えば陰極線管（ＣＲＴ）、フラットパネルディスプレイ、又は当業者に知られている任意の他のディスプレイを備えていてよい。周辺インタフェースデバイス６１０は、媒体デバイス（例えば磁気ディスクデバイス又は光学ディスクデバイス）又は本技術と関連して用いられる任意の他の入力源のような種々の周辺デバイスと通信するために必要な必須ハードウエア、ファームウエア及び／又はソフトウエアを含んでいてよい。同じように、他の出力デバイス６１２は、同様な媒体デバイスメカニズムの他に、スピーカ、ＬＥＤ、触覚出力(tactile outputs)等のようなデバイス６００のユーザに情報を提供することが可能な他のデバイスを随意的に備えていてよい。最後に、ネットワークインタフェース６１４は、当該分野で知られているような有線の又はワイヤレスのネットワークを介してプロセッサ６０２が他のデバイスと通信することを可能にするハードウエア、ファームウエア、及び／又はソフトウエアを備えていてよい。
【００３１】
ここに説明される技術を実装するための実施形態としてデバイス６００が説明されてきたが、当業者であれば、他の機能的に均等な技術が等価的に採用され得ることを理解するであろう。例えば、当該分野で知られているように、実行可能な命令実装される機能性の幾つか又は全ては、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理アレイ、状態マシン等のようなファームウエアデバイス及び／又はハードウエアデバイスを用いて実装され得る。更には、デバイス６００の他の実装は、説明されたものより多い又は少ない数のコンポーネントを含んでいてよい。例えば、システム１００，２００を実装するために用いられる場合、デバイス６００はディスプレイ６０８又はユーザ入力６０６を含んでいなくてよい。繰り返しになるが、当業者であれば、このように多くの変形が用いられ得ることを理解するであろう。
【００３２】
上述したように、数ある利点のなかでも特に、ダブルデータレート（ＤＤＲ）メモリを採用している既知のメモリインタフェース回路及びシステムよりも少ない電力を消費するメモリインタフェース回路、方法、及びシステムが提供される。メモリインタフェース回路は、どのバイトが送信することを実際に必要としどのバイトが必要としていないかを決定することによって、ＤＤＲ書き込み動作の間に発生する電力消費の量を低減する。従って、トライステートのデータ／回路と共に書き込みドライバマスク情報を用いてＤＤＲ＿Ｉ／Ｏ送受信機に関連して選択されるＩ／Ｏドライバをオフにする（即トライステートにする）ことによって、メモリインタフェース回路は、既知のメモリインタフェース回路、方法及びシステムよりも少ない電力を消費する。他の利益は当業者によって認識されるであろう。
【００３３】
また、限定はされないが例えばＣＤＲＯＭ、ＲＡＭ、他の形態のＲＯＭ、ハードドライブ、分散型メモリ等のようなコンピュータ可読メモリに記憶される実行可能な情報に基いて集積回路を作り出す集積回路設計システム（例えばワークステーション）が知られている。情報は、任意の適切な言語、限定はされないが例えばハードウエア記述言語又は他の適切な言語を表す（例えばコンパイルされた又は表現された）データを含んでいてよい。従って、ここに説明される回路及び／又はモジュールはまた、そのようなシステムによって集積回路として製造されてよい。例えば、集積回路は、コンピュータ可読媒体に記憶される情報を用いて作り出されてよく、情報は、実行されるときに、書き込みドライバマスク情報に動作可能に応答するように適合させられる複数のデータバスドライバ及び論理を含むメモリ集積回路を作り出すことを集積回路設計システムにさせる。複数のバスドライバは、書き込み動作に応答するように適合させられる。論理もまた、書き込みドライバマスク情報に基いて書き込み動作の間に複数のデータバスドライバの任意の１つを無効にするように適合させられる。ここに説明される他の動作を実行する回路及び／又はモジュールを有する集積回路もまた適切に製造され得る。
【００３４】
この開示は特定の例を含むが、開示はそのようには限定されないことが理解されるべきである。図面、明細書、及び以下の特許請求の範囲の検討により、本開示の精神及び範囲から逸脱することなしに、多くの修正、変更、変形、置換、及び均等なものが当業者に生じ得るであろう。
【図１】
0005639071.tif 000002
【図２】
0005639071.tif 000003
【図３】
0005639071.tif 000004
【図４】
0005639071.tif 000005
【図５】
0005639071.tif 000006
【図６】
0005639071.tif 000007