JP7011156B2 - ストレージ制御装置およびプログラム - Google Patents
ストレージ制御装置およびプログラム Download PDFInfo
- Publication number
- JP7011156B2 JP7011156B2 JP2017222513A JP2017222513A JP7011156B2 JP 7011156 B2 JP7011156 B2 JP 7011156B2 JP 2017222513 A JP2017222513 A JP 2017222513A JP 2017222513 A JP2017222513 A JP 2017222513A JP 7011156 B2 JP7011156 B2 JP 7011156B2
- Authority
- JP
- Japan
- Prior art keywords
- link
- storage
- processing unit
- resource
- page
- 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/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/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/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/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- 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/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
-
- 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
-
- 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
- G06F2212/608—Details relating to cache mapping
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は、第1の実施の形態のストレージ制御装置を示す図である。ストレージ制御装置1は、ストレージ装置2および情報処理装置3に接続されている。ストレージ装置2は、HDDやSSDなどの記憶デバイスを複数備えている。ストレージ装置2は、ストレージ制御装置1を内蔵してもよい。
例えば、サブ処理部1b1は、第1のストレージ資源2aに対する書き込みまたは読み出しのアクセス要求を情報処理装置3から受信する。すると、サブ処理部1b1は、第1の排他資源を獲得して、第1のリンクL1を操作し、情報処理装置3から取得した書き込み対象のデータまたは第1のストレージ資源2aから読み出したデータをキャッシュメモリC1に格納する。
以下の説明では、より具体的なストレージ装置を例示して、ストレージ制御装置1の機能を更に詳細に説明する。
図2は、第2の実施の形態のストレージ装置のハードウェア例を示す図である。ストレージ装置100は、コントローラモジュール(CM:Controller Module)110,110aおよびドライブ収納部120を有する。
アクセス処理部150は、I/Oの実行に応じて、LRUリンクを操作する。例えば、空きページが枯渇し、キャッシュの容量が不足すると、アクセス処理部150は、該当のLRUリンクのページを、LRUのアルゴリズムに基づいて解放する。すなわち、アクセス処理部150は、解放対象とするページを、最近アクセスされていないページから優先的に選択する。そして、アクセス処理部150は、解放したページを再利用する。なお、アクセス処理部150は、書き戻し未実行のデータが格納されているページを再利用の対象外とする。アクセス処理部150は、あるLRUリンクにおいて、フリーリンクから空きページを獲得できないとき、所定の条件に基づき、別のLRUリンクから当該LRUリンクへCBEを移し替えることもある。
図4は、排他資源の分割例を示す図である。フリーリンク50は、空きページの管理に用いられる。フリーリンク50には、共通排他資源が対応付けられている。フリーリンク50は、キャッシュの全ページに対して1つ設けられる。共通排他資源は、フリーリンク50に対する1つの排他資源である。このため、フリーリンク50に対する操作(例えば、フリーリンク50からのCBEの獲得)は、アクセス処理部150,160のうち、共通排他資源を獲得した方によって排他的に行われる。
キャッシュ133は、複数のページが属する記憶領域である。前述のように、例えば、1つのページのサイズは65KBである。
また、LRUリンク70に関しても同様にしてポインタによりCBEが連結される。LRUリンク70に対するLRUポインタおよびMRUポインタも、LRUポインタ91およびMRUポインタ92とは別個に設けられている。
図9は、新規LU割り当て処理の例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
図11は、別資源からのCBE獲得処理の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
こうして、CM110は、I/Oにおいて、LRUリンク60にCBEを追加する際、キャッシュ133に空きページがない場合、LRUリンク70に含まれるCBEをLRUリンク60へ移し替える(I/O延長でのCBEの移し替え)。
図12は、I/O非同期のCBE移し替え処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(付記1) キャッシュメモリとして用いられる複数のページを有する記憶部と、
前記複数のページのうちの第1のページ群を示す第1のリンクに第1のストレージ資源を割り当て、前記複数のページのうちの第2のページ群を示す第2のリンクに第2のストレージ資源を割り当て、前記第1のリンクおよび前記第2のリンクを用いて、前記第1のストレージ資源および前記第2のストレージ資源に対するアクセス要求を分散して処理する処理部と、
を有するストレージ制御装置。
(付記12) 前記第1の負荷は、前記第1のストレージ資源に対するアクセス数であり、
前記第2の負荷は、前記第2のストレージ資源に対するアクセス数である、付記11記載のストレージ制御装置。
(付記17) 前記処理部は、LRUのアルゴリズムにより、移し替え対象の前記リンク要素を決定する、付記2乃至13の何れか1つに記載のストレージ制御装置。
前記第1のリンクおよび前記第2のリンクを用いて、前記第1のストレージ資源および前記第2のストレージ資源に対するアクセス要求を分散して処理する、
処理をコンピュータに実行させるプログラム。
1a 記憶部
1b 処理部
1b1,1b2 サブ処理部
2 ストレージ装置
2a 第1のストレージ資源
2b 第2のストレージ資源
3 情報処理装置
C1 キャッシュメモリ
P1,P2,P3 ページ
L1 第1のリンク
L2 第2のリンク
L1a,L1b,L1c,L1m,L2a,L2b,L2c,L2m リンク要素
Claims (7)
- キャッシュメモリとして用いられる複数のページを有する記憶部と、
前記複数のページのうちの第1のページ群を示す第1のリンクに第1のストレージ資源を割り当て、前記複数のページのうちの第2のページ群を示す第2のリンクに第2のストレージ資源を割り当て、前記第1のリンクおよび前記第2のリンクを用いて、前記第1のストレージ資源および前記第2のストレージ資源に対するアクセス要求を分散して処理する処理部と、を有し、
前記処理部は、ページに対応するリンク要素を前記第1のリンクおよび前記第2のリンクのうちの一方のリンクに追加する際、前記キャッシュメモリに空きページがない場合に、前記第1のリンクおよび前記第2のリンクのうちの他方のリンクに含まれる前記リンク要素を前記一方のリンクへ移し替え、前記移し替えの際に、前回の移し替え先のリンクと今回の移し替え先のリンクとが同じ場合、今回移し替える前記リンク要素の数を、前回移し替えた前記リンク要素の数よりも増やす、
ストレージ制御装置。 - 前記処理部は、前記一方のリンクに含まれる前記リンク要素の数が閾値以下の場合に、前記他方のリンクに含まれる前記リンク要素を前記一方のリンクへ移し替え、前記一方のリンクに含まれる前記リンク要素の数が前記閾値よりも大きい場合に、前記一方のリンクに含まれる一部のリンク要素に対応するページを再利用する、請求項1記載のストレージ制御装置。
- 前記処理部は、前記再利用の際、前記第1のページ群に属する再利用可能なページが不足する場合、前記他方のリンクに含まれる前記リンク要素を前記一方のリンクへ移し替える、請求項2記載のストレージ制御装置。
- 前記処理部は、前記空きページに対応する前記リンク要素を複数含む1つのフリーリンクを参照して、前記フリーリンクに属する前記リンク要素を前記第1のリンクに追加し、前記フリーリンクに属する他のリンク要素を前記第2のリンクに追加する、請求項1乃至3の何れか1項に記載のストレージ制御装置。
- 前記処理部は、前記第1のストレージ資源へ書き込むデータまたは前記第1のストレージ資源から読み出したデータを前記キャッシュメモリに格納する際に、前記リンク要素を前記第1のリンクに追加する、請求項1乃至4の何れか1項に記載のストレージ制御装置。
- 前記処理部は、所定のタイミングで、前記第1のストレージ資源の第1の負荷と、前記第2のストレージ資源の第2の負荷とを比較し、負荷が小さい方のストレージ資源に対応するリンクから負荷が大きい方のストレージ資源に対応するリンクに、ページに対応するリンク要素を移し替える、請求項1記載のストレージ制御装置。
- キャッシュメモリとして用いられる複数のページのうちの第1のページ群を示す第1のリンクに第1のストレージ資源を割り当て、前記複数のページのうちの第2のページ群を示す第2のリンクに第2のストレージ資源を割り当て、
前記第1のリンクおよび前記第2のリンクを用いて、前記第1のストレージ資源および前記第2のストレージ資源に対するアクセス要求を分散して処理し、
ページに対応するリンク要素を前記第1のリンクおよび前記第2のリンクのうちの一方のリンクに追加する際、前記キャッシュメモリに空きページがない場合に、前記第1のリンクおよび前記第2のリンクのうちの他方のリンクに含まれる前記リンク要素を前記一方のリンクへ移し替え、前記移し替えの際に、前回の移し替え先のリンクと今回の移し替え先のリンクとが同じ場合、今回移し替える前記リンク要素の数を、前回移し替えた前記リンク要素の数よりも増やす、
処理をコンピュータに実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017222513A JP7011156B2 (ja) | 2017-11-20 | 2017-11-20 | ストレージ制御装置およびプログラム |
US16/136,312 US10664393B2 (en) | 2017-11-20 | 2018-09-20 | Storage control apparatus for managing pages of cache and computer-readable storage medium storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017222513A JP7011156B2 (ja) | 2017-11-20 | 2017-11-20 | ストレージ制御装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019095881A JP2019095881A (ja) | 2019-06-20 |
JP7011156B2 true JP7011156B2 (ja) | 2022-01-26 |
Family
ID=66534442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017222513A Active JP7011156B2 (ja) | 2017-11-20 | 2017-11-20 | ストレージ制御装置およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10664393B2 (ja) |
JP (1) | JP7011156B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10757597B1 (en) * | 2019-07-08 | 2020-08-25 | Bank Of America Corporation | Resource stability indicator determination based on downstream network node-based resource health indicators |
US11580023B2 (en) | 2020-03-11 | 2023-02-14 | Fujitsu Limited | Information processing apparatus, computer-readable recording medium having stored therein memory control program, and computer-readable recording medium having stored therein information processing program |
CN115048056B (zh) * | 2022-06-20 | 2024-07-16 | 河北工业大学 | 基于页面替换代价的固态硬盘缓冲区管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004139349A (ja) | 2002-10-17 | 2004-05-13 | Nec Corp | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 |
JP2012022532A (ja) | 2010-07-14 | 2012-02-02 | Nec Corp | ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法 |
JP2017117179A (ja) | 2015-12-24 | 2017-06-29 | 富士通株式会社 | 情報処理装置、キャッシュ制御プログラムおよびキャッシュ制御方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4490782A (en) * | 1981-06-05 | 1984-12-25 | International Business Machines Corporation | I/O Storage controller cache system with prefetch determined by requested record's position within data block |
US7146607B2 (en) | 2002-09-17 | 2006-12-05 | International Business Machines Corporation | Method and system for transparent dynamic optimization in a multiprocessing environment |
US6851030B2 (en) | 2002-10-16 | 2005-02-01 | International Business Machines Corporation | System and method for dynamically allocating associative resources |
JP5089896B2 (ja) | 2006-03-17 | 2012-12-05 | 株式会社日立製作所 | マイクロプロセッサの負荷分散機能を備えたストレージシステム |
WO2014049635A1 (en) | 2012-09-25 | 2014-04-03 | Hitachi, Ltd. | Storage system and method thereof for i/o load distribution with data stored in ckd format |
JP2015191604A (ja) | 2014-03-28 | 2015-11-02 | 富士通株式会社 | 制御装置、制御プログラム、および制御方法 |
WO2015162758A1 (ja) * | 2014-04-24 | 2015-10-29 | 株式会社日立製作所 | ストレージシステム |
US10261697B2 (en) * | 2015-06-08 | 2019-04-16 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
-
2017
- 2017-11-20 JP JP2017222513A patent/JP7011156B2/ja active Active
-
2018
- 2018-09-20 US US16/136,312 patent/US10664393B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004139349A (ja) | 2002-10-17 | 2004-05-13 | Nec Corp | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 |
JP2012022532A (ja) | 2010-07-14 | 2012-02-02 | Nec Corp | ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法 |
JP2017117179A (ja) | 2015-12-24 | 2017-06-29 | 富士通株式会社 | 情報処理装置、キャッシュ制御プログラムおよびキャッシュ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190155730A1 (en) | 2019-05-23 |
JP2019095881A (ja) | 2019-06-20 |
US10664393B2 (en) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4813843B2 (ja) | ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法 | |
KR102093523B1 (ko) | 순차적인 순서의 스왑 파일을 이용한 작업 세트 스와핑 기법 | |
JP5931196B2 (ja) | I/oノード及び複数の計算ノードに備えられたキャッシュメモリの制御方法 | |
WO2015015550A1 (ja) | 計算機システム及び制御方法 | |
JP2009043030A (ja) | ストレージシステム | |
US20110283046A1 (en) | Storage device | |
US20100100680A1 (en) | Storage apparatus and cache control method | |
US8745150B2 (en) | Storage control apparatus and storage control method | |
JP2008090657A (ja) | ストレージシステム及び制御方法 | |
CN114780025B (zh) | 软件raid请求处理方法、控制器及raid存储系统 | |
US9727247B2 (en) | Storage device and method, and storage medium | |
JP7011156B2 (ja) | ストレージ制御装置およびプログラム | |
JP2020161014A (ja) | 情報処理装置および実行制御プログラム | |
US10176098B2 (en) | Method and apparatus for data cache in converged system | |
US9699254B2 (en) | Computer system, cache management method, and computer | |
US10133517B2 (en) | Storage control device | |
KR102220468B1 (ko) | 트랜잭션 지원을 가진 선점형 캐시 후기록 | |
US11080192B2 (en) | Storage system and storage control method | |
US11755249B2 (en) | Storage system including storage nodes to determine cache allocations to implement cache control | |
WO2010119478A1 (en) | Storage system and control method therefor | |
JP2021114264A (ja) | ストレージ制御装置およびストレージ制御プログラム | |
US11144445B1 (en) | Use of compression domains that are more granular than storage allocation units | |
EP4033346B1 (en) | Affinity-based cache operation for a persistent storage device | |
JP5900063B2 (ja) | ストレージ装置およびストレージ装置における初期化方法 | |
JP6273678B2 (ja) | ストレージ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200807 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200825 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200825 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210708 |
|
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: 20211214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7011156 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |