JP2013196481A - キャッシュ装置、情報処理システム、および、キャッシュ方法 - Google Patents

キャッシュ装置、情報処理システム、および、キャッシュ方法 Download PDF

Info

Publication number
JP2013196481A
JP2013196481A JP2012063999A JP2012063999A JP2013196481A JP 2013196481 A JP2013196481 A JP 2013196481A JP 2012063999 A JP2012063999 A JP 2012063999A JP 2012063999 A JP2012063999 A JP 2012063999A JP 2013196481 A JP2013196481 A JP 2013196481A
Authority
JP
Japan
Prior art keywords
data
address
unit
parity
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.)
Pending
Application number
JP2012063999A
Other languages
English (en)
Inventor
Takayoshi Oyama
隆義 大山
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012063999A priority Critical patent/JP2013196481A/ja
Publication of JP2013196481A publication Critical patent/JP2013196481A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】障害処理の最中に、キャッシュの容量が不足し、処理が続行できないという問題を解決する。
【解決手段】キャッシュ装置は、データ、および、パリティを格納するデータ部と、前記データ部に格納されたデータ、または、パリティに対する前記データ部の領域を指定する複数のアドレス部分を格納するアドレス部と、ある前記アドレス部分で指定される前記データ部の領域を動的に拡張する制御部とを含む。
【選択図】 図1

Description

本発明は、キャッシュ装置、情報処理システム、および、キャッシュ方法に関する。
近年、コンピュータで扱うデータ量が拡大し、ディスク装置における高速なデータアクセス、大規模データの管理、耐障害性の向上が求められている。そのような目的には、データを利用するホスト装置から独立した複数のディスクの組み合わせの専用装置(ディスクアレイ装置、ストレージ装置)が利用されている。
ストレージシステムに関する技術の1例が、特許文献1に記載されている。特許文献1は、RAID(Redundant Array of Independent Disks)方式のストレージシステムに関する技術である。そして、この技術は、障害によりボリュームがオフラインの場合、書き込みデータをキャッシュに入れ、オンラインになると、キャッシュに入れたデータをボリュームに書き込んでいる。
ディスクのリビルドに関する技術の1例が、特許文献2に記載されている。この技術は、故障したディスクのデータを予備のディスクにリビルドし、その予備のディスクを切り離し、切り離している間、更新データを、他の故障していないディスクに書き込んでいる。また、この技術は、予備のディスクを故障したディスクの位置に接続し、更新データを、予備のディスクに書き込んでいる。
キャッシュを持つディスクアレイシステムに関する技術の1例が、特許文献3に記載されている。この技術は、所定の期間にホストから受け付けたI/O(Input/Output)要求数を算出し、それが予め決められた規定値を超えているかどうかを判定し、超えている場合は、管理単位領域のデータをキャッシュに常駐させている。
キャッシュの構成管理に関する技術の1例が、特許文献4に記載されている。この技術は、キャッシュの構成、アクセス性能からレスポンスタイムを予測し、キャッシュ容量の判定、適切な容量の見積もりを行い、キャッシュ構成の変更を行っている。
ハッシュに関する技術の1例が、特許文献5に記載されている。この技術は、ストレージシステムのキャッシュに階層管理方式とハッシュディレクトリ方式とを併用し、性能を向上させている。
特表2009−505310号公報 WO06/123416号公報 特開2010−9442号公報 特開2010−97526号公報 特開2005−343757号公報
上述した特許文献の技術では、障害処理(たとえば、リビルド)の最中に、キャッシュの容量が不足し、処理が続行できないという問題があった。
本発明の目的は、上記問題を解決したキャッシュ装置、情報処理システム、および、キャッシュ方法を提供することである。
本発明のキャッシュ装置は、データ、および、パリティを格納するデータ部と、前記データ部に格納されたデータ、または、パリティに対する前記データ部の領域を指定する複数のアドレス部分を格納するアドレス部と、ある前記アドレス部分で指定される前記データ部の領域を動的に拡張する制御部とを含む。
本発明のキャッシュ方法は、データ部に、データ、および、パリティを格納し、
アドレス部に、前記データ部に格納されたデータ、または、パリティに対する前記データ部の領域を指定する複数のアドレス部分を格納し、
ある前記アドレス部分で指定される前記データ部の領域を動的に拡張する。
本発明の効果は、障害処理(たとえば、リビルド)の最中に、キャッシュの容量が不足せず、処理が続行できることである。
本発明の第1の実施の形態の構成を示すブロック図である。 データ、パリティの構造を示す説明図である。 アドレス部、データ部の詳細説明図である。 本発明の第2の実施の形態の制御を示す説明図である。 本発明の第2の実施の形態の制御部の構成を示すブロック図である。 本発明の第3の実施の形態の構成を示すブロック図である。 ディスクアレイ装置の物理的構成を示す構成図である。 本発明の第3の実施の形態の動作を示す動作説明図である。 本発明の第3の実施の形態の動作を示す動作説明図である。
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施の形態の構成を示すブロック図である。
図1を参照すると、第1の実施の形態のキャッシュ装置100は、データ部110、アドレス部120、および、制御部130を含む。データ部110は、外部の複数の単位ユニットに分割されているストレージ装置に格納されるデータ、パリティを一時的に格納する。
説明を容易にするために、ストレージ装置が、3つの単位ユニットに分割されている場合について説明する。特に、3つの単位ユニットに限定されるわけではない。図2は、データ、パリティの構造を示す説明図である。
図2を参照すると、ストレージ装置に格納されるデータ、パリティは、ストライプ単位で管理される。1つのストライプは、3つのブロックを含む。
2つのブロックは、同じサイズの連続したデータである。残りの1ブロックは、その連続したデータから生成されたパリティである。ストライプ1は、データA1、データB1、パリティP1を含む。ストライプ2は、データA2、パリティP2、データB2を含む。ストライプ3は、パリティP3、データA3、データB3を含む。
データA1、データA2、パリティP3は、同一の単位ユニットに格納される。データB1、パリティP2、データA3は、同一の単位ユニットに格納される。パリティP1、データB2、データB3は、同一の単位ユニットに格納される。
次に、アドレス部120、データ部110について図面を参照して説明する。図3は、アドレス部120、データ部110の詳細説明図である。
図3を参照すると、アドレス部120は、データ部110に格納されるデータ(または、パリティ)のストレージ装置の領域を示すストレージアドレス、データ部110の領域を示すキャッシュアドレス、および、有効情報を格納する。アドレス部120は、3つの単位用ユニットごとに管理される。ここで、それぞれを、第1アドレス部分、第2アドレス部分、第3アドレス部分と呼ぶ。
有効情報は、アドレス部120の各内容が有効か無効かを示す情報である。すなわち、有効情報は、キャッシュアドレスで指定されるデータ部110内のデータ(または、パリティ)が有効か無効かを示す。ストレージアドレス、キャッシュアドレスは、ブロック単位である。また、データ部110は、アドレス部120内のキャッシュアドレスで指定されたところにブロック単位のデータ、または、パリティを格納する。
次に、第1の実施の形態の動作について説明する。
制御部130は、外部のホスト装置から出力されたストレージ装置に対するリード/ライト要求(リード/ライトコマンド、要求アドレス、ライトデータ)を受け取る。この要求アドレスは、2ブロック単位(または、ストライプまたは、複数のストライプを示す単位)である。
まず、リード要求の場合について説明する。
制御部130は、受け取った要求アドレスに対応するストレージアドレスが、アドレス部120に存在し、かつ、有効情報により有効か無効かを調べる。
アドレス部120に有効なストレージアドレスが存在しないと、制御部130は、データ部110に対応するデータが存しない(キャッシュミス)と判断する。そして、制御部130は、ストレージ装置にリード要求を出力する。
ストレージ装置の各単位ユニットからリードデータ(1〜3ブロック)を受け取ると、制御部130は、パリティチェックを行う。そして、制御部130は、要求アドレスから、単位ユニットに対応するブロック単位のストレージアドレスを生成し、かつ、ストレージアドレスごとにキャッシュアドレスを生成する。
次に、制御部130は、生成した3組のストレージアドレス、キャッシュアドレス、有効情報(有効)をアドレス部120に格納する。そして、データ部110のキャッシュアドレスで指定された領域にブロック単位の各リードデータ(または、パリティ)を格納する。そして、制御部130は、ホスト装置に要求された分のリードデータを出力する。
アドレス部120に有効なストレージアドレスが存在すると、制御部130は、データ部110に対応するデータが存在する(キャッシュヒット)と判断する。そして、制御部130は、データを読み出す。すなわち、制御部130は、3つのストレージアドレスに対応するキャッシュアドレスで指定されるデータ部110内のデータ(または、パリティ)を読み出す。そして、制御部130は、ホスト装置に要求された分のリードデータを出力する。
次に、ライト要求の場合について説明する。
キャッシュミスの場合、制御部130は、要求アドレスから、単位ユニットに対応するブロック単位のストレージアドレスを生成し、かつ、ストレージアドレスごとにキャッシュアドレスを生成する。
次に、制御部130は、生成した3組のストレージアドレス、キャッシュアドレス、有効情報(有効)をアドレス部120に格納する。そして、制御部130は、連続した2ブロックのライトデータに対するパリティを生成する。制御部130は、ブロック単位のライトデータ(または、パリティ)を、データ部110の、生成した3つのキャッシュアドレスにより指定された領域に書き込む。
キャッシュヒットの場合、制御部130は、連続した2ブロックのライトデータに対するパリティを生成する。そして、制御部130は、データ部110のキャッシュアドレスで指定された領域にブロック単位の各ライトデータ(または、パリティ)を格納する。
また、キャッシュ装置100からストレージ装置へのライトデータの出力の方式は、ライトスルー、ライトバックのどちらの構成も可能である。制御部130は、データ(または、パリティ)のストレージ装置への格納が終わると、データ部110、アドレス部120から対応する部分に書き込み完了を示す書き込み完了情報(図示せず)を付与する。
上記の説明において、データ部110には、1回の要求で、ストライプごとに、3つのブロックのデータ(または、パリティ)が、第1アドレス部分〜第3アドレス部分で指定される領域に書き込まれる。したがって、データ部110には、第1アドレス部分〜第3アドレス部分に対応するデータ(または、パリティ)が、同量存在する(削除されないかぎり)。
次に、第1アドレス部分〜第3アドレス部分に対応するデータ(パリティ)の量を不均衡にする場合について説明する。たとえば、ストレージ装置の第3アドレス部分に対応する単位ユニットが故障(または、何らかの障害が発生)し、単位ユニットにデータ(または、パリティ)を書き込めない場合等である。
この場合、一時的に、データ部110の第3アドレス部分に対応する領域を拡張させる必要が生じる。データ部110の容量は決まっているので、制御部130は、第1アドレス部分〜第2アドレス部分に対応するデータ(または、パリティ)を、ストレージ装置に出力する。
さらに、制御部130は、出力されたデータ(または、パリティ)をデータ部110から削除し、削除したデータ(または、パリティ)を指定する第1アドレス部分〜第2アドレス部分をアドレス部120から削除する。
また、たとえば、制御部130は、ホスト装置からの新たなライト要求に対して、第1アドレス部分〜第2アドレス部分に対応するデータ(または、パリティ)を、ストレージ装置に出力し、データ部110には格納しない。制御部130は、第1アドレス部分〜第2アドレス部分をアドレス部120に格納しない。制御部130は、第3アドレス部分をアドレス部120に格納し、対応するデータ(または、パリティ)をデータ部110に格納する。以上のような制御により、データ部110の第3アドレス部分に対応する領域を拡張できる。
また、別の制御として、制御部130は、第1アドレス部分〜第3アドレス部分のそれぞれの数をカウントし、第1アドレス部分の数、第2アドレス部分の数に制限値を減少させる制御が可能である。すなわち、制御部130は、第3アドレス部分の数を観測し、第3アドレス部分の数が制限値に近くなると、第3アドレス部分の制限値を増加し、第1アドレス部分の数、第2アドレス部分の制限値を減少させる。
あるいは、制御部130は、第3アドレス部分の数が制限値に近くなることが予測されると、第3アドレス部分の制限値を増加し、第1アドレス部分の数、第2アドレス部分の制限値を減少させる。
たとえば、ストレージ装置の第1アドレス部分、第2アドレス部分に対応する単位ユニットが故障した場合には、それぞれ、データ部110の第1アドレス部分、第2アドレス部分に対応する領域が拡張される。以上のような制御により、動的にデータ部110の第3アドレス部分に対応する領域を拡張できる。
データ部110、アドレス部120は、メモリ上に構成されることが可能である。
また、ホスト装置が、ライト要求でパリティを出力し、リード要求で、パリティを受け取る構成が可能である。
次に、第1の実施の形態の効果について説明する。第1の実施の形態は、障害の発生した単位ユニットに対応するアドレス部分に対応するデータ部110の領域を動的に拡張するので、ストレージ装置のアドレス部分に対応する単位ユニットの障害時に、処理が続行でき、信頼性が向上する。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。第2の実施の形態は、第1の実施の形態の1例である。図4は、本発明の第2の実施の形態の制御を示す説明図である。
図4を参照すると、アドレス部120は、ハッシュテーブル300、および、ハッシュリスト311、ハッシュリスト312、および、ハッシュリスト313を含む。ハッシュリスト311、ハッシュリスト312、および、ハッシュリスト313は、それぞれ、第1の実施の形態の第1アドレス部分、第2アドレス部分、および、第3アドレス部分の1例である。
説明を簡単にするために、ハッシュ関数を[要求アドレス(mod3)](要求アドレスを3で割った余り)とする。以下、有効情報、書き込み完了情報を省略して説明する。
また、ホスト装置が、ライト要求時に、パリティを生成してキャッシュ装置100に出力し、リード要求時に、キャッシュ装置100からパリティを受け取る構成とする。また、要求は、1ブロック単位とする。すなわち、ストレージアドレスと要求アドレスとは同一となる。
ハッシュテーブル300は、ハッシュ関数の出力である3種のハッシュ値(‘0’、‘1’、‘2’)、および、ハッシュリスト311〜313の先頭をさすポインタを含む。ハッシュリスト311〜313は、それぞれ1以上のリストエントリを含む。リストエントリは、ストレージアドレス、キャッシュアドレス、および、次のハッシュリスト311〜313を指定するポインタを含む。
制御部130は、要求アドレスに対し、ハッシュ関数を適用する。制御部130は、ハッシュ値に対応するハッシュリスト311〜313内に対応するストレージアドレス(=要求アドレス)が存在するかどうかを順次調べる。
リード要求の場合、ストレージアドレスが存在すれば(キャッシュヒット)、制御部130は、対応するキャッシュアドレスで指定されるデータ(または、パリティ)をデータ部110から読み出し、ホスト装置に出力する。
ストレージアドレスが存在しないと(キャッシュミス)、制御部130は、ストレージ装置にリード要求を出力する。制御部130は、要求アドレスにハッシュ関数を適用し、単位ユニットに対応するブロック単位のストレージアドレス(=要求アドレス)を生成し、かつ、ストレージアドレスに対応するキャッシュアドレスを生成する。たとえば、キャッシュアドレスは、ハッシュ値、および、ストレージアドレスから生成される。
制御部130は、ハッシュテーブル300、対応するハッシュリスト311〜313を調べ、各最後尾に、リストエントリ(ストレージアドレス、キャッシュアドレス、ポインタ)を登録する。
そして、制御部130は、ストレージ装置からリードデータ(パリティを含む)を受け取ると、データ部110のキャッシュアドレスで指定される領域にデータ(または、パリティ)を格納する。
ライト要求の場合、ストレージアドレスが存在すれば(キャッシュヒット)、制御部130は、データ部110の対応するキャッシュアドレスで指定される領域にデータ(または、パリティ)を格納する。そして、制御部130は、直ちに(ライトスルー)、または、時間をおいて(ライトバック)、ストレージ装置にライト要求を出力する。
また、ストレージアドレスが存在しないと(キャッシュミス)、制御部130は、要求アドレスにハッシュ関数を適用し、単位ユニットに対応するブロック単位のストレージアドレス(=要求アドレス)を生成し、かつ、ストレージアドレスに対応するキャッシュアドレスを生成する。
制御部130は、ハッシュテーブル300、対応するハッシュリスト311〜313を調べ、各最後尾に、リストエントリ(ストレージアドレス、キャッシュアドレス、ポインタ)を登録する。そして、制御部130は、直ちに(ライトスルー)、または、時間をおいて(ライトバック)、ストレージ装置にライト要求を出力する。
次に、ハッシュリスト311〜313に対応するデータ(パリティ)の量を不均衡にする場合について説明する。たとえば、ストレージ装置のハッシュリスト313に対応する単位ユニットが故障し、単位ユニットにデータ(または、パリティ)を書き込めない場合等である。
この場合、一時的に、データ部110のハッシュリスト313に対応する領域を拡張させる必要が生じる。データ部110の容量は決まっているので、制御部130は、ハッシュリスト311〜312に対応するデータ(または、パリティ)を、ストレージ装置に出力する。
さらに、制御部130は、出力したデータ(または、パリティ)を指定するハッシュリスト311〜312を削除する。これにより、データ部110から、ハッシュリスト311〜312に対応するデータ(または、パリティ)が削除されたことになる。
以上のような制御により、データ部110のハッシュリスト313に対応する領域を拡張できる。
また、制御部130は、ハッシュリスト311〜313に登録されているそれぞれの数をカウントし、第1アドレス部分の数、第2アドレス部分の数に制限を設定する制御が可能である。図5は、本発明の第2の実施の形態の制御部130の構成を示すブロック図である。
図5を参照すると、制御部130は、登録数カウンタ151、登録数カウンタ152、登録数カウンタ153、制限値情報161、制限値情報162、および、制限値情報163を含む。
制御部130は、ハッシュリスト311、312、313に登録されているリストエントリの数を、それぞれ、登録数カウンタ151、152、153に格納する。制御部130は、ハッシュリスト311、312、313に登録を許すリストエントリの最大数を、それぞれ、制限値情報161、162、163に格納する。
したがって、登録数カウンタ151の値≦制限値情報161の値、登録数カウンタ152の値≦制限値情報162の値、登録数カウンタ153の値≦制限値情報163の値である。また、制限値情報161の値+制限値情報162の値+制限値情報163の値は、データ部110の容量以内を指定するように設定される。制御部130は、この制限を守って処理を行う。
そして、たとえば、ストレージ装置のハッシュリスト313に対応する単位ユニットが故障した場合等に、制御部130は、登録数カウンタ153の値を調べ、制限値情報163の値を増加させ、制限値情報161の値、制限値情報162の値を減少させる。
以上のような制御により、データ部110のハッシュリスト313に対応する領域を拡張できる。
次に、ホスト装置が、パリティの生成、出力を行わず、キャッシュ装置100が、パリティの生成を行う制御ついて説明する。
ホスト装置は、ライト要求において、連続する2ブロック単位でライトデータを出力する場合について説明する。要求アドレスは、たとえば、2ブロックの先頭ブロックを指定する偶数アドレスである。すなわち、要求アドレス=0、2、4、6、・・・・である。たとえば、要求アドレス=2の場合、アドレス=2、アドレス=3に対応する2ブロックのデータが、ホスト装置から出力される。
キャッシュ装置100の制御部130は、2ブロックのデータからパリティを生成する。そして、制御部130は、2つのアドレスにハッシュ関数を適用し、それぞれ、ハッシュ値である2(mod3)=‘1’、3(mod3)=‘0’を算出する。
次に、アドレス=2のハッシュ値=‘1’なので、制御部130は、ハッシュテーブル300を参照し、ポインタで指定されるハッシュリスト312の最後尾に、新たなリストエントリを登録する。リストエントリは、ストレージアドレス(=要求アドレス=2)、キャッシュアドレス(ハッシュ値=‘1’、ストレージアドレスから適宜のアルゴリズムで生成する)、ポインタを含む。そして、制御部130は、データ部110の生成したキャッシュアドレスで指定された領域に先頭の1ブロックのデータを格納する。
また、アドレス=3のハッシュ値=‘0’なので、制御部130は、ハッシュテーブル300を参照し、ポインタで指定されるハッシュリスト311の最後尾に、新たなリストエントリを登録する。リストエントリは、ストレージアドレス(=要求アドレス=2)、キャッシュアドレス(ハッシュ値=‘0’、ストレージアドレスから適宜のアルゴリズムで生成する)、ポインタを含む。そして、制御部130は、データ部110の生成したキャッシュアドレスで指定された領域に2番目の1ブロックのデータを格納する。
次に、制御部130は、ハッシュ値=‘1’、‘0’でない残りのハッシュ値=‘2’を、生成したパリティに対応させる。制御部130は、ハッシュテーブル300を参照し、ポインタで指定されるハッシュリスト313の最後尾に、新たなリストエントリを登録する。リストエントリは、ストレージアドレス(=要求アドレス=2)、キャッシュアドレス(ストレージアドレスから適宜のアルゴリズムで生成する)、ポインタを含む。そして、制御部130は、データ部110の生成したキャッシュアドレスで指定された領域に1ブロックのパリティを格納する。
ホスト装置は、リード要求で、1ブロック単位を指定することが可能である。たとえば、奇数の要求アドレス=3が指定できる。キャッシュ装置100の制御部130は、要求アドレス=3のリード要求を受け取ると、ハッシュ関数を適用し、それぞれ、ハッシュ値である3(mod3)=‘0’を算出する。また、制御部130は、奇数の要求アドレス=3から、偶数のアドレス=2(=3−1)を生成する。
そして、制御部130は、ハッシュ値=‘0’に対応するハッシュリスト311を検索し、アドレス=2をストレージアドレスとして含むリストエントリが存在するかどうかを調べる。そのエントリが存在すれば、キャッシュヒットであり、存在しなければ、キャッシュミスである。
次に、第2の実施の形態の効果について説明する。第2の実施の形態は、第1の実施の形態の1例なので、第1の実施の形態と同一の効果を持つ。また、第2の実施の形態は、ハッシュ方式をとるので、ストレージ装置の各単位ユニットに対応するデータ(または、パリティ)が均等にデータ部110に格納でき、キャッシュを効率的に使用できるという効果を持つ。
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。図6は、本発明の第3の実施の形態の構成を示すブロック図である。
図6を参照すると、第3の実施の形態の情報処理システム200は、ホスト装置400、ディスクアレイシステム500、および、保守用装置700を含む。ディスクアレイシステム500は、キャッシュ装置100、および、ディスクアレイ装置600を含む。
ホスト装置400は、第2の実施の形態のホスト装置の1例である。キャッシュ装置100は、第2の実施の形態のキャッシュ装置100の1例であって、ディスクキャッシュ装置とも呼ばれる。また、第3の実施の形態は、ライトバック方式であると仮定する。
ディスクアレイ装置600は、第2の実施の形態のストレージ装置の1例であって、第1ディスク610、第2ディスク620、第3ディスク630、および、スペアディスク640を含む。第1ディスク610〜スペアディスク640は、それぞれ、第2の実施の形態の単位ユニットである。キャッシュ装置100は、データ(または、パリティ)に対し、第1ディスク610、第2ディスク620、第3ディスク630の区別を示すボリューム指定情報を付与し、ディスクアレイ装置600に出力する制御が可能である。
また、第1ディスク610〜第3ディスク630に対応する制限値情報161〜163には、事前に、同一の値が設定されることが可能である。
ここで、ディスクアレイ装置600の物理的構成について説明する。図7は、ディスクアレイ装置600の物理的構成を示す構成図である。
図7を参照すると、ディスクアレイ装置600は、1〜12の番号が付与された12スロットを持つ。そして、第1スロット、第2スロット、第3スロット、第12スロットには、それぞれ、第1ディスク610、第2ディスク620、第3ディスク630、スペアディスク640が搭載される。たとえば、ディスクアレイ装置600は、RAID5の構成が可能である。また、ディスクアレイ装置600は、この構成に限られない。
次に、第3の実施の形態の動作について図面を参照して説明する。図8、図9は、本発明の第3の実施の形態の動作を示す動作説明図である。図8、図9は、第3ディスク630に障害が発生した場合の動作を示す。
制御部130は、第3ディスク630の障害を検知すると(ステップS1/Y)、第3ディスク630へのアクセスを停止する(ステップS2)。さらに、制御部130は、保守用装置700に第3ディスク630の障害を示す障害通知を出力する(ステップS3)。制御部130は、第3ディスク630のかわりにスペアディスク640へのアクセスを開始する(ステップS4)。
次に、制御部130は、第1ディスク610、および、第2ディスク620から、データ(または、パリティ)を読み出し、データ、および、パリティに基づいて、第3ディスク630のデータ(または、パリティ)を復元する(ステップS5)。
ここで、まだ、第1ディスク610〜第3ディスク630に格納されていないデータ(または、パリティ)が、キャッシュ装置100(データ部110内)に存在すると、制御部130は、復元に利用する(ステップS5)。存在は、図示しない有効情報、書き込み完了情報等により調べられる。
次に、制御部130は、復元したデータ(または、パリティ)をスペアディスク640に格納する。すなわち、制御部130は、第3ディスク630をスペアディスク640にリビルドする(ステップS6)。そして、制御部130は、リビルドの完了を示すリビルド完了通知を保守用装置700に出力する(ステップS7)。
次に、保守用装置700は、制御部130に、スペアディスク640を切り離すための切り離し指示を出力する(ステップS8)。切り離しに、保守用装置700の障害表示等を観測した人間(保守員等)が関与する構成も可能である。
制御部130は、切り離し指示を受け取ると、スペアディスク640の特別な領域に、第3ディスク630のリビルドが実施されたことを示すリビルド実施情報を格納し(ステップS9)、スペアディスク640に対するアクセスを停止する(ステップS10)。
次に、制御部130は、データ部110に存在し、まだ、第1ディスク610、第2ディスク620に格納済みでないデータ(または、パリティ)を、それぞれ、第1ディスク610、第2ディスク620に出力する(ステップS11)。そして、制御部130は、第1ディスク610、第2ディスク620に格納済みのデータ(または、パリティ)に対応する部分をデータ部110、アドレス部120から削除する(ステップS11)。すなわち、制御部130は、アドレス部120の対応する有効情報を無効を示すようにする。これにより、データ部110に空きが確保できる。
そして、制御部130は、ホスト装置400からの要求を処理する(ステップS12)。すなわち、ホスト装置400からのライト要求に関しては、第1ディスク610、第2ディスク620に対応するデータ(または、パリティ)は、通常と同一に、データ部110に格納され、適宜、第1ディスク610、第2ディスク620に格納される。また、第3ディスク630に対応するデータ(または、パリティ)は、データ部110のみに格納される。
また、ホスト装置400からのリード要求に関しては、キャッシュヒットであれば、データ部110からデータ(または、パリティ)が読み出されて、ホスト装置400に出力される。キャッシュミスであれば、第3ディスク630に対応するデータ(または、パリティ)は、第1ディスク610、第2ディスク620に格納されている対応するストライプのデータ(または、パリティ)から復元され、ホスト装置400に出力される。
また、制御部130は、登録数カウンタ151〜153に、対応するハッシュリスト311〜313に登録されているリストエントリの数を、その都度、格納する(ステップS13)。
そして、制御部130は、第3ディスク630に対応する登録数カウンタ153の値が、制限値情報163の値に近づくと、第1ディスク610、第2ディスク620に対応する制限値情報161、162の値を減少させる(ステップS14)。さらに、制御部130は、第3ディスク630に対応する制限値情報163を増加させる(ステップS14)。
登録数カウンタ151〜152が、対応する制限値情報161〜162を超えると、制御部130は、第1ディスク610、第2ディスク620に格納済みのデータ(または、パリティ)を、データ部110から削除する(ステップS15)。
次に、制御部130は、第1ディスク610、第2ディスク620に格納済みでないデータ(または、パリティ)を、それぞれ、第1ディスク610、第2ディスク620に出力し、データ部110から削除する(ステップS16)。
次に、保守員等により、第3ディスク630、スペアディスク640を、それぞれ、第3スロット、第12スロットから抜き、スペアディスク640を、第3スロットに搭載する交換作業が実施される。そして、保守用装置700が交換完了情報を制御部130に出力する(ステップS17)。
制御部130は、交換完了情報を受け取ると、第3スロットに搭載されたスペアディスク640にアクセスし、リビルド実施情報の存在を確認する(ステップS18)。リビルド実施情報の存在が確認されると(ステップS18/Y)、制御部130は、スペアディスク640を第3ディスク630の代替として認識する(ステップS19)。
そして、制御部130は、データ部110内の第3ディスク630に対応するデータ(または、パリティ)を、スペアディスク640に対し出力する(ステップS20)。次に、制御部130は、制限値情報161〜163の値を元に戻す(ステップS21)。
リビルド実施情報の存在が確認されないと(ステップS18/N)、制御部130は、保守用装置700に、リビルド実施情報が存在しないことを示すリビルド実施情報非検出通知を出力する(ステップS22)。
次に、第3の実施の形態の効果について説明する。第3の実施の形態は、第2の実施のキャッシュ装置100を含む構成なので、第2の実施の形態と同一の効果を持つ。また、第3の実施の形態は、リビルド時に、障害の発生したディスクに対応するデータ部110の領域を増加することにより、リビルドが実施されても、処理が継続できるという効果を持つ。
また第3の実施の形態は、リビルド時も、ホスト装置400からの要求が処理する構成なので、障害時も、性能が低下しないという効果を持つ。
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。
[付記1]
データ、および、パリティを格納するデータ部と、
前記データ部に格納されたデータ、または、パリティに対する前記データ部の領域を指定する複数のアドレス部分を格納するアドレス部と、
ある前記アドレス部分で指定される前記データ部の領域を動的に拡張する制御部と、
を含むことを特徴とするキャッシュ装置。
[付記2]
複数の単位ユニットからなるストレージ装置のそれぞれの前記単位ユニットに格納されるデータ、または、パリティに対応する前記アドレス部分をもつ前記アドレス部を含むことを特徴とする付記1のキャッシュ装置。
[付記3]
前記単位ユニットに対応する前記アドレス部分のそれぞれの数をカウントし、障害が発生した前記単位ユニットに対応する前記アドレス部分に対する制限値を増加させ、障害が発生しない前記単位ユニットに対応する前記アドレス部分に対する制限値を減少させ、障害が発生した前記単位ユニットに対応する前記アドレス部分で指定される前記データ部の領域を拡張する前記制御部を含むことを特徴とする付記2のキャッシュ装置。
[付記4]
リストエントリからなりハッシュ値の各々に対応するハッシュリストである前記アドレス部分、および、ハッシュ値に対応する前記ハッシュリストの各々を指定するハッシュテーブルを含む前記アドレス部と、
要求アドレスにハッシュ関数を適用しハッシュ値を算出し、ハッシュ値に対応する前記アドレス部分にストレージアドレス、および、キャッシュアドレスを含む前記リストエントリを登録し、キャッシュアドレスで指定される前記データ部の領域に、データ、または、パリティを格納する前記制御部と、
を含むことを特徴とする付記3のキャッシュ装置。
[付記5]
付記4の前記キャッシュ装置と、
前記キャッシュ装置にリード、または、ライト要求を出力するホスト装置と、
前記単位ユニットである複数のディスクを含む前記ストレージ装置であるディスクアレイ装置と、
障害時に処理を実施する保守用装置と、
を含むことを特徴とする情報処理システム。
[付記6]
切り離し指示を出力する前記保守用装置と、
スペアディスクに障害の発生した前記ディスク内のデータ、または、パリティをリビルドし、切り離し指示を受け取ると、前記スペアディスクへのアクセスを停止し、障害の発生していない前記ディスクに対応するデータ、または、パリティを前記ディスクアレイシステムに出力し、出力したデータ、または、パリティを前記データ部から削除する前記制御部と、
を含むことを特徴とする付記5の情報処理システム。
[付記7]
切り離し指示を受け取ると、障害の発生した前記ディスクに対応するリストエントリの数の制限値を増加し、障害の発生していない前記ディスクに対応するリストエントリの数を減少させ、障害の発生した前記ディスクに対応するデータ、または、パリティを格納するデータ領域を拡張する前記制御部を含むことを特徴とする付記6の情報処理システム。
[付記8]
データ部に、データ、および、パリティを格納し、
アドレス部に、前記データ部に格納されたデータ、または、パリティに対する前記データ部の領域を指定する複数のアドレス部分を格納し、
ある前記アドレス部分で指定される前記データ部の領域を動的に拡張することを特徴とするキャッシュ方法。
[付記9]
前記アドレス部に、複数の単位ユニットからなるストレージ装置のそれぞれの前記単位ユニットに格納されるデータ、または、パリティに対応する前記アドレス部分を含ませることを特徴とする付記9のキャッシュ方法。
[付記10]
前記単位ユニットに対応する前記アドレス部分のそれぞれの数をカウントし、障害が発生した前記単位ユニットに対応する前記アドレス部分に対する制限値を増加させ、障害が発生しない前記単位ユニットに対応する前記アドレス部分に対する制限値を減少させ、障害が発生した前記単位ユニットに対応する前記アドレス部分で指定される前記データ部の領域を拡張することを特徴とする付記9のキャッシュ方法。
[付記11]
前記アドレス部に、リストエントリからなりハッシュ値の各々に対応するハッシュリストである前記アドレス部分、および、ハッシュ値に対応する前記ハッシュリストの各々を指定するハッシュテーブルを含ませ、
要求アドレスにハッシュ関数を適用しハッシュ値を算出し、ハッシュ値に対応する前記アドレス部分にストレージアドレス、および、キャッシュアドレスを含む前記リストエントリを登録し、キャッシュアドレスで指定される前記データ部の領域に、データ、または、パリティを格納することを特徴とする付記10のキャッシュ方法。
[付記12]、
ホスト装置にリード、または、ライト要求を出力させ、
前記単位ユニットである複数のディスクを含む前記ストレージ装置であるディスクアレイ装置にデータ、または、パリティを出力させ、
保守用装置に、障害時の処理を実施させることを特徴とする付記11のキャッシュ方法。
100 キャッシュ装置
110 データ部
120 アドレス部
130 制御部
151 登録数カウンタ
152 登録数カウンタ
153 登録数カウンタ
161 制限値情報
162 制限値情報
163 制限値情報
200 情報処理システム
300 ハッシュテーブル
311 ハッシュリスト
312 ハッシュリスト
313 ハッシュリスト
400 ホスト装置
500 ディスクアレイシステム
600 ディスクアレイ装置
610 第1ディスク
620 第2ディスク
630 第3ディスク
640 スペアディスク
700 保守用装置

Claims (10)

  1. データ、および、パリティを格納するデータ部と、
    前記データ部に格納されたデータ、または、パリティに対する前記データ部の領域を指定する複数のアドレス部分を格納するアドレス部と、
    ある前記アドレス部分で指定される前記データ部の領域を動的に拡張する制御部と、
    を含むことを特徴とするキャッシュ装置。
  2. 複数の単位ユニットからなるストレージ装置のそれぞれの前記単位ユニットに格納されるデータ、または、パリティに対応する前記アドレス部分をもつ前記アドレス部を含むことを特徴とする請求項1のキャッシュ装置。
  3. 前記単位ユニットに対応する前記アドレス部分のそれぞれの数をカウントし、障害が発生した前記単位ユニットに対応する前記アドレス部分に対する制限値を増加させ、障害が発生しない前記単位ユニットに対応する前記アドレス部分に対する制限値を減少させ、障害が発生した前記単位ユニットに対応する前記アドレス部分で指定される前記データ部の領域を拡張する前記制御部を含むことを特徴とする請求項2のキャッシュ装置。
  4. リストエントリからなりハッシュ値の各々に対応するハッシュリストである前記アドレス部分、および、ハッシュ値に対応する前記ハッシュリストの各々を指定するハッシュテーブルを含む前記アドレス部と、
    要求アドレスにハッシュ関数を適用しハッシュ値を算出し、ハッシュ値に対応する前記アドレス部分にストレージアドレス、および、キャッシュアドレスを含む前記リストエントリを登録し、キャッシュアドレスで指定される前記データ部の領域に、データ、または、パリティを格納する前記制御部と、
    を含むことを特徴とする請求項3のキャッシュ装置。
  5. 請求項4の前記キャッシュ装置と、
    前記キャッシュ装置にリード、または、ライト要求を出力するホスト装置と、
    前記単位ユニットである複数のディスクを含む前記ストレージ装置であるディスクアレイ装置と、
    障害時に処理を実施する保守用装置と、
    を含むことを特徴とする情報処理システム。
  6. 切り離し指示を出力する前記保守用装置と、
    スペアディスクに障害の発生した前記ディスク内のデータ、または、パリティをリビルドし、切り離し指示を受け取ると、前記スペアディスクへのアクセスを停止し、障害の発生していない前記ディスクに対応するデータ、または、パリティを前記ディスクアレイシステムに出力し、出力したデータ、または、パリティを前記データ部から削除する前記制御部と、
    を含むことを特徴とする請求項5の情報処理システム。
  7. 切り離し指示を受け取ると、障害の発生した前記ディスクに対応するリストエントリの数の制限値を増加し、障害の発生していない前記ディスクに対応するリストエントリの数を減少させ、障害の発生した前記ディスクに対応するデータ、または、パリティを格納するデータ領域を拡張する前記制御部を含むことを特徴とする請求項6の情報処理システム。
  8. データ部に、データ、および、パリティを格納し、
    アドレス部に、前記データ部に格納されたデータ、または、パリティに対する前記データ部の領域を指定する複数のアドレス部分を格納し、
    ある前記アドレス部分で指定される前記データ部の領域を動的に拡張することを特徴とするキャッシュ方法。
  9. 前記アドレス部に、複数の単位ユニットからなるストレージ装置のそれぞれの前記単位ユニットに格納されるデータ、または、パリティに対応する前記アドレス部分を含ませることを特徴とする請求項9のキャッシュ方法。
  10. 前記単位ユニットに対応する前記アドレス部分のそれぞれの数をカウントし、障害が発生した前記単位ユニットに対応する前記アドレス部分に対する制限値を増加させ、障害が発生しない前記単位ユニットに対応する前記アドレス部分に対する制限値を減少させ、障害が発生した前記単位ユニットに対応する前記アドレス部分で指定される前記データ部の領域を拡張することを特徴とする請求項9のキャッシュ方法。
JP2012063999A 2012-03-21 2012-03-21 キャッシュ装置、情報処理システム、および、キャッシュ方法 Pending JP2013196481A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012063999A JP2013196481A (ja) 2012-03-21 2012-03-21 キャッシュ装置、情報処理システム、および、キャッシュ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012063999A JP2013196481A (ja) 2012-03-21 2012-03-21 キャッシュ装置、情報処理システム、および、キャッシュ方法

Publications (1)

Publication Number Publication Date
JP2013196481A true JP2013196481A (ja) 2013-09-30

Family

ID=49395319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012063999A Pending JP2013196481A (ja) 2012-03-21 2012-03-21 キャッシュ装置、情報処理システム、および、キャッシュ方法

Country Status (1)

Country Link
JP (1) JP2013196481A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021170223A (ja) * 2020-04-15 2021-10-28 株式会社日立製作所 計算機システム、制御方法及びプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143459A (ja) * 1991-11-20 1993-06-11 Shikoku Nippon Denki Software Kk 大型磁気デイスク装置
JPH05265863A (ja) * 1992-01-24 1993-10-15 Fujitsu Ltd 計算機のキャッシュ機構
JPH06236322A (ja) * 1992-12-22 1994-08-23 Internatl Business Mach Corp <Ibm> ディスクアレイ用キャッシュシステム
JPH07200190A (ja) * 1993-12-29 1995-08-04 Nec Corp デイスクアレイ装置
JPH11288387A (ja) * 1998-12-11 1999-10-19 Fujitsu Ltd ディスクキャッシュ装置
JP2005284343A (ja) * 2004-03-26 2005-10-13 Hitachi Ltd ストレージ装置
WO2006123416A1 (ja) * 2005-05-19 2006-11-23 Fujitsu Limited ディスク故障復旧方法及びディスクアレイ装置
JP2006350780A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd キャッシュ割当制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143459A (ja) * 1991-11-20 1993-06-11 Shikoku Nippon Denki Software Kk 大型磁気デイスク装置
JPH05265863A (ja) * 1992-01-24 1993-10-15 Fujitsu Ltd 計算機のキャッシュ機構
JPH06236322A (ja) * 1992-12-22 1994-08-23 Internatl Business Mach Corp <Ibm> ディスクアレイ用キャッシュシステム
JPH07200190A (ja) * 1993-12-29 1995-08-04 Nec Corp デイスクアレイ装置
JPH11288387A (ja) * 1998-12-11 1999-10-19 Fujitsu Ltd ディスクキャッシュ装置
JP2005284343A (ja) * 2004-03-26 2005-10-13 Hitachi Ltd ストレージ装置
WO2006123416A1 (ja) * 2005-05-19 2006-11-23 Fujitsu Limited ディスク故障復旧方法及びディスクアレイ装置
JP2006350780A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd キャッシュ割当制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021170223A (ja) * 2020-04-15 2021-10-28 株式会社日立製作所 計算機システム、制御方法及びプログラム
JP7261763B2 (ja) 2020-04-15 2023-04-20 株式会社日立製作所 計算機システム、制御方法及びプログラム

Similar Documents

Publication Publication Date Title
US10606491B2 (en) Providing redundancy in a virtualized storage system for a computer system
CN102483686B (zh) 数据存储系统和用于操作数据存储系统的方法
US7487289B2 (en) Apparatus and method for detecting disk write omissions
US9535840B2 (en) Parallel destaging with replicated cache pinning
US9292228B2 (en) Selective raid protection for cache memory
US9104342B2 (en) Two stage checksummed raid storage model
JP5489868B2 (ja) ダイレクトアタッチト・ストレージ(das)システムでキャッシングされたデータの保全性を保護する方法及び装置
US10649892B2 (en) Operating a raw mirror within a RAID system
US10564865B2 (en) Lockless parity management in a distributed data storage system
JP2013041455A (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US9747357B2 (en) Fast snapshots
JP2013156977A (ja) 冗長キャッシュデータのエラスティックキャッシュ
JP6805816B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US10579540B2 (en) Raid data migration through stripe swapping
US9396102B2 (en) Recovery from cache and NVS out of sync
JP2013045118A (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
CN111857540A (zh) 数据存取方法、装置和计算机程序产品
JP2011008663A (ja) ストレージ制御装置及びストレージ装置のデータ回復方法
JP2013196481A (ja) キャッシュ装置、情報処理システム、および、キャッシュ方法
JP2011008583A (ja) ディスクアレイ制御装置及びディスクアレイ装置
TW201701160A (zh) 用來於一儲存系統中進行快取管理之方法與裝置
CN102722454A (zh) 一种磁盘保护方法及装置
JP2012168651A (ja) ストレージ装置及びストレージ装置制御方法
JP2015197793A (ja) 記憶装置、データ復旧方法およびデータ復旧プログラム
JP2011175532A (ja) 制御装置、メモリ制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140701