[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4272275B2 - Storage subsystem - Google Patents

Storage subsystem Download PDF

Info

Publication number
JP4272275B2
JP4272275B2 JP11812798A JP11812798A JP4272275B2 JP 4272275 B2 JP4272275 B2 JP 4272275B2 JP 11812798 A JP11812798 A JP 11812798A JP 11812798 A JP11812798 A JP 11812798A JP 4272275 B2 JP4272275 B2 JP 4272275B2
Authority
JP
Japan
Prior art keywords
controller
processing
storage subsystem
charge
logical volume
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
JP11812798A
Other languages
Japanese (ja)
Other versions
JPH11312058A (en
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 JP11812798A priority Critical patent/JP4272275B2/en
Publication of JPH11312058A publication Critical patent/JPH11312058A/en
Application granted granted Critical
Publication of JP4272275B2 publication Critical patent/JP4272275B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数台のホスト又は複数のポートを持つ単一のホストと接続する制御装置を備えた記憶サブシステムにおいて、特に詳細には、記憶サブシステムとしての障害時の信頼性と可用性の向上技術及び障害時の交代系への処理の切替え性能の向上方式技術に関する。
【0002】
【従来の技術】
コントローラ及びディスク等の記憶装置に冗長性を持たせたものとして、従来、特開平4−215142に記載された記憶サブシステムがある。この記憶サブシステムは、2重の系で構成され、一方の系が現用系として稼働し、他方の系が待機系として稼働している。そして、現用系のディスク装置の記憶情報を両系からアクセス可能な共用ディスク装置を介して予備系のディスク装置に複写すること、あるいは、現用系コントローラ障害時は、予備系のコントローラによって、現用系のディスク装置の記憶情報を抽出可能とすることで、コントローラ及びディスク装置障害時のデータ保全性の向上を計っていた。
【0003】
又、従来複数のコントローラで、且つ複数ポート構成で記憶媒体を共有する制御装置は基幹系オープン市場で見られるように、任意の論理ボリュームは複数のパスからアクセスが可能であり、又、全論理ボリュームがどのコントローラからも均一にアクセス可能な構成であった。
【0004】
【発明が解決しようとする課題】
コンピュータシステムの大規模化、データ処理の高速化、データの大容量化に伴い、記憶制御装置に対する高性能、高信頼性、可用性の向上が強く望まれている。
【0005】
従来技術では、制御装置側の2重系、また、キャッシュの2重化等により、制御装置内に閉じた信頼性、可用性の向上のみが行われていた。コンピュータシステム全体を考えると、制御装置の2重化とともに、ホスト、および制御装置に対するアクセスバスの2重化が必須であり、これを実現するためには複数コントローラ構成、複数ポート構成が必須となる。
【0006】
しかし、このような構成において従来の基幹系オープン市場のような、全論理ボリュームがどのコントローラからも均一にアクセス可能な構成を実現するためには、複数のコントローラ間でホストのデータを一時格納するキャッシュの管理情報を共有することが必須である。キャッシュの管理情報を共有するには、排他制御を行う為に専用のロック制御、排他情報の管理等をプロセッサで行う必要が有るため、1つのコントローラ構成での性能にくらべ、複数コントローラ構成での性能劣化の割合が大きい。よって信頼性、可用性を向上させるためにその代替として性能を犠牲にするしかなかった。
【0007】
システムとして冗長構成をとりながら、冗長構成でないシングル構成時に比べ、性能を維持するためには、どのコントローラからも、全ての論理ボリュームのアクセスが可能でありながら、コントローラ間でのロック制御、排他制御等が不必要であることが必要である。よって、通常のアクセス形態としては、コントローラ単位に論理ボリュームの担当を固定化させる方式が考えられるが、単に固定的な制御では、ホスト、ホスト−制御装置間バス、制御装置の障害時、当該担当論理ボリュームへの処理の代替えが不可能となり、冗長構成であるとは言えない。よって、通常時(正常時)は、各々担当業務を低オーバヘッドで実現し、障害時は、肩代わりができることが必要である。
【0008】
しかし、各コントローラへの接続形態として、1つのポートで、例えば、デイジーチェーン接続により複数のホストより接続されている。または、コントローラが複数のポート構成で、各々のポートから異なるホストにて接続されている。さらに、各ホストが、他コントローラ側にも交代パスとして接続しているような構成の時、1つのホスト側の障害、又はバス障害により、他系コントローラに論理ボリュームを切り替えようとした時、コントローラの担当の切替えとして、他系コントローラの担当論理ボリューム全てを、一括して切り替えてしまう方法では、それ以外のホストが通常処理のままのアクセスを行うことができなくなる。よって、複数のホストと接続する場合には、各々のホスト、バス障害にあった切替え手段が必要となる。
【0009】
又、近年フォールトトレラントの強いニーズにより、ホスト側にも、フォールトトレラント機能であるパス切替え機能がサポートされつつある。代表例としては、HPのAlternate Linkや、Safe Path(パス切替えソフト)等があげられる。この本機能では、ホスト側が交代パス接続しており、任意パスでの障害を認識すると、自動的に他系のパスへ処理を移し(論理ボリュームを移す)処理を再開する。障害の認識は、タイムアウト等によるものが多く、他系に処理を移した後の最初のI/Oで一定時間以上処理が遅延すると、さらに障害と認識される危険性が高い。よって、コントローラの担当の切替え処理には、I/Oを受領して認識するわけだが、その後の切替え処理時間は、障害認識されない短い時間で行うことが必須条件となる。
【0010】
【課題を解決するための手段】
前述の課題を解決する為に、各々のコントローラが、複数のバス接続ポートとデータを一時的に格納するキャッシュ機構を備え、ホストからのデータを記憶する記憶媒体を共有する複数のコントローラで構成された制御装置で、論理ボリューム(LUN)の担当の指定、及び非担当側コントローラへのI/O受領時の論理ボリュームの担当の切替え方法の指定、及び論理ボリュームに対するキャッシュの割当て方法の指定、及びキャッシュへの1重書き/2重書きの指定をする手段と、担当以外の論理ボリュームへの要求時、切り替える制御、及び他系コントローラへ通信する制御を司るプロセッサと、キャッシュへ2重書き/1重書きの切替えをデータ転送を制御する手段と、キャッシュメモリをコントローラ、さらには、LUN単位に分割して使用する手段と、LUN毎の負荷情報、及びLUNの担当により、最適な切替え方法を判断するプロセッサより実現される。
【0011】
【発明の実施の形態】
以下、本発明の1実施例を図面を用いて説明する。
【0012】
図1は、本実施例に関するディスクアレイ装置を含むシステム全体の1構成例である。図1において、10、20、30、40はホストコンピュータ、5000はディスクアレイ装置であり、各々のホストより、SCSIバス等で接続されている。1000、2000はデュアル構成をとるコントローラ部、4000はホストからのデータを格納するディスク装置群、3000はLUNの指定等を行う操作パネルである。ディスク装置群4000は、アレイ構成であることが多い。
【0013】
各コントローラは、バスプロトコル制御を行う4つのポート1010、1020、1030、1040、2010、2020、2030、2040を備え、ホスト側の各ポートに接続される。又、転送制御部1100、2100は、キャッシュメモリ1300、2300とホスト間のデータ転送制御を司り、又1重書き/2重書きの制御も行う。又、ディスクアレイ制御部1200、2200はコントローラA、コントローラB全体を制御している。
【0014】
図2にキャッシュメモリの構成を示す。キャッシュメモリ1300、2300は、管理情報1400,2400、コントローラA用エリア1500、2500、コントローラB用エリア1600、2600からなる。各々1400と2400、1500と2500、1600と2600は2重書きされる。キャッシュメモリ1300、2300の管理情報1400、2400は、2重書きにより同一構成であるため、コントローラA側のキャッシュメモリ1400を例にとり管理情報の構成を説明する。管理情報1400は、コントローラ間の通信情報1410と、コントローラ毎のLUN情報1420、キャッシュ内データを管理するデータ管理情報1430からなる。データ管理情報1430は、コントローラ毎に2分割されている。
【0015】
キャッシュメモリ1300、2300は信頼性の為、不揮発性であることが望ましい。ホストが、既に冗長構成をとっていて、例えば、ディスクアレイ装置5000を2つ用意し、1方を現行機、他方を予備機として使用しているような場合、敢えてディスクアレイ側での冗長度を要求する必要がない場合、操作パネル3000によるユーザからの指示により、キャッシュを1重書きとして使用する場合は、コントローラA用として1500と1600を、コントローラB用として2500、2600を使用することもできる。この場合、2重書き時と比べ、キャッシュメモリの使用効率は、2倍となる。この1重書き、2重書きの制御はディスクアレイ制御部1200、2200が、転送制御部1100、2100の転送モードを設定することにより実現される。本キャッシュメモリ1300、2300は、RDキャッシュ、及びWRキャッシュとして用いられ高いパフォーマンスを提供することが可能である。WRキャッシュ機能を使用するには、キャッシュメモリ障害、及びコントローラ障害時のデータ保証に為、前記記述のように2重書きすることが必須となっている。
【0016】
ホストは、各々2つのポートを持ち、各々別のコントローラへ接続される。図1では、ホスト10のポートA:11がSCSIバス100Aを介して、コントローラA:1000内ポートA:100Aへ、ポートB:12−100B−ポートA:2010、以下同様に、別コントローラに接続されている。本接続は、ホスト側の障害、バス障害時、他系に切り替えられる冗長度を持つ構成の代表例である。
【0017】
しかし、本ディスクアレイ装置5000の複数ポートに、全て別々のホストに接続されてもよい。この場合ホスト側の冗長度はない。又、ホストが、図1のような2パス構成である時、交代系のパスを同一コントローラ内の別ポートに接続してもよい。本構成をとる場合、コントローラ側の障害時、交代パスがなくアクセスが不能となるが、ホスト側、バス障害時には、同一コントローラへの切替えが可能であり、後記述する切替え処理、及び通信による依頼処理どちらも必要でないため、切替えによる性能劣化がないのが特徴である。
【0018】
以下、図1の構成における論理ボリュームの割当てについて説明する。論理ボリュームの割当ては、コントローラ間で排他的に行われる。例えば、コントローラA1000にはLUN0、1、2、3を、コントローラB2000にはLUN4、5、6、7を担当に設定する。担当論理ボリュームは、操作パネル3000で予め設定してもよいし、ディスクアレイ装置の立ち上げ後、受領したコマンドのLUN番号を担当としてもよい。このように、担当LUNを分割し、且つコントローラ単位に使用するキャッシュメモリを分割することにより、マルチコントローラ混成特有の排他制御等が不必要となり、高いパフォーマンスを提供することが可能となる。
【0019】
コントローラ内の複数のLUNは、複数のホスト間で共有してもよいし、ホスト毎に独立にアクセスしてもよい。この時、コントローラ内のキャッシュメモリの割当てをコントローラ内で一元的に管理するか、各LUN毎に分割して使用するかをユーザが指定することができる。各ホストに独立にLUNを設定した場合、ホスト側のアクセスパターン、ホスト間の能力差等により、任意のホスト配下のLUNのみがキャッシュメモリを占有してしまうと、他ホストからの別LUNに対するパフォーマンスが低下する。本現象を回避するために、予めキャッシュメモリをLUN毎に分割することが可能である。本指定も操作パネル3000により設定することができる。又、LUN毎のアクセスの頻度が時間的に変化するような場合、例えば、日中の業務にはLUN0,1を夜間ではLUNの2,3をメインにアクセスするような場合には、LUN単位の割当てを負荷状態により、ダイナミックに変更することも可能である。LUN単位の割当てを静的に配置するか動的に割り当てるかの指定も操作パネルにて設定することができる。本発明により、マルチホスト接続環境での複数論理ボリュームへのパフォーマンスがホストからのいかなるアクセスパターンにおいてもホストへの均等なサービスを提供することができる。
【0020】
次に、LUN毎の割当て方法と、負荷状態にあわせての割当て方法の変更方法を図5を使用し説明する。キャッシュメモリの使用/未使用を管理する最小管理単位をセグメントと称す。データ管理情報はLUN毎に使用可能なセグメント数1431と、現在使用中のセグメント数1432、未使用のセグメントの数1433、各々のセグメント毎のキャッシュの実態ADRや、ホストからのデータADRを管理するセグメント管理情報1434からなる。セグメント管理情報は、セグメントの数と等しい数の情報を持つ。例えば、コントローラA用のキャッシュメモリ1500の大きさが、1,000個のセグメント分だとする。今、コントローラAには、4つのLUNが割り当てられ各々250個セグメントに分割指定されたとする。よって、 LUN毎の使用可能セグメント数1431には250が設定される。ホストからI/Oを受領しキャッシュを使用する時、使用中セグメント数1432にくわえ、未使用セグメント数1433から引き、セグメント管理情報1434を設定する。ただし、キャッシュをRDキャッシュをして使用する場合は未使用のままで管理し、WRキャッシュとして使用する場合のみ使用中として管理する。
【0021】
また、一定期間で受領したLUN毎のI/O数をカウントしておく。本情報はディスクアレイ制御部に持ってもよいし、キャッシュメモリの管理情報内に持ってもよい。本情報を元にLUN毎の負荷を判定し、各LUN毎の平均I/O数より少ないLUNから多いLUNへ空きセグメントを移行させる。つまり、使用可能セグメント数1431の変更と、未使用セグメント数1433の変更、及びセグメント管理情報の所在を移行することにより実現される。本変更処理は、一定期間毎に行ってもよいし、ホストからのI/Oの負荷の低い時に行ってもよい。本制御により、LUN毎の負荷によりダイナミックにキャッシュの割当てが可能となる。
【0022】
次に障害時の切替え処理について説明する。図3にLUNの割当ての1例を示す。本割当て例はコントローラ毎にLUNが分割されているだけでなく、ホスト毎、ポート毎にLUNが独立に設定されている。この構成で、ホスト10のSCSIバス100Aが障害となった時、ホスト側LUN0へのアクセスをは交代パス100Bより行う。この時、コントローラBはLUN0はコントローラ毎のLUN情報1420と比較し、非担当であることを認識する。この時、コントローラA担当分のLUNをすべて一括してコントローラBに切り替えた場合、残りのホスト20,30,40がポートA側からLUN1、2、3をアクセスする場合の処理もコントローラB側の担当に切り替わることになる。したがって、ホスト20、30、40からのLUN1、2、3に対するアクセスをコントローラAが受領した場合、非担当LUNに対するアクセスと判断され、もともとこれらのLUNの担当であったコントローラA側にLUNの処理担当を切り替える処理が発生する。このように、コントローラ配下のLUNを一括して切り替える方式では、このようにマルチホスト接続環境では、任意ホスト系障害時、切り替え処理が頻発し、性能が大幅にダウンするといった問題がある。
【0023】
本発明では、前記の問題を解決するため、LUN単位の切替えを実現することが可能である。LUN単位の切替えを行うと、上記障害時、コントローラBがLUN0のI/Oを受領した時、切替え対象LUNを当該LUN0のみとすることで、他ホストからのコントローラAへのアクセス時も切り替え処理が発生せず、性能維持が可能である。
【0024】
一方、前記の構成で、コントローラAが障害となった場合は、全てのホストがポートBにアクセス権を切り替えてくる為、LUNごとの切り替えより一括切替えの方が、LUNの処理担当を切り替える回数が減少し、LUN処理担当切り替え処理によるの性能劣化を防ぐことができる。
【0025】
また、図4にしめすような、LUNの割当て方であった場合、つまり、コントローラ内の各ポート間、つまり、各ホスト間でLUNをシェアして使用する場合、コントローラ側障害時は上記一括切替えにて処理続行が可能であるが、ホスト側障害又は、SCSIバス障害時は上記2つの切替え処理でも、切り替え動作が頻繁に発生してしまい、パフォーマンスが大幅にダウンしてしまう。例えば、ホスト10のSCSIバス100Aが障害となった場合、ホスト10は、コントローラA側での処理を交代パス100Bを使用しコントローラBに発行してくる。つまり、LUN0、1、2、3に対する要求をコントローラBに発行する。
【0026】
コントローラBは、非担当LUNのI/Oを受領したことを契機に切り替え処理を行う。一括切替えの場合、コントローラB側に全てのLUNの担当が移行する。その後、他ホスト20、30、40からLUN0,1,2,3に対する処理要求がコントローラAを介してあったとき、再び、一括切替えが発生する。すなわち、ホスト10からのI/O及びホスト20、30、40からのI/Oの度に一括切替えが起こる。
LUN単位切り替えでも、まったく同様な切り替えの繰り返しが起こる。
【0027】
前記の問題を解決する為、本発明は非担当LUNに対するI/Oを受領した時、切り替えない方式も提案している。本方式は、コントローラ間通信情報1410を使用し、相手コントローラに相手コントローラエリアのキャッシュの確保とディスク装置4000との読み出し、書き込みを要求する。相手コントローラは、要求処理が終了すると、コントローラ間通信情報1410にその旨を報告する。そして自コントローラは、対ホストとの転送のみを実行する。本発明により、コントローラ内のLUNを複数ホスト間で共有する構成で、ホスト側やバス障害時の交代パスからの処理の続行を頻繁な切替え動作なしに、実行することが可能である。
【0028】
本発明では、一括切り替え処理方式、LUN毎の切替え処理方式、切替えなしに相手コントローラへの依頼処理方式の3つのモードから、ユーザが自らのシステム構成のアクセス環境を考慮して最適な方式を選択することができる。この選択は、操作パネル3000を介して行う。さらに、ユーザがLUN毎の切り替え処理方式を選択した場合でも、コントローラに障害が発生した場合は、一括切り替え方式によりLUN処理担当を切り替えるようにしてもよい。
【0029】
又、本発明では、ディスクアレイ装置5000側でI/Oパターンより自動選択する自動モードも設定することができる。自動モード時の選択方法を以下に説明する。
【0030】
LUNの割当て時、コントローラ毎にLUNを割り当てた場合、つまり、各ポート毎に設定しなかった場合は、コントローラ内のLUNを各ポート(ホスト)間でシェアするか独立なのかの判断ができない。よって、一定期間の各ポートからのアクセスLUNの種類をカウントし、一定期間後シェアであるか、独立であるかを判断する。独立であれば、LUN単位の切替えを選択するし、シェアであれば、依頼方式を選択する。尚、アクセスパターンが、時間と共に変わる可能性が有る為、さらに一定期間後に上記処理を行う。
【0031】
一括切替えは、シングルポートでのデュアル構成で、交代パス構成のシングルホスト構成時等に有効である。又、図1の様な複数ホスト構成で、LUNをシェアしてアクセスしている時にも、ホスト間で切り替えたことを通知する。任意ホストの切替え処理に伴い、他ホストも一括して交代パスに切り替える様な制御が可能なホスト環境においては有効である。
【0032】
又、本発明の記憶サブシステムでは、コントローラの各ポート毎に処理を担当するLUNを割り当てるとき、1つのコントローラ内の複数のポートであれば同一のLUNの処理を担当するように割り当てることができる。この場合も、コントローラ内の複数のポートに対するLUNの割り当て方法に基づいて、コントローラがホストコンピュータから処理を担当していないLUNに対する処理要求を受け取ったときに、全LUNの切替え方式か、LUN毎の切替え方式か、依頼方式かを自動的に選択するようにできる。
【0033】
次に、一括切り替え処理の処理手順について説明する。
コントローラBが、非担当LUNを受領したとする。この時、コントローラ間通信情報1410にて、その旨をコントローラAに伝える。コントローラAは当該情報により、一括切替えを認識し、現在行っている処理を中断する。中断したら、その旨をコントローラBに、コントローラ間通信情報1410を使用し伝える。コントローラBは、コントローラAからの報告を受けると、コントローラ毎のLUN情報1420の変更を行い、コントローラA配下の全LUNの担当をコントローラBに設定する。又、データ管理情報1430のコントローラA用の管理情報も、全てコントローラB側で管理することになる。この様に、一括切替えの場合は、管理情報の更新のみで切り替えることが可能であり、高速な切替え手段を提供することができる。
【0034】
次にLUN毎の切替え方法について説明する。
コントローラB側が、非担当LUNを受領し、コントローラAから切り替える場合を説明する。コントローラBが非担当LUNを受領したとする。この時、コントローラ間通信情報1410にて、その旨をコントローラAに伝える。コントローラAは、当該情報により、LUN単位切替えを認識し、現在行っている処理を中断する。中断することにより、コントローラAが、現在キャッシュメモリをアクセスしていないことを保証する。中断したら、その旨をコントローラBに、コントローラ間通信情報1410を使用し伝える。コントローラBは、コントローラAからの報告を受けるとコントローラA用、B用のデータ管理情報1430を一旦コントローラBが管理する。コントローラBは、切り替え対象LUNの使用中セグメント数1432と、当該セグメントの管理情報1434を参照し、使用中の数だけ、コントローラB側のデータ管理情報内の各LUN毎の未使用セグメント数と、当該セグメント管理情報より、コントローラAの使用中であるセグメント内データをコントローラB側の空きセグメントへコピーする。本コピー処理自体は、コントローラB内の転送制御部2100により実現することができる。
【0035】
データ自体のコピーと共に、コントローラA側の切替え対象LUNのLUN毎のデータ管理情報を削除し、元々、当該LUNに使用可能セグメント数として割り当てられていたセグメントを他のLUNに分配する。分配されたセグメントは、未使用セグメント数として登録される。又、反対にコントローラB側のデータ管理情報は、切り替え対象LUN情報を追加する。当該LUNに、コピーした数分使用中セグメントとして登録し、使用可能セグメント数は、他LUN内の使用可能セグメント数から一部ずつ移行させ、空きセグメントとして登録する。他LUNの使用可能セグメント数も一部ずつ減少させ、また、コピーする為に割り当てた数の空きセグメントも空きセグメント数から減少させる。本一連の処理が完了したところで、コントローラBは、コントローラAに処理の再開をコントローラ間通信情報1410を使用し伝える。
【0036】
また、本制御を実現するために、キャッシュ内で使用中セグメントの数、つまり、WRキャッシュ機能により、ディスク装置4000に未反映のWRデータの数を管理し、一定量以上に達した場合は、ディスク装置への書き込み処理を最優先に行うことにより、一定量以上に増加しないよう管理する。本制御は、ディスクアレイ制御部1200、2200がLUN毎の使用中セグメント数を一定周期で参照し、一定量以上に達したと判断すると、前記書き込み処理を優先的に処理することにより実現される。本制御により、常に一定量以上の空きセグメントが、キャッシュ内に存在することにより、LUN単位のコピー方式での切り替えが可能となる。本切替え処理は、キャッシュ間でWRデータのコピー処理が必要となるのでキャッシュ搭載容量、また、その時のWRデータ量により、処理時間が増加する。しかし乍ら、近年、データバスの能力は非常に高くなっており、キャッシュ間のコピー処理も数100MB/Sの能力を持つものが一般的であるため、本切り替え処理時間も数秒程度で完了するため、ホストとの整合性上問題はない。
【0037】
【発明の効果】
本発明によれば、コントローラ当たりホストとのバスプロトコル制御を行う複数のポートを持ち、コントローラ及びキャッシュを2重化した記憶サブシステムにおいて、複数ホスト間との接続において、コントローラ毎に独立に論理ボリュームの割当てを行うことにより、いかなる接続形態においても、通常時、複数コントローラ制御による排他制御等が必要なくなり、シングル構成と比べ、高いパフォーマンスが提供できる。又、ホスト側障害、接続バス障害、コントローラ側ポート障害時、ホストが、交代パスを同一コントローラ内の別パスに接続している場合には、切替え処理が必要なく、性能劣化のない交代処理が可能となる。又、別コントローラに交代パスを接続している場合には、コントローラ側障害時にも冗長度があるため、全ての障害において、切り替え処理が可能となる。又、ホストからのLUNへのアクセス形態により、切替え時間の少ない最適な切替え手段を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施例である制御装置の構成図である
【図2】本発明の実施例であるコントローラのキャッシュ内のデータの構成図である。
【図3】本発明の実施例である複数ホスト間との論理ボリュームの割当て方の一例であり、ホスト毎、ポートごとに独立した論理ボリュームを割り当てている例である。
【図4】本発明の実施例である複数ホスト間との論理ボリュームの割当て方の一例であり、ホスト間で論理ボリュームを共有している一例である。
【図5】本発明の実施例によるキャッシュメモリ内の管理情報の構成図である。
【符号の説明】
10、20、30、40:ホストコンピュータ
11、21、31、41:ポートA
12、22、32、42:ポートB
100A〜400A:SCSIバスA
100B〜400B:SCSIバスB
1010〜1040、2010〜2040:ポートA〜D
1100、2100:転送制御部
1200、2200:ディスクアレイ制御部
1300、2300:キャッシュメモリ
1000、2000:コントローラ
3000:操作パネル
4000:ディスク装置群
5000:ディスクアレイ装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a storage subsystem having a controller connected to a plurality of hosts or a single host having a plurality of ports, and more particularly, improves reliability and availability in the event of a failure as a storage subsystem. The present invention relates to a technique and a technique for improving the switching performance of processing to an alternate system at the time of failure.
[0002]
[Prior art]
Conventionally, there is a storage subsystem described in Japanese Patent Laid-Open No. 4-215142 as a controller and a storage device such as a disk having redundancy. This storage subsystem is composed of a double system, with one system operating as the active system and the other system operating as the standby system. Then, the storage information of the active disk device is copied to the standby disk device via the shared disk device accessible from both systems, or in the event of a failure of the active system controller, the active system By making it possible to extract the storage information of the disk device, the data integrity at the time of failure of the controller and the disk device has been improved.
[0003]
In addition, a controller that shares a storage medium with multiple controllers and a multi-port configuration can be accessed from multiple paths as shown in the backbone open market. The volume can be accessed uniformly from any controller.
[0004]
[Problems to be solved by the invention]
With the increase in the scale of computer systems, the speeding up of data processing, and the increase in capacity of data, improvement in performance, reliability, and availability of storage control devices is strongly desired.
[0005]
In the prior art, only the reliability and availability that are closed in the control device have been improved by the dual system on the control device side, the dual cache, and the like. Considering the entire computer system, it is essential to duplicate the control device and the host and the access bus to the control device. To realize this, a multiple controller configuration and a multiple port configuration are essential. .
[0006]
However, in order to realize a configuration in which all logical volumes can be uniformly accessed from any controller as in the conventional backbone open market in such a configuration, host data is temporarily stored among a plurality of controllers. It is essential to share cache management information. In order to share cache management information, it is necessary to perform exclusive lock control, management of exclusive information, etc., in order to perform exclusive control by the processor, so in comparison with the performance of one controller configuration, in the multiple controller configuration The rate of performance degradation is large. Therefore, in order to improve reliability and availability, the only alternative was to sacrifice performance.
[0007]
While maintaining a redundant configuration as a system, in order to maintain performance compared with a single configuration that is not redundant, all logical volumes can be accessed from any controller, but lock control and exclusive control between controllers are possible. Etc. are unnecessary. Therefore, as a normal access mode, a method of fixing the responsibility of the logical volume in units of controllers can be considered. However, in the case of simply fixed control, when the host, the host-control device bus, or the control device fails, the responsibility is assigned. It is impossible to substitute processing for a logical volume, and it cannot be said that the configuration is redundant. Therefore, it is necessary that each assigned task is realized with a low overhead during normal times (normal times), and that a shoulder can be substituted when a failure occurs.
[0008]
However, as a connection form to each controller, a single port is connected from a plurality of hosts by, for example, daisy chain connection. Alternatively, the controller has a plurality of port configurations and is connected to each port by a different host. In addition, when each host is configured to be connected to another controller as an alternate path, the controller can be used to switch the logical volume to another controller due to a failure on one host or a bus failure. In the method of switching all the logical volumes in charge of other controllers as a batch, the other hosts cannot perform normal processing access. Therefore, when connecting to a plurality of hosts, switching means suitable for each host and bus failure is required.
[0009]
In recent years, due to the strong needs of fault tolerant, the path switching function, which is a fault tolerant function, is also being supported on the host side. Typical examples include HP's Alternate Link and Safe Path (path switching software). With this function, if the host side has an alternate path connection and recognizes a failure in an arbitrary path, it automatically moves the process to another path (moves the logical volume) and resumes the process. The recognition of a failure is often due to a timeout or the like, and if the processing is delayed for a certain time or more at the first I / O after the processing is transferred to another system, there is a higher risk of being recognized as a failure. Therefore, in the switching process in charge of the controller, I / O is received and recognized. However, it is essential that the subsequent switching process be performed in a short time during which no fault is recognized.
[0010]
[Means for Solving the Problems]
In order to solve the above-mentioned problems, each controller includes a plurality of controllers having a plurality of bus connection ports and a cache mechanism for temporarily storing data, and sharing a storage medium for storing data from the host. Specifying the logical volume (LUN) charge in the control device, specifying the logical volume charge switching method when receiving I / O to the non-responsible controller, specifying the cache allocation method for the logical volume, and A means for designating single writing / double writing to the cache, a processor that controls switching when requested to a logical volume other than the responsible volume, and a control for communicating with another controller, and double writing to the cache / 1 Overwrite switching means to control data transfer, cache memory is divided into controller and LUN units. Means for and use, load information for each LUN, and the LUN of the charge, is realized by the processor to determine the best switching method.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0012]
FIG. 1 shows one configuration example of the entire system including the disk array device according to the present embodiment. In FIG. 1, reference numerals 10, 20, 30, and 40 denote host computers, and reference numeral 5000 denotes a disk array device, which is connected to each host by a SCSI bus or the like. 1000 and 2000 are controller units having a dual configuration, 4000 is a disk device group for storing data from the host, and 3000 is an operation panel for designating LUNs. The disk device group 4000 often has an array configuration.
[0013]
Each controller includes four ports 1010, 1020, 1030, 1040, 2010, 2020, 2030, and 2040 that perform bus protocol control, and is connected to each port on the host side. The transfer control units 1100 and 2100 control data transfer between the cache memories 1300 and 2300 and the host, and also control single writing / double writing. The disk array control units 1200 and 2200 control the entire controller A and controller B.
[0014]
FIG. 2 shows the configuration of the cache memory. The cache memories 1300 and 2300 include management information 1400 and 2400, controller A areas 1500 and 2500, and controller B areas 1600 and 2600. Each of 1400 and 2400, 1500 and 2500, 1600 and 2600 is written twice. Since the management information 1400 and 2400 of the cache memories 1300 and 2300 have the same configuration by double writing, the configuration of the management information will be described using the cache memory 1400 on the controller A side as an example. The management information 1400 includes communication information 1410 between controllers, LUN information 1420 for each controller, and data management information 1430 for managing data in the cache. The data management information 1430 is divided into two for each controller.
[0015]
The cache memories 1300 and 2300 are desirably non-volatile for reliability. If the host already has a redundant configuration, for example, if two disk array devices 5000 are prepared and one is used as a current machine and the other as a spare machine, the degree of redundancy on the disk array side If the cache is used as a single write according to an instruction from the user via the operation panel 3000, 1500 and 1600 may be used for the controller A, and 2500 and 2600 may be used for the controller B. it can. In this case, the use efficiency of the cache memory is doubled as compared with the double writing. This single writing and double writing control is realized by the disk array control units 1200 and 2200 setting the transfer modes of the transfer control units 1100 and 2100. The cache memories 1300 and 2300 are used as an RD cache and a WR cache, and can provide high performance. In order to use the WR cache function, it is indispensable to write twice as described above in order to guarantee data in the event of cache memory failure and controller failure.
[0016]
Each host has two ports, each connected to a different controller. In FIG. 1, the port A: 11 of the host 10 is connected to the controller A: 1000 internal port A: 100A via the SCSI bus 100A, the port B: 12-100B-port A: 2010, and so on to another controller. Has been. This connection is a representative example of a configuration having redundancy that can be switched to another system in the event of a host-side failure or bus failure.
[0017]
However, all of the ports of the disk array device 5000 may be connected to different hosts. In this case, there is no redundancy on the host side. When the host has a two-path configuration as shown in FIG. 1, the alternate path may be connected to another port in the same controller. In this configuration, when there is a failure on the controller side, there is no alternate path and access becomes impossible, but when the host side or bus fails, switching to the same controller is possible, switching processing described later, and request by communication Since neither process is required, there is no performance degradation due to switching.
[0018]
Hereinafter, allocation of logical volumes in the configuration of FIG. 1 will be described. Allocation of logical volumes is performed exclusively between controllers. For example, LUNs 0, 1, 2, and 3 are assigned to the controller A1000, and LUNs 4, 5, 6, and 7 are assigned to the controller B2000. The assigned logical volume may be set in advance on the operation panel 3000, or the LUN number of the received command may be assigned after starting up the disk array device. In this way, by dividing the assigned LUN and dividing the cache memory to be used for each controller, exclusive control specific to multi-controller hybrid is not necessary, and high performance can be provided.
[0019]
The plurality of LUNs in the controller may be shared among a plurality of hosts, or may be accessed independently for each host. At this time, the user can specify whether the allocation of the cache memory in the controller is centrally managed in the controller, or divided for each LUN. When LUNs are set independently for each host, if only LUNs under any host occupy cache memory due to access patterns on the host side, capacity differences between hosts, etc., the performance for other LUNs from other hosts Decreases. In order to avoid this phenomenon, the cache memory can be divided in advance for each LUN. This designation can also be set by the operation panel 3000. In addition, when the frequency of access for each LUN changes with time, for example, when accessing LUNs 0 and 1 for daytime operations and LUNs 2 and 3 at night, the LUN unit is used. It is also possible to dynamically change the allocation according to the load state. It is possible to set on the operation panel whether the LUN unit allocation is statically allocated or dynamically allocated. According to the present invention, the performance to a plurality of logical volumes in a multi-host connection environment can provide an equal service to the host in any access pattern from the host.
[0020]
Next, an allocation method for each LUN and a method for changing the allocation method according to the load state will be described with reference to FIG. A minimum management unit for managing use / unuse of the cache memory is called a segment. The data management information manages the number of available segments 1431 for each LUN, the number of currently used segments 1432, the number of unused segments 1433, the actual cache ADR for each segment, and the data ADR from the host. It consists of segment management information 1434. The segment management information has the same number of information as the number of segments. For example, it is assumed that the size of the cache memory 1500 for the controller A is 1,000 segments. Now, it is assumed that four LUNs are allocated to the controller A and each of the controller A is designated to be divided into 250 segments. Therefore, 250 is set as the number of usable segments 1431 for each LUN. When the I / O is received from the host and the cache is used, the segment management information 1434 is set by subtracting from the number of unused segments 1433 in addition to the number of used segments 1432. However, when the cache is used as an RD cache, it is managed as unused, and is managed as being used only when used as a WR cache.
[0021]
Also, the number of I / Os for each LUN received in a certain period is counted. This information may be held in the disk array control unit or in the management information of the cache memory. Based on this information, the load for each LUN is determined, and free segments are migrated from a LUN smaller than the average number of I / Os for each LUN to a larger LUN. That is, it is realized by changing the number of usable segments 1431, changing the number of unused segments 1433, and shifting the location of segment management information. This change process may be performed at regular intervals or when the I / O load from the host is low. With this control, it is possible to dynamically allocate a cache according to the load for each LUN.
[0022]
Next, switching processing at the time of failure will be described. FIG. 3 shows an example of LUN allocation. In this allocation example, not only LUNs are divided for each controller, but LUNs are set independently for each host and each port. With this configuration, when the SCSI bus 100A of the host 10 fails, access to the host-side LUN 0 is performed from the alternate path 100B. At this time, the controller B compares the LUN 0 with the LUN information 1420 for each controller and recognizes that it is not in charge. At this time, when all LUNs for controller A are switched to controller B at once, the processing when the remaining hosts 20, 30, 40 access LUNs 1, 2, 3 from the port A side is also on the controller B side. It will be switched to charge. Therefore, when the controller A receives access to the LUNs 1, 2, and 3 from the hosts 20, 30, and 40, it is determined that the access is to the non-assigned LUN, and the LUN processing is performed on the controller A side that was originally responsible for these LUNs. Processing to switch responsibilities occurs. As described above, the method of switching LUNs under the control of a controller in a batch has a problem that, in such a multi-host connection environment, switching processing frequently occurs when an arbitrary host system fails, and the performance is significantly reduced.
[0023]
In the present invention, in order to solve the above-mentioned problem, it is possible to realize switching of LUN units. When LUN unit switching is performed, when the controller B receives I / O of LUN0 at the time of the above failure, the switching target LUN is set to only the LUN0, so that switching processing is performed even when accessing the controller A from another host. No performance occurs and performance can be maintained.
[0024]
On the other hand, in the above configuration, when the controller A fails, all hosts switch the access right to the port B. Therefore, the number of times of LUN switching is changed by batch switching rather than switching by LUN. Can be reduced, and performance degradation due to LUN processing charge switching processing can be prevented.
[0025]
In addition, when the LUN allocation method shown in FIG. 4 is used, that is, when the LUN is shared between the ports in the controller, that is, between the hosts, the above batch switching is performed at the time of the controller side failure. In the case of a host-side failure or a SCSI bus failure, the switching operation frequently occurs even in the above two switching processes, and the performance is greatly reduced. For example, when the SCSI bus 100A of the host 10 fails, the host 10 issues processing on the controller A side to the controller B using the alternate path 100B. That is, requests for the LUNs 0, 1, 2, and 3 are issued to the controller B.
[0026]
The controller B performs the switching process in response to receipt of the I / O of the non-serving LUN. In the case of batch switching, all LUNs are transferred to the controller B side. Thereafter, when there is a processing request from another host 20, 30, 40 to LUN 0, 1, 2, 3 via the controller A, batch switching occurs again. That is, batch switching occurs every time I / O from the host 10 and I / O from the hosts 20, 30, and 40.
Even in LUN unit switching, exactly the same switching is repeated.
[0027]
In order to solve the above problem, the present invention also proposes a method in which switching is not performed when an I / O for a non-serving LUN is received. This method uses the inter-controller communication information 1410 and requests the partner controller to secure the cache of the partner controller area and read / write data from / to the disk device 4000. When the partner controller completes the request process, the partner controller reports that fact to the inter-controller communication information 1410. The controller itself executes only transfer with the host. According to the present invention, in a configuration in which a LUN in a controller is shared between a plurality of hosts, it is possible to continue processing from a host side or an alternate path at the time of a bus failure without frequent switching operations.
[0028]
In the present invention, the user selects an optimum method from the three modes of the batch switching processing method, the switching processing method for each LUN, and the request processing method to the partner controller without switching in consideration of the access environment of his system configuration. can do. This selection is performed via the operation panel 3000. Further, even when the user selects a switching processing method for each LUN, if a failure occurs in the controller, the LUN processing charge may be switched by the batch switching method.
[0029]
In the present invention, an automatic mode in which the disk array device 5000 side automatically selects from the I / O pattern can be set. A selection method in the automatic mode will be described below.
[0030]
When assigning LUNs to each controller at the time of LUN assignment, that is, not setting for each port, it is impossible to determine whether the LUN in the controller is shared between ports (hosts) or independent. Therefore, the type of access LUN from each port for a certain period is counted, and it is determined whether the share is after a certain period or independent. If it is independent, switching of LUN units is selected, and if it is share, a request method is selected. Since the access pattern may change with time, the above processing is performed after a certain period.
[0031]
Batch switching is effective in a dual configuration with a single port and a single host configuration with an alternate path configuration. In addition, even when a LUN is shared and accessed in a multi-host configuration as shown in FIG. This is effective in a host environment in which other hosts can be controlled to switch to an alternate path at the same time as arbitrary host switching processing.
[0032]
Further, in the storage subsystem of the present invention, when assigning a LUN for processing to each port of a controller, it is possible to assign a plurality of ports in one controller to handle the same LUN. . Also in this case, when the controller receives a processing request for a LUN that is not in charge of processing from the host computer based on the LUN allocation method for a plurality of ports in the controller, the switching method of all LUNs or the LUN A switching method or a request method can be automatically selected.
[0033]
Next, a processing procedure for batch switching processing will be described.
Assume that the controller B receives the non-assigned LUN. At this time, the inter-controller communication information 1410 informs the controller A to that effect. Based on this information, the controller A recognizes batch switching and interrupts the current processing. When interrupted, the fact is notified to the controller B using the inter-controller communication information 1410. When the controller B receives the report from the controller A, the controller B changes the LUN information 1420 for each controller and sets the controller B in charge of all the LUNs under the controller A. Also, the management information for the controller A in the data management information 1430 is all managed on the controller B side. Thus, in the case of batch switching, switching can be performed only by updating management information, and a high-speed switching means can be provided.
[0034]
Next, a switching method for each LUN will be described.
The case where the controller B receives the non-serving LUN and switches from the controller A will be described. Assume that controller B receives a non-assigned LUN. At this time, the inter-controller communication information 1410 informs the controller A to that effect. The controller A recognizes the LUN unit switching based on the information and interrupts the current processing. The interruption ensures that controller A is not currently accessing the cache memory. When interrupted, the fact is notified to the controller B using the inter-controller communication information 1410. When the controller B receives the report from the controller A, the controller B once manages the data management information 1430 for the controllers A and B. The controller B refers to the number of used segments 1432 of the switching target LUN and the management information 1434 of the relevant segment, and uses the number of unused segments for each LUN in the data management information on the controller B side by the number used. From the segment management information, the intra-segment data that is being used by the controller A is copied to an empty segment on the controller B side. The copy process itself can be realized by the transfer control unit 2100 in the controller B.
[0035]
Along with the copy of the data itself, the data management information for each LUN of the switching target LUN on the controller A side is deleted, and the segments originally assigned as the number of usable segments to the LUN are distributed to other LUNs. The distributed segment is registered as the number of unused segments. On the contrary, the data management information on the controller B side adds the switching target LUN information. In the LUN, the number of copied segments is registered as in-use segments, and the number of usable segments is shifted partly from the number of usable segments in other LUNs and registered as free segments. The number of usable segments of other LUNs is also reduced in part, and the number of free segments allocated for copying is also reduced from the number of free segments. When this series of processing is completed, the controller B notifies the controller A of resumption of processing using the inter-controller communication information 1410.
[0036]
In order to realize this control, the number of segments in use in the cache, that is, the number of WR data not reflected in the disk device 4000 is managed by the WR cache function. By giving the highest priority to the writing process to the disk device, it is managed not to increase beyond a certain amount. This control is realized by preferentially processing the write processing when the disk array control units 1200 and 2200 refer to the number of in-use segments for each LUN at a certain period and determine that the number exceeds a certain amount. . With this control, since there are always more than a certain amount of free segments in the cache, it is possible to switch in the LUN unit copy method. This switching process requires a WR data copy process between caches, so that the processing time increases depending on the cache mounting capacity and the WR data amount at that time. However, in recent years, the capacity of the data bus has become very high, and the copy processing between caches generally has a capacity of several hundred MB / S, so this switching processing time is also completed in about several seconds. Therefore, there is no problem in consistency with the host.
[0037]
【The invention's effect】
According to the present invention, in a storage subsystem having a plurality of ports for performing bus protocol control with a host per controller and having a dual controller and cache, a logical volume is independently provided for each controller in connection with a plurality of hosts. Therefore, in any connection form, exclusive control by a plurality of controllers is not necessary in normal conditions, and high performance can be provided compared to a single configuration. Also, if the host connects the alternate path to another path in the same controller in the event of a host-side failure, connection bus failure, or controller-side port failure, switching processing is not required and replacement processing without performance degradation is possible. It becomes possible. In addition, when an alternate path is connected to another controller, since there is redundancy even in the case of a failure on the controller side, switching processing can be performed for all failures. Also, an optimum switching means with a short switching time can be provided depending on the access form from the host to the LUN.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a control apparatus according to an embodiment of the present invention.
FIG. 2 is a configuration diagram of data in a cache of a controller according to an embodiment of the present invention.
FIG. 3 is an example of allocation of logical volumes between a plurality of hosts according to an embodiment of the present invention, and is an example in which independent logical volumes are allocated for each host and for each port.
FIG. 4 is an example of a method for assigning logical volumes between a plurality of hosts according to an embodiment of the present invention, and is an example in which a logical volume is shared between hosts.
FIG. 5 is a configuration diagram of management information in a cache memory according to an embodiment of the present invention.
[Explanation of symbols]
10, 20, 30, 40: Host computer
11, 21, 31, 41: Port A
12, 22, 32, 42: Port B
100A to 400A: SCSI bus A
100B to 400B: SCSI bus B
1010 to 1040, 2010 to 2040: Ports A to D
1100, 2100: Transfer control unit
1200, 2200: disk array control unit
1300, 2300: Cache memory
1000, 2000: Controller
3000: Operation panel
4000: Disk device group
5000: Disk array device

Claims (8)

複数の論理ボリュームに分割された記憶領域を有する記憶装置群と、複数のホストコンピュータに接続する複数のポートを各々が有する複数のコントローラとを備える記憶サブシステムであって、
各コントローラは、正常時に処理を担当する論理ボリュームがホストコンピュータとポートとの組み合わせ毎に操作パネルを介したユーザからの指示により予め排他的に割り当てられており、更に、前記ホストコンピュータと前記記憶装置群との間で転送されるデータを一時的に保持するキャッシュメモリを備え、
前記キャッシュメモリは、前記複数のコントローラのための記憶領域を有しており、
前記複数のホストコンピュータのうちの何れか一つのホストコンピュータと、前記複数のコントローラのうち何れか一つのコントローラのポートとを接続するアクセスパスに障害が生じた場合に、前記コントローラが前記ホストコンピュータから正常時に処理を担当していない論理ボリュームに対する処理要求を障害時に受領したときは、前記コントローラが、正常時に前記論理ボリュームの処理を担当していたコントローラが担当する全ての論理ボリュームの処理を担当するか、前記論理ボリュームの処理を担当し、又は前記論理ボリュームの処理を正常時に担当するコントローラに処理要求内容を通信するか、通信を受領したコントローラが前記論理ボリュームに対する処理を行い、処理結果を要求元のコントローラに通信するかのいずれの処理方法を選択するかの入力手段を有することを特徴とする記憶サブシステム。
A storage subsystem comprising a storage device group having a storage area divided into a plurality of logical volumes, and a plurality of controllers each having a plurality of ports connected to a plurality of host computers,
In each controller, a logical volume in charge of processing in a normal state is preliminarily allocated for each combination of a host computer and a port in accordance with an instruction from a user via an operation panel, and further, the host computer and the storage device A cache memory that temporarily holds data transferred between the groups ;
The cache memory has a storage area for the plurality of controllers,
When a failure occurs in an access path that connects any one host computer of the plurality of host computers and a port of any one controller among the plurality of controllers, the controller removes from the host computer. When a processing request for a logical volume that is not in charge of processing at normal time is received at the time of failure, the controller is in charge of processing of all logical volumes in charge of the controller that was in charge of processing of the logical volume at normal time The processing request contents are communicated to the controller in charge of the logical volume processing or the logical volume processing in a normal state, or the controller that receives the communication processes the logical volume and requests the processing result. Whether to communicate with the original controller Storage subsystem characterized by having an input means or for selecting the treatment method.
請求項1に記載の記憶サブシステムであって、The storage subsystem of claim 1, comprising:
前記コントローラは、前記複数のコントローラのための前記キャッシュメモリの記憶領域を、前記コントローラが正常時に処理を担当する論理ボリュームのための領域に分割することを特徴とする記憶サブシステム。The storage subsystem, wherein the controller divides a storage area of the cache memory for the plurality of controllers into an area for a logical volume that is in charge of processing by the controller in a normal state.
請求項2に記載の記憶サブシステムであって、The storage subsystem according to claim 2, comprising:
コントローラ当たりのキャッシュメモリ領域の容量、及び前記論理ボリュームのためのキャッシュメモリ領域の容量を指定するための入力手段を有することを特徴とする記憶サブシステム。A storage subsystem comprising input means for designating a capacity of a cache memory area per controller and a capacity of a cache memory area for the logical volume.
請求項1に記載の記憶サブシステムであって、The storage subsystem of claim 1, comprising:
前記複数のコントローラのキャッシュメモリのそれぞれに前記複数の論理ボリュームのデータを格納することを特徴とする記憶サブシステム。A storage subsystem for storing data of the plurality of logical volumes in each of cache memories of the plurality of controllers.
請求項1に記載の記憶サブシステムであって、The storage subsystem of claim 1, comprising:
前記複数のコントローラのキャッシュメモリのそれぞれに前記複数の論理ボリュームのデータを格納するか、或いは前記コントローラのそれぞれが正常時に処理を担当する論理ボリュームのデータのみを格納するかを選択する入力手段を有することを特徴とする記憶サブシステム。Input means for selecting whether to store the data of the plurality of logical volumes in each of the cache memories of the plurality of controllers, or to store only the data of the logical volumes in charge of processing when each of the controllers is normal A storage subsystem.
請求項1に記載の記憶サブシステムであって、The storage subsystem of claim 1, comprising:
前記コントローラが前記ホストコンピュータから正常時に処理を担当していない論理ボリュームに対する処理要求を受領したときは、キャッシュメモリ上の管理情報のみの変更で担当の切り替えを行うことを特徴とする記憶サブシステム。When the controller receives a processing request for a logical volume that is not in charge of processing at normal time from the host computer, the storage subsystem is switched by changing only the management information on the cache memory.
請求項1に記載の記憶サブシステムであって、The storage subsystem of claim 1, comprising:
前記コントローラが前記ホストコンピュータから正常時に処理を担当していない論理ボリュームに対する処理要求を障害時に受領したときは、キャッシュメモリ上の切り替え対象論理ボリュームのうち前記記憶装置群の記憶領域に格納されていないデータを切り替え先のコントローラ内のキャッシュメモリ上にコピーして前記論理ボリュームの処理を担当するコントローラを切り替えることを特徴とする記憶サブシステム。When the controller receives a processing request from the host computer for a logical volume that is not in charge of processing at the time of failure, it is not stored in the storage area of the storage device group among the logical volumes to be switched on the cache memory A storage subsystem, wherein data is copied to a cache memory in a switching destination controller and a controller in charge of processing of the logical volume is switched.
請求項2に記載の記憶サブシステムであって、The storage subsystem according to claim 2, comprising:
前記コントローラは、前記キャッシュメモリの論理ボリュームのための記憶領域を、前記論理ボリュームへ入出力されるデータ量に応じて変更することを特徴とする記憶サブシステム。The storage subsystem according to claim 1, wherein the controller changes a storage area for the logical volume of the cache memory in accordance with an amount of data input to and output from the logical volume.
JP11812798A 1998-04-28 1998-04-28 Storage subsystem Expired - Fee Related JP4272275B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11812798A JP4272275B2 (en) 1998-04-28 1998-04-28 Storage subsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11812798A JP4272275B2 (en) 1998-04-28 1998-04-28 Storage subsystem

Publications (2)

Publication Number Publication Date
JPH11312058A JPH11312058A (en) 1999-11-09
JP4272275B2 true JP4272275B2 (en) 2009-06-03

Family

ID=14728717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11812798A Expired - Fee Related JP4272275B2 (en) 1998-04-28 1998-04-28 Storage subsystem

Country Status (1)

Country Link
JP (1) JP4272275B2 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167040A (en) * 1999-12-14 2001-06-22 Hitachi Ltd Memory subsystem and memory control unit
JP2002288108A (en) 2001-03-28 2002-10-04 Hitachi Ltd External storage device
JP2003162377A (en) 2001-11-28 2003-06-06 Hitachi Ltd Disk array system and method for taking over logical unit among controllers
US7318119B2 (en) 2004-10-29 2008-01-08 International Business Machines Corporation System and method for fault tolerant controller for network RAID
JP4819369B2 (en) 2005-02-15 2011-11-24 株式会社日立製作所 Storage system
JP4474356B2 (en) * 2005-12-27 2010-06-02 富士通株式会社 Computer system and storage virtualization apparatus
JP2007280089A (en) * 2006-04-07 2007-10-25 Hitachi Ltd Transfer method for capacity expansion volume
JP5057755B2 (en) 2006-11-28 2012-10-24 株式会社日立製作所 Storage control device and control method thereof
JP2008134775A (en) 2006-11-28 2008-06-12 Hitachi Ltd Storage subsystem and remote copy system using the same
JP4373450B2 (en) 2007-02-07 2009-11-25 富士通株式会社 RAID control apparatus and control method thereof
JP4958641B2 (en) * 2007-05-29 2012-06-20 株式会社日立製作所 Storage control device and control method thereof
WO2011052005A1 (en) * 2009-10-27 2011-05-05 Hitachi, Ltd. Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas
JP5907103B2 (en) * 2013-03-25 2016-04-20 日本電気株式会社 Storage device
JP5907105B2 (en) * 2013-03-26 2016-04-20 日本電気株式会社 Storage device, method, and program.
JP6102511B2 (en) * 2013-05-23 2017-03-29 富士通株式会社 Integrated circuit, control apparatus, control method, and control program
JP6098721B2 (en) 2013-07-16 2017-03-22 富士通株式会社 Information processing apparatus, port control program, and port control method
JP6127148B2 (en) * 2013-10-15 2017-05-10 株式会社日立製作所 Storage system and cache control method
JP6241319B2 (en) 2014-02-28 2017-12-06 富士通株式会社 Information processing apparatus, communication path determination program, and communication path determination method

Also Published As

Publication number Publication date
JPH11312058A (en) 1999-11-09

Similar Documents

Publication Publication Date Title
JP4272275B2 (en) Storage subsystem
US6009481A (en) Mass storage system using internal system-level mirroring
US7337351B2 (en) Disk mirror architecture for database appliance with locally balanced regeneration
US5987566A (en) Redundant storage with mirroring by logical volume with diverse reading process
US6122685A (en) System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed
JP4109416B2 (en) Dynamic mirror service policy
US7409508B2 (en) Disk array system capable of taking over volumes between controllers
US5640530A (en) Use of configuration registers to control access to multiple caches and nonvolatile stores
US6915382B2 (en) Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and display
US8412892B2 (en) Storage system and ownership control method for storage system
US7089448B2 (en) Disk mirror architecture for database appliance
US6314503B1 (en) Method and apparatus for managing the placement of data in a storage system to achieve increased system performance
US8190815B2 (en) Storage subsystem and storage system including storage subsystem
US6915403B2 (en) Apparatus and method for logical volume reallocation
US20100146207A1 (en) Storage system and control method for the same
US20050102555A1 (en) Storage subsystem that connects fibre channel and supports online backup
JPH09146842A (en) Storage subsystem
US8489918B2 (en) Storage system and ownership control method for storage system
US10296429B2 (en) Storage device
US5958078A (en) Storage unit and storage unit subsystem
US20030185064A1 (en) Clustering storage system
US9361033B2 (en) Compound storage system and storage control method
JP2002049511A (en) Address allocation change method and external storage subsystem using the same
US11789613B2 (en) Storage system and data processing method
JPH07302171A (en) Disk controller

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050418

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081204

TRDD Decision of grant or rejection written
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090220

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090224

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

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees