JP5821445B2 - ディスクアレイ装置及びディスクアレイ装置制御方法 - Google Patents

ディスクアレイ装置及びディスクアレイ装置制御方法 Download PDF

Info

Publication number
JP5821445B2
JP5821445B2 JP2011197543A JP2011197543A JP5821445B2 JP 5821445 B2 JP5821445 B2 JP 5821445B2 JP 2011197543 A JP2011197543 A JP 2011197543A JP 2011197543 A JP2011197543 A JP 2011197543A JP 5821445 B2 JP5821445 B2 JP 5821445B2
Authority
JP
Japan
Prior art keywords
area
raid group
data check
control unit
areas
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011197543A
Other languages
English (en)
Other versions
JP2013058169A (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
Priority to JP2011197543A priority Critical patent/JP5821445B2/ja
Priority to US13/557,282 priority patent/US9164838B2/en
Publication of JP2013058169A publication Critical patent/JP2013058169A/ja
Application granted granted Critical
Publication of JP5821445B2 publication Critical patent/JP5821445B2/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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1073Problems due to wear-out failures in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Description

本発明は、ディスクアレイ装置及びディスクアレイ装置制御方法に関する。
ディスクアレイ装置では、搭載しているハードディスクの状態、特にヘッドや媒体面の状況を確認することが必要である。そこで、ディスクアレイ装置には、ハードディスクの状態をチェックする機能が搭載されている。
このハードディスクの状態をチェックする機能には、ある一定周期で各ディスク装置のデータを一定量ずつアクセスし、ディスクドライブの媒体チェック、RAID(Redundant Arrays of Inexpensive Disks)グループのデータ整合性チェック等を行う機能がある。このような周期的なディスクチェックには、ライトチェック(Write Check)と呼ばれる機能及びデータチェック(Data Check)と呼ばれる機能を有するものがある。ライトチェックとは、主にヘッドを確認するためにWrite/Read/Compareを行う機能である。また、データチェックとは、主にディスク媒体面を確認するためにユーザの使用領域をベリファイさせる機能である。ここで、ベリファイとは、障害が発生している領域を検出し、その領域の正常なデータを正常な領域に移すことである。この2つの機能を有するディスクチェックを周期的に行う機能として、例えば「データパトロール」と呼ばれるものがある。
ここで、データチェックでベリファイを実施する領域として、次の2つの考え方が存在する。1つは、ボリュームを設定している領域のみに対してベリファイを行うという考え方である。また、もう1つは、ボリュームを設定している領域及びボリュームを設定していない未使用領域の両方ベリファイを行うという考え方である。そして、このような2つの考え方のうちどちらを選択してベリファイを実施する領域をどのように決定するかは、ディスクアレイ装置を使用する上で重要な事項である。このようにベリファイを実施する領域を決定する上で、ディスクアレイ装置の使用状態が重要な鍵を握っている。
以前は、1台のディスクアレイ装置を特定のユーザで占有使用する場合が多かった。そのため、以前はボリュームを出荷時に設定し、出荷後は変更しないという運用が一般的であった。そのため、以前は、ボリュームを設定している領域が適切なデータチェックの領域といえた。
これに対して、近年では、大規模なディスクアレイ装置の内部資源を分割して、複数のユーザがこれを同時に利用するという運用が増加してきている。そして、各ユーザがボリュームの作成や変更を自由に行う運用が増加してきている。そのため、最近では、ボリュームを設定している領域のみ又は未使用領域まで含めた領域、どちらか適切なデータチェックの領域かは一概には言えなくなってきている。これは、以前であれば、未使用領域とは今後も使用しない領域といえたが、近年においては、未使用領域とは現在は使っていないが将来使うかもしれない領域といえるからである。
この点、ボリュームを設定している領域のみについてデータチェックを行った場合、未使用領域に対して新規にボリュームを作成したときに対象領域に媒体の異常があったとしても事前に検知できず、ボリュームの作成作業が遅延してしまう。また、未使用領域まで含めた領域に対してデータチェックを常に行なっていては、当面使用する可能性の低い領域についてもデータチェックを行うことになり、非効率である。
このようなデータチェックの対象領域を決める技術として、ディスク等の使用率を計測してある使用率に達すると、未使用領域の検査を実施し、検査済みの領域を新たに使用する従来技術がある。また、演算装置の稼動状態を基に記憶装置の使用状態を求め、未使用領域の試験容量を決定する従来技術がある。
特開2009−176101号公報 特開平04−167046号公報
しかしながら、演算装置の稼動状態を基に未使用領域の試験容量を決定する従来技術では、未使用領域を決定するための処理の負荷が大きく、ディスクアレイ装置の本来の処理のIO(Input Output)性能に影響が出てしまう。また、ディスク等の使用率を基に未使用領域の検査を実施する従来技術では、その未使用領域が使用される直前の状態が把握できないため、経年劣化などに対応することができない。
開示の技術は、上記に鑑みてなされたものであって、未使用領域を使用する場合のディスク故障の発生を軽減するディスクアレイ装置及びディスクアレイ装置制御方法を提供することを目的とする。
本願の開示するディスクアレイ装置及びディスクアレイ装置制御方法は、一つの態様において、RAIDグループが設定された複数のハードディスクを有する。そして、使用領域設定部は、前記RAIDグループに1つ又は複数の使用領域を設定する。診断対象決定部は、前記RAIDグループに設定された最も小さい使用領域のサイズよりも未使用領域のサイズが小さい場合、前記使用領域が設定されている領域のみを診断対象の領域と決定し、未使用領域のサイズが前記RAIDグループに設定された最も小さい使用領域のサイズ以上の場合、前記RAIDグループの全ての領域を診断対象の領域と決定する。診断実行部は、前記診断対象決定部が決定した診断対象の領域に対して周期的な診断を実行する。
本願の開示するディスクアレイ装置及びディスクアレイ装置制御方法の一つの態様によれば、未使用領域を使用する場合のディスク故障の発生を軽減することができるという効果を奏する。
図1は、実施例に係るディスクアレイ装置のブロック図である。 図2は、構成定義の概要を表す図である。 図3は、データチェックの対象領域決定の処理のフローチャートである。 図4は、データチェックの対象領域決定及びデータチェックの処理のフローチャートである。 図5は、実施例に係るディスクアレイ装置のコントロールモジュールのハードウェアの構成図である。
以下に、本願の開示するディスクアレイ装置及びディスクアレイ装置制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するディスクアレイ装置及びディスクアレイ装置制御方法が限定されるものではない。
図1は、実施例に係るディスクアレイ装置のブロック図である。図1に示すように、ディスクアレイ装置1は、ホスト2と接続されている。
ホスト2は、パーソナルコンピュータやサーバといった情報処理装置である。ホスト2は、ディスクアレイ装置1に対して、データの読み出し及び書き込みといった命令を出力する。そして、ホスト2は、読み出し命令への応答として、要求したデータをディスクアレイ装置1から取得する。
ディスクアレイ装置1は、コントロールモジュール(「CM(Control Module)」とも呼ばれる。)10及びハードディスク群11を有している。
ハードディスク群11は、複数のハードディスクを有している。ハードディスク群11に含まれるハードディスクとは、例えば、ハードディスク110などである。そして、ハードディスク群11は、複数のハードディスクを用いて構成された論理グループを有する。本実施例では、ハードディスク群11は、RAIDグループ111〜113という3つの論理グループを有している。また、グループ114は、各RAIDグループのホットスペアとなっているディスクの集合である。
コントロールモジュール10は、CA(Channel Adaptor)制御部101、キャッシュ制御部102、RAID制御部103、構成記憶部104、データチェック制御部105、DA(Device Adaptor)制御部106を有している。
CA制御部101は、ホスト2とのインタフェースであるチャネルアダプタ(CA)を制御する。具体的には、CA制御部101は、ホスト2から送信されたデータや命令をチャネルアダプタにより受信する。例えば、CA制御部101は、書き込み対象のデータと共に書き込み命令をホスト2から受信する。また、CA制御部101は、データの読み出し命令をホスト2から受信する。その他にも、CA制御部101は、論理グループであるRAIDの構築命令などをホスト2から受信する。そして、CA制御部101は、受信したデータをキャッシュ制御部102へ出力する。また、CA制御部101は、受信した命令をRAID制御部103へ出力する。
また、CA制御部101は、データの読み出し命令をキャッシュ制御部102へ通知する。そして、CA制御部101は、指定したデータをキャッシュ制御部102から取得する。そして、CA制御部101は、取得したデータをホスト2へ出力する。
データの書込みの場合、キャッシュ制御部102は、データの入力をCA制御部101から受ける。そして、キャッシュ制御部102は、CA制御部101から受信したデータをキャッシュに蓄積する。また、キャッシュ制御部102は、RAID制御部103からデータの読み出し命令を受信する、そして、キャッシュ制御部102は、指定されたデータをRAID制御部103へ出力する。
また、データの読み出しの場合、キャッシュ制御部102は、データの入力をRAID制御部103から受ける。そして、キャッシュ制御部102は、RAID制御部103から受信したデータをキャッシュに蓄積する。また、キャッシュ制御部102は、CA制御部101からデータの読み出し命令を受信する、そして、キャッシュ制御部102は、指定されたデータをCA制御部101へ出力する。
構成記憶部104は、ハードディスクやメモリなどの記憶装置である。構成記憶部104は、構成定義141を記憶する。構成定義141は、RAIDグループの構成情報や、ボリュームの設定情報及びデータチェックの管理情報などが含まれている。構成定義141については後で詳細に説明する。
RAID制御部103は、ボリューム設定部131及びデータチェック実行部132を有する。
RAID制御部103は、ホスト2からの命令をCA制御部101から受ける。例えば、RAID制御部103は、RAIDの構築命令を受けた場合、構築の指示に従い指定されたディスクに対して指定されたRAIDレベルでRAIDを構築する。そして、RAID制御部103は、構築したRAIDグループの情報を用いて構成定義141を生成し、生成した構成定義141を構成記憶部104に記憶させる。
また、RAID制御部103がボリュームの設定命令をCA制御部101から受けた場合、ボリューム設定部131は、設定の指示に従い、指定されたRAIDグループに対して指定されたサイズのボリュームを設定する。このボリュームが「使用領域」の一例にあたる。そして、RAID制御部103は、ボリューム設定部131が設定したボリュームの情報をそのボリュームを設定したRAIDグループの構成定義141に登録する。このボリューム設定部131が、「使用領域設定部」の一例にあたる。
ここで、構成定義について説明する。図2は、構成定義の概要を表す図である。構成定義は、RAIDグループ毎に生成される。図2の構成定義201は、ある1つのRAIDグループの構成定義を表している。ここでは、RAIDグループがn個のハードディスクで構成されている場合を例に説明する。以下では、構成定義201に記載されたRAIDグループを記載RAIDグループと呼ぶ。構成定義201は、RAIDグループ番号、RAIDグループサイズ及びRAID Levelが格納されている。RAIDグループ番号は、記載RAIDグループを一意に識別するための識別子である。RAIDグループサイズは、記載RAIDグループの全ての容量を表す。RAID Levelは、記載RAIDグループの構築に用いられたRAIDの種類である。
また、構成定義201は、ボリューム数及び各ボリュームの情報を有している。ここで、ボリューム数は、記載RAIDグループに設定されたボリュームの数を表している。また、各ボリュームの情報は、図2では、ボリューム[1]〜[3]にあたる。ここでは、記載RAIDグループに3つのボリュームを作成した場合を例に説明する。ボリュームの情報として記載されている内容の詳細としては、図2における各ボリュームの情報から延びる矢印の先に示された情報が記載されている。ボリューム情報211は、ボリューム[1]と表されているボリュームの情報である。また、ボリューム情報212は、ボリューム[2]と表されているボリュームの情報である。さらに、ボリューム情報213は、ボリューム[3]と表されているボリュームの情報である。ボリューム情報211〜213に示すように、ボリュームの情報としては、ボリューム番号、ボリュームサイズ及び開始RAIDグループLBA(Logical Block Addressing)が含まれている。ボリューム番号とは、記載RAIDにおいて各ボリュームを識別するための識別子である。例えば、ボリューム情報211には、ボリューム番号として#0000が記載されており、ボリューム情報212には、ボリューム番号として#0001が記載されており、ボリューム情報213には、ボリューム番号として#0002が記載されている。ボリュームサイズは、各ボリュームの容量である。また、開始RAIDグループLBAは、各ボリュームの開始位置を示すアドレスである。
さらに、構成定義201は、Disk数及び各Diskの情報を有している。Disk数は、記載RAIDを構成するハードディスクの数である。また、各Diskの情報は、図2では、Disk[1]〜[n]にあたる。Diskの情報として記載されている内容の詳細としては、図2における各Diskの情報から延びる矢印の先に示された情報が記載されている。Disk情報221は、Disk[1]と表されているハードディスクの情報である。また、Disk情報222は、Disk[2]と表されているハードディスクの情報である。また、Disk情報223は、Disk[3]と表されているハードディスクの情報である。さらに、Disk情報224は、ボリューム[n]と表されているハードディスクの情報である。Disk情報221〜224に示すように、Diskの情報としては、Disk番号、Diskサイズ及びチェック進捗が記載されている。Disk番号は、記載RAIDグループを構成する各ハードディスクを一意に識別するための識別子である。例えば、Disk221には、Disk番号として#0000が記載されており、Disk222には、Disk番号として#0001が記載されている。また、Disk223には、ボリューム番号として#0002が記載されており、Disk224には、ボリューム番号として#000nが記載されている。
図1に戻り、RAID制御部103は、データの書き込み命令を受けた場合、書き込みの指定を受けたデータをキャッシュ制御部102から取得する。そして、RAID制御部103は、指定されたRAIDグループの指定されたボリュームに対して取得したデータを書き込むようにDA制御部106へ指示する。また、RAID制御部103は、データの読み出し命令を受けた場合、指定されたRAIDグループの指定されたボリュームから指定されたデータを読み出すようにDA制御部106へ指示する。そして、RAID制御部103は、読み出しを指示したデータをDA制御部106から取得する。その後、RAID制御部103は、取得したデータをキャッシュ制御部102へ出力する。
また、データチェック実行部132は、例えば、読み出しや書き込みなどの処理を行っていないときを使用して、周期的に、ハードディスクの媒体面のエラーの有無を確認及びベリファイを行うデータチェックを実行する。このデータチェックは、「データパトロール」と呼ばれる場合がある。より詳しくは、データチェック実行部132は、1回のデータチェックを行うと、一定期間データチェック処理を停止し、その後前回データチェックが終了した位置からデータチェックを再開することを繰り返す。そこで、データチェックの動作について詳細に説明する。
データチェック実行部132は、データチェックを行うにあたり、データチェック制御部105に対して、データチェックの管理情報を問い合わせる。データチェックの管理情報には、データチェックの対象とするRAIDグループ、データチェックの開始位置、1回にデータチェックを行う量及びデータチェックを行う対象領域の情報が含まれる。データチェックを行う対象領域の情報とは、ボリュームが設定されている領域のみを対象領域とするか、ボリュームが設定されている領域に加えて未使用領域も対象領域とするかを示す情報である。また、1回にデータチェックを行う量は、本実施例では、例えば、1MB又は2MBなどと指定されている。そして、データチェック実行部132は、問合せに対する応答としてデータチェックの管理情報の入力をデータチェック制御部105から受ける。
次に、データチェック実行部132は、データチェックの管理情報により指定されたRAIDグループにおける指定された開始位置からデータチェックを開始する。
データチェックの具体的な内容としては、次のような処理を行う。データチェック実行部132は、データチェックの対象領域から順次データを読み出す。そして、データチェック実行部132は、読み出しエラーが発生した場合には、読み出しエラーの発生したデータ領域に代わる予備領域を確保する。そして、データチェック実行部132は、RAIDグループを構成するハードディスクを用いて読み出しエラーが発生した箇所のデータの再構築を行う。さらに、データチェック実行部132は、再構築したデータを確保した領域に記録する。その後、指定された量のデータチェックが完了すると、データチェック実行部132は、データチェックが完了した位置のアドレスをデータチェック制御部105へ通知する。
また、データチェック実行部132は、指定された対象領域に対するデータチェックを全て完了すると、次に行うデータチェックの管理情報を、データチェック制御部105に対して問い合わせる。そして、データチェック実行部132は、未使用領域も対象領域としている場合、ボリュームが設定されている領域のデータチェックに続いて、未使用領域のデータチェックを行う。これに対して、ボリュームが設定されている領域のみを対象領域としている場合、データチェック実行部132は、あるRAIDグループのボリュームが設定されている領域のデータチェックが終わると、次のRAIDグループのデータチェックに移る。データチェック実行部132は、全てのRAIDグループの指定された対象領域に対するデータチェックが完了すると、最初にデータチェックを行ったRAIDグループのデータチェックに戻ることをデータチェック制御部105から指示される。このデータチェック実行部132が、「診断実行部」の一例にあたる。
データチェック制御部105は、周期的に構成定義141から各RAIDグループの全体の容量及び各RAIDグループに設定された各ボリュームのサイズを取得する。さらに、データチェック制御部105は、各RAIDグループの全体の容量からそのRAIDグループに設定されたボリュームのサイズの総計を減算して未使用領域のサイズを求める。そして、データチェック制御部105は、各RAIDグループの全体の容量、各RAIDグループに設定された各ボリュームのサイズ及び未使用領域を用いて、各RAIDグループに対するデータチェックの対象領域を求める。その後、データチェック制御部105は、求めた各RAIDグループに対するデータチェックの対象領域を構成定義141に登録する。ここで、データチェック制御部105が、データチェックの対象領域を決定し登録する周期は、データチェック実行部132が実際にデータチェックを行う周期とは無関係に決定してよい。例えば、データチェックの対象領域を決定し登録する周期は、ディスクアレイ装置の運用状況に合わせて、ボリュームの構成が変わったことを適切に反映できるように決定することが好ましい。
データチェック制御部105は、データチェックの管理情報の問合せをデータチェック実行部132から受ける。データチェック制御部105は、データチェックの対象とするRAIDグループ、データチェックの開始位置、1回にデータチェックを行う量及びデータチェックを行う対象領域の情報などを構成定義141から取得する。そして、データチェック制御部105は、取得した情報をデータチェックの管理情報としてデータチェック実行部132へ出力する。
さらに、データチェック制御部105は、指定したRAIDグループの対象領域に対するデータチェックが完了した場合、次に行うデータチェックの管理情報の問合せをデータチェック実行部132から受ける。そして、データチェック制御部105は、次にデータチェックを行うRAIDグループのデータチェックの管理情報を構成定義141から取得する。そして、データチェック制御部105は、取得した次にデータチェックを行うRAIDグループのデータチェックの管理情報をデータチェック実行部132へ出力する。ここで、データチェック制御部105は、例えば、各RAIDグループのRAIDグループ番号の小さい順にデータチェックを行う対象としていく。さらに、全てのRAIDグループに対するデータチェックが完了した場合、データチェック制御部105は、RAIDグループ番号が最小のRAIDグループに戻り、再度RAIDグループ番号の小さい順にデータチェックの対象としていく。
また、データチェック制御部105は、1回のデータチェックが終わる毎に、データチェックが完了した位置のアドレスの入力をデータチェック実行部132から受ける。そして、データチェック制御部105は、受信したアドレスを構成定義141の進捗の欄に書き込む。例えば、図2の構成定義201で表されるRAIDグループのDisk情報221で表されるハードディスクの特定の位置までデータチェックが終わった場合、データチェック制御部105は、そのハードディスクのデータチェックが完了したアドレスを受信する。そして、データチェック制御部105は、構成定義201のDisk情報221の進捗の欄に受信したアドレスを登録する。これにより、データチェック制御部105は、各ハードディスクの進捗の欄を検索することで、次のデータチェックの開始位置を取得することができる。このデータチェック制御部105が、「診断対象決定部」の一例にあたる。
ここで、本実施例では、データチェックの管理情報を一元管理するため、データチェック実行部132は、データチェックを開始する度及び対象領域のデータチェックが完了した場合にデータチェック制御部105からデータチェックの管理情報を取得している。しかし、これは他の方法でもよく、例えば、データチェック実行部132は、データチェックを行う際に直接構成定義141から必要な情報を取得するようにしてもよい。
ここで、図3を参照して、データチェック制御部105によるデータチェックの対象領域決定の流れについて説明する。図3は、データチェックの対象領域決定の処理のフローチャートである。ここでは、あるRAIDグループに対するデータチェック対象領域決定について説明する。以下では、ここでのデータチェックの対象領域決定の対象とするRAIDグループを「対象RAIDグループ」と呼ぶ。
データチェック制御部105は、構成定義141から取得した対象RAIDグループに設定された各ボリュームのボリュームサイズの中から最小のボリュームサイズを取得するする(ステップS1)。
データチェック制御部105は、取得した最小ボリュームサイズと未使用領域のサイズとを比較する(ステップS2)。そして、データチェック制御部105は、未使用領域のサイズが最小ボリュームサイズよりも大きいか否かを判定する(ステップS3)。未使用領域のサイズが最小ボリュームサイズよりも大きい場合(ステップS3:肯定)、データチェック制御部105は、対象RAIDグループにおけるデータチェックの対象領域を、ボリュームが設定されている領域及び未使用領域の両方と決定する(ステップS8)。これは、未使用領域のサイズが最小のボリュームサイズよりも大きい場合、未使用領域にさらにボリュームを登録する可能性が高い。そこで、予め未使用領域のデータチェックを行っておき、いつ未使用領域にボリュームが設定されても障害の発生を回避することができるようにするためである。
これに対して、未使用領域のサイズが最小ボリュームサイズ以下の場合(ステップS3:否定)、データチェック制御部105は、対象RAIDグループに設定されたボリュームの数が予め決められた閾値Nよりも大きいか否かを判定する(ステップS4)。対象RAIDグループに設定された数が小さければ(ステップS4:否定)、データチェック制御部105は、対象RAIDグループにおけるデータチェックの対象領域を、ボリュームが設定されている領域のみとする(ステップS9)。これは、設定されたボリューム数が多い場合には、統計数が多くなるため、ボリュームサイズを用いた判断によって未使用領域の使用の予想が高い確度で判定できる。そして、未使用領域のサイズが最小のボリュームサイズ以下の場合、未使用領域にさらにボリュームを登録する可能性は低い。そこで、迅速なデータチェック及び負荷の軽減のため、未使用領域はデータチェックの対象とせずに、ボリュームが既に設定されている領域のみをデータチェックの対象としている。
これに対して、設定されたボリュームが少ない場合(ステップS4:肯定)、ボリュームサイズを用いた判断だけでは、未使用領域の使用不使用の予測の確度が下がるため、より正確を期すために、他の判断基準も用いる。そこで、データチェック制御部105は、対象RAIDグループの全容量に対する未使用領域の比率を求める(ステップS5)。
次に、データチェック制御部105は、求めた未使用領域の比率が予め決められた閾値x以上か否かを判定する(ステップS6)。未使用領域の比率が予め決められた閾値xより小さい場合(ステップS6:否定)、データチェック制御部105は、対象RAIDグループにおけるデータチェックの対象領域を、ボリュームが設定されている領域のみとする(ステップS9)。例えば、閾値xを0.1とすることが考えられる。その場合、未使用領域の比率が0.1未満であれば、データチェック制御部105は、対象RAIDグループにおけるデータチェックの対象領域を、ボリュームが設定されている領域のみとする。これは、未使用領域の割合がRAIDグループ全体に対してある程度小さければ、未使用領域を使用する可能性は低いと考えられるからである。ここで、本実施例では、一例として、x=0.1として説明したが、閾値xは他の値でもよく、運用状態に合わせて、全体から見て未使用領域の比率がその値より小さくなればほぼ未使用領域を使うことがないという値に決定されることが好ましい。
これに対して、未使用領域の比率が予め決められた閾値x以上の場合(ステップS6:肯定)、データチェック制御部105は、未使用領域のサイズが予め決められた閾値y以上か否かを判定する(ステップS7)。未使用領域のサイズが予め決められた閾値yより小さい場合(ステップS7:否定)、対象RAIDグループにおけるデータチェックの対象領域を、ボリュームが設定されている領域のみとする(ステップS9)。例えば、閾値yを10GBとすることが考えられる。その場合、未使用領域のサイズが10GBより小さければ、データチェック制御部105は、対象RAIDグループにおけるデータチェックの対象領域を、ボリュームが設定されている領域のみとする。これは、未使用領域のサイズがある程度小さければ、未使用領域を使用する可能性は低いと考えられるからである。ここで、本実施例では、一例として、y=10GBとして説明したが、閾値yは他の値でもよく、運用状態に合わせて、そのサイズより小さくなればボリュームを割り当てることは考えにくいという値に決定されることが好ましい。
DA制御部106は、データを書き込むRAIDグループ及びボリュームの指定、並びに書き込むデータの入力をRAID制御部103から受ける。DA制御部106は、指定されたRAIDグループの指定されたボリュームに対して受信したデータを書き込む。
また、DA制御部106は、データを読み出す先のRAIDグループ及びボリュームの指定をRAID制御部103から受ける。DA制御部106は、指定されたRAIDグループの指定されたボリュームの中からデータを読み出す。そして、DA制御部106は、読み出したデータをRAID制御部106へ出力する。
次に、図4を参照して、データチェックの対象領域決定及びデータチェックの処理の流れを説明する。図4は、データチェックの対象領域決定及びデータチェックの処理のフローチャートである。図4の紙面に向かって左側のフローはデータチェック制御部105によるデータチェックの対象領域の決定の処理を示しており、紙面に向かって右側のフローはデータチェック実行部132によるデータチェックの処理を示している。また、図4の点線矢印は、データチェック制御部105からデータチェック実行部132へのデータチェックの管理情報の送信を表している。
データチェック制御部105は、一定周期で繰り返されるデータチェックの対象領域決定のタイミングが到来したか否かを判定する(ステップS101)。
タイミングが到来している場合(ステップS101:肯定)、データチェック制御部105は、データチェックの対象領域の決定を行う(ステップS102)。このステップS102では、具体的には、データチェック制御部105は、図3のフローチャートに示した処理を行う。これに対して、タイミングが到来していない場合(ステップS101:否定)、データチェック制御部105は、ステップS103に進む。
データチェック制御部105は、ディスクアレイ装置が停止したか否かを判定する(ステップS103)。ディスクアレイ装置が停止していない場合(ステップS103:否定)、データチェック制御部105は、ステップS101へ戻る。これに対して、ディスクアレイ装置が停止した場合(ステップS103:肯定)、データチェック制御部105は、データチェックの対象領域決定の処理を終了する。
データチェック実行部132は、一定周期で繰り返されるデータチェックのタイミングが到来したか否かを判定する(ステップS201)。
タイミングが到来している場合(ステップS201:肯定)、データチェック実行部132は、データチェックの管理情報をデータチェック制御部105から取得する(ステップS202)。そして、データチェック実行部132は、受信したデータチェックの管理情報で指定された対象領域において、指定されたRAIDグループのボリュームに対して指定された量のデータチェックを行う(ステップS203)。これに対して、タイミングが到来していない場合(ステップS201:否定)、データチェック実行部132は、ステップS204に進む。
データチェック実行部132は、ディスクアレイ装置が停止したか否かを判定する(ステップS204)。ディスクアレイ装置が停止していない場合(ステップS204:否定)、データチェック実行部132は、ステップS201へ戻る。これに対して、ディスクアレイ装置が停止した場合(ステップS204:肯定)、データチェック実行部132は、データチェックの処理を終了する。
〔ハードウェア構成〕
次に、図5を参照して、本実施例に係るディスクアレイ装置のコントロールモジュールのハードウェア構成について説明する。図5は、実施例に係るディスクアレイ装置のコントロールモジュールのハードウェアの構成図である。ここでは、ディスクアレイ装置がコントロールモジュール301とコントロールモジュール302とを有しており、コントロールモジュール301とコントロールモジュール302が接続されている場合で説明する。また、コントロールモジュール301とコントロールモジュール302とは、同じ構成を有するため、コントロールモジュール301を例に説明する。
コントロールモジュール(CM)301は、チャネルアダプタ(CA)311及び312、CPU(Central Processing Unit)313、メモリ314、キャッシュ315、並びにデバイスアダプタ(DA)316及び317を有している。
チャネルアダプタ311及び312、メモリ314、キャッシュ315、並びにデバイスアダプタ316及び317は、CPU313にバスで接続されている。また、コントロールモジュール301のバスは、コントロールモジュール302のバスに接続されている。
チャネルアダプタ311及び312は、図1に示すようなホスト(不図示)に接続されている。チャネルアダプタ311及び312、並びにCPU313によって、例えば、図1に示したCA制御部101の機能が実現される。
また、デバイスアダプタ316及び317は、図1に示すようなハードディスク群(不図示)に接続されている。キャッシュ315及びCPU313によって、例えば、図1に示したキャッシュ制御部102の機能が実現される。
また、デバイスアダプタ316及び317、並びにCPU313によって、例えば、図1に示したDA制御部106の機能が実現される。
また、メモリ314は、図1に示す構成記憶部104の機能を実現する。
さらに、CPU313及びメモリ314は、例えば、図1に示した、RAID制御部103及びデータチェック制御部105などの機能を実現する。例えば、メモリ314は、図1に例示したRAID制御部103、ボリューム設定部131、データチェック実行部132及びデータチェック制御部105などの各部による処理を実現する各種プログラムを記憶している。そして、CPU313は、これら各種プログラムをメモリ314から読み出して展開することで、上述した機能を実現するプロセスを生成する。そして、CPU313は、生成したプロセスに基づいて上述した各機能を実行する。
以上に説明したように、本実施例に係るディスクアレイ装置は、周期的にデータチェックの対象領域を決定し、その決定した対象領域に対して周期的にデータチェックを行う。さらに、本実施例に係るディスクアレイ装置は、未使用領域のサイズとボリュームサイズの関係、未使用領域の割合及び未使用領域のサイズなどを用いてデータチェックの対象領域を決定する。このような基準を用いることで、未使用領域が使用される可能性を高い確度で判定することができる。さらに、データチェックの対象領域として決定した領域に対して、周期的にデータチェックを行うことで、いつ未使用領域が使用されてもデータチェックを行ってからの期間を短く抑えることができる。そのため、未使用領域を使用開始する場合のディスク故障の発生を軽減することができる。
ここで、本実施例では、より高い確度で未使用領域の使用可能性を判定するため、未使用領域のサイズとボリュームサイズの関係による判定、未使用領域の割合による判定、未使用領域のサイズによる判定という3つの判定を組み合わせて判定を行なっている。ただし、未使用領域の使用可能性の判定に求められる正確さに応じて、判定方法を決定してもよい。例えば、それほど正確な判定を求めずに、判定処理の負荷を軽減することが望ましければ、いずれか一つの判定のみを用いてもよい。また、判定の正確性及び判定処理の負荷のバランスをとる場合には、いずれか二つの判定を組み合わせて判定を行なってもよい。
1 ディスクアレイ装置
2 ホスト
10 コントロールモジュール(CM)
11 ハードディスク群
101 CA制御部
102 キャッシュ制御部
103 RAID制御部
104 構成記憶部
105 データチェック制御部
106 DA制御部
110 ハードディスク
111〜113 RAIDグループ
131 ボリューム設定部
132 データチェック実行部
141 構成定義

Claims (6)

  1. RAIDグループが設定された複数のハードディスクと、
    前記RAIDグループに1つ又は複数の使用領域を設定する使用領域設定部と、
    前記RAIDグループに設定された最も小さい使用領域のサイズよりも未使用領域のサイズが小さい場合、前記使用領域が設定されている領域のみを診断対象の領域と決定し、未使用領域のサイズが前記RAIDグループに設定された最も小さい使用領域のサイズ以上の場合、前記RAIDグループの全ての領域を診断対象の領域と決定する診断対象決定部と、
    前記診断対象決定部が決定した診断対象の領域に対して周期的な診断を実行する診断実行部と
    を備えたことを特徴とするディスクアレイ装置。
  2. 前記診断対象決定部は、前記RAIDグループにおける全ての領域に対する未使用領域の割合を求め、求めた割合が所定値より小さい場合、前記使用領域が設定されている領域のみを診断対象とし、求めた割合が所定値以上の場合、前記RAIDグループの全ての領域を診断対象とすることを特徴とする請求項に記載のディスクアレイ装置。
  3. 前記診断対象決定部は、前記RAIDグループの未使用領域が所定サイズよりも小さい場合、前記使用領域が設定されている領域のみを診断対象とし、前記RAIDグループの未使用領域が所定サイズ以上の場合、前記RAIDグループの全ての領域を診断対象とすることを特徴とする請求項に記載のディスクアレイ装置。
  4. 複数のハードディスクを用いて設定されたRAIDグループに1つ又は複数の使用領域を設定し、
    前記RAIDグループに設定された最も小さい使用領域のサイズよりも未使用領域のサイズが小さい場合、前記使用領域が設定されている領域のみを診断対象の領域と決定し、未使用領域のサイズが前記RAIDグループに設定された最も小さい使用領域のサイズ以上の場合、前記RAIDグループの全ての領域を診断対象の領域と決定し、
    決定した診断対象の領域に対して周期的な診断を実行する
    ことを特徴とするディスクアレイ装置制御方法。
  5. RAIDグループが設定された複数のハードディスクと、
    前記RAIDグループに1つ又は複数の使用領域を設定する使用領域設定部と、
    前記RAIDグループにおける全ての領域に対する未使用領域の割合を求め、求めた割合が所定値より小さい場合、前記使用領域が設定されている領域のみを診断対象の領域と決定し、求めた割合が所定値以上の場合、前記RAIDグループの全ての領域を診断対象の領域と決定する診断対象決定部と、
    前記診断対象決定部が決定した診断対象の領域に対して周期的な診断を実行する診断実行部と
    を備えたことを特徴とするディスクアレイ装置。
  6. RAIDグループが設定された複数のハードディスクと、
    前記RAIDグループに1つ又は複数の使用領域を設定する使用領域設定部と、
    前記RAIDグループの未使用領域が所定サイズよりも小さい場合、前記使用領域が設定されている領域のみを診断対象の領域と決定し、前記RAIDグループの未使用領域が所定サイズ以上の場合、前記RAIDグループの全ての領域を診断対象の領域と決定する診断対象決定部と、
    前記診断対象決定部が決定した診断対象の領域に対して周期的な診断を実行する診断実行部と
    を備えたことを特徴とするディスクアレイ装置。
JP2011197543A 2011-09-09 2011-09-09 ディスクアレイ装置及びディスクアレイ装置制御方法 Active JP5821445B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011197543A JP5821445B2 (ja) 2011-09-09 2011-09-09 ディスクアレイ装置及びディスクアレイ装置制御方法
US13/557,282 US9164838B2 (en) 2011-09-09 2012-07-25 Disk array device and disk array device control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011197543A JP5821445B2 (ja) 2011-09-09 2011-09-09 ディスクアレイ装置及びディスクアレイ装置制御方法

Publications (2)

Publication Number Publication Date
JP2013058169A JP2013058169A (ja) 2013-03-28
JP5821445B2 true JP5821445B2 (ja) 2015-11-24

Family

ID=47830891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011197543A Active JP5821445B2 (ja) 2011-09-09 2011-09-09 ディスクアレイ装置及びディスクアレイ装置制御方法

Country Status (2)

Country Link
US (1) US9164838B2 (ja)
JP (1) JP5821445B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6287613B2 (ja) * 2014-06-17 2018-03-07 富士通株式会社 制御装置、および診断制御プログラム
CN106875980A (zh) * 2017-02-17 2017-06-20 紫光华山信息技术有限公司 硬盘测试方法及装置
KR20220007212A (ko) 2020-07-10 2022-01-18 삼성전자주식회사 Raid 스토리지 장치, 호스트 장치 및 raid 시스템

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167046A (ja) 1990-10-31 1992-06-15 Toshiba Corp 記憶装置の動作監視装置
US5933847A (en) * 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
JP2007065788A (ja) 2005-08-29 2007-03-15 Hitachi Ltd ディスクアレイ装置及びその制御方法並びにプログラム
JP4984613B2 (ja) * 2006-04-10 2012-07-25 富士通株式会社 Raid装置の制御方法、raid装置、およびraid装置の制御プログラム
JP2009151393A (ja) * 2007-12-18 2009-07-09 Nec Corp 記憶媒体制御装置、記憶媒体管理システム、記憶媒体の制御方法、及び記憶媒体の制御プログラム
JP4606455B2 (ja) * 2007-12-20 2011-01-05 富士通株式会社 ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
JP5217452B2 (ja) 2008-01-25 2013-06-19 富士通株式会社 情報処理装置及びシステム、並びに、記憶領域管理方法及びプログラム
JP4645741B2 (ja) * 2009-01-09 2011-03-09 株式会社デンソー 電子制御装置
US8347043B2 (en) * 2009-03-25 2013-01-01 Hitachi, Ltd. Storage management task distribution method and system on storage virtualizer
US8166269B2 (en) * 2009-11-05 2012-04-24 Oracle America, Inc. Adaptive triggering of garbage collection
JP5531656B2 (ja) * 2010-02-08 2014-06-25 富士通株式会社 ストレージ装置、パトロール方法、パトロールプログラム及びストレージシステム

Also Published As

Publication number Publication date
US20130067165A1 (en) 2013-03-14
JP2013058169A (ja) 2013-03-28
US9164838B2 (en) 2015-10-20

Similar Documents

Publication Publication Date Title
US8880801B1 (en) Techniques for reliability and availability assessment of data storage configurations
JP4749255B2 (ja) 複数種類の記憶デバイスを備えたストレージシステムの制御装置
US10366032B2 (en) Information processing apparatus and multipath control method
KR101561854B1 (ko) Fpga 기반의 비실장형 스토리지 테스트 장치
JP5057792B2 (ja) 性能ボトルネックを緩和する機能を備えたストレージシステム
KR101547317B1 (ko) 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템
JP2006146833A (ja) ディスク装置の整合性検査支援方法およびディスクアレイ装置の整合性検査方法
JP4935331B2 (ja) ストレージシステムと記憶領域の選択方法並びにプログラム
JP4905511B2 (ja) 記憶装置の制御部及び制御方法
JP2013041547A5 (ja)
JP2008065433A (ja) 計算機システム及び性能チューニング方法
JP5488709B2 (ja) ストレージ制御装置における基準時間設定方法
JP5821445B2 (ja) ディスクアレイ装置及びディスクアレイ装置制御方法
WO2013124753A1 (en) Writing new data of first block size to second block size using write-write mode
JP6088837B2 (ja) ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム
US20170046070A1 (en) Storage control device
US20120011317A1 (en) Disk array apparatus and disk array control method
WO2014030249A1 (ja) ボリュームのi/o性能の検証システム及び検証方法
US20160196064A1 (en) Storage control device, control method and storage system
US10592349B2 (en) Storage control device and storage apparatus
JP4605374B2 (ja) 記憶装置の試験方法及び装置
JP2021174087A (ja) ストレージ制御装置およびバックアップ制御プログラム
JP2009020703A (ja) ストレージ装置、ストレージ管理装置、ストレージ管理方法、およびストレージ管理プログラム
JP4563314B2 (ja) ストレージシステム制御装置、ストレージシステム制御プログラム、ストレージシステム制御方法
US9639417B2 (en) Storage control apparatus and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150422

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150921

R150 Certificate of patent or registration of utility model

Ref document number: 5821445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150