JP2011530728A - ストレージシステムおよびその制御方法 - Google Patents

ストレージシステムおよびその制御方法 Download PDF

Info

Publication number
JP2011530728A
JP2011530728A JP2011502158A JP2011502158A JP2011530728A JP 2011530728 A JP2011530728 A JP 2011530728A JP 2011502158 A JP2011502158 A JP 2011502158A JP 2011502158 A JP2011502158 A JP 2011502158A JP 2011530728 A JP2011530728 A JP 2011530728A
Authority
JP
Japan
Prior art keywords
core
control right
controller
processing
pattern
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.)
Granted
Application number
JP2011502158A
Other languages
English (en)
Other versions
JP5490093B2 (ja
Inventor
純司 小川
裕介 野中
佑光 松井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011502158A priority Critical patent/JP5490093B2/ja
Publication of JP2011530728A publication Critical patent/JP2011530728A/ja
Application granted granted Critical
Publication of JP5490093B2 publication Critical patent/JP5490093B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【解決課題】非対称性を持つ複数のコアの負荷分散に伴う負荷変動を考慮し、ユーザの設定を踏まえた最適な負荷分散処理を選択して実行する。
【解決手段】複数のコア122を有するコントローラ111は、LU制御権管理情報を基にLU制御権を有するコア122とLU制御権の移行先の候補となるコアとの関係を示すパターンをLU毎に抽出し、複数のリソースの使用状況をLU毎に測定し、測定結果を基に複数のリソースの使用状況の変化と移行処理自体によって発生すると想定されるオーバヘッドをLU毎に予測し、各予測結果を基に、ユーザの設定情報に適合するパターンを選択し、選択したパターンに属するコアにLU制御権を移行する。
【選択図】図1

Description

本発明は、ストレージシステムに係り、特に、マイクロプロセッサをはじめとする複数のリソースから構成されるストレージシステムの性能向上技術に関するものである。
ストレージシステムは、ホスト計算機から発行されるデータに対して処理を行うストレージ制御部とデータを格納する記憶装置によって構成されている。このストレージ制御部を複数備え、さらに記憶装置にもデータの冗長性を持たせることにより、ストレージシステムの信頼性を向上する技術が知られている(特許文献1参照)。
特許文献1には、複数のストレージ制御部を備えたシステムにおいて、ホスト計算機から発行された入出力要求を、処理すべきプロセッサに高速に渡す技術を用いて負荷を分散し、データ処理速度を向上させるストレージシステムが記載されている。
特開2008−134775号公報
既述の公報では、ストレージ制御部内に複数のコアを持つシステムに関して開示している。この場合、同一ストレージ制御部内のコア間と、別ストレージ制御部間のコア間では、データ処理を行う上で使用するリソースが異なるため、負荷分散を行った結果、プロセッサコアの負荷が均一となっても、その他のリソースの負荷が不均一となることがある。
また、負荷分散のためにプロセッサコアが担当する論理ユニットを切り替える際に発生するオーバヘッドがあるため、負荷分散のみを目的とした切り替えは、かえってストレージシステム性能を低下させる可能性があった。
本発明は、非対称性を持つ複数のコアの負荷分散に伴う負荷変動を考慮し、ユーザの設定を踏まえた最適な負荷分散処理を選択して実行することができるストレージシステムおよびその制御方法を提供することを目的とするものである。
前記目的を達成するために、本発明は、LU制御権を受けて処理対象の処理を担当するコアとして、非対称性を有する複数のコアを備え、各コアの負荷を分散するに際して、LU制御権を有するコアとLU制御権の移行先の候補となるコアとの関係を示すパターンを処理対象毎に抽出し、ストレージを構成する各リソースの使用状況を取得し、取得した各リソースの使用状況を基に、各コアの負荷分散の移行に伴って発生すると想定される変化状態を予測し、この予測結果から、設定された条件に適合するパターンを選択し、選択したパターンに従ってLU制御権の変更先を決定することを特徴とするものである。
本発明によれば、非対称性を有する複数のコアに対して、設定にあわせた最適な負荷分散を実施することができる。
本発明の実施形態におけるストレージシステムのブロック構成図である。 本発明の実施形態におけるストレージシステムのメモリ構成図である。 本発明の実施形態におけるストレージシステムのキャッシュメモリ構成図である。 本発明の実施形態におけるストレージシステムの構成情報構成図である。 本発明の実施形態におけるストレージシステムの性能情報構成図である。 本発明の実施形態におけるストレージシステムのリソース使用状況の管理情報構成図である。 本発明の実施形態におけるストレージシステムのLU制御権移行後のリソース使用状況変化の予測結果を示す情報の構成図である。 本発明の実施形態におけるストレージシステムのLU制御権移行処理自体で発生するオーバヘッドの予測結果を示す情報の構成図である。 本発明の実施形態におけるストレージシステムのバランシング処理のフローチャートである。 本発明の実施形態におけるストレージシステムの簡易バランシング処理を説明するためのフローチャートである。 本発明の実施形態におけるストレージシステムの通常バランシング処理を説明するためのフローチャートである。 本発明の実施形態におけるストレージシステムのユーザからの設定方法を説明するための管理画面構成図である。 本発明の実施形態におけるストレージシステムのリソース使用状況の管理情報構成図の別形態である。 本発明の実施形態におけるストレージシステムの性能情報取得解析処理のフローチャートである。 本発明の実施形態におけるストレージシステムのユーザに対する性能情報表示画面構成図である。 本発明の実施形態におけるストレージシステムのユーザに対するLU制御権移行処理履歴表示画面構成図である。 本発明の実施形態におけるストレージシステムのユーザに対する自動設定管理画面構成図である。
以下、本発明の一実施形態を図面に基づいて説明する。図1は本発明の一実施例を示すストレージシステムの構成図である。図1において、ストレージシステムは、ストレージ101、ホスト計算機103,104、管理ホスト105を備える。
ホスト計算機103,104は、ストレージ101に接続するための通信ポート(図示せず)を備えており、この通信ポートを介して、接続経路184,185を通り、ストレージ101に接続される。管理ホスト105は、管理用接続経路183を介して、ストレージ101に接続される。管理ホスト105は、ユーザの操作による設定情報、例えば、負荷分散に関するポリシーとしての設定情報を入力する入力部として構成されている。
図1では、ホスト計算機103,104、管理ホスト105とストレージ101を直接接続した構成を記載している。ホスト接続についてはSAN(Storage Area Network)と呼ばれるネットワーク、管理ホスト接続についてはLAN(Local Area Network)を構成し、多くのホスト計算機及び管理ホスト接続に対応可能な構成を用いてもよい。ここで、SANとして、Fibre ChannelやiSCSI(Small Computer System Interface over Internet)などのプロトコルを使用することができる。また、管理ホスト接続については、ホスト接続と同じ接続経路を用いることもできる。
ストレージ101は、内部にコントローラ111とコントローラ151とディスク181を備える。コントローラ111,151は、それぞれコントローラ番号と呼ばれる、「0」,「1」という番号を持つ。コントローラ111,151間は、コントローラ間バス182によって接続される。コントローラ111,151とディスク181は、ディスク接続経路121,161によって接続される。
図1では、一般的なストレージの記憶装置として、ディスク181を用いている。例えば、ディスク181として、FC(Fibre Channel)、SAS(SAN Attached Storage)、ATA(AT Attachment)やSSD(Solid State Drive)用のHDD(Hard Disk Drive)を使用できる。さらに、ディスク181以外に、テープやフラッシュメモリ等のディスク以外の記憶媒体を使用することもできる。さらに、単体のディスク181や複数のディスク181によって、RAID(Redundant Array of Inexpensive Disks)を構成し、RAID構成のディスク181をホスト計算機103、104のアクセス対象とすることもできる。
コントローラ111は、ホスト入出力制御部119、データ転送制御部112、ディスク入出力制御部118、キャッシュメモリ117、管理I/F115、CPU(Central Processing Unit)114、ブリッジ113、メモリ116を備える。
管理I/F115は、内部バス136によってブリッジに接続される。また、管理用接続経路183を介して管理ホスト105に接続されており、管理ホスト105とのデータの授受や通信の制御を行う。
メモリ116は、内部バス134によってブリッジ113に接続されている。CPU114は、内部バス135によってブリッジ113に接続されており、また、内部にコア122が複数格納されている。
また、図1ではCPU114を単一の部品として記載しているが、CPU114を複数備えたシステムであってもよい。これらの複数のコアもしくはプロセッサの使用方法には、SMP(Symmetric Multi Processing)と呼ばれる対称型の処理方式と、AMP(Asymmetric Multi Processing)と呼ばれる非対称型の処理方式がある。
SMP方式では、一般的にOS(Operating System)が、どのコアもしくはプロセッサが、どの処理を実行するかを決定する。この場合、実際にどのコアもしくはどのプロセッサが処理を実行するかによって、負荷分散の効果が大きく変わる。よって、OSを含む制御プログラムとしては、処理を実行するコアやプロセッサの選定が可能である必要がある。
AMP方式の場合は、制御プログラムが、処理を実行するコアやプロセッサを明示的に指示することができる。また、SMP方式の場合は、処理を実行するコアやプロセッサの選定が可能な機能を持つOSがあるため、この機能を利用することとなる。なお、AMP方式の場合は、コア・プロセッサごとに特定の処理を担当し、単一コア・プロセッサでは全ての処理を実行できないという実装形態がある。
例えば、ホスト入出力制御部119は、0番目のコアのみが制御可能という設定としていた場合、このコアを使用せずにストレージ101への入出力を処理することは出来ない。
以下では、特に注意のない限り、コアと記載した場合は、ストレージ101への入出力を全て処理可能な処理系を意味することとする。すなわち、コア122は、メモリ116に格納されたプログラムに従って、各種の演算処理を実行し、処理結果を基にコントローラ111全体の制御を実行する。
データ転送制御部112は、内部バス137によってブリッジ113に接続される。データ転送制御部112は、コントローラ111内のデータの転送を制御する。また、データ転送制御部112とデータ転送制御部152は、コントローラ間バス182によって互いに接続されている。このため、コントローラ111,151は、コントローラ間バス182を通じて、互いに通信することができる。
キャッシュメモリ117は、内部バス133によってデータ転送制御部112に接続され、データ転送に伴い移動するデータを一時的に保持する。
ホスト入出力制御部119は、接続経路184を通じて、ホスト計算機103に接続され、ホスト計算機103からの入出力の制御を行う。
ディスク入出力制御部118は、ディスク接続経路121によってディスク181に接続され、ディスクに対するデータの入出力を制御する。
また、コントローラ151は、コントローラ111と同様に、ホスト入出力制御部159、データ転送制御部152、ディスク入出力制御部158、キャッシュメモリ157、管理I/F155、CPU154、ブリッジ153、メモリ156を備え、CPU154は、複数のコア162から構成されている。
本実施例で示した各構成部品は必ずしも必須のものでは無い。例えば、CPU114とブリッジ113が一体となったチップを用いたり、さらにデータ転送制御部112が一体となったチップを用いたりする構成がある。また、キャッシュメモリ117とメモリ116を同一メモリにて実現する構成や前記複数プロセッサ構成などがある。
このように構成部品が変化した場合には、後述のリソース使用状況管理情報501の内容は、構成に応じて変化する。例えば、メモリ116にキャッシュメモリ117が含まれるような構成となった場合には、キャッシュメモリ117とデータ転送制御部112を接続するバス133は存在せず、代わりに内部バス134に、キャッシュメモリ117・データ転送制御部112間に相当するデータが流れることとなる。
また、マルチプロセッサ環境においては、プロセッサ間で物理的に異なるメモリを使用する構成がある。この場合、メモリ及びメモリバスのリソース使用状況を個別に測定、評価する必要がある。もちろん、マルチコア構成においても同様の構成を実現することは可能であるため、この場合には、前記の個別評価が必要となる。
メモリ116には、図2に示すように、コントローラ内コア間共有領域201、コントローラ間共有領域202、コア専用領域203が格納されている。以下、これらの各領域に格納されている情報について記載するが、全ての情報は必ずしも図2に記載した領域に格納する必要はない。
例えば、制御情報231をコントローラ内コア間共有領域201に格納すれば使用メモリ量が削減する。一方、制御情報231をコア専用領域203に格納する場合は、制御情報231の重複や無駄領域の増大により、メモリ量が増大するもののコア間の情報へのアクセス時に、排他処理を行う必要がなくなるなどの性能向上の効果がある。
コア専用領域203には、制御情報231が格納されている。制御情報231は、CPU114のコア122が、ストレージ111に発行されたIOを処理する際に必要となる情報である。制御情報231は、コア122が管理するメモリ情報や、ホスト入出力制御部119,ディスク入出力制御部118が参照する情報テーブルなどから構成され、基本的にはコア122、162が担当する領域について必要となる情報のみが格納される。
ここで、コア122、162が担当する領域について、以下では、コア122、162の処理対象である、担当単位を論理ユニットLU(Logical Unit)とする。論理ユニットLUは、ディスク181の物理的な記憶領域上に構築される仮想的な論理領域である。もちろん、LUとは異なる範囲を担当範囲とする事も可能である。
コントローラ間共有領域202には、構成情報221と、性能情報222が格納される。
コントローラ内コア間共有領域201は、オペレーティングシステム211、ディスクアレイ制御プログラム212、データ転送制御部制御プログラム213、入出力制御部制御プログラム214、性能情報測定プログラム215、性能情報解析プログラム218、LU制御権変更プログラム217が格納されている。各プログラムは、各コア122、162が実行する。以下では、それを前提に記載する。
LU制御権変更プログラム217は、各コアが担当するLUに対して、別のコアにそのLU制御権を変更する動作を行うプログラムである。性能情報測定プログラム215は、ストレージ101内の各種リソースの使用状況を監視し、各リソースがどの程度使用されているかを測定し、性能情報222に格納するプログラムである。性能情報解析プログラム216は、性能情報測定プログラム215によって測定された性能情報222を解析し、LU制御権変更処理の実施を制御するプログラムである。
データ転送制御部制御プログラム213は、データ転送制御部112の制御に用いるプログラムであり、入出力制御部制御プログラム214は、ホスト入出力制御部119,ディスク入出力制御部118の制御に用いるプログラムである。オペレーティングシステム211は、CPU114のコアの動作に用いるプログラムであり、ディスクアレイ制御プログラム212は、ディスク181への入出力位置演算などのディスクアレイ全体の制御に用いるプログラムである。
メモリ156もメモリ116と同様の構成になっている。また、LU制御権変更プログラム217は、ホスト計算機103、104から受領した入出力要求の処理担当コアを変更するプログラムであり、入出力要求を受領する物理的なポートを制限するものでは無い。すなわち、LU制御権変更処理前に、ホスト計算機103、104から受領していた入出力要求が、LU制御権変更処理によって処理不可能になるというような事は無く、入出力要求を停止する事無く変更処理を実行可能である。
キャッシュメモリ117は、図3に示すように、自系コントローラ領域301と他系コントローラ領域341が格納されている。自系コントローラ領域301とは、キャッシュメモリが存在するコントローラ内のコアが使用する領域を指す。例えばコントローラ番号0のコントローラ111内にあるキャッシュメモリ117内では、コントローラ111内のコア122が使用する領域である。
他系コントローラ領域341とは、当該キャッシュメモリが存在するコントローラ以外のコントローラ内のコアが使用する領域を指す。例えば、キャッシュメモリ117内では、コントローラ151内のコア157が使用する領域である。これらは、コントローラ151内のキャッシュメモリ157では、逆の関係となる。
自系コントローラ領域301には、自系コントローラ管理情報311と、自系コントローラデータ312が格納される。自系コントローラ管理情報311は、コントローラ111内コアが使用する管理情報であり、例えば、自系コントローラデータ312の格納状況などが該当する。他系コントローラ領域341には、他系コントローラ管理情報351と、他系コントローラデータ352が格納される。
このように、他系コントローラが使用するデータについてもキャッシュメモリ117上に格納することによって、耐障害性を向上している。
これらの情報のうち、コントローラ管理情報311,351については、コア122,162が二重書きを実施し、コントローラデータ312,352については、データ転送制御部112,152が主に二重書きを実施する。これにより、キャッシュメモリ117,157には、コントローラ管理情報311,351とコントローラデータ312,352の両方が格納されることになる。
もちろん、負荷軽減のため、自系にのみ持てば十分な情報もあるため、これらの情報は完全に二重化しているとは限らない。例えば、キャッシュメモリ117を演算のテンポラリ領域に使用するような場合には、自系コントローラ領域301にのみデータを一時格納すれば十分であり、自系コントローラ領域301とキャッシュメモリ157上の他系コントローラ領域は必ずしも完全には一致しなくともよい。
構成情報221は、図4に示すように、LU制御権管理情報401と、バランシングパラメータ情報402と、データ格納情報403から構成されている。
LU制御権管理情報401には、LU制御権管理テーブルT401が格納されており、各領域に対するIOをどのコアが担当するかという対応関係が管理されている。本実施例では管理領域単位をLUとしているため、図4では、LUごとに現在どのコアが処理の担当となっているかが管理されている。
バランシングパラメータ情報402には、バランシングパラメータテーブルT402が格納されている。バランシングパラメータテーブルT402は、負荷バランスを実行する際のパラメータとして、デフォルトもしくはユーザが設定したパラメータを備えており、負荷バランス制御を実行する際の処理内容を決定する指針を示している。負荷バランスの優先度として設定された数値や、ストレージシステム性能の優先度として設定された数値から、負荷バランスをどの程度実行するかが決定される。
例えば、負荷バランスの優先度が高くストレージシステム性能優先度が低ければ、多少システム性能の低下を招いたとしても、各リソースの負荷を分散し均衡するような制御を実施する。逆に負荷バランスの優先度が低くストレージシステム性能優先度が高ければ、多少負荷が不均衡になっていても、全体的な性能が高くなるような制御を実施する。
移行オーバヘッド許容レベルとは、前述のLU制御権変更プログラム217が動作し、LU制御権変更処理を実行した際に発生するオーバヘッドをどの程度許容するかを示すパラメータである。この数値が低い、すなわち許容レベルが低い場合には、オーバヘッドが小さい移行のみが許可される。これは、例えば、移行前にIOがある程度の期間停止しており、キャッシュメモリ117,157上にデータが存在しないもしくは少ない等の、移行に伴い引き継ぐ情報量が小さい移行が許可されることを示す。
性能情報参照範囲とは、LU制御権変更を実施する際に参照する性能情報の範囲である。ここに短い時間を設定すると、短時間の負荷変動にも追随可能になるが、一時的かつ突発的な負荷変動によって、本来は不要もしくは性能上有害なLU制御権変更を実行してしまう可能性が高くなる。逆に長い時間を設定すると、前記LU制御権変更実施による失敗の確率は低くなるが、LU制御権変更を実施すべき状況において、移行が行われないもしくは移行のタイミングが遅くなる確率が高くなる。
割り当て優先度は、LU制御権を明示的にユーザが指示しかつそのLU制御権を移行させたくないような場合に設定される。すなわち、性能保証のため等の目的から、あるLUに関しては、特定のコアにLU制御権を設定し、ここからの移行を許可しない、また当該コアに別のLU制御権を移すことを許可しないというケースに使用する。
データ格納情報403は、データ格納情報テーブルT403から構成されている。データ格納情報テーブルT403は、ストレージ101が管理しているLUへ発行されたデータをどこに格納すればよいかを示した情報であり、データ格納処理に必要な情報を格納している。
性能情報222には、図5に示すように、リソース使用状況管理情報501と、LU制御権変更後リソース使用状況変化予測情報502と、LU制御権変更処理オーバヘッド予測情報503が格納されている。
リソース使用状況管理情報501は、図6に示すように、リソース使用状況管理情報テーブルT601が格納されている。リソース使用状況管理情報テーブルT601には、性能情報測定プログラム215が測定した、各リソースの使用状況が、LU制御権管理単位であるLUごとに、過去の履歴と共に格納されている。リソース使用状況管理情報テーブルT601によって、現在のストレージ101において、負荷の不均衡の発生有無を判断できる。また、過去の履歴から、前記負荷の不均衡が継続しているのか否か、どの程度の変動が発生しているのかといった情報も取得できる。
なお、リソース使用状況管理情報テーブルT601に示すように、あるLUに関して、担当するコア及びそのコントローラにのみ負荷がかかっているとは限らない。これは、例えば、データ二重書きによって、他系コントローラのキャッシュメモリにデータを格納する場合などには、コントローラ間バス182や、キャッシュメモリ117,157とデータ転送制御部11,152を接続するバス133,173を使用し、これらのリソースを使用することとなるためである。
また、リソース使用状況管理情報501はストレージ101の性能に関わる、性能情報測定プログラム215が測定したリソースの使用状況全てを表すものであり、前述の項目以外にも多くの情報を含む。
特に、図13に示すリソース使用状況管理情報1301及びリソース使用状況管理情報テーブルT1301に記載した、キャッシュメモリ117及び157の使用量は、LU制御権変更処理における性能に大きな影響を与える。キャッシュメモリ117上に存在するデータのうち、ダーティデータはディスク181に未反映のデータを示しており、ダーティデータ量が多い場合は、当該LUへ対する未完了の処理が多く残っていることを示している。このため、ダーティデータ量を記録する事により、ダーティデータ量が多いLUは、その時点でのIO負荷に加えて、移行後のプロセッサに対して一時的に大きな負荷を与える事を考慮する事が可能となる。
また、ダーティデータ以外にも、非二重書きデータ量もLU制御権変更処理における性能に影響を与える。一般的に、ダーティデータについては停電等の障害に備えて、キャッシュメモリ117及び157に二重書きするケースが多い。
一方、非ダーティデータや重要性の低いダーティデータに関しては、コントローラ間バス182の使用率及びキャッシュの使用量削減の目的から、二重書きを行わない場合がある。二重書きデータについては、既にキャッシュメモリ117及び157に同一のデータが存在しているため、特にデータの移動等は発生しない。
しかし、非二重書きのデータについては、コントローラを跨るLU制御権変更の際に、当該データを活用する場合にはデータのコピーもしくは移動が発生し、当該データを破棄する場合には、移行元コントローラ上でのデータ破棄処理が必要となる。これらの処理は、コントローラ内のコア間でキャッシュメモリ117を共有しており、かつ、コントローラを跨がないLU制御権変更の場合には不要となるものであるので、LU制御権の変更がコントローラを跨ぐか跨がないかによって、大きな負荷の差が発生する。このため、キャッシュメモリ上のデータの種類及びその量は、どのようなLU制御権変更を行うかを決定するための重要な要素となる。
LU制御権変更後リソース使用状況変化予測情報502は、図7に示すように、LU制御権変更後リソース使用状況変化予測情報テーブルT701が格納されている。LU制御権変更後リソース使用状況変化予測情報テーブルT701は、性能情報解析プログラム216によって作成され、あるLUの制御権をあるコアに移行した場合、移行後に各リソースに対してどのような負荷の変動があるかを予測した情報を格納している。
例えば、図7に記載したケースにおいては、LU0を各コアに移行した場合に、各コアの負荷がどの程度変動するかを示している。現在コントローラ0,コア0(図7における割り当て用コア“0−0”)にあるLU制御権を、コントローラ1,コア0(図7における割り当て用コア“1−0”)に移行した場合、元々LU制御権を持っていたコントローラ0,コア0の負荷は−7となるが、LU制御権を引き継いだコントローラ1,コア0の負荷は+10となる事を示している。
この例のように、LU制御権の移行によって、かえってシステム全体の負荷が高くなってしまうようなケースがある。これは、例えばコントローラ111のホスト入出力制御部119からホストIOを受領した場合には、コントローラ111側のコアが一旦コマンドを受領し、担当するコアへと情報を受け渡す必要があり、このとき両コアのプロセッサリソースを若干消費するためである。
また、コントローラ0,コア1(図7における割り当て用コア“0−1”)に移行した場合においては、合計変化量が負となっており、すなわちシステム全体の負荷が下がるという事を意味する。この理由も、前記と同じく、コア間での情報通信による負荷を考慮したものである。ホスト入出力制御部119全体、もしくは現在主にコマンドを受領しているポートが、コントローラ0,コア1が担当、制御するホスト入出力制御部もしくはポートで会った場合に、このような現象が生じる。
ここで、前記の通りコントローラ0,コア1が担当するホスト入出力制御部もしくはポートにて受領したコマンドであれば、移行前の状態であるLU制御権がコントローラ0,コア0にある状態と、移行後候補であるコントローラ1,コア0にある状態のいずれもコア間の情報通信は発生する。しかし、前記の通りコントローラ0,コア0にLU制御権がある状態の方がシステム負荷は低いとしているのは、この情報通信に要するリソースが異なるためである。これは、コントローラ0内のコア0,1での情報のやり取りは、これらのコアが共有しているメモリ116内で完結する処理となる。
一方、コントローラ0,コア1からコントローラ1,コア0に情報を送ろうとした場合には、データ転送制御部112,コントローラ間バス182,データ転送制御部152を経由する必要があり、コアにとっても、経由するバスにとってもリソースを消費する処理となる。
コア122から他系コントローラ内のメモリ156へのライトのように、長い時間がかかる可能性のあるライトの際には、ポストライトによってコアのリソース消費を抑える方法を取ることが一般的である。しかし、ポストライト用バッファが既に使用中であった場合などを考慮すると、自系コントローラ内メモリ116に比べると大きなリソースを消費する処理となる。
以上のように、コントローラ内コア間でのデータのやり取りと、コントローラを跨いだコア間のデータのやり取りでは、前者の方がリソース消費を抑えることが可能である。
LU制御権変更後リソース使用状況変化予測情報テーブルT701は、前記のような状態変化によって発生する負荷の変動を考慮した情報となっているため、LU制御権の移行によって発生するシステム性能の変化も把握する事が可能となる。
LU制御権変更処理オーバヘッド予測情報503は、図8に示すように、LU制御権変更処理オーバヘッド予測情報テーブルT801が格納されている。LU制御権変更処理オーバヘッド予測情報テーブルT801は、あるLUがあるコントローラ,コアに移行する際に発生する、移行処理自体のオーバヘッドを予測したものである。LU制御権変更処理オーバヘッド予測情報テーブルT801は、その他の性能情報と異なり、移行処理を実行する際に発生する負荷の情報であるため、その単位は例えば処理に要する時間などになる。
LU制御権変更処理は、データの引き継ぎ量によってその負荷すなわち処理時間が変化する。例えば、コントローラ0,コア0(図8における割り当て用コア“0−0”)からコントローラ1,コア0(図8における割り当て用コア“1−0”)にLU制御権を移行する場合において、キャッシュメモリ117内にデータが全く格納されていない場合には、データ引き継ぎ処理は不要である。
一方、キャッシュメモリ117にデータが存在する場合には、引き継ぎ処理が必要となる。このとき、管理情報及びデータは自系コントローラ領域301内に存在する。これらの情報及びデータのうち、自系キャッシュメモリにのみ所有している管理情報及びデータ、例えばディスク181にオリジナルデータが存在し、キャッシュメモリ上での二重化が不要な管理情報及びデータについては、この管理情報及びデータを破棄する処理が必要となる。
自系キャッシュメモリ及び他系キャッシュメモリに管理情報及びデータが存在する場合には、自系コントローラ領域301に存在する情報を他系コントローラ領域341へ、物理的もしくは論理的に移動する必要がある。コントローラ151側でも同様に、キャッシュメモリ157内の他系コントローラ領域に存在する管理情報及びデータを、自系コントローラ領域に、物理的もしくは論理的に移動する必要がある。
次に、図9のフローチャートにて、負荷分散処理の実行手順を説明する。以下の処理は、プログラムを基にコア122または162によって実行される。まず、性能情報解析プログラム216によって、バランシングパラメータ情報テーブルT402の情報を用いた評価関数を決定する(S901)。これによって、負荷バランスやシステム性能等について、どの項目を優先的に考慮するかが決定される。
次に、性能情報測定プログラム215によって、性能情報222を取得し、性能情報解析プログラム216によって、この情報を解析する(S902)。性能情報取得結果は、リソース使用状況管理情報テーブルT601、性能情報解析結果はLU制御権変更後リソース使用状況変化予測情報テーブルT701及びLU制御権変更処理オーバヘッド予測情報テーブルT801に書き込まれる。
次に、簡易バランシング処理が可能かどうかの判定を行う(S903)。簡易バランシング処理は、後述の比較的単純なLU制御権変更処理内容決定及び移行処理である。この処理では、まず移行元及び移行先コアを先に決定するという処理を実施している。このため、適用可能条件としては、負荷バランスを優先的に考慮し、システム性能はあまり優先しないという設定が、バランシングパラメータ情報テーブルT402に設定されていた場合となる。
S903にて可能と判断した場合には、簡易バランシング処理を実行する(S904)。S903にて不可能と判断した場合には、通常バランシング処理を実行する(S905)。
次に、性能情報取得、解析処理(S902)について、図14を用いて説明する。以下の処理は、プログラムを基にコア122または162によって実行される。まず、性能情報測定プログラム215によって各リソースの使用状況を測定する(S1401)。ここで取得した性能情報は、LU制御権変更処理の判断に使用するため、単純なリソースの使用率のみではなく、さらに詳細な情報が必要となる。例えば、あるコアのCPU使用率については、単純な当該コア全体の使用率ではなく、管理単位毎の使用率を測定する。本実施例では、管理単位をLUとしているため、各コアについて、LU毎の使用率を測定することとなる。その他のリソースについても同様である。
また、LU制御権変更後の状況を判断するための情報も必要となる。これは、例えば、コントローラ間バス182の使用率の中でも、前述の通り、どのLUがどの程度使用しているのかという情報に加え、バスのホストからのライトデータ二重書きによって発生したものか、もしくはディスク181からのリードデータを他方のコントローラに転送するために使用したのか、またそれらがどのような比率となっているか、という情報である。
これは、ライトデータ二重書きであれば、コントローラを跨いだLU制御権変更を実施しても、その前後で負荷の変動は発生しないが、リードデータ転送等のような場合では、ディスク181からのリードの際に使用するディスク入出力制御部118もしくは158と、ホスト入出力制御部119もしくは159が同一コントローラ上にあるか否かによって、コントローラ間バス182の使用要否が変化するためである。バス132等の内部バスについても、同様の理由から、データ転送の種類毎の使用状況を測定する。
次に、測定したリソース使用状況をリソース使用状況管理情報テーブルT601に出力する(S1402)。リソース使用状況管理情報テーブルT601には代表的な情報のみを記載しているが、前述のデータ転送の種類による使用率等の情報も、リソース使用状況管理情報テーブルT601に出力する。
次に、LU制御権変更パターンの抽出を行う(S1411)。ここでは、LU制御権変更が可能な全パターンの抽出を、管理単位毎に実施する。例えば、LU制御権管理テーブルT401にあるように、LU0の制御権がコントローラ番号0、コア番号0のCPUコアに割り当てられており、コントローラ毎に2つのCPUコアを持つようなシステムの場合では、LU0の制御権変更候補は(0−1)、(1−0)、(1−1)となる。
ただし、括弧内はコントローラ番号―コア番号を表す。なお、後述のLU制御権変更設定によっては、前述の候補がさらに絞られる事もある。さらに、管理者の設定以外にも、例えばハードウェアもしくはソフトウェア上の障害が発生するなどしてLU制御権変更が不可能なケースがあり、この場合も前述のLU制御権変更候補は絞られる事になる。
次に、全LU制御権変更パターンの解析が完了したかどうかを判定する(S1412)。ここでは、S1411において抽出した全LU制御権変更パターンに関して、後述の解析処理(S1422及びS1423)が完了したかどうかの判定を実施し、実施済みの場合は、出力処理(S1431)を実施し、未実施の場合は、LU制御権変更パターン選択(S1421)を実行する。
LU制御権変更パターン選択処理S1421では、S1411にて抽出したLU制御権変更パターンのうち、S1422及びS1423を未実施のLU制御権変更パターンを検索し、これを次処理の対象として選択する。
次に、S1421にて選択したLU制御権変更パターンについて、LU制御権変更を実施後にリソース使用状況がどのように変化するかを推測する(S1422)。以下では、例としてコントローラ0コア0に割り当てられているLU0がコントローラ0コア1及びコントローラ1コア0のそれぞれに移行する場合の変化について、どのように推測するかを、LU制御権変更後リソース使用状況変化予測情報テーブルT701を用いて記載する。
まず、LU0が現在使用中のリソースに関する情報は、S1411によって、リソース使用状況管理情報テーブルT601に出力されている。リソース使用状況管理情報テーブルT601の各リソースの使用率に関する単位は任意であるが、例として、%であるものとする。
このとき、リソース使用状況管理情報テーブルT601にあるように、LU0はコントローラ0コア0のCPUコアのリソースを10%、コントローラ0コア1を2%使用している。LU制御権を持っていないコントローラ0コア1が2%のリソースを使用している理由は、ディスク入出力制御部118の制御をコントローラ0コア1が実施している形態を想定しているためである。
もちろん、コントローラ0コア0及びコア1がそれぞれディスク入出力制御部118の全リソースを自由に使用可能とする形態では、上記の様な想定はコア間の通信及び連携処理を増大させることとなる。
しかし、例えばディスク入出力制御部118の機能において単一コアのみが使用可能な形態である場合や、ディスク入出力制御部118が2つ以上の独立したリソースを持ち、それらのリソースを各コアが占有して使用する事によって、排他制御等のオーバヘッドを低減するという目的においては、上記のように各コアがディスク入出力制御部118のリソースの一部を占有するという形態もあり得る。
また、コントローラ間バスは0%、すなわち使用していない。これは、LU0に関して、二重書きを要するデータのやり取りを実施していないことを意味する。
このLU0の制御権をコントローラ0コア1へ移行した場合の移行後の変化として、リソース使用状況変化予測情報テーブルT701では、コントローラ0コア0が−8%、コントローラ0コア1が+6%としている。すなわち、移行後のコントローラ0コア0の使用率は2%となる。
これは、本実施例では、ホスト計算機103から発行された入出力要求を受領した場合に、一旦コントローラ0コア0が受領した要求の解析処理を実施し、この解析処理にプロセッサリソースを使用することを想定しているためである。もちろん、ホスト入出力制御部119の中でも受領した物理的なポートによってコアを割り当てる形態や、受領時点で適切な、すなわち、LU制御権を持っているコアもしくはその時のリソース使用率が低いコアへ、受領要求解析処理を割り当てることを、ホスト入出力制御部119の機能によって実施する形態もありうる。特に後者の形態においては、コントローラ0コア0のCPU使用率は0となるようなケースもある。
本実施例では、前述のディスク入出力制御部118に対するコアの割り当て処理と同様に、ホスト入出力制御部119のリソースの一部をコアに占有させる形態を想定している。コントローラ0コア1については、これまでLU制御権を持っていたコントローラ0コア0が実施していた処理を新たに担当することになるため、CPU使用率が増加し、これを6%としている。このときCPU使用率の合計に着目すると、移行前は12%、移行後は10%と、移行前後で一致していない。
これは、前述のディスク入出力制御部118をコントローラ0コア1が使用するという想定においては、LU制御権をコントローラ0コア0が持っている場合に発生する、ディスク181に対する入出力要求発行時に発生するコントローラ0コア0―コントローラ0コア1間の通信処理が不要となるため、両コアの使用率合計が低下することを示している。一方、コントローラバスの使用率については、LU制御権変更がコントローラを跨っていないため、データ転送を実施する必要が無く、0%のままとなる。
LU0をコントローラ1コア0へ移行した場合の移行後の変化としては、コントローラ0コア0が−7%、コントローラ1コア0が+10%としている。前述のコントローラ0コア1への移行と同様の理由によって、コントローラ0コア0のリソース使用率は0%とはならない。また、この移行処理は、コントローラを跨る処理であり、コントローラ間バスも+5%のリソース使用率増加があると推測している。
これは、本実施例においては、LU制御権を持つコアは、自コントローラ内のディスク入出力制御部及び自コントローラ内のキャッシュメモリを使用するという形態を想定しているためである。このため、実際にホスト計算機103からの入出力要求を受領したコントローラ111のホスト入出力制御部119を使用してデータをやり取りするためには、コントローラ間バス182を使用する必要があり、このリソースの使用率が増加するとしている。
ここで、前述の形態ではなく、他コントローラのリソースのみを使用することでコントローラ間バス182を使用しないという形態も取ることは可能である。すなわち、コントローラ1コア0が、コントローラ111内のディスク入出力制御部118を制御し、キャッシュメモリ117を使用してデータのやり取りを実施するという形態である。この場合は、コントローラ間バス182の使用状況に変化はないと予測される。
以上のようにして、LU制御権変更後のプロセッサ使用率及びコントローラ間バス182の使用率変化を推測した。その他のリソースについても同様にLU制御権変更後の変化を推測する。
次に、S1421にて選択したLU制御権変更パターンについて、LU制御権変更を実施した場合に移行処理自体によって発生するオーバヘッドを推測する(S1423)。
LU制御権の変更処理は、管理情報の移行とデータの移行の二種類がある。管理情報の移行は、ある管理単位(S1422で使用した例におけるLU0)に関する処理を行うための情報を、あるCPUコア(同例ではコントローラ0コア0)から、LU制御権変更候補(同例ではコントローラ0コア1もしくはコントローラ1コア0)の管理下へ移動させる処理となる。このとき、メモリ116からメモリ116もしくはメモリ156へのデータコピーが発生するかどうかは実装形態に依存する。
また、管理情報がキャッシュメモリ上にある場合も同様である。データの移行におけるデータとは、キャッシュメモリ上に存在する、ホスト計算機103もしくは104とでやり取りされるデータを指す。このデータは、ディスク181からリードした、もしくはライトする必要のあるデータである。リードしたデータについては、必要となった場合に再度ディスク181からリードすることで復旧可能である事から、このデータを破棄する、すなわち前述の管理情報の移行の際に当該データの管理情報を破棄することも可能である。このデータの移行についても、管理情報と同様に、キャッシュメモリ117からキャッシュメモリ117へのデータコピーが発生するかどうかは実装形態に依存する。
LU制御権変更処理オーバヘッド予測情報テーブルT801では、データ移行の際にコントローラ間バス182を使用するという前提で、コントローラ間バスの使用率が上昇すると推測している。
なお、LU制御権変更処理オーバヘッド予測情報503は、リソース使用状況管理情報501やLU制御権変更後リソース使用状況変化予測情報502と異なり、ある処理(LU制御権変更処理)を実行する際に発生するオーバヘッドを表しているため、数値の単位は異なる。例えば、LU制御権変更処理を1秒間で実施するとした場合に発生する各リソースの使用率等で表される。このような形式で表現することで、使用率が100%を超えていると1秒間での移行が不可能であるという判断が可能となる。
S1423が完了すると、全LU制御権変更パターンの解析完了判定処理(S1412)へ戻る。
S1412にて、S1411で抽出した全制御解析パターンの解析処理(S1421、S1422、S1423)が完了したと判断した場合には、LU制御権変更後リソース使用状況変化予測情報502及びLU制御権変更処理オーバヘッド予測情報503の出力を行う(S1431)。
次に、図10のフローチャートを用いて、S904簡易バランシング処理を説明する。以下の処理は、プログラムを基にコア122または162によって実行される。まず、ストレージ101内の全てのコアを移行元コア候補として登録する(S1001)。次に、ストレージ101内の全てのコアを移行先コア候補として登録する(S1002)。次に、移行元コア候補のうち、最も負荷の高いコアを、移行元コアとして選択する(S1003)。次に、移行先コア候補のうち、最も負荷の低いコアを、移行先コアとして選択する(S1004)。
選択した移行元コアから移行先コアへ1つもしくは複数のLUを移行する事を考えた場合、負荷バランス上適切なLUが存在するかどうかを判定する(S1005)。適切なLUが存在しないケースとしては、例えば、高負荷なコアが担当するLUが1つだけというケースがある。
この場合、当該LUの負荷が極めて高く、どのコアに移行しても負荷アンバランスが発生することが予想されるため、移行に適しているとはいえない。他には、バランシングパラメータ情報テーブルT402にて、移行を禁止もしくは禁止に準ずる設定のLUしか存在しない場合などが該当する。
S1005にて、移行に適したLUが1つもしくは複数存在した場合は、当該LUのLU制御権を現在選択中の移行元コアから移行先コアへと移行し(S1006)、簡易バランシング処理は完了する。
S1005にて、移行に適したLUが存在しないと判定した場合は、他に移行先候補コアが存在するかを判定する(S1011)。移行先コア候補が他に存在した場合は、まず現在移行先コアとして選択中のコアを、移行先候補から外し(S1012)、S1004から処理を継続する。S1011にて、他に移行先候補コアが存在しない場合には、続いて移行元候補のコアが存在するかどうかを判定する(S1013)。
S1013にて移行元候補のコアが存在すると判定した場合は、現在移行元コアとして選択中のコアを、移行元候補から外し(S1014)、S1002の処理に戻る。S1013にて、移行元コア候補が選択中コア以外に存在しないと判定した場合は、全ての移行元、移行先コアの組み合わせについて、移行に適したLUが存在しなかったこととなるため、簡易バランシング処理を終了する。
なお、さらに簡易な判定方法としては、S1001〜S1004の処理の代わりに、移行元コアとして最大負荷のコアを、移行先コアとして最小負荷のコアを選択し、かつ、他の候補は存在しないという状態から処理を開始させる方法がある。この場合、必ず最大負荷のコアから最小負荷のコアへのLU制御権変更のみが候補となるため、容易かつ低負荷にロードバランス実行要否の判定が可能となる。
次に、通常バランシング処理を図11のフローチャートを用いて説明する。以下の処理は、プログラムを基にコア122または162によって実行される。まず、未選択のパターンの中から、移行元コア、移行先コア、移行対象LUをそれぞれ選択する(S1101)。次に、選択した条件について、評価関数を用いて評価を実施する(S1102)。
この評価関数はS901にて設定した関数であり、ユーザの設定によって、どの項目を優先的に考慮するかが反映されている。次に、未選択パターンが存在するかどうかを判定する(S1103)。未選択パターンがある場合はS1101に戻る。
すなわち、全てのパターンについて、S1102を実行することに相当する。S1103にて、未選択パターンが存在しなくなった場合は、得られた評価結果のうち、最も良い結果となったパターンに基づいてLU制御権変更処理を実施する(S1104)。
この方法により、移行後に変化するリソースの使用状況や、その際のコントローラ跨りによる負荷変化や、また移行処理自体によって発生するオーバヘッドを含めた、ユーザの設定、目的に沿った最適な移行処理を実現可能となる。
次に、ユーザからの負荷バランスに関する指示を受け付ける、管理画面について、図12を用いて説明する。管理画面1201は管理ホスト105にて表示される、負荷バランスの際にどのような優先度で各項目を評価するかを設定するための画面であり、自動移行設定部1202と、LU単位自動移行設定部1203と、OKボタン1204と、キャンセルボタン1205からなる。
自動変更設定部位1202には自動移行設定パラメータテーブルT1212がある。自動移行設定パラメータテーブルT1212にて、自動移行処理自体の可否、性能バランス、ストレージ全体性能の各優先度を設定する。また、移行オーバヘッドについて、どの程度優先的に考慮し、LU制御権変更を行うかという設定や、移行の際に参照する性能情報の範囲として、過去の性能履歴をどの程度参照して移行を判断するかといった情報を設定する。
LU単位自動変更設定1203には、LU単位自動変更設定テーブルT1203がある。LU単位自動変更設定テーブルT1203は、本実施例でLU制御権利を管理する単位としているLU毎に、現在どのコントローラ、コアが担当しているかという情報と、ユーザ設定によってどのコアに割り当てるかという設定内容と、当該LUを自動移行の対象とするか否か、また自動移行の対象となった場合の優先度をどの程度とするかという設定内容からなる。
OKボタン1204と、キャンセルボタン1205は、管理画面1201にて設定した内容を、それぞれ有効とするか、破棄するかを決定するボタンである。
次に、ユーザから負荷バランスに関する指示を受け付ける別の方法を、管理画面を表す図17を用いて説明する。管理画面1701は、管理ホスト105に表示される、負荷バランス処理の際の優先度をある程度自動で設定するための画面である。自動設定部1702とOKボタン1703と、キャンセルボタン1704からなる。
自動設定部1702には、自動設定を有効にするためのラジオボタン1711と、自動設定を無効にするための1712があり、どちらか一方のみを設定可能である。文字列1731、1732は、それぞれラジオボタン1711、1712の意味を説明した文字列である。ラジオボタン1712を有効、すなわち自動設定を無効に設定した場合は、管理画面1201で示したような、ユーザがある程度自由かつ詳細に負荷バランス処理に関するパラメータを設定する。
一方、ラジオボタン1711を有効、すなわち自動設定を有効に設定した場合は、さらにラジオボタン1721、1722、1723等から設定方法を選択する。文字列1741、1742、1743は、ラジオボタン1721、1722、1723の意味を説明した文字列である。
ラジオボタン1721を有効、すなわち完全自動設定を有効とした場合には、完全に自動的に、負荷バランス処理に関するパラメータであるバランシングパラメータ情報402を設定する。この時、以下のラジオボタン1722や1723を設定した場合のように、ユーザが追随困難な動的な負荷変動や、周期的な特徴のある負荷変動に対して有効となるようなパラメータ設定を自動的に選択する。
ラジオボタン1722を設定、すなわち、IO負荷に応じてパラメータを変更するという設定を選択した場合には、ストレージ101に対して発行されるIO全体の負荷を考慮したバランシングパラメータ情報402を設定する。
これは、例えば、ストレージ101に対して発行されるIO負荷が高い場合には、ストレージ101が性能ネックとなる可能性があることから、性能バランスよりも出来るだけ全体性能を高くするようなバランシングパラメータ402を設定することを意味する。一方、ストレージ101に対して発行されるIO負荷が低い場合には、ストレージ101を使用するアプリケーションで性能差が発生しないように、また突発的なIO負荷上昇に備え、性能バランスを優先するようなバランシングパラメータ402を設定することを意味する。つまり、ストレージ101のIO負荷状況に応じて、バランシングパラメータ402を動的に変更するような設定である。
ラジオボタン1723を設定、すなわち、1日単位の周期的な負荷変動に対応するという設定を選択した場合には、ストレージ101に対して1日単位で周期的な負荷が発行されると仮定し、その周期的な変動を記録し活用する。すなわち、夜間に実行されるバックアップやバッチ処理のような高負荷処理の特徴を記録し、これに速やかに追随可能なようにバランシングパラメータ402を動的に変更する。
OKボタン1703と、キャンセルボタン1704は、管理画面1701にて設定した内容を、それぞれ有効とするか、破棄するかを決定するボタンである。
次に、ユーザに対して、ストレージ101の内部性能情報を伝える画面について、図15を用いて説明する。内部性能情報は、管理画面1501上のリソース使用状況1511、リソース使用状況変化予測1521、LU制御権変更処理オーバヘッド予測1531、OKボタン1541、更新ボタン1542からなる。
リソース使用状況1511は、現時点及び過去のリソース使用状況をリソース使用状況テーブルT1512にて表している。ここで表示する情報は、リソース使用状況管理情報テーブルT601と同等である。もちろん、ユーザが視覚的に状況を捉えやすいように、グラフ表示する等の表現方法もあり得る。
リソース使用状況変化予測1521は、リソース使用状況変化予測テーブルT1522からなる。ここで表示する情報は、LU制御権変更後リソース使用状況変化予測情報テーブルT701と同等である。ここでもT1512と同じく、ユーザが状況を捉えやすいように、LU制御権変更後の使用状況としてリソース使用状況1511と同様の表現を行うなどの形態もあり得る。また、過去のリソース使用状況の変化予測履歴もあわせて表示するなどの形態もあり得る。
LU制御権変更処理オーバヘッド予測1531は、LU制御権変更処理オーバヘッド予測テーブルT1532からなる。ここで表示する情報は、LU制御権変更処理オーバヘッド予測情報テーブルT801と同等である。ここでもT1512と同じく、ユーザが状況を捉えやすいように、例えば全リソースを使用して移行処理を行った場合の時間にするなどの表現方法を変更する形態もあり得る。
OKボタン1541は、表示処理を終了するボタンである。更新ボタン1542は、表示している情報を最新のものに更新するボタンである。
次に、LU制御権変更処理の履歴をユーザに伝えるための画面について、図16を用いて説明する。LU制御権変更処理履歴情報は、管理画面1601上のLU制御権変更処理実行履歴1611、OKボタン1621、更新ボタン1622からなる。
LU制御権変更処理実行履歴1611は、LU制御権変更処理実行履歴テーブルT1612からなる。LU制御権変更処理実行履歴テーブルT1612は、過去に実施したLU制御権変更処理の時刻、対象LU、移行前CPUコア、移行後CPUコアからなり、どのようなLU制御権変更処理を実施してきたかをユーザに伝えることが出来、ユーザは、図12で設定した際の意図と合致した移行がなされているかどうかの確認が可能となる。
OKボタン1621は、表示処理を終了するボタンである。更新ボタン1622は、表示している履歴情報を最新のものに更新するボタンである。
本実施例においては、LU制御権を受けてLUの処理を担当するコアであって、非対称性を有する各コア122、162の負荷を分散するに際して、LU制御権を有するコアは、LU制御権管理情報T401を基にLU制御権を有するコアとLU制御権の移行先の候補となるコアとの関係を示すパターンをLU毎に抽出し、ストレージ101を構成する複数のリソースの使用状況をLU毎に測定し、この測定結果を基にLU制御権の移行後に生じると想定される、複数のリソースの使用状況の変化をLU毎に予測するとともに、測定結果を基にLU制御権の移行処理自体によって発生すると想定されるオーバヘッドをLU毎に予測し、各予測結果を基に、抽出した各パターンのうち設定情報(バランシングパラメータ情報402)に適合するパターンを選択し、選択したパターンに属するコアにLU制御権を移行することとしている。
本実施例によれば、非対称性を有する複数のコアに対して、設定にあわせた最適な負荷分散を実施することができる。
101・・・ストレージ、103,104・・・ホスト計算機、114,154・・・CPU、116,156・・・メモリ、117,157・・・キャッシュメモリ、182・・・コントローラ間バス、215・・・性能情報測定プログラム、216・・・性能情報解析プログラム、217・・・LU制御権変更プログラム、221・・・構成情報、222・・・性能情報、401・・・LU制御権管理情報、402・・・バランシングパラメータ情報、501・・・リソース使用状況管理情報、502・・・LU制御権変更後リソース使用状況変化予測情報、503・・・LU制御権変更処理オーバヘッド予測情報、

Claims (10)

  1. 設定情報を入力する入力部と、前記入力部から送られる前記設定情報を処理する1または2以上のコントローラと、複数の論理ユニットで構成された記憶領域にデータを格納する複数のディスクと、を有し、
    前記各コントローラは、
    複数の処理対象に対して、そのLU制御権を受けて前記処理対象の処理を担当する複数のコアを備え、前記複数のディスクをアクセス対象として、前記複数のディスクとデータの授受を行うとともに、
    LU制御権管理情報を基に前記LU制御権を有するコアと前記LU制御権の移行先の候補となるコアとの関係を示すパターンを前記処理対象毎に抽出し、前記コントローラを構成する複数のリソースの使用状況を前記処理対象毎に測定し、この測定結果を基に前記LU制御権の移行後に生じると想定される状態変化を前記処理対象毎に予測し、前記各予測結果を基に前記抽出した各パターンのうち前記入力部の設定情報に適合するパターンを選択し、当該選択したパターンに属するコアに前記LU制御権を移行する、ストレージシステム。
  2. 前記コントローラは、複数台で構成されて互いにバスを介して接続されて、プログラムを記憶するメモリと、前記メモリに格納されたプログラムに従ってデータを処理する複数のコアと、前記各コアの処理に伴うデータを一時的に格納するフラッシュメモリを備え、
    前記各コアは、複数の処理対象に対して、そのLU制御権を受けて前記処理対象の処理を担当し、
    前記複数のコアのうち前記LU制御権を有するコアは、LU制御権管理情報を基に前記LU制御権を有するコアと前記LU制御権の移行先の候補となるコアとの関係を示すパターンを前記処理対象毎に抽出し、前記コントローラを構成する複数のリソースの使用状況を前記処理対象毎に測定し、この測定結果を基に前記LU制御権の移行後に生じると想定される、前記複数のリソースの使用状況の変化を前記処理対象毎に予測するとともに、前記測定結果を基に前記LU制御権の移行処理自体によって発生すると想定されるオーバヘッドを前記処理対象毎に予測し、前記各予測結果を基に前記抽出した各パターンのうち前記入力部の設定情報に適合するパターンを選択し、当該選択したパターンに属するコアに前記LU制御権を移行する、請求項1に記載のストレージシステム。
  3. 前記コントローラは、前記測定結果を基に前記LU制御権の移行後に生じると想定される前記状態変化として、前記複数のリソースの使用状況の変化を前記処理対象毎に予測するとともに、前記測定結果を基に前記LU制御権の移行処理自体によって発生すると想定されるオーバヘッドを前記処理対象毎に予測し、前記各予測結果を基に前記抽出した各パターンのうち前記入力部の設定情報に適合するパターンを選択する、請求項1に記載のストレージシステム。
  4. LU制御権管理情報は、前記処理対象を担当するコアと前記コアが属するコントローラとの対応関係を示す情報である、請求項1に記載のストレージシステム。
  5. 前記複数のリソースの使用状況は、前記複数のリソースの使用率と前記コントロール間バスの使用率を含む情報である、請求項1に記載のストレージシステム。
  6. 前記設定情報は、前記各コアの負荷を分散するためのパラメータとして、負荷バランスの優先度とシステム性能の優先度および移行オーバヘッドの許容レベルを含む、請求項1に記載のストレージシステム。
  7. 前記設定情報は、前記各コアの負荷を分散するためのパラメータとして、負荷バランスの優先度とシステム性能の優先度で構成され、
    前記コントローラは、前記負荷バランスの優先度が前記システム性能の優先度よりも高いときには、前記各リソースの負荷を分散させるためのパターンを前記設定情報に適合するパターンとして選択し、前記負荷バランスの優先度が前記システム性能の優先度よりも低いときには、前記各リソースの負荷が不均衡となっても、システム性能を高くするためのパターンを前記設定情報に適合するパターンとして選択する、請求項1に記載のストレージシステム。
  8. 前記設定情報は、前記各コアの負荷を分散するためのパラメータとして、移行オーバヘッド許容レベルで構成され、
    前記コントローラは、前記状態変化が前記移行オーバヘッド許容レベルよりも低くなるパターンを前記設定情報に適合するパターンとして選択する、請求項1に記載のストレージシステム。
  9. 設定情報を入力する入力部と、前記入力部から送られる前記設定情報を処理する1または2以上のコントローラと、複数の論理ユニットで構成された記憶領域にデータを格納する複数のディスクと、を有し、
    前記コントローラは、複数の処理対象に対して、そのLU制御権を受けて前記処理対象の処理を担当する複数のコアを備え、
    前記コントローラは、前記複数のディスクをアクセス対象として、前記複数のディスクとデータの授受を行うステップと、
    LU制御権管理情報を基に前記LU制御権を有するコアと前記LU制御権の移行先の候補となるコアとの関係を示すパターンを前記処理対象毎に抽出するステップと、
    前記コントローラを構成する複数のリソースの使用状況を前記処理対象毎に測定するステップと、
    前記測定結果を基に前記LU制御権の移行後に生じると想定される状態変化を前記処理対象毎に予測するステップと、
    前記各予測結果を基に前記抽出した各パターンのうち前記入力部の設定情報に適合するパターンを選択するステップと、
    前記選択したパターンに属するコアに前記LU制御権を移行するステップを実行する、
    ストレージシステムの制御方法。
  10. 前記コントローラは、複数台で構成されて互いにバスを介して接続されて、プログラムを記憶するメモリと、前記メモリに格納されたプログラムに従ってデータを処理する複数のコアと、前記各コアの処理に伴うデータを一時的に格納するフラッシュメモリを備え、
    前記各コアは、
    複数の処理対象に対して、そのLU制御権を受けて前記処理対象の処理を担当するステップを実行し、
    前記複数のコアのうち前記LU制御権を有するコアは、
    LU制御権管理情報を基に前記LU制御権を有するコアと前記LU制御権の移行先の候補となるコアとの関係を示すパターンを前記処理対象毎に抽出するステップと、
    前記コントローラを構成する複数のリソースの使用状況を前記処理対象毎に測定するステップと、
    前記測定結果を基に前記LU制御権の移行後に生じると想定される、前記複数のリソースの使用状況の変化を前記処理対象毎に予測するステップと、
    前記測定結果を基に前記LU制御権の移行処理自体によって発生すると想定されるオーバヘッドを前記処理対象毎に予測するステップと、
    前記各予測結果を基に前記抽出した各パターンのうち前記入力部の設定情報に適合するパターンを選択するステップと、
    前記選択したパターンに属するコアに前記LU制御権を移行するステップを実行する、
    請求項9に記載のストレージシステムの制御方法。
JP2011502158A 2008-10-10 2009-03-02 ストレージシステムおよびその制御方法 Expired - Fee Related JP5490093B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011502158A JP5490093B2 (ja) 2008-10-10 2009-03-02 ストレージシステムおよびその制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008263396 2008-10-10
JP2008263396 2008-10-10
PCT/JP2009/054354 WO2010041481A1 (en) 2008-10-10 2009-03-02 Storage system and method for controlling the same
JP2011502158A JP5490093B2 (ja) 2008-10-10 2009-03-02 ストレージシステムおよびその制御方法

Publications (2)

Publication Number Publication Date
JP2011530728A true JP2011530728A (ja) 2011-12-22
JP5490093B2 JP5490093B2 (ja) 2014-05-14

Family

ID=40668436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011502158A Expired - Fee Related JP5490093B2 (ja) 2008-10-10 2009-03-02 ストレージシステムおよびその制御方法

Country Status (5)

Country Link
US (3) US8146092B2 (ja)
EP (1) EP2350805A1 (ja)
JP (1) JP5490093B2 (ja)
CN (1) CN102257469B (ja)
WO (1) WO2010041481A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019164510A (ja) * 2018-03-19 2019-09-26 株式会社日立製作所 ストレージシステム及びio処理の制御方法
JP2021099560A (ja) * 2019-12-20 2021-07-01 株式会社日立製作所 ストレージシステム
JP2022074920A (ja) * 2020-11-05 2022-05-18 株式会社日立製作所 ストレージ装置およびストレージ装置の制御方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8146092B2 (en) * 2008-10-10 2012-03-27 Hitachi, Ltd. System and method for selecting and executing an optimal load distribution processing in a storage system
US8412892B2 (en) * 2010-04-21 2013-04-02 Hitachi, Ltd. Storage system and ownership control method for storage system
JP5193327B2 (ja) * 2011-02-28 2013-05-08 シャープ株式会社 画像形成装置
US9477597B2 (en) 2011-03-25 2016-10-25 Nvidia Corporation Techniques for different memory depths on different partitions
US8701057B2 (en) 2011-04-11 2014-04-15 Nvidia Corporation Design, layout, and manufacturing techniques for multivariant integrated circuits
US9176670B2 (en) * 2011-04-26 2015-11-03 Taejin Info Tech Co., Ltd. System architecture based on asymmetric raid storage
US20120278527A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho System architecture based on hybrid raid storage
US20120278550A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho System architecture based on raid controller collaboration
WO2012164625A1 (en) * 2011-06-01 2012-12-06 Hitachi, Ltd. Load distribution storage system and method therefor
WO2012164632A1 (en) * 2011-06-03 2012-12-06 Hitachi, Ltd. Storage apparatus and storage apparatus management method
WO2012164633A1 (en) * 2011-06-03 2012-12-06 Hitachi, Ltd. Storage apparatus and storage apparatus management method
JP5802283B2 (ja) * 2011-07-22 2015-10-28 株式会社日立製作所 ストレージシステム及びその論理ユニット管理方法
US9529712B2 (en) * 2011-07-26 2016-12-27 Nvidia Corporation Techniques for balancing accesses to memory having different memory types
US8868711B2 (en) 2012-02-03 2014-10-21 Microsoft Corporation Dynamic load balancing in a scalable environment
US10860384B2 (en) 2012-02-03 2020-12-08 Microsoft Technology Licensing, Llc Managing partitions in a scalable environment
US9852010B2 (en) * 2012-02-03 2017-12-26 Microsoft Technology Licensing, Llc Decoupling partitioning for scalability
CN103814365B (zh) * 2012-02-06 2016-07-20 株式会社日立制作所 计算机系统及数据输入输出方法
US9152640B2 (en) * 2012-05-10 2015-10-06 Hewlett-Packard Development Company, L.P. Determining file allocation based on file operations
US8918448B2 (en) * 2012-05-11 2014-12-23 International Business Machines Corporation Application component decomposition and deployment
US9271229B2 (en) * 2012-07-20 2016-02-23 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for partial downloading in wireless distributed networks
US9317423B2 (en) * 2013-01-07 2016-04-19 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
US9063667B2 (en) * 2013-08-13 2015-06-23 Utah State University Dynamic memory relocation
US20150293708A1 (en) * 2014-04-11 2015-10-15 Netapp, Inc. Connectivity-Aware Storage Controller Load Balancing
US9547552B2 (en) * 2014-12-11 2017-01-17 Netapp, Inc. Data tracking for efficient recovery of a storage array
US10282302B2 (en) * 2016-06-30 2019-05-07 Hewlett Packard Enterprise Development Lp Programmable memory-side cache management for different applications
CN108200151B (zh) * 2017-12-29 2021-09-10 深圳创新科技术有限公司 一种分布式存储系统中ISCSI Target负载均衡方法和装置
US20220245041A1 (en) * 2019-06-07 2022-08-04 Daikin Industries, Ltd. Device control system and method for controlling device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3528094B2 (ja) 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US6594698B1 (en) * 1998-09-25 2003-07-15 Ncr Corporation Protocol for dynamic binding of shared resources
US6434637B1 (en) 1998-12-31 2002-08-13 Emc Corporation Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations
JP3966459B2 (ja) 2002-05-23 2007-08-29 株式会社日立製作所 ストレージ機器管理方法、システム、およびプログラム
US20040210724A1 (en) * 2003-01-21 2004-10-21 Equallogic Inc. Block data migration
DE602004011757T2 (de) * 2004-07-01 2009-02-05 Sap Ag Datenverarbeitungssystem zur Zuweisung von Objekten an Verarbeitungseinheiten
US7523286B2 (en) * 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
JP4671353B2 (ja) * 2005-12-14 2011-04-13 株式会社日立製作所 ストレージ装置及びその制御方法
US7802073B1 (en) * 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
JP2007328461A (ja) * 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
JP2008134775A (ja) * 2006-11-28 2008-06-12 Hitachi Ltd 記憶サブシステム及びこれを利用したリモートコピーシステム
US8250556B1 (en) * 2007-02-07 2012-08-21 Tilera Corporation Distributing parallelism for parallel processing architectures
US7796128B2 (en) * 2007-02-14 2010-09-14 International Business Machines Corporation Dynamically load balancing game physics using real-time object scaling
US8365184B2 (en) * 2007-08-31 2013-01-29 Apple Inc. Multi-core resource utilization planning
US8302098B2 (en) * 2007-12-06 2012-10-30 Oracle America, Inc. Hardware utilization-aware thread management in multithreaded computer systems
US8146092B2 (en) * 2008-10-10 2012-03-27 Hitachi, Ltd. System and method for selecting and executing an optimal load distribution processing in a storage system
JP2010141821A (ja) * 2008-12-15 2010-06-24 Toshiba Corp ストリーミングプロセッサおよびプロセッサシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019164510A (ja) * 2018-03-19 2019-09-26 株式会社日立製作所 ストレージシステム及びio処理の制御方法
US10783096B2 (en) 2018-03-19 2020-09-22 Hitachi, Ltd. Storage system and method of controlling I/O processing
JP2021099560A (ja) * 2019-12-20 2021-07-01 株式会社日立製作所 ストレージシステム
JP7348056B2 (ja) 2019-12-20 2023-09-20 株式会社日立製作所 ストレージシステム
JP2022074920A (ja) * 2020-11-05 2022-05-18 株式会社日立製作所 ストレージ装置およびストレージ装置の制御方法
JP7252931B2 (ja) 2020-11-05 2023-04-05 株式会社日立製作所 ストレージ装置およびストレージ装置の制御方法

Also Published As

Publication number Publication date
EP2350805A1 (en) 2011-08-03
US8429667B2 (en) 2013-04-23
JP5490093B2 (ja) 2014-05-14
US8146092B2 (en) 2012-03-27
WO2010041481A1 (en) 2010-04-15
CN102257469A (zh) 2011-11-23
US20120210329A1 (en) 2012-08-16
US20100325339A1 (en) 2010-12-23
CN102257469B (zh) 2014-12-10
US20130232302A1 (en) 2013-09-05

Similar Documents

Publication Publication Date Title
JP5490093B2 (ja) ストレージシステムおよびその制御方法
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
US8429346B1 (en) Automated data relocation among storage tiers based on storage load
US8402234B2 (en) Storage system and storage migration method
US20170255414A1 (en) Intelligent wide port phy usage
JP5057792B2 (ja) 性能ボトルネックを緩和する機能を備えたストレージシステム
JP5081498B2 (ja) 計算機システム、および、その制御方法
US7774094B2 (en) Selecting a source cluster by measuring system factors, calculating a mount-to-dismount lifespan, and selecting the source cluster in response to the lifespan and a user policy
JP2009043030A (ja) ストレージシステム
JP2010097533A (ja) パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化
JP2008217216A (ja) 負荷分散方法及び計算機システム
JP2007310861A (ja) ストレージシステム及びその制御方法
WO2011058598A1 (en) Storage system with multiple controllers
JP2007072538A (ja) ストレージ仮想化装置のデバイス制御引継ぎ方法
WO2012056494A2 (en) Storage system and its operation method
US20080288795A1 (en) Method and system for reducing power consumption of storage system serving as target during remote copying employing journal
US9047015B2 (en) Migrating thin-provisioned volumes in tiered storage architectures
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
JP6271769B2 (ja) 計算機システム、計算機システムにおけるデータの移行方法
US20110167232A1 (en) Storage control apparatus and method of controlling storage control apparatus
US20140068214A1 (en) Information processing apparatus and copy control method
US11550489B2 (en) Storage system and processing migration method
JP2011242862A (ja) ストレージサブシステム及びその制御方法
JP6696220B2 (ja) データ移行装置、データ移行システム、方法およびプログラム
JP2014238771A (ja) ストレージ制御装置、アクセス制御方法、及び制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5490093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20110210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110210

LAPS Cancellation because of no payment of annual fees