JPWO2008090620A1 - 記憶装置、記録復旧方法、記録復旧プログラム - Google Patents

記憶装置、記録復旧方法、記録復旧プログラム Download PDF

Info

Publication number
JPWO2008090620A1
JPWO2008090620A1 JP2008554943A JP2008554943A JPWO2008090620A1 JP WO2008090620 A1 JPWO2008090620 A1 JP WO2008090620A1 JP 2008554943 A JP2008554943 A JP 2008554943A JP 2008554943 A JP2008554943 A JP 2008554943A JP WO2008090620 A1 JPWO2008090620 A1 JP WO2008090620A1
Authority
JP
Japan
Prior art keywords
storage device
data
recording
raid
hard disk
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.)
Granted
Application number
JP2008554943A
Other languages
English (en)
Other versions
JP4947062B2 (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
Publication of JPWO2008090620A1 publication Critical patent/JPWO2008090620A1/ja
Application granted granted Critical
Publication of JP4947062B2 publication Critical patent/JP4947062B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(課題) 本発明は、複数のディスクから構成される記憶装置において、複数のディスクに障害が発生した場合であっても、起動に伴うデータの書込みを禁止し、障害の発生したディスクに記録されたデータを確実に取得することを目的とする。(解決手段) 本実施例に係る記憶装置は、複数の記録媒体を有し、障害を検出した記録媒体を休止する記憶装置において、休止した記録媒体が複数であるか否かを判別する判別手段と、複数の記録媒体の休止を判別した該記憶装置を再起動する起動手段と、該記憶装置の起動に伴う初期データを格納する格納手段と、休止した記録媒体のいずれか一つを稼動する稼動手段と、該稼動した記録媒体に該初期データの書込みを禁止し、稼動する記憶装置の稼動順序を特定する特定手段と、該判別手段において、稼動順序が正しいと判別した記録媒体に対して、該格納手段に格納した該初期データを記録する書込み手段とからなることを特徴とする。【選択図】 図1

Description

冗長構成の記憶装置において、記録されたデータの復旧を行う記憶装置に関する。
複数のディスクから構成されるRAID装置などの冗長化された記憶装置は、ディスクに障害が発生すると、障害の発生したディスクを切り離す。ここでディスクの障害としては例えば、サーマル・オフトラックやコンタミネーション、ノイズ、接触不良などがある。
記憶装置は、障害の発生したディスクを切り離し、正常なディスクのみを用いてデータの記録更新を行う。さらに他のディスクに障害が発生すると記憶装置は、新たに障害の発生したディスクを切り離す。複数のディスクに障害が発生し、冗長が無くなった状態から更にディスクを切り離した状態を以下、マルチデッド状態と呼ぶ。ここで、障害発生して切り離されたディスクは、ハードリセットや電源の再投入を行と一時的に正常なディスクとして動作することができる。これはディスクの切り離し要因として、一時的なノイズや、サーマル・オフトラックやディスク内媒体上の微小ゴミ(コンタミネーション)などの場合が多く、電源切断後の投入や、ハードリセットなどによって回復することが多い。このため、マルチデッド状態から冗長化を失った直前の状態に記憶装置を復旧するために、一度切り離されたディスクに対してハードリセットや電源の再投入を行う。そして、切り離されたディスクを稼動して冗長化を失った直前の状態にする。しかし、記憶装置を再起動する場合、複数のディスクに対して冗長化を失った直前の状態を確実に判断できない場合、ディスクへの誤書込みが発生し、システムが起動しなくなったり、誤動作する可能性があった。つまり、一度切り離された複数のディスクを復旧するために、再接続すべきディスクの順番を特定できない場合、冗長化を失った直前の状態を確実に判断できないといった問題がある。
またディスク装置の復旧可能なディスクアレイ制御装置に関して以下の特許文献がある。
特開平10−289065号公報
(発明が解決しようとする課題)
複数のディスクから構成される記憶装置において、複数のディスクに障害が発生し、冗長化を失った直前の状態を確実に判断できない場合でも、ディスクへの誤書込みをせず、冗長化を失った直前の状態まで該記憶装置を復旧し、正常に起動することを目的とする。
(課題を解決するための手段)
本発明の一観点によれば、本発明の記憶装置は、複数の記録媒体を有し、障害を検出した記録媒体を休止する記憶装置において、休止した記録媒体が複数であるか否かを判別する判別手段と、複数の記録媒体の休止を判別した該記憶装置を再起動する起動手段と、該記憶装置の起動に伴う初期データを格納する格納手段と、休止した記録媒体のいずれか一つを稼動する稼動手段と、該稼動した記録媒体に該初期データの書込みを禁止し、稼動する記憶装置の稼動順序を特定する特定手段と、該特定手段において、稼動順序が正しいと判別した記録媒体に対して、該格納手段に格納した該初期データを記録する書込み手段とからなることを特徴とする。
また本発明の他の観点によれば、本発明の記憶装置は、該特定手段が稼動した記録媒体に記録される履歴情報を参照して該稼動順序を特定することを特徴とする。
また本発明の他の観点によれば、本発明の記憶装置は、該特定手段が該記憶装置の動作設定を参照して該稼動順序を特定することを特徴とする。
また本発明の他の観点によれば、本発明の記憶装置は、該特定手段が該記憶装置が有するオペレーションシステムの動作状態を参照して該稼動順序を特定することを特徴とする。
また本発明の他の観点によれば、本発明の記憶装置は、該複数の記録媒体に同一のデータを格納することを特徴とする。
また本発明の他の観点によれば、本発明の記憶装置は、該複数の記録媒体にデータを分散して記録し、さらに分散した分散データの排他的論理和を格納することを特徴とする。
また本発明の他の観点によれば、本発明の記録復旧方法は、複数の記録媒体を有し、障害を検出した記録媒体を休止する記憶装置が記録するデータを復旧する記録復旧方法において、休止した記録媒体が複数であるか否かを判別する判別手順と、複数の記録媒体の休止を判別した該記憶装置を再起動する起動手段と、該記憶装置の起動に伴う初期データを格納する格納手順と、休止した記録媒体のいずれか一つを稼動する稼動手順と、該稼動した記録媒体に該初期データの書込みを禁止し、稼動する記憶装置の稼動順序を特定する特定手順と、稼動順序が正しいと判別した記録媒体に対して、該格納手段に格納した該初期データを記録する書込み手順とからなることを特徴とする。
また本発明の他の観点によれば、本発明の記録復旧プログラムは、複数の記録媒体を有し、障害を検出した記録媒体を休止する記憶装置が記録するデータを復旧する記録復旧プログラムにおいて、休止した記録媒体が複数であるか否かを判別する判別ステップと、複数の記録媒体の休止を判別した該記憶装置を再起動する起動ステップと、該記憶装置の起動に伴う初期データを格納する格納ステップと、休止した記録媒体のいずれか一つを稼動する稼動ステップと、該稼動した記録媒体に該初期データの書込みを禁止し、稼動する記憶装置の稼動順序を特定する特定ステップと、稼動順序が正しいと判別した記録媒体に対して、該格納手段に格納した該初期データを記録する書込みステップとをコンピュータに実行させることを特徴とする。
(発明の効果)
本実施例によれば、複数のディスクから構成される記憶装置において、再起動時の書き込みデータをバッファに保存して、障害の発生したハードディスクへの書込みを禁止することによって、複数のディスクに障害が発生した場合であっても、障害の発生したハードディスクの順序を特定し、該記憶装置を正常に起動することができる。
本実施例に係るRAID装置100のハードブロック図である。 本実施例に係る記録処理のフローチャートである。 本実施例に係る記録復旧のフローチャートである。 本実施例に係るシステム領域114、117に格納されるデータ401、402である。 本実施例に係るシステム領域114、117に格納されるデータ501、502である。 本実施例に係るRAID管理領域116、119に格納されるデータ601、602である。 本実施例に係るRAID管理領域116、119に格納されるデータ701、702である。 本実施例に係るRAID管理領域116、119に格納されるデータ801、802である。 本実施例に係るRAID装置900のハードブロック図である。 本実施例に係る記録処理のフローチャートである。 本実施例に係る記録復旧のフローチャートである。 本実施例に係るシステム領域915、918に格納されるストライプデータ1201、1202である。 本実施例に係るシステム領域921に格納されるパリティデータ1301である。 本実施例に係るRAID管理領域917、920に格納される管理データ1401、1402、1407である。 本実施例に係るRAID管理領域917、920に格納される管理データ1601、1602、1607である。 本実施例に係るRAID管理領域917、920に格納される管理データ1701、1702、1707である。 本実施例に係るメモリ107に格納される設定テーブル1801である。 本実施例に係るメモリ107に格納される設定テーブル1901である。 本実施例に係るメモリ907に格納される設定テーブル2001である。
符号の説明
100…RAID装置
101…CPUモジュール
102…ディスプレイコントローラ
103…ディスプレイ
104…LANコントローラ
105…RAIDコントローラ
106…プロセッサ
107…メモリ
108…バスコントローラ
109…データキャッシュ
110…データバッファ
111…HDDコントローラ
112…ハードディスク
113…ハードディスク
114…システム領域
115…データ領域
116…RAID管理領域
117…システム領域
118…データ領域
119…RAID領域
401…データ
402…データ
403…設定テーブル
404…設定テーブル
601…データ
602…データ
603…管理情報
604…管理情報
(実施例1)
本実施例は記憶装置100がミラーリング構成の場合を説明する。ミラーリング構成とは、2以上の記録媒体が共に同一のデータを記録する構成である。
[システム構成]
図1は本実施例に係る記憶装置100のハードブロック図である。記憶装置100は例えば、RAID(Redundant Arrays of Inexpensive Disks)装置などの記憶装置である。本実施例では、以下記憶装置100をRAID装置100と呼ぶ。
<RAID装置100>
RAID装置100は、CPU(Central Processing Unit)モジュール101、ディスプレイコントローラ(Display Controller)102、ディスプレイ103、LANコントローラ(LAN Controller)104、RAIDコントローラ(RAID Controller)105、ハードディスク(HDD)112、113から構成される。CPUモジュール101は、RAID装置100を統括的に制御し、ディスプレイコントローラ102、LANコントローラ104、RAIDコントローラ105を統括的に制御する。またCPUモジュール101はメモリなどの記録媒体を含む構成であり、RAID装置100のOSをメモリ上に展開してOSを起動するものである。ディスプレイコントローラ102は、ディスプレイ103における表示制御を行う。LANコントローラ104はRAID装置100が接続するネットワークの通信制御を行う。RAID装置100は、LANコントローラ104を介してRAID装置100の外部のネットワークにより、所望のデータを取得する。
<RAIDコントローラ105>
RAIDコントローラ105は、プロセッサ106、メモリ107、バスコントローラ108、データキャッシュ109、データバッファ110、HDDコントローラ111から構成されている。プロセッサ106は、HDDコントローラ111経由でハードディスク112またはハードディスク113にデータを書き込む/読み出す制御を行う。プロセッサ106はメモリ107に格納されているプログラムを実行する。バスコントローラ108は、RAIDコントローラ105とCPUモジュール101でのデータのやりとりを制御する。さらにプロセッサ106はHDDコントローラ111経由でハードディスク112、113との接続制御を行う。RAIDコントローラ105とハードディスク112、113を接続することを「オンライン」、RAIDコントローラ105とハードディスク112、113を切断することを「オフライン」と呼ぶ。ただしオフライン、オンラインに限らず、プロセッサ106はHDDコントローラ111経由でハードディスク112、113から管理情報を読み出すことが可能である。データキャッシュ109はハードディスク112、113のアクセスを補助し、一度ハードディスク112、113にアクセスするデータを一時的に保管し、保管された情報は、ディスクに直接アクセスせずに高速化する。またデータバッファ111は、ハードディスク112、113に書き込むデータを一旦、格納する記憶部である。ハードディスク112、113は一定時間に一定のデータ量を書き込む必要があるために、データバッファ110は設けられている。換言すれば、データキャッシュ109とデータバッファ110は、CPUモジュール101またはプロセッサ106が書き込みを指示するデータをハードディスク112、113に格納する前に格納する。そしてデータ量が所定の容量よりも大きくなった後、HDDコントローラ111は、データキャッシュ109経由でデータバッファ110からデータを読み出し、ハードディスク112、113に格納する。データキャッシュ109とデータバッファ110があることによって、プロセッサ106はデータの転送をハンドリングすることができる。
ハードディスク112はシステム領域114、データ領域115、RAID管理領域116より構成されており、ハードディスク113はシステム領域117、データ領域118、RAID管理領域119より構成されている。システム領域114、データ領域115、RAID管理領域116は、ハードディスク112を分割した領域である。同様にしてシステム領域117、データ領域118、RAID管理領域119は、ハードディスク113を分割した領域である。そしてシステム領域114、117、データ領域115、118、RAID管理領域116、119の容量は可変な量であって、ハードディスク112、113のデータ容量の範囲内で可変である。
システム領域114、117にはRAID装置100におけるOS(Operation System)、アプリケーションプログラムなどが格納されている。データ領域115、118にはRAID装置100のデータが格納されている。RAID管理領域116、119にはRAID装置100の管理情報が格納されている。ここでデータとはユーザの個人情報などであって、RAID装置100を制御するプログラムなどとは異なる情報である。管理情報とは、ハードディスク112、113が正常か否かを示す情報であり、プロセッサ106がHDDコントローラ111経由で更新を行う。
図4(a)は、本実施例に係るシステム領域114に格納されているデータ401である。データ401は、RAID装置100において起動するOS404、アプリケーションプログラム406から構成されている。同様にして図4(b)は、本実施例に係るシステム領域117に格納されているデータである。データ402は、RAID装置100において起動するOS405、アプリケーションプログラム407から構成されている。
また図17に記載の設定テーブル1801はハードディスク112、113、データキャッシュ109、データバッファ110へのデータの書込み/読み出しを決定する書き込みフラグのオン/オフを示すテーブルである。初期設定では設定テーブル403の書込みフラグはすべてオンになっている。設定テーブル1801は、メモリ107に格納されている。
本実施例において、RAID装置100はミラーリング構成であるため、データ401を構成するOS404とデータ402を構成するOS405、データ401を構成するアプリケーションプログラム406とデータ402を構成するアプリケーションプログラム407は同一のOS及びアプリケーションプログラムである。
本実施例においてBIOS(Basic Input/Output System)設定などにおいて、ユーザはデータキャッシュ109、データバッファ110、ハードディスク112、113の書込みを有効/無効にするフラグのオン/オフを設定する。
またハードディスク112、113への書き込みを無効にした場合、プロセッサ106はデータをデータキャッシュ109またはデータバッファ110から直接読み出しが可能とする。プロセッサ106は設定テーブル1801を図18に記載の設定テーブル1901に更新する。ハードディスク112、113へデータの書き込みフラグをオフにする。そしてデータキャッシュ109へデータの書込みを許可する書き込みフラグをオンのままにして変更せず(1にする。書き込みフラグを立てる。)、データバッファ110への書き込みを許可する書き込みフラグもオンのままにする。
図6(a)は、RAID管理領域116に格納されているデータ601である。データ601は、管理情報603とシステムの起動時間から構成されている。管理情報603は、ハードディスク112、113に障害が発生していない場合の管理情報であり、ハードディスク112、113が正常に動作していることを示す。同様にして図6(b)は、RAID管理領域119に格納されているデータ602である。データ602は、管理情報604とシステムの起動時間から構成されている。管理情報604は、ハードディスク112、113に障害が発生していない場合の管理情報であり、ハードディスク112、113が正常に動作していることを示す。
ハードディスク112に障害が発生した場合、HDDコントローラ111は管理情報603を図7(a)に示す管理情報703に更新する。管理情報603は、ハードディスク112のRAID管理領域116に格納されているため、障害により更新することができる場合もあるし更新できない場合もある。図7(a)に示す管理情報703に記載のハードディスク112の動作状態は「(異常)」と記載してあるは、HDDコントローラ111が管理情報603を更新できた場合には、ハードディスク112の動作状態が「異常」と記載されることを意味している。そのため、HDDコントローラ111が管理情報703を更新することができない場合には、ハードディスク112の動作状態は「正常」のままである(管理情報603と同じ)。HDDコントローラ111はRAID管理領域119に格納される管理情報604を図7(b)に示す管理情報704に更新する。HDDコントローラ111は、管理情報704に記載のハードディスク112の状態を「異常」と更新し、ハードディスク113の状態を「正常」のままとする。
さらにハードディスク113に障害が発生した場合、HDDコントローラ111は管理情報703、704を図8(a)、図8(b)に示す管理情報803、804に更新する。図8(a)に示す管理情報803に記載のハードディスク112、113の動作状態は「(異常)」である。HDDコントローラ111が管理情報703を更新できた場合には、ハードディスク112、113の動作状態が「異常」と記載されることを意味している。そのため、HDDコントローラ111が管理情報703を更新することができない場合には、ハードディスク112、113の動作状態は「正常」のままである(管理情報703と同じ)。図8(b)に示す管理情報803に記載のハードディスク112の動作状態は「異常」であり、ハードディスク113の動作状態は「(異常)」である。
管理情報603、604、703、704、803、804は、ハードディスク112、113が正常に動作しているか否かを示す情報である。HDDコントローラ111は管理情報を随時更新する。
またHDDコントローラ111は、ハードディスク112、113の異常を検出する機能を有している。異常の検出の機構は具体的には例えば、診断コマンドなどをハードディスク112、113に送信し、それに対する応答信号がハードディスク112、113から正常応答信号が所定時間内に返信されるか否かを監視している。そしてHDDコントローラ111が所定時間内に正常応答信号を受信しない場合には、ハードディスク112、113に異常が発生したと判別する。そしてHDDコントローラ111が所定時間内に正常応答信号を受信した場合には、ハードディスク112、113に異常は発生していないと判別する。またデータの書込み又はデータの読み出しが正常に行われたか否かを監視しており、正常にデータの書込み又はデータの読み出しが行われない場合には、異常が発生したと決定する。
図2は本実施例に係るデータの記録処理のフローチャートである。
本実施例では、ハードディスク112に障害が発生してハードディスク112をオフラインにし、その後ハードディスク113に障害が発生してハードディスク113をオフラインにして、RAID装置100がマルチデッド状態になる場合を説明する。ハードディスクを112、113をオフラインにする順序は、ハードディスク113に障害が発生しハードディスク113をオフラインにし、その後ハードディスク112に障害が発生してハードディスク112をオフラインにする場合であってもよい。
本実施例では、RAID装置100はミラーリング構成になっている。そのためハードディスク112、113には同一のデータが格納される。換言すれば、RAID装置100において、ハードディスク112、113が冗長構成となっている。
まずユーザはRAID装置100の電源を投入する(ステップS201)。プロセッサ106は、RAID管理領域116、119に格納されている管理情報を参照する(ステップS202)。プロセッサ106は、管理情報よりディスク112、113が正常か否かを判別する(ステップS203)。
プロセッサ106がハードディスク112、113共にオンラインでないと判別した場合には、RAID装置100はデータの記録処理を終了する(ステップS204)。プロセッサ106がハードディスク112又は、113のどちらかがオンラインであると判別した場合には、CPUモジュール101はハードディスク112のシステム領域114、又はハードディスク113のシステム領域117からOSをメモリ107に読み出しシステムを起動する(ステップS205)。そしてHDDコントローラ111はRAID管理領域116、119にシステムの起動時刻とシステムの管理情報を書き込む(ステップS206)。RAID装置100は、RAID装置100の外部から入力されるデータをデータ領域115、118に記録しデータの更新を行う(ステップS207)。
そしてハードディスク112に障害が発生する(ステップS208)。プロセッサ106は、ハードディスク112をオフラインにする(ステップS209)。そしてRAID装置100は、RAID装置100の外部から入力されるデータをデータ領域118に記録しデータの更新を行う(ステップS210)。ハードディスク112はオフラインのため、データ領域115はデータの更新を行うことができない(ステップS211)。
ハードディスク113に障害が発生する(ステップS212)。HDDコントローラ111は、ハードディスク113をオフラインにする(ステップS213)。ハードディスク112、113をオフラインにしたため、RAID装置100はシステムダウンする(ステップS214)。
図3は本実施例に係るデータの記録復旧のフローチャートである。
RAID装置100は、ハードディスク112、113の両方をオフラインにしてシステムダウンすると、ユーザもしくは、CPUモジュール101がシステムをリセットする(ステップS301)。そしてプロセッサ106は、RAID管理領域116、119に格納されている管理情報の参照を試みる(ステップS302)。プロセッサ106はRAID管理領域116、119の管理情報を読み出し可能か否かを判別する(ステップS303)。
RAID管理領域116、119の管理情報を読み出し可能な場合には、プロセッサ106はRAID管理領域116、119の管理情報を参照する。
そしてプロセッサ106は、RAID管理領域116、119の管理情報にお互いのハードディスク状態が異常として記録されるなどの矛盾があるか否か判別する(ステップS304)。
プロセッサ106は、RAID管理領域116、119の管理情報に矛盾がないと判別した場合には、RAID管理領域116に格納されている管理情報とRAID管理領域119に格納されている管理情報を比較し冗長構成喪失直後の状態を解析する。
プロセッサ106はハードディスク112がRAID装置100から切り離された後、ハードディスク113が切り離されたことを判別する。そしてプロセッサ106はハードディスク113のみオンラインにして冗長構成喪失直後の状態にした後にCPUモジュール101はシステムを起動する(ステップS305)。
RAID管理領域116の管理情報には、HDDコントローラ111がハードディスク112へアクセスしたアクセス時刻などのログが記録されている。同様にRAID管理領域119の管理情報には、HDDコントローラ111がハードディスク113へアクセスしたアクセス時刻などのログが記録されている。プロセッサ106はこのハードディスク112、113へのアクセス時刻を比較して、ハードディスク112、ハードディスク113が切り離された順序を判別して冗長構成喪失直後の状態を解析する。またプロセッサ106はシステム領域114、117に記録されている起動時刻も参照することも可能であり、起動時刻よりハードディスク112、ハードディスク113が切り離された順序を判別して冗長構成喪失直後の状態を解析してもよい。
RAID管理領域116、119の管理情報を読み出し不可能な場合(ステップS303 NO)や、RAID管理領域116、119の管理情報にお互いのハードディスク状態が異常として記録されるなどの矛盾があり、冗長構成喪失直後の状態を解らない場合には(ステップS304 YES)、プロセッサ106は、冗長構成喪失直後の状態を示す情報がメモリ107にある場合かを確認する。プロセッサ106はHDDコントローラ111にハードディスク112への書込み禁止の設定を行う。またプロセッサ106は、ハードディクをオンラインにした情報がメモリ107に記憶されているかを確認すると、記憶されていないため、メモリ107にディスク112をオンラインにした事を記憶し、ハードディスク112をオンラインにする。(ステップS306)。これによりハードディスク112をオンラインにした場合であっても、HDDコントローラ111はハードディスク112への書込みを行わない。HDDコントローラ111はハードディスク112の全ての書き込み内容(システムの起動時刻と起動状態などを含む)をデータキャッシュ109に記録する。HDDコントローラ111はシステムの起動時刻と起動状態をデータバッファ110に記録する構成であってもよい。起動状態とは、ハードディスク112がオンラインかオフラインかを示す状態である。
CPUモジュール101はOSがパニックや、ハングアップしシステムが正常に起動しないことを判別する(ステップS307)。ユーザもしくは、CPUモジュール101がシステムをリセットする(ステップS308)。プロセッサ106は、冗長構成喪失直後の状態を示す情報がメモリ107にあるかを確認する。プロセッサ106はHDDコントローラ111にハードディスク113の書込み禁止の設定を行う。プロセッサ106は直前にハードディク112をオンラインにした情報がメモリ107に記憶されているかを確認し、ハードディスク112がオンラインになっていることを確認するため、プロセッサ106はハードディスク112をオフラインにする(ステップS309)。そしてプロセッサ106はハードディスク113をオンラインにし、メモリ107にディスク112をオフライン、ディスク113をオンラインにした事を記憶しておく。(ステップS310)。
CPUモジュール101は、OSが正常に立ち上がると、プロセッサ106に対してシステムが正常に動作した事を通知する。そしてメモリ107に格納される設定テーブルに示す書き込みフラグをすべてONにしてOSを再起動する。プロセッサ106は、冗長構成喪失直後の状態を示す情報(RAID装置100が、ハードディスク112がオフラインで、ハードディスク113がオンラインの状態であることを示す情報)をメモリ107より参照する。
そしてプロセッサ106は、ハードディク112をオフライン、ハードディスク113をオンラインにして正常に起動する(ステップS311)。
その後、ハードディスク112は、障害の可能性が高いため新しいハードディスクに交換し、ハードディスク113からリビルドを実施する。リビルドが完了後、同様にハードディスク113を新しいディスクに交換し最初のミラー構成にし、システムを完全に復旧する。

デイジーチェイン接続のハードディスクにおいてバス系に異常がある場合などは、RAID装置が不揮発性メモリなどに記録するログからだけでは、ログを記録する周期の間隔内に複数のハードディスクの切り離しが発生する事がある。これによりログからだけではハードディスクの切り離しの順序を特定することができず、適切にRAID装置を復旧することができない。本願発明によればハードディスクをオンラインにしても起動時刻などを書き込まずに起動するため、正常に起動するか否かを判別して立ち上げの順序を特定することができる。 (実施例2)
本実施例は記憶装置900がデータ領域を複数のハードディスクに分割(ストライピングという)してデータのパリティを固定されたディスクに冗長化したRAID3の場合を例に説明する。また記憶装置900は、RAID3に限定されることはなく、RAID5のようなパリティが複数のハードディスクに分散してもあってもよい。
図9は、本実施例に係るRAID装置900のハードブロック図である。
<RAID装置900>
RAID装置900は、CPU(Central Processing Unit)モジュール901、ディスプレイコントローラ(Display Controller)902、ディスプレイ903、LANコントローラ(LAN Controller)904、RAIDコントローラ(RAID Controller)905、ハードディスク(HDD)912、913、914から構成される。CPUモジュール901は、RAID装置900を統括的に制御し、ディスプレイコントローラ902、LANコントローラ904、RAIDコントローラ905を統括的に制御する。またCPUモジュール901はメモリなどの記録媒体を含む構成であり、RAID装置900のOSをメモリ上に展開してOSを起動するものである。ディスプレイコントローラ902は、ディスプレイ903における表示制御を行う。LANコントローラ904はRAID装置900が接続するネットワークの通信制御を行う。RAID装置900は、LANコントローラ904を介してRAID装置900の外部のネットワークより、所望のデータを取得する。
<RAIDコントローラ905>
RAIDコントローラ905は、プロセッサ906、メモリ907、バスコントローラ908、データキャッシュ909、データバッファ910、HDDコントローラ911から構成されている。プロセッサ906は、HDDコントローラ911経由でハードディスク912またはハードディスク913にデータを書き込む/読み出す制御を行う。プロセッサ906はメモリ907に格納されている所定のプログラムを実行する。バスコントローラ908は、RAIDコントローラ905とCPUモジュール901でのデータのやりとりを制御する。さらにプロセッサ906はHDDコントローラ911経由でハードディスク912、913、914との接続制御を行う。RAIDコントローラ105とハードディスク912、913、914を接続することを「オンライン」、RAIDコントローラ105とハードディスク912、913、914を切断することを「オフライン」と呼ぶ。ただしオフライン、オンラインに限らず、プロセッサ906はHDDコントローラ911経由でハードディスク912、913から管理情報を読み出すことが可能である。データキャッシュ909はハードディスク912、913、914のアクセスを補助し、一度ハードディスク912、913、914にアクセスするデータを一時的に保管し、保管された情報は、ディスクに直接アクセスせずに高速化する。そまたデータバッファ911は、ハードディスク912、913、914に書き込むデータを一旦、格納する記憶部である。ハードディスク912、913、914は一定時間に一定のデータ量を書き込む必要があるために、データバッファ910は設けられている。換言すれば、データキャッシュ909とデータバッファ910は、CPUモジュール901またはプロセッサ906が書き込みを指示するデータをハードディスク912、913、914に格納する前に格納する。そしてデータ量が所定の容量よりも大きくなった後、HDDコントローラ911は、データキャッシュ909経由でデータバッファ910からデータを読み出し、ハードディスク912、913、914に格納する。データキャッシュ109と、データバッファ910があることによって、RAID装置900はデータの転送をハンドリングすることができる。
ハードディスク912はシステム領域915、データ領域916、RAID管理領域917より構成されている。同様にしてハードディスク913はシステム領域918、データ領域919、RAID管理領域920より構成されている。ハードディスク914はシステム領域921、データ領域922、RAID管理領域923より構成されている。
システム領域915、データ領域916、RAID管理領域917は、ハードディスク912を分割した領域である。同様にしてシステム領域918、データ領域919、RAID管理領域920は、ハードディスク913を分割した領域であり、システム領域921、データ領域922、RAID管理領域923は、ハードディスク914をパーティション分割した領域である。そしてシステム領域915、918、921、データ領域916、919、922、RAID管理領域917、920、923の容量は可変な量であって、ハードディスク912、913、914のデータ容量の範囲内で可変である。
RAID3は、データのパリティ情報を格納するハードディスクをストライプアレイに付加した構成である。これによりハードディスクに障害が発生した場合、RAID3はパリティ情報よりデータの再構築を行うことができる。本実施例において、ストライピングアレイはハードディスク912、913である。パリティ情報を格納するハードディスクはハードディスク914である。
システム領域915には、RAID装置900におけるOS、アプリケーションプログラムなどのストライプデータ1201が格納されている。同様にしてシステム領域918には、RAID装置900におけるOS、アプリケーションプログラムなどのストライプデータ1202が格納されている。ストライプデータ1201、1202は、RAID装置900におけるOS、アプリケーションプログラムなどのデータを分散したデータである。ストライプデータ1201、1202の分散比率等は、ユーザが設定することができる。そしてシステム領域921には、ストライプデータ1201とストライプデータ1202の排他的論理和であるパリティデータ9211が格納されている。
データ領域916、919にはRAID装置900のデータが分散され、それぞれにストライプデータ9161、9191格納されている。そしてデータ領域921にはデータ領域916に格納されるストライプデータ9161とデータ領域919に格納されるストライプデータ9191との排他的論理和であるパリティデータ9221が格納されている。ここでデータとはユーザの個人情報などであって、RAID装置100を制御するプログラムなどとは異なる情報である。
RAID管理領域917、920、923にはRAID装置900の管理情報が分散されずそれぞれに独立して管理データ917、920、923に格納されている。管理情報とは、ハードディスク912、913、914が正常か否かを示す情報であり、プロセッサ906がHDDコントローラ911経由で更新を行う。
図12(a)は、本実施例に係るシステム領域915に格納されているストライプデータ1201である。ストライプデータ1201は、RAID装置900において起動するOS1205から構成されている。ストライプデータ1201は、RAID装置900におけるOS、アプリケーションプログラムから構成されるデータを分散したデータであるため、OS1205、アプリケーションプログラム1207は、これらOS、アプリケーションプログラム、設定テーブルの一部分である。同様にして図12(b)は、本実施例に係るシステム領域918に格納されているストライプデータ1202である。ストライプデータ1202は、RAID装置900において起動するOS1206、アプリケーションプログラム1208から構成されている。OS1205とOS1206の和がRAID装置900のOSである。同様にしてアプリケーションプログラム1207とアプリケーションプログラム1208の和がRAID装置900のアプリケーションプログラムである。本実施例において、ストライプデータ1201、1202は共に、OS、アプリケーションプログラムの一部分を有するが、分散の仕方はこれに限定されることはない。例えばシステム領域915にはRAID装置900のOSを格納し、システム領域918はRAID装置900のアプリケーションプログラムを格納する構成であってもよい。
図19に記載の設定テーブル2001はハードディスク912、ハードディスク913、ハードディスク914、データキャッシュ909、データバッファ110へのデータの書込み/読み出しを決定する書き込みフラグのオン/オフの一部を示すテーブルである。初期設定では設定テーブル2001の書込みフラグはすべてオンになっている。設定テーブル2001はメモリ907に格納されている。
本実施例において、RAID装置900はパラレルアクセスアレイ構成になっているため、OS1205とOS1206は異なる内容を示すデータである。同様にして、アプリケーションプログラム1207と1208も異なる内容を示すデータである。
さらにパリティデータ1301はストライプデータ1201とストライプデータ1202の排他的論理和のデータである。プロセッサ906は、パリティデータ1301を算出する。パリティデータ1301は、そのため例えばハードディスク912に障害が発生し、ストライプデータ1201を読み出すことができない場合、パリティデータ1301とストライプデータ1202からストライプデータ1201を復元することができる。同様にしてハードディスク913に障害が発生し、ストライプデータ1202を読み出すことができない場合、パリティデータ1301とストライプデータ1201からストライプデータ1202を復元することができる。
本実施例において、BIOS(Basic Input/Output System)設定などにおいて、ユーザはデータキャッシュ109、データバッファ110、ハードディスク912、913、914の書込みを有効/無効にするフラグのオン/オフを設定する。ハードディスク912、913、914への書込みフラグをオフにすると、設定テーブル2001が更新される。データキャッシュ909へデータの書込みを許可する書き込みフラグをオンのままにして変更せず、データバッファ110への書き込みを許可する書き込みフラグもオンのままにする。ユーザ若しくはCPUモジュール901がRAID装置900をリブートしたとき、ハードディスク912、913、914の書込みフラグをオフに設定することによって、ハードディスク912、913、914へ起動に伴う初期データの書き込みを禁止することができる。初期データはOSの起動時刻、起動状態などを含み、システムの起動に伴う設定データやログデータである。
図14(a)は、RAID管理領域917に格納されている管理データ1401である。管理データ1401は、管理情報1403とシステムの起動時間1405から構成されている。管理情報1403は、ハードディスク912、913、914に障害が発生していない場合の管理情報であり、ハードディスク912、913、914が正常に動作していることを示す。同様にして図14(b)は、RAID管理領域920に格納されている管理データ1402である。管理データ1402は、管理情報1404とシステムの起動時間1406から構成されている。管理情報1404は、ハードディスク912、913、914に障害が発生していない場合の管理情報であり、ハードディスク912、913、914が正常に動作していることを示す。同様にして図14(c)は、RAID管理領域923に格納されている管理データ1407である。管理データ1407は、管理情報1408とシステムの起動時間1409から構成されている。管理情報1408は、ハードディスク912、913、914に障害が発生していない場合の管理情報であり、ハードディスク912、913、914が正常に動作していることを示す。
ハードディスク912に障害が発生した場合、プロセッサ906は、HDDコントローラ911経由で、管理情報1403を図15(a)に示す管理情報1603に更新する。管理情報1603は、ハードディスク912のRAID管理領域917に格納されているため、障害により更新することができる場合もあるし更新できない場合もある。図15(a)に示す管理情報1603に記載のハードディスク912の動作状態は「(異常)」と記載してあるは、HDDコントローラ911が管理情報1403を更新できた場合には、ハードディスク912の動作状態が「異常」と記載されることを意味している。プロセッサ906は、ハードディスク913、914の状態を「正常」のままとする。そのため、プロセッサ906は、HDDコントローラ911経由で、管理情報1403を更新することができない場合には、ハードディスク912の動作状態は「正常」のままである。プロセッサ906はRAID管理領域920に格納される管理情報1404を図15(b)に示す管理情報1604に更新する。プロセッサ906は、管理情報1404に記載のハードディスク912の状態を「異常」と更新し、ハードディスク913、914の状態を「正常」のままとする。プロセッサ906はRAID管理領域923に格納される管理情報1407を図15(c)に示す管理情報1607に更新する。プロセッサ906は、管理情報1407に記載のハードディスク912の状態を「異常」と更新し、ハードディスク913、914の状態を「正常」のままとする。
さらにハードディスク913に障害が発生した場合、プロセッサ906は管理情報1603、1604、1607を図16(a)、図16(b)、図16(c)に示す管理情報1703、1704、1708に更新する。図16(a)に示す管理情報1603に記載のハードディスク912、913の動作状態は「(異常)」である。プロセッサ906が管理情報1603を更新できた場合には、ハードディスク112、113の動作状態が「異常」と記載されることを意味している。そのため、プロセッサ906が管理情報1603を更新することができない場合には、ハードディスク912、913の動作状態は「正常」のままである(管理情報1603と同じ)。図16(b)に示す管理情報1703に記載のハードディスク912の動作状態は「異常」であり、ハードディスク913の動作状態は「(異常)」であり、ハードディスク914の動作状態は「正常」のままである。図16(c)に示す管理情報1707に記載のハードディスク912、913の動作状態は「異常」であり、ハードディスク914の動作状態は「正常」のままである。
管理情報1403、1404、1407、1603、1604、1407、1703、1704、1407は、ハードディスク912、913、914が正常に動作しているか否かを示す情報である。プロセッサ906は、管理情報を随時更新する。また管理情報を比較して矛盾がある場合あり、矛盾とは、管理情報に記載されているハードディスク912、913、914の「正常」、「異常」の一致が取れないことである。

またHDDコントローラ911は、ハードディスク912、913、914の異常を検出する機能を有している。異常の検出の機構は例えば、HDDコントローラ911が診断コマンドなどの信号をハードディスク912、913、914に送信し、それに対する正常応答信号がハードディスク912、913、914から所定時間内に返信されるか否かを監視している。そしてHDDコントローラ911が所定時間内に正常応答信号を受信しない場合には、ハードディスク912、913、914に異常が発生したと判別する。そしてHDDコントローラ911が所定時間内に応答信号を受信した場合には、ハードディスク912、913、914に異常は発生していないと判別する。またデータの書込み又はデータの読み出しが正常に行われたか否かを監視しており、正常にデータの書込み又はデータの読み出しが行われない場合には、異常が発生したと決定する。 図10は本実施例に係るデータの記録処理のフローチャートである。
本実施例では、ハードディスク912に障害が発生しハードディスク912をオフラインにし、その後ハードディスク913に障害が発生してハードディスク913をオフラインにして、RAID装置900がマルチデッド状態になる場合を説明する。ハードディスク912、913をオフラインにする順序は、ハードディスク913をオフラインにし、その後ハードディスク912をオフラインにする場合であってもよい。
まずユーザはRAID装置900の電源を投入する(ステップS1001)。プロセッサ906は、RAID管理領域917、920、923に格納されている管理情報を参照する(ステップS1002)。
CPUモジュール901はシステム領域915、918、921からOSをメモリ907に読み出し、システムを起動する(ステップS1003)。そしてプロセッサ906は、HDDコントローラ911経由で、RAID管理領域917、920、923にシステムの起動時刻とシステムの管理情報を書き込み、管理データを更新する(ステップS1004)。RAID装置900は、RAID装置900の外部から入力されるデータをデータ領域916、918、922に記録しデータの更新を行う(ステップS1005)。プロセッサ906は、データ領域916のストライプデータとデータ領域919のストライプデータの排他的論理和を計算し、パリティデータを算出する(ステップS1006)。そしてプロセッサ906は、HDDコントローラ911経由で、パリティデータをデータ領域922に格納する(ステップS1007)。
そしてハードディスク912に障害が発生する(ステップS1008)。プロセッサ906は、HDDコントローラ911経由で、ハードディスク912をオフラインにする(ステップS1009)。そしてRAID装置900は、RAID装置900の外部から入力されるデータをデータ領域919に記録しデータの更新を行う(ステップS1010)。プロセッサ906は、HDDコントローラ911経由で、データ領域922のパリティデータの更新を行う(ステップS1011)ハードディスク912はオフラインのため、データ領域916はデータの更新を行うことができない(ステップS1012)。
ハードディスク913に障害が発生する(ステップS1013)。プロセッサ906は、HDDコントローラ911経由で、ハードディスク913をオフラインにする(ステップS1014)。ハードディスク912、913をオフラインにしたため、RAID装置900はシステムダウンする(ステップS1015)。
図11は本実施例に係るデータの記録復旧のフローチャートである。
RAID装置900は、ハードディスク912、913の両方を切り離してシステムダウンすると、ユーザもしくは、CPUモジュール101がシステムをリセットする(ステップS1101)。そしてプロセッサ906は、RAID管理領域917、920、923に格納されている管理情報の参照を試みる(ステップS1102)。プロセッサ906はRAID管理領域917、920、923の管理情報を読み出し可能か否かを判別する(ステップS1103)。
RAID管理領域917、920、923の管理情報を読み出し可能な場合には、プロセッサ906はRAID管理領域917、920、923の管理情報を参照する。
そしてプロセッサ906は、RAID管理領域917、920、923の管理情報にハードディスク状態が異常として記録されるなどの矛盾があるか否か判別する(ステップS1104)。
プロセッサ906は、RAID管理領域917、920、923の管理情報に矛盾がないと判別した場合には、RAID管理領域917、920、923に格納されている管理情報を比較し、冗長構成喪失直後の状態を解析する。
プロセッサ906はハードディスク912をオフラインにした後に、ハードディスク913をオフラインにしたことを判別する。そしてプロセッサ906はハードディスク913のみオンラインにして(クリティカル状態にして)、ユーザ若しくは、CPUモジュール901はシステムを起動する(ステップS1105)。
RAID管理領域917には、HDDコントローラ911がハードディスク912へアクセスしたアクセス時刻などのログが記録されている。同様にRAID管理領域920には、HDDコントローラ911がハードディスク913へアクセスしたアクセス時刻などのログが記録されている。同様にRAID管理領域923には、HDDコントローラ911がハードディスク914へアクセスしたアクセス時刻などのログが記録されている。プロセッサ906はこのHDDコントローラ911がハードディスク912、913、914へアクセスしたアクセス時刻を比較して、ハードディスク912、ハードディスク913をオフラインにした順序を判別し、冗長構成喪失直後の状態を解析する。
またプロセッサ906はシステム領域915、918に記録されている起動時刻、及びシステム領域921のパリティデータを参照することも可能である。起動時刻よりハードディスク912、ハードディスク913がオフラインになった順序を判別する構成であってもよい。
RAID管理領域917、920、923の管理情報を読み出し不可能な場合(ステップS1103 NO)や、RAID管理領域917、920、923の管理情報にハードディスク状態が異常として記録されるなどの矛盾があり、冗長構成喪失直後の状態を解らない場合には(ステップS1104 YES)、プロセッサ906は、冗長構成喪失直後の状態を示す情報がメモリ907にある場合かを確認する。プロセッサ906はHDDコントローラ911にハードディスク912への書込み禁止の設定を行う。またプロセッサ906は、ハードディク112をオンラインにした情報がメモリ907に記憶されているかを確認すると、記憶されていないため、メモリ907にディスク912をオンラインにした事を記憶し、ハードディスク912をオンラインにする(ステップS1106)。HDDコントローラ911がハードディスク912への書込みは行わないように、ユーザは予めメモリ907に格納されている設定テーブルのハードディスク912、913、914の書き込みフラグをオフにしておく。そのためハードディスク912をオンラインにした場合であっても、HDDコントローラ911はハードディスク912への書込みを行わない。HDDコントローラ911はハードディスク912、914の全ての書き込み内容(システムの起動時刻と起動状態などを含む)をデータキャッシュ909に記録する。HDDコントローラ911は912、914の全ての書き込み内容をデータバッファ910に記録する構成であってもよい。ハードディスク912の起動状態とは、ハードディスク912がオンラインかオフラインかを示す状態である。
CPUモジュール901はOSがパニックや、ハングアップしシステムが正常に起動しないことを判別する(ステップS1107)。ユーザもしくは、CPUモジュール901がシステムをリセットする(ステップS1108)。プロセッサ906はハードディスク912をオフラインにする(ステップS1109)。そしてプロセッサ906はハードディスク913をオンラインにし、メモリ907にディスク912をオフライン、ディスク913、914をオンラインにした事を記憶しておく。(ステップS1110)。
CPUモジュール901は、OSが正常に立ち上がると、プロセッサ906に対してシステムが正常に動作した事を通知する。そしてメモリ907に格納される設定テーブルに示す書き込みフラグをすべてONにしてOSを再起動する。プロセッサ906は、冗長構成喪失直後の状態を示す情報(RAID装置900が、ハードディスク912がオフラインで、ハードディスク913、914がオンラインの状態であることを示す情報)をメモリ907より参照する。
そしてプロセッサ906は、ハードディク912をオフライン、ハードディスク913、914をオンラインにして正常に起動する(ステップS1111)。またこのとき、RAID管理領域920、923に格納されている管理情報に示すハードディスク913の動作状態を「正常」に更新する。
その後、ハードディスク912は、障害の可能性が高いため新しいハードディスクに交換し、ハードディスク913、914からリビルドを実施する。リビルドが完了後、同様にハードディスク913を新しいディスクに交換し最初のRAID3構成にし、システムを完全に復旧する。

本実施例におけるRAID装置900では、ハードディスク912、913、914のうち複数のハードディスクに障害が発生した場合であっても、正しい順序でハードディスクをオンラインにしてシステムを正常に起動することができる。ハードディスクのオンラインにする順序を特定して、ハードディスク912、913、914へのデータの誤書込みを防止できるため、RAID装置900はハードディスク912、913、914のデータを救済することができる。
本発明に係る判別手段が行う処理は、プロセッサが行う処理に含まれる。本発明における起動手段が行う処理は、CPUモジュールが行う処理に含まれる。本発明における格納手段が行う処理は、データキャッシュ、データバッファが行う処理に含まれる。本発明に係る稼動手段、特定手段が行う処理は、CPU、プロセッサが行う処理に含まれる。本発明に係る書込み手段が行う処理は、HDDコントローラが行う処理に含まれる。 また本実施例において、データを記録する記録媒体はハードディスク912、913、914であるが、これに限られることはなく、揮発性記録媒体であるメモリや不揮発性記録媒体のフラッシュメモリなどであってもよい。
本発明による記憶装置は、記録されたデータの復旧を行うものである。したがって、本発明による記憶装置は、障害の発生したディスクに記録されたデータを取得するうえで極めて有用である。

Claims (11)

  1. 複数の記録媒体を有し、障害を検出した記録媒体を休止する記憶装置において、
    休止した記録媒体が複数であるか否かを判別する判別手段と、
    複数の記録媒体の休止を判別した該記憶装置を再起動する起動手段と、
    該記憶装置の起動に伴う初期データを格納する格納手段と、
    休止した記録媒体のいずれか一つを稼動する稼動手段と、
    該稼動した記録媒体に該初期データの書込みを禁止し、稼動する記憶装置の稼動順序を特定する特定手段と、
    該特定手段において、稼動順序が正しいと判別した記録媒体に対して、該格納手段に格納した該初期データを記録する書込み手段と、
    からなることを特徴とする記憶装置。
  2. 請求項1に記載の記憶装置において、
    該特定手段は、稼動した記録媒体に記録される履歴情報を参照して該稼動順序を特定することを特徴とする記憶装置。
  3. 請求項1に記載の記憶装置において、
    該特定手段は、該記憶装置の動作設定を参照して該稼動順序を特定することを特徴とする記憶装置。
  4. 請求項1に記載の記憶装置において、
    該特定手段は、該記憶装置が有するオペレーションシステムの動作状態を参照して該稼動順序を特定することを特徴とする記憶装置。
  5. 請求項1に記載の記憶装置において、
    該複数の記録媒体に同一のデータを格納することを特徴とする記憶装置。
  6. 請求項1に記載の記憶装置において、
    該複数の記録媒体にデータを分散して記録し、さらに分散した分散データの排他的論理和を格納することを特徴とする記憶装置。
  7. 請求項1に記載の記憶装置において、
    該格納手段は、該記憶装置の動作を効率化するキャッシュメモリであることを特徴とする記憶装置。
  8. 請求項1に記載の記憶装置において、
    該格納手段は、該記録媒体に書き込むデータを一時的に格納するデータバッファであることを特徴とする記憶装置。
  9. 請求項1に記載の記憶装置において、
    該書込み手段は、該稼動した記録媒体が有するフラグを変更して該初期データを記録することを特徴とする記憶装置。
  10. 複数の記録媒体を有し、障害を検出した記録媒体を休止する記憶装置が記録するデータを復旧する記録復旧方法において、
    休止した記録媒体が複数であるか否かを判別する判別手順と、
    複数の記録媒体の休止を判別した該記憶装置を再起動する起動手段と、
    該記憶装置の起動に伴う初期データを格納する格納手順と、
    休止した記録媒体のいずれか一つを稼動する稼動手順と、
    該稼動した記録媒体に該初期データの書込みを禁止し、稼動する記憶装置の稼動順序を特定する特定手順と、
    稼動順序が正しいと判別した記録媒体に対して、該格納手段に格納した該初期データを記録する書込み手順と、
    からなることを特徴とする記録復旧方法。
  11. 複数の記録媒体を有し、障害を検出した記録媒体を休止する記憶装置が記録するデータを復旧する記録復旧プログラムにおいて、
    休止した記録媒体が複数であるか否かを判別する判別ステップと、
    複数の記録媒体の休止を判別した該記憶装置を再起動する起動ステップと、
    該記憶装置の起動に伴う初期データを格納する格納ステップと、
    休止した記録媒体のいずれか一つを稼動する稼動ステップと、
    該稼動した記録媒体に該初期データの書込みを禁止し、稼動する記憶装置の稼動順序を特定する特定ステップと、
    稼動順序が正しいと判別した記録媒体に対して、該格納手段に格納した該初期データを記録する書込みステップと、
    をコンピュータに実行させることを特徴とする記録復旧プログラム。
JP2008554943A 2007-01-25 2007-01-25 記憶装置、記録復旧方法、記録復旧プログラム Active JP4947062B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/051195 WO2008090620A1 (ja) 2007-01-25 2007-01-25 記憶装置、記録復旧方法、記録復旧プログラム

Publications (2)

Publication Number Publication Date
JPWO2008090620A1 true JPWO2008090620A1 (ja) 2010-05-13
JP4947062B2 JP4947062B2 (ja) 2012-06-06

Family

ID=39644202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008554943A Active JP4947062B2 (ja) 2007-01-25 2007-01-25 記憶装置、記録復旧方法、記録復旧プログラム

Country Status (3)

Country Link
US (1) US8453007B2 (ja)
JP (1) JP4947062B2 (ja)
WO (1) WO2008090620A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4739432B2 (ja) * 2009-02-25 2011-08-03 富士通株式会社 冗長化システム、制御装置、制御方法
JP4852118B2 (ja) * 2009-03-24 2012-01-11 株式会社東芝 ストレージ装置及び論理ディスク管理方法
US10484474B2 (en) * 2013-08-29 2019-11-19 Pure Storage, Inc. Rotating offline DS units

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03141073A (ja) * 1989-10-25 1991-06-17 Toshiba Corp データ処理装置
JPH09185460A (ja) * 1995-12-28 1997-07-15 Nec Eng Ltd 外部記憶装置制御システム
JPH10254636A (ja) * 1997-03-11 1998-09-25 Nec Corp ディスクアレイシステム
JPH11328823A (ja) * 1998-05-15 1999-11-30 Nec Eng Ltd ディスクアレイ装置及びその起動方法並びにその制御プログラムを記録した記録媒体
JP2003167682A (ja) * 2001-11-14 2003-06-13 Emc Corp 動的リモートデータ機構
JP2003223349A (ja) * 2001-11-14 2003-08-08 Emc Corp 装置特性の変化を識別する階層的な方法及び装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5862899A (ja) * 1981-10-08 1983-04-14 Toshiba Corp 二重化バルクシステムにおける状態保持方式
JPH03229331A (ja) * 1990-02-02 1991-10-11 Fujitsu Ltd 情報処理装置
JP3141073B2 (ja) 1991-06-24 2001-03-05 大同化学工業株式会社 熱間圧延用ワックス状固形潤滑剤及び熱間圧延方法
JPH0756694A (ja) * 1993-08-19 1995-03-03 Fuji Xerox Co Ltd ディスクアレイ装置
US5830296A (en) 1993-09-16 1998-11-03 The Procter & Gamble Company Method for simultaneously embossing and forming a perimeter seal on an absorbent article
JP2723821B2 (ja) 1995-04-20 1998-03-09 北海道日本電気ソフトウェア株式会社 ダンプ採取制御方式
JPH10289065A (ja) 1997-04-16 1998-10-27 Nec Corp ディスクアレイ制御装置
US6085253A (en) * 1997-08-01 2000-07-04 United Video Properties, Inc. System and method for transmitting and receiving data
US7069479B2 (en) * 2002-11-07 2006-06-27 International Business Machines Corporation Method and apparatus for obtaining diagnostic data for a device attached to a computer system
JP4500562B2 (ja) * 2004-03-04 2010-07-14 クラリオン株式会社 記憶装置、車載機器及び記憶装置の制御方法
JP4472617B2 (ja) * 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US7529968B2 (en) * 2005-11-07 2009-05-05 Lsi Logic Corporation Storing RAID configuration data within a BIOS image
US7536586B2 (en) * 2006-01-12 2009-05-19 Dell Products L.P. System and method for the management of failure recovery in multiple-node shared-storage environments

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03141073A (ja) * 1989-10-25 1991-06-17 Toshiba Corp データ処理装置
JPH09185460A (ja) * 1995-12-28 1997-07-15 Nec Eng Ltd 外部記憶装置制御システム
JPH10254636A (ja) * 1997-03-11 1998-09-25 Nec Corp ディスクアレイシステム
JPH11328823A (ja) * 1998-05-15 1999-11-30 Nec Eng Ltd ディスクアレイ装置及びその起動方法並びにその制御プログラムを記録した記録媒体
JP2003167682A (ja) * 2001-11-14 2003-06-13 Emc Corp 動的リモートデータ機構
JP2003223349A (ja) * 2001-11-14 2003-08-08 Emc Corp 装置特性の変化を識別する階層的な方法及び装置
JP2006155662A (ja) * 2001-11-14 2006-06-15 Emc Corp 装置特性の変化を識別する階層的な方法及び装置

Also Published As

Publication number Publication date
US20090276656A1 (en) 2009-11-05
JP4947062B2 (ja) 2012-06-06
US8453007B2 (en) 2013-05-28
WO2008090620A1 (ja) 2008-07-31

Similar Documents

Publication Publication Date Title
KR100257422B1 (ko) 데이타 복원 방법 및 저장 시스템 운영 방법
JP4723290B2 (ja) ディスクアレイ装置及びその制御方法
JP5947327B2 (ja) 複数の格納媒体デバイスについてのファイルシステムバックアップのためのデバイス、格納媒体および方法
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
JP2006252126A (ja) ディスクアレイ装置及びその再構築方法
JP2008046986A (ja) ストレージシステム
KR20050015972A (ko) 컴퓨터 시스템의 부팅 제어 장치 및 방법
JP2007334593A (ja) Raidコントローラおよびraid装置
JP2005301419A (ja) ディスクアレイ装置およびそのデータ処理方法
KR20110094468A (ko) 저장 매체의 마스터 부트 레코드 복구 방법, 저장 매체 구동 장치, 및 저장 매체
JP4852118B2 (ja) ストレージ装置及び論理ディスク管理方法
JP2006059347A (ja) ジャーナリングを使用した記憶システム
US20060215456A1 (en) Disk array data protective system and method
JP4947062B2 (ja) 記憶装置、記録復旧方法、記録復旧プログラム
JP5040331B2 (ja) 記憶装置、記憶装置の制御方法、及び記憶装置の制御プログラム
JP4640071B2 (ja) 情報処理装置、情報処理復旧方法及び情報処理復旧プログラム
JP2006079219A (ja) ディスクアレイ制御装置およびディスクアレイ制御方法
JP2004213470A (ja) ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
JP4248164B2 (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JP4327503B2 (ja) ハードディスクの制御方法及び制御装置
JP5913078B2 (ja) ディスクアレイシステム、データ復旧方法、および、データ復旧プログラム
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
JP2002278706A (ja) ディスクアレイ装置
JP2006244413A (ja) データ記憶システム
JP5585930B2 (ja) ディスクアレイ装置、及びデータ制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120113

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

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

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4947062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150