(57)【特許請求の範囲】
【請求項１】
２レベルメモリ（２ＬＭ）システムにおいて、少なくとも１つのファーメモリでのファーメモリ帯域幅の利用を監視する段階と、
監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を動的に修正する段階と、
利用可能なファーメモリ帯域幅の修正に応じて、少なくとも１つの処理コアの動作状態を動的に修正する段階と、
を備える方法。
【請求項２】
前記ファーメモリは、相変化メモリを含む、請求項１に記載の方法。
【請求項３】
少なくとも１つの処理コアの前記動作状態を動的に修正する段階は、前記処理コアの電力状態を変える段階を含む、請求項１または２に記載の方法。
【請求項４】
さらに、過度の帯域幅を利用するスレッドの実行状態を選択的に修正する段階を備える、請求項１から３のいずれか一項に記載の方法。
【請求項５】
スレッドの実行状態を選択的に修正する段階は、オペレーティングシステムが前記スレッドを終了する段階を含む、請求項４に記載の方法。
【請求項６】
監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正する段階は、通知された利用可能なファーメモリ帯域幅を修正する段階を含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正する段階は、ファーメモリへ／からデータを転送するのに利用可能なチャネルの数を変える段階を含む、請求項１から６のいずれか一項に記載の方法。
【請求項８】
監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正する段階は、ニアメモリのページサイズを修正する段階を含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
さらに、ニアメモリ利用が予め選択されたニアメモリ利用閾値を超えるのに応じて、前記ニアメモリの前記ページサイズを増大する段階を備える、請求項８に記載の方法。
【請求項１０】
さらに、前記ファーメモリに書き込まれるデータを圧縮する段階を備える、請求項１から９のいずれか一項に記載の方法。
【請求項１１】
タッチスクリーンインターフェースと、
異なる電力消費レベルを有する少なくとも２つの動作状態において動作可能な複数の処理コアであり、前記複数の処理コアは少なくとも前記タッチスクリーンインターフェース上にグラフィカルユーザインタフェースを提供する、複数の処理コアと、
揮発性メモリデバイスと、
不揮発性メモリデバイスと、
前記複数の処理コア、前記揮発性メモリデバイス、および前記不揮発性メモリデバイスと連結されたメモリシステムコントローラであり、前記メモリシステムコントローラは、前記揮発性メモリデバイスおよび前記不揮発性メモリデバイスを２レベルメモリ（２ＬＭ）として管理し、前記揮発性メモリデバイスはニアメモリとして動作し、前記不揮発性メモリデバイスはファーメモリとして動作し、前記ファーメモリでのファーメモリ帯域幅の利用を監視して、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を動的に修正する、メモリシステムコントローラと、を備え、
利用可能なファーメモリ帯域幅の修正に応じて、少なくとも１つの処理コアの前記動作状態が動的に修正される、システム。
【請求項１２】
異なる電力消費レベルを有する少なくとも２つの動作状態において動作可能な複数の処理コアと、
前記複数の処理コアと連結されたメモリシステムコントローラであり、前記メモリシステムコントローラは、揮発性メモリデバイスおよび不揮発性メモリデバイスとの通信を制御し、前記メモリシステムコントローラは、揮発性メモリデバイスおよび不揮発性メモリデバイスを２レベルメモリ（２ＬＭ）として管理し、前記揮発性メモリデバイスはニアメモリとして動作し、前記不揮発性メモリデバイスはファーメモリとして動作し、前記ファーメモリでのファーメモリ帯域幅の利用を監視して、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を動的に修正する、メモリシステムコントローラと、を備え、
利用可能なファーメモリ帯域幅の修正に応じて、少なくとも１つの処理コアの前記動作状態が動的に修正される、装置。
【請求項１３】
前記ファーメモリは、相変化メモリを備える、請求項１２に記載の装置。
【請求項１４】
前記メモリシステムコントローラは、さらに、過度の帯域幅を利用するスレッドの実行状態を選択的に修正する、請求項１２または１３に記載の装置。
【請求項１５】
スレッドの実行状態を選択的に修正することは、オペレーティングシステムが前記スレッドを終了することを含む、請求項１４に記載の装置。
【請求項１６】
監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、通知された利用可能なファーメモリ帯域幅を修正することを含む、請求項１２から１５のいずれか一項に記載の装置。
【請求項１７】
監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、ファーメモリへ／からデータを転送するのに利用可能なチャネルの数を変えることを含む、請求項１２から１６のいずれか一項に記載の装置。
【請求項１８】
監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、ニアメモリのページサイズを修正することを含む、請求項１２から１７のいずれか一項に記載の装置。
【請求項１９】
前記メモリシステムコントローラは、さらに、ニアメモリ利用が予め選択されたニアメモリ利用閾値を超えるのに応じて、前記ニアメモリの前記ページサイズを増大する、請求項１８に記載の装置。
【請求項２０】
前記メモリシステムコントローラは、前記ファーメモリに書き込まれるデータを圧縮する、請求項１２から１９のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリ帯域幅管理に関する。より詳しくは、本発明の実施形態は、マルチレベルメモリサブシステムにおける帯域幅を管理するための技術に関する。
【背景技術】
【０００２】
コンピューティングシステム及びデバイスは、通常、システムのコンテンツのサブセットを不揮発性ディスクストレージに格納するダイナミックランダムアクセスメモリ（ＤＲＡＭ）からなる適当なメインメモリを含む。メインメモリは、ディスクストレージからのオペランドをメモリに格納し、回復するシステムプロセッサに対して、レイテンシを減少するとともに帯域幅を増加するために使用される。
【０００３】
ダブルインラインメモリモジュール（ＤＩＭＭ）のようなＤＲＡＭパッケージは、それらのメモリ密度の点から制限され、不揮発性メモリストレージに対して通常高価でもある。現在、システムメインメモリのサイズを増大するために、システムのコストと容量を増大する複数のＤＩＭＭを必要とする。システムの容量を増大することは、システムのフォームファクタに逆に影響する（例えば、ＤＩＭＭメモリの大きな配列はモバイルクライアントスペースにおいて理想的ではない。
【図面の簡単な説明】
【０００４】
本発明の実施形態は、添付の図面に、例として示されるものであり、限定として示されるものではない。添付の図面において、同じ参照符号は同様の要素を指す。
【図１】２レベルシステムメインメモリシステムの一実施形態のブロック図である。
【図２】２ＬＭアーキテクチャにおいて、メモリ帯域幅を管理する技術の一実施形態のブロック図である。
【図３】２ＬＭメモリを有するシステムオンチップ（ＳｏＣ）アーキテクチャの一実施形態のブロック図である。
【図４】２ＬＭアーキテクチャにおけるメモリ帯域幅を管理するための技術の一実施形態のフロー図である。
【発明を実施するための形態】
【０００５】
以下の説明では、多くの特定の詳細が記載される。しかし、本発明の実施形態は、これらの特定の詳細なく実施し得る。他の例では、既知の回路、構造、及び技術は、説明の理解を不明瞭にしないよう詳細には示されていない。
【０００６】
帯域幅管理の技術が、本明細書に記載される。一実施形態では、帯域幅管理は、（例えばランタイムデータに加えて）システムディスクレベルストレージのキャッシュされたサブセットを含む２レベルのメモリ（代わりに、本明細書では「２ＬＭ」と称する）を備えるシステムメインメモリに向けられる。メインメモリは、例えばＤＲＡＭからなるより小さく且つより速いメモリである第1レベル（代わりに、本明細書では「ニアメモリ」と称する）、及び（ニアメモリに対して）より大きく且つより遅い揮発性メモリ（例えば、ＤＲＡＭ）又は不揮発性メモリストレージ（例えば、フラッシュメモリ）を含む第２レベル（代わりに、本明細書では「ファーメモリ」と称する）を含む。
【０００７】
一実施形態では、ファーメモリは、ホストオペレーティングシステム（ＯＳ）への「メインメモリ」として存在するとともに、ニアメモリは、ＯＳにトランスペアレントなファーメモリに対するキャッシュであり、それにより、下記の実施形態の表現は、従来技術のメインメモリソリューションと同じように現れる。２レベルメモリの管理は、ホスト処理コアを介して実行される論理及びモジュールの組み合わせにより行われてもよい。ニアメモリは、効率的処理のために高帯域幅、低レイテンシ相互接続を介してホスト処理コアに連結されてもよい。ファーメモリは、（ニアメモリのそれと比較して）より低い帯域幅、より高いレイテンシ相互接続を介して処理コアに連結されてもよい。
【０００８】
図１は、２レベルシステムメインメモリシステムの一実施形態のブロック図である。システムメインメモリ１００は、ランタイムデータストレージを提供し、プロセッサ１１０へのシステムディスクストレージメモリ（不図示）のコンテンツにアクセスする。幾つかの実施形態では、プロセッサ１１０は、メインメモリ１００のコンテンツのサブセットを格納するキャッシュメモリを含でもよい。
【０００９】
一実施形態では、メインメモリ１００は、ニアメモリ（例えば、ＤＲＡＭ）１２０として示されるあるレベルの揮発性メモリ及びファーメモリ１３０として示されるあるレベルのメモリを含む。ファーメモリは、揮発性又は不揮発性メモリのいずれかを備えてよい。この実施形態では、ニアメモリ１２０は、（すなわち、プロセッサ１１０がアクセスするには）より低い帯域幅及びより高いレイテンシを有し得るファーメモリ１３０の（すなわち、プロセッサ１１０がアクセスするには）低レイテンシ及び高帯域幅のキャッシュを供する。
【００１０】
一実施形態では、ニアメモリ１２０は、ニアメモリコントローラ（ＮＭＣ）１２５により管理され、ファーメモリ１３０は、ファーメモリコントローラ（ＦＭＣ）１３５により管理される。ＦＭＣ１３５は、ファーメモリ１３０をホストオペレーティングシステム（ＯＳ）にメインメモリとして報告する（すなわち、ホストＯＳは、ファーメモリ１３０のサイズをシステムメインメモリ１００のサイズとして認識する）。ホストＯＳ及びシステムアプリケーションは、ファーメモリ１３０の「トランスペアレント」なキャッシュとして、ニアメモリ１２０の存在を「意識しない」。
【００１１】
一実施形態では、プロセッサ１１０は、さらに、２ＬＭエンジンモジュール／論理１４０を含む。２ＬＭエンジンは、２レベルメインメモリ１００をサポートするハードウェア及び／又はマクロコードエクステンションを備え得る論理的構成である。例えば、２ＬＭコントローラ１４０は、ファーメモリ１３０のすべてのアーキテクチャ的に可視の要素の状態を追跡するフルタグテーブルを保持してもよい。
【００１２】
例えば、プロセッサ１１０がメインメモリ１００内の特定のデータセグメントにアクセスを試みると、２ＬＭコントローラ１４０は、データセグメントがニアメモリ１２０に含まれるかどうか判断する。否の場合、２ＬＭコントローラ１４０は、（キャッシュミスと同様に）ファーメモリ１３０内のデータセグメントをフェッチし、その次にデータセグメントをニアメモリ１２０に書き込む。ニアメモリ１２０は、ファーメモリ１３０の「キャッシュ」として振る舞うので、２ＬＭエンジン１４０は、さらに、データプリフェッチ又は当該技術分野において既知の類似のキャッシュ効率プロセスを実行してもよい。
【００１３】
２ＬＭコントローラ１４０は、ファーメモリ１３０の他の側面を管理してもよい。例えば、ファーメモリ１３０が不揮発性メモリを備える実施形態では、フラッシュ又は相変化メモリのような不揮発性メモリは、著しい読み取り／書き込みによるメモリセグメントの散逸を被る。従って、２ＬＭコントローラ１４０は、システムソフトウェアにトランスペアレントな方法で、摩耗レベリング、不良ブロック回避等を含む機能を実行してもよい。例えば、摩耗レベリング論理を実行することは、比較的低い消去サイクルカウントを有するファーメモリ１３０において、クリーンなマップされていないセグメントのフリープールからセグメントを選択することを含んでもよい。
【００１４】
ニアメモリ１２０は、厳密比は例えば意図されたシステム使用に基づいて変わり得るが、ファーメモリ１３０よりサイズが小さい。この実施形態では、ファーメモリ１３０は、より密で、より安価な不揮発性メモリを備えるので、メインメモリ１００は、安価に且つ効率的に増加されてもよく、システム内のＤＲＡＭ（すなわち、ニアメモリ１２０）の量に独立である。
【００１５】
第１レベルのメモリ（ニアメモリ）に対して縮小されたサイズのＤＲＡＭ及び第２レベル（ファーメモリ）に対する相変化メモリを有する２ＬＭメモリサブシステムの電力及び性能モデリングは、ファーメモリへの帯域幅が所与の帯域幅閾値を超えると、２ＬＭメモリサブシステムアーキテクチャの電力利点が失われることを示す。これは、ファーメモリトランザクションにおいて消費される電力が、同等の性能が得られるメモリサイズを用いて構成される１ＬＭアーキテクチャと２ＬＭアーキテクチャとの間の電力差を超えると、生じる。これら周辺のケースの影響を緩和するため、従来の１ＬＭメモリアーキテクチャよりも優れた電力消費を一貫してもたらすために、ニアメモリサイズ及びファーメモリへの帯域幅を動的にスケールする技術が記載される。
【００１６】
幾つかの実施形態では、メタデータが、メモリ要求のソースを特定するすべてのメモリトランザクションに追加される。２ＬＭコントローラは、各デバイスマーキング要求に対するニアメモリミスの記録を保持する。これは、２ＬＭメモリコントローラに、過度のファーメモリ帯域幅の消費を引き起こしているいずれかのデバイスのソースを特定することを可能にする。
【００１７】
図２は、２ＬＭアーキテクチャにおいてメモリ帯域幅を管理する技術の一実施形態のブロック図である。図２の例は、特定の数の処理コアを含む。しかし、任意の数の処理コアがサポートされてもよい。さらに、多くの異なるタイプのメモリを、ニア又はファーメモリとして使用するためにサポートすることもできる。
【００１８】
一実施形態では、システムは、２つの高電力コア（例えば、ＨＰコア２１０、ＨＰコア２１５）及び２つの低電力コア（ＬＰコア２２０、ＬＰコア２２５）を含む。コアは、コア電力管理ユニット２３０に連結される。コアからのメモリ要求は、２ＬＭコントローラ２５０を用いて動作して、ニア及びファーメモリ（それぞれ２６０及び２７０）の両方へのメモリ要求を管理する２ＬＭ要求キュー２４０により集められる。一実施形態では、２ＬＭコントローラ２５０は、コア電力管理ユニット２３０と通信して、ファーメモリ２７０への帯域幅の利用を管理するファーメモリ帯域幅モニタ２５５を含む。
【００１９】
一実施形態では、要求元のコア（例えば、２１０、２１５、２２０、２２５）は、メモリ要求を完了するためのレイテンシの増大を経験することが通知される。メモリレイテンシを増大することにより、要求元のコアは、性能が、ファーメモリに提供される帯域幅と対応するより高いレイテンシとにより良好に一致するより低い性能モードに置くことができる。
【００２０】
一実施形態では、ファーメモリ帯域幅モニタ２５５は、コア電力管理ユニット２３０からのメモリ要求（例えば、フラグ）内のメタデータを分析して、期待される読み取りレイテンシを判断する。これは、コア電力管理ユニット２３０に、要求するプロセスを高電力コア（例えば、２１０、２１５）からより低い電力コア（例えば、２２０、２２５）に移動するかどうか判断して、コアの動作をファーメモリの帯域幅及びレイテンシにより良好に一致させることを可能にする。
【００２１】
一実施形態では、デバイス識別子メタデータを使用して、ファーメモリ要求のスケジューリングが２ＬＭコントローラ２５０により最適化され、過度のファーメモリトラフィックを発生する不良スレッド／デバイスの影響を最小化することができる。処理コアが過量のニアメモリミスを発生する可能性があるため、他の振る舞いの良いデバイス／スレッドが、ファーメモリコントローラにより遅延又は欠乏を受けるニアメモリミスを有することとなる。その結果、読み取りレイテンシが増大する。一実施形態では、スケジューリングは、より高い優先利用、例えば順序又は優先ルールを提供することにより最適化され、ニアメモリミスを発生しないデバイス／スレッドのためになる。
【００２２】
一実施形態では、メタデータを提供して、繰り返し可能なパターン化データを表すファーメモリ書き込みの圧縮を可能にする。例えば、相変化メモリを使用する２ＬＭシステムにおいて、相変化メモリへの書き込みにおいて消費される電力は、ＤＲＡＭへの書き込みより非常に高く、相変化メモリへの書き込みを最小化することから電力節減を実現することができる。
【００２３】
一実施形態では、データ常駐が繰り返されるメモリのセクタ及びページを保持することができる。フルデータパターンをセクタ／ページに書き込むより、むしろ、パターンタグ又は他のデータ構造体をファーメモリコントローラに追加して、書き込み操作のこれらのパターンを特定する。これは、ファーメモリコントローラに、フルセクタ／ページではなく、パターンのみを書き込むことを可能にする。これは、特に、オペレーティングシステム又はアプリケーションが既知の状態に構造を初期化している場合に有益である。
【００２４】
初期化状態は、たいてい、セクタとページの中に共通のデータ構造体のすべてに対して存在する繰り返し可能なパターンである。例えば、ファーメモリコントローラは、３つのダブルワード{00000001h, 00000012h, 0000000ch}に対してメモリ書き込みを受信することができる。一実施形態では、ファーメモリインターフェースヘッダは、書き込みが指定された回数（例えば、１０００）繰り返される情報を含むことができる。ファーメモリコントローラは、繰り返されるデータを有するページとして、データが書き込まれるページにタグを付け、データパターンのみをファーメモリページに書き込むことができる。この例では、３０００ダブルワードの書き込みが、ファーメモリへの単一の３ダブルワードの書き込みに圧縮することができる。
【００２５】
一実施形態では、ファーメモリ帯域幅モニタが、動作中のファーメモリ帯域幅を通知する２LMコントローラ内、例えば、処理コアによりアクセス可能なステータスレジスタ内に備わっている。ファーメモリ帯域幅が一定期間（例えば、時間平均帯域幅）に渡ってプログラム可能な閾値を超えると、割り込みを生成できるように追加の回路／論理を設けることができる。これは、オペレーティングシステムが、現在の操作に対して最善の方法で過度の帯域幅に反応できるようにする。
【００２６】
多くの場合、オペレーティングシステムは、振る舞いが不良であり、アンバランスな帯域幅の利用を発生しているアプリケーション／スレッドに関する追加の情報を有してもよい。これらのアプリケーション／スレッドは、オペレーティングシステムにより、再構成、縮小、又は終了することができる。ハードウェアサポートを設けて、オペレーティングシステムの相互伝達なしでこの機能をサポートすることもできる。一実施形態では、２LMコントローラは、過度のファーメモリ帯域幅の使用を検出し、通知された利用可能なファーメモリ帯域幅を減少して、オペレーティングシステム又は他のホストシステムエンティティにアプリケーション／スレッドの振る舞いを修正させることができる。
【００２７】
次の技術の１又は複数を利用して、オペレーティングシステムに通知されるファーメモリのサイズを減少して、ファーメモリ帯域幅の利用を動的にスケールすることができる。一実施形態では、チャネルを削除又は追加することができ、ニアメモリコンテンツを再マップして利用可能なチャネルをサポートすることができる。一実施形態では、ニアメモリDRAMは、縮小ページサイズに構成することができる。そして、ニアメモリは、新しいページサイズにマップすることができる。２LMコントローラは、ページエイジフィールドを実装することにより、ニアメモリの利用を抽出するために使用されるタグキャッシュを含むことができる。ページエイジ論理が、ニアメモリの利用が閾値（例えば、２分の１、３分の２、３分の１）を超えて下がることを検出すると、ニアメモリサイズは縮小及び再マップすることができる。
【００２８】
図３は、２ＬＭメモリを有するシステムオンチップ（ＳｏＣ）アーキテクチャの一実施形態のブロック図である。ＳｏＣ３００は、本明細書に記載するように、ファーメモリ帯域幅管理を利用し得るシステムの単なる一例である。ＳｏＣ３００は、モバイルコンピューティング／通信プラットフォーム、例えば、タブレットコンピューティングデバイス、モバイルフォン／スマートフォン、又は多の電子システムの一部であってよい。
【００２９】
ＳｏＣ３００は、任意の数の処理コアを含むことができる。図３の例は、４つの処理コア（例えば、３０５、３１５、３２５、３３５）及び２つの一般的な処理ユニット（例えば、３４５、３５５）を含む。処理コア及び処理ユニットは、当該技術分野で既知のあらゆるタイプの相互接続機構のバス３１０により相互接続される。１又は複数処理コア及び／又は１又は複数の一般処理ユニットが、入出力（Ｉ／Ｏ）デバイス３９０を用いて連結されてもよい。Ｉ／Ｏデバイス３９０は、タッチスクリーンデバイス、モニタ又は他のディスプレイ、任意のタイプのカーソル制御デバイス、カメラ、マイク等のうちの１又は複数を含むことができる。
【００３０】
バス３１０は、処理コア及び／又は処理ユニットを、少なくともメモリサブシステムにインターフェースを提供するために動作するシステムエージェント３２０に接続する。一実施形態では、システムエージェント３２０は、揮発性メモリ（例えば、ＤＲＡＭ３７０）及び不揮発性メモリ（例えば、３８０）へのメモリアクセスを制御するよう動作する２ＬＭコントローラ３３０に連結される。一実施形態では、２ＬＭコントローラ３３０は、少なくとも不揮発性メモリ３８０への帯域幅及び帯域幅の利用を監視するよう動作するファーメモリ帯域幅モニタ論理３４０を含む。
【００３１】
一実施形態では、２ＬＭコントローラ３３０は、不揮発性メモリ３８０に対するメモリコントローラとして動作し、関係する不揮発性メモリ３８０にアクセスするファーメモリコントローラ３６０に連結される。一実施形態では、２ＬＭコントローラ３３０は、揮発性メモリ３７０に対するメモリコントローラとして動作し、関係する揮発性メモリ３７０にアクセスするニアメモリコントローラ３５０にも連結される。
【００３２】
一実施形態では、ファーメモリ帯域幅モニタ３４０は、ニアメモリミスによるレイテンシの増大が予想できることを示すメモリ要求を生成する処理エージェント（例えば、３０５、３１５、３２５、３３５、３４５、３５５）にフィードバックを提供するよう動作する。これは、処理エージェントに、一般により低い電力消費状態であるより低い性能状態に入ることができるようにし、良好に、システムの性能と帯域幅のバランスをとる。
【００３３】
一実施形態では、ファーメモリ帯域幅の情報は、例えばステータスレジスタ、割り込み、メモリ通知、制御シグナリング等を含む１又は複数の機構を介して伝えられる。この情報は、より低い電力状態からより高い電力状態へ、同様により高い電力状態からより低い電力状態へ移行するために利用することができる。
【００３４】
図４は、２ＬＭアーキテクチャにおいてメモリ帯域幅を管理する技術の一実施形態のフロー図である。一実施形態では、ファーメモリ帯域幅を管理することは、２レベルメモリ（２ＬＭ）システムにおいて、少なくとも１つのファーメモリにおけるファーメモリ帯域幅の利用を監視することを含む（４１０）。利用可能なファーメモリ帯域幅の利用度は、監視したファーメモリ帯域幅の利用に基づいて動的に修正される（４２０）。少なくとも１つの処理コアの動作状態が、利用可能なファーメモリ帯域幅の修正に応じて動的に修正される（４３０）。
【００３５】
一実施形態では、ファーメモリは、相変化メモリを備える。代わりの実施形態では、他のタイプの不揮発性メモリが、例えば、ナノワイヤメモリ、強誘電体トランジスタ（ＦｅＴｒａｎ）メモリ、スタック化相変化メモリ／相変化メモリ及びスイッチ（ＰＣＭＳ）を含むファーメモリを提供するために使用されることができる。一実施形態では、少なくとも１つの処理コアの動作状態を動的に修正することは、処理コアの電力状態を変えることを含む。
【００３６】
一実施形態では、システムは、さらに、過度の帯域幅を利用するスレッドの実行状態を選択的に修正する。一実施形態では、スレッドの実行状態を選択的に修正することは、オペレーティングシステムが、スレッドを終了することを含む。
【００３７】
一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、通知された利用可能なファーメモリ帯域幅を修正することを含む。一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、ファーメモリへ／からデータを転送するのに利用可能なチャネルの数を変えることを含む。
【００３８】
一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、ニアメモリのページサイズを修正することを含む。一実施形態では、ニアメモリ利用が予め選択されたニアメモリ利用閾値を超えるのに応じて、ニアメモリのページサイズを増大する。一実施形態では、ファーメモリに書き込まれるデータが圧縮される。
【００３９】
一実施形態では、システムは、異なる電力消費レベルを有する少なくとも２つの動作状態において動作可能な複数の処理コア、揮発性メモリデバイス、不揮発性メモリデバイス、および複数の処理コアに連結されたメモリシステムコントローラを含む。揮発性メモリデバイスおよび不揮発性メモリデバイス。メモリシステムコントローラは、揮発性メモリデバイス及び不揮発性メモリデバイスを２レベルメモリ（２ＬＭ）として管理する。揮発性メモリはニアメモリとして動作し、不揮発性メモリはファーメモリとして動作し、ファーメモリでのファーメモリ帯域幅の利用を監視して、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を動的に修正する。少なくとも１つの処理コアの動作状態は、利用可能なファーメモリ帯域幅の修正に応じて動的に修正される。
【００４０】
一実施形態では、システムは、さらに、少なくとも１つの処理コアからのコマンドに応じて出力を提供するために連結されたタッチスクリーンインターフェースを含む。一実施形態では、ファーメモリは、相変化メモリを備える。一実施形態では、メモリシステムコントローラは、さらに、過度の帯域幅を利用するスレッドの実行状態を選択的に修正する。一実施形態では、スレッドの実行状態を選択的に修正するシステムは、スレッドを終了するオペレーティングシステムを備える。
【００４１】
一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、通知された利用可能なファーメモリ帯域幅を修正することを含む。一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、ファーメモリへ／からデータを転送するのに利用可能なチャネルの数を変えることを含む。一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、ニアメモリのページサイズを修正することを含む。一実施形態では、メモリシステムコントローラは、ニアメモリ利用が予め選択されたニアメモリ利用閾値を超えるのに応じて、ニアメモリのページサイズを増大する。一実施形態では、メモリシステムコントローラは、ファーメモリに書き込まれるデータを圧縮する。
【００４２】
一実施形態では、装置は、異なる電力消費レベルを有する少なくとも２つの動作状態において動作可能な複数の処理コア及び複数の処理コアと連結されたメモリシステムコントローラを含み、メモリシステムコントローラは、揮発性メモリデバイス及び不揮発性メモリデバイスとの通信を制御する。メモリシステムコントローラは、揮発性メモリデバイス及び不揮発性メモリデバイスを２レベルメモリ（２ＬＭ）として管理する。揮発性メモリはニアメモリとして動作し、不揮発性メモリはファーメモリとして動作し、ファーメモリでのファーメモリ帯域幅の利用を監視して、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を動的に修正する。少なくとも１つの処理コアの動作状態が、利用可能なファーメモリ帯域幅の修正に応じて、動的に修正される。
【００４３】
一実施形態では、ファーメモリは、相変化メモリを備える。一実施形態では、メモリシステムコントローラは、さらに、過度の帯域幅を利用するスレッドの実行状態を選択的に修正する。一実施形態では、スレッドの実行状態を選択的に修正することは、オペレーティングシステムが、スレッドを終了することを含む。
【００４４】
一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、通知された利用可能なファーメモリ帯域幅を修正することを含む。一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、ファーメモリへ／からデータを転送するのに利用可能なチャネルの数を変えることを含む。一実施形態では、監視したファーメモリ帯域幅の利用に基づいて利用可能なファーメモリ帯域幅の利用度を修正することは、ニアメモリのページサイズを修正することを含む。一実施形態では、メモリシステムコントローラは、ニアメモリ利用が予め選択されたニアメモリ利用閾値を超えるのに応じて、ニアメモリのページサイズを増大する。一実施形態では、メモリシステムコントローラは、ファーメモリに書き込まれるデータを圧縮する。
【００４５】
明細書における「一実施形態」又は「実施形態」の参照は、実施形態との関係で記載された特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。明細書内の様々な場所で現れるフレーズ「一実施形態では」は、必ずしも、すべて同じ実施形態を指すものではない。
【００４６】
本発明が幾つかの実施形態に関して説明されているが、当業者は、本発明が記載された実施形態に限定されるものでなく、しかし、添付の特許請求の範囲の精神及び範囲内で修正及び代替して実施することができることを認識するであろう。従って、説明は、限定の代わりに、例示とみなすべきである。
【図１】
0005947463.tif 000002
【図２】
0005947463.tif 000003
【図３】
0005947463.tif 000004
【図４】
0005947463.tif 000005