図面 (/)

技術 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム

出願人 富士通株式会社
発明者 渡辺岳志大黒谷秀治郎池内和彦前田親志久保田典秀猪頭惇小林賢次塚原良太
出願日 2012年9月26日 (8年2ヶ月経過) 出願番号 2012-213273
公開日 2014年4月17日 (6年8ヶ月経過) 公開番号 2014-067313
状態 特許登録済
技術分野 エラーの検出訂正 ハードウェアの冗長性 外部記憶装置との入出力
主要キーワード 修正マップ 交換ディスク 代替ディスク 読込要求 書込内容 データロスト 復元済 バックアップストレージ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2014年4月17日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (19)

課題

リビルド処理中に別のストレージ障害が発生したストレージグループ復旧すること。

解決手段

ストレージシステム100は、スナップショット作成後のディスク111〜ディスク114の記憶情報更新される場合、更新対象の記憶情報の格納位置トラッキングビットマップ122に記録開始する。ストレージ制御装置101は、ディスク114が第1の縮退ディスクとなった場合、トラッキングビットマップ122に基づいて、HS115に、ディスク114のうちの更新対象の記憶情報を、先に復元する。通常リビルド処理の実行中にディスク113が縮退ディスクとなった場合、ストレージ制御装置101は、通常リビルド処理を中断させる。そして、ストレージ制御装置101は、連携リビルド処理として、バックアップボリューム121とトラッキングビットマップ122とに基づいて、HS115にディスク114の記憶情報を復元する。

概要

背景

従来、複数台ストレージを組み合わせることにより仮想的な1台のストレージグループとして運用冗長性を向上させるRedundant Arrays of Inexpensive Disks(RAID)という技術が開示されている。また、複数のストレージのバックアップ以降の更新データの箇所を記録する修正マップを有し、障害が発生したストレージのデータを再構築する際、修正マップに記録されたバックアップ以降の更新データについて、他のストレージを基に再構築する技術がある。さらに、複数のディスクと、複数のディスクのデータをバックアップするバックアップストレージを有し、複数のディスクのうちの故障ディスク交換した際の交換ディスクのデータの復旧をバックアップストレージから行う技術がある。(たとえば、下記特許文献1、2を参照。)

概要

リビルド処理中に別のストレージに障害が発生したストレージグループを復旧すること。ストレージシステム100は、スナップショット作成後のディスク111〜ディスク114の記憶情報が更新される場合、更新対象の記憶情報の格納位置トラッキングビットマップ122に記録開始する。ストレージ制御装置101は、ディスク114が第1の縮退ディスクとなった場合、トラッキングビットマップ122に基づいて、HS115に、ディスク114のうちの更新対象の記憶情報を、先に復元する。通常リビルド処理の実行中にディスク113が縮退ディスクとなった場合、ストレージ制御装置101は、通常リビルド処理を中断させる。そして、ストレージ制御装置101は、連携リビルド処理として、バックアップボリューム121とトラッキングビットマップ122とに基づいて、HS115にディスク114の記憶情報を復元する。

目的

本発明は、リビルド処理中に別のストレージに障害が発生したストレージグループを復旧することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報バックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持する保持部と、前記第1のストレージに障害が発生した場合、前記保持部によって保持された前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行する第1の復元部と、前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行する第2の復元部と、前記第2の復元部による第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する第3の復元部と、を有することを特徴とするストレージ制御装置

請求項2

前記第3の復元部は、前記第2の復元処理の実行中に前記第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の記憶領域に複製された第1の記憶情報と、前記管理情報と前記第2の復元処理の進捗を表す情報とに基づいて、前記他のストレージに、前記第1のストレージの全記憶情報のうちの前記第1の復元処理および前記第2の復元処理によって復元されていない記憶情報を復元することを特徴とする請求項1に記載のストレージ制御装置。

請求項3

前記ストレージグループへの書込要求受け付ける受付部と、前記第1の復元処理の実行中、または前記第2の復元処理の実行中に、前記受付部によって前記書込要求が受け付けられた場合、前記複数のストレージのうちの障害が発生したストレージを除く残余のストレージと前記他のストレージとのうちの前記書込要求から特定される書込先の記憶領域に前記書込要求の書込内容を書き込む書込処理を実行する実行部と、を有することを特徴とする請求項1または2に記載のストレージ制御装置。

請求項4

前記ストレージグループへの読込要求を受け付ける受付部と、前記第1の復元処理の実行中か、前記第2の復元処理の実行中か、前記第3の復元部による第3の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による読込先の記憶情報が、前記第1の復元処理か前記第2の復元処理か前記第3の復元処理かによって復元された記憶情報か否かを判断する判断部と、前記判断部による判断結果に基づいて、前記複数のストレージのうちの障害が発生したストレージを除く残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理か、前記バックアップ先の記憶領域に複製された記憶情報のうちの前記読込先の記憶情報を読み込む読込処理を実行する実行部と、を有することを特徴とする請求項1〜3のいずれか一つに記載のストレージ制御装置。

請求項5

前記判断部は、前記第3の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理か前記第2の復元処理か前記第3の復元処理かによって復元された記憶情報か否かを判断し、前記実行部は、前記判断部によって前記読込先の記憶情報が前記復元された記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行し、前記判断部によって前記読込先の記憶情報が前記復元された記憶情報でないと判断された場合、前記バックアップ先の記憶領域に複製された記憶情報のうちの前記読込先の記憶情報を読み込む読込処理を実行することを特徴とする請求項4に記載のストレージ制御装置。

請求項6

前記判断部は、前記第1の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理の進捗を表す情報と前記管理情報とに基づいて特定される前記第1の復元処理によって復元された記憶情報に含まれているか否かを判断し、前記実行部は、前記判断部によって前記読込先の記憶情報が前記復元された記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行し、前記判断部によって前記読込先の記憶情報が前記復元された記憶情報でないと判断された場合、前記残余のストレージの記憶情報に基づいて前記読込先の記憶情報と同一の内容の記憶情報を取得する取得処理を実行することを特徴とする請求項4または5に記載のストレージ制御装置。

請求項7

前記判断部は、前記第1の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理の進捗を表す情報から特定される記憶情報でなく、前記第1の復元処理の実行開始前の前記管理情報から特定される記憶情報でなく、かつ前記第1の復元処理の実行開始後の前記管理情報から特定される記憶情報であるか否かを判断し、前記実行部は、前記判断部によって前記読込先の記憶情報が前記第1の復元処理の進捗を表す情報から特定される記憶情報でなく、前記第1の復元処理の実行開始前の前記管理情報から特定される記憶情報でなく、かつ前記第1の復元処理の実行開始後の前記管理情報から特定される記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行することを特徴とする請求項4または5に記載のストレージ制御装置。

請求項8

コンピュータが、複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、処理を実行することを特徴とするストレージ制御方法

請求項9

コンピュータに、複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、処理を実行させることを特徴とするストレージ制御プログラム

技術分野

背景技術

0002

従来、複数台ストレージを組み合わせることにより仮想的な1台のストレージグループとして運用冗長性を向上させるRedundant Arrays of Inexpensive Disks(RAID)という技術が開示されている。また、複数のストレージのバックアップ以降の更新データの箇所を記録する修正マップを有し、障害が発生したストレージのデータを再構築する際、修正マップに記録されたバックアップ以降の更新データについて、他のストレージを基に再構築する技術がある。さらに、複数のディスクと、複数のディスクのデータをバックアップするバックアップストレージを有し、複数のディスクのうちの故障ディスク交換した際の交換ディスクのデータの復旧をバックアップストレージから行う技術がある。(たとえば、下記特許文献1、2を参照。)

先行技術

0003

特開2002−108571号公報
特開2006−252126号公報

発明が解決しようとする課題

0004

しかしながら、従来技術によれば、あるストレージに障害が発生してストレージグループの冗長性を回復させるリビルド処理中に、あるストレージ以外の別のストレージに障害が発生すると、ストレージグループを復旧することが困難である。

0005

1つの側面では、本発明は、リビルド処理中に別のストレージに障害が発生したストレージグループを復旧することを目的とする。

課題を解決するための手段

0006

上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報バックアップ先の記憶領域に複製した後に第1のストレージの第1の記憶情報が更新される場合、更新対象の第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、第1のストレージに障害が発生した場合、保持した管理情報に基づいて、複数のストレージとは異なる他のストレージに、第1のストレージの格納位置の第2の記憶情報を復元する第1の復元処理を実行し、第1のストレージに記憶された全記憶情報のうち、第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、複数のストレージのうち第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、第2の復元処理の実行中に複数のストレージのうちの第1のストレージとは異なる第2のストレージに障害が発生した場合、第2の復元処理を中断させた後、バックアップ先の第1の記憶情報と管理情報とに基づいて、他のストレージに、第1のストレージに記憶された記憶情報を復元するストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラムが提案される。

発明の効果

0007

本発明の一態様によれば、リビルド処理中に別のストレージに障害が発生したストレージグループを復旧できるという効果を奏する。

図面の簡単な説明

0008

図1は、本実施の形態にかかるストレージ制御装置の動作例を示す説明図である。
図2は、ストレージシステムハードウェア構成例を示す説明図である。
図3は、OPCの動作例を示す説明図である。
図4は、ストレージ制御装置の機能構成例を示すブロック図である。
図5は、通常読込縮退読込との動作例を示す説明図である。
図6は、差分リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。
図7は、通常リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。
図8は、連携リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。
図9は、連携リビルド処理中の第1の縮退読込の動作例を示す説明図である。
図10は、連携リビルド処理中の第2の縮退読込の動作例を示す説明図である。
図11は、ストレージシステムの状態遷移の一例を示す説明図である。
図12は、差分リビルド処理手順の一例を示すフローチャートである。
図13は、差分リビルド処理時の読込処理手順の一例を示すフローチャートである。
図14は、差分リビルド処理時の書込処理手順の一例を示すフローチャートである。
図15は、通常リビルド処理手順の一例を示すフローチャートである。
図16は、通常リビルド処理時の読込処理手順の一例を示すフローチャートである。
図17は、連携リビルド処理手順の一例を示すフローチャートである。
図18は、連携リビルド処理時の読込処理手順の一例を示すフローチャートである。

実施例

0009

以下に添付図面を参照して、開示のストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラムの実施の形態を詳細に説明する。

0010

図1は、本実施の形態にかかるストレージ制御装置の動作例を示す説明図である。ストレージシステム100は、ストレージ制御装置101と、制御対象となるディスク111〜ディスク114と、バックアップボリューム121とを含む。

0011

ディスク111〜ディスク114は、データを記憶する記憶媒体である。ストレージは、データを記憶する装置である。ストレージには、ディスクとなる記憶媒体を制御するドライブコントローラを含む。本実施の形態では、説明の簡略化のため、1ストレージに1ディスクがあるという前提で説明を行う。よって、ストレージ制御装置101は、ストレージグループとなるディスク111〜ディスク114を制御する。より具体的に、ストレージ制御装置101は、ストレージグループとなるディスク111〜ディスク114を、冗長性が保たれた1つのRAIDグループとして扱う。RAIDにはRAIDレベルがあり、本実施の形態では、RAID1以上のRAIDレベルにて実施可能である。

0012

バックアップボリューム121は、ある時刻でのディスク111〜ディスク114の複製となるスナップショットを記憶する。なお、ボリュームは、ディスクを論理的に区切ったものである。したがって、バックアップボリューム121は、1つのディスクでもよいし、複数のディスクにより形成されていてもよい。

0013

図1の(A)は、ストレージシステム100が行っている運用について説明している。運用にて行う1つ目の処理として、人為的、またはソフトウェアの不具合によるデータの消失改変対策として、ストレージシステム100は、ある時刻でのディスク111〜ディスク114の複製となるスナップショットを、バックアップボリューム121に格納する。以下、ある時刻での完全な複製を、「スナップショット」と呼称する。スナップショットの作成については、図3にて後述する。この場合、ある時刻以降の新規書込要求書込内容については、バックアップボリューム121では保証されていない。ストレージシステム100は、運用中のデータをRAIDグループの冗長性によって保証しており、人為的、またはソフトウェアの不具合により削除されたデータを、スナップショットによって保証している。

0014

さらに、運用にて行う2つ目の処理として、ストレージシステム100は、スナップショット作成後のディスク111〜ディスク114のデータが更新される場合、更新されるデータの格納位置をトラッキングビットマップ122に記録する。

0015

トラッキングビットマップ122は、更新されるデータが記憶されたディスク111〜ディスク114の格納位置を示す情報である。たとえば、トラッキングビットマップ122は、ディスク内の各ブロックに付与した通し番号を1ビットとして各ブロック分記録している。具体的に、1ブロック目のデータは、トラッキングビットマップ122の1ビット目に対応し、2ブロック目のデータは、トラッキングビットマップ122の2ビット目に対応している。また、トラッキングビットマップ122内の黒で塗られた矩形領域は、データに対応するビットがONとなっていることを示す。

0016

以下、各ディスク内の各ブロックに付与した通し番号を、Physical Logical Block Address(PLBA)と定義する。また、RAIDグループ単位でブロックに付与した通し番号を、RAID Group Logical Block Address(RLBA)と定義する。また、RAIDグループ内のブロックのうち、利用者使いたいサイズだけ切り出して形成したブロックに付与した通し番号を、Shared Logical Block Address(SLBA)として定義する。たとえば、バックアップボリューム121は、SLBAを指定することでデータにアクセスできる。

0017

次に、図1の(B)〜(D)は、ディスク111〜ディスク114のリストアの動作を示している。リストアは、ディスクに障害が発生した場合に行われる。本実施の形態では、リストアの動作として、第1の復元処理となる差分リビルド処理、第2の復元処理となる通常リビルド処理、第3の復元処理となるバックアップボリューム121との連携リビルド処理、という3つの処理を逐次行う。ここで、リビルドとは、ディスク111〜ディスク114のデータを障害が発生する前の状態に再構築して、冗長性を回復することをいう。以下、バックアップボリューム121との連携リビルド処理を、単に「連携リビルド処理」と呼称する。また、障害が発生したディスクを、「縮退ディスク」と呼称する。図1の(B)〜図1の(D)では、第1の縮退ディスクがディスク114として、また第2の縮退ディスクがディスク113として説明する。

0018

差分リビルド処理は、バックアップボリューム121にバックアップされていない、冗長グループを構成するディスク111〜ディスク114のうちの、第1の縮退ディスク114の更新対象の記憶情報を、残りのディスク111〜ディスク113の記憶情報(たとえばRAID5の場合、複数のストライプデータおよびパリティデータで構成される冗長ストライプ)を利用して、先に復元し、とりあえずディスク111〜ディスク114の冗長度を回復させる処理である。

0019

通常リビルド処理は、第1の縮退ディスク114に記憶された全記憶情報を、残りのディスク111〜ディスク113に記憶された記憶情報(たとえばRAID5の場合、複数のストライプデータおよび/またはパリティデータで構成される冗長ストライプ)を利用して、先頭から復元し、ディスク111〜ディスク114の冗長度を回復させる処理である。また、この通常リビルド処理を利用することで、差分リビルド処理で復元された箇所は除いた箇所について復元することができる。

0020

連携リビルド処理は、ディスク111〜ディスク114のうちの、第1の縮退ディスク114とは異なる第2の縮退ディスク113が発生してRAIDグループが故障した状態で、バックアップボリューム121から復元する処理である。連携リビル処理ドでは、差分リビルドおよび通常リビルドで復元できなかった残りの箇所について、バックアップボリューム121に記憶された第1の記憶情報により復元することができる。

0021

また、データの復元先は、縮退ディスクの代わりに嵌装されたディスクであってもよいし、ストレージシステム100内に予め用意されたホットスペアディスク115でもよい。本実施の形態では、データの復元先が、ホットスペアディスク115であるとする。また、ホットスペアディスクを、「HS」と呼称する。また、ストレージ制御装置101は、HS115をRAIDグループに組み込んでリストアしてもよいし、RAIDグループに組み込まずにリストアしてもよい。

0022

図1の(B)では、差分リビルド処理の動作例を示している。差分リビルド処理として、ストレージ制御装置101は、ディスク114が第1の縮退ディスクとなった場合、トラッキングビットマップ122に基づいて、HS115に、ディスク114の更新されるデータが記憶された格納位置の更新データを復元する。更新データとは、ディスク114の格納位置に記憶されたデータであってもよいし、障害が発生した後にディスク114の格納位置に格納される予定のデータであってもよい。具体的に、ストレージ制御装置101は、トラッキングビットマップ122のONとなっているビットに対応するデータを、HS115に復元する。

0023

図1の(C)では、通常リビルド処理の動作例を示している。通常リビルド処理として、ストレージ制御装置101は、差分リビルド処理によって復元していないデータについてディスク114の先頭から復元する。

0024

図1の(D)では、連携リビルド処理の動作例を示している。ディスク113が故障した場合、連携リビルド処理として、ストレージ制御装置101は、通常リビルド処理を中断させた後、バックアップボリューム121とトラッキングビットマップ122とに基づいて、HS115にディスク114のデータを復元する。通常リビルド処理の進捗を表す情報を取得した場合、ストレージ制御装置101は、通常リビルド処理の続きから復元する。

0025

このように、ストレージ制御装置101は、RAIDバックアップ後更新箇所を記憶し、ディスク故障時に更新箇所を復元した後、別ディスクが故障したら更新箇所以外をバックアップから復元する。これにより、ストレージ制御装置101は、更新箇所の冗長性はRAIDグループの故障時に回復済のため、RAIDグループを復旧できる。以下、図2図18を用いて、ストレージ制御装置101について詳細に説明する。

0026

図2は、ストレージシステムのハードウェア構成例を示す説明図である。ストレージシステム100は、ストレージ制御装置101#0、101#1と、ホストサーバ201と、Device Enclosure(DE)202と、を含む。以下、接尾記号“#x”が付与されている場合は、ストレージ制御装置101#xに関するハードウェアであることを示している。ストレージ制御装置101#0と、ストレージ制御装置101#1とは、ストレージ制御装置間通信203によって接続されている。

0027

ストレージ制御装置101#0は、CPU(Central Processing Unit)211#0と、ROM(Read‐Only Memory)212と、RAM(Random Access Memory)213#0と、を含む。また、ストレージ制御装置101#0は、Channel Adapter(CA)214#0と、Disk Interface(DI)215#0と、を含む。また、各部はバス216#0によってそれぞれ接続されている。また、ストレージ制御装置101#1も、ストレージ制御装置101#0と同様のハードウェアを有している。

0028

DE202は、RAID group Logical Unit(RLU)221#0、RLU221#1、HS115を含む。RLU221#0は、ディスク111#0〜ディスク114#0を含む。RLU221#1は、ディスク111#1〜ディスク114#1を含む。

0029

ストレージ制御装置101は、ストレージとなるディスク群を制御する装置である。具体的に、ストレージ制御装置101#0は、RLU221#0に含まれるディスク111#0〜ディスク114#0を制御する。また、ストレージ制御装置101#1は、RLU221#1に含まれるディスク111#1〜ディスク114#1を制御する。具体的な制御内容として、ストレージ制御装置101は、ディスク111〜ディスク114へのアクセスやリビルド等のリカバリ動作を制御する。

0030

ホストサーバ201は、ストレージ制御装置101と接続しているサーバである。ホストサーバ201は、さらに、ネットワークを介して、ストレージシステム100を利用する利用者端末と接続していてもよい。DE202は、ディスク111〜ディスク114を収める筐体である。

0031

CPU211は、ストレージ制御装置101の全体の制御を司る演算処理装置である。また、CPU211は、キャッシュメモリを有していてもよい。ROM212は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM213は、CPU211のワークエリアとして使用される揮発性メモリである。CA214は、ホストサーバ201とのインターフェースを提供するモジュールである。CA214は、たとえば、Fibre Channel(FC)やInternet Small Computer System Interface(iSCSI)を採用することができる。DI215は、ストレージ制御装置101とディスク111〜ディスク114を接続するモジュールである。

0032

RLU221は、複数のRAIDグループを識別するために付与された番号によって区別されたディスクの集合である。図2では、DE202は、番号“#0”が付与されたRLU221#0と、番号“#1”が付与されたRLU221#1とを示している。また、ストレージシステム100は、RLU221#1をバックアップボリューム121として使用している。RLU221#0のRAIDレベルとRLU221#1のRAIDレベルは同一でもよいし、異なってもよい。

0033

続けて、図3にて、本実施の形態にかかるストレージ制御装置101が用いる、コピー元ディスクの完全な複製を作成するOne Point Copy(OPC)の動作例を説明する。

0034

図3は、OPCの動作例を示す説明図である。OPCは、ある時刻でのコピー元ディスク301の完全な複製となるスナップショットを作成する機能である。ストレージ制御装置101は、ある時刻にて、コピー元ディスク301の先頭から、コピー先ボリューム302に複製を行う。コピー元ディスク301とコピー先ボリューム302は、同一のサイズとなる。さらに、OPC実行中にホストサーバ201から書込要求が発生した場合、ストレージ制御装置101は、コピー元ディスク301に書き込む前にコピー元ディスク301の旧データを先にコピー先ボリューム302に退避する。これにより、ストレージ制御装置101は、スナップショット作成以降の新規書込要求の書込内容がコピー先ボリューム302に反映されないようにする。

0035

また、ストレージ制御装置101は、I/OTracking機能として、書込要求の発生箇所を記録するトラッキングビットマップ122の該当のビットをONにする。また、リビルドを開始する際に、ストレージ制御装置101は、トラッキングビットマップ122をコピーしたリビルドビットマップを用意する。ストレージ制御装置101は、OPCとトラッキングビットマップ122と、リビルドビットマップを用いて、本実施の形態にかかるストレージ制御方法を実行する。

0036

(ストレージ制御装置101の機能)
次に、ストレージ制御装置101の機能について説明する。図4は、ストレージ制御装置の機能構成例を示すブロック図である。ストレージ制御装置101は、保持部401と、第1の復元部402と、第2の復元部403と、第3の復元部404と、受付部405と、判断部406と、実行部407を含む。制御部となる保持部401〜実行部407は、記憶装置に記憶されたプログラムをCPU211が実行することにより、保持部401〜実行部407の機能を実現する。記憶装置とは、具体的には、たとえば、図2に示したROM212、RAM213などである。

0037

また、ストレージ制御装置101は、ディスク111〜ディスク114、HS115を含むディスク群410、バックアップボリューム121、トラッキングビットマップ122、リビルドビットマップ411にアクセス可能である。トラッキングビットマップ122、リビルドビットマップ411は、RAM213といった記憶装置に格納されている。リビルドビットマップ411は、第1の復元部402によって差分リビルド処理が実行開始された際の、トラッキングビットマップ122がコピーされたデータである。

0038

保持部401は、RAIDグループのうちのディスク114の第1の記憶情報をバックアップボリューム121に複製した後にディスク114の第1の記憶情報が更新される場合、更新対象のディスク114における格納位置を示す情報を含む管理情報を保持する。更新対象のディスク114の格納位置を示す情報は、トラッキングビットマップ122に記憶されている。記憶情報は、RAID1であればユーザデータであり、RAID5であればユーザデータとパリティである。また、管理情報は、格納位置を示す情報の他に、更新内容を含めてもよい。なお、保持するデータは、RAM213等の記憶領域に記憶される。

0039

第1の復元部402は、ディスク114に障害が発生した場合、保持部401によって保持された管理情報に基づいて、ディスク111〜ディスク114とは異なるHS115に、ディスク114の格納位置の第2の記憶情報を復元する差分リビルド処理を実行する。なお、復元された第2の記憶情報は、HS115などの記憶領域に記憶される。

0040

第2の復元部403は、ディスク114に記憶された全記憶情報のうち、第3の記憶情報を、複数のストレージのうちディスク114を除く残余のディスクに記憶された記憶情報に基づいて復元する通常リビルド処理を実行する。第3の記憶情報とは、第1の復元部402による差分リビルド処理により復元された第2の記憶情報を除く残りの記憶情報である。なお、復元された第3の記憶情報は、HS115などの記憶領域に記憶される。

0041

第3の復元部404は、第2の復元部403による通常リビルド処理の実行中にディスク111〜ディスク114のうちのディスク114とは異なるディスク113に障害が発生した場合、通常リビルド処理を中断させる。続けて、第3の復元部404は、バックアップボリューム121に複製された第1の記憶情報と管理情報とに基づいて、HS115に、ディスク114に記憶された記憶情報を復元する。たとえば、第3の復元部404は、復元対象の記憶情報がトラッキングビットマップ122のビットがOFFの記憶情報である場合、バックアップボリューム121の記憶情報を参照して、HS115に、ディスク114の記憶情報のうちの復元対象の記憶情報を復元する。

0042

また、第3の復元部404は、通常リビルド処理の実行中にディスク113に障害が発生した場合、通常リビルド処理を中断させる。続けて、第3の復元部404は、バックアップボリューム121に複製された第1の記憶情報と管理情報と通常リビルド処理の進捗を表す情報とに基づいて、HS115に、ディスク114の全記憶情報のうちの通常リビルド処理によって復元されていない記憶情報を復元してもよい。通常リビルド処理の進捗を表す情報は、RLBA=0から通常リビルド処理が行われていれば、復元を完了したRLBAの最大値となる。たとえば、第3の復元部404は、復元を完了したRLBAの最大値の次のRLBAから復元する。または、第3の復元部404は、RAIDグループのRLBAの最大値から、復元を完了したRLBAの最大値の次のRLBAまで復元してもよい。なお、復元された記憶情報は、HS115などの記憶領域に記憶される。

0043

受付部405は、RAIDグループへの書込要求を受け付ける。また、受付部405は、RAIDグループへの読込要求を受け付ける。書込要求や読込要求は、たとえば、ホストサーバ201から発行される。なお、受付結果は、RAM213などの記憶領域に記憶される。

0044

判断部406は、差分リビルド処理か、通常リビルド処理か、連携リビルド処理の実行中に、受付部405によって読込要求が受け付けられた場合、読込要求による読込先の記憶情報が、復元された記憶情報か否かを判断する。復元された記憶情報か否かの判断については、復元処理の進捗を示したRLBAの値や、トラッキングビットマップ122のビットを参照することで判断できる。具体的な判断方法については、それぞれ図13図16図18にて後述する。

0045

また、判断部406は、連携リビルド処理の実行中に読込要求が受け付けられた場合、読込要求による読込先の記憶情報が、差分リビルド処理か通常リビルド処理か連携リビルド処理かによって復元された記憶情報か否かを判断してもよい。

0046

また、判断部406は、差分リビルド処理の実行中に読込要求が受け付けられた場合、読込先の記憶情報が、差分リビルド処理の進捗を表す情報と管理情報とに基づいて特定される差分リビルド処理によって復元された記憶情報に含まれているか否かを判断する。差分リビルド処理の進捗を表す情報は、たとえば、RLBA=0から差分リビルド処理が行われていれば、復元を完了したRLBAの最大値となる。たとえば、管理情報が、RLBA=1、5、10、14であったとする。このとき、差分リビルド処理の進捗を表す情報が10を指していた場合、復元された記憶情報は、RLBA=1、5の記憶情報となる。

0047

また、判断部406は、差分リビルド処理の実行中に、読込要求が受け付けられた場合、読込要求による読込先の記憶情報が、次の条件を満たすか否かを判断してもよい。条件とは、読込先の記憶情報が、差分リビルド処理の進捗を表す情報から特定される記憶情報でなく、差分リビルド処理の実行開始前の管理情報から特定される記憶情報でなく、かつ差分リビルド処理の実行開始後の管理情報から特定される記憶情報であるという条件である。差分リビルド処理の実行開始前の管理情報は、リビルドビットマップ411に記述されている。なお、判断結果は、RAM213などの記憶領域に記憶される。

0048

実行部407は、差分リビルド処理、または通常リビルド処理の実行中に書込要求が受け付けられた場合、ディスク群410のうち縮退ディスクを除くディスクのうちの書込要求から特定される書込先の記憶領域に書込要求の書込内容を書き込む書込処理を実行する。ディスク群410のうちの障害が発生したディスクを除くディスクは、言いかえれば、ディスク111〜ディスク114のうちの障害が発生したディスクを除く残余のディスクとHS115である。

0049

また、実行部407は、判断部406によって読込先の記憶情報が復元された記憶情報であると判断された場合、残余のストレージとHS115とのうちの読込先の記憶情報を読み込む読込処理を実行する。また、実行部407は、判断部406によって読込先の記憶情報が復元された記憶情報でないと判断された場合、バックアップボリューム121に複製された記憶情報のうちの読込先の記憶情報を読み込む読込処理を実行してもよい。ここで、読込先の記憶情報が縮退ディスクにある場合の読み込みを、「縮退読込」と呼称する。一方、読込先の記憶情報が障害が発生していないディスクにある場合の読み込みを、「通常読込」と呼称する。

0050

また、実行部407は、判断部406によって読込先の記憶情報が復元された記憶情報であると判断された場合、残余のストレージとHS115とのうちの読込先の記憶情報を読み込む読込処理を実行する。また、実行部407は、判断部406によって読込先の記憶情報が復元された記憶情報でないと判断された場合、残余のストレージの記憶情報に基づいて読込先の記憶情報と同一の内容の記憶情報を取得する取得処理を実行してもよい。取得処理は、RAIDレベルによって異なる。RAID1であれば、取得処理は、故障していないペアディスクから、読込先の記憶情報と同一の内容の記憶情報を取得する処理内容となる。また、RAID5であれば、取得処理は、故障していないディスクや、HS115上の記憶情報およびパリティのXORの算出結果から、読込先の記憶情報と同一の内容の記憶情報を取得する処理内容となる。

0051

また、実行部407は、判断部406によって次の条件を満たすと判断された場合、残余のディスクとHS115とのうちの読込先の記憶情報を読み込む読込処理を実行してもよい。条件とは、読込先の記憶情報が差分リビルド処理の進捗を表す情報から特定される記憶情報でなく、差分リビルド処理の実行開始前の管理情報から特定される記憶情報でなく、かつ差分リビルド処理の実行開始後の管理情報から特定される記憶情報である。

0052

図5は、通常読込と縮退読込との動作例を示す説明図である。図5の(A)は、RAID5における通常読込の動作例を示しており、図5の(B)は、RAID5における縮退読込の動作例を示している。図5の(A)と図5の(B)に共通する説明として、ディスク111〜ディスク114と、HS115とがあり、ディスク113に障害が発生したとする。

0053

通常読込は、障害が発生していないディスク111、ディスク112、ディスク114に記憶されている記憶情報に対して読み込む場合の処理である。図5の(A)にて示すように、通常読込を行う場合、ストレージ制御装置101は、障害が発生していないディスクから記憶情報を読み込む。また、HS115内の復元が完了している記憶情報を読み込む場合も、ストレージ制御装置101は、通常読込として、HS115から記憶情報を読み込む。

0054

縮退読込は、障害が発生したディスクに記憶されている記憶情報に対して読み込む場合の処理である。図5の(B)にて示すように、縮退読込を行う場合、ストレージ制御装置101は、障害が発生したディスク113にはアクセスせずに、障害が発生していないディスク111、ディスク112、ディスク114の記憶情報を読み込んで、目的の記憶情報を生成する。RAID5の場合、ストレージ制御装置101は、ディスク111の記憶情報と、ディスク112の記憶情報と、ディスク114の記憶情報とをXORすることにより、目的の記憶情報を生成して、目的の記憶情報を読み込む。

0055

次に、図6図8にて、差分リビルドと、通常リビルドと、連携リビルドとについて、HS115内の更新される記憶情報の状態を示す。

0056

図6は、差分リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。ビットマップ600は、差分リビルド処理中のHS115に関するトラッキングビットマップ122とリビルドビットマップ411の状態を図示している。また、ビットマップ600は、ビット601〜ビット608を含む。図6図8において、ビット601〜ビット608の内部が黒墨である場合、ビットに対応する記憶情報が保証されていることを示す。

0057

ビット601〜ビット603は、リビルドビットマップ411がONとなっており、さらに、ビットが示すRLBAがリビルドの進捗を示すリビルドRLBA未満となるビットである。具体的に、リビルドRLBAは、リビルド処理を行っているRLBAの値を示している。ビット601〜ビット603は、対応する記憶情報が、差分リビルドの実行により保証された記憶情報を示している。

0058

ビット604、ビット605は、トラッキングビットマップ122がONとなっているビットである。ビット604、ビット605は、対応する記憶情報が、リビルド処理開始以降に発生した書込要求により書き込まれ、書込要求の書込内容が保証された記憶情報となることを示している。

0059

ビット606〜ビット608は、トラッキングビットマップ122がOFF、リビルドビットマップ411がONとなっており、さらに、ビットが示すRLBAがリビルドRLBA以上となるビットである。ビット606〜ビット608は、対応する記憶情報が、差分リビルドの対象であるが、未復元の状態にあることを示している。

0060

図7は、通常リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。ビットマップ700は、通常リビルド処理中のHS115に関するトラッキングビットマップ122とリビルドビットマップ411の状態を図示している。また、ビットマップ700は、ビット605〜ビット608を含む。図6にて示していたビット601〜ビット604を含む、ビットが示すRLBAがリビルドRLBA未満となるビットは、対応する記憶情報が、通常リビルドの実行により保証された記憶情報を示している。

0061

ビット605は、トラッキングビットマップ122がONとなっており、さらに、ビットが示すRLBAがリビルドRLBA以上となるビットである。ビット605は、対応する記憶情報が、リビルド処理開始以降に発生した書込要求により書き込まれ、保証された記憶情報であることを示している。

0062

ビット606〜ビット608は、トラッキングビットマップ122がONとなっており、さらに、ビットが示すRLBAがリビルドRLBAより大きいビットである。ビット606〜ビット608は、対応する記憶情報が、差分リビルドの実行により保証された記憶情報を示す。ビット605〜ビット608は、トラッキングビットマップ122のONとなっているビットと一致している。

0063

図8は、連携リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。図8では、通常リビルド処理中に、ディスク114に障害が発生して、連携リビルドに移行した状態を示している。ビットマップ800は、連携リビルド処理中のHS115に関するトラッキングビットマップ122とリビルドビットマップ411の状態を図示している。また、ビットマップ800は、ビット605〜ビット608を含む。図6にて示していたビット601〜ビット604を含む、ビットが示すRLBAがリビルドRLBA未満となるビットは、対応する記憶情報が、通常リビルドの実行により保証された記憶情報を示している。

0064

ビット605〜ビット608は、トラッキングビットマップ122がONとなっており、さらに、ビットが示すRLBAがリビルドRLBA以上となるビットである。HS115上で、最新の書き込みされた記憶情報が保証されている領域は、RLBA=0からRLBA=リビルドRLBAまでの範囲と、トラッキングビットマップ122がONとなっているビットである。続けて、連携リビルド処理中の縮退読込について説明する。読込対象のRLBAがリビルドRLBA未満である場合、ストレージ制御装置101は、図9に示す第1の縮退読込を行う。読込対象のRLBAがリビルドRLBA以上である場合、ストレージ制御装置101は、図10に示す第2の縮退読込を行う。

0065

図9は、連携リビルド処理中の第1の縮退読込の動作例を示す説明図である。図9では、バックアップボリューム121を用いない縮退読込の動作例について説明する。バックアップボリューム121を用いない縮退読込は、RAIDグループ中1つのディスクが縮退した状態の読込と同様となる。

0066

図9中(1)で示すように、読込対象のRLBAが、障害が発生していないディスク111、ディスク112にある場合、ストレージ制御装置101は、ディスク111、ディスク112から読み込む。

0067

また、図9中(2)で示すように、HS115から読み込む場合、既に最新の記憶情報が書き込まれていることが保証されているため、ストレージ制御装置101は、HS115から読み込む。

0068

また、図9中(3)で示すように、新たな縮退ディスクとなったディスク114から読み込む場合、ストレージ制御装置101は、同一ストライプの故障していないディスクや、HS115から記憶情報を復元して読み込む。たとえば、RAID1であれば、ストレージ制御装置101は、故障していないペアディスクから読み込む。また、RAID5であれば、ストレージ制御装置101は、故障していないディスクや、HS115上の記憶情報のXORの算出結果から、縮退ディスクの記憶情報を復元する。

0069

図10は、連携リビルド処理中の第2の縮退読込の動作例を示す説明図である。図10では、バックアップボリューム121を用いる縮退読込の動作例について説明する。バックアップボリューム121を用いる縮退読込では、HS115は縮退している状態と同じ状況である。また、読込対象はバックアップボリューム121にバックアップ後の新規書込要求がなかった箇所であるので、すべての記憶情報は、バックアップボリューム121から読込可能である。

0070

図10中(1)で示すように、読込対象のRLBAが、障害が発生していないディスク111、ディスク112にある場合、ストレージ制御装置101は、ディスク111、ディスク112から読み込む。

0071

また、図10中(2)で示すように、HS115から読み込む場合、ストレージ制御装置101は、読込対象のRLBAから一意に求められるバックアップボリューム121上のSLBAから読み込む。

0072

また、図10中(3)で示すように、新たな縮退ディスクとなったディスク114から読み込む場合、ストレージ制御装置101は、バックアップボリューム121から読み込む。以下、図11を用いてリカバリ中の状態遷移を説明する。

0073

図11は、ストレージシステムの状態遷移の一例を示す説明図である。初めに、ストレージシステム100は、RAIDグループ正常状態となっている。RAIDグループ正常状態において、ストレージ制御装置101は、定期的にスナップショットを作成し、さらに、スナップショットの作成の後、トラッキングビットマップ122を作成してストレージ制御装置101の記憶領域に保持する(ステップS1101)。RAIDグループ正常状態において、ディスクに障害が発生した場合(ステップS1102)、ストレージシステム100は、リカバリ開始状態となる。リカバリ開始状態において、ストレージ制御装置101は、HS115を、障害が発生した縮退ディスクの代替ディスクに設定する。また、ストレージ制御装置101は、ストレージシステム100の管理者によって、縮退ディスクの代わりに換装されたディスクを縮退ディスクの代替ディスクに設定してもよい。

0074

リカバリ開始状態において、差分リビルド処理を開始した場合(ステップS1103)、ストレージシステム100は、差分リビルド処理実行状態となる。差分リビルド処理の詳細は、図12にて後述する。差分リビルド処理実行状態において、別のディスクに障害が発生した場合(ステップS1104)、ストレージシステム100は、リカバリ終了(失敗)状態となる。また、差分リビルド処理実行状態において、差分リビルド処理が完了した場合(ステップS1105)、ストレージシステム100は、通常リビルド処理を開始して、通常リビルド処理実行状態となる。通常リビルド処理の詳細は、図15にて後述する。

0075

通常リビルド処理実行状態において、通常リビルド処理が完了した場合(ステップS1106)、ストレージシステム100は、リカバリ終了(成功)状態となる。また、通常リビルド処理実行状態において、別のディスクに障害が発生した場合(ステップS1107)、ストレージシステム100は、連携リビルド処理を開始して、連携リビルド処理実行状態となる。連携リビルド処理の詳細は、図17にて後述する。

0076

連携リビルド処理実行状態において、さらに別のディスクに障害が発生した場合(ステップS1108)、ストレージシステム100は、リカバリ終了(失敗)状態となる。また、連携リビルド処理実行状態において、連携リビルド処理が完了した場合(ステップS1109)、ストレージシステム100は、リカバリ終了(成功)状態となる。

0077

図12は、差分リビルド処理手順の一例を示すフローチャートである。差分リビルド処理は、冗長度が低下している更新された記憶情報を復元する処理である。ストレージ制御装置101は、差分リビルド処理時点のトラッキングビットマップ122をコピーして、リビルドビットマップ411を作成する(ステップS1201)。以降の処理において、ストレージ制御装置101は、差分リビルド処理開始後の新規書込要求を含めないリビルドビットマップ411と、リビルドRLBAにより、差分リビルド処理の進捗を管理する。復元する箇所をトラッキングビットマップ122ではなく、トラッキングビットマップ122をコピーしたリビルドビットマップ411にて判断する理由は、トラッキングビットマップ122は書込要求により動的に変化するため、進捗管理が複雑となるためである。

0078

次に、ストレージ制御装置101は、リビルドRLBAに、先頭のビットのRLBAを設定する(ステップS1202)。続けて、ストレージ制御装置101は、差分リビルド処理実行状態に遷移する(ステップS1203)。次に、ストレージ制御装置101は、当該RLBAの部分リビルドを実行する(ステップS1204)。当該RLBAは、リビルドRLBAが指すRLBAのことである。部分リビルドの処理の内容は、RAIDレベルに依存する処理となる。たとえば、RAIDレベルがRAID1であれば、ストレージ制御装置101は、リビルド元ディスクから当該RLBAの記憶情報となるユーザデータをコピーしてリビルド先ディスクの当該RLBAに書き込む処理を行う。また、RAIDレベルがRAID5であれば、ストレージ制御装置101は、複数のリビルド元ディスクから記憶情報内のストライプデータとパリティを読み込み、読み込んだストライプデータとパリティをXORして、XORして得られたデータをリビルド先ディスクに書き込む処理を行う。

0079

続けて、ストレージ制御装置101は、次のビットがあるか否かを判断する(ステップS1205)。次のビットは、リビルドビットマップ411が示す次のビットとなる。次のビットがある場合(ステップS1205:Yes)、ストレージ制御装置101は、リビルドRLBAに次のビットのRLBAを設定する(ステップS1206)。ステップS1206の実行後、ストレージ制御装置101は、ステップS1204の処理に移行する。

0080

次のビットがない場合(ステップS1205:No)、ストレージ制御装置101は、リビルドビットマップ411を解放する(ステップS1207)。ステップS1207の実行終了後、ストレージ制御装置101は、差分リビルド処理を終了する。これにより、ストレージシステム100は、冗長度が低下している更新された記憶情報を復元することができる。

0081

図13は、差分リビルド処理時の読込処理手順の一例を示すフローチャートである。差分リビルド処理時の読込処理は、差分リビルド処理中に、読込要求が発生した場合の処理である。

0082

読込要求を受け付けると、ストレージ制御装置101は、読込対象のRLBAがリビルドRLBA未満か否かを判断する(ステップS1301)。読込対象のRLBAがリビルドRLBA未満である場合(ステップS1301:Yes)、続けて、ストレージ制御装置101は、トラッキングビットマップ122の読込対象のRLBAのビットがONか否かを判断する(ステップS1302)。

0083

読込対象のRLBAがリビルドRLBA未満でない場合(ステップS1301:No)、ストレージ制御装置101は、トラッキングビットマップ122の読込対象のRLBAのビットがONであり、リビルドビットマップ411の読込対象のRLBAのビットがOFFか否かを判断する(ステップS1303)。

0084

読込対象のRLBAのビットがONでない場合(ステップS1302:No)か、ステップS1303の条件に当てはまらない場合(ステップS1303:No)、ストレージ制御装置101は、読込対象ディスクが縮退ディスクか否かを判断する(ステップS1304)。読込対象ディスクが縮退ディスクである場合(ステップS1304:Yes)、ストレージ制御装置101は、図5の(B)で示した縮退読込を実行する(ステップS1305)。

0085

読込対象のRLBAのビットがONである場合(ステップS1302:Yes)か、ステップS1303の条件に当てはまる場合(ステップS1303:Yes)か、読込対象ディスクが縮退ディスクでない場合(ステップS1304:No)、ストレージ制御装置101は、図5の(A)で示した通常読込を実行する(ステップS1306)。ステップS1305、またはステップS1306の処理終了後、ストレージ制御装置101は、差分リビルド処理時の読込処理を終了する。差分リビルド処理時の読込処理を実行することにより、ストレージシステム100は、差分リビルド処理時に、読込要求を受け付けて読込処理を実行することができる。

0086

リビルドビットマップ411ではなくトラッキングビットマップ122を参照する理由について説明する。差分リビルド処理実行開始後の書込要求について、ストレージ制御装置101は、HS115も含めて書き込む。したがって、HS115上のリビルドRLBA未満の領域については、差分リビルド処理実行開始前の記憶情報は差分リビルド処理によって復元済である。さらに、トラッキングビットマップ122に記録された新規書込要求による書込内容についてもHS115上に書込内容が保証されているため、ストレージ制御装置101は、通常読込を行う。リビルドRLBA以降のトラッキングビットマップ122について、差分リビルド処理実行開始後に書込要求により書き込まれた記憶情報について、ストレージ制御装置101は、通常読込を行う。差分リビルド処理実行開始後に書込要求により書き込まれた記憶情報は、リビルドビットマップ411の対応するビットがONになっておらず、トラッキングビットマップ122の対応するビットがONとなっている。

0087

図14は、差分リビルド処理時の書込処理手順の一例を示すフローチャートである。差分リビルド処理時の読込処理は、差分リビルド処理中に、書込要求が発生した場合の処理である。

0088

書込要求を受け付けると、ストレージ制御装置101は、トラッキングビットマップ122に書込要求のRLBAを記録する(ステップS1401)。次に、ストレージ制御装置101は、リビルド先ディスクを含めたディスクに対して書き込む(ステップS1402)。ステップS1402の終了後、ストレージ制御装置101は、差分リビルド処理時の書込処理を終了する。差分リビルド処理時の読込処理を実行することにより、ストレージシステム100は、差分リビルド処理時に、書込要求を受け付けることができる。

0089

図15は、通常リビルド処理手順の一例を示すフローチャートである。通常リビルド処理は、縮退ディスクの記憶情報を復旧する処理である。ストレージ制御装置101は、リビルドRLBAを0に設定する(ステップS1501)。次に、ストレージ制御装置101は、通常リビルド処理実行状態に遷移する(ステップS1502)。続けて、ストレージ制御装置101は、当該RLBAの部分リビルドを実行する(ステップS1503)。当該RLBAの部分リビルドについては、ステップS1204にて説明した処理内容と同様であるため、説明を省略する。

0090

次に、ストレージシステム100は、故障したディスクを検出したか否かを判断する(ステップS1504)。故障したディスクを検出した場合(ステップS1504:Yes)、ストレージシステム100は、連携リビルド処理を実行する(ステップS1505)。

0091

故障したディスクを検出していない場合(ステップS1504:No)、ストレージシステム100は、リビルドRLBAが末尾RLBAか否かを判断する(ステップS1506)。リビルドRLBAが末尾RLBAである場合(ステップS1506:Yes)、ストレージシステム100は、リビルドRLBAをインクリメントする(ステップS1507)。リビルドRLBAが末尾RLBAでない場合(ステップS1506:No)、ストレージシステム100は、通常リビルド処理を終了する。通常リビルド処理を実行することにより、縮退ディスクの記憶情報を復旧することができる。

0092

図16は、通常リビルド処理時の読込処理手順の一例を示すフローチャートである。通常リビルド処理時の読込処理は、通常リビルド処理中に、読込要求が発生した場合の処理である。

0093

読込要求を受け付けると、ストレージ制御装置101は、読込対象のRLBAがリビルドRLBA未満か否かを判断する(ステップS1601)。読込対象のRLBAがリビルドRLBA以上である場合(ステップS1601:No)、ストレージ制御装置101は、読込対象ディスクが縮退ディスクか否かを判断する(ステップS1602)。縮退ディスクである場合(ステップS1602:Yes)、ストレージ制御装置101は、縮退読込を実行する(ステップS1603)。

0094

読込対象ディスクが縮退ディスクでない場合か(ステップS1602:No)、読込対象のRLBAがリビルドRLBA未満である場合(ステップS1601:Yes)、ストレージ制御装置101は、通常読込を実行する(ステップS1604)。ステップS1603の処理、またはステップS1603の処理を実行終了後、ストレージ制御装置101は、通常リビルド処理時の読込処理を終了する。通常リビルド処理時の読込処理を実行することにより、ストレージシステム100は、通常リビルド処理時に、読込要求を受け付けて、読込処理を実行することができる。なお、通常リビルド処理中の書込処理については、差分リビルド処理中の書込処理と同一の処理となるため、説明を省略する。

0095

図17は、連携リビルド処理手順の一例を示すフローチャートである。連携リビルド処理は、RAIDグループが故障した際に、バックアップボリューム121を用いて復元する処理である。

0096

ストレージ制御装置101は、通常リビルド処理からリビルドRLBAを引き継ぐ(ステップS1701)。次に、ストレージ制御装置101は、連携リビルド処理実行状態に遷移する(ステップS1702)。続けて、ストレージ制御装置101は、トラッキングビットマップ122の当該RLBAのビットがONか否かを判断する(ステップS1703)。

0097

トラッキングビットマップ122の当該RLBAのビットがOFFとなっている場合、ビットに対応する記憶情報は、OPCによる最後のバックアップ以降、更新されていない記憶情報である。したがって、トラッキングビットマップ122の当該RLBAのビットがOFFである場合(ステップS1703:No)、ストレージ制御装置101は、バックアップボリューム121からリビルド先ディスクへコピーする(ステップS1704)。

0098

トラッキングビットマップ122の当該RLBAのビットがONとなっている場合、ビットに対応する記憶情報は、OPCによる最後のバックアップ以降、書込要求によって更新された記憶情報である。したがって、トラッキングビットマップ122の当該RLBAがONである場合(ステップS1703:Yes)、ストレージ制御装置101は、バックアップボリューム121の記憶情報で上書きせず、ステップS1705の処理に移行する。

0099

ステップS1704、ステップS1705の処理終了後、ストレージ制御装置101は、リビルドRLBAが末尾RLBAか否かを判断する(ステップS1705)。リビルドRLBAが末尾RLBAでない場合(ステップS1705:No)、ストレージ制御装置101は、リビルドRLBAをインクリメントする(ステップS1706)。ステップS1706の処理終了後、ストレージ制御装置101は、ステップS1703の処理に移行する。

0100

リビルドRLBAが末尾RLBAである場合(ステップS1705:Yes)、ストレージ制御装置101は、連携リビルド処理を終了する。これにより、ストレージシステム100は、全体のリカバリ動作が成功として終了する。連携リビルド処理を実行することにより、RAIDグループが故障した際もRAIDグループを復旧できる。

0101

図18は、連携リビルド処理時の読込処理手順の一例を示すフローチャートである。連携リビルド処理時の読込処理は、連携リビルド処理中に、読込要求が発生した場合の処理である。

0102

読込要求を受け付けると、ストレージ制御装置101は、読込対象のRLBAがリビルドRLBA未満か否かを判断する(ステップS1801)。読込対象のRLBAがリビルドRLBA以上である場合(ステップS1801:No)、ストレージ制御装置101は、トラッキングビットマップ122の読込対象のRLBAのビットがONか否かを判断する(ステップS1802)。

0103

読込対象のRLBAがリビルドRLBA未満である場合(ステップS1801:Yes)、または、読込対象のRLBAのビットがONである場合(ステップS1802:Yes)、ストレージ制御装置101は、図9で説明した第1の縮退読込を実行する(ステップS1803)。読込対象のRLBAのビットがOFFである場合(ステップS1802:No)、ストレージ制御装置101は、図10で説明した第2の縮退読込を実行する(ステップS1804)。ステップS1803、またはステップS1804の処理実行後、ストレージ制御装置101は、連携リビルド処理時の読込処理を終了する。連携リビルド処理時の読込処理を実行することにより、ストレージシステム100は、連携リビルド処理時にも、読込要求を受け付けることができる。なお、連携リビルド処理中、ストレージ制御装置101は、書込要求を受け付けない。

0104

以上説明したように、ストレージ制御装置101によれば、RAIDバックアップ後の更新箇所を記憶し、ディスク故障時に更新箇所を復元した後、別ディスクが故障したら更新箇所以外をバックアップから復元する。これにより、ストレージ制御装置101は、更新箇所の冗長性はRAIDグループの故障時に回復済のため、RAIDグループを復旧できる。すなわち、RAIDグループ故障時、スナップショットからのリストア時にスナップショット作成以降の書込要求による更新部分について、ストレージ制御装置101は、データロストすることなくリストアできる。近年、ストレージ内のディスク容量が増加しているため、リビルドにかかる時間が増大しており、リビルド処理中に別のストレージに障害が発生する確率が増大しているため、本実施の形態にかかるストレージ制御プログラムの有用性が増すことになる。

0105

また、通常リビルドについては、本実施の形態にかかるストレージ制御プログラムが実行せずに、他のソフトウェアが実行してもよい。他のソフトウェアが通常リビルドに失敗した場合、本実施の形態にかかるストレージ制御プログラムは、他のソフトウェアから進捗状態を取得できない可能性もある。この場合、本実施の形態にかかるストレージ制御プログラムは、リビルドRLBA=0から連携リビルド処理を行ってもよい。これにより、ストレージシステム100は、RAIDグループの故障を復旧できる。

0106

また、ストレージ制御装置101によれば、通常リビルド処理を中断させた際に、通常リビルドの進捗を表す情報に基づいて、通常リビルド処理によって復元されていない記憶情報を連携リビルド処理によって復元してもよい。これにより、ストレージ制御装置101は、RAIDグループ故障時のリストアを、バックアップ先からフルコピーによるリストアを行わず、復元されていない記憶情報だけリストアすることができるため、連携リビルドによるリストア時間が短縮できる。連携リビルド処理によるリストア時間が短縮することにより、差分リビルド処理、通常リビルド処理、連携リビルド処理という全体のリストア時間も短縮することができる。

0107

また、ストレージ制御装置101によれば、差分リビルド処理か、通常リビルド処理の実行中に、障害が発生していないディスクとHS115のうちの書込要求から特定される書込先の記憶領域に書込要求の書込内容を書き込んでもよい。これにより、ストレージ制御装置101は、差分リビルド処理、通常リビルド処理中では、書込処理を行う業務を停止せずにリストアすることができる。

0108

また、ストレージ制御装置101によれば、リストアの実行中に、障害が発生していないディスクとHS115とのうちの読込先の記憶情報を読み込むか、バックアップボリューム121から読込先の記憶情報を読み込むかを行ってもよい。これにより、ストレージ制御装置101は、差分リビルド処理中、通常リビルド処理中、連携リビルド処理中、いずれであっても、読込処理を行う業務を停止せずにリストアすることができる。

0109

以上のように、リストア中でも、差分リビルド処理中と通常リビルド処理中では読込要求と書込要求を受け付けることができるため、ストレージ制御装置101は、書込処理と読込処理を行う業務を止めずにリストアすることができる。また、上記リストア中の連携リビルド処理であっても、読込要求を受け付けることができるため、ストレージ制御装置101は、書込処理を行わず読込処理のみ行う業務であれば、業務を止めずにリストアすることができる。

0110

また、ストレージ制御装置101によれば、連携リビルド処理中に読込要求を受け付けた場合、読込要求による読込先の記憶情報が、復元された記憶情報である場合、HS115とのうちの読込先の記憶情報を読み込む。また、読込要求による読込先の記憶情報が、復元された記憶情報でない場合、ストレージ制御装置101は、バックアップボリューム121から読込先の記憶情報を読み込んでもよい。これにより、ストレージ制御装置101は、連携リビルド中の読込要求の読込先の記憶情報が復元された記憶情報であれば、アクセスに時間がかからないHS115からアクセスできるため、ストレージシステム100の性能を向上することができる。なお、バックアップボリューム121へのアクセスは、ストレージ制御装置間通信203を介すため、自RAIDグループへのアクセスより遅くなる可能性がある。

0111

また、ストレージ制御装置101によれば、差分リビルド処理中に読込要求を受け付けた場合、読込要求による読込先の記憶情報が、復元された記憶情報に含まれている場合、HS115から読み込んでもよい。これにより、ストレージ制御装置101は、差分リビルド中の読込要求の読込先の記憶情報が復元された記憶情報であれば、アクセスに時間がかからないHS115からアクセスできるため、ストレージシステム100の性能を向上することができる。

0112

また、ストレージ制御装置101によれば、差分リビルド処理中に読込要求を受け付けた際、リビルドビットマップ411の読込対象のビットがOFFであり、トラッキングビットマップ122の読込対象のビットがONであれば、HS115から読み込んでもよい。これにより、ストレージ制御装置101は、アクセスに時間がかからないHS115からアクセスできるため、ストレージシステム100の性能を向上することができる。

0113

なお、本実施の形態で説明したストレージ制御方法は、予め用意されたプログラムをパーソナルコンピュータワークステーション等のコンピュータで実行することにより実現することができる。本ストレージ制御プログラムは、ハードディスクフレキシブルディスクCD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本ストレージ制御プログラムは、インターネット等のネットワークを介して配布してもよい。

0114

上述した実施の形態に関し、さらに以下の付記を開示する。

0115

(付記1)複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持する保持部と、
前記第1のストレージに障害が発生した場合、前記保持部によって保持された前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行する第1の復元部と、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行する第2の復元部と、
前記第2の復元部による第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する第3の復元部と、
を有することを特徴とするストレージ制御装置。

0116

(付記2)前記第3の復元部は、
前記第2の復元処理の実行中に前記第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の記憶領域に複製された第1の記憶情報と、前記管理情報と前記第2の復元処理の進捗を表す情報とに基づいて、前記他のストレージに、前記第1のストレージの全記憶情報のうちの前記第1の復元処理および前記第2の復元処理によって復元されていない記憶情報を復元することを特徴とする付記1に記載のストレージ制御装置。

0117

(付記3)前記ストレージグループへの書込要求を受け付ける受付部と、
前記第1の復元処理の実行中、または前記第2の復元処理の実行中に、前記受付部によって前記書込要求が受け付けられた場合、前記複数のストレージのうちの障害が発生したストレージを除く残余のストレージと前記他のストレージとのうちの前記書込要求から特定される書込先の記憶領域に前記書込要求の書込内容を書き込む書込処理を実行する実行部と、
を有することを特徴とする付記1または2に記載のストレージ制御装置。

0118

(付記4)前記ストレージグループへの読込要求を受け付ける受付部と、
前記第1の復元処理の実行中か、前記第2の復元処理の実行中か、前記第3の復元部による第3の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による読込先の記憶情報が、前記第1の復元処理か前記第2の復元処理か前記第3の復元処理かによって復元された記憶情報か否かを判断する判断部と、
前記判断部による判断結果に基づいて、前記複数のストレージのうちの障害が発生したストレージを除く残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理か、前記バックアップ先の記憶領域に複製された記憶情報のうちの前記読込先の記憶情報を読み込む読込処理を実行する実行部と、
を有することを特徴とする付記1〜3のいずれか一つに記載のストレージ制御装置。

0119

(付記5)前記判断部は、
前記第3の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理か前記第2の復元処理か前記第3の復元処理かによって復元された記憶情報か否かを判断し、
前記実行部は、
前記判断部によって前記読込先の記憶情報が前記復元された記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行し、
前記判断部によって前記読込先の記憶情報が前記復元された記憶情報でないと判断された場合、前記バックアップ先の記憶領域に複製された記憶情報のうちの前記読込先の記憶情報を読み込む読込処理を実行することを特徴とする付記4に記載のストレージ制御装置。

0120

(付記6)前記判断部は、
前記第1の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理の進捗を表す情報と前記管理情報とに基づいて特定される前記第1の復元処理によって復元された記憶情報に含まれているか否かを判断し、
前記実行部は、
前記判断部によって前記読込先の記憶情報が前記復元された記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行し、
前記判断部によって前記読込先の記憶情報が前記復元された記憶情報でないと判断された場合、前記残余のストレージの記憶情報に基づいて前記読込先の記憶情報と同一の内容の記憶情報を取得する取得処理を実行することを特徴とする付記4または5に記載のストレージ制御装置。

0121

(付記7)前記判断部は、
前記第1の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理の進捗を表す情報から特定される記憶情報でなく、前記第1の復元処理の実行開始前の前記管理情報から特定される記憶情報でなく、かつ前記第1の復元処理の実行開始後の前記管理情報から特定される記憶情報であるか否かを判断し、
前記実行部は、
前記判断部によって前記読込先の記憶情報が前記第1の復元処理の進捗を表す情報から特定される記憶情報でなく、前記第1の復元処理の実行開始前の前記管理情報から特定される記憶情報でなく、かつ前記第1の復元処理の実行開始後の前記管理情報から特定される記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行することを特徴とする付記4または5に記載のストレージ制御装置。

0122

(付記8)複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持する保持部と、
前記第1のストレージに障害が発生した場合、前記保持部によって保持された前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行する第1の復元部と、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行する第2の復元部と、
前記第2の復元部による第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する第3の復元部と、
を有するコンピュータを含むことを特徴とするストレージ制御装置。

0123

(付記9)コンピュータが、
複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、
前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、
前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、
処理を実行することを特徴とするストレージ制御方法。

0124

(付記10)コンピュータに、
複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、
前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、
前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、
処理を実行させることを特徴とするストレージ制御プログラム。

0125

(付記11)複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、
前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、
前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、
処理をコンピュータに実行させるストレージ制御プログラムを記録したことを特徴とする記録媒体。

0126

100ストレージシステム
101ストレージ制御装置
111〜114ディスク
115 HS
121バックアップボリューム
122トラッキングビットマップ
401 保持部
402 第1の復元部
403 第2の復元部
404 第3の復元部
405 受付部
406 判断部
407 実行部
411リビルドビットマップ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ