JP2016186688A - 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2016186688A
JP2016186688A JP2015065858A JP2015065858A JP2016186688A JP 2016186688 A JP2016186688 A JP 2016186688A JP 2015065858 A JP2015065858 A JP 2015065858A JP 2015065858 A JP2015065858 A JP 2015065858A JP 2016186688 A JP2016186688 A JP 2016186688A
Authority
JP
Japan
Prior art keywords
status
information
reset
unit
detected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015065858A
Other languages
English (en)
Other versions
JP6519266B2 (ja
Inventor
下川 大輔
Daisuke Shimokawa
大輔 下川
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2015065858A priority Critical patent/JP6519266B2/ja
Publication of JP2016186688A publication Critical patent/JP2016186688A/ja
Application granted granted Critical
Publication of JP6519266B2 publication Critical patent/JP6519266B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 自装置の再起動なしに、異常から復旧したデバイスと再接続することにより運用を継続できる情報処理装置などを提供する。【解決手段】 デバイスに含まれる監視対象部の異常を検知する状態監視手段と、異常を検知したとき、デバイスに対してリセットを要求するリセット要求手段と、リセット要求後、デバイスに含まれる、デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視し、デバイスが通常の処理へ復帰できる状態になったことを表す復帰済みステータスが検知されたとき、通常の処理を再開可能であることを通知するステータス検出手段と、デバイスが起動状態となったことを表す起動ステータスが検知されたとき、デバイスにおいて自装置との接続再開に使用される接続情報を、第2の記憶装置に書き込み、接続情報設定済みステータスによって、ステータス情報を更新する接続情報設定手段とを含む情報処理装置。【選択図】 図1

Description

本発明は、情報処理装置(コンピュータ)と、共有メモリを介して情報の入出力を行うデバイスを復旧する技術に関する。
ディスクアレイコントローラなどのデバイスにおいて異常が検出された場合の復旧方法として、ディスクアレイコントローラの一部または全部をリセットする方法が一般的に知られている。
関連技術として、特許文献1には、二重化されたRAID(Redundant Arrays of Independent Disks)コントローラを備えるRAID装置が開示されている。この特許文献1に記載されたRAID装置においては、両系のRAIDコントローラがともに停止すると、これを検出した監視制御部が、両系のRAIDコントローラの電源オフ、オン処理を実行する。このRAID装置は、このようにしてRAIDコントローラを再起動させることにより、ハードウェア異常によるRAIDコントローラの停止から復旧することができる。
また、特許文献2には、二重化されたファイバチャネルループで接続されるディスク装置において発生した障害を回避するディスクアレイ装置が開示されている。この特許文献2に記載されたディスクアレイ装置においては、障害が発生した場合、システムコントローラは、増設のドライブ筐体のリセットまたは電源オフにより、障害が発生したドライブを完全に停止させる。これによって、このディスクアレイ装置は、障害が発生したドライブコントローラの誤動作を防止することにより、システムへの障害の影響を抑制することができる。
また、特許文献3には、ディスクドライブの障害率を低減するディスクアレイ装置が開示されている。この特許文献3に記載されたディスクアレイ装置は、障害が発生したディスクドライブに対して制御コマンドのリトライを行っても障害が回復しない場合に、そのディスクドライブをハードリセットすることにより、さらなる障害回復を図る回路を備える。
特開2004−206239号公報 特開2005−222379号公報 特開2006−338626号公報
しかしながら、特許文献1乃至3に開示されたRAID装置またはディスクアレイ装置においては、これらの装置が異常から回復したとしても、これらの装置に接続される上位ホストが、運用を継続できないという問題がある。異常の回復後、上位ホストが運用を継続するには、これらの再起動された装置を再認識し、これらの装置との通信を再開する必要がある。しかしながら、これらの装置は、再起動後に上位ホストとの間の連絡に関して、何も考慮されていない。したがって、上位ホストは、これらの再起動された装置と再接続するために、上位ホスト自身も再起動(電源オフ、オン)を行わなければならないという問題があると考えられる。
本発明の一つの目的は、自装置の再起動なしに、異常から復旧したデバイスと再接続することにより運用を継続できる情報処理装置などを提供することにある。
上記の目的を達成すべく、本発明の一態様に係る情報処理装置は、以下の構成を備えることを特徴とする。
すなわち、本発明の一態様に係る情報処理装置は、
自装置に接続されたデバイスに含まれる監視対象部の状態を監視し、前記監視対象部の異常を検知する状態監視手段と、
前記監視対象部の異常が検知されたとき、
前記デバイスに対してリセットを要求するリセット要求手段と、
前記リセットを要求した後、前記デバイスに含まれる、前記デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視し、
前記ステータス情報において、
前記デバイスが起動状態となったことを表す情報である起動ステータス、および、前記デバイスが通常の処理へ復帰できる状態になったことを表す情報である復帰済みステータスをそれぞれ検知し、
復帰済みステータスが検知されたとき、通常の処理を再開可能であることを所定の方法によって通知するステータス検出手段と、
前記起動ステータスが検知されたとき、自装置に含まれる第1の記憶装置に記憶された、前記デバイスにおいて自装置との接続再開に使用される情報である接続情報を、前記第2の記憶装置に書き込み、前記接続情報の書き込みを行ったことを表す情報である接続情報設定済みステータスによって、前記ステータス情報を更新する接続情報設定手段と
を含む。
また、上記の同目的を達成すべく、本発明の一態様に係るデバイスは、
自デバイスに含まれる所定の各部の電源を制御する電源制御手段と、
自デバイスが接続された情報処理装置からリセットが要求されたことを検知したとき、前記電源制御手段を介して、自デバイスに含まれる所定の各部をハードウェアリセット(HWリセット)するリセット手段と、
自装置において、前記HWリセット後における所定の起動処理が行われたことを検知し、自装置に含まれる、前記情報処理装置と自装置との双方から読み書き可能な記憶装置に記憶されるステータス情報を、起動状態であることを表す情報である起動ステータスによって更新するステータス監視手段と、
前記起動ステータスによる更新が行われた後、前記ステータス情報を監視し、前記情報処理装置との接続の再開に使用される情報である接続情報が、前記記憶装置に書き込まれたことを表す情報である接続情報設定済みステータスが検知されたとき、少なくとも前記接続情報が取得されたことを所定の方法で通知し、通常の処理に復帰できる状態になったことを表す情報である復帰済みステータスによって前記ステータス情報を更新する接続情報取得手段と
を含む。
また、上記の同目的を達成すべく、本発明の一態様に係る復旧方法は、情報処理装置によって、
自装置に接続されたデバイスに含まれる監視対象部の状態を監視し、
前記監視対象部の異常が検知されたとき、
前記デバイスに対してリセットを要求し、
前記リセットを要求した後、前記デバイスに含まれる、前記デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視し、
前記ステータス情報において、前記デバイスが起動状態となったことを表す情報である起動ステータスが検知されたとき、自装置に含まれる第1の記憶装置に記憶された、前記デバイスにおいて自装置との接続再開に使用される情報である接続情報を、前記第2の記憶装置に書き込み、前記接続情報の書き込みを行ったことを表す情報である接続情報設定済みステータスによって、前記ステータス情報を更新し、
前記デバイスが通常の処理へ復帰できる状態になったことを表す情報である復帰済みステータスが検知されたとき、通常の処理を再開可能であることを所定の方法によって通知する。
また、同目的は、上記の各構成を有する情報処理装置、デバイス、並びに対応する方法を、それぞれ(←装置等が複数ある場合)コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
本発明には、異常から復旧したデバイスと再接続することにより、上位ホストである情報処理装置を再起動することなく運用を継続できるという効果がある。
本発明の第1の実施形態に係る情報システムの構成を示すブロック図である。 第1の実施形態において情報処理装置1およびデバイス20が行う動作を示すフローチャートである。 本発明の第2の実施形態に係るディスクアレイシステムの構成を示すブロック図である。 第2の実施形態において本体装置100およびディスクアレイコントローラ200が行う動作を示すフローチャートである。 第2の実施形態の変形例において、本体装置100およびディスクアレイコントローラ200が行う動作を示すフローチャートである。 本発明の各実施形態、および、その変形例に係る情報システムおよびディスクアレイシステムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。
次に、本発明の実施形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態に係る情報システムの構成を示すブロック図である。図1を参照すると、本実施形態に係る情報システムは、情報処理装置1、および、情報処理装置1に接続されるデバイス20を含む。
情報処理装置1およびデバイス20は、各種バス、ファイバチャネル、またはLAN(Local Area Network)等の通信ネットワークを介して、互いに通信可能に接続される。
情報処理装置1は、CPU(Central Processing Unit:図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、情報処理装置1の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、情報処理装置1をコンピュータによって実現したハードウェア構成例については、図6を参照して後述する。
デバイス20は、プロセッサ(IO(InputOutput)プロセッサ:図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム、またはファームウェア・プログラム)の制御により動作する情報処理装置(デバイス)によって構成されてもよい。または、デバイス20の各部は、専用のハードウェアデバイス、または論理回路によって構成されても良い。
情報処理装置1は、状態監視部3、リセット要求部4、ステータス検出部5、接続情報設定部6および第1の記憶装置10を含む。第1の記憶装置10は、接続情報11を記憶することができる。第1の記憶装置10は、例えば、半導体メモリ装置、またはディスク装置などにより実現される。
状態監視部3は、情報処理装置1に接続されたデバイス20に含まれる監視対象部21の状態を監視し、監視対象部21の異常を検知することができる。
リセット要求部4は、監視対象部21の異常が検知されたとき、デバイス20に対してリセットを要求する。
ステータス検出部5は、リセットが要求された後、デバイス20に含まれる第2の記憶装置40に記憶されるステータス情報41を監視する。第2の記憶装置40は、デバイス20と情報処理装置1との双方から読み書き可能なメモリである。ステータス検出部5は、ステータス情報41において、デバイス20が起動処理を行ったことを表す情報である「起動」ステータスを検知することができる。また、ステータス検出部5は、ステータス情報41において、デバイス20がリセットから復帰できる状態になったことを表す情報である「復帰済み」ステータスを検知することができる。「復帰済み」ステータスを検知した場合、ステータス検出部5は、通常の処理を再開可能であることを、所定の方法によって通知する。ステータス検出部5は、例えば、デバイス20の監視対象部21に対して入出力などの要求を発行する制御部2などに対して、通常の処理を再開可能であることを通知してもよい。
接続情報設定部6は、ステータス情報41において「起動」ステータスが検知されたとき、デバイス20において情報処理装置1との接続再開に使用される情報である接続情報11を、デバイス20に含まれる第2の記憶装置40に書き込む。なお、接続情報11は、第1の記憶装置10にあらかじめ記憶されている。また、第2の記憶装置40に書き込まれた接続情報11は、区別のため、接続情報42と称する。そして、接続情報設定部6は、接続情報11(接続情報42)の書き込みを行ったことを表す「接続情報設定済み」ステータスによって、ステータス情報41を更新する。
デバイス20は、ステータス監視部22、接続情報取得部23、リセット部30、および第2の記憶装置40を含む。リセット部30は、リセット制御部31、および電源制御部32を含む。第2の記憶装置40は、ステータス情報41、および接続情報42を記憶することができる。第2の記憶装置40は、例えば、半導体メモリ装置、ディスク装置、論理回路などにより実現される。なお、第2の記憶装置40は、ステータス情報41と接続情報42とをそれぞれ記憶する2つに分かれた記憶装置によって実現してもよい。
リセット制御部31は、情報処理装置1からリセットが要求されたことを検知したとき、電源制御部32を介して、デバイス20に含まれる所定の各部(HWリセットされる範囲)をハードウェアリセット(HWリセット)する。
電源制御部32は、上述した所定の各部(HWリセットされる範囲)の電源を制御することができる。リセット部30自身の電源は、例えば、情報処理装置1に含まれる電源制御部7など、電源制御部32以外の電源から供給してもよい。なお、電源制御部7は、情報処理装置1以外の図示しない装置、または、デバイス20などにあってもよい。
ステータス監視部22は、デバイス20において、HWリセット後における所定の起動処理が行われたことを検知する。そして、ステータス監視部22は、情報処理装置1とデバイス20との双方から読み書き可能な記憶装置である第2の記憶装置40に記憶されるステータス情報41を、起動状態であることを表す情報である「起動」ステータスによって更新する。
接続情報取得部23は、ステータス監視部22によって「起動」ステータスによる更新が行われた後、ステータス情報41を監視する。接続情報取得部23は、ステータス情報41において、「接続情報設定済み」ステータスが検知されたとき、少なくとも接続情報42が取得されたことを、所定の方法で通知する。このとき、接続情報取得部23は、通知と共に接続情報42を、所定の各部に渡してもよい。そして、接続情報取得部23は、通常の処理に復帰できる状態になったことを表す情報である「復帰済み」ステータスによってステータス情報41を更新する。
次に、図2を参照して、上述した構成を備える本実施形態の動作について詳細に説明する。図2は、第1の実施形態において情報処理装置1およびデバイス20が行う動作を示すフローチャートである。
以下の動作の前に、情報処理装置1における第1の記憶装置10には、接続情報11があらかじめ記憶されている前提とする。接続情報11は、例えば、デバイス20の監視対象部21との間で入出力を行う制御部2などが、正常に処理を行っている間に、第1の記憶装置10に記憶しておくことができる。
まず、情報処理装置1において、状態監視部3が、監視対象部21の異常を検知する(ステップA10)。状態監視部3は、図示しないバスなどの経路を通して、監視対象部21の異常を直接検知してもよい。または、状態監視部3は、例えば、デバイス20の監視対象部21に対して入出力などの要求を発行する制御部2などの動作を監視してもよい。そして、状態監視部3は、デバイス20から制御部2に対する応答の状態(無応答、遅延、エラー応答、または異常な応答内容など)に基づいて、監視対象部21の異常を間接的に検知してもよい。
状態監視部3が異常を検出した場合、リセット要求部4が、デバイス20に対してリセットを要求する(ステップA11)。この後、情報処理装置1では、ステータス検出部5が、デバイス20の第2の記憶装置40に記憶されたステータス情報41を監視する。
リセットを要求されたデバイス20では、リセット制御部31が、情報処理装置1からリセットが要求されたことを検知する(ステップB20)。
次に、リセット制御部31は、電源制御部32を介して、デバイス20に含まれる所定の各部(HWリセットされる範囲)のハードウェアリセット(HWリセット)を実行する(ステップB21)。HWリセットされる範囲は、例えば、デバイス20に含まれるリセット部30を除く各部であってもよい。または、HWリセットされる範囲は、例えば、監視対象部21、および第2の記憶装置40であってもよい。一般に、HWリセットされる範囲が広い方が、デバイス20が異常状態から回復できる可能性が高まる。
HWリセットが実行されると、図示しないローダなどによって、HWリセットされた範囲の起動処理が実行される。起動処理とは、例えば、機能部のロード、および記憶装置に記憶された情報の初期化などを含む。起動処理が行われた(終了した)後、監視対象部21(またはデバイス20)は「起動状態」とみなされる。
ステータス監視部22は、HWリセットの実行後、監視対象部21の状態を監視する。そして、ステータス監視部22は、所定の起動処理が行われたことを検知する(ステップB22)。
次に、ステータス監視部22は、「起動」ステータスによってステータス情報41を更新する(ステップB23)。この後、デバイス20では、接続情報取得部23がステータス情報41を監視する。
情報処理装置1においては、ステータス検出部5が、ステータス情報41において、「起動」ステータスを検知する(ステップA12)。
「起動」ステータスが検知されると、接続情報設定部6が、第1の記憶装置10に記憶された接続情報11を、デバイス20に含まれる第2の記憶装置40に書き込む(ステップA13)。上述した通り、第2の記憶装置40に書き込まれた接続情報11の内容は、接続情報42と呼ぶ。
接続情報設定部6は、「接続情報設定済み」ステータスによって、ステータス情報41を更新する(ステップA14)。この後、情報処理装置1では、ステータス検出部5が、ステータス情報41を監視する。
デバイス20においては、接続情報取得部23が、ステータス情報41において、「接続情報設定済み」ステータスを検知する(ステップB24)。
「接続情報設定済み」ステータスが検知されると、接続情報取得部23は、少なくとも接続情報42が取得されたことを、所定の方法で通知する。例えば、接続情報取得部23は、接続情報42が取得されたことを、監視対象部21などの所定の各部に通知してもよい。通知を受けた監視対象部21などの各部は、第2の記憶装置40に記憶された接続情報42を使用して、情報処理装置1との接続を再開する準備が整う。
次に、接続情報取得部23は、「復帰済み」ステータスによってステータス情報41を更新する(ステップB25)。
情報処理装置1においては、ステータス検出部5が、ステータス情報41において、「復帰済み」ステータスを検知する(ステップA15)。ステータス検出部5は、例えば、制御部2などに対して、デバイス20との間で行う通常の処理が再開可能であることを通知する。通知を受けた制御部2は、接続情報11を使用して、デバイス20との接続を再開する。このようにして、情報処理装置1およびデバイス20は、まずお互いを再接続し、その後、通常の処理を再開することができる。
以上説明したように、本実施形態によれば、情報処理装置1の再起動なしに、異常から復旧したデバイス20と再接続することにより運用を継続できる情報処理装置1を提供することができるという効果がある。
その理由は、デバイス20のステータス監視部22が、HWリセット後に、デバイス20が起動状態になったことを、ステータス情報41を介して、情報処理装置1のステータス検出部5に対して伝えるからである。それから、情報処理装置1の接続情報設定部6が、接続情報11(接続情報42)を、第2の記憶装置40を介して、デバイス20の接続情報取得部23に対して与えるからである。すなわち、情報処理装置1は、HWリセットによって接続情報42の内容を失ったデバイス20に対して、第2の記憶装置40を介して、接続情報11(接続情報42)を与えることができる。その結果として、情報処理装置1は、自身を再起動させることなく、接続情報11を使用して、デバイス20との接続を再開させることが可能となる。
また、本実施形態には、デバイス20の監視対象部21が動作できない(フリーズした状態になった)場合にも、リセット処理を実行することができるという効果がある。
その理由は、デバイス20の外にある情報処理装置1の状態監視部3が、監視対象部21の異常を検知することができるからである。そして、リセット要求部4を介して、デバイス20に対してリセットを要求することができるからである。また、デバイス20では、リセット制御部31が、電源制御によって、所定の範囲の各部をHWリセットすることができるからである。また、リセット部30が、監視対象部21とは別系統の電源によって動作できる場合、監視対象部21の異常の影響を受けずに、HWリセットを実行できる可能性が高いという効果も期待できる。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。以下では、第2の実施形態に係る特徴的な部分を中心に説明し、第1の実施形態と同様な構成を有する第2の実施形態の構成要素には、第1の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
まず、図3を参照して、以下に本実施形態の構成を説明する。図3は、本発明の第2の実施形態に係るディスクアレイシステムの構成を示すブロック図である。本実施形態は、一例として、ディスクアレイシステムに本発明を適用した事例である。
図3を参照すると、本実施形態に係るディスクアレイシステムは、本体装置(情報処理装置)100、ディスクアレイコントローラ200、および、複数の物理デバイス280を含む。本体装置100は、第1の実施形態における情報処理装置1を基本とする。ディスクアレイコントローラ200は、第1の実施形態におけるデバイス20を基本とする。
本体装置100およびディスクアレイコントローラ200は、各種バス、ファイバチャネル、またはLAN等の通信ネットワークを介して、互いに通信可能に接続される。複数の物理デバイス280は、各種バス、ファイバチャネル、またはLAN等の通信ネットワークを介して、ディスクアレイコントローラ200と互いに通信可能に接続される。本体装置100は、ディスクアレイコントローラ200を介して、各物理デバイス280に対するデータの入出力(IO)要求の発行すること、および、IO要求に対する応答を、各物理デバイス280から受け取ることが可能である。
本体装置100は、CPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、本体装置100の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、本体装置100をコンピュータによって実現したハードウェア構成例については、図6を参照して後述する。
ディスクアレイコントローラ200は、プロセッサ(IOプロセッサ)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム、またはファームウェア・プログラム)の制御により動作する情報処理装置(デバイス)によって構成されてもよい。または、ディスクアレイコントローラ200の各部は、専用のハードウェアデバイス、または論理回路によって構成されても良い。
各物理デバイス280は、半導体メモリ装置、またはハードディスク装置などにより実現される。
本体装置100は、装置電源制御部107、装置メモリ110、OS(Operating System)130を含む。装置メモリ110は、ベースアドレス情報111、および一時保存データ112を記憶することができる。OS130は、ドライバ120、およびIO制御部131を含む。ドライバ120は、状態監視部3、リセット要求部4、ステータス検出部5、接続情報設定部6、ドライバ制御部102、本体装置メモリ制御部121、IO停止制御部122、およびIOキューイング部123を含む。
本実施形態の本体装置100は、ベースアドレス設定部106、装置電源制御部107、OS130に含まれるIO制御部131、ドライバ120に含まれるドライバ制御部102、IO停止制御部122、およびIOキューイング部123、および本体装置メモリ制御部121を含む点が、第1の実施形態の情報処理装置1と異なる。
ベースアドレス設定部106は、第1の実施形態における接続情報設定部6を基本とする。ベースアドレス設定部106は、第1の実施形態における接続情報11に替えて、装置メモリ110に記憶されるベースアドレス情報111を、ディスクアレイコントローラ200に含まれるベースアドレスレジスタ242に書き込む。ベースアドレス設定部106の構成と内容は、上述した点以外は、第1の実施形態における接続情報設定部6と同様であるので、重複する詳細な説明は省略する。ベースアドレスレジスタ242の詳細は、ディスクアレイコントローラ200の説明において、後述する。
本実施形態におけるベースアドレス情報111は、第1の実施形態における接続情報11の一例である。本実施形態において、ドライバ120とRAIDコントローラ250(ディスクアレイコントローラ200)との間の通信は、本体装置100に含まれる共有するメモリ空間(共有メモリ:図示せず)に対して、一方から置かれたデータを、他方から引き取ることによって実現される。ベースアドレス情報111は、共有するメモリ空間の範囲を示すアドレスの情報を含む。すなわち、ベースアドレス情報111は、本体装置100とディスクアレイコントローラ200とのデータの受け渡しに使用される共有メモリの範囲を示すアドレスの情報である。したがって、ドライバ120およびRAIDコントローラ250のどちらか一方でもベースアドレス情報111を失った場合、ドライバ120とRAIDコントローラ250とは、通信することができない。共有メモリは、本実施形態においては、装置メモリ110、または、図示しない他の記憶装置に含まれてもよい。
本実施形態では、第1の実施形態における電源制御部7を基本として、装置電源制御部107が、本体装置100において実装される。装置電源制御部107は、ディスクアレイコントローラ200におけるリセット回路230および記憶装置260に対して、電源を供給することができる。
IO制御部131は、ドライバ120、およびディスクアレイコントローラ200を介して、物理デバイス280に対するIO要求の発行、およびIO応答の受信を行う。
ドライバ制御部102は、第1の実施形態における制御部2を基本とする。すなわち、ドライバ制御部102は、状態監視部3が、監視対象部21の異常検知に際して、間接的に監視する対象である。また、ドライバ制御部102は、ステータス検出部5が、「復帰済み」ステータスを検知した際に、通常の処理を再開可能であることを通知する対象である。
さらに、本実施形態では、ドライバ制御部102は、ドライバ120に含まれる各部を制御することにより、IO要求およびIO応答に対するIO処理(以下、「通常の処理」とも言う)、および本実施形態に係る各処理を制御する。すなわち、本実施形態では、一例として、ドライバ120に含まれる各部は、ドライバ制御部102を介して、動作の連携を取るように実装されている。例えば、第1の実施形態において、リセットが要求された際のリセット要求部4とステータス検出部5との各動作の連携は、本実施形態では、ドライバ制御部102を介して、実現される。以下の説明では、各部における各動作の間をドライバ制御部102が仲介することの記述を省略する。
本実施形態の本体装置100では、IO停止制御部122、およびIOキューイング部123が、RAIDコントローラ250のリセットに際して、IO制御部131から発行されるIO要求を損失しないよう対処する点が、第1の実施形態の情報処理装置1と異なる。
IO停止制御部122は、監視対象部21の異常が検知された後、リセットが要求される前の準備処理の一部として、IO制御部131に対して、それ以降のIO要求の発行を停止することを要求する。また、IO停止制御部122は、「復帰済み」ステータスが検知された後、通常の処理を再開する前の復帰処理の一部として、IO制御部131に対して、停止したIO要求の発行の再開を要求する。
IOキューイング部123は、監視対象部21の異常が検知された後、リセットが要求される前の準備処理の一部として、ディスクアレイコントローラ200に対して未発行のIO要求の内容を、一時保存データ112として、装置メモリ110に保存(記憶、キューイング)する。また、IOキューイング部123は、「復帰済み」ステータスが検知された後、通常の処理を再開する前の復帰処理の一部として、一時保存データ112に保存した未発行のIO要求を、ディスクアレイコントローラ200に対して発行する。
本体装置メモリ制御部121は、第1の実施形態の情報処理装置1における第1の記憶装置10を基本とする。本体装置メモリ制御部121は、第1の実施形態における接続情報11を基本とするベースアドレス情報111、および、上述した一時保存データ112を記憶することができる。
状態監視部3、リセット要求部4、およびステータス検出部5の各構造および内容は、以下の点を除いて、上述した第1の実施形態を基本とする。
状態監視部3は、第1の実施形態における監視対象部21の異常検知に際して、間接的にドライバ制御部102を監視する。本実施形態における監視対象部21は、ディスクアレイコントローラ200のIOプロセッサ221である。
リセット要求部4は、状態監視部3が異常を検知した際、ディスクアレイコントローラ200に対してリセットを要求する。
ステータス検出部5は、ステータス情報41の格納先として、第2の記憶装置40を基本とする記憶装置240を対象として、第1の実施形態を基本とする各動作を行う。また、ステータス検出部5は、「復帰済み」ステータスを検知した際に、通常の処理を再開可能であることを、ドライバ制御部102に対して通知する。
以上、本実施形態における状態監視部3、リセット要求部4、およびステータス検出部5の各構造と内容は、上述した点以外は、第1の実施形態と同様であるので、重複する詳細な説明は省略する。
ディスクアレイコントローラ200は、リセット回路230、RAIDコントローラ250、記憶装置260、およびフラッシュメモリ270を含む。リセット回路230は、リセット検出部233、HWリセット制御部231、および電源制御部232を含む。RAIDコントローラ250は、ステータス監視部22、記憶装置240、IOプロセッサ221、ベースアドレス取得部223、ベースアドレスレジスタ242、メモリコントローラ251、IOコントローラ252、および復帰処理部253を含む。記憶装置240は、ステータス情報41を記憶することができる。記憶装置260は、一時保存データ261を記憶することができる。フラッシュメモリ270は、ファームウェア(FW)バイナリ271を記憶することができる。
本実施形態のディスクアレイコントローラ200は、IOプロセッサ221、ベースアドレス取得部223、リセット回路230に含まれるリセット検出部233、HWリセット制御部231、記憶装置240、ベースアドレスレジスタ242、メモリコントローラ251、IOコントローラ252、復帰処理部253、記憶装置260、フラッシュメモリ270、およびFWバイナリ271を含む点が第1の実施形態におけるデバイス20と異なる。
IOプロセッサ221は、第1の実施形態における監視対象部21である。ただし、厳密には、監視対象部21は、IOプロセッサ221のIO処理動作に影響を与えうるIOコントローラ252、メモリコントローラ251などの各部を含むとも言える。
また、本実施形態では、IOプロセッサ221は、RAIDコントローラ250に含まれる各部を制御することにより、ドライバ120とやり取りするIO要求およびIO応答に対するIO処理(以下、「通常の処理」とも言う)、および本実施形態に係る各処理を制御する。すなわち、本実施形態では、RAIDコントローラ250に含まれる各部は、IOプロセッサ221を介して、動作を実行する。
また、RAIDコントローラ250に含まれる各部は、IOコントローラ252を介して、物理デバイス280に接続される。同様に、RAIDコントローラ250に含まれる各部は、メモリコントローラ251を介して、記憶装置260にアクセスする。
以下では、各部の動作が、IOプロセッサ221、IOコントローラ252、メモリコントローラ251を介して実行されることの記述を省略する。また、通常の処理は、図示しないFWプログラムがIOプロセッサ221を介して実行する。以下では、図示しないFWプログラムに替えて、IOプロセッサ221を主語として、通常の処理を説明する。例えば、通常の処理として、図示しないFWプログラムが、IO要求を受けたとき、IOプロセッサ221およびメモリコントローラ251を介して、記憶装置260に、IO要求の内容を一時保存データ261として保存する動作がある。以下ではこれを、「IOプロセッサ221は、IO要求を受けた時、記憶装置260に、IO要求の内容を一時保存データ261として保存する」と記述する。
リセット回路230は、第1の実施形態におけるリセット部30を基本とする。本実施形態では、第1の実施形態におけるリセット制御部31が行う動作は、リセット検出部223とHWリセット制御部231とが分担している。リセット検出部223は、本体装置100からリセットが要求されたことを検知する。HWリセット制御部231は、リセット要求が検知されたとき、電源制御部232を介して、RAIDコントローラ250の各部をHWリセットする。電源制御部232は、RAIDコントローラ250の各部の電源を制御することができる。すなわち、本実施形態におけるHWリセットされる範囲には、第1の実施形態における監視対象部21に加えて、本発明を実現する各部(ステータス監視部22、ベースアドレス取得部223および復帰処理部253)も含まれる。
ベースアドレス取得部223は、第1の実施形態における接続情報取得部23を基本とする。本実施形態では、ベースアドレス情報111が、第1の実施形態における接続情報42に対応する。したがって、ベースアドレス取得部223は、ベースアドレスレジスタ242に記憶されるベースアドレス情報が取得されたことを、IOプロセッサ221に通知する。ベースアドレス取得部223の構成と内容は、上述した点以外は、第1の実施形態における接続情報取得部23と同様であるので、重複する詳細な説明は省略する。
記憶装置240は、ステータス情報41を記憶することができる。また、ベースアドレスレジスタ242は、第1の実施形態における接続情報42に対応するベースアドレス情報を記憶することができる。記憶装置240およびベースアドレス242は、第1の実施形態における第2の記憶装置40を基本とする。すなわち、第1の実施形態における第2の記憶装置40は、本実施形態では、2つの記憶装置として実現される。なお、図3において、ベースアドレスレジスタ242に記憶されたベースアドレス情報は、記述を省略されている。
復帰処理部253は、起動処理が実行されたことを検知した後、ステータス情報41を「起動」ステータスに更新する前に、記憶装置260に記憶された一時保存データ261を、物理デバイス280に書き込むという復帰処理を行う。一時保存データ261は、入出力処理が未完了なデータが一時的に記憶されたデータである。通常の処理において、IOプロセッサ221は、IOコントローラ252に対して出力したIOデータを、一時保存データ261として記憶する。そして、IOプロセッサ221は、IOコントローラ252から出力したIOデータの処理が終了したことを知った後に、一時保存データ261からそのIOデータを消去する。すなわち、一時保存データ261は、一般的なRAIDコントローラにおけるキャッシュデータであってもよい。復帰処理は、この入出力処理未完了のキャッシュデータである一時保存データ261に対して、リセットの再起動後に入出力処理を完了するという処理である。
記憶装置260は、キャッシュである一時保存データ261を保存することができる記憶装置である。記憶装置260は、一般的なキャッシュに使われるメモリであってもよい。ただし、記憶装置260に対する電源は、RAIDコントローラ250とは別の電源である装置電源制御部107から供給される。
FWバイナリ271は、RAIDコントローラ250に含まれる各機能部のファームウェア・プログラムを実行形式で表したバイナリファイルである。各機能部は、少なくとも、ステータス監視部22、ベースアドレス取得部223、復帰処理部253、および、上述した通常の処理を制御する図示しないFWプログラムを含む。FWバイナリ271は、HWリセット後の起動処理において、図示しないローダなどによって実行可能に展開される。
フラッシュメモリ270は、半導体素子等によって実現される不揮発性のメモリである。
ステータス監視部22の構造および内容は、第1の実施形態と同様であるので、重複する詳細な説明は省略する。
次に、上述した構成を備える本実施形態の動作について詳細に説明する。 はじめに、本説明における前提条件を述べる。
ベースアドレス情報111は、システムの立ち上げの際、本体装置100およびディスクアレイコントローラ200がそれぞれ初期処理を行う間に、本体装置100のBIOS(Basic Input Output System:図示せず)によって決定される。BIOSは、初期処理において、決定したベースアドレス情報111をRAIDコントローラ250に対して通知する。RAIDコントローラ250は、初期処理において、通知されたベースアドレス情報111を、本実施形態では、ベースアドレスレジスタ242に記憶する。一方、BIOSは、決定したベースアドレス情報111を、装置メモリ110のベースアドレス情報111として保存することにより、ドライバ120(OS130)に引き渡す。BIOSの初期処理は、通常、本体装置100を再起動しなければ実行されない。すなわち、RAIDコントローラ250のリセットによってベースアドレス情報111を失った場合、一般的な手順では、本体装置100を再起動せずに、RAIDコントローラ250に対してベースアドレス情報111再通知することはできない。
ディスクアレイコントローラ200における一時保存データ261は、上述したように、通常の処理の過程で、IOプロセッサ221によって、IOコントローラ252に対して出力したIOデータを、一時保存データ261として随時保存される。図4および以下の動作の説明において、一時保存データ261の保存と消去の記述は省略する。
このような前提条件における、ディスクアレイシステムの動作を説明する。図4は、第2の実施形態において本体装置100およびディスクアレイコントローラ200が行う動作を示すフローチャートである。図4において、図2と同じ符号を付したステップの動作は、第1の実施形態と第2の実施形態とで名称が異なる各部の読み替えを行う以外、第1の実施形態と同様である。したがって、以下の説明では、原則として、重複する詳細な説明を省略する。
まず、本体装置100において、状態監視部3が、ドライバ制御部102の動作から、IOプロセッサ221の異常を検知する(ステップA10)。例えば、状態監視部3は、ドライバ制御部102がIOプロセッサ221に対してIOを発行した後、所定の時間IOプロセッサ221から応答がないことを検出したとき、IOプロセッサ221の異常を検知したと判断してもよい。状態監視部3は、IOプロセッサ221の異常を検知したことを、ドライバ制御部102に対して通知する。
次に、ドライバ制御部102は、リセット準備処理を行う(ステップA30)。具体的には、ドライバ制御部102は、IO停止制御部122およびIOキューイング部123を介して、これから行われるリセットによって、IO制御部131から発行されるIO要求を損失しないよう対処する。IO停止制御部122は、IO制御部131に対して、IO要求の発行を停止することを要求する。また、IOキューイング部123は、IOプロセッサ221に対して未発行のIO要求の内容を、一時保存データ112として、装置メモリ110に保存する。
これ以降の本体装置100におけるステップA11、およびディスクアレイコントローラ200におけるステップB20〜B22の動作は、第1の実施形態における図2の同じ符号を付したステップの動作と同様であるので、重複する詳細な説明を省略する。
ディスクアレイコントローラ200において、ステータス監視部22が、HWリセット後の所定の起動処理が行われたことを検知(ステップB22)した後、本実施形態では、IOプロセッサ221を介して、次の復帰処理部253に制御が渡される。すなわち、復帰処理部253が、復帰処理を実行する(ステップB40)。具体的には、復帰処理部253は、そのときに記憶されていた一時保存データ261を、物理デバイス280に対して出力する。この一時保存データ261は、HWリセット(ステップB21)の前に保存されていたデータである。このようにして、RAIDコントローラ250は、HWリセットによるIOデータの損失をできるだけ低減することができる。
次に、ステータス監視部22は、「起動」ステータスによってステータス情報41を更新する(ステップB23)。各部の間で(復帰処理部253からステータス監視部22へ)制御が渡る方法は、ステップB22〜B40の間と同様なので、重複する詳細な説明は省略する。
ディスクアレイコントローラ200におけるステップB23〜B26、および本体装置100におけるステップA12〜A15の動作は、第1の実施形態における図2の同じ符号を付したステップの動作と同様であるので、重複する詳細な説明を省略する。
本体装置100において、ステータス検出部5が、ステータス情報41において、「復帰済み」ステータスを検知した(ステップA15)後、ドライバ制御部102は、通常の処理を再開する前に、復帰処理を行う(ステップA31)。具体的には、ドライバ制御部102は、IO停止制御部122およびIOキューイング部123を介して、ステップA30で行ったリセット準備処理を解除する。IOキューイング部123は、一時保存データ112に保存した未発行のIO要求を、ディスクアレイコントローラ200に対して発行する。また、IO停止制御部122は、IO制御部131に対して、停止したIO要求の発行の再開を要求する。このようにして、本体装置100は、RAIDコントローラ250のHWリセットによって、IO制御部131から発行されるIO要求ができるだけ損失しないようにすることができる。
これらの復帰処理が行われた後、ドライバ制御部102は、ベースアドレス情報111を使用して、ディスクアレイコントローラ200との接続を再開する。ディスクアレイコントローラ200では、IOプロセッサ221(図示しないFWプログラム)が、ステップB25で取得(を確認)したベースアドレス情報を、ベースアドレスレジスタ242から読み出して、接続の再開に応じることができる。
このようにして、本体装置100およびディスクアレイコントローラ200は、HWリセットに際して、IO要求のデータを保護しつつ、通常の処理を再開することができる。
以上、説明したように、本実施形態には、上述した第1の実施形態と同様の効果に加えて、さらに、リセットの影響からIO要求のデータを保護することができるという効果もある。
その理由は、本体装置100において、IO停止制御部122が、リセット要求の前後において、IO制御部131に対するIO要求の発行を制御するからである。IOキューイング部123が、リセット要求の前後において、未完了のIO要求を一時保存データ112として保護するからである。また、ディスクアレイコントローラ200において、復帰処理部253が、HWリセットの前に保存されていた未完了のIO要求のデータを、HWリセット後に、物理デバイス280に対して出力するからである。
(第2の実施形態の変形例)
なお、本実施形態の変形例としては以下のようなものが考えられる。
例えば、ディスクアレイコントローラ200自身が、IOプロセッサ221における処理の異常を検出してもよい。この場合、ステータス監視部22または図示しない機能部が、IOプロセッサ221の処理の異常の検知と、本体装置100への通知を行ってもよい。本体装置100では、例えば、ステータス検出部5または図示しない機能部が、状態監視部3に代わって、IOプロセッサ221の異常の通知を検知してもよい。
以下に、この変形例における動作を、図5を参照して説明する。図5は、第2の実施形態の変形例において、本体装置100およびディスクアレイコントローラ200が行う動作を示すフローチャートである。以下では、一例として、図5における「監視対象部」を、「IOプロセッサ221」と読み替えて説明する。
まず、ディスクアレイコントローラ200において、ステータス監視部22が、IOプロセッサ221における処理の異常を検出する(ステップB60)。ステータス監視部22は、IOプロセッサ221の処理に異常が発生したことを表す「異常」ステータスによって、ステータス情報41を更新する(ステップB61)。
本体装置100においては、ステータス検出部5が、通常の処理中にもステータス情報41を監視する。そして、ステータス検出部5は、ステータス情報41において、「異常」ステータスを検知する(ステップA50)。この後の処理は、図4におけるステップA30以降の処理と同様である。このようにして、ディスクアレイコントローラ200が検知した自身の異常に対しても、HWリセットによる復旧を図ることができる。
この変形例によれば、RAIDコントローラ250のIOプロセッサ221が動作できないほどではない異常に対しても、HWリセットによる復旧が可能になるという効果がある。すなわち、この変形例は、復旧できる異常のタイプの増加と、HWリセットという復旧の可能性の高さの両方が期待できる。
なお、上述した各実施形態において図1および図3に示した各部は、それぞれ独立したハードウェア回路で構成されていてもよいし、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捕らえることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。このような場合のハードウェア環境の一例を、図6を参照して説明する。
図6は、本発明の各実施形態、および、その変形例に係る情報システムおよびディスクアレイシステムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。すなわち、図6は、上述した各実施形態における情報処理装置1および本体装置(情報処理装置)100の少なくともどちらかを実現可能なコンピュータの構成であって、上述した各実施形態における各機能を実現可能なハードウェア環境を示す。
図6に示したコンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、通信インタフェース(IF)904、ディスプレイ905、およびハードディスク装置(HDD)906を備え、これらがバス907を介して接続された構成を有する。なお、図6に示したコンピュータが情報処理装置1および本体装置(情報処理装置)100として機能する場合、ディスプレイ905は常時設けられる必要はない。
また、通信インタフェース904は、上述した各実施形態において、当該各コンピュータ間における通信を実現する一般的な通信手段である。ハードディスク装置906には、プログラム群906Aと、各種の記憶情報906Bとが格納されている。プログラム群906Aは、例えば、上述した図1および図3に示した各ブロック(各部)に対応する機能を実現するためのコンピュータ・プログラムである。各種の記憶情報906Bは、例えば、図1または図3に示した接続情報11、ベースアドレス情報111、および一時保存データ112などである。このようなハードウェア構成において、CPU901は、コンピュータ900の全体の動作を司る。
そして、上述した各実施形態を例に説明した本発明は、各実施形態の説明において参照したブロック構成図(図1または図3)あるいはフローチャート(図2、図4、または図5)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU901に読み出して実行することによって達成される。また、このコンピュータ内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリであるRAM903またはハードディスク装置906などの不揮発性の記憶デバイス(記憶媒体)に格納すれば良い。
また、前記の場合において、当該各装置内へのコンピュータ・プログラムの供給方法は、フロッピーディスク(登録商標)やCD−ROM等の各種記録媒体を介して当該装置内にインストールする方法や、インターネット等の通信ネットワーク1000を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
なお、上述した実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下の付記に限定されるものではない。
(付記1)
自装置に接続されたデバイスに含まれる監視対象部の状態を監視し、前記監視対象部の異常を検知する状態監視手段と、
前記監視対象部の異常が検知されたとき、
前記デバイスに対してリセットを要求するリセット要求手段と、
前記リセットを要求した後、前記デバイスに含まれる、前記デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視し、
前記ステータス情報において、
前記デバイスが起動状態となったことを表す情報である起動ステータス、および、前記デバイスが通常の処理へ復帰できる状態になったことを表す情報である復帰済みステータスをそれぞれ検知し、
復帰済みステータスが検知されたとき、通常の処理を再開可能であることを所定の方法によって通知するステータス検出手段と、
前記起動ステータスが検知されたとき、自装置に含まれる第1の記憶装置に記憶された、前記デバイスにおいて自装置との接続再開に使用される情報である接続情報を、前記第2の記憶装置に書き込み、前記接続情報の書き込みを行ったことを表す情報である接続情報設定済みステータスによって、前記ステータス情報を更新する接続情報設定手段と
を含む情報処理装置。
(付記2)
自装置と前記デバイスとのデータの受け渡しを介在する共有メモリをさらに含み、
前記接続情報は、前記共有メモリの範囲を示すアドレスの情報を含むベースアドレス情報である
付記1記載の情報処理装置。
(付記3)
前記監視対象部の異常が検知された後、前記リセットを要求する前に前記デバイスに対して未発行の入出力(IO)要求の内容を一時保存データとして記憶し、前記復帰済みステータスが検知された後、前記一時保存データ前記IO要求の内容に基づいて入出力要求を前記デバイスに対して発行するIOキューイング手段をさらに含む
付記1または2記載の情報処理装置。
(付記4)
前記監視対象部の異常が検知された後、前記リセットを要求する前にIO要求の発行元に対して、それ以降のIO要求の発行を停止することを要求し、前記復帰済みステータスが検知された後、停止した前記IO要求の発行の再開を要求するIO停止制御手段をさらに含む
付記1乃至3のいずれか1つに記載の情報処理装置。
(付記5)
自デバイスに含まれる所定の各部の電源を制御する電源制御手段と、
自デバイスが接続された情報処理装置からリセットが要求されたことを検知したとき、前記電源制御手段を介して、自デバイスに含まれる所定の各部をハードウェアリセット(HWリセット)するリセット手段と、
自装置において、前記HWリセット後における所定の起動処理が行われたことを検知し、自装置に含まれる、前記情報処理装置と自装置との双方から読み書き可能な記憶装置に記憶されるステータス情報を、起動状態であることを表す情報である起動ステータスによって更新するステータス監視手段と、
前記起動ステータスによる更新が行われた後、前記ステータス情報を監視し、前記情報処理装置との接続の再開に使用される情報である接続情報が、前記記憶装置に書き込まれたことを表す情報である接続情報設定済みステータスが検知されたとき、少なくとも前記接続情報が取得されたことを所定の方法で通知し、通常の処理に復帰できる状態になったことを表す情報である復帰済みステータスによって前記ステータス情報を更新する接続情報取得手段と
を含むデバイス。
(付記6)
前記接続情報は、前記情報処理装置に含まれる記憶装置である共有メモリにおいて、前記情報処理装置と自デバイスとのデータの受け渡しに使用される前記共有メモリの範囲を示すアドレスの情報を含むベースアドレス情報であり、
前記記憶装置における前記接続情報が書き込まれる部分は、レジスタの一つであるベースアドレスレジスタである
付記5記載のデバイス。
(付記7)
前記起動処理が行われたことを検知した後、前記ステータス情報を前記起動ステータスによって更新する前に、入出力処理が未完了なデータが一時的に記憶されたデータである一時保存データに対して、前記入出力処理を完了する復帰処理手段をさらに含む
付記5または6記載のデバイス。
(付記8)
自装置に接続されたデバイスに含まれる監視対象部の状態を監視し、
前記監視対象部の異常が検知されたとき、
前記デバイスに対してリセットを要求し、
前記リセットを要求した後、前記デバイスに含まれる、前記デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視し、
前記ステータス情報において、前記デバイスが起動状態となったことを表す情報である起動ステータスが検知されたとき、自装置に含まれる第1の記憶装置に記憶された、前記デバイスにおいて自装置との接続再開に使用される情報である接続情報を、前記第2の記憶装置に書き込み、前記接続情報の書き込みを行ったことを表す情報である接続情報設定済みステータスによって、前記ステータス情報を更新し、
前記デバイスが通常の処理へ復帰できる状態になったことを表す情報である復帰済みステータスが検知されたとき、通常の処理を再開可能であることを所定の方法によって通知する
復旧方法。
(付記9)
前記接続情報は、自装置に含まれる記憶装置である共有メモリにおいて、自装置と前記デバイスとのデータの受け渡しに使用される前記共有メモリの範囲を示すアドレスの情報を含むベースアドレス情報である
付記8記載の復旧方法。 (付記10)
前記監視対象部の異常が検知された後、前記リセットを要求する前に前記デバイスに対して未発行の入出力(IO)要求の内容を一時保存データとして記憶し、
前記復帰済みステータスが検知された後、前記一時保存データ前記IO要求の内容に基づいて入出力要求を前記デバイスに対して発行する
付記8または9記載の復旧方法。
(付記11)
前記監視対象部の異常が検知された後、前記リセットを要求する前にIO要求の発行元に対して、それ以降のIO要求の発行を停止することを要求し、
前記復帰済みステータスが検知された後、停止した前記IO要求の発行の再開を要求する
付記8乃至10のいずれか1つに記載の復旧方法。
(付記12)
自デバイスが接続された情報処理装置からリセットが要求されたことを検知したとき、
自デバイスに含まれる所定の各部の電源を制御する電源制御手段を介して、自デバイスに含まれる所定の各部をハードウェアリセット(HWリセット)を実行し、
前記HWリセット後、自装置において所定の起動処理が行われたことを検知したとき、
自装置に含まれる、前記情報処理装置と自装置との双方から読み書き可能な記憶装置に記憶されるステータス情報を、起動状態であることを表す情報である起動ステータスによって更新し、
前記ステータス情報を監視し、
前記情報処理装置との接続の再開に使用される情報である接続情報が、前記記憶装置に書き込まれたことを表す情報である接続情報設定済みステータスが検知されたとき、
少なくとも前記接続情報が取得されたことを所定の方法で通知し、
通常の処理に復帰できる状態になったことを表す情報である復帰済みステータスによって前記ステータス情報を更新する
デバイス復旧方法。
(付記13)
前記接続情報は、前記情報処理装置に含まれる記憶装置である共有メモリにおいて、前記情報処理装置と自デバイスとのデータの受け渡しに使用される前記共有メモリの範囲を示すアドレスの情報を含むベースアドレス情報であり、
前記接続情報を前記記憶装置に書き込む際に、レジスタの一つであるベースアドレスレジスタに前記ベースアドレス情報を書き込む
付記12記載のデバイス復旧方法。
(付記14)
前記起動処理が行われたことを検知した後、前記ステータス情報を前記起動ステータスによって更新する前に、入出力処理が未完了なデータが一時的に記憶されたデータである一時保存データに対して、前記入出力処理を完了する
付記12または13記載のデバイス復旧方法。
(付記15)
自装置に接続されたデバイスに含まれる監視対象部の状態を監視する状態監視処理と、
前記監視対象部の異常が検知されたとき、前記デバイスに対してリセットを要求するリセット要求処理と、
前記リセット要求処理後、前記デバイスに含まれる、前記デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視するステータス検出処理と、
前記ステータス検出処理において、前記デバイスが起動状態となったことを表す情報である起動ステータスが検知されたとき、自装置に含まれる第1の記憶装置に記憶された、前記デバイスにおいて自装置との接続再開に使用される情報である接続情報を、前記第2の記憶装置に書き込み、前記接続情報の書き込みを行ったことを表す情報である接続情報設定済みステータスによって、前記ステータス情報を更新する接続情報設定処理と、
前記ステータス検出処理において、前記デバイスが通常の処理へ復帰できる状態になったことを表す情報である復帰済みステータスが検知されたとき、通常の処理を再開可能であることを所定の方法によって通知する復帰通知処理と
をコンピュータに実行させる第1のコンピュータ・プログラム。
(付記16)
前記接続情報は、自装置に含まれる記憶装置である共有メモリにおいて、自装置と前記デバイスとのデータの受け渡しに使用される前記共有メモリの範囲を示すアドレスの情報を含むベースアドレス情報である
付記15記載の第1のコンピュータ・プログラム。
(付記17)
前記状態監視処理において、前記監視対象部の異常が検知された後、前記リセット要求処理の前に、前記デバイスに対して未発行の入出力(IO)要求の内容を一時保存データとして記憶し、
前記ステータス検出処理において、前記復帰済みステータスが検知された後、前記一時保存データ前記IO要求の内容に基づいて入出力要求を前記デバイスに対して発行するIOキューイング処理を
コンピュータに実行させる付記15または16記載の第1のコンピュータ・プログラム。
(付記18)
前記状態監視処理において、前記監視対象部の異常が検知された後、前記リセット要求処理の前に、IO要求の発行元に対して、それ以降のIO要求の発行を停止することを要求し、
前記ステータス検出処理において、前記復帰済みステータスが検知された後、停止した前記IO要求の発行の再開を要求するIO停止制御処理を
コンピュータに実行させる付記15乃至17のいずれか1つに記載の第1のコンピュータ・プログラム。
(付記19)
自デバイスが接続された情報処理装置からリセットが要求されたことを検知したとき、
自デバイスに含まれる所定の各部の電源を制御する電源制御手段を介して、自デバイスに含まれる所定の各部をハードウェアリセット(HWリセット)するリセット処理と、
前記リセット処理後、自装置において所定の起動処理が行われたことを検知したとき、
自装置に含まれる、前記情報処理装置と自装置との双方から読み書き可能な記憶装置に記憶されるステータス情報を、起動状態であることを表す情報である起動ステータスによって更新するステータス監視処理と、
前記ステータス情報を監視し、前記情報処理装置との接続の再開に使用される情報である接続情報が、前記記憶装置に書き込まれたことを表す情報である接続情報設定済みステータスが検知されたとき、少なくとも前記接続情報が取得されたことを所定の方法で通知し、通常の処理に復帰できる状態になったことを表す情報である復帰済みステータスによって前記ステータス情報を更新する接続情報取得処理と
をコンピュータに実行させる第2のコンピュータ・プログラム。
(付記20)
前記接続情報は、前記情報処理装置に含まれる記憶装置である共有メモリにおいて、前記情報処理装置と自デバイスとのデータの受け渡しに使用される前記共有メモリの範囲を示すアドレスの情報を含むベースアドレス情報であり、
前記接続情報取得処理において、前記接続情報を前記記憶装置に書き込む際に、レジスタの一つであるベースアドレスレジスタに前記ベースアドレス情報を書き込む
付記19記載の第2のコンピュータ・プログラム。
(付記21)
前記ステータス監視処理において、前記ステータス情報を前記起動ステータスによって更新する前に、入出力処理が未完了なデータが一時的に記憶されたデータである一時保存データに対して、前記入出力処理を完了する復旧処理を
コンピュータに実行させる付記19または20記載の第2のコンピュータ・プログラム。
1 情報処理装置
2 制御部
3 状態監視部
4 リセット要求部
5 ステータス検出部
6 接続情報設定部
7、32、232 電源制御部
10 第1の記憶装置
11、42 接続情報
20 デバイス
21 監視対象部
22 ステータス監視部
23 接続情報取得部
30 リセット部
31 リセット制御部
40 第2の記憶装置
41 ステータス情報
100 本体装置(情報処理装置)
102 ドライバ制御部
106 ベースアドレス設定部
107 装置電源制御部
110 装置メモリ
111 ベースアドレス情報
112、261 一時保存データ
120 ドライバ
121 本体装置メモリ制御部
122 IO(Input Output)停止制御部
123 IOキューイング部
130 OS(Operating System)
131 IO制御部
200 ディスクアレイコントローラ
221 IOプロセッサ
223 ベースアドレス取得部
230 リセット回路
231 ハードウェア(HW)リセット制御部
233 リセット検出部
240、260 記憶装置
242 ベースアドレスレジスタ
250 RAIDコントローラ
251 メモリコントローラ
252 IOコントローラ
253 復帰処理部
270 フラッシュメモリ
271 ファームウェア(FW)バイナリ
900 情報処理装置(コンピュータ)
901 CPU
902 ROM
903 RAM
904 通信インタフェース(IF)
905 ディスプレイ
906 ハードディスク装置(HDD)
906A プログラム群
906B 各種の記憶情報
907 バス
1000 ネットワーク(通信ネットワーク)

Claims (10)

  1. 自装置に接続されたデバイスに含まれる監視対象部の状態を監視し、前記監視対象部の異常を検知する状態監視手段と、
    前記監視対象部の異常が検知されたとき、
    前記デバイスに対してリセットを要求するリセット要求手段と、
    前記リセットを要求した後、前記デバイスに含まれる、前記デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視し、
    前記ステータス情報において、
    前記デバイスが起動状態となったことを表す情報である起動ステータス、および、前記デバイスが通常の処理へ復帰できる状態になったことを表す情報である復帰済みステータスをそれぞれ検知し、
    復帰済みステータスが検知されたとき、通常の処理を再開可能であることを所定の方法によって通知するステータス検出手段と、
    前記起動ステータスが検知されたとき、自装置に含まれる第1の記憶装置に記憶された、前記デバイスにおいて自装置との接続再開に使用される情報である接続情報を、前記第2の記憶装置に書き込み、前記接続情報の書き込みを行ったことを表す情報である接続情報設定済みステータスによって、前記ステータス情報を更新する接続情報設定手段と
    を含む情報処理装置。
  2. 自装置と前記デバイスとのデータの受け渡しを介在する共有メモリをさらに含み、
    前記接続情報は、前記共有メモリの範囲を示すアドレスの情報を含むベースアドレス情報である
    請求項1記載の情報処理装置。
  3. 前記監視対象部の異常が検知された後、前記リセットを要求する前に前記デバイスに対して未発行の入出力(IO)要求の内容を一時保存データとして記憶し、前記復帰済みステータスが検知された後、前記一時保存データ前記IO要求の内容に基づいて入出力要求を前記デバイスに対して発行するIOキューイング手段をさらに含む
    請求項1または2記載の情報処理装置。
  4. 前記監視対象部の異常が検知された後、前記リセットを要求する前にIO要求の発行元に対して、それ以降のIO要求の発行を停止することを要求し、前記復帰済みステータスが検知された後、停止した前記IO要求の発行の再開を要求するIO停止制御手段をさらに含む
    請求項1乃至3のいずれか1つに記載の情報処理装置。
  5. 自デバイスに含まれる所定の各部の電源を制御する電源制御手段と、
    自デバイスが接続された情報処理装置からリセットが要求されたことを検知したとき、前記電源制御手段を介して、自デバイスに含まれる所定の各部をハードウェアリセット(HWリセット)するリセット手段と、
    自装置において、前記HWリセット後における所定の起動処理が行われたことを検知し、自装置に含まれる、前記情報処理装置と自装置との双方から読み書き可能な記憶装置に記憶されるステータス情報を、起動状態であることを表す情報である起動ステータスによって更新するステータス監視手段と、
    前記起動ステータスによる更新が行われた後、前記ステータス情報を監視し、前記情報処理装置との接続の再開に使用される情報である接続情報が、前記記憶装置に書き込まれたことを表す情報である接続情報設定済みステータスが検知されたとき、少なくとも前記接続情報が取得されたことを所定の方法で通知し、通常の処理に復帰できる状態になったことを表す情報である復帰済みステータスによって前記ステータス情報を更新する接続情報取得手段と
    を含むデバイス。
  6. 前記接続情報は、前記情報処理装置に含まれる記憶装置である共有メモリにおいて、前記情報処理装置と自デバイスとのデータの受け渡しに使用される前記共有メモリの範囲を示すアドレスの情報を含むベースアドレス情報であり、
    前記記憶装置における前記接続情報が書き込まれる部分は、レジスタの一つであるベースアドレスレジスタである
    請求項5記載のデバイス。
  7. 前記起動処理が行われたことを検知した後、前記ステータス情報を前記起動ステータスによって更新する前に、入出力処理が未完了なデータが一時的に記憶されたデータである一時保存データに対して、前記入出力処理を完了する復帰処理手段をさらに含む
    請求項5または6記載のデバイス。
  8. 自装置に接続されたデバイスに含まれる監視対象部の状態を監視し、
    前記監視対象部の異常が検知されたとき、
    前記デバイスに対してリセットを要求し、
    前記リセットを要求した後、前記デバイスに含まれる、前記デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視し、
    前記ステータス情報において、前記デバイスが起動状態となったことを表す情報である起動ステータスが検知されたとき、自装置に含まれる第1の記憶装置に記憶された、前記デバイスにおいて自装置との接続再開に使用される情報である接続情報を、前記第2の記憶装置に書き込み、前記接続情報の書き込みを行ったことを表す情報である接続情報設定済みステータスによって、前記ステータス情報を更新し、
    前記デバイスが通常の処理へ復帰できる状態になったことを表す情報である復帰済みステータスが検知されたとき、通常の処理を再開可能であることを所定の方法によって通知する
    復旧方法。
  9. 自装置に接続されたデバイスに含まれる監視対象部の状態を監視する状態監視処理と、
    前記監視対象部の異常が検知されたとき、前記デバイスに対してリセットを要求するリセット要求処理と、
    前記リセット要求処理後、前記デバイスに含まれる、前記デバイスと自装置との双方から読み書き可能な第2の記憶装置に記憶されるステータス情報を監視するステータス検出処理と、
    前記ステータス検出処理において、前記デバイスが起動状態となったことを表す情報である起動ステータスが検知されたとき、自装置に含まれる第1の記憶装置に記憶された、前記デバイスにおいて自装置との接続再開に使用される情報である接続情報を、前記第2の記憶装置に書き込み、前記接続情報の書き込みを行ったことを表す情報である接続情報設定済みステータスによって、前記ステータス情報を更新する接続情報設定処理と、
    前記ステータス検出処理において、前記デバイスが通常の処理へ復帰できる状態になったことを表す情報である復帰済みステータスが検知されたとき、通常の処理を再開可能であることを所定の方法によって通知する復帰通知処理と
    をコンピュータに実行させる第1のコンピュータ・プログラム。
  10. 自デバイスが接続された情報処理装置からリセットが要求されたことを検知したとき、
    自デバイスに含まれる所定の各部の電源を制御する電源制御手段を介して、自デバイスに含まれる所定の各部をハードウェアリセット(HWリセット)するリセット処理と、
    前記リセット処理後、自装置において所定の起動処理が行われたことを検知したとき、
    自装置に含まれる、前記情報処理装置と自装置との双方から読み書き可能な記憶装置に記憶されるステータス情報を、起動状態であることを表す情報である起動ステータスによって更新するステータス監視処理と、
    前記ステータス情報を監視し、前記情報処理装置との接続の再開に使用される情報である接続情報が、前記記憶装置に書き込まれたことを表す情報である接続情報設定済みステータスが検知されたとき、少なくとも前記接続情報が取得されたことを所定の方法で通知し、通常の処理に復帰できる状態になったことを表す情報である復帰済みステータスによって前記ステータス情報を更新する接続情報取得処理と
    をコンピュータに実行させる第2のコンピュータ・プログラム。
JP2015065858A 2015-03-27 2015-03-27 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム Active JP6519266B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015065858A JP6519266B2 (ja) 2015-03-27 2015-03-27 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015065858A JP6519266B2 (ja) 2015-03-27 2015-03-27 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2016186688A true JP2016186688A (ja) 2016-10-27
JP6519266B2 JP6519266B2 (ja) 2019-05-29

Family

ID=57203588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015065858A Active JP6519266B2 (ja) 2015-03-27 2015-03-27 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP6519266B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0395634A (ja) * 1989-09-08 1991-04-22 Oki Electric Ind Co Ltd 計算機システム再起動制御方式
JPH0744413A (ja) * 1993-07-29 1995-02-14 Toshiba Corp コンピュータバックアップシステム
JPH07295896A (ja) * 1994-04-20 1995-11-10 Seiko Epson Corp 周辺装置および該周辺装置を用いた情報処理システム
JP2004164072A (ja) * 2002-11-11 2004-06-10 Hitachi Ltd ディスク制御装置およびディスク制御装置の制御方法
JP2011070282A (ja) * 2009-09-24 2011-04-07 Furukawa Electric Co Ltd:The 通信システム、マスタ装置、および、スレーブ装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0395634A (ja) * 1989-09-08 1991-04-22 Oki Electric Ind Co Ltd 計算機システム再起動制御方式
JPH0744413A (ja) * 1993-07-29 1995-02-14 Toshiba Corp コンピュータバックアップシステム
JPH07295896A (ja) * 1994-04-20 1995-11-10 Seiko Epson Corp 周辺装置および該周辺装置を用いた情報処理システム
JP2004164072A (ja) * 2002-11-11 2004-06-10 Hitachi Ltd ディスク制御装置およびディスク制御装置の制御方法
JP2011070282A (ja) * 2009-09-24 2011-04-07 Furukawa Electric Co Ltd:The 通信システム、マスタ装置、および、スレーブ装置

Also Published As

Publication number Publication date
JP6519266B2 (ja) 2019-05-29

Similar Documents

Publication Publication Date Title
US8775867B2 (en) Method and system for using a standby server to improve redundancy in a dual-node data storage system
US9507671B2 (en) Write cache protection in a purpose built backup appliance
JP5183542B2 (ja) 計算機システム及び設定管理方法
US9501372B2 (en) Cluster system including closing a bus using an uncorrectable fault upon a fault detection in an active server
US10691565B2 (en) Storage control device and storage control method
JP6130520B2 (ja) 多重系システムおよび多重系システム管理方法
JP5998577B2 (ja) クラスタ監視装置、クラスタ監視方法、及びプログラム
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
JP5104479B2 (ja) 情報処理装置
US10353613B2 (en) Computer system and control method therefor for handling path failure
JP6519266B2 (ja) 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム
WO2011064811A1 (ja) 情報処理装置、制御プログラムおよび制御方法
JP6160688B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US20090276656A1 (en) Storage device and recovery method
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
JP2009025967A (ja) 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム
WO2016006108A1 (ja) ストレージおよびその制御方法
JP2017041110A (ja) マルチコンピュータシステム,管理装置および管理プログラム
JP2785992B2 (ja) サーバプログラムの管理処理方式
JP2017151511A (ja) 情報処理装置、動作ログ取得方法および動作ログ取得プログラム
TWI486770B (zh) 基板管理控制器的韌體恢復系統及方法
US20220413981A1 (en) Storage system
JP6981098B2 (ja) 復旧制御装置、復旧制御システム、復旧制御方法、及び、復旧制御プログラム
US20120233420A1 (en) Fault-tolerant system, memory control method, and computer-readable recording medium storing programs
JP6589495B2 (ja) ストレージ制御装置、ストレージ制御方法及びそのためのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190408

R150 Certificate of patent or registration of utility model

Ref document number: 6519266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150