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

JP3987295B2 - Processing optimization method, computer, and storage device - Google Patents

Processing optimization method, computer, and storage device Download PDF

Info

Publication number
JP3987295B2
JP3987295B2 JP2001079352A JP2001079352A JP3987295B2 JP 3987295 B2 JP3987295 B2 JP 3987295B2 JP 2001079352 A JP2001079352 A JP 2001079352A JP 2001079352 A JP2001079352 A JP 2001079352A JP 3987295 B2 JP3987295 B2 JP 3987295B2
Authority
JP
Japan
Prior art keywords
storage device
processing
priority
priority table
computer
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
JP2001079352A
Other languages
Japanese (ja)
Other versions
JP2002278704A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001079352A priority Critical patent/JP3987295B2/en
Publication of JP2002278704A publication Critical patent/JP2002278704A/en
Application granted granted Critical
Publication of JP3987295B2 publication Critical patent/JP3987295B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、処理最適化方法、コンピュータ、及び記憶装置に係わり、特に、コンピュータからのアクセス要求に応じた通常処理及びそれ以外の複数のバックグランド処理を行う複数の記憶装置とを備えたシステムに適用される処理最適化方法、コンピュータ、及び記憶装置に関する。
【0002】
【従来の技術】
従来の記憶装置では、ホスト上で動作しているアプリケーションソフトウェアからのアクセス要求に応じた処理(通常処理)とそれ以外の処理(バックグラウンド処理)と共にを行うものが多い。
【0003】
バックグラウンド処理とは、例えば記憶装置内のHDD等に障害が発生した場合のディスク修復動作、内部データチェック、記憶装置間でのデータ転送等であり、アプリケーションソフトウェアからのアクセス要求に応じた通常処理以外の処理をいう。
【0004】
従来では、このような通常処理とバックグラウンド処理とを共に行う場合に、通常動作に影響しない範囲内か、固定的な優先度で、バックグラウンド処理を行っていた。これは1つの記憶装置を複数の用途に使えるよう(汎用的に使えるよう)にするためのものであった。
【0005】
【発明が解決しようとする課題】
近年、複数のホストコンピュータと記憶装置とで構成されるシステムにおいて、システム内での個々の記憶装置の役割が分化している。これに伴い、複数の記憶装置をシステム内に持ち、役割をシステム内で分業させ、運用系、待機系、一次バックアップ、テープ装置等の2次記憶媒体へのバックアップを行うためのテンポラリバッファ等の様々な用途に使用できるようにすることが望まれている。
【0006】
しかしながら、各バックグラウンド処理の優先度は通常動作になるべく影響をしないように一律の優先度で制御されているだけであり、複数のバックグラウンド処理を行う必要が生じた場合には、これらのバックグラウンド処理を任意時点での重要度に応じて最適な順番で実行することができないという問題があった。
【0007】
また、任意の時点でこれらの記憶装置の用途や状態が変わるような場合、通常動作と複数のバックグラウンド処理間の優先度を動的に変更することができないため、個々の記憶装置の動作性能を十分に発揮できず、これによりシステム全体としての処理の最適化を図ることができないという問題があった。
【0008】
本発明は上記実状に鑑みてなされたものであり、コンピュータからのアクセス要求に応じた通常処理及びそれ以外の複数のバックグランド処理を行う複数の記憶装置とを備えたシステムにおいて、システム全体の処理を最適化することのできる処理最適化方法、コンピュータ、及び記憶装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明に係る処理最適化方法は、任意の記憶装置に対してアクセス要求を出すコンピュータと、前記コンピュータからのアクセス要求に応じた通常処理及びそれ以外の複数のバックグランド処理を行う複数の記憶装置とを備えたシステムに適用される処理最適化方法であって、前記コンピュータにおいて、各記憶装置内の各論理ユニットの用途を情報テーブルに基づいて判断し、その判断結果に基づいて各論理ユニットについての前記通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルを記憶装置毎に作成してそれらを各記憶装置に対して発行し、前記各記憶装置において、発行された前記優先度テーブルを取得して格納し、格納した優先度テーブルの内容に従って処理を行うことを特徴とする。
【0010】
また、本発明に係るコンピュータは、コンピュータからのアクセス要求に応じた通常処理及びそれ以外の複数のバックグランド処理を行う複数の記憶装置に対してアクセス要求を行うコンピュータであって、各記憶装置内の各論理ユニットの用途を情報テーブルに基づいて判断し、その判断結果に基づいて各論理ユニットについての前記通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルを記憶装置毎に作成し、それらを各記憶装置に対して発行する手段を備えたことを特徴とする。
【0011】
また、本発明に係る記憶装置は、通常処理及びそれ以外の複数のバックグランド処理を行う記憶装置であって、前記記憶装置内の各論理ユニットの用途を情報テーブルに基づいて判断し、その判断結果に基づいて各論理ユニットについての前記通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルを備え、この優先度テーブルの内容に従って処理を行うことを特徴とする。
【0012】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【0013】
(第1の実施形態)
まず、第1の実施形態を説明する。
図1は、本発明の第1の実施形態に係る処理最適化方法が適用されるシステムの構成を示すブロック図である。
【0014】
同図において、複数のホストコンピュータ10〜1M(以下、ホスト#1〜#Mと称す)が設けられており、これらはネットワーク/チャネル網30に接続されている。また、このネットワーク/チャネル網30には、複数の記憶装置(ストレージ)であるディスクアレイ装置20〜2N(以下、ディスクアレイ#0〜#Nと称す)が接続されている。
【0015】
ホスト#1〜#Mは、任意のディスクアレイに対してアクセス要求を出す。一方、ディスクアレイ#0〜#Nは、それぞれホスト#1〜#Mからのアクセス要求に応じた通常処理及びそれ以外の複数のバックグランド処理(筐体内/筐体間のデータ転送処理)を行う。
【0016】
ホスト#1〜#Mの各々には、OS(オペレーティングシステム)41、アプリケーションソフトウェア42(以下、アプリケーション42と称す)、及び優先度設定コマンド発行部43が備えられている。
【0017】
OS41は、アプリケーション42からの要求を受け付け、ネットワーク/チャネル網30を介して該当するディスクアレイへアクセス要求を出す。また、このOS41は、優先度設定コマンド発行部43から発行されるコマンド等をネットワーク/チャネル網30へ送り出す。
【0018】
アプリケーション42は、ディスクアレイ#0〜#Nに対するデータの読出し/書込み等の要求を行う。
【0019】
優先度設定コマンド発行部43は、各ディスクアレイ内の各論理ユニット(LU:ボリュームとして使用)の用途に応じて、各論理ユニットについての通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルをディスクアレイ毎に作成してそれらを各ディスクアレイに対して発行する。
【0020】
ディスクアレイ#0〜#Nの各々には、論理ユニットLU#0〜LU#mを構成する複数のディスク(例えば、HDD)のほかに、内部バス51、ホストインタフェース52、マイクロプロセッサ53、ディスク側制御ソフトウェア54が備えられている。
【0021】
内部バス51は、ディスクアレイ内部の論理ユニットLU#0〜LU#mを構成する複数のディスク(例えば、HDD)、マイクロプロセッサ53、及びホストインタフェース52を接続する。
【0022】
ホストインタフェース52は、内部バス51とホスト#1〜#Mとのインタフェースを行う。
【0023】
マイクロプロセッサ53は、ディスクアレイ装置全体の動作を司り、ディスク側制御ソフトウェアを実行する。
【0024】
ディスク側制御ソフトウェア54は、ホスト#1〜#Mから発行された優先度テーブルを取得して格納し、格納した優先度テーブルの内容に従って処理を行う。
【0025】
図2は、第1の実施形態におけるシステムの主要部構成を示すブロック図である。なお、図1と共通する要素には同一の符号を付している。
【0026】
ホスト10における優先度設定コマンド発行部43は、情報解析部45及びコマンド発行部46を備えている。
【0027】
情報解析部45は、図3に示すような情報テーブルに基づいて、システム全体における各ディスクアレイ内の各論理ユニットの用途を判断し、その判断結果に基づいて各論理ユニットについての通常処理及び複数のバックグランド処理の間の処理優先度をディスクアレイ毎に決定する。
【0028】
なお、図3の情報テーブルの例では、ディスクアレイ#0に関しては、LU#0の用途が「運用系(通常動作)」であり、LU#1の用途が「テンポラリディスク」であることなどが示されている。この場合の同一筐体内の優先度としては、LU#0が「1」であり、LU#1が「2」である。また、ディスクアレイ#1に関しても、LU#0の用途が「待機系(バックアップディスク)」であることなど、論理ユニット毎に用途や同一筐体内の優先度が示されている。
【0029】
情報解析部45は、上記情報テーブルを用いた情報解析の結果に基づき、各論理ユニットについての通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルをディスクアレイ毎に作成する。
【0030】
コマンド発行部46は、上記情報解析部45でディスクアレイ毎に作成された優先度テーブルに所定のコマンド(当該優先度テーブルを格納すべき旨の指示)を付加し、各ディスクアレイに対して発行する。
【0031】
一方、各ディスクアレイにおけるディスク側制御ソフトウェア54には、優先度制御部55及び優先度テーブル56が備えられる。ディスク側制御ソフトウェア54は、ネットワーク/チャネル網30を介して該当するディスクアレイに対して送られてくる優先度テーブル56を取得し、これを所定の記憶領域に格納する。
【0032】
優先度制御部55は、格納された優先度テーブル56の内容に従って、通常処理及び複数のバックグランド処理を制御する。
【0033】
この優先度テーブル56の一例を図4に示す。同図からわかるように、LU#0については、「通常動作」に最高の優先度である「1」が設定され、「ディスク修復処理」、「ディスク装置内データコピー」、「ディスク装置間データコピー」、「1次バックアップディスク」、「内部データチェック」の各々には優先度「2」が設定されている。また、LU#1については、「通常動作」に最高の優先度である「1」が設定され、「ディスク修復処理」には優先度「2」が設定され、「ディスク装置内データコピー」には優先度「3」が設定され、「ディスク装置間データコピー」には優先度「4」が設定され、「1次バックアップディスク」には優先度「5」が設定され、「内部データチェック」には優先度「2」が設定されている。このように、論理ユニット毎に処理優先度が定められている。
【0034】
次に、図5のフローチャートを参照して、第1の実施形態による動作を説明する。
ホスト10における情報解析部45は、情報テーブルに基づいて、システム全体における各ディスクアレイ内の各論理ユニットの用途を判断し、その判断結果に基づいて各論理ユニットについての通常処理及び複数のバックグランド処理の間の処理優先度をディスクアレイ毎に決定する(ステップA1)。これにより、ディスクアレイ毎に優先度テーブルが作成される。
【0035】
コマンド発行部46は、作成された優先度テーブルに所定のコマンド(当該優先度テーブルを格納すべき旨の指示)を付加し、各ディスクアレイに対して発行する(ステップA2)。
【0036】
各ディスクアレイが自身に対するコマンド及び優先度テーブルを受け取ると、ディスク制御側ソフトウェア54は、そのコマンドに従って優先度テーブルを所定の記憶領域に格納する(ステップA3)。
【0037】
優先度制御部55は、格納された優先度テーブルの内容に従って、通常処理及び複数のバックグランド処理を制御する(ステップA4)。
【0038】
なお、通常処理以外のバックグランド処理(筐体内/筐体間のデータ転送処理)は、ベンダユニークなコマンド(SCSIの場合は、ModeSelectコマンド)によって指示されるため、上記制御においては、動作中の処理がどのデータ転送指示であるかを判断するものとする。また、I/O数の比率、キャッシュメモリの占有量等も考慮に入れた制御を行うようにしてもよい。
【0039】
このように、第1の実施形態によれば、各ディスクアレイ内の各論理ユニットの用途に応じて、各論理ユニットについての通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルがディスクアレイ毎に作成され、この優先度テーブルに基づいて各処理が行われるので、各ディスクアレイにおける処理の最適化を図ることができる。
【0040】
(第2の実施形態)
次に、第2の実施形態について説明する。
なお、第2の実施形態係る処理最適化方法が適用されるシステムの構成は、図1に示したものと同様であるため、各要素の具体的な説明を省略する。
【0041】
図6は、第2の実施形態におけるシステムの主要部構成を示すブロック図である。なお、図1と共通する要素には同一の符号を付している。以下、第1の実施形態(図2)と異なる部分を中心に説明する。
【0042】
前述の第1の実施形態(図2)ではディスク側制御ソフトウェア54に優先度制御部55及び優先度テーブル56が備えられる場合を説明したが、この第2の実施形態ではこれらに加えて情報収集解析部57が備えられる。
【0043】
情報収集解析部57は、そのディスクアレイ内の各種の状態を示す情報を収集する。例えば、次のような情報が収集される。
【0044】
・HDDの統計情報(HDDリトライ多発等)
・各論理ユニットの情報(RAIDで構築したボリュームに障害発生等)
・現在のリソース使用状況(キャッシュメモリ、HDD等)
また、本実施形態による情報解析部45は、上記情報収集解析部57が収集した情報をネットワーク/チャネル網30を介して取り込む。すなわち、情報解析部45は、各論理ユニットの用途だけでなく、情報収集解析部57から取得した情報も考慮に入れて、各論理ユニットについての通常処理及び複数のバックグランド処理の間の処理優先度をディスクアレイ毎に決定する。
【0045】
次に、図7のフローチャートを参照して、第2の実施形態による動作を説明する。
ホスト10における情報解析部45は、各ディスクアレイの情報収集解析部57が収集した情報をネットワーク/チャネル網30を介して取り出す(ステップB1)。
【0046】
そして、情報解析部45は、情報テーブルに基づいてシステム全体における各ディスクアレイ内の各論理ユニットの用途を判断すると共に、情報収集解析部57から取得した情報に示される各種の状態を判断し、これらに基づいて各論理ユニットについての通常処理及び複数のバックグランド処理の間の処理優先度をディスクアレイ毎に決定する(ステップB2)。これにより、ディスクアレイ毎に優先度テーブルが作成される。
【0047】
コマンド発行部46は、作成された優先度テーブルに所定のコマンド(当該優先度テーブルを格納すべき旨の指示)を付加し、各ディスクアレイに対して発行する(ステップB3)。
【0048】
各ディスクアレイが自身に対するコマンド及び優先度テーブルを受け取ると、ディスク制御側ソフトウェア54は、そのコマンドに従って優先度テーブルを所定の記憶領域に格納する(ステップB4)。
【0049】
優先度制御部55は、格納された優先度テーブルの内容に従って、通常処理及び複数のバックグランド処理を制御する(ステップB5)。
【0050】
なお、通常処理以外のバックグランド処理(筐体内/筐体間のデータ転送処理)は、ベンダユニークなコマンド(SCSIの場合は、ModeSelectコマンド)によって指示されるため、上記制御においては、動作中の処理がどのデータ転送指示であるかを判断するものとする。また、I/O数の比率、キャッシュメモリの占有量等も考慮に入れた制御を行うようにしてもよい。
【0051】
なお、この第2の実施形態による情報解析部45は、情報収集解析部57の情報を常時もしくは定期的に取り込んでおり、前記各ディスクアレイ内の状態の変化に応じて前記優先度テーブルの内容を動的に変更することが可能となっている。その場合の具体的な例をいくつか示す。
【0052】
例えば、ディスクアレイ#0のLU#0を構成するHDDが故障しており冗長性が無い場合、LU#0以外の論理ユニットへの通常アクセスの優先度を暫く下げて、LU#0の修復を優先させる。
【0053】
例えば、ディスクアレイ#0のLU#0(運用系)とディスクアレイ#1のLU#0(待機系)とをミラーリング構成としており、また各ディスクアレイのLU#0以外の論理ユニットを違う目的で使用している状態において、ディスクアレイ#0が停止した場合、ディスクアレイ#1のLU#0の優先度を一時的に上げて運用系として機能するように優先度を決定する。ディスクアレイ#0の復旧後は、ディスクアレイ#1から#0へのデータコピーを優先させるように優先度を決定する。
【0054】
ここで、上記(1)の場合を動作を、図8のフローチャートを参照して説明する。
【0055】
ディスクアレイ#0のLU#0に故障が発生すると(ステップC1)、ディスクアレイ#0のLU#0のミラーボリュームが他筐体/同一筐体内にあるか否か(冗長性があるか否か)が判断される(ステップC2)。
【0056】
ミラーボリュームがあれば、ステップC6へ進んでディスクの修復が行われる。一方、ミラーボリュームが無ければ、ディスクアレイ#0のLU#0のディスク修復処理の優先度が一番高い設定となっているか否かが判断される(ステップC3)。
【0057】
上記優先度が一番高い設定となっていれば、ステップC6へ進んでディスクの修復が行われる。一方、一番高い設定となっていなければ、現状の優先度が所定の記憶領域に保存され、ディスクアレイ#0のLU#0のディスク修復処理の優先度が最高に設定され(ステップC5)、ディスク修復が行われる(ステップC6)。
【0058】
ディスク修復が完了した後は、ステップC4で保存した優先度のリストアが行われる(ステップC7)。
【0059】
次に、上記(2)の場合を動作を、図9及び図10のフローチャートを参照して説明する。
【0060】
ディスクアレイ#0が停止すると(ステップD1)、そのディスクアレイ#0の他にミラーボリュームが他筐体/同一筐体内にあるか否かが判断される(ステップD2)。
【0061】
ミラーボリュームが無ければ、ステップD7に進んでディスクアレイ#0の修復が行われる。一方、ミラーボリュームがあれば、ディスクアレイ#1内の各論理ユニットをチェックすることにより、ディスクアレイ#1のLU#0の優先度が一番高い設定になっているか否かが判断される(ステップD3)。
【0062】
上記優先度が一番高い設定になっていれば、ステップD7に進んでディスクアレイ#0の修復が行われる。一方、一番高い設定になっていなければ、ディスクアレイ#1のLU#0以外の優先度を下げても影響がないか否かが判断される(ステップD4)。
【0063】
影響がある場合は、ステップD7に進んでディスクアレイ#0の修復が行われる。一方、影響が無ければ、現状の優先度が所定の記憶領域に保存され(ステップD5)、ディスクアレイ#1のLU#0の運用優先度が最高に設定され(ステップD6)、ディスクアレイ#0の復旧が行われる。
【0064】
ディスク修復が完了した後は、ディスクアレイ#1のLU#0からディスクアレイ#0のLU#0へのデータ転送処理の優先度が最高に設定され(ステップD8)、データコピーが実行され(ステップD9)、ステップD5で保存した優先度のリストアが行われる(ステップD10)。
【0065】
このように、第2の実施形態によれば、各ディスクアレイ内の各論理ユニットの用途及び各種の状態に応じて、各論理ユニットについての通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルがディスクアレイ毎に作成され、この優先度テーブルに基づいて各処理が行われるので、前述の第1の実施形態に比べ、処理の最適化をより一層高めることが可能となる。
【0066】
【発明の効果】
以上詳記したように本発明によれば、コンピュータからのアクセス要求に応じた通常処理及びそれ以外の複数のバックグランド処理を行う複数の記憶装置とを備えたシステムにおいて、システム全体の処理を最適化することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る処理最適化方法が適用されるシステムの構成を示すブロック図。
【図2】上記第1の実施形態におけるシステムの主要部構成を示すブロック図。
【図3】上記第1の実施形態における情報解析部で使用される情報テーブルの例を示す図。
【図4】上記第1の実施形態における記憶装置に格納される優先度テーブルの例を示す図。
【図5】上記第1の実施形態による動作を説明するためのフローチャート。
【図6】本発明の第2の実施形態におけるシステムの主要部構成を示すブロック図。
【図7】上記第2の実施形態による動作を説明するためのフローチャート。
【図8】上記第2の実施形態において優先度テーブルを動的に変更する第1の例を説明するためのフローチャート。
【図9】上記第2の実施形態において優先度テーブルを動的に変更する第2の例を説明するためのフローチャート。
【図10】上記第2の実施形態において優先度テーブルを動的に変更する第2の例を説明するためのフローチャート。
【符号の説明】
10〜1M…ホストコンピュータ(#1〜#M)
20〜2N…ディスクアレイ装置(#1〜#N)
30…ネットワーク/チャネル網
41…OS(オペレーティングシステム)
42…アプリケーションソフトウェア
43…優先度設定コマンド発行部
45…情報解析部
46…コマンド発行部
51…内部バス
52…ホストインタフェース
53…マイクロプロセッサ
54…ディスク側制御ソフトウェア
55…優先度制御部
56…優先度テーブル
57…情報収集解析部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a processing optimization method, a computer, and a storage device, and more particularly, to a system including a plurality of storage devices that perform normal processing according to an access request from a computer and other background processing. The present invention relates to an applied processing optimization method, a computer, and a storage device.
[0002]
[Prior art]
Many conventional storage devices perform processing (normal processing) in response to an access request from application software running on a host and other processing (background processing).
[0003]
Background processing is, for example, disk repair operation when a failure occurs in an HDD in a storage device, internal data check, data transfer between storage devices, etc., and normal processing according to an access request from application software It means processing other than.
[0004]
Conventionally, when both the normal process and the background process are performed, the background process is performed within a range that does not affect the normal operation or at a fixed priority. This was to make one storage device usable for a plurality of purposes (generally usable).
[0005]
[Problems to be solved by the invention]
In recent years, in a system composed of a plurality of host computers and storage devices, the roles of individual storage devices in the system have been differentiated. Along with this, there are multiple storage devices in the system, roles are divided in the system, temporary buffers for performing backup to secondary storage media such as operation system, standby system, primary backup, tape device etc. It is desired to be able to be used for various purposes.
[0006]
However, the priority of each background process is only controlled at a uniform priority so as not to affect the normal operation as much as possible, and when it becomes necessary to perform a plurality of background processes, these background processes are performed. There is a problem that the ground processing cannot be executed in an optimal order according to the importance at an arbitrary time.
[0007]
In addition, if the usage or status of these storage devices changes at an arbitrary point in time, the priority between normal operation and multiple background processes cannot be changed dynamically. As a result, it is impossible to optimize the processing of the entire system.
[0008]
The present invention has been made in view of the above circumstances, and in a system including a plurality of storage devices that perform normal processing in response to an access request from a computer and a plurality of other background processing, processing of the entire system It is an object to provide a process optimization method, a computer, and a storage device that can optimize the process.
[0009]
[Means for Solving the Problems]
The processing optimization method according to the present invention includes a computer that issues an access request to an arbitrary storage device, and a plurality of storage devices that perform normal processing and other background processing in response to the access request from the computer. A process optimization method applied to a system comprising: a computer for determining a use of each logical unit in each storage device based on an information table, and for each logical unit based on a result of the determination; The priority table indicating the processing priority between the normal process and the plurality of background processes is created for each storage device and issued to each storage device. A priority table is acquired and stored, and processing is performed according to the contents of the stored priority table.
[0010]
Further, the computer according to the present invention is a computer that makes an access request to a plurality of storage devices that perform normal processing in response to an access request from the computer and a plurality of other background processing. A priority table indicating a processing priority between the normal processing and the plurality of background processing for each logical unit based on the determination result for each storage device. And a means for issuing them to each storage device.
[0011]
The storage device according to the present invention is a storage device that performs normal processing and a plurality of other background processing, and determines the use of each logical unit in the storage device based on an information table, and the determination A priority table indicating a processing priority between the normal processing and the plurality of background processing for each logical unit based on the result is provided, and processing is performed according to the contents of the priority table.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0013]
(First embodiment)
First, the first embodiment will be described.
FIG. 1 is a block diagram showing the configuration of a system to which the processing optimization method according to the first embodiment of the present invention is applied.
[0014]
In the figure, a plurality of host computers 10 to 1M (hereinafter referred to as hosts # 1 to #M) are provided, and these are connected to a network / channel network 30. The network / channel network 30 is connected to disk array devices 20 to 2N (hereinafter referred to as disk arrays # 0 to #N), which are a plurality of storage devices (storage).
[0015]
Hosts # 1 to #M issue an access request to an arbitrary disk array. On the other hand, the disk arrays # 0 to #N perform normal processing according to access requests from the hosts # 1 to #M and a plurality of other background processing (data transfer processing within / between cases). .
[0016]
Each of the hosts # 1 to #M includes an OS (operating system) 41, application software 42 (hereinafter referred to as an application 42), and a priority setting command issuing unit 43.
[0017]
The OS 41 receives a request from the application 42 and issues an access request to the corresponding disk array via the network / channel network 30. Further, the OS 41 sends a command issued from the priority setting command issuing unit 43 to the network / channel network 30.
[0018]
The application 42 makes a request for reading / writing data to / from the disk arrays # 0 to #N.
[0019]
The priority setting command issuing unit 43 sets the processing priority between the normal processing and the plurality of background processing for each logical unit according to the use of each logical unit (LU: used as a volume) in each disk array. A priority table is created for each disk array and issued to each disk array.
[0020]
In each of the disk arrays # 0 to #N, in addition to a plurality of disks (for example, HDDs) constituting the logical units LU # 0 to LU # m, an internal bus 51, a host interface 52, a microprocessor 53, and a disk side Control software 54 is provided.
[0021]
The internal bus 51 connects a plurality of disks (for example, HDDs), a microprocessor 53, and a host interface 52 that constitute the logical units LU # 0 to LU # m in the disk array.
[0022]
The host interface 52 performs an interface between the internal bus 51 and the hosts # 1 to #M.
[0023]
The microprocessor 53 controls the operation of the entire disk array apparatus and executes disk-side control software.
[0024]
The disk-side control software 54 acquires and stores the priority table issued from the hosts # 1 to #M, and performs processing according to the contents of the stored priority table.
[0025]
FIG. 2 is a block diagram illustrating a configuration of main parts of the system according to the first embodiment. In addition, the same code | symbol is attached | subjected to the element which is common in FIG.
[0026]
The priority setting command issuing unit 43 in the host 10 includes an information analyzing unit 45 and a command issuing unit 46.
[0027]
The information analysis unit 45 determines the usage of each logical unit in each disk array in the entire system based on the information table as shown in FIG. 3, and based on the determination result, normal processing and a plurality of logical units for each logical unit are determined. The processing priority during the background processing is determined for each disk array.
[0028]
In the example of the information table in FIG. 3, regarding the disk array # 0, the usage of LU # 0 is “active (normal operation)” and the usage of LU # 1 is “temporary disk”. It is shown. In this case, the priority within the same chassis is “1” for LU # 0 and “2” for LU # 1. Also for disk array # 1, the usage and priority within the same housing are shown for each logical unit, such as the usage of LU # 0 being "standby system (backup disk)".
[0029]
Based on the result of the information analysis using the information table, the information analysis unit 45 creates a priority table indicating the processing priority between the normal process and the plurality of background processes for each logical unit for each disk array. .
[0030]
The command issuing unit 46 adds a predetermined command (instruction to store the priority table) to the priority table created for each disk array by the information analysis unit 45 and issues it to each disk array. To do.
[0031]
On the other hand, the disk-side control software 54 in each disk array is provided with a priority control unit 55 and a priority table 56. The disk-side control software 54 acquires the priority table 56 sent to the corresponding disk array via the network / channel network 30, and stores it in a predetermined storage area.
[0032]
The priority control unit 55 controls normal processing and a plurality of background processing according to the contents of the stored priority table 56.
[0033]
An example of the priority table 56 is shown in FIG. As can be seen from FIG. 8, for LU # 0, “normal operation” is set to “1”, which is the highest priority, and “disk repair processing”, “data copy within disk unit”, “data between disk units” A priority “2” is set for each of “copy”, “primary backup disk”, and “internal data check”. For LU # 1, “1”, which is the highest priority, is set for “normal operation”, priority “2” is set for “disk repair processing”, and “data copy within disk device” is set. Is set to priority “3”, “copy data between disk devices” is set to priority “4”, “primary backup disk” is set to priority “5”, and “internal data check” is set. Has a priority “2”. Thus, processing priority is defined for each logical unit.
[0034]
Next, the operation according to the first embodiment will be described with reference to the flowchart of FIG.
The information analysis unit 45 in the host 10 determines the usage of each logical unit in each disk array in the entire system based on the information table, and performs normal processing and a plurality of backgrounds for each logical unit based on the determination result. Processing priority during processing is determined for each disk array (step A1). As a result, a priority table is created for each disk array.
[0035]
The command issuing unit 46 adds a predetermined command (instruction to store the priority table) to the created priority table and issues it to each disk array (step A2).
[0036]
When each disk array receives a command and priority table for itself, the disk control software 54 stores the priority table in a predetermined storage area according to the command (step A3).
[0037]
The priority control unit 55 controls the normal process and the plurality of background processes according to the contents of the stored priority table (step A4).
[0038]
Note that background processing other than normal processing (intra-housing / inter-housing data transfer processing) is instructed by a vendor-unique command (ModeSelect command in the case of SCSI). It is determined which data transfer instruction the processing is. Further, the control may be performed in consideration of the ratio of the number of I / Os, the occupation amount of the cache memory, and the like.
[0039]
As described above, according to the first embodiment, the priority indicating the processing priority between the normal processing and the plurality of background processing for each logical unit according to the use of each logical unit in each disk array. Since a table is created for each disk array and each process is performed based on this priority table, the process in each disk array can be optimized.
[0040]
(Second Embodiment)
Next, a second embodiment will be described.
Note that the configuration of the system to which the processing optimization method according to the second embodiment is applied is the same as that shown in FIG.
[0041]
FIG. 6 is a block diagram illustrating a configuration of main parts of a system according to the second embodiment. In addition, the same code | symbol is attached | subjected to the element which is common in FIG. In the following, the description will focus on the differences from the first embodiment (FIG. 2).
[0042]
In the above-described first embodiment (FIG. 2), the case where the disk-side control software 54 is provided with the priority control unit 55 and the priority table 56 has been described. In the second embodiment, information collection is additionally performed. An analysis unit 57 is provided.
[0043]
The information collection / analysis unit 57 collects information indicating various states in the disk array. For example, the following information is collected.
[0044]
-HDD statistics (such as frequent HDD retries)
-Information on each logical unit (such as a failure occurring in a RAID volume)
・ Current resource usage (cache memory, HDD, etc.)
Further, the information analysis unit 45 according to the present embodiment takes in the information collected by the information collection analysis unit 57 via the network / channel network 30. That is, the information analysis unit 45 considers not only the use of each logical unit but also the information acquired from the information collection analysis unit 57, and gives priority to processing between the normal processing and the plurality of background processing for each logical unit. The degree is determined for each disk array.
[0045]
Next, the operation according to the second embodiment will be described with reference to the flowchart of FIG.
The information analysis unit 45 in the host 10 takes out the information collected by the information collection analysis unit 57 of each disk array via the network / channel network 30 (step B1).
[0046]
Then, the information analysis unit 45 determines the usage of each logical unit in each disk array in the entire system based on the information table, determines various states indicated in the information acquired from the information collection analysis unit 57, and Based on these, the processing priority between the normal processing and the plurality of background processing for each logical unit is determined for each disk array (step B2). As a result, a priority table is created for each disk array.
[0047]
The command issuing unit 46 adds a predetermined command (instruction to store the priority table) to the created priority table, and issues it to each disk array (step B3).
[0048]
When each disk array receives a command and priority table for itself, the disk control software 54 stores the priority table in a predetermined storage area according to the command (step B4).
[0049]
The priority control unit 55 controls normal processing and a plurality of background processing in accordance with the contents of the stored priority table (step B5).
[0050]
Note that background processing other than normal processing (intra-housing / inter-housing data transfer processing) is instructed by a vendor-unique command (ModeSelect command in the case of SCSI). It is determined which data transfer instruction the processing is. Further, the control may be performed in consideration of the ratio of the number of I / Os, the occupation amount of the cache memory, and the like.
[0051]
The information analysis unit 45 according to the second embodiment takes in the information of the information collection analysis unit 57 constantly or periodically, and the contents of the priority table according to the change in the state in each disk array. Can be changed dynamically. Some specific examples are shown below.
[0052]
For example, if the HDD that constitutes LU # 0 of disk array # 0 has failed and there is no redundancy, the priority of normal access to logical units other than LU # 0 is lowered for a while to restore LU # 0. Prioritize.
[0053]
For example, LU # 0 (active system) of disk array # 0 and LU # 0 (standby system) of disk array # 1 are mirrored, and logical units other than LU # 0 of each disk array are used for different purposes. When the disk array # 0 stops in use, the priority is determined so that the priority of LU # 0 of the disk array # 1 is temporarily raised to function as an active system. After restoration of disk array # 0, priority is determined so that data copy from disk array # 1 to # 0 is given priority.
[0054]
Here, the operation of the case (1) will be described with reference to the flowchart of FIG.
[0055]
If a failure occurs in LU # 0 of disk array # 0 (step C1), whether the mirror volume of LU # 0 of disk array # 0 is in another chassis / in the same chassis (whether there is redundancy) ) Is determined (step C2).
[0056]
If there is a mirror volume, the process proceeds to step C6 and the disk is repaired. On the other hand, if there is no mirror volume, it is determined whether or not the priority of the disk repair process of LU # 0 of disk array # 0 is the highest setting (step C3).
[0057]
If the setting has the highest priority, the process proceeds to step C6 and the disk is repaired. On the other hand, if it is not the highest setting, the current priority is stored in a predetermined storage area, and the priority of the disk repair process of LU # 0 of disk array # 0 is set to the highest (step C5). Disk repair is performed (step C6).
[0058]
After the disk restoration is completed, the priority level saved in step C4 is restored (step C7).
[0059]
Next, the operation of the case (2) will be described with reference to the flowcharts of FIGS.
[0060]
When the disk array # 0 is stopped (step D1), it is determined whether the mirror volume other than the disk array # 0 is in another casing / in the same casing (step D2).
[0061]
If there is no mirror volume, the process proceeds to step D7 where disk array # 0 is repaired. On the other hand, if there is a mirror volume, by checking each logical unit in the disk array # 1, it is determined whether or not the priority of LU # 0 of the disk array # 1 has the highest setting ( Step D3).
[0062]
If the priority is set to the highest priority, the process proceeds to step D7 where disk array # 0 is repaired. On the other hand, if it is not the highest setting, it is determined whether or not there is no influence even if the priority of the disk array # 1 other than LU # 0 is lowered (step D4).
[0063]
If there is an influence, the process proceeds to step D7 where disk array # 0 is repaired. On the other hand, if there is no influence, the current priority is stored in a predetermined storage area (step D5), the operation priority of LU # 0 of disk array # 1 is set to the highest (step D6), and disk array # 0. Is restored.
[0064]
After the disk repair is completed, the priority of data transfer processing from LU # 0 of disk array # 1 to LU # 0 of disk array # 0 is set to the highest (step D8), and data copy is executed (step D8). D9), the priority saved in step D5 is restored (step D10).
[0065]
As described above, according to the second embodiment, the processing priority between the normal processing and the plurality of background processing for each logical unit depends on the use and various states of each logical unit in each disk array. Is created for each disk array, and each process is performed based on this priority table. Therefore, the optimization of the process can be further enhanced as compared with the first embodiment. .
[0066]
【The invention's effect】
As described above in detail, according to the present invention, in a system including a plurality of storage devices that perform normal processing in response to an access request from a computer and a plurality of other background processing, the processing of the entire system is optimized. Can be
[Brief description of the drawings]
FIG. 1 is a block diagram showing the configuration of a system to which a processing optimization method according to a first embodiment of the present invention is applied.
FIG. 2 is a block diagram showing a configuration of main parts of the system in the first embodiment.
FIG. 3 is a diagram showing an example of an information table used in the information analysis unit in the first embodiment.
FIG. 4 is a diagram showing an example of a priority table stored in the storage device in the first embodiment.
FIG. 5 is a flowchart for explaining the operation according to the first embodiment;
FIG. 6 is a block diagram showing the main configuration of a system according to a second embodiment of the present invention.
FIG. 7 is a flowchart for explaining an operation according to the second embodiment;
FIG. 8 is a flowchart for explaining a first example of dynamically changing a priority table in the second embodiment.
FIG. 9 is a flowchart for explaining a second example of dynamically changing the priority table in the second embodiment.
FIG. 10 is a flowchart for explaining a second example of dynamically changing the priority table in the second embodiment.
[Explanation of symbols]
10 to 1M Host computer (# 1 to #M)
20 to 2N: disk array device (# 1 to #N)
30 ... Network / channel network 41 ... OS (Operating System)
42 ... Application software 43 ... Priority setting command issuing unit 45 ... Information analyzing unit 46 ... Command issuing unit 51 ... Internal bus 52 ... Host interface 53 ... Microprocessor 54 ... Disk side control software 55 ... Priority control unit 56 ... Priority Table 57 ... Information collection and analysis section

Claims (9)

任意の記憶装置に対してアクセス要求を出すコンピュータと、前記コンピュータからのアクセス要求に応じた通常処理及びそれ以外の複数のバックグランド処理を行う複数の記憶装置とを備えたシステムに適用される処理最適化方法であって、
前記コンピュータにおいて、各記憶装置内の各論理ユニットの用途を情報テーブルに基づいて判断し、その判断結果に基づいて各論理ユニットについての前記通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルを記憶装置毎に作成してそれらを各記憶装置に対して発行し、
前記各記憶装置において、発行された前記優先度テーブルを取得して格納し、格納した優先度テーブルの内容に従って処理を行うことを特徴とする処理最適化方法。
Processing applied to a system including a computer that issues an access request to an arbitrary storage device, and a plurality of storage devices that perform normal processing according to the access request from the computer and a plurality of other background processing An optimization method,
In the computer, the use of each logical unit in each storage device is determined based on the information table, and the processing priority between the normal processing and the plurality of background processing for each logical unit is determined based on the determination result. Create a priority table for each storage device and issue them to each storage device,
In each of the storage devices, the issued priority table is acquired and stored, and processing is performed according to the contents of the stored priority table.
前記コンピュータにおいて、前記各記憶装置内の状態を示す情報を取得し、その取得した情報及び前記用途に応じて前記優先度テーブルを作成することを特徴とする請求項1記載の処理最適化方法。  The process optimization method according to claim 1, wherein the computer acquires information indicating a state in each storage device, and creates the priority table according to the acquired information and the application. 前記各記憶装置内の状態の変化に応じて前記優先度テーブルの内容を動的に変更することを特徴とする請求項2記載の処理最適化方法。  3. The process optimization method according to claim 2, wherein the contents of the priority table are dynamically changed according to a change in the state in each storage device. コンピュータからのアクセス要求に応じた通常処理及びそれ以外の複数のバックグランド処理を行う複数の記憶装置に対してアクセス要求を行うコンピュータであって、
各記憶装置内の各論理ユニットの用途を情報テーブルに基づいて判断し、その判断結果に基づいて各論理ユニットについての前記通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルを記憶装置毎に作成し、それらを各記憶装置に対して発行する手段を備えたことを特徴とするコンピュータ。
A computer that makes an access request to a plurality of storage devices that perform normal processing in response to an access request from a computer and a plurality of other background processing,
A priority table that determines the use of each logical unit in each storage device based on the information table and indicates the processing priority between the normal processing and the plurality of background processing for each logical unit based on the determination result A computer comprising: means for creating a storage device for each storage device and issuing them to each storage device.
前記各記憶装置内の状態を示す情報を取得し、その取得した情報及び前記用途に応じて前記優先度テーブルを作成することを特徴とする請求項4記載のコンピュータ。  5. The computer according to claim 4, wherein information indicating a state in each storage device is acquired, and the priority table is created according to the acquired information and the usage. 前記各記憶装置内の状態の変化に応じて前記優先度テーブルの内容を動的に変更することを特徴とする請求項5記載のコンピュータ。  6. The computer according to claim 5, wherein the contents of the priority table are dynamically changed according to a change in the state in each storage device. 通常処理及びそれ以外の複数のバックグランド処理を行う記憶装置であって、
前記記憶装置内の各論理ユニットの用途を情報テーブルに基づいて判断し、その判断結果に基づいて各論理ユニットについての前記通常処理及び複数のバックグランド処理の間の処理優先度を示す優先度テーブルを備え、この優先度テーブルの内容に従って処理を行うことを特徴とする記憶装置。
A storage device that performs normal processing and a plurality of other background processing,
A priority table that determines the use of each logical unit in the storage device based on an information table and indicates the processing priority between the normal process and the plurality of background processes for each logical unit based on the determination result And a storage device that performs processing according to the contents of the priority table.
前記記憶装置内の状態を示す情報を収集する手段を備え、当該情報及び前記用途に応じて前記優先度テーブルが作成されることを特徴とする請求項7記載の記憶装置。  8. The storage device according to claim 7, further comprising means for collecting information indicating a state in the storage device, wherein the priority table is created according to the information and the application. 前記記憶装置内の状態の変化に応じて前記優先度テーブルの内容が動的に変更されることを特徴とする請求項8記載の記憶装置。  9. The storage device according to claim 8, wherein the content of the priority table is dynamically changed in accordance with a change in the state in the storage device.
JP2001079352A 2001-03-19 2001-03-19 Processing optimization method, computer, and storage device Expired - Fee Related JP3987295B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001079352A JP3987295B2 (en) 2001-03-19 2001-03-19 Processing optimization method, computer, and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001079352A JP3987295B2 (en) 2001-03-19 2001-03-19 Processing optimization method, computer, and storage device

Publications (2)

Publication Number Publication Date
JP2002278704A JP2002278704A (en) 2002-09-27
JP3987295B2 true JP3987295B2 (en) 2007-10-03

Family

ID=18935817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001079352A Expired - Fee Related JP3987295B2 (en) 2001-03-19 2001-03-19 Processing optimization method, computer, and storage device

Country Status (1)

Country Link
JP (1) JP3987295B2 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4322068B2 (en) * 2003-03-07 2009-08-26 富士通株式会社 Storage system and disk load balance control method thereof
US7650385B2 (en) 2003-11-20 2010-01-19 International Business Machines Corporation Assigning priorities
JP4703959B2 (en) * 2003-12-03 2011-06-15 株式会社日立製作所 Storage device system and replication creation method thereof
JP2005301590A (en) 2004-04-09 2005-10-27 Hitachi Ltd Storage system and data copying method
US8892780B2 (en) 2007-03-08 2014-11-18 Oracle International Corporation Management of shared storage I/O resources
JP2009223863A (en) * 2008-03-19 2009-10-01 Hitachi Ltd Computer system and command execution frequency control method
US10430338B2 (en) 2008-09-19 2019-10-01 Oracle International Corporation Selectively reading data from cache and primary storage based on whether cache is overloaded
US8868831B2 (en) 2009-09-14 2014-10-21 Oracle International Corporation Caching data between a database server and a storage system
CN102203773B (en) 2008-09-19 2014-03-19 甲骨文国际公司 Hash join using collaborative parallel filtering in intelligent storage with offloaded bloom filters
JP2011070395A (en) 2009-09-25 2011-04-07 Canon Inc Memory controller, memory control method and program
JP5353732B2 (en) * 2010-01-27 2013-11-27 富士通株式会社 Storage management device, storage system, storage management program, and storage management method
US8423735B2 (en) 2010-05-21 2013-04-16 International Business Machines Corporation Space reservation in a deduplication system
US8458511B2 (en) 2010-09-17 2013-06-04 Oracle International Corporation Fault isolation using code paths
US10489365B2 (en) 2013-03-14 2019-11-26 Oracle International Corporation Predicate offload of large objects
US10528590B2 (en) 2014-09-26 2020-01-07 Oracle International Corporation Optimizing a query with extrema function using in-memory data summaries on the storage server
US10642837B2 (en) 2013-03-15 2020-05-05 Oracle International Corporation Relocating derived cache during data rebalance to maintain application performance
JP6160236B2 (en) * 2013-05-20 2017-07-12 富士通株式会社 Information processing apparatus, information processing system, information processing apparatus control method, and information processing apparatus control program
US9798655B2 (en) 2013-09-20 2017-10-24 Oracle International Corporation Managing a cache on storage devices supporting compression
US10229161B2 (en) 2013-09-20 2019-03-12 Oracle International Corporation Automatic caching of scan and random access data in computing systems
US10331573B2 (en) 2016-11-04 2019-06-25 Oracle International Corporation Detection of avoidable cache thrashing for OLTP and DW workloads
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US11200234B2 (en) 2019-06-14 2021-12-14 Oracle International Corporation Non-disruptive dynamic ad-hoc database catalog services
US10990596B2 (en) 2019-06-14 2021-04-27 Oracle International Corporation Non-disruptive referencing of special purpose operators for database management systems

Also Published As

Publication number Publication date
JP2002278704A (en) 2002-09-27

Similar Documents

Publication Publication Date Title
JP3987295B2 (en) Processing optimization method, computer, and storage device
US7975168B2 (en) Storage system executing parallel correction write
US6009481A (en) Mass storage system using internal system-level mirroring
US6330642B1 (en) Three interconnected raid disk controller data processing system architecture
US7568075B2 (en) Apparatus, system and method for making endurance of storage media
US6961818B1 (en) Method, system and computer program product for managing data in a mirrored cache using an access balancing technique
US8166270B2 (en) Storage control apparatus, data management system and data management method for determining storage heirarchy based on a user policy
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
JP4109416B2 (en) Dynamic mirror service policy
US5819310A (en) Method and apparatus for reading data from mirrored logical volumes on physical disk drives
JP4903415B2 (en) Storage control system and storage control method
US6604171B1 (en) Managing a cache memory
EP1876519A2 (en) Storage system and write distribution method
EP1860543A2 (en) Storage controller
WO1999038067A1 (en) An apparatus and method for automatic configuration of a raid controller
US20040064641A1 (en) Storage device with I/O counter for partial data reallocation
JP2010097372A (en) Volume management system
JPH06202817A (en) Disk array device and data updating method for the same
WO2007047438A2 (en) Method and apparatus for mirroring customer data and metadata in paired controllers
JP2007156597A (en) Storage device
US7761659B2 (en) Wave flushing of cached writeback data to a storage array
US20080168226A1 (en) Correction method for reading data of disk array system
US8234457B2 (en) Dynamic adaptive flushing of cached data
US20110022889A1 (en) Disk array apparatus and physical disk restoration method
US6954833B1 (en) Expedited dynamic mirror service policy

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070710

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070712

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110720

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees