JP4091225B2 - ディスク・タイムシェアリング装置及び方法 - Google Patents

ディスク・タイムシェアリング装置及び方法 Download PDF

Info

Publication number
JP4091225B2
JP4091225B2 JP32909599A JP32909599A JP4091225B2 JP 4091225 B2 JP4091225 B2 JP 4091225B2 JP 32909599 A JP32909599 A JP 32909599A JP 32909599 A JP32909599 A JP 32909599A JP 4091225 B2 JP4091225 B2 JP 4091225B2
Authority
JP
Japan
Prior art keywords
input
time
output
disk
quantum
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
JP32909599A
Other languages
English (en)
Other versions
JP2001147886A (ja
Inventor
勇次 堀田
理一郎 武
匡史 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32909599A priority Critical patent/JP4091225B2/ja
Publication of JP2001147886A publication Critical patent/JP2001147886A/ja
Application granted granted Critical
Publication of JP4091225B2 publication Critical patent/JP4091225B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の入出力に基づいてディスク装置の使用をスケジューリングするディスク・タイムシェアリング装置及び方法に関し、特に、競合する入出力に対し割当て時間を順番に切替えるようにディスク装置の使用をスケジューリングするディスク・タイムシェアリング装置及び方法に関する。
【0002】
【従来の技術】
従来、ハードディスクドライブ等のディスク装置を使用してデータを管理するストレージシステムにあっては、例えばディクス装置をRAID構成の装置とし、このRAID装置をディスク制御装置の配下に接続して上位のホストからの入出力を処理したり、直接、サーバにRAID装置を接続し、サーバOSからの入出力を処理するようにしている。
【0003】
このようなストレージシステムにあっては、同一のディスク装置に対して、応答時間の保証が要求されるランダムアクセスと、単位時間当たりの処理量が重視されるシーケンシャルアクセスを行う必要がある場合、ランダムアクセスとシーケンシャルアクセスが競合しないように、時間帯を分けた運用を行っている。例えば、昼間は、ディスク装置のデータベースに対してランダムアクセス中心のOLTP業務(On Line Transaction Processing)を行い、業務終了後の夜間にデータベースのバックアップを行っている。
【0004】
【発明が解決しようとする課題】
1.ランダムアクセスとシーケンシャルアクセスの資源配分
しかしながら、このようなストレージシステムにあっては、業務の無停止化に伴い、夜間といえどもランダムアクセス系のOLTP業務を継続する必要が出てきたため、ランダムアクセス系のOLTP業務中にシーケンシャルアクセスであるバックアップの実行が必要となってきている。
【0005】
ランダムアクセスのみの場合は、ある平均応答時間、例えば30msを満たせる単位時間当りの入出力回数であるIOPS(Input Output Per Second )、例えば100IOPSを見積もることができる。シーケンシャルアクセスのみの場合は、例えば20MB/sといったスループットを見積もることができる。
【0006】
ところが、ランダムアクセスとシーケンシャルアクセスを同時に行った場合は、受け付けた入出力を要求をFIFOを用いたキューで処理するため、ランダムアクセスがディスク装置を使用できる時間およびシーケンシャルアクセスがディスク装置を使用できる時間を保証する仕組みがない。
【0007】
例えば、平均応答時間30msで50IOPSのランダムアクセスと、5MB/sのシーケンシャルアクセスが欲しい場合でも、シーケンシャルアクセスが頻繁に発生するとシーケンシャルアクセスのスループットは、上がる必要はないのであるが、5MB/sから10MB/sに上がる。逆にランダムアクセスで平均応答時間30msを満たすIOPSは、低下させたくはないにもかかわらず、50IOPSから25IOPSに低下する。
2.論理ボリューム間の資源配分
また従来のストレージシステムは、性能要件の異なるデータは異なるディスク装置に配置することで、それぞれの性能特性を引き出している。例えば、小量データのランダムアクセスで応答時間の保証が要求されるデータと、大量データのシーケンシャルアクセスで単位時間当たりの処理量が重視されるデータは、異なるディスク装置に配置している。
【0008】
ところが、ディスク装置の大容量化に伴い、異なる性能要件のデータを同一ディスク装置に配置するケースが増えてきている。このように異なる性能要件の論理ボリュームを同一ディスクに配置した場合も同様の問題が生じる。従来は、受け付けた入出力をFIFOでスケジュールして論理ボリューム間のディスク資源分配を制御する仕組みがない。このため、ある論理ボリュームへの入出力が頻繁に発生すると、他の論理ボリュームへの入出力性能が低下する。
【0009】
例えば、10IOPSを保証して欲しいボリュームAと、50IOPSを保証して欲しいボリュームBを同一ディスクに配置した場合、ボリュームAへのアクセスが頻繁に発生するとボリュームAのIOPSは、上がる必要はないにもかかわらず、10IOPSから20IOPSに上がる。逆にボリュームBのIOPSは、低下させたくはないにもかかわらず、50IOPSから40IOPSへと低下する。
3.通常処理とバックアップ/コピー処理間の資源配分
従来のストレージシステムで、同一ディスク装置上に複数の論理ボリュームが存在し、個々の論理ボリューム単位でバックアップやコピーを行う場合を考える。従来は、バックアップ/コピー処理による通常の入出力への影響を抑えるため、バックアップ/コピー処理のペース(インターバル)を、バックアップ/コピー処理の実行時に設定する手法を採っている。
【0010】
ところが、ボリュームAをコピー中に、ボリュームAと同じディスク装置上のボリュームBに対してコピーを実行すると、同時に2多重のコピー処理が同一のディスク装置上で動作するため、通常の入出力への影響は2倍になる。
4.通常処理とリビルディング間の資源配分
RAID装置では、複数のディスクドライブでデータを冗長化させることにより、1つのディスクドライブに障害が発生しても残りのディスクドライブからデータを復旧することができる。このため、RAID装置では、ディスクドライブに障害が発生しても、通常の入出力を継続することができる。
【0011】
また、交換されたディスクドライブに対して、残りのディスクドライブからデータの復旧が行われる。この復旧処理のことをリビルディング(Rebuilding)と呼ぶ。リビルディングは、RAID装置を構成するディスクドライブに対する入出力処理を伴うため、同一のディスクドライブを通常の入出力と奪い合うことになる。
【0012】
このため、リビルディングにより通常の入出力の性能は低下する。例えば、ミラー構成をとるRAID1の場合、リビルディングは、ディスクドライブの障害により1台になったディスクドライブから交換された新しいディスクドライブへデータをコピーする処理であり、コピー元のディスクドライブに対しリード入出力が発生する。このリード入出力が通常の入出力を待たせることになり、通常の入出力の性能が低下する。
【0013】
この問題を解消するための従来のアプローチは2つある。第1のアプローチは、通常の入出力に影響を与えないように、十分長いインターバルで、十分小さいデータをコピーする。この場合、通常の入出力への影響は小さくすることができるが、リビルディング完了までの時間が長くなる。例えば9GBのディスクドライプで構成するRAID1の場合、10時間前後が必要となる。
【0014】
第2のアプローチは、ディスクドライブが空いていれば、即ち、通常の入出力でディスクドライブを使用していなければ、リビルディングの入出力をスケジュールする。この場合の問題は、リビルディング完了までの時間が保証できない点にある。これはディスクドライブがほとんど空いていないと、リビルディングに長時間必要になってしまう。
5.最大応答時間保証
ミッションクリティカルな業務では、入出力性能の要件として平均応答時間の他に最大応答時間が重要となる。近年のディスク装置は、実行待ち入出力を処理時間が最短になるように並び替えるリ・オーダリング機能(Re-ordering 機能)を持っている。
【0015】
リ・オーダリング機能は、ディスク装置が、実行待ち入出力の中からシーク時間と回転待ち時間の和で定義されるポジショニング時間を最小にする入出力を、次に実行する入出力として選ぶ機能である。ディスク装置に入出力を依頼する際に、リ・オーダリングの対象として良い旨のタスク指定となるシンプルタスク(Simple task)をディスク装置に通知する。
【0016】
ディスク装置はシンプルタスク指定の入出力の場合は、ポジショニング時間を最小にするような順番で入出力をスケジュールする。これにより、ランダムアクセス時の平均処理時間が短縮される。例えば、ランダムアクセスの平均処理時間は、リ・オーダリング機能を使用することにより、9msから5msに短縮する。
【0017】
リ・オーダリング機能は、このようにディスク装置のスループットを向上させるが、最大応答時間が大きくなる問題がある。これは、次の入出力にポジショニング時間が最小となる入出力を選択するため、ある入出力が長い間待ちのままでスケジュールされない現象が発生するためである。
【0018】
この現像を解決するため、ディスク装置は、リ・オーダリングの対象として良いことを指定するシンプルタスクの他に、オーダードタクス(Ordered task)を指定する機能を備えている。オーダードタクスの指定で入出力を依頼すると、ディスク装置は、それまでに受け付けていた未だ完了していない入出力を全て完了させた後、オーダードタスクの入出力をスケジューリングする。
【0019】
このようにシンプルタクスの間にオーダードタスクを混ぜることにより、入出力の最大応答時間の延長を抑えることが可能となる。しかし、ランダムアクスセとシーケンシャルアクセス間、論理ボリューム間、通常処理とバックアップ/コピー処理やリビルディング処理間の資源配分を考えた場合、スループット(IOPS)を向上させるためのシンプルタクスの利用に加え、シンプルタクスクを使った場合の最大応答時間の保証が課題となる。
【0020】
このような問題を解決するため、本願発明者にあっては、ディクス装置に種類の異なる複数の入出力が競合した場合の性能の最低保証を可能とするディスク・タイムシェアリング装置及び方法を提案している(特願平11−218757号)。
【0021】
このディスク・タイムシェアリング装置は、1又は複数のディスクドライブを備えたディスク装置、ディスク装置に入出力要求を発行する入出力要求部、及びディスク装置への入出力元をグループ化した入出力グループを形成すると共に各入出力グループがディスク装置を使用する時間の比率を定義し、定義された時間比率に基づき各入出力グループが連続してディスク装置16を使用できるクォンタムτ1,τ2,τ3(割当時間)を決定し、複数の入出力グループからディスク装置に入出力の依頼を受け付けている場合、競合した入出力グループ間でクォンタムτ1,τ2,τ3を順番に切り替えてディスク装置を使用するタイムシェアリングを行う入出力スケジュール機構を備える。
【0022】
具体的には、入出力スケジュール機構は、シーケンシャルアクセスと判断された入出力はシーケンシャルアクセス入出力グループに、それ以外の入出力はランダムアクセス入出力グループに対応させ、シーケンシャルアクセスとランダムアクセスでディスク装置のタイムシェアリングを行う。
【0023】
このため、ランダムアクセス要求がどれだけ多く発生しようとも、シーケンシャルアクセスの入出力でディスク装置を使用できる時間が保証されているから、シーケンシャルアクセス性能の最低値保証が可能となる。また、ランダムアクセスの入出力でディスク装置を使用できる時間が保証されているから、ランダムアクセス性能の最低保証が可能となる。
【0024】
ところで、システム管理者であるユーザの要求として、ランダムアクセス入出力の平均レスポンス時間は例えば30ms以下に抑えたいという要求があるとする。ここでディスクタイムシェアリングにより、1回のタイムシェアリングの周期TSをTS=100ms、ランダムクォンタムとシーケンシャルクォンタムの時間比率(以下「RS比」という)をRS比=90%(但し、ランダム側からみた比率RS=R/TSで算出される)で、タイムシェアリング処理を行っているものとする。
【0025】
通常の比較的軽い負荷の状態で、タイムシェアリング周期TSを100msと設定した場合は、平均レスポンス時間Ave[ms]、最大レスポンス時間Max[ms]はともに短くなるため、この設定で都合が良い。しかし、負荷が重くなった場合には、タイムシェアリング周期TS=100msでは処理し切れず、平均レスポンスAveの悪化を招く。
【0026】
そこでタイムシェアリング周期TSを予め例えば300msのように長い時間に設定することで、負荷が重くなった場合の平均レスポンスAveの悪化を抑制できるが、逆に負荷が軽い時のレスポンス時間がTS=100msの設定に比べて長くなり、素早い応答が得られない問題がある。
【0027】
本発明は、ユーザの要求性能を満足するタイムシェアリングの動作条件を実績値に基づいて自動的に調整可能なディスク・タイムシェアリング装置及び方法を提供することを目的とする。
【0028】
【課題を解決するための手段】
図1は本発明の原理説明図である。まず本発明は、図1(A)のように、ディスク装置16、入出力要求部18及び入出力スケジュール機構20を備えたディスク・タイムシェアリング装置を対象とする。
【0029】
ここで、ディスク装置16は、1又は複数のディスクドライブを備え、入出力要求部18は、ディスク装置に入出力要求を発行する。更に、入出力スケジュール機構20は、ディスク装置への入出力元をグループ化した入出力グループを形成すると共に各入出力グループがディスクを使用する時間の比率を定義し、定義された時間比率に基づき各入出力グループが連続してディスク装置を使用できる割当時間(クォンタム)を決定し、複数の入出力グループからディスク装置に入出力の依頼を受け付けている場合、競合した入出力グループ間で前記割当時間を順番に切り替えてディスク装置を使用するタイムシェアリングを行う。
【0030】
このようなディスク・タイムシェアリング装置につき本発明は、要求性能と実績に応じて前記タイムシェアリングの動作条件を自動的に調整するチューニング部52を設けたことを特徴とする。
【0031】
このため本発明のディスク・タイムシェアリング装置は、シミュレーションあるいは実測等により得られた平均レンスポンス、最大レスポンス、スループット等の実績(統計情報)を保存し、チューニング部により負荷の状態と保存した実績を元に、ユーザ要求性能を満たす最適な調整値を決定し、この調整値に基づいてタイムシェアリングの動作条件を自動的に調整でき、ユーザの性能要求に適切に対応できる。
【0032】
ここで入出力スケジュール機構20は、複数の入出力グループとして、少なくともランダムアクセス入出力グループとシーケンシャルアクセス入出力グループを形成する。
【0033】
チューニング部52は、図1(B)のように、要求性能設定部56、第1乃至第3基礎データ62,64,66、及び動作条件決定部58を備える。要求性能設定部56は、
(1)負荷の状態IOPS(実測値又は設定値)、
(2)ランダムアクセス入出力グループに平均レスポンス時間Ave[ms]と最大レスポンス時間Max[ms]、
(3)シーケンシャルアクセス入出力グループのスループットThP[MB/s]、
の各々を要求性能値として設定する。
【0034】
第1基礎データ62は、ランダムアクセスの負荷IOPS毎に分けた平均レスポンスAveの実績値を、タイムシェアリング周期TSと、ランダムアクセスとシーケンシャルアクセスの割当時間比率(クォンタム比率)であるRS比率に対応して格納する。
【0035】
第2基礎データ64は、ランダムアクセスの負荷IOPS毎に分けた最大レスポンスMaxの実績値を、タイムシェアリング周期TSと、ランダムアクセスとシーケンシャルアクセスの割当時間比率であるRS比率に対応して格納する。
【0036】
第3基礎データ66は、スループットThPの実績値を、タイムシェアリング周期TSと、ランダムアクセスとシーケンシャルアクセスの割当時間比率であるRS比率に対応して格納する。
【0037】
更に、動作条件決定部58は、要求性能設定部で設定した1又は複数の要求性能値を満足するタイムシェリング周期TSと、ランダムアクセスとシーケンシャルアクセスの割当時間比率(RS比)を、ランダム負荷と第1乃至第3基礎データの参照で調整値として決定し、タイムシェアリングの動作条件を自動的に調整する。
【0038】
チューニング部52は、達成できない要求性能値がある場合に、要求性能の種別に優先順を付け、次のいずれかのモードを使用して動作条件を自動調整する。
(1)上位の優先度の要求性能を達成できる設定範囲では下位の要求性能が達成できない場合に、下位の要求性能は考慮しないで調整値を決定する第1モード。
(2)上位の優先度の要求性能が達成できる設定範囲では下位の要求性能が達成できない場合も、下位の要求性能を考慮して調整値を決定する第2モード。
(3)上位の優先度の要求性能が達成できる設定範囲では下位の要求性能が達成できない場合に、上位の設定範囲内から下位の性能が最善になる調整値を選択する第3モード。
(4)上位の優先度の要求性能が達成できる設定範囲では下位の要求性能が達成できない場合に、上位の設定範囲から回の性能が良くなる候補を複数点選択し、全託した候補の中から上位の性能が最善になる調整値を選択する第4モード。
【0039】
このように要求性能に優先順位を付けて調整値を決定することで、全ての要求性能を満足しなくとも、ユーザの重視する優先度の高い要求性能を満足するように自動調整され、ユーザの要求を適切に反映できる。
【0040】
また本発明は、1又は複数のディスクドライブを備えたディスク装置と、前記ディスク装置に入出力要求を発行する入出力要求部と、前記入出力に基づいて前記ディスク装置の使用をスケジューリングする入出力スケジュール機構とを備えたディスク・タイムシェアリング方法を提供するものであり、
ディクス装置への入出力元をグループ化した入出力グループを形成すると共に各入出力グループがディスクを使用する時間の比率を定義し、
定義された時間比率に基づき各入出力グループが連続してディスク装置を使用できる割当時間(クォンタム)を決定し、
複数の入出力グループからディスク装置に入出力の依頼を受け付けている場合、競合した入出力グループ間で割当時間を順番に切り替えてディスク装置を使用するタイムシェアリングを行い、
更に、要求性能と実績に応じてタイムシェアリングの動作条件を自動的に調整することを特徴とする。
【0041】
尚、この方法につていの詳細は、装置と基本的に同じになる。
【0042】
【発明の実施の形態】
図2は、本発明が適用されるストレージシステムのブロック図である。図2において、ストレージシステムは、デバイス制御装置12、アレイディスク装置14、及びディスク装置16で構成される。デバイス制御装置12に対しては、ホスト10−1〜10−nが接続されており、ホスト10−1〜10−nのアプリケーションにより入出力要求をデバイス制御装置12に対し行っている。
【0043】
アレイディスク装置14は、デバイス制御装置12からの入出力要求を受けつけ、ディスク装置16に対し受けつけた入出力要求を発行する。本発明のディスク・タイムシェアリング装置は、アレイディスク装置14に設けた入出力要求依頼部18及びディスク入出力スケジュール機構20と、ディスク装置16に設けたディスク入出力処理部22及びディスクドライブ24−1〜24−nで構成される。
【0044】
またディスク装置16に設けている複数のディスクドライブ24−1〜24−nがRAID構成をとる場合には、アレイディスク装置14にはRAID制御機構がさらに設けられることになる。
【0045】
更に本発明のディスク・タイムシェアリング装置は、アレイディスク装置14のディスク入出力スケジュール機構20に対しチューニング機構50を設けており、チューニング機構50はチューニング部52と基礎データファイル54を備える。
【0046】
チューニング部52は、ユーザが希望した要求性能を満足するように、負荷と基礎データに基づいてディスク入出力スケジュール機構20におけるタイムシェアリングの動作条件を自動的に調整する。
【0047】
図3は、図2のストレージシステムに適用された本発明のタイムシェアリング装置の基本的な実施形態のブロック図であり、RAID構成のディスク装置を例にとっている。
【0048】
図3において、アレイディスク装置14は、入出力要求部18、RAID制御部26、ディスク入出力スケジュール機構20を備える。またディスク装置16にはディスク入出力処理部22が設けられ、このディスク入出力処理22に対し、例えばRAID1の構成(ミラーディスク構成)をとる2台のディスクドライブ24−1,24−2が接続されている。
【0049】
このような本発明のディスク・タイムシェアリング装置は、入出力要求部18からのディスク装置16への入出力要求をグループ化して入出力グループを形成すると共に、各入出力グループがディスク装置16を使用する時間の比率を定義し、定義された時間比率に基づき各入出力グループが連続してディスク装置を使用できるクォンタム(割当時間)を決定し、複数の入出力グループから依頼を受けつけている場合に競合した入出力グループ間でクォンタムを順番に切り替えてディスク装置16を使用するようにスケジューリングする処理を行う。
【0050】
またひとつの入出力グループからのみ入出力の依頼のある場合は、ひとつの入出力グループからの入出力に対しディスク装置16を連続して使用可能とするスケジューリングを行う。
【0051】
このような本発明のディスク・タイムシェアリング処理を実現する図3の各部の構成及び機能を更に詳細に説明すると次のようになる。入出力要求部18は、例えば図2に示した上位のデバイス制御装置12からのコマンドに基づきディスク装置16に対する入出力要求をRAID制御部26を介してディスク入出力スケジュール機構20に発行する。RAID制御部は、依頼された論理入出力要求を物理入出力要求に変換する処理を主に行う。
【0052】
ディスク入出力スケジュール機構20には、ディスク・タイムシェアリング制御情報30−1,30−2、入出力スケジュール部32、入出力要求受付部34、及び入出力完了処理部36が設けられる。ディスク・タイムシェアリング制御情報30−1,30−2は、ディスク装置16に設けているディスクドライブ24−1,24−2単位に設けられる。
【0053】
入出力スケジュール部32は、ディスクドライブ24−1,24−2単位に設けられたディスク・タイムシェアリング制御情報30−1,30−2を参照及び更新してディスク・タイムシェアリングを行う。
【0054】
ここでディスク・タイムシェアリング制御情報30−1について説明すると、この実施形態にあっては入出力グループをG1,G2,G3の3つに分けて定義した場合を例にとっており、入出力グループG1〜G3に対応してスケジュール待ちグループキュー38−1,38−2が設けられる。このスケジュール待ちグループキュー38−1〜38−3には、入出力要求受付部34で受けつけた入出力要求がキューを構成するFIFOに格納することで並ぶ。
【0055】
また入出力グループG1〜G3に対応して完了待ちグループキュー40−1,40−2,40−3が設けられる。完了待ちグループキュー40−1,40−3には、ディスク装置16への入出力依頼が完了し、ディスク装置16から入出力完了応答を受けていない入出力要求がキューを構成するFIFOに格納することで並んでいる。
【0056】
更に入出力グループG1〜G3に対応してグループ用クォンタム42−1,42−2,42−3が設けられる。このグループ用クォンタム42−1〜42−3には、入出力グループG1〜G3がディスク装置16を使用する時間の比率α1,α2,α3を予め定義し、この定義された比率α1,α2,α3に基づき、それぞれの入出力グループG1〜G3が連続してディスク装置を使用できる割当時間となるクォンタムτ1,τ2,τ3を決定して格納している。
【0057】
例えば1回のタイムシェアリングを行なうタイムシェアリング周期をTSとすると、入出力グループG1〜G3のクォンタムτ1〜τ3は次式で定義される。
【0058】
τ1=α1・TS
τ2=α2・TS
τ3=α3・TS
このような入出力グループG1〜G3のディスク装置16の使用を決めるクォンタムτ1〜τ3の適正値は次のようにして決める。まずクォンタムは値を小さくしすぎるとディスク装置16の入出力処理時間に近くなり、ポジショニング時間を最小とするように入出力を選択するリ・オーダリングの効果が小さくなり、全体の入出力性能が低下する。
【0059】
逆にクォンタムの値が大きすぎると、他の入出力グループに切り替えるクォンタムの待ち時間が延びることにより、平均入出力処理時間及び最大入出力処理時間が延びることになる。例えばクォンタムτ1とクォンタムτ2をそれぞれ1時間に設定すると、クォンタムτ1の処理中はクォンタムτ2の入出力を実行できないため、クォンタムτ2の入出力はクォンタムτ1の終了を1時間待つことになる。
【0060】
本願発明者の実験によれば、入出力の平均処理時間が数ms〜20msのディスク装置16の場合、クォンタムの値としては数十ms〜数百msが望ましい。
【0061】
また本発明のディスク・タイムシェアリングにあっては、ランダムアクセスの割当時間となるクォンタムR、シーケンシャルアクセスの割当時間となるクォンタムSとした場合、両者のクォンタム比率(割当時間比率)をRS比と呼び、次式で定義する。
【0062】
RS比=R/(R+S)
これはランダムアクセス側から見たクォンタム比率である。そして、このRS比を調整値として可変設定することで、タイムシェアリング周期TS内でのランダムアクセスとシーケンシャルアクセスの割当時間を変更できるようにしている。
【0063】
ここでディスク入出力スケジュール機構20でグループ化する入出力としては、例えば次のグループ化がある。
【0064】
(1)ランダムアクセスの入出力グループ
(2)シーケンシャルアクセスの入出力グループ
(3)論理ボリュームによる入出力グループ
(4)コピー/バックアップ処理による入出力グループ
(5)RAIDのリ・ビルディング処理による入出力グループ
これにの入出力グループの形成は、入出力要求依頼部14にシーケンシャルアクセス検出機構45、バックアップ検出機構78及びリビルディング機構84が設けられていることを前提としている。
【0065】
このため本発明にあっては、例えばランダムアクセス、シーケンシャルアクセス、及びコピー/バックアップ処理、及びリ・ビルディング処理の4つの入出力グループG1〜G4を形成してタイムシェアリング周期TSにつき各々にクォンタムを設定してタイムシェアリングする。
【0066】
また複数の入出力グループを1つにまとめてもよい。例えばランダムアクセスとシーケンシャルアクセスを1つの入出力グループにまとめ、コピー/バックアップ処理を各々独立のグループとして3グループを形成してもよい。この場合の同じグループに属するランダムアクセスとシーケンシャルアクセスについては、RS比を応じた割当時間をもつ。
【0067】
ディスク・タイムシェアリング制御情報30−1には、現クォンタム種別44、現クォンタム開始時刻46、更に次入出力タスク種別48が設けられる。この現クォンタム種別44は、ディスク装置16のディスクドライブ24−1,24−2毎に設けられ、現在、ディスクドライブ24−1,24−2を使用している入出力グループの識別子が設定される。
【0068】
現クォンタム開始時刻46は、ディスク装置16のディスクドライブ24−1,24−2毎に設けられ、現在クォンタム種別44に設定されている現在のクォンタムが開始した時刻T0 が設定される。更に次入出力タスク種別48は、ディスク装置16のディスクドライブ24−1,24−2毎に設けられ、次のディスクドライブに対する入出力依頼をシンプル・タスクとするかオーダード・タスクとするかが設定される。この次入出力タスク種別48に設定されるシンプル・タスク又はオーダード・タスクは、ディスク装置16におけるリ・オーダリング機能の効果を十分に生かすために行う。
【0069】
ここでディスク装置16のリ・オーダリング機能は、ディスクドライブ24−1又は24−2のそれぞれについて、実行待ちの入出力の中からシーク時間と回転時間の和で与えられるポジショニング時間を最小とする入出力を次に実行する入出力として選ぶ機能である。
【0070】
このようなリ・オーダリング機能を備えたディスク装置に入出力を依頼する場合、サンプル・タスクを指定するとリ・オーダリングの対象としてよいことをディスクドライブに通知することになる。このサンプル・タスクを指定した入出力を受けつけたディスクドライブは、ポジショニング時間を最小とするような順番で入出力をスケジュールする。
【0071】
しかしながら、リ・オーダリング機能は常にポジショニング時間が最小となる入出力を選択するため、ある入出力が長い間待ちのままスケジュールされない現象が発生する。この現象を解消するためディスクドライブはシンプル・タスクの他にオーダー・タスクの機能を備えている。オーダー・タスクを指定して入出力を依頼すると、ディスクドライブはそれまで受け継いでいた未だ完了していない入出力を全て完了させた後に、オーダード・タスクの入出力をスケジュールする。このためシンプル・タスクの間にオーダード・タスクを混ぜることで、入出力の最大応答時間の延長を押さえることが可能となる。
【0072】
本発明のディスク・タイムシェアリング処理にあっては、クォンタムを切り替えた後の最初の入出力は、オーダード・タスクを指定してディスク装置16に依頼し、クォンタム切り替え前の未だ完了していない入出力を完了させた後に次のクォンタムの入出力を実行する。このためクォンタムに切り替えた後の2つ目以降の入出力についてはシンプル・タスクを指定する。
【0073】
またひとつの入出力グループからの入出力しかない場合には、その入出力グループのスケジュールを連続するためにクォンタムをリセットしながら繰り返すことになる。この場合にあってはクォンタムをリセットした直後の最初の入出力はオーダード・タスクで依頼し、前のクォンタムで完了してない入出力を総て完了した後にリセット後のクォンタムの入出力をスケジュールする。
【0074】
これによって複数の入出力グループの入出力が競合する場合、及びひとつの入出力グループのみの入出力のみを連続させる場合の最大応答時間の延長を防止することができる。
【0075】
図4は、図3のディスク入出力スケジュール機構20に設けている入出力スケジュール部32によるディスク・タイムシェアリングのスケジュールの一例である。
【0076】
図4において、3つの入出力グループG1〜G3について、ディスク・タイムシェアリング制御情報30−1のスケジュール待ちグループキュー38−1〜38−3に入出力要求が格納されている競合状態にあっては、入出力グループG1〜G3毎に決定されたクォンタム持ち時間τ1,τ2,τ3に従って、グループG1〜G3の順に各入出力をスケジューリングしてディスク装置16に入出力を依頼する。
【0077】
例えば時刻t0からのクォンタム持ち時間τ1の間は、入出力グループG1の2つの入出力がスケジュールされる。クォンタム切替えは、入出力完了時点の時刻が現クォンタム切替え時刻を越えた時点で、次の入出力グループのクォンタムに切替える。この切替えは次式で判断する。
Figure 0004091225
即ち、(1)式を満たせば、現クォンタム種別に対応する入出力グループG1の入出力をディスク装置に依頼し、満たさない場合は、次の入出力グループG2のクォンタムに切替える。
【0078】
次の入出力グループG2のクォンタム持ち時間τ2の間には、例えば6つの入出力がスケジュールされている。更に時刻t2でクォンタム持ち時間τ2が経過すると、入出力グループG3のクォンタム持ち時間τ3への切り替えが行われ、例えば入出力グループG3の3つの入出力がスケジュールされる。以下同様にクォンタム持ち時間τ1,τ2,τ3を切り替えて、それぞれの入出力グループの入出力をスケジュールする。
【0079】
図5は、特定の入出力グループの入出力のみが連続した場合のタイムシェアリング処理の一例である。図5において、時刻t0で入出力グループG1のみの入出力が図3のスケジュール待ちグループキュー38−1に並んでおり、残りの入出力グループG2,G3のスケジュール待ちキュー38−2,38−3は空であったとする。
【0080】
この場合には時刻t0からの入出力グループG1のクォンタム持ち時間τ1で入出力グループG1の2つの入出力をスケジュールした後、時刻t1でクォンタム持ち時間τ1をリセットすることで次の同じ入出力グループG1のクォンタムτ持ち時間1をリ・スタートさせ、例えば3つの入出力をスケジュールする。
【0081】
このようにひとつの入出力グループの入出力のみ待ち状態にある時は、そのクォンタムをリセットすることで連続してひとつの入出力グループの入出力をスケジュールする。
【0082】
更に図5にあっては、時刻t2で3つの入出力グループG1〜G3の入出力が競合状態となることで、次のクォンタム持ち時間τ2への切り替えが行われる。しかしながら、クォンタム持ち時間τ2において入出力グループG2の入出力が3つしかなく、クォンタム持ち時間τ2の途中の時刻t3で3つの入出力要求が途絶えている。
【0083】
この場合には、例えば入出力グループG3に待ち状態の入出力要求があることから、時刻t3でクォンタム持ち時間τ3に切り替え、入出力グループG3の例えば3つの入出力をスケジュールする。
【0084】
この図4及び図5に示したディスク・タイムシェアリングのスケジュールにおいて、ディスクドライブに対する入出力の依頼は、クォンタムを切り替えた直後の入出力はオーダード・タスクで依頼し、2回目以降の次のクォンタム切替えまでの入出力はシンプル・タスクで依頼する。
【0085】
このようにディスクドライブ24−1,24−2のリ・オーダリング機能を生かすためには、クォンタムを切り替えた際に現在ディスクトドライブ24−1,24−2に依頼している入出力要求が全て完了するまでの時間を予測し、この予測時間が切り替え後のクォンタム以内であれば、切り替え後にクォンタムの入出力を依頼し、予測時間が切り替え後のクォンタムを越えていた場合には、切り替え後の入出力を依頼せずに次のクォンタムへの切り替えを待つようにする。
【0086】
これはディスク装置16のリ・オーダリングの恩恵を受けるためにはディスク入出力スケジュール機構20において、できるだけ多くの入出力をディスク装置16に依頼する環境を作るためである。
【0087】
シンプルタスクを使う場合、ディスク装置に対して複数の入出力要求を依頼することになる。本発明のディスクタイムシェリングは、ディスク装置での入出力処理時間の時分割制御を目的としているので、ディスク装置へ入出力要求を依頼する際には、依頼された複数の要求をディスク装置で処理するのに必要な時間を予測し、次のクォンタムに切替えた後に切替え後のクォンタム種別の入出力をディスク装置に投入するか否か判断する必要がある。
【0088】
このため、クォンタム切替え時に現在ディスクドライブに依頼している要求が次のクォンタム内で完了して新たな入出力要求が投入できるか否かを判断するため残り時間τr を次式で算出する。
τr =T0 +τ−Tw −Tnow (2)
但し、T0 はクォンタム開始時刻(予測値)
τはクォンタム割当時間
Tw は未処理I/O処理時間(予測値)
Tnow は現在時刻
T0 =Ts +Tw (3)
但し、Ts は切替え前のクォンタム開始時刻
Tw =N×Ta (4)
但し、Nは未処理のI/O数
Ta はアクセス種別毎によるI/Oの平均処理時間
ここで未処理I/0とは、ディスク装置に入出力要求を投入して完了応答が返っていなものをいう。この未処理I/Oには、本発明の実施形態の場合、前未処理I/O、前々未処理I/Oおよび全未処理I/Oがあり、それぞれ直前のクォンタムの未処理I/O、2つ前のクォンタムの未処理I/O、および全てのクォンタムを通じた未処理I/Oを意味する。
【0089】
またクォンタム開始時刻T0 も予測値であり、前クォンタムの残り時間予測により、現クォンタムへの切替えを判断した際に予測する。この時、ディスク装置上で前クォンタムの未処理I/Oの処理が全て完了するのに必要な時間Twを(4)式で予測し、ディスク装置上での前クォンタムの終了時刻、即ち、現クォンタムの開始時刻T0 を(3)式で予測する。
【0090】
(2)式の残り時間Trは、ディスク入出力スケジュール機構が新たな入出力を受け付けた場合、またはディスク装置から入出力の完了応答を受けた場合に算出され、残り時間Tr が
Tr >0
あれば、残り時間ありと判断し、現クォンタムの入出力をディスク装置に投入する。また
Tr ≦0
であれば、残り時間なしと判断し、クォンタムを切替える。
【0091】
ここで前記(2)式のの残り時間Tr の算出に使用するディスクドライブの平均入出力処理時間Ta の算出方法は、例えば直前のn個の入出力処理時間の平均値とする。この場合nは例えばn=10の有限値であってもよし、例えばn=∞つまりシステム始動時からの総ての入出力についてでもよい。
【0092】
更に入出力処理時間の平均値の算出については、入出力グループ毎に平均値を算出する方法と、全ての入出力グループの平均値を算出する方法のいずれかとすることができる。
【0093】
一方、大量データをアクセスする場合、ポジショニング時間がデータ転送時間に比較して短いため、アクセスするデータ量とディスクドライブの転送能力から平均入出力処理時間Ta を予測する。この場合、ポジショニング時間はリ・オーダリング機能の恩恵をどの程度受けられるか、即ちその時のディスクドライブでのリ・オーダリング対象の入出力の数、個々の入出力要求のアドレスの分散具合などによって違ってくるが、大量データアクセスの場合、処理時間に占めるポジショニング時間の割合が小さいため、この場合には処理時間を
(平均ポジショニング時間)+(データ転送時間)
と予測する。
【0094】
例えば転送速度が20MB/s、平均回転待ち時間が3ms、平均シーク時間が5msのディスクドライブで1MBのデータをアクセスする場合、平均ポジショニング時間が8msに対し、転送時間は52msなので、処理時間は両者を加えた60msとする。
【0095】
図6は、クォンタム切替え時の残り時間予測の例であり、シーケンシャル・クォンタムとランダム・クォンタムを交互に繰り返す場合について、図6(A)〜(J)と時間が経過する場合の例である。
【0096】
図6(A)(B)は、ランダム・クォンタムからシーケンシャル・クォンタムへの切替え時に、次のクォンタム開始時刻T0 を予測する例である。ランダム・クォンタムに切替っている現在時刻Tnow で、ランダム・クォンタムの残り時間不足になったとする。このとき、前クォンタムのシーケンシャルI/Oが1要求、現クォンタムのランダムI/Oが3要求の完了応答が返ってきておらず、ディスク装置で処理中である。
【0097】
この場合、図6(B)のように、ディスク装置に投入している処理中I/Oが全て完了するまでの時間Tw1を(4)式で予測し、(2)式より次のシーケンシャル・クォンタムの開始時刻T0 を決定する。またクォンタムをシーケンシャル・クォンタムに切替える。
【0098】
図6(C)〜(F)は、残り時間予測で、残り時間ありと判断する例である。図6(B)でシーケンシャル・クォンタムに切替わった後、ディスク入出力スケジュール機構がシーケンシャルI/Oを現在時刻Tnow で1要求受け付けたとする。この時、ディスク装置に依頼しているI/O要求で完了応答が返ってきていない未処理I/Oとして、ランダムI/Oの1要求がある。即、ディスク装置は、前クォンタムのランダムI/Oの1要求を処理中である。
【0099】
この場合、図6(E)のように、ランダムI/Oの1要求をディスク装置で完了するまでの時間Tw2を(4)式で予測し、図6(B)で求めたクォンタム開始時刻T0 を使用して(2)式より残り時間Tr2を図6(F)のように求める。この場合、Tr2>0であることから、シーケシンャルI/Oをディスク装置に投入することができる。
【0100】
図6(G)〜(J)は、残り時間予測で、残り時間なしと判断する例である。さらに時間が進み、図6(G)の現在時刻Tnow でディスク入出力スケジュール機構がシーケンシャルI/Oを1要求受け付けたとする。この時、ディスク装置に依頼しているI/O要求で完了応答が返ってきていない未処理I/Oとして、のシーケンシャルI/Oの1要求がある。即、ディスク装置は、現クォンタムのシーケンシャルI/Oの1要求を処理中である。
【0101】
この場合、図6(I)のように、シーケンシャルI/Oの1要求をディスク装置で完了するまでの時間Tw3を(4)式で予測し、図6(B)で求めたクォンタム開始時刻T0 を使用して(2)式より残り時間Tr3を図6(J)のように求める。この場合、Tr3<0であることから、残り時間なしと判断し、次のランダム・クォンタムに切替える。
【0102】
図7は、図3のディスク入出力スケジュール機構20に設けた入出力スケジュール部32による本発明のディスクタイム・シェアリング制御処理のフローチャートである。
【0103】
この入出力スケジュール部32によるディスクタイム・シェアリング制御処理は、入出力要求受付部34で入出力要求部18より、ある入出力要求を受付けた際の呼出し、或いは入出力完了処理部36でディスク装置16に依頼した入出力に対する完了報告があったときからの呼出しを受けて動作する。
【0104】
まず図4のスケジュールに示したように、図3のディスク入出力スケジュール機構20において、競合した3つの入出力グループ間でクォンタムを順番に切替えてディスクドライブ24−1のタイムシェアリングを行なう場合を説明する。
【0105】
ステップS1で現クォンタム種別に設定されているクォンタム識別子i=1に対応するスケジュール待ちグループキュー38−1を調べ、待ちの入出力の有無を判定する。
【0106】
スケジュール待ちグループキュー38−1に待ちの入出力があれば、ステップS2に進み、前々クォンタムに未完了の入出力があるか否かチェックする。いま、クォンタム識別子i=1が最初のスケジュールであるとすると、前々クォンタムに未完了入出力はないことから、ステップS3に進み、残り時間Tr を(2)式から予測する。
【0107】
続いてステップS4で残り時間TrがTr >0か否かチェックし、この条件が成立する場合には残り時間ありと判断してステップS8に進む。ステップS4にあっては、現クォンタムのスケジュール待ちグループキュー38−1の先頭の入出力をディスク装置16のディスク入出力処理部22を介してディスクドライブ24−1に依頼し、次入出力タスク種別情報48のタスクをシンプルタクスに設定する。
【0108】
続いてステップS1に戻り、現クォンタムのスケジュール待ちグループキュー38−1に待ちの入出力があるか否かチェックし、待ちがあればステップS2、S3,S8の処理を繰り返す。このような入出力グループG1のクォンタム持ち時間τ1における入出力のスケジュールによりステップS3でTr ≦0となり、残り時間無しが判断されるとステップS5に進み、他の入出力グループG2,G3のスケジュール待ちグループキュー38−2,38−3に待ちの入出力があるか否かチェックする。
【0109】
このとき次の入出力グループG2のスケジュール待ちグループキュー38−2に入出力の待ちがあるとステップS10に進み、次の入出力グループG2のクォンタム持ち時間τ2に切替え、次入出力タスク種別情報48について、次のタスクをオーダードに設定する。同時に、クォンタム現在時刻T0 を(3)式から予測し、予測したT0 を現クォンタム開始時刻に設定する。
【0110】
これにより最初の入出力グループG1のクォンタム持ち時間τ1から次の入出力グループG2のクォンタム持ち時間τ2への切替えが行われ、再びステップS1に戻り、クォンタム切替えに伴う次の入出力グループG2をステップS2,S3,S4,S8により処理する。
【0111】
この時、ステップS10で次のタスクをオーダードに設定しているため、クォンタム切替え後の最初の入出力はオーダードの指定でディスクドライブ24−1に依頼される。依頼が済んだならば次入出力タスク種別情報48のタスクをシンプルに設定する。
【0112】
次に図5に示したように1つの入出力グループ、例えば入出力グループG1の入出力要求が連続した場合の処理を説明する。同じ入出力グループG1の入出力要求の受付けが連続した場合には、ステップS1〜S4の処理をクォンタムt1で繰り返して同じ入出力グループの入出力要求をディスクドライブ24−1に依頼し、この間にステップS4で残り時間無しが判別されるとステップS5に進み、他の入出力グループのスケジュール待ちグループキュー38−2,38−3に待ちの入出力があるか否かチェックする。
【0113】
この時、他の入出力グループG2,G3のスケジュール待ちクループキュー38−2,38−3に待ちの入出力がなく空であった場合には、ステップS9に進み、現クォンタム持ち時間τ1をリセットし次のタスクをオーダードに設定し、同時に、クォンタム現在時刻To を予測して現クォンタム開始時刻に設定し、ステップS1に戻る。この場合、現クォンタム種別はそのままとする。
【0114】
このため現クォンタム持ち時間τ1をリセットした後の次のクォンタムも同じクォンタム持ち時間τ1となり、入出力グループG1の入出力要求が続いている場合には、同じクォンタムτ1が継続される。
【0115】
一方、図5の時刻t2以降に示すように時刻t0〜t2の間に同一入出力グループG1の入力要求が連続してクォンタムt1,t2がリセットにより継続し、時刻t2までに残り2つの入出力グループG2,G3の入出力要求が受付けられてスケジュール待ちグループキュー38−2,38−3に格納されていると、次の入出力グループG2のクォンタム持ち時間τ2への切替えが行われる。
【0116】
しかしながら、図5の時刻t3のようにクォンタム持ち時間τ2の途中で入出力グループG2のスケジュール待ちグループキュー38−2が空になってステップS1で待ちキュー無しが判別されると、ステップS6に進み、他のクォンタムについてスケジュール待ちグループキュー38−1,38−3に待ちの入出力があるか否かチェックする。
【0117】
この時、他のクォンタムに待ちの入出力があればステップS10に進み、全てのクォンタムに未完了の入出力があるか否かチェックし、無ければステップS11に進み、次の入出力グループG3のクォンタム持ち時間τ3に切替え、次タスクをオーダードに設定し、更に、クォンタム開始時刻T0 を予測して設定し、ステップS1に戻ることで切替え後の入出力グループG3の最初の入出力要求をオーダードでディスクドライブ24−1にステップS1〜S4,S8の処理を通じて依頼することになる。
【0118】
ここで図3でシーケンシャルアクセスとランダムアクセスについて入出力をグループを形成する場合には、入出力要求部18にシーケンシャルアクセス検出機構45を設けている。例えばRAID制御部26に対する入出力依頼インターフェースに、シーケンシャルアクセス検出機構45で検出したシーケンシャルアクセスの入出力であることを通知するインターフェースを追加する。
【0119】
シーケンシャルアクセス検出機構45は、図2に示した上位のデバイス制御装置12から発行された入出力コマンドに含まれるアドレスとデータ長から次の入出力コマンドのアドレスを認識しており、次の入出力コマンドのアドレスが予測したアドレスに一致した場合には、シーケンシャルアクセスを検出し、シーケンシャルアクセスを示すフラグなどの情報をインタフェースによりRAID制御部26を介してディスク入出力スケジュール機構20の入出力要求受付部34に発行する。
【0120】
このため入出力要求受付部34にあっては、入出力要求部18から受付けた入出力要求について、シーケンシャルアクセスかランダムアクセスかを認識することができる。
【0121】
またコピー/バックアップ処理の入出力グループを形成する場合には、入出力要求部18にバックアップ機構78を設けている。バックアップ機構78からの入出力は、バックアップ入出力を通知するための追加インターフェースによりRAID制御部26に通知される。RAID制御部26は、ディスク入出力スケジュール機構20への入出力依頼時に、バックアップの入出力であることを伝え、コピー処理/バックアップ処理の入出力グループについてディスクタイムシェアリングを行う。
【0122】
更に、リビルディング処理の入出力グループを形成する場合は、入出力要求部18にリビルディング機構84を設けている。リビルディング処理の際には、RAID制御部26に対する入出力要求につき、リビルディング処理であることを示すインターフェースを追加している。RAID制御部26はディスク入出力スケジュール機構20に入出力を依頼する際に、リビルディング入出力の通知を行ない、リビルディング処理の入出力グループについてディスクタイムシェアリングを行う。
【0123】
図8は図2のチューニング機構50の機能ブロック図である。図8において、チューニング機構50は、チューニング部52と基礎データファイル54で構成されている。チューニング部52には要求性能設定部56と動作条件決定部58が設けられる。
【0124】
要求性能設定部56はユーザによるランダムアクセスの平均レスポンスAveと最大レスポンスMax及びシーケンシャルアクセスのスループットThPを受け付け、更に図2のアレイディスク装置14側のディスク入出力スケジュール機構20側で観測したランダムアクセスの負荷状態IOPSを入手し、動作条件決定部58に出力する。尚、ランダムアクセスの負荷状態IOPSは直接、動作条件決定部58に供給してもよい。
【0125】
動作条件決定部58は、要求性能設定部56で設定した要求性能値を満足するタイムシェアリング周期TSとランダムアクセスとシーケンシャルアクセスのクォンタム比率のRS比を調整値として決定し、図2のディスク入出力スケジュール機構20のタイムシェアリング周期TSと各グループのクォンタムを自動的に調整する。
【0126】
基礎データファイル54には、平均レスポンス用の第1基礎データ62、最大レスポンス用の第2基礎データ64及びスループット用の第3基礎データ66が格納されている。
【0127】
図9は図8の基礎データファイル54に格納している各基礎データのデータ構造を示す。このデータ構造で格納されている基礎データはシミュレーションあるいは実測値により得られたデータである。
【0128】
図9(A)は、ランダムアクセスの平均レスポンスに関する第1基礎データ62であり、ランダムアクセスの負荷IOPSごとに分けて、対応する基礎データを格納している。例えば負荷IOPS=100,150について平均レスポンスに関する基礎データを格納している。
【0129】
負荷IOPS=100を例にとると、タイムシェアリング周期TS=100ms,200ms,300msとRS比=90%,80%,70%の組合せに応じた平均レスポンス時間が基礎データとして格納されている。同様に負荷IOPS=150についても、3つのタイムシェアリング周期TSと3つのRS比の組合せに対応して平均レスポンスが格納されている。
【0130】
図9(B)は、ランダムアクセスの最大レスポンスに関する第2基礎データ64であり、図9(A)の平均レスポンスの基礎データ62と同様、ランダムアクセスの負荷IOPS=100,150に分けて基礎データを格納している。それぞれの基礎データはタイムシェアリング周期TS=100ms,200ms,300msとRS比=90%,80%,70%の組合せに対応して、最大レスポンスを基礎データとして格納している。
【0131】
図9(C)は、シーケンシャルアクセスのスループットThPに関する第3基礎データ66であり、このスループットに関してはランダムアクセスの負荷IOPSには関わらず、タイムシェアリング周期TSとRS比の組合せに対応したスループットが基礎データとして格納されている。
【0132】
次に図8の動作条件決定部58によるチューニング処理を図9の基礎データを例にとって説明すると次のようになる。まず要求性能設定部56から平均レスポンス、最大レスポンス、スループットの順に優先度が指示されており、このときユーザの要求値が次の値であったとする。
・平均レスポンスAve=40ms以下
・最大レスポンスMax=80ms以下
・スループットThP=3.0MB/s以上
また、このときのランダムアクセスの負荷状態の観測値が100IOPSであったとする。
【0133】
図10は、このような要求性能及び優先度が設定された状態でのチューニング処理の手順を表している。まず最も優先度が高い平均レスポンスに関し、図9(A)の第1基礎データ62の中の負荷IOPS=100のデータを図10の第1基礎データ62Aのように抽出し、この第1基礎データ62Aの中から平均レスポンスAveが要求性能値である40ms以下となる斜線の領域を抽出する。
【0134】
次に図9(B)の第2基礎データ64の中からランダムアクセスの負荷IOPS=100のデータを図10の第2基礎データ64Aのように抽出し、ユーザが要求した最大レスポンス80ms以下を達成できる斜線部の領域を獲得する。続いて共通領域検査部71で第1基礎データ62Aの斜線部と第2基礎データ64Aの斜線部の比較で、平均レスポンスと最大レスポンスの両方のユーザ要求を達成する第1共通データ68に示す斜線部の領域を獲得する。
【0135】
次に優先度が最も低い図9(C)のスループットに関する第3基礎データ66について、3.0MB/s以上とするスループットのユーザ要求を達成できる領域を、図10の第3基礎データ66の斜線部に示すように獲得する。
【0136】
最終的に第1共通データ68の平均レスポンスと最大レスポンスのユーザ要求を達成している斜線部の領域と、第3基礎データ66のスループットのユーザ要求を達成している斜線部の領域との比較により、平均レスポンス、最大レスポンス及びスループットの全てのユーザ要求を達成できる領域の共通部分を、第2共通データ70の斜線部のように獲得する。
【0137】
以上の結果から第2共通データ70の斜線部の領域に対応するタイムシェアリング周期TS=300msとRS比=90%の組合せが、平均レスポンス、最大レスポンス及びスループットの全てのユーザ要求を達成できる調整値として決定され、図2のディスク入出力スケジュール機構20に設定されてタイムシェアリングの動作条件を自動的に調整する。
【0138】
例えばディスク入出力スケジュール機構20において、ランダムアクセスとシーケンシャルアクセスの2グループのタイムシェアリングを行っていた場合には、タイムシェアリング周期TS=300msの設定と同時にRS比=90%に基づいて、ランダムアクセスのクォンタムが270ms、シーケンシャルアクセスのクォンタムが30msに設定される。
【0139】
図11は図8のチューニング処理のフローチャートである。まずステップS1でユーザ要求の優先度の高い方から順に要求性能の基礎データを獲得する。例えば平均レスポンス、最大レスポンス、スループットの順に優先度が設定されていた場合には、まず平均レスポンスについての基礎データを獲得する。
【0140】
続いてステップS2について、ユーザ要求値を達成できる設定が可能な領域を基礎データについて獲得する。続いてステップS3でユーザ要求を達成できる要求がある場合には、ステップS4に進み、現在処理している基礎データが最優先の要求性能の項目か否か判定する。
【0141】
最優先の要求性能であった場合には、最初のデータ領域であるために共通領域を判定することができないので、ステップS1に戻り、次の要求性能についての要求達成領域の獲得をステップS1〜S3で行う。2番目以降の優先度の要求性能であった場合にはステップS5に進み、既に獲得している要求性能の領域を獲得して新たな共通領域とする。
【0142】
続いてステップS6で共通領域が獲得できたか否かチェックし、獲得できればステップS7に進む。ステップS7にあっては、次のユーザ要求性能の項目がある場合にはステップS1に戻り、ない場合にはステップS8に進む。ステップS8にあっては、最終的に得られた複数の要求性能の共通領域から最優先の要求性能の項目が最も良い値をとる組合せを選択する。
【0143】
ここでステップS8の最善の組合せ選択で、例えば平均レスポンス、最大レスポンス、スループットの3つの要求性能について全ての要求を満足するタイムシェアリング周期TSとRS比の組合せが1または複数ある場合には問題ないが、下位の要求性能が達成できていない場合には、例えば第1モード〜第4モードのいずれかのモードによる調整値の決定を行う。例えば上位の平均レスポンス及び最大レスポンスについては要求性能を満足したが下位のスループットについては要求性能が達成できない場合には、モード1〜4の処理は次のようになる。
【0144】
(1)上位の優先度となる平均レスポンスと最大レスポンスを達成できる設定範囲で下位のスループットの要求性能が達成できない場合、下位のスループットは考慮しないで調整値を決定する。
【0145】
(2)第2モードは、上位の優先度をもつ平均レスポンスと最大レスポンスが達成できる設定範囲では下位のスループットの要求性能が達成できない場合も、下位のスループットの要求性能を考慮して調整値を決定する。
【0146】
(3)第3モードは、上位の優先度をもつ平均レスポンスと最大レスポンスの要求性能が達成できる設定範囲では下位のスループットの要求性能が達成できない場合に、上位の平均レスポンスと最大レスポンスの共通領域の設定範囲内から下位のスループットの性能が最善になる調整値を選択する。
【0147】
(4)第4モードは、上位の優先度をもつ平均レスポンスと最大レスポンスが達成できる設定範囲では下位のスループットの要求性能が達成できない場合に、上位の平均レスポンスと最大レスポンスの共通領域の設定範囲から下位のスループットの性能が良くなる候補を複数点選択し、選択した候補の中から上位の平均レスポンス及び最大レスポンスが最大になる調整値を選択する。
【0148】
図12は、上位の優先度の要求性能を達成できる設定範囲で下位の要求性能が達成できない場合の調整値の決定の具体例を示している。ここでユーザの要求性能は図9の場合と同様、
・平均レスポンスAve=40ms以下
・最大レスポンスMax=80ms以下
・スループットThP=3.0MB/s以上
である。
【0149】
また平均レスポンスの第1基礎データ62、最大レスポンスの第2基礎データ64は、図9(A)(B)と同じデータである。これに対しスループットに関する第3基礎データ66が図9(C)の場合と若干異なっており、図13の第3基礎データ660となっている。相違点はタイムシェアリング周期TS=300msとRS比=90%の組合せについて、スループットが2.6MB/sとなっている点である。
【0150】
この図13のチューニング処理にあっては、平均レスポンス40ms以下を抽出した第1基礎データ62Aの斜線部の領域と最大レスポンス80ms以下を抽出した第2基礎データ64Aの斜線部の領域についての共通領域検査部71による判断で第1共通データが得られている点は、図10と同じである。
【0151】
これに対しスループットの第3基礎データ660についてはユーザ要求のスループットを満足する領域が斜線部となっており、共通領域検査部72による第1共通データ68による検出結果としての第2基礎データ720にあっては、平均レスポンス、最大レスポンス及びスループットの全てのユーザ要求を達成できる領域は獲得できない。
【0152】
このような場合、モード1にあっては下位のスループットの要求性能は考慮しないことから、第1共通データ68Aの斜線部の共通領域のいずれか1つを選択する。また第2モードでは第1共通データ68Aの中の斜線部の共通領域の選択において、下位のスループットの第3基礎データ660を考慮し、スループットが最大となる3.6MB/sに対応した共通領域についてのタイムシェアリング周期TS=300msとRS比=90%の組合せを選択する。
【0153】
また第3モードの場合は、第1共通データ68Aの3つの共通領域に対応する下位のスループットの第3基礎データ660の中の対応する領域の中からスループットの改善が最善となる2.6MB/sに対応したタイムシェアリング周期TS=300msとRS比=90%を選択する。この場合にはモード3はモード2の場合と同じ選択結果となっている。
【0154】
図13は上位の優先度の要求性能を達成できる設定範囲では下位の要求性能が達成できない場合のモード4による調整値の選択処理の説明図である。
【0155】
図13にあっては、優先度が最も低いスループットの第3基礎データ660におけるタイムシェアリング周期TS=200ms,300msとRS比=90%の組合せに格納しているデータが3.4MB/s、3.6MB/sと、図12の場合と異なっている。
【0156】
また図13の場合のユーザの要求値は
・平均レスポンスAve=40ms以下
・最大レスポンスMax=80ms以下
・スループットThP=4.0MB/s以上
と、スループットが図12に対し高めの要求となっている。
【0157】
このような場合についても、図12と同様、第2共通データ720には平均レスポンス、最大レスポンス及びスループットの全てのユーザ要求を達成できる領域は存在しない。この場合、第4モードにあっては、平均レスポンスと最大レスポンスの共通領域を獲得した第1共通データ68の3つの斜線部の領域に対応するスループットの第3基礎データ660の中から下位のスループットの性能が良くなる領域の候補を複数点選択する。
【0158】
この場合にはスループット3.4MB/sと3.6MB/sの2点が選択される。このように選択した2つの候補の中から上位の平均レスポンス及び最大レスポンスの性能が最善となる候補を選択する。即ち、第1基礎データ62Aで平均レスポンスが25ms、第2基礎データ64Aで最大レスポンスが60msとなるタイムシェアリング周期TS=200msとRS比90%の組が選択される。
【0159】
図14は、図8において自動チューニングを行わない場合のシミュレーション結果の特性図である。
【0160】
このシミュレーションにあっては、ランダムアクセス、シーケンシャルアクセス、OPCアクセス(コピーアクセス)、ECアクセス(エラーアクセス)の4つの入出力グループについて、それぞれ4つのクォンタムを設定してタイムシェアリングを行っている。またランダムアクセスとシーケンシャルアクセスは同一のグループに属する。他のOPCアクセスとECアクセスは全て独立したグループに属する。
【0161】
またシミュレーションにあっては、シーケンシャル入出力要求が流れないようにしているため、同じグループに属しているシーケンシャルアクセスのクォンタムは全てランダムアクセスのクォンタムに使用される。
【0162】
各クォンタムの時間比は
(ランダム):(シーケンシャル):(OPC):(EC)
=65:5:15:15
となる。ここでシーケンシャルクォンタムについては入出力要求がないため、実質的には
(ランダム):(OPC):(EC)=70:15:15
となっている。またタイムシェアリング周期TSは100msとしている。更にランダムアクセスは7.5msごとに負荷を20IOPS,100IOPS,220IOPS,100IOPSとして、この振幅を繰り返している。更に、図15は、図14のシミュレーション開始時間0〜100ms部分の拡大図である。
【0163】
図14,図15の自動チューニングを行っていない場合については、最も高くなる220IOPSのランダムアクセスの負荷を処理しきれず、最高でもA部のように200IOPSのランダムアクセスしか処理することができない。
【0164】
またランダムアクセスの平均レスポンス(R Ave)は、負荷が高いときはB部のように120ms前後であり、最悪の場合はC部のように150ms強まで悪化する。
【0165】
図16は、本発明による自動チューニングを行った場合のシミュレーション結果であり、図17に図16の0〜100ms付近を拡大して示している。
【0166】
このシミュレーションにおけるランダムアクセスの負荷IOPSの与え方は図14の場合と同じであり、またタイムシェアリング周期TSと各クォンタムの時間比は、要求性能は固定であるが負荷IOPSの観測値により自動的に変動する。また自動チューニングの設定ではユーザ要求の優先度として、平均レスポンス、最大レスポンス、スループットの順とすることで、ランダムアクセス優先のチューニングとしている。
【0167】
この結果、図16,図17の自動チューニングした場合については、A部のように220IOPSのランダムアクセスの負荷を概ね処理することができている。また負荷IOPSが高いときの平均レスポンスもB部のように50ms前後であり、最悪でもC部のように60ms強という値に抑えられている。
【0168】
尚、上記の実施形態にあっては、要求性能として平均レスポンス、最大レスポンス、スループットを例にとるものであったが、必要に応じて適宜の要求性能を設定することができる。また優先度をランダムアクセス優先とすることで平均レスポンス、最大レスポンス、スループットの順に設定しているが、逆にシーケンシャルアクセス優先で優先度をスループット、平均レスポンス、最大レスポンスの順に設定するようにしても良い。
【0169】
また本発明は、その目的と利点を含まない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【0170】
【発明の効果】
以上説明してきたように本発明によれば、シミュレーションあるいは実測等により得られた負荷、平均レスポンス、最大レスポンス、スループット等の実績(統計情報)を基礎データとして保存し、チューニング部により負荷の状態と保存した基礎データによる実績を基にユーザ要求性能を満たす最適な調整値、例えばタイムシェアリング周期とランダムアクセスとシーケンシャルアクセスのクォンタム比率(RS比)を決定し、この調整値に基づいてタイムシェアリングの動作条件を自動的に調整することで、ユーザの要求性能に適切に対応した入出力処理を行うことができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明が適用されるストレージシステムのブロック図
【図3】3つの入出力グループを形成する本発明の基本的な実施形態の機能ブロック図
【図4】図3の3つの入出力グループの入出力を対象とした場合のディスク・タイムシェアリング処理のスケジュール説明図
【図5】1つの入出力グループのみの入出力が連続する場合のディスク・タイムシェアリング処理のスケジュール説明図
【図6】クォンタム切替え時の残り時間の予測処理の説明図
【図7】図3のディスク・タイムシェアリング処理のフローチャート
【図8】図2のチューニング機構の機能ブロック図
【図9】図8の基礎データファイルに基礎データとして格納する平均レスポンス、最大レスポンス、スループットの実績値の説明図
【図10】要求性能の優先度に従って調整値を選択する図8のチューニング処理の説明図
【図11】図8のチューニング処理のフローチャート
【図12】下位の要求性能ができない場合のチューニング処理の説明図
【図13】下位の要求性能ができない場合の他のチューニング処理の説明図
【図14】チューニングを行っていない場合の負荷IOPS、ランダムアクセスの平均レスポンスと最大レスポンス、コピー処理、エラー処理実行のシミュレーション結果の特性図
【図15】図14の部分拡大図
【図16】チューニングを行った場合の負荷IOPS、ランダムアクセスの平均レスポンスと最大レスポンス、コピー処理、エラー処理実行のシミュレーション結果の特性図
【図17】図16の部分拡大図
【符号の説明】
10−1〜10−m:ホスト
12:デバイス制御装置
14:アレイディスク装置
16:ディスク装置
18:入出力要求部
20:ディスク入出力スケジュール機構
22:ディスク入出力処理部
24−1〜24−n:ディスクドライブ
26:RAID制御部
30−1〜30−4:ディイスタイムシアリング制御情報
32:入出力スケジュール部
34:入出力受付部
36:入出力完了処理部
38−1〜38−3:スケジュール待ちグループキュー
40−1〜40−3:完了待ちグループキュー
42−1〜42−3:グループ用クォンタム
44:現クォンタム種別情報
45:シーケンシャルアクセス検出機構
46:現クォンタム開始時刻
48:次入出力タスク種別情報
50:チューニング機構
52:チューニング部
54:基礎データファイル
56:要求性能設定部
58:動作条件決定部
62:第1基礎データ
64:第2基礎データ
66:第3基礎データ
78:バックアップ/コピー機構
84:リビルディング機構

Claims (3)

  1. 1又は複数のディスクドライブを備えたディスク装置と、
    前記ディスク装置に入出力要求を発行する入出力要求部と、
    ディスク装置への入出力元を少なくともシーケンシャルアクセス入出力グループあるいはランダムアクセス入出力グループにグループ化した入出力グループを形成すると共に各入出力グループがディスクを使用する時間の比率を定義し、定義された時間比率に基づき各入出力グループが連続してディスク装置を使用できる割当時間(クォンタム)を決定し、複数の入出力グループからディスク装置に入出力の依頼を受け付けている場合、競合した入出力グループ間で前記割当時間を順番に切り替えて前記入出力グループがディスク装置を使用するタイムシェアリングを行う入出力スケジュール機構とを備えたディスク・タイムシェアリング装置に於いて、
    利用者からの全ての要求項目が達成できるようチューニングができると判断した場合で前記要求項目毎に複数の選択肢があるときは各要求項目中の選択肢が相互に重なる部分のうち最も高いチューニング結果を選択し、チューニングしても全ての要求項目が達成できないときは、予め設定されていた要求項目の優先度に従い、所定のチューニングを行うチューニング部を設けたことを特徴とするディスク・タイムシェアリング装置。
  2. 請求項記載のディスク・タイムシェアリング装置に於いて、前記チューニング部は、達成できない要求性能値がある場合に、要求性能の種別に優先順を付け、上位の優先度の要求性能を達成できる設定範囲では下位の要求性能が達成できない場合に、下位の要求性能は考慮しないで調整値を決定する第1モードと、
    上位の優先度の要求性能が達成できる設定範囲では下位の要求性能が達成できない場合も、下位の要求性能を考慮して調整値を決定する第2モードと、
    上位の優先度の要求性能が達成できる設定範囲では下位の要求性能が達成できない場合に、上位の設定範囲内から下位の性能が最善になる調整値を選択する第3モードと、
    上位の優先度の要求性能が達成できる設定範囲では下位の要求性能が達成できない場合に、上位の設定範囲に対応する下位の性能のうちでも性能の良い候補を複数点選択し、選択した候補の中から上位の性能が最善になる調整値を選択する第4モードと、
    のいずれかのモードを使用して動作条件を自動調整することを特徴とするディスク・タイムシェアリング装置。
  3. 1又は複数のディスクドライブを備えたディスク装置と、前記ディスク装置に少なくともシーケンシャルアクセスあるいはランダムアクセスの入出力要求を発行する入出力要求部と、前記入出力に基づいて前記ディスク装置の使用をスケジューリングする入出力スケジュール機構とを備えたディスク・タイムシェアリング装置に適用されるディスク・タイムシェアリング方法に於いて、
    前記ディクス装置への入出力元をグループ化した入出力グループを形成すると共に各入出力グループがディスクを使用する時間の比率を定義し、
    定義された時間比率に基づき各入出力グループが連続してディスク装置を使用できる割当時間(クォンタム)を決定し、
    複数の入出力グループからディスク装置に入出力の依頼を受け付けている場合、競合した入出力グループ間で前記割当時間を順番に切り替えてディスク装置を使用するタイムシェアリングを行い、
    更に、利用者からの全ての要求項目が達成できるようチューニングができると判断した場合は、その中で前記要求項目毎に複数の選択肢があるときは各要求項目中の選択肢が相互に重なる部分のうち最も高いチューニング結果を選択し、チューニングしても全ての要求項目が達成できないときは、予め設定されていた要求項目の優先度に従い、所定のチューニングを行うことを特徴とするディスク・タイムシェアリング方法。
JP32909599A 1999-11-19 1999-11-19 ディスク・タイムシェアリング装置及び方法 Expired - Fee Related JP4091225B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32909599A JP4091225B2 (ja) 1999-11-19 1999-11-19 ディスク・タイムシェアリング装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32909599A JP4091225B2 (ja) 1999-11-19 1999-11-19 ディスク・タイムシェアリング装置及び方法

Publications (2)

Publication Number Publication Date
JP2001147886A JP2001147886A (ja) 2001-05-29
JP4091225B2 true JP4091225B2 (ja) 2008-05-28

Family

ID=18217565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32909599A Expired - Fee Related JP4091225B2 (ja) 1999-11-19 1999-11-19 ディスク・タイムシェアリング装置及び方法

Country Status (1)

Country Link
JP (1) JP4091225B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3228182B2 (ja) 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
US7657727B2 (en) 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
JP4651230B2 (ja) * 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
US6684209B1 (en) 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
JP4719957B2 (ja) 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
JP2003067262A (ja) * 2001-08-23 2003-03-07 Mitsubishi Electric Corp データ処理システム
JP2005275829A (ja) 2004-03-25 2005-10-06 Hitachi Ltd ストレージシステム
JP4322173B2 (ja) 2004-06-17 2009-08-26 富士通株式会社 データ転送方法及びシステム、入出力要求装置、並びに、データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2006079495A (ja) * 2004-09-13 2006-03-23 Hitachi Ltd ストレージシステム及び論理区画の設定方法
JP4794370B2 (ja) * 2006-06-20 2011-10-19 株式会社日立製作所 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法
JP4979332B2 (ja) * 2006-10-11 2012-07-18 株式会社ソニー・コンピュータエンタテインメント マルチプレクサおよび情報処理装置
US20090204775A1 (en) * 2008-02-12 2009-08-13 Fujitsu Limited Data copying method
JP5958020B2 (ja) * 2012-03-30 2016-07-27 富士通株式会社 ストレージシステム
JP5949224B2 (ja) * 2012-06-29 2016-07-06 富士通株式会社 ストレージ制御装置、該プログラム及び該方法

Also Published As

Publication number Publication date
JP2001147886A (ja) 2001-05-29

Similar Documents

Publication Publication Date Title
JP4091225B2 (ja) ディスク・タイムシェアリング装置及び方法
US6957433B2 (en) System and method for adaptive performance optimization of data processing systems
JP3440219B2 (ja) 入出力装置及びディスク・タイムシェアリング方法
JP4922496B2 (ja) I/o要求に優先順位を与える方法
US7159071B2 (en) Storage system and disk load balance control method thereof
EP0384635B1 (en) Adaptive job scheduling for multiprocessing systems
JP4405935B2 (ja) マルチパス・コンピュータ・システムにおけるパス間でワークロードのバランスを取る方法および装置
US4638424A (en) Managing data storage devices connected to a digital computer
US7089381B2 (en) Multiple storage element command queues
JP5171602B2 (ja) Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
JP6515708B2 (ja) 情報処理装置、並列計算機システム、ジョブスケジュール設定プログラムおよびジョブスケジュール設定方法
KR20120109533A (ko) 쿼리 관리
JPS58203558A (ja) 計算機・記憶装置へのフアイル割り当て方式
JP2004280297A (ja) タスク切換装置、方法及びプログラム
JP3623697B2 (ja) ディスク・タイムシェアリング装置及び方法
JP4176341B2 (ja) 記憶制御装置
JP6056856B2 (ja) ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法
JPH09258907A (ja) 複数の記憶ディスク部を有した高可用性の外部記憶装置
JP2022539955A (ja) タスクスケジューリング方法及び装置
US9465745B2 (en) Managing access commands by multiple level caching
JP6885193B2 (ja) 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
JP6115575B2 (ja) データセット多重度変更装置、サーバ、データセット多重度変更方法、およびコンピュータ・プログラム
JP2013210833A (ja) ジョブ管理装置、ジョブ管理方法、及びプログラム
JPH05158744A (ja) 計算機システムにおける装置管理方式及びメモリ管理方式
JP2001142723A (ja) 資源配分方法、計算機システム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080228

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140307

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees