(58)【調査した分野】(Int.Cl.,DB名)
複数のSSD(Solid State Drive)により構成され、各々のSSDは書き込みデータ用の領域と読み出しデータ用の領域との2つに分割される二次キャッシュ部と、
バッファメモリと、
記憶媒体であるスペアディスク装置と、
前記二次キャッシュ部のSSDのうち、2つのSSDにより冗長構成を組み、書き込みデータの転送先を両SSDの書き込みデータ用の領域とし、また冗長構成の各々のSSDの書き込み回数を監視し、書き込み回数がしきい値に到達したSSDを検知した場合、もう一方のSSDの書き込みデータ用の領域を前記スペアディスク装置にコピーし、かつ、書き込みデータの転送先をもう一方のSSDの書き込みデータ用の領域と前記バッファメモリに設定し、その後、前記バッファメモリに転送したデータを前記スペアディスク装置にコピーする制御部と
を含む情報記憶装置。
前記制御部が、書き込み回数がしきい値に到達したSSDを検知した場合、読み出しデータの転送先を前記二次キャッシュのもう一方のSSDの読み出しデータ用の領域とする請求項4または5に記載の情報記憶方法。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本発明の第1の実施の形態における情報記憶装置1000の構成を示すブロック図である。
【
図2】
図2は、第1の実施の形態におけるSSD書き込み回数管理テーブルの一例を示す図である。
【
図3】
図3は、第1の実施の形態におけるSSDしきい値管理テーブルの一例を示す図である。
【
図4】
図4は、第1の実施の形態におけるコピー管理テーブルの一例を示す図である。
【
図5】
図5は、第1の実施の形態における情報記憶装置1000での制御部110の二次キャッシュ140へのデータ書き込み制御の動作の概要を示すフローチャートである。
【
図6】
図6は、第1の実施の形態における情報記憶装置1000での制御部110の二次キャッシュ140へのデータ書き込み後の制御の動作の概要を示すフローチャートである。
【
図7】
図7は、第1の実施の形態における情報記憶装置1000での第2のSSD142のSSD書き込み回数管理テーブルにおける寿命フラグが「1」、つまり第2のSSD142の書き込み回数がしきい値を超過した場合の制御部110の二次キャッシュ140へのデータ書き込み制御の動作の概要を示すフローチャートである。
【
図8】
図8は、第1の実施の形態における情報記憶装置1000での第2のSSD142のSSD書き込み回数管理テーブルにおける寿命フラグが「1」、つまり第2のSSD142の書き込み回数がしきい値を超過した場合の制御部110の二次キャッシュ140へのデータ書き込み後の制御の動作の概要を示すフローチャートである。
【
図9】
図9は、本発明の第1の実施の形態における情報記憶装置1000での、二次キャッシュ140に対して新たなSSDが追加された後の情報記憶装置1000の構成を示すブロック図である。
【
図10】
図10は、第1の実施の形態における情報記憶装置1000での二次キャッシュ140に対して第3のSSD143が追加され、第1のSSD141から第3のSSD143へデータをコピーし、冗長構成を構築する動作の概要を示すフローチャートである。
【
図11】
図11は、本発明の第2の実施の形態における情報記憶装置1001の構成を示すブロック図である。
【発明を実施するための形態】
【0011】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【0012】
[第1の実施の形態]
図1は、本発明の第1の実施の形態における情報記憶装置1000の構成を示すブロック図である。
図1を参照すると、情報記憶装置1000は、通信部100と制御部110と記憶部120と二次キャッシュ140とデータディスク装置150とバッファメモリ160とスペアディスク装置170と、を備える。また、二次キャッシュ140は、第1のSSD141と第2のSSD142と、を備える。
【0013】
次に、第1の実施の形態における情報記憶装置1000の構成について説明する。
【0014】
通信部100は、図示しない外部の情報処理装置とのデータの送受信を行う。
【0015】
制御部110は、少なくとも、二次キャッシュ140の各々のSSDの書き込み回数を監視し、書き込み回数がしきい値に到達したSSDを検知した場合、当該SSDの代わりにバッファメモリ160とスペアディスク装置170をデータ転送先に設定する。また、二次キャッシュ140に書き込むデータの大きさが二次キャッシュ140の空き領域より大きい場合、制御部110は、データを二次キャッシュ140ではなくデータディスク装置150に書き込む。
【0016】
なお、制御部110は、特定の条件を満足する場合、二次キャッシュ140のデータをデータディスク装置150にコピーし、二次キャッシュ140のデータを消去するが、本実施形態の動作の説明では省略する。特定の条件とは、たとえば図示しない一次キャッシュ部の容量が一定以上の空き領域を持ち、かつデータディスク装置150のビジー率がある一定の以下の場合である。
【0017】
記憶部120は、二次キャッシュ140のSSDの書き込み回数としきい値、データの転送情報をそれぞれ、SSD書き込み回数管理テーブル、SSDしきい値管理テーブル、コピー管理テーブルとして記憶する。
【0018】
図2にSSD書き込み回数管理テーブルの一例を示す。SSD書き込み回数管理テーブルは、SSDを識別するID、どのSSDとどのSSDが冗長構成をなしているかを示す冗長構成番号、各々のSSDの書き込み回数、各々のSSDが後述するしきい値に到達しているかどうかを表す寿命フラグからなる。
【0019】
図3にSSDしきい値管理テーブルの一例を示す。SSDしきい値管理テーブルは、各々のSSDの寿命と判定する書き込み回数を表すしきい値からなる。
【0020】
図4にコピー管理テーブルの一例を示す。コピー管理テーブルは、ディスクの内容をコピーするときの、コピー元のドライブ情報とデータアドレスを示すコピー元情報、コピー先のドライブ情報とデータアドレスを示すコピー先情報、一時的にデータを保存するバッファメモリのドライブ情報とデータアドレスを示すバッファメモリ情報からなる。このコピー元情報とコピー先情報、もしくはコピー元情報とバッファメモリ情報の対応関係は、SSD交換時における冗長構成をなすデータの対応情報となる。
【0021】
二次キャッシュ140は、データディスク装置150およびスペアディスク装置170よりデータの処理速度が高い記憶媒体である。また本発明の第1の実施形態における二次キャッシュ140は複数のSSDにより構成される。また、本実施形態における二次キャッシュ140は、第1のSSD141、第2のSSD142によって構成される。さらに各々のSSDは、図示しない外部装置から通信部100で受信した情報記憶装置1000への書き込みデータであるWriteデータ用の領域と、データディスク装置150からの読み出しデータであるReadデータ用の領域との2つに分割する。すなわち、第1のSSD141は、Writeデータ用の領域1411とReadデータ用の領域1412との2つの領域を持つ。同様に第2のSSD142は、Writeデータ用の領域1421とReadデータ用の領域1422との2つの領域を持つ。Writeデータ用の領域とReadデータ用の領域の割合は適宜管理者によって設定される。
【0022】
データディスク装置150は、情報記憶装置1000の図示しない一次キャッシュや二次キャッシュ140において容量不足のため記憶できないデータを記憶する記憶媒体である。本実施形態におけるデータディスク装置150はHDD(Hard Disk Drive)により構成される。データディスク装置150は単一の記憶媒体による構成であっても、複数の記憶媒体による冗長構成であってもよい。
【0023】
バッファメモリ160は、少なくともデータディスク装置150よりデータの処理速度が高い記録媒体である。
【0024】
スペアディスク装置170は、本来はデータディスク装置150が故障した場合の代替ディスクとして情報記憶装置1000に備えられる記憶媒体である。本発明においては、制御部110によってSSDの代わりに二次キャッシュとしてバッファメモリ160とともにデータが転送される記憶媒体として使用する。本実施形態におけるスペアディスク装置170はHDDにより構成される。スペアディスク装置170は、複数のHDDを有し、SSD交換の都度、特定の条件により選択する、例えば最も空き容量の大きなHDDを使用するよう選択する方法でもよい。
【0025】
CPUは、制御部110に含まれ、制御のためのプログラムは、記憶部120か、他の図示しない不揮発性メモリに記憶され、CPUにより読み出されて実行される。
【0026】
以上のように構成された情報記憶装置1000の動作について、
図5、
図6、
図7、
図8、
図10のフローチャート、
図9のブロック図を参照して説明する。
【0027】
図5、
図6は、第1の実施の形態における情報記憶装置1000での制御部110の二次キャッシュ140へのデータ書き込み制御の動作の概要を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPUによるプログラム制御に基づいて、実行されても良い。なお、第1のSSD141、第2のSSD142のSSD書き込み回数管理テーブルにおける寿命フラグは両方ともに「0」とする。すなわち、どちらのSSDも書き込み回数はしきい値に到達していないこととする。
【0028】
図5に示すように、制御部110が二次キャッシュ140へデータを書き込む場合、まず、制御部110は、書き込むデータがWriteデータであるかを調べる(ステップS101)。書き込むデータがReadデータの場合(ステップS101でNO)、制御部110は、データディスク装置150から読み出したデータを、領域1412と領域1422のうち、空き領域が大きい一方の領域のみに書き込むよう制御する(ステップS102)。書き込むデータがWriteデータの場合(ステップS101でYES)、さらに制御部110は、書き込むデータの大きさがSSD141とSSD142の各々の空き容量より小さいか確認する(ステップS103)。書き込むデータの大きさがSSD141とSSD142の各々の空き容量より大きい場合は(ステップS103でNO)、制御部110は、二次キャッシュ140の各々のSSDではなく、データディスク装置150に書き込み(ステップS104)、
図6に示すように、制御部110は、本動作の処理を終了する。書き込むデータの大きさがSSD141とSSD142の各々の空き容量より小さい場合(ステップS103でYES)、制御部110は、領域1411と領域1421の両方に同じデータを書き込むよう制御する(ステップS105)。
【0029】
次に、制御部110は、記憶部120に記憶されたSSD書き込み回数管理テーブルにおける、書き込みを行ったSSDの書き込み回数を更新する(ステップS106)。
【0030】
図6に示すように、次に、制御部110は、記憶部120に記憶されたSSDしきい値管理テーブルにおけるしきい値と、SSD書き込み回数管理テーブルにおける各々のSSDの書き込み回数を比較し、書き込み回数がしきい値を超過したSSDがあるかどうか調査する(ステップS107)。もしない場合は(ステップS107でNO)、制御部110は、本動作の処理を終了する。もしある場合は(ステップS107でYES、これ以降書き込み回数がしきい値を超過したSSDは第2のSSD142とする)、制御部110は、SSD書き込み回数管理テーブルにおけるSSD142の寿命フラグを「0」から「1」に変更する(ステップS108)。
【0031】
次に、制御部110は、記憶部120に記憶されたコピー管理テーブルのドライブ情報に対して、コピー元情報に寿命フラグが「0」であるSSD141を追加し、コピー先情報にスペアディスク装置170を追加する(ステップS109)。
【0032】
次に、制御部110は、SSD141の領域1411に記憶されたデータを、全てスペアディスク装置170にコピーする(ステップS110)。
【0033】
次に、制御部110は、記憶部120に記憶されたコピー管理テーブルにおけるコピー元情報のデータアドレスへ、コピーされたSSD141のデータアドレスを記載し、コピー先情報のデータアドレスへ、コピーしたスペアディスク装置170のデータアドレスを記載する(ステップS111)
以上で、情報記憶装置1000での制御部110の二次キャッシュ140へのデータ書き込み制御と書き込み回数がしきい値を超過したSSDの処理の動作を終了する。
【0034】
図7、
図8は、第1の実施の形態における情報記憶装置1000での、第2のSSD142のSSD書き込み回数管理テーブルにおける寿命フラグが「1」、つまり第2のSSD142の書き込み回数がしきい値を超過した場合の制御部110の二次キャッシュ140へのデータ書き込み制御の動作の概要を示すフローチャートである。尚、このフローチャートによる処理も、前述したCPUによるプログラム制御に基づいて、実行されても良い。なお、第1のSSD141のSSD書き込み回数管理テーブルにおける寿命フラグは「0」とする。すなわち、第1のSSD141の書き込み回数はしきい値に到達していないこととする。また、前述のステップS107からステップS109の処理はすべて完了しているものとする。
【0035】
図7に示すように、制御部110が二次キャッシュ140へデータを書き込む場合、まず、制御部110は、二次キャッシュ140へ書き込むデータがWriteデータであるかを調べる(ステップS201)。書き込むデータがReadデータの場合(ステップS201でNO)、制御部110は、寿命フラグが「0」である第1のSSD141の領域1412に、データディスク装置150からのデータを書き込むよう制御する(ステップS202)。
【0036】
書き込むデータがWriteデータの場合(ステップS201でYES)、さらに制御部110は、書き込むデータの大きさが寿命フラグが「0」である第1のSSD141の空き容量より小さいか確認する(ステップS203)。書き込むデータの大きさがSSD141の空き容量より大きい場合は(ステップS203でNO)、制御部110は、SSD141ではなく、データディスク装置150にデータを書き込むよう制御する(ステップS204)。書き込むデータの大きさがSSD141の空き容量より小さい場合(ステップS203でYES)、制御部110は、寿命フラグが「0」である第1のSSD141の領域1411とバッファメモリ160に、それぞれ同じデータを書き込むよう制御する(ステップS205)。さらに、制御部110は、記憶部120に記憶されたコピー管理テーブルを参照し、コピー元情報のデータアドレスに、ステップS205で領域1411に書き込むよう制御したデータのアドレスがあるかどうか調べる(ステップS206)。もしある場合(ステップS206でYES)、つまり領域1411に対するデータの書き込みが上書き保存であり、かつ上書き前のデータがすでにスペアディスク装置170にコピーされている場合、制御部110は、対象のデータアドレスと同じ行のバッファメモリ情報にステップS205でデータを書き込んだバッファメモリ160のデータアドレスを記載する(ステップS207)。もしない場合(ステップS206でNO)、つまり領域1411に対するデータの書き込みが新規の場合、制御部110は、コピー元情報のデータアドレスにステップS205で領域1411に書き込んだデータのアドレスを記載し、バッファメモリ情報にはステップS205でデータを書き込んだバッファメモリ160のデータアドレスを記載する(ステップS208)。
【0037】
図8に示すように、次に、制御部110は、バッファメモリ160にデータが保存され、かつ第1のSSD141に書き込み処理が行われていないか確認する(ステップS209)。もしバッファメモリ160にデータが保存されていない、あるいは第1のSSD141に書き込み処理が行われている場合(ステップS209でNO)、制御部110はそのまま本動作の処理を終了する。もしバッファメモリ160にデータが保存され、かつ第1のSSD141に書き込み処理が行われていない場合(ステップS209でYES)、制御部110は、バッファメモリ160に保存されているデータをスペアディスク装置170にコピーする(ステップS210)。さらに、制御部110は、バッファメモリ情報のデータアドレスからステップS207またはステップS208で記載したデータアドレスを検索し、該当するアドレスを削除し、コピー先情報にデータをコピーしたスペアディスク装置170のアドレスを記載する(ステップS211)。すでにコピー先情報にアドレスの記載がある場合でも、制御部110は、コピー先情報をデータをコピーしたスペアディスク装置170のアドレスに更新して構わない。
【0038】
以上で、情報記憶装置1000での、第2のSSD142のSSD書き込み回数管理テーブルにおける寿命フラグが「1」、つまり第2のSSD142の書き込み回数がしきい値を超過した場合の制御部110の二次キャッシュ140へのデータ書き込み制御の動作を終了する。
【0039】
図9は、第1の実施の形態における情報記憶装置1000での、二次キャッシュ140に対して新たなSSDが追加された後の情報記憶装置1000の構成を示すブロック図である。ここで、新たなSSDを第3のSSD143とする。
図10は、第1の実施の形態における情報記憶装置1000での、二次キャッシュ140に対して第3のSSD143が追加され、第1のSSD141から第3のSSD143へデータをコピーし、冗長構成を構築する動作の概要を示すフローチャートである。尚、このフローチャートによる処理も、前述したCPUによるプログラム制御に基づいて、実行されても良い。また、第1のSSD141のSSD書き込み回数管理テーブルにおける寿命フラグは「0」とする。すなわち、第1のSSD141の書き込み回数はしきい値に到達していないこととする。また、この動作は、二次キャッシュ140に第3のSSD143が組み込まれたことを制御部110が自動認識し動作開始する方法でも、作業者により図示しない入力部より手動で動作開始命令を入力される方法でもよい。
【0040】
図10に示すように、まず、制御部110は、第1のSSD141の領域1411と領域1412との割合に合わせて第3のSSD143を2つの領域に分割する(ステップS301)。ここで第3のSSD143のWriteデータ用の領域を領域1431、Readデータ用の領域を領域1432とする。
【0041】
次に、制御部110は、記憶部120に記憶されたSSD書き込み回数管理テーブルを参照し、第3のSSD143の情報を追加し、第1のSSD141と同じ冗長構成番号を設定し、第2のSSD142の冗長構成番号は削除する(ステップS302)。
【0042】
次に、制御部110は、SSD141の領域1411に記憶されたデータを、全て第3のSSD143の領域1431にコピーする(ステップS303)。
【0043】
以上で、情報記憶装置1000での、二次キャッシュ140に対して新たなSSDが追加され、第1のSSD141から新たなSSDへデータをコピーし、冗長構成を構築する動作を終了する。
【0044】
次に、本発明の第1の実施の形態の効果について説明する。
【0045】
上述した本実施形態における情報記憶装置1000は、性能劣化せず常に二次キャッシュを冗長化し記憶できる。
【0046】
その理由は、以下のような構成を含むからである。即ち、第1に制御部110は、二次キャッシュ140のSSDのWriteデータの領域のみ二重化する。これは、Readデータは常にデータディスク装置150が元のデータを記憶するため、二次キャッシュとしては二重化しなくても冗長性は維持できるためである。第2に、制御部110は、SSDの交換時に二次キャッシュ140へWriteデータを書き込む場合、書き込むWriteデータを残ったSSDとデータの処理速度が高い記録媒体であるバッファメモリ160に記録し、その後適宜バッファメモリ160のデータをスペアディスク装置170にコピーする。これにより、SSDの交換時も制御部110は、Writeデータをデータの処理速度が高い記録媒体に二重化して記録できるので、性能劣化せず常に二次キャッシュを冗長化し記憶できるという効果が得られる。
【0047】
[変形例]
次に、本発明の変形例について説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【0048】
第1の実施の形態におけるバッファメモリ160の代わりに、
図1には図示しない情報記憶装置1000の一次キャッシュ部の一部の領域に、残ったSSDとともにWriteデータを記録してもよい。この場合、二次キャッシュ140に対して新たなSSDが追加され、冗長構成の構築が完了した後、バッファメモリ用に確保した一次キャッシュ部の領域を解放すればよい。
【0049】
また、第1の実施の形態におけるスペアディスク装置170を、HDDではなく例えばテープドライブや、情報記憶装置1000と通信する他の図示しない装置のHDDにより構成してもよい。これは、スペアディスク装置170は、二次キャッシュ140の残ったSSDと一時的に冗長構成を組むためのデバイスであり、性能は求められないためである。
【0050】
[第2の実施の形態]
図11は、本発明の第1の実施の形態の基本的構成である第2の実施の形態における情報記憶装置1001の構成を示すブロック図である。
図11を参照すると、情報記憶装置1001は、制御部111と二次キャッシュ140とデータディスク装置150とバッファメモリ160とスペアディスク装置170と、を備える。また、二次キャッシュ140は、第1のSSD141と第2のSSD142と、を備える。
【0051】
制御部111は、第1の実施の形態における記憶部120の機能を内包する。
【0052】
また、第2の実施の形態における情報記憶装置1001は二次キャッシュ140のデータ書き込み機能に特化しており、上位装置との通信を行う第1の実施の形態における通信部や、データを読み出し、また二次キャッシュ140からさらにデータを書き込む第1の実施の形態におけるデータディスク装置は考慮しない
上述した本実施形態の効果は第1の実施の形態における効果と同様である。
【0053】
以上、各実施の形態を参照して本発明を説明したが、本発明は上記実施の形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。