JP6711121B2 - 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム - Google Patents
情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム Download PDFInfo
- Publication number
- JP6711121B2 JP6711121B2 JP2016094628A JP2016094628A JP6711121B2 JP 6711121 B2 JP6711121 B2 JP 6711121B2 JP 2016094628 A JP2016094628 A JP 2016094628A JP 2016094628 A JP2016094628 A JP 2016094628A JP 6711121 B2 JP6711121 B2 JP 6711121B2
- Authority
- JP
- Japan
- Prior art keywords
- entry information
- data
- list
- deleted
- storage device
- 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/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
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
- G06F2212/284—Plural cache memories being distributed
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Description
図3は、ディスクアレイ装置300のハードウェア構成例を示す説明図である。ディスクアレイ装置300は、CE(Controller Enclosure)301と、DE(Drive Enclosure)302とを含む。また、ディスクアレイ装置300は、ホスト装置331に接続する。ホスト装置331は、例えば、サーバである。
図5は、CM311の機能構成例を示す説明図である。情報処理装置101は、制御部500を有する。制御部500は、I/O受け付け部501と、読み出し/書き込み判定部502と、キャッシュデータ管理部503と、読み出し監視部504と、Watermark調整部505とを含む。制御部500は、記憶装置に記憶されたプログラムをCPU401が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図4に示したメモリ402、不揮発性メモリ403や、図3に示したディスク313、323などである。また、各部の処理結果は、メモリ402、CPU401のレジスタ等に格納される。
前記複数のデータのうちのいずれかのデータと前記いずれかのデータの前記記憶装置上における位置を示す情報とを含むエントリ情報を有する第1のリストと、前記第1のリストから追い出されたエントリ情報に含まれた削除済みのデータの前記記憶装置上における位置を示す情報を含むエントリ情報を有する第2のリストとを記憶するキャッシュメモリと、
前記第1のリストにおける所定のキャッシュ置換方式による優先度に基づいて決定される削除対象のエントリ情報のデータが更新されている場合、前記優先度に従った順序における前記削除対象のエントリ情報からデータが更新されているエントリ情報が連続する数を計数し、前記削除対象のエントリ情報から前記数分のエントリ情報へのアクセス回数の第1の合計よりも前記優先度に従った順序における前記第2のリストに最も後に追加されたエントリ情報から前記数分のエントリ情報へのアクセス回数の第2の合計が多い場合、前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを前記キャッシュメモリから削除する制御部と、
を有することを特徴とする情報処理装置。
前記第1の合計よりも前記第2の合計が多い場合、前記第1のリストに含まれるデータが更新されているエントリ情報の割合と比較される閾値であって前記閾値の方が小さければ前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを削除する前記閾値を、現在の値より小さく設定し、
前記第1の合計が前記第2の合計よりも多い場合、前記閾値を現在の値より大きく設定する、
ことを特徴とする付記1に記載の情報処理装置。
ことを特徴とする付記1または2に記載の情報処理装置。
ことを特徴とする付記1〜3のいずれか一つに記載の情報処理装置。
記憶装置が記憶する複数のデータのうちのいずれかのデータと前記いずれかのデータの前記記憶装置上における位置を示す情報とを含むエントリ情報を有する第1のリストおよび前記第1のリストから追い出されたエントリ情報に含まれた削除済みのデータの前記記憶装置上における位置を示す情報を含むエントリ情報を有する第2のリストを記憶するキャッシュメモリの前記第1のリストにおける所定のキャッシュ置換方式による優先度に基づいて決定される削除対象のエントリ情報のデータが更新されている場合、前記優先度に従った順序における前記削除対象のエントリ情報からデータが更新されているエントリ情報が連続する数を計数し、
前記削除対象のエントリ情報から前記数分のエントリ情報へのアクセス回数の第1の合計よりも前記優先度に従った順序における前記第2のリストに最も後に追加されたエントリ情報から前記数分のエントリ情報へのアクセス回数の第2の合計が多い場合、前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを前記キャッシュメモリから削除する、
処理を実行することを特徴とするキャッシュメモリ制御方法。
記憶装置が記憶する複数のデータのうちのいずれかのデータと前記いずれかのデータの前記記憶装置上における位置を示す情報とを含むエントリ情報を有する第1のリストおよび前記第1のリストから追い出されたエントリ情報に含まれた削除済みのデータの前記記憶装置上における位置を示す情報を含むエントリ情報を有する第2のリストを記憶するキャッシュメモリの前記第1のリストにおける所定のキャッシュ置換方式による優先度に基づいて決定される削除対象のエントリ情報のデータが更新されている場合、前記優先度に従った順序における前記削除対象のエントリ情報からデータが更新されているエントリ情報が連続する数を計数し、
前記削除対象のエントリ情報から前記数分のエントリ情報へのアクセス回数の第1の合計よりも前記優先度に従った順序における前記第2のリストに最も後に追加されたエントリ情報から前記数分のエントリ情報へのアクセス回数の第2の合計が多い場合、前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを前記キャッシュメモリから削除する、
処理を実行させることを特徴とするキャッシュメモリ制御プログラム。
101 情報処理装置
102 記憶装置
103 キャッシュメモリ
111、112 エントリ情報
311 CM
500 制御部
501 I/O受け付け部
502 読み出し/書き込み判定部
503 キャッシュデータ管理部
504 読み出し監視部
505 Watermark調整部
Claims (4)
- 複数のデータを記憶する記憶装置と、
前記複数のデータのうちのいずれかのデータと前記いずれかのデータの前記記憶装置上における位置を示す情報とを含むエントリ情報を有する第1のリストと、前記第1のリストから追い出されたエントリ情報に含まれた削除済みのデータの前記記憶装置上における位置を示す情報を含むエントリ情報を有する第2のリストとを記憶するキャッシュメモリと、
前記第1のリストにおける所定のキャッシュ置換方式による優先度に基づいて決定される削除対象のエントリ情報のデータが更新されている場合、前記優先度に従った順序における前記削除対象のエントリ情報からデータが更新されているエントリ情報が連続する数を計数し、前記削除対象のエントリ情報から前記数分のエントリ情報へのアクセス回数の第1の合計よりも前記優先度に従った順序における前記第2のリストに最も後に追加されたエントリ情報から前記数分のエントリ情報へのアクセス回数の第2の合計が多い場合、前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを前記キャッシュメモリから削除することにより前記削除対象のエントリ情報のデータの前記記憶装置上における位置を示す情報を含むエントリ情報を前記第2のリストに追加する制御部と、
を有することを特徴とする情報処理装置。 - 複数のデータを記憶する記憶装置と、
前記複数のデータのうちのいずれかのデータと前記いずれかのデータの前記記憶装置上における位置を示す情報とを含むエントリ情報を有する第1のリストと、前記第1のリストから追い出されたエントリ情報に含まれた削除済みのデータの前記記憶装置上における位置を示す情報を含むエントリ情報を有する第2のリストとを記憶するキャッシュメモリと、
前記第1のリストにおける所定のキャッシュ置換方式による優先度に基づいて決定される削除対象のエントリ情報のデータが更新されている場合、前記優先度に従った順序における前記削除対象のエントリ情報からデータが更新されているエントリ情報が連続する数を計数し、前記削除対象のエントリ情報から前記数分のエントリ情報へのアクセス回数の第1の合計よりも前記優先度に従った順序における前記第2のリストに最も後に追加されたエントリ情報から前記数分のエントリ情報へのアクセス回数の第2の合計が多い場合、前記第1のリストに含まれるデータが更新されているエントリ情報の割合と比較される閾値であって前記閾値の方が小さければ前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを削除する前記閾値を、現在の値より小さく設定し、前記第1の合計が前記第2の合計よりも多い場合、前記閾値を現在の値より大きく設定し、前記割合よりも前記閾値の方が小さい場合、前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを前記キャッシュメモリから削除することにより前記削除対象のエントリ情報のデータの前記記憶装置上における位置を示す情報を含むエントリ情報を前記第2のリストに追加する制御部と、
を有することを特徴とする情報処理装置。 - コンピュータが、
記憶装置が記憶する複数のデータのうちのいずれかのデータと前記いずれかのデータの前記記憶装置上における位置を示す情報とを含むエントリ情報を有する第1のリストおよび前記第1のリストから追い出されたエントリ情報に含まれた削除済みのデータの前記記憶装置上における位置を示す情報を含むエントリ情報を有する第2のリストを記憶するキャッシュメモリの前記第1のリストにおける所定のキャッシュ置換方式による優先度に基づいて決定される削除対象のエントリ情報のデータが更新されている場合、前記優先度に従った順序における前記削除対象のエントリ情報からデータが更新されているエントリ情報が連続する数を計数し、
前記削除対象のエントリ情報から前記数分のエントリ情報へのアクセス回数の第1の合計よりも前記優先度に従った順序における前記第2のリストに最も後に追加されたエントリ情報から前記数分のエントリ情報へのアクセス回数の第2の合計が多い場合、前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを前記キャッシュメモリから削除することにより前記削除対象のエントリ情報のデータの前記記憶装置上における位置を示す情報を含むエントリ情報を前記第2のリストに追加する、
処理を実行することを特徴とするキャッシュメモリ制御方法。 - コンピュータに、
記憶装置が記憶する複数のデータのうちのいずれかのデータと前記いずれかのデータの前記記憶装置上における位置を示す情報とを含むエントリ情報を有する第1のリストおよび前記第1のリストから追い出されたエントリ情報に含まれた削除済みのデータの前記記憶装置上における位置を示す情報を含むエントリ情報を有する第2のリストを記憶するキャッシュメモリの前記第1のリストにおける所定のキャッシュ置換方式による優先度に基づいて決定される削除対象のエントリ情報のデータが更新されている場合、前記優先度に従った順序における前記削除対象のエントリ情報からデータが更新されているエントリ情報が連続する数を計数し、
前記削除対象のエントリ情報から前記数分のエントリ情報へのアクセス回数の第1の合計よりも前記優先度に従った順序における前記第2のリストに最も後に追加されたエントリ情報から前記数分のエントリ情報へのアクセス回数の第2の合計が多い場合、前記削除対象のエントリ情報のデータを前記記憶装置に書き出して前記削除対象のエントリ情報のデータを前記キャッシュメモリから削除することにより前記削除対象のエントリ情報のデータの前記記憶装置上における位置を示す情報を含むエントリ情報を前記第2のリストに追加する、
処理を実行させることを特徴とするキャッシュメモリ制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016094628A JP6711121B2 (ja) | 2016-05-10 | 2016-05-10 | 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム |
US15/485,661 US10296466B2 (en) | 2016-05-10 | 2017-04-12 | Information processing device, method of controlling a cache memory, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016094628A JP6711121B2 (ja) | 2016-05-10 | 2016-05-10 | 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017204068A JP2017204068A (ja) | 2017-11-16 |
JP6711121B2 true JP6711121B2 (ja) | 2020-06-17 |
Family
ID=60295185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016094628A Active JP6711121B2 (ja) | 2016-05-10 | 2016-05-10 | 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10296466B2 (ja) |
JP (1) | JP6711121B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11294821B1 (en) | 2020-09-11 | 2022-04-05 | Kabushiki Kaisha Toshiba | Write-back cache device |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6711121B2 (ja) * | 2016-05-10 | 2020-06-17 | 富士通株式会社 | 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム |
CN109359063B (zh) * | 2018-10-15 | 2021-10-29 | 郑州云海信息技术有限公司 | 面向存储系统软件的缓存置换方法、存储设备及存储介质 |
JP7474061B2 (ja) | 2019-03-01 | 2024-04-24 | キヤノン株式会社 | インタフェース装置、データ処理装置、キャッシュ制御方法、及びプログラム |
JP7367470B2 (ja) * | 2019-11-05 | 2023-10-24 | 富士通株式会社 | 情報処理装置およびキャッシュ制御プログラム |
US11281594B2 (en) | 2020-02-22 | 2022-03-22 | International Business Machines Corporation | Maintaining ghost cache statistics for demoted data elements |
US11182307B2 (en) | 2020-02-22 | 2021-11-23 | International Business Machines Corporation | Demoting data elements from cache using ghost cache statistics |
US11550732B2 (en) | 2020-02-22 | 2023-01-10 | International Business Machines Corporation | Calculating and adjusting ghost cache size based on data access frequency |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05303528A (ja) | 1992-04-27 | 1993-11-16 | Oki Electric Ind Co Ltd | ライトバック式ディスクキャッシュ装置 |
US6493801B2 (en) * | 2001-01-26 | 2002-12-10 | Compaq Computer Corporation | Adaptive dirty-block purging |
US6996676B2 (en) * | 2002-11-14 | 2006-02-07 | International Business Machines Corporation | System and method for implementing an adaptive replacement cache policy |
US8161241B2 (en) * | 2010-01-12 | 2012-04-17 | International Business Machines Corporation | Temperature-aware buffered caching for solid state storage |
US8972661B2 (en) * | 2011-10-31 | 2015-03-03 | International Business Machines Corporation | Dynamically adjusted threshold for population of secondary cache |
US20130242425A1 (en) * | 2012-03-16 | 2013-09-19 | Toshiba America Electronics Components, Inc. | Write reordering in a hybrid disk drive |
US8930612B2 (en) * | 2012-05-31 | 2015-01-06 | Seagate Technology Llc | Background deduplication of data sets in a memory |
CN106201348B (zh) * | 2012-06-20 | 2019-08-20 | 华为技术有限公司 | 非易失性存储设备的缓存管理方法及装置 |
US20140115260A1 (en) * | 2012-10-18 | 2014-04-24 | Oracle International Corporation | System and method for prioritizing data in a cache |
US9772949B2 (en) * | 2012-10-18 | 2017-09-26 | Oracle International Corporation | Apparatus, system and method for providing a persistent level-two cache |
JP6711121B2 (ja) * | 2016-05-10 | 2020-06-17 | 富士通株式会社 | 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム |
-
2016
- 2016-05-10 JP JP2016094628A patent/JP6711121B2/ja active Active
-
2017
- 2017-04-12 US US15/485,661 patent/US10296466B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11294821B1 (en) | 2020-09-11 | 2022-04-05 | Kabushiki Kaisha Toshiba | Write-back cache device |
Also Published As
Publication number | Publication date |
---|---|
JP2017204068A (ja) | 2017-11-16 |
US20170329721A1 (en) | 2017-11-16 |
US10296466B2 (en) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6711121B2 (ja) | 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム | |
EP3210121B1 (en) | Cache optimization technique for large working data sets | |
US9235508B2 (en) | Buffer management strategies for flash-based storage systems | |
US9411742B2 (en) | Use of differing granularity heat maps for caching and migration | |
US9417808B2 (en) | Promotion of partial data segments in flash cache | |
JP6613375B2 (ja) | プロファイリングキャッシュ置換 | |
US20140115261A1 (en) | Apparatus, system and method for managing a level-two cache of a storage appliance | |
KR20100021868A (ko) | 플래시 메모리 장치를 위한 버퍼 캐쉬 관리 방법 | |
KR101297442B1 (ko) | 공간 지역성을 고려한 요구 기반 플래시 메모리 변환 계층을 포함하는 낸드 플래시 메모리 시스템 | |
KR101507093B1 (ko) | 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치 및 방법 | |
US11693570B2 (en) | Machine learning to improve caching efficiency in a storage system | |
Gu et al. | Hotis: A hot data identification scheme to optimize garbage collection of ssds | |
US10579541B2 (en) | Control device, storage system and method | |
JP6928247B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
KR20090076265A (ko) | 컴퓨터 저장장치에서의 프리페칭 데이터 관리 방법 | |
KR101373613B1 (ko) | 환형 구조의 비휘발성 메모리 캐쉬를 포함하는 하이브리드 스토리지 장치 | |
US20210263648A1 (en) | Method for managing performance of logical disk and storage array | |
Ou et al. | Performance and power evaluation of flash-aware buffer algorithms | |
Li | A Hotness-aware Write Buffer Management Scheme for the Lifetime Extension of Flash-based Solid State Drives | |
Fan | Improving Storage Performance with Non-Volatile Memory-based Caching Systems | |
CN115048056A (zh) | 基于页面替换代价的固态硬盘缓冲区管理方法 | |
KR101353968B1 (ko) | 환형 구조의 비휘발성 메모리 캐쉬에 기록된 데이터를 교체 및 가비지 콜렉션하기 위한 데이터 처리방법 | |
Kim | Buffer Management Techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190924 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191122 |
|
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: 20200428 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200511 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6711121 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |