JP5305621B2 - 複数のデータ構造を用いてキャッシュ内のデータを管理するシステム - Google Patents
複数のデータ構造を用いてキャッシュ内のデータを管理するシステム Download PDFInfo
- Publication number
- JP5305621B2 JP5305621B2 JP2007186509A JP2007186509A JP5305621B2 JP 5305621 B2 JP5305621 B2 JP 5305621B2 JP 2007186509 A JP2007186509 A JP 2007186509A JP 2007186509 A JP2007186509 A JP 2007186509A JP 5305621 B2 JP5305621 B2 JP 5305621B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- data
- readable medium
- computer readable
- determining
- 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.)
- Expired - Fee Related
Links
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 abstract description 24
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 125000004079 stearyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
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
- G06F12/124—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being minimized, e.g. non MRU
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを生成するための標準プログラミング技法または標準エンジニアリング技法あるいはその両方を使用する方法、装置、または製品(article of manufacture)、さらにはプログラムとして記載のオペレーションを実装することができる。「コンピュータ可読媒体」内に維持されるコードとして記載のオペレーションを実装することができる。プロセッサは、コンピュータ可読媒体からコードを読み取り、実行することができる。コンピュータ可読媒体は、磁気記憶媒体(例えばハード・ディスク・ドライブ、フロッピィ・ディスク、テープなど)、光学式ストレージ(CD−ROM、DVD、光ディスクなど)、揮発性および不揮発性メモリ装置(例えばEEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ・メモリ、ファームウェア、プログラマブル論理など)の媒体を含むことができる。さらに、記載のオペレーションを実装するコードを、ハードウェア論理(例えば集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)として実装することができる。さらに、記載のオペレーションを実装するコードを「伝送信号」として実装することができる。伝送信号は、空間を介して、または光ファイバ、銅線などの伝送媒体を介して伝播することができる。コードまたは論理がその中に符号化される伝送信号は、ワイヤレス信号、衛星伝送、電波、赤外線信号、Bluetoothなどをさらに含むことができる。コードまたは論理がその中に符号化される伝送信号は、送信局で送信することができ、受信局で受信することができ、伝送信号内に符号化されるコードまたは論理は、受信側および送信側の局または装置で復号化し、ハードウェアまたはコンピュータ可読媒体内に格納することができる。「製品」は、コードをその中に実装することのできるコンピュータ可読媒体、ハードウェア論理、または伝送信号、あるいはそれらの組合せを含む。記載のオペレーションの実施形態を実装するコードがその中に符号化される装置は、コンピュータ可読媒体またはハードウェア論理を含むことができる。もちろん、本発明の範囲から逸脱することなくこの構成に対して多くの修正を行えること、および製品が当技術分野で周知の適切な情報運搬媒体を含むことができることを当業者は理解されよう。
4 クロック・ハンド
6 ヘッド・エントリ
8 テール・エントリ
12 システム
14a、14b...14n プロセッサ
16 ストレージ
18 キャッシュ・マネージャ
20a、20b...20n 最長時間未使用(LRU)リスト
22 メモリ
24a、24b...24n 最短時間未使用(MRU)端
26a、26b...26n LRU端
28 キャッシュ・インデックス
30 キャッシュ・インデックス・エントリ
32 記憶位置
34 LRUリスト
36 エントリ
150a、150b...150n クロック・データ構造
152 キャッシュ・メモリ
154a、154b...154n クロック・ハンド
156a、156b...156n テール・エントリ
158a、158b...158n ヘッド・エントリ
160 キャッシュ・インデックス
170 エントリ
172 記憶位置
174 クロック
176 エントリ
Claims (10)
- 第1コンピュータ可読媒体と通信するシステムであって、
少なくとも1つのプロセッサと、
第2コンピュータ可読媒体と、
前記第2コンピュータ可読媒体に追加された前記第1コンピュータ可読媒体からのデータを識別するエントリをそれぞれ有する複数のデータ構造と、
前記第2コンピュータ可読媒体に対するアクセスを管理するキャッシュ・マネージャとを備え、
前記キャッシュ・マネージャによって実行されるオペレーションが、
前記第1コンピュータ可読媒体内のデータを求める要求を1つのプロセッサから受信するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在するかどうかを判定するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在しないと判定したことに応答して、前記第1コンピュータ可読媒体から前記要求されたデータを取り出し、前記第2コンピュータ可読媒体に格納するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在しないと判定したことに応答して、前記データ構造のうちの1つをランダムに選択するステップと、
前記取り出したデータに関するエントリを前記選択したデータ構造に追加するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在しないと判定したことに応答して、前記取り出した要求されたデータを格納するために利用可能なスペースを前記第2コンピュータ可読媒体が有するかどうかを判定するステップと、
前記第2コンピュータ可読媒体が利用可能なスペースを有さないと判定したことに応答して、前記データ構造のうちの1つから1つのエントリを選択するステップと、
前記第2コンピュータ可読媒体から前記選択したエントリに関するデータをデステージするステップとを含み、
前記第2コンピュータ可読媒体が利用可能なスペースを有さないと判定したことに応答して、前記データ構造のうちの1つから1つのエントリを選択するステップが、
前記データ構造のランダムなサブセットを選択するステップと、
前記選択したランダムなサブセットから、その最も古いエントリが前記選択したサブセット内の任意の他のデータ構造内の最も古いエントリよりも新しくない1つのデータ構造を選択するステップとを含む、システム。 - 第1コンピュータ可読媒体と通信するシステムであって、
少なくとも1つのプロセッサと、
第2コンピュータ可読媒体と、
前記第2コンピュータ可読媒体に追加された前記第1コンピュータ可読媒体からのデータを識別するエントリをそれぞれ有する複数のデータ構造と、
前記第2コンピュータ可読媒体に対するアクセスを管理するキャッシュ・マネージャとを備え、
前記キャッシュ・マネージャによって実行されるオペレーションが、
前記第1コンピュータ可読媒体内のデータを求める要求を1つのプロセッサから受信するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在するかどうかを判定するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在しないと判定したことに応答して、前記第1コンピュータ可読媒体から前記要求されたデータを取り出し、前記第2コンピュータ可読媒体に格納するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在しないと判定したことに応答して、前記データ構造のうちの1つをランダムに選択するステップと、
前記取り出したデータに関するエントリを前記選択したデータ構造に追加するステップとを含み、
前記データ構造がクロックを含み、各クロックが、循環バッファ内で互いに隣接するヘッド・エントリおよびテール・エントリを有し、前記取り出したデータに関する前記エントリを追加するステップが、前記選択したクロックの前記ヘッド・エントリに前記エントリを追加するステップを含む、システム。 - 前記クロック内の前記エントリは、前記エントリにアクセスされたかどうかを示し、前記キャッシュ・マネージャによって実行される前記オペレーションが、
前記要求されたデータに関するエントリが前記クロックのうちの1つの中に存在しないと判定したことに応答して、前記取り出した要求されたデータを格納するために利用可能なスペースを前記第2コンピュータ可読媒体が有するかどうかを判定するステップと、
前記クロックのうちの1つをランダムに選択するステップと、
アクセスされていないと示される前記クロック内の1つのエントリを求めるステップと、
前記求めたエントリに関するデータを前記第2コンピュータ可読媒体からデステージするステップとをさらに含む、請求項2に記載のシステム。 - 前記クロック内の1つのエントリを求めるステップが、
前記クロックのランダムなサブセットを選択するステップと、
前記選択したランダムなサブセットから、最も多くのエントリを有する1つのクロックを選択するステップと
を含む請求項3に記載のシステム。 - 前記データ構造が最長時間未使用(LRU)リストを含み、前記取り出したデータに関する前記エントリを追加するステップが、選択したLRUリストの最短時間未使用(MRU)端に前記エントリを追加するステップを含む、請求項1〜4の何れかに記載のシステム。
- 前記第2コンピュータ可読媒体内の記憶位置に関するデータが前記データ構造のうちの1つの中の1つのエントリで識別されるかどうかを示すキャッシュ・インデックスをさらに備え、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在するかどうかを判定するステップが、
前記キャッシュ・インデックスから、前記要求されたデータに関する前記エントリが存在するかどうかを判定するステップを含む、請求項1〜4の何れかに記載のシステム。 - 第1コンピュータ可読媒体と通信するシステムであって、
プロセッサと、
第2コンピュータ可読媒体と、
前記第2コンピュータ可読媒体に追加された前記第1コンピュータ可読媒体からのデータを識別するエントリをそれぞれ有する複数のデータ構造と、
前記第2コンピュータ可読媒体に対するアクセスを管理するキャッシュ・マネージャとを備え、前記キャッシュ・マネージャによって実行されるオペレーションが、
前記第1コンピュータ可読媒体内のデータを求める要求を前記プロセッサから受信するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在するかどうかを判定するステップと、
前記要求されたデータに関する1つのエントリが前記データ構造のうちの1つの中に存在すると判定したことに応答して、前記データ要求に関して、前記第2コンピュータ可読媒体から前記要求されたデータにアクセスするステップと、
前記要求されたデータに関する1つのエントリが前記データ構造のうちの1つの中に存在すると判定したことに応答して、前記データ構造のうちの1つをランダムに選択するステップと、
前記要求されたデータに関する1つのエントリが存在すると判定したことに応答して、前記要求されたデータに関する求めたエントリを選択された前記データ構造に移動するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在しないと判定したことに応答して、前記取り出した要求されたデータを格納するために利用可能なスペースを前記第2コンピュータ可読媒体が有するかどうかを判定するステップと、
前記第2コンピュータ可読媒体が利用可能なスペースを有さないと判定したことに応答して、前記データ構造のうちの1つから1つのエントリを選択するステップと、
前記第2コンピュータ可読媒体から前記選択したエントリに関するデータをデステージするステップとを含み、
前記第2コンピュータ可読媒体が利用可能なスペースを有さないと判定したことに応答して、前記データ構造のうちの1つから1つのエントリを選択するステップが、
前記データ構造のランダムなサブセットを選択するステップと、
前記選択したランダムなサブセットから、その最も古いエントリが前記選択したサブセット内の任意の他のデータ構造内の最も古いエントリよりも新しくない1つのデータ構造を選択するステップとを含む、システム。 - 第1コンピュータ可読媒体と通信するシステムであって、
プロセッサと、
第2コンピュータ可読媒体と、
前記第2コンピュータ可読媒体に追加された前記第1コンピュータ可読媒体からのデータを識別するエントリをそれぞれ有する複数のデータ構造と、
前記第2コンピュータ可読媒体に対するアクセスを管理するキャッシュ・マネージャとを備え、前記キャッシュ・マネージャによって実行されるオペレーションが、
前記第1コンピュータ可読媒体内のデータを求める要求を前記プロセッサから受信するステップと、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在するかどうかを判定するステップと、
前記要求されたデータに関する1つのエントリが前記データ構造のうちの1つの中に存在すると判定したことに応答して、前記データ要求に関して、前記第2コンピュータ可読媒体から前記要求されたデータにアクセスするステップと、
前記要求されたデータに関する1つのエントリが前記データ構造のうちの1つの中に存在すると判定したことに応答して、前記データ構造のうちの1つをランダムに選択するステップと、
前記要求されたデータに関する1つのエントリが存在すると判定したことに応答して、前記要求されたデータに関する求めたエントリを選択された前記データ構造に移動するステップとを含み、
前記データ構造がクロックを含み、各クロックが、循環バッファ内で互いに隣接するヘッド・エントリおよびテール・エントリを有し、前記取り出したデータに関する前記エントリを追加するステップが、前記選択したクロックの前記ヘッド・エントリに前記エントリを追加するステップを含む、システム。 - 前記クロック内の前記エントリは、前記エントリにアクセスされたかどうかを示し、前記キャッシュ・マネージャによって実行される前記オペレーションが、
前記要求されたデータに関するエントリが前記クロックのうちの1つの中に存在しないと判定したことに応答して、前記取り出した要求されたデータを格納するために利用可能なスペースを前記第2コンピュータ可読媒体が有するかどうかを判定するステップと、
前記クロックのうちの1つをランダムに選択するステップと、
アクセスされていないと示される前記クロック内の1つのエントリを求めるステップと、
前記求めたエントリに関するデータを前記第2コンピュータ可読媒体からデステージするステップとをさらに含む、請求項8に記載のシステム。 - 前記第2コンピュータ可読媒体内の記憶位置に関するデータが前記データ構造のうちの1つの中の1つのエントリで識別されるかどうかを示すキャッシュ・インデックスをさらに備え、
前記要求されたデータに関するエントリが前記データ構造のうちの1つの中に存在するかどうかを判定するステップが、
前記キャッシュ・インデックスから、前記要求されたデータに関する前記エントリが存在するかどうかを判定するステップを含む、請求項7〜9の何れかに記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/459,004 US7908236B2 (en) | 2006-07-20 | 2006-07-20 | Using multiple data structures to manage data in cache |
US11/459004 | 2006-07-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008027444A JP2008027444A (ja) | 2008-02-07 |
JP5305621B2 true JP5305621B2 (ja) | 2013-10-02 |
Family
ID=38972599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007186509A Expired - Fee Related JP5305621B2 (ja) | 2006-07-20 | 2007-07-18 | 複数のデータ構造を用いてキャッシュ内のデータを管理するシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7908236B2 (ja) |
JP (1) | JP5305621B2 (ja) |
CN (1) | CN101110061A (ja) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783839B2 (en) * | 2007-01-08 | 2010-08-24 | International Business Machines Corporation | Using different algorithms to destage different types of data from cache |
US8850114B2 (en) | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US8868611B2 (en) | 2011-07-28 | 2014-10-21 | Hewlett-Packard Development Company, L.P. | Data management system for efficient storage and retrieval of multi-level/multi-dimensional data |
US9710397B2 (en) * | 2012-02-16 | 2017-07-18 | Apple Inc. | Data migration for composite non-volatile storage device |
US8930624B2 (en) * | 2012-03-05 | 2015-01-06 | International Business Machines Corporation | Adaptive cache promotions in a two level caching system |
US8909866B2 (en) * | 2012-11-06 | 2014-12-09 | Advanced Micro Devices, Inc. | Prefetching to a cache based on buffer fullness |
US10073851B2 (en) | 2013-01-08 | 2018-09-11 | Apple Inc. | Fast new file creation cache |
US9262415B2 (en) * | 2013-11-08 | 2016-02-16 | Sybase, Inc. | Cache efficiency in a shared disk database cluster |
CN104166634A (zh) * | 2014-08-12 | 2014-11-26 | 华中科技大学 | 一种固态盘系统中的映射表缓存管理方法 |
US9710398B2 (en) * | 2014-11-18 | 2017-07-18 | International Business Machines Corporation | RE-MRU of metadata tracks to reduce lock contention |
US10067884B2 (en) | 2015-08-21 | 2018-09-04 | International Business Machines Corporation | Distributing a plurality of tracks to add to cache to lists assigned to processors |
US9921974B2 (en) | 2015-08-21 | 2018-03-20 | International Business Machines Corporation | Assigning cache control blocks and cache lists to multiple processors to cache and demote tracks in a storage system |
US10108552B2 (en) | 2015-08-21 | 2018-10-23 | International Business Machines Corporation | Using cache lists for processors to determine tracks to demote from a cache |
US9952904B2 (en) | 2015-08-21 | 2018-04-24 | International Business Machines Corporation | Distributing tracks to add to cache to processor cache lists based on counts of processor access requests to the cache |
US10114753B2 (en) * | 2015-08-21 | 2018-10-30 | International Business Machines Corporation | Using cache lists for multiple processors to cache and demote tracks in a storage system |
US9952982B2 (en) * | 2016-06-06 | 2018-04-24 | International Business Machines Corporation | Invoking demote threads on processors to demote tracks indicated in demote ready lists from a cache when a number of free cache segments in the cache is below a free cache segment threshold |
US9971508B2 (en) | 2016-06-06 | 2018-05-15 | International Business Machines Corporation | Invoking input/output (I/O) threads on processors to demote tracks from a cache |
US9971689B2 (en) | 2016-06-06 | 2018-05-15 | International Business Machines Corporation | Invoking input/output (I/O) threads and demote threads on processors to demote tracks from a cache |
US10942844B2 (en) | 2016-06-10 | 2021-03-09 | Apple Inc. | Reserved memory in memory management system |
CN106936913B (zh) * | 2017-03-16 | 2020-06-19 | 宿州学院 | 一种基于节点位移和lru记录的缓存更新方法及网络 |
US10248577B2 (en) | 2017-04-07 | 2019-04-02 | International Business Machines Corporation | Using a characteristic of a process input/output (I/O) activity and data subject to the I/O activity to determine whether the process is a suspicious process |
US10282543B2 (en) * | 2017-05-03 | 2019-05-07 | International Business Machines Corporation | Determining whether to destage write data in cache to storage based on whether the write data has malicious data |
US10445497B2 (en) | 2017-05-03 | 2019-10-15 | International Business Machines Corporation | Offloading processing of writes to determine malicious data from a first storage system to a second storage system |
CN109902092B (zh) * | 2019-02-22 | 2020-05-05 | 广州荔支网络技术有限公司 | 一种数据存储系统的操作方法、装置和移动终端 |
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 |
US11163699B2 (en) | 2020-03-30 | 2021-11-02 | EMC IP Holding Company LLC | Managing least recently used cache using reduced memory footprint sequence container |
US11307935B2 (en) | 2020-03-31 | 2022-04-19 | EMC IP Holding Company LLC | Management of volume snapshots in a data storage system |
US11301162B2 (en) | 2020-05-31 | 2022-04-12 | EMC IP Holding Company LLC | Balancing resiliency and performance by selective use of degraded writes and spare capacity in storage systems |
US11262933B2 (en) | 2020-07-01 | 2022-03-01 | EMC IP Holding Company LLC | Sharing memory resources between asynchronous replication workloads |
US11636089B2 (en) | 2020-08-03 | 2023-04-25 | EMC IP Holding Company LLC | Deferred reclamation of invalidated entries that are associated with a transaction log in a log-structured array |
US10986174B1 (en) | 2020-09-18 | 2021-04-20 | EMC IP Holding Company LLC | Automatic discovery and configuration of server nodes |
US11487432B2 (en) | 2020-10-08 | 2022-11-01 | EMC IP Holding Company LLC | Direct response to IO request in storage system with remote replication |
US11687536B2 (en) | 2020-10-14 | 2023-06-27 | EMC IP Holding Company LLC | Pipeline-based system for configuration checking and reporting associated with an information processing system |
US11606429B2 (en) | 2020-10-14 | 2023-03-14 | EMC IP Holding Company LLC | Direct response to IO request in storage system having an intermediary target apparatus |
US11900131B2 (en) | 2020-10-15 | 2024-02-13 | EMC IP Holding Company LLC | Dynamic remediation actions in response to configuration checks in an information processing system |
US11416396B2 (en) | 2020-10-22 | 2022-08-16 | EMC IP Holding Company LLC | Volume tiering in storage systems |
US11573736B2 (en) | 2020-11-30 | 2023-02-07 | EMC IP Holding Company LLC | Managing host connectivity to a data storage system |
US11487460B2 (en) | 2020-12-16 | 2022-11-01 | EMC IP Holding Company LLC | Deferred reclamation of invalidated entries associated with replication in a log-structured array |
US11704160B2 (en) | 2021-01-11 | 2023-07-18 | EMC IP Holding Company LLC | Redistribution of processing groups between server nodes based on hardware resource utilization |
US11418589B1 (en) | 2021-04-16 | 2022-08-16 | EMC IP Holding Company LLC | Object synchronization of server nodes in a network computing environment |
US11809274B2 (en) | 2021-04-21 | 2023-11-07 | EMC IP Holding Company LLC | Recovery from partial device error in data storage system |
US11733874B2 (en) | 2021-05-03 | 2023-08-22 | EMC IP Holding Company LLC | Managing replication journal in a distributed replication system |
US11966294B2 (en) | 2021-05-05 | 2024-04-23 | EMC IP Holding Company LLC | Journal barrier consistency determination |
US11537312B2 (en) | 2021-05-05 | 2022-12-27 | EMC IP Holding Company LLC | Maintaining replication consistency during distribution instance changes |
US11675789B2 (en) | 2021-06-29 | 2023-06-13 | EMC IP Holding Company LLC | Tracking utilization of data blocks in a storage system |
US11650920B1 (en) | 2021-10-27 | 2023-05-16 | Dell Products L.P. | Write cache management |
US11550479B1 (en) | 2021-10-27 | 2023-01-10 | Dell Products L.P. | Metadata management in storage systems |
US11609854B1 (en) | 2021-10-28 | 2023-03-21 | Dell Products L.P. | Utilizing checkpoints for resiliency of metadata in storage systems |
US11630773B1 (en) | 2022-01-05 | 2023-04-18 | Dell Products L.P. | Utilizing a persistent write cache as a redo log |
US11789917B2 (en) | 2022-01-25 | 2023-10-17 | Dell Products L.P. | Data deduplication in a storage system |
US11842051B2 (en) | 2022-01-25 | 2023-12-12 | Dell Products L.P. | Intelligent defragmentation in a storage system |
US11868248B2 (en) | 2022-02-25 | 2024-01-09 | Dell Products L.P. | Optimization for garbage collection in a storage system |
US11704053B1 (en) | 2022-04-06 | 2023-07-18 | Dell Products L.P. | Optimization for direct writes to raid stripes |
US11960481B2 (en) | 2022-06-29 | 2024-04-16 | Dell Products L.P. | Managing lookup operations of a metadata structure for a storage system |
US11971825B2 (en) | 2022-07-14 | 2024-04-30 | Dell Products L.P. | Managing granularity of a metadata structure for a storage system |
US11921714B2 (en) | 2022-07-19 | 2024-03-05 | Dell Products L.P. | Managing insert operations of a metadata structure for a storage system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4636946A (en) | 1982-02-24 | 1987-01-13 | International Business Machines Corporation | Method and apparatus for grouping asynchronous recording operations |
US5778442A (en) | 1996-03-25 | 1998-07-07 | Oracle Corporation | Method and apparatus for buffering data in a computer system |
US6078995A (en) | 1996-12-26 | 2000-06-20 | Micro Magic, Inc. | Methods and apparatus for true least recently used (LRU) bit encoding for multi-way associative caches |
US6141731A (en) | 1998-08-19 | 2000-10-31 | International Business Machines Corporation | Method and system for managing data in cache using multiple data structures |
US6393525B1 (en) | 1999-05-18 | 2002-05-21 | Intel Corporation | Least recently used replacement method with protection |
US6457102B1 (en) * | 1999-11-05 | 2002-09-24 | Emc Corporation | Cache using multiple LRU's |
GB2372589B (en) * | 2001-02-21 | 2003-01-22 | 3Com Corp | Memory aliasing in a processor system |
US6961804B2 (en) * | 2001-07-20 | 2005-11-01 | International Business Machines Corporation | Flexible techniques for associating cache memories with processors and main memory |
JP4162184B2 (ja) * | 2001-11-14 | 2008-10-08 | 株式会社日立製作所 | データベース管理システムの実行情報を取得する手段を有する記憶装置 |
US6785771B2 (en) * | 2001-12-04 | 2004-08-31 | International Business Machines Corporation | Method, system, and program for destaging data in cache |
US6615318B2 (en) * | 2002-01-22 | 2003-09-02 | International Business Machines Corporation | Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries |
US6912623B2 (en) * | 2002-06-04 | 2005-06-28 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy |
US7096321B2 (en) * | 2003-10-21 | 2006-08-22 | International Business Machines Corporation | Method and system for a cache replacement technique with adaptive skipping |
US20070186048A1 (en) * | 2004-03-24 | 2007-08-09 | Matsushita Electric Industrial Co., Ltd. | Cache memory and control method thereof |
US7337273B2 (en) * | 2004-03-31 | 2008-02-26 | Microsoft Corporation | Strategies for reading information from a mass storage medium using a cache memory |
US20060143396A1 (en) * | 2004-12-29 | 2006-06-29 | Mason Cabot | Method for programmer-controlled cache line eviction policy |
-
2006
- 2006-07-20 US US11/459,004 patent/US7908236B2/en not_active Expired - Fee Related
-
2007
- 2007-05-16 CN CNA200710102599XA patent/CN101110061A/zh active Pending
- 2007-07-18 JP JP2007186509A patent/JP5305621B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101110061A (zh) | 2008-01-23 |
JP2008027444A (ja) | 2008-02-07 |
US20080021853A1 (en) | 2008-01-24 |
US7908236B2 (en) | 2011-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5305621B2 (ja) | 複数のデータ構造を用いてキャッシュ内のデータを管理するシステム | |
US10067883B2 (en) | Using an access increment number to control a duration during which tracks remain in cache | |
US9921973B2 (en) | Cache management of track removal in a cache for storage | |
US8930624B2 (en) | Adaptive cache promotions in a two level caching system | |
US7783839B2 (en) | Using different algorithms to destage different types of data from cache | |
US8775729B2 (en) | Prefetching data tracks and parity data to use for destaging updated tracks | |
US8650354B2 (en) | Prefetching tracks using multiple caches | |
US8825944B2 (en) | Populating strides of tracks to demote from a first cache to a second cache | |
US9021201B2 (en) | Demoting partial tracks from a first cache to a second cache | |
US8793436B2 (en) | Cache management of tracks in a first cache and a second cache for a storage | |
US8825957B2 (en) | Demoting tracks from a first cache to a second cache by using an occupancy of valid tracks in strides in the second cache to consolidate strides in the second cache | |
US9471496B2 (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 | |
EP2805241B1 (en) | Populating a first stride of tracks from a first cache to write to a second stride in a second cache | |
US8825952B2 (en) | Handling high priority requests in a sequential access storage device having a non-volatile storage cache | |
US8996789B2 (en) | Handling high priority requests in a sequential access storage device having a non-volatile storage cache | |
US20210042241A1 (en) | Using insertion points to determine locations in a cache list at which to indicate tracks in a shared cache accessed by a plurality of processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130312 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130401 |
|
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: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130625 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |