JP6113199B2 - データを管理する方法、コンピュータ・プログラム、およびシステム - Google Patents
データを管理する方法、コンピュータ・プログラム、およびシステム Download PDFInfo
- Publication number
- JP6113199B2 JP6113199B2 JP2014560468A JP2014560468A JP6113199B2 JP 6113199 B2 JP6113199 B2 JP 6113199B2 JP 2014560468 A JP2014560468 A JP 2014560468A JP 2014560468 A JP2014560468 A JP 2014560468A JP 6113199 B2 JP6113199 B2 JP 6113199B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- page
- storage
- block
- pages
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0824—Distributed directories, e.g. linked lists of caches
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
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)
Description
1.第1のキャッシュ14と第2のキャッシュ18の両方について、ページごとに参照カウンタ60、78を維持する。「cR」および「cF」をそれぞれ第1のキャッシュ14および第2のキャッシュ18のカウンタとする。
2.ページが第1のキャッシュ14にキャッシュされている間は、ページが参照されるたびにcRを増分する。
3.ページが第1のキャッシュ14から第2のキャッシュ18にデモートされるときにcF<0であれば、cFを初期化してkcRにする(k=1,2,3,...)。kは、ページの「熱さ」を調整するために使用される定数である。
4.ページが第2のキャッシュにキャッシュされている間は、ページが参照されるとcFを減分する。
cF>0の場合、ページを第1のキャッシュ14のLRUリストのLRU側にプロモートして、ページが間もなく追い出されるようにする。
それ以外の場合、ページは第1のキャッシュ14のLRUリストのMRU側にプロモートする。
Claims (9)
- 第1のキャッシュおよび第2のキャッシュのデータを管理する方法であって、
コンピュータのプロセッサを使用して、ページが前記第2のキャッシュに記憶されたときに前記ページについて前記第2のキャッシュに参照カウントを維持するステップと、
前記ページを前記第2のキャッシュから前記第1のキャッシュにプロモートすることを決定するステップと、
前記参照カウントがゼロより大きいと判定するのに応じて、前記ページを、前記第1のキャッシュ内のLRUリストのLRU(Least Recently Used)側に追加するステップと、
前記参照カウントがゼロ以下と判定するのに応じて、前記ページを、前記第1のキャッシュ内の前記LRUリストのMRU(Most Recently Used)側に追加するステップと
を含む方法。 - 前記第1のキャッシュおよび前記第2のキャッシュがストレージに結合される、請求項1に記載の方法。
- 前記第1のキャッシュが前記第2のキャッシュよりも高速にアクセスできるデバイスであり、前記第2のキャッシュがストレージよりも高速にアクセスできるデバイスである、請求項1または請求項2に記載の方法。
- 前記第1のキャッシュがランダム・アクセス・メモリ(RAM)を含み、前記第2のキャッシュがフラッシュ・デバイスを含み、ストレージが順次書き込みデバイスを含む、請求項1に記載の方法。
- 前記参照カウントが第1の参照カウントを含み、前記方法がさらに、
前記ページが前記第1のキャッシュに記憶されたときに前記ページについて前記第1のキャッシュに第2の参照カウントを維持するステップを含み、前記第1のキャッシュにある前記ページについての前記第2の参照カウントは、前記第1のキャッシュで前記ページが参照されるたびに増分される、請求項1ないし4のいずれかに記載の方法。 - 前記第2のキャッシュで前記ページが参照されるたびに前記第2のキャッシュ内の前記ページの前記参照カウントを減分するステップをさらに含む、請求項1ないし5のいずれかに記載の方法。
- 前記参照カウントが第1の参照カウントを含み、前記方法がさらに、
前記ページが前記第1のキャッシュから前記第2のキャッシュにデモートされると決定されるのに応じて、
前記第1の参照カウントがゼロ未満であるかどうかを判定するステップと、
前記第1の参照カウントがゼロ未満であると判定されるのに応じて、前記第1の参照カウントを、第2の参照カウントに定数(k)を乗じた値に等しく設定するステップと
を含む、請求項1に記載の方法。 - 第1のキャッシュおよび第2のキャッシュのデータを管理するコンピュータ・プログラムであって、
コンピュータに請求項1ないし7のいずれか1項に記載のステップを実行させるコンピュータ・プログラム。 - データを管理するシステムであって、
第1のキャッシュと、
第2のキャッシュと、
プロセッサと、
請求項1ないし7のいずれか1項に記載のステップを前記プロセッサに実行させるコンピュータ・プログラムと、
を備えるシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/412,412 US8930624B2 (en) | 2012-03-05 | 2012-03-05 | Adaptive cache promotions in a two level caching system |
US13/412,412 | 2012-03-05 | ||
PCT/IB2013/051313 WO2013132370A1 (en) | 2012-03-05 | 2013-02-18 | Adaptive cache promotions in a two level caching system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015516613A JP2015516613A (ja) | 2015-06-11 |
JP6113199B2 true JP6113199B2 (ja) | 2017-04-12 |
Family
ID=49043503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014560468A Active JP6113199B2 (ja) | 2012-03-05 | 2013-02-18 | データを管理する方法、コンピュータ・プログラム、およびシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US8930624B2 (ja) |
JP (1) | JP6113199B2 (ja) |
CN (1) | CN104145252B (ja) |
DE (1) | DE112013001284B4 (ja) |
GB (1) | GB2514501B (ja) |
WO (1) | WO2013132370A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700861B1 (en) * | 2012-03-28 | 2014-04-15 | Emc Corporation | Managing a dynamic list of entries for cache page cleaning |
JP2015517697A (ja) * | 2012-05-23 | 2015-06-22 | 株式会社日立製作所 | 二次記憶装置に基づく記憶領域をキャッシュ領域として用いるストレージシステム及び記憶制御方法 |
US9547604B2 (en) | 2012-09-14 | 2017-01-17 | International Business Machines Corporation | Deferred RE-MRU operations to reduce lock contention |
US9733991B2 (en) | 2012-09-14 | 2017-08-15 | International Business Machines Corporation | Deferred re-MRU operations to reduce lock contention |
US8990524B2 (en) * | 2012-09-27 | 2015-03-24 | Hewlett-Packard Development Company, Lp. | Management of data elements of subgroups |
US9286219B1 (en) * | 2012-09-28 | 2016-03-15 | Emc Corporation | System and method for cache management |
US9703505B2 (en) * | 2013-12-30 | 2017-07-11 | Teradata Us, Inc. | Management of data in multi-storage systems that can include non-volatile and volatile storages |
US10268410B2 (en) | 2014-10-20 | 2019-04-23 | Netapp, Inc. | Efficient modification of storage system metadata |
US9965196B2 (en) * | 2014-10-20 | 2018-05-08 | Netapp, Inc. | Resource reservation for storage system metadata updates |
US10817425B2 (en) * | 2014-12-26 | 2020-10-27 | Intel Corporation | Hardware/software co-optimization to improve performance and energy for inter-VM communication for NFVs and other producer-consumer workloads |
CN105938447B (zh) * | 2015-03-06 | 2018-12-14 | 华为技术有限公司 | 数据备份装置及方法 |
US9652406B2 (en) | 2015-04-30 | 2017-05-16 | International Business Machines Corporation | MRU batching to reduce lock contention |
US10320936B2 (en) | 2015-10-20 | 2019-06-11 | International Business Machines Corporation | Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server |
US10127152B2 (en) | 2015-10-20 | 2018-11-13 | International Business Machines Corporation | Populating a second cache with tracks from a first cache when transferring management of the tracks from a first node to a second node |
US10033810B2 (en) | 2015-12-03 | 2018-07-24 | International Business Machines Corporation | Recovery point objective via dynamic usage of bind segments in a global mirror environment |
KR20170109133A (ko) * | 2016-03-17 | 2017-09-28 | 에스케이하이닉스 주식회사 | 하이브리드 메모리 장치 및 그의 데이터 관리 방법 |
KR20170130011A (ko) * | 2016-05-17 | 2017-11-28 | 삼성전자주식회사 | 캐시 메모리를 포함하는 서버 장치 및 그것의 동작 방법 |
US10037149B2 (en) * | 2016-06-17 | 2018-07-31 | Seagate Technology Llc | Read cache management |
CN106844231A (zh) * | 2016-12-23 | 2017-06-13 | 北京北大众志微系统科技有限责任公司 | 末级高速缓存软硬件协作分区域管理系统及管理方法 |
CN106844232A (zh) * | 2016-12-23 | 2017-06-13 | 北京北大众志微系统科技有限责任公司 | 一种面向多核处理器的共享末级高速缓存访存方法和装置 |
US10235283B2 (en) | 2017-03-14 | 2019-03-19 | International Business Machines Corporation | Techniques for supporting in-place updates with a log-structured array controller |
CN110058964B (zh) * | 2018-01-18 | 2023-05-02 | 伊姆西Ip控股有限责任公司 | 数据恢复方法、数据恢复系统和计算机可读介质 |
CN110413214B (zh) * | 2018-04-28 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、设备和计算机程序产品 |
CN110413545B (zh) * | 2018-04-28 | 2023-06-20 | 伊姆西Ip控股有限责任公司 | 存储管理方法、电子设备和计算机程序产品 |
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 |
CN109857680B (zh) * | 2018-11-21 | 2020-09-11 | 杭州电子科技大学 | 一种基于动态页面权重的lru闪存缓存管理方法 |
US11151057B2 (en) * | 2019-12-06 | 2021-10-19 | EMC IP Holding Company LLC | Method and system for efficiently evicting data from memory slots in a storage system |
US11022014B1 (en) | 2020-04-28 | 2021-06-01 | Faurecia Emissions Control Technologies, Usa, Llc | Exhaust aftertreatment system with heated flash-boiling doser |
CN111915763A (zh) * | 2020-07-24 | 2020-11-10 | 东风汽车有限公司 | 一种汽车高级驾驶辅助功能异常信息采集方法及电子设备 |
US11379382B2 (en) * | 2020-12-08 | 2022-07-05 | International Business Machines Corporation | Cache management using favored volumes and a multiple tiered cache memory |
US11372778B1 (en) | 2020-12-08 | 2022-06-28 | International Business Machines Corporation | Cache management using multiple cache memories and favored volumes with multiple residency time multipliers |
CN114138186B (zh) * | 2021-11-10 | 2024-02-23 | 杭州当虹科技股份有限公司 | 一种可动态调节的缓存方法和装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61131142A (ja) | 1984-11-30 | 1986-06-18 | Casio Comput Co Ltd | Lru機構 |
US5381539A (en) | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
JPH0652060A (ja) | 1992-07-28 | 1994-02-25 | Hitachi Ltd | Lruリスト制御方式 |
US5860131A (en) * | 1996-06-17 | 1999-01-12 | Helix Software Co. | Method for providing dynamic cache management in a computer system |
US6141731A (en) * | 1998-08-19 | 2000-10-31 | International Business Machines Corporation | Method and system for managing data in cache using multiple data structures |
JP2001109664A (ja) | 1999-10-08 | 2001-04-20 | Ricoh Co Ltd | 情報処理装置およびそのバッファ管理方法 |
US6738865B1 (en) | 2000-06-09 | 2004-05-18 | International Business Machines Corporation | Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data |
CA2312444A1 (en) | 2000-06-20 | 2001-12-20 | Ibm Canada Limited-Ibm Canada Limitee | Memory management of data buffers incorporating hierarchical victim selection |
US6507893B2 (en) | 2001-01-26 | 2003-01-14 | Dell Products, L.P. | System and method for time window access frequency based caching for memory controllers |
US6785771B2 (en) * | 2001-12-04 | 2004-08-31 | International Business Machines Corporation | Method, system, and program for destaging data in cache |
JP2004355365A (ja) * | 2003-05-29 | 2004-12-16 | Fujitsu Ltd | キャッシュ管理装置およびキャッシュメモリ管理方法 |
US7769974B2 (en) | 2004-09-10 | 2010-08-03 | Microsoft Corporation | Increasing data locality of recently accessed resources |
US20060136668A1 (en) * | 2004-12-17 | 2006-06-22 | Rudelic John C | Allocating code objects between faster and slower memories |
US20070067575A1 (en) | 2005-09-20 | 2007-03-22 | Morris John M | Method of managing cache memory based on data temperature |
US8363519B2 (en) | 2006-06-30 | 2013-01-29 | Seagate Technology Llc | Hot data zones |
US7908236B2 (en) * | 2006-07-20 | 2011-03-15 | International Business Machines Corporation | Using multiple data structures to manage data in cache |
US20080104323A1 (en) | 2006-10-26 | 2008-05-01 | Colglazier Daniel J | Method for identifying, tracking, and storing hot cache lines in an smp environment |
US7711905B2 (en) | 2007-07-16 | 2010-05-04 | International Business Machines Corporation | Method and system for using upper cache history information to improve lower cache data replacement |
US8171224B2 (en) * | 2009-05-28 | 2012-05-01 | International Business Machines Corporation | D-cache line use history based done bit based on successful prefetchable counter |
US8880835B2 (en) | 2009-07-07 | 2014-11-04 | International Business Machines Corporation | Adjusting location of tiered storage residence based on usage patterns |
US20110107042A1 (en) | 2009-11-03 | 2011-05-05 | Andrew Herron | Formatting data storage according to data classification |
JP2011150684A (ja) * | 2009-12-21 | 2011-08-04 | Sony Corp | キャッシュメモリおよびキャッシュメモリ制御装置 |
JP5434738B2 (ja) | 2010-03-26 | 2014-03-05 | 日本電気株式会社 | ディスク装置 |
-
2012
- 2012-03-05 US US13/412,412 patent/US8930624B2/en active Active
- 2012-05-08 US US13/466,861 patent/US8935479B2/en active Active
-
2013
- 2013-02-18 JP JP2014560468A patent/JP6113199B2/ja active Active
- 2013-02-18 GB GB1414607.0A patent/GB2514501B/en active Active
- 2013-02-18 CN CN201380012272.7A patent/CN104145252B/zh active Active
- 2013-02-18 DE DE112013001284.7T patent/DE112013001284B4/de active Active
- 2013-02-18 WO PCT/IB2013/051313 patent/WO2013132370A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US8935479B2 (en) | 2015-01-13 |
DE112013001284T5 (de) | 2014-12-24 |
GB201414607D0 (en) | 2014-10-01 |
GB2514501B (en) | 2015-03-25 |
US20130232295A1 (en) | 2013-09-05 |
GB2514501A (en) | 2014-11-26 |
US20130232294A1 (en) | 2013-09-05 |
DE112013001284B4 (de) | 2022-07-07 |
CN104145252B (zh) | 2017-03-29 |
CN104145252A (zh) | 2014-11-12 |
US8930624B2 (en) | 2015-01-06 |
JP2015516613A (ja) | 2015-06-11 |
WO2013132370A1 (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6113199B2 (ja) | データを管理する方法、コンピュータ・プログラム、およびシステム | |
US8806122B2 (en) | Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device | |
US8650354B2 (en) | Prefetching tracks using multiple caches | |
US8788742B2 (en) | Using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device | |
US8825944B2 (en) | Populating strides of tracks to demote from a first cache to a second cache | |
US8799578B2 (en) | Managing unmodified tracks maintained in both a first cache and a second cache | |
US8793436B2 (en) | Cache management of tracks in a first cache and a second cache for a storage | |
US9021201B2 (en) | Demoting partial tracks from a first cache to a second cache | |
US8825952B2 (en) | Handling high priority requests in a sequential access storage device having a non-volatile storage cache | |
US8959279B2 (en) | Populating a first stride of tracks from a first cache to write to a second stride in a second cache | |
US20140365718A1 (en) | Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache | |
US8996789B2 (en) | Handling high priority requests in a sequential access storage device having a non-volatile storage cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161025 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170123 |
|
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: 20170221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170314 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6113199 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |