JP5427245B2 - マルチコアプロセッサを有する要求処理システム - Google Patents

マルチコアプロセッサを有する要求処理システム Download PDF

Info

Publication number
JP5427245B2
JP5427245B2 JP2011543016A JP2011543016A JP5427245B2 JP 5427245 B2 JP5427245 B2 JP 5427245B2 JP 2011543016 A JP2011543016 A JP 2011543016A JP 2011543016 A JP2011543016 A JP 2011543016A JP 5427245 B2 JP5427245 B2 JP 5427245B2
Authority
JP
Japan
Prior art keywords
memory
core
processor core
processing system
request processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011543016A
Other languages
English (en)
Other versions
JP2012523024A (ja
Inventor
俊二 村山
仲 佐藤
廣二 渋谷
壽啓 寺尾
美佳 寺西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2012523024A publication Critical patent/JP2012523024A/ja
Application granted granted Critical
Publication of JP5427245B2 publication Critical patent/JP5427245B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Description

本発明は、外部装置からの要求を処理するシステム内でのリブートに関する。
外部装置からの要求を処理するシステム(要求処理システム)として、例えば、ストレージシステムがある。ストレージシステムは、一般に、ホスト装置からI/O要求(ライト要求又はリード要求)を受け付け、そのI/O要求を処理する。
I/O要求の処理は、通常、ストレージシステム内のプロセッサが行う。ストレージシステム内のプロセッサとして、例えば、シングルコアマルチプロセッサが採用される。「シングルコアマルチプロセッサ」とは、一つのプロセッサコアを有する複数のプロセッサである。なお、本明細書で言う「プロセッサコア」とは、プロセッサ内での演算部の意味である。
一方、プロセッサとして、マルチコアシングルプロセッサが知られている(例えば特許文献1)。「マルチコアシングルプロセッサ」とは、複数のプロセッサコアを含んだ一つのプロセッサである。
つまり、シングルコアマルチプロセッサによれば、複数のプロセッサがそれぞれ一つのプロセッサコアを有し、マルチコアシングルプロセッサによれば、一つのプロセッサが複数のプロセッサコアを有する。
特開2008−123439号公報
シングルコアマルチプロセッサを有するストレージシステムにおいて、メモリに格納されているコンピュータプログラム(例えばアプリケーションプログラム)が交換された場合、プロセッサ毎にハード的なリブートが行われる。或るプロセッサがハード的にリブートしている間、別のプロセッサがI/O要求を処理することができる。なお、「ハード的なリブート」とは、ハードリセット処理において行われるリブートのことであり、ハードリセット処理とは、ハードリセットされた場合(プロセッサの電源が一旦遮断されて再投入された場合)に行われる処理のことであり、具体的には、例えば、プロセッサから出ている複数のピンのうちの所定のピン(リセットピン)に信号を入力された場合に行われる処理のことである。
しかし、マルチコアシングルプロセッサを有するストレージシステムにおいて、そのシングルプロセッサをハード的にリブートすることは好ましくない。なぜなら、そのシングルプロセッサが有する全てのプロセッサコアがリブートすることになるため、そのシングルプロセッサ内のいずれのプロセッサコアもI/O要求を処理することができず、故に、ホスト装置に対するサービス(I/O)が停止してしまうからである。
これは、ストレージシステムに限らず、他種の要求処理システムについても同様に有り得る問題である。
従って、本発明の目的は、マルチコアシングルプロセッサを有する要求処理システムにおいて外部装置からの要求の処理を停止することなくリブートを行えるようにすることにある。
外部装置からの要求を処理するマルチコアプロセッサが有する複数のプロセッサコアのうちの或るプロセッサコアが、所定のイベントを検出し、以下の(a)及び(b)の処理:
(a)物理資源が有する複数のサブ資源のうちのどのサブ資源にどのプロセッサコアが割り当てられているかを表す資源管理情報を基に、上記或るプロセッサコアに割り当てられているサブ資源を特定する、
(b)特定したサブ資源を基にリブートする、
を実行する。
これにより、或るプロセッサコアが、そのコアを含んだプロセッサ内の他のプロセッサコアをリブートさせることなく、リブートすることができる。つまり、外部装置からの要求の処理を停止することなくリブートを行うことができる。言い換えれば、コア単位のリブートが可能となる。
なお、要求処理システムとしては、サーバ(例えば、ファイルサーバ、WEBサーバ)或いはストレージシステムなど、外部装置からの要求を処理するシステムであればどのようなシステムでも良い。
外部装置は、要求処理システムの外部に存在する装置であって要求(例えばコマンド)を送信する装置ならどのような装置でも良い。例えば、外部装置として、クライアント計算機、ホスト装置、ストレージシステムなどが考えられる。
外部装置からの要求の処理としては、例えば、データを格納する処理、或いは、データを提供する処理などが考えられる。
要求処理システムは、上記のプロセッサ(マルチコアシングルプロセッサ)を複数個備えていても良い。或るプロセッサコアが外部装置からの要求を処理しているときに所定のイベントが発生した場合には、或るプロセッサコアは、そのプロセッサコアを有するプロセッサ内の他の一以上のプロセッサコアに、要求の処理を渡すことができる。
複数のプロセッサコアのうちの全てのプロセッサコアが、外部装置からの要求を処理することができても良いし、それら複数のプロセッサコアのうちの一部のプロセッサコアが、外部装置から要求を処理する稼動系のプロセッサコアであり、残りのプロセッサコアが、待機系のプロセッサコアであっても良い。
物理資源は、記憶資源を含む。物理資源は、チップセット等の他種の物理的な装置を含んでも良い。
所定のイベントは、例えば、記憶資源に記憶されているコンピュータプログラム(例えば、アプリケーションプログラム又はOS(Operating System))の交換、又は、障害の検出である。
図1は、本発明の一実施形態に係るストレージシステムの構成を示す。 図2は、ROM121に記憶されているコンピュータプログラムとRAM124へのコンピュータプログラムのコピーとを示す。 図3は、資源管理テーブル203を示す。 図4は、障害レベル判定テーブル204を示す。 図5は、本発明の一実施形態で行われる処理の概要を示す。 図6は、図5のステップ311(321、331又は341)の詳細を示す。 図7は、図5のステップ312(322、332又は342)の詳細を示す。 図8は、ROM121内のRAID管理プログラム206が交換される場合に行われる処理の流れを示す。 図9は、障害が検出された場合に行われる処理の流れを示す。 図10は、ソフトリセット処理の流れを示す。 本発明の一実施形態の一変形例で行われる処理の説明図。
以下、図面を参照して、本発明の一実施形態に係る要求処理システムが適用されたストレージシステムを説明する。
図1は、本発明の一実施形態に係るストレージシステムの構成を示す。
ストレージシステム103には、一又は複数のホスト装置101が接続されている。ストレージシステム103は、ホストインターフェイス装置(ホストI/F)111と、内部ネットワーク119と、キャッシュメモリ112と、ディスクインターフェイス装置(ディスクI/F)113と、HDD(Hard Disk Drive)群114と、スイッチLSI(Large Scale Integration)116と、MP(Micro Processor)パッケージ117とを備えている。ストレージシステム103が備える要素111、119、112、113、114、116及び117のうちの少なくとも一つは、複数個あっても良い。図1には、例えば、複数のMPパッケージ117が示されている。
HDD群114は、一以上のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループを構成する。各RAIDグループは、二以上のHDD115で構成されており、各HDD115が、ディスクI/F113に接続されている。RAIDグループを基に、一以上の論理ボリュームが形成されている。HDD115に代えて、他種の物理記憶装置、例えば、フラッシュメモリチップを有するフラッシュメモリ装置が採用されても良い。
ホストI/F111、キャッシュメモリ112、ディスクI/F113及びスイッチLSI116が、内部ネットワーク119を介して互いに接続されている。スイッチLSI116が、アドレス/データ信号線118を介してMPパッケージ117に接続されている。
ホストI/F111は、ホスト装置101との通信を制御するインターフェイス装置である。ホストI/F111は、ホスト装置101からI/O要求(例えば、ファイルレベル或いはブロックレベルのI/O要求)を受け付け、受け付けたI/O要求を、内部ネットワーク119、スイッチLSI116及びアドレス/データ信号線118を介して、MPパッケージ117に転送する。また、ホストI/F111は、ホスト装置101からのI/O要求に対する処理結果をMPパッケージ117から受けた場合、その処理結果を含んだ応答を、ホスト装置101に送信する。
キャッシュメモリ112は、ホスト装置101からのライト要求に付随するデータ(ライト対象データ)、又は、ホスト101からのリード要求に従ってHDD群114から読み出されたデータ(リード対象データ)を一時的に記憶する。
スイッチLSI116は、MPパッケージ117とホストI/F111、キャッシュメモリ112及びディスクI/F113との通信を制御するLSIである。LSIに代えて他の方法によりスイッチ機能が実現されても良い。
MPパッケージ117は、マルチコアプロセッサ(以下、プロセッサ)125と、物理資源とを有する。物理資源は、例えば、記憶資源及びチップセット122を含む。記憶資源は、第1のメモリとして、例えばROM(Read Only Memory)121を含み、第2のメモリとして、例えばRAM(Random Access Memory)124を含む。プロセッサ125が、フロントサイドバス123を介してチップセット122に接続されている。ROM121が、バス48を介してチップセット122に接続されている。RAM124が、バス50を介してチップセット122に接続されている。
プロセッサ125は、マルチコアシングルプロセッサである。本実施形態では、マルチコアシングルプロセッサを有するMPパッケージ117が複数個ある。
プロセッサ125は、複数のプロセッサコア126、例えば4個のプロセッサコア126を有する。以下、これら4個のプロセッサコア126を、「コア0」「コア1」、「コア2」及び「コア3」と称する。コア0〜3は、それぞれ演算部であり、例えば、ホスト装置101からのI/O要求を解析し、この解析結果にしたがってHDD115にアクセスする。コア0〜コア3のうち、例えば、コア0が、ブートストラッププロセッサ(BSP)としてのコアであり、残りのコア1〜3が、それぞれ、アプリケーションプロセッサ(AP)としてのコアである。なお、プロセッサ125は、デバッグ等の特定のケースにおいてハードリセットされる(例えば、プロセッサ125が有する複数のピンのうちのリセットピンに信号が入力される)。
ROM121は、複数のコンピュータプログラムを記憶している。ROM121は、例えば、書き換え可能な不揮発性メモリ、具体的には、例えば、フラッシュメモリである。
RAM124は、ROM121からコピーされたコンピュータプラグラムを記憶する。
チップセット122は、プロセッサ125、ROM121及びRAM124の間でのデータの受け渡しを管理するLSIセットである。チップセット122は、例えば、ROM121及びRAM124へのアクセスを制御するメモリコントローラと、データ転送を制御するバスインターフェイス(例えばPCIバスインターフェイス)と、コア0〜3への割り込みを制御する割り込みコントローラとを含む。
図2は、ROM121に記憶されているコンピュータプログラムとRAM124へのコンピュータプログラムのコピーとを示す。
ROM121に記憶されているコンピュータプログラムとして、BIOS(Basic Input/Output System)201、ブートローダ202、組込みOS205及びRAID管理プログラム206がある。また、ROM121は、資源管理テーブル203と障害レベル判定テーブル204とを記憶する。なお、ROM121に格納されている情報は、本実施形態ではテーブルであるが、テーブル以外の形式であっても良い。
BIOS201は、RAM124の初期化、プロセッサ125の初期化、及びブートローダ202の読み込みを行う。
ブートローダ202は、例えば、イニシャルプログラムローダとして機能するプログラムである。ブートローダ202は、組込みOS205をRAM124にコピーし展開する。
組込みOS205は、コアリブートプログラム211を含んでおり、圧縮されている。ブートローダ202により、ROM121からRAM124にコピーされ、且つ、展開される。それにより、RAM124に、解凍された、コアリブートプログラム211を含んだ組込みOS205が生成される。コアリブートプログラム211は、RAID管理プログラム206から呼び出されて後述のソフトリセット処理を実行する。ソフトリセット処理において、コア単位のリブートが行われる。
RAID管理プログラム206は、組込みOS205上で動作するアプリケーションプログラムの一例であり、ROM121には圧縮されて格納されている。組込みOS205により、ROM121からRAM124にコピーされ、且つ、展開される。それにより、解凍されたRAID管理プログラム206がRAM124に生成される。RAID管理プログラム206は、I/O要求の処理(I/O処理)を行う。具体的には、例えば、I/O処理は、I/O要求(ライト要求又はリード要求)から特定されたアクセス先領域に基づくRAIDグループを構成している二以上のHDD115に、I/O要求に付随したライト対象のデータを書き込むこと、又は、特定されたアクセス先領域に基づくRAIDグループを構成している二以上のHDD115から、リード対象のデータを読み出してホスト装置101に提供することを含む。ここでいう「アクセス先領域」は、論理ボリューム内の領域でよい。論理ボリュームが、Thin Provisioningに従うボリュームの場合、アクセス先領域は、論理ボリューム内の仮想領域に割り当てられる実領域(RAIDグループに基づく記憶領域)でよい。
以下、資源管理テーブル203及び障害レベル判定テーブル204を説明する。
図3は、資源管理テーブル203を示す。
資源管理テーブル203は、物理資源が有する複数のサブ資源のうちのどのサブ資源がどのプロセッサコア126に割り当てられているかを表す。物理資源には、ROM121、RAM124及びチップセット122が含まれている。テーブル203には、コア0〜3のそれぞれについて、ROM121、RAM124及びチップセット122のどこが割り当てられているかを表す情報が含まれている。また、テーブル203には、物理資源のどこがコア0〜3で共有されるかを表す情報も含まれている。
図3の例によれば、RAM124は、コア毎に、ログエリア、展開エリア、OSエリア及びRAIDエリアを有し、且つ、コア0〜3に共通のエリアも有している。ログエリアは、ログが格納されるエリアである。なお、RAM124には、コア0〜3に共通のログエリアも設けられている。展開エリアは、圧縮データ(組込みOS205及びRAID管理プログラム206)の展開先のエリアである。OSエリアは、組込みOS205(圧縮データ)のコピー先のエリアである。RAIDエリアは、RAID管理プログラム206(圧縮データ)のコピー先のエリアである。共通エリアは、例えば、コア間の通信、及び、I/O処理の引き渡し/引き継ぎに利用される。
また、図3の例によれば、ROM121は、コア毎のエリアを有しておらず、コア0〜3に共有される。
また、図3の例によれば、チップセット内の割り込みコントローラが、コア毎に割り当てられた割り込みピンを有する。具体的には、例えば、コア0については、割り込みピンINT0が使用される。
図4は、障害レベル判定テーブル204を示す。
障害レベル判定テーブル204には、各種障害に対応した障害レベルを表す。障害レベルとして、例えば3つのレベル(LV1、LV2及びLV3)があるが、レベルの数は、3より少なくても多くてもよい。各種障害は、いずれかの障害レベルに対応する。
なお、障害レベルは、LV1が最も重く、LV3が最も軽いとする(つまりLVの番号が若いほど重いとする)。また、図4のテーブル204には、障害の種類に関する情報として、エラー記号、テキストメッセージ及び内容があるが、これらの情報要素のうちの全て又は一部が、障害検出時に表示されてもよい。また、障害の種類に関する情報は、これらの情報要素に限らず、他の情報要素が採用されてもよい。
以下、本実施形態で行われる処理の流れを説明する。なお、以下の説明では、資源管理テーブル203から特定される、コアN(Nは0〜3のいずれか)に対応するエリア(RAM124内のエリア)を、「エリアN」と表記する。例えば、コア0に対応するログエリアを、「ログエリア0」と表記する。
図5は、本実施形態で行われる処理の概要を示す。
プロセッサ125の電源が投入された場合(例えばプロセッサ125のハードリセットが行われた場合)、コア0〜3が、それぞれ、ROM121からBIOS201をロードし、BIOS201を実行する(ステップ301)。例えば、RAM124の初期化、プロセッサ125の初期化などが行われる。
以下、コア毎に、ブートローダ202、組込みOS205及びRAID管理プログラム206の順にロードされる。ブートローダ202の起動は、コア0〜3で同時に行われてもよいし、順番に行われても良い。本実施形態では、ブートローダ202は、コア0、コア1、コア2及びコア3の順で起動されるとする。具体的には、例えば、以下の通りである。
コア0のBIOS201が、ブートローダ202をROM121からRAM124にロードし、ブートローダ202を起動する。この間、コア1〜3のBIOS201は、他のコア(例えばコア0)のブートローダ202からの指令を受けてコア1〜3のブートローダ202を起動することを条件としているので、起動待ちとなる。例えば、コア0のブートローダ202は、コア541が正常と判定した場合に、コア1を起動するための指令をコア1に出力する。これにより、起動待ち状態にあったコア1のブートローダ202は起動する。
次に、ステップ311が行われる。すなわち、コア0のブートローダ202は、資源管理テーブル203を参照してOSエリア0及び展開エリア0を特定する。そして、コア0のブートローダは、図6に示すように、ROM121から組込みOS205をロードし(ステップ411)、ROM121からRAM124内のOSエリア0に組込みOS205をコピーし(ステップ412)、OSエリア0内の組込みOS205を展開エリア0に展開する(ステップ413)。そして、コア0のブートローダ202は、展開エリア0内の組込みOS205を起動する(ステップ414)。
次に、ステップ312が行われる。すなわち、コア0の組込みOS205は、図7に示すように、起動処理を行い(ステップ421)、資源管理テーブル203を参照してRAIDエリア0及び展開エリア0を特定する。そして、コア0の組込みOS205は、ROM121からRAID管理プログラム206をロードし(ステップ422)、RAID管理プログラム206をROM121からRAM124内のRAIDエリア0にコピーし(ステップ423)、RAIDエリア0内のRAID管理プログラム206を展開エリア0に展開する(ステップ424)。そして、コア0の組込みOS205は、展開エリア0内のRAID管理プログラム206を起動する(ステップ425)。
次に、ステップ313が行われる。すなわち、コア0のRAID管理プログラム206は、そのプログラム206に従う処理を実行する。例えば、コア0のRAID管理プログラム206は、ホスト装置101からのI/O要求に従うI/O処理を実行する。
コア0を例に採って説明したが、コア1〜3についても、それぞれ、BIOS201によってブートローダ202が起動された後、ステップ311〜313と同様の処理が行われる(コア1についてステップ321〜323、コア2についてステップ331〜333、コア3についてステップ341〜343)。
なお、コア0〜3のいずれかについて所定のイベントが発生した場合、そのコアはソフトリセット処理を行う(ステップ314、324、334又は344)。或るコアでソフトリセット処理が行われることが、他のコアでソフトリセット処理が行われる原因にはならない。つまり、ソフトリセット処理とは、コア単位のリセット処理であり、ハードリセットされた場合に行われる、プロセッサ単位のリセット処理(ハードリセット処理)とは異なる。具体的には、例えば、ハードリセット処理では、イニシャルのアドレス(例えばBIOS201が格納されている領域の先頭アドレス)からの読み込み順次に行われるが、ソフトリセット処理では、そのイニシャルのアドレスとは別のアドレスからの読み込みが行われる。そのため、ソフトリセット処理におけるリブートは、ハードリセット処理におけるリブートの流れの途中からの開始となる。
ソフトリセット処理が行われる原因は、例えば、ROM121内のRAID管理プログラム206の交換(組込みOS205の交換でも良い)、又は、障害の検出がある。
例えば、RAID管理プログラム206が交換された場合、及び、検出された障害の種類に対応した障害レベルが最も高い場合(障害レベルがLV1の場合)、ソフトリセット処理におけるリブートは、ハードウェアの初期化並びにブートローダ202のロードから開始される(ステップ314及び324参照)。
しかし、障害レベルが二番目に高い場合(障害レベルがLV2の場合)、ソフトリセット処理におけるリブートは、組込みOS205の展開及び起動から開始され(ステップ334参照)、障害レベルが最も低い場合(障害レベルがLV3の場合)、ソフトリセット処理におけるリブートは、RAID管理プログラム206のアンロード及びロードから開始される(ステップ344)。つまり、障害レベルが所定のレベル(上記例ではLV1)より低ければ、ソフトリセット処理でのリブートにおけるサブ処理の数は少なくて済む。それ故、リブートに要する時間が短くて済むので、ストレージシステム103のI/O性能が低下している時間を短くすることができる。また、障害レベルが低いほど、ソフトリセット処理でのリブートにおけるサブ処理の数は少なくて済む(つまり、リブートに要する時間が短くて済む)。
図8は、ROM121内のRAID管理プログラム206が交換される場合に行われる処理の流れを示す。
プロセッサ125の電源が投入された場合、図5を参照して説明した処理が行われ、その結果、コア0〜3のそれぞれで実行されているRAID管理プログラム206が、RAID管理プログラム処理を行う(ステップ401A〜401D)。RAID管理プログラム処理とは、RAM124に展開されているRAID管理プログラム206に従う処理、例えば、I/O処理(例えば、I/O要求の待ち、I/O要求から特定されたアクセス先領域に従う二以上のHDD115に対するアクセス)である。
例えば管理端末(図示せず)から入力されたマイクロ交換信号をコア0が受けたとする(ステップ402)。マイクロ交換信号とは、RAID管理プログラム206(又は組込みOS205)を交換することを意味する信号である。
コア0のRAID管理プログラム206が、I/O処理(例えば、I/O処理の進捗、アクセス先領域を表す情報など)を、コア1〜3に引き渡す(ステップ403A)。別の観点で言えば、コア1〜3が、I/O処理をコア0から引き継ぐ(ステップ403B〜403D)。具体的には、コア0のRAID管理プログラム206が、資源管理テーブル203が表す共通エリア(RAM124内のエリア)に、I/O処理に関する情報を格納し、コア1〜3のそれぞれのRAID管理プログラム206が、共通エリア内の情報を使用してI/O処理を行う。後にコア0がソフトリセット処理を行うが、コア1〜3はソフトリセット処理を行わないので、I/Oを停止させることなくコア0のリブートを行うことができる。なお、I/O処理は、コア0を有するプロセッサ125内の一以上の他のコア(例えばコア1のみ)に渡されれば良い。
コア0がI/O処理を渡した後、ROM121内のRAID管理プログラム206が、別のRAID管理プログラムに交換される(ステップ404)。
その後、コア0がソフトリセット処理を行う(ステップ405)。具体的には、コア0のRAID管理プログラム206が、組込みOS205内のコアリブートプログラム211を呼び出し、コア0が、そのプログラム211に従う処理を行う。ソフトリセット処理は、後に図10を参照して説明する。
当該ソフトリセット処理において、ブートローダが起動される。そのため、図5のステップ311及びステップ312(具体的には、図6のステップ411〜414、及び、図7のステップ421〜425)を経て、コア0で、交換後のRAID管理プログラム206が実行される。具体的には、RAID管理プログラム処理が行われる(ステップ431)。そして、コア1〜3に引き渡されていたI/O処理が、コア1〜3からコア0に渡される(ステップ432A〜432D)。
図9は、障害が検出された場合に行われる処理の流れを示す。
コア0〜3のそれぞれで実行されているRAID管理プログラム206が、RAID管理プログラム処理を行っているとき(ステップ501A〜501D)、コア0のRAID管理プログラム206が、障害を検出したとする(ステップ502)。
この場合、コア0のRAID管理プログラム206は、I/O処理をコア1〜3に渡し(ステップ503A)、組込みOS205内のコアリブートプログラム211を呼び出すことで、ソフトリセット処理(図10参照)を実行する。なお、I/O処理は、なお、I/O処理は、コア0を有するプロセッサ125内の一以上の他のコア(例えばコア1のみ)に渡されれば良い。
当該ソフトリセット処理で行われるリブートは、マイクロ交換の場合と異なり、検出された障害の種類に対応する障害レベルによって異なる。具体的には、対応する障害レベルがLV1の場合、図5のステップ311から処理が行われる。対応する障害レベルがLV2の場合、図5のステップ312から処理が行われる。対応する障害レベルがLV3の場合、図5のステップ313から処理が行われる。つまり、障害レベルが低いほど、リブートに要する時間が短くて済む。
その後、コア0で、RAID管理プログラム処理が行われ(ステップ531)、コア1〜3に引き渡されていたI/O処理が、コア1〜3からコア0に渡される(ステップ532A〜532D)。
図10は、ソフトリセット処理の流れを示す。ソフトリセット処理は、組込みOS205内のコアリブートプログラム211がコアで実行されることによって行われる。以下、コアリブートプログラム211を主語にして、ソフトリセット処理を説明する。
コアリブートプログラム(図10の説明において「プログラム」と略記)211が、動作コア判定を行う(ステップ801)。動作コア判定とは、プログラム211を実行するコアがコア0〜3のいずれであるかの判定である。以下、ここで判定されたコアを、「コアT」と表記する。
プログラム211は、資源管理テーブル203から、ステップ801で判定されたコアTに対応する情報(コアTに対応するカラム内の情報、及び、共通に対応するカラム内の情報、以下、「コアT資源情報」と言う)を取得する(ステップ802A、802B、802C又は802D)。
次に、プログラム211は、イベント判定を行う(ステップ803)。イベント判定とは、ソフトリセット処理の契機となったイベントに関する判定であり、具体的には、以下の(A)及び(B):
(A)イベントがマイクロ交換であるかどうか;
(B)イベントがマイクロ交換ではなく障害の検出の場合、検出された障害の種類に対応した障害レベルはLV1〜LV3のいずれかであるか、
が判定される。
ステップ803でマイクロ交換又は障害レベルLV1と判定された場合、以下の処理が行われる。プログラム211は、コアT資源情報から特定されるハードウェア(例えば、ログエリアT、展開エリアT、OSエリアT及びRAIDエリアT)を初期化する(ステップ811)。そして、プログラム211は、ブートローダ202をROM121からロードし起動する(ステップ812及び813)。プログラム211は、そのリブート結果を表すログを作成し、作成したログを、ログエリアTに格納する。その後、図5のステップ311(又は、ステップ321、331及び341のいずれか)が行われる。
ステップ803で障害LV2と判定された場合、以下の処理が行われる。プログラム211は、組込みOS205を、コアT資源情報から特定される展開エリアTに展開する(ステップ821)。ここでは、例えば、OSエリアTに存在している組込みOS205(圧縮データ)が展開される(ROM121から組込みOS205がOSエリアTにコピーされても良い)。プログラム211は、展開エリアT内の組込みOS205を起動する(ステップ822)。そして、プログラム211は、そのリブート結果を表すログを作成し、作成したログを、ログエリアTに格納する。その後、図5のステップ312(又は、ステップ322、332及び342のいずれか)が行われる。
ステップ803で障害LV3と判定された場合、以下の処理が行われる。プログラム211は、RAID管理プログラム206を、コアT資源情報から特定される展開エリアT及びRAIDエリアTからアンロードする(ステップ831)。次に、プログラム211は、ROM121からRAID管理プログラム206をロードする(ステップ832)。そして、プログラム211は、RAIDエリアTから展開エリアTにRAID管理プログラム206を展開し、展開エリアT内のRAID管理プログラム206を起動する(ステップ833)。プログラム211は、そのリブート結果を表すログを作成し、作成したログを、ログエリアTに格納する。その後、図5のステップ313(又は、ステップ323、333及び343のいずれか)が行われる。
以上、本実施形態によれば、コア単位のリブートが可能となる。このため、或るコア0がリブートする場合、コア0を有するプロセッサ125内のいずれの他のコアにI/O処理を渡しても、コア0のリブートを契機に当該他のコアがリブートしてしまうといったことがないので、I/Oを停止することなくコア0のリブートが可能となる。
また、本実施形態によれば、障害レベルがLV1より低い場合には、マイクロ交換又は障害レベルLV1の場合よりも短い時間でリブートを完了することができる。
なお、ソフトリセット処理は、コアリブートプログラム211が行うが、図10の説明によれば、コアリブートプログラム211は、BIOS201、ブートローダ202及び組込みOS205の機能の一部を有する。具体的には、プログラム211は、ブートローダ202をロード及び起動することと、組込みOS205を起動することと、RAID管理プログラム206をロード及び起動することとを有する。
以上、本発明の一つの実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、コアT(例えばコア0)で実行されるコアブートプログラム211は、図11に示すように、ステップ405及び504の前に、プログラム211は、ログエリアTに格納されているログが所定の条件に適合するか否か(例えば、ログを基に特定された障害発生回数が所定の閾値を超えているか否かを)を判定しても良い。プログラム211は、その判定の結果が否定的の場合に、ソフトリセット処理を実行するが、その判定の結果が肯定的であれば、ソフトリセット処理を非実行としても良い。
103…ストレージシステム

Claims (14)

  1. 外部装置から要求を受け付ける第1のインターフェイス装置と、
    記憶資源と、
    前記第1のインターフェイス装置及び前記記憶資源に接続されているマルチコアプロセッサと
    を有し、
    前記記憶資源が、複数のサブ記憶資源を含み、
    前記マルチコアプロセッサは、複数のプロセッサコアを有し、
    前記複数のプロセッサコアに、前記複数のサブ記憶資源がそれぞれ割り当てられており、
    前記記憶資源が、どのプロセッサコアにどのサブ記憶資源が割り当てられているかを表す資源管理情報を記憶しており、
    前記マルチコアプロセッサの電源が投入された後に、前記複数のプロセッサコアのうちの或るプロセッサコアが、所定のイベントが発生した場合、前記或るプロセッサが、
    (a)前記資源管理情報を基に、前記或るプロセッサコアに割り当てられているサブ記憶資源を特定し
    (b)前記特定したサブ記憶資源を使用してリブート処理をする、
    を行い、
    前記或るプロセッサコアは、前記(b)を行う都度に、前記(b)のリブート処理の結果を表すログを作成して前記記憶資源に格納し、
    前記或るプロセッサコアは、前記記憶資源に格納されているログが所定の条件に適合する場合には、所定のイベントが発生しても、前記(a)及び(b)を非実行とする、
    要求処理システム。
  2. 請求項1記載の要求処理システムであって、
    複数の物理記憶装置で構成された一以上のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループと、
    前記複数の物理記憶装置と通信する第2のインターフェイス装置と
    を備え、
    一つのRAIDグループは、二以上の物理記憶装置で構成されており、
    前記マルチコアプロセッサが、前記第2のインターフェイス装置に接続されており、
    前記記憶資源は、第1のメモリと、第2のメモリとを含み、
    前記第1のメモリは、前記資源管理情報と、BIOS(Basic Input/OutPut System)と、ブートローダと、OS(Operating System)と、前記OS上で動作するアプリケーションプログラムとを記憶し、
    前記第2のメモリは、前記複数のプロセッサコアにそれぞれ割り当てられた複数のサブメモリ領域を含み、
    各サブメモリ領域は、OS用のサブメモリ領域であるOS領域と、アプリケーションプログラム用のサブメモリ領域であるAP領域とを含み、
    前記マルチコアプロセッサの電源が投入された場合、それぞれのプロセッサコアが、
    (H1)前記第1のメモリから前記BIOSをロードし、
    (H2)前記BIOSを実行することにより、前記第1のメモリから前記ブートローダをロードすることと、前記ブートローダを起動することとを実行し、
    (H3)前記ブートローダを実行することにより、前記資源管理情報が表す、そのプロセッサコアに割り当てられているOS領域に、前記1のメモリから前記OSをコピーすることと、前記OSを起動することとを実行し、
    (H4)前記OSを実行することにより、前記資源管理情報が表す、そのプロセッサコアに割り当てられているAP領域に、前記1のメモリから前記アプリケーションプログラムをコピーすることと、前記アプリケーションプログラムを起動することとを実行し、
    (H5)前記アプリケーションプログラムを実行し、
    前記或るプロセッサコアは、前記アプリケーションプログラムを実行することにより、I/O(Input/Output)処理を行い、
    前記I/O処理は、前記要求から特定されたアクセス先領域に基づくRAIDグループを構成している二以上の物理記憶装置に、前記要求に付随したライト対象のデータを書き込むこと、又は、前記特定されたアクセス先領域に基づくRAIDグループを構成している二以上の物理記憶装置から、リード対象のデータを読み出して前記外部装置に提供することを含み、
    前記或るプロセッサコアは、前記(H1)〜(H5)の処理を行なった後に、前記所定のイベントが発生したときに前記I/O処理を行っていれば、前記複数のプロセッサコアのうちの一以上の他のマルチコアプロセッサに前記I/O処理を渡し、その後で、リセット処理を実行する、
    要求処理システム。
  3. 請求項2記載の要求処理システムであって、
    前記或るプロセッサコアは、前記(b)において、以下の(x)〜(z):
    (x)前記或るプロセッサコアに割り当てられているサブメモリ領域を初期化し、前記ブートローダを前記第1のメモリからロードし、及び、前記ブートローダを起動し、それにより、前記(H3)以降を実行する;
    (y)前記或るプロセッサコアに割り当てられているOS領域内の前記OSを起動し、それにより、前記(H4)以降を実行する;
    (z)前記或るプロセッサコアに割り当てられているAP領域内の前記アプリケーションをアンロードし、前記或るプロセッサコアに割り当てられているAP領域に前記第1のメモリから前記アプリケーションプログラムをコピーし、及び、前記アプリケーションプログラムを起動し、それにより、前記(H5)を実行する、
    のうちのいずれか一つを実行する、
    要求処理システム。
  4. 請求項3記載の要求処理システムであって、
    第1の障害レベルが、前記(x)に対応しており、第2の障害レベルが、前記(y)に対応しており、第3の障害レベルが前記(z)に対応しており、
    前記第1のメモリが、どの種類の障害が第1乃至第3の障害レベルのどの障害レベルに対応するかを表す障害レベル判定情報を記憶しており、
    前記所定のイベントは、障害の検出であり、
    前記或るプロセッサコアは、前記(x)乃至(z)のうちの、前記障害レベル判定情報が表す、前記検出された障害の種類に対応する障害レベルに対応した処理を実行する、
    要求処理システム。
  5. 請求項4記載の要求処理システムであって、
    前記各サブメモリ領域は、ログ用のサブメモリ領域であるログ領域を含み、
    前記或るプロセッサコアは、前記(b)において、リブート処理の結果を表すログを、前記或るプロセッサコアに割り当てられているログ領域に書き込む、
    要求処理システム。
  6. 請求項3乃至5のうちのいずれか1項に記載の要求処理システムであって、
    前記所定のイベントが、前記第1のメモリに記憶されているOS及び/又はアプリケーションプログラムの交換であり、
    前記(b)では、前記(x)が実行される、
    要求処理システム。
  7. 請求項1記載の要求処理システムであって、
    複数のリブートレベルに対応した複数のリブート処理があり、
    各リブート処理は、一以上のサブ処理を含み、
    リブートレベルが高いほど、リブート処理に含まれるサブ処理の数が多く、
    前記或るプロセッサコアが、前記(b)において、発生したイベントに応じたリブートレベルに対応するリブート処理を実行する、
    要求処理システム。
  8. 請求項7記載の要求処理システムであって、
    前記所定のイベントは、障害の検出であり、
    各種障害に前記複数の障害レベルのいずれかの障害レベルが対応しており、
    前記リブートレベルは前記障害レベルであり、
    前記或るプロセッサコアが、前記(b)において、前記検出された障害の種類に対応した障害レベルに対応するリブート処理を実行する、
    要求処理システム。
  9. 請求項7又は8記載の要求処理システムであって、
    前記記憶資源は、第1のメモリと、第2のメモリとを含み、
    前記第1のメモリは、BIOS(Basic Input/OutPut System)と、ブートローダと、OS(Operating System)と、アプリケーションプログラムとを記憶し、
    前記第2のメモリは、前記複数のプロセッサコアにそれぞれ割り当てられた複数のサブメモリ領域を含み、
    前記マルチコアプロセッサの電源が投入された場合、それぞれのプロセッサコアが、
    (H1)前記第1のメモリから前記BIOSをロードし、
    (H2)前記BIOSを実行することにより、前記第1のメモリから前記ブートローダをロードすることと、前記ブートローダを起動することとを実行し、
    (H3)前記ブートローダを実行することにより、前記資源管理情報が表す、そのプロセッサコアに割り当てられているサブメモリ領域に、前記1のメモリから前記OSをコピーすることと、前記OSを起動することとを実行し、
    (H4)前記OSを実行することにより、前記資源管理情報が表す、そのプロセッサコアに割り当てられているサブメモリ領域に、前記1のメモリから前記アプリケーションプログラムをコピーすることと、前記アプリケーションプログラムを起動することとを実行し、
    (H5)前記アプリケーションプログラムを実行し、
    前記或るプロセッサコアは、前記(b)において、以下の(x)〜(z):
    (x)前記或るプロセッサコアに割り当てられているサブメモリ領域を初期化し、前記ブートローダを前記第1のメモリからロードし、及び、前記ブートローダを起動し、それにより、前記(H3)以降を実行する;
    (y)前記或るプロセッサコアに割り当てられているOS領域にロードされた前記OSを起動し、それにより、前記(H4)以降を実行する;
    (z)前記或るプロセッサコアに割り当てられているAP領域内の前記アプリケーションをアンロードし、前記或るプロセッサコアに割り当てられているAP領域に前記第1のメモリから前記アプリケーションプログラムをコピーし、及び、前記アプリケーションプログラムを起動し、それにより、前記(H5)を実行する、
    のうちのいずれか一つを実行し、
    前記複数のリブートレベルは、第1乃至第3のリブートレベルを含み、
    第1のリブートレベルが、前記(x)に対応しており、第2のリブートレベルが、前記(y)に対応しており、第3のリブートレベルが前記(z)に対応している、
    要求処理システム。
  10. 請求項1、7乃至9のうちのいずれか1項に記載の要求処理システムであって、
    前記記憶資源は、第1のメモリと、第2のメモリとを含み、
    前記第1のメモリは、BIOS(Basic Input/OutPut System)と、ブートローダと、OS(Operating System)と、アプリケーションプログラムとを記憶し、
    前記第2のメモリは、前記複数のプロセッサコアにそれぞれ割り当てられた複数のサブメモリ領域を含み、
    前記マルチコアプロセッサの電源が投入された場合、それぞれのプロセッサコアが、前記BIOS、前記ブートローダ、前記OS及び前記アプリケーションプログラムの順で起動し、
    前記所定のイベントは、前記第1のメモリに記憶されているOS及び/又はアプリケーションプログラムの交換であり、
    前記或るプロセッサコアが、前記(b)において、前記或るプロセッサコアに割り当てられているサブメモリ領域を初期化し、前記ブートローダを前記第1のメモリからロードし、及び、前記ブートローダを起動する、
    要求処理システム。
  11. 請求項10記載の要求処理システムであって、
    前記所定のイベントは、障害の検出であり、
    前記或るプロセッサコアが、検出された障害の種類に対応した障害レベルが、所定の障害レベルよりも低い場合、前記(b)において、前記第1のメモリに記憶されているOS及び/又はアプリケーションプログラムの交換されたときに実行されるリブート処理よりもサブ処理の数が少ないリブート処理を実行する、
    要求処理システム。
  12. 請求項1、7乃至11のうちのいずれか1項に記載の要求処理システムであって、
    前記記憶資源は、BIOS(Basic Input/OutPut System)(201)と、ブートローダ(202)と、OS(Operating System)(205)と、アプリケーションプログラム(206)とを記憶し、
    前記マルチコアプロセッサの電源が投入された場合、それぞれのプロセッサコアが、
    (H1)前記記憶資源から前記BIOSをロードし、
    (H2)前記BIOSを実行することにより、前記記憶資源から前記ブートローダをロードすることと、前記ブートローダを起動することとを実行し、
    (H3)前記ブートローダを実行することにより、前記記憶資源から前記OSをロードすることと、前記OSを起動することとを実行し、
    (H4)前記OSを実行することにより、前記記憶資源から前記アプリケーションプログラムをロードすることと、前記アプリケーションプログラムを起動することとを実行し、
    (H5)前記アプリケーションプログラムを実行し、
    前記或るプロセッサコアが、所定のコンピュータプログラムを実行することにより、前記ブートローダをロード及び起動することと、前記OSを起動することと、前記アプリケーションプログラムをロード及び起動することとの少なくとも一つを、前記(b)において実行し、それにより、前記(b)において、(H3)、(H4)及び(H5)のうちの少なくとも一つが行われる、
    要求処理システム。
  13. 請求項1又は7に記載の要求処理システムであって、
    前記或るプロセッサコアが、前記所定のイベントが発生したときに前記外部装置からの要求の処理を行っていれば、前記複数のプロセッサコアのうちの一以上の他のマルチコアプロセッサにその要求の処理を渡し、その後で、前記(a)及び(b)を実行する、
    要求処理システム。
  14. 外部装置からの要求を処理するマルチコアプロセッサが有する複数のプロセッサコアのうちの或るプロセッサコアが、所定のイベントを検出し、
    前記或るプロセッサコアが、
    (a)記憶資源が有する複数のサブ記憶資源のうちのどのサブ記憶資源どのプロセッサコア割り当てられているかを表す資源管理情報を基に、前記或るプロセッサコアに割り当てられているサブ記憶資源を特定し、
    (b)前記特定したサブ記憶資源を使用してリブート処理をする、
    を行い、
    前記或るプロセッサコアは、前記(b)を行う都度に、前記(b)のリブート処理の結果を表すログを作成して前記記憶資源に格納し、
    前記或るプロセッサコアは、前記記憶資源に格納されているログが所定の条件に適合する場合には、所定のイベントが発生しても、前記(a)及び(b)を非実行とする、
    リブート方法。
JP2011543016A 2009-09-01 2009-09-01 マルチコアプロセッサを有する要求処理システム Expired - Fee Related JP5427245B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/004301 WO2011027382A1 (en) 2009-09-01 2009-09-01 Request processing system provided with multi-core processor

Publications (2)

Publication Number Publication Date
JP2012523024A JP2012523024A (ja) 2012-09-27
JP5427245B2 true JP5427245B2 (ja) 2014-02-26

Family

ID=41264216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011543016A Expired - Fee Related JP5427245B2 (ja) 2009-09-01 2009-09-01 マルチコアプロセッサを有する要求処理システム

Country Status (3)

Country Link
US (1) US8782469B2 (ja)
JP (1) JP5427245B2 (ja)
WO (1) WO2011027382A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503557B2 (en) 2016-12-27 2019-12-10 Samsung Electronics Co., Ltd. Method of processing OpenCL kernel and computing device therefor

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100250789A1 (en) * 2009-03-27 2010-09-30 Qualcomm Incorporated System and method of managing memory at a portable computing device and a portable computing device docking station
US9201593B2 (en) * 2009-03-27 2015-12-01 Qualcomm Incorporated System and method of managing displays at a portable computing device and a portable computing device docking station
US20100250817A1 (en) * 2009-03-27 2010-09-30 Qualcomm Incorporated System and method of managing data communication at a portable computing device and a portable computing device docking station
US20100250818A1 (en) * 2009-03-27 2010-09-30 Qualcomm Incorporated System and method of providing wireless connectivity between a portable computing device and a portable computing device docking station
US8653785B2 (en) 2009-03-27 2014-02-18 Qualcomm Incorporated System and method of managing power at a portable computing device and a portable computing device docking station
US20100251243A1 (en) * 2009-03-27 2010-09-30 Qualcomm Incorporated System and method of managing the execution of applications at a portable computing device and a portable computing device docking station
US8707061B2 (en) * 2009-03-27 2014-04-22 Qualcomm Incorporated System and method of providing scalable computing between a portable computing device and a portable computing device docking station
US9128669B2 (en) * 2009-03-27 2015-09-08 Qualcomm Incorporated System and method of managing security between a portable computing device and a portable computing device docking station
JP5434942B2 (ja) * 2011-03-22 2014-03-05 株式会社デンソー 制御装置
JP2013054434A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd I/o制御装置およびi/o制御方法
US9734103B2 (en) * 2015-01-25 2017-08-15 Dell Products, L.P. Systems and methods for transforming a central processing unit (CPU) socket into a memory and/or input/output (I/O) expander
US11520646B2 (en) 2017-05-09 2022-12-06 Intel Corporation Method for improving operational integrity of IoT device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2500745B2 (ja) * 1993-04-09 1996-05-29 日本電気株式会社 サ―ビス制御ノ―ド
JP4187403B2 (ja) * 2000-12-20 2008-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記録システム、データ記録方法およびネットワークシステム
JP2002251300A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 障害監視方法及び装置
DE10236571A1 (de) * 2002-08-08 2004-02-26 Astrium Gmbh Verfahren zum Betrieb einer Datenverarbeitungseinrichtung unter Verwendung komprimierter Daten
JP4026588B2 (ja) * 2003-12-01 2007-12-26 日本電気株式会社 ディスクアレイ装置およびディスクキャッシュ管理方法ならびにプログラム
JP2006107045A (ja) * 2004-10-04 2006-04-20 Hitachi Ltd ストレージ装置
JP4969791B2 (ja) * 2005-03-30 2012-07-04 株式会社日立製作所 ディスクアレイ装置およびその制御方法
JP4824345B2 (ja) * 2005-06-01 2011-11-30 富士通株式会社 活性ファームウェア交換装置
US7949766B2 (en) * 2005-06-22 2011-05-24 Cisco Technology, Inc. Offload stack for network, block and file input and output
JP4414961B2 (ja) * 2005-12-13 2010-02-17 株式会社日立製作所 管理サーバによる管理方法、管理サーバ、計算機システムおよび管理プログラム
JP2008123439A (ja) 2006-11-15 2008-05-29 Denso Corp オペレーティング・システム、プログラム及び移動体操縦支援装置
US20080091974A1 (en) 2006-10-11 2008-04-17 Denso Corporation Device for controlling a multi-core CPU for mobile body, and operating system for the same
JP5057741B2 (ja) * 2006-10-12 2012-10-24 株式会社日立製作所 ストレージ装置
US7627718B2 (en) * 2006-12-13 2009-12-01 Intel Corporation Frozen ring cache
US20080196043A1 (en) * 2007-02-08 2008-08-14 David Feinleib System and method for host and virtual machine administration
JP4458119B2 (ja) * 2007-06-11 2010-04-28 トヨタ自動車株式会社 マルチプロセッサシステム及びその制御方法
JP4475598B2 (ja) * 2007-06-26 2010-06-09 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503557B2 (en) 2016-12-27 2019-12-10 Samsung Electronics Co., Ltd. Method of processing OpenCL kernel and computing device therefor

Also Published As

Publication number Publication date
US20120042215A1 (en) 2012-02-16
JP2012523024A (ja) 2012-09-27
US8782469B2 (en) 2014-07-15
WO2011027382A1 (en) 2011-03-10

Similar Documents

Publication Publication Date Title
JP5427245B2 (ja) マルチコアプロセッサを有する要求処理システム
US10909012B2 (en) System having persistent memory
US7484029B2 (en) Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
US10120887B1 (en) Demand-driven initialization of data storage structures
JP2010510607A (ja) システムハードウェアの交換
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
JP2004342109A (ja) 入出力ファブリックにおけるハードウェア・エラーからの自動回復
US20170293451A1 (en) Dynamic partitioning of processing hardware
US10956189B2 (en) Methods for managing virtualized remote direct memory access devices
US7530000B2 (en) Early detection of storage device degradation
TWI333144B (en) Device, system, method and computer-readable storage medium storing instructions for managing errors on a target storage device
KR20090081405A (ko) 파티션 유닛을 교체하는 방법 및 컴퓨터 판독가능 매체
US9699093B2 (en) Migration of virtual machine based on proximity to peripheral device in NUMA environment
JP6123388B2 (ja) フォールトトレラントサーバ
US20180059982A1 (en) Data Storage Systems and Methods Thereof to Access Raid Volumes in Pre-Boot Environments
US20090063836A1 (en) Extended fault resilience for a platform
US20070061613A1 (en) Restart method for operating system
US7500051B2 (en) Migration of partitioned persistent disk cache from one host to another
US10831684B1 (en) Kernal driver extension system and method
JP5035227B2 (ja) 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム
US9977730B2 (en) System and method for optimizing system memory and input/output operations memory
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
US20130238884A1 (en) Computer-readable recording medium storing memory dump program, information processing apparatus, and memory dump method
JP2013054434A (ja) I/o制御装置およびi/o制御方法
WO2012143978A1 (ja) 情報処理装置及び情報処理装置の処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130809

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees