(57)【要約】【解決手段】  メモリデバイスがその入力又は動作環境における変化に応答してそれ自身を適応させ又はトレーニングすることができるシステム及び方法。メモリデバイス、例えばＤＲＡＭは、組み込まれたプログラム可能要素をそのインタフェース内に含む。プログラム可能要素は、例えば限定はされないがマイクロプロセッサ、マイクロコントローラ、又はマイクロシーケンサであってよい。プログラム可能要素は、メモリデバイスの環境における変化に応答して、メモリデバイスのインタフェースの動作に変化を生じさせるようにプログラムされる。【選択図】図１
2011522324.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のメモリセルと、
入力信号を受け取るように構成され前記メモリセルと通信するインタフェースとを備えたメモリデバイスであって、
前記インタフェースはプログラムされたときに前記インタフェースを動作状態に関してトレーニングするように構成されるプログラム可能要素を備えているメモリデバイス。
【請求項２】
請求項１のメモリデバイスであって、前記入力信号は前記メモリセルに書き込まれるべきデータを備えているメモリデバイス。
【請求項３】
請求項１のメモリデバイスであって、前記メモリデバイスはダイナミックランダムアクセスメモリ（ＤＲＡＭ）であるメモリデバイス。
【請求項４】
請求項１のメモリデバイスであって、前記プログラム可能要素はマイクロプロセッサを備えているメモリデバイス。
【請求項５】
請求項１のメモリデバイスであって、前記プログラム可能要素はマイクロコントローラを備えているメモリデバイス。
【請求項６】
請求項１のメモリデバイスであって、前記プログラム可能要素はマイクロシーケンサを備えているメモリデバイス。
【請求項７】
請求項１のメモリデバイスであって、前記プログラム可能要素は縮小命令セットを用いて動作するように構成されるメモリデバイス。
【請求項８】
請求項１のメモリデバイスであって、前記状態は前記インタフェースでのデジタル信号の受信を含み、前記プログラム可能要素は前記デジタル信号におけるデータアイを検出することを前記インタフェースにトレーニングするように構成されるメモリデバイス。
【請求項９】
請求項８のメモリデバイスであって、前記デジタル信号はグラフィックスダブルデータレート５（ＧＤＤＲ５）プロトコルに従ってフォーマットされるメモリデバイス。
【請求項１０】
請求項１のメモリデバイスであって、前記プログラム可能な要素と通信する状態モニタを更に備え、前記状態モニタは前記状態を検出し且つ前記状態を前記プログラム可能要素に知らせるように構成され、前記プログラム可能要素は前記状態に応答して前記インタフェースをトレーニングするように構成されるメモリデバイス。
【請求項１１】
請求項１０のメモリデバイスであって、前記状態は帯域幅制約における変化を含むメモリデバイス。
【請求項１２】
請求項１０のメモリデバイスであって、前記状態は電力制約における変化を含むメモリデバイス。
【請求項１３】
請求項１０のメモリデバイスであって、前記状態はクロック速度制約における変化を含むメモリデバイス。
【請求項１４】
メモリデバイスのインタフェースをトレーニングする方法であって、
（ａ）前記インタフェース内のプログラム可能要素で論理を実行することと、
（ｂ）前記実行することからもたらされる出力を前記プログラム可能要素で生成することと、
（ｃ）前記プログラム可能要素の前記出力に基き前記メモリデバイスをトレーニングすることと、を備えた方法。
【請求項１５】
請求項１４の方法であって、入力信号はデジタル信号であり、前記ステップ（ｃ）は前記デジタル信号におけるデータアイを見つけるよう前記インタフェースをトレーニングすることを備えている方法。
【請求項１６】
請求項１５の方法であって、前記入力信号はグラフィックスダブルデータレート（ＧＤＤＲ）５プロトコルに従ってフォーマットされる方法。
【請求項１７】
請求項１４の方法であって、前記ステップ（ａ）は電力制約における変化に関する情報を受け取ることを備えており、前記ステップ（ｃ）は前記メモリデバイスを自己調整してその電力消費を修正することを備えている方法。
【請求項１８】
請求項１４の方法であって、前記ステップ（ａ）は帯域幅の制約における変化に関する情報を受け取ることを備えており、前記ステップ（ｃ）は前記インタフェースを自己調整して入力信号の帯域幅を修正することを備えている方法。
【請求項１９】
請求項１４の方法であって、前記プログラム可能要素はマイクロコントローラを備えている方法。
【請求項２０】
請求項１９の方法であって、前記論理は縮小命令セットからの命令を備えている方法。
【請求項２１】
コンピュータ使用可能媒体を備えたコンピュータプログラム製品であって、
前記コンピュータ使用可能媒体はメモリデバイスのインタフェースをトレーニングするために前記コンピュータ使用可能媒体内に記憶される制御論理を有しており、前記制御論理は、
前記インタフェース内のプログラム可能要素で論理の実行をもたらすための第１のコンピュータ可読プログラムコード手段と、
前記プログラム可能要素で前記実行に起因する出力の生成をもたらすための第２のコンピュータ可読プログラムコード手段と、
前記プログラム可能要素の前記出力に基き前記メモリデバイスの変更トレーニングをもたらすための第３のコンピュータ可読プログラムコード手段と、を備えているコンピュータプログラム製品。
【請求項２２】
請求項２１のコンピュータプログラム製品であって、前記コンピュータプログラムコード手段は、
前記インタフェース内の前記プログラム可能要素で前記論理の前記実行をもたらすことと、
前記プログラム可能要素で前記実行に起因する出力の前記生成をもたらすことと、
前記プログラム可能要素の前記出力に基き前記メモリデバイスの前記トレーニングをもたらすことと、を前記プロセッサにさせるコンピュータプログラム製品。
【請求項２３】
請求項２１のコンピュータプログラム製品であって、前記コンピュータプログラムコード手段はＨＤＬ命令を備えているコンピュータプログラム製品。
【請求項２４】
請求項２３のコンピュータプログラム製品であって、前記ＨＤＬ命令は、処理されたときに、
前記インタフェース内のプログラム可能要素でプログラム可能論理の実行をもたらすことと、
前記プログラム可能要素で前記実行に起因する出力の生成をもたらすことと、
前記プログラム可能要素の前記出力に基き前記メモリデバイスの動作の変更をもたらすことと、が可能なプロセッサを製造するために用いられるようにされているコンピュータプログラム製品。
【請求項２５】
コンピュータ使用可能媒体を備えたコンピュータプログラム製品であって、前記コンピュータ使用可能媒体はメモリデバイスへ命令を送信するために前記コンピュータ使用可能媒体内に記憶される制御論理を有しており、前記メモリデバイスでの前記命令の実行は、前記メモリデバイス内にあり且つメモリセルと通信するインタフェースに、入力信号を受け取り動作状態に関して前記インタフェースをトレーニングすることをさせるコンピュータプログラム製品。
【請求項２６】
請求項２５のコンピュータプログラム製品であって、コンピュータプログラムコード手段は前記命令を前記メモリデバイスに送信することをプロセッサにさせ、前記メモリデバイスでの前記命令の実行は、前記メモリデバイス内にあり且つメモリセルと通信するインタフェースに、入力信号を受け取り動作状態に関して前記インタフェースをトレーニングすることをさせるコンピュータプログラム製品。
【請求項２７】
請求項２５のコンピュータプログラム製品であって、前記コンピュータプログラムコード手段はＨＤＬ命令を備えているコンピュータプログラム製品。
【請求項２８】
請求項２７のコンピュータプログラム製品であって、前記ＨＤＬ命令は、処理されたときに、前記命令を前記メモリデバイスに送信することが可能なプロセッサを製造するために用いられるようにされているコンピュータプログラム製品。
【請求項２９】
メモリデバイスへ命令を送信するように構成される装置であって、前記メモリデバイスでの前記命令の実行は、前記メモリデバイス内にあり且つメモリセルと通信するインタフェースに、入力信号を受け取り動作状態に関して前記インタフェースをトレーニングすることをさせる装置。
【請求項３０】
メモリデバイスと通信する方法であって、
前記メモリデバイスへ命令を送信することを備え、前記メモリデバイスでの前記命令の実行は、前記メモリデバイス内にあり且つメモリセルと通信するインタフェースに、入力信号を受け取り動作状態に関して前記インタフェースをトレーニングすることをさせる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリデバイス及び当該デバイスのインタフェースをトレーニングすることに関する。
【背景技術】
【０００２】
動作中、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）等のメモリデバイスはその周囲の状態における変化に遭遇するであろう。例えば、入力してきた信号の波形が幾分か変化し、データを読み取るのがより困難になることがある。当該信号のデータアイがシフトし、位置決めするのが難しくなるかもしれない。また、他の状態も同様に変化することがある。例えば、メモリデバイスの動作クロック速度は変化する必要があるかもしれない。更に、メモリデバイスに対するインタフェースでの帯域幅は変化し又は制約されなければならないかもしれず、あるいは電力消費が調節されねばならないかもしれない。そのような変化はメモリデバイスの動作、性能に影響するであろう。
【０００３】
理想的には、メモリデバイスはそのような変化に適合して動作、性能へのそれら変化の影響を最小化する能力を有していよう。しかし現在のところ、そのような変化しつつある状態に応答するメモリデバイスの能力は限定されている。更に、グラフィックスダブルデータレート５（ＧＤＤＲ５）のような最新のプロトコルは他のプロトコルよりも高速な動作を必要とし、変化しつつある状態にメモリデバイスが速く適合することが要求されるであろう。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従って、ＤＲＡＭ等のメモリデバイスがその動作環境において変化しつつある状態に応答してそれ自身を速く適応させ又は再トレーニングすることのできるシステム及び方法が求められている。
【課題を解決するための手段】
【０００５】
ここでの本発明の詳細な説明において、「１つの実施形態」、「実施形態」、「例示的実施形態」等は、説明される実施形態が特定の特徴、構造、又は特性を含んでいてよいが、全ての実施形態が必ずしも当該特定の特徴、構造、又は特性を含む必要はないことを示している。また、そのような表現は必ずしも同じ実施形態を参照していない。更に、特定の特徴、構造、又は特性が実施形態に関連して説明されている場合には、明白に説明されていようとなかろうと、他の実施形態に関連して当該特定の特徴、構造、又は特性を具現化することは当業者の知識の範囲内にあることと言える。
【０００６】
ここに開示される本発明は、メモリデバイスがその入力又は動作環境における変化に応答してそれ自身を適応させ又は再トレーニングすることができるシステム及び方法である。メモリデバイス、例えばＤＲＡＭは、組み込まれたプログラム可能要素をそのインタフェース内に含む。プログラム可能要素は、例えば限定はされないがマイクロプロセッサ、マイクロコントローラ、又はマイクロシーケンサであってよい。プログラム可能要素は、入力信号における変化（例えば入力信号の波形における変化）及び／又はメモリデバイスの周囲環境に応答して、メモリデバイスのインタフェースの動作に変化をもたらすようにプログラムされる。
【０００７】
１つの実施形態では、例えば入力信号の波形における変化に応答するために、プログラム可能要素は波形における変化を検出し且つメモリデバイスのインタフェースを再トレーニングするようにプログラムされ得る。再トレーニングは、変化した入力信号のデータアイをインタフェースが検出することを可能にする。このことは、メモリデバイスが入力信号に含まれるデータを受け取り且つ記憶することを継続可能にするであろう。
【０００８】
本発明の幾つかの実施形態では、プログラム可能要素は周囲環境における他の変化に応答するようにプログラムされてよく、そのような変化に起因するメモリデバイスの動作への影響を最小化することができる。例えば動作中、インタフェースでの帯域幅要件が制約されあるいは変化してしまうことがある。この場合プログラム可能要素は、変化した帯域幅要件に応じてメモリデバイスのインタフェースの動作パラメータを変化させるようにプログラムされる。このようにしてインタフェースでの帯域幅パラメータは、必要な帯域幅要件を満たすように変化させられることが可能である。同様にしてプログラム可能要素は環境における他の変化、例えばクロック速度の変化あるいは電力消費に課せられた制約に応答するようにプログラムされてよい。これらの場合、プログラム可能要素はメモリデバイスのインタフェースでの動作パラメータを効果的に変化させて、新たな条件でメモリデバイスがその最適動作を維持することを可能にする。メモリデバイスのインタフェースでの動作パラメータは、タイミングパラメータ、アドレスパラメータ、充電パラメータ、リフレッシュパラメータ、リード／ライトパラメータ等を含んでよい。これらの例は厳に例示的なものであり、本発明を限定することを意図したものではない。
【図面の簡単な説明】
【０００９】
本発明の実施形態が添付の図面を参照して説明される。図面において同様の参照番号は同一の又は機能的に同様の要素を示すであろう。ある要素が最初に現れる図面は、一般的には対応する参照番号における一番左の桁の数字によって示される。
【００１０】
【図１】図１は本発明の１つの実施形態に従いインタフェーストレーニング及び試験のためのプログラム可能要素を有するメモリデバイスの例示的なシステム図である。
【００１１】
【図２】図２は本発明の１つの実施形態に従うプログラム可能要素によるメモリデバイスのインタフェーストレーニングのための例示的な処理のフローチャートである。
【００１２】
【図３】図３は本発明の１つの実施形態に従いプログラム可能要素が動作状態における変化を知らされたときにメモリインタフェースを適応させるための例示的な処理のフローチャートである。
【発明を実施するための形態】
【００１３】
《システム概観》
本発明の実施形態が図１に示されている。この図はメモリデバイス１１０を示している。メモリデバイス１１０は例えばＤＲＡＭデバイスであってよい。信号１０２は入力データをメモリデバイス１１０に供給する。当該データは例えばメモリデバイス１１０によって記憶されるべきデータを含んでいてよい。入力信号１０２はインタフェース１１２を介してメモリデバイス１１０へ入る。インタフェース１１２はプログラム可能要素１２０を含む。図示された実施形態では、プログラム可能要素１２０は同じくインタフェース１１２内に配置される入力制御器１１４と通信する。この実施形態では、入力制御器１１４はインタフェース１１２の動作を制御する。しかし、入力制御器１１４は今度は、入力制御器１１４に送られるプログラム可能要素１２０の出力、例えば限定はされないがインタフェースでの動作パラメータに影響される。
【００１４】
例として、入力信号１０２は典型的にはデジタル波形であろう。次第に、そして多くの処理及び／又は伝送ファクタの結果として、入力信号１０２の波形はいくらか変化することがある。波形に対する変化は、入力信号１０２の各ビットのデータアイを位置決めすることを困難にする。「データアイ」の用語は、位置決めされサンプリングされたときに関連ビットを論理０又は１のいずれかに特徴付けるために用いることができる矩形波上の点に言及する。ｎビットを提示する信号はｎ個のデータアイを有するべきである。入力信号１０２はプログラム可能要素１２０によって受け取られ、そしてそのような波形への変化はプログラム可能要素１２０によって検出されるであろう。プログラム可能要素１２０は次いで、入力制御器１１４に入力信号１０２のデータアイをより良好に検出するようその動作を変化させるよう指示してよい。図示された実施形態では、プログラム可能要素１２０によるこの指示は、入力制御器１１４へ伝達される調節されたパラメータ１０４の形態をとる。これは入力信号１０２への変化に対処するためのインタフェース１１２の再トレーニングを意味する。結果として入力制御器１１４は、入力信号１０２を受け取ったときに信号１０２のデータアイを確実に位置決めする。データは次いで最適化された信号１０８の形態で１つ以上のメモリセル１４０に転送されてよい。
【００１５】
プログラム可能要素１２０はまた、メモリデバイス１１０の動作環境の他の変化にも応答することができる。例えばインタフェース１１２での帯域要件が変化するかもしれない。同様に電力要件が変化するかもしれず、あるいはインタフェース１１２の動作クロック速度が変化しなければならないかもしれない。動作環境におけるそのような変化は、総称的に状態モニタ１３０として識別される１つ以上の要素を介してメモリデバイス１１０によって検出される。メモリデバイス１１０の動作状態の変化は信号１０６を介してプログラム可能要素１２０に伝達される。図示された実施形態では、プログラム可能要素１２０は次いで動作パラメータを調節し、調節されたパラメータを入力制御器１１４へ伝達してよい。それに応答して制御器１１４は、調節された動作パラメータに従って必要な動作変化を作り出す。このようにして、メモリデバイス１１０は動作環境の変化に応答して再トレーニングされあるいは自己調整されるものである。
【００１６】
尚、プログラム可能要素１２０は幾つかの種類の任意の１つであってよい。プログラム可能要素１２０は例えばマイクロコントローラであってよい。代替的には、プログラム可能要素１２０はマイクロシーケンサあるいはマイクロプロセッサであってよい。更に本発明の実施形態では、プログラム可能要素１２０は縮小命令セットからの命令を用いてプログラムされてよい。また、図１の実施形態は入力制御器１１４及びプログラム可能要素１２０を別個の要素として図示している。代替的な実施形態では、プログラム可能要素１２０及び入力制御器１１４は単一のプログラム可能なデバイスとして実装されてよい。
【００１７】
《インタフェース再トレーニング》
図２には本発明の実施形態に従う入力信号変化に対応する本発明の処理が示されている。処理はステップ２１０で始まる。ステップ２２０では、マイクロ命令がメモリデバイスのインタフェース内のプログラム可能要素で受け取られる。プログラム可能要素、インタフェース、及びメモリデバイスは例えば、システム１００のプログラム可能要素１２０、インタフェース１１２、及びメモリデバイス１１０であってよい。本発明の実施形態では、マイクロ命令はメモリ制御器から受け取られる。これらのマイクロ命令は実行されたときに、メモリデバイス１１０のインタフェース１１２の再トレーニングを行う。インタフェース１１２の再トレーニングは、例えば限定はされないが、動作環境における変化に起因するメモリデバイス１１０の動作を最適化するようにインタフェース１１２での動作パラメータを調節することを含んでよい。ステップ２３０では、プログラム可能要素１２０によって入力信号が解析され、例えばデータアイの位置が再識別されなければならないほど波形が変化してしまっているかどうかが決定される。入力信号は例えば図１に示される入力信号１０２であってよい。ステップ２４０では、インタフェース１１２での動作パラメータが入力信号１０２の変化に基いて調節される。調節されたパラメータは、変化した入力信号のデータアイをメモリデバイス１１０が識別しそれに応じて信号を最適化することを可能にする。このようにしてメモリデバイス１１０の動作は、変化した入力信号を受け取り記憶するときに最適化される。処理はステップ２５０で終了する。代替的な実施形態では、プログラム可能要素１２０は変化した信号を最適化するための入力制御器１１４に調節されたパラメータを伝達してよい。
【００１８】
尚、このように一旦メモリデバイスが再トレーニングされると、メモリデバイスのインタフェースは入力信号のデータアイを更に良好に位置決めすることができる。当該分野においてよく知られているように、データアイを位置決めすることができる幾つかの十分に理解されたアルゴリズムがある。例えば、矩形エッジの左エッジが位置決めされ次いでデータアイに対する探索はこのエッジの右側に向けて焦点を合わされてよい。代替的には、データアイはオーバーサンプリング及びフィルタリングによって位置決めすることができる。
【００１９】
図３は本発明の実施形態の処理を示しており、そこではメモリデバイスのインタフェースは、入力信号の波形における変化に応答する一方で、メモリデバイスの動作環境における変化に応答して自己調整する。処理はステップ３１０で始まる。ステップ３１５では、マイクロ命令がプログラム可能要素、例えばプログラム可能要素１２０で受け取られる。ステップ３２０では、プログラム可能要素は、電力消費を減らす必要性又は異なる帯域幅若しくはクロック要件のような状態変化があったことを知らせる状態モニタ、例えばシステム１００の状態モニタ１３０からの信号を受け取る。その信号は図１に示される状態変化１０６の信号であってよい。ステップ３３０では、入力信号がプログラム可能要素１２０で受け取られ、インタフェース１１２が再トレーニングされることを必要としているかどうかを決定するために、状態変化１０６に基き入力信号に対して解析が行われる。ステップ３４０では、プログラム可能要素１２０がインタフェース１１２の動作パラメータを調節し、そして調節されたパラメータをインタフェース１１２へ伝達する。このようにしてメモリデバイス１１０の動作はその動作環境における変化に応じて最適化されることが可能である。処理はステップ３５０で終了する。
【００２０】
図３の実施形態では、メモリデバイスのインタフェースの再トレーニングは、入力信号への変化に応答しているほか動作環境における変化にも応答している。本発明の代替的な実施形態では、メモリデバイスのインタフェースは入力信号への変化に応答してのみ再トレーニングされてよい。本発明の他の実施形態では、メモリデバイスのインタフェースは、状態モニタを介して検出される動作環境での１つ以上の変化に応答してのみ自己調整してよい。
【００２１】
《結論》
メモリデバイスの動作は入力信号の他にその動作環境における変化によって影響を受け得る。メモリデバイスに組み込まれたプログラム可能要素はそのような変化を解析し、それに応じてメモリデバイスのインタフェースでの動作パラメータを調節することができる。このようにしてメモリデバイスは、当該変化がメモリデバイスの動作に対する最小限の影響を有するように、調節されたパラメータを用いて動作することができる。
【００２２】
特定の機能の実装及びそれらの関係を示す機能構成ブロックを用いて本発明が以上のように説明されてきた。それらの機能構成ブロックの境界は説明の便宜のためここでは任意に画定されてきた。特定の機能及びそれらの関係が適切に実行される限りにおいて代替的な境界が画定されてよい。例えば、本発明の種々の側面が、ソフトウエア、ファームウエア、ハードウエア（又は例えばＶｅｒｉｌｏｇ若しくはハードウエア記述言語命令のようなソフトウエアによって提示されるハードウエア）あるいはそれらの組み合わせによって実施され得る。例示的なシステム１００においては、本発明又はその一部はコンピュータ可読コードとして実施されてよい。この説明を読んだ後、関連分野を含めた当業者にとって、他のコンピュータシステム及び／又はコンピュータアーキテクチュアを用いて本発明をどのように実施するかが明らかになろう。
【００２３】
尚、この発明の種々の実施形態のシミュレーション、合成及び／又は製造は、ひとつには、一般的なプログラミング言語（例えばＣ又はＣ＋＋）、ＶｅｒｉｌｏｇＨＤＬ、ＶＨＤＬ、ＡｌｔｅｒａＨＤＬ（ＡＨＤＬ）等を含むハードウエア記述言語（ＨＤＬ）、あるいは他の利用可能なプログラミングを含むコンピュータ可読コード及び／又は回路等キャプチュアツール（例えば回路キャプチュアツール）の使用を通して達成され得る。このコンピュータ可読コードは、半導体、磁気ディスク、光学ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ）を含むコンピュータが使用可能なあらゆる既知の媒体内に配置されてよく、またコンピュータが使用可能な（例えば可読な）伝送媒体（例えばデジタル、光学的、又はアナログ系の媒体を含む搬送波又は他のあらゆる媒体）において具現化されるコンピュータデータ信号として処置されてよい。従って、コードは、インターネット及びそれと同等のもの(the Internet and internets)を含む通信網を介して伝送されてよい。上述したシステム及び技術により達成される機能及び／又は提供される構造は、プログラムコードにおいて具現化されるコア（例えばＧＰＵコア）内に表現することができ、また集積回路の生産の一部としてハードウエアに変換されてよいことが理解される。
【００２４】
特定の実施形態の前述した説明は、他者が、当該分野の技能の範囲内の知識を適用することによって、必要以上の実験を要せず、本発明の一般的概念から逸脱することなしに、容易に修正し及び／又はそのような特定の実施形態を種々の適用に適合させることができる本発明の一般的性質をそのように完全に明らかにするであろう。従って、そのような適合及び修正は、ここに提示される教示及び指針に基き開示された実施形態と均等なものの意味及び範囲内にあることが意図されている。ここでの用語及び述語は、本明細書の用語及び述語が教示及び指針を考慮して当業者によって解釈されることになるように、説明を目的としたものであり限定を目的としてないことが理解されるべきである。
【００２５】
本発明の広さ及び範囲は上述したいかなる例示的実施形態によっても限定されるべきではなく、以下の特許請求の範囲及びそれらと均等なものに従ってのみ画定されるべきである。
【図１】
2011522324.tif 000003
【図２】
2011522324.tif 000004
【図３】
2011522324.tif 000005
【国際調査報告】
2011522324.tif 000006