JP6485320B2 - キャッシュメモリおよびキャッシュメモリの制御方法 - Google Patents
キャッシュメモリおよびキャッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP6485320B2 JP6485320B2 JP2015209087A JP2015209087A JP6485320B2 JP 6485320 B2 JP6485320 B2 JP 6485320B2 JP 2015209087 A JP2015209087 A JP 2015209087A JP 2015209087 A JP2015209087 A JP 2015209087A JP 6485320 B2 JP6485320 B2 JP 6485320B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- memory
- cache memory
- ratio
- 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.)
- Active
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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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
-
- 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/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
LAV=(Aa×LTa×Ma+Ab×LTb×Mb)/(Aa+Ab) ・・・(1)
式(1)のAa、Abは、DRAM、NVRAMのアクセスの割合をそれぞれ示し、LTa、LTbは、DRAM、NVRAMのレイテンシをそれぞれ示す。また、式(1)のMaは、DRAMに割り当てられたアドレスADRaに対するアクセスのキャッシュミス率を示し、Mbは、NVRAMに割り当てられたアドレスADRbに対するアクセスのキャッシュミス率を示す。
Ta=(Aa×Da)/(Aa×Da+Ab×Db+Ac×Dc) ・・・(2)
Tb=(Ab×Db)/(Aa×Da+Ab×Db+Ac×Dc) ・・・(3)
Tc=(Ac×Dc)/(Aa×Da+Ab×Db+Ac×Dc) ・・・(4)
ステップS210の処理が実行された後、キャッシュメモリCMEM3の動作は、ステップS211に移る。
NCa=Ca/(Ca+Cb+Cc) ・・・(5)
NCb=Cb/(Ca+Cb+Cc) ・・・(6)
NCc=Cc/(Ca+Cb+Cc) ・・・(7)
ステップS211の処理が実行された後、キャッシュメモリCMEM3の動作は、ステップS212に移る。
Claims (6)
- アクセス要求からデータ転送までの時間を示すレイテンシが互いに異なる複数のメモリデバイスを含む記憶装置に記憶されたデータの一部を保持するデータ保持部と、
前記複数のメモリデバイスのレイテンシの比と前記複数のメモリデバイスに対するアクセス頻度の比との前記複数のメモリデバイス毎の積と、前記複数のメモリデバイスから転送されて前記データ保持部に保持されたデータの量を示すデータ量の比とを比較し、前記積と前記データ量の比との比較結果に基づいて、前記データ保持部からのデータの追い出しを制御する制御部と
を有することを特徴とするキャッシュメモリ。 - 請求項1に記載のキャッシュメモリにおいて、
前記制御部は、
前記記憶装置へのアクセスを前記複数のメモリデバイス毎にカウントする複数のカウンタと、
前記データ量の比を示す第1情報を保持する第1レジスタ部と、
前記複数のメモリデバイスのレイテンシの比を示す第2情報を保持する第2レジスタ部とを有する
ことを特徴とするキャッシュメモリ。 - 請求項1または請求項2に記載のキャッシュメモリにおいて、
前記データ保持部に記憶されたデータの転送元のメモリデバイスの種別を示す種別情報を保持する情報保持部をさらに有し、
前記制御部は、前記比較結果と、前記情報保持部に保持された前記種別情報とに基づいて、前記データ保持部からのデータの追い出しを制御する
ことを特徴とするキャッシュメモリ。 - 請求項3に記載のキャッシュメモリにおいて、
前記制御部は、前記データ保持部から追い出すデータのメモリデバイスの種別を前記比較結果に基づいて決定し、前記データ保持部から追い出すデータの候補のうち、決定した種別のメモリデバイスから転送されたデータを検索対象にして、前記検索対象のデータのうち、使用されていない時間が最も長いデータを前記データ保持部から追い出す
ことを特徴とするキャッシュメモリ。 - 請求項1ないし請求項4のいずれか1項に記載のキャッシュメモリにおいて、
前記複数のメモリデバイスのいずれかがレイテンシが変化する第1メモリデバイスである場合に、前記第1メモリデバイスのレイテンシを計測するレイテンシ計測部をさらに有し、
前記制御部は、前記レイテンシ計測部で計測したレイテンシの平均値を用いて、前記複数のメモリデバイスのレイテンシの比を算出する
ことを特徴とするキャッシュメモリ。 - アクセス要求からデータ転送までの時間を示すレイテンシが互いに異なる複数のメモリデバイスを含む記憶装置に記憶されたデータの一部をデータ保持部に格納するキャッシュメモリの制御方法において、
前記キャッシュメモリが有する制御部は、前記複数のメモリデバイスのレイテンシの比と前記複数のメモリデバイスに対するアクセス頻度の比との前記複数のメモリデバイス毎の積と、前記複数のメモリデバイスから転送されて前記データ保持部に保持されたデータの量を示すデータ量の比とを比較し、
前記制御部は、前記積と前記データ量の比との比較結果に基づいて、前記データ保持部からのデータの追い出しを制御する
ことを特徴とするキャッシュメモリの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015209087A JP6485320B2 (ja) | 2015-10-23 | 2015-10-23 | キャッシュメモリおよびキャッシュメモリの制御方法 |
US15/286,664 US10073788B2 (en) | 2015-10-23 | 2016-10-06 | Information processing device and method executed by an information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015209087A JP6485320B2 (ja) | 2015-10-23 | 2015-10-23 | キャッシュメモリおよびキャッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017083949A JP2017083949A (ja) | 2017-05-18 |
JP6485320B2 true JP6485320B2 (ja) | 2019-03-20 |
Family
ID=58558626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015209087A Active JP6485320B2 (ja) | 2015-10-23 | 2015-10-23 | キャッシュメモリおよびキャッシュメモリの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10073788B2 (ja) |
JP (1) | JP6485320B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540098B2 (en) | 2016-07-19 | 2020-01-21 | Sap Se | Workload-aware page management for in-memory databases in hybrid main memory systems |
US10387127B2 (en) | 2016-07-19 | 2019-08-20 | Sap Se | Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases |
US11977484B2 (en) * | 2016-07-19 | 2024-05-07 | Sap Se | Adapting in-memory database in hybrid memory systems and operating system interface |
US10437798B2 (en) | 2016-07-19 | 2019-10-08 | Sap Se | Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems |
US10783146B2 (en) | 2016-07-19 | 2020-09-22 | Sap Se | Join operations in hybrid main memory systems |
US10452539B2 (en) | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
US10474557B2 (en) | 2016-07-19 | 2019-11-12 | Sap Se | Source code profiling for line-level latency and energy consumption estimation |
US10698732B2 (en) | 2016-07-19 | 2020-06-30 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
US11010379B2 (en) | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
CN112398790B (zh) * | 2019-08-15 | 2021-11-19 | 华为技术有限公司 | 通信方法、装置和计算机可读存储介质 |
US11681617B2 (en) * | 2021-03-12 | 2023-06-20 | Arm Limited | Cache victim selection based on completer determined cost in a data processing system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0689232A (ja) | 1992-09-08 | 1994-03-29 | Fujitsu Ltd | キャッシュメモリの制御方法 |
JP3490742B2 (ja) * | 1993-09-08 | 2004-01-26 | 松下電器産業株式会社 | メモリ管理装置 |
JP3486435B2 (ja) | 1993-11-30 | 2004-01-13 | キヤノン株式会社 | メモリキャッシング方法及び装置 |
JP2976909B2 (ja) * | 1996-12-25 | 1999-11-10 | 日本電気株式会社 | キャッシュ・データの掃き出し制御方法 |
JP2008181190A (ja) * | 2007-01-23 | 2008-08-07 | Matsushita Electric Ind Co Ltd | キャッシュ制御装置 |
JP5868213B2 (ja) * | 2012-02-24 | 2016-02-24 | 三菱電機株式会社 | キャッシュ制御装置、及びキャッシュ制御方法 |
US9524248B2 (en) * | 2012-07-18 | 2016-12-20 | Micron Technology, Inc. | Memory management for a hierarchical memory system |
CN105094686B (zh) * | 2014-05-09 | 2018-04-10 | 华为技术有限公司 | 数据缓存方法、缓存和计算机系统 |
-
2015
- 2015-10-23 JP JP2015209087A patent/JP6485320B2/ja active Active
-
2016
- 2016-10-06 US US15/286,664 patent/US10073788B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017083949A (ja) | 2017-05-18 |
US10073788B2 (en) | 2018-09-11 |
US20170115892A1 (en) | 2017-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6485320B2 (ja) | キャッシュメモリおよびキャッシュメモリの制御方法 | |
CN105740164B (zh) | 支持缓存一致性的多核处理器、读写方法、装置及设备 | |
JP5580894B2 (ja) | Tlbプリフェッチング | |
US9158685B2 (en) | System cache with cache hint control | |
US9563575B2 (en) | Least recently used mechanism for cache line eviction from a cache memory | |
US8271729B2 (en) | Read and write aware cache storing cache lines in a read-often portion and a write-often portion | |
JP7390304B2 (ja) | 大規模なキャッシュサイズに適合する領域ベースのディレクトリスキーム | |
JP6708019B2 (ja) | 演算処理装置、情報処理装置および演算処理装置の制御方法 | |
KR20170100003A (ko) | 가상 주소들을 사용하여 액세스된 캐시 | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
US9552301B2 (en) | Method and apparatus related to cache memory | |
US8880844B1 (en) | Inter-core cooperative TLB prefetchers | |
US20110320720A1 (en) | Cache Line Replacement In A Symmetric Multiprocessing Computer | |
US9720847B2 (en) | Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed | |
US9043570B2 (en) | System cache with quota-based control | |
US7380068B2 (en) | System and method for contention-based cache performance optimization | |
JP2017021399A (ja) | 半導体装置及びキャッシュメモリ制御方法 | |
JP5976225B2 (ja) | スティッキー抜去エンジンを伴うシステムキャッシュ | |
EP3724772B1 (en) | Home agent based cache transfer acceleration scheme | |
US20120144124A1 (en) | Method and apparatus for memory access units interaction and optimized memory scheduling | |
KR102482516B1 (ko) | 메모리 어드레스 변환 | |
US11561906B2 (en) | Rinsing cache lines from a common memory page to memory | |
US10725675B2 (en) | Management apparatus, information processing apparatus, management method, and computer program product | |
US20070180193A1 (en) | History based line install | |
US9734071B2 (en) | Method and apparatus for history-based snooping of last level caches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20170803 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20170803 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170804 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181221 |
|
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: 20190122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6485320 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |