JP6030308B2 - 情報処理装置、制御装置、及び情報処理方法 - Google Patents

情報処理装置、制御装置、及び情報処理方法 Download PDF

Info

Publication number
JP6030308B2
JP6030308B2 JP2012019856A JP2012019856A JP6030308B2 JP 6030308 B2 JP6030308 B2 JP 6030308B2 JP 2012019856 A JP2012019856 A JP 2012019856A JP 2012019856 A JP2012019856 A JP 2012019856A JP 6030308 B2 JP6030308 B2 JP 6030308B2
Authority
JP
Japan
Prior art keywords
data
storage device
write
written
journal
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.)
Active
Application number
JP2012019856A
Other languages
English (en)
Other versions
JP2013161112A (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.)
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 JP2012019856A priority Critical patent/JP6030308B2/ja
Publication of JP2013161112A publication Critical patent/JP2013161112A/ja
Application granted granted Critical
Publication of JP6030308B2 publication Critical patent/JP6030308B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明に係るいくつかの態様は、情報処理装置、制御装置、及び情報処理方法に関する。
現在、記憶装置の高速化、大容量化の要求に応えるべく、RAID(Dedundant Array of Inexpensive Disks)の技術が広く普及しつつある。ここで、RAIDにおけるライト機能(書込機能)の応答性能の向上を目的に、ライトキャッシュの技術が存在する(例えば、特許文献1)。特許文献1には、コントローラ内にデータを一時的に書込むライトキャッシュを設け、ホストからのライト要求に対してライトキャッシュにデータを書込んだ時点でホストに終了報告を返すことにより、書込処理時の性能低下を防ぐことが記載されている。
特開2006−099802号公報
ここで、RAIDを構成する各HDD(Hard Disk Drive)も、通常はキャッシュメモリを備えている。HDD上のキャッシュメモリは通常揮発性メモリが使用されるため、ディスク書込完了前に電源障害等が発生するとデータが揮発してしまう。よって、信頼性を確保すべく、HDDが有するライトキャッシュ機能は無効(Disable)となっていることが多い。
また、特許文献1記載の技術は、ディスクアレイ装置を制御する制御装置自体の処理性能向上については言及されているものの、RAIDを構成する各HDDに対する信頼性向上や速度向上については、何ら考慮されていない。
本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、1以上の記憶装置に対するデータ書込時の性能向上を図ることのできる情報処理装置、制御装置、及び情報処理方法を提供することを目的の1つとする。
本発明に係る情報処理装置は、不揮発性の1以上の第1の記憶装置と、前記第1の記憶装置より高速に書込可能で不揮発性の第2の記憶装置と、前記第1の記憶装置にデータを書込む第1の書込手段と、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを前記第2の記憶装置に記憶させる第2の書込手段と、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段とを備える。
本発明に係る制御装置は、不揮発性の1以上の前記第1の記憶装置にデータを書込む第1の書込手段と、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させる第2の書込手段と、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段とを備える。
本発明に係る情報処理方法は、不揮発性の1以上の前記第1の記憶装置にデータを書込むステップと、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させるステップと、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化するステップとを備える。
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」の機能が1つの物理的手段や装置により実現されても良い。
本発明によれば、1以上の記憶装置に対するデータ書込時の性能向上を図ることのできる情報処理装置、制御装置、及び情報処理方法を提供することができる。
本発明の実施形態におけるサーバの概略構成を示す機能ブロック図である。 図1に示したサーバが有するディスクアレイコントローラのライト機能に係る機能ブロック図である。 図1に示したサーバによるジャーナルデータの管理方法を説明するための図である。 図1に示したサーバによる書込処理の流れを示すフローチャートである。 図1に示したサーバによるデータ復旧処理の流れを示すフローチャートである。
以下に本発明の実施形態を説明する。以下の説明及び参照する図面の記載において、同一又は類似の構成には、それぞれ同一又は類似の符号が付されている。
(実施形態)
図1乃至図5は、本発明の実施形態を説明するための図である。以下、これらの図を参照しながら実施形態を詳細に説明する。
(概要)
図1は、本発明に係る情報処理装置の実施形態であるサーバ10の概略構成を示す機能ブロック図である。図1に係るサーバ10は、ホスト101と、ディスクアレイコントローラ103と、ディスクアレイ105を構成するHDD105a乃至105cと、バッテリバックアップユニット107と、SSD109とを含む。
サーバ10は、オープンアーキテクチャのサーバであり、論理的に1つの記憶装置を構成するディスクアレイ105にデータを格納する装置である。そして、ディスクアレイコントローラ103が、HDD105a乃至105cへのそれぞれの書込データ(Writeデータ)のジャーナル機能をSSD(Solid State Disk)109を用いて実現することで、HDD105a乃至105cへ書込むデータを保障する機能を持つ。これにより、電源障害等に伴うデータロスト(データの揮発/消滅/紛失)のリスクを抑制すると共に、ディスクアレイ105を構成するHDD(Hard Disk Drive)105a乃至105cのライトキャッシュ(Writeキャッシュ)機能を有効(Enable)にすることが可能となり、結果として、サーバ10全体の性能向上を図っている。
ここで、HDD105a乃至105cと、ディスクアレイコントローラ103とは、それぞれキャッシュメモリ105a1乃至105c1と、キャッシュメモリ103aとを有する。本実施形態でSSD109を用いたジャーナル機能を利用する主目的は、HDD105a乃至105cが有するキャッシュメモリ105a1乃至105c1を利用したライトキャッシュ機能を有効(enable)として、高速化及びデータ安全性(信頼性)の向上を図ることにある。
サーバ10は、ディスクアレイコントローラ103を用いて、HDD105a乃至105cを接続すると共に、記録するデータに冗長性を持たせることで、ディスクアレイ105を構築する。そして、前述の通り、ディスクアレイコントローラ103及びHDD105a乃至105cは、キャッシュ制御に用いられるキャッシュメモリ103a及びキャッシュメモリ105a1乃至105c1をそれぞれ搭載している。
万一電源障害が発生した場合にはデータロストの可能性があるため、ディスクアレイコントローラ103が有するキャッシュメモリ103aにはバッテリバックアップユニット107が接続される。これにより、たとえ電源障害が発生しても、バッテリバックアップユニット107から電力を供給してキャッシュメモリ103a上のデータを保持し続けることができ、信頼性を高めることができる。
一方で、ディスクアレイコントローラ103に接続されるHDD105a乃至105cに関しては装置内で閉じた制御が行われていることが多いので、通常はキャッシュメモリ105a1乃至105c1をバッテリバックアップする手段はない。よって、突然の電源障害が発生した場合には、キャッシュメモリ105a1乃至105c1上のWriteデータ紛失(揮発)に繋がるリスクがある。
そこで、電源障害時のリスクを回避してデータ保全を行うための1つの方法として、HDD105a乃至105cのライト(書込み)キャッシュ機能を無効(disable)として運用することが考えられる。
尚ここで、HDD105a乃至105cのリード(Read/読込み)処理時には、たとえ電源障害が発生してキャッシュメモリ105a1乃至105c1上のデータが揮発(紛失)したとしても、当該データはHDD105a乃至105cにも記録されており、再度読み直せば再度データを取得することができる(揮発することは無い)。よって、HDD105a乃至105cのリードキャッシュ機能については、有効(enable)として運用することができる。
この、HDD105a乃至105cのライトキャッシュ機能を無効化(disable)して運用する方法では、書込み(Write)性能に関して、いわゆるキャッシュ制御による性能向上の恩恵を受けることはできない。
HDD105a乃至105cへのアクセスにはヘッドシーク制御や回転するディスク媒体への書込み等の機械的制御を含む。よって、HDD105a乃至105cへのアクセス速度は、サーバ10本体のCPU(Central Processing Unit)等の演算処理速度、メモリアクセス速度、バス速度等と比べて、非常に遅い。もし、HDD105a乃至105cのライトキャッシュ機能を有効(enable)とすることができれば、(ディスク書込みよりも書込速度が速い)キャッシュメモリ105a1乃至105c1上にデータが置かれた(一時記憶された)時点で(すなわち、機械的制御を経てディスク媒体へのデータ書込みを完了する前に)、HDD105a乃至105cはアクセス完了報告をディスクアレイコントローラ103へ返すことができる。よって、HDD105a乃至105cはライトキャッシュ機能を有効とすると、ライトキャッシュ機能を無効(disable)とした場合と比べ、数倍から数十倍の速度向上を見込むことができる。
そこで、本実施形態に係るサーバ10では、HDD105a乃至105cのWriteキャッシュ機能を有効として書込み速度の向上を図ると共に、電源障害等が発生しても、HDD105a乃至105cに対するライトデータ(書込データ)を保障することのできる仕組みを有する。
そのために、サーバ10では、ディスクアレイコントローラ103の配下にSSD109を接続している。ホスト101からディスクアレイ105の論理ディスクに対する通常のライトアクセス(書込み命令)が発生した場合には、当該ライトアクセスの書込みデータをSSD109に対してジャーナルとして記録する。ジャーナルに記録するデータはHDD105a乃至105cの其々のセクタ単位で管理される。
ここで、ジャーナル機能とは、ファイルシステムへの変更をジャーナルと呼ばれるデータベースに記録する機能である。HDD105a乃至105cの其々にデータを書込む際、ディスクアレイコントローラ103は、SSD109上のジャーナルに、HDD105a乃至105cに書込むデータと、HDD105a乃至105c上の書込むべきセクタアドレスの情報とを含むジャーナルデータを記録する。これにより、もし、HDD105a乃至105cへのデータ書込み中に電源障害等によりデータが揮発しても、SSD109上のジャーナルを読込むことで、データを復元すると共に、当該データを書込むべきHDD105a乃至105c上の位置(セクタアドレス)を知ることが可能となる。
尚、ジャーナルを記録する媒体としてSSD109を使用する理由は以下の通りである。SSD109は、例えばディスク媒体へアクセスするような機械的制御が不要であるために、アクセス速度(書込速度)がHDDに比べて数百倍優れている。つまり、SSD109は、サーバ10システム全体の速度性能への影響が極めて小さい不揮発性の記憶媒体である。また、速度面だけを鑑みれば、NVRAM(Non Volatile RAM)等の他の不揮発性メモリを使用することも考えられるが、NVRAM等では、HDD105a乃至105cへのアクセスのジャーナルを記録するのに十分な容量を確保することは難しい。そこで、速度面と容量面の両方を鑑みると、ジャーナルを記憶する媒体としてSSD109を使うのが好適である。
ディスクアレイコントローラ103は、ディスクアレイ105を構成しているHDD105a乃至105cに対して、随時キャッシュフラッシュを指示(命令)する。キャッシュフラッシュにより、HDD105a乃至105c上のキャッシュメモリ105a1乃至105c1上にあるライトデータ(書込データ)が確実にディスク媒体に書込まれてデータを保証できるため、その時点までにSSD109に記録していたジャーナルデータは無効(消去(クリア)等も含む)とすることができる。
つまり、ジャーナルデータの容量がジャーナル書込領域109aの領域の限界を超えそうになった場合には、ディスクアレイコントローラ103からディスクアレイ105を構成している各HDD105a乃至105cに対してキャッシュフラッシュ指示を行えば、ジャーナルデータを無効化(クリア)できるので、ジャーナル書込領域109aを先頭から使用することができる。
このように実装することで、ジャーナルするデータ領域(後述するジャーナル書込領域109a)を、限られたサイズに抑えることが可能となる。
電源障害等が発生した場合には、ディスクアレイコントローラ103は、SSD109に記録したジャーナルから、HDD105a乃至105cへの書込みの復旧処理を行う。SSD109にジャーナルされているデータは、HDD105a乃至105cのディスク媒体への書込みが完全に行われたかどうかが保証できないため、SSD109にジャーナルされることによりセクタ単位で管理されたデータを、HDD105a乃至105cへ書込む。これにより、HDD105a乃至105cのライト(書込み)キャッシュ機能が有効(enable)であっても、ライトアクセス(書込み)のデータを保障することができる。
(システム構成)
前述の通り、本実施形態に係るサーバ10は、ホスト101と、ディスクアレイコントローラ103と、ディスクアレイ105を構成するHDD105a乃至105cと、バッテリバックアップユニット107と、SSD109とを含む。
ホスト101は、IO(Input/Output)制御上、ディスクアレイコントローラ103の上位層に位置する、OSドライバ等のモジュールである。ディスクアレイコントローラ103に対して、データ書込(Write)命令やデータ読込(Read)命令等を発行する。
ディスクアレイコントローラ103は、HDD105a乃至105cを、1つの論理ディスクであるディスクアレイ105としてホスト101に見せるための制御装置である。本実施形態では、ディスクアレイコントローラ103は、HDD105a乃至105cにRAID(Redundant Arrays of Inexpensive Disks)を構成してディスクアレイ105とする。ディスクアレイコントローラ103の構成の詳細については、図2を参照しながら後述する。
尚、本実施形態では、HDD105a、105b、及び105cの3つのディスクドライブを用いてディスクアレイ105を構成する場合を例に説明を行っているが、これに限られるものではなく、何台のディスクドライブを用いてディスクアレイ105を構成しても良い。
HDD105a、105b、及び105cは、ディスクアレイ105を構成するディスクドライブである。それぞれ、キャッシュメモリ105a1、105b1、及び105c1を有しており、これらを用いて、ライトキャッシュ機能やリードキャッシュ機能を提供する。ライトキャッシュ機能が有効(enable)となっている場合には、HDD105a乃至105cは、キャッシュメモリ105a1乃至105c1上にデータが記録された時点で(内蔵するディスク媒体への書込みが完了する前に)、書込み完了の報告をディスクアレイコントローラ103へ返す。
バッテリバックアップユニット107は、ディスクアレイコントローラ103が内蔵するキャッシュメモリ103aにバックアップ電力を供給する電源ユニットである。もし外部電源が遮断される等の障害が発生したとしても、バッテリバックアップユニット107がキャッシュメモリ103aに電力を供給するため、キャッシュメモリ103a上のデータの揮発は防ぐことができる。
SSD109は、HDD105a乃至105cにそれぞれ書込むデータに関するジャーナルを記憶する。前述の通り、SSD109に書込まれるジャーナルには、HDD105a乃至105cにそれぞれ書込むデータと、書込むべきセクタの情報とが含まれる。
(ディスクアレイコントローラ103のライト処理に係る機能構成)
続いて、ディスクアレイコントローラ103のディスクアレイ105へのライト処理に係る機能構成を、図2を参照しながら説明する。図2は、ディスクアレイコントローラ103のライト処理に係る機能ブロック図である。
ライト制御部201は、IO制御的にディスクアレイコントローラ103の上位層に位置するOSドライバ等のモジュールであるホスト101からの書込命令(ライトコマンド)を受取り、HDDライト処理部203に指示する。
HDDライト処理部203は、ライト制御部201から書込指示(書込命令)を受け、ディスクアレイ105を構成しているHDD105a乃至105cのうち、どのHDDのどのセクタアドレスにどのようなデータを書くのかを決定した上で、当該決定内容に応じてHDD105a乃至105cにデータを書込む。
また、HDDライト処理部203は、HDD105a乃至105cに対して書込み指示した情報を、ジャーナル書込部205に渡す機能も有する。
更に、HDDライト処理部203は、ジャーナル読込部213から、HDD105a乃至105c上のセクタアドレスと書込データと共に、HDD105a乃至105cへの書込み指示を受取る機能も有する。
ジャーナル書込部205は、HDDライト処理部203がHDD105a乃至105cに対して書込むデータに対応して、書込みセクタアドレス及び当該セクタに書込むデータを、ジャーナルとしてSSD109に書込む。
ジャーナルポインタ制御は、07は、SSD109上のジャーナル書込領域109aに対し、どこまでのジャーナルデータが有効であるかを示すジャーナルポインタ301(後述)を管理する。つまり、ジャーナルポインタ制御は、07は、ジャーナル書込部205が新たにジャーナルデータを書込むべき場所を管理する。
フラッシュ制御部211は、定期的に、又はSSD109上のジャーナル書込領域109aが枯渇して新たに書込める領域が無くなった場合に、HDD105a乃至105cに対してキャッシュフラッシュコマンドを発行する。尚、HDD105a乃至105cはキャッシュフラッシュコマンドを受け取ると、キャッシュメモリ105a1乃至105c1上のライトデータ(書込データ)を全てディスク媒体に書込むと共に、キャッシュメモリ105a1乃至105c1上のデータをクリアする。
ジャーナル読込部213は、SSD109上のジャーナル書込領域109a内のジャーナルポインタ制御が207が示す有効なジャーナルデータから、ライトされたセクタアドレス、及びライトデータを取出し、ライト制御部201に渡す。
(ジャーナルの管理方法)
続いて、図3を参照しながら、SSD109上のジャーナルの管理方法を説明する。図3は、SSD109上に確保されるジャーナル書込領域109aの管理方法を説明するための図である。
ジャーナル書込領域109aは、SSD109上に確保される領域であり、HDD105a乃至105cにそれぞれ書込まれるライトデータ(書込データ)等の情報がジャーナルとして書込まれる。
ジャーナルポインタ301は、次に新たにジャーナルデータを書込むべき位置(場所)を示すポインタである。ジャーナルポインタ301は、ディスクアレイコントローラ103が動作を開始した際に行われる初期化処理により、ジャーナル書込領域109aの先頭を示すように初期設定される。その後、1件のジャーナルデータがジャーナル書込部205により書込まれると、ジャーナルポインタ制御部207は当該ジャーナルデータのサイズ分だけジャーナルポインタ301を進める。次にジャーナル書込部205がジャーナルデータを書込む場合には、ジャーナルポインタ301が現在指しているアドレスからジャーナルデータを書込み、書込み後は、ジャーナルポインタ制御部207が、再度ジャーナルデータのサイズ分だけジャーナルポインタ301を進める。
このようにジャーナルデータを書込む度にそのサイズ分だけジャーナルポインタ301を進めることで、ジャーナルポインタ301は、常に次にジャーナルデータを書込むべき位置を指すことになる。つまり、ジャーナル書込領域109aの先頭からジャーナルポインタ301の示す位置までの間にあるデータが、有効なジャーナルデータとなる。
フラッシュ制御部211により、HDD105a乃至105cに対するキャッシュフラッシュコマンドが発行されて、キャッシュメモリ105a1乃至105c1上にあるキャッシュデータが全てディスク媒体に書込まれると、それまでにライト制御部201からのライトアクセスが発生した書込みデータは全てHDD105a乃至105cが備える不揮発性のディスク媒体上に記録されたことが保証できる。よって、当該キャッシュフラッシュコマンドが発行されるまでに記録していたジャーナルデータは全て不要になるので、キャッシュフラッシュコマンドに対する処理が完了すると、ジャーナルポインタ制御部207は、ジャーナル書込領域109aの先頭をジャーナルポインタ301が示すように初期化する。これにより、ジャーナル書込領域109a上に書込まれたジャーナルデータが全て無効化される。
尚、以上説明したジャーナル書込領域109aは、ディスクアレイコントローラ103に接続されているディスクドライブにそれぞれ対応した数(本実施形態ではHDD105a乃至105cに対応する3つ)用意される。
つまり、ジャーナル書込部205は、HDD105a乃至105cのそれぞれに対して、ジャーナルを管理する。
(データ書込時の処理の流れ)
図4を参照しながら、本実施形態に係るディスクアレイコントローラ103のデータ書込時の処理の流れを説明する。図4は、書込みに係るディスクアレイコントローラ103の処理の流れを示すフローチャートである。
OSドライバ等の上位ソフトウェアモジュールであるホスト101からディスクアレイコントローラ103に対する書込コマンド(命令)が発生すると、ライト制御部201が当該書込コマンドを受信する(S401)。ライト制御部201は、当該書込コマンドをHDDライト処理部203に渡す。
HDDライト処理部203は、入力された書込コマンドを解析し、HDD105a乃至105cのどのセクタアドレスに対してアクセスすればよいのか、書込むデータのサイズはどのくらいか、ディスクアレイ105を構成するHDD105a乃至105cに対してどのようにデータを分割するのか、等の判断や、必要に応じたパリティデータの生成等を行う。この結果、HDDライト処理部203は、HDD105a乃至105cのうちどのディスクドライブのどのセクタにどのようなデータを書込むのかを決定し、実際にディスクドライブに対してデータを書込む(書込命令(指示)を発行する)(S403)。
次に、HDDライト処理部203は、S403で行った書込命令(指示)と同様の情報、すなわち、HDD105a乃至105cのデータ書込先となるセクタアドレスと、書込まれるべきデータとをジャーナル書込部205に渡すと共にジャーナルの書込みを指示する。ジャーナル書込部205は、ジャーナル書込指示を受けて、最新のジャーナルデータを書込むべき場所を示すジャーナルポインタ301が示すジャーナル書込領域109a上の位置に、HDD105a乃至105c上に書込まれるデータと書込まれるべきセクタアドレスの情報とを、ジャーナルデータとして記録する(S405)。
そして、ジャーナルポインタ制御部207は、次のジャーナルデータの書込みに備え、ジャーナルポインタ301を1件のジャーナルデータのサイズ分だけ進める(更新する)(S407)。
ジャーナルポインタ制御部207は、更新後のジャーナルポインタ301が示す位置が、ジャーナル書込領域109aの全体サイズ(ジャーナル書込領域109aの終端位置)を超えていないかを検証する(S409)。もしジャーナルポインタ301が示す位置がジャーナル書込領域内であれば(S409のNo)、ディスクアレイコントローラ103はジャーナルデータの書込処理を終える。
一方、ジャーナルポインタ301が示す位置が、ジャーナル書込領域109aの終端(最後)と同じ、若しくは当該領域を超えていた(領域外であった)場合には(S409のYes)、次にHDD1105a乃至105cへのWriteアクセスが発生してジャーナルすべきデータが派生すると、これ以上ジャーナルデータを書込むことができなくなってしまう。
よって、ジャーナルポインタ制御部207は、フラッシュ制御部211により、HDD105a乃至105cへのキャッシュフラッシュコマンドの発行を行うことで、HDD105a乃至105cに、キャッシュメモリ105a1乃至105c1上にあるライトデータをHDD105a乃至105cのディスク媒体に書込ませる(S411)。
ここで、S409の判断(検証/判別)において、更新後のジャーナルポインタ301が示す位置がジャーナル書込領域109aの書込領域を超えていない場合であっても、もし次にジャーナルデータを1件書込むとジャーナル書込領域109aを超えてしまう場合には、S409はYes(ジャーナル書込領域109aを超える)として判断される。
HDD105a乃至105cによるキャッシュフラッシュ処理が完了すれば、それまでにライト(書込み)アクセスがあったデータに関しては、全てHDD105a乃至105cのディスク媒体に書込まれたとみなすことができる。従って、当該キャッシュフラッシュ処理が完了すると、ジャーナルポインタ制御部207は、ジャーナルポインタ301を、ジャーナル書込領域109aの先頭を指すように初期化する(S413)。これにより、ジャーナル書込領域109a上のジャーナルデータは全て無効化され、次にHDD105a乃至105cへのライトアクセスが発生してSSD109にジャーナルすべきデータが発生した場合には、再度ジャーナル書込領域109aの先頭から書込むことができるようになる。
また、S411及びS413の処理については、本フローチャートのようにジャーナル書込領域109aが枯渇した時点で行うだけでなく、枯渇前であっても、定期的に実行して、ジャーナルポインタ301を初期化しても良い。
このようにディスクアレイコントローラ103は、HDD105a乃至105cへのライトアクセスが発生した場合にはS601乃至S605の処理を行い、必要に応じてS606及びS607を実行することで、HDD105a乃至105cのどのセクタアドレスにどういったデータが書かれたのかというジャーナルをSSD109上に残すことができる。SSD109は不揮発性の記憶媒体であるので、たとえ電源障害等が発生しても、ジャーナルが揮発することはない。
(データ復旧時の処理の流れ)
図5を参照しながら、本実施形態に係るディスクアレイコントローラ103のデータ復旧時の処理の流れを説明する。図5は、データ復旧に係るディスクアレイコントローラ103の処理の流れを示すフローチャートである。
突然の電源障害等が発生した場合には、HDD105a乃至105cのキャッシュメモリ105a1乃至105c1への電力供給が途切れることとなり、当該メモリ上に一時記憶されたデータは揮発(ロスト/消滅)することとなる。このデータは、HDD105a乃至105c単独では保障することはできない。
HDD105a乃至105cのライト(Write)キャッシュ機能を有効(enable)にしてサーバ10のシステムを運用していた場合には、ディスクアレイコントローラ103からのライトコマンド(書込命令)をHDD105a乃至105cが受信して、当該ライトコマンドの書込データをキャッシュメモリ105a1乃至105c1に格納した段階で、HDD105a乃至105cはディスクアレイコントローラ103に対してWrite処理の完了応答を返す。この時点では、実際には当該ライトコマンドに対する書込データは、HDD105a乃至105c内のディスク媒体への書込みが完了していない。ディスクアレイコントローラ103は、HDD105a乃至105c上にある書込データが、何時の時点でディスク媒体へ書込まれたのか、若しくは書込まれていないのかを判断する手段を持たない。
そこで、ディスクアレイコントローラ103は、SSD109にジャーナルしたデータを用いて書込データを復旧させる。
まずディスクアレイコントローラ103は、電源遮断から復帰すると、書込データの復旧を行うためにジャーナル読込部213を呼び出す(S501)。
ジャーナル読込部213は、ジャーナル書込領域109aに記録されているジャーナルデータを1件ずつ読み出すために、ジャーナルデータの読出し位置をジャーナル書込領域109aの先頭に置く(S503)。
そして、ジャーナル読込部213は、ジャーナルデータの読出し位置から1件分のジャーナルデータ(HDD105a乃至105cのセクタアドレスの情報及び書込データ)を読出し、HDDライト処理部203に渡す(S505)。
HDDライト処理部203は、受け取ったジャーナルデータに基づき、HDD105a乃至105c上のセクタアドレスの位置に、書込データを書込む(S507)。そして、ジャーナル読込部213は、ジャーナルデータの読出し位置をジャーナルデータ1件分進める(S509)。
その後、更新したジャーナルデータ読出し位置と、ジャーナルポインタ301が示す位置とを比較する(S511)。この比較の結果、両者が一致していれば(又は読出しポインタの位置がジャーナルポインタ301の示す位置を越えていれば)(S511のYes)、これ以上有効なジャーナルデータは存在しないと判断することができるため、ディスクアレイコントローラ103は処理を終了する。S511での比較の結果、ジャーナルデータの読出し位置がジャーナルポインタ301が示す位置より前にあるのであれば(S511のNo)、ディスクアレイコントローラ103は再度S505に戻り、次のジャーナルデータの処理を行う。
ディスクアレイコントローラ103は、S505からS509の処理を繰返して、全ての有効なジャーナルデータを読込み、当該データをHDD105a乃至105cへ書込むことで、電源障害が発生した瞬間にHDD105a乃至105cのキャッシュメモリ105a1乃至105c1に記録されていたWriteデータを、全てHDD105a乃至105cのディスク媒体上に書込むことができる。
(本実施形態の効果)
本実施形態に係るサーバ10では、ディスクアレイコントローラ103に接続されているHDD105a乃至105cのライトキャッシュ機能を有効(enable)にして運用しても、HDD105a乃至105cのキャッシュメモリ105a1乃至105c1上に記録された書込データは、ジャーナルデータとしてSSD109上にも記録される。これにより、突然の電源障害によりキャッシュメモリ105a1乃至105c1上の書込データが保障できない状態になったとしても、SSD109上のジャーナルデータから書込データを復旧できる。つまり、HDD105a乃至105cのWriteキャッシュ機能を有効(enable)にした場合でも、安全にシステムを運用することが可能となる。
そして、HDD105a乃至105cのライトキャッシュ機能を有効(enable)にして運用すれば、ディスクアレイコントローラ103からのライトコマンドに対して、その書込データがディスクアレイコントローラ103から送られてHDD105a乃至105cのキャッシュメモリ105a1乃至105c1上に記憶された時点で、HDD105a乃至105cは書込み完了の旨の応答をディスクアレイコントローラ103に返すことができる。つまり、HDD105a乃至105cのディスクアクセスに伴うヘッドのシーク/位置決めや、ディスクの回転待ちといった機械的動作を行わずにライトコマンドへの応答を返すことができるので、当該機械的動作を伴う場合(ライトキャッシュ機能を無効とする場合)と比べて、数倍乃至数十倍の書込み速度の向上を図ることが可能となる。
(付記事項)
なお、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
尚、前述の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
不揮発性の1以上の第1の記憶装置と、前記第1の記憶装置より高速に書込可能で不揮発性の第2の記憶装置と、前記第1の記憶装置にデータを書込む第1の書込手段と、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを前記第2の記憶装置に記憶させる第2の書込手段と、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段とを備える情報処理装置。
(付記2)
前記第2の記憶装置からデータとセクタ情報とを読込む読込手段を更に備え、前記第1の書込手段は、電源障害からの復帰時に、前記読込手段により前記第2の記憶装置から読込まれたデータを、セクタ情報に応じた前記第1の記憶装置上の位置に書込む、付記1記載の情報処理装置。
(付記3)
前記第2の記憶装置が記憶する、有効なデータとセクタ情報の領域を示すための位置情報を制御する手段を更に備え、前記読込手段は、前記位置情報に基づき、読込むデータとセクタ情報とを判別する、付記2記載の情報処理装置。
(付記4)
1以上の前記第1の記憶装置に対して、書込んだデータを前記第1の記憶装置上で不揮発とするためのコマンドを発行する手段を更に備える、付記1乃至付記3のいずれか1項記載の情報処理装置。
(付記5)
前記第2の記憶装置はSSD(Solid State Drive)である、付記1乃至付記4のいずれか1項記載の情報処理装置。
(付記6)
前記第1の記憶装置がそれぞれ有するキャッシュ機能が有効である、付記1乃至付記5のいずれか1項記載の情報処理装置。
(付記7)
不揮発性の1以上の前記第1の記憶装置にデータを書込む第1の書込手段と、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させる第2の書込手段と、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段とを備える、制御装置。
(付記8)
不揮発性の1以上の前記第1の記憶装置にデータを書込むステップと、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させるステップと、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化するステップとを備える、情報処理方法。
10・・・サーバ、101・・・ホスト、103・・・ディスクアレイコントローラ、105・・・ディスクアレイ、105a、105b、105c・・・HDD、109・・・SSD、203・・・HDDライト制処理部、205・・・ジャーナル書込部、213・・・ジャーナル読込部

Claims (7)

  1. 書込みデータをキャッシュメモリに一時記憶するライトキャッシュ機能が有効な不揮発性の1以上の第1の記憶装置と、
    前記第1の記憶装置より高速に書込可能で不揮発性の第2の記憶装置と、
    前記第1の記憶装置にデータを書込む第1の書込手段と、
    1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを前記第2の記憶装置に記憶させる第2の書込手段と、
    前記キャッシュメモリに一時記憶されたデータを不揮発とするためのキャッシュフラッシュコマンドの発行に応じて、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段と
    を備え、
    前記無効化手段は、定期的に前記キャッシュフラッシュコマンドを発行することにより前記第2の記憶手段が記憶する全てのデータを無効化する、
    情報処理装置。
  2. 前記第2の記憶装置からデータとセクタ情報とを読込む読込手段
    を更に備え、
    前記第1の書込手段は、電源障害からの復帰時に、前記読込手段により前記第2の記憶装置から読込まれたデータを、セクタ情報に応じた前記第1の記憶装置上の位置に書込む、
    請求項1記載の情報処理装置。
  3. 前記第2の記憶装置が記憶する、有効なデータとセクタ情報の領域を示すための位置情報を制御する手段
    を更に備え、
    前記読込手段は、前記位置情報に基づき、読込むデータとセクタ情報とを判別する、
    請求項2記載の情報処理装置。
  4. 前記第2の記憶装置はSSD(Solid State Drive)である、
    請求項1乃至請求項3のいずれか1項記載の情報処理装置。
  5. 前記第1の記憶装置がそれぞれ有するキャッシュ機能が有効である、
    請求項1乃至請求項4のいずれか1項記載の情報処理装置。
  6. 書込みデータをキャッシュメモリに一時記憶するライトキャッシュ機能が有効な不揮発性の1以上の第1の記憶装置にデータを書込む第1の書込手段と、
    1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の第2の記憶装置に記憶させる第2の書込手段と、
    前記キャッシュメモリに一時記憶されたデータを不揮発とするためのキャッシュフラッシュコマンドの発行に応じて、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段と
    を備え、
    前記無効化手段は、定期的に前記キャッシュフラッシュコマンドを発行することにより前記第2の記憶手段が記憶する全てのデータを無効化する、
    制御装置。
  7. 書込みデータをキャッシュメモリに一時記憶するライトキャッシュ機能が有効な不揮発性の1以上の第1の記憶装置にデータを書込むステップと、
    1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の第2の記憶装置に記憶させるステップと、
    前記キャッシュメモリに一時記憶されたデータを不揮発とするためのキャッシュフラッシュコマンドの発行に応じて、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化するステップと、
    定期的に前記キャッシュフラッシュコマンドを発行することにより前記第2の記憶手段が記憶する全てのデータを無効化するステップと、
    を備える、情報処理方法。
JP2012019856A 2012-02-01 2012-02-01 情報処理装置、制御装置、及び情報処理方法 Active JP6030308B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012019856A JP6030308B2 (ja) 2012-02-01 2012-02-01 情報処理装置、制御装置、及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012019856A JP6030308B2 (ja) 2012-02-01 2012-02-01 情報処理装置、制御装置、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2013161112A JP2013161112A (ja) 2013-08-19
JP6030308B2 true JP6030308B2 (ja) 2016-11-24

Family

ID=49173343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012019856A Active JP6030308B2 (ja) 2012-02-01 2012-02-01 情報処理装置、制御装置、及び情報処理方法

Country Status (1)

Country Link
JP (1) JP6030308B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6476344A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Disk cache control system
JPH05303528A (ja) * 1992-04-27 1993-11-16 Oki Electric Ind Co Ltd ライトバック式ディスクキャッシュ装置
JPH10161938A (ja) * 1996-11-29 1998-06-19 Toshiba Corp ディスク制御装置
JP2005173707A (ja) * 2003-12-08 2005-06-30 Ricoh Co Ltd キャッシュメモリ制御方法
JP2006277042A (ja) * 2005-03-28 2006-10-12 Toshiba Corp アレイコントローラ、ディスクアレイ制御方法及びプログラム
JP4675881B2 (ja) * 2006-12-27 2011-04-27 株式会社東芝 磁気ディスク装置およびその制御方法
JP5200410B2 (ja) * 2007-04-19 2013-06-05 富士通株式会社 ストレージ装置

Also Published As

Publication number Publication date
JP2013161112A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
US10223272B2 (en) Latency sensitive metadata object persistence operation for storage device
US9104334B2 (en) Performance improvements in input/output operations between a host system and an adapter-coupled cache
US10776153B2 (en) Information processing device and system capable of preventing loss of user data
US7310711B2 (en) Hard disk drive with support for atomic transactions
US7441081B2 (en) Write-back caching for disk drives
EP2359252B1 (en) Storage system snapshot assisted by ssd technology
JP2001166993A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
KR20150035560A (ko) 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭
JP2005301419A (ja) ディスクアレイ装置およびそのデータ処理方法
CN111984365B (zh) 一种虚拟机虚拟磁盘双活实现方法及系统
JP2001184266A (ja) 情報記録装置およびその制御方法
US8335901B2 (en) Information processing apparatus and data restoration method
JP5977430B2 (ja) ストレージシステム、ストレージシステムの制御方法及びストレージコントローラ
JP2005107838A (ja) ディスクアレイコントローラ及びログ情報記録方法
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP6030308B2 (ja) 情報処理装置、制御装置、及び情報処理方法
US7986480B2 (en) Micro-journaling of data on a storage device
JP4989861B2 (ja) データ書き込み方法及びディスク装置
US7725666B2 (en) Micro-journaling of data on a storage device
JP6876288B2 (ja) ストレージ管理装置、ストレージシステム、ストレージ管理方法およびプログラム
JP4724253B2 (ja) データ記憶システムおよびキャッシュデータの一貫性保証方法
JP2014164792A (ja) データストレージデバイス及び方法
JPH0514353Y2 (ja)
JP2008250939A (ja) ディスクアレイコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160202

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160307

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161020

R150 Certificate of patent or registration of utility model

Ref document number: 6030308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150