JP2011258193A - 持続性メモリのためのキャッシュコヒーレンスプロトコル - Google Patents

持続性メモリのためのキャッシュコヒーレンスプロトコル Download PDF

Info

Publication number
JP2011258193A
JP2011258193A JP2011114340A JP2011114340A JP2011258193A JP 2011258193 A JP2011258193 A JP 2011258193A JP 2011114340 A JP2011114340 A JP 2011114340A JP 2011114340 A JP2011114340 A JP 2011114340A JP 2011258193 A JP2011258193 A JP 2011258193A
Authority
JP
Japan
Prior art keywords
memory
main memory
persistent
cache
main
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
JP2011114340A
Other languages
English (en)
Other versions
JP5348429B2 (ja
Inventor
Luderick John
ルデリック ジョン
Camber August
キャンバー オーガスト
Naguib Abdulla Mostafa
ナギーブ アブドゥラ モスタファ
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of JP2011258193A publication Critical patent/JP2011258193A/ja
Application granted granted Critical
Publication of JP5348429B2 publication Critical patent/JP5348429B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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
    • 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

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)

Abstract

【課題】メインメモリの少なくとも一部に持続性メモリを含むプロセッサシステムのキャッシュコヒーレンスプロトコルを実現する。
【解決手段】処理システム100は、メインメモリ120に対する少なくとも1つの第1のインターフェースと、2つ以上の処理エンティティ110に対する少なくとも1つの第2のインターフェースとを持つメモリコントローラ115を具備し、前記メモリコントローラ115は、前記処理エンティティ110がキャッシュコヒーレンシプロトコルに従って前記メインメモリ120にアクセスすることを可能にすることができ、かつ、前記メインメモリ120の少なくとも一部は持続性メモリを備える。キャッシュコヒーレンスプロトコル140には、インプロセス状態142が持続性メモリに適応するために含まれる。
【選択図】図1

Description

本発明は、持続性メモリを含むプロセッサシステムのキャッシュコヒーレンスに関する。
コンピュータシステムは、共有メモリマルチプロセッサ(SMP)構成を利用することができる。同一のメインメモリを共有するこのようなコンピュータシステムにおいて、プロセッサ数を増加させることで、システムの性能を向上させることができる。コンピュータシステムは、キャッシュメモリから読み出された情報及びメインメモリから読み出された情報間のコヒーレンシを保証するコヒーレンシプロトコルを組み込んでもよい。例えば、1つのプロセッサがメインメモリ内に記憶された情報を更新した場合、情報内の変化は、他のプロセッサのメモリキャッシュ内に記憶されたコピーに反映されてもよい。
コンピュータシステムは、例えば、コヒーレンシ管理を実行するために、MESIプロトコル等のいくつかのコヒーレンシプロトコルのうちの任意のプロトコルを用いることができる。MESIプロトコルは、キャッシュラインが、4つの状態、すなわち“M(Modified)”(変更)、“E(Exclusive)”(排他)、“S(Shared)”(共有)、“I(Invalid)”(無効)のうちの1つの状態にあるとみなすことによって、キャッシュメモリ内のキャッシュラインを管理することができる。MESIプロトコルを用いるコンピュータシステムにおいて、個々のプロセッサは、少なくとも一部においてMESI状態に基づいた特定のキャッシュラインに対するキャッシュコヒーレンシ管理のリクエストを出すかどうかを判断することができる。
図1は、本発明の一実施形態に係る処理システム構成を概略的に示すブロック図である。 図2は、本発明の一実施形態に係るメインメモリの概略図である。 図3は、本発明の一実施形態に係るキャッシュコヒーレンスプロトコルのタイミングを示す図である。 図4は、本発明の一実施形態に係るマルチプロセッサシステム構成の概略図である。 図5は、本発明の他の実施形態に係るマルチプロセッサシステム構成の概略図である。 図6は、本発明の一実施形態に係るコンピュータシステム及びメモリデバイスを概略的に示す図である。
非制限的かつ非網羅的な実施形態について、図を参照して以下に記載する。類似の参照番号は、特記しない限り、様々な図を通して類似部分を参照する。
本明細書全体を通して「1つの実施形態」または「一実施形態」という言及は、その実施形態に関連して記載した特定の特徴、構造、または特性が、請求項に記載された主題の少なくとも1つの実施形態に含まれることを意味する。それゆえ、本明細書全体を通して様々な箇所における「1つの実施形態において」または「一実施形態」という表現方法は、必ずしも全て同一の実施形態を言及するものではない。更に、特定の特徴、構造、または特性は、1つまたは複数の実施形態において併用されてもよい。
一実施形態において、中央処理装置(CPU)等の2以上の処理エンティティからなるシステムは、持続性メモリを含んでもよい。このようなシステムのキャッシュコヒーレンシプロトコルは、持続性不揮発性メモリの特定のアスペクトに適応する1つまたは複数のフィーチャー(feature)を含んでもよい。以下に詳細に記載するように、このようなフィーチャーは、持続性メモリを更新する処理が未完了であるかどうか、及び/または、このような処理が完了したかどうかを示す1つまたは複数のキャッシュコヒーレンシプロトコル状態を含むことがある。他のフィーチャーは、持続性メモリを含むメモリ範囲を示す持続性メモリ記述子を含むことがある。したがって、このような2以上の処理エンティティからなるシステムはまた、以下に詳細に記載するように、キャッシュコヒーレンシプロトコルの少なくとも一部を与える回路から構成されてもよい。
このような2以上の処理エンティティからなるシステムは、例えば、少しの例のみ挙げると、コンピュータ、携帯電話、PDA、データロガー、ナビゲーション装置等のいくつかの環境のうちの任意の環境においてアプリケーションを実行するコンピュータシステムから構成されてもよい。特に、複数のアプリケーションを、複数のCPUによって同時に実行してもよい。ある実現例では、1つまたは複数のこのようなCPUは、どちらも少なくとも一部分が持続性メモリから構成されることのあるメインメモリ及び/またはキャッシュメモリに、個々に関連付けられてもよい。例えば、メインメモリ及び/またはキャッシュメモリは、持続性メモリの一部及び様々なランダムアクセスメモリ(RAM)のうちの任意のメモリから構成されてもよい。特定の実施例において、メインメモリは、相変化メモリ(PCM)及びダイナミックランダムアクセスメモリ(DRAM)の少なくとも一部を含んでもよい。他に特定の実施例において、キャッシュメモリは、PCM及び/またはDRAMから構成されてもよい。このようなメモリ構成は、例えば、不揮発性、比較的高速なプログラム速度/読み出し速度等の利点を提供することができる。勿論、メモリに関するこのような記載は単に例示であって、請求項に記載された内容はこの点に限定されるものではない。
本明細書では、持続性メモリとは、ビット可変機能を持ちうるPCM等の不揮発性メモリのことを言う。持続性メモリの他の特徴は、非対称性の読み出し速度/書き込み速度を含むが、これらの速度においては、所定のメモリセルに対して、プログラム速度が読み出し速度よりも低速になることがある。マルチプロセッサシステムに、このような特徴を持つ持続性メモリが存在すると、例えば、1つまたは複数の処理エンティティにメインメモリを共有させるために特定のキャッシュコヒーレンスプロトコルを利用することができる。本明細書では、メインメモリとは、処理エンティティによって実行されうる1つまたは複数のアプリケーションを保持するために、この処理エンティティによって用いられるメモリのことを言う。更に、メインメモリは、このメインメモリにアクセスするというメモリ命令を用いて、処理エンティティに直接または間接的にリンクされてもよい。メインメモリは、例えば、このようなメモリにアクセスするのに入力動作/出力動作を用いる入力/出力インターフェースを介してアクセス可能なメモリとは異なる。メインメモリの更なる例において、CPUは、メインメモリ内に常駐するデータを処理する(例えば、消去する、書き込む)能力に制限されてもよい。ここで、「メイン」という用語は、例えば、ディスクドライブ等の外部の大容量記憶装置と区別するのに用いることもできる。勿論、メインメモリに関するこのような記載は単に例示であって、請求項に記載された内容はそのように限定されるものではない。
本明細書に記載した実施形態は、例えば、MESIプロトコル、MOSIプロトコル、及び、MOESIプロトコル等の、いくつかのの公知なマルチプロセッサ・キャッシュコヒーレンスプロトコルのうちの任意のプロトコルを増補すること含む。特に、このような実施形態は、以下に詳細に記載するように、上に挙げたプロトコルの状態及び1つまたは複数の追加の状態を含んでもよい。このような実施形態は、例えば、持続性メモリに対するサポートを含むようにキャッシュコヒーレンシセマンティクスを拡張してもよい。キャッシュコヒーレンスプロトコルは、例えば、統一されたメモリ上で動作する複数の処理間のキャッシュコヒーレンスを確保するセマンティクスを確立してもよい。キャッシュコヒーレンスセマンティクスは、同一メモリ上で動作する2以上のプロセッサが非同期的になりうる競合状態を防ぐことができる。キャッシュコヒーレンスプロトコルは、ローカルキャッシュをメインメモリに同期させる命令をプロセッサに与えてもよい。キャッシュコヒーレンスプロトコルは、例えば、プロセッサのキャッシュコンテンツがメインメモリのコンテンツに対して最新であることを確実にする助けとなることができる。
一実施形態において、PCMは、コンピューティングプラットフォームのメインメモリとして用いられてもよい。DRAMは揮発性であるものの、PCMは、DRAMに似たビット可変性質を持つ持続性メモリから構成される。PCMがコンピューティングプラットフォーム上のメインメモリとして用いられる場合、PCMは、DRAMに適用するキャッシュコヒーレンス問題と同じ問題を少なくともいくつか含むかもしれない。したがって、少しの例のみ挙げると、MESIプロトコル、MOSIプロトコル、及び、MOSEIプロトコルが、PCMがアプリケーションにおいてDRAMに置き換えて用いられる場合に、PCMに対するキャッシュコヒーレンスを十分にカバーすることがある。PCMはビット可変方式においてDRAMと同様でありうるが、PCMが持続性メモリから構成されるという意味において、PCMはDRAMとは異なる可能性がある。PCMは、電力が取り除かれた場合にも記憶されたコンテンツを保持しうるが、DRAMは、電力が取り除かれた場合に記憶されたコンテンツを損失する可能性がある。それゆえ、一実現例において、キャッシュコヒーレンシセマンティクスは、PCMがメインメモリの少なくとも一部から構成される場合に、PCMのこのような不揮発性特性をサポートするように追加されてもよい。勿論、PCMをメインメモリとして含む実施形態のこのような特徴及び詳細は単に例示であって、請求項に記載された内容はそのように限定されるものではない。
一実施形態において、キャッシュコヒーレンスセマンティクスを増補するための追加の状態により、例えば、メモリ内データベース等のメモリ階層内で比較的高レベルなメモリコヒーレンスへのサポートが与えられることがある。メインメモリが、DRAM等の比較的高速であるものの揮発性であるメモリから構成される場合、記憶された情報は、比較的低速なディスク、テープ、または他の低速持続性メモリに最終的にコピーされてもよい。しかしながら、PCMがメインメモリとして用いられる場合に、PCMの持続性能のために、アプリケーションは、記憶された情報を他の記憶媒体にフラッシュしたりチェックポイントしたりする必要はない。しかしながら、PCMのコンテンツが更新処理中であるかどうか、及びそのような更新が完了しているかどうかについて、様々なアプリケーション処理に通信するような処理があってもよい。したがって、キャッシュコヒーレンスセマンティクスを増補する追加の状態は、アプリケーションレベルにおいてより高レベルなコヒーレンスセマンティクスをサポートしてもよい。特定の実現例において、いわゆる持続性メモリ記述子を、以下に詳細に説明するように、持続性をサポートするメインメモリ範囲を示すように用いてもよい。
図1は、本発明の一実施形態に係る処理システム100を概略的に示すブロック図である。処理システム100は、処理エンティティ110、メインメモリ120、及び/またはキャッシュ130から構成されてもよい。特に、処理エンティティ110は、メインメモリ120内に保持される1つまたは複数のアプリケーションのホストとなるCPUから構成されてもよい。図1に図示していないが、処理システム100は、追加の処理エンティティ、追加のメインメモリ、及び/または追加のキャッシュを備えてもよい。例えば、処理エンティティ110、メインメモリ120、及び/またはキャッシュ130は、より大きなマルチプロセッサシステム向けのビルディングブロックから集合的に構成されてもよい。一実現例において、処理システム100は、前記1つまたは複数の処理エンティティに共有される1つまたは複数のレベルのキャッシュメモリを含むメモリ階層を用いて動作してもよい。例えば、キャッシュメモリは、どちらも少なくとも一部が持続性メモリから構成されうる第1レベルのキャッシュ及び第2レベルのキャッシュから構成されてもよい。キャッシュコヒーレンスプロトコルは、コヒーレンシ管理のために処理システム100に適用されてもよい。例えば、このようなプロトコルにより、2以上のメインメモリ120、及び/または、1つまたは複数のキャッシュ130の間での、読み出し処理/書き込み処理のコンフリクトを回避させることができる。ハードウェアブロック150及び/またはコードブロック160は、共にまたは別々に、キャッシュコヒーレンスプロトコルを与えてもよい。特定の実現例において、このようなキャッシュコヒーレンスプロトコルは、例を少しだけ挙げると、変更状態、排他状態、共有状態、無効状態等のいくつかの状態(例えば、MESI)を含みうるプロトコル140を含んでもよい。インプロセス(in‐process)状態142は、以下に詳細に説明するように、処理システム100内の持続性メモリに適応するためにプロトコル140内に含まれてもよい。プロトコル140内に含まれた他の状態が、以下にまた詳細に記載するように、コミッテッド(committed)状態144を含むことがある。このような状態は、セットされたビットまたはリセットされたビット、特定の状態情報を記憶している1つまたは複数のメモリセル、電気配線上に送信される1つまたは複数の信号、及び/または、特定の状態情報を伝達するための他の種類の情報等の選択可能なフラグによって反映されてもよい。勿論、任意の数の状態がプロトコル140に含まれてもよいが、請求項に記載された内容は本明細書に記載した状態に限定されるものではない。一実現例において、ハードウェアブロック150は、キャッシュコヒーレンスプロトコル140の少なくとも一部を提供する電気回路から構成されてもよい。このような電気回路は、例えば、論理ゲートの様々な機器構成から構成されてもよい。コードブロック160は、キャッシュコヒーレンスプロトコル140の少なくとも一部を提供する1つまたは複数のアプリケーションから構成されてもよい。コードブロック160の一部は、処理エンティティ110によって実行されてもよい。
一実施形態において、インプロセス状態142は、処理システム100内の1つまたは複数のメモリコントローラ115に、メインメモリ120内のメモリロケーションが更新処理中であることを示すように用いられてもよい。したがって、キャッシュ130内にマッピングされたこのような特定のメモリロケーションを持つアプリケーションは、このような更新動作が完了することを待つことを選択してもよい。あるいは、このアプリケーションは、更新を無視するとともに、現在利用可能な旧いキャッシュコンテンツを(例えば、コンテンツの更新完了に先立って)用いてよい。特定の実現例において、コミッテッド状態144は、処理システム100内のメモリコントローラ115に、メモリ更新が完了しており、キャッシュ130が情報をリロードしてもよいことを示すように用いられてもよい。インプロセス状態を無視することを選択しうるアプリケーション例は、サーチエンジンであり、なぜならば、わずかに旧い情報はサーチ結果に悪影響を与える必要がないからである。対照的に、インプロセス状態を無視することを選択しえないアプリケーション例は、更新処理が完了した上で利用可能な最新情報に依存する銀行のアプリケーションである。したがって、このようなアプリケーションは、任意の更新操作の完了を待つことができるとともに、関連するキャッシュ情報を無効にして、アプリケーションが最新のメモリ値を持ち続けることを確実にすることができる。勿論、処理システム及びキャッシュコヒーレンスプロトコルのこのような詳細は単に例示であって、請求項に記載された内容はそのように限定されるものではない。
図2は、本発明の一実施形態に係るメインメモリ210の概略図である。メインメモリ210の少なくとも一部は、持続性メモリ220から構成されてもよい。特定の実現例において、メインメモリ210の他の部分は、揮発性DRAM等の様々な種類のメモリから構成されてもよい。持続性メモリ220の一部分は、例えば、1つまたは複数のダイ構造から構成されうるメインメモリ210においては、切れ目なく配置される必要はない。キャッシュコヒーレンスプロトコルブロック255は、メインメモリ210を含む処理システム(例えば、図1に示したシステム100)のキャッシュコヒーレンスプロトコルを与えるように、ハードウェア、及び/または、実行されるコードを含んでもよい。特定の実現例において、このようなキャッシュコヒーレンスプロトコルは、上で記載したように、持続性メモリ220に適応するように、インプロセス状態142、及び/またはコミッテッド状態144を含んでもよい。例えば、インプロセス状態142は、読み出し動作に比べて追加されるプログラム動作の待ち時間に適応することができる。それゆえ、インプロセス状態142は、アプリケーションが比較的長いキャッシュプログラム処理を持つこととなるかどうかを、アプリケーションに示してもよい。他の特定の実現例において、キャッシュコヒーレンスプロトコルブロック255は、メインメモリ210のどの部分が持続性メモリから構成されるかをコンピューティングプラットフォームに特定させるように持続性メモリ記述子を与えてもよい。例えば、このような特定は、メインメモリ210内におけるメモリロケーションの1つまたは複数のアドレスまたはメモリロケーションのアドレス範囲を含んでもよい。勿論、請求項に記載された内容は、このようなプロトコル状態に限定されるものではなく、キャッシュコヒーレンスプロトコルブロック255は、システムに対して任意の数のプロトコル状態を与えてもよい。
図3は、本発明の一実施形態に係るキャッシュコヒーレンスプロトコルのタイミングを示す図である。時間T1において、インプロセス状態は、1つまたは複数のメインメモリ内の少なくとも1つのメモリロケーションが更新処理中であることをメモリコントローラに示すように遷移されてもよい。T2の期間中に、更新中のメモリロケーションに関連付けられた1つまたは複数のアプリケーションは、このような更新動作が完了することを待つことを選択してもよい。他の実現例においては、上に記載したように、アプリケーションは、このような更新動作を無視するとともに、単に、現在利用可能な旧いキャッシュコンテンツを用いてもよい。時間T3において、更新動作を完了させることができ、この完了は、例えば、ハイ(high)からロー(low)に、またはローからハイに等、1つの状態から別な状態に遷移されるハードウェア信号によって示すことができる。更新動作の完了に続いて、時間T4において、コミッテッド状態が、メモリ更新が完了しており、情報をリロードするのにキャッシュメモリが利用可能であることをメモリコントローラに示すように遷移することができる。勿論、キャッシュコヒーレンスプロトコルのタイミングのこのような詳細は単に例示であって、請求項に記載された内容はそのように限定されるものではない。
図4は、本発明の一実施形態に係るマルチプロセッサシステム構成400の概略図である。マルチプロセッサシステムは、任意の数の処理エンティティを含んでもよいが、図4には2つのそのようなエンティティが図示されている。特に、このような処理エンティティは、キャッシュ430に関連するCPU410と、キャッシュ435に関連するCPU415とから構成されてもよい。一例では、CPU410は、メインメモリ420内のあるロケーションを示すキャッシュラインを持ってもよい。CPU415は、メインメモリ420内の同じロケーションを示すキャッシュラインを持ってもよい。CPU410及びCPU415のどちらも、メインメモリのこのロケーションへの書き込み、メインメモリのこのロケーションからの読み出しを行うことができる。CPU410がメインメモリのこのロケーションに書込みを行っている間に、CPU415がキャッシュラインからの読出しを試みる場合、コンフリクトが起こる可能性がある。一実現例において、CPU415は、このような起こりうるコンフリクトについて管理を行わないことがある。他の実現例において、このようなコンフリクトを回避するために、CPU415は、CPU410からのインプロセスの書き出しが完了したことを確かめるように、インプロセス状態及び/またはコミッテッド状態を監視してもよい。ある実現例において、インプロセス状態は、本明細書においてI‐ビットと呼ばれる特定のビット、フラグ、または信号に相当することがあり、コミッテッド状態は、本明細書においてC‐ビットと呼ばれる特定のビット、フラグ、または信号に相当することがある。このようなビットは、上に記載したように、メインメモリを更新する処理の状態を示すように、セットされた状態またはリセットされた状態から遷移してもよい。特定の実現例において、CPU415は、CビットまたはIビットのどちらもセットされない場合に、キャッシュラインから読み出してもよい。例えば、I‐ビットがセットされると、CPU410は、メインメモリを更新していてもよく、かつ、CPU415は、更新が完了することを待ってもよい。CPU410の更新が完了した上で、C‐ビットは、このような完了を示すように遷移してもよい。したがって、CPU415は、C‐ビットを遷移するCPU410に応答してキャッシュラインをリロードしてもよい。そして、CPU415は、メモリロケーションについての最新値を包含することができる。
一実施形態において、少なくとも一部が持続性メモリから構成されるメインメモリのコヒーレンスは、オペレーティングシステムの仮想メモリによって、及び/または、デフォルトページハンドラによって、保持されてもよい。このようなオペレーティングシステムは、コヒーレンス管理を伴う大量の書き込み動作を特定する方法をサポートしてもよい。このような大量の書込み動作は、例えば、データベースの書込み動作を含むことがある。アプリケーションは、大量の書込み動作を極小の書込み動作として管理されうるように互いに協調されてもよく、こうした極小の書込み動作では、このような更新処理が完了しているとみなされる前に、データベース全域の複数のフィールドが更新されてもよい。大量の動作はより大容量の情報を伴うが、アプリケーションレベルのセマンティクスは、個別のキャッシュラインに類似する様式で、1つまたは複数のアプリケーションが無効なデータを用いること1つまたは複数を回避させることができる。一実現例において、大量の書込み動作のサイズを通信するには、持続性ダイレクトメモリアクセス(DMA)コマンドを含んでもよい。他の実現例において、大量の書込み動作のサイズを通信するには、メモリプールの定義を通信するメカニズムを含んでもよい。更に他の実現例において、大量の書込み動作のサイズを通信するには、動的メモリアロケーション時に用いるフラグを含んでもよい。更になお他の実現例において、大量の書込み動作のサイズを通信するには、アプリケーションによる信号を送信することを含んでもよい。持続性メモリに対するアプリケーションレベルでのコヒーレンス管理は、例えば、アプリケーションレベルのメモリコヒーレンスを確立するためのプリミティブなコマンドとして上記で定義した、インプロセス状態及び/またはコミッテッド状態を利用してもよい。
図5は、本発明の一実施形態に係るマルチコアシステム500の概略図である。このようなシステムは、例えば、1つまたは複数のバスを介して互いに接続されたプロセッサノード502、プロセッサノード504、プロセッサノード506、及びプロセッサノード508から構成されてもよい。一実現例において、マルチコアシステム500は、共有メモリマルチプロセッサから構成されてもよい。個々のプロセッサノード502、プロセッサノード504、プロセッサノード506、及びプロセッサノード508は、それぞれ、プロセッサ510、プロセッサ512、プロセッサ514、及びプロセッサ516と、キャッシュメモリ530、キャッシュメモリ532、キャッシュメモリ534、及びキャッシュメモリ536と、及び/または、ローカルメモリ520、ローカルメモリ522、ローカルメモリ524、及びローカルメモリ526とを含んでもよい。特定のプロセッサノード内において、このようなローカルメモリは、この特定のプロセッサノードのプロセッサに関連するメインメモリから構成されてもよい。例えば、ローカルメモリ520は、プロセッサノード502内のプロセッサ510に関連するメインメモリから構成されてもよい。一実現例において、ローカルメモリは、他のプロセッサノードのプロセッサによって共有されてもよく、または他のプロセッサノードのプロセッサによってアクセスされてもよい。1つまたは複数のローカルメモリ520、ローカルメモリ522、ローカルメモリ524、及びローカルメモリ526は、持続性メモリの全体または少なくとも一部から構成されてもよい。特定の実現例において、ローカルメモリの一部は、揮発性DRAM等の様々な種類のメモリから構成されてもよい。持続性メモリの一部分は、例えば、1つまたは複数のダイ構造から構成されうるローカルメモリ内では、切れ目なく配置される必要はない。図示していないが、プロセッサユニットは、例えば、同一のダイ上にプロセッサとして集積されたメモリコントローラ、または、別々のダイ上に集積されたメモリコントローラを含んでもよい。また、図5は、4つのノードを持つシステムを示すが、任意の数のノードが含まれてもよく、請求項に記載された内容はこの特定の配置に限定されるものではない。
キャッシュメモリ530、キャッシュメモリ532、キャッシュメモリ534、及びキャッシュメモリ536は、それぞれ、ローカルメモリ520、ローカルメモリ522、ローカルメモリ524、及びローカルメモリ526のうち任意のものから得られた情報のコピーを記憶するための高速メモリから構成されてもよい。1つまたは複数このようなキャッシュメモリは、例えば、個々のローカルメモリのアドレスの少なくとも一部分を用いて探索されてもよい。キャッシュメモリを探索するために用いられるメモリアドレスのこのような部分は、キャッシュインデックス部分と呼ばれる。例えば、キャッシュメモリ530は、キャッシュインデックス部分及びキャッシュデータ部分から構成されてもよい。キャッシュインデックス部分は、例えば、上に記載したように、キャッシュメモリ530内に記憶された情報のラインアドレスと、MESI状態情報及びインプロセス状態情報/コミッテッド状態情報等の状態情報とを含んでもよい。勿論、マルチコアシステムのこのような詳細は単に例示であって、請求項に記載された内容はそのように制限されるものではない。
図6は、メモリデバイス610を含むコンピュータシステム600の実施形態例を概略的に示す図である。コンピュータデバイス604は、メモリデバイス610を管理するように構成可能な任意のデバイス、装置、または機械の典型的なものとすることができる。メモリデバイス610は、メモリコントローラ615及びメモリ622を含んでもよい。例示であって限定されるものではないが、コンピュータデバイス604は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、サーバデバイス等の1つまたは複数のコンピュータデバイス及び/またはプラットフォームと、例えば、携帯情報端末(PDA)、モバイル通信デバイス等の1つまたは複数のパーソナルコンピュータデバイスもしくは装置または1つまたは複数の通信デバイスもしくは装置と、例えば、データベースまたはデータ記憶サービスプロバイダ/システムのようなコンピュータシステム及び/または関連サービスプロバイダ性能とを含み、かつ/またはこれらの任意の組み合わせを含んでもよい。
一実施形態において、コンピュータデバイス604は、ブロック620に代表される複数の処理ユニットを含んでもよい。このような複数の処理ユニットは、バス640と、ホストすなわちメモリコントローラ615とを通してメモリ622に動作可能に連結されてもよい。例えば、バス640を通して、複数の処理ユニット620が、メインメモリから構成されうるメモリ622を共有してもよい。処理ユニット620は、データ計算手順またはデータ計算処理の少なくとも一部を実行するように構成可能な1つまたは複数の回路の典型的なものである。例示であって限定されるものではないが、処理ユニット620は、複数1つまたは複数のプロセッサ、コントローラ、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールド・プログラマブル・ゲートアレイ等を含んでもよく、あるいは、これらの任意の組み合わせを含んでもよい。処理ユニット620は、例えば、上で議論したメモリパーティション処理と、読み出し、書き込み、及び/または消去等のメモリ関連動作とを処理するように、メモリコントローラ615に通信してもよい。処理ユニット620は、メモリコントローラ615と通信するように適合されたオペレーティングシステムを含んでもよい。このようなオペレーティングシステムは、例えば、バス640上でメモリコントローラ615に送信されるコマンドを生成することができる。このようなコマンドは、例えば、読み出し命令/書き込み命令を含んでもよい。
メモリ622は、任意のデータストレージ機構の典型的なものである。メモリ622は、例えば、DRAM624及び/または持続性メモリ626を含んでもよい。特定の実施形態において、メモリ622は、上に記載したように、持続性メモリの少なくとも一部を含むメインメモリから構成されてもよい。メモリ622はまた、持続性メモリの少なくとも一部を同様に含むことのあるキャッシュメモリから構成されてもよい。この例示は処理ユニット620から離れて説明したが、DRAM624の全部または一部は処理ユニット620内に備えられていてもよく、あるいは処理ユニット620と同じ場所に設置されているか、または処理ユニット620に連結されてもよいと理解されるべきである。
一実施形態によれば、メモリ622の1つまたは複数の部分は、メモリ622の特定の状態によって表わされるデータ及び/または情報を表す信号を記憶してもよい。例えば、データ及び/または情報を表す電子信号は、データ及び/または情報をバイナリ情報(例えば、1及び0)として表すように、メモリ622のこうした部分の状態に影響を与えるか、または、メモリ622のこうした部分の状態を変化させることによって、メモリ622の一部分に「記憶」されてもよい。このように、特定の実現例において、データ及び/または情報を表す信号を記憶するためにメモリ部分の状態をこのように変化させることにより、メモリ622が異なる状態または異なるものに変換される。
持続性メモリ626は、例えば、1次メモリ(primary memory)と同一型式のメモリもしくは類似型式のメモリ、及び/または、例えば、PCM、ディスクドライブ、光学ディスクドライブ、テープドライブ、固体状態記憶ドライブ等の1つまたは複数のデータ記憶装置もしくはシステムを含んでもよい。所定の実現例において、持続性メモリ626は動作可能にコンピュータ可読媒体628を受信可能であってもよく、もしくは、コンピュータ可読媒体628に連結するように構成可能であってもよい。コンピュータ可読媒体628は、例えば、システム600における1つまたは複数のデバイスに対するデータ、コード、及び/または命令を運ぶことができ、かつ/または、こうしたデータ、コード、及び/または命令をアクセス可能にすることができる任意の媒体を含むことができる。
1つの実施形態において、システム600は、(例えば、バス640を介してプロセッサ620に対して)メインメモリに対する少なくとも1つの第1のインターフェース及び処理エンティティに対する少なくとも1つの第2のインターフェースを持つメモリコントローラ615から構成されてもよく、メモリコントローラは、キャッシュコヒーレンシプロトコルに従って処理エンティティがメインメモリにアクセスすることを可能にすることができてもよく、かつ、前記メインメモリの少なくとも一部は持続性メモリから構成される。このような持続性メモリは、例えば、PCMから構成されてもよい。コンピュータデバイス604は、例えば、入力/出力632を含んでもよい。入力/出力632は、人及び/または機械の入力を受入れるように構成可能な、または導入するように構成可能な1つまたは複数のデバイスまたは機能、及び/または、人及び/または機械の出力を届けるように構成可能な、または提供するように構成可能な1つまたは複数のデバイスまたは機能の典型的なものである。例示であって限定されるものではないが、入力/出力デバイス632は、動作可能に構成されたディスプレイ、スピーカー、キーボード、マウス、トラックボール、タッチスクリーン、データポート等を含んでもよい。
現時点で考えられる実施形態の例について説明して述べてきたが、本発明は、請求項に記載された内容から逸脱することなく、他の様々な変更がなされてもよく、等価なものに置換されてもよいと当業者に理解されるものである。更に、本明細書に記載した主要概念から逸脱することなく、請求項に記載された内容の教示に特定の状況を適用するように多くの変更がなされてもよい。それゆえ、請求項に記載された内容が開示された特定の実施形態に限定されることはないと意図され、そのような請求項に記載された内容はまた、添付した請求項の範囲に含まれる全ての実施形態及びそれらの等価物を包含するものであると意図されている。

Claims (22)

  1. メインメモリに対する少なくとも1つの第1のインターフェースと、2つ以上の処理エンティティに対する少なくとも1つの第2のインターフェースとを持つメモリコントローラを具備してなり、
    前記メモリコントローラは、前記処理エンティティがキャッシュコヒーレンシプロトコルに従って前記メインメモリにアクセスすることを可能にすることができ、かつ、前記メインメモリの少なくとも一部は持続性メモリを備えることを特徴とするメモリデバイス。
  2. 前記キャッシュコヒーレンシプロトコルは、前記メインメモリが現在更新処理中であるかどうかを示す第1の状態と、前記更新処理が完了しているかどうかを示す第2の状態とを含むことを特徴とする請求項1に記載のメモリデバイス。
  3. 前記メモリコントローラは、更に、前記更新処理中に前記メインメモリにアクセスすることを待つように、前記2以上の処理エンティティの少なくとも1つに対して信号を送信することができることを特徴とする請求項2に記載のメモリデバイス。
  4. 前記メモリコントローラは、更に、持続性メモリを備える前記メインメモリの前記少なくとも一部をメモリ記述子が特定することを可能にすることができること特徴とする請求項1に記載のメモリデバイス。
  5. 前記持続性メモリは、相変化メモリ(PCM)を備えることを特徴とする請求項1に記載のメモリデバイス。
  6. 前記持続性メモリは、非対称的な読み出し速度/書き込み速度を持つメモリを備えることを特徴とする請求項1に記載のメモリデバイス。
  7. 前記2以上の処理エンティティは、複数の中央処理装置(CPU)を備えることを特徴とする請求項1に記載のメモリデバイス。
  8. 前記メモリコントローラは、更に、前記2以上の処理エンティティに共有される1つまたは複数のレベルのキャッシュメモリを含むメモリ階層を有効にすることができることを特徴とする請求項1に記載のメモリデバイス。
  9. 前記1つまたは複数のレベルのキャッシュメモリの少なくとも一部は、持続性メモリを備えることを特徴とする請求項8に記載のメモリデバイス。
  10. 複数の処理エンティティがメインメモリを共有することを可能にするように、キャッシュコヒーレンシプロトコルを管理するステップを具備してなり、
    前記メインメモリの少なくとも一部は、持続性メモリを備えることを特徴とする方法。
  11. 前記メインメモリの更新処理中に前記メインメモリにアクセスすることを待つように前記複数の処理エンティティに対して命令する第1の状態に、前記キャッシュコヒーレンシプロトコルを遷移させるステップを更に含むことを特徴とする請求項10に記載の方法。
  12. 前記更新処理が完了していることを前記複数の処理エンティティに通知する第2の状態に、前記キャッシュコヒーレンシプロトコルを遷移させるステップを更に含むことを特徴とする請求項11に記載の方法。
  13. 前記持続性メモリは、相変化メモリ(PCM)を備えることを特徴とする請求項10に記載の方法。
  14. 前記持続性メモリは、非対称的な読み出し速度/書き込み速度を持つメモリを備えることを特徴とする請求項10に記載の方法。
  15. 前記キャッシュコヒーレンシプロトコルは、少なくとも部分的には、前記持続性メモリの1つまたは複数の待ち時間プロパティに基づくことを特徴とする請求項10に記載の方法。
  16. 前記複数の処理エンティティは、1つまたは複数の中央処理装置(CPU)を備えることを特徴とする請求項10に記載の方法。
  17. 複数の処理エンティティと、メモリデバイスとを具備してなるシステムであって、
    前記メモリデバイスは、メインメモリに対する少なくとも1つの第1のインターフェースと、前記複数の処理エンティティに対する少なくとも1つの第2のインターフェースとを持つメモリコントローラを備え、
    前記メモリコントローラは、前記複数の処理エンティティがキャッシュコヒーレンシプロトコルに従って前記メインメモリにアクセスすることを可能にすることができ、かつ、前記メインメモリの少なくとも一部は持続性メモリを備えることを特徴とするシステム。
  18. 前記キャッシュコヒーレンシプロトコルは、前記メインメモリが現在更新処理中であるかどうかを示す第1の状態と、前記更新処理が完了しているかどうかを示す第2の状態とを含むことを特徴とする請求項17に記載のシステム。
  19. 前記メモリコントローラは、更に、前記更新処理中に前記メインメモリにアクセスすることを待つように、前記2以上の処理エンティティの少なくとも1つに対して信号を送信することができることを特徴とする請求項18に記載のシステム。
  20. 前記処理エンティティは、前記更新処理中に前記メインメモリにアクセスすることを待つことができることを特徴とする請求項18に記載のシステム。
  21. ダイナミックランダムアクセスメモリ(DRAM)部分及び持続性メモリ部分と、
    前記DRAM部分と前記持続性メモリ部分との間の待ち時間の差に適応するためのコードを実行するキャッシュコヒーレンスプロトコルブロックと
    を具備することを特徴とするメインメモリ。
  22. 前記持続性メモリ部分内におけるメモリロケーションのアドレスまたは前記メモリロケーションのアドレス範囲を特定する持続性メモリ記述子を更に備えることを特徴とする請求項21に記載のメインメモリ。
JP2011114340A 2010-06-09 2011-05-23 持続性メモリのためのキャッシュコヒーレンスプロトコル Active JP5348429B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/797,522 US9448938B2 (en) 2010-06-09 2010-06-09 Cache coherence protocol for persistent memories
US12/797,522 2010-06-09

Publications (2)

Publication Number Publication Date
JP2011258193A true JP2011258193A (ja) 2011-12-22
JP5348429B2 JP5348429B2 (ja) 2013-11-20

Family

ID=45020214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011114340A Active JP5348429B2 (ja) 2010-06-09 2011-05-23 持続性メモリのためのキャッシュコヒーレンスプロトコル

Country Status (6)

Country Link
US (1) US9448938B2 (ja)
JP (1) JP5348429B2 (ja)
KR (1) KR101385430B1 (ja)
CN (1) CN102279817B (ja)
DE (1) DE102011076895B4 (ja)
TW (1) TWI530786B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017519275A (ja) * 2014-05-09 2017-07-13 華為技術有限公司Huawei Technologies Co.,Ltd. データキャッシング方法、キャッシュおよびコンピュータシステム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US9037788B2 (en) 2010-09-30 2015-05-19 Micron Technology, Inc. Validating persistent memory content for processor main memory
KR101293260B1 (ko) 2011-12-14 2013-08-09 한국전자통신연구원 이동 통신 단말 및 방법
US9841920B2 (en) 2011-12-29 2017-12-12 Intel Corporation Heterogeneous memory die stacking for energy efficient computing
CN107045479B (zh) * 2012-10-22 2020-09-01 英特尔公司 高性能互连物理层
US20140114928A1 (en) 2012-10-22 2014-04-24 Robert Beers Coherence protocol tables
US9367472B2 (en) * 2013-06-10 2016-06-14 Oracle International Corporation Observation of data in persistent memory
WO2015030819A1 (en) 2013-08-30 2015-03-05 Hewlett-Packard Development Company, L.P. Completion packet return
US9785554B2 (en) 2014-05-30 2017-10-10 International Business Machines Corporation Synchronizing updates of page table status indicators in a multiprocessing environment
US9384133B2 (en) 2014-05-30 2016-07-05 International Business Machines Corporation Synchronizing updates of page table status indicators and performing bulk operations
US20170192886A1 (en) * 2014-07-31 2017-07-06 Hewlett Packard Enterprise Development Lp Cache management for nonvolatile main memory
US9430396B2 (en) * 2014-12-22 2016-08-30 Intel Corporation Updating persistent data in persistent memory-based storage
US10152435B2 (en) 2016-06-20 2018-12-11 Western Digital Technologies, Inc. Coherent controller
CN108959133B (zh) * 2017-05-22 2021-12-10 扬智科技股份有限公司 可共用存储器的电路结构与数字视频转换装置
US10459824B2 (en) * 2017-09-18 2019-10-29 Microsoft Technology Licensing, Llc Cache-based trace recording using cache coherence protocol data
US11907091B2 (en) 2018-02-16 2024-02-20 Microsoft Technology Licensing, Llc Trace recording by logging influxes to an upper-layer shared cache, plus cache coherence protocol transitions among lower-layer caches
KR102412423B1 (ko) * 2020-01-09 2022-06-23 성균관대학교산학협력단 비휘발성 메모리 장치, 이것을 포함하는 컴퓨팅 시스템 및 이것의 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895861A (ja) * 1994-09-22 1996-04-12 Toshiba Corp キャッシュメモリを有する電子計算機
JPH10161930A (ja) * 1996-11-29 1998-06-19 Hitachi Ltd マルチプロセッサシステムおよびキャッシュコヒーレンシ制御方法
JP2004334996A (ja) * 2003-05-09 2004-11-25 Hitachi Ltd 半導体装置
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器
WO2009017890A2 (en) * 2007-08-02 2009-02-05 Freescale Semiconductor Inc. Cache locking device and methods thereof
JP2009295156A (ja) * 2008-05-30 2009-12-17 Intel Corp インバリデーショントランザクションのスヌープフィルタからの削除

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0358163A (ja) 1989-07-26 1991-03-13 Nec Corp 疎結合型マルチプロセッサシステム
JPH06150031A (ja) 1992-10-30 1994-05-31 Nec Corp Cpuモジュール
US5442704A (en) 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
JPH0816470A (ja) 1994-07-04 1996-01-19 Hitachi Ltd 並列計算機
JPH10171676A (ja) 1996-12-10 1998-06-26 Toshiba Corp マイクロプロセッサのテスト容易化回路
US6516384B1 (en) 1999-12-30 2003-02-04 Intel Corporation Method and apparatus to perform a round robin and locking cache replacement scheme
US6760819B2 (en) 2001-06-29 2004-07-06 International Business Machines Corporation Symmetric multiprocessor coherence mechanism
MXPA04000534A (es) 2001-07-18 2004-05-04 Matsushita Electric Ind Co Ltd Aparato de escritura, tarjeta de memoria de semiconductor, programa de escritura y metodo de escritura.
US6658539B2 (en) * 2001-10-16 2003-12-02 International Business Machines Corporation Super-coherent data mechanisms for shared caches in a multiprocessing system
US6983348B2 (en) 2002-01-24 2006-01-03 Intel Corporation Methods and apparatus for cache intervention
US6892283B2 (en) 2002-12-05 2005-05-10 International Business Machines Corporation High speed memory cloner with extended cache coherency protocols and responses
US7322042B2 (en) 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US20050080999A1 (en) 2003-10-08 2005-04-14 Fredrik Angsmark Memory interface for systems with multiple processors and one memory system
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US20050160229A1 (en) 2004-01-16 2005-07-21 International Business Machines Corporation Method and apparatus for preloading translation buffers
US7644287B2 (en) 2004-07-29 2010-01-05 Microsoft Corporation Portion-level in-memory module authentication
US7240137B2 (en) 2004-08-26 2007-07-03 International Business Machines Corporation System and method for message delivery across a plurality of processors
US7451166B2 (en) 2005-01-13 2008-11-11 International Business Machines Corporation System and method for maintaining checkpoints of a keyed data structure using a sequential log
WO2006107095A1 (ja) 2005-03-31 2006-10-12 Nec Corporation 計算機システム、メモリ管理方法、およびそのプログラム
US7130960B1 (en) * 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
US20060265544A1 (en) 2005-05-17 2006-11-23 John Rudelic Internally authenticated flash remediation
US7389402B2 (en) 2005-06-07 2008-06-17 Advanced Micro Devices, Inc. Microprocessor including a configurable translation lookaside buffer
US20070226795A1 (en) 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
JP4335300B2 (ja) 2006-02-24 2009-09-30 富士通株式会社 マルチプロセッサシステム、プロセッサ、およびキャッシュ制御方法
US8051253B2 (en) * 2006-09-28 2011-11-01 Virident Systems, Inc. Systems and apparatus with programmable memory control for heterogeneous main memory
CN100492274C (zh) 2007-08-17 2009-05-27 杭州华三通信技术有限公司 存储控制系统及其处理节点
US8055847B2 (en) 2008-07-07 2011-11-08 International Business Machines Corporation Efficient processing of data requests with the aid of a region cache
US8250350B2 (en) 2008-08-26 2012-08-21 Texas Digital And Multimedia Systems Computer system with non-volatile write-protected memory based operating system and secure system architecture
CN101673245B (zh) 2008-09-09 2016-02-03 株式会社东芝 包括存储器管理装置的信息处理装置和存储器管理方法
TW201017421A (en) 2008-09-24 2010-05-01 Panasonic Corp Cache memory, memory system and control method therefor
US8261019B2 (en) 2009-02-13 2012-09-04 Oracle America, Inc. Conveying critical data in a multiprocessor system
US8250282B2 (en) 2009-05-14 2012-08-21 Micron Technology, Inc. PCM memories for storage bus interfaces
US8180981B2 (en) * 2009-05-15 2012-05-15 Oracle America, Inc. Cache coherent support for flash in a memory hierarchy
US8291175B2 (en) * 2009-10-16 2012-10-16 Oracle America, Inc. Processor-bus attached flash main-memory module
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895861A (ja) * 1994-09-22 1996-04-12 Toshiba Corp キャッシュメモリを有する電子計算機
JPH10161930A (ja) * 1996-11-29 1998-06-19 Hitachi Ltd マルチプロセッサシステムおよびキャッシュコヒーレンシ制御方法
JP2004334996A (ja) * 2003-05-09 2004-11-25 Hitachi Ltd 半導体装置
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器
WO2009017890A2 (en) * 2007-08-02 2009-02-05 Freescale Semiconductor Inc. Cache locking device and methods thereof
JP2009295156A (ja) * 2008-05-30 2009-12-17 Intel Corp インバリデーショントランザクションのスヌープフィルタからの削除

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017519275A (ja) * 2014-05-09 2017-07-13 華為技術有限公司Huawei Technologies Co.,Ltd. データキャッシング方法、キャッシュおよびコンピュータシステム
US10241919B2 (en) 2014-05-09 2019-03-26 Huawei Technologies Co., Ltd. Data caching method and computer system

Also Published As

Publication number Publication date
KR20110134855A (ko) 2011-12-15
CN102279817B (zh) 2015-11-25
US20110307653A1 (en) 2011-12-15
DE102011076895B4 (de) 2014-12-24
TW201222252A (en) 2012-06-01
US9448938B2 (en) 2016-09-20
KR101385430B1 (ko) 2014-04-29
TWI530786B (zh) 2016-04-21
DE102011076895A1 (de) 2011-12-15
CN102279817A (zh) 2011-12-14
JP5348429B2 (ja) 2013-11-20

Similar Documents

Publication Publication Date Title
JP5348429B2 (ja) 持続性メモリのためのキャッシュコヒーレンスプロトコル
US10389839B2 (en) Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node
US9384134B2 (en) Persistent memory for processor main memory
CN107608910B (zh) 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US11341059B2 (en) Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations
US20170344430A1 (en) Method and apparatus for data checkpointing and restoration in a storage device
EP3382557B1 (en) Method and apparatus for persistently caching storage data in a page cache
US10402338B2 (en) Method and apparatus for erase block granularity eviction in host based caching
US20170177482A1 (en) Computing system having multi-level system memory capable of operating in a single level system memory mode
CN110597742A (zh) 用于具有持久系统存储器的计算机系统的改进存储模型
US9037804B2 (en) Efficient support of sparse data structure access
US10331385B2 (en) Cooperative write-back cache flushing for storage devices

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130605

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130605

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: 20130716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130806

R150 Certificate of patent or registration of utility model

Ref document number: 5348429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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