JPWO2012137323A1 - 情報処理装置及び疑似障害発生方法 - Google Patents

情報処理装置及び疑似障害発生方法 Download PDF

Info

Publication number
JPWO2012137323A1
JPWO2012137323A1 JP2013508679A JP2013508679A JPWO2012137323A1 JP WO2012137323 A1 JPWO2012137323 A1 JP WO2012137323A1 JP 2013508679 A JP2013508679 A JP 2013508679A JP 2013508679 A JP2013508679 A JP 2013508679A JP WO2012137323 A1 JPWO2012137323 A1 JP WO2012137323A1
Authority
JP
Japan
Prior art keywords
failure
error
pseudo
information
unit
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
JP2013508679A
Other languages
English (en)
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
Publication of JPWO2012137323A1 publication Critical patent/JPWO2012137323A1/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

処理部(2)からの取得要求に応じて対象装置(5)からデータを取得する制御を行なう制御部(3)は、擬似的に障害を発生させる疑似障害モードが有効となっている場合に、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置(5)から取得されたデータに対して設定するエラー設定部(34)と、前記疑似障害モードが有効となっている場合に、前記データからエラーを検出すると、当該エラーに対応した障害種別についての障害応答を、前記処理部(2)に通知するエラー処理部(35)とを備える。

Description

本件は、情報処理装置及び疑似障害発生方法に関する。
サーバやPC(Personal Computer)等の情報処理装置で用いられるIO(Input Output)装置等のハードウェアに障害が発生した場合、この障害の発生をトリガとして、システムのハングアップ等の様々なトラブルが発生することがある。
情報処理装置において上記のようなトラブルが発生した場合には、発生したトラブルの検証により、障害原因の特定及びその対処が行なわれる。
発生したトラブルの検証は、原因として想定される障害をハードウェアにおいて再現した、再現テストにより行なわれることがある。この再現テストは、例えば、プロセッサ等のホストに接続されたIO装置等のハードウェアにおいて疑似的に障害(疑似障害)を発生させることによって行なわれる。
なお、再現テストは、例えばクライアント環境でトラブルが発生した場合等、トラブルが発生した実際の環境を用いることが難しい場合や、実際には障害の発生していないハードウェアを用いてトラブルの検証を行ないたい場合等に行なわれることがある。
また、IO装置等のハードウェアで発生した障害に対する、デバイスドライバのリカバリ動作の確認等を行なう場合にも、再現テストと同様に、ホストに接続されたIO装置で疑似障害を発生させてトラブルの検証が行なわれる場合がある。
上述の如き再現テストやリカバリ動作の確認等のテストを行なうために、HDD(Hard Disk Drive)等のIO装置等で疑似障害を発生させる技術としては、例えば以下の(i)又は(ii)に示すような手法が挙げられる。
(i)IO装置のファームウェアで特殊な条件を認識した場合に、疑似障害を発生させる手法がある。なお、特殊な条件としては、例えばIO装置のファームウェアが疑似障害用の設定に変更されたことや、IO装置がSCSI(Small Computer System Interface)に対応する場合は、モードセレクト(Mode Select)コマンドによって障害動作モードに移行されたこと、等が挙げられる。
(ii)また、IO装置等から転送されるデータのうちのデータ部(メインデータ)に対して特殊なパターンを付加しておき、このパターンに対応して予め決められた疑似障害を解釈させて、その疑似障害を発生させる手法がある。
特開2000−48478号公報 特開平9−204317号公報
しかしながら、上記(i)又は(ii)に示す手法により、IO装置等で疑似障害を発生させる場合、それぞれ以下に示すような問題がある。
上記(i)に示す手法では、疑似障害を発生させるための特殊なIO装置のファームウェアが用いられており、通常の運用(実運用)に用いられるファームウェアでは疑似障害の状態を実現することが困難であるという問題がある。
また、疑似障害を発生させる際には、実運用に用いられるファームウェアから疑似障害発生用のIO装置のファームウェアに入れ替える処理が行なわれるため、テストが実行されるまでに時間がかかるという問題がある。
さらに、発生させる疑似障害の種別を設定して、一律に同じ障害を発生させることはできるが、複数の障害を複合したテストを行なうことは難しい。
上記(ii)に示す手法では、データ部に疑似障害を発生させるための特殊なパターンを付加するために、実運用に用いられる実運用データを加工する処理が行なわれることから、実運用データをそのまま使用して疑似障害を発生させることが困難であるという問題がある。
また、データ部に付加されたパターンに対応する疑似障害を解釈させる機能を用意することになるが、解釈する処理によってオーバーヘッドが発生するため、テストの実行に時間がかかるという問題がある。
上述の点に鑑み、本件の目的の1つは、実運用の情報処理装置を用いたテストにおいて、疑似障害を発生させる際に実運用に与える影響を低減することである。
また、本件の他の目的の1つは、実運用の情報処理装置を用いたテストの精度の向上を図ることである。
さらに、本件の他の目的の1つは、実運用の情報処理装置を用いたテストを容易に実現することである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
本件の情報処理装置は、処理部と、前記処理部からの取得要求に応じて対象装置からデータを取得する制御を行なう制御部とを備えた情報処理装置であって、前記制御部は、擬似的に障害を発生させる疑似障害モードが有効となっている場合に、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置から取得されたデータに対して設定するエラー設定部と、前記疑似障害モードが有効となっている場合に、前記データからエラーを検出すると、当該エラーに対応した障害種別についての障害応答を、前記処理部に通知するエラー処理部とを備えるものである。
また、本件の疑似障害発生方法は、処理部と、前記処理部からの取得要求に応じて対象装置からデータを取得する制御を行なう制御部とを備えた情報処理装置における疑似障害発生方法であって、前記制御部において、擬似的に障害を発生させる疑似障害モードが有効となっている場合に、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置から取得されたデータに対して設定して、前記疑似障害モードが有効となっている場合に、前記データからエラーを検出すると、当該エラーに対応した障害種別についての障害応答を、前記処理部に通知するものである。
開示の技術によれば、実運用の情報処理装置を用いたテストにおいて、疑似障害を発生させる際に実運用に与える影響を低減することができる。また、実運用の情報処理装置を用いたテストの精度の向上を図ることができる。さらに、実運用の情報処理装置を用いたテストを容易に実現することができる。
一実施形態に係る情報処理装置の構成例を示す図である。 本実施形態の制御部による疑似障害の設定手順例を説明するフローチャートである。 本実施形態の制御部による疑似障害の発生手順例を説明するフローチャートである。 本実施形態に係る制御部の詳細な構成例を示す図である。 本実施形態の制御部において用いられる障害種別情報の一例を説明する図である。 本実施形態の制御部において用いられる障害設定情報の一例を説明する図である。 本実施形態のエラー検出部によるエラービット位置の検出処理の一例を説明する図である。(a)は、エラー検出部において処理されるデータの一例を示す図であり、(b)は、エラー検出部による、エラー設定データに対するECCデータチェックの結果を示す図である。 本実施形態の制御部による疑似障害の詳細な設定動作例を説明する図である。 本実施形態の制御部による疑似障害の詳細な発生動作例を説明する図である。 本実施形態の制御部による疑似障害の詳細な発生手順例を説明するフローチャートである。
以下、図面を参照して実施の形態を説明する。
〔1〕一実施形態
〔1−1〕全体の構成例
図1は、一実施形態に係る情報処理装置1の構成例を示す図である。
図1に例示するように、情報処理装置1は、処理部2、制御部3、記憶部4、及び対象装置5を備える。
処理部2は、種々の制御や演算を行なう処理装置であり、対象装置5としての記憶装置や図示しないROM(Read Only Memory)等に格納されたプログラムを実行することにより、種々の機能を実現する。処理部2としては、例えば、少なくとも1つのCPU(Central Processing Unit)又はMPU(Micro Processing Unit)等のプロセッサが挙げられる。
記憶部(メモリ)4は、種々のデータやプログラムを一時的に格納する記憶領域であって、処理部2がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、記憶部4としては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。
対象装置5は、例えばHDD等の磁気ディスク装置やSSD(Solid State Drive)等の半導体ディスク装置、光ディスクやフラッシュメモリ等に記録されたデータを読み取る光学ドライブ装置やカードリーダ等、又はテープドライブ等の各種IO装置であり、種々のデータやプログラム等を格納するハードウェアである。対象装置5は、制御部3に接続され、制御部3による制御を受けて、格納しているデータやプログラム等を出力する。
以下、対象装置5を、IO装置5ともいう。
制御部3は、処理部2及び対象装置5に接続され、ホストとしての処理部2からの要求に応じて対象装置5に対する制御を行なうものであり、例えば、処理部2からの取得要求に応じてIO装置5からデータを取得する制御を行なう。制御部3としては、例えばIOコントローラが挙げられる。
具体的には、制御部3は、例えば処理部2からIO装置5に対するデータの取得要求を受けると、当該取得要求に応じたデータをIO装置5から取得し(読み込み)、取得したデータを処理部2に対して出力する。このとき、制御部3は、取得要求に応じてIO装置5から取得されたデータ(以下、元データともいう)に対するエラーチェックを行ない、エラーが検出され、当該エラーを訂正可能な場合には、このエラーの訂正処理を行なう。
また、本実施形態における制御部3は、処理部2からIO装置5に対する取得要求等に応じて、当該ハードウェアの疑似障害を発生させ、発生させた疑似障害を、取得要求等への応答として、処理部2に通知する機能を備える。
このために、本実施形態における制御部3は、エラー設定部34及びエラー処理部35を備える。
エラー設定部34は、疑似的に障害を発生させる疑似障害モードが有効となっている場合に、発生させる疑似障害の障害種別に応じたエラーを、処理部2からの取得要求に応じてIO装置5から取得されたデータに対して設定する。
ここで、疑似障害モードは、実運用に用いられるファームウェアを用いたまま疑似的に障害を発生させる、制御部3の動作モードの一つであり、情報処理装置1の管理等を行なう図示しないサービスプロセッサ等の外部ホストにより、疑似障害モードの有効/無効が設定される。
また、障害種別は、制御部3において疑似障害として発生させる少なくとも1つの障害を示す情報であり、障害種別に応じたエラーは、データに対する後述するエラーチェックによってエラーが検出されるように、取得要求に応じて取得されたデータに対して設定されるものである。なお、障害種別及び障害種別に応じたエラーの詳細な説明は、後述する。
エラー処理部35は、疑似障害モードが有効となっている場合に、データからエラーを検出すると、当該エラーに対応した障害種別についての障害応答を、処理部2に通知する。この障害応答は、エラー設定部34によって設定された疑似エラーに対する障害応答であり、疑似的にIO装置5に障害が発生したものとして処理部2へ通知される応答となる。
具体的には、エラー処理部35は、上述の如き情報処理装置1の通常の運用(実運用)と同様に、元データに対してエラー設定部34によりエラーが設定されたデータ(以下、エラー設定データともいう)に対するエラーチェックを行なう。
エラー処理部35は、エラー設定部34によって設定されたエラーが、エラー設定データに対するエラーチェックにより検出された場合、当該エラーに関する情報を制御部3から入力される。
そして、エラー処理部35は、入力されたエラーに対応した障害種別についての障害応答を作成し、作成した障害情報を処理部2に通知する。
つまり、エラー処理部35は、疑似障害モードが有効となっている場合に、エラーチェックにより、エラー設定部34が意図的に訂正可能なエラー(例えば1ビットエラー)を設定したエラー設定データについてエラーが検出された場合には、エラー訂正を行なうことなく、検出したエラーに対応した障害種別についての障害応答を処理部2に通知する。
処理部2は、エラー処理部35から、制御部3に出力した取得要求に対する応答として障害応答を入力されると、当該障害応答に基づいて、上述した再現テストやデバイスドライバのエラーリカバリ動作確認等のテストを行なうことができる。
〔1−2〕制御部の動作例
次に、上述の如く構成された本実施形態の一例としての情報処理装置1における制御部3の動作例を、図2及び図3を参照しながら説明する。
図2は、本実施形態の制御部3による疑似障害の設定手順の例を説明するフローチャートであり、図3は、制御部3による疑似障害の発生手順の例を説明するフローチャートである。
はじめに、図2に示すように、制御部3により、障害種別に応じたエラー、つまり発生させる疑似障害に対応したエラーが選択される(ステップS1)。
次いで、エラー設定部34により、選択したエラーが、取得要求に応じて対象装置5から取得されたデータに対して設定される(ステップS2)。つまり、エラー設定部34により、エラーが元データに対して埋め込まれる。
そして、図3に示すように、制御部3において、処理部3からの取得要求に応じて対象装置5から取得されたデータ(元データ)、又はエラーが設定されたエラー設定データに対してエラーチェックが行なわれ(ステップS3)、エラー検出の有無が判断される(ステップS4)。
エラーが検出された場合(ステップS4のYesルート)、エラー処理部35により、当該データに設定されたエラーに対応した障害種別について、障害応答が作成され、当該応答が処理部2に通知される(ステップS5)。そして、制御部3による疑似障害の設定及び発生処理が終了する。
一方、エラーが検出されなかった場合(ステップS4のNoルート)、制御部3により、元データが処理部2に対して転送され(ステップS6)、処理が終了する。すなわち、制御部3によるエラーチェックによりエラーが検出されなかった場合には、通常の運用に沿って、制御部3により、処理部2からの取得要求に応じて対象装置5から取得されたデータが、処理部2に対して転送される。なお、ステップ4でエラーが検出された場合であっても、制御部3が疑似障害の発生動作中、つまり疑似障害モードが有効でなければ、エラー処理部35により検出されたエラーが訂正され、エラー訂正されたデータがステップS6において処理部2に転送されても良い。
このように、本実施形態の一例としての制御部3によれば、疑似障害モードが有効となっている場合に、エラー設定部34によって設定されたエラーが、データに対するエラーチェックにより検出された場合、エラー処理部35により、当該エラーに対応した障害種別についての障害応答が処理部2に通知される。
すなわち、制御部3は、元データに対して、発生させる障害種別に応じたエラーを設定するエラー設定部34を備えることで、制御部3が備えるエラーチェック機能を用いて、元データに設定されたエラーを検出することができる。また、制御部3は、疑似障害モードが有効となっている場合に、検出されたエラーに対応した障害種別についての障害応答を、処理部2に通知するエラー処理部35を備えることで、IO装置5に障害が発生したことを示す障害応答を疑似的に発生することができる。
このように、制御部3が備えるエラーチェック機能を疑似障害の発生に用いることができるため、エラー設定部34及びエラー処理部35を備えるだけで、疑似障害を発生させるための手順を少なくすることができ、実運用の情報処理装置1を用いたテストを容易に実現することができる。つまり、実運用に用いられる情報処理装置1を利用して、疑似障害の発生を伴うテストを容易に実現することができる。
また、制御部3は、取得要求に応じて、IO装置5から実運用に用いられるデータを取得する。従って、制御部3によるデータに対するエラーチェックによってエラーが検出されない場合や、制御部3により疑似障害発生の動作が行なわれていない状況、つまり疑似障害モードが無効となっている場合にエラーが検出された場合には、制御部3は、実運用に沿った処理を行なうことができる。すなわち、エラーチェックによってエラーが検出されない場合には、制御部3は、実運用に沿って、取得した元データを処理部2に出力することができる。また、エラー設定部34によって設定されたエラー以外のエラーが検出された場合には、制御部3は、通常の運用に沿って、エラーが発生した旨を処理部2に通知するか、制御部3がエラー訂正機能を備えていれば、当該エラーが訂正されたデータを処理部2に出力することができる。さらに、制御部3では、実運用に用いられるファームウェアを用いた状態で、疑似障害モードの有効/無効を切り替えるだけで、処理部2に対する疑似障害の通知を実現することができる。
従って、実運用の情報処理装置1を用いたテストにおいて、疑似障害を発生させる際に実運用に与える影響を低減することができるとともに、通常の運用データを用いることができるため、当該テストの精度の向上を図ることができる。
〔1−3〕制御部の詳細な構成例
次に、本実施形態の制御部3の詳細な構成例について説明する。
図4は、本実施形態に係る制御部3の詳細な構成例を示す図であり、図5は、本実施形態の制御部3において用いられる障害種別情報の一例を、図6は、障害設定情報の一例を、それぞれ説明する図である。
この図4に例示するように、情報処理装置1は、外部ホスト6を備える。
また、制御部3は、図1に示したエラー設定部34及びエラー処理部35に加えて、疑似障害設定部31、保持部32、及びデータ読込部33を備えることができる。
外部ホスト(設定部)6は、制御部3に対して、上述した疑似障害モードの有効/無効を設定させるものであり、疑似障害モードを有効に設定させる疑似障害モード要求、及び疑似障害モードを無効に設定させる疑似障害モード終了要求を発行する。
また、外部ホスト6は、制御部3に対して、後述するエラー情報を生成するための条件に関する障害設定情報を出力する。
外部ホスト6としては、情報処理装置1の管理等を行なうサービスプロセッサ等が挙げられる。
保持部32は、疑似障害設定処理部31においてエラー情報を生成するための条件に関する障害設定情報を保持するものであり、例えばRAM等の揮発性メモリが挙げられる。
保持部32は、外部ホスト6から疑似障害設定部31を経由して入力された障害設定情報を、図6に例示するようなテーブル(障害設定テーブルT2)形式で格納し、保持する。
この障害設定情報は、障害発生回数及び障害発生アドレス情報のうちの少なくとも1つを含み、これら障害発生回数又は/及び障害発生アドレス情報は、発生させる障害種別それぞれに対応付けられる。
障害設定情報及びエラー情報の詳細な説明については、後述する。
疑似障害設定部31は、外部ホスト6から疑似障害モード要求を入力されると、疑似障害を発生させるための設定処理を行なう。また、疑似障害設定部31は、処理部2から取得要求を入力されると、設定処理によって設定された情報に基づいて、発生させる障害種別に応じたエラー情報を生成し、エラー設定部34に出力する。
この疑似障害設定部31は、疑似障害設定処理部31a、疑似障害モード設定部31b、及びエラー情報生成部31cを備える。
疑似障害設定処理部31aは、外部ホスト6から障害設定情報を含む疑似障害モード要求を入力されると、入力された障害設定情報を保持部32に設定するとともに、疑似障害モード設定部31bに対して、疑似障害モードを有効化させる処理を行なう。
疑似障害モード設定部31bは、制御部3の動作モードである疑似障害モードの有効/無効を管理するものであり、疑似障害モード設定部31bとしては、例えばレジスタが挙げられる。
なお、上述の如く、疑似障害モードは、実運用に用いられるファームウェアを用いたまま疑似的に障害を発生させる、制御部3の動作モードの一つである。つまり、疑似障害モードは、制御部3により、実運用における処理部2からの取得要求に係る処理は継続したまま、データに対する所定のエラー設定・検出処理を行なうことで、処理部2に通知する疑似障害の障害応答を生成するものである。
なお、疑似動作モードの有効/無効の設定は、処理部2が搭載されているボード上のDIP(Dual In-line Package)スイッチ等の切り替えによって行なわれても良い。
疑似障害設定処理部31aは、外部ホスト6からの疑似障害モード要求に応じて、この疑似障害モード設定部31bに対して、例えばオンを示すフラグ“1”を設定する。これにより、疑似障害モード設定部31bは、疑似障害モードを有効化する。
また、疑似障害設定処理部31aは、例えば疑似的に発生させる障害種別に応じたエラー情報の生成回数が、それぞれ、障害設定情報に設定された対応する障害発生回数に達した場合、及び外部ホスト6から疑似障害モード終了要求を入力された場合、の少なくとも一方の場合に、疑似障害モードを無効化する。つまり、疑似障害設定処理部31aは、疑似障害モードの終了として、疑似障害モード設定部31bに対して、例えばオフを示すフラグ“0”を設定する。これにより、疑似障害モード設定部31bは、疑似障害モードを無効化する。
さらに、疑似障害設定処理部31aは、データ読込部33から、処理部2により発行された取得要求に係るデータの取得対象のアドレス、つまりIO装置5のアドレスを入力されると、疑似障害モード設定部31bを参照し、疑似障害モードがオンであるか否かを確認する。
疑似障害モードがオフである場合、疑似障害設定処理部31aは処理を終了する。そして、制御部3は、実運用に沿って、処理部2からの取得要求に応じてIO装置5からデータを取得する制御等、制御部3の実運用を行なう動作モードである通常動作モードとしての処理を行なう。
一方、疑似障害モードがオンである場合、疑似障害設定処理部31aは、疑似障害モードに移行し、データ読込部33から入力されたIO装置5のアドレスに基づいて、保持部32が保持する障害設定情報から、発生させる障害種別を選択する。
なお、疑似障害設定処理部31aによる障害種別の選択手法については、後述する。
また、疑似障害設定処理部31aは、例えば図5に示す障害種別情報に基づいて、選択した障害種別に応じたエラー情報をエラー情報生成部31cに設定する。
エラー情報生成部31cは、疑似障害設定処理部31aによりエラー情報を設定され、当該エラー情報を一時的に保持するものである。また、エラー情報生成部31cは、保持するエラー情報をエラー設定部34に対して出力する。エラー情報生成部31cとしては、例えばレジスタが挙げられる。
次に、障害種別情報について説明する。
障害種別情報は、疑似障害として発生させる障害の種別である少なくとも1つの障害種別と、この障害種別それぞれに対応付けられたエラービット位置とを含む。
発生させる疑似障害の障害種別としては、処理部2に応答を通知することができない障害として、図5に例示するように、例えば制御部3からIO装置5への要求等に対して、IO装置5において応答タイムアウトが発生したことを示す“応答タイムアウト”がある。また、他の障害種別としては、IO装置5が光学ドライブ装置やカードリーダ等である場合、読み取り対象の光ディスクやフラッシュメモリ等の媒体にエラーが生じたことを示す“媒体エラー”、IO装置5において何らかのハードウェア障害が発生したことを示す“ハードウェアエラー”がある。他にも、障害種別としては、IO装置5における、制御部3とのインタフェースにおいてエラーが生じたことを示す“インタフェースエラー”等がある。
なお、障害種別は、図5に例示したものに限定されず、IO装置5から取得したデータについてデータ化けが生じたことを示す“データ化け”や、例えばハードウェアエラー等を更に細分化した種別が定義されても良い。
また、図5に示すように、IO装置5において障害が発生しておらず、制御部3からの要求に対して正常に応答が返されたことを示す“正常応答”が、障害種別として定義されても良い。
エラービット位置は、後述するデータのエラーチェックによって検出されるエラービットの位置であり、障害種別のそれぞれに対応付けられる。また、エラー情報は、障害種別に応じたエラーのエラービット位置を示すエラーパターン(エラービット形式)であり、例えば、エラービット位置の値だけ他のビットの値と異なる、元データに対応したビット数のパターンである。
すなわち、疑似障害設定処理部31aは、上述の如き障害種別情報に基づいて、疑似障害として発生させる障害種別に対応付けられたエラービット位置を取得する。そして、疑似障害設定処理部31aは、エラー情報生成部31cに対して、取得したエラービット位置に応じたビットを反転させることにより、当該エラービット位置を示すエラーパターン、つまりエラー情報を生成する。
例えばエラー情報生成部31cがレジスタである場合、初期状態として当該レジスタの全てのビットに“0”が設定されるものとする。この状態において、疑似障害設定処理部31aは、取得したエラービット位置に対応したレジスタのビットに“1”を設定する。このように、疑似障害設定処理部31aにより、エラー情報生成部31cに対して、エラービット位置に対応するビットに“1”が設定されることにより、エラーパターンの生成が行なわれる。
具体例を挙げると、図5に例示するように、疑似障害設定処理部31aは、障害種別として“応答タイムアウト”を選択した場合、障害種別情報に基づいて、障害種別に応じたエラービット位置としてビット“1”を取得する。この場合、疑似障害設定処理部31aによりエラー情報生成部31cのビット“1”に対して“1”が設定され、それ以外のビット、すなわちビット“0”、ビット“2”〜“IO装置5から取得される元データの最大ビット”は、全て初期値である“0”となる。これにより、ビット“1”の値だけ“1”であるエラーパターンが生成される。以下、エラーが設定される元データの最大ビットを、ビットn(nは1以上の整数)とする。
同様に、疑似障害設定処理部31aにより、障害種別として“媒体エラー”が選択された場合、エラービット位置はビット“2”となり、ビット“2”の値だけ“1”であるエラーパターンが生成される。また、疑似障害設定処理部31aにより、障害種別として“ハードウェアエラー”が選択された場合、エラービット位置はビット“3”となり、ビット“3”の値だけ“1”であるエラーパターンが生成される。さらに、疑似障害設定処理部31aにより、障害種別として“インタフェースエラー”が選択された場合、エラービット位置はビット“4”となり、ビット“4”の値だけ“1”であるエラーパターンが生成される。
また、障害種別として“正常応答”が定義されており、疑似障害設定処理部31aにより、障害種別として“正常応答”が選択された場合、エラービット位置はビット“0”となり、ビット“0”の値だけ“1”であるエラーパターンが生成される。
なお、上述した障害種別情報は、外部ホスト6によって、例えばテーブル(障害種別テーブルT1)形式で、制御部3のファームウェア等に予め設定されても良い。又は、制御部3がRAM等の揮発性メモリやフラッシュメモリ等の読み書き可能な不揮発性メモリを備える場合には、これらRAMやフラッシュメモリ等に格納され、外部ホスト6や制御部3のファームウェアにより変更可能であっても良い。また、この障害種別情報は、外部ホスト6によって疑似障害設定部31に出力され、疑似障害設定処理部31aにより保持部32に格納されても良い。
データ読込部33は、処理部2からの取得要求に応じてIO装置5からデータを取得し、取得したデータをエラー設定部34に対して出力するものであり、データ読込処理部33a及びバッファ33bを備える。
データ読込処理部33aは、処理部2からの取得要求を受けると、当該取得要求に係るデータの取得対象のアドレス、つまりIO装置5のアドレスを、疑似障害設定部31(疑似障害設定処理部31a)に対して出力する。
また、データ読込処理部33aは、当該取得要求に係るデータの取得対象のアドレスに対してアクセスを行ない、データ(元データ)を取得するとともに、当該データをバッファ33bに対して出力する。
ここで、データ読込処理部33aが読み込むデータは、例えば情報処理装置1において、上述の如き再現テストが行なわれる場合には、実際に動作するアプリケーション等のソフトウェアによって読み込まれるデータである。
なお、データ読込処理部33aは、IO装置5から所定のブロック単位でデータを取得する。このブロックは、例えばエラー情報生成部31cのレジスタサイズ、すなわちエラーパターンのビット数以上のサイズであることが好ましい。換言すれば、疑似障害設定処理部31aは、このブロックサイズ以下のサイズ(ビット数)となるようにエラーパターンを生成する。
バッファ33bは、データ読込処理部33aによりIO装置5から取得されたデータを一時的に格納するものであり、格納したデータをエラー設定部34に対して出力する。バッファ33bとしては、例えばRAM等の揮発性メモリが挙げられる。
エラー設定部34は、エラー設定処理部34a及びバッファ34bを備える。
エラー設定処理部34aは、疑似障害設定部31のエラー情報生成部31cから入力されたエラーパターンに基づいて、発生させる疑似障害の障害種別に応じたエラーを、データ読込処理部33aのバッファ33bから入力された元データに対して設定してエラー設定データを生成するものである。また、エラー設定処理部34aは、生成したエラー設定データをバッファ34bに出力する。
具体的には、エラー設定処理部34aは、入力された元データ及びエラーパターンに対して、例えばビットごとに排他的論理和演算を行ない、エラーパターンにおいて“1”が設定されたビット位置に対応した位置の元データのビットを反転させる。
エラー設定処理部34aとしては、例えばXOR(Exclusive OR;排他的論理和)回路が挙げられる。
バッファ34bは、エラー設定処理部34aにより生成されたエラー設定データを一時的に格納するものであり、格納したエラー設定データをエラー処理部35に対して出力する。バッファ34bとしては、例えばRAM等の揮発性メモリが挙げられる。
なお、疑似障害設定部31によるエラーパターンの生成が行なわれない場合には、エラー設定処理部34aは、元データをバッファ34bに出力する。
すなわち、エラーパターンが生成されない場合には、エラー設定処理部34aには、バッファ33bからの元データのみが入力され、エラー情報生成部31cからの入力は発生しないか、或いは全てのビットに“0”が設定されたデータが入力される。いずれの場合においても、エラー設定処理部34aにおける排他的論理和演算により、エラー設定処理部34aからバッファ34bに出力されるデータは、元データと同じパターンとなる。
換言すれば、エラー設定部34は、エラーパターンの生成が行なわれない場合、つまり制御部3による疑似障害の発生が行なわれない場合には、実運用に沿って、処理部2からの取得要求に応じたデータをIO装置5から取得し、後段のエラー処理部35に出力することができる。
なお、エラーパターンが生成されない場合としては、疑似障害モードがオフである場合のほか、疑似障害モードがオンであるが、処理要求によりIO装置5から取得されるデータが、後述する障害設定情報における条件を満たさない場合等も含まれる。
図4に示すように、エラー処理部35は、エラー検出部35a、疑似障害処理部35b、及びエラー訂正部35cを備える。
エラー検出部35aは、エラー設定部34のバッファ34bから入力された元データ又はエラー設定データに対するエラーチェックによりエラーが含まれるか否かを検出するとともに、エラーが含まれる場合にエラービット位置を検出する。以下、これら元データ又はエラー設定データを、単に入力されたデータという。
なお、エラーチェックとしては、例えばECC(Error Correcting Code)等のエラー検出・訂正符号によるデータチェックが挙げられ、エラー検出部35aは、入力されたデータに対して、例えばECCを用いてエラービット位置を検出する。以下、エラー検出部35aが、ECCを用いたエラーチェックを行なうものとして説明する。
具体的には、エラー検出部35aは、入力されたデータに対してエラーチェックを行なった結果、エラーが検出された場合には、検出されたエラーのエラービット位置を、疑似障害処理部35bに対して通知する。
また、エラー検出部35aは、エラーチェックによりエラーが検出された場合、及びされなかった場合のいずれの場合においても、入力されたデータを後段のエラー訂正部35cに対して出力する。
このエラー検出部35aによるエラービット位置の検出処理については、後述する。
エラー訂正部35cは、エラー検出部35aから入力されたデータにエラーが発生していない場合、入力されたデータを処理部2に対して出力する一方、当該データにエラーが発生している場合には、エラー検出部35aが検出したエラーのうち、訂正可能なエラーの訂正を行ない、訂正後のデータを処理部2に対して出力(転送)する。
また、エラー訂正部35cは、疑似障害処理部35bから出力停止指示を入力されると、エラー検出部35aから入力されたデータの処理部2への出力を抑止する。なお、このデータの出力の抑止は、例えばエラー訂正部35cにより、入力されたデータの送信用の応答ヘッダに対するマスク処理等により実現することができる。なお、エラー検出部35a、エラー検出部35aとエラー訂正部35cとの間、若しくはエラー訂正部35cに、後段へのデータ出力の抑止機能を備え、疑似障害処理部35bが当該抑止機能に対して出力停止指示を通知することにより、データの出力の抑止が実現されても良く、その他、既知の種々の手法により実現することができる。
疑似障害処理部35bは、疑似障害モードが有効となっている場合で、且つ、エラー検出部35aが、入力されたデータからエラーを検出した場合、エラー訂正部35cによるエラーの訂正を行なわせずに、当該エラーに対応した障害種別についての障害応答を処理部2に通知する。
具体的には、疑似障害処理部35bは、エラー検出部35aによるエラーチェックによってエラービット位置が検出された場合に、当該エラービット位置をエラー検出部35aから取得する。そして、疑似障害処理部35bは、疑似障害モード設定部31bを参照して疑似障害モードがオンであるか否かを確認する。
疑似障害モードがオフである場合には、疑似障害処理部35bは、処理を終了する。
一方、疑似障害モードがオンである場合には、疑似障害処理部35bは、例えばエラー訂正部35cに対して、出力停止指示を出力する。また、疑似障害処理部35bは、障害種別情報に基づいて、取得したエラービット位置に対応した障害種別を取得するとともに、取得した障害種別についての障害応答を作成し、当該障害応答を、処理部2に通知する。
なお、疑似障害モードがオフである場合に、疑似障害処理部35bは、エラー訂正部35c等に対して出力停止指示を出力せず、エラー訂正部35cは、実運用と同様にエラー設定データに対してエラー訂正を行ない、訂正後のデータを処理部2に対して出力しても良い。
また、疑似障害処理部35bは、取得した障害種別が“応答タイムアウト”であった場合には、障害種別についての障害応答を作成せず、処理部2には障害応答を通知しないように構成することができる。
このように、本実施形態の一例としての制御部3においては、疑似障害モードがオフの場合、取得要求に応じてIO装置5から取得されたデータは、要求元の処理部2に対して出力される。一方、疑似障害モードがオンの場合には、IO装置5において障害が発生した状況を疑似的に作り出すために、当該データの処理部2への出力が抑止される。
処理部2は、疑似障害処理部35bから、制御部3に出力した取得要求に対する応答として障害応答を入力されると、当該障害応答に基づいて、上述した再現テストやデバイスドライバのエラーリカバリ動作確認等の処理を行なうことができる。
上述のように、制御部3は、処理部2からの取得要求により、IO装置5からデータを取得する通常の運用を行なうとともに、外部ホスト6から疑似障害モード要求を受けた場合に、本実施形態における疑似障害設定処理及び疑似障害発生処理を行なうことができる。
〔1−3−1〕障害設定情報の設定例
次に、保持部32が保持する障害設定情報(障害設定テーブルT2)について、図6を参照しながら説明する。
上述の如く、疑似障害設定部31においてエラー情報を生成するための条件に関する障害設定情報は、パラメータとして、障害発生回数及び障害発生アドレス情報のうちの少なくとも1つを含むことができる。また、これら障害発生回数又は/及び障害発生アドレス情報は、発生させる障害種別それぞれに対応付けられる。
障害発生回数(Times)は、対応する障害種別の疑似障害を発生させる回数であり、疑似障害設定処理部31aは、障害種別に応じたエラー情報の生成回数が対応する障害発生回数に達するまでは、発生させる障害種別に応じたエラー情報を生成する。つまり、障害発生回数は、対応する障害種別の疑似障害を発生させるための条件の一つである。
障害発生回数は、図6に示す例においては、“応答タイムアウト”、“媒体エラー”、“ハードウェアエラー”、“インタフェースエラー”、及び“正常応答”に対応して、それぞれ“8”、“3”、“5”、“0”、及び“10”が設定される。なお、図6に例示するように、発生回数として“0”が設定された場合、疑似障害設定処理部31aは、対応する障害種別については、疑似障害を発生させないようにすることができる。
なお、疑似障害設定部31は、障害種別ごとに、疑似障害モードが有効化されてから、対応するエラー情報を設定した回数をカウントする機能を備えることが好ましい。或いは、疑似障害設定部31は、疑似障害モードが有効化されてから、エラー情報を設定した場合に、保持部32に格納された障害設定情報のうちの対応する障害種別について、障害発生回数をデクリメントしても良い。
このように、エラー情報を生成するための条件として、障害設定情報に障害発生回数が含まれる場合には、疑似障害モードが有効化された以降、エラー情報の生成回数が対応する障害発生回数に達していない障害種別が、疑似的に発生させる障害種別として選択され得る。
なお、本実施形態においては、疑似障害設定部31は、障害発生回数及び障害発生アドレス情報の双方の条件を満たす障害種別を、発生させる障害種別として選択するが、障害設定情報に障害発生アドレス情報が含まれず、且つ、複数の障害種別が選択候補である場合には、障害発生回数が最も多い、又は最も少ない、一の障害種別を選択しても良い。或いは、障害設定情報における各障害種別それぞれに対して、予め優先順位が設定され、疑似障害設定部31は、疑似障害モードが有効化された以降、エラー情報の生成回数が対応する障害発生回数に達していない複数の障害種別のうちの、優先順位が高い、又は低いものから順に、発生させる障害種別として選択しても良い。
障害発生アドレス情報は、IO装置5のアドレス範囲を示す情報であり、疑似障害設定処理部31aは、処理部2からの取得要求に係るデータの取得対象のアドレスが、発生させる障害種別に対応した障害発生アドレス情報の示す範囲内である場合に、発生させる障害種別に応じたエラー情報を生成する。つまり、障害発生アドレス情報は、対応する障害種別の疑似障害を発生させるための条件の一つであり、この条件範囲を設定する開始アドレス(SA;Start Address)及び終了アドレス(EA;End Address)を含む。
障害発生アドレス情報は、図6に示す例においては、“応答タイムアウト”、“媒体エラー”、“ハードウェアエラー”、“インタフェースエラー”、及び“正常応答”に対応して、それぞれ“SA:0x1000, EA:0x1000”、“SA:0x2000, EA:0x3000”、“SA:0x0, EA:0xffffffff”、“SA:-, EA:-”、及び“SA:0x0, EA:0xffffffff”が設定される。なお、図6に示すように、発生回数が“0”である障害種別“インタフェースエラー”、つまり疑似障害を発生させない障害種別については、障害発生アドレス情報が設定されないようにすることができる。
疑似障害設定部31による、発生させる障害種別の選択及び選択した障害種別に応じたエラー情報の生成は、図6を例に挙げると、以下のように行なわれる。
(a)障害発生アドレス情報が“SA:0x1000, EA:0x1000”の場合、つまり開始アドレス=終了アドレスである場合
取得要求によって指定されたIO装置5のアドレスが“0x1000”のとき、つまり開始(終了)アドレスと一致するときにのみ、疑似障害設定部31により、発生させる障害種別に応じたエラー情報が生成される。
(b)障害発生アドレス情報が“SA:0x2000, EA:0x3000”の場合、つまりアドレス範囲が設定される場合
取得要求によって指定されたIO装置5のアドレスが“0x2000”〜“0x3000”の範囲内にあるとき、つまり設定されたアドレス範囲内にあるときに、疑似障害設定部31により、発生させる障害種別に応じたエラー情報が生成される。
(c)障害発生アドレス情報が“SA:0x0(IO装置5のデータが格納されている先頭アドレス), EA:0xffffffff(IO装置5のデータが格納されている最終アドレス)”の場合、つまりIO装置5のデータが格納されている全体アドレスが設定される場合
取得要求によって指定されたIO装置5のアドレスが“0x0”〜“0xffffffff”の範囲内にあるとき、つまりIO装置5のどのアドレスが取得要求によって指定されても、疑似障害設定部31により、発生させる障害種別に応じたエラー情報が生成される。
疑似障害設定処理部31aは、上述の如き障害設定情報に基づいて、処理部2からの取得要求に係るデータの取得対象のアドレスが含まれる障害発生アドレス情報を判定し、当該取得対象のアドレスが含まれる障害発生アドレス情報に対応する障害種別を選択する。
ここで、例えば、取得要求により指定されたIO装置5のアドレスが“0x2000”である場合、図6に示す例においては、発生させる障害種別として、“媒体エラー”、“ハードウェアエラー”、及び“正常応答”のいずれかが選択され得る。この場合、疑似障害設定処理部31aは、例えば、障害発生アドレス情報の範囲が狭い障害種別、つまり図6に示す場合には“媒体エラー”を、発生させる障害種別として選択することができる。
なお、これに限定されるものではなく、取得要求によって指定されたIO装置5のアドレスが、障害設定情報における障害発生アドレス情報の複数の範囲に含まれる場合、障害発生アドレス情報の範囲が広い障害種別が選択されても良いし、対応する障害発生回数が多い、又は少ない障害種別が選択されても良い。或いは、障害設定情報における各障害種別それぞれに対して、予め優先順位が設定され、IO装置5のアドレスが含まれる複数の障害種別のうちの、優先順位が高い、又は低いものから順に、発生させる障害種別として選択されても良い。
また、図6に示す障害種別“ハードウェアエラー”及び“正常応答”のように、障害発生アドレス情報としてIO装置5の全体アドレスが設定される場合には、障害発生アドレス情報が設定されなくても良い。この場合、疑似障害設定部31は、発生させる障害種別に対応する障害発生回数が1以上であり、且つ障害発生アドレス情報が設定されていないときに、障害発生アドレス情報がIO装置5の全体アドレスであると認識するように構成されることが好ましい。
このように、疑似障害設定処理部31aは、外部ホスト6からの疑似障害モード要求を受領すると、当該要求に含まれる上述の如き障害設定情報のパラメータを保持部32に対して設定する。そして、疑似障害設定処理部31aは、処理部2から取得要求を受け、且つ疑似障害モードが有効である場合に、障害設定情報のパラメータのうちの障害発生回数又は/及び障害発生アドレス情報に基づいて、発生させる障害種別として選択する。
なお、疑似障害設定処理部31aによる、発生させる障害種別の選択は、上述した手法に限定されず、例えば外部ホスト6は、処理部2からの取得要求に先立って、発生させる障害種別を通知しても良い。この場合、疑似障害設定処理部31aは、上記障害設定情報のパラメータ、つまりエラー情報を生成するための条件にかかわらず、通知された障害種別を、発生させる障害種別として選択しても良い。
〔1−3−2〕エラー検出部の動作例
次に、エラー検出部35aによるエラービット位置の検出処理の一例について、図7を参照しながら説明する。
図7は、本実施形態のエラー検出部35aによるエラービット位置の検出処理の一例を説明する図である。図7(a)は、エラー検出部35aにおいて処理されるデータの一例を示す図であり、図7(b)はエラー検出部35aによる、エラー設定データに対するECCデータチェックの結果を示す図である。
以下、バッファ33b及びエラー情報生成部31cのブロックサイズは、8ビットであり、この8ビットのデータがエラー検出部35aに入力され、ECCによるデータの整合性チェックが行なわれる場合について説明する。
また、以下、図7(a)に示すように、元データが“0x43”=“0b01000011”であり、エラーパターンとして“0x2”=“0b00000010”が生成された場合を仮定して説明する。
ECCデータのビット列である“p[2-0]”及び“q[2-0]の値は、元データの値に応じてIO装置5に格納されていた際に予め算出されており、例えば図7(a)に示すように、p[2-0]には“0x0”=“0b000”が、q[2-0]には“0x7”=“0b111”がそれぞれ予め算出されている。なお、このp[2-0]及びq[2-0]の値は、例えば図7(b)に示す算出式に従って、元データの所定のビット位置の値同士について排他的論理和演算を行なうことにより算出される。
ここで、図7(a)に示すように、エラー設定部34において、元データ“0x43”=“0b01000011”に対してエラーパターン“0x2”=“0b00000010”が設定されると、エラー検出部35aに入力されるエラー設定データは“0x41”=“0b01000001”となる。
エラー検出部35aは、このエラー設定データに対してECCデータチェックを行なう。このECCデータチェックの結果を図7(b)に示す。
また、エラー検出部35aは、図7(a)に示す予め算出されたECCデータの値“p[2-0]”及び“q[2-0]”と、算出したECCデータチェックの結果とを比較し、図7(b)に示すように、q[0]、p[1]及びp[2]が図7(a)に示すECCデータと異なること、つまりデータのエラーを検出する。
そして、エラー検出部35aは、ECCを用いたエラービット位置検出の手法の一例として、検出されたq[0]、p[1]及びp[2]を上位ビットから順にソートしてp[2],p[1],q[0]とするとともに、p[*]=“0”、q[*]=“1”を代入して、エラービット位置として“0b001”を得る。つまり、この値はエラービット位置を示すものであり、エラー検出部35aは、検出したエラービット位置としてビット“1”を得る。
このように、エラー検出部35aにより、ECCによるデータの整合性チェックが行なわれ、エラーが検出された場合には、エラービット位置が算出される。
なお、エラー情報が生成されていない場合、つまり障害応答が発生しない場合に、エラー検出部35aに入力されたデータについて図7(b)に示すようなエラーが検出されると、エラー訂正部35cは、検出されたエラービット位置に対応する元データのビットの値を反転させて当該エラーを訂正するとともに、処理部2に対して転送する。
このように、本実施形態の制御部3によれば、実運用で用いられるECCによるエラー検出・訂正機能を利用することにより、元データにエラー、つまり障害発生コードを埋め込むことで、疑似障害を発生させるためのフレームワークを容易に実現することができる。すなわち、元データに設定された障害発生コードを解析する機能を新たに用意せずに、実運用の情報処理装置1を用いたテストを容易に実現することができる。
また、本実施形態の制御部3によれば、元データに対してエラーを埋め込み、疑似障害を発生させる場合には、データ訂正を行なわない一方、実際に元データにエラーが発生した場合には、データ訂正を実行するため、データ訂正に係るオーバーヘッドを極小化することもできる。
さらに、本実施形態の制御部3によれば、元データに対してECC訂正可能なエラーが設定されるため、疑似障害を発生させるための特別なデータを用意せずに済むとともに、処理部2に対して転送されるデータのサイズや内容にも、元データからの変化が生じないため、実運用に沿ったテストを実施することができる。
また、本実施形態の制御部3によれば、処理部2は、実運用と同じデータパターンでテストを行なうことができるため、実環境において通常の運用に近い状況で精度の高いテストを実施することができる。
〔1−4〕制御部の詳細な動作例
次に、上述の如く構成された本実施形態の一例としての情報処理装置1における制御部3の詳細な動作例を、図8〜図10を参照しながら説明する。
図8は、本実施形態の制御部3による疑似障害の詳細な設定動作例を説明する図である。また、図9は、本実施形態の制御部3による疑似障害の発生動作例を説明する図であり、図10は、制御部3による疑似障害の詳細な発生手順例を説明するフローチャートである。
制御部3による疑似障害の設定動作では、図8に示すように、疑似障害設定処理部31aにより、外部ホスト6から疑似障害モード要求が受領されると(図8に示す矢印A1)、疑似障害モード要求に含まれる、又は疑似障害モード要求とともに受領したパラメータが、保持部32に設定される(矢印A2)。
また、疑似障害設定処理部31aにより、疑似障害モード設定部31bが保持する疑似障害モードのフラグがオンに設定される(矢印A3)。
なお、疑似障害設定処理部31aは、上述の如く、例えば疑似的に発生させる障害種別に応じたエラー情報の生成回数が、それぞれ、障害設定情報に設定された対応する障害発生回数に達した場合、及び外部ホスト6から疑似障害モード終了要求を入力された場合、の少なくとも一方の場合に、疑似障害モードのフラグをオフに設定する。
次に、制御部3による疑似障害の発生動作では、図9に示すように、データ読込処理部33aにより、処理部2から取得要求が受領されると(図9に示す矢印B1)、当該取得要求に応じてIO装置5からデータ(元データ)が取得され(矢印B2)、バッファ33bに格納される(矢印B3、図10に示すステップS11)。
また、データ読込処理部33aにより、図9に示す矢印B1において処理部2から取得要求が受領されると、当該取得要求に係るデータの取得対象のアドレスが疑似障害設定処理部31aに対して出力される(矢印B4)。
このアドレスを入力されると、疑似障害設定処理部31aにより、疑似障害モード設定部31bが参照され、疑似障害モードのフラグがオンであるか否かが確認される(矢印B5、ステップS12)。
疑似障害モードのフラグがオンである場合(ステップS12のYesルート)、疑似障害設定処理部31aにより、保持部32に保持された障害種別情報が参照され(矢印B6)、発生させる疑似障害に対応したエラービット位置(ECCエラービット形式)が選択される(ステップS12)。
次いで、疑似障害設定処理部31aにより、エラー情報生成部31cに対して、選択したエラービット位置に対応するビットの反転が行なわれ、エラーパターンが生成される(矢印B7)。
そして、バッファ33bから元データが、エラー情報生成部31cからエラーパターンが、それぞれエラー情報設定処理部34aに出力される(矢印B8)。
エラー情報設定処理部34aにおいては、元データに対してエラーパターンに基づくエラーが設定されることでエラー設定データが作成され(ステップS14)、作成されたエラー設定データがバッファ34bに対して出力される(矢印B9、ステップS15)。
一方、疑似障害モードのフラグがオフである場合(ステップS12のNoルート)、疑似障害設定処理部31aでは処理が行なわれず、エラー情報設定処理部34aにより、バッファ33bから入力された元データがバッファ34bに対して出力される(矢印B9)。
バッファ34bにおいて、元データ又はエラー設定データがエラー検出部35aに対して出力されると(矢印B10)、エラー検出部35aにより、入力されたデータに対して例えばECCを用いたエラーチェックが行なわれる(ステップS16)。
エラーチェックによりエラーが検出されなかった場合(ステップS16のNoルート)、エラー検出部35aにより、入力されたデータが、エラー訂正部35cを経由して処理部2に対して転送される(矢印B15、B16、ステップS20)。
一方、エラー検出部35aによりエラーが検出された場合(ステップS16のYesルート)、検出されたエラーのエラービット位置が疑似障害処理部35bに対して出力される(矢印B11)。
エラービット位置が入力されると、疑似障害処理部35bにより、疑似障害モード設定部31bが参照され、疑似障害モードのフラグがオンであるか否かが確認される(矢印B12、ステップS17)。
疑似障害モードのフラグがオフである場合(ステップS17のNoルート)、疑似障害処理部35bによる処理は行なわれず、エラー訂正部35cにより、エラー検出部35aから入力されたデータに対して、例えばECCによるデータ訂正処理が行なわれる(ステップS18)。そして、エラー訂正部35cにより、訂正後のデータが処理部2に対して転送される(矢印B16、ステップS20)。
一方、疑似障害モードのフラグがオンである場合(ステップS17のYesルート)、疑似障害処理部35bにより、エラー訂正部35c等に対して出力停止指示が通知され(矢印B13)、処理部2に対するデータの出力が抑止される。
そして、疑似障害処理部35bにより、エラービット位置に対応した障害種別の疑似障害が作成され、障害応答が処理部2に通知される(矢印B14、ステップS19)。
なお、疑似障害処理部35bは、上述の如く、エラービット位置に対応した障害種別が“応答タイムアウト”であった場合には、障害種別についての障害応答を作成せず、処理部2には障害応答を通知しないように構成しても良い。
上述のように、図4に示す本実施形態の制御部3によっても、図1に示す制御部3における効果と同様の効果を奏することができる。
また、本実施形態の疑似障害設定部31によれば、取得要求を受け、且つ取得要求によりIO装置5から取得されるデータが、保持部32に保持された障害設定情報における条件を満たす場合に、疑似的に発生させる障害種別に応じたエラー情報が生成され、生成されたエラー情報がエラー設定部34に出力される。また、この障害設定情報における条件は、外部ホスト6により疑似障害設定部31に通知される。
従って、外部ホスト6が任意の条件を通知したり、外部ホスト6と処理部2とが協働して障害設定情報における条件を満たすような取得要求を発行したりすることにより、処理部2は、所望の障害応答を制御部3から得ることができ、実運用の情報処理装置1を用いたテストを容易に実現することができる。また、処理部2は、外部ホスト6が通知する条件、及び処理部2が発行する取得要求により、複数の障害種別から所望の障害種別を選択的に、疑似的に発生させることができる。
また、本実施形態の疑似障害設定部31によれば、取得要求に係るデータの取得対象のアドレスが、障害発生アドレス情報が示す範囲に含まれる場合に、当該取得対象のアドレスが含まれる障害発生アドレス情報に対応する障害種別が、発生させる障害種別として選択される。
従って、発生させる障害種別の選定条件を詳細に設定することができ、テストの精度の向上を図ることができる。また、疑似障害の発生のために用いられるIO装置5のアドレス範囲を指定することができるため、例えば実運用で用いられるIO装置5のアドレス範囲とずらすことにより、疑似障害を発生させる際に実運用に与える影響を低減することができる。
さらに、本実施形態の疑似障害設定部31によれば、疑似障害モードの有効/無効を管理する疑似障害モード設定部31bが備えられ、処理部2からの疑似障害モード要求/疑似障害モード終了要求等に基づいて、当該疑似障害モードの有効/無効を切り替えることができる。従って、実運用に用いられるファームウェアを用いた状態で、制御部3の動作モードを通常動作モード及び疑似障害モード間で容易に切り替えることができ、動作モードの切り替えにかかる時間を低減することができるため、実運用に与える影響を低減することができる。
〔1−5〕変形例
上述した実施形態に加えて、外部ホスト6は、例えばシーケンスやサイクル数等のパラメータを、疑似障害モード要求に含めて、又は疑似障害モード要求とともに、制御部3に対して通知することができる。
シーケンス(Seq;Sequence)は、複数の障害種別についての障害応答を発生させる順序を示す障害発生順序情報である。つまり、疑似障害設定処理部31aは、保持部32がシーケンスを保持する場合には、各障害種別の疑似障害を、所定の順序で複数種類組み合わせて発生させることができる。
シーケンスには、疑似障害を発生させる順序で、例えば下位からエラービット番号が指定される。なお、このエラービット番号は、障害種別に対応したエラービット位置であっても良いし、障害種別に対応したID等であっても良い。いずれにしても、シーケンスに設定されるエラービット番号は、障害種別に対応した一意の番号であることが好ましい。
エラービット番号としてエラービット位置を用いる場合のシーケンスは、例えばエラービット番号が4ビット単位で指定される場合には、“0x302”=“0b001100000010”のように設定される。この場合、例えば図5及び図6に示すように、制御部3では、エラービット位置がビット“2”である“媒体エラー”の障害応答が障害発生回数である“3”回行なわれ、その後エラービット位置がビット“0”である“正常応答”が“10”回行なわれ、最後にエラービット位置がビット“3”である“ハードウェアエラー”の障害応答が“5”回行なわれる。
すなわち、本変形例の疑似障害設定処理部31aは、取得要求を受け、疑似障害モードのフラグがオンであると、シーケンスを参照して、発生させる障害種別を選択する。そして、疑似障害設定処理部31aは、取得要求によりIO装置5から取得されるデータが、障害設定情報における、選択した障害種別に係る条件、つまり障害発生回数や障害発生アドレス情報を満たすか否かを判断する。
当該条件を満たす場合には、疑似障害設定処理部31aは、選択した障害種別に応じたエラー情報を生成する。一方、当該条件を満たさない場合には、疑似障害設定処理部31aは、当該データが障害設定情報における他の障害種別の条件を満たす場合であっても、エラー情報の生成を抑止する。
これにより、本変形例の制御部3によれば、障害発生順序情報を用いることにより、各障害種別の疑似障害を、所定の順序で複数種類組み合わせて発生させることができる。つまり、外部ホスト6は、障害発生順序情報を制御部3に対して出力しておくことで、処理部2は、障害応答を所定の順序で受信することができる。従って、処理部2は、複数の障害の複合テストを容易に且つ確実に実現することができる。
サイクル数(Cycles)は、シーケンスで定義した一連の動作の発生回数を指定する繰返情報である。つまり、疑似障害設定処理部31aは、保持部32がシーケンス及びサイクル数を保持する場合には、各障害種別の疑似障害を、所定の順序で複数種類組み合わせて発生させる一連の動作を、サイクル数で規定された回数だけ繰り返すことができる。
例えば、シーケンスに上述した“0x302”=“0b001100000010”が設定されており、サイクル数として“2”が設定されている場合、“媒体エラー”が“3”回、“正常応答”が“10”回、“ハードウェアエラー”が“5”回、“媒体エラー”が“3”回、“正常応答”が“10”回、“ハードウェアエラー”が“5”回行なわれる。
このように、外部ホスト6がサイクル数を設定することにより、処理部2は、例えば所定の障害種別についての疑似障害を、所定の順序で反復して行なうテストを実行する場合に、当該テストを容易に且つ確実に実現することができる。
〔2〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述した実施形態及び変形例においては、制御部3がIOコントローラであり、対象装置5がIO装置である場合について説明したが、これに限定されるものではない。つまり、制御部3では、エラー検出部35a及びエラー訂正部35cとして、既存のECC等によるエラー検出・訂正機能を用いる。従って、対象装置5は、HDD等のIO装置以外に、例えば記憶部(メモリ)4等、ECC等によるエラー検出・訂正機能が利用できる装置であれば良い。なお、対象装置5として記憶部4を用いる場合、制御部3としての機能は、メモリコントローラ等に備えられて良い。
さらに、上述した実施形態及び変形例においては、ホストとしての処理部2が、取得要求を、情報処理装置1の管理等を行なう外部ホスト6が、疑似障害モード要求、疑似障害モード終了要求、及び、保持部32に保持させる各種情報を、制御部3に対して出力していたが、これに限定されるものではない。例えば、これらの要求や情報が、IOコントローラとしての制御部3に接続されたインタフェース及びネットワークを介して、処理部2以外の装置から、制御部3に対して出力されても良い。つまり、情報処理装置1におけるテストが、処理部2以外のホスト及び外部ホストにより実行されても良い。
また、上述した実施形態においては、外部ホスト6は、障害種別情報や障害設定情報のパラメータを、疑似障害モード要求に含めて、又は疑似障害モード要求とともに、制御部3に対して通知することとして説明した。同様に、上述した変形例においては、外部ホスト6は、障害発生順序情報や繰返情報のパラメータを、疑似障害モード要求に含めて、又は疑似障害モード要求とともに、制御部3に対して通知することとして説明したが、これに限定されるものではない。例えば、外部ホスト6は、制御部3に対する疑似モード要求に先立って、事前にこれらのパラメータを通知しても良い。
なお、これらの疑似障害設定処理部31a、データ読込処理部33a、エラー設定処理部34a、エラー処理部35、エラー検出部35a、疑似障害処理部35b、及びエラー訂正部35cとしての機能を実現するためのプログラム(疑似障害発生プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしても良い。
疑似障害設定処理部31a、データ読込処理部33a、エラー設定処理部34a、エラー処理部35、エラー検出部35a、疑似障害処理部35b、及びエラー訂正部35cとしての機能を実現する際には、内部記憶装置(本実施形態では制御部3のメモリ)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態では制御部3のプロセッサ)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしても良い。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。また、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、制御部3がコンピュータとしての機能を有しているのである。
1 情報処理装置
2 CPU(処理部)
3 IOコントローラ(制御部)
4 メモリ(記憶部)
5 IO装置(対象装置)
6 外部ホスト(設定部)
31 疑似障害設定部
31a 疑似障害設定処理部
31b 疑似障害モード設定部
31c エラー情報生成部
32 保持部
33 データ読込部
33a データ読込処理部
33b,34b バッファ
34 エラー設定部
34a エラー設定処理部
35 エラー処理部
35a エラー検出部
35b 疑似障害処理部
35c エラー訂正部
そして、エラー処理部35は、入力されたエラーに対応した障害種別についての障害応答を作成し、作成した障害応答を処理部2に通知する。
つまり、エラー処理部35は、疑似障害モードが有効となっている場合に、エラーチェックにより、エラー設定部34が意図的に訂正可能なエラー(例えば1ビットエラー)を設定したエラー設定データについてエラーが検出された場合には、エラー訂正を行なうことなく、検出したエラーに対応した障害種別についての障害応答を処理部2に通知する。
次いで、エラー設定部34により、選択したエラーが、取得要求に応じて対象装置5から取得されたデータに対して設定される(ステップS2)。つまり、エラー設定部34により、エラーが元データに対して埋め込まれる。
そして、図3に示すように、制御部3において、処理部からの取得要求に応じて対象装置5から取得されたデータ(元データ)、又はエラーが設定されたエラー設定データに対してエラーチェックが行なわれ(ステップS3)、エラー検出の有無が判断される(ステップS4)。
バッファ33bは、データ読込処理部33aによりIO装置5から取得されたデータを一時的に格納するものであり、格納したデータをエラー設定部34に対して出力する。バッファ33bとしては、例えばRAM等の揮発性メモリが挙げられる。
エラー設定部34は、エラー設定処理部34a及びバッファ34bを備える。
エラー設定処理部34aは、疑似障害設定部31のエラー情報生成部31cから入力されたエラーパターンに基づいて、発生させる疑似障害の障害種別に応じたエラーを、データ読込部3のバッファ33bから入力された元データに対して設定してエラー設定データを生成するものである。また、エラー設定処理部34aは、生成したエラー設定データをバッファ34bに出力する。
従って、外部ホスト6が任意の条件を通知したり、外部ホスト6と処理部2とが協働して障害設定情報における条件を満たすような取得要求を発行したりすることにより、処理部2は、所望の障害応答を制御部3から得ることができ、実運用の情報処理装置1を用いたテストを容易に実現することができる。また、制御は、外部ホスト6が通知する条件、及び処理部2が発行する取得要求により、複数の障害種別から所望の障害種別を選択的に、疑似的に発生させることができる。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。また、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、制御部3がコンピュータとしての機能を有しているのである。
〔3〕付記
以上の実施形態及び変形例に関し、更に以下の付記を開示する。
(付記1)
処理部と、前記処理部からの取得要求に応じて対象装置からデータを取得する制御を行なう制御部とを備えた情報処理装置であって、
前記制御部は、
擬似的に障害を発生させる疑似障害モードが有効となっている場合に、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置から取得されたデータに対して設定するエラー設定部と、
前記疑似障害モードが有効となっている場合に、前記データからエラーを検出すると、当該エラーに対応した障害種別についての障害応答を、前記処理部に通知するエラー処理部とを備えることを特徴とする、情報処理装置。
(付記2)
前記エラー処理部は、
検出したエラーのうち、訂正可能なエラーの訂正を行なうエラー訂正部と、
前記疑似障害モードが有効となっている場合で、且つ、前記データからエラーを検出した場合、前記エラー訂正部によるエラーの訂正を行なわせずに、当該エラーに対応した障害種別についての障害応答を前記処理部に通知する疑似障害処理部と、を備えることを特徴とする、付記1記載の情報処理装置。
(付記3)
前記エラー処理部は、
前記データに対するエラーチェックによりエラーが含まれるか否かを検出するとともに、前記データにエラーが含まれる場合にエラービット位置を検出するエラー検出部を備え、
前記エラー処理部は、前記疑似障害モードが有効となっている場合であって、且つ、前記エラー検出部によるエラーチェックによってエラービット位置が検出された場合に、当該エラービット位置に対応した障害種別についての障害応答を、前記処理部に通知することを特徴とする、付記1又は付記2記載の情報処理装置。
(付記4)
前記エラー検出部は、前記データについてECC(Error Correcting Code)を用いて前記エラービット位置を検出することを特徴とする、付記3記載の情報処理装置。
(付記5)
前記障害種別に応じたエラーのエラービット位置を示すエラー情報を生成するための条件に関する障害設定情報を保持する保持部と、
前記処理部から前記取得要求を受け、且つ前記取得要求により前記対象装置から取得されるデータが、前記保持部に保持された障害設定情報における条件を満たす場合に、疑似的に発生させる前記障害種別に応じたエラー情報を生成し、生成したエラー情報を前記エラー設定部に出力する疑似障害設定部とを備え、
前記エラー設定部は、前記疑似障害設定部から入力されたエラー情報に基づいて、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置から取得されたデータに対して設定することを特徴とする、付記1〜4のいずれか1項記載の情報処理装置。
(付記6)
前記障害設定情報は、前記障害種別に対応付けられた障害発生アドレス情報を含み、
前記疑似障害設定部は、前記取得要求に係るデータの取得対象のアドレスが、前記障害発生アドレス情報が示す範囲に含まれる場合に、当該取得対象のアドレスが含まれる障害発生アドレス情報に対応する障害種別を、前記発生させる障害種別として選択することを特徴とする、付記5記載の情報処理装置。
(付記7)
前記疑似障害モードを有効に設定させる疑似障害モード要求を発行する設定部を備え、
前記疑似障害設定部は、
前記設定部から前記疑似障害モード要求を入力されると、疑似障害モードを有効化する疑似障害モード設定部を備え、
前記取得要求を受け、且つ前記疑似障害モードが有効である場合に、前記障害種別に応じたエラー情報を生成し、生成したエラー情報を前記エラー設定部に出力することを特徴とする、付記5又は付記6記載の情報処理装置。
(付記8)
前記疑似障害モード設定部は、前記障害設定情報が前記障害種別に対応付けられた障害発生回数を含み且つ前記疑似的に発生させる障害種別に応じたエラー情報の生成回数が前記障害発生回数に達した場合、及び前記設定部から前記疑似障害モードを無効に設定させる疑似障害モード終了要求を入力された場合、の少なくとも一方の場合に、前記疑似障害モードを無効化することを特徴とする、付記7記載の情報処理装置。
(付記9)
前記設定部は、前記疑似障害設定部に前記障害設定情報を出力し、
前記疑似障害設定部は、前記設定部から前記障害設定情報を入力されると、入力された前記障害設定情報を前記保持部に設定することを特徴とする、付記7又は付記8記載の情報処理装置。
(付記10)
前記保持部は、複数の障害種別についての障害応答を発生させる順序を示す障害発生順序情報を保持し、
前記疑似障害設定部は、前記取得要求を受けると、前記障害発生順序情報に基づき発生させる障害種別を選択し、前記取得要求により前記対象装置から取得されるデータが、前記保持部に保持された障害設定情報における、前記選択した障害種別に係る条件を満たす場合に、当該選択した障害種別に応じたエラー情報を生成し、生成したエラー情報を前記エラー設定部に出力することを特徴とする、付記5〜9のいずれか1項記載の情報処理装置。
(付記11)
前記エラー処理部は、前記検出されたエラーに対応する障害種別が、前記処理部に応答を通知することができない障害であった場合、前記処理部に対する当該障害種別についての障害応答の通知を抑止することを特徴とする、付記1〜10のいずれか1項記載の情報処理装置。
(付記12)
処理部と、前記処理部からの取得要求に応じて対象装置からデータを取得する制御を行なう制御部とを備えた情報処理装置における疑似障害発生方法であって、
前記制御部において、
擬似的に障害を発生させる疑似障害モードが有効となっている場合に、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置から取得されたデータに対して設定して、
前記疑似障害モードが有効となっている場合に、前記データからエラーを検出すると、当該エラーに対応した障害種別についての障害応答を、前記処理部に通知することを特徴とする、疑似障害発生方法。
(付記13)
前記制御部において、
検出したエラーのうち、訂正可能なエラーの訂正を行なうとともに、
前記疑似障害モードが有効となっている場合で、且つ、前記データからエラーを検出した場合、前記エラーの訂正を行なわずに、当該エラーに対応した障害種別についての障害応答を前記処理部に通知することを特徴とする、付記12記載の疑似障害発生方法。
(付記14)
前記データに対するエラーチェックによりエラーが含まれるか否かを検出するとともに、前記データにエラーが含まれる場合にエラービット位置を検出し、
前記疑似障害モードが有効となっている場合であって、且つ、前記エラーチェックによってエラービット位置が検出された場合に、当該エラービット位置に対応した障害種別についての障害応答を、前記処理部に通知することを特徴とする、付記12又は付記13記載の疑似障害発生方法。
(付記15)
前記情報処理装置が前記障害種別に応じたエラーのエラービット位置を示すエラー情報を生成するための条件に関する障害設定情報を保持部に保持し、
前記処理部から前記取得要求を受け、且つ前記取得要求により前記対象装置から取得されるデータが、前記保持部に保持された障害設定情報における条件を満たす場合に、疑似的に発生させる前記障害種別に応じたエラー情報を生成し、
生成したエラー情報に基づいて、発生させる疑似障害の障害種別に応じたエラーを、前記データに対して設定することを特徴とする、付記12〜14のいずれか1項記載の疑似障害発生方法。
(付記16)
前記障害設定情報は、前記障害種別に対応付けられた障害発生アドレス情報を含み、
前記取得要求に係るデータの取得対象のアドレスが、前記障害発生アドレス情報が示す範囲に含まれる場合に、当該取得対象のアドレスが含まれる障害発生アドレス情報に対応する障害種別を、前記発生させる障害種別として選択することを特徴とする、付記15記載の疑似障害発生方法。
(付記17)
設定部から前記疑似障害モードを有効に設定させる疑似障害モード要求を入力されると、疑似障害モードを有効化し、
前記取得要求を受け、且つ前記疑似障害モードが有効である場合に、前記障害種別に応じたエラー情報を生成して、
生成したエラー情報に基づいて、発生させる疑似障害の障害種別に応じたエラーを、前記データに対して設定することを特徴とする、付記15又は付記16記載の疑似障害発生方法。
(付記18)
前記障害設定情報が前記障害種別に対応付けられた障害発生回数を含み且つ前記疑似的に発生させる障害種別に応じたエラー情報の生成回数が前記障害発生回数に達した場合、及び前記設定部から前記疑似障害モードを無効に設定させる疑似障害モード終了要求を入力された場合、の少なくとも一方の場合に、前記疑似障害モードを無効化することを特徴とする、付記17記載の疑似障害発生方法。

Claims (18)

  1. 処理部と、前記処理部からの取得要求に応じて対象装置からデータを取得する制御を行なう制御部とを備えた情報処理装置であって、
    前記制御部は、
    擬似的に障害を発生させる疑似障害モードが有効となっている場合に、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置から取得されたデータに対して設定するエラー設定部と、
    前記疑似障害モードが有効となっている場合に、前記データからエラーを検出すると、当該エラーに対応した障害種別についての障害応答を、前記処理部に通知するエラー処理部とを備えることを特徴とする、情報処理装置。
  2. 前記エラー処理部は、
    検出したエラーのうち、訂正可能なエラーの訂正を行なうエラー訂正部と、
    前記疑似障害モードが有効となっている場合で、且つ、前記データからエラーを検出した場合、前記エラー訂正部によるエラーの訂正を行なわせずに、当該エラーに対応した障害種別についての障害応答を前記処理部に通知する疑似障害処理部と、を備えることを特徴とする、請求項1記載の情報処理装置。
  3. 前記エラー処理部は、
    前記データに対するエラーチェックによりエラーが含まれるか否かを検出するとともに、前記データにエラーが含まれる場合にエラービット位置を検出するエラー検出部を備え、
    前記エラー処理部は、前記疑似障害モードが有効となっている場合であって、且つ、前記エラー検出部によるエラーチェックによってエラービット位置が検出された場合に、当該エラービット位置に対応した障害種別についての障害応答を、前記処理部に通知することを特徴とする、請求項1又は請求項2記載の情報処理装置。
  4. 前記エラー検出部は、前記データについてECC(Error Correcting Code)を用いて前記エラービット位置を検出することを特徴とする、請求項3記載の情報処理装置。
  5. 前記障害種別に応じたエラーのエラービット位置を示すエラー情報を生成するための条件に関する障害設定情報を保持する保持部と、
    前記処理部から前記取得要求を受け、且つ前記取得要求により前記対象装置から取得されるデータが、前記保持部に保持された障害設定情報における条件を満たす場合に、疑似的に発生させる前記障害種別に応じたエラー情報を生成し、生成したエラー情報を前記エラー設定部に出力する疑似障害設定部とを備え、
    前記エラー設定部は、前記疑似障害設定部から入力されたエラー情報に基づいて、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置から取得されたデータに対して設定することを特徴とする、請求項1〜4のいずれか1項記載の情報処理装置。
  6. 前記障害設定情報は、前記障害種別に対応付けられた障害発生アドレス情報を含み、
    前記疑似障害設定部は、前記取得要求に係るデータの取得対象のアドレスが、前記障害発生アドレス情報が示す範囲に含まれる場合に、当該取得対象のアドレスが含まれる障害発生アドレス情報に対応する障害種別を、前記発生させる障害種別として選択することを特徴とする、請求項5記載の情報処理装置。
  7. 前記疑似障害モードを有効に設定させる疑似障害モード要求を発行する設定部を備え、
    前記疑似障害設定部は、
    前記設定部から前記疑似障害モード要求を入力されると、疑似障害モードを有効化する疑似障害モード設定部を備え、
    前記取得要求を受け、且つ前記疑似障害モードが有効である場合に、前記障害種別に応じたエラー情報を生成し、生成したエラー情報を前記エラー設定部に出力することを特徴とする、請求項5又は請求項6記載の情報処理装置。
  8. 前記疑似障害モード設定部は、前記障害設定情報が前記障害種別に対応付けられた障害発生回数を含み且つ前記疑似的に発生させる障害種別に応じたエラー情報の生成回数が前記障害発生回数に達した場合、及び前記設定部から前記疑似障害モードを無効に設定させる疑似障害モード終了要求を入力された場合、の少なくとも一方の場合に、前記疑似障害モードを無効化することを特徴とする、請求項7記載の情報処理装置。
  9. 前記設定部は、前記疑似障害設定部に前記障害設定情報を出力し、
    前記疑似障害設定部は、前記設定部から前記障害設定情報を入力されると、入力された前記障害設定情報を前記保持部に設定することを特徴とする、請求項7又は請求項8記載の情報処理装置。
  10. 前記保持部は、複数の障害種別についての障害応答を発生させる順序を示す障害発生順序情報を保持し、
    前記疑似障害設定部は、前記取得要求を受けると、前記障害発生順序情報に基づき発生させる障害種別を選択し、前記取得要求により前記対象装置から取得されるデータが、前記保持部に保持された障害設定情報における、前記選択した障害種別に係る条件を満たす場合に、当該選択した障害種別に応じたエラー情報を生成し、生成したエラー情報を前記エラー設定部に出力することを特徴とする、請求項5〜9のいずれか1項記載の情報処理装置。
  11. 前記エラー処理部は、前記検出されたエラーに対応する障害種別が、前記処理部に応答を通知することができない障害であった場合、前記処理部に対する当該障害種別についての障害応答の通知を抑止することを特徴とする、請求項1〜10のいずれか1項記載の情報処理装置。
  12. 処理部と、前記処理部からの取得要求に応じて対象装置からデータを取得する制御を行なう制御部とを備えた情報処理装置における疑似障害発生方法であって、
    前記制御部において、
    擬似的に障害を発生させる疑似障害モードが有効となっている場合に、発生させる疑似障害の障害種別に応じたエラーを、前記取得要求に応じて前記対象装置から取得されたデータに対して設定して、
    前記疑似障害モードが有効となっている場合に、前記データからエラーを検出すると、当該エラーに対応した障害種別についての障害応答を、前記処理部に通知することを特徴とする、疑似障害発生方法。
  13. 前記制御部において、
    検出したエラーのうち、訂正可能なエラーの訂正を行なうとともに、
    前記疑似障害モードが有効となっている場合で、且つ、前記データからエラーを検出した場合、前記エラーの訂正を行なわずに、当該エラーに対応した障害種別についての障害応答を前記処理部に通知することを特徴とする、請求項12記載の疑似障害発生方法。
  14. 前記データに対するエラーチェックによりエラーが含まれるか否かを検出するとともに、前記データにエラーが含まれる場合にエラービット位置を検出し、
    前記疑似障害モードが有効となっている場合であって、且つ、前記エラーチェックによってエラービット位置が検出された場合に、当該エラービット位置に対応した障害種別についての障害応答を、前記処理部に通知することを特徴とする、請求項12又は請求項13記載の疑似障害発生方法。
  15. 前記情報処理装置が前記障害種別に応じたエラーのエラービット位置を示すエラー情報を生成するための条件に関する障害設定情報を保持部に保持し、
    前記処理部から前記取得要求を受け、且つ前記取得要求により前記対象装置から取得されるデータが、前記保持部に保持された障害設定情報における条件を満たす場合に、疑似的に発生させる前記障害種別に応じたエラー情報を生成し、
    生成したエラー情報に基づいて、発生させる疑似障害の障害種別に応じたエラーを、前記データに対して設定することを特徴とする、請求項12〜14のいずれか1項記載の疑似障害発生方法。
  16. 前記障害設定情報は、前記障害種別に対応付けられた障害発生アドレス情報を含み、
    前記取得要求に係るデータの取得対象のアドレスが、前記障害発生アドレス情報が示す範囲に含まれる場合に、当該取得対象のアドレスが含まれる障害発生アドレス情報に対応する障害種別を、前記発生させる障害種別として選択することを特徴とする、請求項15記載の疑似障害発生方法。
  17. 設定部から前記疑似障害モードを有効に設定させる疑似障害モード要求を入力されると、疑似障害モードを有効化し、
    前記取得要求を受け、且つ前記疑似障害モードが有効である場合に、前記障害種別に応じたエラー情報を生成して、
    生成したエラー情報に基づいて、発生させる疑似障害の障害種別に応じたエラーを、前記データに対して設定することを特徴とする、請求項15又は請求項16記載の疑似障害発生方法。
  18. 前記障害設定情報が前記障害種別に対応付けられた障害発生回数を含み且つ前記疑似的に発生させる障害種別に応じたエラー情報の生成回数が前記障害発生回数に達した場合、及び前記設定部から前記疑似障害モードを無効に設定させる疑似障害モード終了要求を入力された場合、の少なくとも一方の場合に、前記疑似障害モードを無効化することを特徴とする、請求項17記載の疑似障害発生方法。
JP2013508679A 2011-04-06 2011-04-06 情報処理装置及び疑似障害発生方法 Pending JPWO2012137323A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/058713 WO2012137323A1 (ja) 2011-04-06 2011-04-06 情報処理装置及び疑似障害発生方法

Publications (1)

Publication Number Publication Date
JPWO2012137323A1 true JPWO2012137323A1 (ja) 2014-07-28

Family

ID=46968760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013508679A Pending JPWO2012137323A1 (ja) 2011-04-06 2011-04-06 情報処理装置及び疑似障害発生方法

Country Status (3)

Country Link
US (1) US20140025983A1 (ja)
JP (1) JPWO2012137323A1 (ja)
WO (1) WO2012137323A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6288695B2 (ja) * 2013-11-06 2018-03-07 Necフィールディング株式会社 端末装置、シミュレーションシステム、端末装置の制御方法、及び端末装置の制御プログラム
JP6542148B2 (ja) * 2016-03-18 2019-07-10 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US10452459B2 (en) 2016-12-09 2019-10-22 Microsoft Technology Licensing, Llc Device driver telemetry
US10467082B2 (en) * 2016-12-09 2019-11-05 Microsoft Technology Licensing, Llc Device driver verification

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675813A (ja) * 1992-08-26 1994-03-18 Fujitsu Ltd 外部記憶装置の疑似障害発生方法
JPH09204317A (ja) * 1996-01-29 1997-08-05 Kofu Nippon Denki Kk 誤り検出訂正回路の診断装置
JP2000048478A (ja) * 1998-05-26 2000-02-18 Yamaha Corp ディジタルコピー制御方法及びそれを用いた装置
JP2005078431A (ja) * 2003-09-01 2005-03-24 Toshiba Corp 半導体装置
JP2007122396A (ja) * 2005-10-27 2007-05-17 Hitachi Ltd ディスクアレイ装置及びその障害対応検証方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60144851A (ja) * 1983-12-30 1985-07-31 Fujitsu Ltd チヤネル制御装置
WO2007096997A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited メモリ制御装置およびメモリ制御方法
US8627163B2 (en) * 2008-03-25 2014-01-07 Micron Technology, Inc. Error-correction forced mode with M-sequence

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675813A (ja) * 1992-08-26 1994-03-18 Fujitsu Ltd 外部記憶装置の疑似障害発生方法
JPH09204317A (ja) * 1996-01-29 1997-08-05 Kofu Nippon Denki Kk 誤り検出訂正回路の診断装置
JP2000048478A (ja) * 1998-05-26 2000-02-18 Yamaha Corp ディジタルコピー制御方法及びそれを用いた装置
JP2005078431A (ja) * 2003-09-01 2005-03-24 Toshiba Corp 半導体装置
JP2007122396A (ja) * 2005-10-27 2007-05-17 Hitachi Ltd ディスクアレイ装置及びその障害対応検証方法

Also Published As

Publication number Publication date
US20140025983A1 (en) 2014-01-23
WO2012137323A1 (ja) 2012-10-11

Similar Documents

Publication Publication Date Title
US6968479B2 (en) Verifying data in a data storage device
TWI397080B (zh) 記憶體裝置及其相關測試方法
JP4852315B2 (ja) データ信頼性向上方法及びその方法を用いた情報処理装置
JP4399015B2 (ja) データ変換装置、情報記録装置、誤り検出装置、データ変換方法および誤り検出方法
US7624301B2 (en) Method and apparatus for identifying failure module
WO2012137323A1 (ja) 情報処理装置及び疑似障害発生方法
JP5565340B2 (ja) 試験方法,試験プログラム,及び試験装置
US20100293418A1 (en) Memory device, data transfer control device, data transfer method, and computer program product
JP6568012B2 (ja) メモリ管理システム、方法、およびコンピュータ・プログラム
US9086990B2 (en) Bitline deletion
WO2017012460A1 (zh) 检测随机存储器故障的方法及装置、处理器
US9658922B2 (en) Computer-readable recording medium having stored therein program for write inspection, information processing device, and method for write inspection
JP2009289310A (ja) エラー訂正方法及びエラー訂正回路、並びに磁気ディスク装置
US9563500B2 (en) Storage integrity validator
TWI511158B (zh) 記憶體模組上之記憶體備用技術
JP6164003B2 (ja) メモリ制御装置、情報処理装置、及び情報処理装置の制御方法
JP2013037631A (ja) 診断装置、診断方法および診断プログラム診断方法
US9288161B2 (en) Verifying the functionality of an integrated circuit
JP6246022B2 (ja) ソフトウェア試験装置及びソフトウェア試験プログラム
US10140186B2 (en) Memory error recovery
JP5148676B2 (ja) ビデオデータ処理装置及びビデオデータ処理方法
TWI607455B (zh) 記憶體資料檢測方法
JP2011044203A (ja) ディスク装置およびディスク記録テスト方法
JP2016167187A (ja) 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラム
JP2010027147A (ja) ディスク記録装置、書換え型光ディスク記録媒体における代替領域設定方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150113