(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】メモリデバイスセルフリフレッシュ中の定期的キャリブレーション
(51)【国際特許分類】
G06F 12/00 20060101AFI20240918BHJP
【FI】
G06F12/00 564A
G06F12/00 550B
G06F12/00 550K
【外国語出願】
(21)【出願番号】P 2019080457
(22)【出願日】2019-04-19
【審査請求日】2022-02-16
【審判番号】
【審判請求日】2023-09-22
(32)【優先日】2018-06-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】クリストファー イー. コックス
(72)【発明者】
【氏名】ビル ネイル
【合議体】
【審判長】須田 勝巳
【審判官】山崎 慎一
【審判官】脇岡 剛
(56)【参考文献】
【文献】特開2011-187115(JP,A)
【文献】特表2018-511108(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/00
(57)【特許請求の範囲】
【請求項1】
メモリデバイスであって、
オンダイ終端(ODT)及びドライバの定期的なキャリブレーションを実行するためのキャリブレーション回路と、
前記メモリデバイスにより受信されるセルフリフレッシュ命令に応答して、前記メモリデバイスをセルフリフレッシュモードにするためのセルフリフレッシュ回路と、を備え、
前記ODT及びドライバの定期的なキャリブレーションは、前記メモリデバイスが前記セルフリフレッシュモードである間にリフレッシュと同時に実行される
メモリデバイス。
【請求項2】
前記メモリデバイスが前記セルフリフレッシュモードからアクティブモードへと移行するときに前記キャリブレーションは実行されない、請求項1に記載のメモリデバイス。
【請求項3】
メモリデバイスであって、
オンダイ終端(ODT)及びドライバの定期的なキャリブレーションを実行するためのキャリブレーション回路と、
前記メモリデバイスにより受信されるセルフリフレッシュ命令に応答して、前記メモリデバイスをセルフリフレッシュモードにするためのセルフリフレッシュ回路と、を備え、
前記ODT及びドライバの定期的なキャリブレーションは、前記メモリデバイスが前記セルフリフレッシュモードである間に実行され、
前記メモリデバイスにより設定されたフラグが直近のキャリブレーションの成功を示す場合、前記メモリデバイスが前記セルフリフレッシュモードからアクティブモードへと移行するときにキャリブレーションは実行され
ず、
前記メモリデバイスにより設定された前記フラグが直近のキャリブレーションの成功を示さない場合、前記メモリデバイスがセルフリフレッシュ中に前記定期的なキャリブレーションを実行するよう命令されていたとしても、前記メモリデバイスが前記セルフリフレッシュモードから前記アクティブモードへと移行するときにキャリブレーションは実行される、メモリデバイス。
【請求項4】
前記メモリデバイスは、前記ODT及びドライバの定期的なキャリブレーションを可能にするためのレジスタ空間を備える
請求項1から3のいずれか一項に記載のメモリデバイス。
【請求項5】
最も直近のODT及びドライバの設定は、前記メモリデバイスがそれらをラッチするための命令を受信するまで、前記メモリデバイスによる使用のために正式にラッチされない
請求項1から4のいずれか一項に記載のメモリデバイス。
【請求項6】
前記メモリデバイスは、ODT及びドライバのキャリブレーションのシーケンスの完了に応じて、前記メモリデバイスのモードレジスタ空間にフラグをセットする
請求項1から5のいずれか一項に記載のメモリデバイス。
【請求項7】
メモリデバイスであって、
オンダイ終端(ODT)及びドライバの定期的なキャリブレーションを実行するためのキャリブレーション回路と、
前記メモリデバイスにより受信されるセルフリフレッシュ命令に応答して、前記メモリデバイスをセルフリフレッシュモードにするためのセルフリフレッシュ回路と、を備え、
前記ODT及びドライバの定期的なキャリブレーションは、前記メモリデバイスが前記セルフリフレッシュモードである間に実行され、前記メモリデバイスは、ODT及びドライバのキャリブレーションのシーケンスの完了に応じて、前記メモリデバイスのモードレジスタ空間にフラグをセットする、メモリデバイス。
【請求項8】
前記メモリデバイスは、前記ODT及びドライバの定期的なキャリブレーションの定期的な時間間隔を指定するためのレジスタ空間を備える
請求項1から7のいずれか一項に記載のメモリデバイス。
【請求項9】
前記メモリデバイスは、DIMM上に配置される
請求項1から8のいずれか一項に記載のメモリデバイス。
【請求項10】
前記DIMMは、コンピュータシステムにプラグ接続される
請求項9に記載のメモリデバイス。
【請求項11】
オンダイ終端(ODT)及びドライバの定期的なキャリブレーションを実行するようにメモリデバイスに命令するための論理回路を備え、
前記論理回路は、前記メモリデバイスに対し、前記メモリデバイスがセルフリフレッシュモードである間に、前記ODT及びドライバの定期的なキャリブレーションをリフレッシュと同時に実行するように命令する、
メモリコントローラ。
【請求項12】
オンダイ終端(ODT)及びドライバの定期的なキャリブレーションを実行するようにメモリデバイスに命令するための論理回路を備え、
前記論理回路は、前記メモリデバイスに対し、前記メモリデバイスがセルフリフレッシュモードである間に、前記ODT及びドライバの定期的なキャリブレーションを実行するように命令し、
前記論理回路は、ODT及びドライバのキャリブレーションのシーケンスの完了に応じて、前記メモリデバイスによりセットされた前記メモリデバイスのモードレジスタ空間内のフラグを読み出して、最も直近のキャリブレーションのシーケンスが成功であるか否かを確認する、
メモリコントローラ。
【請求項13】
オンダイ終端(ODT)及びドライバの定期的なキャリブレーションを実行するようにメモリデバイスに命令するための論理回路を備え、
前記論理回路は、前記メモリデバイスに対し、前記メモリデバイスがセルフリフレッシュモードである間に、前記ODT及びドライバの定期的なキャリブレーションを実行するように命令し、
前記論理回路は、前記メモリデバイスにより設定されたフラグが直近のキャリブレーションの成功を示すことを確認すると、前記メモリデバイスに対し、前記メモリデバイスが前記セルフリフレッシュモードからアクティブモードへと移行するときに前記キャリブレーションを実行するように命令
せず、
前記論理回路は、前記メモリデバイスにより設定された前記フラグが直近のキャリブレーションの成功を示さないことを確認すると、前記論理回路は、前記メモリデバイスがセルフリフレッシュ中に前記キャリブレーションを実行するよう命令していたとしても、前記メモリデバイスに対し、前記メモリデバイスが前記セルフリフレッシュモードから前記アクティブモードへと移行するときに前記キャリブレーションを実行するように命令する、
メモリコントローラ。
【請求項14】
前記メモリコントローラは、前記メモリデバイスの最も直近のODT及びドライバのキャリブレーションの設定をラッチするように、前記メモリデバイスに命令する
請求項11から13のいずれか一項に記載のメモリコントローラ。
【請求項15】
前記メモリコントローラは、前記メモリデバイスによりフラグがセットされることに応答して、前記メモリデバイスの最も直近のODT及びドライバのキャリブレーションの設定をラッチするように、前記メモリデバイスに命令する
請求項11または13に記載のメモリコントローラ。
【請求項16】
前記メモリコントローラは、前記メモリデバイスのレジスタ空間に、前記ODT及びドライバの定期的なキャリブレーションの定期的な時間間隔をプログラムする
請求項11から15のいずれか一項に記載のメモリコントローラ。
【請求項17】
前記メモリコントローラは、前記セルフリフレッシュモードに入るように前記メモリデバイスに命令する
請求項11から16のいずれか一項に記載のメモリコントローラ。
【請求項18】
前記メモリコントローラは、コンピュータシステム内にある
請求項11から17のいずれか一項に記載のメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野は電子工学の技術に関する、より具体的には、メモリデバイスセルフリフレッシュ中の定期的キャリブレーションに関する。
【背景技術】
【0002】
コンピューティングシステムは、典型的には、メモリデバイスがアクティブに読み出し又は書き込み動作を実行していない期間に、セルフリフレッシュモードへと置かれ得るメモリデバイスを備える。理想的には、メモリデバイスがセルフリフレッシュモードからアクティブモードに戻るよう移行することを必要としたときに、読み出し又は書き込み命令がメモリデバイスに送信され得る前にコンピューティングシステムが長期間待たなくてもよいほど、メモリデバイスが迅速に移行できることである。
【0003】
本発明のより良好な理解が、以下の図面と合わせて、以下の詳細な説明から取得され得る。
【図面の簡単な説明】
【0004】
【
図1】従来技術のメモリコントローラおよびメモリデバイスを示す。
【0005】
【
図2】改善されたメモリデバイスのセルフリフレッシュシーケンスを示す。
【0006】
【
図3】
図2の改善されたメモリデバイスのセルフリフレッシュシーケンスを実装するための、改善されたメモリコントローラおよびメモリデバイスを示す。
【0007】
【
図4】メモリデバイスセルフリフレッシュ方法を示す。
【0008】
【発明を実施するための形態】
【0009】
図1は、ホスト側メモリコントローラ101とメモリデバイス102とを含む、従来技術のメモリサブシステムを示している。メモリデバイス102は、(例示の簡略化のため
図1に示されていない)Dual In-Line Memory Module(DIMM)上に配置される多数のメモリチップのうちの一つであってもよい。DIMMは、メモリコントローラ101に結合されるメモリチャネルへとプラグ接続されてもよい。メモリチャネルは、電子デバイス技術合同協議会(JEDEC)業界標準によって定義される複数の特性を有するダブルデータレート(DDR)メモリチャネル(例えば、JEDEC DDR4 メモリチャネル)であってもよい。
【0010】
メモリデバイス102は、DQワイヤ106によってメモリコントローラ101に結合される。DQワイヤ106は、書き込み動作中にメモリコントローラ101からの書き込み情報をメモリデバイス102へと転送し、読み出し動作中にメモリデバイス102からの読み出し情報をメモリコントローラ101へと転送する、双方向データワイヤである。簡単にするために、メモリコントローラ101とメモリデバイス102との間には、単一のDQワイヤ106のみが示されている。しかしながら、実際には、複数のDQワイヤが、メモリコントローラ101とメモリデバイスとの間に存在し、いくつかのビット幅を有するデータバスをエフェクトする(例えば、64個のDQワイヤが、メモリコントローラ101とメモリデバイス102との間に64ビットのデータバスを形成する)。追加的な命令および/またはアドレス指定信号のワイヤ(例えば、命令アドレス(CA)バス)もまた、メモリコントローラ101とメモリデバイス102との間に存在し、これにより、メモリコントローラは、命令およびアドレスをメモリデバイス102に送信することができる。
【0011】
メモリデバイス102内のDQワイヤ106のエンドポイントは、終端抵抗回路網104およびデータドライバ105を含む。抵抗回路網104は、書き込み動作中にメモリコントローラ101からメモリデバイス102へと送信される書き込みデータ信号に対して、終端抵抗をDQワイヤ106のエンドに提供する。終端回路網104の抵抗は、理想的には、DQワイヤ/メモリデバイスインターフェースにおいて、書き込みデータ信号のリフレクションを防ぎ、又は他の態様では当該リフレクションを減少させる。ドライバ105は、理想的には、読み出し動作中にメモリコントローラ101によって十分に受信された読み出しデータをメモリデバイス102からDQワイヤ上へとドライブする駆動電流強度および/またはソースインピーダンスを有する。
【0012】
終端回路網104の抵抗、ならびに、ドライバ105の駆動電流強度および/またはソースインピーダンスの両方が、可変的であるように設計され、これにより、これらは、メモリデバイスの動作中に、キャリブレーションコントローラ103によってキャリブレートされることができる(例えば、JEDEC固有の「ZQ」キャリブレーション)。ここでは、終端回路網104の正しい抵抗、ならびに、ドライバ105の正しい駆動電流強度および/またはソースインピーダンスが、温度および/または供給電圧の関数であり得る。重要なことには、これらのパラメータは、メモリデバイス102の動作の経過に亘って変化し得る。そのように、終端回路網104およびドライバ105のための正しい設定も同様に、メモリデバイス102の動作の経過に亘って変化し得る。
【0013】
メモリコントローラ101は、メモリデバイスにとってそのDQ終端抵抗回路網および/またはそのDQドライバをキャリブレートすることが適切であると判定する場合、キャリブレーションを実行すべくメモリデバイス102に命令を送信する。命令は最終的に、正しい終端回路網およびドライバ設定を判定するキャリブレーションルーチンを実行することを担当している、メモリデバイス102内のキャリブレーションコントローラ103によって受信される。しかしながら、残念なことに、キャリブレーションルーチンの実行は、メモリサブシステムの性能に影響を及ぼす、無視できない時間長を消費する。
【0014】
差し込み図の107は、メモリサブシステム性能に対する特定の公開を示している。ここでは、メモリデバイス102がダイナミックランダムアクセスメモリ(DRAM)メモリデバイスである場合に、メモリデバイス102のストレージセルは、自己のデータを保持すべく、定期的にリフレッシュされることを必要とする。ここでは、メモリデバイス102(またはメモリデバイスのDIMM、もしくはメモリデバイスのDIMMがプラグ接続されるチャンネル)が長期間の(読み出し又は書き込み命令がない)非アクティビティを受けているおよび/または受けそうであることをメモリコントローラ101が認識する場合に、メモリコントローラ101は、セルフリフレッシュモードに入ることをメモリデバイス102に命令する。
【0015】
これに応答して、メモリデバイス102は、自己のデータを保持するように、リフレッシュ信号を自己の内部ストレージセルに適用する。差し込み図の107のタイミング図に示す通り、メモリデバイスは、その時点で、進行している長期間使用されないことになる、時間TXに至るまで、アクティブであり、メモリコントローラ101によってセルフリフレッシュモードへと置かれる。時間TYで、メモリデバイスは再び使用されることを必要とする。
【0016】
従って、メモリコントローラ101は、セルフリフレッシュモードを終了して、自己のDQ抵抗終端回路網およびドライバのキャリブレーションを実行することをメモリデバイス102に命令する(なぜなら、メモリデバイス102が最初にセルフリフレッシュモードに入った、これ以前の時間(TX)から、その温度と供給電圧とが変化し得ているためである)。(メモリコントローラ101が次に読み出す自己のモードレジスタ空間内にフラグを立てることによって)キャリブレーションが無事に実行されたことをメモリデバイス102が確認するときに、メモリコントローラ101は、新たに決定されたキャリブレーション設定を、メモリデバイスの正式な終端回路網およびドライバ設定としてラッチすることを、メモリデバイス102に命令する。残念ながら、キャリブレーションを実行することによって消費される長い時間長(例えば、1~6μs)は、メモリデバイス102が、デバイス102をセルフリフレッシュモードからアクティブモードへと移行させることが決定される瞬間(TY)からアクティブモードに再び入ることが可能になる時間(TZ)を劇的に遅延させる。
【0017】
この広大な遅延(TZ-TY)は、メモリサブシステムを使用する様々なシステムコンポーネント(例えば、CPUコア、GPUコア、表示ドライバ、ネットワーキングインターフェース、不揮発性大容量ストレージなど)の観点から、メモリサブシステム全体の性能に悪影響を及ぼす。特に、例えば、アクティブ期間の合間の短期間(例えば、数十または数百マイクロ秒)に、好機をねらって(例えば、メモリコントローラ101がメモリデバイス102の次に来る読み出し/書き込み非アクティビティの期間を認識した場合に)メモリデバイス102をセルフリフレッシュモードへと入れることが可能なメモリコントローラ101の利点は、アクティブモードへと戻るよう移行するときにキャリブレーションを実行することによってあまりに多くの時間が消費される場合に、大幅に減少される。
【0018】
図2は、DQワイヤを再キャリブレートする前にメモリ202をセルフリフレッシュモードからアクティブモードへと移行させることが肯定的に決定されるまで待つことよりもむしろ、メモリデバイス202が自己のセルフリフレッシュモード中にDQ抵抗回路網およびドライバ設定を定期的に再キャリブレートする解決策を示している。
図2にて観察されるように、メモリデバイス202は、TDごとに抵抗回路網終端およびドライバ設定を再キャリブレートするように構成されている。すなわち、
図2に観察されるように、第1番目のキャリブレーション1は、メモリデバイスが時間TXで最初にセルフリフレッシュに入る後のTDで生じる。第2番目のキャリブレーション2は、第1番目のキャリブレーション1の後のTDで生じ、第3番目のキャリブレーション3は第2番目のキャリブレーション2の後のTDで生じ、第4番目のキャリブレーション4は第3番目のキャリブレーションの後のTDで生じる、などなど。
【0019】
定期的キャリブレーションは、セルフリフレッシュモードの外へ出ることの命令をメモリデバイスがメモリコントローラから受信する(TZ)まで続く。特に、セルフリフレッシュモードの時間長に亘ってN回のキャリブレーションが実行されている。ここで、メモリサブシステムの温度および供給電圧は、第N番目のキャリブレーションが完了して(TQ)からあまり変化していないと推測される。そのように、セルフリフレッシュモードから出る命令が時間TZに受信された場合に、第N番目のキャリブレーションで確立された抵抗終端回路網およびドライバ設定は、存在している温度および供給電圧条件に対して十分であると推測される。
【0020】
更に以下でより詳細に説明されるように、様々な実施形態で、メモリコントローラ201はまた、(例えば、メモリデバイスのモードレジスタ空間内に立てられるフラグの状態を読み出すことによって)直近のキャリブレーションシーケンス(第N番目のシーケンス)が成功だったか否かを確認し、そうである場合、メモリデバイスの正式な抵抗回路網終端およびドライバ設定として第N番目のキャリブレーションシーケンスからの設定をラッチすることをメモリデバイスに命令する。その設定がラッチされた後、メモリデバイスは、アクティブモードに入り、読み出し/書き込み命令をメモリコントローラから受信することができる。そのように、メモリデバイス202は、キャリブレーションを実行することなく、およそ時間TZに、セルフリフレッシュモードからアクティブモードへと移行することが可能である。
【0021】
図3は、
図2の改善されたアプローチを共に実装することができる、改善されたメモリコントローラ301およびメモリデバイス302を示す。
図3に観察されるように、メモリコントローラ301は、メモリデバイス302に対してセルフリフレッシュ命令を生成することが可能であり、また、メモリデバイスがセルフリフレッシュモード(オンザフライキャリブレーションでセルフリフレッシュ)中である間にメモリデバイスが定期的キャリブレーションを実行することを指定する、改善されたセルフリフレッシュ制御論理回路309を有する。一実施形態において、メモリデバイスのより多くのレジスタ空間が、セルフリフレッシュモード中の定期的キャリブレーションを可能にする/不可能にするフィールドを含む。メモリデバイス302がセルフリフレッシュ命令を受信したときに当該フィールドが設定されている場合、メモリデバイスは、その後に続くセルフリフレッシュ中に当該定期的キャリブレーションを実行する。セルフリフレッシュモード中であるときに定期的キャリブレーションを実行することをメモリコントローラ301がメモリデバイス302に命令する場合、メモリコントローラ301は、セルフリフレッシュから外れる移行の一環としてキャリブレーションを実行することをメモリデバイス302に命令しなくてもよい、と理解する。
【0022】
例えば、メモリコントローラ301は、セルフリフレッシュを終了することをメモリデバイス302に命令し、(メモリデバイスのモードレジスタを読み出すことによって)メモリデバイスの直近のキャリブレーションが有効な設定を生成したか否かを確認し、そのような確認のときに、当該設定を、メモリデバイスの次に来るアクティブモード中に使用される設定としてラッチすることをメモリデバイスに命令する。特に、メモリコントローラのキャリブレーション制御論理回路308は、定期的キャリブレーションを伴うセルフリフレッシュモードから、アクティブモードへの移行の一環として、キャリブレーションを実行することをメモリデバイス302に命令しない。
【0023】
また、
図3において観察されるように、メモリデバイス302は、メモリデバイス302が自己の終端回路網304およびドライバ305の設定を定期的に再キャリブレートするように、セルフリフレッシュ中にキャリブレーションコントローラ303を定期的に引き起こして動作させることを担当する、関連するタイマー回路307を有するセルフリフレッシュ制御回路306を備える。タイマー回路307は、様々な方法で実装されることができる。第1の実施形態によれば、タイマー回路307は、メモリデバイス302の内部クロック(例えば、セルフリフレッシュクロック)を判定する、メモリデバイス302の位相同期ループ(PLL)回路または遅延同期ループ(DLL)回路に結合される。カウンタは、PLL/DLL回路に結合され、クロック周期をカウントする(例えば、カウンタは各クロック周期でインクリメントする)。カウンタが特定の値に到達するごとに、再キャリブレーションが引き起こされ、カウンタ値がリセットされる。
【0024】
第2実施形態によれば、セルフリフレッシュコントローラ306に関連するカウンタは、各再キャリブレーション動作を引き起こすのに使用される。ここで、例えば、セルフリフレッシュコントローラ306は、リフレッシュをカウントする1または複数のカウンタを含む(例えば、各々が個別に特定のメモリバンクのリフレッシュをカウントする、バンク単位のリフレッシュカウンタ、各メモリバンクがリフレッシュされた後にインクリメントするグローバルリフレッシュカウンタ、など)。タイマー回路307は、1または複数のカウンタに結合され、1または複数のカウンタが特定の1または複数の値に到達したときに再キャリブレーションアクティビティを引き起こす。一つの実施形態によれば、キャリブレーションは、複数の内部リフレッシュの合間に引き起こされ、キャリブレーション後に実行される任意のリフレッシュは、キャリブレーションが完了する後まで開始しない。別の実施形態によれば、キャリブレーションは、複数の内部リフレッシュの合間に引き起こされ、そして、キャリブレーションを引き起こした後に実行される複数のリフレッシュと同時に実行される。
【0025】
更なる実施形態によれば、各セルフリフレッシュキャリブレーションシーケンス中に決定される終端回路網およびドライバ設定は、セルフリフレッシュ制御回路306によって内部で保持される。そのように、これらのレジスタは、セルフリフレッシュ中に実行される各々の新たなキャリブレーションで更新される。セルフリフレッシュモードからアクティブへの移行時に、制御回路のレジスタに存在する設定は、メモリコントローラ301による、肯定的な命令に応答して、メモリデバイスの正式な回路網およびドライバ設定制御レジスタ空間内へとラッチされ、その後、アクティブモード中のメモリデバイス302によって使用される。
【0026】
このアプローチの更なる実施形態において、メモリデバイスは、無事にキャリブレーションを実行するごとに、自己のモードレジスタ空間内にフラグを立てる。メモリコントローラは次に、フラグの状態をチェックして、直近のキャリブレーションが成功したか否かを確認することが可能である。そうである場合、メモリコントローラ301は、キャリブレーション命令をメモリデバイス302に発行することなくセルフリフレッシュモードを終了することができる、と理解する。メモリデバイスが、フラグが肯定的に設定されているのを見ない場合、メモリコントローラ301は、セルフリフレッシュモードからアクティブモードへの移行の一環としてキャリブレーション命令を発行すべきである、と理解する。この後者のシナリオは、全てのセルフリフレッシュ期間がTD未満である場合に可能である。
【0027】
更なる実施形態において、TD期間は、メモリデバイス内で設定可能であってもよい。例えば、メモリデバイスのモードレジスタ設定は、メモリデバイス内で、異なるTD設定を許可してもよい。代替的に、TDパラメータは、メモリデバイス302内へしっかりと設計されてもよい。
【0028】
様々な実施形態において、メモリデバイスは更に、上記で説明したものよりも自律的に設計されてもよく、セルフリフレッシュモードに入ることをメモリコントローラによって肯定的に命令されることを必要としなくてもよい。すなわち、メモリデバイスは、メモリコントローラによって肯定的に指令されることなくメモリデバイスをセルフリフレッシュモードへと置く、独自の内部ロジックを有してもよい。この場合、メモリデバイスのモードレジスタは、メモリデバイスが、自発的に入るセルフリフレッシュモード中に、上記で説明した通り定期的にキャリブレーションを実行することを、メモリコントローラによって設定されてもよい。
【0029】
制御回路303、306、308、309は、カスタム仕様のハードワイヤード論理回路(例えば、ハードワイヤードステートマシンなど)、プログラマブル論理回路(例えば、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)など)、プログラムコードの幾つかの形式を実行する論理回路(例えば、埋め込みプロセッサ、埋め込みコントローラなど)、または、これらの任意の組み合わせのような、論理回路の様々な形式で実装される得ることに留意すべきである。
【0030】
図4は、上記で説明した方法を示す。当該方法は、定期的キャリブレーション401でセルフリフレッシュモードに入ることの命令をメモリデバイスに送信する段階を備える。メモリデバイスは次に、セルフリフレッシュを行い、定期的なセルフリフレッシュがセルフリフレッシュ402中に実行される。メモリデバイスがセルフリフレッシュから外れてアクティブモード403へと移行すると、メモリデバイスは、キャリブレーション404を実行することなく、アクティブモードに入る。
【0031】
おそらく、メモリデバイスがセルフリフレッシュモード中である間にメモリデバイスによって複数のキャリブレーションが実行されるが、当該キャリブレーションは定期的に実行されない(例えば、よりランダムな時間間隔で実行される)他の実施形態/実装が存在し得る。
【0032】
上記で説明した複数のアプローチは、JEDEC業界標準規格のような業界標準(例えば、DDR5 JEDEC業界標準規格)によって指定されてもよい。
【0033】
図5は、コンピューティングシステム500(例えば、スマートフォン、タブレット型コンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、サーバコンピュータなど)の例示的な図を提供する。
図5において観察されるように、ベーシックコンピューティングシステム500は、(例えば、複数の汎用プロセッシングコア515_1から515_Xを含み得る)中央処理装置501と、マルチコアプロセッサまたはアプリケーションプロセッサ上に配置されたメインメモリコントローラ517と、システムメモリ502と、ディスプレイ503(例えば、タッチスクリーン、フラットパネル)と、ローカル有線ポイントツーポイントリンク(例えば、USBインターフェース504)と、様々なネットワークI/O機能505(Ethernet(登録商標)インターフェースおよび/またはセルラーモデムサブシステムなど)と、無線ローカルエリアネットワーク(例えば、WiFi(登録商標))インターフェース506と、無線ポイントツーポイントリンク(例えば、Bluetooth(登録商標))インターフェース507と、全地球測位システムインターフェース508と、様々なセンサ509_1から509_Yと、1または複数のカメラ510と、バッテリ511と、電力管理制御ユニット512と、スピーカおよびマイク513とオーディオコーダ/デコーダ514とを含み得る。
【0034】
アプリケーションプロセッサまたはマルチコアプロセッサ550は、そのCPU501内の1または複数の汎用プロセッシングコア515と、1または複数のグラフィック処理ユニット516と、メモリ管理機能517(例えば、メモリコントローラ)と、I/O制御機能518とを含み得る。汎用プロセッシングコア515は典型的には、コンピューティングシステムのオペレーティングシステムおよびアプリケーションソフトウェアを実行する。グラフィック処理ユニット516は典型的には、グラフィックインテンシブ機能を実行し、例えば、ディスプレイ503上に表示されるグラフィック情報を生成する。メモリ管理機能517は、システムメモリ502とインターフェースで連結して、システムメモリ502への/からのデータの書き込み/読み出しを行う。メモリコントローラ517およびシステムメモリ(または他のメモリコントローラおよびメモリ)は、上記で説明したセルフリフレッシュ中にメモリデバイスの抵抗回路網終端およびドライバ設定の定期的リフレッシュを実装してもよい。電力管理制御ユニット512は概して、システム500の電力消費を制御する。
【0035】
タッチスクリーンディスプレイ503、通信インターフェース504-507、GPSインターフェース508、センサ509、(複数の)カメラ510、およびスピーカ/マイクCODEC513、514の各々は全て、同様に、適切な場所に、統合された周辺装置(例えば、1または複数のカメラ510)を含む、全体のコンピューティングシステムに対するI/O(入力および/または出力)の様々な形式として示され得る。実装に応じて、これらのI/Oコンポーネントのうちの様々なものが、アプリケーションプロセッサ/マルチコアプロセッサ550上で統合されてもよく、または、ダイから離れて配置され又はアプリケーションプロセッサ/マルチコアプロセッサ550のパッケージ外に配置されてもよい。コンピューティングシステムはまた、システムの大容量ストレージコンポーネントであり得る不揮発性記憶装置520を含む(例えば、ハードディスクドライブ、ソリッドステートドライブなど)。
【0036】
本発明の複数の実施形態は、上記で明らかにされた様々な処理を含んでもよい。複数の処理は、複数の機械実行可能命令に具現化されてもよい。複数の命令は、汎用または専用プロセッサに特定の複数の処理を実行させるのに使用され得る。代替的に、これらの複数の処理は、複数の処理を実行するためのハードワイヤード論理回路またはプログラマブル論理回路(例えば、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD))を含む特定/カスタムハードウェアコンポーネントによって実行されてもよく、または、プログラムコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせによって実行されてもよい。
【0037】
本発明の要素は、機械実行可能命令を保存するための機械可読媒体としてもまた提供され得る。機械可読媒体は、これらに限定はされないが、フロッピー(登録商標)ディスケット、光ディスク、CD-ROM、磁気光ディスク、フラッシュメモリ、ROM、RAM、EPROM、EEPROM、磁気カードもしくは光カード、伝播媒体、または電子命令を保存するのに適した他のタイプの媒体/機械可読媒体を含み得る。例えば、本発明は、通信リンク(例えば、モデム接続またはネットワーク接続)を介して、搬送波または他の伝播媒体に具現化されるデータ信号を用いて、リモートコンピュータ(例えば、サーバ)から要求しているコンピュータ(例えば、クライアント)に転送され得るコンピュータプログラムとしてダウンロードされ得る。
【0038】
上記の明細書において、本発明は、その特定の例示的な実施形態を参照して説明されている。しかしながら、添付の請求項で明らかにされる本発明のより広い主旨および範囲から逸脱することなく、様々な修正および変更がなされ得ることは明らかであろう。従って、本明細書および図面は、限定的な意味ではなく例示的な意味のものと見做されるべきである。
[項目1]メモリデバイスがセルフリフレッシュモード中である間にメモリデバイスの抵抗回路網終端およびデータドライバのキャリブレーションを実行することをメモリデバイスに命令する論理回路を備える、メモリコントローラ。
[項目2]論理回路は、メモリデバイスのモードレジスタ内に、メモリデバイスがセルフリフレッシュモード中である間にキャリブレーションの実行を可能にするフラグを立てる、
項目1に記載のメモリコントローラ。
[項目3]論理回路は、メモリデバイスがキャリブレーションを実行することを命令されているので、セルフリフレッシュモードを終了するときに抵抗回路網終端およびデータドライバをキャリブレートする、という命令をメモリデバイスに送信しない、
項目1に記載のメモリコントローラ。
[項目4]論理回路は、セルフリフレッシュモードを終了する、という第1命令と、キャリブレーションの設定をラッチする、という第2命令とをメモリデバイスに送信する、
項目3に記載のメモリコントローラ。
[項目5]論理回路は、キャリブレーションのうち最も直近のものが無事に実行されたか否かを示す情報を含むメモリデバイスのレジスタをチェックし、
論理回路は、キャリブレーションのうち最も直近のものが無事に実行されていない場合には、たとえメモリデバイスがセルフリフレッシュモード中にキャリブレーションを実行することを命令されていたとしても、セルフリフレッシュモードから外れるメモリデバイスの移行の一環として、抵抗回路網終端およびデータドライバのキャリブレーションを実行することをメモリデバイスに命令する、
項目1に記載のメモリコントローラ。
[項目6]メモリデバイスであって、
メモリデバイスがセルフリフレッシュモード中である間にメモリデバイスの抵抗回路網終端およびデータドライバのキャリブレーションを実行する論理回路を備える、
メモリデバイス。
[項目7]論理回路は、キャリブレーションが定期的に実行されるようにさせる、
項目6に記載のメモリデバイス。
[項目8]論理回路は、カウンタを備える、
項目7に記載のメモリデバイス。
[項目9]カウンタは、メモリデバイスによって実行されるリフレッシュをカウントする、
項目8に記載のメモリデバイス。
[項目10]カウンタは、メモリデバイスのクロックの周期をカウントする、
項目8に記載のメモリデバイス。
[項目11]メモリデバイスは、セルフリフレッシュモード中にキャリブレーションを実行することをメモリデバイスに命令するメモリコントローラから、セルフリフレッシュ命令を受信する、
項目6に記載のメモリデバイス。
[項目12]メモリデバイスは、モードレジスタ空間を備え、モードレジスタ空間は、設定された場合に、メモリデバイスがセルフリフレッシュ命令を受信した後で、メモリデバイスに、セルフリフレッシュモード中にキャリブレーションを実行させる、
項目11に記載のメモリデバイス。
[項目13]メモリデバイスは、メモリデバイスのモードレジスタ空間内に、キャリブレーションのうち最も直近のものが無事に実行されたか否かを示すフラグを含ませる、
項目6に記載のメモリデバイス。
[項目14]メモリデバイスは、Dual In-Line Memory Module(DIMM)上に配置される、
項目6に記載のメモリデバイス。
[項目15]複数のプロセッシングコアと、
ソリッドステートドライブと、
システムメモリと、
システムメモリコントローラとを備え、
システムメモリコントローラは、複数のプロセッシングコアに結合され、メモリデバイスがセルフリフレッシュモード中である間にメモリデバイスの抵抗回路網終端およびデータドライバのキャリブレーションを実行することをメモリデバイスに命令する論理回路を有する、
コンピューティングシステム。
[項目16]論理回路は、メモリデバイスのモードレジスタ内に、メモリデバイスがセルフリフレッシュモード中である間にキャリブレーションの実行を可能にするフラグを立てる、
項目15に記載のコンピューティングシステム。
[項目17]論理回路は、メモリデバイスがキャリブレーションを実行することを命令されているので、セルフリフレッシュモードを終了するときに抵抗回路網終端およびデータドライバをキャリブレートする、という命令をメモリデバイスに送信しない、
項目15に記載のコンピューティングシステム。
[項目18]論理回路は、セルフリフレッシュモードを終了する、という第1命令と、キャリブレーションの設定をラッチする、という第2命令をメモリデバイスに送信する、
項目17に記載のコンピューティングシステム。
[項目19]論理回路は、キャリブレーションのうち最も直近のものが無事に実行されたか否かを示す情報を含むメモリデバイスのレジスタをチェックし、
論理回路は、キャリブレーションのうち最も直近のものが無事に実行されていない場合には、たとえメモリデバイスがセルフリフレッシュモード中にキャリブレーションを実行することを命令されていたとしても、セルフリフレッシュモードから外れるメモリデバイスの移行の一環として、抵抗回路網終端およびデータドライバのキャリブレーションを実行することをメモリデバイスに命令する、
項目15に記載のコンピューティングシステム。
[項目20]メモリデバイスは、JEDEC標準に準拠するように設計される、
項目15に記載のコンピューティングシステム。