JP2016212512A - ストレージシステム、制御装置および制御プログラム - Google Patents

ストレージシステム、制御装置および制御プログラム Download PDF

Info

Publication number
JP2016212512A
JP2016212512A JP2015093348A JP2015093348A JP2016212512A JP 2016212512 A JP2016212512 A JP 2016212512A JP 2015093348 A JP2015093348 A JP 2015093348A JP 2015093348 A JP2015093348 A JP 2015093348A JP 2016212512 A JP2016212512 A JP 2016212512A
Authority
JP
Japan
Prior art keywords
error
hdd
score
control
error score
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.)
Pending
Application number
JP2015093348A
Other languages
English (en)
Inventor
明 三瓶
Akira Sanpei
明 三瓶
文夫 榛澤
Fumio Hanzawa
文夫 榛澤
佐藤 弘章
Hiroaki Sato
弘章 佐藤
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 JP2015093348A priority Critical patent/JP2016212512A/ja
Priority to US15/079,749 priority patent/US9760423B2/en
Publication of JP2016212512A publication Critical patent/JP2016212512A/ja
Pending legal-status Critical Current

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/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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/079Root cause analysis, i.e. error or fault diagnosis

Abstract

【課題】複数の制御装置からアクセスされる記憶装置の統合的な管理を可能にする。
【解決手段】制御装置10は、エラー点数11aを記憶する記憶部11と、記憶装置30に対する制御装置20を通じたアクセス時におけるエラーの検出状況に基づいてエラー点数11aを算出して記憶部11に記憶し、エラー点数11aを所定のタイミングで制御装置20に送信する制御部12とを有する。制御装置20は、エラー点数21aを記憶する記憶部21と、記憶装置30へのアクセス時におけるエラーの検出状況に基づいてエラー点数21aを算出して記憶部21に記憶し、制御装置10から受信したエラー点数11aとエラー点数21aとの合計値に基づいて、記憶装置30が故障したかを判定する制御部22とを有する。
【選択図】図1

Description

本発明は、ストレージシステム、制御装置および制御プログラムに関する。
HDD(Hard Disk Drive)などの記憶装置へのアクセスを制御する制御装置は、記憶装置へのアクセスエラーの発生状況を監視し、その発生状況をエラーの内容に応じたエラー点数として保持する機能を備えている。このような制御装置は、エラー点数が一定値に達すると、記憶装置に故障が発生したと判定し、その記憶装置を切り離すなどの対処を行う。
また、記憶装置の障害発生の監視機能を有するストレージシステムの例としては、次のようなものが提案されている。このストレージシステムでは、通信制御部と複数の記憶デバイスとをスイッチ接続させる接続制御部が、記憶デバイスへのアクセス障害を認識した場合に、エラー情報を通信制御部に送信し、通信制御部がエラー情報に基づいて障害回復処理を実行するかを決定する。
また、例えば、次のようなディスクアレイも提案されている。この例では、ディスクアレイを構成するディスク装置に、自己の稼働履歴情報を収集、保持する機能と、上位制御装置からの転送要求に応じて、上位制御装置に稼働履歴情報を転送する機能とが設けられている。
特開2007−141185号公報 特開平6−51915号公報
近年のストレージシステムでは、記憶装置へのアクセスを制御する制御装置の数が多くなり、その規模が大きくなる傾向がある。また、大規模化とともにアクセス経路やアクセス制御系統を多様化する要請があり、例えば、ある制御装置が他の制御装置を介して記憶装置にアクセスできるようにすることが考えられている。このような構成では、1つの記憶装置に対するアクセスのエラーが複数の制御装置のいずれにおいても検出される可能性が生じる。この場合、各制御装置が個別に記憶装置の障害を判定してしまうと、記憶装置ごとの障害を検出するのには不十分である。
1つの側面では、本発明は、複数の制御装置からアクセスされる記憶装置を統合的に管理することが可能なストレージシステム、制御装置および制御プログラムを提供することを目的とする。
1つの案では、記憶装置と、第1の制御装置と、第2の制御装置とを有するストレージシステムが提供される。このストレージシステムにおいて、第1の制御装置は、第1のエラー点数を記憶する第1の記憶部と、記憶装置に対する第2の制御装置を通じたアクセス時におけるエラーの検出状況に基づいて第1のエラー点数を算出して第1の記憶部に記憶し、第1のエラー点数を所定のタイミングで第2の制御装置に送信する第1の制御部と、を有する。また、第2の制御装置は、第2のエラー点数を記憶する第2の記憶部と、記憶装置へのアクセス時におけるエラーの検出状況に基づいて第2のエラー点数を算出して第2の記憶部に記憶し、第1の制御装置から受信した第1のエラー点数と第2のエラー点数との合計値に基づいて、記憶装置が故障したかを判定する第2の制御部と、を有する。
また、1つの案では、記憶装置へのアクセスを制御する制御装置が提供される。この制御装置は、記憶部と制御部とを有する。記憶部は、第1のエラー点数を記憶する。制御部は、他の制御装置からのアクセス要求に応じて記憶装置にアクセスし、記憶装置へのアクセス時におけるエラーの検出状況に基づいて第1のエラー点数を算出して記憶部に記憶し、他の制御装置による制御装置を通じた記憶装置へのアクセス時におけるエラーの検出状況に基づく第2のエラー点数を他の制御装置から受信し、第2のエラー点数と第1のエラー点数との合計値に基づいて、記憶装置が故障したかを判定する。
さらに、1つの案では、上記の制御装置と同様の処理をコンピュータに実行させる制御プログラムが提供される。
1つの側面では、複数の制御装置からアクセスされる記憶装置を統合的に管理できる。
第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。 第2の実施の形態に係るストレージシステムの構成例を示す図である。 CMのハードウェア構成例を示す図である。 CMが備える処理機能の構成例を示すブロック図である。 RAID制御とディスクアクセス制御とを異なるCMが担当する場合の例を示す図である。 エラー点数の集計担当CMの割り当て例を示す図である。 RAID管理テーブルの構成例を示す図である。 エラー管理テーブルの構成例を示す図である。 集計テーブルの構成例を示す図である。 RAIDグループの設定処理例を示すフローチャートである。 集計担当CMにおけるエラー点数受信時の処理例を示すフローチャートである。 エラー検出時の処理例を示すフローチャートである。 転送閾値の更新処理例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。図1に示すストレージシステムは、制御装置10,20および記憶装置30を有する。制御装置20は、記憶装置30にアクセス可能である。一方、制御装置10は、制御装置20を通じて記憶装置30にアクセス可能になっている。例えば、制御装置10は、記憶装置30へのアクセス要求を制御装置20に送信することで、記憶装置30にアクセスする。なお、図1において、制御装置10から記憶装置30へのアクセス経路を破線によって示している。
このような構成では、記憶装置30へのアクセス時のエラーを、制御装置10,20の両方で検出し得る。例えば、制御装置10は、記憶装置30のデータの読み出しエラーを検出し得る。制御装置20は、例えば、記憶装置30のデータの読み出しエラーに加え、記憶装置30のスピンアップエラー(ただし、記憶装置30がHDDの場合)、記憶装置30のメディアエラーなどを検出し得る。
制御装置10は、記憶装置30へのアクセス時のエラー発生状況を、エラー点数11aによって管理する。一方、制御装置20も、記憶装置30へのアクセス時のエラー発生状況を、エラー点数21aによって管理する。エラー点数11a,21aは、記憶装置30が故障したかを判定するために使用されるものである。このため、制御装置10,20のいずれかにおいてエラー点数11a,21aを集計し、その集計結果に基づいて故障判定を行う必要がある。本実施の形態では、制御装置20においてエラー点数の集計および故障判定を行うようにする。
制御装置10は、記憶部11および制御部12を有する。記憶部11は、例えば、RAM(Random Access Memory)、HDDなどの記憶装置である。制御部12は、例えば、プロセッサである。この場合、制御部12の処理は、所定のプログラムにしたがって実行される。
記憶部11は、前述のエラー点数11aを記憶する。制御部12は、記憶装置30に対する制御装置20を通じたアクセス時におけるエラーの検出状況に基づいて、記憶部11内のエラー点数11aを増減させる。例えば、制御部12は、検出されたエラーに応じた点数をエラー点数11aに加算する。
また、制御部12は、記憶部11内のエラー点数11aを、所定のタイミングで制御装置20に送信する。例えば、制御部12は、エラー点数11aが更新されるたびにエラー点数11aを制御装置20に送信する。また、制御部12は、エラー点数11aを一定時間間隔で制御装置20に送信してもよい。また、制御部12は、エラー点数11aが所定数だけ増加または減少するたびに、エラー点数11aを制御装置20に送信してもよい。
制御装置20は、記憶部21および制御部22を有する。記憶部21は、例えば、RAM、HDDなどの記憶装置である。制御部22は、例えば、プロセッサである。この場合、制御部22の処理は、所定のプログラムにしたがって実行される。
記憶部21は、前述のエラー点数21aを記憶する。制御部22は、記憶装置30に対するアクセス時におけるエラーの検出状況に基づいて、記憶部21内のエラー点数21aを増減させる。例えば、制御部22は、検出されたエラーに応じた点数をエラー点数21aに加算する。また、制御部22は、制御装置10から受信したエラー点数11aと、記憶部21内のエラー点数21aとの合計値に基づいて、記憶装置30が故障したかを判定する。
以上の構成により、制御装置10,20の両方からアクセスされる記憶装置30を、制御装置20が統合的に管理できる。したがって、記憶装置30が故障したかを正確に判定できる。
また、例えば、エラー点数11aが更新されるたびに、またはエラー点数11aが所定数だけ増加または減少するたびに制御装置10から制御装置20へ送信される場合には、統合管理を制御装置10で行う場合より、エラー点数の送信頻度を低くすることができる。それは、以下の理由による。
エラーの検出頻度は、制御装置20より制御装置10の方が低い可能性が高い。なぜなら、記憶装置30に近い制御装置20の方が、より多くの種類のエラーを検出可能だからである。そこで、本実施の形態では、上記のように、制御装置20においてエラー点数11a,21aが集計され、その集計結果に基づく記憶装置30の故障判定が行われるようにした。これにより、集計および故障判定を制御装置20が行う場合よりも、制御装置10,20の間でのエラー点数の転送回数を少なくすることができる可能性が高まる。したがって、制御装置10,20の間の伝送路のトラフィックを抑制できる可能性が高まる。
[第2の実施の形態]
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステムは、CE(Controller Enclosure)100,200,300、DE(Device Enclosure)410,420,430、スイッチ510およびホスト装置520を含む。
CE100は、CM(Controller Module)110,120を有する。CE200は、CM210,220を有する。CE300は、CM310,320を有する。CM110,120,210,220,310,320は、スイッチ510を介して互いに接続されている。CM110,120,210,220,310,320とスイッチ510との間は、例えば、PCI Express(Peripheral Component Interconnect Express)バスによって接続されている。
また、CM110,120,210,220,310,320には、ホスト装置520が接続されている。CM110,120,210,220,310,320とホスト装置520とは、例えば、ファイバチャネル(FC:Fibre Channel)やiSCSI(Internet Small Computer System Interface)などを用いたSAN(Storage Area Network)を介して接続される。なお、図2では例として1台のホスト装置520がCM110,120,210,220,310,320に接続されているが、例えば、複数台のホスト装置のそれぞれが1台以上のCMに接続されてもよい。
DE410,420,430には、それぞれ複数台の記憶装置が搭載されている。本実施の形態では、DE410,420,430は、記憶装置としてHDDを備えたディスクアレイ装置である。なお、DE410,420,430に搭載される記憶装置は、SSD(Solid State Drive)などの他の種類の記憶装置であってもよい。
CM110,120には、DE410が接続されている。CM110,120は、ホスト装置520または他のCMからの要求に応じて、DE410に搭載されたHDDに対するアクセスを制御する。CM210,220には、DE420が接続されている。CM210,220は、ホスト装置520または他のCMからの要求に応じて、DE420に搭載されたHDDに対するアクセスを制御する。CM310,320には、DE430が接続されている。CM310,320は、ホスト装置520または他のCMからの要求に応じて、DE430に搭載されたHDDに対するアクセスを制御する。
なお、CE100とDE410とは、例えば、1つの筐体に搭載されるストレージ装置として実現される。CE200とDE420、および、CE300とDE430についても同様である。図2のストレージシステムは、このようなストレージ装置をスケールアウトした構成となっている。
また、ストレージシステムに含まれるCEの数は3台に限定されるものではなく、各CEに含まれるCMの数も2台に限定されるものではない。例えば、ストレージシステムには、それぞれ2台のCMを備えるDEが12台含まれてもよい。ただし、CEの数やCE内のCMの数に関係なく、各CEにはそれぞれ個別のDEが接続される。
また、CM110,120,210,220,310,320には、さらに、CM110,120,210,220,310,320に対する設定やメンテナンスを管理者が行うための管理端末が接続されてもよい。
図3は、CMのハードウェア構成例を示す図である。CM110,120,210,220,310,320は同じハードウェア構成によって実現されることから、ここでは代表してCM110のハードウェア構成について説明する。
CM110は、プロセッサ110aによって装置全体が制御されている。プロセッサ110aは、マルチプロセッサであってもよい。プロセッサ110aは、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。また、プロセッサ110aは、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
プロセッサ110aには、バスを介して、RAM110bと複数の周辺機器が接続されている。
RAM110bは、CM110の主記憶装置として使用される。RAM110bには、プロセッサ110aに実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM110bには、プロセッサ110aによる処理に必要な各種データが格納される。
バスに接続されている周辺機器としては、SSD110c、CA(Channel Adapter)110d、DI(Drive Interface)110e、CMインタフェース110fおよび読み取り装置110gがある。
SSD110cは、CM110の補助記憶装置として使用される。SSD110cには、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、HDDなどの他の種類の不揮発性記憶装置を使用することもできる。
CA110dは、ホスト装置520と通信するためのインタフェースである。DI110eは、DE101と通信するためのインタフェースである。CMインタフェース110fは、スイッチ510を介して他のCM120,210,220,310,320と通信するためのインタフェースである。なお、DI110eは、例えば、SAS(Serial Attached SCSI)インタフェースであり、プロセッサ110aからの指示に応じて、DE101内のHDDに対してSCSIコマンドを送信する機能を有している。
読み取り装置110gには、可搬型の記録媒体110hが脱着される。読み取り装置110gは、記録媒体110hに記録されたデータを読み取ってプロセッサ110aに送信する。記録媒体110hとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
図4は、CMが備える処理機能の構成例を示すブロック図である。CM110,120,210,220,310,320は同じ処理機能を有することから、ここでは代表してCM110の処理機能について説明する。
CM110は、RAID制御部111、ディスクアクセス制御部112、エラー処理部113および記憶部114を有する。RAID制御部111、ディスクアクセス制御部112およびエラー処理部113の処理は、例えば、CM110が備えるプロセッサ110aが所定のプログラムを実行することで実現される。記憶部114は、例えば、RAM110bやSSD110cなどのCM110が備える記憶装置内の記憶領域として実装される。
RAID制御部111は、RAIDグループに設定された論理ボリュームに対するアクセスを制御する。RAIDグループは、複数のHDDによって実現され、記録されるデータが2以上のHDDによって冗長化されるように制御される論理記憶領域である。論理ボリュームは、RAIDグループに対して1つ以上設定され、ホスト装置520が1つのボリュームとして認識する論理記憶領域である。
RAID制御部111は、ホスト装置520から論理ボリュームに対するアクセス要求を受信する。RAID制御部111は、ホスト装置520からアクセスが要求された論理ボリュームの物理記憶領域を構成するHDDに対するアクセスを要求する。その際、RAID制御部111は、RAIDレベルに応じたアクセス制御を行う。
例えば、RAID制御部111は、RAID−1で制御される論理ボリュームへのデータの書き込み要求を受信した場合、2つのHDDに対して書き込みデータが二重化されるように制御する。また、RAID制御部111は、その論理ボリュームからのデータの読み出し要求を受信した場合、2つのHDDのいずれかからデータが読み出されるように制御する。
また、RAID制御部111は、例えば、RAID−5で制御される論理ボリュームへのデータの書き込み要求を受信した場合、書き込みデータの分割や所定数の分割データに基づくパリティの算出を行い、複数のHDDに対して分割データおよびパリティが分散して記録されるように制御する。また、RAID制御部111は、その論理ボリュームからのデータの読み出し要求を受信した場合、複数のHDDから分割データが読み出されるように制御する。
ここで、RAID制御部111がアクセス要求を受け付ける論理ボリュームを構成する物理記憶領域は、CM110に接続されたDE410内のHDDであってもよいし、他のCMに接続されたDE420,430内のHDDであってもよい。前者の場合、RAID制御部111は、CM110内のディスクアクセス制御部112に対して、論理ボリュームの物理記憶領域を構成するDE410内のHDDに対するアクセスを要求する。一方、後者の場合、RAID制御部111は、論理ボリュームの物理記憶領域を構成するHDDを含むDEに接続された他のCMのディスクアクセス制御部に対して、そのHDDに対するアクセスを要求する。なお、このような他のCMのディスクアクセス制御部に対するアクセス要求は、スイッチ510を介して送信される。
ディスクアクセス制御部112は、CM110内のRAID制御部111、または他のCM内のRAID制御部からのアクセス要求に応じて、CM110に接続されたDE410内のHDDに対して、DI110eを介してアクセスする。このアクセスは、例えば、DI110eからHDDに対してSCSIコマンドが送信されることで実行される。
上記のように、CM110のアクセス制御は、論理ボリュームに対するアクセスを制御する、RAID制御部111による「RAID制御」と、論理ボリュームを構成する物理記憶領域に対するアクセスを制御する、ディスクアクセス制御部112による「ディスクアクセス制御」とに大別される。そして、ある論理ボリュームについてのRAID制御とディスクアクセス制御の各機能を、異なるCMに実装できるようになっている。換言すると、ある論理ボリュームについてのRAID制御と、同じ論理ボリュームについてのディスクアクセス制御を、異なるCMに担当させることができる。なお、この点については図5を用いて後述する。
エラー処理部113は、RAID制御部111による他のCMに接続されたDE内のHDDに対するアクセス要求、または、ディスクアクセス制御部112によるDE410内のHDDに対するアクセス要求の際にエラーが検出されると、エラー点数の加点処理を行う。記憶部114には、アクセス先のHDDごとにエラー点数が記憶されており、エラー処理部113は、エラーが検出されたHDDに対応するエラー点数に、検出されたエラーの内容に応じた点数を加算する。
また、エラー処理部113は、エラー点数に基づいて対応するHDDの切り離し制御を行う。ただし、RAID制御を担当するCMとディスクアクセス制御を担当するCMとが異なる論理ボリュームに割り当てられたHDDについては、それらの各CMのどちらでもHDDへのアクセスに伴うエラーを検出する可能性がある。そこで、エラー処理部113は、ディスクアクセス制御を担当するCMにおいて、エラー点数が集計され、HDDの切り離し制御が行われるように制御する。エラー処理部113による処理の詳細については後述する。
記憶部114は、RAID制御部111、ディスクアクセス制御部112およびエラー処理部113の処理に必要な各種の情報を記憶する。例えば、記憶部114は、HDDごとのエラー点数、RAIDグループの構成を示す設定情報、HDDごとのRAID制御およびディスクアクセス制御の担当CMを示す情報、HDDの切り離しを判定するための情報などを記憶する。
次に、図5は、RAID制御とディスクアクセス制御とを異なるCMが担当する場合の例を示す図である。図5の例では、CM110がRAID制御を担当する論理ボリュームの物理記憶領域が、DE420に搭載されたHDD421,422によって構成されるものとする。この論理ボリュームは、RAID−1によって制御される。すなわち、この論理ボリュームに対してホスト装置520から書き込みが要求されたデータは、HDD421,422に二重化される。
また、図5の例では、HDD421に対するディスクアクセス制御をCM210が担当し、HDD422に対するディスクアクセス制御をCM220が担当する。この例のように、本実施の形態では、論理ボリュームの物理記憶領域を構成するHDDごとに異なるCMにディスクアクセス制御を担当させることができる。なお、CM210は、HDD421に対するディスクアクセス制御機能を担うディスクアクセス制御部212を有し、CM220は、HDD422に対するディスクアクセス制御機能を担うディスクアクセス制御部222を有する。
RAID制御部111は、ホスト装置520から論理ボリュームへの書き込み要求を受信すると、CM210のディスクアクセス制御部212にHDD421へのデータ書き込みを要求するとともに、CM220のディスクアクセス制御部222にHDD422へのデータ書き込みを要求する。ディスクアクセス制御部212は、RAID制御部111からの要求に応じてデータをHDD421に書き込む。ディスクアクセス制御部222は、RAID制御部111からの要求に応じてデータをHDD422に書き込む。
また、RAID制御部111は、ホスト装置520から論理ボリュームからの読み出し要求を受信すると、ディスクアクセス制御部212またはディスクアクセス制御部222に対してデータ読み出しを要求する。例えば、ディスクアクセス制御部212に対して読み出し要求が送信された場合、ディスクアクセス制御部212は、HDD421からデータを読み出してRAID制御部111に送信する。
以上の図5の例のように、ある論理ボリュームについてのRAID制御とディスクアクセス制御とを別のCMが担当できるようにすることで、論理ボリュームに割り当てられるHDDの自由度が高まり、HDDを効率よく利用することができる。また、論理ボリュームの物理記憶領域を構成するHDDごとのディスクアクセス制御を異なるCMが担当することで、CMの故障が発生した場合にその論理ボリュームのデータにアクセスできなくなる可能性を低くすることができ、耐故障性が向上する。
ところで、図5の例では、CM110のRAID制御部111は、CM210のディスクアクセス制御部212を介してHDD421にアクセスする。このような構成では、RAID制御部111とディスクアクセス制御部212の両方で、同じHDD421へのアクセス時にエラーを検出する可能性がある。
例えば、ディスクアクセス制御部212は、データの読み出しエラー、データの書き込みエラー、HDD421のスピンアップの失敗、HDD421への定期的なパトロールに応じたメディアエラーなどを検出し得る。これらのエラーのほとんどは、例えば、HDD421に対するSCSIコマンドに対する応答として、HDD421側が検出してCM210に報告する。このようなエラーは、HDD421が搭載されたDE420に直接接続されたCM210は検出できるが、HDDに対してコマンドを直接的に送信しないRAID制御部111は検出できない。
一方、RAID制御部111は、HDD421からのデータ読み出しエラーを検出し得る。このデータ読み出しエラーの1つとしては、データの整合性チェックで検出されるエラーがある。データの整合性チェックとは、論理ボリュームを構成する複数のHDDのそれぞれから、冗長性が保たれるようにデータを正しく読み取りできるかをチェックする処理である。RAID−1の場合、2つのHDDから同一のデータを読み取ることができたかがチェックされる。RAID−5の場合、ストライプに含まれるデータおよびパリティを対応するHDDから読み出し、データから算出したパリティと読み出したパリティとが一致するかがチェックされる。このような整合性チェックによるエラーは、ディスクアクセス制御を担当するCMでは検出できず、RAID制御を担当するCMでのみ検出可能である。
このように、本実施の形態では、1つのHDDへのアクセス時におけるエラーを複数のCMが検出し得る。これらのCMのそれぞれは、自装置が検出したエラーに基づいて加点したエラー点数を保持する。このため、エラー点数を用いてHDDの切り離し制御を行おうとすると、これらの複数のCMのいずれかが、各CMが保持するエラー点数を集計する必要が生じる。
ここで、エラー点数を1つのCMが集計することについては、次の2つの課題がある。
(課題1)CM間でエラー点数が転送されるため、CM間の伝送路のトラフィックが増大する。
(課題2)エラー点数を集計するCMの処理負荷が高くなり、場合によっては、そのCMでのホスト装置520からの要求に応じたアクセス性能に悪影響を及ぼす可能性がある。
これらの課題に対し、本実施の形態では、次の図6に示すようにエラー点数の集計が行われる。
図6は、エラー点数の集計担当CMの割り当て例を示す図である。この図6は、HDD421,422についてのRAID制御担当とディスクアクセス制御担当とが図5のように割り当てられた場合におけるエラー点数の集計の仕方を示す。
CM110の記憶部114には、エラー点数を記憶するエラー管理テーブル114bが記憶される。このエラー管理テーブル114bには、HDD421についてのエラー点数114b1と、HDD422についてのエラー点数114b2とが記憶される。また、CM210の記憶部には、HDD421についてのエラー点数を記憶するエラー管理テーブル214bが記憶される。さらに、CM220の記憶部には、HDD422についてのエラー点数を記憶するエラー管理テーブル224bが記憶される。
CM110のエラー処理部113は、CM110のRAID制御部111によるHDD421へのアクセス時にエラーが検出されると、そのエラーの内容に応じた点数を、エラー管理テーブル114b内のエラー点数114b1に加算する。また、CM110のエラー処理部113は、CM110のRAID制御部111によるHDD422へのアクセス時にエラーが検出されると、そのエラーの内容に応じた点数を、エラー管理テーブル114b内のエラー点数114b2に加算する。
CM210は、エラー処理部213を有する。エラー処理部213は、CM210のディスクアクセス制御部212によるHDD421へのアクセス時にエラーが検出されると、そのエラーの内容に応じた点数を、エラー管理テーブル214b内のエラー点数に加算する。
CM220は、エラー処理部223を有する。エラー処理部223は、CM220のディスクアクセス制御部222によるHDD422へのアクセス時にエラーが検出されると、そのエラーの内容に応じた点数を、エラー管理テーブル224b内のエラー点数に加算する。
このようにして、HDD421についてのエラー点数は、エラー管理テーブル114bとエラー管理テーブル214bとに分散して記憶される。また、HDD422についてのエラー点数は、エラー管理テーブル114bとエラー管理テーブル224bとに分散して記憶される。したがって、HDDごとのエラー点数をそれぞれ1つのCMが集計する必要が生じる。
本実施の形態では、あるHDDについてのRAID制御担当のCMとディスクアクセス制御担当のCMのうち、ディスクアクセス制御担当のCMにおいて、そのHDDについてのエラー点数が集計され、集計結果に基づくHDDの切り離し制御が行われる。これにより、CM間でのエラー点数の転送頻度が抑制され、CM間の伝送路のトラフィックの増大を抑制できる。すなわち、上記の課題1についての改善効果が得られる。
そのような効果が得られる理由は、ディスクアクセス制御担当のCMより、RAID制御担当のCMによるエラーの検出頻度の方が低いことにある。前述のように、ディスクアクセス制御担当のCMは、HDDに対してコマンドを直接的に送信できることから、そのコマンドに対する応答として通知される多くの種類のエラーを検出できる。これに対し、RAID制御担当のCMが検出可能なエラーは、前述のデータ読み出しエラーなど、ディスクアクセス制御担当のCMと比較して少ない種類のエラーに限られる。したがって、エラー検出頻度が低いRAID制御担当のCMが、ディスクアクセス制御担当のCMに対してエラー点数を転送するようにすることで、CM間でのエラー点数の転送頻度が抑制される。
図6の例では、HDD421についてのエラー点数をCM210が集計し、HDD422についてのエラー点数をCM220が集計する。具体的には、CM210の記憶部には、集計用の集計テーブル214cが記憶される。CM110のエラー処理部113は、エラー管理テーブル114bに記憶されたエラー点数114b1をCM210に送信する。CM210のエラー処理部213は、CM110から送信されたエラー点数114b1と、エラー管理テーブル214bに記憶されたエラー点数とを合計して、集計テーブル214cに登録する。エラー処理部213は、その合計値が所定の閾値を超えた場合に、HDD421が故障したと判定してHDD421を切り離す。このように、CM210がエラー点数を集計することで、CM110がエラー点数を集計する場合と比較して、CM110とCM210との間でのエラー点数の転送頻度が抑制される。
また、CM220の記憶部には、集計用の集計テーブル224cが記憶される。CM110のエラー処理部113は、エラー管理テーブル114bに記憶されたエラー点数114b2をCM220に送信する。CM220のエラー処理部223は、CM110から送信されたエラー点数114b2と、エラー管理テーブル224bに記憶されたエラー点数とを合計して、集計テーブル224cに登録する。エラー処理部223は、その合計値が所定の閾値を超えた場合に、HDD422が故障したと判定してHDD422を切り離す。このように、CM220がエラー点数を集計することで、CM110がエラー点数を集計する場合と比較して、CM110とCM220との間でのエラー点数の転送頻度が抑制される。
ここで、図6の構成では、CM110は、2つのHDD421,422にアクセスする。このため、HDD421,422のそれぞれについてのエラー点数をCM110が集計する方法も考えられる。しかし、この場合には、複数のHDDについてのエラー点数の集計および切り離し制御を1つのCM110が実行することになり、CM110の処理負荷が高くなる。
これに対して、上記のようにディスクアクセス制御担当のCMがエラー点数を集計することで、エラー点数の集計担当CMが分散して割り当てられる。その結果、エラー点数の集計および切り離し制御による処理負荷がシステム上のCM間で分散され、各CMの処理負荷が軽減される。すなわち、ディスクアクセス制御担当のCMがエラー点数を集計することで、上記の課題2についての改善効果も得られる。
次に、エラー点数の転送頻度をさらに抑制するための仕組みについて説明する。ここでは例として、HDD421についてのエラー点数の送信に関して説明する。RAID制御担当のCM110のエラー処理部113は、エラー管理テーブル114bに記憶されたエラー点数114b1を、所定の転送閾値と比較する。エラー処理部113は、記憶されたエラー点数114b1が転送閾値を超えた場合に、エラー点数114b1をディスクアクセス制御担当のCM210に送信する。
このように、転送閾値に基づいてエラー点数が間欠的に送信されることで、CM間の伝送路のトラフィックが軽減される。また、記憶されたエラー点数が転送閾値以下である場合とは、対応するHDDが故障している可能性が低い場合であるので、エラー点数を転送して集計させる必要性が低い場合が多い。したがって、エラー点数と転送閾値との比較に基づくことで、HDDの状態監視精度を維持しながら、転送頻度を抑制することができる。
さらに、エラー点数と比較される転送閾値は、集計担当のCMからの指示に応じて可変とされる。具体的には、転送閾値は、対応するHDDについてエラーを検出したCMが多いほど、低く設定される。これにより、エラーを検出したCMが多いほど、エラー点数の転送頻度が高くなる。このような方法によれば、HDDが故障している可能性が高くなるほど、エラー点数が頻繁に転送されるようになり、集計担当のCMが正確な集計値に基づいてHDDの故障の有無を判定できるようになる。したがって、HDDの状態監視精度と、伝送路のトラフィックの抑制との適切なバランスを保ちながら運用することができる。
次に、CMの処理で利用される各種情報について説明する。以下の図7〜図9では、例としてCM110の記憶部114に記憶されるテーブル情報を示す。
まず、図7は、RAID管理テーブルの構成例を示す図である。RAID管理テーブル114aは、RAIDグループ、メンバディスク、ステータス、RAID制御担当CM、ディスクアクセス制御担当CMおよび集計担当CMの各項目を有する。
RAIDグループの項目には、ストレージシステムに設定されたRAIDグループを識別するための番号が登録される。メンバディスクの項目には、RAIDグループに物理記憶領域として割り当てられたHDDの識別番号が登録される。ステータスの項目には、メンバディスクが正常に動作しているか否かを示す情報が登録される。例えば、メンバディスクが正常に動作している場合、ステータスの項目には「true」が登録される。また、メンバディスクが正常に動作しておらず、RAIDグループから切り離された状態である場合、ステータスの項目には「false」が登録される。
RAID制御担当CMの項目には、メンバディスクについてのRAID制御担当のCMを識別するための番号が登録される。ディスクアクセス制御担当CMの項目には、メンバディスクについてのディスクアクセス制御担当のCMを識別するための番号が登録される。集計担当CMの項目には、メンバディスクについてのエラー点数の集計を担当するCMの識別番号が登録される。
他のCM120,210,220,310,320の記憶部にも、図7と同様の項目を有するRAID管理テーブルが記憶される。そして、CM110,120,210,220,310,320のすべてのRAID管理テーブルが同期化される。すなわち、あるCMにおいてRAID管理テーブルの内容が更新されると、その更新内容が他のすべてのCMに通知され、その更新内容が他のすべてのCMのRAID管理テーブルに反映される。
図8は、エラー管理テーブルの構成例を示す図である。エラー管理テーブル114bは、ディスク番号、エラー点数、転送閾値およびエラー検出CMの各項目を有する。
ディスク番号の項目には、HDDの識別番号が登録される。ディスク番号の項目に登録されるHDDは、自装置(CM110)からアクセス可能なHDDである。より具体的には、このようなHDDには、CM110がRAID制御担当になっているHDDと、CM110がディスクアクセス制御担当になっているHDDとが含まれる。
エラー点数の項目には、対応するHDDへのアクセス時に検出された内容に基づいて加点されたエラー点数が登録される。エラー点数の初期値は0である。転送閾値の項目には、エラー点数を転送するか否かを判定するための閾値が登録される。転送閾値の初期値は0である。なお、CM110が集計担当CMであるHDDについては、転送閾値が使用されないため、転送閾値の項目には例えば「NULL」が登録される。
エラー検出CMの項目には、対応するHDDについて1回でもエラーを検出した(すなわち、1回でもエラー点数を加点した)CMの識別番号が登録される。エラー検出CMの項目に登録され得るCMには、対応するHDDについてのRAID制御担当のCMおよびディスクアクセス制御担当のCMが含まれる。なお、後述するように、エラー検出CMの項目の内容は、対応するHDDについてのRAID制御担当CMとディスクアクセス制御担当CMとで同期される。
図9は、集計テーブルの構成例を示す図である。集計テーブル114cは、ディスク番号、累積エラー点数および切り離し閾値の各項目を有する。
ディスク番号の項目には、HDDの識別番号が登録される。ディスク番号の項目に登録されるHDDは、自装置(CM110)がエラー点数の集計担当になっているHDDである。累積エラー点数の項目には、対応するHDDについてのエラー点数の累積値が登録される。切り離し閾値の項目には、対応するHDDが故障かを判定するために累積エラー点数と比較される閾値が登録される。切り離し閾値の項目には、あらかじめ決められた値が設定される。なお、例えば、HDDの仕様や製造時期などによってHDDごとに異なる切り離し閾値が設定されてもよい。
次に、CMの処理についてフローチャートを用いて説明する。
まず、図10は、RAIDグループの設定処理例を示すフローチャートである。図10に示す処理は、CM110,120,210,220,310,320のいずれにおいて実行されてもよい。ここでは例として、CM110で実行されるものとして説明する。また、以下の説明では、例としてホスト装置520での入力操作に応じて処理が実行されるものとするが、例えば、ホスト装置520とは別の、CM110,120,210,220,310,320の管理専用の管理端末での入力操作に応じて処理が実行されてもよい。
[ステップS11]RAID制御部111は、ホスト装置520から新規のRAIDグループの作成要求を受け付ける。この作成要求は、ホスト装置520に対するユーザの入力操作に応じて送信される。
[ステップS12]RAID制御部111は、新規のRAIDグループについてのRAID制御担当のCMを決定する。RAID制御部111は、例えば、全CMの中から、RAID制御担当になっているHDDの数が少なく、処理負荷が低いと推定されるCMを、RAID制御担当のCMとして選択する。また、RAID制御担当のCMは、例えば、ホスト装置520での入力操作によって指定されてもよい。
[ステップS13]RAID制御部111は、DE410,420,430内のRAIDグループに割り当てられていないHDDの中から、新規のRAIDグループの物理記憶領域を構成するHDDを選択する。例えば、RAID制御部111は、ホスト装置520から新規のRAIDグループの物理記憶領域を構成するHDDの数の指定を受け付け、指定された数のHDDを選択する。
また、RAID制御部111は、選択した各HDDについてのディスクアクセス制御担当のCMを決定する。本実施の形態では、選択した1台のHDDが搭載されるDEには2台のCMが接続されているので、これらの2台のCMの一方がディスクアクセス制御担当のCMとして決定される。このとき、RAID制御部111は、例えば、ディスクアクセス制御担当のCMが分散するように選択する。
RAID制御部111は、RAID管理テーブル114aに、選択したHDDの数だけのレコードを作成する。RAID制御部111は、作成した各レコードのRAIDグループの項目に、新規のRAIDグループを示す共通の識別番号を登録する。また、RAID制御部111は、各レコードのRAID制御担当CMの項目に、ステップS12でRAID制御担当に決定されたCMの識別番号を登録する。
さらに、RAID制御部111は、各レコードのメンバディスクの項目に、選択したHDDの識別番号を登録し、各レコードのステータスの項目に「true」を設定する。また、RAID制御部111は、各レコードのディスクアクセス制御担当CMの項目に、ディスクアクセス制御担当に決定されたCMの識別番号を登録する。
[ステップS14]RAID制御部111は、ステップS13で選択された各HDDについてのエラー点数の集計担当のCMを決定する。集計担当のCMは、基本的に、ディスク制御担当のCMと同じである。そのため、RAID制御部111は、ステップS13でRAID管理テーブル114aに作成した各レコードにおいて、ディスクアクセス制御担当CMの項目に登録されたCMの識別番号を集計担当CMの項目にコピーする。
[ステップS15]RAID制御部111は、上記の処理によってRAID管理テーブル114aに設定された情報を、他のCM120,210,220,310,320に配信する。これにより、CM110,120,210,220,310,320のすべてのRAID管理テーブルの内容が同期される。CM110,120,210,220,310,320のそれぞれは、自装置が保持するRAID管理テーブルに基づいて、自装置がどのRAIDグループのRAID制御担当CMになっているか、自装置がどのHDDのディスクアクセス制御担当CMや集計担当CMになっているかを、認識することができる。
図11は、集計担当CMにおけるエラー点数受信時の処理例を示すフローチャートである。ここでは例として、CM110がエラー点数の集計担当になっているHDDについて、他のCMからエラー点数が送信された場合の処理について説明する。図11の処理は、例えば、一定時間間隔で実行される。
[ステップS21]エラー処理部113は、該当HDDについてのRAID制御担当になっている他のCMから、該当HDDについてのエラー点数を受信したかを判定する。エラー点数を受信した場合、ステップS22の処理が実行される。エラー点数を受信していない場合、処理は終了する。なお、例えば、受信したエラー点数には対応するHDDの識別番号が付加されており、エラー処理部113は、付加された識別番号に基づいてどのHDDについてのエラー点数かを判別することができる。
[ステップS22]エラー処理部113は、集計テーブル114cにおける該当HDDのレコードを参照する。エラー処理部113は、参照先のレコードの累積エラー点数の項目に登録された値に、ステップS21で受信したエラー点数を加算し、加算後の値によって当該項目の登録値を更新する。
[ステップS23]エラー処理部113は、エラー管理テーブル114bにおける該当HDDのレコードを参照する。エラー処理部113は、参照先のレコードのエラー検出CMの項目に、ステップS21でのエラー点数の送信元CMの識別番号が登録されていない場合には、当該識別番号を当該項目に追加する。エラー処理部113は、当該レコードの更新内容をステップS21でのエラー点数の送信元CMに送信する。これにより、CM110のエラー管理テーブル114bにおける該当HDDのレコードと、配信先のCMのエラー管理テーブルにおける該当HDDのレコードとが同期される。
なお、レコードの更新内容の送信は、必須ではない。ただし、送信を行ってレコードの内容を同期させることで、例えば、CM110の動作が停止した場合でも、送信先に登録されたレコードの内容を利用して転送閾値を計算できるようになる。
[ステップS24]エラー処理部113は、該当HDDについての転送閾値を次のような方法で算出する。エラー処理部113は、集計テーブル114cにおける該当HDDのレコードから、累積エラー点数と切り離し閾値とを読み出す。ここで、読み出された累積エラー点数をPとし、読み出された切り離し閾値をTh1とする。また、エラー処理部113は、エラー管理テーブル114bにおける該当HDDのレコードを参照し、エラー検出CMの項目に登録されたCMの数を判定する。このCM数は、該当HDDについてエラーを検出したCM数を示す。ここで、このCM数をCとする。
該当HDDについての転送閾値をTh2とすると、エラー処理部113は、次の条件1,2にしたがって転送閾値Th2を算出する。
(条件1)PがTh1/Cより小さい場合・・・Th2=Th1/C
(条件2)PがTh1/C以上の場合・・・Th2=0
エラー処理部113は、算出した転送閾値Th2を、ステップS21でのエラー点数の送信元CMに送信する。送信されたエラー点数を受信したCMのエラー処理部は、当該CMのエラー管理テーブルに登録された該当HDDについての転送閾値を、受信したエラー点数で更新する。
上記の条件1では、累積エラー点数Pが切り離し閾値Th1より十分小さいと推定される。この状態では、転送閾値Th2は、該当HDDについてエラーを検出したCM数Cが多いほど、小さな値に設定される。したがって、CM数Cが多いほどエラー点数が頻繁に転送されるようになり、集計担当CMが正確な累積エラー点数Pに基づいて切り離し判定を実行できるようになる。すなわち、切り離し判定の精度の維持と伝送路のトラフィック軽減とを適切にバランスさせることができる。また、条件2では、累積エラー点数Pが切り離し閾値Th1に近づいたと推定される。この状態では、エラーが検出されるたびにエラー点数が転送されるようになり、切り離し判定の精度が優先される。
なお、条件2の場合には、転送閾値Th2は、例えば、(Th1−P)/Cという式によって算出されてもよい。この場合、条件2では、条件1と比較して、累積エラー点数Pが切り離し閾値Th1に近づくほど転送閾値Th2がさらに小さな値となり、切り離し判定の精度がより優先されるようになる。
[ステップS25]エラー処理部113は、累積エラー点数Pが切り離し閾値Th1を超えたかを判定する。累積エラー点数Pが切り離し閾値Th1を超えた場合、ステップS26の処理が実行される。累積エラー点数Pが切り離し閾値Th1以下の場合、処理が終了される。
[ステップS26]エラー処理部113は、該当HDDが故障であると判定し、このHDDを切り離す。具体的には、エラー処理部113は、RAID管理テーブル114aにおける該当HDDのレコードのステータスを「false」に更新し、このHDDを使用不可能な状態にする。
[ステップS27]エラー処理部113は、エラー管理テーブル114bにおける該当HDDのレコードのエラー点数を、初期値0にクリアする。
図12は、エラー検出時の処理例を示すフローチャートである。この図12の処理は、該当HDDについてのRAID制御担当およびディスクアクセス制御担当のどちらのCMでも共通に実行される。ここでは例として、CM110での処理について説明する。図12の処理は、例えば、一定時間間隔で実行される。
[ステップS31]エラー処理部113は、該当HDDについてのエラーがRAID制御部111またはディスクアクセス制御部112から検出されたかを判定する。エラーが検出された場合、ステップS32の処理が実行される。エラーが検出されていない場合、処理が終了される。
[ステップS32]エラー処理部113は、エラー管理テーブル114bにおける該当HDDのレコードを参照する。エラー処理部113は、参照先のレコードのエラー点数の項目に登録された値に、ステップS31で検出されたエラーの内容に応じた点数を加点する。エラー処理部113は、参照先のレコードのエラー点数の項目の登録値を、加点後の値によって更新する。
[ステップS33]エラー処理部113は、エラー管理テーブル114bにおける該当HDDのレコードを参照する。エラー処理部113は、参照先のレコードのエラー検出CMの項目にCM110の識別番号が登録されていない場合には、当該識別番号を当該項目に追加する。
エラー処理部113は、RAID管理テーブル114aにおける該当HDDのレコードを参照し、RAID制御担当CMまたはアクセス制御担当CMの項目から、エラー管理テーブル114bのレコードにおける上記更新内容の送信先CMを特定する。エラー処理部113は、特定した送信先CMに対して、エラー管理テーブル114bのレコードにおける上記更新内容を送信する。これにより、CM110のエラー管理テーブル114bにおける該当HDDのレコードと、送信先のCMのエラー管理テーブルにおける該当HDDのレコードとが同期される。
なお、CM110が該当HDDのディスクアクセス制御担当である場合には、レコードの上記更新内容の送信は行われなくてもよい。
[ステップS34]エラー処理部113は、RAID管理テーブル114aにおける該当HDDのレコードの集計担当CMの項目に基づいて、CM110がエラー点数の集計担当CMであるかを判定する。集計担当CMである場合、ステップS35の処理が実行される。集計担当CMでない場合、ステップS36の処理が実行される。
[ステップS35]エラー処理部113は、集計テーブル114cにおける該当HDDのレコードを参照する。エラー処理部113は、参照先のレコードの累積エラー点数の項目に登録された値に、ステップS32で更新されたエラー点数を加算し、加算後の値によって当該項目の登録値を更新する。
ステップS35の処理が終了すると、図11のステップS24の処理が実行される。
[ステップS36]エラー処理部113は、エラー管理テーブル114bにおける該当HDDのレコードを参照し、参照先のレコードに登録されたエラー点数と転送閾値とを比較する。エラー点数が転送閾値より大きい場合、ステップS37の処理が実行される。エラー点数が転送閾値以下の場合、処理が終了される。
[ステップS37]エラー処理部113は、RAID管理テーブル114aにおける該当HDDのレコードを参照し、集計担当CMを特定する。エラー処理部113は、ステップS36での参照先レコードに登録されたエラー点数を、特定した集計担当CMに送信する。なお、この処理では、例えば、エラー点数に該当HDDの識別番号が付加されて送信される。
[ステップS38]エラー処理部113は、エラー管理テーブル114bにおける該当HDDのレコードのエラー点数を、初期値0にクリアする。
図13は、転送閾値の更新処理例を示すフローチャートである。この図13の処理は、該当HDDについてのRAID制御担当のCMにおいて実行される。ここでは例として、CM110での処理について説明する。図13の処理は、例えば、一定時間間隔で実行される。
[ステップS41]エラー処理部113は、該当HDDについての集計担当になっている他のCMから、該当HDDについての転送閾値を受信したかを判定する。転送閾値を受信した場合、ステップS42の処理が実行される。転送閾値を受信していない場合、処理は終了する。なお、例えば、受信した転送閾値には対応するHDDの識別番号が付加されており、エラー処理部113は、付加された識別番号に基づいてどのHDDについての転送閾値かを判別することができる。
[ステップS42]エラー処理部113は、エラー管理テーブル114bにおける該当HDDのレコードを参照する。エラー処理部113は、参照先のレコードに登録された転送閾値を、ステップS41で受信した転送閾値に更新する。
以上説明した第2の実施の形態では、1つのHDDへのアクセス時のエラーを複数のCMが検出し得る。このような構成において、エラー点数の集計および切り離し制御を各HDDについてのディスクアクセス制御担当のCMで実行することで、CM間の伝送路のトラフィックを抑制できる。これとともに、CM間の処理負荷を分散させ、各CMの処理負荷を軽減することもできる。
また、RAID制御担当のCMがエラー点数を送信する契機を、エラー点数が転送閾値を超えたときとすることで、エラー点数の頻度を低下させ、CM間の伝送路のトラフィックを抑制できる。さらに、同じHDDについてエラーを1度でも検出したCMの数に応じて転送閾値を可変にすることで、CM間の伝送路のトラフィックの抑制効果と、HDDの故障判定の精度とのバランスを適正化することができる。
なお、上記の各実施の形態に示した装置(例えば、制御装置10,20、CM110,120,210,220,310,320)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
10,20 制御装置
11,21 記憶部
11a,21a エラー点数
12,22 制御部
30 記憶装置

Claims (6)

  1. 記憶装置と、第1の制御装置と、第2の制御装置とを有し、
    前記第1の制御装置は、
    第1のエラー点数を記憶する第1の記憶部と、
    前記記憶装置に対する前記第2の制御装置を通じたアクセス時におけるエラーの検出状況に基づいて前記第1のエラー点数を算出して前記第1の記憶部に記憶し、前記第1のエラー点数を所定のタイミングで前記第2の制御装置に送信する第1の制御部と、
    を有し、
    前記第2の制御装置は、
    第2のエラー点数を記憶する第2の記憶部と、
    前記記憶装置へのアクセス時におけるエラーの検出状況に基づいて前記第2のエラー点数を算出して前記第2の記憶部に記憶し、前記第1の制御装置から受信した前記第1のエラー点数と前記第2のエラー点数との合計値に基づいて、前記記憶装置が故障したかを判定する第2の制御部と、
    を有する、ストレージシステム。
  2. 前記第1の記憶部は、転送閾値をさらに記憶し、
    前記第1の制御部は、前記第1のエラー点数が前記転送閾値を超えた場合に、前記第1のエラー点数を前記第2の制御装置に送信する、
    請求項1記載のストレージシステム。
  3. 前記第2の制御部は、前記第1の制御装置と前記第2の制御装置のうち、前記記憶装置のエラーを検出した装置の台数が多いほど前記転送閾値が小さくなるように、前記転送閾値を設定する、
    請求項2記載のストレージシステム。
  4. 前記第2の制御部は、さらに、前記合計値が大きいほど前記転送閾値が小さくなるように、前記転送閾値を設定する、
    請求項3記載のストレージシステム。
  5. 記憶装置へのアクセスを制御する制御装置において
    第1のエラー点数を記憶する記憶部と、
    他の制御装置からのアクセス要求に応じて前記記憶装置にアクセスし、前記記憶装置へのアクセス時におけるエラーの検出状況に基づいて前記第1のエラー点数を算出して前記記憶部に記憶し、前記他の制御装置による前記制御装置を通じた前記記憶装置へのアクセス時におけるエラーの検出状況に基づく第2のエラー点数を前記他の制御装置から受信し、前記第2のエラー点数と前記第1のエラー点数との合計値に基づいて、前記記憶装置が故障したかを判定する制御部と、
    を有する制御装置。
  6. コンピュータに、
    他の制御装置からのアクセス要求に応じて記憶装置にアクセスし、
    前記記憶装置へのアクセス時におけるエラーの検出状況に基づいて第1のエラー点数を算出して記憶部に記憶し、
    前記他の制御装置による前記コンピュータを通じた前記記憶装置へのアクセス時におけるエラーの検出状況に基づく第2のエラー点数を前記他の制御装置から受信し、
    前記第2のエラー点数と前記第1のエラー点数との合計値に基づいて、前記記憶装置が故障したかを判定する、
    処理を実行させる制御プログラム。
JP2015093348A 2015-04-30 2015-04-30 ストレージシステム、制御装置および制御プログラム Pending JP2016212512A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015093348A JP2016212512A (ja) 2015-04-30 2015-04-30 ストレージシステム、制御装置および制御プログラム
US15/079,749 US9760423B2 (en) 2015-04-30 2016-03-24 Storage system and control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015093348A JP2016212512A (ja) 2015-04-30 2015-04-30 ストレージシステム、制御装置および制御プログラム

Publications (1)

Publication Number Publication Date
JP2016212512A true JP2016212512A (ja) 2016-12-15

Family

ID=57204935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015093348A Pending JP2016212512A (ja) 2015-04-30 2015-04-30 ストレージシステム、制御装置および制御プログラム

Country Status (2)

Country Link
US (1) US9760423B2 (ja)
JP (1) JP2016212512A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016212513A (ja) * 2015-04-30 2016-12-15 富士通株式会社 ストレージシステム、制御装置および制御プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0651915A (ja) 1992-08-03 1994-02-25 Hitachi Ltd ディスク装置およびディスクアレイ管理方式
JP3778171B2 (ja) 2003-02-20 2006-05-24 日本電気株式会社 ディスクアレイ装置
EP1642142B8 (en) * 2003-06-25 2007-05-09 Philips Intellectual Property & Standards GmbH Method and circuit arrangement for the self-testing of a reference voltage in electronic components
JP4786312B2 (ja) 2005-11-22 2011-10-05 株式会社日立製作所 記憶制御装置及び記憶制御装置のエラー情報管理方法
JP2008287404A (ja) * 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
KR101663158B1 (ko) * 2010-01-29 2016-10-06 삼성전자 주식회사 반도체 메모리 시스템
JP5760585B2 (ja) 2011-03-29 2015-08-12 富士通株式会社 ストレージシステムおよび異常発生箇所判定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016212513A (ja) * 2015-04-30 2016-12-15 富士通株式会社 ストレージシステム、制御装置および制御プログラム

Also Published As

Publication number Publication date
US20160321122A1 (en) 2016-11-03
US9760423B2 (en) 2017-09-12

Similar Documents

Publication Publication Date Title
US7908445B2 (en) Redundant controller dynamic logical media unit reassignment
US8898385B2 (en) Methods and structure for load balancing of background tasks between storage controllers in a clustered storage environment
US8738975B2 (en) Runtime dynamic performance skew elimination
US9047219B2 (en) Storage system, storage control device, and storage control method
US9348724B2 (en) Method and apparatus for maintaining a workload service level on a converged platform
US9395938B2 (en) Storage control device and method for controlling storage devices
US8677181B2 (en) Storage apparatus and method of detecting power failure in storage apparatus
US8738854B2 (en) Storage apparatus and control method of storage apparatus
US10942835B2 (en) Processing a health condition message on a health condition to determine whether to perform a swap operation
JPWO2008136075A1 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US10229013B2 (en) Generating a health condition message on a health condition detected at a server to send to a host system accessing the server
JP2017091456A (ja) 制御装置、制御プログラムおよび制御方法
US7886186B2 (en) Storage system and management method for the same
JP6481490B2 (ja) ストレージシステム、制御装置および制御プログラム
US10642705B2 (en) Storage system and storage method
JP2016212512A (ja) ストレージシステム、制御装置および制御プログラム
JP2020038475A (ja) ストレージ制御装置およびストレージ制御プログラム
JP5535343B1 (ja) ディスクアレイ制御装置およびサーバ
US11720256B2 (en) Maximizing power savings using IO monitoring