JP5104828B2 - オブジェクトベースストレージシステム、キャッシュ制御装置、キャッシュ制御方法 - Google Patents

オブジェクトベースストレージシステム、キャッシュ制御装置、キャッシュ制御方法 Download PDF

Info

Publication number
JP5104828B2
JP5104828B2 JP2009192800A JP2009192800A JP5104828B2 JP 5104828 B2 JP5104828 B2 JP 5104828B2 JP 2009192800 A JP2009192800 A JP 2009192800A JP 2009192800 A JP2009192800 A JP 2009192800A JP 5104828 B2 JP5104828 B2 JP 5104828B2
Authority
JP
Japan
Prior art keywords
data
cache
block
storage device
candidate
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
JP2009192800A
Other languages
English (en)
Other versions
JP2011044056A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009192800A priority Critical patent/JP5104828B2/ja
Priority to US12/861,813 priority patent/US20110047332A1/en
Publication of JP2011044056A publication Critical patent/JP2011044056A/ja
Application granted granted Critical
Publication of JP5104828B2 publication Critical patent/JP5104828B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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

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

本明細書に開示される技術は、ストレージに適用されるキャッシュを制御する技術に関する。
従来、ANSI(American National Standards Institute) T10で規格化されているストレージシステムとして、オブジェクトベースストレージシステムが知られている。また、オブジェクトベースストレージシステムとデータの管理単位が異なるストレージシステムとして、ブロックベースストレージシステムが知られている。以下、ブロックベースストレージシステム、及びオブジェクトベースストレージシステムの概要について説明する。図7は、ブロックベースストレージシステムとオブジェクトベースストレージシステムの概要を示す。
図7に示すように、オブジェクトベースストレージシステム8において、ユーザデータは複数のブロックを含むオブジェクト単位で扱われ、上位装置とはオブジェクト単位でデータの送受がなされる。一方、ブロックベースストレージシステム7において、ユーザデータは、ブロック単位で扱われる。また、ブロックベースストレージシステム7は、先読み込み(Prefetch)機能を有する。この先読み込み機能は、上位装置からアクセスされるブロックの連続性を検出し、記憶装置から読み出したブロックの続きのブロックを予めキャッシュに読み込むことによって、アクセス性能を向上させる機能である。以下、この先読み込み機能について説明する。図8は、先読み込み機能によるブロックの先読み込みの一例を示す。
図8に示すように、上位装置91がアクセスすべきデータがLBA(Logical Block Address)00001000−00001029であるとする。この場合、ブロックベースストレージシステム7において記憶装置93を制御するストレージ制御装置92は、上位装置91よりLBA00001000から10ブロックの読み出し要求を受け付ける。次に、ストレージ制御装置92は、読み出し要求を受け付けたブロックを記憶装置93からキャッシュメモリ921に転送する。この際、ストレージ制御装置92は、アクセスすべきブロックの連続性を検出し、以降のブロックとして、LBA0001010から20ブロックをキャッシュメモリ921上に読み込む。次に、上位装置91よりLBA00001010から10ブロックの読み出し要求を受け付けた場合、ストレージ制御装置92は、キャッシュメモリ921上に存在するデータを上位装置91に転送する。
このような先読み込み機能によれば、アクセス対象のデータが連続するブロックで構成されている場合、また、ボリューム全体をリードする場合、上位装置91はキャッシュメモリ921上に存在するデータにアクセスすることができる。これにより、ストレージシステムにおいて、上位装置の読み出し要求に対するデータの応答速度が向上する。
また、ブロックベースストレージシステム7において、ストレージ制御装置92は、上位装置91から書き込み要求を受けると、書き込みデータをキャッシュメモリ921にキャッシュする。この際、キャッシュメモリ921は記憶装置93に比べて容量が小さいため、ストレージ制御装置92は、LRU(Least Recently Used)やMRU(Most Recently Used)などのキャッシュデータを追い出すためのアルゴリズムを用いる。以下、キャッシュデータ追い出しアルゴリズムの概要について、LRUを例として説明する。図9は、LRUの概要を示す。
図9に示すように、書き込みデータとして、キャッシュメモリにLBA00001000−00001049が新たにエントリされるとする。ストレージ制御装置92は、キャッシュメモリがフル状態か否かを監視しており、キャッシュメモリ921がフル状態である場合、読み込まれてから経過した時間が最も長いキャッシュブロック2がキャッシュメモリ921から追い出される。
このように、ストレージ制御装置92は、キャッシュデータ追い出しアルゴリズムによって、最近最も使われなかったデータをキャッシュメモリ921から追い出すことによって、キャッシュメモリ921に空領域を確保する。
特開平09−146834号公報 特開2002−91811号公報 特開平06−208509号公報
しかしながら、上述したアルゴリズムによりキャッシュメモリ921から追い出したデータが上位装置91により更新される場合が存在する。この場合、ストレージ制御装置92は、キャッシュメモリ921から追い出したデータを、再度、記憶装置93からキャッシュメモリ921に読み込まなくてはならない。この問題は、ストレージ制御装置92が、上位装置91により扱われるデータの構成を把握できないことに起因する。
また、オブジェクトベースストレージシステム8は、上位装置91により扱われるデータをオブジェクトとして管理するが、キャッシュ制御はブロック単位で実行される。このため、オブジェクトベースストレージシステム8においても、ブロックベースストレージシステム7と同様の問題が存在する。
つまり、前述のストレージシステムにおいては、キャッシュメモリ921から記憶装置へ追い出したデータを、再び記憶装置93からキャッシュメモリ921へ読み込むことが発生する。
本発明は上述した問題点を解決するためになされたものであり、キャッシュメモリから記憶装置へのデータの追い出しの回数や、記憶装置からキャッシュメモリへのデータの読み込みの回数を、減少させるストレージシステム、キャッシュ制御装置、キャッシュ制御方法を提供することを目的とする。
ストレージシステムは、データを記憶する記憶装置と、前記データを保持するキャッシュメモリと、前記データのデータ構成を示すデータ構成情報と、前記キャッシュメモリによる前記データの保持状況を示す状況情報とを記憶する情報記憶部と、前記状況情報に基づいて、前記キャッシュメモリに保持されているデータから前記記憶装置に書き込むデータの候補である候補データを選択する候補データ選択部と、前記データ構成情報に基づいて、前記候補データと関連するデータを前記キャッシュメモリが保持しているかどうかを判断する第1判断部と、前記第1判断部による判断に基づいて、前記キャッシュメモリに保持されているデータから前記記憶装置に書き込むデータを選択する書き込みデータ選択部とを備える。
この出願に開示された技術は、キャッシュメモリから記憶装置へのデータの追い出しの回数や、記憶装置からキャッシュメモリへのデータの読み込みの回数を、減少させることができる。
本実施の形態に係るストレージシステムのハードウェア構成を示すブロック図である。 制御情報を示す図である。 書き込み要求に対するCMの動作を示すフローチャートである。 キャッシュデータを示す図である。 キャッシュ処理の動作を示すフローチャートである。 読み出し要求に対するCMの動作を示すフローチャートである。 ブロックベースストレージシステムとオブジェクトベースストレージシステムの概要を示す図である。 先読み込み機能によるブロックの先読みの一例を示す図である。 LRUの概要を示す図である。
以下、本発明の実施の形態について図面を参照しつつ説明する。
まず、本実施の形態に係るストレージシステムのハードウェア構成について説明する。図1は、本実施の形態に係るストレージシステムのハードウェア構成を示す。
図1に示すように、本実施の形態に係るストレージシステム1は、ユーザデータをオブジェクト単位で扱うオブジェクトベースストレージシステムであって、記憶装置11とストレージ制御装置12とを有する。記憶装置11は、複数のDE(Disk Enclosure)111を有する。このDE111は、複数のディスクドライブを有する筐体である。また、ストレージ制御装置12は、上位装置13による要求に応じて、記憶装置11を制御する。また、ストレージ制御装置12は、複数のCM(Control Module)121、複数のFRT(Front−end Router)124、複数のBRT(Back−end Router)125を有する。なお、ストレージシステム1は、オブジェクトベースストレージシステムに限らず、上位装置13において扱われるデータのデータ構成を把握可能なストレージシステムであれば良い。
CM121(キャッシュ制御装置)は、CPU(Central Processing Unit)121a、キャッシュメモリ121b、複数のCA(Channel Adapter)122、複数のDI(Device Interface)123を有し、記憶装置11に対するキャッシュ制御、RAID制御、リソース管理を実行する。CA122は、CM121が上位装置13とデータを送受するためのインターフェイスであり、本実施の形態においては、1つの上位装置13との接続に対して、複数用いられる。DI123は、CM121が記憶装置11とデータを送受するためのインターフェイスである。CPU121aは、キャッシュメモリ121b、CA122、DI123の制御を行う。
FRT124は、複数のCM121間の接続を中継する。BRT125は、複数のCM121と複数のDE111との接続を中継する。なお、FRT124及びBRT125は冗長化されており、実行系及び待機系はそれぞれ異なる経路によって中継対象と接続されているものとする。
次に、制御情報について説明する。図2は、制御情報を示す。
図2に示すように、制御情報は、Object ID(識別子)、Valid/Invalid、分散数(データ構成情報)、キャッシュ状態(状況情報)、LBA(Logical Block Address、データ構成情報)を対応付ける。Object IDは、個々のオブジェクトに対する固有の識別子である。Valid/Invalidは、Object IDにより示されるオブジェクトが有効であるか否か、つまりObject IDに対応するオブジェクトが存在するかどうかを示す。Valid/Invalidにおいて、“0”は無効であることを示し、“1”は有効であることを示す。また、分散数は、オブジェクトを構成するブロックが連続する区間の数を示す。また、キャッシュ状態は、オブジェクトがキャッシュメモリ121bにキャッシュされているか否かを示す。キャッシュ状態において、“HIT”はキャッシュされていることを示し、“MISS”はキャッシュされていないことを示す。なお、本実施の形態において、オブジェクトを構成するブロック全体がキャッシュされていれば、オブジェクトがキャッシュされているものとする。また、LBAは、オブジェクトを構成するブロックのアドレスを示す。なお、この制御情報は、キャッシュメモリ121bまたは記憶装置11に記憶されるものとし、キャッシュメモリ121bまたは記憶装置11は、データ構成情報と、状況情報とを記憶する情報記憶部に相当する。
次に、書き込み要求に対するCMの動作について説明する。図3は、書き込み要求に対するCMの動作を示す。
図3に示すように、CPU121aは、上位装置13からデータの書き込み要求を受け付けると(S101)、書き込み要求を受けたデータが新規オブジェクトであるかどうかを判断する(S102)。
データが新規オブジェクトである場合(S102,YES)、CPU121aは、記憶装置11の記憶領域に対して、書き込み要求により指定される領域分の空き領域を確保する(S103)。記憶装置11は各ブロックの記録状態を示すブロック情報を保持しており、CPU121aは、このブロック情報を参照することによって空き領域を確保するものとする。なお、このブロック情報は、CM内に保持されても良い。
次に、CPU121aは、書き込みを要求した上位装置13に対して、書き込みデータに割り当てたObject IDを決定し、応答する(S104)。ここで、CPU121aは、制御情報におけるValid/Invalidを参照することにより空きObject IDを検出し、書き込みデータに割り当てるObject IDとして決定する。
Object IDの応答後、CPU121aは、後述するキャッシュ処理を実行する(S105)。次に、CPU121aは、書き込み要求に基づいて、割り当てたObject IDに対する制御情報を設定する(S106)。ここで、CPU121aは、Valid/Invalidを“1”、キャッシュ状態を“HIT”に設定する。また、CPU121aは、書き込み要求に対して確保した空き領域のブロックナンバーと、ブロックの分散数を制御情報に記録する。また、キャッシュ処理によって、全てのブロックがキャッシュメモリ121bから追い出されたオブジェクトがある場合、CPU121aは、そのオブジェクトのキャッシュ状態を“MISS”に設定する。
ステップS102の判断において、データが新規オブジェクトではない場合(S102,NO)、CPU121aはキャッシュ処理を実行する(S105)。なお、ここでデータが新規オブジェクトではない場合とは、既存のオブジェクトが更新される場合を示す。この際、上位装置13によりObject IDが指定されるものとする。なお、図3において、例えば、ステップS104を実行する機能は応答部に相当する。
次に、キャッシュデータについて説明する。図4は、キャッシュデータを示す。
キャッシュデータは、キャッシュメモリ121bへの記録時間に対して、降順にリストされる複数のキャッシュブロックを含む。なお、本実施の形態において、1キャッシュブロックは50ブロックを有するものとするが、1キャッシュブロックのブロック数はこれに限定されない。また、図4において、キャッシュブロックナンバーはキャッシュブロック単位に割り振られた番号を示し、LBAは対応するキャッシュブロックに含まれるブロックを示す。なお、図4における“制御情報に基づく要素”は制御情報が加味された説明上の情報であり、実際にキャッシュメモリ121bに記録されている情報ではない。
次に、キャッシュ処理の動作について説明する。図5はキャッシュ処理の動作を示す。なお、図5において、キャッシュブロックの選択回数をカウントするカウンタをiとし、このiは、初期状態において0に設定されているものとする。
図5に示すように、まず、CPU121aは、キャッシュメモリ121bのキャッシュ容量が所定の閾値以上かどうかを判断する(S201)。なお、ここで所定の閾値と比較されるキャッシュ容量は、キャッシュメモリ121bに記憶されているキャッシュブロックと、新たにキャッシュメモリ121bに記録されるキャッシュブロックとの合計を示す。
キャッシュ容量が所定の閾値以上である場合(S201,YES)、CPU121aは、iが予め設定された所定数以下かどうかを判断する(S202)。
iが所定数以下である場合(S202,YES)、CPU121aは、キャッシュ情報において最下列に記録されているキャッシュブロックを記憶装置11に書き込む候補(候補データ)として選択する(S203)。次に、CPU121aは、制御情報を参照し、候補として選択されたキャッシュブロックが複数のオブジェクトを含むかどうかを判断する(S204)。
候補として選択されたキャッシュブロックが複数のオブジェクトを含む場合(S204,YES)、CPU121aは、制御情報に基づいて、候補として選択されたキャッシュブロックに含まれるオブジェクトが複数のキャッシュブロックに含まれるかどうかを判断する(S205)。ここで、CPU121aは、候補として選択されたキャッシュブロックに含まれるオブジェクトと同様のObject IDが他のキャッシュブロックに含まれるかどうかを判断する。例えば、図4に示したキャッシュデータにおいては、Object IDが1,4であるオブジェクトが複数のキャッシュブロックに含まれる。
オブジェクトが複数のキャッシュブロックに含まれない場合(S205,NO)、CPU121aは、候補として選択したキャッシュブロックを記憶装置11に書き込むブロック(書き込みデータ)として選択し、キャッシュメモリ121bから追い出す(S206)。ここで、候補として選択したキャッシュブロックは記憶装置11に書き込まれ、キャッシュメモリ121bから消去される。次に、CPU121aは、新しいデータをキャッシュする(S207)。
一方、オブジェクトが複数のキャッシュブロックに含まれる場合(S205,YES)、CPU121aは、選択したキャッシュブロックを選択肢から除外し(S208)、iに1を加算する(S209)。次に、CPU121aは、再度、iが所定数以下かどうかを判断する(S202)。
また、ステップS204において、キャッシュブロックが複数のオブジェクトを含まない場合(S204,NO)、CPU121aは、候補として選択したキャッシュブロックをキャッシュメモリ121bから追い出す(S206)。
また、ステップS202において、iが所定数以下ではない場合(S202,NO)、CPU121aは、含まれるオブジェクト数が最も少ないキャッシュブロックを選択する(S210)。次に、CPU121aは、選択したキャッシュブロックをキャッシュメモリ121bから追い出す(S206)。
また、ステップS201において、キャッシュ容量が所定の閾値未満である場合(S201,NO)、CPU121aは、新しいデータをキャッシュする(S207)。
上述したように、オブジェクトのような、上位装置13より要求されるデータの単位を考慮したキャッシュデータの追い出しを行うことにより、キャッシュ制御における処理効率を向上させることができる。なお、図5において、例えば、ステップS203を実行する機能は候補データ選択部に相当する。また、ステップS204、S205を実行する機能は第1判断部に相当する。また、ステップS206を実行する機能は書き込みデータ選択部に相当する。
次に、読み出し要求に対するCMの動作について説明する。図6は、読み出し要求に対するCMの動作を示す。
図6に示すように、CPU121aは、上位装置13からデータの読み出し要求を受け付けると(S301)、制御情報を参照し、読み出しの対象であるオブジェクト(以下、対象オブジェクト)がキャッシュミスであるかどうかを判断する(S302)。
対象オブジェクトがキャッシュミスである場合(S302,YES)、CPU121aは、制御情報を参照し、その分散数が1より大きいかどうか、つまり、対象オブジェクトが複数のブロックに分散しているかどうかを判断する(S303)。
対象オブジェクトの分散数が1より大きい場合(S303,YES)、CPU121aは、分散しているブロックのスケジュールを実行する(S304)。具体的には、CPU121aは、分散しているブロックのそれぞれを、記憶装置11からキャッシュメモリ121bへ読み込むデータとして選択する。また、CPU121aは、分散しているブロックのうち、キャッシュメモリ121bにキャッシュされていないデータについて、空きキャッシュブロックを検索して割り当てる。
次に、CPU121aは、記憶装置11からキャッシュメモリ121bへ対象オブジェクトのデータを読み込む(S305)。ここで、CPU121aは、読み出し要求を受けたデータの構成に基づいて、データを先読みし、キャッシュメモリ121bにキャッシュする。また、キャッシュしたオブジェクトについて制御情報を更新する。次に、CPU121aは、キャッシュしたデータを上位装置13へ転送する(S306)。
一方、対象オブジェクトの分散数が1である場合(S303,NO)、CPU121aは、記憶装置11からキャッシュメモリ121bへ対象オブジェクトのデータを読み込む(S305)。次に、CPU121aは、キャッシュされた対象オブジェクトのデータを上位装置13へ転送する(S306)。
また、ステップS302において、対象オブジェクトがキャッシュミスではない場合(S302,NO)、CPU121aは、キャッシュされた対象オブジェクトのデータを上位装置13へ転送する(S306)。
なお、図6において、例えば、ステップS303を実行する機能は第2判断部に相当する。また、ステップS304を実行する機能は読み込みデータ選択部に相当する。
このように、ストレージシステム1によれば、キャッシュされていないオブジェクトが分散されて記憶装置11に記憶されている場合、上位装置13に扱われるデータの構成に基づいて、キャッシュ制御が行われる。これにより、必要なデータのみがキャッシュメモリに展開、または先読みされ、キャッシュメモリの使用効率及びデータ転送効率が向上する。
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
(付記1) データを記憶する記憶装置と、
前記データを保持するキャッシュメモリと、
前記データのデータ構成を示すデータ構成情報と、前記キャッシュメモリによる前記データの保持状況を示す状況情報とを記憶する情報記憶部と、
前記状況情報に基づいて、前記キャッシュメモリに保持されているデータから前記記憶装置に書き込むデータの候補である候補データを選択する候補データ選択部と、
前記データ構成情報に基づいて、前記候補データと関連するデータを前記キャッシュメモリが保持しているかどうかを判断する第1判断部と、
前記第1判断部による判断に基づいて、前記キャッシュメモリに保持されているデータから前記記憶装置に書き込むデータを選択する書き込みデータ選択部と
を備えるストレージシステム。
(付記2) 前記ストレージシステムの上位装置より予め通知された量のデータを受信した場合、該データに対して識別子を設定し、該識別子を前記上位装置へ応答する応答部を更に備える付記1に記載のストレージシステム。
(付記3) 前記データ構成情報は、前記識別子毎にデータ構成を示すことを特徴とする付記2に記載のストレージシステム。
(付記4) 前記第1判断部は、前記候補データと同一の識別子を持つデータを前記キャッシュメモリが保持しているか否かを判断することを特徴とする付記3に記載のストレージシステム。
(付記5) 前記データ構成情報は、前記データが前記記憶装置において分散されて記憶されているか否かを示し、
前記データ構成情報に基づいて、前記上位装置により要求された要求データが前記記憶装置において分散されて記憶されているか否かを判断する第2判断部と、
前記第2判断部により前記要求データが前記記憶装置において分散されて記憶されていると判断された場合、前記要求データとして分散されて記憶されたデータのそれぞれを、前記記憶装置から前記キャッシュメモリへ読み込むデータとして選択する読み込みデータ選択部とを更に備える付記3に記載のストレージシステム。
(付記6) 前記書き込みデータ選択部は、前記第1判断部により前記候補データと同一の識別子を持つデータを前記キャッシュメモリが保持していないと判断された場合、前記候補データを前記記憶装置に書き込むデータとして選択することを特徴とする付記4に記載のストレージシステム。
(付記7) 記憶装置に記憶されるデータを保持するキャッシュメモリと、
前記データのデータ構成を示すデータ構成情報と、前記キャッシュメモリによる前記データの保持状況を示す状況情報とを記憶する情報記憶部と、
前記状況情報に基づいて、前記キャッシュメモリに保持されているデータから前記記憶装置に書き込むデータの候補である候補データを選択する候補データ選択部と、
前記データ構成情報に基づいて、前記候補データと関連するデータを前記キャッシュメモリが保持しているかどうかを判断する第1判断部と、
前記第1判断部による判断に基づいて、前記キャッシュメモリに保持されているデータから前記記憶装置に書き込むデータを選択する書き込みデータ選択部と
を備えるキャッシュ制御装置。
(付記8) 前記キャッシュ制御装置の上位装置より予め通知された量のデータを受信した場合、該データに対して識別子を設定し、該識別子を前記上位装置へ応答する応答部を更に備える付記7に記載のキャッシュ制御装置。
(付記9) 前記データ構成情報は、前記識別子毎にデータ構成を示すことを特徴とする付記8に記載のキャッシュ制御装置。
(付記10) 前記第1判断部は、前記候補データと同一の識別子を持つデータを前記キャッシュメモリが保持しているか否かを判断することを特徴とする付記9に記載のキャッシュ制御装置。
(付記11) 前記データ構成情報は、前記データが前記記憶装置において分散されて記憶されているか否かを示し、
前記データ構成情報に基づいて、前記上位装置により要求された要求データが前記記憶装置において分散されて記憶されているか否かを判断する第2判断部と、
前記第2判断部により前記要求データが前記記憶装置において分散されて記憶されていると判断された場合、前記要求データとして分散されて記憶されたデータのそれぞれを、前記記憶装置から前記キャッシュメモリへ読み込むデータとして選択する読み込みデータ選択部とを更に備える付記9に記載のキャッシュ制御装置。
(付記12) 前記書き込みデータ選択部は、前記第1判断部により前記候補データと同一の識別子を持つデータを前記キャッシュメモリが保持していないと判断された場合、前記候補データを前記記憶装置に書き込むデータとして選択することを特徴とする付記10に記載のキャッシュ制御装置。
(付記13) 記憶装置に記憶されるデータをキャッシュメモリに保持する制御装置のキャッシュ制御方法であって、
前記キャッシュメモリによる前記データの保持状況を示す状況情報に基づいて、前記キャッシュメモリに保持されているデータから前記記憶装置に書き込むデータの候補である候補データを選択し、前記データのデータ構成を示すデータ構成情報に基づいて、前記候補データと関連するデータを前記キャッシュメモリが保持しているかどうかを判断し、該判断に基づいて、前記キャッシュメモリに保持されているデータから前記記憶装置に書き込むデータを選択することを特徴とするキャッシュ制御方法。
(付記14) 前記ストレージシステムの上位装置より予め通知された量のデータを受信した場合、該データに対して識別子を設定し、該識別子を前記上位装置へ応答することを特徴とする付記13に記載のキャッシュ制御方法。
(付記15) 前記データ構成情報は、前記識別子毎にデータ構成を示すことを特徴とする付記14に記載のキャッシュ制御方法。
(付記16) 前記候補データと関連するデータを前記キャッシュメモリが保持しているかどうかの判断は、前記候補データと同一の識別子を持つデータを前記キャッシュメモリが保持しているか否かの判断によりなされることを特徴とする付記15に記載のキャッシュ制御方法。
(付記17) 前記データ構成情報は、前記データが前記記憶装置において分散されて記憶されているか否かを示し、
前記データ構成情報に基づいて、前記上位装置により要求された要求データが前記記憶装置において分散されて記憶されていると判断した場合、前記要求データとして分散されて記憶されたデータのそれぞれを、前記記憶装置から前記キャッシュメモリへ読み込むデータとして選択することを特徴とする付記15に記載のキャッシュ制御方法。
(付記18) 前記書き込みデータの選択は、前記候補データと同一の識別子を持つデータを前記キャッシュメモリが保持していないと判断された場合になされることを特徴とする付記16に記載のキャッシュ制御方法。
1 ストレージシステム、11 記憶装置、12 ストレージ制御装置、111 DE、13 上位装置、121 CM、121a CPU、121b キャッシュメモリ、122 CA、123 DI、124 FRT、125 BRT。

Claims (4)

  1. 上位装置とデータの送受が行われるオブジェクトベースストレージシステムにおいて、
    前記上位装置から受信した書き込みデータを記憶するキャッシュメモリと、
    前記書き込みデータをブロック単位で記憶する記憶装置と、
    前記上位装置から書き込みデータを受信した場合に、前記書き込みデータの前記オブジェクトベースストレージシステムにおけるオブジェクト識別子と前記書き込みデータを記憶するのに要する前記記憶装置の空きブロックのアドレスを決定し、前記空きブロックのアドレスに対応付けられた前記キャッシュメモリのキャッシュブロックに前記書き込みデータを記憶させ、前記オブジェクト識別子と前記空きブロックのアドレスを対応付けた情報を制御情報記憶領域に記憶させる書き込み制御部と、
    複数のキャッシュブロックの中から前記記憶装置に書き込むデータの候補である候補データを選択する候補データ選択部と、
    前記キャッシュメモリの各キャッシュブロックのアドレスと前記記憶装置の各ブロックのアドレスを対応付けたキャッシュ情報と前記制御情報記憶領域に記録された情報に基づいて前記候補データと同一のオブジェクト識別子が他のキャッシュブロックに含まれるか否かを判断する第1判断部と、
    前記第1判断部により前記候補データと同一のオブジェクト識別子が他のキャッシュブロックに含まれないと判断された場合に、前記候補データを前記記憶装置に書き込むブロックとして選択する書き込みブロック選択部と
    を備えるオブジェクトベースストレージシステム。
  2. 前記上位装置により要求された要求データに対応する読み出し対象が前記記憶装置において複数のブロックに分散されて記憶されているか否かを判断する第2判断部と、
    前記第2判断部により前記読み出し対象が前記記憶装置において複数のブロックに分散されて記憶されていると判断された場合、前記複数のブロックを前記記憶装置から前記キャッシュメモリへ読み込むブロックとして選択する読み込みブロック選択部とを更に備える請求項1に記載のオブジェクトベースストレージシステム。
  3. 上位装置とデータの送受が行われるオブジェクトベースストレージシステムのキャッシュ制御装置において、
    前記上位装置から受信した書き込みデータを記憶するキャッシュメモリと、
    前記上位装置から書き込みデータを受信した場合に、前記書き込みデータをブロック単位で記憶する記憶装置の空きブロックのアドレスのうち前記書き込みデータの前記オブジェクトベースストレージシステムにおけるオブジェクト識別子と前記書き込みデータを記憶するのに要するアドレスを決定し、前記空きブロックのアドレスに対応付けられた前記キャッシュメモリのキャッシュブロックに前記書き込みデータを記憶させ、前記オブジェクト識別子と前記空きブロックのアドレスを対応付けた情報を制御情報記憶領域に記憶させる書き込み制御部と、
    複数のキャッシュブロックの中から前記記憶装置に書き込むデータの候補である候補データを選択する候補データ選択部と、
    前記キャッシュメモリの各キャッシュブロックのアドレスと前記記憶装置の各ブロックのアドレスを対応付けたキャッシュ情報と前記制御情報記憶領域に記録された情報に基づいて前記候補データと同一のオブジェクト識別子が他のキャッシュブロックに含まれるか否かを判断する第1判断部と、
    前記第1判断部により前記候補データと同一のオブジェクト識別子が他のキャッシュブロックに含まれないと判断された場合に、前記候補データを前記記憶装置に書き込むブロックとして選択する書き込みブロック選択部と
    を備えるキャッシュ制御装置。
  4. 上位装置とデータの送受が行われるオブジェクトベースストレージシステムにおけるキャッシュ制御装置のキャッシュ制御方法において、
    前記上位装置から書き込みデータを受信した場合に、前記書き込みデータをブロック単位で記憶する記憶装置の空きブロックのアドレスのうち前記書き込みデータの前記オブジェクトベースストレージシステムにおけるオブジェクト識別子と前記書き込みデータを記憶するのに要するアドレスを決定し、前記空きブロックのアドレスに対応付けられたキャッシュメモリのキャッシュブロックに前記上位装置より受信した書き込みデータを記憶させ、前記オブジェクト識別子と前記空きブロックのアドレスを対応付けた情報を制御情報記憶領域に記憶させ、
    複数のキャッシュブロックの中から前記記憶装置に書き込むデータの候補である候補データを選択し、
    前記キャッシュメモリの各キャッシュブロックのアドレスと前記記憶装置の各ブロックのアドレスを対応付けたキャッシュ情報と前記制御情報記憶領域に記録された情報に基づいて前記候補データと同一のオブジェクト識別子が他のキャッシュブロックに含まれるか否かを判断し、
    前記候補データと同一のオブジェクト識別子が他のキャッシュブロックに含まれないと判断した場合に、前記候補データを前記記憶装置に書き込むブロックとして選択することを特徴とするキャッシュ制御方法。
JP2009192800A 2009-08-24 2009-08-24 オブジェクトベースストレージシステム、キャッシュ制御装置、キャッシュ制御方法 Expired - Fee Related JP5104828B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009192800A JP5104828B2 (ja) 2009-08-24 2009-08-24 オブジェクトベースストレージシステム、キャッシュ制御装置、キャッシュ制御方法
US12/861,813 US20110047332A1 (en) 2009-08-24 2010-08-23 Storage system, cache control device, and cache control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009192800A JP5104828B2 (ja) 2009-08-24 2009-08-24 オブジェクトベースストレージシステム、キャッシュ制御装置、キャッシュ制御方法

Publications (2)

Publication Number Publication Date
JP2011044056A JP2011044056A (ja) 2011-03-03
JP5104828B2 true JP5104828B2 (ja) 2012-12-19

Family

ID=43606210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009192800A Expired - Fee Related JP5104828B2 (ja) 2009-08-24 2009-08-24 オブジェクトベースストレージシステム、キャッシュ制御装置、キャッシュ制御方法

Country Status (2)

Country Link
US (1) US20110047332A1 (ja)
JP (1) JP5104828B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102030517B1 (ko) * 2013-12-11 2019-10-10 인텔 코포레이션 분산 저장 시스템에서의 캐시 및 비-캐시 사용

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208509A (ja) * 1993-01-08 1994-07-26 Fuji Xerox Co Ltd ディスクキャッシュ制御装置
JPH08115169A (ja) * 1994-10-14 1996-05-07 Hitachi Ltd ディスク制御装置
JP3612271B2 (ja) * 2000-09-12 2005-01-19 株式会社東芝 ファイルシステム
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US20070136726A1 (en) * 2005-12-12 2007-06-14 Freeland Gregory S Tunable processor performance benchmarking
US20070276989A1 (en) * 2006-05-29 2007-11-29 Sandisk Il Ltd. Predictive data-loader
JP2008146516A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記録装置のデータ先読み処理方法
US8156300B2 (en) * 2008-11-18 2012-04-10 Microsoft Corporation Delete notifications for an entire storage volume

Also Published As

Publication number Publication date
US20110047332A1 (en) 2011-02-24
JP2011044056A (ja) 2011-03-03

Similar Documents

Publication Publication Date Title
US10042779B2 (en) Selective space reclamation of data storage memory employing heat and relocation metrics
EP3210121B1 (en) Cache optimization technique for large working data sets
JP6267314B2 (ja) キャッシュメモリの利用トレンドに基づく複数セットグループ内のウェイごとの動的パワー供給
EP3414665B1 (en) Profiling cache replacement
US8140759B2 (en) Specifying an access hint for prefetching partial cache block data in a cache hierarchy
US20030212865A1 (en) Method and apparatus for flushing write cache data
US6098153A (en) Method and a system for determining an appropriate amount of data to cache
JP4451717B2 (ja) 情報処理装置および情報処理方法
CN104145252A (zh) 两级高速缓存系统中的自适应高速缓存提升
JP6711121B2 (ja) 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム
JP2023507078A (ja) プリフェッチレベルの降格
WO2018004801A1 (en) Multi-level system memory with near memory scrubbing based on predicted far memory idle time
JP2016133847A (ja) ストレージ制御装置およびストレージ制御プログラム
Sun et al. Co-active: A workload-aware collaborative cache management scheme for NVMe SSDs
EP3688597B1 (en) Preemptive cache writeback with transaction support
JP5104828B2 (ja) オブジェクトベースストレージシステム、キャッシュ制御装置、キャッシュ制御方法
Xie et al. Exploiting internal parallelism for address translation in solid-state drives
JPH05189316A (ja) ディスクキャッシュ制御方法
KR100981884B1 (ko) 컴퓨터 저장장치에서의 프리페칭 데이터 관리 방법
JP2008192020A (ja) Raid制御装置及びその制御方法
JP2004078755A (ja) 情報処理システム
KR101976320B1 (ko) 라스트 레벨 캐시 메모리 및 이의 데이터 관리 방법
US8176254B2 (en) Specifying an access hint for prefetching limited use data in a cache hierarchy
Woo et al. FMMU: a hardware-accelerated flash map management unit for scalable performance of flash-based SSDs
JP2005166073A (ja) 記憶装置の制御装置および制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120416

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: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120917

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees