(57)【要約】システム及び方法は、第２のドメインの状態を管理する第１のドメインにおいて、前記第２のドメインが前記状態にあることを判別することと、前記第１のドメインにおいて、前記第２のドメインが前記状態にある間に定期的なアクションが前記第２のドメインにおいて生じるようにスケジュールされていることを判別することと、を提供することができる。さらに、前記定期的なアクションは、前記第２のドメインに関する欠落イベントとして記録され得る。一例において、欠落イベントとして前記定期的なアクションを記録することは、欠落イベントカウンタをインクリメントすることを含む。
2018525695.tif 000002
【特許請求の範囲】
【請求項１】
メモリコントローラと、
前記メモリコントローラに接続されたメモリと、
前記メモリコントローラの状態を管理する電力管理サブシステムであって、前記電力管理サブシステムは、スケジューラ装置を有し、前記スケジューラ装置は、
前記メモリコントローラが前記状態にあることを判別する状態インタフェースと、
前記メモリコントローラが前記状態にある間に定期的なアクションが前記メモリコントローラにおいて生じるようにスケジュールされていることを判別する欠落アクション検出器と、
前記メモリコントローラに関する欠落イベントとして前記定期的なアクションを記録する欠落アクショントラッキング器と、
を含む、電力管理サブシステムと、
を備えるパトロールスクラビングコンピューティングシステム。
【請求項２】
欠落イベントカウンタをさらに含み、
前記欠落アクショントラッキング器は、前記定期的なアクションを記録するために前記欠落イベントカウンタをインクリメントする、請求項１記載のパトロールスクラビングコンピューティングシステム。
【請求項３】
前記スケジューラ装置は、
前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記メモリコントローラを抜け出させるフロップコンポーネントと、
前記メモリコントローラにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするトリガコンポーネントであって、前記１つ以上のインスタンスは、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされ、前記フロップコンポーネントは、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記メモリコントローラが前記状態に再び入るのを防止する、トリガコンポーネントと、
をさらに含む、請求項２記載のパトロールスクラビングコンピューティングシステム。
【請求項４】
前記スケジューラ装置は、
前記メモリコントローラが前記状態から出たという判定に応じて、前記メモリコントローラにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするトリガコンポーネントであって、前記１つ以上のインスタンスは、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、トリガコンポーネントと、
前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記メモリコントローラが前記状態に再び入るのを防止するフロップコンポーネントと、
をさらに含む、請求項２記載のパトロールスクラビングコンピューティングシステム。
【請求項５】
前記欠落アクショントラッキング器は、前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信し、前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントする、請求項２記載のパトロールスクラビングコンピューティングシステム。
【請求項６】
前記定期的なアクションは、前記メモリコントローラが前記状態にある間に生じるのを妨げられ、前記状態は、低減された電力状態及び高められた性能状態のうちの１つである、請求項１乃至５いずれか一項記載のパトロールスクラビングコンピューティングシステム。
【請求項７】
第２のドメインの状態を管理する第１のドメインにおいて、前記第２のドメインが前記状態にあることを判別する状態インタフェースと、
前記第１のドメインにおいて、前記第２のドメインが前記状態にある間に定期的なアクションが前記第２のドメインにおいて生じるようにスケジュールされていることを判別する欠落アクション検出器と、
前記第２のドメインに関する欠落イベントとして前記定期的なアクションを記録する欠落アクショントラッキング器と、
を備えるスケジューラ装置。
【請求項８】
欠落イベントカウンタをさらに含み、
前記欠落アクショントラッキング器は、前記定期的なアクションを記録するために前記欠落イベントカウンタをインクリメントする、請求項７記載のスケジューラ装置。
【請求項９】
前記第１のドメインは、
前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記第２のドメインを抜け出させるフロップコンポーネントと、
前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするトリガコンポーネントであって、前記１つ以上のインスタンスは、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされ、前記フロップコンポーネントは、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止する、トリガコンポーネントと、
をさらに含む、請求項８記載のスケジューラ装置。
【請求項１０】
前記第１のドメインは、
前記第２のドメインが前記状態から出たという判定に応じて、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするトリガコンポーネントであって、前記１つ以上のインスタンスは、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、トリガコンポーネントと、
前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するフロップコンポーネントと、
をさらに含む、請求項８記載のスケジューラ装置。
【請求項１１】
前記欠落アクショントラッキング器は、前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信し、前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントする、請求項８記載のスケジューラ装置。
【請求項１２】
前記定期的なアクションは、前記第２のドメインが前記状態にある間に生じるのを妨げられ、前記状態は、低減された電力状態及び高められた性能状態のうちの１つである、請求項７乃至１１いずれか一項記載のスケジューラ装置。
【請求項１３】
状態ドメインにわたる定期的なアクションをトラッキングする方法であって、
第２のドメインの状態を管理する第１のドメインにおいて、前記第２のドメインが前記状態にあることを判別するステップと、
前記第１のドメインにおいて、前記第２のドメインが前記状態にある間に定期的なアクションが前記第２のドメインにおいて生じるようにスケジュールされていることを判別するステップと、
前記第２のドメインに関する欠落イベントとして前記定期的なアクションを記録するステップと、
を含む方法。
【請求項１４】
前記定期的なアクションを記録することは、欠落イベントカウンタをインクリメントすることを含む、請求項１３記載の方法。
【請求項１５】
前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記第２のドメインを抜け出させるステップと、
前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするステップであって、前記１つ以上のインスタンスは、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、ステップと、
前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するステップと、
をさらに含む、請求項１４記載の方法。
【請求項１６】
前記第２のドメインが前記状態から出たという判定に応じて、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするステップであって、前記１つ以上のインスタンスは、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、ステップと、
前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するステップと、
をさらに含む、請求項１４記載の方法。
【請求項１７】
前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信するステップと、
前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントするステップと、
をさらに含む、請求項１４記載の方法。
【請求項１８】
前記定期的なアクションは、前記第２のドメインが前記状態にある間に生じるのを妨げられ、前記状態は、低減された電力状態及び高められた性能状態のうちの１つである、請求項１３乃至１７いずれか一項記載の方法。
【請求項１９】
コンピューティングシステムに、
第２のドメインの状態を管理する第１のドメインにおいて、前記第２のドメインが前記状態にあることを判別するステップと、
前記第１のドメインにおいて、前記第２のドメインが前記状態にある間に定期的なアクションが前記第２のドメインにおいて生じるようにスケジュールされていることを判別するステップと、
前記第２のドメインに関する欠落イベントとして前記定期的なアクションを記録するステップと、
を実行させるプログラム。
【請求項２０】
前記プログラムは、前記コンピューティングシステムに、前記定期的なアクションを記録するために欠落イベントカウンタをインクリメントするステップを実行させる、請求項１９記載のプログラム。
【請求項２１】
前記プログラムは、前記コンピューティングシステムに、
前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記第２のドメインを抜け出させるステップと、
前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするステップであって、前記１つ以上のインスタンスは、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、ステップと、
前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するステップと、
を実行させる、請求項２０記載のプログラム。
【請求項２２】
前記プログラムは、前記コンピューティングシステムに、
前記第２のドメインが前記状態から出たという判定に応じて、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするステップであって、前記１つ以上のインスタンスは、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、ステップと、
前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するステップと、
を実行させる、請求項２０記載のプログラム。
【請求項２３】
前記プログラムは、前記コンピューティングシステムに、
前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信するステップと、
前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントするステップと、
を実行させる、請求項２０記載のプログラム。
【請求項２４】
前記定期的なアクションは、前記第２のドメインが前記状態にある間に生じるのを妨げられ、前記状態は、低減された電力状態及び高められた性能状態のうちの１つである、請求項１９乃至２３いずれか一項記載のプログラム。
【請求項２５】
請求項１３乃至１８いずれか一項記載の方法を実行する手段を備えるスケジューラ装置。
【請求項２６】
請求項１９乃至２４いずれか一項記載のプログラムを記憶している記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、一般に、定期的なアクション又はアクティビティのスケジューリングに関する。より詳細には、実施形態は、状態ドメインにわたる欠落した定期的なアクションをトラッキングすることに関する。
【０００２】
（関連出願との相互参照）
本出願は、２０１５年６月２７日に出願された米国特許出願第１４／７５２８４１号に対する優先権の利益を主張する。
【背景技術】
【０００３】
現代のコンピュータメモリチップの高集積密度に起因して、個々のメモリセル構造は、温度効果、近傍セル構造活性、宇宙線、及び／又はアルファ粒子放出に脆弱であるほど十分に小さいことがある。これらの現象によって引き起こされる誤りは、「メモリスクラビング」によって訂正され得る「ソフト誤り」とみなされる。メモリスクラビングは、各メモリ位置から読み出すこと、（存在すれば）ビット誤りを、誤り訂正符号（ＥＣＣ）を用いて訂正すること、及び訂正されたデータを同じメモリ位置に書き込むことを含み得る。所定のタイプのハイエンドサーバは、２４時間ごと等、定期的に生じるようにメモリスクラビングを保証しようと試みることがある。しかしながら、そのような保証を満たすことは、メモリサブシステムが、長期の時間期間の間、低減された電力状態（reduced  power  states）（例えば、メモリサブシステムクロックが非アクティブ化されるＡＣＰＩ（advanced  configuration  and  power  interface）パッケージＣ状態）に入るのを妨げてしまうことがある。結果として、電力消費に悪影響が及ぼされる可能性がある。さらに、従来のメモリスクラビングソリューションは、スクラビングスケジューリングロジックが、低減された電力状態に入る、メモリサブシステムの部分に配置されていることに起因して、欠落したスクラビング動作を認識しないことがある。
【図面の簡単な説明】
【０００４】
実施形態の様々な利点が、以下の明細書及び添付の特許請求の範囲を読み、図面を参照することにより、当業者に明らかになるであろう。
【図１】実施形態に従った、状態ドメインにわたる欠落した定期的なアクションをトラッキングする方法の例のフローチャート。
【図２Ａ】実施形態に従った、欠落した定期的なアクションの完了を速める例のフローチャート。
【図２Ｂ】実施形態に従った、欠落した定期的なアクションの完了を速める例のフローチャート。
【図３】実施形態に従ったスケジューラ装置の例のブロック図。
【図４】実施形態に従ったスケジューラ装置のより詳細な例の図。
【図５】実施形態に従ったコンピューティングシステムの例の図。
【発明を実施するための形態】
【０００５】
次に図１を参照すると、状態ドメインにわたる欠落した定期的なアクションをトラッキングする方法１０が示されている。方法１０は、概して、低減された電力状態、高められた性能状態（increased  performance  states）等によって生じるのを妨げられる且つ／又は不可能にされる可能性がある定期的なアクション又はアクティビティを行う任意のタイプのシステムにおいて実施され得る。したがって、方法１０は、コンピューティングシステム、車両システム、ウェアラブルデバイス等、又はこれらの任意の組合せにおいて、実施され得る。図示される処理ブロック１２は、第２のドメインの状態を管理する第１のドメイン（例えば、「常時オン」クロックドメイン）において、第２のドメインがこの状態にあることを判別する。この状態は、一般に、この状態にある、システムの部分によって、定期的なアクションを完了することができない任意のタイプの状態及び／又は条件であり得る。既に説明されたように、この状態は、低減された電力状態（例えば、第２のドメインに対するクロックが非アクティブ化されるＡＣＰＩパッケージＣ状態）、高められた性能状態（例えば、ターボ周波数状態）等であり得る。
【０００６】
ブロック１４は、第１のドメインにおいて、第２のドメインがこの状態にある間に定期的なアクションが第２のドメインにおいて生じるようにスケジュールされていることを判別し得る。定期的なアクションは、第２のドメインがこの状態にある間に生じるのを不可能にされる且つ／又は妨げられる任意のタイプのアクションを含み得る。したがって、定期的なアクションは、第２のドメインが低減された電力状態又は高められた性能状態にある間には生じないメモリスクラビング動作、較正、補償値再評価（compensation  value  reevaluation）等であり得る。ブロック１６において、定期的なアクションが、第２のドメインに関する欠落イベントとして記録され得る。以下でより詳細に説明されるように、ブロック１６は、欠落イベントを記録するために欠落イベントカウンタをインクリメントすることを含み得る。したがって、当該状態に入り得ない第１のドメインにおいて欠落イベントを検出することは、図示される方法１０が、欠落した定期的なアクションをトラッキングして欠落した定期的なアクションの完了を速めることを可能にし、これにより、低減された電力及び／又は高められた性能を実現するシステムの能力を妨げることなく、例えばパトロールスクラビング保証等の保証が満たされ得る。
【０００７】
方法１０は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、プログラム可能なＲＯＭ（ＰＲＯＭ）、ファームウェア、フラッシュメモリ等といったマシン読み取り可能な記憶媒体又はコンピュータ読み取り可能な記憶媒体に記憶されるロジック命令のセットとして、１つ以上のモジュールにおいて、例えば、プログラマブルロジックアレイ（ＰＬＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）等の設定可能なロジックにおいて、例えば、特定用途向け集積回路（ＡＳＩＣ）、相補型金属酸化物半導体（ＣＭＯＳ）又はトランジスタ−トランジスタロジック（ＴＴＬ）技術等の回路技術を用いた固定機能ロジックハードウェアにおいて、又は、これらの任意の組合せにおいて、実装され得る。例えば、方法１０に示される動作を実行するためのコンピュータプログラムコードは、ＪＡＶＡ（登録商標）、ＳＭＡＬＬＴＡＬＫ（登録商標）、Ｃ＋＋等といったオブジェクト指向プログラミング言語、及び、「Ｃ」プログラミング言語又は同様のプログラミング言語等の従来の手続き型プログラミング言語を含む１つ以上のプログラミング言語の任意の組合せで記述され得る。
【０００８】
図２Ａは、例えば既に説明された方法１０（図１）等の方法を介して記録された欠落した定期的なアクションの完了を速める方法１８に対する１つのアプローチを示している。方法１８も、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ファームウェア、フラッシュメモリ等といったマシン読み取り可能な記憶媒体又はコンピュータ読み取り可能な記憶媒体に記憶されるロジック命令のセットとして、１つ以上のモジュールにおいて、例えば、ＰＬＡ、ＦＰＧＡ、ＣＰＬＤ等の設定可能なロジックにおいて、例えば、ＡＳＩＣ、ＣＭＯＳ又はＴＴＬ技術等の回路技術を用いた固定機能ロジックハードウェアにおいて、又は、これらの任意の組合せにおいて、実装され得る。図示される処理ブロック２０は、欠落イベントカウンタが閾値に達したかどうかを判定する。そうである場合、ブロック２２は、所与の状態から第２のドメインを抜け出させ得る。したがって、ブロック２２は、第２のドメインを（例えば、低減された電力状態から）ウェイクさせること、（例えば、高められた性能状態のターボブースト周波数から）第２のドメインの動作周波数を下げること等を含み得る。
【０００９】
ブロック２４は、第２のドメインにおいて生じるように定期的なアクションの１つ以上のインスタンスをトリガすることを含み得、ここで、１つ以上のインスタンスは、欠落イベントカウンタの値に基づいて、定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる。例えば、欠落イベントカウンタの値が、特定の数（例えば、１０）である場合、ブロック２４は、第２のドメインを元のスケジュールに戻す前に、定期的なアクションの１０個以上のインスタンスをトリガすることを含み得る。この点に関して、ブロック２４はまた、（例えば、未来の欠落した定期的なアクションを見込んで、）元のスケジュールよりも先に第２のドメインを配置するために、欠落イベントカウンタが負の値に達するまで、定期的なアクションをトリガし得る。したがって、ブロック２４はまた、定期的なアクションのトリガされた１つ以上のインスタンスの完了のアクノレッジメントを受信すること、及び、アクノレッジメントに応じて、欠落イベントカウンタをデクリメントすること、を含み得る。特に注目すべきことは、定期的なアクションに関連付けられたデフォルトレートは、ブロック２４が動作するレートよりもかなり低いものであり得ることである。例えば、定期的なアクションは、２４時間ごとに少なくとも１回、各メモリ位置において生じるようにスケジュールされたパトロールスクラビングであり得るのに対し（例えば、１時間当たりのスクラビングの観点で、デフォルトレートは、メモリ位置の数／２４時間に等しい）、ブロック２４における図示されるトリガは、メモリスクラビングが行われ得るのと同じように迅速に（例えば、数十ナノ秒のオーダーで）生じ得る。図示されるブロック２６はまた、定期的なアクションのトリガされた１つ以上のインスタンスが完了するまで、第２のドメインがこの状態に再び入るのを防止する。欠落した定期的なアクションが、速められたレートで行われ得るので、ブロック２６に関連するあらゆる悪影響（例えば、電力、性能）を最小限に抑えることができる。
【００１０】
図２Ｂは、欠落した定期的なアクションの完了を速める方法２８に対する別のアプローチを示している。方法２８も、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ファームウェア、フラッシュメモリ等といったマシン読み取り可能な記憶媒体又はコンピュータ読み取り可能な記憶媒体に記憶されるロジック命令のセットとして、１つ以上のモジュールにおいて、例えば、ＰＬＡ、ＦＰＧＡ、ＣＰＬＤ等の設定可能なロジックにおいて、例えば、ＡＳＩＣ、ＣＭＯＳ又はＴＴＬ技術等の回路技術を用いた固定機能ロジックハードウェアにおいて、又は、これらの任意の組合せにおいて、実装され得る。図示されるブロック３０は、第２のドメインが、（例えば、何らかの他の条件及び／又はトリガに起因して）特定の状態から出たかどうかを判定する。そうである場合、ブロック３２は、第２のドメインにおいて生じるように定期的なアクションの１つ以上のインスタンスを（例えば、日和見的に）トリガし得、ここで、１つ以上のインスタンスは、欠落イベントカウンタの値に基づいて、定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる。したがって、欠落イベントカウンタの値が、特定の数（例えば、１０）である場合、ブロック３２は、第２のドメインを元のスケジュールに戻す又は元のスケジュールよりも先に第２のドメインを配置するために、定期的なアクションの１０個以上のインスタンスをトリガすることを含み得る。したがって、ブロック３２はまた、定期的なアクションのトリガされた１つ以上のインスタンスの完了のアクノレッジメントを受信すること、及び、アクノレッジメントに応じて、欠落イベントカウンタをデクリメントすること、を含み得る。ブロック３４において、第２のドメインは、定期的なアクションのトリガされた１つ以上のインスタンスが完了するまで、この状態に再び入るのを防止され得る。
【００１１】
次に図３を参照すると、第１のドメイン３６が示されており、第１のドメイン３６は、第２のドメイン３８の状態を管理する。図示される第１のドメイン３６は、状態管理コンポーネント４４からの状態情報４２に基づいて、第２のドメイン３８が、例えば、低減された電力状態、高められた性能状態等といった状態にあることを判別する状態インタフェース４０ａを有するスケジューラ装置４０（４０ａ〜４０ｃ）を含む。スケジューラ装置４０はまた、第２のドメイン３８がこの状態にある間に定期的なアクションが第２のドメイン３８において生じるようにスケジュールされていることを判別する欠落アクション検出器４０ｂを含み得る。定期的なアクションは、第２のドメイン３８がこの状態にある間に生じるのを妨げられ得る。このため、欠落アクショントラッキング器４０ｃは、第２のドメイン３８に関する欠落イベントとして定期的なアクションを記録することができる。欠落アクショントラッキング器４０ｃはまた、第２のドメイン３８をこの状態に選択的に置くために１つ以上の状態制御信号４６を発することに加えて、（例えば、定期的なアクションに関連付けられたデフォルトレートに対して速められたレートで）定期的なアクションの１つ以上のインスタンスをトリガするために１つ以上のアクション制御信号４８を発することができる。この状態に入り得ない第１のドメイン３６においてスケジューラ装置４０を実装することは、例示されるソリューションが、最適な電力消費及び／又は性能を実現することを可能にする。
【００１２】
図４は、スケジューラ装置５０のより詳細な例を示している。したがって、スケジューラ装置５０は、既に説明されたスケジューラ装置４０（図３）を容易に代替することができる。図示される例において、状態インタフェース５２は、第２のドメインの状態（例えば、低減された電力状態、高められた性能状態）を管理する第１のドメインにおいて、第２のドメインがこの状態にあることを判別する。図示される例において、「InState」信号がアサートされることは、第２のドメインが当該状態にあることを示す。欠落アクション検出器５４（５４ａ〜５４ｄ）は、第１のドメインにおいて、第２のドメインがこの状態にある間にこの状態によって妨げられる定期的なアクションが、第２のドメインにおいて生じるようにスケジュールされていることを判別することができる。図示される例において、比較器５４ａは、アクション間隔設定５４ｂをアクション間隔カウンタ５４ｃと比較し（例えば、上位８ビットのみ）、ここで、定期的なアクションは、これらの２つの値が等しいときに生じるようにスケジュールされ得る。そのような場合、図示される例において、信号が、１）この条件をANDコンポーネント５４ｄに通知するためにライン５６上でアサートされ、２）アクション間隔カウンタ５４ｃをリセットするためにライン５８上でアサートされ、３）この条件をトリガコンポーネント６２（６２ａ、６２ｂ）に通知するためにライン６０上でアサートされる。
【００１３】
両方の入力が、図示されるANDコンポーネント５４ｄにアサートされた場合、欠落アクション信号が、ライン６４上で欠落アクショントラッキング器６６（６６ａ〜６６ｇ）にアサートされる。欠落アクショントラッキング器６６は、概して、第２のドメインに関する欠落イベントとして定期的なアクションを記録することができる。より詳細には、図示される欠落アクショントラッキング器６６は、欠落イベントとして定期的なアクションを記録するために、多重化器６６ｅを介して、欠落イベントカウンタ６６ａをインクリメントするインクリメント器６６ｆを含む。同様に、デクリメント器６６ｄは、ライン６８上で受信されたアクノレッジメント信号（「ACK」）に応じて、多重化器６６ｅを介して、欠落イベントカウンタ６６ａをデクリメントすることができる。アクノレッジメント信号は、定期的なアクションの各インスタンスの完了をアクノレッジすることができる。さらに、第１の比較器６６ｃは、欠落イベントカウンタ６６ａを欠落アクション閾値設定６６ｂと比較し、欠落イベントカウンタ６６ａの値が閾値設定に達したときに、ライン７０上で信号をフロップコンポーネント７２にアサートすることができる。ライン７０上で信号をアサートすることは、フロップコンポーネント７２に、ライン７４上で「ExitState」信号をアサートさせることができ、ここで、ExitState信号は、当該状態から第２のドメインを抜け出させる。したがって、ExitState信号は、既に説明された状態制御信号４６（図３）のうちの１つ以上と同様であってよい。
【００１４】
欠落アクショントラッキング器６６はまた、欠落イベントカウンタ６６ａを別の閾値（例えば、０、０より小さい値）と比較し、欠落イベントカウンタ６６ａが別の閾値までデクリメントされたときにフロップコンポーネント７２をリセットする第２の比較器６６ｇを含み得る。したがって、（図示される）０の値は、第２のドメインが、デフォルトスケジュールに追いつくことを可能にし得るのに対し、０より小さい値は、第２のドメインが、デフォルトスケジュールよりも先に進むことを可能にし得る。図示されるトリガコンポーネント６２は、ExitState信号及びACK信号の両方が同時に検出されたときに、ライン７６上で信号をアサートするANDコンポーネント６２ａを含む。したがって、図示されるライン７６上でアサートされた信号は、第２のドメインが、スケジューラ装置５０により当該状態から抜け出させられており、定期的なアクションのインスタンスが、ちょうど完了したことを示す。したがって、トリガコンポーネント６２内のORコンポーネント６２ｂは、ANDコンポーネント６２ａがライン７６上で信号をアサートしたか又は欠落イベント検出器がライン６０上で信号をアサートしたかのいずれかの場合、ライン７８上で「DoAction」信号をアサートすることができる。
【００１５】
図５は、コンピューティングシステム８０を示している。コンピューティングシステム８０は、演算機能を有する電子デバイス／プラットフォーム（例えば、携帯情報端末（ＰＤＡ）、ノートブックコンピュータ、タブレットコンピュータ、サーバ）、通信機能を有する電子デバイス／プラットフォーム（例えば、無線スマートフォン）、撮像機能を有する電子デバイス／プラットフォーム、メディア再生機能を有する電子デバイス／プラットフォーム（例えば、スマートテレビジョン（ＴＶ））、ウェアラブル機能を有する電子デバイス／プラットフォーム（例えば、時計、眼鏡、帽子、履物、宝石）、車両機能を有する電子デバイス／プラットフォーム（例えば、自動車、トラック、オートバイ）等、又はこれらの機能の任意の組合せを有する電子デバイス／プラットフォームの一部であり得る。図示される例において、システム８０は、システム８０に電力を供給する電源８２と、システムメモリ８８と通信することができる統合メモリコントローラ（ＩＭＣ）８６を有するプロセッサ８４と、を含む。システムメモリ８８は、例えば、デュアルインラインメモリモジュール（ＤＩＭＭ）、スモールアウトラインＤＩＭＭ（ＳＯＤＩＭＭ）等といった１つ以上のメモリモジュールとして構成されたダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含み得る。
【００１６】
図示されるシステム８０はまた、システムオンチップ（ＳｏＣ）としての半導体ダイ９２上にプロセッサ８４とともに実装された入出力（ＩＯ）モジュール９０を含み、ＩＯモジュール９０は、ホストデバイスとして機能し、例えば、ディスプレイ９４（例えば、タッチスクリーン、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ）、ネットワークコントローラ９６、及び大容量ストレージ９８（例えば、ハードディスクドライブ（ＨＤＤ）、光ディスク、フラッシュメモリ等）と通信することができる。図示されるＩＯモジュール９０は、第２のドメインの状態を管理する第１のドメインにおいて、第２のドメインがこの状態にあることを判別し、第１のドメインにおいて、第２のドメインがこの状態にある間に定期的なアクションが第２のドメインにおいて生じるようにスケジュールされていることを判別するロジック１００を実行することができる。ＩＯモジュール９０はまた、第２のドメインに関する欠落イベントとして定期的なアクションを記録することができる。したがって、ロジック１００は、既に説明された方法１０（図１）の１つ以上の態様を実行することができる。ロジック１００はまた、方法１８（図２Ａ）及び／又は方法２８（図２Ｂ）に示されるように、欠落した定期的なアクションの完了を速めることができる。一例において、定期的なアクションは、システムメモリ８８に対して実行されるメモリスクラビングであり、第１のドメインは、電力管理サブシステム１０１であり、第２のドメインは、ＩＭＣ８６を含む。
【００１７】
さらなる留意事項及び例
例１は、メモリコントローラと、前記メモリコントローラに接続されたメモリと、前記メモリコントローラの状態を管理する電力管理サブシステムであって、前記電力管理サブシステムが、スケジューラ装置を有し、前記スケジューラ装置が、前記メモリコントローラが前記状態にあることを判別する状態インタフェースと、前記メモリコントローラが前記状態にある間に定期的なアクションが前記メモリコントローラにおいて生じるようにスケジュールされていることを判別する欠落アクション検出器と、前記メモリコントローラに関する欠落イベントとして前記定期的なアクションを記録する欠落アクショントラッキング器と、を含む、電力管理サブシステムと、を備えるパトロールスクラビングコンピューティングシステムを含み得る。
【００１８】
例２は、欠落イベントカウンタをさらに含み、前記欠落アクショントラッキング器が、前記定期的なアクションを記録するために前記欠落イベントカウンタをインクリメントする、例１のパトロールスクラビングコンピューティングシステムを含み得る。
【００１９】
例３は、前記スケジューラ装置が、前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記メモリコントローラを抜け出させるフロップコンポーネントと、前記メモリコントローラにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするトリガコンポーネントであって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされ、前記フロップコンポーネントが、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記メモリコントローラが前記状態に再び入るのを防止する、トリガコンポーネントと、をさらに含む、例２のパトロールスクラビングコンピューティングシステムを含み得る。
【００２０】
例４は、前記スケジューラ装置が、前記メモリコントローラが前記状態から出たという判定に応じて、前記メモリコントローラにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするトリガコンポーネントであって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、トリガコンポーネントと、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記メモリコントローラが前記状態に再び入るのを防止するフロップコンポーネントと、をさらに含む、例２のパトロールスクラビングコンピューティングシステムを含み得る。
【００２１】
例５は、前記欠落アクショントラッキング器が、前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信し、前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントする、例２のパトロールスクラビングコンピューティングシステムを含み得る。
【００２２】
例６は、前記定期的なアクションが、前記メモリコントローラが前記状態にある間に生じるのを妨げられ、前記状態が、低減された電力状態及び高められた性能状態のうちの１つである、例１〜５いずれかのパトロールスクラビングコンピューティングシステムを含み得る。
【００２３】
例７は、第２のドメインの状態を管理する第１のドメインにおいて、前記第２のドメインが前記状態にあることを判別する状態インタフェースと、前記第１のドメインにおいて、前記第２のドメインが前記状態にある間に定期的なアクションが前記第２のドメインにおいて生じるようにスケジュールされていることを判別する欠落アクション検出器と、前記第２のドメインに関する欠落イベントとして前記定期的なアクションを記録する欠落アクショントラッキング器と、を備えるスケジューラ装置を含み得る。
【００２４】
例８は、欠落イベントカウンタをさらに含み、前記欠落アクショントラッキング器が、前記定期的なアクションを記録するために前記欠落イベントカウンタをインクリメントする、例７のスケジューラ装置を含み得る。
【００２５】
例９は、前記第１のドメインが、前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記第２のドメインを抜け出させるフロップコンポーネントと、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするトリガコンポーネントであって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされ、前記フロップコンポーネントが、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止する、トリガコンポーネントと、をさらに含む、例８のスケジューラ装置を含み得る。
【００２６】
例１０は、前記第１のドメインが、前記第２のドメインが前記状態から出たという判定に応じて、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするトリガコンポーネントであって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、トリガコンポーネントと、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するフロップコンポーネントと、をさらに含む、例８のスケジューラ装置を含み得る。
【００２７】
例１１は、前記欠落アクショントラッキング器が、前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信し、前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントする、例８のスケジューラ装置を含み得る。
【００２８】
例１２は、前記定期的なアクションが、前記第２のドメインが前記状態にある間に生じるのを妨げられ、前記状態が、低減された電力状態及び高められた性能状態のうちの１つである、例７〜１１いずれかのスケジューラ装置を含み得る。
【００２９】
例１３は、状態ドメインにわたる定期的なアクションをトラッキングする方法であって、第２のドメインの状態を管理する第１のドメインにおいて、前記第２のドメインが前記状態にあることを判別するステップと、前記第１のドメインにおいて、前記第２のドメインが前記状態にある間に定期的なアクションが前記第２のドメインにおいて生じるようにスケジュールされていることを判別するステップと、前記第２のドメインに関する欠落イベントとして前記定期的なアクションを記録するステップと、を含む方法を含み得る。
【００３０】
例１４は、前記定期的なアクションを記録することが、欠落イベントカウンタをインクリメントすることを含む、例１３の方法を含み得る。
【００３１】
例１５は、前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記第２のドメインを抜け出させるステップと、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするステップであって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、ステップと、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するステップと、をさらに含む、例１４の方法を含み得る。
【００３２】
例１６は、前記第２のドメインが前記状態から出たという判定に応じて、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするステップであって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、ステップと、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するステップと、をさらに含む、例１４の方法を含み得る。
【００３３】
例１７は、前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信するステップと、前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントするステップと、をさらに含む、例１４の方法を含み得る。
【００３４】
例１８は、前記定期的なアクションが、前記第２のドメインが前記状態にある間に生じるのを妨げられ、前記状態が、低減された電力状態及び高められた性能状態のうちの１つである、例１３〜１７いずれかの方法を含み得る。
【００３５】
例１９は、命令のセットを含む少なくとも１つのコンピュータ読み取り可能な記憶媒体であって、前記命令のセットが、コンピューティングシステムにより実行されたときに、前記命令のセットが、前記コンピューティングシステムに、第２のドメインの状態を管理する第１のドメインにおいて、前記第２のドメインが前記状態にあることを判別するステップと、前記第１のドメインにおいて、前記第２のドメインが前記状態にある間に定期的なアクションが前記第２のドメインにおいて生じるようにスケジュールされていることを判別するステップと、前記第２のドメインに関する欠落イベントとして前記定期的なアクションを記録するステップと、を実行させる、少なくとも１つのコンピュータ読み取り可能な記憶媒体を含み得る。
【００３６】
例２０は、前記命令のセットが、前記コンピューティングシステムにより実行されたときに、前記命令のセットが、前記コンピューティングシステムに、前記定期的なアクションを記録するために欠落イベントカウンタをインクリメントするステップを実行させる、例１９の少なくとも１つのコンピュータ読み取り可能な記憶媒体を含み得る。
【００３７】
例２１は、前記命令のセットが、前記コンピューティングシステムにより実行されたときに、前記命令のセットが、前記コンピューティングシステムに、前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記第２のドメインを抜け出させるステップと、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするステップであって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、ステップと、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するステップと、を実行させる、例２０の少なくとも１つのコンピュータ読み取り可能な記憶媒体を含み得る。
【００３８】
例２２は、前記命令のセットが、前記コンピューティングシステムにより実行されたときに、前記命令のセットが、前記コンピューティングシステムに、前記第２のドメインが前記状態から出たという判定に応じて、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガするステップであって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、ステップと、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止するステップと、を実行させる、例２０の少なくとも１つのコンピュータ読み取り可能な記憶媒体を含み得る。
【００３９】
例２３は、前記命令のセットが、前記コンピューティングシステムにより実行されたときに、前記命令のセットが、前記コンピューティングシステムに、前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信するステップと、前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントするステップと、を実行させる、例２０の少なくとも１つのコンピュータ読み取り可能な記憶媒体を含み得る。
【００４０】
例２４は、前記定期的なアクションが、前記第２のドメインが前記状態にある間に生じるのを妨げられ、前記状態が、低減された電力状態及び高められた性能状態のうちの１つである、例１９〜２３いずれかの少なくとも１つのコンピュータ読み取り可能な記憶媒体を含み得る。
【００４１】
例２５は、第２のドメインの状態を管理する第１のドメインにおいて、前記第２のドメインが前記状態にあることを判別する手段と、前記第１のドメインにおいて、前記第２のドメインが前記状態にある間に定期的なアクションが前記第２のドメインにおいて生じるようにスケジュールされていることを判別する手段と、前記第２のドメインに関する欠落イベントとして前記定期的なアクションを記録する手段と、を備えるスケジューラ装置を含み得る。
【００４２】
例２６は、前記定期的なアクションを記録する前記手段が、欠落イベントカウンタをインクリメントする手段を含む、例２５のスケジューラ装置を含み得る。
【００４３】
例２７は、前記欠落イベントカウンタの値が閾値に達したことに応じて、前記状態から前記第２のドメインを抜け出させる手段と、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガする手段であって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの前記値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、手段と、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止する手段と、をさらに備える、例２６のスケジューラ装置を含み得る。
【００４４】
例２８は、前記第２のドメインが前記状態から出たという判定に応じて、前記第２のドメインにおいて生じるように前記定期的なアクションの１つ以上のインスタンスをトリガする手段であって、前記１つ以上のインスタンスが、前記欠落イベントカウンタの値に基づいて、前記定期的なアクションに関連付けられたデフォルトレートに対して増大されたレートでトリガされる、手段と、前記定期的なアクションの前記１つ以上のインスタンスが完了するまで、前記第２のドメインが前記状態に再び入るのを防止する手段と、をさらに備える、例２６のスケジューラ装置を含み得る。
【００４５】
例２９は、前記定期的なアクションの１つ以上のインスタンスの完了のアクノレッジメントを受信する手段と、前記アクノレッジメントに応じて、前記欠落イベントカウンタをデクリメントする手段と、をさらに備える、例２６のスケジューラ装置を含み得る。
【００４６】
例３０は、前記定期的なアクションが、前記第２のドメインが前記状態にある間に生じるのを妨げられ、前記状態が、低減された電力状態及び高められた性能状態のうちの１つである、例２５〜２９いずれかのスケジューラ装置を含み得る。
【００４７】
したがって、本明細書に記載の技術は、メモリスクラビングのより電力効率的な保証によるメモリ誤り処理のための信頼性機能、可用性機能、及び保守性機能をサポートすることができる。さらに、このような技術は、例えば、定期的な較正、補償値再評価等といった他の定期的な機能に適用されてもよい。
【００４８】
実施形態は、全てのタイプの半導体集積回路（「ＩＣ」）チップとともに使用するのに適用可能である。これらのＩＣチップの例は、プロセッサ、コントローラ、チップセットコンポーネント、プログラマブルロジックアレイ（ＰＬＡ）、メモリチップ、ネットワークチップ、システムオンチップ（ＳｏＣ）、ＳＳＤ／ＮＡＮＤコントローラＡＳＩＣ等を含むが、これらに限定されるものではない。さらに、図面のうちの一部において、信号ラインが、線で表されている。一部は、より多くの構成信号パスを示すように異なることがあり、構成信号パスの数を示すように数ラベルを有することがあり、且つ／又は、主要な情報フロー方向を示すように１つ以上の端部に矢印を有することがある。しかしながら、これは、限定的に解釈されるべきではない。そうではなく、そのような付加的な詳細は、回路のより容易な理解を促進するために、１つ以上の例示的な実施形態に関連して用いられ得る。示される信号ラインは、付加的な情報を有するか否かにかかわらず、実際には、複数の方向に移動し、例えば、差動ペアで実装されるデジタルライン又はアナログライン、光ファイバライン、及び／又はシングルエンドラインといった任意の適切なタイプの信号スキームで実装され得る１つ以上の信号を含み得る。
【００４９】
サイズ／モデル／値／範囲の例が、与えられているかもしれないが、実施形態は、それらに限定されるものではない。製造技術（例えば、フォトリソグラフィ）が時間とともに成熟すると、より小さなサイズのデバイスが製造され得ることが予想される。さらに、ＩＣチップ及び他のコンポーネントへの周知の電力／接地接続は、図示及び説明の簡潔さのために、且つ、実施形態の所定の態様を曖昧にしないようにするために、図面内に示されていることもあるし示されていないこともある。さらに、実施形態を曖昧にしないようにするために、配置／構成が、ブロック図の形態で示され得るが、そのようなブロック図の配置／構成の実装に関する仕様は、実施形態が実装されるプラットフォームに大きく依存するという事実に鑑みれば、そのような仕様は、十分に当業者の範囲内にあるべきである。例示的な実施形態を説明するために具体的な詳細（例えば、回路）が示されている場合、実施形態は、このような具体的な詳細を用いることなく実施されることが可能であり、また、このような具体的な詳細の変形を用いて実施されることも可能であることが、当業者には明らかであろう。したがって、本説明は、限定ではなく例示と考えられるべきである。
【００５０】
「接続される、接続されている、接続された」という用語は、本明細書において、対象のコンポーネントの間の任意のタイプの直接的又は間接的な任意のタイプの関係を指すために使用され得、電気的接続、機械的接続、流体接続、光接続、電磁気的接続、電気機械的接続、又は他の接続に当てはまり得る。さらに、「第１」、「第２」等といった用語は、本明細書において、説明を容易にするためだけに使用され得、別途示されない限り、特定の時間的又は時系列的な意味を有しない。
【００５１】
当業者であれば、上記の説明から、実施形態の広範な技術を様々な形で実施できることが認識されよう。したがって、実施形態が、その特定の例に関連して説明されているが、図面、明細書、及び特許請求の範囲を検討すれば、他の変更が当業者には明らかになるので、実施形態の真の範囲は、そのように限定されるべきではない。
【図１】
2018525695.tif 000003
【図２Ａ】
2018525695.tif 000004
【図２Ｂ】
2018525695.tif 000005
【図３】
2018525695.tif 000006
【図４】
2018525695.tif 000007
【図５】
2018525695.tif 000008
【国際調査報告】
2018525695.tif 000009
2018525695.tif 000010