説明

揮発性記憶媒体及び不揮発性記憶媒体を含む記憶ドライブを備えたストレージ装置、記憶ドライブ、及び記憶ドライブの電源遮断時データ移動動作を検証する方法

【課題】電源遮断時データ移動動作を予め検証できるようにする。
【解決手段】実施形態によれば、ストレージ装置は、揮発性記憶媒体、不揮発性記憶媒体、補助電源、電源遮断時データ移動部及び検証部を含む。揮発性記憶媒体は、ライト要求で指定されたライトデータを一時格納する。不揮発性記憶媒体は、揮発性記憶媒体に格納されているデータを主電源の遮断に応じて不揮発性記憶媒体に移動する。検証部は、揮発性記憶媒体にデータを書き込み、前記データの書き込み完了後に主電源を遮断させ、所定時間後に主電源を再投入させ、その後に不揮発性記憶媒体から前記データを読み出し、当該読み出されたデータに基づいて、電源遮断時データ移動部の動作を検証する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、揮発性記憶媒体及び不揮発性記憶媒体を含む記憶ドライブを備えたストレージ装置、記憶ドライブ、及び記憶ドライブの電源遮断時データ移動動作を検証する方法に関する。
【背景技術】
【0002】
記憶ドライブとしてソリッドステートドライブ(SSD)が知られている。SSDは、不揮発性記憶媒体としてフラッシュメモリのような不揮発性メモリを用いている。一般に、不揮発性メモリに対するデータの書き込みでは、データのサイズや書き込み回数の制限を受ける。このような制限を考慮して、SSDでは、不揮発性メモリに書き込まれるべきデータが、一時的に揮発性メモリ(揮発性記憶媒体)に格納される。
【0003】
しかし、揮発性メモリに格納されているデータは、SSDの電源(主電源)が停電などに起因して突然遮断した場合に消失してしまう。そこで、SSDに、バッテリ、或いはキャパシタのような補助電源を備え、主電源の遮断時に当該補助電源に切り替えることにより、揮発性メモリに格納されているデータを不揮発性メモリに移動(保存)する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−191786号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、補助電源は、経年劣化等の要因で、電源容量が減少したり故障したりするおそれがある。つまり、補助電源は、出荷時の検査では正常に動作することが確認されても、使用されている間に徐々に劣化が進むおそれがある。補助電源が劣化すると、停電等の要因で記憶ドライブの主電源が遮断された場合、揮発性メモリから不揮発性メモリにデータを退避するのに十分な電源容量を確保できなくなる。このような状態では、揮発性メモリから不揮発性メモリにデータを移動する動作(電源遮断時データ移動動作)を正常に行うことができず、データを消失してしまう。
【0006】
本発明が解決しようとする課題は、電源遮断時データ移動動作を予め検証できる、揮発性記憶媒体及び不揮発性記憶媒体を含む記憶ドライブを備えたストレージ装置、記憶ドライブ、及び記憶ドライブの電源遮断時データ移動動作を検証する方法を提供することにある。
【課題を解決するための手段】
【0007】
実施形態によれば、ストレージ装置は、電源制御手段と、揮発性記憶媒体と、不揮発性記憶媒体と、補助電源と、電源遮断時データ移動部と、検証部とを具備する。前記電源制御手段は、主電源を制御する。前記揮発性記憶媒体は、ライト要求で指定されたライトデータを一時格納する。前記不揮発性記憶媒体は、前記揮発性記憶媒体に格納されているデータを保存する。前記補助電源は、前記主電源の遮断に応じて電力を供給する。前記電源遮断時データ移動部は、前記揮発性記憶媒体に格納されているデータを前記主電源の遮断に応じて前記不揮発性記憶媒体に移動する。前記検証部は、前記揮発性記憶媒体にデータを書き込み、前記データの書き込み完了後に前記電源制御手段により前記主電源を遮断させ、所定時間後に前記電源制御手段により前記主電源を再投入させ、その後に前記不揮発性記憶媒体から前記データを読み出し、当該読み出されたデータに基づいて、前記電源遮断時データ移動部の動作を検証する。
【図面の簡単な説明】
【0008】
【図1】第1の実施形態に係るストレージ装置を備えたストレージシステムの構成を示すブロック図。
【図2】第1の実施形態において、記憶ドライブの主電源が遮断された場合に実行される電源遮断時データ移動動作を検証する処理を説明するためのシーケンスチャート。
【図3】第2の実施形態において、記憶ドライブの主電源が遮断された場合に実行される電源遮断時データ移動動作を検証する処理を説明するためのシーケンスチャート。
【発明を実施するための形態】
【0009】
以下、実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は第1の実施形態に係るストレージ装置を備えたストレージシステムの構成を示すブロック図である。
【0010】
図1に示すストレージシステムは、ストレージ装置10と、当該ストレージ装置10を利用するホスト(ホスト装置)20とから構成される。ストレージ装置10及びホスト20は、例えばSCSI(Small Computer System Interface)規格に準拠したインタフェースによって接続されているものとする。しかし、ストレージ装置10及びホスト20の接続がSCSIによる接続である必要はない。
【0011】
ストレージ装置10は、例えば2つの記憶ドライブ11-0及び11-1と、ストレージコントローラ12と、電源制御部13とから構成される。記憶ドライブ11-0及び11-1がRAID(Redundant Arrays of Inexpensive Disks)を構成していても構わない。なお、ストレージ装置10が備える記憶ドライブの数は2である必要はない。つまり、ストレージ装置10が、1つの記憶ドライブ、或いは2を超える記憶ドライブを備えていても構わない。
【0012】
第1の実施形態において、記憶ドライブ11-0及び11-1はSSDである。記憶ドライブ11-0は、揮発性メモリ111と、不揮発性メモリ112と、ドライブコントローラ113と、補助電源115とから構成される。記憶ドライブ11-1も記憶ドライブ11-0と同様の構成を有しているものとする。但し、図1では、記憶ドライブ11-1の構成は省略されている。
【0013】
揮発性メモリ111は、DRAMのような揮発性記憶媒体である。揮発性メモリ111は、ストレージコントローラ12からのライト要求で指定されたライトデータ、つまり不揮発性メモリ112に書き込まれるべきデータを、ドライブコントローラ113の制御の下で一時格納するのに用いられる。第1の実施形態において、ライトデータを揮発性メモリ111に一時格納する理由は、背景技術の欄にも記載されているように、不揮発性メモリ112に対するデータの書き込みが、データのサイズや書き込み回数の制限を受けることを考慮しているためである。しかし、ライトデータを揮発性メモリ111に一時格納する理由が他の理由であっても構わない。
【0014】
不揮発性メモリ112は、フラッシュメモリのような不揮発性記憶媒体である。不揮発性メモリ112は、揮発性メモリ111に一時格納されているデータを保存するのに用いられる。
【0015】
第1の実施形態では、通常は、ブロックと呼ばれる一定サイズのデータを単位に、不揮発性メモリ112に一時格納されているデータが、不揮発性メモリ112に移動される。つまり通常は、一部のみがライトデータで更新されたブロックは、揮発性メモリ111から不揮発性メモリ112への移動の対象とならない。一方、記憶ドライブ11-0の主電源が遮断された場合には、揮発性メモリ111に格納されているデータが消失しないように、当該データが不揮発性メモリ112に移動(保存)される。ここでは、上述の通常時及び電源遮断時のデータの移動が、いずれもコピーによって行われるものとする。
【0016】
ドライブコントローラ113は、ストレージコントローラ12との間で例えばSCSI規格に準拠した通信を行う。ドライブコントローラ113は、ストレージコントローラ12からのリード要求(リードコマンド)に応じて、記憶ドライブ11-0からのデータの読み出し(より詳細には、揮発性メモリ111または不揮発性メモリ112からのデータの読み出し)を行う。ドライブコントローラ113は、読み出されたデータをストレージコントローラ12に転送する。ドライブコントローラ113はまた、ストレージコントローラ12からのライト要求(ライトコマンド)に応じて、記憶ドライブ11-0へのデータの書き込み(より詳細には、揮発性メモリ111へのデータの書き込み)を行う。
【0017】
ドライブコントローラ113は、電源遮断時データ移動部113a及び通常時データ移動部113bを備えている。
電源遮断時データ移動部113aは、記憶ドライブ11-0の主電源が遮断された場合、揮発性メモリ111に一時格納されているデータを不揮発性メモリ112に移動(退避)するための電源遮断時データ移動動作を実行する。つまりドライブコントローラ113は、周知の電源遮断時データ移動機能を有している。
【0018】
通常時データ移動部113bは、記憶ドライブ11-0の主電源が投入されている通常状態において、揮発性メモリ111に一時格納されているデータを不揮発性メモリ112に自律的に移動するための通常時データ移動動作を実行する。つまりドライブコントローラ113は、周知の通常時データ移動機能を有している。
補助電源115は、バッテリ、或いはキャパシタであり、停電等により記憶ドライブ11-0の主電源が遮断された場合に、当該記憶ドライブ11-0内の揮発性メモリ111、不揮発性メモリ112及びドライブコントローラ113のような構成要素群に電力を供給する。補助電源115がキャパシタの場合、当該キャパシタは、記憶ドライブ11-0の主電源によって充電される。また、電源制御部13の制御によって記憶ドライブ11-0の主電源が強制的に遮断された場合にも、当該主電源から補助電源115に切り替えられる
ストレージコントローラ12は、例えばホスト20からのアクセス要求(リード要求またはライト要求)に応じて、記憶ドライブ11-0または11-1へのアクセスを制御する。ストレージコントローラ12は検証部120を備えている。検証部120は、記憶ドライブ11-0または11-1の通常状態(つまり、主電源が正常に機能している状態)において、当該主電源が停電等の要因で遮断された場合を模擬することにより、前述の電源遮断時データ移動動作を検証する。
【0019】
電源制御部13は、記憶ドライブ11-0及び11-1の主電源を個別に投入(オン)/遮断(オフ)する。第1の実施形態において電源制御部13は、検証部120が記憶ドライブ11-0または11-1の電源遮断時データ移動動作を検証する場合に、当該検証部120からの指示に従い、記憶ドライブ11-0または11-1の主電源の遮断/投入(再投入)を制御する。
【0020】
次に、第1の実施形態の動作について、記憶ドライブ(SSD)11-0の主電源が遮断された場合に実行される電源遮断時データ移動動作を検証する処理を例に、図2のシーケンスチャートを参照して説明する。
【0021】
記憶ドライブ11-0の補助電源115は、発明が解決しようとする課題の欄に記載されているように、使用されている間に徐々に劣化が進むおそれがある。補助電源115の劣化が進むと、停電等の要因で記憶ドライブ11-0の主電源が遮断された場合、揮発性メモリ111から不揮発性メモリ112にデータを移動するのに十分な電源容量を確保できなくなる。また、補助電源115の劣化が進むと、やがて当該補助電源115が故障するおそれもある。もし、補助電源115の電源容量が減少したり、或いは当該補助電源115が故障している状態で記憶ドライブ11-0の主電源が遮断された場合、揮発性メモリ111から不揮発性メモリ112にデータを移動する電源遮断時データ移動動作を正常に行うことができずに、データが消失してしまう。
【0022】
そこで、第1の実施形態では、通常状態において、ストレージコントローラ12の検証部120が、当該主電源の停電等の要因による遮断を模擬し、記憶ドライブ11-0において補助電源115からの電力の供給を受けて実行される電源遮断時データ移動動作を事前に検証するようにしている。
【0023】
ストレージコントローラ12の検証部120は、例えばストレージ装置10の立ち上げ時に起動される。検証部120はまず、記憶ドライブ11-0に主電源が投入されている状態で、記憶ドライブ11-0にデータを書き込むためのライト要求を、当該記憶ドライブ11-0に送出する(ステップ201)。なお、検証部120は、必ずしもストレージ装置10の立ち上げ時に起動される必要はない。例えば、ストレージ装置10が一定時間稼動される毎に、検証部120が起動されても構わない。また、検証部120が起動される稼動時間間隔が、ストレージ装置10の総稼動時間に応じて徐々に短くなるように予め定められていても構わない。また、例えばホスト20を介してのユーザからの指定に応じて、任意のタイミングで検証部120が起動されても構わない。
【0024】
上記ライト要求で指定されるライトデータにはテストデータが用いられる。このテストデータは、後述するように、記憶ドライブ11-0に書き込まれた後に主電源が遮断され、しかる後に当該主電源が再投入されて読み出された際に、データ化けの有無を判別するのに用いられる。上記ライト要求は、当該ライト要求で指定されるライトデータが書き込まれるべき記憶ドライブ11-0のアドレスAtと当該ライトデータのデータ長(サイズ)Ltを示す情報とを含む。第1の実施形態において、データ長Ltは、説明の簡略化のために、不揮発性メモリ112の消去単位である1ブロックの長さ(ブロック長)であるとするが、これに限らない。例えばデータ長Ltが、記憶管理の最小単位であるセクタ長であっても構わない。
【0025】
記憶ドライブ11-0のドライブコントローラ113は、ストレージコントローラ12の検証部120からのライト要求に応じて、指定のライトデータ(ここでは、1ブロック長のテストデータ)を、揮発性メモリ111に書き込む(ステップ202)。このように、ストレージコントローラ12の検証部120からのライト要求に応じて、テストデータが揮発性メモリ111に格納される。
【0026】
揮発性メモリ111は一種のキャッシュメモリとして管理され、テストデータは、当該揮発性メモリ111内の空きのキャッシュブロックに格納される。周知のようにドライブコントローラ113は、ライトデータが格納されているキャッシュブロックを、当該ライトデータが本来書き込まれるべき記憶ドライブ11-0(より詳細には、記憶ドライブ11-0内の不揮発性メモリ112)のアドレスと対応付けて管理する。ドライブコントローラ113は、上記テストデータが格納されたキャッシュブロックについても同様に管理する。
【0027】
ドライブコントローラ113は、要求されたライトデータの揮発性メモリ111への書き込みを完了すると、ストレージコントローラ12に対してライト完了通知を返す(ステップ203)。
【0028】
ストレージコントローラ12の検証部120は、ドライブコントローラ113からのライト完了通知に応じて、電源制御部13に対して記憶ドライブ11-0の主電源の遮断を要求する(ステップ204)。すると電源制御部13は、記憶ドライブ11-0の主電源を遮断する(ステップ205)。つまり検証部120は、記憶ドライブ11-0の主電源を電源制御部13によって強制的に遮断させることにより、当該主電源の停電等の要因による遮断を模擬する。
【0029】
記憶ドライブ11-0は、主電源の遮断を検出すると、補助電源115からの電力供給に切り替える(ステップ206)。このときドライブコントローラ113の電源遮断時データ移動部113aが起動される。
【0030】
すると電源遮断時データ移動部113aは、揮発性メモリ111に格納されているライトデータ(より詳細には、揮発性メモリ111に書き込まれたライトデータのうち、不揮発性メモリ112に未書き込みのライトデータ)を、不揮発性メモリ112の本来書き込まれるべき領域に移動(退避)する周知の電源遮断時データ移動動作を実行する(ステップ207)。もし、電源遮断時データ移動動作が正常に行われたならば、上記テストデータは、ストレージコントローラ12の検証部120からステップ201で送出されたライト要求の指定するアドレスAtの領域、つまり不揮発性メモリ112の本来書き込まれるべきアドレスAtから始まる1ブロックの領域に移動される。
【0031】
これに対し、例えば補助電源115が劣化しているならば、電源遮断時データ移動動作は正常に行われないおそれがある。また、補助電源115が故障しているならば、電源遮断時データ移動動作は正常に行われない。同様に、主電源から補助電源115に切り替えられなかった場合にも、電源遮断時データ移動動作は正常に行われない。
【0032】
検証部120は、電源制御部13に対して記憶ドライブ11-0の主電源の遮断を要求した時点から所定時間待機する(ステップ208)。この所定時間は、記憶ドライブ11-0における電源遮断時データ移動動作が正常に行われる場合に、当該電源遮断時データ移動動作が完了するのに十分な時間に予め設定されている。
【0033】
検証部120は所定時間を待機すると、電源制御部13に対して記憶ドライブ11-0の主電源の投入を要求する(ステップ209)。すると電源制御部13は、記憶ドライブ11-0の主電源を再投入する(ステップ210)。
【0034】
この状態で検証部120は、ステップ201で送出したライト要求に応じて記憶ドライブ11-0に書き込まれているべきライトデータ(つまり1ブロック長のテストデータ)をアドレスAtの領域から読み出すためのリード要求を、当該記憶ドライブ11-0に送出する(ステップ211)。
【0035】
すると記憶ドライブ11-0のドライブコントローラ113は、検証部120からのリード要求に応じて、指定されたアドレスAtの領域からのデータ(つまり記憶ドライブ11-0の主電源が遮断される直前に当該記憶ドライブ11-0に書かれたライトデータ)の読み出しを行う(ステップ212)。もし、先の電源遮断時データ移動動作が正常に行われたならば、たとえ当該電源遮断時データ移動動作の完了後に揮発性メモリ111のデータが全て消失していたとしても、記憶ドライブ11-0の主電源が遮断される直前に当該記憶ドライブ11-0に書かれたライトデータが、不揮発性メモリ112のアドレスAtの領域から読み出されることになる。
【0036】
ドライブコントローラ113は、リード要求に応じて読み出されたリードデータをストレージコントローラ12に返す(ステップ213)。ストレージコントローラ12の検証部120は、ドライブコントローラ113から返されたリードデータに基づき、記憶ドライブ11-0の主電源を強制的に遮断した際に当該記憶ドライブ11-0において電源遮断時データ移動動作が正常に行われているかを確認する(ステップ214)。つまり検証部120は、ドライブコントローラ113から返されたリードデータを、ステップ201で記憶ドライブ11-0に送出したライト要求によりライトデータとして指定したテストデータと比較することにより、当該ライトデータが電源遮断時データ移動動作によって不揮発性メモリ112に正常に移動(保存)されているかを確認する。
【0037】
もし、上記両データの一致が検出されたならば、検証部120は、記憶ドライブ11-0の主電源を強制的に遮断した際に電源遮断時データ移動動作が正常に行われて、揮発性メモリ111から不揮発性メモリ112にライトデータが正しく移動されたとことを確認する。これに対し、上記両データの不一致が検出されたならば、検証部120は、上述の電源遮断時データ移動動作が正常に行われず、揮発性メモリ111から不揮発性メモリ112にライトデータが正しく移動されなかったことを確認する。ストレージコントローラ12は、この電源遮断時データ移動動作の検証結果を例えばホスト20を介してユーザに通知する。ストレージコントローラ12の検証部120は、以上のような電源遮断時データ移動動作の検証を、記憶ドライブ11-1に対しても行う。
【0038】
第1の実施形態によれば、記憶ドライブ11-0及び11-1側に特別な機能を持たせることなく、当該記憶ドライブ11-0及び11-1の主電源の遮断時に実行される電源遮断時データ移動動作を事前に検証する機能を持ったストレージ装置10を実現できる。また、この機能をストレージ装置10が持つことにより、当該ストレージ装置10の立ち上げ時など任意の時期に、記憶ドライブ11-0及び11-1の電源遮断時データ移動動作を検証することができる。このため第1の実施形態によれば、経年劣化による補助電源の故障等に起因する電源遮断時データ移動動作の異常を、記憶ドライブ11-0及び11-1の主電源が停電等のために実際に遮断してデータが消失する前に検出することができる。
【0039】
[第2の実施形態]
次に、第2の実施形態について説明する。第2の実施形態に係るストレージ装置を備えたストレージシステムの構成は、第1の実施形態と同様である。したがって、第2の実施形態の説明に図1を援用する。
【0040】
第2の実施形態は、次の2つの点で第1の実施形態と相違する。第1は、ストレージコントローラ12の検証部120が記憶ドライブ11-0の電源遮断時データ移動動作を検証するに際し、その旨を前記ステップ201に先行して当該記憶ドライブ11-0に明示的に通知する点である。第2は、検証部120からの電源遮断時データ移動動作の検証の通知に応じて、記憶ドライブ11-0がデータ移動禁止モードに設定される点である。
【0041】
以下、第2の実施形態の動作について、記憶ドライブ11-0の主電源が遮断された場合に実行される電源遮断時データ移動動作を検証する処理を例に、図3のシーケンスチャートを参照して説明する。なお、図3のシーケンスチャートにおいて、図2のシーケンスチャートと等価なステップには同一参照番号を付してある。具体的には、第2の実施形態においても、第1の実施形態と同様に、ステップ201乃至214が実行される。第2の実施形態が第1の実施形態と相違する動作は、以下に述べるように、ステップ201に先行して実行される。
【0042】
ストレージコントローラ12の検証部120は、第1の実施形態で適用されたような、記憶ドライブ11-0の電源遮断時データ移動動作を検証しようとする際には、まず当該記憶ドライブ11-0に対し、電源遮断時データ移動動作を検証することを明示的に通知する(ステップ301)。この通知は、例えば記憶ドライブ11-0内の入出力レジスタに割り当てられている所定のアドレスに所定のデータを書き込むこと、つまり所定の入出力レジスタに所定のデータを書き込むことによって実現される。しかし、電源遮断時データ移動動作の検証が行われることを、記憶ドライブ11-0のドライブコントローラ113が認識できる通知の手法であれば、他の手法であっても構わない。
【0043】
記憶ドライブ11-0のドライブコントローラ113は、電源遮断時データ移動動作の検証の通知を検出すると、当該記憶ドライブ11-0を当該記憶ドライブ11-0の主電源が遮断されるまでデータ移動禁止モードに設定する(ステップ302)。このデータ移動禁止モードの期間、ドライブコントローラ113は、揮発性メモリ111に格納されているライトデータを通常時データ移動部113bが不揮発性メモリ112に移動するのを抑止する。つまりドライブコントローラ113はデータ移動禁止手段として機能して、通常時データ移動部113bによる通常時データ移動動作を抑止する。なお、制御の簡略化のために、データ移動禁止モードの期間、電源遮断時データ移動部113aの電源遮断時データ移動動作も抑止される構成であっても構わない。
【0044】
次に検証部120は、第1の実施形態と同様に、電源遮断時データ移動動作の検証に必要なライト要求、つまり記憶ドライブ11-0にデータ(テストデータ)を書き込むためのライト要求を、当該記憶ドライブ11-0に送出する(ステップ201)。記憶ドライブ11-0のドライブコントローラ113は、ストレージコントローラ12の検証部120からのライト要求に応じて、第1の実施形態と同様に、指定のライトデータ(テストデータ)を揮発性メモリ111に書き込む(ステップ202)。
【0045】
ドライブコントローラ113は、要求されたライトデータの揮発性メモリ111への書き込みを完了すると、ストレージコントローラ12に対してライト完了通知を返す(ステップ203)。
【0046】
ストレージコントローラ12の検証部120は、ドライブコントローラ113からのライト完了通知に応じて、電源制御部13に対して記憶ドライブ11-0の主電源の遮断を要求する(ステップ204)。すると電源制御部13は、記憶ドライブ11-0の主電源を遮断する(ステップ205)。
【0047】
記憶ドライブ11-0は、主電源の遮断を検出すると、補助電源115からの電力供給に切り替える(ステップ206)。このときドライブコントローラ113は、データ移動禁止モードを解除する。同時に電源遮断時データ移動部113aが起動される。すると電源遮断時データ移動部113aは、第1の実施形態と同様に、揮発性メモリ111に格納されているライトデータを、不揮発性メモリ112の本来書き込まれるべき領域に移動する(ステップ207)。以後、第1の実施形態と同様に、ステップ208乃至214が実行される。
【0048】
第2の実施形態によれば、記憶ドライブ11-0での電源遮断時データ移動動作の検証に必要なライト要求(ステップ201)に先行して、記憶ドライブ11-0がデータ移動禁止モードに設定される(ステップ302)。このデータ移動禁止モードは、電源遮断時データ移動動作の検証のために記憶ドライブ11-0の主電源が遮断されるまで設定される。このため、上記ライト要求時から記憶ドライブ11-0の主電源が遮断されるまでの間、ドライブコントローラ113の通常時データ移動部113bが動作するのが抑止される。よって、上記ライト要求に応じて揮発性メモリ111に書き込まれたライトデータ(テストデータ)が、記憶ドライブ11-0の主電源が遮断される前に不揮発性メモリ112に移動されること(いわゆるデステージング)が抑止される。以上は、記憶ドライブ11-1における電源遮断時データ移動動作を検証する場合にも同様に行われる。
【0049】
一方、第1の実施形態では、上記ライト要求時から記憶ドライブ11-0の主電源が遮断されるまでの間に通常時データ移動部113bが動作する可能性がある。通常時データ移動部113bが動作する場合、ライト要求に応じて揮発性メモリ111に書き込まれたライトデータ(テストデータ)が、上記主電源の遮断前に不揮発性メモリ112に移動される可能性がある。もし、主電源の遮断前にテストデータが不揮発性メモリ112に移動されたならば、電源遮断時データ移動部113aによる電源遮断時データ移動動作が正常に行われなくてもテストデータが消失することはない。この場合、検証部120は、電源遮断時データ移動動作が正常に行われていると確認してしまう。
【0050】
つまり第1の実施形態では、ライト要求の実行後から主電源の遮断までの間に、当該ライト要求の実行により揮発性メモリ111に書き込まれたライトデータが不揮発性メモリ112に移動されているかを確認できない。このため第1の実施形態では、ライト要求の実行後から主電源の遮断までの間にライトデータが移動されていない場合には電源遮断時データ移動動作を正しく検証できるものの、移動されている場合には電源遮断時データ移動動作を正しく検証することは難しい。
【0051】
これに対して第2の実施形態では、ライト要求の実行後から主電源の遮断までの間に、当該ライト要求の実行により揮発性メモリ111に書き込まれたライトデータが不揮発性メモリ112に移動されるのが抑止される。つまり、ライト要求の実行後から主電源の遮断までの間、揮発性メモリ111から不揮発性メモリ112にデータが移動されないことが保証され、テストデータが不揮発性メモリ112に移動されることなく揮発性メモリ111内に保持される。このため、第2の実施形態では、常に電源遮断時データ移動動作を正しく検証できる。
【0052】
第1及び第2の実施形態では、補助電源115が正常な場合、検証部120からの主電源投入要求(ステップ209)に応じて電源制御部13が記憶ドライブ11-0の主電源を再投入する(ステップ210)時点まで、補助電源115から記憶ドライブ11-0に対して電力が十分に供給されている可能性がある。この場合、電源遮断時データ移動部113a自体の要因で電源遮断時データ移動動作が正常に行われなくても、揮発性メモリ111のデータは消失しないため、電源遮断時データ移動動作は正常であると見なされることになる。そこで、補助電源115の故障等に起因する電源遮断時データ移動動作の異常に加えて、電源遮断時データ移動部113a自体の要因による電源遮断時データ移動動作の異常も検出することが必要ならば、前述の所定時間として、補助電源115から供給される電力が減少して揮発性メモリ111のデータが消失するのに十分な時間を設定すればよい。
【0053】
なお、上記第1及び第2の実施形態では、記憶ドライブ11-0及び11-1がSSDである場合を想定している。しかし、記憶ドライブ11-0及び11-1がハードディスクドライブ(HDD)であっても構わない。つまり、例えば記憶ドライブ11-0の不揮発性メモリ112に代えて、不揮発性記憶媒体としてHDDの磁気ディスクが用いられても構わない。この場合、揮発性メモリ111はHDDのキャッシュメモリとして、周知のライトバックモードで用いられるものとする。
【0054】
また、上記第1及び第2の実施形態では、検証部120がストレージコントローラ12に備えられている。しかし、記憶ドライブ11-0のドライブコントローラ113に、検証部120と同様の検証部が備えられていても構わない。つまり、記憶ドライブ11-0のドライブコントローラ113に備えられた検証部が、ストレージコントローラ12から独立に電源遮断時データ移動部を検証してもよい。この場合、検証部は、揮発性メモリ111にテストデータを書き込み、テストデータの書き込み完了後に主電源を遮断させて、電源遮断時データ移動部113aによる電源遮断時データ移動動作を行わせるとよい。また検証部は、主電源の遮断から所定時間後に当該主電源を再投入させ、しかる後に不揮発性メモリ112からテストデータを読み出し、当該読み出されたテストデータに基づいて、電源遮断時データ移動動作を検証すればよい。
【0055】
以上説明した少なくとも1つの実施形態によれば、電源遮断時データ移動動作を予め検証できる、揮発性記憶媒体及び不揮発性記憶媒体を含む記憶ドライブを備えたストレージ装置、記憶ドライブ、及び記憶ドライブの電源遮断時データ移動動作を検証する方法を提供することができる。
【0056】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0057】
10…ストレージ装置、11-0,11-1…記憶ドライブ、12…ストレージコントローラ、13…電源制御部、20…ホスト、111…揮発性メモリ(揮発性記憶媒体)、112…不揮発性メモリ(不揮発性記憶媒体)、113…ドライブコントローラ、113a…電源遮断時データ移動部、113b…通常時データ移動部、115…補助電源、120…検証部。

【特許請求の範囲】
【請求項1】
主電源を制御する電源制御手段と、
ライト要求で指定されたライトデータを一時格納する揮発性記憶媒体と、
前記揮発性記憶媒体に格納されているデータを保存する不揮発性記憶媒体と、
前記主電源の遮断に応じて電力を供給する補助電源と、
前記揮発性記憶媒体に格納されているデータを前記主電源の遮断に応じて前記不揮発性記憶媒体に移動するための電源遮断時データ移動部と、
前記揮発性記憶媒体にデータを書き込み、前記データの書き込み完了後に前記電源制御手段により前記主電源を遮断させ、所定時間後に前記電源制御手段により前記主電源を再投入させ、その後に前記不揮発性記憶媒体から前記データを読み出し、当該読み出されたデータに基づいて、前記電源遮断時データ移動部の動作を検証する検証部とを具備する
ストレージ装置。
【請求項2】
前記主電源が投入されている状態において、前記揮発性記憶媒体に格納されているデータを前記不揮発性記憶媒体に移動する通常時データ移動部を設け、
前記検証部は、前記データの書き込みの前に、前記電源遮断時データ移動動作を検証することを前記通常時データ移動部に通知し、
前記通常時データ移動部は、前記電源遮断時データ移動動作の検証の通知に応じ、前記主電源が遮断されるまで、前記通常時データ移動動作を抑止する
請求項1記載のストレージ装置。
【請求項3】
前記検証部は、前記ストレージ装置の立ち上げ時に起動される請求項1または2のいずれか一項に記載のストレージ装置。
【請求項4】
記憶ドライブにおいて、
ライト要求で指定されたライトデータを一時格納する揮発性記憶媒体と、
前記揮発性記憶媒体に格納されているデータを保存する不揮発性記憶媒体と、
前記記憶ドライブの主電源の遮断に応じて前記記憶ドライブに電力を供給する補助電源と、
前記揮発性記憶媒体に格納されているデータを前記主電源の遮断に応じて前記不揮発性記憶媒体に移動するための電源遮断時データ移動動作を実行するドライブコントローラとを具備し、
前記ドライブコントローラは、前記電源遮断時データ移動動作を検証する検証部を具備し、
前記検証部は、前記揮発性記憶媒体にデータを書き込み、前記データの書き込み完了後に前記主電源を遮断させ、所定時間後に前記主電源を再投入させ、その後に前記不揮発性記憶媒体から前記データを読み出し、当該読み出されたデータに基づいて、前記電源遮断時データ移動動作を検証する
記憶ドライブ。
【請求項5】
記憶ドライブと、前記記憶ドライブの主電源を制御する電源制御手段と、前記記憶ドライブへのアクセスを制御するストレージコントローラとを具備し、前記記憶ドライブが、前記ストレージコントローラからのライト要求で指定されたライトデータを一時格納する揮発性記憶媒体と、前記揮発性記憶媒体に格納されているデータを保存する不揮発性記憶媒体と、前記主電源の遮断に応じて前記記憶ドライブに電力を供給する補助電源と、前記揮発性記憶媒体に格納されているデータを前記主電源の遮断に応じて前記不揮発性記憶媒体に移動するための電源遮断時データ移動動作を実行するドライブコントローラとを具備するストレージ装置において、電源遮断時データ移動動作を検証する方法であって、
前記前記ストレージコントローラの検証手段が前記記憶ドライブにテストデータの書き込みを要求し、
前記テストデータの書き込み完了後に、前記検証手段が前記電源制御手段により前記主電源を遮断させ、
所定時間後に、前記検証手段が前記電源制御手段により前記主電源を再投入させ、
その後に、前記検証手段が前記記憶ドライブから前記テストデータを読み出し、
前記読み出されたテストデータに基づいて、前記検証手段が前記記憶ドライブにおける前記電源遮断時データ移動動作を検証する
電源遮断時データ移動動作を検証する方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−25400(P2013−25400A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−157087(P2011−157087)
【出願日】平成23年7月15日(2011.7.15)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】