JP5167410B2 - 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法 - Google Patents

複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法 Download PDF

Info

Publication number
JP5167410B2
JP5167410B2 JP2011514959A JP2011514959A JP5167410B2 JP 5167410 B2 JP5167410 B2 JP 5167410B2 JP 2011514959 A JP2011514959 A JP 2011514959A JP 2011514959 A JP2011514959 A JP 2011514959A JP 5167410 B2 JP5167410 B2 JP 5167410B2
Authority
JP
Japan
Prior art keywords
processor
request
processing
value
microprocessor
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
JP2011514959A
Other languages
English (en)
Other versions
JP2012504796A (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
Publication of JP2012504796A publication Critical patent/JP2012504796A/ja
Application granted granted Critical
Publication of JP5167410B2 publication Critical patent/JP5167410B2/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or 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/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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0673Single storage device
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数のマイクロプロセッサを有するストレージシステムに関する。
ストレージシステムは、一般に、複数のストレージデバイスと、外部デバイス(例えばホストコンピュータ)からI/O(Input/Output)要求を受け付けるコントローラとを備える。コントローラの構成としては、例えば特許文献1に開示の構成がある。
特開2005−044010号公報
コントローラは、例えば、外部デバイスから受けたI/O要求がリード要求であれば、ストレージデバイスからキャッシュメモリ(CM)にデータを転送する処理(ストレージデバイスリード処理)と、外部デバイスへ転送するデータをCMから転送する処理(CMリード処理)とを実行する。
また、コントローラは、例えば、外部デバイスから受けたI/O要求がライト要求であれば、外部デバイスから受けたデータをCMへ転送する処理(CMライト処理)と、CMからストレージデバイスへデータを転送する処理(ストレージデバイスライト処理)とを実行する。
複数のマイクロプロセッサを有するコントローラが知られているが、通常、各マイクロプロセッサは、同期処理と非同期処理のいずれも行う。ここで、「同期処理」とは、外部デバイスからのI/O要求が受け付けられてからそのI/O要求に対するレスポンスをその外部デバイスへ返すまでの間に実行しなければならない処理であり、例えば、前述したストレージデバイスリード処理、CMリード処理、CMライト処理を実行させる処理などである。一方、「非同期処理」とは、同期処理以外の処理(外部デバイスからのI/O要求が受け付けられてからそのI/O要求に対するレスポンスを外部デバイスへ返すまでに実行しなくて良い処理)のうちの特定の処理、例えば、前述したストレージデバイスライト処理を実行させる処理である。
短期的に処理を完了することが重要でない非同期処理を或るマイクロプロセッサが長時間かけて行ってしまうと、そのマイクロプロセッサが行わなければならない同期処理の開始が遅れ、故に、外部デバイスへのレスポンスが遅くなってしまう。しかしながら、同期処理を優先して非同期処理が長期間の遅延することは好ましくない。なぜなら、例えば、ストレージデバイスライト処理をまとめて行おうとすると、CMにデータが一杯になって、ライト要求に従うデータをCMに書込めず、故に、却って、I/O要求に対するレスポンス(以下、I/Oレスポンス)を返すのが遅くなってしまうおそれがあるからである。
従って、本発明の目的は、複数のマイクロプロセッサを備えるストレージシステムにおいて、非同期処理のスループットを確保しつつ、同期処理の非同期処理待ちによるI/Oレスポンスの遅れを防ぐことにある。
コントローラが有する複数のマイクロプロセッサに、同期プロセッサと、非同期プロセッサが混在する。同期プロセッサは、同期処理を担当し非同期処理を担当しないマイクロプロセッサである。非同期プロセッサは、非同期処理を担当し同期処理を担当しないマイクロプロセッサである。
図1は、本発明の第1実施形態に係る計算機システムの構成図である。 図2は、本発明の第1実施形態に係るMPPKの構成図である。 図3は、本発明の第1実施形態に係る管理コンソールの構成図である。 図4は、本発明の第1実施形態に係るMP設定情報テーブルの構成を表す図である。 図5は、本発明の第1実施形態に係るストレージ構成情報テーブルの構成を表す図である。 図6は、本発明の第1実施形態に係るRAID管理テーブルの構成を表す図である。 図7は、本発明の第1実施形態に係るアプリケーション設定数テーブルの構成を表す図である。 図8は、本発明の第1実施形態に係るI/O処理のフローチャートである。 図9は、本発明の第1実施形態に係る切換え処理のフローチャートである。 図10は、本発明の第1実施形態に係る同期処理のフローチャートである。 図11は、本発明の第1実施形態に係る非同期処理のフローチャートである。 図12は、本発明の第1実施形態に係る切換え判定のフローチャートである。 図13は、本発明の第1実施形態に係るMPPK増設時処理のフローチャートである。 図14は、一つのMPが同期処理と非同期処理のどちらも実行することになっている場合に生じ得る問題の一例を模式的に示した図である。 図15は、本発明の第一実施形態で期待できる効果の一例を模式的に示した図である。 図16は、本発明の第2実施形態に係るMPPKの構成図である。 図17は、本発明の第2実施形態に係るMP稼働率テーブルの構成を表す図である。 図18は、本発明の第2実施形態に係る切換え判定をある1つのMPのみが実行する場合のフローチャートである。 図19は、本発明の第2実施形態に係る切換え判定を各MPが実行する場合のフローチャートである。 図20は、本発明の第2実施形態に係る管理コンソールの表示部に表示される画面の第一の例を表す図である。 図21は、本発明の第2実施形態に係る管理コンソールの表示部に表示される画面の第二の例を表す図である。 図22は、本発明の第2実施形態に係る管理コンソールの表示部に表示される画面の第三の例を表す図である。 図23は、本発明の第2実施形態に係る管理コンソールの表示部に表示される画面の第四の例を表す図である。 図24は、本発明の第3実施形態に係る計算機システムの構成図である。 図25は、本発明の第3実施形態に係るアプリケーション設定数テーブルの構成を表す図である。 図26は、本発明の第3実施形態に係る非同期処理のフローチャートである。
10…ストレージシステム
以下、本発明の幾つかの実施形態を、図面を参照して説明する。なお、以下に説明する実施形態は、特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。また、各実施形態での計算機システムにおける各構成要素は、説明の簡便化のため一つのみ記述されているものでも、多重化(例えば二重化)することで高信頼化を図ることができる。
図1は、本発明の第1実施形態に係る計算機システムの概要を表す。なお、以下の説明では、インターフェイスを「I/F」と略記することがある。
計算機システムは、一以上のホスト計算機180と、ストレージシステム10と、管理コンソール20とを有する。ホスト計算機180及びストレージシステム10間の通信は、例えば、通信ネットワーク190を介して行われる。通信ネットワーク190としては、SAN(Storage Area Network)、LAN(Local Area Network)、インターネット、専用回線、公衆回線等、データ通信を行うことのできるネットワークであればよい。また、ホスト計算機180とストレージシステム10との間の通信のプロトコルとしては、ファイバチャネルプロトコルや、TCP/IPプロトコルなど、データのやりとりが可能な種々のプロトコルのうちの任意のプロトコルを採用可能である。
管理コンソール20は、ストレージシステム10を管理するためのコンソールである。
ホスト計算機180は、I/O要求を送信する。I/O要求は、例えば、リード要求又はライト要求である。リード要求には、例えば、リード対象のデータの読出し元に対応したLUN(Logical Unit Number)及びLBA(Logical Block Address)が含まれる。また、ライト要求には、例えば、ライト対象のデータの書込み先に対応したLUN及びLBAと、ライト対象のデータとが含まれる。LUNは、ストレージシステム10内の論理ボリュームに割り当てられている。LBAは、論理ボリューム内の記憶領域(ブロック)のアドレスである。
ストレージシステム10は、複数のHDD(Hard Disk Drive)170と、ホスト計算機180からI/O要求を受け付けいずれかのストレージデバイス170にアクセスするコントローラ95とを備える。
HDD170は、ストレージデバイスの一例であり、HDD170に代えて又は加えて、他種のストレージデバイス、例えば、フラッシュメモリデバイスが採用されても良い。複数のHDD170を基に複数の論理ボリュームが形成されている。具体的には、二以上のHDD170で構成されたRAID(Redundant Array of Independent (or Inexpensive) Disks)グループが一又は複数個備えられており、各RAIDグループを基に、論理ボリュームが形成される。論理ボリュームには、LUNが割り当てられ、I/O要求で指定されているLUNに対応した論理ボリュームの基になっているHDD170にコントローラ95からアクセスされることになる。Thin Provisioning技術等では、論理ボリュームがプールボリュームであることもあり、その場合には、RAIDグループが基になっている論理ボリュームにはLUNは割り当てられず、仮想的な論理ボリュームにLUNが割り当てられる。この場合、仮想的な論理ボリュームのLUNを指定したI/O要求が受け付けられた場合には、いずれかのプールボリュームに対するアクセスが行われる。
コントローラ95は、例えば、一以上のホストI/F部としての一以上のFEPK(FrontEnd PacKage)100と、一以上の制御部としての一以上のMPPK(Micro Processor PacKage)120と、一以上の共有メモリ部としての一以上のCMPK(Cache Memory PacKage)130と、一以上のディスクI/F部としての一以上のBEPK(BackEnd PacKage)140とを有する。各FEPK100、各MPPK120、各CMPK130及び各BEPK140は、内部ネットワーク150に接続されている。内部ネットワーク150は、例えば、LAN等の通信ネットワークであっても良いし、クロスバスイッチ等のスイッチデバイスであっても良い。内部ネットワーク150によると、MPPK120の各MP(Micro Processor)121は、FEPK100、CMPK130、BEPK140のいずれに対しても通信可能となっている。
FEPK100は、ホスト計算機180と通信するためのインターフェイス装置であり、複数のホストI/F101と、転送制御回路102とを有する。各ホストI/F101は、例えば、ポートである。転送制御回路102は、ホストI/F101で受け付けたI/O要求やデータ等の転送を制御する回路である。
BEPK140は、HDD170と通信するためのインターフェイス装置であり、複数のディスクI/F141と、転送制御回路142とを有する。ディスクI/F141は、例えば、ポートであり、ケーブルを介してHDD170と接続されるとともに、内部ネットワーク150と接続されており、内部ネットワーク150側とHDD170との間におけるリード又はライト対象のデータの受け渡し処理を仲介する。転送制御回路142は、データ転送を制御する回路である。
CMPK130は、キャッシュメモリ(以下、「CM」と略す)131と制御メモリ132を有する。CM131と制御メモリ132は、揮発メモリ、例えば、DRAM(Dynamic Random Access Memory)であってもよい。
CM131には、HDD170にライトするデータ(すなわち、ホスト計算機180からのライト要求に従うライト対象のデータ)を一時的に格納され、また、HDD170からリードしたデータ(すなわち、ホスト計算機180からのリード要求に従うリード対象のデータ)が一時的に格納される。
制御メモリ132は、同期処理及び非同期処理等の処理に必要な制御情報、例えば、HDD構成情報(どのRAIDグループがどのHDD170で構成されているかを表す情報)やボリューム管理情報(どの論理ボリュームがどんな機能に対応しているか等を表す情報)等を記憶する。
MPPK120は、ストレージシステム10の動作を制御する。MPPK120は、複数のMP121と、ローカルメモリ(LM)122と、これらを接続するバス123とを有する。なお、本実施形態では、ストレージシステム10に複数のMP121が存在すれば良いので、MPPK120が複数個あれば、一つのMPPK120が有するMP121は1つであっても良い。
LM122は、制御メモリ132に格納されている制御情報の一部(又は全部)を格納している。制御情報の一部とは、制御情報のうち、その一部を記憶するLM122を有したMPPK120にとって必要な部分である。
図2は、MPPK120のLM122におけるテーブル及びキューを示す。
LM122には、MP設定情報テーブル210と、ストレージ構成情報テーブル220と、RAID管理テーブル230と、アプリケーション設定数テーブル240と、同期初期処理キュー310と、同期再処理キュー320と、非同期初期処理キュー330と、非同期再処理キュー340とが、格納される。一つのMP120につき、それぞれ1本の同期再処理キュー320と非同期再処理キュー340がLM122に格納される。各テーブル210〜240については後に詳細に説明する。また、格別図示しないが、LM122には、各MP121で実行される一以上のコンピュータプログラムが格納されても良い。一以上のコンピュータプログラムが実行されることによって、図8乃至図13の処理が行われる。一以上のコンピュータプログラムには、例えば、図8に示すI/O処理を行うためのコンピュータプログラムと、図9に示す切換え処理を行うためのコンピュータプログラムと、図10に示す同期処理を行うためのコンピュータプログラムと、図11に示す非同期処理を行うためのコンピュータプログラムと、図12に示す切換え判定処理を行うためのコンピュータプログラムと、図13に示すMPPK増設時処理を行うためのコンピュータプログラムとが含まれている。
同期初期処理キュー310には、ホストI/F101がホスト計算機180から受けたI/O要求である同期初期処理要求が格納される。同期初期処理要求は、例えば、ホストI/F101を通じてI/O要求を受けた転送制御回路102によって、同期初期処理キュー310に格納される。転送制御回路102は、I/O要求を解析し、その解析結果に応じて、同期初期処理要求(I/O要求)を、どのMPPK120のLM122における同期初期処理キュー310に格納するかを決定し、決定した同期初期処理キュー310に、同期初期処理要求を格納する(振り分ける)。
同期再処理キュー320には、同期初期処理の後に行われる処理(同記再処理)に関わる情報、例えば、同期処理に関わるハードウェア処理(例えば、CMリード処理、CMライト処理)の完了を意味する完了メッセージが格納される。同期処理に関わるハードウェア処理は、例えば、MP(同期MP)121が、同期初期処理要求を解析し、その解析の結果に基づくデータ転送パラメータが特定の回路(例えば、転送制御回路102又は142や、キャッシュメモリ131へのアクセスを制御するアダプタ回路(CMPK130上に設けられている回路))に設定した場合に(同期初期処理が行われた場合に)、開始される。完了メッセージは、例えば、そのハードウェア処理が完了したときに、特定の回路(例えば転送制御回路102又は142)によって、データ転送パラメータを設定したMP121に対応する同期再処理キュー320に格納される。そのMP121は、そのMP121に対応する同期再処理キュー320に完了メッセージがあることを検出したときに、同期再処理を実行する。
非同期初期処理キュー330には、ストレージシステム10の状態に基づいて必要になった非同期初期処理要求が格納される。非同期初期処理要求は、例えば、或るMP(非同期MP)121が、HDD170に格納されていないデータの総量のCM131の記憶容量に対する比率が所定の比率を超えていることを検出した場合に、その或るMP121によって格納される。
非同期再処理キュー340には、非同期初期処理の後に行われる処理(非同期再処理)に関する情報、例えば、非同期処理に関わるハードウェア処理(例えば、ストレージデバイスライト処理)の完了を意味する完了メッセージが格納される。非同期処理に関わるハードウェア処理は、例えば、MP(非同期MP)121が、非同期初期処理要求を解析し、その解析の結果に基づくデータ転送パラメータが特定の回路(例えば、転送制御回路142や、キャッシュメモリ131へのアクセスを制御するアダプタ回路)に設定した場合に(非同期初期処理が行われた場合に)、開始される。完了メッセージは、例えば、そのハードウェア処理が完了したときに、特定の回路(例えば転送制御回路142)によって、データ転送パラメータを設定したMP121に対応する非同期再処理キュー340に格納される。そのMP121は、そのMP121に対応する非同期再処理キュー340に完了メッセージがあることを検出したときに、非同期再処理を実行する。
MP121が、これらのキュー310〜340から要求或いは情報を取り出し、処理を実行する。
図3は、管理コンソール20の構成図である。
管理コンソール20では、通信I/F21と、入力I/F22と、メモリ24と、HDD25と、CPU(Central Processing Unit)26とが、バス27を介して接続されている。
メモリ24は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)を有し、ブートプログラムや、各種処理を実行するプログラムを記憶する。また、メモリ24は、プログラムやデータを記憶する領域として、或いは、CPU26による処理に使用されるデータを格納する作業領域として利用される。
HDD25は、電源が入っていない場合でも記憶しておく必要があるプログラムや、各種情報を記憶する。
入力I/F22には、例えば、管理コンソール20のユーザ(管理者)による操作を受け付ける入力部(例えばマウスやキーボード等)28が接続されている。入力I/F22は、入力部28からの信号をデータとして、CPU26に出力する。
表示I/F23は、例えば、表示部(例えば液晶ディスプレイ或いはCRT(Cathode Ray Tube))29が接続されている。表示I/F23は、例えば、VRAM(Video Random Access Memory)を有し、CPU26の制御により、表示させる画像に応じた画像データを生成し、表示部29に各種画面を表示出力させる。
通信I/F21は、ストレージシステム10の内部ネットワーク150に接続されており、CPU26と、内部ネットワーク150に接続されたストレージシステム10の各部(例えば、MPPK120のMP121)とのデータ交換の仲介を行う。
CPU26は、各部21〜25の動作を制御する。また、CPU26は、メモリ24又は/及びHDD25に格納されているプログラムをメモリ24のRAMに読み出して実行する。
CPU26は、各種画像を表示I/F23を介して表示部29に表示させる。
図4は、MP設定情報テーブル210の構成を表す。
MP設定情報テーブル210は、各MPが同期MPであるか非同期MPであるかを表すテーブルである。具体的には、例えば、MP設定情報テーブル210は、MP121毎に、MP番号フィールド211と、同期MPフラグフィールド212とを含むエントリを有する。
MP番号フィールド211には、MP121の識別番号であるMP番号が格納される。
同期MPフラグフィールド212には、同期MPフラグが格納される。同期MPフラグは、そのフラグに対応するMPが、同期MPであるか非同期MPであるかを表す。同期MPフラグの値"1"は、同期MPであることを意味し、"0"は、非同期MPであることを意味する。「同期MP」とは、同期処理を担当し非同期処理を担当しないMPである。「非同期MP」とは、非同期処理を担当し同期処理を担当しないMPである。
図5は、ストレージ構成情報テーブル220の構成を表す。
ストレージ構成情報テーブル220は、ストレージシステム10が有する特定の構成要素の数に関する情報を表す。具体的には、例えば、ストレージ構成情報テーブル220は、構成要素毎に、構成名フィールド221と、搭載数フィールド222と、最大搭載数フィールド223とを含むエントリを有する。
構成名フィールド221には、ストレージシステム10の各構成要素の名称が格納される。
搭載数フィールド222には、各構成要素の搭載数が格納される。
最大搭載数フィールド223には、ストレージシステム10における、各構成要素の最大搭載数が格納される。
図6は、RAID管理テーブル230の構成を表す。
RAID管理テーブル230は、どのRAIDレベルのRAIDグループが幾つ存在するかを表す。具体的には、例えば、RAID管理テーブル230は、RAIDレベル毎に、RAIDレベルフィールド231と、設定数フィールド232と、を含むエントリを有する。
RAIDレベルフィールド231には、RAIDレベルを表す情報が格納される。
設定数フィールド232には、各RAIDレベルに対応したRAIDグループ(又はHDD170)の数が格納される。
図7は、アプリケーション設定数テーブル240の構成を表す。
アプリケーション設定数テーブル240は、どのアプリケーション(機能)に対応したHDD(又は、論理ボリューム群及び/又は論理ボリューム)が幾つ存在するかを表す。具体的には、例えば、アプリケーション設定数テーブル240は、ストレージシステム10の有するアプリケーション毎に、アプリケーション名フィールド241と、設定数フィールド242と、を含むエントリを有する。ここで言う「アプリケーション」とは、ストレージシステム10内で管理されるHDD170に適用されMP121で実現される機能である。例えば、非同期ローカルコピーや、キャッシュ常駐機能等がある。「非同期ローカルコピー」とは、I/O要求を受け付けたタイミングとは非同期に、ボリュームペアを構成する一方の論理ボリューム(プライマリ論理ボリューム)から他方の論理ボリューム(セカンダリ論理ボリューム)にデータをコピーする機能である。「キャッシュ常駐機能」とは、その機能に対応した論理ボリューム内のデータ(全てのデータであっても良いし一部のデータであっても良い)が常にCM131に存在させておき、その機能に対応した論理ボリュームへのアクセスを、CM131へのアクセスで完了させる機能である(但し、CM131上の、HDD170に書込まれていないデータは、適時に(例えば、ストレージシステム10の電断時に)、その機能に対応した論理ボリュームの基になっているHDD170に格納される)。
アプリケーション名フィールド241には、各アプリケーションの名称が格納される。
設定数フィールド242には、各アプリケーションに対応したHDD(又は、論理ボリューム群(ボリュームペア)及び/又は論理ボリューム)の数が格納される。
図4〜図7に示したテーブルのうち、図4に示したMP設定情報テーブル210における同期MPフラグは、いずれかのMP121によって更新され、図5〜図7に示したテーブルにおける種々の値は、管理コンソール20によって更新される。
図8から図13は、MP121が実行する処理のフローチャートである。具体的には、図8はI/O処理のフローチャートで、図9はI/O処理から呼ばれる切換え処理のフローチャートで、図10はI/O処理および切換え処理から呼ばれる同期処理のフローチャートで、図11はI/O処理および切換え処理から呼ばれる非同期処理のフローチャートで、これらの処理は、各MP121が実行する。また、図12は、同期MP数と非同期MP数の数を変えるかどうか判定する処理(切換え判定処理)のフローチャートで、図13は、MPPK増設時の処理のフローチャートで、これらの処理は、構成の変更を受け付けたMP121が実行する。
図8は、I/O処理のフローチャートである。なお、図8の説明では、或る一つのMPを例に採り、そのMPを「対象MP」と言う。
対象MP121は、例えばLM122に記録されている前回切換え処理時刻(直前回の切換え処理が開始された時刻)と現在時刻とを比較し、前回切換え処理(ステップS107)を実行した後に一定時間経過したかどうか(すなわち、前回切換え処理時刻と現在時刻との差が一定時間を超えているか否か)を判定する(ステップS102)。
この結果、一定時間経過していない場合(ステップS102のNO)、対象MP121が同期MPであれば、対象MP121は、初期処理キュー310又は同期再処理キュー320をチェックし、一方、対象MP121が非同期MPであれば、対象MP121は、非同期初期処理キュー330又は非同期再処理キュー340をチェックする(ステップS103)。そして、対象MP121は、同期処理要求または非同期処理要求がいずれかのキューにあるかどうか判定する(ステップS104)。
この結果、同期処理要求または非同期処理要求が検出された場合(ステップS104のYES)には、対象MP121は、同期処理または非同期処理を実行し(ステップS105)、ステップS102に戻る。
一方、同期処理要求または非同期処理要求が検出されなかった場合(ステップS104のNO)には、対象MP121は何も実行せず、ステップS102が再度実行される。
ステップS102の判定の結果、一定時間経過していた場合(ステップS102のYES)には、対象MP121は、現在時刻を例えばLM122に登録する(ステップS106)。その後、対象MP121は、図9に示す切換え処理を実行する(ステップS107)。
図9は、切換え処理(ステップS107)のフローチャートである。なお、図9の説明では、或る一つのMPを例に採り、そのMPを「対象MP」と言う。
対象MP121は、対象MP121のMP番号に対応した同期MPフラグをMP設定情報テーブル210から特定し(ステップS202)、特定された同期MPフラグの値が変わっているか否かを判定する(ステップS203)。
ステップS203の判定の結果、同期MPフラグの値に変化がない場合(ステップS203のNO)には、切換え処理が終了する。
一方、ステップS203の判定の結果、同期MPフラグの値に変化があった場合(ステップS203のYES)には、対象MP121は、処理を開始したが完了していない同期処理または非同期処理(未完了処理)があるか否かを判定する(ステップS204)。具体的には、例えば、MP121は、後述する同期初期処理(及び非同期初期処理)を開始したときにフラグ(以下、完了チェックフラグ)を立て、同期初期処理後に行う後述の同期再処理を完了した場合に、その完了チェックフラグを倒す。このため、対象MP121は、立っている完了チェックフラグがあるか否かで、未完了処理があるか否かを判定することができる。
ステップS204の判定の結果、未完了処理がない場合(ステップS204のNO)には、切換え処理が終了する。
一方、ステップS204の判定の結果、未完了処理がある場合(ステップS204のYES)には、対象MP121は、同期MPフラグの値が、同期MPを表す値から非同期MPを表す値に変わっているときには、同期再処理キュー320をチェックし、同期MPフラグの値が、非同期MPを表す値から同期MPを表す値に変わっているときには、非同期再処理キュー340をチェックし(ステップS205)、完了メッセージがキュー320又は340にあるかどうか判定する(ステップS206)。
ステップS206の判定の結果、完了メッセージが検出された場合(ステップS206のYES)には、対象MP121が同期処理(例えば同記再処理)または非同期処理(例えば非同期再処理)を実行し(ステップS207)、処理がステップS204に戻る。
一方、ステップS206の判定の結果、完了メッセージが検出されなかった場合(ステップS206のNO)には、対象MP121は何も実行せず、処理がステップS204に戻る。
つまり、切換え処理では、対象MP121は、対象MP121によって開始されたが未完了である処理のみをやり終え、新たに同期処理或いは非同期処理を開始しない。
図10は、同期処理のフローチャートである。なお、図10の説明では、或る一つの同期MPを例に採り、そのMPを「対象同期MP」と言う。
対象同期MP121は、処理要求を解析し(ステップS302)、どんな同期処理を行うか判定する(ステップS303)。
その結果、対象同期MP121は、
リード対象のデータをCM131からリードしホストに送るCMリード処理を実行させる(ステップS304);
ホストからのライト対象のデータをCM131にライトするCMライト処理を実行させる(ステップS305);
リード対象データをHDD170からリードしCM131にライトするCMライト処理を実行させる(ステップS306);
のいずれかを行う。本実施形態では、ステップS304〜S306のいずれも同期処理であるし、図10のフロー全体も同期処理である。
図11は、非同期処理のフローチャートである。図11の説明では、或る一つの非同期MPを例に採り、そのMPを「対象非同期MP」と言う。
対象非同期MP121は、処理要求を解析し(ステップS402)、どんな非同期処理を行うか判定する(ステップS403)。
その結果、対象非同期MP121は、
CM131からライト対象のデータをリードしHDD170にライトするHDDライト処理を実行させる(ステップS404);
非同期ローカルコピーに対応したボリュームペアにおける非同期ローカルコピー処理を実行する(ステップS405);
のいずれを行う。本実施形態では、ステップS404及び405のいずれも非同期処理であるし、図11のフロー全体も非同期処理である。
図12は、切換え判定処理のフローチャートである。この処理は、管理コンソール20から構成変更の要求を受け付けたMP(以下、図12の説明において「対象MP」と言う)121が行う。構成変更の要求は、例えば、図5〜図7に示したいずれかのテーブルの内容を変更する要求(例えば、ポートの搭載数lの値を増やす、RAIDレベル5に対応したbの値を減らす等)である。
対象MP121は、同期MP数決定関数Nsmpと非同期MP数決定関数Nasmpを計算する(ステップS503)。Nsmpは式(1)の通りであり、Nasmpは示す式(2)の通りである。
Figure 0005167410
Figure 0005167410
ここで、式(1)及び式(2)の両方について、各種変数に入る値は、下記の通りである。
l:ホストI/F(ポート)の搭載数、具体的には、図5に示す通り、構成名フィールド221が"ポート"であるエントリの搭載数フィールド222に記載の値;
L:ホストI/F(ポート)の搭載可能な最大数、具体的には、図5に示す通り、構成名フィールド221が"ポート"であるエントリの最大搭載数フィールド223に記載の値;
m:HDD170の搭載数、具体的には、図5に示す通り、構成名フィールド221が"HDD"であるエントリの搭載数フィールド222に記載の値;
M:HDD170の搭載可能な最大数、具体的には、図5に示す通り、構成名フィールド221がHDDであるエントリの最大搭載数フィールド223の値;
n:MP121の搭載数、具体的には、図5に示す通り、構成名フィールド221が"MP"であるエントリの搭載数フィールド222に記載の値;
a:RAIDレベル1に対応したRAIDグループ(又はHDD170)の数、具体的には、図6に示す通り、RAIDレベルフィールド231が"1"であるエントリの設定数フィールド232に記載の値;
b:RAIDレベル5に対応したRAIDグループ(又はHDD170)の数、具体的には、図6に示す通り、RAIDレベルフィールド231が"5"であるエントリの設定数フィールド232に記載の値;
c:RAIDレベル6に対応したRAIDグループ(又はHDD170)の数、具体的には、図6に示す通り、RAIDレベルフィールド231が"6"であるエントリの設定数フィールド232に記載の値;
p:非同期ローカルコピーに対応したHDD170(又は、ボリュームペア及び/又は論理ボリューム)の数、具体的には、図7に示す通り、アプリケーション名フィールド241が"非同期ローカルコピー"であるエントリの設定数フィールド242に記載の値;
q:キャッシュ常駐機能に対応したHDD170(又は、ボリュームペア及び/又は論理ボリューム)の数、具体的には、図7に示す通り、アプリケーション名フィールド241が"キャッシュ常駐機能"であるエントリの設定数フィールド242に記載の値;
floor(x):x以下最大の整数を表す関数;
ceil(x):x以上最小の整数を表す関数。
ここで、Nsmp及びNasmpの一方の値がゼロになった場合、一方に1を加算し、他方から1を減じることができる。
上記式(1)及び式(2)は、ホストI/F101の数が増えれば同期処理がより必要になり、一方、HDD170の数が増えれば非同期処理がより必要になるという考えがベースになっている。具体的には、上記式(1)及び式(2)は、下記式(3)及び式(4)がそれぞれベースとなっている。
Figure 0005167410
Figure 0005167410
ここで、kは、mを含んだ計算式であり、mの値が増加すれば増加する。式(1)〜式(4)によれば、kに、a、b、c、p及びqが要素として含まれている。本実施形態では、mが、必須の要素であり、それ以外の要素は、必ずしもkに含まれなくて良い。kには、a、b及びcの少なくとも一つが含まれて、p及びqが含まれなくても良いし、p及びqの少なくとも一方が含まれて、a、b及びcのいずれも含まれなくても良い。
上記式(1)〜式(4)は、HDD170にアクセスする回数が増えれば非同期処理がより必要になるという考えがベースになっている。
具体的には、a、b及びcの係数が、1,2,3となっているのは(係数はそれぞれ一例である)、RAID1、RAID5及びRAID6のうち、RAID1が、HDD170にアクセスする回数が最も少なくて済み、RAID5が、1ストライプにつき1個のパリティを生成する観点からRAID1の次にアクセス回数が少なくて済み、RAID6が、1ストライプにつき2個のパリティを生成する観点から最もアクセス回数が多くなると考えられるからである。
また、pが増加すればkが増加するようになっているのは(例えば、pが加算されるようになっているのは)、非同期ローカルコピーが行われると、I/O要求に従うアクセスとは関係無しにHDD170にアクセスされるからである。
また、qが増加すればkが減少するようになっているのは(例えば、qが減算されるようになっているのは)、キャッシュ常駐機能に対応した論理ボリュームのLUNを含んだI/O要求が受け付けられても、CM131へのアクセスで足り、その論理ボリュームの基になっているHDD170にアクセスされないからである。
対象MP121は、算出されたNsmpと現在の同期MP数とを比較し、且つ、算出されたNasmpと現在の非同期MP数とを比較し(ステップS504)、同期MP数および非同期MP数を変更する必要があるか否かを判定する(ステップS505)。現在の同期MP数は、同期MPフラグの値が"1"であるエントリの合計数であり、現在の非同期MP数は、同期MPフラグの値が"0"であるエントリの合計数である。
ステップS504の結果、現在の同期MP数がNsmpと等しく、且つ、現在の非同期MP数がNasmpと等しい場合(ステップS505のNO)には、処理が終了する。
ステップS504の結果、現在の非同期MP数がNasmpより少なければ(ステップS505のYES−1)、対象MP121は、任意の同期MPを一つ選択し、その同期MPに対応した同期MPフラグの値を"1"から"0"に変更する(ステップS506)。
ステップS504の結果、現在の同期MP数がNsmpより少なければ(ステップS505のYES−2)、対象MP121は、任意の非同期MPを一つ選択し、その非同期MPに対応した同期MPフラグの値を"0"から"1"に変更する(ステップS507)。
ステップS506及び/又はS507において、同期MPまたは非同期MPは、ランダムに選択されてもよい。また、選択される同期MPまたは非同期MPは、一定時間以内の処理実行時間である稼働率が低いMP(例えば稼働率が同期MP群或いは非同期MP群のなかで最も低いMP)であっても良いし、現在の同期再処理キュー320または非同期再処理キュー340の長さが短い(つまり蓄積されている要求の数が少ない)MPであっても良い。
図13は、MPPK増設時の処理のフローチャートである。この処理は、管理コンソール20からMPPK増設要求を受け付けたMP(以下、図13の説明において「対象MP」と言う)121が行う。
対象MP121は、MP設定情報テーブル210に、増設されたMPの数と同数のエントリを追加し、そのエントリにおける同期MPフラグの値を"1"に設定し、且つ、搭載数フィールド222に記載のnの値に、増設されたMPの数を加算する(ステップS603)。
その後、対象MP121は、切換え判定処理を実行する(ステップS604)。なぜなら、MPPK増設要求は、前述した構成変更の要求の一種であるからである。具体的には、MPPKの増設が行われると、MPの数に変更が生じ、故に、前述したように、搭載数フィールド222に記載のnの値に変更が生じるからである。
以上が、本発明の第1の実施形態の説明である。
本発明の第1の実施形態によれば、同期MPと非同期MPが存在し、同期処理は、必ず、同期MPによって行われ、非同期処理は、必ず、非同期MPによって行われる。このため、一例として以下に図15を参照して説明するような効果が期待できる。その効果を分かり易くするために、まず、第1の実施形態のような工夫がなされていない場合に生じ得る問題を、図14を参照して説明し、その後で、第1の実施形態で期待できる効果の一例を、図15を参照して説明する。その際、一つのI/O要求に関して、同期初期処理が1ms(ミリ秒)間行われ、ハードウェア処理が1msかかり(つまり1ms間ハード待ちが行われ)、ハード待ちの完了後に同期再処理が1ms間行われるとする。一方、非同期処理は5ms間行われるとする。また、ホスト0及びホスト1の2つのホスト計算機180があるとする。同期初期処理も同期再処理も、同期処理の一例である。また、図14及び図15において、tは時間軸である。
<第1の実施形態のような工夫がなされていない場合に生じ得る問題>。
図14に示すように、例えば、ホスト0からI/O要求510が受け付けられて同期初期処理キュー310に格納されたとする。この場合、そのI/O要求510が或るMP550で処理されることになったとする。具体的には、例えば、MP550が、同期初期処理(SP-1)511を1ms(ミリ秒)間実行し、その後、I/O要求510に関してハードウェア処理が1msかかり(ハード待ち(HW)512)、ハード待ちの間に、MP550が、非同期処理530を5ms実行したとする。この場合、MP550は、同期再処理(SP-2)513を4ms待たせた後に1ms実行し、ホスト0にレスポンス514を返す。これらの結果、ホスト0のI/O要求510が受け付けられてからレスポンス514が返されるまでに、7msかかることになる。具体的には、ハード待ち512後に完了メッセージを検出して直ぐに行えるはずの同記再処理513の開始を4ms待つ必要がある。
一方、ホスト1からのI/O要求520がMP550とは別のMP560で処理されることになったとする。MP560が非同期処理540を5ms実行していたとする。この場合、MP560は、同期初期処理(SP-1)521を5ms待たせた後に1ms実行する。その後、ホスト1のI/O要求520に関しては、ハードウェア処理に1msかかった(ハード待ち(HW)522)後、MP560が同期再処理(SP-2)523を1ms実行し、ホスト1にレスポンス524を返す。これらの結果、ホスト1からのI/O要求520が受け付けられてからレスポンス514が返されるまでに、8msかかることになる。具体的には、I/O要求520に対応した同期初期処理521の開始を5ms待つ必要がある。
<本発明の第1の実施形態で期待できる効果の一例>。
図15に示すように、MP121−1が同期MPであって、MP121−2が非同期MPであるとする。
ホスト0からのI/O要求510と、ホスト1からのI/O要求520は、同期MP121−1で処理されることになる。例えば、I/O要求510がI/O要求520よりも先に受け付けられた場合、同期MP121−1が、まず、I/O要求510に対応した同期初期処理(SP-1)511を1ms実行する。その後、I/O要求510に関しては、ハードウェア処理に1msかかる(ハード待ち(HW)512)。
その間、同期MP121−1が、ホスト1からのI/O要求520に対応した同期初期処理(SP-1)521を1ms実行する。その後、ホスト1からのI/O520に関しては、ハードウェア処理に1msかかる(ハード待ち(HW)522)。
その間、同期MP121−1が、ホスト0からのI/O要求510に対応した同期再処理(SP-2)513を実行し、ホスト0にレスポンス514を返す。
その後、同期MP121−1が、ホスト1からのI/O要求520に対応した同期再処理(SP-2)523を実行し、ホスト1にレスポンス524を返す。
これらの結果、ホスト0からのI/O要求510については、I/O要求が受け付けられてからレスポンスが返されるまでの時間(レスポンス時間)は、3msであり、ホスト1からのI/O要求520については、レスポンス時間は、4msである。それぞれのレスポンス時間は、図14を参照して説明したそれぞれのレスポンス時間よりも短い。
一方、非同期MP121−2が、非同期処理(AP-1)530を実行し、続いて、非同期処理(AP-2)540を実行する。つまり、同期処理511、521、513、523に並行して、非同期処理530、540も実行されている。要するに、非同期処理のスループットが確保されている。
以上、第1実施形態によれば、非同期処理のスループットを確保しつつ、同期処理の非同期処理待ちによるI/Oレスポンスの遅れを防ぐことができる。
以下、本発明の第2の実施形態を説明する。その際、第1の実施形態との相違点を主に説明し、第1の実施形態との共通点については説明を省略或いは簡略する(これは、後述の第3の実施形態も同様である)。
第2の実施形態では、図16に示すように、LM122には、第1の実施形態で説明したテーブル210〜240に加えて、MP稼働率テーブル250と、設定MP稼働率テーブル260が格納されている。設定MP稼動率テーブル260は、稼働率閾値を有するテーブルである。稼働率閾値は、製品出荷時に設定された値であっても良いし、ユーザが管理コンソール20を用いて設定した値であっても良い。稼働率閾値は、固定値であっても良いし、可変値であっても良い。稼働率閾値が可変値の場合、稼働率閾値は、例えば、後述する代表MP(又は代表MP以外のMP)によって、ストレージシステムの稼動状況に応じて適時に変更されても良いし、ユーザが管理コンソール20を用いて任意の時点に変更しても良い。また、設定MP稼動率テーブル260には、複数の稼働率閾値が含まれていても良い。例えば、それら複数の稼働率閾値のうちの一つは、非同期処理に対応しても良いし、それらのうちの他の一つは、同期処理に対応しても良い。
図17は、MP稼働率テーブル250の構成を表す。
MP稼働率テーブル250は、各MP121の現在の稼働率を表す。具体的には、例えば、MP稼働率テーブル250は、MP121毎に、MP番号フィールド251と、稼働率フィールド252と、を含むエントリを有する。
MP番号フィールド251には、MP121の識別番号であるMP番号が格納される。
稼働率フィールド252には、現在のMPの稼働率(例えば単位は%)を表す情報が格納される。稼働率フィールド252に記載の稼働率は、例えば定期的又は不定期的に、各MP121によって、そのMP121の現在の稼働率に更新される。
第2の実施形態では、図8〜図13を参照して説明した処理に加えて(又は代えて)、図18に示す代表切換え判定処理及び図19に示す個別切換え判定処理が行われる。これらの処理を行うためのコンピュータプログラムが、例えばLM122に格納されていて、それらのコンピュータプログラムがMP121で実行される。
図18は、代表切換え判定処理のフローチャートである。
この処理は、代表MPが行う。代表MPとは、複数のMP121のうちの一つ(又は二以上)のMPである。そのMPは、管理コンソール20から指定されたMPであっても良いし、予めストレージシステムで定められているMPであっても良い。
代表MP121は、前回切換え処理時刻(直前回の代表切換え判定処理を行った時刻)と現在時刻を比較し、前回切換え処理時刻から一定時間経過したかどうかを判定する(ステップS702)。
この結果、一定時間経過していない場合(ステップS702のNO)には、処理が終了する。
一方、一定時間経過している場合(ステップ702のYES)には、代表MP121が、現在時刻を、例えばLM122に登録する(ステップS703)。
その後、代表MP121は、MP設定情報テーブル210を参照して同期MP及び非同期MPを特定し、MP稼働率テーブル250を参照して、同期MPの稼働率の平均値(以下、同期MPの平均稼働率)および非同期MPの稼働率の平均値(以下、非同期MPの平均稼働率)を計算し、算出された同期MPの平均稼働率及び非同期MPの平均稼働率を、それぞれ、設定MP稼働率テーブル260が表す稼働率閾値と比較する(ステップS704)。
この結果、同期MPの平均稼働率と非同期MPの平均稼働率が共に稼働率閾値を超過している又は超過していない場合(ステップS704のNO)には、処理が終了する。
ステップS704の結果、非同期MPの平均稼働率のみが稼働率閾値を超過している場合(ステップS704のYES−1)には、代表MP121は、任意の同期MPを一つ選択し、その同期MPに対応した同期MPフラグの値を"1"から"0"に変更する(ステップS705)。これにより、非同期MPが増えることになるので、非同期MPの平均稼働率が下がることが期待できる。
ステップS704の結果、同期MPの平均稼働率のみが稼働率閾値を超過している場合(ステップS704のYES−2)には、代表MP121は、任意の非同期MPを一つ選択し、その非同期MPに対応した同期MPフラグの値を"0"から"1"に変更する(ステップS706)。これにより、同期MPが増えることになるので、同期MPの平均稼働率が下がることが期待できる。
図19は、個別切換え判定処理のフローチャートである。
この処理は、各MPが行う。このため、この処理は、代表MPが行うこともできる。以下、図19の説明では、或る一つのMPを例に採り、そのMPを「対象MP」と言う。
対象MP121は、前回切換え処理時刻(直前回の個別切換え判定処理を行った時刻)と現在時刻を比較し、前回切換え処理時刻から一定時間経過したかどうかを判定する(ステップS802)。
この結果、一定時間経過していない場合(ステップS802のNO)には、処理が終了する。
一方、一定時間経過している場合(ステップ802のYES)には、対象MP121が、現在時刻を、例えばLM122に登録する(ステップS803)。
その後、対象MP121は、対象MP121に対応する現在の稼働率(稼働率フィールド252に記録されている値)を、稼働率閾値(テーブル260に記録されている値)と比較し、その現在の稼働率が稼働率閾値を超過しているか否かを判定する(ステップS804)。
この結果、現在の稼働率が稼働率閾値より低い場合(ステップS804のNO)には、処理が終了する。
一方、現在の稼働率が稼働率閾値より高い場合(ステップS804のYES)には、対象MP121は、対象MP121に対応した同期MPフラグの値が"1"であるか否かを判定する(ステップS805)。
ステップS805の結果、同期MPフラグの値が"0"の場合(ステップS805のNO)には、対象MP121は、同期MPを一つ選択し、その同期MPに対応した同期MPフラグの値を"1"から"0"に変更する(ステップS806)。これにより、非同期MPが増えることになるので、対象MP121の負荷が緩和する(対象MP121の稼働率が下がる)ことが期待できる。
ステップS805の結果、同期MPフラグの値が"1"の場合(ステップS805のYES)には、対象MP121は、非同期MPを一つ選択し、その非同期MPに対応した同期MPフラグの値を"0"から"1"に変更する(ステップS807)。これにより、同期MPが増えることになるので、対象MP121の負荷が緩和する(対象MP121の稼働率が下がる)ことが期待できる。
図18のステップS705及び/又はS706において、及び/又は、図19のステップS806及び/又はS807において、同期MPまたは非同期MPは、ランダムに選択されてもよい。また、選択される同期MPまたは非同期MPは、一定時間以内の処理実行時間である稼働率が低いMP(例えば稼働率が同期MP群或いは非同期MP群のなかで最も低いMP)であっても良いし、現在の同期再処理キュー320または非同期再処理キュー340の長さが短い(つまり蓄積されている要求の数が少ない)MPであっても良い。
図20〜図23は、それぞれ、管理コンソール20の表示部28に表示される画面(以下、管理画面)の一例を示す。
管理画面には、例えば、図20に示すように、各MPの現在の稼働率と稼働率閾値との関係を示すグラフが表示される。図20によれば、例えば2つの同期MP0及び1の現在の稼働率が稼働率閾値を超過していることがわかる。
二つの同期MP0及び1の現在の稼働率が稼働率閾値を超過している場合、図21に示すように、非同期MPであったMP2が同期MPに切り換えられると、同期MP0及び1の稼働率が、稼働率閾値より低くなるという状態が期待できる。切り換え後の各MPの現在の稼働率と稼働率閾値の関係は、例えば図21に示すように、管理画面に表示される。
その後、例えば、図22に示すように、非同期MP3の稼働率が稼働率閾値より高くなった場合、図23のように、同期MP2であったMP2が非同期MPに切り換えられると、非同期MP3の稼働率が、稼働率閾値より低くなるという状態が期待できる。切り換え後の各MPの現在の稼働率と稼働率閾値の関係は、例えば図23に示すように、管理画面に表示される。
以上が、本発明の第2の実施形態の説明である。
本発明の第2実施形態によれば、同期MPの負荷と非同期MPの負荷に応じて、同期MP数と非同期MP数を変更でき、特定のMPに大きく負荷が集中してしまうことを防ぐことができる。
図24は、本発明の第3実施形態に係る計算機システムの概要を表す。
通信ネットワーク(例えばSANまたはLAN)190が、広域回線191で、別の通信ネットワーク(例えばSANまたはLAN)190bと接続される。別の通信ネットワーク190bと、ストレージシステム10bが接続される。ストレージシステム10bには管理コンソール20が接続される。要するに、第3の実施形態では、ストレージシステム10内のプライマリ論理ボリュームから別のストレージシステム10内のセカンダリ論理ボリュームへの非同期リモートコピーが行われる。非同期リモートコピーを行うための構成は、図24の例に限らず、他の構成が採用されても良い。
図25は、第3実施形態に係るアプリケーション設定数テーブル240の構成を表す。
アプリケーション設定数テーブル240には、非同期リモートコピーのエントリが追加されている。そのエントリには、アプリケーション名"非同期リモートコピー"と設定数"r"とが含まれている。
図26は、第3実施形態に係る非同期処理のフローチャートである。
第1実施形態の非同期処理実行のフローチャートに加え、ステップS403の結果から、非同期リモートコピー処理(ステップS407)への分岐が追加されている。
非同期リモートコピーが実行され得る第3実施形態では、ステップS503における、同期MP数決定関数Nsmpと非同期MP数決定関数Nasmpは、式(5)や式(6)のようになる。
Figure 0005167410
Figure 0005167410
式(5)及び式(6)によれば、前述の式(3)及び式(4)におけるkに、新たな変数rが含まれている。rは、非同期ローカルコピーに対応したHDD170(又は、ボリュームペア及び/又は論理ボリューム)の数、具体的には、図25に示す通り、アプリケーション名フィールド241が"非同期リモートコピー"であるエントリの設定数フィールド242に記載の値である。
rが増加すればkが増加するようになっているのは(例えば、rが加算されるようになっているのは)、非同期リモートコピーが行われると、I/O要求に従うアクセスとは関係無しにHDD170にアクセスされるからである。
以上、第3実施形態によれば、非同期リモートコピーが実行される場合にも、非同期処理のスループットを確保しつつ、同期処理の非同期処理待ちによるI/Oレスポンスの遅れを防ぐことができる。
以上、本発明の好適な実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、第1〜第3の実施形態において、「同期処理」とは、ホスト計算機180からのI/O要求に同期してレスポンスを返すまでに実行しなければならない処理であり、その具体例は、図10を参照して説明した処理である。「非同期処理」とは、同期処理以外の処理(外部デバイスからのI/O要求に同期してレスポンスを返すまでに実行しなくて良い処理)のうちの特定の処理であり、その具体例は、図11及び図26を参照して説明した処理である。それら以外の処理は、同期処理及び非同期処理のいずれにも属しない「第3の処理」とすることができる。同期処理以外の処理のうちどれを非同期処理としどれを第3の処理とするかは、例えば予め定義されている。非同期処理の一例は、HDD170へのアクセスに関わる処理(例えば、HDDライト処理、非同期ローカルコピー及び非同期リモートコピーのいずれも、HDD170へのアクセスが発生する処理)である。第3の処理は、同期MP及び非同期MPのどちらも実行し得る処理である。第3の処理の具体例は、図8のI/O処理、図9の切換え処理、図12の切換え判定処理、図13のMPPK増設時処理、図18の代表切換え判定処理、図19の個別切換え判定処理、図20〜図23のような管理画面の情報を管理コンソール20に送信する処理、及び、MP稼働率設定テーブル250を適時に更新する処理などがある。これらの第3の処理のうちの少なくとも一つ、例えば、図12の切換え判定処理、図13のMPPK増設時処理、及び、図18の代表切換え判定処理の少なくとも一つは、非同期処理であっても良い。具体的には、例えば、構成変更要求及び増設要求のいずれかは、同期MPではなく非同期MPが受け付けるようになっていても良い。
また、例えば、ストレージシステム10に存在する全てのMP121の各々が、必ずしも、同期MPと非同期MPのどちらかでなくても良い。言い換えれば、ストレージシステム10が有する複数のMP121には、同期MPと非同期MPのどちらでも無いMP(以下、第3のMP)が少なくとも一つ含まれていても良い。第3のMPは、例えば、代表MPであっても良い。第3のMPは、同期処理及び非同期処理以外の処理、つまり第3の処理のみを実行するMPであっても良い。
また、例えば、増設MPが必ずしも増設時に同期MPとされなくても良い。例えば、増設時に非同期MPに関する稼働率(例えば非同期MPの平均稼働率)が稼働率閾値を大幅に超えていれば、増設MPは非同期MPとされても良い。
また、稼働率閾値は、同期MP用と非同期MP用の2種類、或いはそれ以上の種類があっても良い。

Claims (15)

  1. 複数の論理ボリュームの基になる複数のストレージデバイス(170)と、
    前記複数の論理ボリュームのうちのいずれかを指定したI/O(Input/Output)要求を外部デバイス(180)から受け付けるコントローラ(95)と
    を備え、
    前記コントローラは、前記外部デバイスから前記I/O要求を受け付けるための外部インターフェイス(101)と、前記I/O要求に含まれるライトデータまたは前記I/O要求により指定されたリードデータを一時的に格納するキャッシュメモリ(131)と、複数のマイクロプロセッサ(121)を有しており、
    前記複数のマイクロプロセッサには、1以上の第1プロセッサと、1以上の第2プロセッサとが含まれており、
    前記第1プロセッサは、第1処理を担当し第2処理を担当しないマイクロプロセッサであり、
    前記第2プロセッサは、前記第2処理を担当し前記第1処理を担当しないマイクロプロセッサであり、
    記第1処理とは、前記外部インターフェイスにより前記I/O要求が受け付けられると、前記I/O要求を解析し、前記I/O要求に応じた処理を実行し、前記I/O要求に対するレスポンスを前記外部デバイスに返す処理であって、前記I/O要求に応じた処理として少なくとも前記I/O要求により指定されたリードデータを前記キャッシュメモリからリードし前記外部デバイスに送る処理、前記I/O要求により指定されたリードデータを何れかのストレージデバイスからリードし前記キャッシュメモリにライトする処理、または、前記I/O要求に含まれるライトデータを前記キャッシュメモリにライトする処理を含み、
    前記第2処理とは、前記第1処理以外の処理のうちの特定の処理であって、少なくとも前記キャッシュメモリからライトデータをリードし何れかのストレージデバイスにライトする処理、非同期ローカルコピー処理、または、非同期リモートコピー処理を含む、
    ストレージシステム。
  2. 前記コントローラは、ローカルメモリ(122)を有し、
    前記ローカルメモリは、第1プロセッサであるか第2プロセッサであるかを表すプロセッサ種類値をマイクロプロセッサ毎に有するプロセッサ種類情報(210)を記憶し、
    外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つの数が変更された場合に、前記複数のマイクロプロセッサのうちのいずれかのマイクロプロセッサが、下記(A)乃至(C)の処理を行い、
    (A)第1プロセッサの理想的な数である第1理想数と、第2プロセッサの理想的な数である第2理想数とを算出する;
    (B)前記第1理想数と、前記プロセッサ種類情報から把握される現在の第1プロセッサ数とを比較し、前記現在の第1プロセッサ数が前記第1理想数よりも少なければ、いずれかの第2プロセッサに対応するプロセッサ種類値を、第2プロセッサを表す値から第1プロセッサを表す値に更新する;
    (C)前記第2理想数と、前記プロセッサ種類情報から把握される現在の第2プロセッサ数とを比較し、現在の第2プロセッサ数が前記第2理想数よりも少なければ、いずれかの第1プロセッサに対応するプロセッサ種類値を、第1プロセッサを表す値から第2プロセッサを表す値に更新する;
    各マイクロプロセッサは、定期的に又は不定期的に、切換え処理を実行し、前記切換え処理において、そのマイクロプロセッサに対応したプロセッサ種類値が、そのマイクロプロセッサの現在のプロセッサ種類と異なるプロセッサ種類を表していて、且つ、そのマイクロプロセッサが担当する第1処理又は第2処理が未完了であれば、未完了の第1処理又は第2処理を実行し、
    前記第1理想数は、n[(l/L)/{(l/L)+(k/M)}]で算出された値に基づく整数値であり、
    前記第2理想数は、n[(k/M)/{(l/L)+(k/M)}]で算出された値に基づく整数値であり、
    nは、マイクロプロセッサの数であり、
    lは、外部インターフェイスの数であり、
    Lは、外部インターフェイスの最大数であり、
    kは、mを含んだ計算式であり、mの値が増加すれば増加し、
    mは、ストレージデバイスの数であり、
    Mは、ストレージデバイスの最大数である、
    請求項1記載のストレージシステム。
  3. 各論理ボリュームは、二以上のストレージデバイスで構成されたRAIDグループが基になっており、
    kは、mの他に、各種RAIDレベルに対応したsが含まれており、いずれかの種類のRAIDレベルに対応したsの値が増加すれば増加し、
    sは、RAIDグループ数又はストレージデバイス数であり、
    sに係数が用意されており、
    ストレージデバイスへのアクセス数が多いRAIDレベルのRAIDグループ数についての係数の方が、ストレージデバイスへのアクセス数が少ないRAIDレベルのRAIDグループ数についての係数よりも大きい、
    請求項2記載のストレージシステム。
  4. kは、mの他に、pを含み、pの値が増加すれば増加し、
    pは、ボリュームペアの数、ボリュームペアの要素となっている論理ボリュームの数、又は、ボリュームペアの基になっているストレージデバイスの数であり、
    いずれかのマイクロプロセッサが、ボリュームペアを構成する論理ボリューム間でデータのコピーを行う、
    請求項2又は3記載のストレージシステム。
  5. kは、mの他に、qを含み、qの値が増加すれば減少し、
    qは、キャッシュ常駐機能に対応した論理ボリュームの数、又は、その論理ボリュームの基になっているストレージデバイスの数であり、
    キャッシュ常駐機能に対応した論理ボリューム内のデータは、前記キャッシュメモリに常駐しており、
    いずれのマイクロプロセッサも、前記論理ボリュームを指定したI/O要求に従うデータのリード及びライトを、前記キャッシュメモリに対して行い、
    キャッシュ常駐機能に対応した論理ボリュームの基になっているストレージデバイスに対するアクセス数は、キャッシュ常駐機能に対応していない論理ボリュームの基になっているストレージデバイスに対するアクセス数よりも少ない、
    請求項2乃至4のいずれかに記載のストレージシステム。
  6. 前記コントローラは、ローカルメモリ(122)を有し、
    前記ローカルメモリは、第1プロセッサであるか第2プロセッサであるかを表すプロセッサ種類値をマイクロプロセッサ毎に有するプロセッサ種類情報(210)と、マイクロプロセッサ毎の稼働率を有するプロセッサ稼働率情報(250)とを記憶し、
    前記複数のマイクロプロセッサのうちの少なくとも一つが、代表プロセッサであり、
    代表プロセッサは、定期的又は不定期的に、第一の切換え判定処理を行い、前記第一の切換え判定処理において、下記(D)乃至(J)の処理を行い、
    (D)前記プロセッサ種類情報及び前記プロセッサ稼働率情報を参照することにより、第1プロセッサの稼働率である第1稼働率と、第2プロセッサの稼働率である第2稼働率とを特定する;
    (E)特定された一以上の第1稼働率に基づく第1の値と、特定された一以上の第2稼働率に基づく第の値とを算出する;
    (F)算出された第1の値と第1の閾値とを比較し、前記第1の値が前記第1の閾値を超えていれば、いずれかの第2プロセッサに対応するプロセッサ種類値を、第2プロセッサを表す値から第1プロセッサを表す値に更新する;
    (G)算出された第の値と第の閾値とを比較し、前記第の値が前記第の閾値を超えていれば、いずれかの第1プロセッサに対応するプロセッサ種類値を、第1プロセッサを表す値から第2プロセッサを表す値に更新する;
    前記複数のマイクロプロセッサのうちの前記代表プロセッサ以外のマイクロプロセッサは、定期的又は不定期的に、第二の切換え判定処理を行い、前記第二の切換え判定処理において、下記(H)乃至(G)の処理を行い、
    (H)そのマイクロプロセッサの稼働率と第の閾値とを比較する;
    (I)そのマイクロプロセッサの稼働率が前記第の閾値を超えていて、そのマイクロプロセッサに対応するプロセッサ種類値が第2プロセッサを表していれば、いずれかの第1マイクロプロセッサに対応するプロセッサ種類値を、第1プロセッサを表す値から第2プロセッサを表す値に更新する;
    (J)そのマイクロプロセッサの稼働率が前記第の閾値を超えていて、そのマイクロプロセッサに対応するプロセッサ種類値が第1プロセッサを表していれば、いずれかの第2マイクロプロセッサに対応するプロセッサ種類値を、第2プロセッサを表す値から第1プロセッサを表す値に更新する;
    各マイクロプロセッサは、定期的に又は不定期的に、切換え処理を実行し、前記切換え処理において、そのマイクロプロセッサに対応したプロセッサ種類値が、そのマイクロプロセッサの現在のプロセッサ種類と異なるプロセッサ種類を表していて、且つ、そのマイクロプロセッサが担当する第1処理又は第2処理が未完了であれば、未完了の第1処理又は第2処理を実行する、
    請求項1乃至5のうちのいずれかに記載のストレージシステム。
  7. 前記複数のマイクロプロセッサのうちのいずれかが、外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つに関する状況に応じて、いずれかのプロセッサの種類を第1プロセッサから第2プロセッサ又は第2プロセッサから第1プロセッサに変更する、
    請求項1記載のストレージシステム。
  8. 外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つに関する状況には、外部インターフェイスの数とストレージデバイスの数が含まれ、
    外部インターフェイスの数が増えれば、前記複数のマイクロプロセッサに対する第1プロセッサの比率が増えることになり、
    ストレージデバイスの数が増えれば、前記複数のマイクロプロセッサに対する第2プロセッサの比率が増えることになる、
    請求項7記載のストレージシステム。
  9. 各論理ボリュームは、二以上のストレージデバイスで構成されたRAIDグループが基になっており、
    外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つに関する状況には、どのRAIDレベルのRAIDグループ又はストレージデバイスが幾つ存在するかが含まれており、
    どのRAIDレベルのRAIDグループ又はストレージデバイスの数が増えても、第2プロセッサの比率が増えることになる、
    請求項7又は8記載のストレージシステム。
  10. RAIDレベルに対応したRAIDグループ又はストレージデバイスの数について係数が用意されており、
    ストレージデバイスへのアクセス数が多いRAIDレベルのRAIDグループ数又はストレージデバイス数についての係数の方が、ストレージデバイスへのアクセス数が少ないRAIDレベルのRAIDグループ数又はストレージデバイス数についての係数よりも大きい、
    請求項9記載のストレージシステム。
  11. 外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つに関する状況には、どんな機能に対応した論理ボリューム又はストレージデバイスが幾つあるかが含まれており、
    I/O要求に従って論理ボリュームにアクセスすることよりもアクセスする回数が多くなる機能に対応した論理ボリューム又はストレージデバイスの数が増加すれば、第2プロセッサの比率が増加し、
    I/O要求に従って論理ボリュームにアクセスすることよりもアクセスする回数が少なくなる機能に対応した論理ボリューム又はストレージデバイスの数が増加すれば、第1プロセッサの比率が増加する、
    請求項7乃至10のうちのいずれかに記載のストレージシステム。
  12. 外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つに関する状況には、少なくとも一つのマイクロプロセッサの負荷が含まれている、
    請求項7乃至11のうちのいずれかに記載のストレージシステム。
  13. 前記複数のマイクロプロセッサのうちのいずれかが、一以上の第1プロセッサの負荷である一以上の第1負荷に基づく第1の値と、一以上の第2プロセッサの負荷である一以上の第2負荷に基づく第2の値とを算出し、前記第1の値と前記第2の値に応じて、いずれかのマイクロプロセッサの種類を第1プロセッサから第2プロセッサ又は第2プロセッサから第1プロセッサに変更し、
    外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つに関する状況には、前記第1の値及び前記第2の値が含まれており、
    各マイクロプロセッサは、そのマイクロプロセッサ自身の負荷に応じて、いずれかのマイクロプロセッサの種類を第1プロセッサから第2プロセッサ又は第2プロセッサから第1プロセッサに変更する、
    請求項12記載のストレージシステム。
  14. 複数の論理ボリュームの基になる複数のストレージデバイス(170)と、前記複数の論理ボリュームのうちのいずれかを指定したI/O(Input/Output)要求を外部デバイス(180)から受け付けるための1以上の外部インターフェイス(101)と、前記I/O要求に含まれるライトデータまたは前記I/O要求により指定されたリードデータを一時的に格納するキャッシュメモリ(131)と、複数のマイクロプロセッサ(121)を有するストレージシステムの処理分担方法であって、
    前記複数のマイクロプロセッサのうちの1以上のマイクロプロセッサを第1プロセッサとして設定し、他の1以上のマイクロプロセッサを第2プロセッサとして設定し、
    前記第1プロセッサは、前記外部インターフェイスにより前記I/O要求が受け付けられると、前記I/O要求を解析し、前記I/O要求に応じた処理を実行し、前記I/O要求に対するレスポンスを前記外部デバイスに返す処理であって、前記I/O要求に応じた処理として少なくとも前記I/O要求により指定されたリードデータを前記キャッシュメモリからリードし前記外部デバイスに送る処理、前記I/O要求により指定されたリードデータを何れかのストレージデバイスからリードし前記キャッシュメモリにライトする処理、または、前記I/O要求に含まれるライトデータを前記キャッシュメモリにライトする処理を含む第1処理を実行し、
    前記第2プロセッサは、前記第1処理以外の処理のうちの特定の処理であって、少なくとも前記キャッシュメモリからライトデータをリードし何れかのストレージデバイスにライトする処理、非同期ローカルコピー処理、または、非同期リモートコピー処理を含む第2処理を実行し、
    外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つに関する状況を特定し、
    特定された状況に応じて、複数のマイクロプロセッサのいずれかのプロセッサの種類を第1プロセッサから第2プロセッサ又は第2プロセッサから第1プロセッサに変更する、
    ストレージシステムにおける処理分担方法。
  15. 複数の論理ボリュームの基になる複数のストレージデバイス(170)と、
    前記複数の論理ボリュームのうちのいずれかを指定したI/O要求を外部デバイス(180)から受け付けるコントローラ(95)と
    を備え、
    前記コントローラは、前記外部デバイスから前記I/O要求を受け付けるための外部インターフェイス(101)と、前記I/O要求に含まれるライトデータまたは前記I/O要求により指定されたリードデータを一時的に格納するキャッシュメモリ(131)と、複数のマイクロプロセッサ(121)を有しており、
    前記複数のマイクロプロセッサには、1以上の第1プロセッサと、1以上の第2プロセッサとが含まれており、
    前記第1プロセッサは、第1処理を担当し第2処理を担当しないマイクロプロセッサであり、
    前記第2プロセッサは、前記第2処理を担当し前記第1処理を担当しないマイクロプロセッサであり、
    前記第1処理とは、前記外部インターフェイスにより前記I/O要求が受け付けられると、前記I/O要求を解析し、前記I/O要求に応じた処理を実行し、前記I/O要求に対するレスポンスを前記外部デバイスに返す処理であって、前記I/O要求に応じた処理として少なくとも前記I/O要求により指定されたリードデータを前記キャッシュメモリからリードし前記外部デバイスに送る処理、前記I/O要求により指定されたリードデータを何れかのストレージデバイスからリードし前記キャッシュメモリにライトする処理、または、前記I/O要求に含まれるライトデータを前記キャッシュメモリにライトする処理を含み、
    前記第2処理とは、前記第1処理以外の処理のうちの特定の処理であって、少なくとも前記キャッシュメモリからライトデータをリードし何れかのストレージデバイスにライトする処理、非同期ローカルコピー処理、または、非同期リモートコピー処理を含み
    前記コントローラは、ローカルメモリ(122)を有し、
    前記ローカルメモリは、第1プロセッサであるか第2プロセッサであるかを表すプロセッサ種類値をマイクロプロセッサ毎に有するプロセッサ種類情報(210)を記憶し、
    前記複数のマイクロプロセッサのうちのいずれかが、外部インターフェイス、ストレージデバイス及びマイクロプロセッサのうちの少なくとも一つに関する状況を特定し、特定された状況に応じて、複数のマイクロプロセッサのいずれかに対応したプロセッサ種類値を、第1プロセッサを表す値から第2プロセッサを表す値、又は、第2プロセッサを表す値から第1プロセッサを表す値に変更し、
    各マイクロプロセッサは、定期的に又は不定期的に、切換え処理を実行し、前記切換え処理において、そのマイクロプロセッサに対応したプロセッサ種類値が、そのマイクロプロセッサの現在のプロセッサ種類と異なるプロセッサ種類を表していて、且つ、そのマイクロプロセッサが担当する第1処理又は第2処理が未完了であれば、未完了の第1処理又は第2処理を実行する、
    ストレージシステム。
JP2011514959A 2009-01-09 2009-01-09 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法 Expired - Fee Related JP5167410B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/000070 WO2010079535A1 (en) 2009-01-09 2009-01-09 Storage system having plural microprocessors, and processing allotment method for storage system having plural microprocessors

Publications (2)

Publication Number Publication Date
JP2012504796A JP2012504796A (ja) 2012-02-23
JP5167410B2 true JP5167410B2 (ja) 2013-03-21

Family

ID=40863537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011514959A Expired - Fee Related JP5167410B2 (ja) 2009-01-09 2009-01-09 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法

Country Status (3)

Country Link
US (1) US8694689B2 (ja)
JP (1) JP5167410B2 (ja)
WO (1) WO2010079535A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296411B2 (en) * 2010-03-01 2012-10-23 International Business Machines Corporation Programmatically determining an execution mode for a request dispatch utilizing historic metrics
US8819328B2 (en) 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
US9015373B2 (en) 2012-05-17 2015-04-21 Hitachi, Ltd. Storage apparatus and method of controlling storage apparatus
US9323588B2 (en) 2013-03-14 2016-04-26 Comcast Cable Communications, Llc Service platform architecture
CN104123198B (zh) * 2013-04-28 2018-08-31 国际商业机器公司 管理数据复制模式的方法和装置
US10706024B2 (en) 2014-04-28 2020-07-07 International Business Machines Corporation Techniques for managing a data replication mode

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4607364A (en) * 1983-11-08 1986-08-19 Jeffrey Neumann Multimode data communication system
US4700358A (en) * 1985-11-18 1987-10-13 Hayes Microcomputer Products, Inc. Synchronous/asynchronous modem
US5339395A (en) * 1992-09-17 1994-08-16 Delco Electronics Corporation Interface circuit for interfacing a peripheral device with a microprocessor operating in either a synchronous or an asynchronous mode
US5758132A (en) * 1995-03-29 1998-05-26 Telefonaktiebolaget Lm Ericsson Clock control system and method using circuitry operating at lower clock frequency for selecting and synchronizing the switching of higher frequency clock signals
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
JP4288327B2 (ja) * 2002-03-04 2009-07-01 独立行政法人産業技術総合研究所 硫酸基転移酵素、そのポリペプチド及びそれをコードするdna
JP4406199B2 (ja) 2002-11-19 2010-01-27 株式会社日立製作所 プロセッサ負荷制御機能をもつ記憶制御装置
JP4090400B2 (ja) 2003-07-24 2008-05-28 株式会社日立製作所 ストレージシステム
JP4969791B2 (ja) * 2005-03-30 2012-07-04 株式会社日立製作所 ディスクアレイ装置およびその制御方法
JP2007109141A (ja) * 2005-10-17 2007-04-26 Hitachi Ltd ストレージシステム
US7984228B2 (en) 2006-02-28 2011-07-19 Microsoft Corporation Device connection routing for controller
JP2008257572A (ja) 2007-04-06 2008-10-23 Hitachi Ltd 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法
JP5106913B2 (ja) * 2007-04-23 2012-12-26 株式会社日立製作所 ストレージシステム、ストレージシステム管理方法、及び計算機システム
US8359599B2 (en) * 2007-11-20 2013-01-22 Ricoh Production Print Solutions LLC Methods and systems for efficient use and mapping of distributed shared resources

Also Published As

Publication number Publication date
WO2010079535A1 (en) 2010-07-15
JP2012504796A (ja) 2012-02-23
US20110252262A1 (en) 2011-10-13
US8694689B2 (en) 2014-04-08

Similar Documents

Publication Publication Date Title
US8566550B2 (en) Application and tier configuration management in dynamic page reallocation storage system
EP1837751B1 (en) Storage system, storage extent release method and storage apparatus
US7865676B2 (en) Load equalizing storage controller and control method for the same
JP4609848B2 (ja) 負荷分散コンピュータシステム、経路設定プログラム及びその方法
US9460015B2 (en) Storage system
JP5167410B2 (ja) 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法
JP5073259B2 (ja) 仮想化システム及び領域割当て制御方法
JP2001290746A (ja) I/o要求に優先順位を与える方法
US8856400B1 (en) I/O performance quotas
US8086768B2 (en) Storage system and control method of storage system
US8694698B2 (en) Storage system and method for prioritizing data transfer access
JP2008146536A (ja) ストレージ装置及びこれを用いたデータ管理方法
US9015373B2 (en) Storage apparatus and method of controlling storage apparatus
US8713266B2 (en) Storage apparatus and method including page discard processing for primary and secondary volumes configured as a copy pair
US9298493B1 (en) Managing system I/O load
US9009432B2 (en) Storage system effectively managing a capacity for remote copy
JP5393893B2 (ja) 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法
US11513849B2 (en) Weighted resource cost matrix scheduler
US7853757B2 (en) Avoiding failure of an initial program load in a logical partition of a data storage system
JP2019191886A (ja) 情報処理装置,情報処理方法およびプログラム
US10628083B2 (en) Storage system and storage system management method
US7853758B2 (en) Avoiding failure of an initial program load in a logical partition of a data storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121221

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5167410

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees