図面 (/)

技術 ストレージ装置及び障害復旧方法

出願人 株式会社日立製作所
発明者 谷本大助岡木拓也
出願日 2008年6月5日 (12年6ヶ月経過) 出願番号 2008-147808
公開日 2009年12月17日 (11年0ヶ月経過) 公開番号 2009-294901
状態 未査定
技術分野 エラーの検出訂正 外部記憶装置との入出力
主要キーワード 関連閾値 連続出現回数 書込み数 書込みカウンタ データ転送コントローラ 初期フォーマット 未書込み 障害復旧方式
関連する未来課題
重要な関連分野

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

図面 (16)

課題

性能低下を軽減しながら障害復旧処理を行い得るストレージ装置及び障害復旧方法を提案する。

解決手段

複数の記憶媒体が提供する記憶領域について、ユーザデータが書き込まれているか否かをストライプごとに管理し、記憶媒体のいずれかが障害により閉塞したときに、複数の記憶媒体が提供する記憶領域のうち、ユーザデータが書き込まれていないストライプに優先して、ユーザデータが書き込まれているストライプに対するコレクションコピー処理を実行し、複数の記憶媒体が提供する記憶領域のうち、ユーザデータが書き込まれていないストライプについては、空き時間を利用してコレクションコピー処理を実行するようにした。

概要

背景

近年、企業や官におけるデータ保存用のストレージ装置として、複数のハードディスク装置をRAID(Redundant Array of Inexpensive Disks)方式で管理・運用する、いわゆるディスクアレイ装置が広く用いられている。

ディスクアレイ装置では、所定数のハードディスク装置によって1つのRAIDグループが構成され、1つのRAIDグループを構成する各ハードディスク装置が提供する記憶領域上に1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)が定義される。

そしてホスト装置からのユーザデータは、ハードディスク装置におけるデータの読書きの単位であるブロックと同じサイズに分割され、かかるユーザデータに基づいて生成された冗長データ(以下、これをパリティデータと呼ぶ)と共にRAIDグループを構成する各ハードディスク装置に分散されて書き込まれる。

かかるパリティデータの存在により、RAIDグループを構成する1台又は2台のハードディスク装置が障害により閉塞した場合に、当該閉塞したハードディスク装置(以下、適宜、これを閉塞ハードディスク装置と呼ぶ)に格納されていたユーザデータを、他のハードディスク装置に格納されている対応するユーザデータ及び対応するパリティデータに基づいて復元することができる。

なお、特許文献1及び特許文献2には、上述のパリティデータを用いて閉塞ハードディスク装置に格納されていたデータを復元する技術に関する発明が開示されている。
特開2003−167690号公報
特開2002−175158号公報

概要

性能低下を軽減しながら障害復旧処理を行い得るストレージ装置及び障害復旧方法を提案する。複数の記憶媒体が提供する記憶領域について、ユーザデータが書き込まれているか否かをストライプごとに管理し、記憶媒体のいずれかが障害により閉塞したときに、複数の記憶媒体が提供する記憶領域のうち、ユーザデータが書き込まれていないストライプに優先して、ユーザデータが書き込まれているストライプに対するコレクションコピー処理を実行し、複数の記憶媒体が提供する記憶領域のうち、ユーザデータが書き込まれていないストライプについては、空き時間を利用してコレクションコピー処理を実行するようにした。

目的

ディスクアレイ装置では、所定数のハードディスク装置によって1つのRAIDグループが構成され、1つのRAIDグループを構成する各ハードディスク装置が提供する

効果

実績

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

この技術が所属する分野

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

請求項1

ホスト装置から与えられたユーザデータを、当該ユーザデータに基づき生成した冗長データと共に複数の記憶媒体に分散して書き込むストレージ装置において、前記複数の記憶媒体が提供する記憶領域について、前記ユーザデータを読み書きする単位領域であるストライプごとに、前記ユーザデータが書き込まれているか否かを管理する管理部と、前記記憶媒体のいずれかが障害により閉塞したときに、当該記憶媒体に格納されたデータを復元してスペアの記憶媒体にコピーするコレクションコピー処理を、前記ストライプごとに実行するコレクションコピー処理実行部とを備え、前記コレクションコピー実行部は、前記複数の記憶媒体が提供する記憶領域のうち、前記ユーザデータが書き込まれていない前記ストライプに優先して、前記ユーザデータが書き込まれている前記ストライプに対する前記コレクションコピー処理を実行し、前記複数の記憶媒体が提供する記憶領域のうち、前記ユーザデータが書き込まれていない前記ストライプについては、空き時間を利用して前記コレクションコピー処理を実行することを特徴とするストレージ装置。

請求項2

各前記ストライプにそれぞれ対応させてフラグが設けられ、前記管理部は、前記複数の記憶媒体が提供する記憶領域に前記ホスト装置からのユーザデータを書き込んだときには、当該ユーザデータを書き込んだ前記ストライプと対応付けられた前記フラグの状態を所定状態に変化させ、前記障害復旧部は、前記ユーザデータが書き込まれている前記ストライプに対する前記コレクションコピー処理を実行する際、前記フラグの状態に基づいて、対象とする前記ストライプに前記ユーザデータが書き込まれているか否かを判定することを特徴とする請求項1に記載のストレージ装置。

請求項3

前記フラグは、前記記憶媒体に保持されたことを特徴とする請求項1に記載のストレージ装置。

請求項4

前記フラグを保持する前記記憶媒体は、前記冗長データを記憶する前記記憶媒体であることを特徴とする請求項3に記載のストレージ装置。

請求項5

前記複数の記憶媒体は、RAID(Redundant Array of Inexpensive Disks)グループを構成し、前記障害復旧部は、前記ユーザデータが書き込まれた前記ストライプの連続出現数、前記RAIDグループを構成する前記記憶媒体の数及び前記RAIDグループに設定されたRAIDレベルのうちの少なくとも1つに基づいて、前記記憶媒体が閉塞したときの障害復旧方式を、前記ユーザデータが書き込まれていない前記ストライプに優先して、前記ユーザデータが書き込まれている前記ストライプに対するデータの復元処理を実行する第1の障害復旧方式から、すべての前記ストライプに対するデータの復元処理を実行する第2の障害復旧方式に切り換えることを特徴とする請求項1に記載のストレージ装置。

請求項6

ホスト装置から与えられたユーザデータを、当該ユーザデータに基づき生成した冗長データと共に複数の記憶媒体に分散して書き込むストレージ装置における障害復旧方法において、前記複数の記憶媒体が提供する記憶領域について、前記ユーザデータを読み書きする単位領域であるストライプごとに、前記ユーザデータが書き込まれているか否かを管理する第1のステップと、前記記憶媒体のいずれかが障害により閉塞したときに、当該記憶媒体に格納されたデータを復元してスペアの記憶媒体にコピーするコレクションコピー処理を、前記ストライプごとに実行する第2のステップとを備え、前記第2のステップでは、前記複数の記憶媒体が提供する記憶領域のうち、前記ユーザデータが書き込まれていない前記ストライプに優先して、前記ユーザデータが書き込まれている前記ストライプに対する前記コレクションコピー処理を実行し、前記複数の記憶媒体が提供する記憶領域のうち、前記ユーザデータが書き込まれていない前記ストライプについては、空き時間を利用して前記コレクションコピー処理を実行することを特徴とする障害復旧方法。

請求項7

各前記ストライプにそれぞれ対応させてフラグが設けられ、前記第1のステップでは、前記複数の記憶媒体が提供する記憶領域に前記ホスト装置からのユーザデータを書き込んだときには、当該ユーザデータを書き込んだ前記ストライプと対応付けられた前記フラグの状態を所定状態に変化させ、前記第2のステップでは、前記ユーザデータが書き込まれている前記ストライプに対する前記コレクションコピー処理を実行する際、前記フラグの状態に基づいて、対象とする前記ストライプに前記ユーザデータが書き込まれているか否かを判定することを特徴とする請求項6に記載の障害復旧方法。

請求項8

前記フラグは、前記記憶媒体に保持されたことを特徴とする請求項6に記載の障害復旧方法。

請求項9

前記フラグを保持する前記記憶媒体は、前記冗長データを記憶する前記記憶媒体であることを特徴とする請求項8に記載の障害復旧方法。

請求項10

前記複数の記憶媒体は、RAID(Redundant Array of Inexpensive Disks)グループを構成し、前記第2のステップでは、前記ユーザデータが書き込まれた前記ストライプの連続出現数、前記RAIDグループを構成する前記記憶媒体の数及び前記RAIDグループに設定されたRAIDレベルのうちの少なくとも1つに基づいて、前記記憶媒体が閉塞したときの障害復旧方式を、前記ユーザデータが書き込まれていない前記ストライプに優先して、前記ユーザデータが書き込まれている前記ストライプに対するデータの復元処理を実行する第1の障害復旧方式から、すべての前記ストライプに対するデータの復元処理を実行する第2の障害復旧方式に切り換えることを特徴とする請求項6に記載の障害復旧方法。

技術分野

0001

本発明は、ストレージ装置及び障害復旧方法に関し、例えばディスクアレイ装置に適用して好適なものである。

背景技術

0002

近年、企業や官におけるデータ保存用のストレージ装置として、複数のハードディスク装置をRAID(Redundant Array of Inexpensive Disks)方式で管理・運用する、いわゆるディスクアレイ装置が広く用いられている。

0003

ディスクアレイ装置では、所定数のハードディスク装置によって1つのRAIDグループが構成され、1つのRAIDグループを構成する各ハードディスク装置が提供する記憶領域上に1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)が定義される。

0004

そしてホスト装置からのユーザデータは、ハードディスク装置におけるデータの読書きの単位であるブロックと同じサイズに分割され、かかるユーザデータに基づいて生成された冗長データ(以下、これをパリティデータと呼ぶ)と共にRAIDグループを構成する各ハードディスク装置に分散されて書き込まれる。

0005

かかるパリティデータの存在により、RAIDグループを構成する1台又は2台のハードディスク装置が障害により閉塞した場合に、当該閉塞したハードディスク装置(以下、適宜、これを閉塞ハードディスク装置と呼ぶ)に格納されていたユーザデータを、他のハードディスク装置に格納されている対応するユーザデータ及び対応するパリティデータに基づいて復元することができる。

0006

なお、特許文献1及び特許文献2には、上述のパリティデータを用いて閉塞ハードディスク装置に格納されていたデータを復元する技術に関する発明が開示されている。
特開2003−167690号公報
特開2002−175158号公報

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

0007

ところで、従来のディアレイ装置では、ユーザデータが書き込まれているか否かに係わらず、閉塞ハードディスク装置のすべての記憶領域についてデータの復元を行い、復元したデータをスペアのハードディスク装置(以下、これをスペアハードディスク装置と呼ぶ)に格納し終えた時点で障害復旧処理の完了としている。

0008

このため従来の障害復旧方式によると、ユーザデータが書き込まれていない記憶領域についてもデータの復元処理が行われるため、障害復旧処理に多くの時間を要するという問題があった。特に近年では、ハードディスク装置の容量の増大に伴い、障害復旧処理に要する時間が増加傾向にある。

0009

この場合において、かかる障害復旧処理時は、ホスト装置からの要求に応じたデータ入出力処理処理性能が低下する。従って、障害復旧処理に要する時間が増加すると、データ入出力処理の処理性能が低下した状態がより長い時間継続することになる。

0010

本発明は以上の点を考慮してなされたもので、性能低下を軽減しながら障害復旧処理を行い得るストレージ装置及び障害復旧方法を提案しようとするものである。

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

0011

かかる課題を解決するため本発明においては、ホスト装置から与えられたユーザデータを、当該ユーザデータに基づき生成した冗長データと共に複数の記憶媒体に分散して書き込むストレージ装置において、前記複数の記憶媒体が提供する記憶領域について、前記ユーザデータを読み書きする単位領域であるストライプごとに、前記ユーザデータが書き込まれているか否かを管理する管理部と、前記記憶媒体のいずれかが障害により閉塞したときに、当該記憶媒体に格納されたデータを復元してスペアの記憶媒体にコピーするコレクションコピー処理を、前記ストライプごとに実行するコレクションコピー処理実行部とを備え、前記コレクションコピー実行部は、前記複数の記憶媒体が提供する記憶領域のうち、前記ユーザデータが書き込まれていない前記ストライプに優先して、前記ユーザデータが書き込まれている前記ストライプに対する前記コレクションコピー処理を実行し、前記複数の記憶媒体が提供する記憶領域のうち、前記ユーザデータが書き込まれていない前記ストライプについては、空き時間を利用して前記コレクションコピー処理を実行するようにした。

0012

この結果、このストレージ装置によれば、コレクションコピー処理を実行することに起因してデータ入出力処理の処理性能が低下する時間を短縮化することができる。

0013

また本発明においては、ホスト装置から与えられたユーザデータを、当該ユーザデータに基づき生成した冗長データと共に複数の記憶媒体に分散して書き込むストレージ装置における障害復旧方法において、前記複数の記憶媒体が提供する記憶領域について、前記ユーザデータを読み書きする単位領域であるストライプごとに、前記ユーザデータが書き込まれているか否かを管理する第1のステップと、前記記憶媒体のいずれかが障害により閉塞したときに、当該記憶媒体に格納されたデータを復元してスペアの記憶媒体にコピーするコレクションコピー処理を、前記ストライプごとに実行する第2のステップとを備え、前記第2のステップでは、前記複数の記憶媒体が提供する記憶領域のうち、前記ユーザデータが書き込まれていない前記ストライプに優先して、前記ユーザデータが書き込まれている前記ストライプに対する前記コレクションコピー処理を実行し、前記複数の記憶媒体が提供する記憶領域のうち、前記ユーザデータが書き込まれていない前記ストライプについては、空き時間を利用して前記コレクションコピー処理を実行するようにした。

0014

この結果、この障害復旧方法によれば、コレクションコピー処理を実行することに起因してデータ入出力処理の処理性能が低下する時間を短縮化することができる。

発明の効果

0015

本発明によれば、コレクションコピー処理を実行することに起因してデータ入出力処理の処理性能が低下する時間を短縮化することができるため、性能低下を軽減しながら障害復旧処理を実行することができる。

発明を実施するための最良の形態

0016

下図面について、本発明の一実施の形態を詳述する。

0017

(1)本実施の形態による記憶システムの構成
図1において、1は全体として本実施の形態による情報処理システムを示す。この情報処理システム1は、上位装置としてのホスト装置2がネットワークを3介してディスクアレイ装置4と接続されることにより構成されている。

0018

ホスト装置2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたメインフレーム系コンピュータ装置であり、キーボード、スイッチやポインティングデバイスマイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイスピーカ等の情報出力装置(図示せず)とを備えて構成される。

0019

ネットワーク3は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット公衆回線又は専用回線などから構成される。このネットワーク3を介したホスト装置2及びディスクアレイ装置4間の通信は、例えばネットワーク3がSANである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク3がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。

0020

ディスクアレイ装置4は、複数のハードディスク装置10から構成される記憶部11と、これらハードディスク装置10に対するデータの入出力を制御するコントローラ12とを備える。

0021

ハードディスク装置10は、例えばSCSI(Small Computer System Interface)ディスク等の高価なハードディスク装置又はSATA(Serial AT Attachment)ディスク等の安価なハードディスク装置から構成される。これら記憶部のハードディスク装置10は、コントローラ12によりRAID方式で運用・管理される。

0022

所定数のハードディスク装置10によって1つのRAID(Redundant Array of Inexpensive Disks)グループが構成され、1つのRAIDグループを構成する各ハードディスク装置10が提供する記憶領域上に1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)VOLが定義される。そして、ホスト装置2からのユーザデータがこの論理ボリュームVOLに所定の大きさのブロックを単位として読み書きされる。

0023

各論理ボリュームVOLには、それぞれ固有識別子(LUN:Logical Unit Number)が割り当てられる。本実施の形態の場合、ユーザデータの入出力は、この識別子と、各ブロックにそれぞれ割り当てられるそのブロックに固有の番号(LBA:Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。

0024

コントローラ12は、チャネルインタフェース20、CPU21、ローカルメモリ22、データ転送コントローラ23、キャッシュメモリ24、ディスクインタフェース25及び管理端末26を備えて構成される。

0025

チャネルインタフェース20は、ネットワーク3に対するインタフェースであり、ハードディスク装置10に読み書きするユーザデータや各種コマンドなどをホスト装置2との間で送受信する。

0026

CPU21は、ハードディスク装置10からローカルメモリ22に読み出されたマイクロプログラムを実行することにより、ホスト装置2から与えられる各種コマンドに応じた制御処理を実行する。

0027

ローカルメモリ22は、主として後述するマイクロプログラムを記憶するために用いられるほか、CPU21のワークメモリとしても用いられる。またデータ転送コントローラ23は、CPU21の制御に基づいて、チャネルインタフェース20及びディスクインタフェース25間のデータ転送を制御する。

0028

キャッシュメモリ24は、チャネルインタフェース20及びディスクインタフェース25間において転送されるデータを一時的に記憶するために用いられる。このキャッシュメモリ24には、ディスクアレイ装置4のシステム構成に関する情報(システム情報)も格納される。

0029

ディスクインタフェース25は、各ハードディスク装置10に対するインタフェースであり、例えばファイバーチャネルプロトコルに従ってユーザデータや各種コマンドをハードディスク装置10との間でやり取りする。

0030

管理端末26は、例えばノート型パーソナルコンピュータから構成される。管理端末26は、CPU21を介してディスクアレイ装置4内の障害の有無に関する情報を収集し、必要な情報を表示する。またCPU21からの要求に応じて必要な情報を表示する。

0031

(2)本実施の形態による障害復旧方式
次に、いずれかのハードディスク装置10が障害により閉塞した場合に、ディスクアレイ装置4において行われる当該障害からの復旧処理方式(以下、これを本実施の形態による障害復旧方式と呼ぶ)について説明する。

0032

まず、従来の障害復旧方式について、図2を用いて説明する。図2は、「HDD0」〜「HDD2」という3台のハードディスク装置10により構成されるRAIDグループ30において、「HDD2」というハードディスク装置10が障害により閉塞した場合を示している。RAIDグループ30は、RAIDレベルが「RAID5」又は「RAID6」に設定されているものとする。またこの図2において、A0〜A2,B0〜B2,C0〜C2,……は、それぞれ1つのストライプSTA,STB,STC,……を構成するブロックを表すものとする。なお「ストライプ」とは、ユーザデータをRAIDグループ30が提供する記憶領域にRAID方式で読み書きする際の記憶領域の単位をいう。

0033

この場合、ディスクアレイ装置4のコントローラ12は、障害により閉塞したハードディスク装置10以外の各ハードディスク装置10から、先頭の「STA」というストライプを構成する各ブロックにそれぞれ格納されたユーザデータやパリティデータを順次読み出す。例えば図2の場合、「HDD2」というハードディスク装置10が閉塞しているため、コントローラ12は、「HDD0」というハードディスク装置10内の「A0」というブロックと、「HDD1」というハードディスク装置10内の「A1」というブロックとから、それぞれユーザデータやパリティデータを読み出す。

0034

続いてコントローラ12は、「A0」というブロックと、「A1」というブロックとからそれぞれ読み出したユーザデータ又はパリティデータに基づいて、閉塞ハードディスク装置10内の「A2」というブロックに格納されていたユーザデータ又はパリティデータを復元し、これを「HDD3」というスペアハードディスク装置10内の対応する「A3」というブロックに書き込む。

0035

そしてコントローラ12は、「ST0」以降の各ストライプ(STA,STB,……)について、以上の処理(以下、このように障害により閉塞したハードディスク装置10に格納されていたユーザデータやパリティデータを当該閉塞ハードディスク装置10以外の各ハードディスク装置10に格納されたユーザデータやパリティデータに基づいて復元してスペアハードディスク装置10にコピーする処理をコレクションコピー処理と呼ぶ)をシーケンシャルに行う。

0036

この際、コントローラ12は、ユーザデータが書き込まれていないストライプについても同様のコレクションコピー処理を行う。例えば図2の例の場合、「STB」というストライプにはユーザデータが書き込まれていないが、コントローラ12は、「HDD0」というハードディスク装置10の「B0」というブロックと「HDD1」というハードディスク装置10の「B1」というブロックからそれぞれデータ(ここでは初期化のときに格納された初期フォーマット用データ)を読み出し、これらデータに基づいて障害ハードディスク装置10の「B2」というブロックに格納されていたデータを復元して、これをスペアハードディスク装置10内の「B3」というブロックに格納する。

0037

ところで、このような従来の障害復旧方式によると、ユーザデータが書き込まれているか否かに係わりなく、障害が発生したRAIDグループ(以下、これを障害RAIDグループと呼ぶ)30内のすべてのストライプについて、順次コレクションコピー処理を行うため、障害復旧処理に多くの時間を要する。特に近年では近年のハードディスク装置の容量の増大に伴い、障害復旧処理に要する時間が増加傾向にある。

0038

ところが、かかる障害復旧処理時は、障害復旧処理のためにコントローラ12の処理能力が多く割り当てられるため、ホスト装置2からコマンドに応じたデータ入出力処理の処理性能が低下する。従って、障害復旧処理に要する時間が増加すると、データ入出力処理の処理性能が低下した状態の時間もそれだけ増加するという問題がある。

0039

そこで本実施の形態によるディスクアレイ装置4では、上述のような従来方式による障害復旧処理を実行する機能に加えて、障害が発生したRAIDグループ30内のストライプのうち、ユーザデータが格納されたストライプについてのコレクションコピー処理を優先的に行い、ユーザデータが格納されていないストライプについては、空き時間(負荷が少なく、かかるコレクションコピー処理がホスト装置2からの要求に応じたデータ入出力処理の処理性能に影響を与えない時間)を利用してコレクションコピー処理行う機能が搭載されている点を特徴の1つとしている。

0040

かかる機能を実現するための手段として、本実施の形態によるディスクアレイ装置4では、各ストライプのパリティデータが格納されるブロックにおける管理領域内の所定の1ビットを、そのブロックが属するストライプにユーザデータが書き込まれているか否かを管理するために用いる。

0041

すなわち、図3に示すように、ハードディスク装置10では、各ブロック31が512バイトのデータ領域31Aと、8バイトの管理領域31Bから構成されている。そして本実施の形態においては、この管理領域31B内の1ビットを、そのブロックが属するストライプにユーザデータが書き込まれているか否かを管理するための書込み管理フラグ31Cとして用いる。

0042

そしてディスクアレイ装置4は、ホスト装置2からのユーザデータをハードディスク装置10に書き込む際に、そのユーザデータに基づき生成したパリティデータを格納するブロック31の管理領域31Bの書込み管理フラグ31Cをオン(「1」)に設定する。

0043

またディスクアレイ装置4は、いずれかのRAIDグループ30に属するハードディスク装置10が障害により閉塞した場合であって、閉塞ハードディスク装置10に格納されていたユーザデータをスペアハードディスク装置10にコレクションコピーする際には、ストライプごとに、パリティデータが格納されるブロック31の管理領域31Bに格納された書込み管理フラグ31Cをチェックし、この書込み管理フラグ31Cに基づいてそのストライプにユーザデータが書き込まれているか否かを判定する。

0044

そしてディスクアレイ装置4は、かかる判定によりそのストライプにはユーザデータが書き込まれていなかったと判断した場合には、そのストライプに対するデータのコレクションコピー処理を行わず、そのストライプにデータが書き込まれていたと判断した場合にのみ、そのストライプに対するデータのコレクションコピー処理を実行する。

0045

以上のような処理を障害RAIDグループ30内のすべてのストライプについて終えた段階で、ハードディスク装置10の障害により失われたユーザデータの復元は完了しており、ユーザデータの冗長度回復する。そこで、ディスクアレイ装置4は、その段階で障害ハードディスク装置10に対する復旧処理を完了とする。そしてディスクアレイ装置4は、この後、ユーザデータが書き込まれていないストライプについて、例えば初期フォーマット用データのコレクションコピー処理を、空き時間を利用してバックグランドで実行する。

0046

ところで、以上のような本実施の形態による障害復旧方式によると、ユーザデータが書き込まれたストライプの数が多い場合に、ストライプごとに書込み管理フラグ31Cの状態を確認する必要がある分、従来の障害復旧方式に比べて障害復旧処理に時間を要するという問題がある。

0047

そこで、本実施の形態によるディスクアレイ装置4では、障害復旧処理時にユーザデータをコレクションコピー処理すべきストライプ(つまりユーザデータが書き込まれていたストライプ)の連続出現回数カウントし、このカウント値が予め設定された第1の閾値(以下、これを連続書込み閾値と呼ぶ)を超えた場合には、障害復旧方式を従来の障害復旧方式に切り換えて障害復旧処理を行う。

0048

ただし、従来の障害復旧方式による障害復旧処理を実行している際も常に各ストライプの書込み管理フラグをチェックして、ユーザデータが未書込みのストライプの連続出現回数をカウントし、このカウント値が予め定められた第2の閾値(以下、これを連続未書込み閾値と呼ぶ)を超えた場合には、障害復旧方式を本実施の形態による障害復旧方式に切り換える。

0049

一方、従来の障害復旧方式によると、閉塞ハードディスク装置10に格納されていたユーザデータやパリティデータを復元する際、RAIDグループ30を構成するハードディスク装置数(以下、適宜、これをデータディスク幅と呼ぶ)がある一定数を超える場合に、障害復旧処理がデータ入出力性能に悪影響を及ぼす問題がある。

0050

これは、例えばデータディスク幅が8台以内であれば閉塞ハードディスク装置10に保存されていたユーザデータを1回の演算により算出できるが、データディスク幅が8台を超えると当該ユーザデータの復元に複数回の演算を要するなど、データディスク幅がある一定数を超えるとデータ復元のための演算処理の負荷が大きくなることに起因する。

0051

そこで本実施の形態によるディスクアレイ装置4では、データ復元のための演算処理がデータ入出力性能に悪影響を及ぼさない最大のデータディスク幅をデータディスク幅境界値として設定できるようになされている。そしてディスクアレイ装置4は、障害RAIDグループ30のデータディスク幅がかかるデータディスク幅境界値以下である場合には従来方式による障害復旧処理を実行し、障害RAIDグループ30のデータディスク幅を超える場合には本方式による障害復旧処理を実行する。

0052

他方、上述のような本実施の形態による障害復旧方式を採用するに際しては、障害RAIDグループに設定されたRAIDレベルを考慮する必要がある。これは、例えばRAID5ではストライプ当たりのパリティ数が1であるのに対してRAID6ではストライプ当たりのパリティ数が2であることに起因する。

0053

そこで本実施の形態によるディスクアレイ装置4では、障害RAIDグループ30のRAIDレベルがRAID5に設定されている場合、図4に示すように、閉塞ハードディスク装置10にユーザデータが格納されているストライプ(例えば図4の「STA」、「STD」及び「STE」)については、当該ストライプを構成する他のブロックに格納されたユーザデータ及びパリティデータを用いて閉塞ハードディスク装置10に格納されていたユーザデータのコレクションコピー処理を実行する。またユーザデータが格納されていないストライプ(例えば図4の「STB」及び「STG」)については、コレクションコピー処理を実行しない。

0054

さらに閉塞ハードディスク装置10にパリティデータが格納されていた又はパリティデータが格納されるべきストライプ(例えば図4の「STC」及び「STF」)については、書込み管理フラグ31Cのチェックが行えないため、書込み管理フラグ31Cが「オン」に設定されている場合と同様に、常に、そのストライプを構成する他のブロックに格納されたユーザデータを用いてコレクションコピー処理を実行する。

0055

これに対して障害RAIDグループ30のRAIDレベルがRAID6に設定されている場合であって、閉塞ハードディスク装置10が1台のときには、図5に示すように、すべてのストライプに読み出し可能なパリティデータが必ず1つ存在する。

0056

よってこの場合には、障害RAIDグループ30内のすべてのストライプについて書込み管理フラグ31Cのチェックを行う。そして、ユーザデータが書き込まれているストライプ(例えば図5の「STA」、「STC」〜「STE」)については、そのストライプを構成する他のブロックからユーザデータ及びパリティデータを読み出して閉塞ハードディスク装置10に格納されていたユーザデータ又はパリティデータのコレクションコピー処理を実行する。またユーザデータが書き込まれていないストライプ(例えば図5の「STB」、「STF」及び「STG」)については、閉塞ハードディスク装置10に格納されていたデータ(初期フォーマット用データ)のコレクションコピー処理を実行しない。

0057

一方、障害RAIDグループ30のRAIDレベルがRAID6に設定されている場合であって、閉塞ハードディスク装置10が2台のときには、図6に示すように、これら2台の閉塞ハードディスク装置10にそれぞれユーザデータやパリティデータが格納されているストライプ(例えば図6「STA」、「STD」及び「STE」)については、当該ストライプを構成する他のブロックに格納されたユーザデータやパリティデータを用いてこれら閉塞ハードディスク装置10にそれぞれ格納されていたユーザデータやパリティデータのコレクションコピー処理を実行する。

0058

またユーザデータが書き込まれていないストライプ(例えば図6の「STB」及び「STG」)については、閉塞ハードディスク装置10に格納されていたデータ(初期フォーマット用データ)のコレクションコピー処理を実行しない。さらに2台の閉塞ハードディスク装置10の双方にパリティデータが格納されていた又はパリティデータが格納されるべきストライプ(例えば図6の「STC」及び「STF」)については、書込み管理フラグ31Cのチェックが行えないため、書込み管理フラグ31Cが「オン」に設定されている場合と同様に、常に、そのストライプを構成する他のブロックに格納されたユーザデータを用いて2台の閉塞ハードディスク装置10にそれぞれ格納されていたデータのコレクションコピー処理を実行する。

0059

以上のような本実施の形態による障害復旧処理を実現するための手段として、ディスクアレイ装置4のローカルメモリ22(図1)には、図7に示すようなRAIDグループ管理テーブル40と、図8に示すようなRAIDグループごとのストライプ管理テーブル41とが格納されている。

0060

このうちRAIDグループ管理テーブル40は、ディスクアレイ装置4内に設定された各RAIDグループを管理するためのテーブルであり、図7に示すように、RAIDグループID欄40A、データディスク幅欄40B及びRAIDレベル欄40Cから構成される。

0061

そしてRAIDグループID欄40Aには、ディスクアレイ装置4内に設定された各RAIDグループにそれぞれ付与されたIDが格納され、データディスク幅欄には、対応するRAIDグループについて設定されたデータディスク幅が格納される。またRAIDレベル欄40Cには、対応するRAIDグループについて設定されたRAIDレベルが格納される。

0062

従って、図7の例の場合、「1」というグループIDのRAIDグループのデータディスク幅は「4」であり、そのRAIDグループのRAIDレベルは「RAID5」に設定されていることが示されている。

0063

一方、ストライプ管理テーブル41は、対応するRAIDグループ内の各ストライプを管理するためのテーブルであり、図8に示すように、ストライプID欄41A、ハードディスク装置ID欄41B、LBA欄41C及びパリティフラグ欄41Dから構成される。

0064

そしてストライプID欄41Aには、対応するRAIDグループ内に存在する各ストライプにそれぞれ付与された識別子(以下、これをストライプIDと呼ぶ)が格納される。またハードディスク装置ID欄41Bには、対応するストライプにおいてパリティデータが格納される各ハードディスク装置10の識別子(以下、これを装置IDと呼ぶ)がそれぞれ格納され、LBA欄41Cには、そのハードディスク装置10においてかかるパリティデータが格納されるブロックのLBAが格納される。

0065

さらにパリティフラグ欄41Dには、対応するブロックにパリティデータが格納されるか否かを表すフラグが格納される。具体的には、対応するブロックにパリティデータが格納される場合には「1」が格納され、対応するブロックにパリティデータが格納されない(ユーザデータが格納される)場合には「0」が格納される。

0066

従って、図8の例では、「1」というストライプIDが付与されたストライプは、それぞれ装置IDが「1」〜「4」であるハードディスク装置10のいずれもLABが「1」であるブロックによって構成され、このうち、装置IDが「1」であるハードディスク装置10のブロックにパリティデータが格納されることが示されている。

0067

そしてディスクアレイ装置4のコントローラ12のCPU21(図1)は、ローカルメモリ22に格納されたこれらRAIDグループ管理テーブル40及びストライプ管理テーブル41に基づいて、後述のようにして以上のような本実施の形態による障害復元処理を実行する。

0068

(3)本実施の形態による障害復旧方式に関するCPUの処理
次に、上述のような本実施の形態による障害復旧方式に関連する各種処理に関するディスクアレイ装置4のコントローラ12におけるCPU21の具体的な処理内容について説明する。

0069

(3−1)コマンド実行処理
図9は、コマンド実行処理に関するCPU21の処理内容を示す。CPU21は、チャネルインタフェース20(図1)及びデータ転送コントローラ23(図1)を介してホスト装置2からのコマンドを受領すると、ローカルメモリ22に格納されたマイクロプログラムに従ってこの図9に示すコマンド実行処理を実行する。

0070

すなわちCPU21は、ホスト装置2からのコマンドを受領するとこのコマンド実行処理を開始し、まず、受領したコマンドがライトコマンドであるか否かを判断する(SP1)。そしてCPU21は、この判断において否定結果を得ると、当該コマンドに応じた処理を実行した後(SP2)、このコマンド実行処理を終了する。

0071

これに対してCPU21は、ステップSP1の判断において肯定結果を得ると、かかるライトコマンドと共にホスト装置2から与えられる書込み対象のユーザデータに基づき生成したパリティデータを書き込むべきブロックを、対応するストライプ管理テーブル41上で検索し、そのブロックの管理領域31B(図3)に格納されている書込み管理フラグ31C(図3)をオンに設定する(SP3)。

0072

続いてCPU21は、書込み対象のユーザデータに基づいてパリティデータを生成すると共に、生成したパリティデータを、ステップSP3において書込み管理フラグ31Cをオンに設定したブロックのデータ領域31A(図3)に書き込む(SP4)。そしてCPU21は、この後、このコマンド実行処理を終了する。

0073

(3−2)障害復旧処理
一方、図10及び図11は、いずれかのハードディスク装置10が障害により閉塞した場合におけるCPU21の具体的な処理内容を示している。CPU21は、いずれかのハードディスク装置10が障害により閉塞した場合、ローカルメモリ22に格納されたマイクロプログラムに基づいてこれら図10及び図11に示す障害復旧処理を実行する。

0074

すなわちCPU21は、初期時、ユーザデータが書き込まれたストライプの連続数(連続書込み数)をカウントする連続書込みカウンタと、ユーザデータが書き込まれていないストライプの連続数(連続未書込み数)をカウントする連続未書込みカウンタとをそれぞれリセット(カウント値を「0」にセット)する(SP10)。

0075

続いてCPU21は、上述した連続書込み閾値、連続未書込み閾値及びデータディスク幅境界値をそれぞれ予め定められた値X,Y,Zに設定し(SP11)、この後、ディスクアレイ装置4内の各ハードディスク装置10の状態を監視する(SP12)。

0076

そしてCPU21は、やがていずれかのハードディスク装置10が障害により閉塞すると、RAIDグループ管理テーブル40(図7)を参照して、そのハードディスク装置10が属するRAIDグループ(障害RAIDグループ)に設定されたRAIDレベルが「RAID5」及び「RAID6」のいずれかであるか否かを判断する(SP13)。

0077

CPU21は、この判断において否定結果を得ると、図2について上述した従来方式による障害復旧処理を実行し(SP14)、この後、この障害復旧処理を終了する。

0078

これに対してCPU21は、ステップSP13の判断において肯定結果を得ると、その障害RAIDグループのデータディスク幅がステップSP11において設定したデータディスク幅境界値Nよりも大きいか否かを判断する(SP15)。

0079

CPU21は、この判断において否定結果を得るとステップSP21に進み、これに対して肯定結果を得ると、かかる障害RAIDグループ内の未だコレクションコピー処理を実行していない1つのストライプを選択し(SP16)、このストライプに対して図12について後述する本実施の形態の方式によるコレクションコピー処理を実行する(SP17)。

0080

続いてCPU21は、障害RAIDグループ内のすべてのストライプに対してコレクションコピー処理を実行したか否かを判断し(SP18)、否定結果を得ると、連続書込みカウンタの現在のカウント値を確認する(SP19)。

0081

そしてCPU21は、この連続書込みカウンタのカウント値がステップSP11において設定した連続書込み閾値Xを超えたか否かを判断し(SP20)、否定結果を得るとステップSP16に戻る。そしてCPU21は、この後ステップSP18又はステップSP20において肯定結果を得るまでステップSP16〜ステップSP20−ステップSP18のループを繰り返しながら、かかるRAIDグループ内の各ストライプに対するコレクションコピー処理を順次実行する。

0082

一方、CPU21は、ステップSP20の判断において肯定結果を得ると、未だコレクションコピー処理を行なっていないストライプを1つ選択し(SP21)、そのストライプに対して図13について後述する従来方式によるコレクションコピー処理を実行する(SP22)。

0083

続いてCPU21は、障害RAIDグループ内のすべてのストライプに対するコレクションコピー処理を終了したか否かを判断し(SP23)、否定結果を得ると、連続未書込みカウンタの現在のカウント値を確認する(SP24)。

0084

そしてCPU21は、この連続未書込みカウンタのカウント値がステップSP11において設定した連続未書込み閾値Yよりも小さいか否かを判断し(SP25)、肯定結果を得るとステップSP21に戻る。そしてCPU21は、この後ステップSP23において肯定結果を得又はステップSP25において否定結果を得るまでステップSP21〜ステップSP25−ステップSP21のループを繰り返しながら、かかる障害RAIDグループ内の各ストライプに対するコレクションコピー処理を順次実行する。

0085

またCPU21は、やがてステップSP25の判断において肯定結果を得ると、ステップSP16に戻り、この後、ステップSP16以降を上述のように順次処理する。

0086

他方、CPU21は、やがて障害RAIDグループ内の必要なストライプに対するコレクションコピー処理が終了することにより、ステップSP18又はステップSP23の判断において肯定結果を得ると、障害復旧処理が終了したことを管理端末26(図1)に通知する(SP26)。これによりこの管理端末26にその旨のメッセージが表示される。

0087

続いてCPU21は、障害RAIDグループ内の各ストライプの書込み管理フラグ31C(図3)の状態を再確認する(SP27)。そしてCPU21は、この後、書込み管理フラグ31Cがオフになっているストライプについて、閉塞ハードディスク装置10に格納されていたデータ(初期フォーマット用データ)を空き時間にバックグランドでスペアハードディスク装置10にコレクションコピーする(SP28)。そしてCPU21は、やがて対応する書込み管理フラグ31Cがオフになっていたすべてのストライプに対するコレクションコピー処理を完了すると、この障害復旧処理を終了する。

0088

なお、この障害復旧処理のステップSP17において行われる本実施の形態の方式によるコレクションコピー処理に関するCPU21の具体的な処理内容を図12に示す。

0089

CPU21は、障害復旧処理のステップSP17に進むと、この第1のコレクションコピー処理を開始し、まず、そのとき対象としているストライプ(以下、これを対象ストライプと呼ぶ)のパリティデータが格納されているハードディスク装置10の装置IDと、当該ハードディスク装置10における当該パリティデータが格納されているブロックのブロックIDとを、対応するストライプ管理テーブル41(図8)上で検索する(SP30)。

0090

続いてCPU21は、ステップSP30において装置IDを検出したハードディスク装置10が閉塞ハードディスク装置であるか否かを判断する(SP31)。そしてCPU21は、この判断において否定結果を得ると、対象ストライプのパリティデータが格納されたブロックの管理領域31B(図3)から書込み管理フラグ31C(図3)を読み出し(SP32)、この書込み管理フラグ31Cがオンに設定されているか否か(対象ストライプにユーザデータが格納されているか否か)を判断する(SP33)。

0091

CPU21は、この判断において否定結果を得ると、連続書込みカウンタをリセットし(SP34)、この後、この第1のコレクションコピー処理を終了して障害復旧処理のステップSP17に戻る。

0092

これに対してCPU21は、ステップSP33の判断において肯定結果を得ると、対応するストライプ管理テーブル41(図8)を参照して、閉塞ハードディスク装置10以外のハードディスク装置10内のブロックであって、当該対象ストライプを構成する各ブロックにそれぞれ格納されているユーザデータ又はパリティデータを読み出す。またCPU21は、これら読み出したユーザデータ又はパリティデータに基づいて、閉塞ハードディスク装置10に格納されていたユーザデータを復元し、当該復元したユーザデータをスペアハードディスク装置10の対応するブロックに書き込む(SP38)。

0093

続いてCPU21は、対応するストライプ管理テーブル41上の対象ストライプに関係するハードディスク装置ID欄41B及びLBA欄41Cにそれぞれ格納されている装置ID及びLBAを、それぞれスペアハードディスク装置10の装置IDと、当該スペアハードディスク装置10内の復元したユーザデータをステップSP38において書き込んだブロックのブロックIDとに書き換える(SP39)。

0094

さらにCPU21は、連続書込みカウンタのカウント値を「1」だけ増加させ(SP40)、この後、この第1のコレクションコピー処理を終了して障害復旧処理のステップSP17に戻る。

0095

これに対してCPU21は、ステップSP31の判断において肯定結果を得た場合には、RAIDグループ管理テーブル40(図7)を参照して、対象ストライプが属する障害RAIDグループのRAIDレベルがRAID6に設定されているか否かを判断する(SP35)。

0096

この判断において否定結果を得ることは、対象ストライプが属する障害RAIDグループのRAIDレベルがRAID5に設定され、かつ、閉塞ハードディスク装置10に対象ストライプのパリティデータが格納されていることを意味する。

0097

かくしてこのときCPU21は、対応するストライプ管理テーブル41(図8)を参照して、閉塞ハードディスク装置10以外のハードディスク装置10内のブロックであって、対象ストライプを構成する各ブロックにそれぞれ格納されているユーザデータを読み出す。またCPU21は、これら読み出したユーザデータに基づいて閉塞ハードディスク装置10に格納されていたパリティデータを復元し、復元したパリティデータをスペアハードディスク装置10の対応するブロックに書き込む(SP38)。

0098

続いてCPU21は、対応するストライプ管理テーブル41(図8)上の対象ストライプに関係するハードディスク装置ID欄41B及びLBA欄41Cにそれぞれ格納されている装置ID及びLBAを、それぞれスペアハードディスク装置10の装置IDと、復元したパリティデータをステップSP38において書き込んだブロックのブロックIDとに書き換える(SP39)。

0099

さらにCPU21は、連続書込みカウンタのカウント値を「1」だけ増加させ(SP40)、この後、この第1のコレクションコピー処理を終了して障害復旧処理のステップSP17に戻る。

0100

またステップSP35の判断において肯定結果を得ることは、対象ストライプが属する障害RAIDグループのRAIDレベルがRAID6に設定され、かつ、閉塞ハードディスク装置10に対象ストライプのパリティデータが格納されていることを意味する。かくしてこのときCPU21は、閉塞ハードディスク装置10が1台だけであるか否かを判断する(SP36)。

0101

この判断において肯定結果を得ることは、対象ストライプ内に1つのパリティデータが残っていることを意味する。かくして、このときCPU21は、ステップSP32に進み、この後ステップSP32以降の処理を上述のように実行する。

0102

これに対してCPU21は、この判断において否定結果を得ると、対応するストライプ管理テーブル41(図8)を参照して、他の閉塞ハードディスク装置10にも対象ストライプのパリティデータが格納されているか否かを判断する(SP37)。

0103

この判断において肯定結果を得ることは、ステップSP36の判断において肯定結果を得た場合と同様に、対象ストライプに1つのパリティデータが残っていることを意味する。かくして、このときCPU21は、ステップS32に進み、この後ステップSP32以降の処理を上述のように実行する。

0104

これに対してステップSP37の判断において否定結果を得ることは、対象ストライプの2つのパリティデータが共に閉塞ハードディスク装置10に格納されて読み出し不可能な状態となっていることを意味する。なお、ここでは閉塞ハードディスク装置10が2台であるものとする。

0105

かくして、このときCPU21は、対応するストライプ管理テーブル41を参照して、2台の閉塞ハードディスク装置10以外の各ハードディスク装置10内のブロックであって、当該対象ストライプを構成する各ブロックにそれぞれ格納されているユーザデータを読み出す。またCPU21は、これら読み出したユーザデータに基づいて2台の閉塞ハードディスク装置10にそれぞれ格納されていた2つのパリティデータをそれぞれ復元し、復元した各パリティデータを2台のスペアハードディスク装置10の対応するブロックにそれぞれ書き込む(SP38)。

0106

続いてCPU21は、対応するストライプ管理テーブル41(図8)上の対象ストライプに関係するハードディスク装置ID欄41B及びLBA欄41Cにそれぞれ格納されている装置ID及びLBAを、それぞれスペアハードディスク装置10の装置IDと、当該スペアハードディスク装置10内の復元したパリティデータをステップSP38において書き込んだブロックのブロックIDとに書き換える(SP39)。

0107

さらにCPU21は、連続書込みカウンタのカウント値を「1」だけ増加させ(SP40)、この後、この第1のコレクションコピー処理を終了して障害復旧処理のステップSP17に戻る。

0108

一方、図13は、図10及び図11について上述した障害復旧処理のステップSP22におけるCPU21の具体的な処理内容を示す。

0109

すなわちCPU21は、障害復旧処理のステップSP22に進むと、この第2のコレクションコピー処理を開始し、図11のステップSP21において選択した対象ストライプに対して図2について上述した従来方式によるコレクションコピー処理を実行する(SP50)。

0110

続いてCPU21は、対象ストライプのパリティデータが格納されたブロックの管理領域31B(図3)から書込み管理フラグ31C(図3)を読み出し(SP51)、この書込み管理フラグ31Cがオンに設定されているか否か(対象ストライプにユーザデータが格納されているか否か)を判断する(SP52)。

0111

CPU21は、この判断において肯定結果を得ると、連続未書込みカウンタのカウント値を「1」だけ増加させ(SP53)、この後、この第2のコレクションコピー処理を終了して障害復旧処理のステップSP22に戻る。

0112

これに対してCPU21は、ステップSP52の判断において否定結果を得ると、連続未書込みカウンタをリセットし(SP53)、この後、この第2のコレクションコピー処理を終了して障害復旧処理のステップSP22に戻る。

0113

なお、本実施の形態の場合、閉塞ハードディスク装置10に対象ストライプのパリティデータが格納されていた場合には、ステップSP52の判断において肯定結果を得るためステップSP54において連続未書込みカウンタがリセットされる。

0114

(4)各種画面の構成
次に、上述のような本実施の形態による障害復旧処理に関する各種画面の画面構成について説明する。

0115

図14は、所定の操作により管理端末26(図1)に表示される、ディスクアレイ装置4において障害復旧方式をユーザが選択するための障害復旧方式選択画面50を示す。この障害復旧方式選択画面50は、障害復旧方式選択フィールド51及び障害復旧関連閾値設定フィールド52から構成される。

0116

そして障害復旧方式選択フィールド51には、障害復旧方式の選択肢として、「自動選択方式」、「書込み管理フラグチェック方式」及び「従来方式」の3つの障害復旧方式にそれぞれ対応させてトグルスイッチ53A〜53Cが表示される。

0117

ここで、「自動選択方式」は、図2について上述したように必要に応じて本実施の形態による障害復旧方式と、従来の障害復旧方式とを切り換えながら障害復旧処理を行う方式であり、「書込み管理フラグチェック方式」は、従来の障害復旧方式に切り換えることなく、本実施の形態による障害復旧方式のみで障害復旧処理を行う方式である。また「従来方式」は、書込み管理フラグをチェックすることなく、障害RAIDグループ内のすべてのストライプについて閉塞ハードディスク装置10に格納されていたデータ(ユーザデータ、パリティデータ又は初期フォーマット用データ)をコレクションコピーする方式である。

0118

そしてユーザは、障害復旧選択方式フィールド51内に表示された3つの障害復旧方式のうちから所望する障害復旧方式に対応するトグルスイッチ53A〜53Cをクリックすることにより、障害復旧方式としてその障害復旧方式を選択することができる。

0119

また障害復旧関連閾値設定フィールド52には、連続書込み閾値入力欄54、連続未書込み閾値入力欄55及びデータディスク幅境界値入力欄56が設けられている。そしてユーザは、連続書込み閾値入力欄54、連続未書込み閾値入力欄55及びデータディスク幅境界値入力欄56にそれぞれ所望する連続書込み閾値、連続未書込み閾値及びデータディスク幅境界値を入力することによって、連続書込み閾値、連続未書込み閾値及びデータディスク幅境界値として、そのとき入力した連続書込み閾値、連続未書込み閾値及びデータディスク幅境界値を設定することができる。

0120

そしてこのとき設定された障害復旧方式や、連続書込み閾値、連続未書込み閾値及びデータディスク幅境界値がそれぞれCPU21及びデータ転送コントローラ23(図1)を介してキャッシュメモリ24(図1)に格納されて保存される。かくして図10及び図11について上述した障害復旧処理のステップSP10では、この連続書込み閾値、連続未書込み閾値及びデータディスク幅境界値がキャッシュメモリ24から読み出されて設定されることになる。

0121

一方、図15は、障害復旧状況表示画面60を示す。この障害復旧状況表示画面60は、障害復旧処理の実行時に管理端末に表示される画面であり、各ハードディスク装置10の状況がそれぞれ表示される。この場合障害が発生していないハードディスク装置10については「正常」、障害等により閉塞しているハードディスク装置10については「閉塞」の文字列がそれぞれ表示される。

0122

また上述のような本実施の形態による障害復旧処理や、従来の障害復旧処理により格納されていたデータのコレクションコピー処理が実行中のハードディスク装置10については、「回復中」の文字列と、どの程度までデータ復元処理が完了したかを表す進捗率とが表示される。

0123

(5)本実施の形態の効果
以上のように本実施の形態によるディスクアレイ装置4によれば、書込み管理フラグ31Cに基づいて、閉塞ハードディスク装置10のうちのユーザデータが書き込まれているストライプに対して優先的にコレクションコピー処理を実行し、ユーザデータが書き込まれていないストライプについては、その後、空き時間を利用してバックグランドでコレクションコピー処理を実行するため、障害復旧処理を実行することに起因してデータ入出力処理の処理性能が低下する時間を短縮化することができる。かくするにつき、性能低下を軽減しながら障害復旧処理を行うことができる。

0124

またかかる書込み管理フラグ31CをCPU21がローカルメモリ22上で管理することも可能であるが、このようにすると今後のハードディスク装置10の大容量化に伴いローカルメモリ22の容量を圧迫するおそれもあるが、本実施の形態によるディスクアレイ装置4では、かかる書込み管理フラグ31Cをハードディスク装置10側において保持するため、このような事態が生じるおそれを未然にかつ有効に防止することができる。

0125

(6)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成されたディスクアレイ装置4に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のストレージ装置に広く適用することができる。この場合において、ストレージ装置に搭載される記憶媒体はハードディスク装置に限らず、例えば光ディスク半導体メモリなどを適用するようにしても良い。

0126

また上述の実施の形態においては、ユーザデータが書き込まれていないストライプに対応する書込み管理フラグ31Cの状態をオフとし、ユーザユーザデータが書き込まれているストライプに対応する書込み管理フラグ31Cの状態をオンとするようにした場合について述べたが、本発明はこれに限らず、ユーザデータが書き込まれていないストライプに対応する書込み管理フラグ31Cの状態をオンとし、ユーザユーザデータが書き込まれているストライプに対応する書込み管理フラグ31Cの状態をオフとするようにしても良い。

0127

さらに上述の実施の形態においては、ハードディスク装置10における対応するブロック31(図3)の管理領域31B内の1ビットを書込み管理フラグ31Cとして用いるようにした場合について述べたが、本発明はこれに限らず、例えば各ストライプにそれぞれ対応させてビットが設けられたビットマップをハードディスク装置やコントローラ内のローカルメモリ又はキャッシュメモリ内に用意し、当該ビットマップを用いて各ストライプに対するユーザデータの書き込みの有無を管理するようにしても良い。

0128

さらに上述の実施の形態においては、RAIDグループ30が提供する記憶領域について、ユーザデータが書き込まれているか否かをストライプごとに管理する管理部としての機能と、ハードディスク装置10が障害により閉塞したときに、ストライプごとにコレクションコピー処理を実行するコレクションコピー処理実行部としての機能とをCPU21にもたせるようにした場合について述べたが、本発明はこれに限らず、かかる管理部としての機能を例えばディスクインタフェース25にもたせるようにしても良い。

0129

本発明は、ホスト装置から与えられたユーザデータを、当該ユーザデータに基づき生成した冗長データと共に複数の記憶媒体に分散して書き込む種々の構成のストレージ装置に広く適用することができる。

図面の簡単な説明

0130

本実施の形態による情報処理システムの全体構成を示すブロック図である。
従来の障害復旧方式の説明に供する概念図である。
書込み管理フラグの説明に供する概念図である。
障害RAIDグループのRAIDレベルが5の場合における本実施の形態による障害復旧方式の説明に供する概念図である。
障害RAIDグループのRAIDレベルが6の場合における本実施の形態による障害復旧方式の説明に供する概念図である。
障害RAIDグループのRAIDレベルが6の場合における本実施の形態による障害復旧方式の説明に供する概念図である。
RAIDグループ管理テーブルの構成を示す概念図である。
ストライプ管理テーブルの構成を示す概念図である。
コマンド実行処理の処理手順を示すフローチャートである。
本実施の形態による障害復旧処理の処理手順を示すフローチャートである。
本実施の形態による障害復旧処理の処理手順を示すフローチャートである。
第1のコレクションコピー処理の処理手順を示すフローチャートである。
第2のコレクションコピー処理の処理手順を示すフローチャートである。
障害復旧方式選択画面の画面構成を示す略線図である。
障害復旧状況表示画面の画面構成を示す略線図である。

符号の説明

0131

1……情報処理システム、2……ホスト装置、4……ディスクアレイ装置、10……ハードディスク装置、12……コントローラ、21……CPU、22……ローカルメモリ、24……キャッシュメモリ、26……管理端末、30……RAIDグループ、31……ブロック、31B……管理領域、31C……書込み管理フラグ、40……RAIDグループ管理テーブル、41……ストライプ管理テーブル、50……障害復旧方式選択画面、60……障害復旧状況表示画面、STA〜STG……ストライプ。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

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

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

関連する公募課題

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

ページトップへ

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

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

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

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

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

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

関連性が強い人物一覧

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

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

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

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

astavision 新着記事

サイト情報について

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

主たる情報の出典

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