JP5709563B2 - バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム - Google Patents
バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム Download PDFInfo
- Publication number
- JP5709563B2 JP5709563B2 JP2011023958A JP2011023958A JP5709563B2 JP 5709563 B2 JP5709563 B2 JP 5709563B2 JP 2011023958 A JP2011023958 A JP 2011023958A JP 2011023958 A JP2011023958 A JP 2011023958A JP 5709563 B2 JP5709563 B2 JP 5709563B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- sector
- size
- block
- cache
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
また、本発明は、上述したバッファキャッシュ管理方法を実行するバッファキャッシュ管理装置、及び、当該バッファキャッシュ管理方法をコンピュータに実行させるためのプログラムを含む。
まず、図1は、本発明の実施形態により記憶装置上のデータが管理されるファイルシステムを含む全体構成の一例を示す模式図である。
具体的に、バッファキャッシュ管理システム103は、バッファキャッシュ108に使用するメモリ領域を複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する(基本管理単位管理ステップ)。図1に示す例では、2Kバイトを基本管理単位としている。そして、バッファキャッシュ管理システム103は、アクセスするセクタのサイズに応じて、そのデータを格納する区画を、基本管理単位(図1に示す例では2Kバイト)を更に内部的に分割して管理する(分割管理ステップ)。
図3は、本発明の実施形態を示し、バッファキャッシュ方法の一例を示すフローチャートである。
以下の[実施例1]〜[実施例3]によって、図3のフローチャートの各ステップに対応したフローチャートの説明を行う。
なお、以下の実施例におけるバッファキャッシュ管理システム103は、図9に示す情報処理装置(バッファキャッシュ管理装置)によって実行される。また、ROM930の中に後述の実施例で挙げるフローチャートの処理をCPU910に実現させるプログラムを格納しておく。そして、プログラムを実行させる際にROM930のプログラムをRAM920に読み出し、CPU910が処理できるようにする。ここで、950はバスであり、ROM930、RAM920、CPU910及びHDD940のデータをやりとりする。HDD940は記憶装置であり、CPU910によってセクタサイズが管理される対象となる。なお、図示はしていないが、ファイルシステムによって管理される記憶装置としては、HDD(ハードディスクドライブ)以外にもフラッシュメモリやSSD(ソリッドステートディスク)等であってもよい。また、HDD(記憶装置)940は、着脱可能であっても良い。
図4は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ402であった場合、アクセスするセクタ401は、アクセスするセクタ401と同じセクタサイズの空きバッファのうち、最も先頭に近いバッファ404にキャッシュされる(バッファキャッシュ403参照)。
ステップS301の空きバッファ検索ステップにおいて、アクセスするセクタと同一サイズのキャッシュバッファ上の空きバッファが検索されなかった場合には、ステップS302の空きバッファブロック検索ステップへ進む。
ステップS308のバッファブロック分割ステップにおいて、例えばバッファキャッシュ管理システム103は、検索された空きバッファブロックの管理サイズを、アクセスするセクタサイズに分割して空きバッファを生成する。その後、ステップS310のセクタキャッシュステップへ進み、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。
図5は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ502であった場合、空きバッファブロック505が、アクセスするセクタ501のセクタサイズで分割されて、バッファキャッシュ503のような状態になる。その後、アクセスするセクタ501は、バッファキャッシュ504の状態のように分割された空きバッファのうち、最も先頭に近いバッファにキャッシュされる。
ステップS302の空きバッファブロック検索ステップにおいて、バッファブロックの空き領域がなかった場合には、ステップS303の入れ替え対象バッファ決定ステップに進む。
ステップS303の入れ替え対象バッファ決定ステップに進むと、例えばバッファキャッシュ管理システム103は、LRU等のアルゴリズムにより入れ替え対象のバッファを決定する。
ステップS305の入れ替え対象バッファブロック決定ステップへと進むと、例えばバッファキャッシュ管理システム103は、バッファブロックでの同期を行うために、新たに入れ替え対象のバッファブロックを決定する。
図6は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ602であった場合、LRUにより決定された入れ替え対象のバッファを607とする。この入れ替え対象バッファ607と読み込みデータ601のサイズを比較すると、そのサイズが異なるため、バッファブロック単位での入れ替えを実行するために、入れ替え対象バッファブロックの決定をステップS305で行う。
図8の801を、図6のバッファキャッシュ602のそれぞれのバッファのLRU順序を示したものとする。このとき、バッファブロックの代表値の取り方を「ブロック内で最も小さい(古い)値を代表値とする」方法で行うと、それぞれのバッファブロックの代表値は、図8の802のような数値になる。その結果、図8の802の中で最も代表値が小さいブロックである図8の805(図6の606)が入れ替え対象バッファブロックとして選択される。
ステップS304の空きバッファサイズ比較ステップにおいて、入れ替え対象バッファのサイズとアクセスするセクタのサイズとが同一だと判断された場合には、ステップS309のバッファ同期ステップへ進む。
ステップS309のバッファ同期ステップへ進むと、例えばバッファキャッシュ管理システム103は、入れ替え対象バッファを記憶装置と同期して、そのバッファを空きバッファとする。その後、ステップS310のセクタキャッシュステップへ進み、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。
図7は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ702であった場合、LRUにより決定された入れ替え対象バッファを706とする。この入れ替え対象バッファ706と読み込みデータ701のサイズを比較すると、そのサイズが同じであるため、バッファ単位での入れ替えを実行する。
また、本発明は、以下の処理を実行することによっても実現される。
即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。
Claims (10)
- 異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置によるバッファキャッシュ管理方法であって、
前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理ステップと、
アクセスが発生した場合、当該アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理ステップと
を有することを特徴とするバッファキャッシュ管理方法。 - 前記アクセスするセクタのサイズと同一サイズのキャッシュバッファ上の空きバッファを検索する空きバッファ検索ステップを更に有することを特徴とする請求項1に記載のバッファキャッシュ管理方法。
- 前記空きバッファ検索ステップにおいてアクセスするセクタのサイズと同一サイズの空きバッファがなかった場合、バッファブロックでの空き領域を検索する空きバッファブロック検索ステップを更に有することを特徴とする請求項2に記載のバッファキャッシュ管理方法。
- 前記空きバッファブロック検索ステップにおいて空きバッファブロックがなかった場合、LRUを含むアルゴリズムにより入れ替え対象のバッファを決定する入れ替え対象バッファ決定ステップと、
前記入れ替え対象バッファ決定ステップにより決定された入れ替え対象バッファとアクセスするセクタのサイズとを比較するバッファサイズ比較ステップと
を更に有することを特徴とする請求項3に記載のバッファキャッシュ管理方法。 - 前記バッファサイズ比較ステップにおいて入れ替え対象バッファとアクセスするセクタのサイズが異なる場合、前記バッファブロックでの同期を行うために新たに入れ替え対象のバッファブロックを決定する入れ替え対象バッファブロック決定ステップと、
前記入れ替え対象バッファブロック決定ステップで決定された入れ替え対象バッファブロックを記憶装置と同期して、そのバッファブロックを空きバッファブロックとするバッファブロック同期ステップと、
前記バッファブロック同期ステップで同期したバッファブロックの管理の単位をバッファブロックサイズに戻すバッファブロック結合ステップと
を更に有することを特徴とする請求項4に記載のバッファキャッシュ管理方法。 - 前記空きバッファブロック検索ステップにより検索された空きバッファブロックもしくは前記バッファブロック同期ステップにより同期された空きバッファブロックの管理サイズを、アクセスするセクタのサイズに分割して空きバッファを生成するバッファブロック分割ステップを更に有することを特徴とする請求項5に記載のバッファキャッシュ管理方法。
- 前記バッファサイズ比較ステップにおいて入れ替え対象バッファとアクセスするセクタのサイズが同一である場合、その入れ替え対象バッファを記憶装置と同期して、そのバッファを空きバッファとするバッファ同期ステップを更に有することを特徴とする請求項6に記載のバッファキャッシュ管理方法。
- 前記空きバッファ検索ステップにより検索されたアクセスするセクタと同一サイズの空きバッファもしくは前記バッファブロック分割ステップにより生成された空きバッファもしくは前記バッファ同期ステップにより生成された空きバッファに、アクセスするセクタをキャッシュするセクタキャッシュステップを更に有することを特徴とする請求項7に記載のバッファキャッシュ管理方法。
- 異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置であって、
前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理手段と、
アクセスが発生した場合、当該アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理手段と
を有することを特徴とするバッファキャッシュ管理装置。 - 異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置によるバッファキャッシュ管理方法をコンピュータに実行させるためのプログラムであって、
前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理ステップと、
アクセスが発生した場合、当該アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理ステップと
をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011023958A JP5709563B2 (ja) | 2011-02-07 | 2011-02-07 | バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011023958A JP5709563B2 (ja) | 2011-02-07 | 2011-02-07 | バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012164129A JP2012164129A (ja) | 2012-08-30 |
JP5709563B2 true JP5709563B2 (ja) | 2015-04-30 |
Family
ID=46843462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011023958A Expired - Fee Related JP5709563B2 (ja) | 2011-02-07 | 2011-02-07 | バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5709563B2 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2665180B2 (ja) * | 1995-02-22 | 1997-10-22 | 北海道日本電気ソフトウェア株式会社 | ディスクキャッシュバッファの確保方式 |
JPH08339341A (ja) * | 1995-06-12 | 1996-12-24 | Hitachi Ltd | 主記憶ページ選択方法 |
JP3898782B2 (ja) * | 1996-08-23 | 2007-03-28 | オリンパス株式会社 | 情報記録再生装置 |
JP3751814B2 (ja) * | 2000-09-28 | 2006-03-01 | Necエンジニアリング株式会社 | キャッシュメモリ制御方式 |
JP2006127401A (ja) * | 2004-11-01 | 2006-05-18 | Fujitsu Ltd | 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム |
US20070041050A1 (en) * | 2005-08-17 | 2007-02-22 | Bing-Yu Wang | Memory management method and system |
JP2008171212A (ja) * | 2007-01-11 | 2008-07-24 | Data Technology Inc | ファイル管理装置及びプログラム |
JP2010118125A (ja) * | 2008-11-14 | 2010-05-27 | Konica Minolta Opto Inc | 記録媒体ドライブ装置 |
-
2011
- 2011-02-07 JP JP2011023958A patent/JP5709563B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012164129A (ja) | 2012-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066393B (zh) | 提高地址映射表中映射信息密度的方法 | |
EP3309685B1 (en) | Method and apparatus for writing data to cache | |
US20100146213A1 (en) | Data Cache Processing Method, System And Data Cache Apparatus | |
US9817865B2 (en) | Direct lookup for identifying duplicate data in a data deduplication system | |
WO2017113213A1 (zh) | 访问请求处理方法、装置及计算机系统 | |
WO2014015828A1 (zh) | 数据存储空间的处理方法、处理系统及数据存储服务器 | |
US20190042134A1 (en) | Storage control apparatus and deduplication method | |
US10007436B2 (en) | Storage control apparatus and control method of storage control apparatus | |
JP6098301B2 (ja) | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム | |
JP2009003934A (ja) | データ管理システム及びデータ管理方法、並びにデータ管理方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2019128906A (ja) | ストレージ装置及びその制御方法 | |
US20160266796A1 (en) | Storage apparatus, storage control method, and storage system | |
CN106776361B (zh) | 一种面向大规模非易失性存储介质的缓存方法和系统 | |
JP5447523B2 (ja) | データ処理装置、データ記録方法、データ記録プログラム | |
US10296597B2 (en) | Read ahead of digests in similarity based data deduplicaton | |
WO2016206070A1 (zh) | 一种文件更新方法及存储设备 | |
US10083117B2 (en) | Filtering write request sequences | |
US10585802B1 (en) | Method and system for caching directories in a storage system | |
US10185660B2 (en) | System and method for automated data organization in a storage system | |
JPH08137754A (ja) | ディスクキャッシュ装置 | |
EP2381354A2 (en) | Data recording device | |
JP5709563B2 (ja) | バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム | |
JP6243884B2 (ja) | 情報処理装置、プロセッサ、および情報処理方法 | |
JP6254986B2 (ja) | 情報処理装置、アクセスコントローラ、および情報処理方法 | |
JP6112193B2 (ja) | アクセス制御プログラム、ディスク装置及びアクセス制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140826 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141017 |
|
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: 20150203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150303 |
|
LAPS | Cancellation because of no payment of annual fees |