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

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

Info

Publication number
JP4723290B2
JP4723290B2 JP2005166227A JP2005166227A JP4723290B2 JP 4723290 B2 JP4723290 B2 JP 4723290B2 JP 2005166227 A JP2005166227 A JP 2005166227A JP 2005166227 A JP2005166227 A JP 2005166227A JP 4723290 B2 JP4723290 B2 JP 4723290B2
Authority
JP
Japan
Prior art keywords
disk drive
failed
hard reset
failed disk
disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005166227A
Other languages
English (en)
Other versions
JP2006338626A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005166227A priority Critical patent/JP4723290B2/ja
Priority to US11/212,876 priority patent/US7607035B2/en
Priority to EP05257632A priority patent/EP1736879A3/en
Publication of JP2006338626A publication Critical patent/JP2006338626A/ja
Priority to US12/534,169 priority patent/US7941693B2/en
Priority to US13/041,483 priority patent/US8423818B2/en
Application granted granted Critical
Publication of JP4723290B2 publication Critical patent/JP4723290B2/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Debugging And Monitoring (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明はディスクアレイ装置及びその制御方法に係り、特に、ディスクドライブの障害を復旧する機能の改良に関するものである。
近年、IT技術の進展等により、記憶制御装置としてのディスクアレイ装置の高性能化、大容量化、低価格化が図られている。ディスクアレイ装置は、アレイ状に配置された多数のディスクドライブを備えている。アレイ状に複数配置されたディスクドライブの論理的構成は、RAID(Redundant Array of Independent Inexpensive Disks)に基づいて構築されている。ホスト装置は、ディスクアレイ装置に対してライトアクセスコマンド又はリードアクセスコマンドを発行することにより、ディスクドライブに対する、データの読み書きを行うことができる。
この種のディスクアレイ装置として、例えば、特開平2004−348876号公報に記載のものが存在する。このディスクアレイ装置は、同公報の図5に示されるように、コントローラ100を備え、このコントローラはデータの入出力要求を受け付ける通信制御部110と、ディスクドライブ51α、51βを制御するディスクコントローラ部120と、前記通信制御部と前記ディスクコントローラ部との間で授受するデータを一時的に記憶するキャッシュメモリ62とを有し、ディスクコントローラ部120及びコンバータ170を通じて異なるインターフェースを持つディスクドライブ51βとデータの送受信を行う。
また、特開2002−23967号公報には、ドライブ障害復旧方法として、ドライブ装置に対して記憶媒体を物理的に動かすステップと、ドライブ装置に対してリブート処理を行うステップと、ドライブ装置に対してハードリセット処理を行うステップと、ドライブ装置の電源を切断/再投入するステップとを具えてなり、前記ステップ順に処理を続け、前記いずれかのステップにおいてドライブ障害が復旧した場合に該処理を終了することが記載されている。
特開平2004−348876号公報 特開2002−23967号公報
特開平2004−348876号公報に記載されたディスクアレイ装置は、複数種類のインターフェースのディスクドライブを備えているが、ディスクドライブ装置の信頼性はディスクドライブの種類によって異なる。例えば、通信制御が複雑である、ファイバーチャネルをインターフェースとするFCドライブでは、一時的なタイムアウト系の問題の発生が多い。このタイムアウトの問題はディスクドライブの一時的なハード/ソフトに対する障害であるにも拘わらず、リトライ処理によって回復できず、ディスクドライブにタイムアウト系の障害が起こった場合には、障害ディスクドライブを閉塞して、他のディスクドライブと交換されていた。これでは本来回復可能な障害であるにも拘わらず、ディスクドライブ資源の浪費につながるばかりか、ディスクドライブを交換する作業負担も発生する。
さらに、前記特開2002−23967号公報には、ディスクドライブに障害の復旧方法として、いくつかの手法が記載されているが、ディスクドライブのタイムアウト系の障害と、当該障害からの復旧方法については言及されていない。
そこで、この発明は、タイムアウト系の問題が発生したディスクドライブの新規な復旧技術を提供することにより、ディスクドライブの障害率の低減、及びデータの信頼性確保が可能なディスクアレイ装置及びディスクアレイ装置の制御方法を提供する事を目的とする。本発明の他の目的は、ディスクドライブ資源の浪費、及びディスクドライブの交換作業の抑制を達成することにある。本発明のさらに他の目的は、障害が発生したディスクドライブのハードリセットの際に、障害が発生したデータの回復を効果的に達成可能なディスクアレイシステム及び方法を提供することにある。
前記目的を達成するために、本発明は、ディスクアレイ装置において、タイムアウト系の問題が発生したディスクドライブをハードリセットによって回復することにより、ディスクドライブの障害率の低減が図れるようにしたものである。
すなわち、本発明の一つは、複数のディスクドライブと、上位ホスト装置からのデータ入出力要求に応答して前記ディスクドライブに対するデータ入出力処理を行う制御装置と、を備えたディスクアレイ装置において、前記制御装置は、前記ディスクドライブの障害を特定するための制御情報と、前記ディスクドライブの障害情報を記憶するメモリと、前記障害情報からタイムアウト系の障害が発生しているディスクドライブを特定し、当該ディスクドライブに対して制御コマンドのリトライ命令を発行する回路と、前記ディスクドライブの障害が回復しない場合に、ディスクドライブをハードリセットする制御信号を前記障害ディスクドライブに出力する回路と、を備えてなることを特徴とするものである。
本発明において、障害とはディスクドライブに障害が発生している状態、及び障害が疑われている「被疑」状態の両方を含んでいる。
本発明の他の一つは、上位ホスト装置からのデータ入出力要求に応答してディスクドライブに対するデータ入出力処理を行うデュアルコントローラを備えたディスクアレイ装置であって、前記デュアルコントローラを構成する各々のコントローラは、前記データ入出力処理を行うメインコントローラと、フロントインターフェース接続用ファイバチャネルを介して前記上位ホスト装置にインターフェース接続するとともに、バックインターフェース接続用ファイバチャネルを介して前記ディスクドライブにインターフェース接続するファイバチャネルプロトコルコントローラと、前記ディスクドライブにループ接続する二つのFC−ALと、前記二つのFC−ALの中から選択された何れか一つのFC−ALを前記バックインターフェース接続用ファイバチャネルに接続切り替えする接続切り替え回路と、前記複数のディスクドライブのそれぞれを前記FC−ALに接続させる複数のスイッチ回路と、当該スイッチ回路を制御するエンクロージャーコントローラと、を備え、前記メインコントローラは、前記ディスクドライブの障害を特定するための制御情報と、前記障害ディスクドライブの障害情報を記憶するメモリと、前記障害情報からタイムアウト系障害が発生している障害ディスクドライブを特定し、前記エンクロジャーコントトローラから制御命令のリトライを前記障害ディスクドライブに発行する回路と、前記障害ディスクドライブの障害が回復しない場合に、前記エンクロージャーコントローラから当該障害ディスクドライブをハードリセットする制御信号を出力する回路と、を備えてなることを特徴とするものである。
本発明の更に他の一つは、複数のディスクドライブと、上位ホスト装置からのデータ入出力要求に応答して前記ディスクドライブに対するデータ入出力処理を行う制御装置と、を備えたディスクアレイ装置において、前記制御装置は、前記ディスクドライブの障害を特定するための制御情報と、前記障害ディスクドライブの障害情報を記憶するメモリと、前記障害情報からタイムアウト系障害が発生している障害ディスクドライブを特定し、当該ディスクドライブに対してリトライ命令を発行する回路と、前記障害ディスクドライブの障害が回復しない場合に、当該障害ディスクドライブを閉塞する制御信号を出力する回路と、ハードリセットするためのリセット信号を閉塞した障害ディスクドライブに出力する回路と、を備え、前記障害ディスクドライブのハードリセットの期間中、当該障害ディスクドライブに対するリードアクセスがあった記憶データを他のディスクドライブの記憶情報から回復して、これをホスト装置に提供することを特徴とするものである。
本発明の更に他の一つは、複数のディスクドライブと、上位ホスト装置からのデータ入出力要求に応答して前記ディスクドライブに対するデータ入出力処理を行う制御装置と、を備えた、ディスクアレイ装置の制御方法において、前記制御装置は、前記ディスクドライブを特定する工程と、前記障害ディスクドライブの障害情報を記憶する工程と、前記障害情報からタイムアウト系障害が発生していることを判定する工程と、タイムアウト系障害が発生したディスクドライブに対して制御コマンドのリトライを命令する工程と、前記障害ディスクドライブの障害が回復しない場合に、当該障害ディスクドライブをハードリセットする工程と、を備えてなることを特徴とするものである。
以上説明したように本発明によれば、タイムアウト系の問題或いは障害が発生したディスクドライブの復旧技術を提供することにより、ディスクドライブ障害率の低減し、これによりディスクドライブへ記憶されるデータの信頼性を向上したディスクアレイシステム及びその制御方法を提供することができる。
以下、各図を参照して本発明の実施例について説明する。各実施例は特許請求の範囲を限定するものではなく、また実施例の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は本実施例に係るディスクアレイ装置10の構成を示している。ディスクアレイ装置10は、通信ネットワーク71を介してホスト装置(上位ホスト装置)70に接続している。ホスト装置70は、ディスクアレイ装置10の上位ホスト装置として機能するサーバ、パーソナルコンピュータ、ワークステーション、メインフレーム等である。通信ネットワーク71としては、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線等を挙げることができる。
オープン系ホストの場合は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)、FCP(Fibre Channel Protocol )、iSCSI(internet Small Computer System Interface)等のプロトコルに基づいてデータ転送が行われる。メインフレーム系ホストの場合は、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに基づいてデータ転送が行われる。尚、ホスト装置70からNFS(Network File System)等のプロトコルにより、ファイル名指定によるデータ出力要求を受け付けるように構成されたNAS(Network Attached Storage)機能を搭載してもよい。
ディスクアレイ装置10は、二重化されたコントローラ20,30(請求項記載の発明の制御装置に対応する。)を備えたデュアルコントローラ構成を採用している。コントローラ20は、主に、CPU21、ローカルメモリLM(システムメモリ)22、データコントローラ(D−CTL)23、キャッシュメモリ(CM)24、ファイバチャネルプロトコルコントローラ(F−CTL)25、PBC(Port Bypass Circuit)27、エンクロージャーコントローラ(E−CTL)28、及びFC−AL(Fibre Channel Arbitrated Loop)61,62を備える。
CPU21は、ホスト装置70からのデータ入出力要求に応答して、複数のディスクドライブDRV0〜DRV14へのデータ入出力処理(ライトアクセス、又はリードアクセス等)を制御するプロセッサであり、ローカルメモリ22に格納されたマイクロプログラムを実行することによりデータコントローラ23、ファイバチャネルプロトコルコントローラ25、及びPBC27(スイッチ回路)等を制御する。
データコントローラ23は、CPU21の制御により、ファイバチャネルプロトコルコントローラ25とキャッシュメモリ24との間のデータ転送を制御する。キャッシュメモリ24は、ファイバチャネルプロトコルコントローラ25を介してフロントインターフェース又はバックインターフェースとの間で授受されるデータを一時的に記憶する。
ファイバチャネルプロトコルコントローラ25は、フロントインターフェース接続用ファイバチャネル41を介してホスト装置70にインターフェース接続し、ファイバチャネルプロトコルによるブロックアクセス要求を受信する機能を有する。更に、ファイバチャネルプロトコルコントローラ25は、バックインターフェース接続用ファイバチャネル42を介してディスクドライブDRV0〜DRV14にインターフェース接続し、ディスクドライブDRV0〜DRV14を制御するコマンド等を規定するプロトコルに従って、ディスクドライブDRV0〜DRV14へのデータ入出力要求を送信する機能を有する。
PBC27は、バックインターフェース接続用ファイバチャネル42の接続先として、二つのFC−AL61,62のうち何れか一方又は両者を選択し、接続切り替えを行う。
FC−AL61は、FC−AL62上に実装されたPBC82を介して、偶数番号のディスクドライブDRV0,DRV2,…,DRV14にループ接続している。FC−AL62は、FC−AL62上に実装されたPBC82を介して、奇数番号のディスクドライブDRV1,DRV3,…,DRV13にループ接続している。
PBC82は、システム運用上の障害を最小限に止めて、ノードの追加や削除が行えるようにFC−AL61,62を自動的にオープン又はクローズするためなどの電子スイッチである。PBC82は、ファイバチャネルプロトコルコントローラ25やディスクドライブDRV0〜DRV14をバイパスして、これらをFC−AL61,62から電気的に除外する機能を有する。
例えば、PBC82は、障害が発生したディスクドライブDRV0〜DRV14をFC−AL61,62から切り離して、他のディスクドライブDRV0〜DRV14とファイバチャネルプロトコルコントローラ25との間の通信を可能にする。また、PBC82は、FC−AL61,62の動作を維持したままで、ディスクドライブDRV0〜DRV14の抜き差しを可能にする。例えば、ディスクドライブDRV15(図示せず)が新たに装着された場合には、そのディスクドライブDRV15をFC−AL61,62に取り込み、ファイバチャネルプロトコルコントローラ25との間の通信を可能にする。
エンクロージャーコントローラ(E−CTL)28は、SES(SCSI Enclosure Surcuit)ドライブを制御する。SESドライブは、SCSI3(Small Computer System Interface 3)規格に規定されるSES(SCSI Enclosure Services)やESI(Enclosure Service I/F)の機能を備えており、SES(SCSI Enclosure Service)やESI(Enclosure Service I/F)の機能を動作させることができる。SESドライブは、FC−AL61〜64の他に、エンクロージャーコントローラ28とも通信可能なディスクドライブである。ここでは、各FC−ALにつき2台のディスクドライブDRV0〜DRV3をSESドライブとしているが、全てのディスクドライブDRV0,DRV2,…,DRV14をSESドライブとしてもよい。
一方、コントローラ30は、コントローラ20と同様な構成であり、CPU31、ローカルメモリ(LM)32、データコントローラ(D−CTL)33、キャッシュメモリ(CM)34、ファイバチャネルプロトコルコントローラ(FC−CTL)35、PBC37、エンクロージャーコントローラ(E−CTL)38、フロントインターフェース接続用ファイバチャネル51、バックインターフェース接続用ファイバチャネル52、及びFC−AL63,64を備えている。PBC37は、バックインターフェース接続用ファイバチャネル52の接続先として、二つのFC−AL63,64のうち何れか一方又は両者を選択し、接続切り替えを行う。FC−AL63は、PBC82を介して偶数番号のディスクドライブDRV0,DRV2,…,DRV14にループ接続している。FC−AL64は、PBC82を介して奇数番号のディスクドライブDRV1,DRV3,…,DRV13にループ接続している。
データコントローラ23,33はバス81を介して相互に接続されており、一方のデータコントローラ23(又は33)がバス81を介して他方のデータコントローラ33(又は23)に対して、コマンド転送やデータ転送等を行うこともできる。例えば、両コントローラ20,30が分担して同一の論理ボリュームに対するアクセスを行う場合に、両コントローラ間でライトデータ又はリードデータの転送を行うこともできる。
コントローラ20,30は、ディスクドライブDRV0,DRV2,…,DRV14をいわゆるRAID方式に規定されるRAIDレベル(例えば、0,1,5,6)で制御することができる。すなわち、複数のディスクドライブはRAIDグループを構成し、一つのディスクドライブに障害が発生した場合でも他のディスクドライブのパリティデータから障害が発生した障害ディスクドライブのデータを再現することができる。
RAID方式においては、複数のディスクドライブDRV0,DRV2,…,DRV14が一つのグループ(以下、RAIDグループと称する。)として管理される。RAIDグループ上には、ホスト装置70からのアクセス単位である論理ボリュームが形成されている。各論理ボリュームには、LUN(Logical Unit Number)と呼ばれる識別子が付与されている。
尚、PBC27とFC−AL61,62との間には、それぞれPBC101,102が実装されている。PBC101は、FC−AL61に障害が生じた場合には、バックインターフェース接続用ファイバチャネル42を、ファイバチャネル111(点線)を介してFC−AL63に接続する。PBC102は、FC−AL62に障害が生じた場合には、バックインターフェース接続用ファイバチャネル42を、ファイバチャネル112(点線)を介してFC−AL64に接続する。
同様に、PBC37とFC−AL63,64との間には、それぞれPBC103,104が実装されている。PBC103は、FC−AL63に障害が生じた場合には、バックインターフェース接続用ファイバチャネル52を、ファイバチャネル113(点線)を介してFC−AL61に接続する。PBC104は、FC−AL64に障害が生じた場合には、バックインターフェース接続用ファイバチャネル52を、ファイバチャネル114(点線)を介してFC−AL62に接続する。
仮に、各コントローラ20,30に実装されている全てのPBC101〜104がファイバチャネル111〜114に接続することにより、バックインターフェース接続用ファイバチャネル42,52が相手コントローラ側のFC−AL61〜64に接続された状態を想定すると、この状態は、例えば、特開2000−187561号の図1に示されているように、両コントローラ間を接続するファイバチャネルループに複数のディスクドライブが接続する状態と同じになる。
図2は複数のディスクドライブDRV0〜DRV14に形成される論理ボリュームを示している。ここでは、説明の便宜上、二つの論理ボリュームLU1,LU2が示されている。ホスト装置70に搭載されているOS(Operating System)は、論理ボリューム名を指定してディスクアレイ装置10にアクセスする。仮に、各論理ボリュームLU1,LU2を構成する物理ディスクを一つにすると、その物理ディスクが故障したときに、その論理ボリュームLU1,LU2は使用不能となる。これを防止するために、RAID方式では、各論理ボリュームLU1,LU2が異なる複数のディスクドライブDRV0〜DRV14上に形成されている。その一方で、コントローラ20の稼働系FC−AL61は偶数番号のディスクドライブDRV0,2,4,…,14に接続し、コントローラ30の稼働系FC−AL64は奇数番号のディスクドライブDRV1,3,4,…,13に接続しているので、各々の論理ボリュームLU1,LU2へのアクセスは、必ずしも何れか一方のコントローラ20又は30のみが行うものではなく、両コントローラ20,30が協調制御の下、協力して行うように構成してもよい。
ホスト装置70からディスクアレイ装置10の論理ボリュームLU1又はLU2に対して、ライトアクセスが行われると、コントローラ20内のキャッシュメモリ24に格納されるライトデータは、バス81を介して他方のコントローラ30内のキャッシュメモリ34にも格納される。このようにデータを二重化することで、一方のコントローラ20に障害が生じた場合でも、他方のコントローラ30にフェイルオーバーできる。
キャッシュメモリ24,34にライトデータが格納された時点でディスクアレイ装置10はホスト装置70に対してライトアクセス完了の通知を行う。次いで、コントローラ20は、FC−AL61を介してディスクドライブDRV0,DRV2,…,DRV14へのライトアクセスを行う。ライトアクセスが行われる論理ボリュームLU1又はLU2は、偶数番号のディスクドライブDRV0,DRV1,…,DRV14だけでなく、奇数番号のディスクドライブDRV1,DRV3,…,DRV13をも含むので、奇数番号のディスクドライブDRV1,DRV3,…,DRV13へのライトアクセスは、コントローラ30がFC−AL64を介して行う。
一方、ホスト装置70からディスクアレイ装置10の論理ボリュームLU1又はLU2に対して、リードアクセスが行われると、コントローラ20はキャッシュメモリ24をチェックし、リードアクセスの対象となるデータがある場合には、該当データを読み取ってホスト装置70に送信する。キャッシュメモリ24に該当データがない場合には、コントローラ20は、FC−AL61を介してディスクドライブDRV0,DRV2,…,DRV14へのリードアクセスを行う。リードアクセスが行われる論理ボリュームLU1又はLU2は、偶数番号のディスクドライブDRV0,DRV1,…,DRV14だけでなく、奇数番号のディスクドライブDRV1,DRV3,…,DRV13をも含むので、奇数番号のディスクドライブDRV1,DRV3,…,DRV13へのリードアクセスはコントローラ30がFC−AL64を介して行う。各コントローラ20,30によって読み出されたリードデータはキャッシュメモリ24,34に二重書きされる。
このように、一つの論理ボリュームに対するアクセスを、両コントローラ20,30が協調制御の下、協力して行うことにより、各コントローラ20,30の処理負荷を均等化できる。本実施形態では、偶数番号のディスクドライブDRV0,DRV1,…,DRV14と、奇数番号のディスクドライブDRV1,DRV3,…,DRV13とに二分して、各コントローラ20,30の処理負荷を均等化する例を示したが、各コントローラ20,30が担当するディスクドライブ数が略同程度になるように、例えば、ディスクドライブDRV0〜DRV7と、ディスクドライブDRV8〜DRV14とに二分して、各コントローラ20,30の処理負荷を均等化してもよい。
また、本実施形態では、二つのPBC27,37を制御して、バックインターフェース接続用ファイバチャネル42,52を稼働系FC−AL61,64に接続するだけで、全てのディスクドライブDRV0〜DRV14は、何れか一方のコントローラ20又は30に接続されるため、FC−AL61〜64上に実装された個々のPBC82を個別に制御する必要がなく、制御が容易である。また、各CPU21,31は、各コントローラ内の稼働系FC−ALと待機系のFC−ALを区別することなく、両者とも同一のデバイスとして認識しているので、制御が容易である。
次に、ディスクドライブの障害について説明する。ディスクドライブの障害には、例えば、SCSI系の障害と、Fibre系の障害と、タイムアウト系の障害と呼ばれるものがある。前2者の障害はリジッド(固定的)な障害であって、この障害が生じたディスクドライブは閉塞された上で新規ドライブに交換される。これに対して、タイムアウト系の障害は、ディスクドライブの一時的なハード/ソフトに対する障害で、本来回復の可能性がある。しかしながら、この障害が非再現性であることも多いことから、タイムアウト系の障害が起こったディスクドライブは閉塞され、他のディスクドライブと交換されていた。
これらの障害発生の有無は、例えば、CPU21が、ファイバチャネルプロトコルコントローラ25からデータコントローラ23経由で被疑ディスクドライブからのエラーメッセージを受領すること、又は、CPU21にコマンド送付先のディスクドライブからアクノリッジが所定時間以内に未到達(タイムアウト)であることによって判断される。CPU21は、被疑ディスクドライブ(障害が生じていると推定されるディスクドライブ)のFCループ上におけるAL_PA(Arbitrated Loop Physical Address)と障害の種別をシステムメモリ22あるいはキャッシュメモリ24などの所定記憶領域に設定或いは記憶する。
図3は、E−CTL28(38)及びその周辺の回路ブロック構造を示すものであり、E−CTL28AはASIC(Application Specific Integrated Circuit)300及びMPU302から構成される。ASIC300から各ディスクドライブへは信号伝達ライン304が形成されており、SESドライブ(DRV♯1,3)には、ディスクドライブの診断用のための、SESドライブで認識可能な、SESコマンド(SCSIコマンド))及びハードリセット命令の信号ライン306が形成され、さらに、SESドライブ以外のドライブにはハードリセット信号のライン308が形成されている。PBC61,62と各ディスクドライブとの間には、SESコマンド以外のコマンド(リード・ライト等)が送受される、ファイバーチャネルのライン310が形成されている。
ハードリセットは、ディスクドライブの電子回路を構成するチップ(FCプロトコルチップ,CPU等)の回路の一部又は全部をハード的にリセットすることであり、換言すればチップを初期化する処理のことである。このハードリセットは、ハードリセットのためのコマンドによって制御される。ディスクドライブのパワーオンリセットは、本発明のハードリセットに含まれても良い。ディスクドライブが、ハードリセットのためのコマンドをサポートしていない場合には、被疑ディスクドライブのパワーオンリセットするようにしても良い。パワーオンリセットの制御信号は、エンクロージャーコントローラからディスクドライブに送られるハードリセットの信号線を介してディスクドライブに送られる。これに対して、ソフトリセットとは、ディスクドライブ内で起動中のソフト(アプリケーション)をプログラム的に終了させてしまうことである。本発明においては、ハードリセットに先駆けて、ソフトリセットを実行しても良い。本発明に係るディスクアレイシステムは、ソフトリセットによってもディスクドライブが回復しない場合に、被疑ディスクをハードリセットしても良い。
図1及び図3に基づいて、CPU21がディスクドライブにアクセスするのは、次のとおりである。CPU21と各ディスクドライブは、FC−AL61−64を経由して、直接、SESコマンド以外の、リード・ライト等のコマンド及びデータの送受を、図3の信号ライン310を介して行う。SESコマンドは、FC−AL61−64、SESドライブ(DRV0−DRV3)、及びエンクロージャーコントローラ28又は38に送られる。SESドライブとエンクロージャーコントローラ28又は38との間のSESコマンドの交換は、図3の信号線306を介して行われる。SESコマンドの内容は、SESドライブで解析され、そのコマンドをエンクロージャーコントローラのMPU302がリードし、コマンドに対応する制御命令が目的のディスクドライブに、図3の信号線306,308を介して送られる。ディスクドライブのハードリセットは、SESコマンドによって実行される。
SESコマンドには、アクセス先のディスクドライブのFCループ上におけるAL_PAが含まれている。SESドライブ(DRV0,DRV1,DRV2又はDRV3)は、FC−AL経由でAL_PAとコマンドをリードし、これをE−CTL用のコマンドに変換してE−CTL28(38)に送る。E−CTLは、アクセス先のドライブがSESドライブの場合には、E−CTLとSESドライブの間に形成された制御信号線(図3の306)を介して、被疑ディスクドライブにハードリセット命令を送る。アクセス先がSESドライブで無い場合には、制御信号線(図3の308)を介して、被疑ドライブにハードリセット命令を送っている。 次いで、CPUは、ホストのタイムアウト時間よりも短い時間間隔で、ハードリセット処理後、被疑ドライブの駆動部を駆動させるためのスピンアップコマンドを発行する。被疑ディスクドライブの電子回路は、このコマンドを、SESドライブを介することなく、FC−AL経由で受け取る。スピンアップコマンドを受領したディスクドライブの機械的部分がスピンアップをすると、CPU(21,31)はFC−AL経由で、スピンアップ完了に関連するコマンドをこのディスクドライブから受け取り、これでハードリセット後での被疑ディスクドライブの回復と判断する。例えば、CPUは、スピンアップコマンドの送付と、ディスクドライブがレディかビジーかを問い合わせるコマンドの送付と、を被疑ディスクドライブに繰り返し行う。ディスクドライの機械部分のスピンアップが完了すると、ディスクドライブはビジィ状態からレディ状態になって、レディの状態にあることをCPUに通知する。CPUはこの通知を以って、被疑ディスクドライブのハードリセット完了、即ち、被疑ディスクドライブの回復と判断する。被疑ディスクドライブを特定するための情報は、図1のシステムメモリ22(32)、キャッシュメモリ24(34)、各ディスクドライブの記憶領域の一つ又は複数に保存されている。CPUは、被疑ディスクドライブの回復を判断した場合には、この制御情報を更新して所定領域に記憶する。ファイバチャネルのディスクドライブの場合は、スピンアップには、オートスピンアップ(電源が入ったら自動でスピンアップを行う場合)と、コマンドスピンアップ(電源が入った状態でスピンアップのオン又はオフが可能な場合)と、がある。この実施形態では、CPUは、ファイバチャネルのディスクドライブのハードリセットの際に、ディスクドライブのパワーオンは維持され、コマンドスピンアップによって、スピンアップコマンドが被疑ディスクドライブに送信される。
ハードリセットを含めたディスドライブの回復処理にはある程度の時間を要するため、この間を利用して、被疑ディスクドライブの記憶データの回復を行うことができる。例えば、一旦被疑ディスクドライブを閉塞してコレクションコピーを行うことができる。図4は被疑ディスクドライブの閉塞処理後のコレクションコピーを示したものである。被疑ディスクドライブBと同一のRAIDグループを構成する他のディスドライブA,C,D,及びEの記憶内容から被疑ディスクドライブBの記憶内容を再現して、これをスペアディスクドライブ301Aに保存する。コレクションコピーを終了後、被疑ディスクドライブがハードリセットによって回復した後、これをスペアディスクドライブとしてCPU21(31)がメモリ(システムメモリ、キャッシュメモリ、ディスクドライの少なくとも一つ)の所定記憶領域に登録することができる。ディスクドライブの回復時間がホスト装置のタイムアウト時間より短い場合には、被疑ディスクドライブを閉塞することなく、被疑ディスクドライブをハードリセットしても良い。
ディスクドライブの回復時間は、ディスクドライブがサポートしている通信インターフェースやディスクドライを供給するベンダーの違いによって異なる。ディスクドライブの回復時間は、ディスクドライブの機械的駆動部分のスピンアップに律速するので、スピンアップまでの時間を短縮するように駆動部分を改良・変更すれば良い。被疑ディスクドライブのハードリセットに伴う、望まれる回復時間はホスト装置のタイムアウト時間(8−9秒)以下である。
被疑ドライブのハードリセット中の、CPUからの当該被疑ディスクドライブへのリードアクセスは次のように処理される。CPUは、リードアクセスがあった記憶データがキャッシュメモリ24に存在する場合は、これをリードしてホスト装置70に供給する。キャッシュメモリにリードアクセスのデータが存在しない場合には、CPUは、被疑ディスクと同一のRAIDグループを構成する他のディスクドライブから再現し(図4参照)、再現データをキャッシュメモリ24に記憶する。被疑ディスクドライブが閉塞処理の期間中、スペアディスク301A(図4)に再現データがある場合には、CPUはスペアディスクからデータをリードしてキャッシュメモリ24に記憶するようにしても良い。
一方、ライトアクセスの場合には、次のように処理される。ライトアクセスの更新データは、図1に示すように、キャッシュメモリに差分ビットマップ24A(34A)として記憶される。被疑ディスクドライブがハードリセットから回復した後、キャッシュメモリ内の差分データが、回復後のディスクドライブに書き込まれる。一方、被疑ディスクドライブが閉塞された場合には、コレクションコピー終了後スペアディスクドライブに反映される。
被疑ディスクドライブのハードリセットに際して、これをユーザーに告知するか否かは、状況によって異なる。例えば、ハードリセットに伴い被疑ディスクドライブを閉塞した場合で、被疑ディスクドライブのRAIDグループのRAIDレベルが複数の冗長性を持たない場合(例えば、RAID6以外のRAID5等)は、閉塞期間中冗長度が無くなるおそれがあるので、被疑ディスクドライブをハードリセットすることをユーザーに告知することができる。CPU21はホスト装置70の表示装置に、特定のディスクドライブがハードリセットされたことの、テキスト文を表示するようにする。被疑ディスクドライブの回復時間がホスト装置のタイムアウト時間未満である場合、或いは、被疑ディスクドライブを閉塞した場合でも冗長性が保たれるRAIDレベル(例えば、RAID6)である場合には、この限りではない。
図5に基づいて、障害ディスクドライブの障害回復処理について説明する。既述のとおり、CPU21が障害ディスクドライブを検出すると、図5のフローチャートに基づく処理がスタートする。SESコマンドを受信したエンクロージャーコントローラ28又は38は、SESドライブとFC−ALのループを介して被疑ディスクドライブにリトライ命令を送信する(S502)。リトライ命令を被疑ディスクドライブが正常に実行した場合には、CPUはキャッシュメモリ等への被疑ディスクドライブの登録をキャンセルするとともに、被疑ディスクドライブはリトライされた制御コマンドの実行を継続する(S504)。
CPUはリトライ命令発行後所定時間内に被疑ディスクドライブがリトライ命令を実行できない場合には、キャッシュメモリ上のエラーコードなどから障害の内容を調べる(S506)。ディスクドライブの障害がタイムアウト系以外の障害の場合は、回復不能な障害であるとして被疑ディスクドライブを閉塞処理する(S508)。
ディスクドライブの障害がタイムアウト系の障害である場合、CPUは、被疑ディスクドライブがハードリセットをサポートしているかをチェックする(S510)。各ディスクドライブの特性は、例えばシステムメモリあるいはキャッシュメモリなどに登録されていて、CPU21はこの登録内容に基づいて被疑ディスクドライブがハードリセットをサポートしているか否かを決定することができる。被疑ディスクドライブがハードリセットをサポートしていない場合にはハードリセットによってディスクドライブの障害を回復できないので、ディスクドライブを閉塞して処理を終了する(S508)。
一方、被疑ディスクドライブがハードリセットをサポートしている場合には、ディスクアレイ装置がワーニング状態(既にディスクドライブのどれか1台が閉塞状態にある)か否かがCPUによって検討される(S509)。既にワーニング状態である場合には、さらに被疑ディスクドライブを閉塞することはできないので、被疑ディスクドライブをハードリセットし(S512)、次いで被疑ドライブにスピンアップコマンドを発行して(S514)、被疑ディスクドライブを回復させる。
一方、ディスクアレイ装置がワーニング状態で無い場合には、被疑ディスクドライブのRAIDレベルがCPUによってチェックされ(S516)、RAID5の場合には、被疑ディスクドライブを閉塞して(S518)、既述のコレクションコピーを開始する(S520)。さらに、CPUは被疑ディスクドライブを閉塞したことをホストに表示させる(S522)。次いで、CPUは被疑ディスクドライブに対してハードリセット制御信号を発行し(S524)、次いで、スピンアップコマンドを発行する(S526)。CPUは、スピンアップコマンド発行後、被疑ドライブが回復したか否かをチェックし(S528)、被疑ドライブが回復した場合には、CPUは被疑ディスクドライブを正常ディスクドライブとし、これをスペアディスクドライブとして登録する(S530)。一方、被疑ディスクドライブが回復しない場合には、コレクションコピー終了後、被疑ディスクドライブを交換する(S532)。
被疑ディスクドライブのRAIDレベルがRAID6の場合には、ホスト装置への告知無しに被疑ディスクドライブを閉塞して(S534)、被疑ディスクドライブにハードリセット制御信号を出力する(S536)。以後の処理は被疑ディスクドライブのRAIDレベルがRAID5の場合と同じである。被疑ディスクドライブが正常に回復、即ち、被疑ディスクドライブがハードリセットされ、駆動部分が回転し始めると正常動作を示すメッセージがE−CTL経由でCPUに伝達される。
図6は、本発明に係るディスクアレイ装置の他の例を示すものであり、ファイバチャネルプロトコルコントローラ25,35を中心とするディスクアレイ装置10の主要部を示している。説明の便宜上、コントローラ内の一部の回路要素(ローカルメモリ22,32、エンクロージャーコントローラ28,38等)と、バックインターフェース周辺のハードウエア(PBC27,37,101,102,103,104、FC−AL61,62,63,64等)の図示は省略している。
ファイバチャネルプロトコルコントローラ25は、フロント側コア25aとバック側コア25bを単一のLSI内に実装した回路構成を備えている。コア25aは、ホスト装置70に対するデータ通信におけるファイバチャネルプロトコルを制御するための回路であり、例えば、ホスト装置70からのファイバチャネルプロトコルによるブロックアクセス要求を受け付ける機能を有する。コア25bは、ディスクドライブDRV0〜DRV14に対するデータ入出力におけるファイバチャネルプロトコルを制御するための回路であり、例えば、ディスクドライブDRV0〜DRV14を制御するコマンド等を規定するプロトコルに従って、ディスクドライブDRV0〜DRV14へのデータ入出力要求を処理する。コア25aとコア25bは、それぞれ独立したモジュールによって制御されている。
PCI−Xバス29は、コントローラ20のフロントインターフェース、バンクインターフェース、ファイバチャネルプロトコルコントローラ25、及びデータコントローラ23を相互に接続する。PCI−Xバス29は、ファイバチャネルプロトコルコントローラ25内において二股に分岐し、コア25a,25bに接続している。フラッシュメモリ(FM)161は、CPU21とデータコントローラ23とを結線するPCI−Xバスに分岐接続しており、ディスクドライブの障害情報を退避できるように構成されている。
メモリ装置として、フラッシュメモリを例示したが、その他の不揮発性メモリを使用することもできる。コントローラ20のフロントインターフェースには、GBICモジュール151が実装されている。通信ネットワーク71は、例えば、光ファイバネットワークによって構成されたSANである。ホスト装置70と通信ネットワーク71とのインターフェースには、HBA(Host Bus Adapter)72が実装されている。コントローラ30内部の回路構成は、コントローラ20の回路構成と同様である。35aはフロント側コア、35bはバック側コア、39はPCI−Xバス、152はGBICモジュール、162はフラッシュメモリである。
また、各コントローラ20,30内のCPU21,31は、通信線83を介して接続されており、コントローラ障害発生時には、相互に情報交換できるように構成されている。
ディスクアレイ装置10には、システムを保守又は管理するための管理端末200が通信インターフェース170を介して接続されており、両者間では、ファイバチャネルプロトコル又はTCP/IP等の所定の通信プロトコルに基づいてデータ通信が行われる。両者の通信プロトコルがファイバチャネルプロトコルであるならば、通信インターフェース170には、GBICモジュールと、ファイバチャネルプロトコルコントローラを実装すればよい。
両者の通信プロトコルがTCP/IPであるならば、通信インターフェース170には、LANポートコネクタと、TCP/IPを制御するLSIを実装すればよい。オペレータは、管理端末200を操作することにより、例えば、ディスクドライブDRV0〜DRV14上に定義される論理ボリュームの設定、ディスクドライブDRV0〜DRV14の増設又は減設、RAID構成の設定変更(例えば、RAIDレベル5からRAIDレベル1への変更)等を行うことができる。また、後述するように、ディスクドライブに障害が発生した場合に、キャッシュメモリ24,34に退避された障害情報を取得し、障害原因を解析する機能も有する。管理端末200は、ディスクアレイ装置10に内蔵してもよく、或いは外付けの構成としてもよい。
図7は本発明が適用される更に他のディスクアレイ装置11の構成を示している。図1に示した符号と同一符号の装置等は同一の装置等を示すものとして、その詳細な説明は省略されている。バックインターフェース接続用ファイバチャネル42,52の接続切り替え回路として、上述したPBC27,37に替えて、スイッチ26,36を備えている。スイッチ26には、それぞれ異なるポートIDを有するポートを介して、FC−SATA変換インターフェース93と、FC−AL62とが接続されている。
同様にして、スイッチ36には、それぞれ異なるポートIDを有するポートを介して、FC−SATA変換インターフェース94と、FC−AL64とが接続されている。スイッチ26,36は、そのポートに接続するデバイスをそれぞれ独立したデバイスとして認識し、インテリジェントに切り替え制御する。
FC−SATA変換インターフェース93,94は、ファイバチャネルプロトコルとSATAプロトコルとを変換する回路であり、偶数番号のディスクドライブDRV0,DRV1,…,DRV14にポイント・ツー・ポイント接続する。偶数番号のディスクドライブDRV0,DRV1,…,DRV14として、例えば、安価なシリアルATAディスクドライブを採用できる。FC−AL62,64は、奇数番号のディスクドライブDRV1,DRV3,…,DRV13にループ接続している。奇数番号のディスクドライブDRV1,DRV3,…,DRV13として、例えば、応答速度の速い高性能なファイバチャネル・ディスクドライブを採用できる。
このように、応答速度の異なる複数種類のディスクドライブを混載したディスクアレイ装置11においては、例えば、あるデータが時間的価値変化を生じた場合に、同一筺体内で、ファイバチャネル・ディスクドライブからシリアルATAディスクドライブへ、或いはシリアルATAディスクドライブからファイバチャネル・ディスクドライブへデータを移動させることが可能になる。
例えば、頻繁にアクセスされるデータや、高速応答が要求されるデータをファイバチャネル・ディスクドライブに格納する一方で、アクセス間隔の比較的長いデータや、応答速度がそれ程要求されないデータをシリアルATAディスクドライブへ格納するようにしてもよい。また、応答速度の異なる複数種類のディスクドライブとして、例えば、SCSIディスクドライブ、パラレルATAディスクドライブ、シリアルATAディスクドライブ、ファイバチャネル・ディスクドライブ、シリアルアタッチドスカジードライブ(SASドライブ)を混載してもよい。
スイッチ26,36を利用することにより、バックインターフェース接続用ファイバチャネル42,52の接続先をインテリジェントに切り替え制御できるので、各スイッチ26,36のそれぞれのポートに性能の異なる複数種類のディスクドライブを接続しておき、データの時間的価値変化等に基づいてデータの格納先を筺体内で変えることができる。
被疑ディスクドライブへのハードリセット及び閉塞処理は、ディスクドライブの種類に応じて行われる。CPUはハードリセットをサポートしていないディスクドライブ、ハードリセットをしてもドライブが回復することの実効性がないディスクドライブではハードリセットをすることなく、このディスクドライブが閉塞される。
図8は更に他のディスクアレイ装置14の構成を示している。図1に示した符号と同一符号の装置等は同一の装置等を示すものとして、その詳細な説明は省略する。各コントローラ20,30が実装するファイバチャネルプロトコルコントローラ25,35には、フロントインターフェース接続用ファイバチャネル41,51と、バックインターフェース接続用ファイバチャネル42,52とがそれぞれ1パスずつ接続されている。各コントローラ20,30には、各ディスクドライブDRV0〜DRV14にループ接続する単一のFC−AL61,63が実装されている。バックインターフェース接続用ファイバチャネル42,52は、それぞれFC−AL61,63に接続している。
各コントローラ20,30はそれぞれFC−AL61,63を介して全てのディスクドライブDRV0〜DRV14へのライトアクセス又はリードアクセスを行うことができる。どのコントローラ20,30がどのディスクドライブDRV0〜DRV14へライトアクセス又はリードアクセスするかは、静的に、或いは動的に設定可能である。
例えば、各コントローラ20,30がライトアクセス又はリードアクセスするディスクドライブDRV0〜DRV14を予め固定的に設定しておき、当該ディスクドライブDRV0〜DRV14へのライトアクセス又はリードアクセスは、担当コントローラ20又は30が実行するように構成してもよく、或いは各コントローラ20,30の処理負荷やアクセス頻度等に応じて動的に担当コントローラ20,30を決めてもよい。各コントローラ20,30とディスクドライブDRV0〜DRV14との接続は、FC−AL61,63上に実装されたPBC82によって制御される。
図9は本実施例に係るディスクアレイ装置15の構成を示している。図1に示した符号と同一符号の装置等は同一の装置等を示すものとして、その詳細な説明は省略する。各コントローラ20,30が実装するファイバチャネルプロトコルコントローラ25,35は、フロントインターフェース接続用ファイバチャネル41,51を介してホスト装置70に接続する一方、バックインターフェース接続用ファイバチャネル42,52及びFC−SATA変換インターフェース91,92を介して各ディスクドライブDRV0〜DRV14に接続している。
各コントローラ20,30につきファイバチャネルプロトコルコントローラ25,35を一つにしつつ、しかもディスクドライブDRV0〜DRV14として、安価なシリアルATAディスクドライブを採用できるので、製品の低コスト化を実現できる。
図10は、ファイバチャネルのドライブ(1008,1010)とSATAドライブ1006との、他の混載例を示す、ディスクアレイ装置10の機能ブロック(概略)を示すものである。このディスクアレイ装置は、本体1000に、複数のファイバチャネルのドライブを備えた増設筐体1002と、複数のSATAドライブを備えた増設筐体1004とを接続した構造から構成されている。本体の1000Aは、便宜上RAIDコントローラと称される構造であり、図1のCPU21、メモリ22、D−CTL23、CM24、FC−CTL25、PBC27から構成されている。
本体には複数のファイバチャネルのドライブ1008が備わっているが、これが無くても良い。増設筐体2のSATAドライブとFC−AL61(63)との接合部にはFC−SATAインターフェース変換回路91(93)が設けられている。E−CTL28(38)、FC−AL61(63)は増設筐体に設けられている。図10のものは、図1と同様に、デュアルコントローラの構成を備えている。増設筐体を順次本体1000に接続することにより、ディスクアレイシステムの記憶容量を大きくすることができる。
請求項に記載された制御装置は、この実施形態に照らした場合、CPU21、メモリ22、D−CTL23、CM24、FC−CTL25、PBC27、E−CTL28(38)、そして、FC−AL61(63)から構成されている。請求項に記載されたメインことンロータは、この実施形態に照らした場合、CPU21、メモリ22、D−CTL23、CM24、FC−CTL25、PBC27、そして、E−CTL28(38)とから構成されている。
本体1000は、ドライブの種類によって、ハードリセット処理の内容を変える。 ファイバチャネルドライブは、コマンド(例えば既述のSESコマンド)によって定義されるハードリセットによって、被疑状態から回復される。SATAドライブでハードリセットをサポートしていない場合には、CPUはFC−AL経由で被疑ディスクドライブにパワーオンリセット用のコマンドを送る。SATAドライブは、パワーオンリセットに続いて自動的にスピンアップが行われるので、CPUからSATAドライブへのスピンアップコマンドの送信は必須ではない。
本発明の実施形態に係るディスクアレイ装置のハードウエア構成ブロック図である。 論理ボリュームの説明図である。 ディスクアレイ装置のエンクロージャーコントローラの機能ブロック図である。 被疑ディスクドライブの実施例1のディスクアレイ装置の構成図である。 被疑ディスクドライブのハードリセットの処理シーケンスを示したフローチャートである。 本発明に係る他のディスクアレイ装置のハードウエアブロック図である。 本発明の更に他のディスクアレイ装置のハードウエアブロック図である。 本発明の更に他のディスクアレイ装置のハードウエアブロック図である。 本発明の更に他のディスクアレイ装置のハードウエアブロック図である。 異なる種類のディスクドライブを混載した、ディスクアレイ装置のハードウエアブロック図である。
符号の説明
10,11,13…ディスクアレイ装置 20,30…コントローラ 21,31…CPU 22,32…ローカルメモリ 23,33…データコントローラ 24,34…キャッシュメモリ 25,35…ファイバチャネルプロトコルコントローラ 27,37…PBC 28,38…エンクロージャーコントローラ 61〜64…FC−AL 70…ホスト装置 71…通信ネットワーク 81…バス 82…PBC 91,92…FC−SATA変換インターフェース DRV0〜DRV14…ディスクドライブ

Claims (11)

  1. 複数のディスクドライブと、
    ホスト装置からのデータ入出力要求に応答して前記複数のディスクドライブに対するデータ入出力処理を行う制御装置と、
    を備えたディスクアレイ装置において、
    前記制御装置は、
    前記複数のディスクドライブのうち少なくとも一つのディスクドライブの障害情報を記憶するメモリと、
    前記障害情報から、タイムアウト系障害に係る障害ディスクドライブを特定し、当該障害ディスクドライブに対してリトライ命令を発行する第1の回路と、
    前記前記リトライ命令によっても前記障害ディスクドライブの障害が回復しない場合に、当該障害ディスクドライブハードリセット命令を出力する第2の回路と、
    を備え、
    前記第2の回路は、
    前記障害ディスクドライブのハードリセットによる回復時間と前記ホスト装置のタイムアウト時間とを比較し、
    前記障害ディスクドライブのハードリセットによる回復時間が前記ホスト装置のタイムアウト時間より短い場合に、当該障害ディスクドライブを閉塞せずに、当該障害ディスクドライブに前記ハードリセット命令を発行し、
    前記障害ディスクドライブのハードリセットによる回復時間が前記ホスト装置のタイムアウト時間より長い場合には、当該障害ディスクドライブを閉塞し、スペアディスクドライブに対して、当該障害ディスクドライブ以外でRAIDを構成する他のディスクドライブから前記スペアディスクドライブに対するコレクションコピーを実行して前記障害ディスクドライブのデータを前記スペアディスクドライブに再現し、当該コレクションコピーの実行中に、前記障害ディスクドライブに前記ハードリセット命令を発行し、当該障害ディスクドライブが回復した場合、当該回復したディスクドライブをスペアディスクドライブに設定する、ディスクアレイ装置。
  2. 前記制御装置は、前記複数のディスクドライブが前記ハードリセット命令をサポートしているか否かの情報に基づいて、前記ハードリセットをサポートしている前記障害ディスクドライブに前記ハードリセット命令を出力する、請求項1記載のディスクアレイ装置。
  3. 前記制御装置は、前記障害ディスクドライブと前記他のディスクドライブのRAIDグループに関する情報から、当該障害ディスクドライブのRAIDレベルを判断し、当該RAIDレベルが複数の冗長性無いレベルである場合には、当該障害ディスクドライブの閉塞をユーザーに告知する告知情報を告知表示手段に出力する請求項記載のディスクアレイ装置。
  4. 前記ハードリセット命令は、前記障害ディスクドライブのハードウエア部品をハード的にリセットするものである請求項1記載のディスクアレイ装置。
  5. 前記制御装置は、前記障害ディスクドライブのハードリセット命令の実行期間中、当該障害ディスクドライブに対するリードアクセスがあった記憶データを、前記スペアディスクドライブの記憶情報から回復して、これを前記ホスト装置に提供し、ライトアクセスの場合には、ライトデータを差分情報として設定する、請求項1記載のディスクアレイ装置。
  6. 前記制御装置は、前記障害ディスクドライブのハードリセット命令の実行期間中、当該障害ディスクドライブに対するリードアクセスがあった記憶データを、前記閉塞された障害ディスクドライブとRAIDグループを構成する他のディスクドライブとの関連情報に基づいて、前記閉塞された障害ディスクドライブの記憶情報を前記他のディスクドライブから回復し、これを前記ホスト装置に提供する、請求項1記載のディスクアレイ装置。
  7. 前記制御装置は、コマンドを発行した先のディスクドライブのタイムアウト時間を計測するタイマーを備え、この経過時間が特定時間を超えた場合に、前記ディスクドライブにタイムアウト系の障害が発生したと判断し、前記障害情報を制御メモリに記憶する請求項1記載のディスクアレイ装置。
  8. 上位ホスト装置からのデータ入出力要求に応答して複数のディスクドライブに対するデータ入出力処理を行うデュアルコントローラを備えたディスクアレイ装置であって、
    前記デュアルコントローラを構成する各々のコントローラは、
    前記データ入出力処理を行うメインコントローラと、
    フロントインターフェース接続用ファイバチャネルを介して前記上位ホスト装置にインターフェース接続するとともに、バックインターフェース接続用ファイバチャネルを介してディスクドライブにインターフェース接続するファイバチャネルプロトコルコントローラと、
    ディスクドライブにループ接続する二つのFC−ALと、
    前記二つのFC−ALの中から選択された何れか一つのFC−ALを前記バックインターフェース接続用ファイバチャネルに接続切り替えする接続切り替え回路と、
    前記複数のディスクドライブのそれぞれを前記FC−ALに接続させる複数のスイッチ回路と、
    当該スイッチ回路を制御するエンクロージャーコントローラと、を備え、
    前記メインコントローラは、
    前記複数のディスクドライブの少なくとも一つのディスクドライブの障害情報を記憶するメモリと、
    前記障害情報からタイムアウト系障害に係る障害ディスクドライブを特定し、前記エンクロージャーコントローラからリトライ命令を前記障害ディスクドライブに発行する第1の回路と、
    前記障害ディスクドライブの障害が回復しない場合に、前記エンクロージャーコントローラから当該障害ディスクドライブハードリセット命令を出力する第2の回路と、
    を備え、
    前記第2の回路は、
    前記障害ディスクドライブのハードリセットによる回復時間と前記ホスト装置のタイムアウト時間とを比較し、
    前記障害ディスクドライブのハードリセットによる回復時間が前記ホスト装置のタイムアウト時間より短い場合、当該障害ディスクドライブを閉塞せずに、当該障害ディスクドライブに前記ハードリセット命令を発行し、
    前記障害ディスクドライブのハードリセットによる回復時間が前記ホスト装置のタイムアウト時間より長い場合は、当該障害ディスクドライブを閉塞し、スペアディスクドライブに対して、当該障害ディスクドライブ以外でRAIDを構成する他のディスクドライブから前記スペアディスクドライブに対するコレクションコピーを実行して前記障害ディスクドライブのデータを前記スペアディスクドライブに再現し、当該コレクションコピーの実行中に、前記障害ディスクドライブに前記ハードリセット命令を発行し、当該障害ディスクドライブが回復した場合、当該回復したディスクドライブをスペアディスクドライブに設定する、ディスクアレイ装置。
  9. 前記スイッチ回路に、通信インターフェースが異なる複数のディスクドライブが接続されている請求項1又は8記載のディスクアレイ装置。
  10. 前記第2の回路は、ファイバチャネルを通信プロトコルとするディスクドライブにハードリセット信号を出力し、S−ATAを通信プロトコルとするディスクドライブをハードリセットすることなく閉塞処理する請求項記載のディスクアレイ装置。
  11. 複数のディスクドライブと、ホスト装置からのデータ入出力要求に応答して前記複数のディスクドライブに対するデータ入出力処理を行う制御装置と、を備えた、ディスクアレイ装置の制御方法において、
    前記制御装置が実施する制御処理は、
    前記複数のディスクドライブの中からタイムアウト系障害に係る障害のディスクドライブを特定する第1の工程と、
    前記前記リトライ命令によっても前記障害ディスクドライブの障害が回復しない場合に、当該障害ディスクドライブにハードリセット命令を出力する第2の工程と、
    を備え、
    前記第2の工程は、
    前記障害ディスクドライブのハードリセットによる回復時間と前記ホスト装置のタイムアウト時間とを比較し、
    前記障害ディスクドライブのハードリセットによる回復時間が前記ホスト装置のタイムアウト時間より短い場合に、当該障害ディスクドライブを閉塞せずに、当該障害ディスクドライブに前記ハードリセット命令を発行し、
    前記障害ディスクドライブのハードリセットによる回復時間が前記ホスト装置のタイムアウト時間より長い場合には、当該障害ディスクドライブを閉塞し、スペアディスクドライブに対して、当該障害ディスクドライブ以外でRAIDを構成する他のディスクドライブから前記スペアディスクドライブに対するコレクションコピーを実行して前記障害ディスクドライブのデータを前記スペアディスクドライブに再現し、当該コレクションコピーの実行中に、前記障害ディスクドライブに前記ハードリセット命令を発行し、当該障害ディスクドライブが回復した場合、当該回復したディスクドライブをスペアディスクドライブに設定する、ことを特徴とするディスクアレイ装置の制御方法。
JP2005166227A 2005-06-06 2005-06-06 ディスクアレイ装置及びその制御方法 Active JP4723290B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005166227A JP4723290B2 (ja) 2005-06-06 2005-06-06 ディスクアレイ装置及びその制御方法
US11/212,876 US7607035B2 (en) 2005-06-06 2005-08-29 Disk array apparatus and method for controlling the same
EP05257632A EP1736879A3 (en) 2005-06-06 2005-12-13 DIsk array apparatus and method for controlling the same
US12/534,169 US7941693B2 (en) 2005-06-06 2009-08-03 Disk array apparatus and method for controlling the same
US13/041,483 US8423818B2 (en) 2005-06-06 2011-03-07 Disk array apparatus and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005166227A JP4723290B2 (ja) 2005-06-06 2005-06-06 ディスクアレイ装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2006338626A JP2006338626A (ja) 2006-12-14
JP4723290B2 true JP4723290B2 (ja) 2011-07-13

Family

ID=37074669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005166227A Active JP4723290B2 (ja) 2005-06-06 2005-06-06 ディスクアレイ装置及びその制御方法

Country Status (3)

Country Link
US (3) US7607035B2 (ja)
EP (1) EP1736879A3 (ja)
JP (1) JP4723290B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7079775B2 (en) 2001-02-05 2006-07-18 Finisar Corporation Integrated memory mapped controller circuit for fiber optics transceiver
JP4723290B2 (ja) * 2005-06-06 2011-07-13 株式会社日立製作所 ディスクアレイ装置及びその制御方法
US20070234118A1 (en) * 2006-03-30 2007-10-04 Sardella Steven D Managing communications paths
JP2009104412A (ja) * 2007-10-23 2009-05-14 Hitachi Ltd ストレージ装置及びその制御方法
US8159956B2 (en) * 2008-07-01 2012-04-17 Finisar Corporation Diagnostics for serial communication busses
US7930438B2 (en) * 2008-08-11 2011-04-19 International Business Machines Corporation Interrogate processing for complex I/O link
JP4719802B2 (ja) * 2009-03-09 2011-07-06 富士通株式会社 ストレージ管理装置、ストレージ管理方法およびストレージシステム
JP4852118B2 (ja) * 2009-03-24 2012-01-11 株式会社東芝 ストレージ装置及び論理ディスク管理方法
US8683148B2 (en) 2010-06-30 2014-03-25 Sandisk Il Ltd. Status indication when a maintenance operation is to be performed at a memory device
US8904226B2 (en) * 2010-08-26 2014-12-02 Cleversafe, Inc. Migrating stored copies of a file to stored encoded data slices
US20130036256A1 (en) * 2011-08-05 2013-02-07 Hitachi, Ltd. Method and apparatus of sanitizing storage device
US8782465B1 (en) * 2011-12-22 2014-07-15 Emc Corporation Managing drive problems in data storage systems by tracking overall retry time
US9087019B2 (en) 2012-01-27 2015-07-21 Promise Technology, Inc. Disk storage system with rebuild sequence and method of operation thereof
US20150229432A1 (en) * 2012-05-09 2015-08-13 Stephen Shellhammer Full-duplex ethernet communications over coaxial links using time-division duplexing
WO2014132373A1 (ja) * 2013-02-28 2014-09-04 株式会社 日立製作所 ストレージシステム及び記憶デバイス障害回復方法
JP5800847B2 (ja) * 2013-03-26 2015-10-28 京セラドキュメントソリューションズ株式会社 情報処理装置、エラー処理方法
US9223658B2 (en) * 2013-05-13 2015-12-29 Lenovo (Singapore) Pte. Ltd. Managing errors in a raid
JP5840173B2 (ja) 2013-06-21 2016-01-06 京セラドキュメントソリューションズ株式会社 情報処理装置、入出力制御部の再起動方法
US9354971B2 (en) * 2014-04-23 2016-05-31 Facebook, Inc. Systems and methods for data storage remediation
US10089307B2 (en) 2014-12-31 2018-10-02 International Business Machines Corporation Scalable distributed data store
US10223222B2 (en) * 2015-12-21 2019-03-05 International Business Machines Corporation Storage system-based replication for disaster recovery in virtualized environments
TWI676890B (zh) * 2017-12-12 2019-11-11 緯穎科技服務股份有限公司 機箱監控系統及機箱監控方法
CN109376029B (zh) * 2018-09-27 2021-11-19 郑州云海信息技术有限公司 一种scsi硬盘异常超时的处理方法及处理系统
US11086733B2 (en) * 2018-12-19 2021-08-10 Micron Technology, Inc. Reporting control information errors
JP6898393B2 (ja) 2019-03-22 2021-07-07 株式会社日立製作所 ストレージシステム及びデータ転送方法
US10620868B1 (en) * 2019-03-22 2020-04-14 Hitachi, Ltd. Storage system and data transfer method
US11520678B2 (en) 2020-02-24 2022-12-06 International Business Machines Corporation Set diagnostic parameters command
US11169949B2 (en) 2020-02-24 2021-11-09 International Business Machines Corporation Port descriptor configured for technological modifications
US11327868B2 (en) 2020-02-24 2022-05-10 International Business Machines Corporation Read diagnostic information command
US11169946B2 (en) 2020-02-24 2021-11-09 International Business Machines Corporation Commands to select a port descriptor of a specific version

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023967A (ja) * 2000-07-05 2002-01-25 Hitachi Electronics Eng Co Ltd 記憶媒体ライブラリアレイ装置におけるドライブ障害復旧方法
JP2002297322A (ja) * 2001-03-30 2002-10-11 Hitachi Ltd 冗長性を有するディスク記憶装置
JP2002358170A (ja) * 2001-05-31 2002-12-13 Toshiba Corp ディスク記憶装置、同ディスク記憶装置を備えた計算機システム及び同計算機システムにおけるリトライ処理時のエラー通知方法
JP2003257130A (ja) * 2002-02-28 2003-09-12 Toshiba Corp Av用途のディスク記憶装置及び同装置におけるセクタエラー時の処理方法
JP2004022059A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd ディスクアレイ装置の基板構造、ディスクアレイ装置、及びディスクアレイシステム
JP2004096383A (ja) * 2002-08-30 2004-03-25 Canon Inc ネットワークデバイス制御装置、ネットワークデバイス制御方法および該制御方法を実現するためのプログラム
JP2004227449A (ja) * 2003-01-27 2004-08-12 Hitachi Ltd ディスクアレイ装置における障害の診断装置

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US49923A (en) * 1865-09-12 Improvement in bird-traps
US292945A (en) * 1884-02-05 Albert m
US236908A (en) * 1881-01-25 Gloves and geoege d
US191890A (en) * 1877-06-12 Improvement in car-starters
US93721A (en) * 1869-08-17 Improvement in tanning-mills
US38436A (en) * 1863-05-05 Improvement in hoisting oyster-dredges
US54849A (en) * 1866-05-22 Improvement in trunk-locks
US42893A (en) * 1864-05-24 Edward wilbue
US204078A (en) * 1878-05-21 Improvement in graining-machines
US2360908A (en) * 1943-01-09 1944-10-24 Jacobs Mfg Co Collet chuck
US4870643A (en) * 1987-11-06 1989-09-26 Micropolis Corporation Parallel drive array storage system
DE3818815A1 (de) * 1988-06-03 1989-12-14 Zeiss Carl Fa Remissionsmessgeraet
US5159597A (en) * 1990-05-21 1992-10-27 International Business Machines Corporation Generic error recovery
US5559958A (en) * 1991-06-24 1996-09-24 Compaq Computer Corporation Graphical user interface for computer management system and an associated management information base
US5313585A (en) * 1991-12-17 1994-05-17 Jeffries Kenneth L Disk drive array with request fragmentation
US5828583A (en) * 1992-08-21 1998-10-27 Compaq Computer Corporation Drive failure prediction techniques for disk drives
JPH08286844A (ja) * 1995-04-13 1996-11-01 Hitachi Ltd パリティ生成制御方法およびディスク制御装置
US5574855A (en) * 1995-05-15 1996-11-12 Emc Corporation Method and apparatus for testing raid systems
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
US6081812A (en) * 1998-02-06 2000-06-27 Ncr Corporation Identifying at-risk components in systems with redundant components
US6209023B1 (en) * 1998-04-24 2001-03-27 Compaq Computer Corporation Supporting a SCSI device on a non-SCSI transport medium of a network
JP2000187561A (ja) 1998-12-24 2000-07-04 Hitachi Ltd 記憶装置システム
EP1035465A3 (en) * 1999-03-05 2006-10-04 Hitachi Global Storage Technologies Japan, Ltd. Disk storage apparatus and computer system using the same
US6247152B1 (en) * 1999-03-31 2001-06-12 International Business Machines Corporation Relocating unreliable disk sectors when encountering disk drive read errors with notification to user when data is bad
US6690532B1 (en) * 1999-07-23 2004-02-10 Seagate Technology Llc Self-diagnostic MR head recovery
US6766469B2 (en) * 2000-01-25 2004-07-20 Hewlett-Packard Development Company, L.P. Hot-replace of memory
JP2002108573A (ja) * 2000-09-28 2002-04-12 Nec Corp ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体
US6742139B1 (en) * 2000-10-19 2004-05-25 International Business Machines Corporation Service processor reset/reload
US7065661B2 (en) * 2002-12-16 2006-06-20 Emc Corporation Using request and grant signals to read revision information from an adapter board that interfaces a disk drive
US6959399B2 (en) * 2001-09-24 2005-10-25 International Business Machines Corporation Selective automated power cycling of faulty disk in intelligent disk array enclosure for error recovery
JP2003296034A (ja) * 2002-04-08 2003-10-17 Hitachi Ltd ディスクサブシステムとその制御方法
US6957301B2 (en) * 2002-09-18 2005-10-18 International Business Machines Corporation System and method for detecting data integrity problems on a data storage device
US8095704B2 (en) * 2003-01-13 2012-01-10 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
US7003617B2 (en) * 2003-02-11 2006-02-21 Dell Products L.P. System and method for managing target resets
JP4232534B2 (ja) 2003-05-20 2009-03-04 パナソニック株式会社 プラズマディスプレイ装置の製造方法
JP4060235B2 (ja) 2003-05-22 2008-03-12 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4723290B2 (ja) 2005-06-06 2011-07-13 株式会社日立製作所 ディスクアレイ装置及びその制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023967A (ja) * 2000-07-05 2002-01-25 Hitachi Electronics Eng Co Ltd 記憶媒体ライブラリアレイ装置におけるドライブ障害復旧方法
JP2002297322A (ja) * 2001-03-30 2002-10-11 Hitachi Ltd 冗長性を有するディスク記憶装置
JP2002358170A (ja) * 2001-05-31 2002-12-13 Toshiba Corp ディスク記憶装置、同ディスク記憶装置を備えた計算機システム及び同計算機システムにおけるリトライ処理時のエラー通知方法
JP2003257130A (ja) * 2002-02-28 2003-09-12 Toshiba Corp Av用途のディスク記憶装置及び同装置におけるセクタエラー時の処理方法
JP2004022059A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd ディスクアレイ装置の基板構造、ディスクアレイ装置、及びディスクアレイシステム
JP2004096383A (ja) * 2002-08-30 2004-03-25 Canon Inc ネットワークデバイス制御装置、ネットワークデバイス制御方法および該制御方法を実現するためのプログラム
JP2004227449A (ja) * 2003-01-27 2004-08-12 Hitachi Ltd ディスクアレイ装置における障害の診断装置

Also Published As

Publication number Publication date
EP1736879A3 (en) 2009-09-09
US7607035B2 (en) 2009-10-20
US20110161728A1 (en) 2011-06-30
JP2006338626A (ja) 2006-12-14
US8423818B2 (en) 2013-04-16
US20090292945A1 (en) 2009-11-26
EP1736879A2 (en) 2006-12-27
US20060277445A1 (en) 2006-12-07
US7941693B2 (en) 2011-05-10

Similar Documents

Publication Publication Date Title
JP4723290B2 (ja) ディスクアレイ装置及びその制御方法
JP4986045B2 (ja) 二重アクティブ・コントローラ内のライト・キャッシュ・データのフェイルオーバーおよびフェイルバック
JP4884885B2 (ja) 記憶制御装置及び記憶制御装置の障害回復方法
US7073017B2 (en) Efficient update of firmware in a disk-type storage device
JP5511960B2 (ja) 情報処理装置、及びデータの転送方法
US7441130B2 (en) Storage controller and storage system
US7882206B2 (en) Storage device system and storage device system activating method
US20090265584A1 (en) Storage control unit with control signal path between coupled controllers
US7568119B2 (en) Storage control device and storage control device path switching method
US10027532B2 (en) Storage control apparatus and storage control method
JP2006031630A (ja) ストレージ装置及びストレージ装置の消費電力制御方法
JP2007058419A (ja) Pld上のメモリ内の情報に従って構築される論理回路を備えたストレージシステム
JP2006293863A (ja) ディスクアレイ装置及びその制御方法
JP2005339216A (ja) 記憶制御システム
JP2006107080A (ja) ストレージ装置システム
JP2005267111A (ja) 記憶制御システム及び記憶制御システムの制御方法
JP2005301419A (ja) ディスクアレイ装置およびそのデータ処理方法
US20070016901A1 (en) Storage system and automatic renewal method of firmware
EP1556769A1 (en) Systems and methods of multiple access paths to single ported storage devices
US7861112B2 (en) Storage apparatus and method for controlling the same
JP6398727B2 (ja) 制御装置,ストレージ装置及び制御プログラム
JP2023127085A (ja) ストレージ装置および制御方法
JP2005275813A (ja) ディスクアレイシステム、その制御方法、プログラムおよび記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080417

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110222

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110407

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

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150