JP5745168B2 - 大型ramキャッシュ - Google Patents

大型ramキャッシュ Download PDF

Info

Publication number
JP5745168B2
JP5745168B2 JP2014511613A JP2014511613A JP5745168B2 JP 5745168 B2 JP5745168 B2 JP 5745168B2 JP 2014511613 A JP2014511613 A JP 2014511613A JP 2014511613 A JP2014511613 A JP 2014511613A JP 5745168 B2 JP5745168 B2 JP 5745168B2
Authority
JP
Japan
Prior art keywords
metadata
page
bits
memory device
data
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.)
Expired - Fee Related
Application number
JP2014511613A
Other languages
English (en)
Other versions
JP2014517394A (ja
Inventor
エーリヒ・ジェームズ・プロンドケ
ルシアン・コドレスク
ウィリアム・シー・アンダーソン
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2014517394A publication Critical patent/JP2014517394A/ja
Application granted granted Critical
Publication of JP5745168B2 publication Critical patent/JP5745168B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0893Caches characterised by their organisation or structure
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

開示する実施形態は、高速、低電力アプリケーション用のメモリ構造を構成することを対象とする。より詳細には、例示的な実施形態は、キャッシュメモリとして使用するための大型ダイナミックランダムアクセスメモリ(DRAM)構造を構成することを対象とする。
コンピュータ処理システムは、一般に、いくつかのレベルのメモリを備える。第1レベルキャッシュなどのキャッシュは、処理コアすなわち中央処理ユニット(CPU)に最も近く、メインメモリは、CPUから最も離れている。キャッシュは、特に、CPUに近く、オンチップで配置される場合、高速かつ小型である必要がある。したがって、通常、CPUに最も近いキャッシュは、高速を特徴とするスタティックランダムアクセスメモリ(SRAM)から形成される。しかしながら、また、SRAMは、高コストになる。他方では、ダイナミックランダムアクセスメモリ(DRAM)は、SRAMよりも遅いが、あまりコストもかからない。したがって、従来、DRAMは、CPUからより離れた、メインメモリにより近い場所で見られていた。
最近の技術の進歩により、大記憶容量および低電力の特徴を有するDRAMシステムを製造することが実現可能になった。たとえば、広い入出力(IO)インターフェースおよびエネルギー効率が高いスタッキングにより、DRAMにおいて、大記憶容量(2GBもの大きさ)、高帯域データ転送、および以前から知られていたものよりも低いレイテンシも有するDRAMシステムの製造が可能になった。
したがって、比較的大型の記憶装置により、低電力スタック型DRAMシステムが、一部の低電力組込みシステムおよびハンドヘルドデバイスアプリケーションにおいてオンチップメインメモリシステムとして動作することが可能になり得る。しかしながら、そのような低電力スタック型DRAMシステムは、その記憶容量がメインメモリのニーズを満たすほど十分には大きくない可能性があるとき、高性能処理システム内のメインメモリに対する適切な代替物となり得ない。
他方では、ここで、低エネルギーおよび高速を特徴とする低電力スタック型DRAMシステムは、CPUに近いキャッシュには、より魅力的であり得る。たとえば、低電力スタック型DRAMシステムは、CPUの近くに配置するにはあまりにも遅い可能性がある、従来のDRAMシステム用のキャッシュとして構成され得る。したがって、低電力スタック型DRAMシステムは、CPUに近いキャッシュメモリに、以前から知られていたものよりも大きい記憶容量を提供し得る。
しかしながら、現在利用可能な市販の低電力スタック型DRAMモデルは、CPUに近いそのようなキャッシュメモリアプリケーションに対する、その即応利用性を限定し得るいくつかの制限を受ける可能性がある。たとえば、市販の低電力スタック型DRAMシステムは、誤り訂正符号(ECC)と同様の機能を備えていない可能性がある。DRAMセルは、漏れやすく、非常に誤りを起こしやすいことがある。したがって、ECC機構などの、誤り検出および誤り訂正の機能の欠如により、低電力スタック型DRAMシステムは、CPUに近いキャッシュに使用するのに、または誤り防止システム内の他の任意の種類の記憶域として使用するのに適さないことがある。
キャッシュメモリとして使用するために市販の低電力スタック型DRAMシステムを構成する際の別の障害は、タグ付け機構などの、高速データアクセスを可能にする機能に対するサポートの欠如である。よく知られているように、キャッシュメモリは、キャッシュ内の各コピーラインに対応するメモリアドレスを指定するタグ付け機構を含む。効率的なタグ構造により、キャッシュメモリ内の要求データに対する高速検索が可能になる。しかしながら、市販の低電力スタック型DRAMシステムは、タグ付け機構の特徴を示さず、それによって、タグ付き記憶に関する代替技法がない場合に、キャッシュとして使用するのに適さなくなる。DRAMと併せて使用するために適切なタグ付け機構を設計することは、いくつかの課題をもたらす。たとえば、大型DRAM(たとえば、2GB)の場合、タグフィールド自体は、数MBの記憶空間を必要とするであろう。この大きいタグ空間オーバーヘッドは、オンチップにおけるタグの配置および構成にいくつかの課題をもたらす。
さらに、低電力スタック型DRAMのタグ付け機構の設計は、より大きいセット連想度のためのタグ空間を犠牲にすることに関わる潜在的なバランスによって複雑になっており、したがって、高いミス率の問題を招く。同様に、マルチプロセッサ環境におけるディレクトリ情報または他のメモリコヒーレンシ情報に関連するインテリジェンスを含む低電力スタック型DRAMシステムを設計する際にも、課題がもたらされる。
したがって、有利なことに、CPUに近いキャッシュメモリアプリケーションに使用するために低電力スタック型DRAMシステムを活用するために、従来のDRAMシステムにおける、誤りに対する感度、効率的なタグ付け機構および関連するインテリジェンス機能の欠如によってもたらされた課題を克服する必要がある。
本発明の例示的な実施形態は、キャッシュメモリとして使用するための大型ダイナミックランダムアクセスメモリ(DRAM)構造を構成するためのシステムおよび方法を対象とする。
たとえば、例示的な実施形態は、ページベースのメモリを含む、既存の専用のメタデータのないメモリデバイスを対象としており、各ページは、第1の部分がデータを含み、第2の部分が第1の部分内のデータに対応するメタデータを含むように、第1の部分および第2の部分に分割される。例示的な実施形態では、メタデータは、誤り訂正符号(ECC)、アドレスタグ、ディレクトリ情報、メモリコヒーレンシ情報、またはダーティ(dirty)/有効/ロック情報のうちの少なくとも1つを含み得る。
別の例示的な実施形態は、既存の専用のメタデータのないページベースのメモリデバイスを構成する方法を対象としており、本方法は、メモリデバイスのページのメタデータ部分からメタデータを読むステップと、メタデータに基づいてページの特徴を判定するステップとを含む。
さらに別の例示的な実施形態は、既存のメタデータのないページベースのメモリデバイスを含むメモリシステムを対象としており、メモリデバイスのページは、第1の記憶手段および第2の記憶手段と、第1の記憶手段内に記憶されるメタデータと、第2の記憶手段内に記憶されるデータとを含み、第1の記憶手段内のメタデータは、第2の記憶手段内のデータと関連している。
別の例示的な実施形態は、プロセッサによって実行されたとき、既存の専用のメタデータのないページベースのメモリデバイスを構成するための動作をプロセッサに行わせる、コードを含む非一時的コンピュータ可読記憶媒体を対象としており、非一時的コンピュータ可読記憶媒体は、メモリデバイスのページのメタデータ部分からメタデータを読むためのコードと、メタデータに基づいてページの特徴を判定するためのコードとを含む。
添付の図面は、本発明の実施形態の説明を助けるために提示され、実施形態の限定ではなく、実施形態の例示のためのみに提供される。
関連するメタデータのないデータのページを含む、従来のDRAMシステムを示す図である。 ページ内に記憶されたデータに対応する、ページ内に関連するメタデータを含むことによって、DRAMシステムのページがキャッシュに使用するために構成される、例示的な実施形態によるDRAMシステムを示す図である。 キャッシュとして使用するために構成された例示的なDRAMシステムのパイプライン化されたアクセスに関する例示的なタイムラインを示す図である。 キャッシュとして使用するための、既存のメタデータのないページベースのメモリシステムを構成する例示的な方法を詳述するフローチャートである。
本発明の特定の実施形態を対象とする以下の説明および関連する図面で、本発明の態様を開示する。本発明の範囲から逸脱することなく代替的な実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。「例示的な」として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
本明細書において使われる用語は、特定の実施形態を記載するためのものに過ぎず、本発明の実施形態を限定することは意図していない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、および/または、「含んでいる(including)」という用語は、本明細書で用いられる場合、述べられた特徴、整数、ステップ、動作、要素、および/または、構成要素の存在を指定するが、1つもしくは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/または、これらの群の存在または追加を排除しないことが理解されよう。
さらに、多くの実施形態が、たとえば、コンピューティングデバイスの要素によって実行すべき一連の動作に関して説明される。本明細書で説明する様々な動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行できることが認識されよう。さらに、本明細書で説明するこれらの一連の動作は、実行時に、関連するプロセッサに本明細書で説明する機能を実施させるコンピュータ命令の対応するセットを内部に記憶した、任意の形式のコンピュータ可読記憶媒体内で全体として具現化されるものと見なすことができる。したがって、本発明の様々な態様は、そのすべてが特許請求する主題の範囲内に入ることが企図されているいくつかの異なる形式で具現化され得る。さらに、本明細書で説明する実施形態ごとに、そのような任意の実施形態の対応する形式を、たとえば、記載の動作を実施する「ように構成された論理」として本明細書で説明することがある。
先に示したように、低電力スタック型DRAMシステムなどの、現在利用可能な市販のDRAMシステムは、極めて誤りやすい可能性があり、したがって、キャッシュメモリに必要なデータ忠実度(data fidelity)の重要な基準を満たしていない可能性がある。したがって、例示的な実施形態は、ECC機構などの、誤り検出および誤り訂正の機能が導入される、そのような低電力スタック型DRAMシステムの構成を含む。実施形態は、最小の記憶空間オーバーヘッドおよび高速アクセスを含むECCビットを導入するために、低電力スタック型DRAMシステムの、データ記憶空間およびページベースのメモリアーキテクチャの効率的な利用も含む。
例示的な実施形態は、利用可能な市販の低電力スタック型DRAMアーキテクチャが、高速データ検索のために組み込まれたタグ付け機構をなくすことも実現する。従来、DRAMシステムは、ページ内にデータを記憶する。たとえば、DRAMシステムは、1KBページサイズで記憶されたデータを含み得る。実施形態は、セットアソシアティブキャッシュ内で各ページを1つのセットとして扱うことにより、ページベースのDRAMメモリを、タグ付け機構を有するキャッシュと同様のメモリに転換することを実現する。以下、一般性を失わずに、説明は、理解しやすいように、単一のセットを含むキャッシュとして構成された低電力スタック型DRAMシステムの単一のページに焦点を当てる。その際、ページ内の各ラインは、セットアソシアティブキャッシュのウェイとして扱うことができ、タグを各ラインに適用することができる。タグは、特定のメモリ位置がキャッシュ内に存在するかどうかを特定するのに必要なビットを含む。一般に、メモリアドレスは、ライン内のバイトを特定するためにメモリアドレスの数個の選択されたビットを使用し、メモリアドレスが対応するセットを特定するために数個の選択された他のビットを使用し、タグを形成するために残りのアドレスビットを利用することができるように構成される。しかしながら、このプロセスによって導入されるタグフィールドは、その記憶域、構成、および配置に課題をもたらす。
第1に、タグフィールドは、かなりの記憶空間を必要とする。たとえば、一実施形態は、キャッシュメモリとして1キロバイト(KB)のページサイズを有する低電力スタック型DRAMの構成を含み得る。したがって、1KBページは、64バイト(B)ラインを含む、16ウェイキャッシュとして構成され得る。物理メモリが1テラバイト(TB)サイズであると仮定すると、物理メモリ空間をアドレス指定するために40ビットが必要になり得る。それに応じて、64Bライン内の1バイトを特定するのに6ビット、1セットを特定するのに21ビットが必要になり得る。したがって、約200万セットを含む、1KB16ウェイDRAMキャッシュ内の各ラインに関するタグを形成するのに、40-(6+21)、すなわち13ビットが必要になり得る。したがって、16ウェイの各々につき1つのキャッシュラインを含む16ウェイキャッシュでは、タグビットの数は、13x16、すなわち208ビットとなり得る。諒解されるように、1KBページサイズのDRAMデータ各々に関する208ビットのタグは、かなりのタグ空間オーバーヘッドをもたらす。
第2に、タグ空間を低減するために、キャッシュの記憶容量全体が不変のままであるように、キャッシュラインサイズは増大し、キャッシュラインエントリの数は減少する可能性があることが認識されよう。しかしながら、キャッシュエントリの数を減少させるという犠牲を払ってキャッシュラインサイズを増大させることにより、ミス率が増大する可能性がある。さらに、また、キャッシュラインサイズを増大させることにより、キャッシュラインが満たされるか、または読み出される際、転送されるデータ量を増大させるという影響を及ぼす。さらに、キャッシュラインおよびページのインテリジェンス機構は、要求データを検索するプロセスにおいてアクセスする必要がある可能性があるページの数に関する重要な意味を有する。したがって、例示的な実施形態は、タグ空間オーバーヘッドおよび構成に関わる課題に対する効率的な解決策について説明する。たとえば、いくつかの実施形態は、ページが読まれると、タグがヒットを示す場合、ページがオープンのまま、対応するデータにアクセスすることができるように、ページ自体の内に、ページ内のデータに対応するタグフィールドを含む。さらに、また、例示的な実施形態は、マルチプロセッサ環境におけるディレクトリ情報およびメモリコヒーレンシ情報の効率的な構成に対するニーズを考慮に入れる。
本明細書で使用する「メタデータ」という用語は、例示的な実施形態のDRAMシステムに導入されるデータに対応する情報および誤り訂正符号の様々なビットを包括的に指す。たとえば、ECCビット、タグ情報(当技術分野で知られているように、ダーティ/有効/ロックモードを含む)、ディレクトリ情報、および他のメモリコヒーレンシ情報は、メタデータと総称することができる。例示的な実施形態は、そのようなメタデータのないDRAMシステムにメタデータを導入するための技法を対象とする。さらに、実施形態は、DRAMシステムを信頼性が高く高効率のキャッシュシステムとして構成するために、効率的な記憶域、構成、およびメタデータへのアクセスを対象とする。
上記のような低電力スタック型DRAMシステムを構成することが参照され、それに焦点が当てられるが、本明細書で説明する実施形態は、そのように限定されることなく、メタデータのない任意のメモリシステムを、メタデータを含むメモリシステムに転換するように容易に拡張することができることが諒解されよう。
以下には、誤り検出/訂正機能のない低電力スタック型DRAMシステムなどのDRAMシステムを、効率的なECC実装形態を含む例示的なDRAMシステムに構成する例示的なプロセスについて説明する。図1を参照すると、ページ102を含む、従来のDRAMシステム100が示されている。ページ102は、1KBのサイズであり、図示のように、16個の行(ワードライン)と、8x64=512個の列(ビットライン)とに分割されている。ページ102は、1KBのDRAMビットセルにデータを記憶するが、各ビットセルは、電荷の形態の情報を記憶するキャパシタから形成される。
先に説明したように、DRAMシステム100は、ビットセルキャパシタが漏れやすいので、揮発性である。内部に記憶された情報を保持するために、キャパシタの定期的なリフレッシュが必要になる。さらに、情報は、電磁界のゆらぎなどの様々な外的要因によってもたらされる誤りを受けやすい。したがって、誤り検出および訂正は、記憶されたデータの忠実度を確実にするために重要である。
誤り検出および訂正に関する一般的な技法は、ECCビットの使用を含む。ECCビットは、データビットに関連する冗長性のレベルを表す。この冗長性は、データの整合性をチェックするために使用される。ECCビットは、正しいことがわかっている元のデータ値に基づいて最初に計算される。単純な例として、ECCビットは、元のデータに存在する論理値「1」の数が奇数であるか、または偶数であるかをパリティ値が示すことができるように、パリティ値を表し得る。後の時点で、データに関するパリティ値が、再び生成され、次いで、提示され、ECCビットと比較され得る。不一致である場合、元のデータに少なくとも1つの誤りがもたらされたことが判定され得る。ECCの基本原理を使用して、高度な誤り分析および誤りが検出された場合に続く誤り訂正に関する、より複雑なアルゴリズムが当技術分野でよく知られている。当業者は、例示的な実施形態によって可能になる、特定のアプリケーション用の適切な誤り検出/訂正アルゴリズムを認識しているので、そのようなアルゴリズムの詳細な説明は、本明細書で提供しない。
ここで図1のDRAMシステム100に戻ると、たとえば、ページ102内にECCビットを導入するのに、いくつかのオプションが利用可能である。従来、ECCビットによってもたらされる12.5%のオーバーヘッドを含む、単一誤り訂正/二重誤り検出(SEC/DED)を有効にするために、64ビットの各データに、8ビットのECC情報が採用される。あらゆる64ビットのデータに関する8ビットのECCのそのような従来の実装形態は、市場における在庫品の入手しやすさによって動機を与えられ得ることを認識されたい。しかしながら、データと並べて組み込まれたECCビットのカスタマイズされた実装形態は、メモリ内の誤りを訂正するのに平均してより少ないビットが必要になるように、より効率的なSEC/DEDであることを可能にする。例示的な実施形態は、SEC/DEDに512ビットのデータ当り11個のECCビットを使用することによってオーバーヘッドを2.1%に、二重誤り訂正(DEC)に512ビットのデータ当り21個のECCビットを使用することによってオーバーヘッドを4.1%に縮小することが可能である。したがって、1KBすなわち1024バイトのデータを含むページ102は、16個の64B(512ビット)ラインにセグメント化され得る。したがって、SEC/DEDの実装形態は、1ページ当り16*11、すなわち176ビットのECCを必要とする可能性がある。
ここで図2を参照すると、1ページ内のECCビットの効率的な配置が示されている。図2は、例示的な実施形態に従って構成されたDRAMシステム200を示す。DRAMシステム200は、例示的な実施形態の低電力スタック型DRAMモデルから形成され得る。DRAMシステム200は、データビットと並んでECCビットを記憶するように構成されたページ202を含む。ページ202は、各ラインが64バイト(512ビット)を含む、16ウェイすなわちラインL0〜L15を含む。ラインL1〜L15は、データを記憶するために利用されるが、ラインL0は、メタデータのために割り当てられる。図2は、ラインL0内の16個の32ビットフィールドE0〜E15を示す。フィールドE0〜E15は、それぞれ、ラインL0〜L15のうちの1つに関するメタデータに一意に対応する。他の情報の中でも、フィールドE0〜E15は、ラインL0〜L15に関するECCビットを含み得る。
例示的な実施形態によると、ラインL1〜L15は、最初に、ページ202内に記憶すべきデータで満たされ得る。次いで、データラインL1〜L15の各々に関するECCビットを計算することができ、ECCビットは、それぞれ、フィールドE1〜E15内に記憶され得る。上記に示したように、ECCの11ビットは、512ビットラインL1〜L15の各々のSEC/DEDには十分であり得る。この例では、フィールドE1〜E15の各々の32ビットのうちの11個は、ECCビットによって占有し得て、したがって、以下でさらに説明するように、ラインL1〜L15に関係する他のメタデータ情報が使用するために21ビットを利用可能にする。フィールドE0に関しては、フィールドE1〜E15に関係するECC情報が、考えられる誤りからの保護をメタデータフィールドにも与えることができるように、フィールドE0内で利用可能にされ得る。いくつかの実装形態では、フィールドE0は、ECC計算を行うために0値に設定され得る。当業者は、上記の詳細な技法に基づいて特定のアプリケーションに関するECCの効率的な実装形態の詳細を認識するであろう。
ここで、図2のページ202内のデータを高速検索するためのタグ付け機構の効率的な実装形態に関する説明を提供する。先に紹介したように、物理メモリ空間全体が、1TBのサイズであることが仮定され得る。1TBの物理メモリ空間は、40ビットを用いてアドレス指定され得る。1TBの物理メモリ全体が64バイト(すなわち、2^6バイト)の粒度でアドレス指定されると仮定すると、1TB(すなわち、2^40バイト)の物理メモリは、2^34個のそのような64バイトラインを含むであろう。タグを形成するのに、合計27ビットのアドレス指定が必要ない。したがって、64バイトラインの各々に対応するための効率的なタグを形成するのに、40ビットのアドレス空間のうちの残りの13ビットで十分である。したがって、この例では、ラインL1〜L15に対応する、13ビットのタグ情報が、フィールドE1〜E15の各々に記憶され得る。
引き続き図2を参照すると、このようにしてフィールドE1〜E15内に記憶されたタグは、ページ202内のラインL1〜L15に対応するタグのすべてがページ202内に確実に含まれるようにする。ここでわかるように、対応するデータと同じページ内のタグのそのような構成は、有利なことに、ページ202がキャッシュとして構成される際、要求データに対するアクセスおよび検索の速度を改善する。
例示的な実施形態では、データ要求がDRAMシステム200のページ202に向けられる際、ページ202は、最初、検査のためにオープンされる。次に、ラインL0にアクセスされ、フィールドE1〜E15内のタグを含むメタデータが分析される。フィールドE1〜E15内のタグのうちの1つにヒットすると、ヒットを起こしたタグに対応するラインL1〜L15は、要求データを含むラインであると判定される。次いで、要求データを含むデータラインが、たとえば、読出動作の際に読み出され得る。他方では、フィールドE1〜E15内に記憶されたタグのいずれにもヒットしない場合、ページ202は要求データを含まないと迅速に判定することができ、ページ202は、迅速にクローズされ得る。代わりに、要求データが、キャッシュ内に存在せず、ミスを起こし、その結果、データが後にキャッシュ内に配置される場合、適正なページが、新規ラインのため、さらにミスの結果として書き戻す必要がある場合もある任意のエビクトされたラインのためにオープンされる。例示的な実施形態において、各ページがセットとして扱われるので、ページ202が要求データを含まないと判定され、ページ202がクローズされると、要求データは、DRAMシステム200内に存在しないと判定され得る。次いで、その後、実施形態は、データ要求を提供するためにメインメモリへのアクセスを開始し得る。このようにして、同じページ内にデータおよび対応するタグを構成することにより、タグデータベースへの別個の劣化したアクセスと、続く記憶データへのアクセスの必要性がなくなり、したがって、アクセス速度およびエネルギー効率を改善することが諒解されよう。
ここで、速度および効率をさらに改善するために、例示的な実施形態におけるメタデータの構成に対するいくつかの最適化を説明する。メモリアクセスは、メモリアクセス動作をいくつかのステップに分割することができるように処理システム内でパイプライン化され得て、各ステップは、システムクロックの単一のサイクルで実行される。そのようなステップは、「ビート」として表すことができ、メモリ動作の第1のビートを第1のクロックサイクルで実行し、第2のビートを次のクロックサイクルで実行する、などとすることができる。メタデータは、最初の数ビートの間に、より多くの重要な情報が利用可能になるように構成され得る。そのような構成は、検査のためにオープンされた特定のページの有用性の迅速な判定を可能にし得る。
たとえば、一実施形態では、ページ202がオープンされた後、第1のビートで利用できるように、13ビットタグのうちの最下位の8ビットが、フィールドE1〜E15内に配置され得る。タグのこれら最下位の8ビットは、ページ202内の要求データに関するヒットまたはミスの可能性の非常に良い推定を与える。フィールドE1〜E15内のタグのうちの1つだけが最下位の8ビットへのヒットをもたらす場合、このヒットは、偽である可能性が低いと判定され得る(他方では、複数のヒットがもたらされる場合、ページ202における要求データの存在を正確に判定するには最下位の8ビットでは不十分である可能性がある)。したがって、第1のビートにおいて単一のヒットが判定される場合、対応するデータに関する初期のフェッチ要求が発され得る。
その後、第2のビートにおいて、タグの残りのビットにアクセスされ、これらのビットは、第1のビートにおいてアクセスされたタグの最下位の8ビットと併せて検討され得る。次いで、完全なタグを、ヒットまたはミスに関して分析することができ、それに応じて動作を行うことができる。たとえば、第2のビートにおいて、第1のビートのヒット表示が偽であると判定される場合、発されたどんな初期フェッチ要求も中止され得る。代わりに、第2のビートにおいて、ヒットと判定または確認された場合、フェッチ要求は、それぞれ、開始または維持され得る。第1および第2のビートにおけるミス表示は、DRAMシステム200内の異なるページに進むために検索プロセスを開始し得る。当業者は、例示的な実施形態の範囲から逸脱することなく、上記で説明したように、同様のラインに関する様々な代替実装形態を認識する。
さらに、最適化は、重要なタグ情報の後で、ECCビットが後のビートにおいてアクセスされ得るように、フィールドE1〜E15内にECCビットを配置するステップを含む。これは、ECCビットが、ページ202内の要求データの存在の迅速な判定には関係していない可能性があるからである。いくつかの実施形態では、(たとえばフィールドE0内に記憶された)メタデータ自体に関するECCビットも判定され得る。誤りがタグ内で起こった可能性があることをそのようなECCビットが明らかにする場合、初期のビートにおけるヒット/ミスの先の判定は、適切に修正する必要があり得る。初期のビートにおけるヒット/ミスの判定に基づくデータの推論的フェッチは、推論的フェッチが予測ミスの場合、電力消費(burning power)という犠牲を払って速度を改善することができるとき、速度とパワー要件との間の許容可能なトレードオフに基づく実施形態において適切に計測され得る。
ここで図3を参照すると、メタデータの最適化された構成に基づいて、ページ202に対するデータ要求を処理するための例示的なタイムラインが示されている。図示のように、時刻302において、検査のためにページ202をオープンする命令が発される。時刻304において、フィールドE1〜E15のタグが、検査のためにページ202のラインL0から要求される。時刻306において、タグの最下位の8ビットが利用可能になる(第1のビート)。時刻308において、タグの残りのビットおよびさらなる任意のメタデータが、ページ202から利用可能になる(第2のビート)。第1および/または第2のビートにおいて、検索されるタグビットに基づいて、ヒット/ミスの判定が行われ得る。検索されたタグのうちの1つにおいて、偽でないヒットが認識されたと仮定すると、対応するラインからの要求は、検索プロセスによって生成され、時刻310においてページ202に達する。時刻312および314では、11個のECCビットは、パート1および2において(たとえば、第3および第4のビートの間に)フィールドE0〜E15から取り出され得る。第1および第2のビートの間にヒットを起こしたラインからの要求データに誤りが存在しないことをECCビットが示すと仮定すると、時刻316〜322の4つのビートにおいて、データ(64バイト)が取り出される。したがって、ページ202に対する検索要求を処理するパイプライン実行は、行うことができ、有利なことに、例示的な実施形態においてメタデータの最適化された構成を利用する。
さらなる有益な特徴が、いくつかの実施形態に含まれ得る。たとえば、実施形態は、次に説明するように、対応するデータと同じページ内の保持用のメタデータからさらなる利点を得ることができる。従来の割出し方式は、連続的にアドレス指定されるラインがセットアソシアティブキャッシュ構造における連続するセット内に構成されるように、タグを形成するための最下位ビットに依存する。各ページが1セットとして構成されてきたので、そのような従来の割出し原理を例示的な実施形態に拡張することにより、連続的にアドレス指定されたラインにおける連続的なミスに対して新規のページをオープンする必要がある可能性があることが暗示されるであろう。そのような連続的なミスに関連する悪影響を最小化するために、実施形態は、最下位ビットとは対照的に、割出しのためにタグの中間ビットを利用し得る。したがって、連続的にアドレス指定されたラインに関するミスは、同じDRAMページ内に確実に入るようにし、複数のDRAMページを連続的にオープンする必要がない。
例示的な例として、例示的な実施形態におけるタグの13ビットのうちの最下位の6ビットが、64バイトライン内の個別のバイトをアドレス指定するために使用され得る。したがって、例示的な実施形態では、従来の技法のような最下位ビットを使用するのではなく、割出しを行うために、位置8〜29のより高い次数のビットを使用することができ、例示的な実施形態は、連続的にアドレス指定されたラインがセットに属することを容易にし、それによって、連続的にアドレス指定されたラインに関するミスが同じDRAMページ内に入るようにする。DRAMページキャッシュ内のラインのそのような構成がページ内の様々なライン間の競合圧力を増大させることができるが、そのような構成は、有利なことに、レイテンシを改善するであろう。認識されるように、15ウェイキャッシュ(ラインL1〜L15、ラインL0はメタデータ用に使用される)を形成するために、ページ202内に16個のラインが構成された。
フィールドE0〜E15において利用できる可能性がある、未使用のメタデータ空間に基づく例示的な実施形態に、さらなる有利な態様を含み得る。ページ202に関して説明してきたように、フィールドE0〜E15の各々は、32ビットを含む。ECCビットは、11ビットを占有し、状態ビット(有効/ダーティ/ロック状態を表す)を含むタグ情報は、13+3=16ビットを占有する。これは、メタデータフィールド内に5ビットの未使用の空間を残す。先に説明したように、ディレクトリ情報および他のキャッシュコヒーレンシ関連の情報は、残りの5ビットのメタデータ内に記憶され得る。さらに、「有効」、「ダーティ」、および「ロック」ビットも、メタデータフィールドに導入することができる。有効およびダーティビットは、古い/修正されたキャッシュラインを追跡および交換するのを支援することができる。時々、関連のDRAMキャッシュラインを無効およびロックとして指定することによって、欠陥部分が修復することがある。より効率的な交換ポリシーまたはプリフェッチ技法を容易にするための情報などの他の情報も、メタデータフィールドに導入され得る。メタデータフィールド内に様々な他の形式のインテリジェンスを含むことができ、当業者は、本明細書で提供する例示的な説明に基づいて、メタデータの適切な構成を認識することが可能である。
さらに、例示的な実施形態は、キャッシュされたメタデータに対応する頻繁にアクセスされるキャッシュラインに関連する情報を迅速に取り出すことができるように、メタデータを別個にキャッシュするように構成することもできる。実装形態が、そのようなメタデータをキャッシュするための別個のキャッシュ構造を含むことができるか、または代わりに、そのようなキャッシュをDRAMシステム200などのDRAMシステムの1つまたは複数のページにおいて行うことができる。さらなる最適化として、メモリシステム上で実行されるアプリケーションの特性に基づいて、オープンページ内の対応するキャッシュラインが将来アクセスされる可能性が高いことがわかっているとき、現在オープンされていることがわかっているページに関連するメタデータのみをキャッシュすることができる。
例示的な実施形態の上記の開示から、ページベースのメモリデバイス(図2のDRAMシステム200など)は、メモリデバイスの各ページ(ページ202など)を第1の部分(たとえば、ラインL1〜L15)および第2の部分(ラインL0など)に分割することができ、第1の部分がデータを含み、第2の部分が第1の部分のデータに対応するメタデータを含むように構成され得ることがわかる。
実施形態は、本明細書で開示されるプロセス、機能および/またはアルゴリズムを実行するための様々な方法を含むことも諒解されよう。たとえば、図4に示すように、一実施形態は、メモリデバイスのページ(たとえば、図2のページ200)のメタデータ部分(たとえば、図2の第2の部分202)からメタデータ(たとえば、図2に示すようにアドレスタグまたはECCビットを含むことができるフィールドE0〜E15)を読むステップ(ブロック402)と、メタデータに基づいてページの特徴を判定するステップ(たとえば、アドレスタグを含むメタデータに基づいて所望の情報が存在するかどうかを判定するステップか、またはECCビットを含むメタデータに基づいてページ内に存在するデータに誤りが検出されるかどうかを判定するステップ、ブロック404)とを含むキャッシュとして、専用のメタデータのないページベースのメモリデバイスを使用する方法を含み得る。本方法は、特徴を判定した結果に基づいて、所望の情報がページ内に存在する場合には所望の情報を読むか、または検出してきた可能性がある誤りを訂正するなど、さらなる動作を行うステップを場合によっては含むことができる(図示せず)。
さらに、DRAMシステム200などの低電力スタック型DRAMは、広い入出力インターフェース、真性シリコンビア(true silicon via)(TSV)インターフェース、またはスタック型インターフェースを介して処理コアなどのマスタデバイスによってアクセスされ得ることが諒解されよう。
情報および信号は、多種多様な技術および技法のいずれかを使用して表すことができることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示した実施形態と関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、かつ記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
したがって、本発明の一実施形態は、キャッシュとして使用するためのメモリデバイスを構成するための方法を実施するコンピュータ可読媒体を含んでもよい。したがって、本発明は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる手段も、本発明の実施形態中に含まれる。
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行えることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび/または動作は、特定の順序で実行されなくてもよい。さらに、本発明の要素は、単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
100 従来のDRAMシステム
102 ページ
200 本発明のDRAMシステム
202 ページ

Claims (17)

  1. 既存の専用のタグ付け機構を有さない、キャッシュとして構成されるメモリデバイスであって、
    ページベースのメモリを含み、
    各ページは、第1の部分がデータを含み、第2の部分が前記第1の部分内の前記データに対応するメタデータを含むように、前記第1の部分および前記第2の部分に分割され、
    前記メタデータは、前記第1の部分内に記憶される前記データのためのアドレスタグ情報を少なくとも含み、
    2つ以上のクロックサイクルにわたる前記メタデータのビットのパイプライン化されたアクセスの間に前記アドレスタグ情報が、前記メタデータのその他のビットよりも前にアクセスできるように、前記メタデータ内のビットの相対配置は、パイプライン化されたアクセス順に基づいている、
    メモリデバイス。
  2. 前記メタデータは、同じページ内のデータのみに対応する、請求項1に記載のメモリデバイス。
  3. 前記メタデータは、誤り訂正符号(ECC)情報をさらに含む、請求項1に記載のメモリデバイス。
  4. 前記第1の部分内に記憶されるデータについての割出しは、前記アドレスタグ情報の中間ビットに基づく、請求項1の記載のメモリデバイス。
  5. 前記メタデータは、ディレクトリ情報、メモリコヒーレンシ情報、またはダーティ/有効/ロック情報のうちの少なくとも1つをさらに含む、請求項1に記載のメモリデバイス。
  6. 前記メモリデバイスは、広い入出力インターフェース、真性シリコンビア(TSV)インターフェース、またはスタック型インターフェースのうちの少なくとも1つを介してマスタデバイスに結合する、請求項1に記載のメモリデバイス。
  7. 前記メモリデバイスは、ダイナミックランダムアクセスメモリ(DRAM)デバイスである、請求項6に記載のメモリデバイス。
  8. 少なくとも1つの半導体ダイに統合されている、請求項1に記載のメモリデバイス。
  9. 既存の専用のタグ付け機構を有さないページベースのメモリデバイスをキャッシュとして構成する方法であって、
    前記メモリデバイスの各ページを、データを含む第1の部分と、前記第1の部分内の前記データに対応するメタデータを含む第2の部分とに分割するステップであって、前記メタデータが、前記第1の部分内に記憶される前記データのためのアドレスタグ情報を少なくとも含む、ステップと、
    2つ以上のクロックサイクルにわたる前記メタデータのビットのパイプライン化されたアクセスの間に、前記アドレスタグ情報が、前記メタデータのその他のビットよりも前にアクセスできるようにパイプライン化されたアクセス順に基づ、前記メタデータのビットを配列するステップと
    を含む、方法。
  10. 前記アドレスタグ情報に基づき、所望の情報が前記ページ内に存在するかどうかを判定するステップをさらに含む、請求項9に記載の方法。
  11. 前記所望の情報が前記ページ内に存在する場合、前記メモリデバイスから前記所望の情報を読むステップをさらに含む、請求項10に記載の方法。
  12. 前記所望の情報が前記ページ内に存在しない場合、所定の動作を行うステップをさらに含む、請求項10に記載の方法。
  13. 前記メタデータは、誤り訂正符号(ECC)情報をさらに含む、請求項9に記載の方法。
  14. 前記アドレスタグ情報の中間ビットに基づき、前記第1の部分内に記憶される前記データを割出すステップをさらに含む、請求項9の記載の方法。
  15. 別個のキャッシュ内に前記メタデータを記憶するステップをさらに含む、請求項9に記載の方法。
  16. オープンページのメタデータのみ前記別個のキャッシュ内に記憶するステップをさらに含む、請求項15に記載の方法。
  17. プロセッサによって実行されたとき、既存の専用のタグ付け機構を有さないページベースのメモリデバイスをキャッシュとして構成するための動作を前記プロセッサに行わせるコードを含むコンピュータ可読記憶媒体であって、
    前記メモリデバイスの各ページを、データを含む第1の部分と、前記第1の部分内の前記データに対応するメタデータを含む第2の部分とに分割するためのコードであって、前記メタデータが、前記第1の部分内に記憶される前記データのためのアドレスタグ情報を少なくとも含む、コードと、
    2つ以上のクロックサイクルにわたる前記メタデータのビットのパイプライン化されたアクセスの間に、前記アドレスタグ情報が、前記メタデータのその他のビットよりも前にアクセスできるようにパイプライン化されたアクセス順に基づ、前記メタデータのビットを配列するためのコードと
    を含む、コンピュータ可読記憶媒体。
JP2014511613A 2011-05-20 2012-05-21 大型ramキャッシュ Expired - Fee Related JP5745168B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/112,132 US20120297256A1 (en) 2011-05-20 2011-05-20 Large Ram Cache
US13/112,132 2011-05-20
PCT/US2012/038794 WO2012162225A1 (en) 2011-05-20 2012-05-21 Memory with metadata stored in a portion of the memory pages

Publications (2)

Publication Number Publication Date
JP2014517394A JP2014517394A (ja) 2014-07-17
JP5745168B2 true JP5745168B2 (ja) 2015-07-08

Family

ID=46245618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014511613A Expired - Fee Related JP5745168B2 (ja) 2011-05-20 2012-05-21 大型ramキャッシュ

Country Status (6)

Country Link
US (1) US20120297256A1 (ja)
EP (1) EP2710472B1 (ja)
JP (1) JP5745168B2 (ja)
KR (1) KR101559023B1 (ja)
CN (1) CN103597450B (ja)
WO (1) WO2012162225A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753858B2 (en) * 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
US9208082B1 (en) * 2012-03-23 2015-12-08 David R. Cheriton Hardware-supported per-process metadata tags
KR102204391B1 (ko) 2014-08-18 2021-01-18 삼성전자주식회사 공유 가능한 ecc 셀 어레이를 갖는 메모리 장치
US9842021B2 (en) * 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
US10467092B2 (en) * 2016-03-30 2019-11-05 Qualcomm Incorporated Providing space-efficient storage for dynamic random access memory (DRAM) cache tags
US10180906B2 (en) 2016-07-26 2019-01-15 Samsung Electronics Co., Ltd. HBM with in-memory cache manager
US10572389B2 (en) * 2017-12-12 2020-02-25 Advanced Micro Devices, Inc. Cache control aware memory controller
US10761749B2 (en) * 2018-10-31 2020-09-01 Micron Technology, Inc. Vectorized processing level calibration in a memory component
US11403043B2 (en) * 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US11287987B2 (en) 2020-03-04 2022-03-29 Micron Technology, Inc. Coherency locking schemes
US11288188B1 (en) 2021-01-21 2022-03-29 Qualcomm Incorporated Dynamic metadata relocation in memory
US11681620B2 (en) * 2021-07-23 2023-06-20 Advanced Micro Devices, Inc. Using error correction code (ECC) bits for retaining victim cache lines in a cache block in a cache memory
US11914472B2 (en) * 2022-07-13 2024-02-27 Dell Products L.P. Use of CXL expansion memory for metadata offload

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1154931C (zh) * 1995-08-04 2004-06-23 吴乾弥 流水线式-脉冲式-单指令多数据阵列处理结构及其方法
US5862154A (en) * 1997-01-03 1999-01-19 Micron Technology, Inc. Variable bit width cache memory architecture
JP4085478B2 (ja) * 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
US6571323B2 (en) * 1999-03-05 2003-05-27 Via Technologies, Inc. Memory-access management method and system for synchronous dynamic Random-Access memory or the like
US6687789B1 (en) * 2000-01-03 2004-02-03 Advanced Micro Devices, Inc. Cache which provides partial tags from non-predicted ways to direct search if way prediction misses
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7526608B2 (en) * 2004-05-28 2009-04-28 Sony Computer Entertainment Inc. Methods and apparatus for providing a software implemented cache memory
JP4725181B2 (ja) * 2005-04-28 2011-07-13 アイシン・エィ・ダブリュ株式会社 ナビゲーションシステム及びキャッシュ管理方法
DE102005060901A1 (de) * 2005-12-20 2007-06-28 Robert Bosch Gmbh Verfahren zur Erkennung einer Versorgungsunterbrechung in einem Datenspeicher und zur Wiederherstellung des Datenspeichers
CN101563722B (zh) * 2006-11-20 2013-01-16 寇平公司 用于低功率消耗应用的移位寄存器
US7761740B2 (en) * 2007-12-13 2010-07-20 Spansion Llc Power safe translation table operation in flash memory
US8694714B2 (en) * 2008-01-18 2014-04-08 Spansion Llc Retargeting of a write operation retry in the event of a write operation failure
US8726126B2 (en) * 2010-03-23 2014-05-13 Apple Inc. Non-regular parity distribution detection via metadata tag

Also Published As

Publication number Publication date
CN103597450B (zh) 2018-03-27
EP2710472B1 (en) 2018-10-10
WO2012162225A1 (en) 2012-11-29
KR20140012186A (ko) 2014-01-29
CN103597450A (zh) 2014-02-19
KR101559023B1 (ko) 2015-10-08
US20120297256A1 (en) 2012-11-22
EP2710472A1 (en) 2014-03-26
JP2014517394A (ja) 2014-07-17

Similar Documents

Publication Publication Date Title
JP5745168B2 (ja) 大型ramキャッシュ
US8984254B2 (en) Techniques for utilizing translation lookaside buffer entry numbers to improve processor performance
US10176099B2 (en) Using data pattern to mark cache lines as invalid
US9235514B2 (en) Predicting outcomes for memory requests in a cache memory
CN109582214B (zh) 数据访问方法以及计算机系统
US10474584B2 (en) Storing cache metadata separately from integrated circuit containing cache controller
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US9405703B2 (en) Translation lookaside buffer
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
CN109240945B (zh) 一种数据处理方法及处理器
US9311239B2 (en) Power efficient level one data cache access with pre-validated tags
CN110018971B (zh) 缓存替换技术
US9672161B2 (en) Configuring a cache management mechanism based on future accesses in a cache
CN109952565B (zh) 内存访问技术
US20120102273A1 (en) Memory agent to access memory blade as part of the cache coherency domain
US9424195B2 (en) Dynamic remapping of cache lines
US20060010354A1 (en) Self-healing cache system
KR102268601B1 (ko) 데이터 포워딩을 위한 프로세서, 그것의 동작 방법 및 그것을 포함하는 시스템
US9990293B2 (en) Energy-efficient dynamic dram cache sizing via selective refresh of a cache in a dram
US9298458B2 (en) Performance of emerging applications in a virtualized environment using transient instruction streams
US11030115B2 (en) Dataless cache entry
Quan et al. Prediction table based management policy for STT-RAM and SRAM hybrid cache
US20060143400A1 (en) Replacement in non-uniform access cache structure
US20140013054A1 (en) Storing data structures in cache
US20040078544A1 (en) Memory address remapping method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150430

R150 Certificate of patent or registration of utility model

Ref document number: 5745168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees