JP2013206001A - 制御プログラム、制御方法および記憶装置 - Google Patents

制御プログラム、制御方法および記憶装置 Download PDF

Info

Publication number
JP2013206001A
JP2013206001A JP2012072561A JP2012072561A JP2013206001A JP 2013206001 A JP2013206001 A JP 2013206001A JP 2012072561 A JP2012072561 A JP 2012072561A JP 2012072561 A JP2012072561 A JP 2012072561A JP 2013206001 A JP2013206001 A JP 2013206001A
Authority
JP
Japan
Prior art keywords
information
host
processing apparatus
attribute
conversion
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.)
Pending
Application number
JP2012072561A
Other languages
English (en)
Inventor
Atsushi Takakura
淳 高倉
Kenji Hattori
健二 服部
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 JP2012072561A priority Critical patent/JP2013206001A/ja
Priority to US13/849,712 priority patent/US20130262940A1/en
Publication of JP2013206001A publication Critical patent/JP2013206001A/ja
Pending legal-status Critical Current

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】エラー情報を適切なエラー情報に変換するための変換設定を簡便に行えるようにすることを目的とする。
【解決手段】情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合、異常に対応するエラー情報を生成し、記憶手段に記憶された属性情報と変換情報との対応関係を示す情報を参照して、情報処理装置の属性を示す属性情報に対応する変換情報を取得し、取得した変換情報に基づいて、生成したエラー情報を変換し、変換後のエラー情報を情報処理装置に送信する処理を実行させる。
【選択図】図3

Description

本発明は、記憶装置の制御に関する
PC(Personal Computer)や、サーバ装置などのホスト(ホスト装置)から記憶装置へのデータの読み出し命令を送信し、所望のデータを記憶装置に記憶させるシステムが存在する。
このようなシステムにおいて、記憶装置がホストから受信した命令に応じて動作するときにエラーが発生した場合、その記憶装置は、読み出したデータの代わりに、エラー情報を生成し、応答として送信する。そして、ホストは、記憶装置が生成したエラー情報を受信し、エラー情報に応じた動作を行う。このとき、ホストの種類に応じて、エラー情報に応じて実行される動作が異なることがあるため、記憶装置は、記憶装置が期待した動作をホストが実行できるように、ホストの種類に応じて、エラー情報を適切なエラー情報に変換してホストに送信する。
図1は、従来技術の一例を説明するための図である。図1は、通信可能に接続されたホスト1と記憶装置2を示す。なお、ホスト1と記憶装置2との間にスイッチなどの中継装置が介在してもよい。記憶装置2は、メモリ3を備えている。メモリ3は、ホストの識別子とエラー情報の変換方法を特定するための変換情報を対応付けた情報を記憶する。変換情報は、エラー情報をどのようなエラー情報に変換するかの変換方法を特定する情報を含む。
この状態で、ホスト1から読み出し命令などの命令Aを記憶装置2が受信し、命令Aに応じた処理の実行時にエラーが発生したとする。すると、記憶装置2は、発生したエラーに応じてエラー情報(センスデータ)aを生成する。そして、記憶装置2は、命令に含まれる送信元の情報からホスト1を特定し、ホスト1の識別子(HOST♯1)に対応する変換情報(この場合は、CONV♯1)をメモリ3の記憶内容を参照して特定する。さらに、記憶装置2は、エラー情報aを変換情報(CONV♯1)で特定される変換方法(エラー情報aをエラー情報Aに変換)に基づいて、エラー情報Aに変換し、エラー情報Aをホスト1に送信する。エラー情報Aは、エラー情報aが生成されるような状況において、ホスト1が行うべき動作に対応しているため、ホスト1は、エラー情報Aの受信により、発生したエラーに応じて適切な動作を実行することができる。
特開2011−233127
しかし、上述した従来例では、ホストの識別子(ホスト固有の識別情報)毎に、対応する変換情報が何かを調べ、記憶装置のメモリなどに対応関係を個別に記憶させておくこととなるため手間がかかる。ホスト識別子に対応する変換情報が未登録であった場合は、記憶装置はエラー情報を適切なエラー情報に変換して送信することができないため、エラー情報を変換せずにそのままホストに送信してしまう。未変換のエラー情報を受信したホストは、記憶装置によって期待されていない動作(発生したエラーに応じた動作として不適切な動作)を行ってしまうといった問題が発生することがある。場合によっては、記憶装置のボリューム(記憶されたデータ)にアクセスできなくなる、ホストのOS(Operating System)にエラーが発生してしまうなどといった事態も起こりかねない。
1つの側面では、エラー情報を適切なエラー情報に変換するための変換設定を簡便に行えるようにすることを目的とする。
1つの案では、記憶装置に、情報処理装置が送信する命令に基づく処理中に異常が発生した場合、前記異常に基づく応答情報を生成し、情報処理装置の属性を示す属性情報に対応する、応答情報と、応答情報が変換されることで生成される変換後応答とが対応付けられた応答変換情報を記憶手段から参照し、参照した応答変換情報に基づいて、生成した応答を、対応する変換後応答に変換し、変換した変換後応答を情報処理装置に送信することを実行させる。
本発明の1つの態様によれば、エラー情報を適切なエラー情報に変換するための変換設定を簡便に行うことができる。
本発明を実施するための実施形態(実施例)を、図面を用いて説明する。
図2は、本実施例の記憶装置100のハードウェア構成の一例を示すブロック図である。図2に示すように、本実施例の記憶装置100は、磁気ディスクドライブ105と、磁気ディスクドライブ105を制御する制御装置101を有する。制御装置101は、CPU(Central Processing Unit)102、メモリ103、磁気ディスクドライブ側アダプタ104、ホスト側アダプタ105を有し、それぞれがバスを介して相互に通信可能に接続されている。
CPU102は、記憶装置100の記憶装置101の制御に必要な演算処理などを実行する。メモリ103は、記憶装置100の制御に必要な情報を記憶する。またメモリ103は、CPU102が実行するプログラムを記憶することも可能である。
制御装置101は、磁気ディスクドライブ側アダプタ104を介して磁気ディスクドライブ105と接続される。制御装置101と磁気ディスクドライブ105との接続には、例えばSCSI(Small Computer System Interface)を用いることが可能である。
磁気ディスクドライブ105は、例えば、ホスト110からの命令に応じてデータを記憶する記憶装置である。本実施例においては、磁気ディスクドライブを使用しているが、磁気ディスクドライブ105に替えて、例えば磁気テープ記憶装置や、半導体記憶装置など、他の種類の記憶装置を用いることもできる。また、例えば、磁気ディスクドライブ105は、単数でなく、複数が制御装置101に接続されていても良い。
制御装置101は、ホスト側アダプタ106を介してホスト110と接続される。制御装置101とホスト側アダプタ106との接続には、例えばiSCSI(Internet SCSI)を用いることが可能である。
ホスト110は、記憶装置100にアクセスする情報処理装置である。ホスト110は例えば、PC(Personal Computer)や、サーバ装置である。簡単のため、図2ではホスト110が1つ接続されている態様を示しているが、ホスト110は、1つの記憶装置100に対して複数接続されていても良い。
図3は、制御装置101の機能を示す機能ブロック図である。制御装置101は、受信部201、設定確認部202、アクセス解析部203、命令処理部204、データ解析部205、エラー(異常)検知部206、エラー情報生成部207、変換部208、送信部209を有する。
また、制御装置101は、ホスト情報記憶部210、ホストレスポンス情報記憶部211、生成したエラー情報をホストが適切に理解できるエラー情報に変換するための変換情報記憶部212、パーティションタイプ情報記憶部213を有する。各記憶部に記憶される情報の詳細については後述する。
202〜208は、例えば、制御装置101のメモリ103に記憶されたプログラムを、CPU102が実行することで実現されても良い。210〜213の各記憶部は、例えばメモリ103や、磁気ディスクドライブ105を用いて実現することが可能である。また、201、209の例として、ホスト側アダプタ106のようなホストとの通信のためのインタフェースユニットを用いることもできる。
〔ホスト属性情報の取得〕
本実施例においては、ホスト110に対して、記憶装置100で生成されたエラー情報を変換するための個別の設定が、記憶装置100においてなされていない場合(ホスト固有の識別子に対応させてエラー情報のための変換情報を記憶していない場合)に、記憶装置101は、命令の発行元のホスト110のOSの種別を特定する情報(ホスト属性情報)を取得する。そして、記憶装置100が既に記憶している変換情報のうち、取得したOSの種別と同じ種別のOSに関する変換情報を当該ホスト110にも適用することで、生成したエラー情報をホスト110が正しく認識・動作可能なエラー情報に変換する。 従って、ホスト110について変換情報が個別に設定されていなくとも、既に記憶済の変換情報を利用して、ホスト110に合わせたエラー情報の変換を行って、ホスト110によるエラーに対する正常な動作を期待することができることとなる。
次に、ホスト属性情報取得処理の手順の例について説明する。図4は、制御装置101において実行される、ホスト110のホスト属性情報を取得する際の取得処理手順を示すフローチャートである。
まず、制御装置101が、ホスト110からの命令を受信部201で受信すると、設定確認部202は、命令に含まれているホスト識別子を取得し、ホスト情報記憶部210を参照して、取得したホスト識別子に対応づけて記憶されたホスト属性情報を得る(S401)。
図5に、ホスト情報の一例であるホスト情報500を示す。ホスト情報500は、ホスト110を識別するホスト識別子と、そのホスト識別子で特定されるホスト110に関する諸々の情報とを含む。諸々の情報の例としては、図5に示すように、例えば、ホスト属性情報502、有効ビット503、カウンタ値504などが挙げられる。ホスト識別子501は、ホスト110を特定するための識別子である。ホスト識別子501としては、例えばWWN(World Wide Name)を用いることが可能である。ホスト属性情報502の詳細については後述する。有効ビット503は、ホスト情報500の情報を、後に説明するホスト属性情報取得処理により更新する必要があるかを判定ために用いられる情報である。有効ビット503は、例えばフラグ情報であり、「on」、「off」(又は「0」、「1」)などの形態の情報であっても良く、「on」により更新の必要がないこと、「off」により更新の必要があることを示すようにしてもよい。
さて、ホスト識別子に対応するホスト情報を参照した後、設定確認部202は、対応するホスト情報の有効ビットを参照し、有効ビットがonであるか否かを判定する(S402)。有効ビットがonである場合、既に有効な設定が登録されているとして制御装置101は、ホスト属性情報取得処理を終了する。
一方、ステップS402で有効ビットがoffの場合、設定確認部202は、識別子に対応するホスト110に対して、ホストレスポンス情報(変換情報)の設定がされているかを判定する(S403)。
ここでホストレスポンス情報について説明する。ホストレスポンス情報とは、ホスト110(複数のホストの場合は、その複数のホストそれぞれ)に対して設定される応答方法を特定するために用いられる。
図6に、ホストレスポンス情報の一例を示す。
図6のホストレンスポンス情報600は、ホスト識別子501と、後述する変換情報とを対応付けた情報であり、例えば、ホストレスポンス情報記憶部211に記憶される。センス変換情報は、エラー発生時にエラー情報生成部207が生成するエラー情報変換する際に、どのようなエラー情報に変換すべきか、変換方法を特定するための情報である。図7は、特定された変換方法が具体的にどのような変換でるかを示す変換情報の一例を示す図である。例えば、図7の変換情報700の1つである、Response #A701には、「エラー情報#1をエラー情報#1Aに変換する」、「エラー情報#2をエラー情報#2Aに変換する」という旨の情報が示されている。このような情報は、ホストレスポンス情報それぞれ(例えば図7のResponse #C、Response #Nなど)について設定される。
図6に戻ると、図6のホストレスポンス情報600では、ホスト識別子=AAAAAAAAと、変換情報=Response #Aが対応付けられている。したがって、図6および図7に示す情報に基づくと、例えば、ホスト識別子=AAAAAAAAで識別されるホスト110からの命令に基づく記憶装置100の処理においてエラーが発生し、センス生成部207がエラー情報#1を生成した場合、変換部208によってエラー情報#1はエラー情報#1Aに変換されることとなる。
図6のようにホスト識別子に変換情報を対応させて記憶させる設定や、図7のように変換情報に対応させて具体的な変換方法を規定する設定は、例えば、記憶装置100を備えたシステムの構築時に、システムの管理者によってからあらかじめ設定されるとしても良い。一方、設定がされない場合には、ホスト識別子に対応付けられるレスポンスが存在しないこととなる(図6では、702のように「デフォルト設定」と示している)。
さて、図4のステップS403の説明に戻ると、設定確認部202は識別子に対応するホスト120のホストレスポンス情報が設定されているかを判定する。例えば、図6の場合では、ホスト識別子=AAAAAAAAのホストに対して、ホストレスポンス=Response #Aが対応付けられている。したがって、設定確認部202は、ホスト識別子=AAAAAAAAのホストに対しては、ホストレスポンスが設定されていると判定する。ホストレスポンスが設定されていると判定した場合、設定確認部202はテーブルの有効ビットをonに更新し(S404)、ホスト属性情報を取得する処理を終了する。
一方、ホスト識別子=BBBBBBBBのホストに対しては、対応付けられたレスポンス情報はなく、デフォルト設定となっている。したがって、設定確認部202は、ホスト識別子=BBBBBBBBのホストに対しては、対応するホストレスポンスが設定されていないと判定する。ホストレスポンスが設定されていないと判定した場合、制御装置101は、ホスト110のホスト属性情報を取得する処理(ホスト属性情報取得処理)を実行する(S405)。
ここで、ステップS405のホスト属性情報取得処理の手順を説明する。図8は、ステップS405のホスト属性情報取得処理の手順を示すフローチャートである。
まず、設定確認部202は、ステップS401で参照したホスト情報のカウンタ値504が、所定の値(閾値)より大きいかを判定する(S801)。カウンタ値504が閾値より大きいと判定した場合、ホスト属性の取得処理の失敗回数が多く、取得に失敗する可能性が高いため、制御装置101は、ホスト属性情報を取得する処理を終了する。なお、このステップを省略し、S802の処理に進むこととしてもよい。
一方、カウンタ値504が閾値より小さい場合、アクセス解析部203は、ホスト110から受信した命令が、磁気ディスクドライブ105が有する記憶領域のLBA(Logical Block Address)#0に対するアクセスかを判定する(S802)。ここでLBA#0とは、ホスト110がアクセスする磁気ディスクドライブ105の記憶領域(ボリューム)の先頭アドレスであり、ホスト110が記憶装置100にパーティションを設定する際に、記憶装置100は、MBR(Master Boot Record)などのOS独自の情報をこのアドレスに記憶させる。
LBA#0へのアクセスでない場合には、アクセス解析部203は、磁気ディスクドライブ105のLBA#0(MBR)に既に記憶されている、ホスト110に対応するパーティションテーブルの情報を読み込み(S804)、ステップ806の処理を実行する。ここで、パーティションテーブルは、ホストがアクセスする記憶領域のフォーマットを示す情報として記憶装置の所定の領域に記憶されたものを用いることができる。その所定の領域に、複数のホスト用にそれぞれ異なるパーティションテーブルが記憶されている場合は、アクセス解析部203は、例えば、複数のパーティションテーブルのうち、受信した命令に基づいてアクセスする対象の記憶領域に対応するパーティションテーブルの情報を読み込むこととすればよい。
一方、ホスト110から受信した命令がLBA#0へのアクセスである場合、アクセス解析部203は、ホスト110から受信した命令がLBA#0の情報を書き換える命令であるかと判定する(S803)。ホスト110から受信した命令がLBA#0の情報を書き換える命令でないと判定した場合、アクセス解析部203は、LBA#0(MBR)に記憶された、ホスト110から受信した命令によってアクセスが発生する記憶領域(パーティション)に対応するパーティションテーブルの情報を読み込み(S804)、データ解析部205がステップS806の処理を実行する。ここでアクセス解析部203が読み込むパーティションテーブルの情報は、前述したLBA#0へのアクセスでない場合と同様であって良い。
一方、ホスト110から受信した命令がLBA#0の情報を書き換える命令である場合は、ホスト110に対応するLBA#0に記憶されている情報は更新されることとなる。したがって、ホスト110から受信した命令がLBA#0の情報を書き換える命令であると判定した場合、アクセス情報解析部203は、(命令による更新後のLBA#0の情報)を受信し(S805)、受信した書き換え命令に含まれるデータに基づいて、データ解析部205がステップS606の処理を実行する。ここで、ステップS805で書き換え命令に含まれるデータを受信した後、命令処理部204が、LBA#0に記憶された情報を、受信した書き換え命令に含まれるデータに基づいて書き換えることとしても良い。
ステップS806では、データ解析部205が、LBA#0の情報をもとに、ホストのOS属性を特定(データ解析)可能か判定する。
ここで、本実施例のデータ解析の手法について説明する。図9は、MBRに記憶される情報の一例を示す図である。図9に示すように、MBR900は、ブートストラップローダ、パーティションテーブル#1〜#4、ブートシグニチャ、といった情報を含む。
ブートストラップローダは、パーティションに記憶されたOSを起動するための制御の情報が記憶されたものである。また、ブートシグニチャとは、MBRの有効性を示すマジックナンバーであり、例えば「0xAA55」などの16進数が記憶される。
パーティションテーブル#1〜#4には、各パーティションの情報が記憶されており、例えば、ブートフラグ(boot flag)、パーティション開始位置、パーティションタイプ識別子、パーティション終了位置、パーティション開始LBA、パーティションの総セクタ数などの情報が含まれる。図9は、一例として、パーティションテーブル#1に記憶される情報901の内容を詳細に示している。これらの情報によって、例えば、パーティションの容量や、パーティションにアクセスするホストのファイルシステムが特定される。ここで、ファイルシステムは、記憶装置を制御するホストのOSが有する機能であるので、ファイルシステムを特定することができれば、ファイルシステムに対応するホストのOS、すなわちホスト属性も特定することができる。
ブートフラグは、パーティションがブート可能かを示すフラグである。パーティション開始位置は、磁気ディスクドライブにおけるパーティションの開始位置のCHS(Cylinder Head Sector)アドレスである。パーティションタイプ識別子は、パーティションがどのOS、あるいはファイルシステムを用いて使用されているかを示す情報である。パーティション終了位置は、磁気ディスクドライブにおけるパーティションの終了位置のCHS(Cylinder Head Sector)アドレスである。開始LBAは、磁気ディスクドライブにおけるパーティションの開始位置のLBAである。総セクタ数は、パーティションの開始位置から終了位置までのセクタの総数である。
これらの情報の中で、本実施例では、例えば、パーティションタイプ識別子の情報を用いて、ホスト属性情報を取得する。パーティションタイプ識別子は、2桁の16進数で表され、そのパーティションを使用するファイルシステムを特定する識別子である。一般的に記憶装置は、図10に示すような、パーティションタイプ識別子からファイルシステムを特定するための情報(以後、パーティションタイプ情報と記載する)を例えばパーティションタイプ情報記憶部213に記憶している。図10に示すように、パーティションタイプ情報1000は、パーティションタイプ識別子「07」に対応するファイルシステムは、「Windows(登録商標) NTFS(NT File System)」であること、パーティションタイプ識別子「82」に対応するファイルシステムは「Linux(登録商標) ext3」であることを示している。
設定確認部202は、ホスト110から受信した命令によってアクセスが発生するパーティションに対応するパーティションテーブルから、パーティションタイプ識別子の情報を取得する。これにより、設定確認部202は、取得したパーティションタイプ識別子から、図9に示すような情報に基づいて、そのパーティションにアクセスするホストのファイルシステムが特定できる。そして、ファイルシステムを特定することができれば、前述したように、ファイルシステムに対応するホストのOS、すなわちホスト属性も特定することができる。
従って、図8のステップS806では、例えば、パーティションタイプ識別子の情報を取得することができたか否かにより、データ解析が可能であるかの判定を行う。
そして、S806でデータ解析が可能と判定した場合、データ解析部205は、特定したパーティションタイプ識別子、又は、図10のパーティションタイプ情報を参照して、その特定したパーティション識別子に対応づけられたファイルシステム情報をホスト110のホスト属性情報(ファイルシステム情報)として取得する。そして、取得した情報に基づいて、ホスト情報記憶部210に記憶されたホスト情報500の、ホスト110に対応するホスト属性情報502を更新する(S807)。ホスト属性情報502を更新した後、データ解析部205は、ホスト情報500の、ホスト110に対応する有効ビット503を「on」に更新し(S808)、ホスト属性情報取得処理を終了する。一方、データ解析が不可能と判定した場合、データ解析部205は、ホスト情報500の、ホスト110に対応するカウンタ値504に1を加算する。この場合、カウンタ値504は、ホスト110のホスト属性情報の取得に失敗した回数を示す情報となる。例えば、ステップS801の処理のように、このカウンタ値504が所定の値(閾値(例えば1以上の自然数のいずれか))より大きい場合、設定確認部202は、ホスト110のホスト属性情報は取得できないと判定し、ホスト属性情報取得処理をスキップするようにしても良い。また、ステップS808において、有効ビットを「on」にすると同時に、カウンタ値504を初期値(例えば「0」など)にリセットすることとしても良い。
以上の処理により、ホストレスポンス情報が設定されていないホスト110に対して、ホスト110のホスト属性情報を取得し、ホスト情報記憶部210に記憶することができる。
〔異常発生時の処理〕
本実施例のシステムにおいて、ホスト110から受信した命令に基づく、記憶装置100での処理実行中に異常が発生した場合について説明する。図11は、記憶装置100での処理実行中に異常が発生した場合に、記憶装置100が実行する処理を表すフローチャートである。
まず、ホスト110からの命令を受信部201で受信すると設定確認部202は、受信した命令に含まれるホスト識別子を取得する(S1001)。
ホスト識別子を取得後、アクセス解析部203が、受信した命令を解析して、命令処理部204が命令に基づく処理を開始する(S1002)。
図11に示すように、命令処理部204は処理開始時に、アクセスするボリュームまたはアドレスに排他処理を実行する(S1003)こととしても良い。これにより、処理実行中に、データへの同時アクセスが発生することで生じるデータ破壊などを防ぐことが可能である。
命令に基づく処理を命令処理204が実行する間、異常検知部206は処理において異常が発生しているかを監視する(S1004〜S1005)。異常が発生することなく処理が終了した場合、送信部209はホスト110に対して応答を送信する(S1007)。
一方、異常検知部206が、命令処理204が実行する処理において異常を検知した場合、ステップS1006の応答処理が実行される。
ここで、ステップS1006のセンス応答処理について詳細に説明する。図12は、ステップS1006の応答処理の詳細な手順を示す。
まず、ステップS1006の際に異常検知部206が検知した異常に基づいて、エラー情報生成部207が、検知した異常に応じたエラー情報を生成する(S1101)。
エラー情報生成後、設定確認部202は、ホストレスポンス情報記憶部211に記憶されたホストレスポンス情報600に、異常を検知した命令に含まれるホスト識別子に対して対応付けられたホストレスポンス情報が記憶されているかを判定する(S1102)。
設定確認部202が、対応するホストレスポンス情報が記憶されていると判定した場合、変換部208は、設定されたホストレスポンスに従ってステップS1101でエラー情報生成部207が生成したエラー情報を、対応するエラー情報に変換する(S1103)。センスをエラー情報に変換した後、変換部208は応答処理を終了する(図10のステップS1007の処理に進む)。
一方、ステップS1102で、設定確認部202が、対応するホストレスポンス情報が記憶されていないと判定した場合、設定確認部202は、ホスト情報記憶部210に記憶されたホスト情報500から、識別子に対応するホスト情報を参照し、ホスト識別子に対応するホスト属性情報が記憶されているかを判定する(S1104)。
設定確認部202が、ホスト属性情報が記憶されていると判定した場合、変換部208は、記憶されているホスト属性情報に応じて、ステップS1101でエラー情報生成部207が生成したエラー情報を、対応するエラー情報に変換する(S1105)。
この変換処理は、例えば、記憶装置100を有するシステムの管理者などによって、ホスト属性情報(例えば、パーティションタイプ情報、ファイルシステム情報)毎に予め変換方法を登録・記憶させておくことで容易に行うことができる。すなわち、変換部208は、ホスト識別子毎に個別に変換情報を登録せずとも、先に説明した方法(図8のS807)により特定したホスト属性情報に対応する変換方法を検索することで、当該ホストに適用すべき変換情報を取得することができる。
また、変換方法が不明なホストが存在していても、変換部208は、そのホストのOS属性情報を図8のS807などで示した方法で特定し、図5に示したホスト情報を参照することで、特定したホスト属性情報と同じホスト属性情報に対応する他のホストのホスト識別子を特定し、当該他のホストのホスト識別子に対応する変換情報を図6のホストレスポンス情報を参照して特定することで、どのような変換方法を適用すればよいか判断することができることとなる。
ステップS1105の処理終了後、変換部208は、応答処理を終了する(図11のステップS1007に進む)。
さて、再び図11に示す処理の説明に戻ると、ステップS1007において、送信部209は、ホストに対しての応答を送信する。例えばこのとき、異常が発生せずに命令に基づく処理が終了した場合は、命令に対する応答、あるいは命令に基づく処理が終了した旨の応答を送信部209がホスト110に送信する。また、図12のステップS1103あるいはステップS1105で、変換部208がエラー情報の変換に成功した場合は、変換後のエラー情報をホスト110に送信する。また、変換部208がエラー情報を変換できなかった場合は、エラー情報生成部207が生成したエラー情報を変換せずにホスト110に送信することもできる。
ホストへの応答を送信部209が送信した後、ステップS1003で命令処理部204が排他処理を実行していたならば排他処理を解除し(S1008)、記憶装置100は、図10に示す一連の処理を終了する。
最後に、図11に示す処理について具体例を挙げて説明する。記憶装置100に対してホスト識別子=AAAAAAAAのホスト(ホスト110aとする)が命令1201を送信し、命令1201に基づく処理の実行中に、記憶装置100のエラー情報生成部207がエラー情報#1を生成したとする。また、記憶装置100に対してホスト識別子=BBBBBBBBのホスト(ホスト110bとする)が命令1202を送信し、命令1202に基づく処理の実行中に、記憶装置100のエラー情報生成部207がエラー情報#2を生成したとする。
ここで、図6のホストレスポンス情報600において、ホスト識別子=AAAAAAAAには、変換情報としてResponse #A701が対応付けられている。さらに、Response #A701には、エラー情報#1をエラー情報#1Aに変換する旨の情報が含まれるので、変換部208は、Response #A701の情報に基づいて、エラー情報#1をエラー情報#1Aに変換する。そして変換部208が変換したエラー情報#1Aを、送信部209がホスト110aに送信する。以上のように、記憶装置100は、ホスト110aからの命令1201の処理において生成したセンス#1を、エラー情報#1Aに変換してホスト110aに送信することができる。
次に、ホスト110bに対する応答について説明すると、エラー情報#2が生成されたものの、ホストレスポンス情報に記憶された図6ホストレスポンス情報600より、ホスト識別子=BBBBBBBBには、変換情報が対応付けられていない。
ここで、設定確認部202は、ホスト情報記憶部210に記憶された図5のホスト情報500から、ホスト識別子=BBBBBBBBに対応付けられたホスト属性情報に一致するホスト属性情報と対応付けられたホスト識別子を検索する。この例では、ホスト識別子=BBBBBBBB、ホスト識別子=CCCCCCCCに対応付けられているホスト属性情報は、ともに「Windows(登録商標) NTFS」であるため、ホスト識別子=CCCCCCCCが検索により発見される。
そして、図6のホストレスポンス情報600において、ホスト識別子=CCCCCCCCには、センス変換情報としてResponse #C703が対応付けられ、Response #C703には、センス#2をエラー情報#2Bに変換する旨の情報が含まれる。
従って、変換部208は、ホスト識別子=CCCCCCCCに対応づけられた変換情報(Response #C703の情報)に基づいて、生成されたエラー情報#2をエラー情報#2Bに変換する。このとき、今後の変換に備えて、設定確認部202が、ホスト識別子=BBBBBBBBとResponse #C703とを対応付けるように、ホストレスポンス情報600を更新し、ホスト情報500の有効ビットを「on」に更新することとしても良い。
そして変換部208が変換したエラー情報#2Bを、送信部209がホスト110bに送信する。以上のように、記憶装置100は、ホスト110bからの命令1202の処理において生成したエラー情報#2を、エラー情報#2Bに変換してホスト110bに送信することができる。
このような処理により、本実施例の記憶装置100は、図13に示すように、ホスト識別子=AAAAAAAAで特定されるホスト110aに対して、エラー情報を変換して送信することができる。さらに、変換情報が対応付けられていないホスト識別子=BBBBBBBBで特定されるホスト110bに対しても、ホスト属性情報に基づいて、既に記憶しているOS種別毎又は他のホストの変換情報を利用してエラー情報の変換を行って送信することができる。
以上の手順により、ホスト110から受信した命令に基づいた処理を実行する。本実施例の手順によれば、処理実行中に異常が発生し、エラー情報生成部207が異常に基づくエラー情報を生成した場合、ホストに応じて変換部208が変換を行い、ホスト110に送信することが可能である。このとき、ホスト110に対応するホストレスポンスが設定されてない場合でも、ホスト110のホスト属性情報を取得することで、例えばホスト110のOSの種別に応じて、変換部208がエラー情報を変換することが可能となる。したがって、ホストレスポンスの設定されていないホストに対して、変換がなされていないエラー情報そのものが送信されることによる、ホストの誤動作やホストの障害の発生を抑制(減少)させることもできる。
本実施例において説明した記憶装置100を有するシステムや、各処理の手順は、本発明を実施する態様の一例であり、本発明の思想を逸脱しない範囲で適宜変更することが可能である。
例えば、本実施例においては、OSの情報をMBRから取得したが、MBRの代わりにGPT(GUID Partition Table)を有する場合は、GPTに含まれる情報を参照してホスト属性情報を取得することとしても良い。
また本実施例では、制御装置101と、磁気ディスクドライブ105とを有する記憶装置100の態様について記載したが、本発明を実現する態様は、例えば、本実施例における制御装置の機能を有する磁気ディスクドライブで実現されるとしても良い。
従来技術を説明する図を示す。 記憶装置100のブロック図を示す。 制御装置101の機能ブロック図を示す。 フローチャートを示す。 〜〜500を示す。 本実施例のホストレスポンス情報600を示す。 本実施例のホストレスポンス情報600を示す。 ホスト属性情報取得処理の手順を示すフローチャートを示す。 MBRに記憶される情報の一例を示す。 ファイルシステムを特定するための情報の一例を示す。 ホスト110からの命令に基づいて記憶装置110が実行する処理の手順を表すフローチャートを示す。 応答処理の手順を示すフローチャートを示す。 応答処理の具体例を説明する図を示す。
2、100 記憶装置
101 制御装置
102 CPU
3、103 メモリ
104 磁気ディスクドライブ側アダプタ
105 磁気ディスクドライブ
106 ホスト側アダプタ
1、110、110a、110b ホスト
201 受信部
202 設定確認部
203 アクセス解析部
204 命令処理部
205 データ解析部
206 エラー検知部
207 エラー情報生成部
208 変換部
209 送信部
210 ホスト情報記憶部
211 ホストレスポンス情報記憶部
212 変換情報記憶部
213 パーティションタイプ情報記憶部

Claims (7)

  1. 記憶装置に、
    情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合、前記異常に対応するエラー情報を生成し、
    記憶手段に記憶された属性情報と変換情報との対応関係を示す情報を参照して、前記情報処理装置の属性を示す属性情報に対応する変換情報を取得し、
    取得した前記変換情報に基づいて、生成した前記エラー情報を変換し、
    変換後のエラー情報を前記情報処理装置に送信する、
    処理を実行させることを特徴とする制御プログラム。
  2. 前記情報処理装置の属性を示す属性情報は、前記記憶装置の記憶領域のうち、前記情報処理装置がアクセスする記憶領域に記憶されたパーティションタイプに基づいて特定される属性情報であることを特徴とする請求項1記載の制御プログラム。
  3. 前記制御プログラムはさらに、
    前記記憶装置に、
    属性情報が取得できなかった情報処理装置を識別する識別情報に対応するカウンタ値を更新し、
    カウンタ値が所定の値を超える場合に、該属性情報が取得できなかった情報処理装置についての更なる属性情報の取得の試行処理を抑止する、
    ことを実行させることを特徴とする請求項1または2記載の制御プログラム。
  4. 情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合、前記異常に対応するエラー情報を生成し、
    記憶手段に記憶された属性情報と変換情報との対応関係を示す情報を参照して、前記情報処理装置の属性を示す属性情報に対応する変換情報を取得し、
    取得した前記変換情報に基づいて、生成した前記エラー情報を変換し、
    変換後のエラー情報を前記情報処理装置に送信する、
    ことを特徴とする記憶装置における制御方法。

  5. 情報処理装置の属性情報と該情報処理装置に適合するエラー情報の変換方法を示す変換情報との対応関係を記憶する記憶手段と、
    いずれかの情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合に、前記異常に対応するエラー情報を生成するエラー情報生成手段と、
    前記命令を送信した情報処理装置の前記記憶装置におけるアクセス先の領域のフォーマットを示すデータを格納する領域に記憶されたデータ、又は、該フォーマットを示すデータを格納する領域に書き込まれるデータを解析して、前記命令を送信した情報処理装置の属性を示す属性情報を特定する解析手段と、
    記憶手段に記憶された前記対応関係を参照して、前記命令を送信した情報処理装置の属性を示す属性情報に対応する変換情報を取得して、取得した該変換情報を用いて、生成した前記エラー情報を変換する変換手段と、
    変換後のエラー情報を、前記命令を送信した情報処理装置に送信する送信手段と、
    を備えたことを特徴とする記憶装置。
  6. 前記命令を送信した情報処理装置の属性を示す属性情報は、前記所定の領域に記憶されたデータ、又は、該所定の領域に書き込まれるデータに含まれるパーティションタイプに基づいて特定される、
    ことを特徴とする請求項5記載の記憶装置。
  7. 第1の情報処理装置の識別情報に対応させて該第1の情報処理装置に適合するエラー情報の変換方法を示す変換情報を記憶する記憶手段と、
    第2の情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合、前記異常に対応するエラー情報を生成するエラー情報生成手段と、
    前記第1の情報処理装置の前記記憶装置におけるアクセス先の領域のフォーマットを示すデータを格納する領域に記憶されたデータ、又は、該フォーマットを示すデータを格納する領域に書き込まれるデータを解析して、前記命令を送信した情報処理装置の属性を示す属性情報を特定するとともに、前記第2の情報処理装置の前記記憶装置におけるアクセス先の領域のフォーマットを示すデータを格納する領域に記憶されたデータ、又は、該フォーマットを示すデータを格納する領域に書き込まれるデータを解析して、前記命令を送信した情報処理装置の属性を示す属性情報を特定する解析手段と、
    前記解析手段による解析結果が、前記第1の情報処理装置の属性情報と前記第2の情報処理装置の属性情報とが一致することを示す場合に、前記記憶手段に記憶された前記第1の情報処理装置に適合するエラー情報の変換方法を示す変換情報を、前記第2の情報処理装置に関するエラー情報の変換の際に用いる変換手段と、
    変換後のエラー情報を、前記第2の情報処理装置に送信する送信手段と、
    を備えたことを特徴とする記憶装置。
JP2012072561A 2012-03-27 2012-03-27 制御プログラム、制御方法および記憶装置 Pending JP2013206001A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012072561A JP2013206001A (ja) 2012-03-27 2012-03-27 制御プログラム、制御方法および記憶装置
US13/849,712 US20130262940A1 (en) 2012-03-27 2013-03-25 Computer-readable non-transitory medium, control method, and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012072561A JP2013206001A (ja) 2012-03-27 2012-03-27 制御プログラム、制御方法および記憶装置

Publications (1)

Publication Number Publication Date
JP2013206001A true JP2013206001A (ja) 2013-10-07

Family

ID=49236742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012072561A Pending JP2013206001A (ja) 2012-03-27 2012-03-27 制御プログラム、制御方法および記憶装置

Country Status (2)

Country Link
US (1) US20130262940A1 (ja)
JP (1) JP2013206001A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI722447B (zh) * 2019-06-03 2021-03-21 瑞昱半導體股份有限公司 傳輸介面的錯誤處理方法以及相關的錯誤處理架構
CN112488181B (zh) * 2020-11-26 2022-10-18 哈尔滨工程大学 一种基于MIDS-Tree的服务故障高响应匹配方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859896B2 (en) * 2002-04-02 2005-02-22 International Business Machines Corporation Adapter and method for handling errors in a data storage device converted to be accessible to multiple hosts
US7844866B2 (en) * 2007-10-02 2010-11-30 International Business Machines Corporation Mechanism to report operating system events on an intelligent platform management interface compliant server
JP4544315B2 (ja) * 2008-02-29 2010-09-15 富士ゼロックス株式会社 紙文書処理装置及びプログラム
JP5532987B2 (ja) * 2010-02-05 2014-06-25 富士通株式会社 スイッチ装置、スイッチ制御方法、及びストレージシステム

Also Published As

Publication number Publication date
US20130262940A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
CN106681751B (zh) 统一固件管理系统和管理方法以及计算机可读取介质
JP5666421B2 (ja) データセンターファイルシステムの方法及び装置
US10656877B2 (en) Virtual storage controller
US9489274B2 (en) System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI)
US8086896B2 (en) Dynamically tracking virtual logical storage units
US8560686B2 (en) Communicating with an in-band management application through an out-of-band communications channel
US7788537B1 (en) Techniques for collecting critical information from a memory dump
JP4802527B2 (ja) 計算機システム
JP4448878B2 (ja) 障害回復環境の設定方法
JP2007334878A (ja) データを長期間アーカイブするシステムと方法
TW200925878A (en) System and method for management of an IOV adapter through a virtual intermediary in an IOV management partition
JP4903244B2 (ja) 計算機システム及び障害復旧方法
JP6861886B2 (ja) カスタマイズされたオペレーティングシステム変換のためのシステムおよび方法
KR20170040734A (ko) 업데이트 제어 방법을 갖는 전자 시스템 및 그것의 동작 방법
WO2017097176A1 (zh) 一种操作系统启动的方法、装置及系统
US9870162B2 (en) Method to virtualize PCIe controllers to support boot/hibernation/crash-dump from a spanned virtual disk
US20130024726A1 (en) System and method for removable network attached storage enabling system recovery from backup
US9304779B2 (en) Optimizing boot time of a storage system
TWI553490B (zh) 遠端系統配置管理方法、遠端系統配置管理系統及非暫態電腦可讀式儲存多媒體
EP2639698B1 (en) Backup control program, backup control method, and information processing device
JP2013206001A (ja) 制御プログラム、制御方法および記憶装置
JPWO2004081791A1 (ja) 仮想計算機システム、仮想計算機システムにおけるファームウェアアップデート方法
JP2014191399A (ja) 情報処理システム、記憶装置、およびバックアップ方法
US20140164830A1 (en) Using a virtual boot device to access a system recovery image
KR102618879B1 (ko) 악성코드 분석 시스템 및 시스템의 동작 방법