JP3776438B2 - 記憶装置 - Google Patents

記憶装置 Download PDF

Info

Publication number
JP3776438B2
JP3776438B2 JP2004351674A JP2004351674A JP3776438B2 JP 3776438 B2 JP3776438 B2 JP 3776438B2 JP 2004351674 A JP2004351674 A JP 2004351674A JP 2004351674 A JP2004351674 A JP 2004351674A JP 3776438 B2 JP3776438 B2 JP 3776438B2
Authority
JP
Japan
Prior art keywords
disk
control device
data
host
disk control
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.)
Expired - Fee Related
Application number
JP2004351674A
Other languages
English (en)
Other versions
JP2005122763A (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 JP2004351674A priority Critical patent/JP3776438B2/ja
Publication of JP2005122763A publication Critical patent/JP2005122763A/ja
Application granted granted Critical
Publication of JP3776438B2 publication Critical patent/JP3776438B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、外部記憶装置に関し、特に、上位装置からの情報の入出力要求を制御する入出力制御装置を多重に備えた冗長構成の外部記憶サブシステム等に適用して有効な技術に関する。
コンピュータシステムを構成する外部記憶装置においては、記憶媒体を備えた記憶装置と上位装置との間に介在して両者間の情報の授受を制御する記憶制御装置が冗長構成でない場合、記憶制御装置に障害が発生するとサブシステムは停止を余儀なくされ、この間に復旧作業がおこなわれる。そして、この復旧作業が終了すると、記憶制御装置が再起動され、あるいは、サブシステムが再起動されそれまで中断していた業務が再開される。
また最近では、コンピュータシステムを用いる様々な情報処理業務において24時間稼働の運用形態が増加しており、外部記憶サブシステムにも連続運転が要求されている。このため、たとえば、特許文献1に記載されているように、一方の記憶制御装置が運転中、他系の記憶制御装置は停止してスタンバイ状態をとるという、記憶制御装置に関して冗長な構成をとり、記憶制御装置の障害時、他系のスタンバイ状態の記憶制御装置に切り替わることにより、システムを継続運転可能にしようとする技術が知られている。
特開平3−206529号公報
しかし、上述の従来技術においては、障害時の連続運転は可能であるが、2台の記憶制御装置を備えているにもかかわらず、実際に稼働するのはいずれか1台のみであり性能的には1台の時となんら変わらなかった。すなわち冗長な他系の記憶制御装置はあくまでホットスタンバイ用であり、障害の記憶制御装置の単なる代替でしかなかった。
また、近年では、システムへの要求も様々であり、上位装置からも複数の経路より、同一の記憶装置へ、または別々の記憶装置へとアクセス要求が発行されるような様々な接続形態があり、従来のような記憶制御装置の単なる冗長構成では、多様なユーザの要請に合わせてシステムを構築することが困難であった。
また、従来において、安価なシステムでは1つのボード内に記憶制御装置とデータバッファが搭載された構成となっており、記憶制御装置内のデータバッファの増設等の保守管理を行う場合、データバッファのみの切り放しが不可能なため、システムを一旦停止させた状態でデータバッファを増設し、増設作業の終了後、記憶制御装置やシステムを再起動させ、それまで中断していた業務を再開する、という手順を踏む必要があり、上位装置からの入出力要求(I/O)を処理しながら増設等の保守管理作業を遂行することは不可能であった。
本発明の目的は、冗長構成の複数の記憶制御装置に負荷を分散させることにより、信頼性および性能を向上させることが可能な外部記憶装置を提供することにある。
本発明の他の目的は、上位装置の側に記憶制御装置の冗長構成を意識させることなく、記憶制御装置の多重化による信頼性の向上、さらには記憶制御装置の多様な制御動作を実現することが可能な外部記憶装置を提供することにある。
本発明のさらに他の目的は、稼働を停止させることなく、冗長構成の複数の記憶制御装置におけるハードウェアおよびソフトウェア等の保守管理作業を簡便に遂行することが可能な外部記憶装置を提供することにある。
本発明のさらに他の目的は、単一のボード上に記憶制御装置およびデータバッファを搭載した構成の保守管理作業を、稼働中に実行することが可能な外部記憶装置を提供することにある。
本発明の外部記憶装置は、複数の記憶制御装置が上位装置からみて同一に見えるように記憶制御装置を上位装置に接続するインターフェイス手段と、複数の記憶制御装置間で他の記憶制御装置を監視する監視手段と、記憶制御装置間での情報の伝達が可能な通信手段と、上位装置からの要求を受領している記憶制御装置を切り替える切替手段と、1つの記憶制御装置が受領した上位装置からの入出力要求と、それに付随する処理を複数の記憶制御装置にて負荷分散する負荷分散手段とを含む構成としたものである。
また、個々の記憶制御装置に備えられ、記憶制御装置と同様の冗長構成をとることによって上位装置からの書き込みデータを一旦格納するデータバッファと、上位装置からの書き込みデータをデータバッファに格納した時点で上位装置へ終了を報告し、上位装置との要求とは非同期にデータバッファから記憶装置に書き込むとともに、冗長構成の複数のデータバッファのすべてに書き込むか選択的に書き込むかを制御するデータ転送手段とを含む構成としたものである。
また、複数の記憶制御装置から共通にアクセス可能にされ、個々の記憶制御装置が健全か否かを識別するための第1の管理情報、ライトアフタ処理およびライトスルー処理の何れを実行するかを指定する第2の管理情報、複数の記憶制御装置の何れが上位装置からの入出力要求を受け付けるかを指定する第3の管理情報、複数の記憶制御装置の各々における負荷の分担を指定する第4の管理情報、の少なくとも一つが格納される管理情報記憶手段を含む構成としたものである。
本発明の外部記憶装置では、たとえば、一対の第1および第2の記憶制御装置を含む冗長構成であるとき、この第1および第2の記憶制御装置は上位装置と、たとえばSCSIインターフェースによりデージーチェーン接続され、同一SCSIIDでアクセスされる。たとえば上位装置からの入出力要求を固定的に第1の記憶制御装置が受領している場合、当該入出力要求の処理に伴う負荷は、複数の記憶制御装置の各々における負荷の分担を指定する第4の管理情報に基づいて他の第2の記憶制御装置に分散され、冗長構成による信頼性の向上と第1および第2の記憶制御装置の並行稼働による入出力処理の処理能力の向上が図れる。
また、たとえば上位装置からの入出力要求を固定的に第1の記憶制御装置が受領している場合、第1の記憶制御装置に障害が発生した時、第1の管理情報および監視手段により障害を検出し、切替手段によって要求を受領する記憶制御装置を第2の記憶制御装置に切り替えることにより、上位装置は障害後も同一のSCSIIDに対してI/O要求を発行すればよく、切り替えに対してなんら意識する必要はない。その後、障害となった記憶制御装置を切り放し、縮退運転に入る。部品やマイクロプログラムの交換等の保守作業終了後に第1の記憶制御装置を復旧し、元の冗長構成に復元される。
また、各記憶制御装置内にデータバッファを持ち、上位装置からの書き込みデータを第1の記憶制御装置が受領し、ライトアフタ処理を実行している場合、第1の記憶制御装置に障害が発生したことを監視手段により検出し、切替手段により、第1の記憶制御装置から第2の記憶制御装置に入出力要求を受領する記憶制御装置を切り替えた時、同時に、複数のデータバッファに対する多重なデータ書き込み処理から、稼働中の記憶制御装置に備えられたデータバッファに選択的にデータを書き込む処理に切り替える。
この時、ライトアフタ処理を実行するかライトスルー処理を実行するかを選択する。この選択は、管理情報記憶手段の第2の管理情報をユーザが設定することにより可能である。すなわち、ユーザのデータ信頼性に対する要求が高い時は、ライトスルーモードに設定し、信頼性よりは性能を要求する場合は、ライトアフタモードに設定する。
第2の記憶制御装置の復旧後、選択的な書き込みか多重書き込みに切り替えることによりデータバッファに多重に書き込む操作に切り替え、冗長構成に復元できる。
上位装置からの入出力要求を第1の記憶制御装置が受領し、上位装置からの書き込み要求に関しては、第1の記憶制御装置のデータバッファと第2の記憶制御装置のデータバッファに2重書きを行い、ライトアフタ処理を行なっている場合、多重に書き込む処理から選択的に書き込む処理に切り替えて第2の記憶制御装置を切り放して縮退させ、データバッファの増設やマイクロプログラムの交換等の保守を行なった後、元の冗長構成に復旧させる。その後、記憶制御装置間での情報の伝達が可能な通信手段用いて第2の記憶制御装置は第1の記憶制御装置にデータバッファの増設等の保守作業の完了を通知し、通知後、切替手段を用い、上位装置からの要求の受領を自装置に切り替える。
一方、通知を受けた第1の記憶制御装置は自装置を縮退させ、データバッファの増設等の保守を行ない復旧させる。復旧後、情報の伝達が可能な通信手段を用いて第1の記憶制御装置は第2の記憶制御装置にデータバッファの増設等の保守完了を通知する。これを契機に、単一のデータバッファに対する選択的なデータ書き込みから、複数のデータバッファに対する多重書き込み処理に切り替える。これにより、一対の第1の記憶制御装置および第2の記憶制御装置のデータバッファの増設やマイクロプログラムの交換等の保守管理業務を、上位装置との間における入出力処理を継続しながら可能となる。
また、本発明によれば、管理情報記憶手段に設定されている複数の前記記憶制御装置の何れが前記上位装置からの入出力要求を受け付けるかを指定する第3の管理情報を参照することにより、第1の記憶制御装置および第2の記憶制御装置は、上位装置からの要求をいずれが受領するかを判断することが可能である。これにより、たとえば、第1の記憶制御装置および第2の記憶制御装置のどちらか一方のみが上位装置からの要求を受け付けることに限らず、両方の記憶制御装置にて入出力要求を受け付けて処理することも可能である。また、第3の管理情報をユーザにて随意に設定することにより、上位装置からの要求を受ける記憶制御装置をユーザから任意に指定することが可能となる。
本発明の外部記憶装置によれば、冗長構成の複数の記憶制御装置に負荷を分散させることにより、信頼性および性能を向上させることができる、という効果が得られる。
また、上位装置の側に記憶制御装置の冗長構成を意識させることなく、記憶制御装置の多重化による信頼性の向上、さらには記憶制御装置の多様な制御動作を実現することができる、という効果が得られる。
また、稼働を停止させることなく、冗長構成の複数の記憶制御装置におけるハードウェアおよびソフトウェア等の保守管理作業を簡便に遂行することができる、という効果が得られる。
また、単一のボード上に記憶制御装置およびデータバッファを搭載した構成の保守管理作業を、稼働中に実行することができる、という効果が得られる。
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
図1は本発明の一実施の形態である外部記憶装置を含む計算機システムの一例を示す概念図である。本実施の形態の計算機システムは、中央処理装置である上位装置100と、ディスクドライブ制御装置200、ディスクドライブ制御装置400と、ディスク装置500とを含んでいる。ディスクドライブ制御装置200とディスクドライブ制御装置400は上位装置100とSCSIインターフェースのデージーチェーンで接続され、ディスクドライブ制御装置200、400は同一のSCSIIDが設定され、冗長構成をとっている。そして本実施の形態の場合、ディスクドライブ制御装置200は、上位装置100からの要求を受領し、要求に付随する処理をディスクドライブ制御装置200と冗長なディスクドライブ制御装置400とで実行し、ディスク装置500を制御する。
図2は、ディスクドライブ制御装置200および400の内部構成の一例を示すブロック図である。なお、ディスクドライブ制御装置200とディスクドライブ制御装置400の内部構成は同一であるため、ディスクドライブ制御装置200を例に説明し、ディスクドライブ制御装置400の側については対応する部位の符号の下2桁を同一にして説明は割愛する。
マイクロプロセッサユニット250(以下MPUと称す)は、ランダムアクセスメモリ(RAM、図示せず)を逐次デコードしながら実行し、ディスクドライブ制御装置200の全体を制御している。
ホストI/F制御部210は、上位装置100とのプロトコル制御を行なっている。DRVI/F制御部270は各ドライブとのプロトコル制御を行なっている。データバッファ240は、ホストI/F制御部210とDRVI/F制御部270のデータ転送時に用いられるものである。このメモリは揮発メモリでもよいし不揮発メモリでもよい。本実施の形態は揮発メモリでデータバッファ240を構築した場合を例に記述する。
切替機構220は、各ディスクドライブ制御装置200およびディスクドライブ制御装置400のホストI/F制御部210およびホストI/F制御部410に対し、上位装置100からのI/Oを受領するホストI/F制御部を切り替えるためのものである。この実施の形態では、ホストI/F制御部210が受領しているものとする。データ転送制御部230は上位装置100とデータバッファ240とのデータ転送を制御している。このデータ転送制御部230は上位装置100からのライトデータをデータバッファ240とデータバッファ440の2面に2重書きするか、データバッファ240のみの1重書きするかの両方の機能を備えている。また、MPU250からの指示により1重書きか2重書きかを切り替えることが可能である。
DRV転送制御部260はデータバッファ240とディスク装置500との間のデータ転送を制御する。
通信機構300は、MPU250と、MPU450間での情報の伝達をするための機構である。この通信機構300はMPU250とMPU450間における双方向の伝達を可能としている。
共通管理テーブル310は、MPU250とMPU450の双方から参照/更新が可能な管理テーブルである。
本実施の形態では、上位装置100からの論理データを複数のディスク装置500へ分散させて格納する、アレイ構成によるドライブ格納方式を例に採って説明する。
ECC生成回路280は、上位装置100より送られてきたデータに対して冗長データを生成する機能を有し、この機能はデータの復元にも用いることができる。冗長データを付加する単位は、上位から送られてきた1論理データ単位でもよいし複数の論理データ単位に対してでもよい。本実施の形態は、4つの論理データに対し冗長データを付加し、この冗長データを格納するドライブを固定しないRAID5方式において記述する。
次に、図3を参照して共通管理テーブル310の構成の一例について説明する。監視情報320は各ディスクドライブ制御装置200/400が正常に動作しているかどうかをチェックするのに用いられる。監視情報A321はディスクドライブ制御装置200のMPU250が正常に動作可能と判断された時、一定間隔にて情報を設定する。また、MPU250が正常に動作不能と判断した時、異常を示す情報を設定する。なお、ディスクドライブ制御装置400のMPU450も、MPU250と同様に情報を監視情報B322に設定する。
データ転送モード情報330は、システムの縮退状態時に上位装置100からのライトデータ書き込み要求に対する終了報告契機を指示する。すなわち、この情報がデータバッファ240、またはデータバッファ440に対する書きこみ完了時点で上位装置100に終了を報告するか(以下ライトアフタモードと称す)、データバッファ240からディスク装置500にまで書き込んだ時点で終了報告するか(以下ライトスルーモードと称す)を判断するための情報である。
ホストI/O受信情報340は2つのディスクドライブ制御装置200/400の内、I/Oを受信するディスクドライブ制御装置の指示情報が示されている。本実施の形態では、ディスクドライブ制御装置200がホストI/O受信側に設定されているものとして説明する。
負荷分散情報350は、上位装置からのI/Oに伴う処理を、2つのディスクドライブ制御装置200/400間で負荷分散するための情報である。負荷分散の方法は各ディスクドライブ制御装置にアクセス対象とするディスク装置を分割してもよいし、上位装置100からのI/O要求の処理と、上位装置100からのI/O要求とは非同期のデータバッファからディスク装置500へライトデータを格納する処理とに分担してもよい。または処理しなければならない事柄を全て負荷分散情報の中に書き込み、2つのMPU間で競争論理とし、MPUとして空きがあるほうが処理を実行するという方法でもかまわない。
本実施の形態では上位装置100からのI/O要求の処理と、上位装置100からのI/O要求とは非同期にデータバッファ240/440からディスク装置500へライトデータを格納する処理とに分担する方式について説明する。よって、本実施の形態では、負荷分散情報350にはデータバッファ240/440に格納されたライトデータの情報が入っているものとする。
次に本実施の形態における計算機システムでの、上位装置100からディスク装置500に対するデータの書き込み処理および読み込み処理について説明する。
ディスクドライブ制御装置200は、通常、上位装置100からの書き込み要求時、ホストI/F制御部210により、書き込み論理データを受領し、データ転送制御部230にてデータバッファ240とデータバッファ440に2重に格納し、共通管理テーブル310の負荷分散情報350に格納情報を設定し、この時点で上位装置100に終了を報告する。MPU450は、逐次、負荷分散情報350を参照し、格納情報があれば、当該ライトデータと同一アドレスの、既にドライブに格納されているデータ(以下旧データと称す)と、当該ライトデータに対応するパリティデータをDRVI/F制御部470とDRV転送制御部460によりディスク装置500から読み出し、ECC生成回路480にてライトデータと旧データとパリティデータにて、ライトデータに対応したパリティデータ(以下新パリティデータと称す)を生成する。生成された新パリティデータとライトデータをDRVI/F制御部470とDRV転送制御部460によりディスク装置500に書き込むことにより、ライトデータをディスク装置500に格納する。この処理は上位装置100からのI/O要求とは非同期に行なわれる。また、ライトデータを格納するために行なわれる、旧データ/旧パリティデータの読み出し処理及び新パリティ生成処理、新パリティデータ格納処理はRAID5におけるライトペナルティと呼ばれている。
このように、上位装置100からのライトデータの格納要求は、複数のディスク装置500をディスクアレイ装置として機能させる場合において、非常に負荷が高い処理である。この処理を2つのディスクドライブ制御装置200、400にて役割分担し実行することは、1台のディスクドライブ制御装置だけで実行するより、効率がよくシステムとしての性能向上につながる。特に最近の市場動向としては、安価なプロセッサを搭載し、システム全体のコストを低減させることが、高性能、高信頼性とともに、非常に大切な要素となっている。よって、ライトペナルティ処理においては、ドライブへのアクセスが多数発生することも性能劣化につながるが、それ以前にそれを制御するプロセッサのマイクロプログラムの走行時間が長いために、システムとしてプロセッサネックになることも多い。この時、本実施の形態のように、2台のディスクドライブ制御装置200および400にて処理を行なうことで2倍近くの性能を出すことができる。
次に上位装置100からの読み込み要求時、MPU250は、DRVI/F制御部270とDRV転送制御部260により物理ドライブ(ディスク装置500)よりデータの読み込みを開始し、上位装置100に転送する。また、この時、上位装置100からのリード要求アドレスが連続していた時、ディスクドライブ制御装置400がシーケンシャルリード処理だと判断し、上位装置100からのリード要求アドレスに続くあるデータ量を上位装置100からのI/Oとは非同期にデータバッファ240および440に読み出す処理を行っても良い。こうすることにより、次に上位装置からI/O要求があった時、対象となるデータがすでにデータバッファ240/440に格納されており、時間の掛かるディスク装置500へのアクセスを生じることなくデータを転送することができ、全体としての性能向上につながる。
以上のように、冗長構成でありながら、冗長な部分(本実施の形態では、ディスクドライブ制御装置400)を障害発生時の切り替え用として単にスタンバイさせておくのではなく、処理の一部を実行させることにより、信頼性だけでなく性能の向上にもつながる。
次に本実施の形態において、2台のディスクドライブ制御装置200/400が処理を実行しながら、障害時の自動切り替えおよび復旧を実行する動作について説明する。まず、自動的に障害を検出する監視手続きについて説明する。
MPU250、450はディスクドライブ制御装置200、400を制御しながら、一定時間が経過する度に、MPU250は監視情報321に、MPU450は監視情報322に正常であることを示す情報(以下、正常情報と称す)を設定する。但し、一定時間毎に設定していることを示すために、この情報には逐次変化する情報を設定する。たとえば、1つずつ加算されるような情報である。また、各MPU250,450が、当該ディスクドライブ制御装置200、400にて正常に動作が不可能と判断したと、たとえば、MPUからデータバッファがアクセス不可能となった時、監視情報に障害であることを示す情報(以下これを障害情報と称す)を設定する。以下、図4のフローチャートにより前述の監視手続きの一例を説明する。
ここでは、ディスクドライブ制御装置400のMPU450が他系のディスクドライブ制御装置200の監視を行う動作を例に採り説明する。
まずMPU250はステップ600にて一定時間が経過したかを判断する。一定時間が経過していなければ、ステップ608へ進み、ディスクドライブ制御装置200が正常と判断する。
一定時間が経過していれば、ステップ601へ進み、MPU450が正常であることを示す正常情報を設定する。そしてステップ602へ進み、ディスクドライブ制御装置200の監視情報322を参照する。この情報が正常か否かを判断し、ステップ603にて正常だと判断したら、ステップ604に進む。障害であると判断したら、ステップ607に進み、ディスクドライブ制御装置200は障害であると判断する。
正常情報の時、ステップ605に進み、この正常情報に以前から変更があったかどうかをステップ605にて判断する。すなわち、MPU250がマイクロプログラムの障害等により、監視情報を設定不可能に陥っている可能性がある。このような障害を、このステップ605のチェックにて判断する。変更があれば、ステップ608へ進み、正常と判断する。変更が無かったとき、ステップ606に進み、一定時間よりも長いマージンの時間が経過しているか否かを判断する。その結果、経過していれば、ステップ607へ進み、障害と判断し、経過していなければ、ステップ608へ進み、正常と判断する。以上のような監視手続きによれば、ハードウェアの障害も、マイクロプログラムの障害も両方同時に検出が可能である。
次に、図5のフローチャートを参照してディスクドライブ制御装置400が他系のディスクドライブ制御装置200の障害を認識して切り替わる処理の一例を説明する。
まずMPU450はステップ700にて逐次、負荷分散情報350を参照している。その結果、ステップ701にてデータバッファ240、440内に上位装置100からのライトデータが存在しなければ、ステップ704に進む。存在すれば、ステップ702に進み、データバッファ440のライトデータに対応するパリティを生成するため、当該ライトデータに対応する旧データと旧パリティデータをディスク装置500から読み出し、ECC生成回路480にて新パリティデータを生成する。その後、ステップ703に進み、ライトデータと新パリティデータをDRV転送制御部460および、DRVI/F制御部470によりディスク装置500に格納する。次にステップ704にて、図4のステップ600以降の監視手続きによりディスクドライブ制御装置200の障害をチェックする。その結果、正常ならば、ステップ700に進み、処理を続ける。切り替えが必要と判断したら、ステップ710に進み、切り替え手続きを用いて、上位装置100からのI/Oの受信をディスクドライブ制御装置200からディスクドライブ制御装置400に切り替える。そして、ディスクドライブ制御装置200が行なっていた上位装置100からのI/O処理をステップ720にてディスクドライブ制御装置400が代替して行なう。
次に、図6のフローチャートにて切り替え手続きの一例を説明する。
まずステップ711にて、データ転送制御部430に対し、上位装置100からのライトデータ受領時、当該データをデータバッファ440へ1重に書き込むことを指示する。すなわち、ディスクドライブ制御装置200に障害が発生したため、ディスクドライブ制御装置200を縮退させて切り放し、障害発生した部位を交換し、復旧するまでの間、データバッファはディスクドライブ制御装置400にしか存在しないため、正常な冗長構成時のような2重書きはできない。
そして、ステップ712にて、切替機構420にて上位装置100からのI/O要求をホストI/F制御部210から、ホストI/F制御部410に切り替えるよう指示をする。これにより、ホストI/F制御部210は上位装置100からの要求を受け付けなくなり、また、ホストI/F制御部410は上位装置100からの要求を受け付けるようになり、実質的にはディスクドライブ制御装置が切り替わることになるが、本実施の形態ではSCSIIDが同一なため、上位装置100はI/Oを切り替える以前と同様のSCSIIDに発行すればよく、受領側のディスクドライブ制御装置が切り替わったことを知る必要が全くない。
次に図7のフローチャートを用いて、切り替わった後、ディスクドライブ制御装置400にてI/Oを実行する手順の一例を説明する。
ステップ721にて上位装置100よりI/O処理を受信すると、ステップ722に進み、リード要求かライト要求かを判断する。リード要求の時、ステップ729に進み、当該リード要求に対応するディスク装置500よりデータバッファ440に対象データを読み込む。ステップ730に進み、データバッファ440から上位装置100へデータを転送し、ステップ728にて上位装置100に対し、終了を報告する。
ライト要求の時、ステップ723に進み、データバッファ440にライトデータを格納する。さらに、ステップ724に進み、データ転送モード情報330を参照し、ステップ725でライトスルーモードか否かを判定する。その結果、ライトアフタモードの時、すなわちデータバッファ440に格納した時点で上位装置100に対して終了を報告するモードの時は、ステップ728に進み、終了を報告し、その後、非同期にデータバッファ440からディスク装置500に格納する。ライトスルーモードの時は、ステップ726に進み、ライトデータに対するパリティデータを作成し、ステップ727にてライトデータと新パリティデータをディスク装置500に格納し、ステップ728にて終了を報告する。さらに、この後、図5のフローチャートにおけるステップ700からステップ703を実行し、切り替え以前の処理も実行する。
このように、本実施の形態によれば、上位装置100からの指示なしに、上位装置100になんの意識もさせずに、ディスクドライブ制御装置200/400にて、自動的に相互間の切り替え動作および処理の続行が可能である。
次に、ディスクドライブ制御装置200が復旧し、元の冗長構成に戻る時の方法の一例を説明する。
まず、図8に示されるフローチャートにて、ディスクドライブ制御装置200の側の復旧動作の一例について説明する。ステップ810で、通信機構300にてディスクドライブ制御装置400に対して復旧が完了したことを通知する。その後、ディスクドライブ制御装置200が冗長なディスクドライブ制御装置となり、以前と立場が入れ替わる。ステップ811にて、以前、ディスクドライブ制御装置400が行なっていた非同期のデステージ処理(図5のステップ700〜705)を行なう。
さらに、図9に示されるフローチャートにて、通知を受けた側のディスクドライブ制御装置400の動作の一例を説明する。
ステップ820にて通信機構300にてディスクドライブ制御装置200の復旧完了を認識すると、ステップ821でデータ転送制御部430にデータバッファ240と440への2重書きを指示し、ステップ821にて上位装置100からのI/O処理のみを実行する。このように、上位装置100からのI/O要求を受けながら、元の冗長な構成に復旧することが可能であり、さらに2つのディスクドライブ制御装置200/400で処理を負荷分散することにより、性能の向上も図れる。
次に、ディスクドライブ制御装置200/400の稼働中におけるデータバッファの増設方法の一例について図10のフローチャートを参照しながら説明する。なお、上位装置100からのI/Oを受信しているディスクドライブ制御装置は、ディスクドライブ制御装置200とする。
データバッファの増設要求があった時、ステップ911にて当該ディスクドライブ制御装置はI/O受信側かを判断する。まずディスクドライブ制御装置200の処理内容について説明する。ディスクドライブ制御装置200はI/O受信側なので、ステップ912に進み、ディスクドライブ制御装置400がまず縮退し、切り放すことを認識する。そこで、データ転送制御部230にデータバッファ240へライトデータを1重書きとするよう指示をする。その後、ステップ913にて上位装置100からのI/O処理を実行し、ステップ914にて、図5のステップ700〜ステップ703を実行する。すなわちディスクドライブ制御装置400にて実行していた分を代替する。ステップ913とステップ914を繰り返しながらディスクドライブ制御装置400の復旧完了を待つ。
次にディスクドライブ制御装置400もステップ911にて当該ディスクドライブ制御装置はI/O受信側かを判断する。その結果I/O受信側ではないので、ステップ915に進み、当該ディスクドライブ制御装置400は切り放しを行ない、ステップ916にてデータバッファ440の増設を行なう。増設完了後、ステップ917にて復旧したことを通信機構300を介してディスクドライブ制御装置200に通知する。
今度はディスクドライブ制御装置200が増設を行なう必要があるため、ディスクドライブ制御装置400はI/Oの受領を代替するため、ステップ919で切替機構420を用いてI/O受信するホストI/F制御部を自系に切り替える。その後、ステップ920にて上位装置100からのI/O処理を実行し、ステップ921にて図5のステップ700〜ステップ703を実行し、ディスクドライブ制御装置200の復旧完了を待つ。
ステップ918で復旧を通信機構300を介して認識したディスクドライブ制御装置200は、ステップ922にて切り放し、ステップ923にてデータバッファ240の増設を行なう。増設完了後、ステップ924にて復旧を通信機構300にてディスクドライブ制御装置400に通知する。通知後、当該ディスクドライブ制御装置200はホストI/O受信側ではないのでステップ925にて図5のステップ700〜ステップ705を実行する側に回る。
ディスクドライブ制御装置400は、ステップ926にて他系の復旧を通信機構300にて認識すると、ステップ927にてデータ転送制御部230にデータバッファ240/440へライトデータを2重に書くよう指示をする。ステップ928にて上位装置100からのI/O処理を実行する。
このように上位装置100からのI/Oを実行しながらも各系のデータバッファ240/440の増設が可能となる。すなわち本実施の形態によれば、従来ではデータバッファの増設はシステムを停止してからでないと実現できなかったのに対し、オンライン中に増設が可能となる。特に、低コストにて実現されている1つのボード上にディスクドライブ制御装置が構築されているときは、ボード毎の交換が必要なため、稼働中の増設は不可能であった。本実施の形態では、冗長構成のディスクドライブ制御装置200/400において、1台ずつを縮退/復旧させながら、データバッファの増設が可能である。
また、本実施の形態によれば、図10のステップ916および、ステップ923の処理をマイクロプログラム交換作業に置き換えることにより、稼働中のマイクロプログラムの交換が可能であり、24時間運転の要求が著しい近年のコンピュータシステムにおける保守管理作業に特に有効である。
また、片系障害時の縮退中、上位装置100からのライト要求をデータバッファまでに書き込んで終了を報告するか、ディスク装置500にまで書き込んで終了を報告するかはユーザが指示可能である。すなわち、このデータ転送モード情報330の書き換えは、ユーザのプログラムで自動的に行なってもよい。すなわち、データバッファが1面構成になった時、データファッバに格納した時点で終了を報告すれば、応答性にはすぐれているが、この時点でディスクドライブ制御装置に障害が発生すると、データ保証ができなくなる。一方、ディスク装置500にまで格納するのでは、ライトペナルティ処理が発生してしまうため、応答性はかなり劣化してしまうが、上位装置100に対しては、確実な応答が報告でき、信頼性は高い。本実施の形態の外部記憶装置の場合、ユーザが扱うファイルへの信頼度の要求レベルに応じて、ユーザの指示により、信頼度を優先するか、応答速度を優先するかを随意に選択でき、柔軟なファイルシステムを構築することが可能となる。
さらに本発明では、複数のディスクドライブ制御装置は冗長な構成だけではなく、複数の上位装置または、複数のバスより、同時にアクセスが可能なシステムも提供できる。このシステム構成例を図11および図12に示す。
図11は、これまでに説明した実施の形態の図1と同じ構成だが、上位装置100とのI/FがSCSIの時、図1の構成では記憶制御装置0と記憶制御装置1は同じSCSIIDで接続されていたのに対して、図11の構成では記憶制御装置0(400A)と記憶制御装置1(200A)は異なるSCSIIDで接続されている点が異なっている。この図11の構成の場合、どちらも、上位装置100からI/O要求を受領して処理する。また、図12は、複数の記憶制御装置0(400B)および記憶制御装置1(200B)が、同一の上位装置100に対してマルチパスにより接続されたシステム構成の一例を示すブロック図である。この図12の構成でも、記憶制御装置0(400B)と記憶制御装置1(200B)は、いずれも上位装置100からのI/O要求を実行可能である。いずれがI/O要求を実行するかの指定は共通管理テーブル310の、ホストI/O受信情報340を書き換えることにより実現される。すなわち、各記憶制御装置は、まずホストI/O受信情報340を参照し、当該記憶制御装置が上位装置からのI/Oを受信するか否かを決定する。このように、本発明では様々なユーザの接続方法に対応することができ、柔軟なシステムが構築できる。
以上説明したように、本実施の形態によれば、冗長構成の複数のディスクドライブ制御装置200/400が負荷分散しながら上位装置100からの要求を実行することにより、信頼性の向上だけでなく性能の向上も同時に実現することが可能なファイルシステムを提供できる。また、すべてのディスクドライブ制御装置200/400が負荷分散しながら上位装置100からのI/O要求を実行しながらでも、障害発生時に上位装置100からなんら指示を仰ぐことなく自動的に切り替わって稼働を継続し、さらに復旧することが可能となる。これにより、上位装置100からのI/O要求を実行しながらデータバッファの増設やマイクロプログラムの交換が可能となり、無停止保守が実現できる。また、冗長構成だけでなく、すべてのディスクドライブ制御装置が同時に上位装置100からの要求を受信する構成にすることも可能であり、ユーザの要求する多様なファイルシステムに柔軟に対応することができる。
本発明の一実施の形態である外部記憶装置を含む計算機システムの一例を示す概念図である。 本発明の一実施の形態である外部記憶装置を構成するディスクドライブ制御装置の内部構成の一例を示すブロック図である。 本発明の一実施の形態である外部記憶装置において用いられる共通管理テーブルの構成の一例を示す概念図である。 本発明の一実施の形態である外部記憶装置の作用の一例を示すフローチャートである。 本発明の一実施の形態である外部記憶装置の作用の一例を示すフローチャートである。 本発明の一実施の形態である外部記憶装置の作用の一例を示すフローチャートである。 本発明の一実施の形態である外部記憶装置の作用の一例を示すフローチャートである。 本発明の一実施の形態である外部記憶装置の作用の一例を示すフローチャートである。 本発明の一実施の形態である外部記憶装置の作用の一例を示すフローチャートである。 本発明の一実施の形態である外部記憶装置の作用の一例を示すフローチャートである。 本発明の一実施の形態である外部記憶装置における上位装置との接続形態の変形例を示す概念図である。 本発明の一実施の形態である外部記憶装置における上位装置との接続形態の変形例を示す概念図である。
符号の説明
100…上位装置、200…ディスクドライブ制御装置、210…ホストI/F制御部、220…切替機構、230…データ転送制御部、240…データバッファ、250…マイクロプロセッサユニット、260…DRV転送制御部、270…DRVI/F制御部、280…ECC生成回路、300…通信機構、310…共通管理テーブル、320…監視情報、321…監視情報、322…監視情報、330…データ転送モード情報、340…ホストI/O受信情報、350…負荷分散情報、400…ディスクドライブ制御装置、410…ホストI/F制御部、420…切替機構、430…データ転送制御部、440…データバッファ、450…マイクロプロセッサユニット、460…DRV転送制御部、470…DRVI/F制御部、480…ECC生成回路、500…ディスク装置。

Claims (5)

  1. 上位装置から受領したデータのディスク装置への書き込みを制御する記憶装置であって、
    前記記憶装置は、通信機構を介して接続される第1と第2のディスク制御装置を含み、
    前記第1と第2のディスク制御装置のそれぞれは、前記上位装置と接続されるホストI/F制御部と、
    前記ホストI/F制御部を介して受領するデータを一時的に保持するメモリと、
    前記ホストI/F制御部と前記メモリとの間の前記データの転送を制御するデータ転送制御部と、
    前記メモリに保持されたデータの前記ディスク装置への書き込みや読み出しを制御するドライブI/F制御部と、
    前記各制御部の動作を制御するマイクロプロセッサと、を備え
    前記第1のディスク制御装置の前記データ転送制御部は、前記第1のディスク制御装置内の前記ホストI/F制御部が受領したデータを、前記第1と第2の両方のディスク制御装置内の前記メモリに書き込むように制御され、
    前記第1のディスク制御装置は、前記上位装置から送信されるデータを前記第1と第2の両方のディスク制御装置内の前記メモリに格納する処理を実行し、
    前記第2のディスク制御装置は、前記第2のディスク制御装置のメモリに格納されたデータを前記ディスク装置に格納する処理を実行することを特徴とする記憶装置。
  2. 請求項1記載の記憶装置であって、
    前記第1のディスク制御装置と前記第2のディスク制御装置とが共同して動作する場合には、
    前記第1のディスク制御装置の前記データ転送制御部は、前記第1のディスク制御装置内の前記ホストI/F制御部が受領したデータを、前記第1と第2の両方のディスク制御装置内の前記メモリに書き込むように制御され、
    前記第1のディスク制御装置は、前記上位装置から送信されるデータを前記第1と第2の両方のディスク制御装置内の前記メモリに格納する処理を実行し
    前記第2のディスク制御装置が、前記第2のディスク制御装置のメモリに格納されたデータを、前記ディスク装置に格納する処理を実行し、
    前記第1のディスク制御装置は動作し、前記第2のディスク制御装置は動作しない場合には、
    前記第1のディスク制御装置の前記データ転送制御部は、前記第1のディスク制御装置内の前記ホストI/F制御部が受領したデータを、前記第1のディスク制御装置内の前記メモリに書き込むように制御され、
    前記第1のディスク制御装置は、前記上位装置から送信されるデータを前記第1のディスク制御装置内の前記メモリに格納する処理と、前記第1のディスク制御装置のメモリに格納されたデータを前記ディスク装置に格納する処理とを実行することを特徴とする記憶装置。
  3. 請求項記載の記憶装置であって
    前記第1のディスク制御装置と前記第2のディスク制御装置とのいずれにも障害が検出されていない場合には、
    前記第1のディスク制御装置の前記データ転送制御部は、前記第1のディスク制御装置内の前記ホストI/F制御部が受領したデータを、前記第1と第2の両方のディスク制御装置内の前記メモリに書き込むように制御され、
    前記第1のディスク制御装置は、前記上位装置から送信されるライト要求に含まれるデータを前記第1と第2の両方のディスク制御装置内の前記メモリに格納する処理と、前記上位装置に対して前記ライト要求に対する終了を送信する処理とを実行し、
    前記第2のディスク制御装置が、前記第2のディスク制御装置のメモリに格納されたライト要求に含まれるデータを、前記ディスク装置に格納する処理を実行し、
    前記第2のディスク制御装置に障害が検出されている場合には、
    前記第1のディスク制御装置の前記データ転送制御部は、前記第1のディスク制御装置内の前記ホストI/F制御部が受領したデータを、前記第1のディスク制御装置内の前記メモリに書き込むように制御され、
    前記第1のディスク制御装置は、前記上位装置から送信されるライト要求に含まれるデータを前記第1のディスク制御装置内の前記メモリに格納する処理と、前記上位装置に対して前記ライト要求に対する終了を送信する処理と、前記第1のディスク制御装置のメモリに格納されたライト要求に含まれるデータを、前記ディスク装置に格納する処理とを実行することを特徴とする記憶装置。
  4. 請求項2記載の記憶装置であって、
    前記第1のディスク制御装置は動作し、前記第2のディスク制御装置は動作しない場合とは、前記第2のディスク制御装置のメモリを増設する為に、前記第2のディスク制御装置が動作しない場合であることを特徴とする記憶装置。
  5. 上位装置から受領したデータのディスク装置への書き込みを制御する記憶装置であって、
    前記記憶装置は、通信機構を介して接続される第1と第2のディスク制御装置を含み、
    前記第1と第2のディスク制御装置のそれぞれは、前記上位装置と接続されるホストI/F制御部と、
    前記ホストI/F制御部を介して受領するデータを一時的に保持するメモリと、
    前記ホストI/F制御部と前記メモリとの間の前記データの転送を制御するデータ転送制御部と、
    前記メモリに保持されたデータの前記ディスク装置への書き込みや読み出しを制御するドライブI/F制御部と、
    前記各制御部の動作を制御するマイクロプロセッサと、を備え
    前記第1のディスク制御装置の前記データ転送制御部は、前記第1のディスク制御装置内の前記ホストI/Fが受領したデータを、前記第1と第2の両方のディスク制御装置内の前記メモリに書き込むように制御され、
    前記第1のディスク制御装置は、前記上位装置から送信されるライト要求を前記第1と第2の両方のディスク制御装置内の前記メモリに格納する処理と、前記上位装置に対して前記ライト要求に対する終了を送信する処理とを実行し、
    前記第2のディスク制御装置は、前記第2のディスク制御装置のメモリに格納されたライト要求に含まれるデータに対応するパリティデータを生成し、前記データと前記パリティデータとを前記ディスク装置に格納する処理を実行することを特徴とする記憶装置。
JP2004351674A 2004-12-03 2004-12-03 記憶装置 Expired - Fee Related JP3776438B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004351674A JP3776438B2 (ja) 2004-12-03 2004-12-03 記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004351674A JP3776438B2 (ja) 2004-12-03 2004-12-03 記憶装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP13978195A Division JP3732869B2 (ja) 1995-06-07 1995-06-07 外部記憶装置

Publications (2)

Publication Number Publication Date
JP2005122763A JP2005122763A (ja) 2005-05-12
JP3776438B2 true JP3776438B2 (ja) 2006-05-17

Family

ID=34617084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004351674A Expired - Fee Related JP3776438B2 (ja) 2004-12-03 2004-12-03 記憶装置

Country Status (1)

Country Link
JP (1) JP3776438B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280258A (ja) * 2006-04-11 2007-10-25 Hitachi Ltd 記憶制御装置
JP5106913B2 (ja) 2007-04-23 2012-12-26 株式会社日立製作所 ストレージシステム、ストレージシステム管理方法、及び計算機システム
JP5183403B2 (ja) 2008-09-30 2013-04-17 株式会社日立製作所 ストレージシステムおよび制御プログラムならびにストレージシステム制御方法
JP5217966B2 (ja) * 2008-11-28 2013-06-19 富士通株式会社 ストレージシステムのアップデート処理プログラム、アップデート処理方法及びストレージシステム
JP5966243B2 (ja) * 2010-12-20 2016-08-10 富士通株式会社 ストレージ装置及びストレージ装置の制御方法
JP5431550B2 (ja) * 2012-08-31 2014-03-05 株式会社日立製作所 ストレージシステム、ストレージシステム管理方法、及び計算機システム
JP6582523B2 (ja) 2015-04-30 2019-10-02 富士通株式会社 ストレージ装置、制御装置、制御プログラム
JP6750380B2 (ja) 2016-08-05 2020-09-02 富士通株式会社 制御装置、ストレージ装置、及び制御プログラム
JP7192415B2 (ja) * 2018-11-06 2022-12-20 株式会社オートネットワーク技術研究所 プログラム更新システム及び更新処理プログラム

Also Published As

Publication number Publication date
JP2005122763A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
JP3732869B2 (ja) 外部記憶装置
US8464094B2 (en) Disk array system and control method thereof
JP5285610B2 (ja) グローバルホットスペアディスクが存在するときに、故障したドライブを復元、及びコピーバックする最適化された方法
US7444541B2 (en) Failover and failback of write cache data in dual active controllers
US6006342A (en) Failover and failback system for a direct access storage device
JP3772369B2 (ja) 記憶サブシステム
US8117376B2 (en) Storage system and control method thereof
US7975168B2 (en) Storage system executing parallel correction write
US8135906B2 (en) Online storage capacity expansion of a raid storage system
KR19980022356A (ko) 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
JP3681766B2 (ja) ディスクアレイ装置
GB2368161A (en) Method and apparatus for providing battery-backed immediate write back cashe for an arrayof disk drives in a computor system
JP2005301419A (ja) ディスクアレイ装置およびそのデータ処理方法
JP2005196490A (ja) データ多重化のためのシステム及び方法
JP3776438B2 (ja) 記憶装置
JPH09269871A (ja) ディスクアレイ装置におけるデータ再冗長化方式
JP4144549B2 (ja) データ保存システムおよび該システムの制御方法
KR20050033060A (ko) 네트워크를 이용한 핫 스페어 구성 시스템 및 방법
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
JP2006114064A (ja) 記憶サブシステム
JP2010061291A (ja) ストレージシステムおよびその省電力方法
JP2006260141A (ja) 記憶システムの制御方法、記憶システム、記憶制御装置、記憶システムの制御プログラム、情報処理システム
US8453007B2 (en) Storage device and recovery method
JP4398596B2 (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060222

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120303

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140303

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees