JP2008525919A - プログラマ制御のキャッシュ・ライン追出しポリシーのための方法 - Google Patents
プログラマ制御のキャッシュ・ライン追出しポリシーのための方法 Download PDFInfo
- Publication number
- JP2008525919A JP2008525919A JP2007549512A JP2007549512A JP2008525919A JP 2008525919 A JP2008525919 A JP 2008525919A JP 2007549512 A JP2007549512 A JP 2007549512A JP 2007549512 A JP2007549512 A JP 2007549512A JP 2008525919 A JP2008525919 A JP 2008525919A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- pool
- priority
- code
- processor
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
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
Description
Claims (30)
- プログラマまたはコンパイラのうちの1つは、キャッシュのための対応するキャッシュ追出しポリシーが使用されるコードの一部を示すことを可能にする段階と、
前記キャッシュからキャッシュ・ラインを追出すため、前記コードのランタイム実行時、前記プログラマまたはコンパイラによって示された前記キャッシュ追出しポリシーを使用する段階と、
を含むことを特徴とする方法。 - 指定されたキャッシュ追出しポリシーが適用されるソース・レベルのコードの一部をプログラマが定義することを可能にする段階と、
前記ソース・レベルのコードを機械コードにコンパイルする段階であって、前記機械コードは、前記指定されたキャッシュ追出しポリシーが適用されるソース・レベルの前記コードの一部から導出された機械コードの対応する部分に前記指定されたキャッシュ追出しポリシーを適用する際に支援するための命令を含む、段階と、
をさらに含むことを特徴とする請求項1記載の方法。 - 前記プログララマは、前記指定されたキャッシュ追出しポリシーが適用されるソース・レベルの前記コードの一部を、前記ソース・レベルのコード内にこれらの部分を示すためのステートメントを挿入することによって定義することが可能にされることを特徴とする請求項2記載の方法。
- 前記プログラマが前記ソース・レベルのコードの選択された部分に第1の優先度レベルを割り当てることを可能にする段階であって、ソース・レベルのコードの他の部分は、初期設定により第2のデフォルト優先度レベルに割り当てられる、段階と、
前記機械コードに含まれるキューに応答して、
前記第1の優先度が割り当てられたソース・レベルのコードの前記選択された部分から導出された機械コードに関係するデータおよび/または命令に対して第1のキャッシュ追出しポリシーを適用し、前記デフォルト優先度レベルが割り当てられた前記ソース・レベルの他の部分から導出された機械コードに関係するデータおよび/または命令に対して第2のキャッシュ追出しポリシーを適用する段階と、
をさらに含むことを特徴とする請求項2記載の方法。 - 前記ソース・レベルのコードの前記選択された部分にそれぞれの優先度レベルを前記プログラマが割り当てることを可能にする段階であって、前記それぞれの優先度レベルは、少なくとも3つの異なる優先度レベルを含む、段階と、
前記機械コードに含まれるキューに応答して、
各優先度レベルに割り当てられたソース・レベルのコードの一部に対して、ソース・レベルのコードのそれらの部分から導出された機械コードに関係するデータおよび/または命令のためのそれぞれのキャッシュ追出しポリシーを適用する段階と、
をさらに含むことを特徴とする請求項2記載の方法。 - 異なる優先度レベルを有する複数の優先度プールにキャッシュを分割する段階と、
キャッシュ・ラインに含まれるデータおよび/または命令を参照するコードの一部に含まれる少なくとも1つのキューによって指定された特定の優先度プール内のキャッシュ・ラインを選択的にキャッシュする段階と、
をさらに含むことを特徴とする請求項1記載の方法。 - 各優先度プールに対してそれぞれのキャッシュ・ライン追出しポリシーを適用する段階、
をさらに含むことを特徴とする請求項6記載の方法。 - 前記キャッシュは、n群を有するnウェイ群連想キャッシュを含み、前記方法は、
前記n群のそれぞれに各優先度プールを割り当てることによって、前記キャッシュを複数の優先度プールに分割する段階、
をさらに含むことを特徴とする請求項6記載の方法。 - キャッシュ・ラインに割り当てられた優先度プールを識別する各キャッシュ・ラインを示す表示を維持する段階、
をさらに含むことを特徴とする請求項6記載の方法。 - プログラム・コード実行時、選択された優先度プールのサイズが動的に変更されることを可能にする段階、
をさらに含むことを特徴とする請求項6記載の方法。 - 選択されたキャッシュ・プールにキャッシュ・ラインを割り当てるための命令を含む命令セットを提供する段階、
をさらに含むことを特徴とする請求項6記載の方法。 - 前記命令セットは、特定の優先度レベルを有するキャッシュ・プールにキャッシュ・ラインを割り当てるための命令を含むことを特徴とする請求項11記載の方法。
- 前記命令セットは、特定の優先度レベルを有するキャッシュ・プールにキャッシュ・ラインを割り当てるために使用されるフラグまたはマルチビット・レジスタのうちの1つをセットするための命令を含むことを特徴とする請求項11記載の方法。
- 前記プログラマまたはコンパイラのうちの前記1つは、前記機械コード対応するアセンブリ言語命令を使用することによって、前記機械コードの選択された部分について特定のキャッシュ追出しポリシーの使用を指定することを可能にする段階、
をさらに含むことを特徴とする請求項1記載の方法。 - アプリケーション・プログラムの部分に対してメモリ・アクセス・パターンを観察する段階と、
特定のキャッシュ追出しポリシーが適用される前記アプリケーション・プログラムの部分を決定する段階と、
前記アプリケーション・プログラムのこれらの部分をマーク付けする段階と、
マーク付けされた前記アプリケーション・プログラムの部分に対して前記特定のキャッシュ追出しポリシーを適用する際に支援するために使用されるオペ・コードを含む機械コードを生成するために前記アプリケーション・プログラムを再コンパイルする段階と、
をさらに含むことを特徴とする請求項1記載の方法。 - 特定のキャッシュ追出しポリシーが適用される前記アプリケーション・プログラムの前記部分を決定する段階、および、これらの部分をマーク付けする段階は、コード・チューニング・ツールによって自動的に実施されることを特徴とする請求項15記載の方法。
- 前記キャッシュは、1次(L1)キャッシュを含むことを特徴とする請求項1記載の方法。
- 前記キャッシュは、2次(L2)キャッシュを含むことを特徴とする請求項1記載の方法。
- 前記キャッシュは、3次(L3)キャッシュを含むことを特徴とする請求項1記載の方法。
- プロセッサ・コアと、
前記プロセッサ・コアに結合されたキャッシュ・コントローラと、
前記キャッシュ・コントローラによって制御され、前記プロセッサ・コアからのデータを受信し、そこにデータを提供するために動作可能に結合され、少なくとも1つのTAGアレイ、および、少なくとも1つのキャッシュ・ライン・アレイを含む第1のキャッシュと、
を含むプロセッサであって、
前記キャッシュ・コントローラは、前記第1のキャッシュを複数のプールに分割し、それぞれのプールに対してそれぞれのキャッシュ追出しポリシーを適用するためにプログラムされることを特徴とするプロセッサ。 - 前記第1のキャッシュは、前記プロセッサに結合された1次(L1)キャッシュを含むことを特徴とする請求項20記載のプロセッサ。
- 前記第1のキャッシュは、2次(L2)キャッシュを含み、前記プロセッサがさらに、
前記プロセッサと前記L2キャッシュとの間で結合され、前記キャッシュ・コントローラによって制御された1次(LI)のキャッシュを、
さらに含むことを特徴とする請求項20記載のプロセッサ。 - 前記キャッシュは、各キャッシュ・ラインに関連する少なくとも1つのプール識別子(ID)ビットを含み、前記少なくとも1つのプールIDビットは、前記キャッシュ・ラインが割り当てられた前記プールを指定するために使用されることを特徴とする請求項20記載のプロセッサ。
- 前記キャッシュ・コントローラは、少なくとも1つのプールのサイズを動的に変更するため、前記プロセッサ・コアから受信された入力に応答して、キャッシュ・ラインに対する前記少なくとも1つのプールIDビットが変更されることを可能にするようにプログラムされることを特徴とする請求項23記載のプロセッサ。
- 前記キャッシュは、nウェイ群連想キャッシュを含むことを特徴とする請求項20記載のプロセッサ。
- 前記nウェイ群連想キャッシュはn個のキャッシュ・ラインのグループを含み、キャッシュ・ラインの各グループは、異なるプールに関連し、前記キャッシュ・コントローラは、各プールに対するそれぞれのキャッシュ追出しポリシーを提供することを特徴とする請求項25記載のプロセッサ。
- 前記プロセッサ・コアは、プールを指定するためのキューを含む少なくとも1つのメモリ・アクセス命令を含む命令セットの実行をサポートし、そのプールに対し前記メモリ・アクセス命令によって参照されるメモリ・アドレスに位置するデータおよび/または命令を含むキャッシュ・ラインが割り当てられ、前記プロセッサ・コアによるこのようなメモリ・アクセス命令の実行は、
キャッシュ・ミスに応答して、前記メモリ・アクセス命令内の前記キューに基づいて新しいキャッシュ・ラインが割り当てられるプールを決定する段階と、
前記プールに割り当てられたキャッシュ追出しポリシーを使用して決定される前記プールから追出す既存のキャッシュ・ラインを選択する段階と、
キャッシュ・ライン内に挿入されるデータ・ブロックを取り出す段階であって、前記データ・ブロックは、前記メモリ・アクセス命令によって参照されたシステム・メモリ内のアドレスに格納されたデータおよび/または命令を含む、段階と、
追出しに選ばれた前記キャッシュ・ラインに前記データ・ブロックをコピーする段階と、
を含む動作を実施することを特徴とする請求項20記載のプロセッサ。 - プログラム命令およびデータを格納するために、SDRAM(同期動的ランダム・アクセス・メモリ)を含むメモリと、
前記メモリへのアクセスを制御するためのメモリ・コントローラと、
前記メモリ・コントローラに結合されたプロセッサであって、
プロセッサ・コア、
前記プロセッサ・コアに結合されたキャッシュ・コントローラ、
前記キャッシュ・コントローラによって制御され、前記プロセッサ・コアからデータを受信し、そこにデータを提供するため動作可能に結合された1次(L1)キャッシュ、および
前記キャッシュ・コントローラによって制御され、前記プロセッサ・コアからデータを受信し、そこにデータを提供するため動作可能に結合された2次(L2)キャッシュ、
を含むプロセッサと、
を含むコンピュータ・システムにおいて、
前記キャッシュ・コントローラは、前記L1およびL2のキャッシュの少なくとも1つを複数のプールに分割し、各プールに対してそれぞれのキャッシュ追出しポリシーを適用するためにプログラムされる、
ことを特徴とする、コンピュータ・システム。 - 前記L2キャッシュは、
n個のキャッシュ・ライン・グループを含むnウェイ群連想キャッシュを含み、キャッシュ・ラインの各グループは異なるプールと関連し、ここで前記キャッシュ・コントローラは、各プールに対してそれぞれのキャッシュ追出しポリシーを提供することを特徴とする請求項28記載のコンピュータ・システム。 - 前記L1キャッシュは、命令キャッシュおよびデータ・キャッシュを含むハーバード・アーキテクチャを含み、ここで前記命令キャッシュ・コントローラは、前記命令キャッシュのためのキャッシュ・ラインを複数のプールに分割するためにプログラムされ、前記キャッシュ・コントローラは、各プールに対してそれぞれのキャッシュ・ライン追出しポリシーを使用することを特徴とする請求項28記載のコンピュータ、システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/027,444 US20060143396A1 (en) | 2004-12-29 | 2004-12-29 | Method for programmer-controlled cache line eviction policy |
PCT/US2005/046846 WO2006071792A2 (en) | 2004-12-29 | 2005-12-20 | Method for programmer-controlled cache line eviction policy |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008525919A true JP2008525919A (ja) | 2008-07-17 |
Family
ID=36454331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007549512A Pending JP2008525919A (ja) | 2004-12-29 | 2005-12-20 | プログラマ制御のキャッシュ・ライン追出しポリシーのための方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20060143396A1 (ja) |
EP (1) | EP1831791A2 (ja) |
JP (1) | JP2008525919A (ja) |
CN (1) | CN100437523C (ja) |
WO (1) | WO2006071792A2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244205A (ja) * | 2009-04-02 | 2010-10-28 | Fujitsu Ltd | コンパイラプログラムおよびコンパイラ装置 |
JP2011204060A (ja) * | 2010-03-26 | 2011-10-13 | Nec Corp | ディスク装置 |
JP2014503103A (ja) * | 2011-12-23 | 2014-02-06 | インテル・コーポレーション | 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置 |
JP2017519286A (ja) * | 2014-05-21 | 2017-07-13 | クアルコム,インコーポレイテッド | 中央処理装置(cpu)搭載システム内の圧縮メモリコントローラ(cmc)を使用したメモリ帯域圧縮の提供 |
US10838862B2 (en) | 2014-05-21 | 2020-11-17 | Qualcomm Incorporated | Memory controllers employing memory capacity compression, and related processor-based systems and methods |
Families Citing this family (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065805A (ja) * | 2004-08-30 | 2006-03-09 | Canon Inc | 画像処理装置及び制御方法 |
US7594081B2 (en) | 2004-09-10 | 2009-09-22 | Cavium Networks, Inc. | Direct access to low-latency memory |
JP2008512786A (ja) | 2004-09-10 | 2008-04-24 | カビウム・ネットワークス | データ構造の選択的複製方法および装置 |
US7941585B2 (en) | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
US7281092B2 (en) * | 2005-06-02 | 2007-10-09 | International Business Machines Corporation | System and method of managing cache hierarchies with adaptive mechanisms |
US7895398B2 (en) * | 2005-07-19 | 2011-02-22 | Dell Products L.P. | System and method for dynamically adjusting the caching characteristics for each logical unit of a storage array |
US7958312B2 (en) * | 2005-11-15 | 2011-06-07 | Oracle America, Inc. | Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state |
US7934054B1 (en) | 2005-11-15 | 2011-04-26 | Oracle America, Inc. | Re-fetching cache memory enabling alternative operational modes |
US7647452B1 (en) | 2005-11-15 | 2010-01-12 | Sun Microsystems, Inc. | Re-fetching cache memory enabling low-power modes |
US7899990B2 (en) * | 2005-11-15 | 2011-03-01 | Oracle America, Inc. | Power conservation via DRAM access |
US7516274B2 (en) * | 2005-11-15 | 2009-04-07 | Sun Microsystems, Inc. | Power conservation via DRAM access reduction |
US7873788B1 (en) | 2005-11-15 | 2011-01-18 | Oracle America, Inc. | Re-fetching cache memory having coherent re-fetching |
US7415575B1 (en) * | 2005-12-08 | 2008-08-19 | Nvidia, Corporation | Shared cache with client-specific replacement policy |
US7747627B1 (en) * | 2005-12-09 | 2010-06-29 | Cisco Technology, Inc. | Method and system for file retrieval using image virtual file system |
US7725922B2 (en) * | 2006-03-21 | 2010-05-25 | Novell, Inc. | System and method for using sandboxes in a managed shell |
US7743414B2 (en) | 2006-05-26 | 2010-06-22 | Novell, Inc. | System and method for executing a permissions recorder analyzer |
US7908236B2 (en) * | 2006-07-20 | 2011-03-15 | International Business Machines Corporation | Using multiple data structures to manage data in cache |
US7805707B2 (en) * | 2006-07-21 | 2010-09-28 | Novell, Inc. | System and method for preparing runtime checks |
US7739735B2 (en) * | 2006-07-26 | 2010-06-15 | Novell, Inc. | System and method for dynamic optimizations using security assertions |
EP2050002A2 (en) * | 2006-08-01 | 2009-04-22 | Massachusetts Institute of Technology | Extreme virtual memory |
US7856654B2 (en) * | 2006-08-11 | 2010-12-21 | Novell, Inc. | System and method for network permissions evaluation |
US7823186B2 (en) * | 2006-08-24 | 2010-10-26 | Novell, Inc. | System and method for applying security policies on multiple assembly caches |
US7555605B2 (en) * | 2006-09-28 | 2009-06-30 | Freescale Semiconductor, Inc. | Data processing system having cache memory debugging support and method therefor |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US8706968B2 (en) | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US8443134B2 (en) | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
WO2008070813A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US7752395B1 (en) * | 2007-02-28 | 2010-07-06 | Network Appliance, Inc. | Intelligent caching of data in a storage server victim cache |
US9329800B2 (en) | 2007-06-29 | 2016-05-03 | Seagate Technology Llc | Preferred zone scheduling |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
CN101652760B (zh) * | 2007-12-10 | 2012-12-26 | 松下电器产业株式会社 | 共享缓存控制装置、共享缓存控制方法及集成电路 |
US8549222B1 (en) * | 2008-02-12 | 2013-10-01 | Netapp, Inc. | Cache-based storage system architecture |
JP5348146B2 (ja) * | 2009-01-28 | 2013-11-20 | 日本電気株式会社 | キャッシュメモリおよびその制御方法 |
EP2441005A2 (en) | 2009-06-09 | 2012-04-18 | Martin Vorbach | System and method for a cache in a multi-core processor |
WO2011031796A2 (en) | 2009-09-08 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for caching data on a solid-state storage device |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
US8601222B2 (en) | 2010-05-13 | 2013-12-03 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
EP2476079A4 (en) | 2009-09-09 | 2013-07-03 | Fusion Io Inc | APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION |
AU2010201718B2 (en) * | 2010-04-29 | 2012-08-23 | Canon Kabushiki Kaisha | Method, system and apparatus for identifying a cache line |
WO2012016089A2 (en) | 2010-07-28 | 2012-02-02 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
CN102387425B (zh) * | 2010-08-30 | 2015-05-20 | 中兴通讯股份有限公司 | 缓存装置及方法 |
US20120239860A1 (en) | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8966184B2 (en) | 2011-01-31 | 2015-02-24 | Intelligent Intellectual Property Holdings 2, LLC. | Apparatus, system, and method for managing eviction of data |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
US8966191B2 (en) | 2011-03-18 | 2015-02-24 | Fusion-Io, Inc. | Logical interface for contextual storage |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US9189424B2 (en) * | 2011-05-31 | 2015-11-17 | Hewlett-Packard Development Company, L.P. | External cache operation based on clean castout messages |
GB2513492B (en) * | 2011-12-16 | 2018-07-11 | Ibm | Tape drive system server |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9251086B2 (en) * | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
US20130290636A1 (en) * | 2012-04-30 | 2013-10-31 | Qiming Chen | Managing memory |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US9552293B1 (en) | 2012-08-06 | 2017-01-24 | Google Inc. | Emulating eviction data paths for invalidated instruction cache |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US8873747B2 (en) | 2012-09-25 | 2014-10-28 | Apple Inc. | Key management using security enclave processor |
US9047471B2 (en) * | 2012-09-25 | 2015-06-02 | Apple Inc. | Security enclave processor boot control |
US9600418B2 (en) * | 2012-11-19 | 2017-03-21 | Florida State University Research Foundation, Inc. | Systems and methods for improving processor efficiency through caching |
US9612960B2 (en) | 2012-11-19 | 2017-04-04 | Florida State University Research Foundation, Inc. | Data filter cache designs for enhancing energy efficiency and performance in computing systems |
CN103019962B (zh) * | 2012-12-21 | 2016-03-30 | 华为技术有限公司 | 数据缓存处理方法、装置以及*** |
US9158497B2 (en) * | 2013-01-02 | 2015-10-13 | International Business Machines Corporation | Optimization of native buffer accesses in Java applications on hybrid systems |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
WO2014142969A1 (en) * | 2013-03-15 | 2014-09-18 | Intel Corporation | Object liveness tracking for use in processing device cache |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US9747341B2 (en) | 2013-06-06 | 2017-08-29 | Oracle International Corporation | System and method for providing a shareable global cache for use with a database environment |
US9600546B2 (en) | 2013-06-06 | 2017-03-21 | Oracle International Corporation | System and method for marshaling massive database data from native layer to java using linear array |
US9569472B2 (en) | 2013-06-06 | 2017-02-14 | Oracle International Corporation | System and method for providing a second level connection cache for use with a database environment |
US9720970B2 (en) | 2013-06-06 | 2017-08-01 | Oracle International Corporation | Efficient storage and retrieval of fragmented data using pseudo linear dynamic byte array |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US9378153B2 (en) * | 2013-08-27 | 2016-06-28 | Advanced Micro Devices, Inc. | Early write-back of modified data in a cache memory |
US10049048B1 (en) * | 2013-10-01 | 2018-08-14 | Facebook, Inc. | Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9471524B2 (en) * | 2013-12-09 | 2016-10-18 | Atmel Corporation | System bus transaction queue reallocation |
CN105359116B (zh) * | 2014-03-07 | 2018-10-19 | 华为技术有限公司 | 缓存器、共享缓存管理方法及控制器 |
JP2015176245A (ja) | 2014-03-13 | 2015-10-05 | 株式会社東芝 | 情報処理装置及びデータ構造 |
US10942866B1 (en) * | 2014-03-21 | 2021-03-09 | EMC IP Holding Company LLC | Priority-based cache |
KR102248915B1 (ko) * | 2014-03-26 | 2021-05-07 | 삼성전자주식회사 | 하이브리드 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 데이터 처리 방법 |
US20160055100A1 (en) * | 2014-08-19 | 2016-02-25 | Advanced Micro Devices, Inc. | System and method for reverse inclusion in multilevel cache hierarchy |
JP2016057763A (ja) | 2014-09-08 | 2016-04-21 | 株式会社東芝 | キャッシュ装置、及びプロセッサ |
US9547778B1 (en) | 2014-09-26 | 2017-01-17 | Apple Inc. | Secure public key acceleration |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US9684602B2 (en) | 2015-03-11 | 2017-06-20 | Kabushiki Kaisha Toshiba | Memory access control device, cache memory and semiconductor device |
US9740635B2 (en) | 2015-03-12 | 2017-08-22 | Intel Corporation | Computing method and apparatus associated with context-aware management of a file cache |
US9886194B2 (en) * | 2015-07-13 | 2018-02-06 | Samsung Electronics Co., Ltd. | NVDIMM adaptive access mode and smart partition mechanism |
US10404603B2 (en) * | 2016-01-22 | 2019-09-03 | Citrix Systems, Inc. | System and method of providing increased data optimization based on traffic priority on connection |
GB2547191B (en) * | 2016-02-05 | 2020-01-08 | Advanced Risc Mach Ltd | An apparatus and method for supporting multiple cache features |
US11249914B2 (en) * | 2016-04-12 | 2022-02-15 | Vmware, Inc. | System and methods of an efficient cache algorithm in a hierarchical storage system |
US10282302B2 (en) * | 2016-06-30 | 2019-05-07 | Hewlett Packard Enterprise Development Lp | Programmable memory-side cache management for different applications |
US10599585B2 (en) * | 2017-03-23 | 2020-03-24 | Intel Corporation | Least recently used-based hotness tracking mechanism enhancements for high performance caching |
WO2018179044A1 (ja) * | 2017-03-27 | 2018-10-04 | 三菱電機株式会社 | キャッシュメモリおよびその制御方法 |
CN107171918B (zh) * | 2017-04-26 | 2020-06-16 | 成都成电光信科技股份有限公司 | 支持优先级的gjb289a总线模块中的消息收发方法 |
US11294572B2 (en) * | 2017-07-06 | 2022-04-05 | Seagate Technology, Llc | Data storage system with late read buffer assignment after arrival of data in cache |
CN108304044A (zh) * | 2018-02-28 | 2018-07-20 | 郑州云海信息技术有限公司 | 一种nvme硬盘热插拔的设置方法及*** |
US10983922B2 (en) | 2018-05-18 | 2021-04-20 | International Business Machines Corporation | Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module |
US11010306B2 (en) * | 2018-10-22 | 2021-05-18 | Arm Limited | Apparatus and method for managing a cache hierarchy |
US10915461B2 (en) | 2019-03-05 | 2021-02-09 | International Business Machines Corporation | Multilevel cache eviction management |
CN113424148A (zh) | 2019-03-15 | 2021-09-21 | 英特尔公司 | 用于检测跨分片访问、提供多分片推理缩放和提供最佳页迁移的多分片存储器管理 |
US11620230B2 (en) * | 2019-05-24 | 2023-04-04 | Texas Instruments Incorporated | Methods and apparatus to facilitate read-modify-write support in a coherent victim cache with parallel data paths |
CN111290759B (zh) * | 2020-01-19 | 2023-09-19 | 龙芯中科技术股份有限公司 | 指令生成方法、装置及设备 |
CN113392042B (zh) * | 2020-03-12 | 2024-04-09 | 伊姆西Ip控股有限责任公司 | 用于管理缓存的方法、电子设备和计算机程序产品 |
US11436158B2 (en) | 2020-05-29 | 2022-09-06 | International Business Machines Corporation | Fine-grained forced cache eviction |
CN112130988B (zh) * | 2020-08-12 | 2022-07-26 | 国电南瑞科技股份有限公司 | 一种基于优先级分区的任务加速优化方法及装置 |
EP4006734B1 (en) * | 2020-11-25 | 2024-05-08 | ARM Limited | Methods and apparatus for transferring data within hierarchical cache circuitry |
US11693778B2 (en) * | 2020-12-11 | 2023-07-04 | Advanced Micro Devices, Inc. | Cache grouping for increasing performance and fairness in shared caches |
CN112612728B (zh) * | 2020-12-17 | 2022-11-11 | 海光信息技术股份有限公司 | 缓存管理方法及装置、设备 |
US20220365882A1 (en) * | 2021-05-13 | 2022-11-17 | Nvidia Corporation | System and method of controlling cache memory residency |
US12026129B2 (en) * | 2022-03-30 | 2024-07-02 | Snowflake Inc. | Atomic cache management of file collections |
CN117093160B (zh) * | 2023-10-18 | 2024-02-02 | 苏州元脑智能科技有限公司 | Cache的数据处理方法、装置、计算机设备和介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04100158A (ja) * | 1990-08-18 | 1992-04-02 | Pfu Ltd | キャッシュ制御方式 |
JPH05143451A (ja) * | 1991-11-20 | 1993-06-11 | Kisaburo Nakazawa | データ処理装置 |
JPH0659977A (ja) * | 1992-08-05 | 1994-03-04 | Sony Corp | 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法 |
JPH08335188A (ja) * | 1995-06-08 | 1996-12-17 | Hitachi Ltd | ソフトウェア制御可能なキャッシュメモリ装置 |
JPH09282226A (ja) * | 1996-04-12 | 1997-10-31 | Nec Corp | 登録資格フラグ付きキャッシュメモリ |
JPH1196074A (ja) * | 1997-07-22 | 1999-04-09 | Hewlett Packard Co <Hp> | 交換アルゴリズム動的選択コンピュータシステム |
JP2002007213A (ja) * | 2000-06-26 | 2002-01-11 | Matsushita Electric Ind Co Ltd | キャッシュメモリ制御方法及びプログラム処理方法 |
JP2002116956A (ja) * | 2000-10-06 | 2002-04-19 | Nec Corp | キャッシュ制御方法及びキャッシュ制御システム |
US20020087809A1 (en) * | 2000-12-28 | 2002-07-04 | Arimilli Ravi Kumar | Multiprocessor computer system with sectored cache line mechanism for cache intervention |
US6434668B1 (en) * | 1999-09-07 | 2002-08-13 | International Business Machines Corporation | Method of cache management to store information in particular regions of the cache according to information-type |
JP2002342163A (ja) * | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | マルチスレッドプロセッサ用キャッシュ制御方式 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6321296B1 (en) * | 1998-08-04 | 2001-11-20 | International Business Machines Corporation | SDRAM L3 cache using speculative loads with command aborts to lower latency |
US7035979B2 (en) * | 2002-05-22 | 2006-04-25 | International Business Machines Corporation | Method and apparatus for optimizing cache hit ratio in non L1 caches |
US20040199727A1 (en) * | 2003-04-02 | 2004-10-07 | Narad Charles E. | Cache allocation |
-
2004
- 2004-12-29 US US11/027,444 patent/US20060143396A1/en not_active Abandoned
-
2005
- 2005-12-20 JP JP2007549512A patent/JP2008525919A/ja active Pending
- 2005-12-20 EP EP05855412A patent/EP1831791A2/en not_active Ceased
- 2005-12-20 WO PCT/US2005/046846 patent/WO2006071792A2/en active Application Filing
- 2005-12-29 CN CNB2005101215586A patent/CN100437523C/zh not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04100158A (ja) * | 1990-08-18 | 1992-04-02 | Pfu Ltd | キャッシュ制御方式 |
JPH05143451A (ja) * | 1991-11-20 | 1993-06-11 | Kisaburo Nakazawa | データ処理装置 |
JPH0659977A (ja) * | 1992-08-05 | 1994-03-04 | Sony Corp | 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法 |
JPH08335188A (ja) * | 1995-06-08 | 1996-12-17 | Hitachi Ltd | ソフトウェア制御可能なキャッシュメモリ装置 |
JPH09282226A (ja) * | 1996-04-12 | 1997-10-31 | Nec Corp | 登録資格フラグ付きキャッシュメモリ |
JPH1196074A (ja) * | 1997-07-22 | 1999-04-09 | Hewlett Packard Co <Hp> | 交換アルゴリズム動的選択コンピュータシステム |
US6434668B1 (en) * | 1999-09-07 | 2002-08-13 | International Business Machines Corporation | Method of cache management to store information in particular regions of the cache according to information-type |
JP2002007213A (ja) * | 2000-06-26 | 2002-01-11 | Matsushita Electric Ind Co Ltd | キャッシュメモリ制御方法及びプログラム処理方法 |
JP2002116956A (ja) * | 2000-10-06 | 2002-04-19 | Nec Corp | キャッシュ制御方法及びキャッシュ制御システム |
US20020087809A1 (en) * | 2000-12-28 | 2002-07-04 | Arimilli Ravi Kumar | Multiprocessor computer system with sectored cache line mechanism for cache intervention |
JP2002342163A (ja) * | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | マルチスレッドプロセッサ用キャッシュ制御方式 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244205A (ja) * | 2009-04-02 | 2010-10-28 | Fujitsu Ltd | コンパイラプログラムおよびコンパイラ装置 |
JP2011204060A (ja) * | 2010-03-26 | 2011-10-13 | Nec Corp | ディスク装置 |
JP2014503103A (ja) * | 2011-12-23 | 2014-02-06 | インテル・コーポレーション | 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置 |
US9411728B2 (en) | 2011-12-23 | 2016-08-09 | Intel Corporation | Methods and apparatus for efficient communication between caches in hierarchical caching design |
JP2017519286A (ja) * | 2014-05-21 | 2017-07-13 | クアルコム,インコーポレイテッド | 中央処理装置(cpu)搭載システム内の圧縮メモリコントローラ(cmc)を使用したメモリ帯域圧縮の提供 |
US10503661B2 (en) | 2014-05-21 | 2019-12-10 | Qualcomm Incorporated | Providing memory bandwidth compression using compressed memory controllers (CMCs) in a central processing unit (CPU)-based system |
US10838862B2 (en) | 2014-05-21 | 2020-11-17 | Qualcomm Incorporated | Memory controllers employing memory capacity compression, and related processor-based systems and methods |
Also Published As
Publication number | Publication date |
---|---|
EP1831791A2 (en) | 2007-09-12 |
CN1804816A (zh) | 2006-07-19 |
WO2006071792A3 (en) | 2007-01-04 |
WO2006071792A2 (en) | 2006-07-06 |
CN100437523C (zh) | 2008-11-26 |
US20060143396A1 (en) | 2006-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008525919A (ja) | プログラマ制御のキャッシュ・ライン追出しポリシーのための方法 | |
US7395407B2 (en) | Mechanisms and methods for using data access patterns | |
US7975107B2 (en) | Processor cache management with software input via an intermediary | |
US20060212654A1 (en) | Method and apparatus for intelligent instruction caching using application characteristics | |
US9251095B2 (en) | Providing metadata in a translation lookaside buffer (TLB) | |
JP5528554B2 (ja) | ブロックベースの非透過的キャッシュ | |
US8490065B2 (en) | Method and apparatus for software-assisted data cache and prefetch control | |
US9286221B1 (en) | Heterogeneous memory system | |
US20180300258A1 (en) | Access rank aware cache replacement policy | |
Peir et al. | Capturing dynamic memory reference behavior with adaptive cache topology | |
US7526609B2 (en) | Runtime register allocator | |
Kloosterman et al. | Regless: Just-in-time operand staging for GPUs | |
US20200104259A1 (en) | System, method, and apparatus for snapshot prefetching to improve performance of snapshot operations | |
US6434668B1 (en) | Method of cache management to store information in particular regions of the cache according to information-type | |
US8874853B2 (en) | Local and global memory request predictor | |
EP1869557B1 (en) | Global modified indicator to reduce power consumption on cache miss | |
Bock et al. | Concurrent page migration for mobile systems with OS-managed hybrid memory | |
US20220066940A1 (en) | Limited propagation of unnecessary memory updates | |
Yu et al. | A quantitative evaluation of unified memory in GPUs | |
KR101689094B1 (ko) | 스티키 제거 엔진을 구비한 시스템 캐시 | |
Li et al. | An efficient GPU cache architecture for applications with irregular memory access patterns | |
Lira et al. | The migration prefetcher: Anticipating data promotion in dynamic nuca caches | |
Titos-Gil et al. | Way-combining directory: an adaptive and scalable low-cost coherence directory | |
JPH11143774A (ja) | キャッシュ制御機構 | |
Jain | Memory Models for Embedded Multicore Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101129 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110228 Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110228 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110307 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110729 Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110729 |