JP4924574B2 - ストレージ装置の制御部及び制御方法 - Google Patents

ストレージ装置の制御部及び制御方法 Download PDF

Info

Publication number
JP4924574B2
JP4924574B2 JP2008221458A JP2008221458A JP4924574B2 JP 4924574 B2 JP4924574 B2 JP 4924574B2 JP 2008221458 A JP2008221458 A JP 2008221458A JP 2008221458 A JP2008221458 A JP 2008221458A JP 4924574 B2 JP4924574 B2 JP 4924574B2
Authority
JP
Japan
Prior art keywords
function
management table
unit
execution instruction
storage
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.)
Active
Application number
JP2008221458A
Other languages
English (en)
Other versions
JP2010055485A (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 JP2008221458A priority Critical patent/JP4924574B2/ja
Priority to US12/534,951 priority patent/US8601224B2/en
Publication of JP2010055485A publication Critical patent/JP2010055485A/ja
Application granted granted Critical
Publication of JP4924574B2 publication Critical patent/JP4924574B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated

Description

ハードディスク記憶装置等のストレージ装置が例えばRAID構成下での動作のように連携して動作する場合における、ストレージ装置の各記憶媒体モジュールのデータの読出し処理/書込み処理を制御する各コントローラモジュール間の同期制御技術に関する。
ストレージ装置が例えばRAID(Redundant Arrays of Inexpensive Disks)を構成する場合、ストレージ装置を構成する各記憶媒体モジュールにおいて、外部からの処理命令に従って記憶媒体モジュールに対する読出し処理/書込み処理を制御するコントローラモジュール(Controller Module:以降、「CM」という)には、マスタ/スレーブという役割が与えられる。
ここで、ユーザや保守作業者が操作するGUI(グラフィカルユーザインタフェース)保守ツール等の上位ツールからのコマンド(設定変更や状態取得、及び保守に関する制御)は、操作端末からLAN(ローカルエリアネットワーク)経由で、ストレージ装置に対して送受信される。
この場合に従来は、上記コマンド制御は、スレーブの設定がされているCM(スレーブCM)では許可されず、マスタの設定がされているCM(マスタCM)でのみ許可され、マスタCM主導で制御が行われていた。そして、コマンド実行中にマスタCMがダウンした場合に後処理を必要とするコマンド以外は、全てマスタCMで制御されているため、スレーブCM側ではマスタCMの機能処理状態は把握できないようになっていた。
このようにマスタCM主導で制御が行われる理由は、以下のとおりである。
1.GUI保守画面はWebブラウザを介して提供されることが多いが、ブラウザ接続ができなくなる緊急時以外は、マスタCMからスレーブCMに手動で切替えを行う必要性があまりないこと。
2.マスタCMからスレーブCMに自動で切替えを行う必要性は、マスタCMがダウンした場合又はLANポートが故障した場合に限られること。
3.保守コマンドの処理中にマスタCMのダウンが発生した場合は、新たにLAN接続された新マスタCM側で保守コマンドを実行すれば問題ないケースがほとんどであること。
4.マスタCMのみがLANポートに接続され、スレーブCMはLANポートに接続されず、アクセスできないようになっている場合が一般的であったこと。
5.設定権限を持つユーザが同時に複数ログインする必要性はなかったこと。
上記の理由により、従来は、マスタCM主導で処理を制御する実装で問題はなかった。
しかし、ネット接続をはじめとするストレージ装置への接続形態の多様化に伴い、設定権限を持つ複数のユーザに対して同時ログインを許可し、かつスレーブCMでも保守コマンドを許可させたいという要請がでてきている。また、手動で容易にマスタCMの切替えを許可させたいというケースもでてきた。
このような場合、従来のストレージ装置においては、複数のユーザが同時にマスタCMとスレーブCMにログインして処理を実行し、また、処理の実行中にマスタCMの切替えが行われることを想定していないため、次のような弊害が生じることが考えられる。
1.CM間でそれぞれどの機能が実行中か相互に把握できていないため、GUIからのコマンドを契機として動作する処理は、続き処理が全く行えない。
2.スレーブCMやマスタCMの切替え後の新マスタCMにてコマンドが実行されると、ストレージ装置内で同じ処理が2重に実行される可能性があり、ストレージ装置が誤動作する可能性がある。
3.各コマンドでのガードを強化する場合は、自CMだけでなく他CMと通信して問合せを行う必要があり、無駄な通信が発生する。
図11は、従来技術において、マスタCMのみLANがアクティブ(Active)である場合のケースを示す。通常時は、図11(a)(正常時)に示されるように、操作端末#0と操作端末#1からマスタCMへアクセスすることができる。しかし、図11(b)(経路異常時)のようにネットワークの一部が故障してしまうと、ストレージ装置側で、従来技術では、ネットワーク異常検出によるマスタCM切り替え機構がなかったり、ネットワーク障害自体を検出できなかったりするため、マスタCMを切り替えることがでない。このため、操作端末#0、#1の両方からアクセスできない状態に陥ってしまうという問題点を有していた。
本発明の課題は、どのようなケースにおいても、複数のCMが常に矛盾無く処理動作及びマスタ切替え動作を実行できるようにすることにある。
第1の態様は、記憶媒体に記憶されるデータの書込み/読出し制御を行うストレージ装置の制御部(101)又はこれと同等の機能を実現する制御方法を前提とする。
実行指示受付部(103)は、管理端末からの実行指示を受け付ける。
記憶部(Function管理テーブル)は、受け付けた実行指示の内容を記憶する。この記憶部は、実行指示を受信した制御部の識別情報と実行指示の更新時刻と実行指示の更新状況とを更に記憶するように構成することができる。
記憶内容通知部(105、106)は、記憶部に記憶した内容をストレージ装置内の他の制御部に通知する。この記憶内容通知部は例えば、他の制御部の起動を認識すると記憶部に記憶した内容を起動した他の制御部に通知するように構成することができる。
処理部(103)は、実行指示に基づいて処理を行う。
上述の第1の態様において、定期的に制御部内で実行されている処理を確認し、処理の
実行状況に基づいて記憶部に記憶される指示内容を更新する指示内容更新部(104、105、108)を更に含むように構成することができる。この指示内容更新部は例えば、記憶部に記憶される更新時刻と更新状況に基づいて実行指示を削除する。また、この指示内容更新部は例えば、記憶部に既に指示内容が記憶されている場合に記憶部の更新処理を行う。
第2の態様は、1以上の記憶媒体と、その記憶媒体に記憶されるデータの書込み/読出し制御を行う複数の制御部とを備えたストレージ装置を前提とする。
複数の制御部のうち第1の制御部は、管理端末からの実行指示を受け付ける第1の実行指示受付部(103)と、受け付けた実行指示の内容を記憶する記憶部(Function管理テーブル)と、記憶部に記憶した内容をストレージ装置内の他の制御部に通知する記憶内容通知部(105、106)と、実行指示に基づいて処理を行う処理部(103)とを含む。
複数の制御部のうち第2の制御部は、管理端末もしくは他の管理端末からの実行指示を受け付ける第2の実行指示受付部(103)と、第1の制御部から記憶部の内容を受信する記憶内容受信部(107)と、第1の制御部からの受信結果に基づいて第2の実行指示受付部で受け付けた実行指示の実行可否を判断する実行可否判断部(105)とを含む。
ストレージ装置における複数の制御部のどれがマスタであるかということを特に意識することなく、いずれの制御部においても処理を実行することが可能となる。
複数の制御部が記憶部(Function管理テーブル)を同期させながら処理を実行することにより、各管理端末から各制御部を、各制御部間での処理矛盾無く制御することが可能となる。
以下、図面を参照しながら、最良の実施形態について詳細に説明する。
従来のストレージ装置において、ほとんどのコマンド処理は、処理中にマスタCMの切替えが行われることを想定していない。このため、例えばGUIからの進捗の刈取り(問合せ)のコマンドを期待している処理は、リソース解放やサスペンド機能のリジュームが行われない状態に陥っていた。また、新マスタCMでコマンドが起動されると、装置内で対象機能が2重に動作する可能性があり、誤動作する可能性があった。
この問題を解決するために、以下に説明する実施形態では、各CMが、どの機能がどのCM101でどれだけの期間動作中なのかを示すエントリ情報を登録したFunction管理テーブルを保持し、各CM間でFunction管理テーブルの登録内容を相互に通信して同期させながら制御を行う。
図1は、実施形態の構成図である。
基本構成として、ストレージ装置を構成する記憶媒体モジュール毎に、コントローラモジュール(CM)101(以降「CM101」という)が装備され、各CM101は、LAN(ローカルエリアネットワーク)等のネットワークを介して接続される端末装置上で動作するGUI(グラフィカルユーザインタフェース)画面102(以降「GUI102」という)からアクセス可能である。
本実施形態では、各CM101には、LANポートが装備されており、それぞれGUI102からアクセス可能な構成が採られる。
図1では、以降の説明を簡単にするために、互いに連携して動作する#0と#1の2台のコントローラモジュールのみが記載されており、通常動作時には、#0のCM101が
マスタCM101、#1のCM101がスレーブCMとして動作しているものとして記載されているが、実際には、複数のCM101が連携している。図1において、CM101(#0)はGUI102(#0)からアクセスされ、CM101(#1)はGUI102(#1)からアクセスされる。
CM101は、Function処理部103、動作中機能チェック部104、Function管理テーブル操作部105、Function管理テーブルエントリ情報配信部106、Function管理テーブルエントリ情報受信部107、及びFunction管理テーブル監視タイマ部108を有する。
Function処理部103は、GUI102から制御対象となるコマンド(以降「対象コマンド」という)を受信し、その対象コマンドに対応する処理を実行する。このとき、マスタCMとなったCM101のFunction処理部103が対象コマンドを受信した場合、自CMに対応する記憶媒体モジュール以外の記憶媒体モジュールに対する読出し処理/書込み処理(設定変更や状態取得、及び保守に関する処理)が必要になった場合には、当該Function処理部103は、対象となる他のCM101(以降「制御CM」という)に内部的に読出し処理/書込み処理の制御コマンドを発行して、その制御CMに読出し処理/書込み処理を代行させ、併せて両CM間で必要なデータ転送を実行する。この動作については、図10及び図11の説明において後述する。
動作中機能チェック部104は、Function処理部103が、上記対象コマンドの実行開始してGUI102に実行開始の応答を返したタイミングで、自CMにて上記対象コマンドに対応する機能が他に動作中であるか否かをチェックする。
また、自CMが保持するFunction管理テーブルに何れかのエントリ情報が登録されている間、Function管理テーブル監視タイマ部108が監視タイマを動作させており、これに対して、動作中機能チェック部104は、この監視タイマによって計時される一定時間毎に、Function管理テーブルに登録されている各エントリ情報に対応する各機能が、自CMにおいて継続動作中であるか否かをチェックする。
一方、Function管理テーブルエントリ情報受信部107は、他CM101から、Function管理テーブル中の何れかのエントリ情報の追加/更新依頼を受信する。
Function管理テーブル操作部105は、動作中機能チェック部104によってチェックされた自CMでの各機能の実行状態の検出結果と、Function管理テーブルエントリ情報受信部107にて受信されたエントリ情報の追加/更新依頼に基づいて認識される他CMでの各機能の実行状態の通知結果とに基づいて、Function管理テーブルに対してエントリ情報の追加、更新、変更、又は削除の処理を実行することにより、各CM101が保持する各Function管理テーブルの登録内容が常に同期するように制御する。
また、Function管理テーブル操作部105がFunction管理テーブルに対して自CMでの機能の実行状態に対応するエントリ情報の追加、更新、変更、又は削除を行ってその登録内容に変化が発生した場合には、当該変化のあったエントリ情報の追加/更新依頼を、Function管理テーブルエントリ情報配信部106を介して他のCM101へ配信する。
図2は、CM101が保持するFunction管理テーブルのデータ構成図である。Function管理テーブルは、図1のFunction処理部103が実行する機能
単位で登録され、1つのエントリには、実行中の機能を示す「機能値」、当該機能が実際に動作しているCM101のモジュールID「制御CM MID」、当該エントリが更新された時間を示す「更新Time Stamp」、及び当該エントリを更新できなかった回数を示す「未更新回数」の各フィールド値が登録される。
なお、「制御CM MID」フィールドには、それが含まれるエントリ情報に登録されている「機能値」が示す機能が、それに対応する対象コマンドをGUI102から受信したマスタCMにおいて実行される場合には、当該マスタCMの識別IDが登録されるが、上記機能が上記マスタCMからの指示に基づいて他の制御CMにおいて実行される場合には、当該制御CMの識別IDが登録される。ここでは、マスタCM=制御CMとなる場合も含めて、上記フィールド名を「制御CM MID」と定義する。
図3は、図1に示されるFunction管理テーブル操作部105が、図2に示されるデータ構成を有するFunction管理テーブルを使ってCM間同期制御動作を実行する際の、動作アルゴリズムを示す制御マトリックス図である。
図3において、「入力」で示される縦の2列は、Function管理テーブル操作部105が、動作中機能チェック部104又はFunction管理テーブルエントリ情報受信部107を介して認識する制御対象の機能(以降「対象機能」という)が「機能実行中」又は「機能未実行」の何れの状態であるかという場合分けと、その対象機能の入力元のCM101がどれであるかという場合分けを示している。
また、「Function管理テーブル上のエントリ情報」で示される縦の4列は、「機能値」フィールド(図2参照)に上記対象機能に対応する機能値が含まれるエントリ情報が登録されているか(「有(Valid)」)、登録されていないか(無「InValid」)の場合分けと、登録されている場合に、そのエントリ情報内の「制御CM MID」フィールドに登録されているCM101がどれであるかの場合分け(図3の例では「自CM」「他CM1」「他CM2」の3つ)を示している。
そして、図3の各行と各列によって決まる1〜24のマス内には、Function管理テーブル操作部105がFunction管理テーブルに対してどのような操作を実行すべきかという場合分けが記載されている。
Function管理テーブル操作部105は、図3の制御マトリックスに対応する制御プログラムを実行することになる。図3の制御マトリクスに基づくFunction管理テーブル操作部105の動作について、以下に説明する。
まず、図1のFunction処理部103がGUI102から対象コマンドを受信して実行を開始し、動作中機能チェック部104が、「自CM」にて上記対象コマンドに対応する対象機能が実行されていることを検出した場合(以降「ケース1」という)において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応するエントリ情報が無かった場合、Function管理テーブル操作部105は、「制御CM MID」フィールドに自CMのIDがセットされ、「機能値」フィールドに上記対象機能に対応する値がセットされたエントリ情報を追加する。なお、「更新Time Stamp」フィールドには現在の時刻がセットされ、「未更新回数」フィールドには0がセットされる。また、Function管理テーブル操作部105は、Function管理テーブルエントリ情報配信部106を介して、当該エントリ情報の追加依頼を他のCM101に配信する(以上、図3の4番のマス)。これは、対象機能が自CMにおいて新たに実行を開始した状態である。
次に、動作中機能チェック部104が、Function管理テーブル監視タイマ部108の監視タイマによって計時される一定時間毎に、Function管理テーブルに登録されている各エントリ情報に対応する各機能が自CMにおいて継続動作中であるか否かをチェックした結果(これを「ケース2」という)、Function管理テーブルから抽出された「制御CM MID」フィールドに自CMのIDが含まれるエントリ情報が自CMで継続して実行中であると判定した場合、Function管理テーブル操作部105は、そのエントリ情報の「更新Time Stamp」フィールドに現在の時刻をセットし、「未更新回数」フィールドに0を再セットして、そのエントリ情報を更新する。また、Function管理テーブル操作部105は、Function管理テーブルエントリ情報配信部106を介して、当該エントリ情報の更新依頼を他のCM101に配信する(以上、図3の1番のマス)。これは、自CMが、対象機能の動作を継続中の状態である。
次にケース1において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応した「制御CM MID」フィールドに他CM(他CM1又は他CM2)のIDが含まれるエントリ情報が見つかった場合、Function管理テーブル操作部105は、そのエントリ情報の「制御CM MID」フィールドに自CMのIDをセットし、「更新Time Stamp」フィールドに現在の時刻をセットし、「未更新回数」フィールドに0を再セットして、そのエントリ情報を変更する。また、Function管理テーブル操作部105は、Function管理テーブルエントリ情報配信部106を介して、当該エントリ情報の変更依頼を他のCM101に配信する(以上、図3の2番又は3番のマス)。これは例えば、対象機能を実行していた他CMがダウンし、代わりに自CMが対象機能の実行を開始したような状態である。
次に、Function管理テーブルエントリ情報受信部107が他CM(他CM1又は他CM2)からエントリ情報の追加/更新依頼を受信し、その結果、Function管理テーブル操作部105が、そのエントリ情報の「機能値」フィールドで特定される対象機能が他CM(他CM1又は他CM2)で実行中であることを検出した場合(以降「ケース3」という)において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応するエントリ情報が無かった場合、Function管理テーブル操作部105は、「制御CM MID」フィールドに当該他CM(他CM1又は他CM2)のIDがセットされ、「機能値」フィールドに上記対象機能に対応する値がセットされたエントリ情報を追加する。なお、「更新Time Stamp」フィールドには現在の時刻がセットされ、「未更新回数」フィールドには0がセットされる(以上、図3の8番又は12番のマス)。これは、対象機能が他CMにおいて新たに実行を開始した状態である。
次にケース3において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応し「制御CM MID」フィールドに自CMのIDが含まれるエントリ情報が見つかった場合、Function管理テーブル操作部105は、そのエントリ情報は変更しない(以上、図3の5番又は9番のマス)。これは、他CMにおいて対象機能の実行が開始されても、自CMにおいて対象機能が実行されていればその状態を優先する制御である。
次にケース3において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応し「制御CM MID」フィールドに上記通知された対象機能に対応する他CMと同じ他CMのIDが含まれるエントリ情報が見つかった場合、Function管理テーブル操作部105は、そのエントリ情報の「更新Time Stamp」フィールドに現在の時刻をセットし、「
未更新回数」フィールドに0を再セットして、そのエントリ情報を更新する(以上、図3の6番又は11番のマス)。これは、前述した図3の1番のマスの制御動作により、他CMにおける一定間隔毎の動作チェックによりその継続実行されている機能に対応するエントリ情報が当該CMにて更新され、その更新情報が自CMに配信されてきたときに、自CMでのエントリ情報を当該他CMでのエントリ情報の更新に同期させる処理である。
このように通常は、制御CMにて或る機能が実行継続中である場合、一定間隔で他CMへその機能に対応するエントリ情報の更新依頼が配信される。他CMはこの情報を受信すると、自CM内のFunction管理テーブル上の該当するエントリ情報の「更新Time Stamp」フィールドの時刻値を更新し、「未更新回数」フィールドの値を0にリセットする。一方、動作中機能チェック部104は、Function管理テーブル監視タイマ部108の監視タイマによって計時される一定間隔で、Function管理テーブルに登録されているエントリ情報のうち、「制御CM MID」フィールドに自CMのID以外のIDが含まれるエントリ情報の「未更新回数」フィールドの値をカウントアップする。従って、他CMが正常に動作している間は、「未更新回数」フィールドの値は一定間隔でリセットされるためその値が増加することはないが、他CMの動作が異常となった場合には、「未更新回数」フィールドの値はリセットされなくなるためその値が増加してゆく。そこで、Function管理テーブル操作部105は、後述する図3の7番、10番、14番、15番、19番、及び22番の制御動作において、「更新Time Stamp」フィールドの時刻値と併せて「未更新回数」フィールドの値を判定することにより、他CMの異常検出を行うことができる。
なお、付加情報として、Function管理テーブル内のエントリ情報に機能の進捗率を載せるようにすれば、エントリ情報の定期的配信は行われているが機能の処理が進んでいないという状態が検出されることによっても、制御CMの機能異常として何らかの処置を行うことができる。
次にケース3において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応し「制御CM MID」フィールドに上記通知された対象機能に対応する他CMとは異なる他CMのIDが含まれるエントリ情報が見つかった場合、Function管理テーブル操作部105は、そのエントリ情報は更新しない。あるいは、Function管理テーブル操作部105は、そのエントリ情報の「更新Time Stamp」が所定時間以上古く、「未更新回数」が所定回数以上になっていた場合に、当該エントリ情報に対応する他CMがダウンし新たに通知された他CMに切り替わったと判断して、そのエントリ情報の「制御CM MID」フィールドに上記通知された対象機能に対応する他CMのIDをセットし、「更新Time Stamp」フィールドに現在の時刻をセットし、「未更新回数」フィールドに0を再セットして、そのエントリ情報を変更する(以上、図3の7番又は10番のマス)。
続いて、動作中機能チェック部104が、この監視タイマによって計時される一定時間毎に、Function管理テーブルに登録されている各エントリ情報に対応する各機能が自CMにおいて継続動作中であるか否かをチェックした結果(以降「ケース4」という)、Function管理テーブルから抽出された「制御CM MID」フィールドに自CMのIDが含まれるエントリ情報が自CMではもはや実行中ではないと判定した場合、Function管理テーブル操作部105は、そのエントリ情報をFunction管理テーブルから削除する。また、Function管理テーブル操作部105は、Function管理テーブルエントリ情報配信部106を介して、当該エントリ情報の削除依頼を他のCM101に配信する(以上、図3の13番のマス)。これは、自CMが、対象機能の動作を終了した状態である。
次にケース4において、Function管理テーブルから抽出された「制御CM MID」フィールドに他CM(他CM1又は他CM2)のIDが含まれるエントリ情報が自CMでは実行中ではないと動作中機能チェック部104が判定した場合、Function管理テーブル操作部105は、そのエントリ情報は変更しない。あるいは、Function管理テーブル操作部105は、そのエントリ情報の「更新Time Stamp」が所定時間以上古く、「未更新回数」が所定回数以上になっていた場合に、当該エントリ情報に対応する他CMがダウン等したと判断して、そのエントリ情報をFunction管理テーブルから削除する(以上、図3の14番又は15番のマス)。
次に、Function管理テーブルエントリ情報受信部107が他CM(他CM1又は他CM2)からエントリ情報の削除依頼を受信し、その結果、Function管理テーブル操作部105が、そのエントリ情報の「機能値」フィールドで特定される対象機能が他CM(他CM1又は他CM2)で実行されなくなったことを検出した場合(以降「ケース5」という)において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応するエントリ情報が無かった場合、Function管理テーブル操作部105は、Function管理テーブルの登録内容は変更しない(以上、図3の20番又は24番のマス)。
次にケース5において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応し「制御CM MID」フィールドに自CMのIDが含まれるエントリ情報が見つかった場合、Function管理テーブル操作部105は、そのエントリ情報は変更しない(以上、図3の17番又は21番のマス)。これは、他CMにおいて対象機能の実行が終了しても、自CMにおいて対象機能が実行されていればその状態を優先する制御である。
次にケース5において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応し「制御CM MID」フィールドに上記通知された対象機能に対応する他CMと同じ他CMのIDが含まれるエントリ情報が見つかった場合、Function管理テーブル操作部105は、そのエントリ情報をFunction管理テーブルから削除する(以上、図3の18番又は23番のマス)。これは、自CMでのエントリ情報を他CMでのエントリ情報の削除に同期させる処理である。
次にケース5において、Function管理テーブル操作部105が、Function管理テーブルのエントリ情報を検索した結果、上記対象機能に対応し「制御CM MID」フィールドに上記通知された対象機能に対応する他CMとは異なる他CMのIDが含まれるエントリ情報が見つかった場合、Function管理テーブル操作部105は、そのエントリ情報は更新しない。あるいは、Function管理テーブル操作部105は、そのエントリ情報の「更新Time Stamp」が所定時間以上古く、「未更新回数」が所定回数以上になっていた場合に、当該エントリ情報に対応する他CMがダウンしたと判断して、そのエントリ情報をFunction管理テーブルから削除する(以上、図3の19番又は22番のマス)。
以上、図3の制御マトリクスに基づいて、図1のFunction管理テーブル操作部105の詳細動作について説明したが、主な動作をまとめると以下のようになる。
Function管理テーブルに対するエントリ情報の追加/更新
Function管理テーブルへのエントリ情報の追加及び更新のタイミングは、以下の通りである。
・自CMがGUIから特定のコマンドを受信後、自CM上での動作中機能チェックの結果、特定の機能が動作中と判断された場合。
・Function管理テーブルにエントリ情報が存在する際に、定期的に自CM上での動作中機能チェックを行い、特定の機能が動作中と判断された場合。
・他CMから自CMのFunction管理テーブルへのエントリ情報の追加/更新依頼を受けた場合。
・自CMのモジュール再起動中に、他CMからエントリ情報を採取した場合。これについては、図3の制御マトリクスには含まれていないが、自CMから他CMの情報を自立的に採取するような構成を採ることも可能である。
Function管理テーブルからのエントリ情報の削除
Function管理テーブルからのエントリ情報の削除のタイミングは以下の通りである。
・自CMがGUIから特定のコマンドを受信後、自CM上での動作中機能チェックの結果、特定の機能が動作中でないと判断された場合。
・自CMのFunction管理テーブルにエントリ情報が存在する際に、自CM上での定期的な動作中機能チェックの結果、特定の機能が動作中でないと判断された場合。
・自CMのFunction管理テーブルに他CMから受信したエントリ情報が存在する際に、定期的なFunction管理テーブルのチェックの結果、エントリ情報の「更新Time Stamp」フィールドの値と「未更新回数」フィールドの値とから、制御CMからエントリ情報の更新依頼が一定時間、一定回数以上受信されていないと判断された場合。もしくは、制御CMがデグレード(故障)したと判断された場合。
・他CMから自CMのFunction管理テーブルへのエントリ情報の削除依頼を受けた場合。
図4及び図5は、図1の本実施形態の構成に基づく動作シーケンス例を示す図である。ここでは、始めに端末#0(図1のGUI102(#0)が動作する端末)からの指示に基づいて、CM101(#0)(図4及び図5中ではCM#0と表記)が機能Aの処理を実行し、その実行途中で、保守制御が端末#0から端末#1(図1のGUI102(#1)が動作する端末)に切り替わり、端末#1は、CM101(#0)での機能Aの処理の終了を待って、CM101(#1)(図4及び図5ではCM#1と表記)が機能Aの処理を実行するようなケースが示されている。
従来は、このような連携処理は不可能であったが、本実施形態では、CM101(#0)とCM101(#1)のどちらがマスタCMであるかということを特に意識することなく、双方から機能を実行することが可能となる。
まず、図4のS401で示される一連の処理群では、端末#0からの指示に基づいて、CM#0がCM#1に確認を取りながら、実行権限を獲得する。ここで、機能Aは、同時には何れか1つのCM101においてのみ排他的に実行可能な処理であるとし、そのために実行権限の獲得が必要となる。なお、実行権限処理部は、図1のFunction処理部103が実現する。
次に、図4のステップS402で示される一連の処理群では、端末#0からの機能Aの実行指示に基づいて、CM#0が機能Aの実行を開始し、このときに、CM#0とCM#1は、図1〜図3を用いて前述した動作によって、Function管理テーブルを同期させる処理を実行する。S402において、機能Aコマンド処理部は、図1のFunction処理部103が実現し、Function管理テーブルエントリ処理部は、図1の
103から108の各部が実現する。この結果、CM#0とCM#1のいずれにおいても、機能Aが現在どこで実行されているかを把握することができる。即ち、CM#0のFunction管理テーブルにおける機能Aのエントリ情報は、機能Aが自CMで実行中であることを示し、CM#1のFunction管理テーブルにおける機能Aのエントリ情報は、機能Aが他CM(=CM#0)で実行中であることを示す。
次に、図4のステップS403で示される一連の処理群では、端末#0からの機能Aの進捗確認指示に基づいて、CM#0の機能Aコマンド処理部が、自CM内のFunction管理テーブルの機能Aのエントリ情報を確認することにより、端末#0に機能Aの進捗情報を返す。
次に、図4のステップS404で示される一連の処理群では、端末#0が、CM#0における機能Aの処理の終了を待たずに、機能Aの処理に関する実行権限を解放する。
続いて、図4のステップS405で示される一連の処理群では、端末#1が、機能Aの処理に関する実行権限を獲得する。
次に、図4のステップS406で示される一連の処理群では、端末#1が、CM#1における機能Aの処理の実行を試みる。これに対して、CM#1のFunction処理部(図1の103)は、自CM内のFunction管理テーブルの機能Aのエントリ情報を確認することにより、機能AがまだCM#0において実行中であってCM#1では実行開始できないことを返す。
次に、図4のステップS407で示される一連の処理群では、端末#1からの機能Aの進捗確認指示に基づいて、CM#1のFunction処理部が、自CM内のFunction管理テーブルにおいて機能AがCM#0で実行であることを示すエントリ情報を確認することにより、CM#0のFunction処理部に機能Aの進捗確認を問合せ、この結果、CM#0の機能Aコマンド処理部が、CM#1のFunction処理部に機能Aの進捗を返し、CM#1のFunction処理部が端末#1にその機能Aの進捗を通知する。
次に、図5のステップS408で示される一連の処理群では、端末#0からCM#0に発行されていた機能Aコマンド処理が終了し、CM#0とCM#1の双方のFunction管理テーブルにおいて、図1〜図3を用いて前述した動作によって、機能Aのエントリ情報を同期して削除する処理が実行される。
その後、図5のステップS409で示される一連の処理群では、端末#1があらためてCM#1における機能Aの実行指示を出すことによりCM#1が機能Aの実行を開始し、このときに、CM#1とCM#0は、図1〜図3を用いて前述した動作によって、Function管理テーブルを同期させる処理を実行する。この結果、CM#1のFunction管理テーブルにおける機能Aのエントリ情報は、機能Aが自CMで実行中であることを示し、CM#0のFunction管理テーブルにおける機能Aのエントリ情報は、機能Aが他CM(=CM#1)で実行中であることを示すことになり、双方のFunction管理テーブルが同期する。
以上のようにして、本実施形態では、複数のCM101がFunction管理テーブルを同期させながら機能処理を実行することにより、各端末のGUIから各CMを、各CM間での処理矛盾無く制御することが可能となる。
図6は、従来技術と対比した本実施形態の動作説明図である。
従来は、図11(b)(経路異常時)の説明において前述したように、ネットワークの
一部が故障してしまうと、ストレージ装置側で、マスタCMを切り替えることができなかったため、操作端末#0、#1の両方からアクセスできない状態に陥ってしまうという問題点を有していた。
これに対して、従来技術の発展形として、図6(a)に示されるように、CM#0(マスタ)とCM#1(スレーブ)の両方のLANポートをアクティブ(Active)にする技術が考えられる。この結果、図6(a)に示されるように、端末#0はマスタであるCM#0にアクセスでき、端末#1はスレーブであるCM#1にアクセスできることになる。また、両CMのLANがアクティブにされることで、通常時は表示系の処理はスレーブのCM#1で行わせ、設定系の処理はマスタのCM#0で行わせるといった運用も可能である。
しかし、これだけでは、マスタのCM#0/スレーブのCM#1に関係なく、アクセスしたCMで処理を行わせたい場合に、CM間の排他制御が問題になる。図6(a)の場合には、Function管理部がないためCM間の排他制御を行うことができないが、図6(b)に示される本実施形態の構成では、図1の103〜108によって実現されるFunction管理部により、制御CMへコマンドを送信することや、排他条件が満たされる場合には自CMで機能を処理させるといった判断を行うことができる。また、図6(b)に示されるFunction管理部は、両CMのLANがアクティブであるケースだけではなく、マスタCMのみのLANがアクティブな場合でも、ある機能が実行中の際に、マスタCMの切替えが発生した際にも有効となる。
図7は、図4に示される動作シーケンス例における2重実行防止機能を説明するための動作シーケンス例を示す図である。基本的には、図7は図4と同じ図である。
図4のステップS406でも説明したように、図7のステップS701で示される一連の処理群において、端末#1が、CM#1における機能Aの処理の実行を試みる。これに対して、CM#1のFunction処理部(図1の103)は、自CM内のFunction管理テーブルの機能Aのエントリ情報を確認することにより、機能AがまだCM#0において実行中であってCM#1では実行不可の応答を返すことができる。ここでのガード機能は、例えば機能A実行中に機能Bの実行要求が発生した場合において、機能間で排他制御を行うような制御にも有効である。
図8は同じく、図4に示される動作シーケンス例における2重実行防止機能を説明するための別の動作シーケンス例を示す図である。
図8のステップS801(図4のステップS406に対応)で示される一連の処理群において、端末#1が、CM#1における機能Aの処理の実行を試みる。これに対して、CM#1のFunction処理部は、自CM内のFunction管理テーブルにおいて機能AがCM#0で実行であることを示すエントリ情報を確認することにより、CM#0のFunction処理部に機能Aの実行指示を出す。この結果、CM#0のFunction処理部が機能Aの擬似実行コマンドを発行するが、CM#0の機能Aコマンド処理部が機能Aの2重起動を検出し、CM#1のFunction処理部に機能Aが実行中であることを示す応答を返し、CM#1のFunction処理部が端末#1に機能Aが実行中であることを応答する。
図9は、GUIからマスタCMに発行された書込みコマンド(CMがGUIからの要求の際に、データを受信する設定変更や保守に関するコマンド)に対して、マスタCMとなるCM101内のFunction処理部103(図1参照)が制御CMであるCM101内のFunction処理部103と連携しながら書込み処理を実行する場合の一般的な連携動作を示す動作シーケンス図である。また、図10は同じく、GUIからマスタCMに発行された読出しコマンド(CMがGUIへの応答の際に、データを送信する状態取得や保守に関するコマンド)に対して、マスタCM内のFunction処理部103が制御CM内のFunction処理部103と連携しながら読出し処理を実行する場合の一般的な連携動作を示す動作シーケンス図である。
以下の説明において、説明を簡単にするために、「マスタCM」又は「制御CM」と表記した場合は、「マスタCMとなるCM101内のFunction処理部103」又は「制御CMとなるCM101内のFunction処理部103」を意味するものとする。
まず、GUIからマスタCMに発行された書込みコマンドに対して、マスタCMが制御CMと連携しながら書込み処理を実行する場合の動作について、図9の動作シーケンス図に沿って説明する。
GUIは、マスタCM内に書込みデータのためのバッファを獲得した後(ステップS901)、マスタCMに対して、書込みコマンド(WriteCmd)を発行する(ステップS902)。
マスタCMは、その書込みコマンドが、制御CMが制御する記憶媒体へのものであると認識すると、制御CMに対して、内部コマンドである書込みコマンド(専用Cmd1)を発行する(ステップS903)。
制御CMは、その内部書込みコマンドを受信すると、まず、自CM内に書込みデータ用のバッファを獲得し(ステップS904)、書込みデータの転送を行うための処理であるデータムーバ処理を実行する(ステップS905)。この結果、制御CMからマスタCMに、データムーバ要求(Get要求)が発行され(ステップS906)、これに応答してマスタCM内のバッファから制御CM内のバッファに書込みデータがコピーされ、コピー終了後に、マスタCMから制御CMにデータムーバ応答が返される(ステップS907)。
制御CMは、書込みデータの転送が完了すると、自CMに対して、擬似コマンドである書込みコマンド(WriteCmd)を発行し(ステップS908)、転送された書込みデータを記憶媒体に書き込み、書込みが完了すると自CM内のバッファを解放する(ステップS909)。
最後に、制御CMからマスタCMに、前述の内部コマンドである書込みコマンド(専用Cmd1)に対する応答が返され(ステップS910)、これを受けたマスタCMからGUIに、当初の書込みコマンド(WriteCmd)に対する応答が返される(ステップS911)。GUIは、この応答を受けて、マスタCM内のバッファを解放する(ステップS912)。
次に、GUIからマスタCMに発行された読出しコマンドに対して、マスタCMが制御CMと連携しながら読出し処理を実行する場合の動作について図10の動作シーケンス図に沿って説明する。
GUIは、マスタCMに対して、読出しコマンド(ReadCmd)を発行する(ステップS1001)。
マスタCMは、その読出しコマンドが、制御CMが制御する記憶媒体へのものであると認識すると、制御CMに対して、内部コマンドである読出しコマンド(専用Cmd2)を発行する(ステップS1002)。
制御CMは、その内部読出しコマンドを受信すると、まず、自CMに対して、擬似コマンドである読出しコマンド(ReadCmd)を発行し、自CM内にバッファを獲得してそこに要求されたデータを読み出す(ステップS1003)。
続いて、制御CMはマスタCMに対して、内部コマンドである読出しコマンド(専用Cmd3)を発行する(ステップS1004)。
マスタCMは、このコマンドを受け取ると、自CM内に読出しデータを受け取るためのバッファを獲得し(ステップS1005)、制御CMに上記コマンドに対する応答を返す(ステップS1006)。
制御CMは、その応答を受信すると、まず、読出しデータの転送を行うための処理であるデータムーバ処理を実行する(ステップS1007)。この結果、制御CMからマスタCMに、データムーバ要求(Put要求)が発行され(ステップS1008)、これに応答して制御CM内のバッファからマスタCM内のバッファに読出しデータがコピーされ、コピー終了後に、マスタCMから制御CMに、データムーバ応答が返される(ステップS1009)。
制御CMは、読出しデータの転送が完了して上記応答を受け取ると、自CM内のバッファを解放する(ステップS1010)。
最後に、制御CMからマスタCMに、前述の内部コマンドである読出しコマンド(専用Cmd2)に対する応答が返され(ステップS1011)、これを受けたマスタCMからGUIに、当初の読出しコマンド(ReadCmd)に対する応答が返される(ステップS1012)。GUIは、マスタCM内のバッファからデータをリード後に、そのバッファを解放する(ステップS1013)。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
記憶媒体に記憶されるデータの書込み/読出し制御を行うストレージ装置の制御部であって、
管理端末からの実行指示を受け付ける実行指示受付部と、
前記受け付けた実行指示の内容を記憶する記憶部と、
前記記憶部に記憶した内容を前記ストレージ装置内の他の制御部に通知する記憶内容通知部と、
前記実行指示に基づいて処理を行う処理部と、
を含むことを特徴とするストレージ装置の制御部。
(付記2)
前記記憶部に、前記実行指示を受信した制御部の識別情報と前記実行指示の更新時刻と前記実行指示の更新状況とを更に記憶する、
ことを特徴とする付記1に記載のストレージ装置の制御部。
(付記3)
定期的に前記制御部内で実行されている前記処理を確認し、前記処理の実行状況に基づいて前記記憶部に記憶される指示内容を更新する指示内容更新部を更に含む、
ことを特徴とする付記1又は2の何れか1項に記載のストレージ装置の制御部。
(付記4)
前記指示内容更新部は、前記記憶部に記憶される更新時刻と更新状況に基づいて前記実行指示を削除する、
ことを特徴とする付記3に記載のストレージ装置の制御部。
(付記5)
前記指示内容更新部は、前記記憶部に既に指示内容が記憶されている場合に前記記憶部の更新処理を行う、
ことを特徴とする付記3又は4の何れか1項に記載のストレージ装置の制御部。
(付記6)
前記記憶内容通知部は、他の前記制御部の起動を認識すると前記記憶部に記憶した内容を前記起動した他の制御部に通知する、
ことを特徴とする付記1乃至5の何れか1項に記載のストレージ装置の制御部。
(付記7)
1以上の記憶媒体と、該記憶媒体に記憶されるデータの書込み/読出し制御を行う複数の制御部とを備えたストレージ装置であって、
前記複数の制御部のうち第1の制御部は、
管理端末からの実行指示を受け付ける第1の実行指示受付部と、
前記受け付けた実行指示の内容を記憶する記憶部と、
前記記憶部に記憶した内容を前記ストレージ装置内の他の制御部に通知する記憶内容通知部と、
前記実行指示に基づいて処理を行う処理部とを含み、
前記複数の制御部のうち第2の制御部は、
前記管理端末もしくは他の管理端末からの実行指示を受け付ける第2の実行指示受付部と、
前記第1の制御部から前記記憶部の内容を受信する記憶内容受信部と、
前記第1の制御部からの受信結果に基づいて前記第2の実行指示受付部で受け付けた実行指示の実行可否を判断する実行可否判断部とを含む、
ことを特徴とするストレージ装置。
(付記8)
前記記憶部に、前記実行指示を受信した制御部の識別情報と前記実行指示の更新時刻と前記実行指示の更新状況とを更に記憶する、
ことを特徴とする付記7に記載のストレージ装置。
(付記9)
定期的に前記制御部内で実行されている前記処理を確認し、前記処理の実行状況に基づいて前記記憶部に記憶される指示内容を更新する指示内容更新部を更に含む、
ことを特徴とする付記7又は8の何れか1項に記載のストレージ装置。
(付記10)
前記指示内容更新部は、前記記憶部に記憶される更新時刻と更新状況に基づいて前記実行指示を削除する、
ことを特徴とする付記9に記載のストレージ装置。
(付記11)
前記指示内容更新部は、前記記憶部に既に指示内容が記憶されている場合に前記記憶部の更新処理を行う、
ことを特徴とする付記9又は10の何れか1項に記載のストレージ装置の制御部。
(付記12)
前記記憶内容通知部は、他の善意制御部の起動を認識すると前記記憶部に記憶した内容を前記起動した他の制御部に通知する、
ことを特徴とする付記7乃至11の何れか1項に記載のストレージ装置の制御部。
(付記13)
記憶媒体に記憶されるデータの書込み/読出し制御を行うストレージ装置の制御方法であって、
管理端末からの実行指示を受け付ける実行指示受付ステップと、
前記受け付けた実行指示の内容を記憶部に記憶する記憶ステップと、
前記記憶部に記憶した内容を前記ストレージ装置内の他の制御部に通知する記憶内容通知ステップと、
前記実行指示に基づいて処理を行う処理ステップと、
を含むことを特徴とするストレージ装置の制御方法。
(付記14)
前記記憶ステップは、前記実行指示を受信した制御部の識別情報と前記実行指示の更新時刻と前記実行指示の更新状況とを前記記憶部に更に記憶する、
ことを特徴とする付記13に記載のストレージ装置の制御方法。
(付記15)
定期的に前記制御部内で実行されている前記処理を確認し、前記処理の実行状況に基づいて前記記憶部に記憶される指示内容を更新する指示内容更新ステップを更に含む、
ことを特徴とする付記13又は14の何れか1項に記載のストレージ装置の制御方法。(付記16)
前記指示内容更新ステップは、前記記憶部に記憶される更新時刻と更新状況に基づいて前記実行指示を削除する、
ことを特徴とする付記15に記載のストレージ装置の制御方法。
(付記17)
前記指示内容更新ステップは、前記記憶部に既に指示内容が記憶されている場合に前記記憶部の更新処理を行う、
ことを特徴とする付記15又は16の何れか1項に記載のストレージ装置の制御方法。(付記18)
前記記憶内用通知ステップは、他の制御部の起動を認識すると前記記憶部に記憶した内容を前記起動した他の制御部に通知する、
ことを特徴とする付記13乃至17の何れか1項に記載のストレージ装置の制御方法。
実施形態の構成図である。 Function管理テーブルのデータ構成図である。 Function管理テーブル操作部105がFunction管理テーブルを使ってCM間同期制御動作を実行する際の動作アルゴリズムを示す制御マトリックス図である。 実施形態の動作シーケンス例を示す図(その1)である。 実施形態の動作シーケンス例を示す図(その2)である。 従来技術と対比した本実施形態の動作説明図である。 2重実行防止機能を説明するための動作シーケンス例を示す図(その1)である。 2重実行防止機能を説明するための動作シーケンス例を示す図(その2)である。 マスタCM−制御CM間での連携した書込み処理の動作シーケンス図である。 マスタCM−制御CM間での連携した読出し処理の動作シーケンス図である。 従来技術の問題点の説明図である。
符号の説明
101 コントローラモジュール(CM)
102 グラフィカルユーザインタフェース(GUI)
103 ファンクション(Function)処理部
104 動作中機能チェック部
105 ファンクション(Function)管理テーブル操作部
106 ファンクション(Function)管理テーブルエントリ情報配信部
107 ファンクション(Function)管理テーブルエントリ情報受信部
108 ファンクション(Function)管理テーブル監視タイマ部

Claims (8)

  1. 記憶媒体に記憶されるデータの書込み/読出し制御を行う制御部を複数有するストレージ装置の制御部において
    記制御部の各々
    自装置を含む前記ストレージ装置内のいずれかの制御部が実行中の機能を示す情報と、当該機能を実行中の制御部を識別する情報を登録するための管理テーブルを記憶する記憶部と、
    管理端末からの実行指示を受け付ける実行指示受付部と、
    記管理テーブルに登録されている情報に基づいて、前記受け付けた実行指示に関する処理を行う処理部と、
    前記管理端末からの実行指示を受け付けたときに前記管理テーブルを確認し、前記受け付けた実行指示で実行が指示される機能が既に前記管理テーブルに登録されている場合には、前記受け付けた実行指示で指示された機能が実行中であると判定し当該機能を実行できないことを前記管理端末に返し、前記受け付けた実行指示で指示される機能が前記記憶部に登録されていない場合には前記受け付けた実行指示で指示された機能を実行中の機能として前記管理テーブルに登録する登録部と、
    前記管理テーブルに登録した機能に関する情報を前記ストレージ装置内の他の制御部に通知する記憶内容通知部と、
    前記他の制御部から通知された機能に関する情報を前記管理テーブルに登録する受信内容登録部と、
    を含む、ことを特徴とするストレージ装置の制御部。
  2. 前記登録部が、前記管理テーブルに、前記実行指示を受信した制御部の識別情報と前記実行指示の更新時刻と前記実行指示の更新状況とを更に登録する、
    ことを特徴とする請求項1に記載のストレージ装置の制御部。
  3. 前記複数の制御部の各々が、定期的に制御部内で実行されている処理を確認し、前記処理の実行状況に基づいて前記管理テーブルに登録される指示内容を更新する指示内容更新部を更に含む、
    ことを特徴とする請求項1又は2の何れか1項に記載のストレージ装置の制御部。
  4. 前記指示内容更新部は、前記管理テーブルに登録される更新時刻と更新状況に基づいて前記機能に関する情報を管理テーブルから削除する、
    ことを特徴とする請求項3に記載のストレージ装置の制御部。
  5. 前記指示内容更新部は、前記管理テーブルに既に指示内容が登録されている場合に前記管理テーブルの更新処理を行う、
    ことを特徴とする請求項3又は4の何れか1項に記載のストレージ装置の制御部。
  6. 前記記憶内容通知部は、他の前記制御部の起動を認識すると前記管理テーブルに登録した内容を前記起動した他の制御部に通知する、
    ことを特徴とする請求項1乃至5の何れか1項に記載のストレージ装置の制御部。
  7. 1以上の記憶媒体と、該記憶媒体に記憶されるデータの書込み/読出し制御を行う複数の制御部とを備えたストレージ装置であって、
    前記複数の制御部の各々が、
    自装置を含む前記ストレージ装置内のいずれかの制御部が実行中の機能を示す情報と、当該機能を実行中の制御部を識別する情報を登録するための管理テーブルを記憶する記憶部と、
    管理端末からの実行指示を受け付ける実行指示受付部と、
    記管理テーブルに登録されている情報に基づいて、前記受け付けた実行指示に関する処理を行う処理部と、
    前記管理端末からの実行指示を受け付けたときに前記管理テーブルを確認し、前記受け付けた実行指示で実行が指示される機能が既に前記管理テーブルに登録されている場合には、前記受け付けた実行指示で指示された機能が実行中であると判定し当該機能を実行できないことを前記管理端末に返し、前記受け付けた実行指示で指示される機能が前記記憶部に登録されていない場合には前記受け付けた実行指示で指示された機能を実行中の機能として前記管理テーブルに登録する登録部と、
    前記管理テーブルに登録した機能に関する情報を前記ストレージ装置内の他の制御部に通知する記憶内容通知部と、
    前記他の制御部から通知された機能に関する情報を前記管理テーブルに登録する受信内容登録部と、
    を含む、ことを特徴とするストレージ装置。
  8. 記憶媒体に記憶されるデータの書込み/読出し制御を行うストレージ装置の制御方法であって、
    前記ストレージ装置が備える複数の制御部の各々に、
    自装置を含む前記ストレージ装置内のいずれかの制御部が実行中の機能を示す情報と、当該機能を実行中の制御部を識別する情報を登録するための管理テーブルを記憶部に記憶するステップと、
    管理端末からの実行指示を受け付ける実行指示受付ステップと、
    記管理テーブルに登録されている情報に基づいて処理を行う処理ステップと、
    前記管理端末からの実行指示を受け付けたときに前記管理テーブルを確認し、前記受け付けた実行指示で実行が指示される機能が既に前記管理テーブルに登録されている場合には、前記受け付けた実行指示で指示された機能が実行中であると判定し当該機能を行できないことを前記管理端末に返し、前記受け付けた実行指示で指示される機能が前記記憶部に登録されていない場合には前記受け付けた実行指示で指示された機能を実行中の機能として前記管理テーブルに登録する登録ステップと、
    前記管理テーブルに登録した機能に関する情報を前記ストレージ装置内の他の制御部に通知する記憶内容通知ステップと、
    前記他の制御部から通知された機能に関する情報を前記管理テーブルに登録する受信内容登録ステップと、
    を含む、処理を実行させることを特徴とするストレージ装置の制御方法。
JP2008221458A 2008-08-29 2008-08-29 ストレージ装置の制御部及び制御方法 Active JP4924574B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008221458A JP4924574B2 (ja) 2008-08-29 2008-08-29 ストレージ装置の制御部及び制御方法
US12/534,951 US8601224B2 (en) 2008-08-29 2009-08-04 Control unit for storage apparatus and method for controlling storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008221458A JP4924574B2 (ja) 2008-08-29 2008-08-29 ストレージ装置の制御部及び制御方法

Publications (2)

Publication Number Publication Date
JP2010055485A JP2010055485A (ja) 2010-03-11
JP4924574B2 true JP4924574B2 (ja) 2012-04-25

Family

ID=41727006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008221458A Active JP4924574B2 (ja) 2008-08-29 2008-08-29 ストレージ装置の制御部及び制御方法

Country Status (2)

Country Link
US (1) US8601224B2 (ja)
JP (1) JP4924574B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304709B2 (en) 2013-09-06 2016-04-05 Western Digital Technologies, Inc. High performance system providing selective merging of dataframe segments in hardware
US9348715B2 (en) 2014-03-20 2016-05-24 Netapp Inc. Storage device health status synchronization

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6246345A (ja) * 1985-08-23 1987-02-28 Hitachi Ltd 処理制御方式
JPH0983526A (ja) * 1995-09-11 1997-03-28 Fujitsu Ltd 多重化通信方法
JP3400297B2 (ja) 1997-06-04 2003-04-28 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムのデータコピー方法
JP3609599B2 (ja) 1998-01-30 2005-01-12 富士通株式会社 ノード代理システム、ノード監視システム、それらの方法、及び記録媒体
JP2001195201A (ja) 2000-01-12 2001-07-19 Hitachi Ltd 外部記憶サブシステム
JP2002014938A (ja) * 2000-06-30 2002-01-18 Toshiba Corp クラスタソフトウェア搭載システム及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2004234558A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd 記憶デバイス制御装置、及びプログラム
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP4490745B2 (ja) * 2004-06-29 2010-06-30 株式会社日立製作所 ホットスタンバイシステム
US7747835B1 (en) * 2005-06-10 2010-06-29 American Megatrends, Inc. Method, system, and apparatus for expanding storage capacity in a data storage system

Also Published As

Publication number Publication date
JP2010055485A (ja) 2010-03-11
US8601224B2 (en) 2013-12-03
US20100058005A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
JP5463267B2 (ja) 仮想計算機システムおよび仮想計算機の移行方法
US7650446B2 (en) Storage system for back-end communications with other storage system
DK3179359T3 (en) PROCEDURE FOR SENDING DATA, PROCEDURE FOR RECEIVING DATA AND STORAGE UNIT
JP4267421B2 (ja) リモートサイト及び/又はローカルサイトのストレージシステム及びリモートサイトストレージシステムのファイル参照方法
US7269611B2 (en) Storage system and storage system control method
WO2017022002A1 (ja) ストレージ装置、ストレージシステム、ストレージシステムの制御方法
JP6434131B2 (ja) 分散処理システム、タスク処理方法、記憶媒体
EP1873645A1 (en) Storage system and data replication method
CN103782279A (zh) 文件管理系统和文件管理方法
JP2004145855A (ja) 記憶装置システム及びデータ複製方法
US8255649B2 (en) Remote copy control method and system in storage cluster environment
JP4462697B2 (ja) 記憶制御装置
CN104471523A (zh) 计算机系统及其控制方法
JP2009026091A (ja) 接続管理プログラム、接続管理方法および情報処理装置
CN111158955B (zh) 一种基于卷复制的高可用系统以及多服务器数据同步方法
JP4719801B2 (ja) デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム
JP4924574B2 (ja) ストレージ装置の制御部及び制御方法
JP5027939B1 (ja) 仮想マシンのための仮想ストレージを有するホストサーバ
JP2012008934A (ja) 分散ファイルシステム及び分散ファイルシステムにおける冗長化方法
JP4202158B2 (ja) プラントデータ収集装置
JP2006031446A (ja) データ記憶装置、データ記憶方法およびデータ記憶プログラム
JP2006114064A (ja) 記憶サブシステム
JP2006344090A (ja) Sanディザスタリカバリシステム
JP2008192020A (ja) Raid制御装置及びその制御方法
CN102457547A (zh) 多控制器的储存区域网络设备的升级方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120123

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4924574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150