JP2016114967A - キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム - Google Patents
キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム Download PDFInfo
- Publication number
- JP2016114967A JP2016114967A JP2014250580A JP2014250580A JP2016114967A JP 2016114967 A JP2016114967 A JP 2016114967A JP 2014250580 A JP2014250580 A JP 2014250580A JP 2014250580 A JP2014250580 A JP 2014250580A JP 2016114967 A JP2016114967 A JP 2016114967A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- request
- request source
- read
- 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.)
- Granted
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
-
- 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/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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
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
(発明の目的)
本発明の主たる目的は、キャッシュの動作時に、動的に独立データと共有データとの判別を行い、共有データを優先してキャッシュに保持することができるキャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラムを提供することにある。
(第1の実施形態)
まず、本実施形態における構成について説明する。
時刻“1”)
キャッシュ装置100は、指定データ“データA”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データA”のキャッシュデータは存在しないので(ステップS103:No)、キャッシュ装置100は、記憶装置200から指定データ“データA”を取得し(ステップS105、S106)、要求元“要求元A”へ送信する(ステップS107)。キャッシュに必要な空き容量があるので(ステップS108:Yes)、キャッシュ装置100は、キャッシュに指定データ“データA”を記憶する(ステップS109)。
時刻“2”)
キャッシュ装置100は、指定データ“データB”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データB”のキャッシュデータは存在しないので(ステップS103:No)、キャッシュ装置100は、記憶装置200から指定データ“データB”を取得し(ステップS105、S106)、要求元“要求元B”へ送信する(ステップS107)。キャッシュに必要な空き容量がないので(ステップS108:No)、キャッシュ装置100は、1つの要求元“要求元A”に対応付けられたデータ“データA”を破棄候補として選択し(ステップS110)、選択した破棄候補“データA”を指定データ“データB”に更新する(ステップS111)。なお、本動作例では、最も少数台の要求元に対応付けられた、キャッシュデータ又は指定データが複数存在する場合には、キャッシュ装置100は、最も古い読み出し要求に対応するキャッシュデータを破棄候補として選択する。
時刻“3”)
キャッシュ装置100は、指定データ“データC”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データC”のキャッシュデータは存在しないので(ステップS103:No)、キャッシュ装置100は、記憶装置200から指定データ“データC”を取得し(ステップS105、S106)、要求元“要求元A”へ送信する(ステップS107)。キャッシュに必要な空き容量がないので(ステップS108:No)、キャッシュ装置100は、1つの要求元“要求元B”に対応付けられたデータ“データB”を破棄候補として選択し(ステップS110)、選択した破棄候補“データB”を指定データ“データC”に更新する(ステップS111)。
時刻“4”)
キャッシュ装置100は、指定データ“データC”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データC”のキャッシュデータは存在するので(ステップS103:Yes)、キャッシュ装置100は、キャッシュデータ“データC”を含む読み出し応答を要求元“要求元B”へ送信する(ステップS104)。
時刻“5”)
キャッシュ装置100は、指定データ“データA”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データA”のキャッシュデータは存在しないので(ステップS103:No)、キャッシュ装置100は、記憶装置200から指定データ“データA”を取得し(ステップS105、S106)、要求元“要求元A”へ送信する(ステップS107)。キャッシュに必要な空き容量がないので(ステップS108:No)、キャッシュ装置100は、1つの要求元“要求元A”に対応付けられたデータ“データA”を破棄候補として選択し(ステップS110)、選択した破棄候補“データA”と指定データ“データA”が同じなので処理を終了する(ステップS111)。
時刻“6”)
キャッシュ装置100は、指定データ“データB”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データB”のキャッシュデータは存在しないので(ステップS103:No)、キャッシュ装置100は、記憶装置200から指定データ“データB”を取得し(ステップS105、S106)、要求元“要求元B”へ送信する(ステップS107)。キャッシュに必要な空き容量がないので(ステップS108:No)、キャッシュ装置100は、1台の要求元“要求元B”に対応付けられたデータ“データB”を破棄候補として選択し(ステップS110)、選択した破棄候補“データB”と指定データ“データB”が同じなので処理を終了する(ステップS111)。
時刻“7”)
キャッシュ装置100は、指定データ“データC”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データC”のキャッシュデータは存在するので(ステップS103:Yes)、キャッシュ装置100は、キャッシュデータ“データC”を含む読み出し応答を要求元“要求元A”へ送信する(ステップS104)。
時刻“8”)
キャッシュ装置100は、指定データ“データC”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データC”のキャッシュデータは存在するので(ステップS103:Yes)、キャッシュ装置100は、キャッシュデータ“データC”を含む読み出し応答を要求元“要求元B”へ送信する(ステップS104)。
(第2の実施形態)
次に、上述した第1の実施形態において、キャッシュ装置が2次キャッシュ装置を介して要求元に接続される、本発明の第2の実施形態について説明する。なお、以下の説明において、第1の実施形態と同等の構成要素には同じ符号を付し、適宜説明を省略する。
時刻“1”)
2次キャッシュ装置400は、指定データ“データA”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データA”のキャッシュデータは存在しないので(ステップS103:No)、2次キャッシュ装置400は、キャッシュ装置110を介して記憶装置200から指定データ“データA”を取得し(ステップS105、S106)、要求元“要求元A”へ送信する(ステップS107)。キャッシュに必要な空き容量があるので(ステップS108:Yes)、2次キャッシュ装置400は、キャッシュに指定データ“データA”を記憶する(ステップS109)。
時刻“2”)
2次キャッシュ装置401は、指定データ“データB”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データB”のキャッシュデータは存在しないので(ステップS103:No)、2次キャッシュ装置401は、キャッシュ装置110を介して記憶装置200から指定データ“データB”を取得し(ステップS105、S106)、要求元“要求元B”へ送信する(ステップS107)。キャッシュに必要な空き容量があるので(ステップS108:Yes)、2次キャッシュ装置401は、キャッシュに指定データ“データB”を記憶する(ステップS109)。
時刻“3”)
2次キャッシュ装置400は、指定データ“データA”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データA”のキャッシュデータは存在するので(ステップS103:Yes)、2次キャッシュ装置400は、キャッシュデータ“データA”を含む読み出し応答を要求元“要求元A”へ送信する(ステップS104)。
時刻“4”)
2次キャッシュ装置401は、指定データ“データB”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データB”のキャッシュデータは存在するので(ステップS103:Yes)、2次キャッシュ装置401は、キャッシュデータ“データB”を含む読み出し応答を要求元“要求元B”へ送信する(ステップS104)。
時刻“5”)
2次キャッシュ装置400は、指定データ“データC”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データC”のキャッシュデータは存在しないので(ステップS103:No)、2次キャッシュ装置400は、キャッシュ装置110を介して記憶装置200から指定データ“データC”を取得し(ステップS105、S106)、要求元“要求元A”へ送信する(ステップS107)。キャッシュに必要な空き容量がないので(ステップS108:No)、2次キャッシュ装置400は、1回、要求元“要求元A”に対応付けられたデータ“データC”を破棄候補として選択し(ステップS210)、選択した破棄候補“データC”を破棄する(ステップS111)。
時刻“6”)
2次キャッシュ装置401は、指定データ“データC”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データC”のキャッシュデータは存在しないので(ステップS103:No)、2次キャッシュ装置401は、キャッシュ装置110を介して記憶装置200から指定データ“データC”を取得し(ステップS105、S106)、要求元“要求元B”へ送信する(ステップS107)。キャッシュに必要な空き容量がないので(ステップS108:No)、2次キャッシュ装置401は、1回、要求元“要求元B”に対応付けられたデータ“データC”を破棄候補として選択し(ステップS210)、選択した破棄候補“データC”を破棄する(ステップS111)。
時刻“7”)
2次キャッシュ装置400は、時刻“3”と同様に動作する。
時刻“8”)
2次キャッシュ装置401は、時刻“4”と同様に動作する。
時刻“9”)
2次キャッシュ装置400は、時刻“3”と同様に動作する。
時刻“10”)
2次キャッシュ装置401は、時刻“4”と同様に動作する。
時刻“11”)
2次キャッシュ装置400は、時刻“5”と同様に動作する。
時刻“12”)
2次キャッシュ装置401は、時刻“6”と同様に動作する。
(第3の実施形態)
次に、上述した第2の実施形態において、キャッシュ装置が2次キャッシュ装置に要求履歴の情報を渡す、本発明の第3の実施形態について説明する。なお、以下の説明において、第2の実施形態と同等の構成要素には同じ符号を付し、適宜説明を省略する。
時刻“1”)
2次キャッシュ装置410は、指定データ“データA”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データA”のキャッシュデータは存在しないので(ステップS103:No)、2次キャッシュ装置410は、キャッシュ装置120を介して記憶装置200から指定データ“データA”を取得し(ステップS105、S106)、要求元“要求元A”へ送信する(ステップS107)。キャッシュに必要な空き容量があるので(ステップS108:Yes)、2次キャッシュ装置410は、キャッシュに指定データ“データA”を記憶する(ステップS109)。
時刻“2”)
2次キャッシュ装置411は、指定データ“データB”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データB”のキャッシュデータは存在しないので(ステップS103:No)、2次キャッシュ装置411は、キャッシュ装置120を介して記憶装置200から指定データ“データB”を取得し(ステップS105、S106)、要求元“要求元B”へ送信する(ステップS107)。キャッシュに必要な空き容量があるので(ステップS108:Yes)、2次キャッシュ装置411は、キャッシュに指定データ“データB”を記憶する(ステップS109)。
時刻“3”)
2次キャッシュ装置410は、指定データ“データC”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データC”のキャッシュデータは存在しないので(ステップS103:No)、2次キャッシュ装置410は、キャッシュ装置120を介して記憶装置200から指定データ“データC”を取得し(ステップS105、S106)、要求元“要求元A”へ送信する(ステップS107)。
時刻“4”)
2次キャッシュ装置411は、指定データ“データC”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データC”のキャッシュデータは存在しないので(ステップS103:No)、2次キャッシュ装置411は、キャッシュ装置120を介して記憶装置200から指定データ“データC”を取得し(ステップS105、S106)、要求元“要求元B”へ送信する(ステップS107)。
時刻“5”)
2次キャッシュ装置410は、指定データ“データA”に対する要求元“要求元A”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データA”のキャッシュデータは存在するので(ステップS103:Yes)、2次キャッシュ装置410は、キャッシュデータ“データA”を含む読み出し応答を要求元“要求元A”へ送信する(ステップS104)。
時刻“6”)
2次キャッシュ装置411は、指定データ“データB”に対する要求元“要求元B”からの読み出し要求を受信すると(ステップS101)、要求履歴に記録する(ステップS102)。指定データ“データB”のキャッシュデータは存在するので(ステップS103:Yes)、2次キャッシュ装置411は、キャッシュデータ“データB”を含む読み出し応答を要求元“要求元B”へ送信する(ステップS104)。
時刻“7”)
2次キャッシュ装置410は、時刻“3”と同様に動作する。
時刻“8”)
2次キャッシュ装置411は、時刻“4”と同様に動作する。
(第4の実施形態)
次に、上述した第2の実施形態におけるキャッシュ装置を内蔵するストレージである、本発明の第4の実施形態について説明する。なお、以下の説明において、第2の実施形態と同等の構成要素には同じ符号を付し、適宜説明を省略する。
(第5の実施形態)
次に、上述した第4の実施形態において、サーバキャッシュとストレージキャッシュが連携してキャッシュデータを保持する、本発明の第5の実施形態について説明する。なお、以下の説明において、第4の実施形態と同等の構成要素には同じ符号を付し、適宜説明を省略する。
101 キャッシュ手段
102 記憶領域制御手段
200 記憶装置
300、301 要求元
110 キャッシュ装置
400、401 2次キャッシュ装置
120 キャッシュ装置
123 通信手段
410、411 2次キャッシュ装置
130 ストレージ
131 ストレージキャッシュ情報制御手段
132 分割領域判定手段
133 アクセス情報制御手段
134 データ破棄判定手段
135 分割領域作成手段
138 ストレージキャッシュ
139 HDD
330、331、332 サーバ
430、431、432 サーバキャッシュ
140 ストレージ
143 アクセス情報制御手段
340、341、342 サーバ
440、441、442 サーバキャッシュ
450、451、452 サーバキャッシュ情報制御手段
Claims (9)
- 記憶装置に接続され、複数の要求元に接続されるキャッシュ装置であって、
第1の前記要求元から第1の読み出し要求を受信し、前記第1の読み出し要求において指定された第1のデータを保持していない場合に、前記記憶装置に前記第1の読み出し要求を送信し、前記記憶装置から第1の読み出し応答を受信し、前記第1の読み出し応答を前記第1の要求元へ送信する一方、前記第1のデータを保持している場合に、前記第1のデータを含む第2の読み出し応答を前記第1の要求元へ送信するキャッシュ手段と、
前記第1のデータの指定に対応付けて前記第1の要求元を第1の履歴として記憶し、前記キャッシュ手段により前記第1のデータが保持されておらず且つ前記キャッシュ手段に前記第1のデータを保持するために十分な記憶領域が存在する場合に、前記キャッシュ手段に前記第1のデータを記憶させる一方、前記キャッシュ手段により前記第1のデータが保持されておらず且つ前記キャッシュ手段に前記第1のデータを保持するために十分な記憶領域が存在しない場合に、前記第1のデータ又は前記キャッシュ手段に保持されたデータのうち、前記第1の履歴においてより少数の前記要求元に対応付けられたデータを前記第1の履歴においてより多数の前記要求元に対応付けられたデータに優先して第2のデータとして選択し、前記第2のデータと前記第1のデータとが異なるならば、前記キャッシュ手段に前記第2のデータを破棄させた後に前記第1のデータを記憶させる記憶領域制御手段と
を備えることを特徴とするキャッシュ装置。 - 複数の前記要求元にそれぞれ1台の2次キャッシュ装置を介して接続され、
前記2次キャッシュ装置は、前記第1の要求元から第2の読み出し要求を受信し、前記第2の読み出し要求において指定された第3のデータを保持していない場合に、前記キャッシュ装置を介して前記記憶装置に前記第2の読み出し要求を送信し、前記キャッシュ装置を介して前記記憶装置から第3の読み出し応答を受信し、前記第3の読み出し応答を前記第1の要求元へ送信する一方、前記第3のデータを保持している場合に、前記第3のデータを含む第4の読み出し応答を前記第1の要求元へ送信し、
前記2次キャッシュ装置は、前記第3のデータの指定に対応付けて前記第1の要求元を第2の履歴として記憶し、前記第3のデータが保持されておらず且つ前記第3のデータを保持するために十分な記憶領域が存在する場合に、前記第3のデータを記憶する一方、前記第3のデータが保持されておらず且つ前記第3のデータを保持するために十分な記憶領域が存在しない場合に、前記第3のデータ又は保持されたデータのうち、前記第2の履歴においてより少数回、前記要求元に対応付けられたデータを前記第2の履歴においてより多数回、前記要求元に対応付けられたデータに優先して第4のデータとして選択し、前記第4のデータと前記第3のデータとが異なるならば、前記第4のデータを破棄した後に前記第3のデータを記憶する
ことを特徴とする請求項1に記載のキャッシュ装置。 - 複数の前記要求元にそれぞれ1台の2次キャッシュ装置を介して接続され、
前記キャッシュ装置は、前記2次キャッシュ装置に前記第1の履歴の情報を送信する通信手段を更に備え、
前記2次キャッシュ装置は、前記第1の要求元から第2の読み出し要求を受信し、前記第2の読み出し要求において指定された第3のデータを保持していない場合に、前記キャッシュ装置を介して前記記憶装置に前記第2の読み出し要求を送信し、前記キャッシュ装置を介して前記記憶装置から第3の読み出し応答を受信し、前記第3の読み出し応答を前記第1の要求元へ送信する一方、前記第3のデータを保持している場合に、前記第3のデータを含む第4の読み出し応答を前記第1の要求元へ送信し、
前記2次キャッシュ装置は、前記第3のデータが保持されておらず且つ前記第3のデータを保持するために十分な記憶領域が存在する場合に、前記第3のデータを記憶する一方、前記第3のデータが保持されておらず且つ前記第3のデータを保持するために十分な記憶領域が存在しない場合に、前記キャッシュ装置から前記第1の履歴の情報を取得し、前記第3のデータ又は保持されたデータのうち、前記第1の履歴においてより多数の前記要求元に対応付けられたデータを前記第1の履歴においてより少数の前記要求元に対応付けられたデータに優先して第5のデータとして選択し、前記第5のデータと前記第3のデータとが異なるならば、前記第5のデータを破棄した後に前記第3のデータを記憶する
ことを特徴とする請求項1に記載のキャッシュ装置。 - 請求項1に記載のキャッシュ装置を介して記憶装置に接続され、それぞれ1台の要求元に接続された2次キャッシュ装置であって、
前記2次キャッシュ装置は、前記キャッシュ装置から前記第1の履歴の情報を取得し、前記第1の履歴に基づいて、破棄するデータを決定する
ことを特徴とする2次キャッシュ装置。 - 請求項1に記載のキャッシュ装置を介して記憶装置に接続され、それぞれ1台の要求元に接続された2次キャッシュ装置であって、
前記2次キャッシュ装置は、前記第1の要求元から第2の読み出し要求を受信し、前記第2の読み出し要求において指定された第3のデータを保持していない場合に、前記キャッシュ装置を介して前記記憶装置に前記第2の読み出し要求を送信し、前記キャッシュ装置を介して前記記憶装置から第3の読み出し応答を受信し、前記第3の読み出し応答を前記第1の要求元へ送信する一方、前記第3のデータを保持している場合に、前記第3のデータを含む第4の読み出し応答を前記第1の要求元へ送信する2次キャッシュ手段と、
前記2次キャッシュ装置は、前記第3のデータが保持されておらず且つ前記第3のデータを保持するために十分な記憶領域が存在する場合に、前記第3のデータを記憶する一方、前記第3のデータが保持されておらず且つ前記第3のデータを保持するために十分な記憶領域が存在しない場合に、前記キャッシュ装置から前記第1の履歴の情報を取得し、前記第3のデータ又は保持されたデータのうち、前記第1の履歴においてより多数の前記要求元に対応付けられたデータを前記第1の履歴においてより少数の前記要求元に対応付けられたデータに優先して第5のデータとして選択し、前記第5のデータと前記第3のデータとが異なるならば、前記第5のデータを破棄した後に前記第3のデータを記憶する2次記憶領域制御手段と
を備えることを特徴とする2次キャッシュ装置。 - 前記記憶領域制御手段は、前記キャッシュ手段に前記第1のデータを記憶させる際に、前記記憶装置が保持する、前記第1のデータを含むデータブロックを、前記第1のデータとして記憶させ、
前記キャッシュ手段は、前記第1のデータを保持するか否かを判定する際に、前記第1のデータが、前記第1のデータとして記憶されたデータブロックに含まれるならば、前記第1のデータを保持すると判定する
ことを特徴とする請求項1乃至請求項3のいずれか1項に記載のキャッシュ装置。 - 記憶装置に接続されたキャッシュ装置と、
前記キャッシュ装置を介して前記記憶装置に接続され、それぞれ1台の要求元に接続される、複数の2次キャッシュ装置とを備えたキャッシュシステムあって、
前記キャッシュ装置は、
前記2次キャッシュ装置を介して第1の前記要求元から第1の読み出し要求を受信し、前記第1の読み出し要求において指定された第1のデータを保持していない場合に、前記記憶装置に前記第1の読み出し要求を送信し、前記記憶装置から第1の読み出し応答を受信し、前記第1の読み出し応答を前記2次キャッシュ装置を介して前記第1の要求元へ送信する一方、前記第1のデータを保持している場合に、前記第1のデータを含む第2の読み出し応答を前記2次キャッシュ装置を介して前記第1の要求元へ送信するキャッシュ手段と、
前記第1のデータの指定に対応付けて前記第1の要求元を第1の履歴として記憶し、前記キャッシュ手段により前記第1のデータが保持されておらず且つ前記キャッシュ手段に前記第1のデータを保持するために十分な記憶領域が存在する場合に、前記キャッシュ手段に前記第1のデータを記憶させる一方、前記キャッシュ手段により前記第1のデータが保持されておらず且つ前記キャッシュ手段に前記第1のデータを保持するために十分な記憶領域が存在しない場合に、前記第1のデータ又は前記キャッシュ手段に保持されたデータのうち、前記第1の履歴においてより少数の前記要求元に対応付けられたデータを前記第1の履歴においてより多数の前記要求元に対応付けられたデータに優先して第2のデータとして選択し、前記第2のデータと前記第1のデータとが異なるならば、前記キャッシュ手段に前記第2のデータを破棄させた後に前記第1のデータを記憶させる記憶領域制御手段とを備え、
前記2次キャッシュ装置は、
前記第1の要求元から第2の読み出し要求を受信し、前記第2の読み出し要求において指定された第3のデータを保持していない場合に、前記キャッシュ装置を介して前記記憶装置に前記第2の読み出し要求を送信し、前記キャッシュ装置を介して前記記憶装置から第3の読み出し応答を受信し、前記第3の読み出し応答を前記第1の要求元へ送信する一方、前記第3のデータを保持している場合に、前記第3のデータを含む第4の読み出し応答を前記第1の要求元へ送信する2次キャッシュ手段と、
前記第3のデータが保持されておらず且つ前記第3のデータを保持するために十分な記憶領域が存在する場合に、前記第3のデータを記憶する一方、前記第3のデータが保持されておらず且つ前記第3のデータを保持するために十分な記憶領域が存在しない場合に、前記キャッシュ装置から前記第1の履歴の情報を取得し、前記第3のデータ又は保持されたデータのうち、前記第1の履歴においてより多数の前記要求元に対応付けられたデータを前記第1の履歴においてより少数の前記要求元に対応付けられたデータに優先して第4のデータとして選択し、前記第4のデータと前記第3のデータとが異なるならば、前記第4のデータを破棄した後に前記第3のデータを記憶する2次記憶領域制御手段とを備える
ことを特徴とするキャッシュシステム。 - 記憶装置に接続され、複数の要求元に接続されるキャッシュ装置において、
第1の前記要求元から第1の読み出し要求を受信し、前記第1の読み出し要求において指定された第1のデータを保持していない場合に、前記記憶装置に前記第1の読み出し要求を送信し、前記記憶装置から第1の読み出し応答を受信し、前記第1の読み出し応答を前記第1の要求元へ送信する一方、前記第1のデータを保持している場合に、前記第1のデータを含む第2の読み出し応答を前記第1の要求元へ送信し、
前記第1のデータの指定に対応付けて前記第1の要求元を第1の履歴として記憶し、前記第1のデータが保持されておらず且つ前記第1のデータを保持するために十分な記憶領域が存在する場合に、前記第1のデータを記憶する一方、前記第1のデータが保持されておらず且つ前記第1のデータを保持するために十分な記憶領域が存在しない場合に、前記第1のデータ又は保持されたデータのうち、前記第1の履歴においてより少数の前記要求元に対応付けられたデータを前記第1の履歴においてより多数の前記要求元に対応付けられたデータに優先して第2のデータとして選択し、前記第2のデータと前記第1のデータとが異なるならば、前記第2のデータを破棄した後に前記第1のデータを記憶する
ことを特徴とするキャッシュ方法。 - 記憶装置に接続され、複数の要求元に接続されるキャッシュ装置であって、
第1の前記要求元から第1の読み出し要求を受信し、前記第1の読み出し要求において指定された第1のデータを保持していない場合に、前記記憶装置に前記第1の読み出し要求を送信し、前記記憶装置から第1の読み出し応答を受信し、前記第1の読み出し応答を前記第1の要求元へ送信する一方、前記第1のデータを保持している場合に、前記第1のデータを含む第2の読み出し応答を前記第1の要求元へ送信するキャッシュ処理と、
前記第1のデータの指定に対応付けて前記第1の要求元を第1の履歴として記憶し、前記第1のデータが保持されておらず且つ前記第1のデータを保持するために十分な記憶領域が存在する場合に、前記第1のデータを記憶する一方、前記第1のデータが保持されておらず且つ前記第1のデータを保持するために十分な記憶領域が存在しない場合に、前記第1のデータ又は保持されたデータのうち、前記第1の履歴においてより少数の前記要求元に対応付けられたデータを前記第1の履歴においてより多数の前記要求元に対応付けられたデータに優先して第2のデータとして選択し、前記第2のデータと前記第1のデータとが異なるならば、前記第2のデータを破棄した後に前記第1のデータを記憶する記憶領域制御処理と
をコンピュータに実行させることを特徴とするキャッシュプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014250580A JP6194875B2 (ja) | 2014-12-11 | 2014-12-11 | キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム |
US14/964,074 US9858204B2 (en) | 2014-12-11 | 2015-12-09 | Cache device, cache system, and cache method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014250580A JP6194875B2 (ja) | 2014-12-11 | 2014-12-11 | キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016114967A true JP2016114967A (ja) | 2016-06-23 |
JP6194875B2 JP6194875B2 (ja) | 2017-09-13 |
Family
ID=56140012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014250580A Active JP6194875B2 (ja) | 2014-12-11 | 2014-12-11 | キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9858204B2 (ja) |
JP (1) | JP6194875B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI673611B (zh) * | 2016-09-06 | 2019-10-01 | 日商艾庫塞爾股份有限公司 | 資訊處理裝置、及資訊處理方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6551101B2 (ja) * | 2015-09-17 | 2019-07-31 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
US11831565B2 (en) * | 2018-10-03 | 2023-11-28 | Advanced Micro Devices, Inc. | Method for maintaining cache consistency during reordering |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001117817A (ja) * | 1999-10-15 | 2001-04-27 | Internatl Business Mach Corp <Ibm> | キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置 |
WO2011161829A1 (ja) * | 2010-06-25 | 2011-12-29 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206949A (ja) | 2006-02-01 | 2007-08-16 | Nec Corp | ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム |
US7805575B1 (en) * | 2006-09-29 | 2010-09-28 | Tilera Corporation | Caching in multicore and multiprocessor architectures |
US7840759B2 (en) * | 2007-03-21 | 2010-11-23 | International Business Machines Corporation | Shared cache eviction |
JP2010049502A (ja) | 2008-08-21 | 2010-03-04 | Hitachi Ltd | ストレージサブシステム、及びこれを有するストレージシステム |
EP2513799B1 (en) * | 2009-12-16 | 2014-03-12 | Telefonaktiebolaget L M Ericsson (PUBL) | A method, server and computer program for caching |
JP5614266B2 (ja) | 2010-11-30 | 2014-10-29 | 富士ゼロックス株式会社 | 印刷文書処理システム、キャッシュ装置、データ処理装置及びプログラム |
US20140258375A1 (en) * | 2013-03-11 | 2014-09-11 | Lsi Corporation | System and method for large object cache management in a network |
-
2014
- 2014-12-11 JP JP2014250580A patent/JP6194875B2/ja active Active
-
2015
- 2015-12-09 US US14/964,074 patent/US9858204B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001117817A (ja) * | 1999-10-15 | 2001-04-27 | Internatl Business Mach Corp <Ibm> | キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置 |
US6629200B1 (en) * | 1999-10-15 | 2003-09-30 | International Business Machines Corporation | System and method for controlling cache memories, computer system, hard disk drive unit, and hard disk control unit |
WO2011161829A1 (ja) * | 2010-06-25 | 2011-12-29 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
US20130111138A1 (en) * | 2010-06-25 | 2013-05-02 | Fujitsu Limited | Multi-core processor system, computer product, and control method |
Non-Patent Citations (1)
Title |
---|
長廻 雄介 外: ""上位キャッシュの動作を考慮した下位キャッシュの置換手法"", 情報処理学会第73回(平成23年)全国大会 講演論文集(1) アーキテクチャ ソフトウェア科学・工学, JPN6017011324, 2 March 2011 (2011-03-02), JP, pages pp. 1-179〜1-180 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI673611B (zh) * | 2016-09-06 | 2019-10-01 | 日商艾庫塞爾股份有限公司 | 資訊處理裝置、及資訊處理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160196211A1 (en) | 2016-07-07 |
JP6194875B2 (ja) | 2017-09-13 |
US9858204B2 (en) | 2018-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200089430A1 (en) | Memory system and control method | |
JP5931196B2 (ja) | I/oノード及び複数の計算ノードに備えられたキャッシュメモリの制御方法 | |
CN108139872B (zh) | 一种缓存管理方法、缓存控制器以及计算机系统 | |
US20130212319A1 (en) | Memory system and method of controlling memory system | |
JP6131170B2 (ja) | 計算機システム、及びデータ配置制御方法 | |
US11093410B2 (en) | Cache management method, storage system and computer program product | |
US10095442B2 (en) | Memory device that changes execution order of commands | |
JP4748950B2 (ja) | 記憶領域管理方法及びシステム | |
KR20190079672A (ko) | 정보 처리 장치, 메모리 액세스 방법 및 컴퓨터 프로그램 | |
US20170123975A1 (en) | Centralized distributed systems and methods for managing operations | |
JP6885193B2 (ja) | 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム | |
US10817186B2 (en) | Memory system | |
JP6194875B2 (ja) | キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム | |
US9465745B2 (en) | Managing access commands by multiple level caching | |
CN105574008B (zh) | 应用于分布式文件系统的任务调度方法和设备 | |
JP5158576B2 (ja) | 入出力制御システム、入出力制御方法、及び、入出力制御プログラム | |
JP2005339299A (ja) | ストレージ装置のキャッシュ制御方法 | |
KR102063281B1 (ko) | 파일에 접근하기 위한 방법과 장치, 및 저장 시스템 | |
JP2021135538A (ja) | ストレージ制御装置及びストレージ制御プログラム | |
JP2009199367A (ja) | 計算機システム、i/oスケジューラ及びi/oスケジューリング方法 | |
US20180329756A1 (en) | Distributed processing system, distributed processing method, and storage medium | |
JP6112193B2 (ja) | アクセス制御プログラム、ディスク装置及びアクセス制御方法 | |
JP5900063B2 (ja) | ストレージ装置およびストレージ装置における初期化方法 | |
US11474947B2 (en) | Information processing apparatus and non-transitory computer-readable storage medium storing cache control program | |
US11150827B2 (en) | Storage system and duplicate data management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160415 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170602 |
|
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: 20170718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6194875 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |