JP4272275B2 - Storage subsystem - Google Patents
Storage subsystem Download PDFInfo
- 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
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,
[0013]
Each controller includes four
[0014]
FIG. 2 shows the configuration of the cache memory. The
[0015]
The
[0016]
Each host has two ports, each connected to a different controller. In FIG. 1, the port A: 11 of the
[0017]
However, all of the ports of the
[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,
[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
[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
[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
[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
[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
[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
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
[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
[0029]
In the present invention, an automatic mode in which the
[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
[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
[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
[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
[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.
前記コントローラは、前記複数のコントローラのための前記キャッシュメモリの記憶領域を、前記コントローラが正常時に処理を担当する論理ボリュームのための領域に分割することを特徴とする記憶サブシステム。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.
コントローラ当たりのキャッシュメモリ領域の容量、及び前記論理ボリュームのためのキャッシュメモリ領域の容量を指定するための入力手段を有することを特徴とする記憶サブシステム。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.
前記複数のコントローラのキャッシュメモリのそれぞれに前記複数の論理ボリュームのデータを格納することを特徴とする記憶サブシステム。A storage subsystem for storing data of the plurality of logical volumes in each of cache memories of the plurality of controllers.
前記複数のコントローラのキャッシュメモリのそれぞれに前記複数の論理ボリュームのデータを格納するか、或いは前記コントローラのそれぞれが正常時に処理を担当する論理ボリュームのデータのみを格納するかを選択する入力手段を有することを特徴とする記憶サブシステム。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.
前記コントローラが前記ホストコンピュータから正常時に処理を担当していない論理ボリュームに対する処理要求を受領したときは、キャッシュメモリ上の管理情報のみの変更で担当の切り替えを行うことを特徴とする記憶サブシステム。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.
前記コントローラが前記ホストコンピュータから正常時に処理を担当していない論理ボリュームに対する処理要求を障害時に受領したときは、キャッシュメモリ上の切り替え対象論理ボリュームのうち前記記憶装置群の記憶領域に格納されていないデータを切り替え先のコントローラ内のキャッシュメモリ上にコピーして前記論理ボリュームの処理を担当するコントローラを切り替えることを特徴とする記憶サブシステム。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.
前記コントローラは、前記キャッシュメモリの論理ボリュームのための記憶領域を、前記論理ボリュームへ入出力されるデータ量に応じて変更することを特徴とする記憶サブシステム。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.
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)
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 |
-
1998
- 1998-04-28 JP JP11812798A patent/JP4272275B2/en not_active Expired - Fee Related
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 |