JP2008021314A - データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャ - Google Patents

データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャ Download PDF

Info

Publication number
JP2008021314A
JP2008021314A JP2007182029A JP2007182029A JP2008021314A JP 2008021314 A JP2008021314 A JP 2008021314A JP 2007182029 A JP2007182029 A JP 2007182029A JP 2007182029 A JP2007182029 A JP 2007182029A JP 2008021314 A JP2008021314 A JP 2008021314A
Authority
JP
Japan
Prior art keywords
memory
data unit
latency
location
memory location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007182029A
Other languages
English (en)
Other versions
JP5379358B2 (ja
Inventor
Philip Raymond Germann
フィリップ・レイモンド・ジャーマン
John M Borkenhagen
ジョン・マイケル・ボルケンハーゲン
Keith Bartley Gerald
ジェラルド・キース・バートリー
William Paul Hovis
ウィリアム・ポール・ホービス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008021314A publication Critical patent/JP2008021314A/ja
Application granted granted Critical
Publication of JP5379358B2 publication Critical patent/JP5379358B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

【課題】 データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャを提供すること。
【解決手段】 複数のメモリ場所を含むコンピュータ可読メモリを制御するための方法において、第1メモリ場所に格納されたデータ単位の使用頻度が判断される。データ単位は、第1メモリ場所とは異なる、第2メモリ場所の既知の待ち時間とデータ単位の使用頻度との間の相関に基づいて選択された、データ単位のための主データ格納場所である第2のメモリ場所に移動される。
【選択図】 図1

Description

本発明は、コンピュータのメモリ管理に関し、より具体的には、既知のメモリ場所の待ち時間に基づいてデータ単位を格納するコンピュータ・アーキテクチャに関する。
事実上、全てのコンピュータ回路は、データを格納するためにある種のデジタル・メモリを使用する。こうしたメモリは、オン・チップ・メモリ(レジスタのアレイ等)、オン・ボード・メモリ(キャッシュ・メモリ等)、主メモリ(プロセッサとは異なる回路基板上のDRAMメモリ・チップ等)、フラッシュ・メモリ(特殊な読取り装置又はUSBポートに差し込むことができるメモリ・デバイス等)、及びディスク・メモリ(ハード・ドライブ等)のうちの1つ又は複数を含む、異なる種類メモリ・デバイスの組み合わせを含むことができる。
メモリ空間に常駐するいくつかのデータ単位(データを群分けするためのいずれかの方法を含むことができる)は、同じメモリ空間に格納される他のデータ単位より使用されない。しかし、コンピュータのメモリ空間の異なる部分は、異なるメモリの待ち時間(データをメモリ場所からそれを必要とするエンティティへ転送するのにかかる時間)を示す。例えば、メモリ・バッファに最も近いメモリ・チップは、メモリ・バッファから離れたメモリ・チップよりもたいてい待ち時間が少ない。
ほとんどのメモリ・デバイスは、相対速度により分類することができる。例えば、オン・チップ・メモリは、通常、オン・ボード・メモリよりも高速であり、これら両方は、通常、ディスク・メモリよりもはるかに高速である。しかし、相対的に低速のメモリ・デバイスの特定部分が、相対的に高速のメモリ・デバイスの部分よりも実際には待ち時間が少ない場合がある。従って、頻繁に用いられるデータ単位を、低速メモリ・デバイスの高速部分ではなく高速メモリ・デバイスの低速部分に置くことは、結果としてメモリ空間の非効率的な使用になる。
多くのメモリの適用例においては、ダイナミック・ランダム・アクセス・メモリ(DRAM)チップがアレイにおいて同様のランク位置に置かれて、データの書込み及び読取りのために、メモリの全てがメモリ・コントローラから等しくアクセス可能であるフラット・メモリ構造を生成する。しかし、完全バッファ付きデュアル・インライン・メモリ・モジュール(FBDIMM)のような現行の業界基準スキームにおいては、メモリ・チップ上のバッファを通したメモリ各層へのアクセス時間は不均一である。現行のFBDIMM基準は、近いDIMMチップの少ない待ち時間を利用するが、メモリ・コントローラに近い頻繁に使用されるデータ、又は、コントローラから離れている余り頻繁に使用されないデータを意図的にマッピングしない。
現行のメモリ・デバイスは、典型的には、データをソート済みレベル(L1/L2/L3)に置く(プロセッサのための)キャッシュを含むが、これは、そのデータのコピーが主メモリ内であるか又はハード・ドライブのような直接アクセス・ストレージ・デバイス(DASD)内に維持されるための空間を必要とする。これは、メモリ用途が加えられる点、及び、データのコピーを作成するため並びにそのデータが現在のものであることを保証するためのオーバーヘッドが加えられる点の両方において、メモリの非効率的な使用である。
従って、データ単位の相対的な使用頻度及び格納場所の待ち時間に基づいて、データ単位が格納される場所を判断するメモリ管理システムの必要性がある。
さらに、データ単位を待ち時間によって分けられた階層的メモリ空間に格納し、データ単位の追加的なコピーを必ずしも維持する必要がないメモリ管理システムの必要性がある。
従来技術の不利点は、1つの態様においては、第1メモリ場所に格納されたデータ単位の使用頻度が判断される、複数のメモリ場所を含むコンピュータ可読メモリを制御するための方法である本発明により克服される。データ単位は、第1メモリ場所とは異なる、第2メモリ場所の既知の待ち時間とデータ単位の使用頻度との間の相関に基づいて選択された、データ単位の1次データ格納場所である第2メモリ場所に移動される。
別の態様においては、本発明は、各々が計算回路で用いられる対応するデータ単位を格納する複数のメモリ場所を管理するための方法である。待ち時間が各々のメモリ場所に関して判断され、使用頻度が各々のデータ単位に関して判断される。使用頻度が高い少なくとも1つのデータ単位が待ち時間が少ない1次メモリ場所に格納され、使用頻度が低い少なくとも1つのデータ単位が待ち時間が多い1次メモリ場所に格納される。
さらに別の態様においては、本発明は、複数のメモリ場所に格納されたデータ単位を管理するための装置である。各メモリ場所は、複数の待ち時間クラスの1つに分類される既知の待ち時間を有する。使用頻度インジケータは、メモリ場所の各々と関連付けられる。インクリメンタは、所定のサイクル数にわたり、対応するメモリ場所に格納されたデータ単位がアクセスされるたびに各々の使用頻度インジケータを増分させる。メモリ・コントローラは、各々のデータ単位を、データ単位の使用頻度に対応する待ち時間クラスの構成要素である1次メモリ場所に格納する。
本発明のこれら及び他の態様は、以下の図面と併せて取られる以下の好ましい実施形態の説明から明らかになるであろう。当業者には明らかであるように、本開示の新規な概念の精神及び範囲から逸脱することなく、本発明の多数の変形及び修正を行うことができる。
本発明の好ましい実施形態をここで詳細に説明する。図を参照すると、同様の番号は、図全体にわたって同様の部分を示す。ここでの説明及び特許請求の範囲全体にわたって用いられるように、以下の用語は、内容が明らかに他のことを示す場合を除いて、明確にここに関連する意味をもち、「ある(a、an)」及び「その(the)」は複数形の説明を含み、「内に(in)」の意味は「内に(in)」及び「上に(on)」を含む。さらに、ここで用いられるように、「1次メモリ場所」及び「1次場所」はデータ単位の一次コピーが格納されるメモリ場所を意味し、「2次メモリ場所」又は「2次場所」は、既に1次場所に格納されたデータ単位のコピーが格納されるメモリ場所を意味する。例えば、1次場所は典型的には主メモリを含み、2次場所は典型的にはキャッシュ・メモリを含む。
特定の適用例においては、全てのメモリ・アクセスの96%乃至99%がメモリ・アドレスの同じ25%から行われることが知られている。あまり使用されないデータを相対的に待ち時間が多いメモリ場所(即ち、メモリ・コントローラから離れているDRAMチップ等)に常駐させ、頻繁に使用されるデータ単位を待ち時間の少ないメモリ場所(即ち、メモリ・コントローラに近いDRAMチップ内等)に格納させるメモリ・ストレージ・アーキテクチャを用いることにより、性能強化を実現することができる。こうしたアーキテクチャは、DRAM、静的ランダム・アクセス・メモリ(SRAM)、FBDIMMメモリ、バッファリング及び再駆動DRAM、フラッシュ・メモリ、又は直列に配列されたDASDストレージ・デバイスを含む多数のメモリ基準に適用することができる。
頻繁に使用されるデータ単位を高速の2次メモリ場所(オン・ボード・キャッシュ・チップ等)に格納し、2次場所に格納された各々のデータ単位のコピーを1次メモリ場所(主メモリ等)に維持する現行のキャッシュ・メモリ・スキームとは異なり、本発明の1つの実施形態は、1次場所の待ち時間を区別する。つまり、本発明は、メモリ空間全体(又はそのサブセット)を1次メモリ場所の群として扱い、頻繁にアクセスされるデータ単位を待ち時間の少ない1次メモリ場所に移動させ、頻繁にアクセスされないデータ単位を待ち時間の多い1次メモリ場所に移動させる。
図1に示されるように、メモリ管理システム100の1つの例は、メモリ空間120に格納されたデータを制御し、かつ、プロセッサ112又は他の論理回路にデータを提供するメモリ・コントローラ110を含む。1つの実施形態においては、メモリ空間120は、主メモリ・チップのアレイを含むことができる。別の実施形態においては、メモリ空間120は、オン・チップ・メモリ、オン・ボード・メモリ、主メモリ等の組み合わせを含むいくつかの異なるメモリ・デバイスを含むことができる。メモリ空間120は、異なる物理メモリ・ユニットにより群分けすることができる。(示される物理ユニットはM11乃至M44と表わされ、物理ユニットを視覚化する1つの方法において、最初の番号は横列を表わし、二番目の番号は縦列を表わす。)物理ユニットは、例えば、異なるメモリ・チップ又はストレージ・デバイス内の異なるメモリ場所に対応することができる。図1に示される図は理解を容易にするために非常に簡略化されており、多くの市販の実施形態ははるかに複雑である可能性があることに注意すべきである。各メモリ場所の待ち時間は、直接測定又はシミュレーションにより判断され、個々の物理メモリ場所の各々は、その待ち時間によって複数の待ち時間クラスの1つに群分けされる。例えば、メモリ・ユニットM12、M13、M22及びM23は、高速待ち時間群122に群分けされる。このことは、例えば、それらがメモリ・コントローラ110に物理的に近いためであるか、或いは、他のメモリ場所よりも高速の技術を使用するためであるか、又はその2つの組み合わせによるとすることができる。中速待ち時間群124は、メモリ場所M11、M21、M32、M33、M24及びM14を含む。低速待ち時間群126は、メモリ場所M31、M41、M42、M43、M44及びM34を含む。
メモリ・コントローラ110は、データ単位(データの個々のバイトからページ又は他の群分けまで何でも示すことができる)を、各データ単位の使用レベルに基づいて、1次メモリ場所に割り当てる。従って、相対的に使用頻度が高いデータ単位は高速待ち時間群122内のメモリ場所に格納され、相対的に使用頻度が中程度のデータ単位は中速待ち時間群124内のメモリ場所に格納され、相対的に使用頻度の低いデータ単位は低速待ち時間群126内のメモリ場所に格納される。
1つの実施形態においては、本発明は、主メモリのようなただ1つの種類のメモリの性能を向上するように適用され得るが、他の実施形態においては、本発明を、いくつかの異なるメモリ・デバイスにわたるメモリ空間に適用することができる。図2に示されるように、マルチデバイス・メモリ空間200は、とりわけ、オン・チップ・メモリ210、オン・ボード・メモリ212、主メモリ214、フラッシュ・メモリ216及びディスク・メモリ218といったメモリ・デバイスを含むことができる。適用例に応じて、望まれるだけの数の異なる待ち時間クラスにメモリ場所を群分けすることができる。示される例は、最高速群220(オン・チップ・メモリ210のみを含む)、次に高速の群222(オン・チップ・メモリ210の低速部分、オン・ボード・メモリ212の全て及び主メモリ214の待ち時間の少ない部分を含む)、中速待ち時間群224(主メモリ214からのメモリ場所の大部分、及びフラッシュ・メモリ216の高速部分を含む)、中低速待ち時間群228(主メモリ214の低速部分及びフラッシュ・メモリ216の大部分を含む)、低速待ち時間群226(主メモリ214の最低速部分、フラッシュ・メモリ216の最低速部分、及びディスク・メモリ218の最高速部分を含む)、及び、最低速待ち時間群230(ディスク・メモリ218の大部分を含む)を含む。このシナリオでは、データ単位は、6つの異なる使用頻度によって分類することができ、対応する待ち時間群に格納することができる。
使用頻度及びメモリ場所の待ち時間によりデータを管理するためのメモリ・マップ300の生成を含む1つのスキームが、図3(a)〜(d)に示される。このスキームにおいては、全てのメモリ・アドレスが、「S(低速)」、「M(中速)」又は「高速(F)」の3つの待ち時間クラスの1つに割り当てられる。1つの実施形態においては、メモリ・マップ300はページ・テーブルの一部とすることができる。この割り当ては、ほとんどのアプリケーションで静的なものとすることができる。最初に、図3(a)に示される通り、データ単位の各々は、使用頻度「000」を割り当てられる。各データ単位は、どのメモリ場所にも格納されることができる。いくつかの実施形態においては、データ単位のいくつか又は全てに、使用頻度の予測に基づいてメモリ場所を予め割り当てることができる。メモリ動作が始まると、各メモリ場所と関連付けられた使用頻度が、そこに格納されたデータ単位がアクセスされるたびに増分される。所定のサイクル数の後で、図3(b)に示されるように、各メモリ場所と関連付けられた使用頻度フィールドが、所定のサイクル数の間に各データ単位がアクセスされた回数を反映する。図3(c)に示されるように、最もアクセスが少なかったのデータ単位は「S」と表わされるメモリ場所に移動され(例えば、期間中にアクセスされなかったデータ単位「EXXXXXX」は、図3(b)でのアドレス「0F384」から図3(c)でのアドレス「0F380」に移動される)、中程度にアクセスされたデータ単位は「M」と表わされるメモリ場所に移動され(例えば、期間中に4回アクセスされたデータ単位「AXXXXXX」は、図3(b)でのアドレス「0F380」から図3(c)でのアドレス「0F385」に移動される)、頻繁にアクセスされたデータ単位は「F」と表わされるメモリ場所に移動される(例えば、期間中に7回アクセスされたデータ単位「CXXXXXX」は、図3(b)でのアドレス「0F382」から図3(c)でのアドレス「0F386」に移動される)。データ単位が適当なメモリ場所に割り当てられると、図3(d)に示されるように、使用頻度カウンタは「000」にリセットされ、プロセスが再び始まる。
メモリを管理するための1つの方法のフロー図が図4に示される。最初に、各々の使用頻度がゼロに設定され400、メモリ・サイクル・カウンタがゼロに設定される402。テスト404が、所定の時間が終了したかどうかを判断する。終了していない場合には、メモリ・サイクル・カウンタが増分され406、システムは、各メモリ・アドレスについて、現在のサイクル中にそのアドレスがアクセスされたかどうかを判断する408。メモリがアクセスされた場合には、そのアドレスに対応する使用頻度が増分され410、システムはステップ404に戻る。メモリがアクセスされなかった場合には、システムは直接ステップ404に戻る。所定の時間が終了すると、システムは、各アドレスについて、使用頻度が「上方移動」閾値よりも大きいかどうかを判断する420。大きい場合には、対応するデータ単位がより高速の待ち時間クラス内のアドレスに移動される。大きくない場合には、システムは、使用頻度が「下方移動」閾値よりも少ないかどうかを判断する424。下方移動閾値よりも少ない場合には、対応するデータ単位がより低速の待ち時間クラス内のアドレスに移動される。或いは別の場合には、データ単位はその場所に残されたままになり、システムはステップ400に戻る。「上方移動」閾値及び「下方移動」閾値は、各々の使用頻度群内のデータ単位の予測数に基づいて静的なものとすることもできるし、或いは、使用頻度群が一定のエントリ数を維持することを可能にするがその構成基準は変化する可能性がある動的なものとすることもできる。
本発明は、修正をほとんどせずに又は全くせずに、既存のメモリ管理スキームに適用することができ、かつ、既存のハードウェアに適用することができる。例えば、キャッシュ・メモリ、主メモリ及びディスク・メモリを使用する既存のスキームを修正して、メモリ場所のマッピングが、既存のメモリ・ユニットを、それらが常駐するメモリ・デバイスではなく、それぞれの待ち時間によって群分けするようにすることができる。キャッシュ・メモリ・スキームのような他のメモリ・スキームと比較した場合の本発明の1つの利点は、1次メモリ場所及び2次メモリ場所の両方において、データの複製コピーの維持管理を必要としないということである。
1つの実施形態においては、メモリ用途を判断するための方法は、ディスクと主メモリ(DRAM等)との間のメモリをページングするのに現在用いられているものと同じであるか又は類似している。添付の特許請求の範囲は、ディスク・メモリ及び他のメモリの種類のメモリを内外にページングするための全ての既存のスキームをカバーすることが意図される。1つの実施形態においては、本発明は、メモリの待ち時間マップのソフトウェア管理の発展形態として具体化することができる。
いくつかの実施形態においては、データ単位のアクセス・カウンタ・スキームは、結果として、オーバーヘッドを増加させることがある。さらに、こうしたスキームにおいては、データ単位が短期間に複数回アクセスされ、その後一度もアクセスされなかった場合には、そのアクセス・カウンタは、それを非常に長い間にわたり待ち時間の少ないメモリ内に残す。データ単位の割り当てを達成するための別の機構は、現行のキャッシュ・ライン置換に類似したスキームを使用することができる。頻繁にアクセスされるデータ単位は、メモリ管理システム設計の技術分野では一般的に知られている最長時間未使用(LRU:least recently used)スキームの使用により待ち時間の少ないメモリ内に保持することができる。LRUスキームでは、データ単位は、最後にアクセスされた順番でランク付けされる。データ単位をより低速のメモリ待ち時間クラスに移動させることになったときには、最近最も使用されなかったデータ単位が最初に移動される。
メモリ待ち時間の階層的な構造は、ページがメモリ待ち時間の階層に格納される場所を管理するメモリ管理制御ソフトウェアに通信されることができる。ソフトウェアが、常に非常によく使用されるメモリ・ページを追跡する場合があり得る。このような場合、こうしたメモリ・ページ(又は他のデータ単位)を、特定のデータ単位に対してロック(例えばタスク・ディスパッチ・ロック)を用いるトランザクション処理のためのログ・ファイルなどにより、最も待ち時間の少ないメモリ位置に固定して、そのデータ単位が常に所定の待ち時間クラス内のメモリに割り当てられることを保証するべきである。
本発明は、コンピュータのメモリ空間全体に適用することもできるし、又はそのサブセットだけに適用することもできることに注目すべきである。特許請求の範囲はこうしたシナリオの全てに適用されることが意図される。
上述の実施形態は、出願時に発明者が知っている本発明の好ましい実施形態及び最良の形態を含むが、これは例示的な実施例として与えられるに過ぎない。本発明の精神及び範囲から逸脱することなく、本明細書に開示された特定の実施形態から多くの変更を行うことができることが容易に認識されるであろう。従って、本発明の範囲は、具体的に説明された上述の実施形態に限定されるのではなく、添付の特許請求の範囲により定められる。
一般的なメモリ分類スキームを示すブロック図である。 異なる種類のメモリ・デバイスを使用するメモリ分類スキームを示すブロック図である。 待ち時間に基づくメモリ管理の代表的な例を示す表(a)〜(d)である。 メモリ管理方法を示すフロー・チャートである。
符号の説明
100:メモリ管理システム
110:メモリ・コントローラ
112:プロセッサ論理
120:メモリ空間
122:高速待ち時間群
124:中速待ち時間群
126:低速待ち時間群
200:マルチ・デバイス・メモリ空間
210:オン・チップ・メモリ
212:オン・ボード・メモリ
214:主メモリ
216:フラッシュ・メモリ
218:ディスク・メモリ
300:メモリ・マップ

Claims (12)

  1. 複数のメモリ場所を含むコンピュータ可読メモリを制御するための方法であって、
    第1メモリ場所に格納されたデータ単位の使用頻度を判断するステップと、
    前記データ単位を、前記第1メモリ場所とは異なる、第2メモリ場所の既知の待ち時間と前記データ単位の使用頻度との間の相関に基づいて選択された、前記データ単位の1次データ格納場所である前記第2メモリ場所に移動させるステップと、
    を含む、方法。
  2. 前記判断するステップが、所定のメモリ・サイクル数の間に前記データ単位がアクセスされた回数を数えるステップを含む、請求項1に記載の方法。
  3. 前記第1メモリ場所が前記第2メモリ場所と同じ物理メモリ・クラスのもの又は異なる物理メモリ・クラスのもののいずれか一方である、請求項1に記載の方法。
  4. メモリ場所を各々が異なる待ち時間の範囲に対応する複数の待ち時間クラスに群分けするメモリ・マップを生成するステップをさらに含む、請求項1〜3のいずれか1項に記載の方法。
  5. 前記メモリ場所の既知の待ち時間に基づいて、前記複数のメモリ場所の各々を一組の待ち時間クラスの1つに特徴付けるステップをさらに含む、請求項1〜4のいずれか1項に記載の方法。
  6. データ単位の使用頻度を判断する前記ステップが、
    カウンタを前記第1メモリ場所と関連付けるステップと、
    前記データ単位がアクセスされるたびに前記カウンタを増分させるステップと、
    を含む、請求項1〜5のいずれか1項に記載の方法。
  7. 計算回路内で、各々が対応するデータ単位を格納する複数のメモリ場所を管理するための方法であって、
    各メモリ場所に関して待ち時間を判断するステップと、
    各データ単位に関して使用頻度を判断するステップと、
    使用頻度が高い少なくとも1つのデータ単位を待ち時間が少ない1次メモリ場所に格納し、使用頻度が低い少なくとも1つのデータ単位を待ち時間が多い1次メモリ場所に格納するステップと、
    を含む方法。
  8. 各々が複数の持ち時間クラスの1つに分類された既知の待ち時間を有する複数のメモリ場所と、
    前記メモリ場所の各々と関連付けられた使用頻度インジケータと、
    所定のサイクル数にわたり、対応するメモリ場所に格納されたデータ単位がアクセスされるたびに各々の前記使用頻度インジケータを増分させるインクリメンタと、
    各データ単位を前記データ単位の使用頻度に対応する待ち時間クラスの構成要素である1次メモリ場所に格納するメモリ・コントローラと、
    を含む、データ単位を管理する装置。
  9. 前記使用頻度インジケータがページ・テーブル上の各メモリ場所と関連付けられた複数のビットを含む、請求項8に記載の装置。
  10. 少なくとも1つの待ち時間クラスが異なる物理メモリ・ユニットからのメモリ場所を含む、請求項8又は9に記載の装置。
  11. 前記装置からアクセス可能な少なくとも1つの物理メモリ・ユニットが、異なる待ち時間クラスに分類されたメモリ場所を含む、請求項8〜10のいずれか1項に記載の装置。
  12. 前記複数のメモリ場所が異なる物理メモリ・ユニットに常駐するメモリ場所を含む、請求項8〜11のいずれか1項に記載の装置。
JP2007182029A 2006-07-13 2007-07-11 データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャ Active JP5379358B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/457,234 US7496711B2 (en) 2006-07-13 2006-07-13 Multi-level memory architecture with data prioritization
US11/457234 2006-07-13

Publications (2)

Publication Number Publication Date
JP2008021314A true JP2008021314A (ja) 2008-01-31
JP5379358B2 JP5379358B2 (ja) 2013-12-25

Family

ID=38950595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007182029A Active JP5379358B2 (ja) 2006-07-13 2007-07-11 データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャ

Country Status (3)

Country Link
US (1) US7496711B2 (ja)
JP (1) JP5379358B2 (ja)
CN (1) CN101105772B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011164669A (ja) * 2010-02-04 2011-08-25 Nec Corp メモリアクセス制御システムおよびメモリアクセス制御方法
JP2013508813A (ja) * 2009-10-15 2013-03-07 マイクロソフト コーポレーション 省電力を目的としたメモリ・オブジェクトの再配置
JP2013510355A (ja) * 2009-11-04 2013-03-21 エスティー‐エリクソン(フランス)エスエーエス ランダムアクセスメモリの動的管理
US8555000B2 (en) 2009-10-16 2013-10-08 Samsung Electronics Co., Ltd. Data storage device and data storing method thereof
JP2016212754A (ja) * 2015-05-12 2016-12-15 富士通株式会社 メモリ装置及びメモリ装置の制御方法
JP2020102197A (ja) * 2018-12-21 2020-07-02 エスケーハイニックス株式会社SK hynix Inc. メモリシステム及びメモリシステムの動作方法
JP2023502509A (ja) * 2019-11-25 2023-01-24 マイクロン テクノロジー,インク. 異なるタイプのメモリ間のページマイグレーションの低減
JP2023503027A (ja) * 2019-11-19 2023-01-26 マイクロン テクノロジー,インク. プロセッサによるメモリアクセスのための存続時間

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US9052826B2 (en) * 2006-07-28 2015-06-09 Condusiv Technologies Corporation Selecting storage locations for storing data based on storage location attributes and data usage statistics
US7870128B2 (en) 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US8028257B2 (en) * 2007-03-01 2011-09-27 International Business Machines Corporation Structure for data bus bandwidth scheduling in an FBDIMM memory system operating in variable latency mode
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US20100169570A1 (en) * 2008-12-31 2010-07-01 Michael Mesnier Providing differentiated I/O services within a hardware storage controller
US8140760B2 (en) * 2009-05-28 2012-03-20 International Business Machines Corporation I-cache line use history based done bit based on successful prefetchable counter
US8332587B2 (en) * 2009-05-28 2012-12-11 International Business Machines Corporation Cache line use history based done bit modification to I-cache replacement scheme
US8291169B2 (en) * 2009-05-28 2012-10-16 International Business Machines Corporation Cache line use history based done bit modification to D-cache replacement scheme
US8171224B2 (en) * 2009-05-28 2012-05-01 International Business Machines Corporation D-cache line use history based done bit based on successful prefetchable counter
US9274950B2 (en) * 2009-08-26 2016-03-01 Hewlett Packard Enterprise Development Lp Data restructuring in multi-level memory hierarchies
US8219746B2 (en) * 2009-10-08 2012-07-10 International Business Machines Corporation Memory package utilizing at least two types of memories
US8161241B2 (en) * 2010-01-12 2012-04-17 International Business Machines Corporation Temperature-aware buffered caching for solid state storage
US8595463B2 (en) 2010-09-15 2013-11-26 International Business Machines Corporation Memory architecture with policy based data storage
CN102184229B (zh) * 2011-05-11 2013-05-01 中国科学院软件研究所 一种海量rfid标签信息的内存数据存储方法
WO2013061680A1 (ja) * 2011-10-26 2013-05-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、データ・アクセス方法およびプログラム
CN106469029B (zh) 2011-12-31 2019-07-23 华为数字技术(成都)有限公司 数据分层存储处理方法、装置和存储设备
US9367439B2 (en) * 2012-04-30 2016-06-14 Oracle International Corporation Physical memory usage prediction
US9645944B2 (en) 2012-05-07 2017-05-09 International Business Machines Corporation Enhancing data caching performance
US9021203B2 (en) * 2012-05-07 2015-04-28 International Business Machines Corporation Enhancing tiering storage performance
US9110815B2 (en) 2012-05-07 2015-08-18 International Business Machines Corporation Enhancing data processing performance by cache management of fingerprint index
US9043569B2 (en) 2013-05-31 2015-05-26 International Business Machines Corporation Memory data management
US9734079B2 (en) * 2013-06-28 2017-08-15 Intel Corporation Hybrid exclusive multi-level memory architecture with memory management
US9947386B2 (en) * 2014-09-21 2018-04-17 Advanced Micro Devices, Inc. Thermal aware data placement and compute dispatch in a memory system
US10489309B2 (en) * 2014-10-21 2019-11-26 Intel Corporation Memory protection key architecture with independent user and supervisor domains
WO2017015952A1 (zh) * 2015-07-30 2017-02-02 华为技术有限公司 一种高速缓冲存储器中存储数据的替换方法和替换装置
US10503654B2 (en) 2016-09-01 2019-12-10 Intel Corporation Selective caching of erasure coded fragments in a distributed storage system
US10922287B2 (en) * 2017-05-24 2021-02-16 Cisco Technology, Inc. Intelligent layout of composite data structures in tiered storage
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US10880401B2 (en) * 2018-02-12 2020-12-29 Micron Technology, Inc. Optimization of data access and communication in memory systems
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
US11893279B2 (en) 2021-08-25 2024-02-06 Micron Technology, Inc. Access tracking in memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182232A (ja) * 1993-12-21 1995-07-21 Nissan Motor Co Ltd 情報処理装置
JPH11242629A (ja) * 1997-10-09 1999-09-07 Matsushita Electric Ind Co Ltd メモリシステム
JP2005216053A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 最適メモリ配置演算装置及び最適メモリ配置方法
WO2005114669A2 (en) * 2004-05-21 2005-12-01 Rambus Inc. System and method for improving performance in computer memory systems supporting multiple memory access latencies

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US5592622A (en) * 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
JP4185680B2 (ja) * 2001-07-09 2008-11-26 株式会社ルネサステクノロジ 記憶装置
JP4238514B2 (ja) * 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
US7478031B2 (en) * 2002-11-07 2009-01-13 Qst Holdings, Llc Method, system and program for developing and scheduling adaptive integrated circuity and corresponding control or configuration information
TW200604810A (en) * 2004-02-20 2006-02-01 Renesas Tech Corp Nonvolatile memory and data processing system
US7447869B2 (en) * 2005-04-07 2008-11-04 Ati Technologies, Inc. Method and apparatus for fragment processing in a virtual memory system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182232A (ja) * 1993-12-21 1995-07-21 Nissan Motor Co Ltd 情報処理装置
JPH11242629A (ja) * 1997-10-09 1999-09-07 Matsushita Electric Ind Co Ltd メモリシステム
JP2005216053A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 最適メモリ配置演算装置及び最適メモリ配置方法
WO2005114669A2 (en) * 2004-05-21 2005-12-01 Rambus Inc. System and method for improving performance in computer memory systems supporting multiple memory access latencies
JP2008500668A (ja) * 2004-05-21 2008-01-10 ラムバス・インコーポレーテッド 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013508813A (ja) * 2009-10-15 2013-03-07 マイクロソフト コーポレーション 省電力を目的としたメモリ・オブジェクトの再配置
US8555000B2 (en) 2009-10-16 2013-10-08 Samsung Electronics Co., Ltd. Data storage device and data storing method thereof
JP2013510355A (ja) * 2009-11-04 2013-03-21 エスティー‐エリクソン(フランス)エスエーエス ランダムアクセスメモリの動的管理
JP2011164669A (ja) * 2010-02-04 2011-08-25 Nec Corp メモリアクセス制御システムおよびメモリアクセス制御方法
JP2016212754A (ja) * 2015-05-12 2016-12-15 富士通株式会社 メモリ装置及びメモリ装置の制御方法
JP2020102197A (ja) * 2018-12-21 2020-07-02 エスケーハイニックス株式会社SK hynix Inc. メモリシステム及びメモリシステムの動作方法
JP7449063B2 (ja) 2018-12-21 2024-03-13 エスケーハイニックス株式会社 メモリシステム及びメモリシステムの動作方法
JP2023503027A (ja) * 2019-11-19 2023-01-26 マイクロン テクノロジー,インク. プロセッサによるメモリアクセスのための存続時間
JP7445368B2 (ja) 2019-11-19 2024-03-07 マイクロン テクノロジー,インク. プロセッサによるメモリアクセスのための存続時間
JP2023502509A (ja) * 2019-11-25 2023-01-24 マイクロン テクノロジー,インク. 異なるタイプのメモリ間のページマイグレーションの低減

Also Published As

Publication number Publication date
JP5379358B2 (ja) 2013-12-25
CN101105772A (zh) 2008-01-16
US20080016297A1 (en) 2008-01-17
US7496711B2 (en) 2009-02-24
CN101105772B (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
JP5379358B2 (ja) データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャ
US7707379B2 (en) Dynamic latency map for memory optimization
US8255628B2 (en) Structure for multi-level memory architecture with data prioritization
US10387315B2 (en) Region migration cache
JP6928123B2 (ja) メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム
US20100325374A1 (en) Dynamically configuring memory interleaving for locality and performance isolation
US20220171709A1 (en) Forward caching memory systems and methods
US10402338B2 (en) Method and apparatus for erase block granularity eviction in host based caching
CN105095116A (zh) 缓存替换的方法、缓存控制器和处理器
CN112639748B (zh) 异步正向缓存存储器系统和方法
US10152434B2 (en) Efficient arbitration for memory accesses
US20180188960A1 (en) Method and apparatus for redirecting memory access commands sent to unusable memory partitions
CN112602071B (zh) 正向高速缓存应用程序编程接口系统和方法
KR101823983B1 (ko) 메모리 디바이스들 및 방법들
WO2020231604A1 (en) Processor-side transaction context memory interface systems and methods
US20160103766A1 (en) Lookup of a data structure containing a mapping between a virtual address space and a physical address space
CN117785737A (zh) 基于链表结构并支持动态分区粒度访问的末级高速缓存
Therdsteerasukdi Architectural Applications of Radio Frequency Interconnect for Chip-to-DRAM Communication

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120918

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130618

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130903

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130927

R150 Certificate of patent or registration of utility model

Ref document number: 5379358

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250