JP5709563B2 - バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム - Google Patents

バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム Download PDF

Info

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
Application number
JP2011023958A
Other languages
English (en)
Other versions
JP2012164129A (ja
Inventor
浩平 正込
浩平 正込
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011023958A priority Critical patent/JP5709563B2/ja
Publication of JP2012164129A publication Critical patent/JP2012164129A/ja
Application granted granted Critical
Publication of JP5709563B2 publication Critical patent/JP5709563B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ファイルシステムにおいて、異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラムに関する。
ファイルシステムとは、記憶装置に記録されているデータを管理する方式、管理を行なうソフトウェアや、記憶媒体に設けられた管理領域や管理情報のことである。
このファイルシステムでは、バッファキャッシュと呼ばれる機構を持つことが多い。これは、記憶装置から読み込んだデータ、または記憶装置に書き込むデータを一旦バッファキャッシュと呼ばれるメモリ領域に置くことで、参照の局所性を用いたアクセスの高速化、記憶装置へのアクセス回数の低減、先読みによる高速化などを行うためのものである。
記憶装置は、一般にセクタと呼ばれる固定サイズの物理的に連続な領域を最小単位としており、ファイルシステムでは、この単位にデータの記録再生を行う。一般に、そのサイズは、2のべき乗で規定される。
セクタのサイズは、ハードディスクやSDカードなどの代表的な記憶装置では、512バイトとなっている。この他、1K(1024)バイトまたは2Kバイトのセクタサイズのメディアも存在する。このため、512バイトと、これらの大容量のセクタサイズ間で、互換をとることが出来るようにする要求がある。
このような物理セクタサイズの異なる記憶装置上のデータを扱う場合、OS(ファイルシステム)と記憶装置のセクタサイズの違いを吸収する方式は既に提案されている(例えば、下記の特許文献1、下記の特許文献2、下記の特許文献3、下記の特許文献4など)。
特開平4−165527号公報 米国特許第5485439号明細書 特開平4−14127号公報 特開平9−146710号公報
しかしながら、上述した従来の方式では、異なるセクタサイズを有する複数の記憶装置を扱いたい場合、アクセスする記憶装置を切り替える度にバッファキャッシュ上のデータを同期するか、記憶装置の数に応じてバッファキャッシュの領域を分割する必要がある。このため、「完全に同時に扱えない」、「バッファキャッシュの利用効率が悪い」といったような問題があった。
本発明は、このような問題点に鑑みてなされたものであり、バッファキャッシュ領域を記憶装置ごとに分割することなく、物理セクタサイズの異なる複数の記憶装置上のデータを管理する仕組みを提供することを目的とする。
本発明のバッファキャッシュ管理方法は、異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置によるバッファキャッシュ管理方法であって、前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理ステップと、アクセスが発生した場合、当該アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理ステップとを有する。
また、本発明は、上述したバッファキャッシュ管理方法を実行するバッファキャッシュ管理装置、及び、当該バッファキャッシュ管理方法をコンピュータに実行させるためのプログラムを含む。
本発明によれば、バッファキャッシュ領域を記憶装置ごとに分割することなく、物理セクタサイズの異なる複数の記憶装置上のデータを同時に扱う(管理する)ことが出来るようになり、バッファキャッシュの利用効率を向上させることが出来る。
本発明の実施形態により記憶装置上のデータが管理されるファイルシステムを含む全体構成の一例を示す模式図である。 本発明の実施形態を示し、最大物理セクタサイズの取得方法の処理手順の一例を示すフローチャートである。 本発明の実施形態を示し、バッファキャッシュ方法の一例を示すフローチャートである。 本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。 本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。 本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。 本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。 バッファのLRU順序と入れ替え対象ブロックの一例を示す模式図である。 図1に示すバッファキャッシュ管理システム(バッファキャッシュ管理装置)のハードウェア構成の一例を示す模式図である。
以下に、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。
ここでは、本発明に係るバッファキャッシュ管理システム(バッファキャッシュ管理装置)、バッファキャッシュ管理方法及びプログラムの実施形態を、図に基づいて説明する。
まず、図1は、本発明の実施形態により記憶装置上のデータが管理されるファイルシステムを含む全体構成の一例を示す模式図である。
図1において、アプリケーション101は、接続している記憶装置内のデータをプログラムにおいて利用したい場合、ファイルシステム102を介してドライバ104により記憶装置(105〜107)からデータを取得する。ただし、ファイルシステム102に内包されるバッファキャッシュ管理システム103により、既に目的のデータがバッファキャッシュ108にキャッシュされている場合には、記憶装置にはアクセスせず、バッファキャッシュ108からデータを取得する。
本実施形態では、「物理セクタサイズの異なる複数の記憶装置」と接続していることを前提にしており、図1の記憶装置105、106及び107は、それぞれ、物理セクタサイズが512バイト、1Kバイト、2Kバイトと異なる記憶装置である。これらの記憶装置上のデータについてバッファキャッシュ108の領域を「記憶装置ごと」に分割することなく管理する。
バッファキャッシュ管理システム(バッファキャッシュ管理装置:以下同様)103は、異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュ108を管理するためのものである。
具体的に、バッファキャッシュ管理システム103は、バッファキャッシュ108に使用するメモリ領域を複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する(基本管理単位管理ステップ)。図1に示す例では、2Kバイトを基本管理単位としている。そして、バッファキャッシュ管理システム103は、アクセスするセクタのサイズに応じて、そのデータを格納する区画を、基本管理単位(図1に示す例では2Kバイト)を更に内部的に分割して管理する(分割管理ステップ)。
上述したように、バッファキャッシュ108は、接続されている記憶装置のうち、最も大きい物理セクタサイズで管理される。この最大物理セクタサイズは、バッファキャッシュ管理システム103内の最大セクタサイズ記憶領域109に記憶されている。最大物理セクタサイズの取得方法は図2のフローチャートに従う。
図2は、本発明の実施形態を示し、最大物理セクタサイズの取得方法の処理手順の一例を示すフローチャートである。
まず、ステップS201において、例えばバッファキャッシュ管理システム103は、最大セクタサイズ(最大物理セクタサイズ)を0に初期化する。
続いて、ステップS202において、例えばバッファキャッシュ管理システム103は、接続済みの記憶装置を1つ認識する。
続いて、ステップS203において、例えばバッファキャッシュ管理システム103は、ステップS202で認識した記憶装置のセクタサイズを取得する。
続いて、ステップS204において、例えばバッファキャッシュ管理システム103は、ステップS203で取得したセクタサイズが、現在の最大セクタサイズ(最大物理セクタサイズ)と比較して大きいか否かを判断する。この判断の結果、ステップS203で取得したセクタサイズが、現在の最大セクタサイズ(最大物理セクタサイズ)と比較して大きい場合には、ステップS205に進む。
ステップS205に進むと、例えばバッファキャッシュ管理システム103は、ステップS203で取得したセクタサイズを、最大セクタサイズ(最大物理セクタサイズ)として更新する。
ステップS205の処理が終了した場合、或いは、ステップS204においてステップS203で取得したセクタサイズが現在の最大セクタサイズ(最大物理セクタサイズ)と比較して大きくない場合には、ステップS206に進む。
ステップS206に進むと、例えばバッファキャッシュ管理システム103は、全ての記憶装置のセクタサイズを取得したか否かを判断する。この判断の結果、全ての記憶装置のセクタサイズについては未だ取得していない場合には、ステップS207に進む。
ステップS207に進むと、例えばバッファキャッシュ管理システム103は、セクタサイズ未取得の次の記憶装置を認識する。その後、ステップS203に戻り、ステップS203以降の処理を行う。即ち、ステップS203〜ステップS205の処理を全ての記憶装置のセクタサイズを取得するまで繰り返し、最大セクタサイズ(最大物理セクタサイズ)を求める。
一方、ステップS206の判断の結果、全ての記憶装置のセクタサイズを取得した場合には、図2のフローチャートの処理を終了する。
よって、図1の場合、記憶装置107の物理セクタサイズが2Kバイトで最も大きいため、バッファキャッシュ管理システム103によるバッファキャッシュ108は、2Kバイトを基本単位に管理されることとなる。このとき、この2Kバイトごとのバッファエリアのことを「バッファブロック」と呼ぶことにする。
バッファキャッシュ108に目的のデータがない場合、キャッシュが発生するが、そのデータのキャッシュ方法は図3のフローチャートに従う。
図3は、本発明の実施形態を示し、バッファキャッシュ方法の一例を示すフローチャートである。
以下の[実施例1]〜[実施例3]によって、図3のフローチャートの各ステップに対応したフローチャートの説明を行う。
なお、以下の実施例におけるバッファキャッシュ管理システム103は、図9に示す情報処理装置(バッファキャッシュ管理装置)によって実行される。また、ROM930の中に後述の実施例で挙げるフローチャートの処理をCPU910に実現させるプログラムを格納しておく。そして、プログラムを実行させる際にROM930のプログラムをRAM920に読み出し、CPU910が処理できるようにする。ここで、950はバスであり、ROM930、RAM920、CPU910及びHDD940のデータをやりとりする。HDD940は記憶装置であり、CPU910によってセクタサイズが管理される対象となる。なお、図示はしていないが、ファイルシステムによって管理される記憶装置としては、HDD(ハードディスクドライブ)以外にもフラッシュメモリやSSD(ソリッドステートディスク)等であってもよい。また、HDD(記憶装置)940は、着脱可能であっても良い。
バッファキャッシュ108にデータを読み込む際、ステップS301の空きバッファ検索ステップにおいて、例えばバッファキャッシュ管理システム103は、アクセスするセクタと同一サイズのキャッシュバッファ上の空きバッファがあるか否かを判断する。この判断の結果、アクセスするセクタと同一サイズのキャッシュバッファ上の空きバッファがある場合には、ステップS310のセクタキャッシュステップへ進む。ステップS310のセクタキャッシュステップへ進むと、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。
このときのバッファキャッシュの状態遷移を示したものが図4である。
図4は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ402であった場合、アクセスするセクタ401は、アクセスするセクタ401と同じセクタサイズの空きバッファのうち、最も先頭に近いバッファ404にキャッシュされる(バッファキャッシュ403参照)。
ここで、再び、図3の説明に戻る。
ステップS301の空きバッファ検索ステップにおいて、アクセスするセクタと同一サイズのキャッシュバッファ上の空きバッファが検索されなかった場合には、ステップS302の空きバッファブロック検索ステップへ進む。
続いて、ステップS302の空きバッファブロック検索ステップにおいて、例えばバッファキャッシュ管理システム103は、バッファブロックの空き領域があるか否かを判断する。この判断の結果、バッファブロックの空き領域がある場合には、ステップS308のバッファブロック分割ステップへ進む。
ステップS308のバッファブロック分割ステップにおいて、例えばバッファキャッシュ管理システム103は、検索された空きバッファブロックの管理サイズを、アクセスするセクタサイズに分割して空きバッファを生成する。その後、ステップS310のセクタキャッシュステップへ進み、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。
このときのバッファキャッシュの状態遷移を示したものが図5である。
図5は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ502であった場合、空きバッファブロック505が、アクセスするセクタ501のセクタサイズで分割されて、バッファキャッシュ503のような状態になる。その後、アクセスするセクタ501は、バッファキャッシュ504の状態のように分割された空きバッファのうち、最も先頭に近いバッファにキャッシュされる。
ここで、再び、図3の説明に戻る。
ステップS302の空きバッファブロック検索ステップにおいて、バッファブロックの空き領域がなかった場合には、ステップS303の入れ替え対象バッファ決定ステップに進む。
ステップS303の入れ替え対象バッファ決定ステップに進むと、例えばバッファキャッシュ管理システム103は、LRU等のアルゴリズムにより入れ替え対象のバッファを決定する。
続いて、ステップS304のバッファサイズ比較ステップにおいて、例えばバッファキャッシュ管理システム103は、入れ替え対象バッファのサイズとアクセスするセクタのサイズとが異なるか否かを判断する。この判断の結果、入れ替え対象バッファのサイズとアクセスするセクタのサイズとが異なる場合には、ステップS305の入れ替え対象バッファブロック決定ステップへと進む。
ステップS305の入れ替え対象バッファブロック決定ステップへと進むと、例えばバッファキャッシュ管理システム103は、バッファブロックでの同期を行うために、新たに入れ替え対象のバッファブロックを決定する。
続いて、ステップS306のバッファブロック同期ステップにおいて、例えばバッファキャッシュ管理システム103は、ステップS305の入れ替え対象バッファブロック決定ステップで決定された入れ替え対象バッファブロックを記憶装置と同期して、そのバッファブロックを空きバッファブロックとする。
続いて、ステップS307のバッファブロック結合ステップにおいて、例えばバッファキャッシュ管理システム103は、ステップS306のバッファブロック同期ステップで同期したバッファブロックの管理の単位をバッファブロックサイズに戻す。
続いて、ステップS308のバッファブロック分割ステップにおいて、例えばバッファキャッシュ管理システム103は、検索された空きバッファブロックの管理サイズを、アクセスするセクタサイズに分割して空きバッファを生成する。その後、ステップS310のセクタキャッシュステップへ進み、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。
このときのバッファキャッシュの状態遷移を表したものが図6である。
図6は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ602であった場合、LRUにより決定された入れ替え対象のバッファを607とする。この入れ替え対象バッファ607と読み込みデータ601のサイズを比較すると、そのサイズが異なるため、バッファブロック単位での入れ替えを実行するために、入れ替え対象バッファブロックの決定をステップS305で行う。
ステップS305の入れ替え対象バッファブロック決定ステップでは、バッファごとのLRUの順序づけを利用する。具体的には、バッファブロックごとにLRUの順序の代表値を設定し、その代表値の値によって入れ替え対象を決定する。ただし、ここで利用するLRUの順序付けは、LRUの順序の数字が小さい程、使用されてからの時間が経っているバッファであるものとする。
本発明において、その代表値の取り方は、「ブロック内で最も小さい(古い)値を代表値とする」、「ブロック内で最も大きい(新しい)値を代表値とする」、「ブロック内の平均値を取り代表値とする」の3種類を提案するが、実施例1では、これらのうち、「ブロック内で最も小さい(古い)値を代表値とする」方法について説明する。
ここで、図8は、バッファのLRU順序と入れ替え対象ブロックの一例を示す模式図である。
図8の801を、図6のバッファキャッシュ602のそれぞれのバッファのLRU順序を示したものとする。このとき、バッファブロックの代表値の取り方を「ブロック内で最も小さい(古い)値を代表値とする」方法で行うと、それぞれのバッファブロックの代表値は、図8の802のような数値になる。その結果、図8の802の中で最も代表値が小さいブロックである図8の805(図6の606)が入れ替え対象バッファブロックとして選択される。
入れ替え対象のバッファブロックが選択されたら、図6の604のように、そのブロックをブロックごと同期する。このとき、図6の603の状態のように管理単位がブロックサイズに戻り、同期されたブロックは空きバッファブロックとみなされる。
生成された空きバッファブロックは、アクセスするセクタ601のセクタサイズで分割され、605のような状態になる。その後、アクセスするセクタ601は、606の状態のように分割されたバッファのうち、最も先頭に近いバッファにキャッシュされる。
ここで、再び、図3の説明に戻る。
ステップS304の空きバッファサイズ比較ステップにおいて、入れ替え対象バッファのサイズとアクセスするセクタのサイズとが同一だと判断された場合には、ステップS309のバッファ同期ステップへ進む。
ステップS309のバッファ同期ステップへ進むと、例えばバッファキャッシュ管理システム103は、入れ替え対象バッファを記憶装置と同期して、そのバッファを空きバッファとする。その後、ステップS310のセクタキャッシュステップへ進み、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。
このときのバッファキャッシュの状態遷移を表したものが図7である。
図7は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ702であった場合、LRUにより決定された入れ替え対象バッファを706とする。この入れ替え対象バッファ706と読み込みデータ701のサイズを比較すると、そのサイズが同じであるため、バッファ単位での入れ替えを実行する。
入れ替え対象のバッファが選択されたら、704のようにそのバッファを同期する。このとき、バッファキャッシュ703の状態のように、同期されたバッファは空きバッファとみなされる。その後、アクセスするセクタ701は、バッファキャッシュ705の状態のように同期が行われ、空き状態となったバッファにキャッシュされる。
本実施例2では、実施例1のステップS305の入れ替え対象バッファブロック決定ステップが「ブロック内で最も大きい(新しい)値を代表値とする」方法である場合について説明する。
図8の801を図6のバッファキャッシュ602のそれぞれのバッファのLRU順序を示したものとする。このとき、バッファブロックの代表値の取り方を「ブロック内で最も大きい(新しい)値を代表値とする」方法で行うと、それぞれのバッファブロックの代表値は、図8の803のような数値になる。その結果、図8の803の中で最も代表値が小さいブロックである図8の806が入れ替え対象バッファブロックとして選択される。
この方法は、実施例1と比べて、最近読み込まれたバッファが入れ替え対象となり難いという利点がある。
入れ替え対象のバッファブロックが選択されたら、後は、実施例1と同様に、そのブロックをブロックごと同期する。このとき、管理単位がブロックサイズに戻り、同期されたブロックは空きバッファブロックとみなされる。
生成された空きバッファブロックは、アクセスするセクタ601のセクタサイズで分割された後、アクセスするセクタ601は、分割されたバッファのうち、最も先頭に近いバッファにキャッシュされる。
本実施例3では、実施例1のステップS305の入れ替え対象バッファブロック決定ステップが「ブロック内の平均値を取り代表値とする」方法である場合について説明する。
図8の801を図6のバッファキャッシュ602のそれぞれのバッファのLRU順序を示したものとする。このとき、バッファブロックの代表値の取り方を「ブロック内の平均値を取り代表値とする」方法で行うと、それぞれのバッファブロックの代表値は、図8の804のような数値になる。その結果、図8の804の中で最も代表値が小さいブロックである図8の807が入れ替え対象バッファブロックとして選択される。
入れ替え対象のバッファブロックが選択されたら、後は、実施例1と同様に、そのブロックをブロックごと同期する。このとき、管理単位がブロックサイズに戻り、同期されたブロックは空きバッファブロックとみなされる。
生成された空きバッファブロックは、アクセスするセクタ601のセクタサイズで分割される。その後、アクセスするセクタ601は、分割されたバッファのうち、最も先頭に近いバッファにキャッシュされる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。
即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。
101 アプリケーション、102 ファイルシステム、103 バッファキャッシュ管理システム、104 ドライバ、105〜107 記憶装置、108 バッファキャッシュ、109 最大セクタサイズ記憶領域

Claims (10)

  1. 異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置によるバッファキャッシュ管理方法であって、
    前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理ステップと、
    アクセスが発生した場合、当該アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理ステップと
    を有することを特徴とするバッファキャッシュ管理方法。
  2. 前記アクセスするセクタのサイズと同一サイズのキャッシュバッファ上の空きバッファを検索する空きバッファ検索ステップを更に有することを特徴とする請求項1に記載のバッファキャッシュ管理方法。
  3. 前記空きバッファ検索ステップにおいてアクセスするセクタのサイズと同一サイズの空きバッファがなかった場合、バッファブロックでの空き領域を検索する空きバッファブロック検索ステップを更に有することを特徴とする請求項2に記載のバッファキャッシュ管理方法。
  4. 前記空きバッファブロック検索ステップにおいて空きバッファブロックがなかった場合、LRUを含むアルゴリズムにより入れ替え対象のバッファを決定する入れ替え対象バッファ決定ステップと、
    前記入れ替え対象バッファ決定ステップにより決定された入れ替え対象バッファとアクセスするセクタのサイズとを比較するバッファサイズ比較ステップと
    を更に有することを特徴とする請求項3に記載のバッファキャッシュ管理方法。
  5. 前記バッファサイズ比較ステップにおいて入れ替え対象バッファとアクセスするセクタのサイズが異なる場合、前記バッファブロックでの同期を行うために新たに入れ替え対象のバッファブロックを決定する入れ替え対象バッファブロック決定ステップと、
    前記入れ替え対象バッファブロック決定ステップで決定された入れ替え対象バッファブロックを記憶装置と同期して、そのバッファブロックを空きバッファブロックとするバッファブロック同期ステップと、
    前記バッファブロック同期ステップで同期したバッファブロックの管理の単位をバッファブロックサイズに戻すバッファブロック結合ステップと
    を更に有することを特徴とする請求項4に記載のバッファキャッシュ管理方法。
  6. 前記空きバッファブロック検索ステップにより検索された空きバッファブロックもしくは前記バッファブロック同期ステップにより同期された空きバッファブロックの管理サイズを、アクセスするセクタのサイズに分割して空きバッファを生成するバッファブロック分割ステップを更に有することを特徴とする請求項5に記載のバッファキャッシュ管理方法。
  7. 前記バッファサイズ比較ステップにおいて入れ替え対象バッファとアクセスするセクタのサイズが同一である場合、その入れ替え対象バッファを記憶装置と同期して、そのバッファを空きバッファとするバッファ同期ステップを更に有することを特徴とする請求項6に記載のバッファキャッシュ管理方法。
  8. 前記空きバッファ検索ステップにより検索されたアクセスするセクタと同一サイズの空きバッファもしくは前記バッファブロック分割ステップにより生成された空きバッファもしくは前記バッファ同期ステップにより生成された空きバッファに、アクセスするセクタをキャッシュするセクタキャッシュステップを更に有することを特徴とする請求項7に記載のバッファキャッシュ管理方法。
  9. 異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置であって、
    前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理手段と、
    アクセスが発生した場合、当該アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理手段と
    を有することを特徴とするバッファキャッシュ管理装置。
  10. 異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置によるバッファキャッシュ管理方法をコンピュータに実行させるためのプログラムであって、
    前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理ステップと、
    アクセスが発生した場合、当該アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理ステップと
    をコンピュータに実行させるためのプログラム。
JP2011023958A 2011-02-07 2011-02-07 バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム Expired - Fee Related JP5709563B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 記録媒体ドライブ装置

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