JP2010524108A - ピア・プログラマブル・ハードウェア・デバイスの自動ファームウェア復元方法及びプログラム - Google Patents

ピア・プログラマブル・ハードウェア・デバイスの自動ファームウェア復元方法及びプログラム Download PDF

Info

Publication number
JP2010524108A
JP2010524108A JP2010502526A JP2010502526A JP2010524108A JP 2010524108 A JP2010524108 A JP 2010524108A JP 2010502526 A JP2010502526 A JP 2010502526A JP 2010502526 A JP2010502526 A JP 2010502526A JP 2010524108 A JP2010524108 A JP 2010524108A
Authority
JP
Japan
Prior art keywords
programmable hardware
hardware device
firmware image
valid
firmware
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
JP2010502526A
Other languages
English (en)
Other versions
JP5186551B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Priority claimed from US11/735,295 external-priority patent/US7761734B2/en
Priority claimed from US11/735,305 external-priority patent/US7761735B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010524108A publication Critical patent/JP2010524108A/ja
Application granted granted Critical
Publication of JP5186551B2 publication Critical patent/JP5186551B2/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/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant

Abstract

【課題】ピア・プログラマブル・ハードウェア・デバイスの自動ファームウェア復元の方法を提供する。
【解決手段】ファームウェアを復元する技法を提供する。第1のプログラマブル・ハードウェア・デバイスが、第2のプログラマブル・ハードウェア・デバイスは有効ファームウェア・イメージを必要とすると判断し、外部メモリから有効ファームウェア・イメージのコピーを取り出し、この有効ファームウェア・イメージを、プライベート通信リンクを介して第2のプログラマブル・ハードウェア・デバイスに送信し、ここでプライベート通信リンクは、第1のプログラマブル・ハードウェア・デバイスと第2のプログラマブル・ハードウェア・デバイスとの間のプライベート通信を可能にする。第2のプログラマブル・ハードウェア・デバイスは、有効ファームウェア・イメージを用いて既存のファームウェアを復元する。
【選択図】 図1

Description

本発明の実施形態は、ピア・プログラマブル・ハードウェア・デバイスの自動ファームウェア復元に関する。
プログラマブル・ハードウェア・デバイス(例えば、記憶サーバ内の小型コンピュータ・システム・インタフェース(SCSI)エンクロージャ・サービス(SES)プロセッサ、又はUSBデバイス用のユニバーサル・シリアス・バス(USB)コントローラ)は、多くの異なる型のシステム内に見出される。幾つかの場合において、プログラマブル・ハードウェア・デバイスの目的は、信頼性、利用可能性又は有用性(RAS)の特徴を提供することである。しかしながら、場合によっては、プログラマブル・ハードウェア・デバイスはその動作を駆動するファームウェアに対する更新を必要とする可能性がある。ファームウェアは、デバイスの恒久的な部分であるプログラミングと言うことができる(例えば、プログラマブル読み取り専用メモリ(PROM)に挿入することによって)。また、ファームウェアは、プログラマブル・ハードウェア・デバイス上で実行しているプログラミングであると言うことができ、一方、ファームウェア・イメージは、プログラマブル・ハードウェア・デバイスにロードされるファームウェアを含む一組のデータと言うことができる。多くの場合、プログラマブル・ハードウェア・デバイスに書き込まれるファームウェアは、以前のオペレーティング・ファームウェアを上書きすることになる。従って、破損したファームウェア(即ち、ファームウェア・イメージの形態における)が、プログラマブル・ハードウェア・デバイスに書き込まれる場合には、プログラマブル・ハードウェア・デバイスは動作しないことになり、従って、もはや通常の機能を提供することができない。破損したファームウェアを有する(即ち、破損したファームウェア・イメージを有する)プログラマブル・ハードウェア・デバイスは、破損したプログラマブル・ハードウェア・デバイスと呼ぶことができる。破損しているファームウェアは、破損したファームウェア又は無効なファームウェアと言うことができる。
場合によって起り得る別の状態は、ファームウェアが通常の動作中にエラーを起し(例えば、ファームウェア・イメージのダウンロードが行われないとき、又は実行時間中に)、そのエラーがファームウェア・イメージを破損し、従ってまた、プログラマブル・ハードウェア・デバイスが通常の機能を提供するのを妨げる状態である。
通常、どうかすると失敗するシステム・デバイスは、システムの全体的性能に悪影響を及ぼし、これはほとんどの顧客の環境において許容できるものではない。通常、問題を修復するための従来の方法は、プログラマブル・ハードウェア・デバイスを取り換えることであり、又は、可能であれば、ファームウェア・イメージを再インストールすることである。しかしながら、これらの修復は、ある型の外部サポートによる介入を必要とし、またこの型の介入は自動的ではない。顧客が如何なる遅延によっても悪影響を受ける重大な動作を行う場合には、サポートを要求して待ち受ける既存の解決法は適切ではなくなる。
従って、当技術分野において、プログラマブル・ハードウェア・デバイスに関するファームウェア問題の自動的自己修正を可能にすることが必要である。
本発明によれば、ファームウェアを復元する方法及びコンピュータ・プログラム製品が提供される。第1のプログラマブル・ハードウェア・デバイスは、第2のプログラマブル・ハードウェア・デバイスが有効なファームウェア・イメージを必要とすることを判断し、外部メモリから有効ファームウェア・イメージのコピーを取り出し、そしてプライベート通信リンクを介して有効ファームウェア・イメージを第2のプログラマブル・ハードウェア・デバイスに送信し、ここでプライベート通信リンクは、第1のプログラマブル・ハードウェア・デバイスと第2のプログラマブル・ハードウェア・デバイスとの間のプライベート通信を可能にする。第2のプログラマブル・ハードウェア・デバイスは有効ファームウェア・イメージを用いて既存のファームウェアを復元する。
ここで、全体を通して類似の参照番号が対応する部分を表す図面を参照する。
本発明の特定の実施形態による、2つの冗長デバイスの細部を示す。 本発明の特定の実施形態による、2つの非冗長のプログラマブル・ハードウェア・デバイスの細部を示す。 特定の実施形態による、ファームウェア・イメージの受信に応答して各プログラマブル・ハードウェア・デバイスが実行する論理を示す。 特定の実施形態による、失敗したプログラマブル・ハードウェア・デバイスによって実行される論理を示す。 特定の実施形態による、パートナが失敗したときにプログラマブル・ハードウェア・デバイスによって実行される論理を示す。 特定の実施形態により用いることができるシステム・アーキテクチャを示す。
以下の説明において、本明細書の一部分を形成し本発明の幾つかの実施形態を示す添付の図面を参照する。他の実施形態を用いることができ、構造上及び操作上の変更を本発明の範囲から逸脱せずに施すことができることを理解されたい。
実施形態は、冗長パートナを有するか、又は別のプロセッサとの共有外部メモリを有するか、又はプログラマブル・ハードウェア・デバイス用の有効ファームウェア・イメージのコピーを維持する別のプロセッサにリンクされる、プログラマブル・ハードウェア・デバイスに対する自動的ファームウェア復元を提供する。特定の実施形態において、2つの冗長デバイスが存在し、失敗デバイスが更新を受信することができ且つ通信インターフェースが2つのデバイス間で機能するとすれば、デバイスのうちの1つに対する任意のファームウェアの更新を他のデバイスによって修正することができる。ファームウェアの更新は、ファームウェア・イメージの更新と言うことができる。特定の実施形態においては、冗長ではない2つのプロセッサが存在し、しかし破損したプロセッサは他方のプロセッサへの機能する通信インターフェースを有し、そしてこの他方のプロセッサは、破損したプロセッサのファームウェア・イメージのコピーを含む破損したプロセッサの外部メモリに対するアクセス権を有するか、又は破損したプロセッサのファームウェア・イメージのコピーをある記憶装置内に維持する(例えば、ファームウェア・イメージはファームウェアの更新中に、記憶のためにプロセッサに送られる)。実施形態はまた、ファームウェアの更新とは別の、プロセッサが通常の動作中にファームウェア・イメージを破損するある型のエラーに遭遇し、そしてプロセッサが通常の動作中又は再起動の際に失敗を検出する場合の状態に適用可能である。
単に理解を高めるために、ファームウェアの更新に適用可能な実施形態の説明を与える。しかしながら、実施形態はまた、ファームウェア・イメージが通常の動作中に破損する状態にも適用可能である。
図1は、本発明の特定の実施形態による、2つの冗長デバイスの細部を示す。図1において、管理モジュール(MM)100は開始デバイスであり、外部デバイス通信媒体150を介してサーバ110に接続される。サーバ110は、アクティブ・ベースボード管理コントローラ(BMC)120及びスタンバイ・ベースボード管理コントローラ(BMC)130を含む。アクティブ及びスタンバイBMC120、130は、ローカル・リソースに対する管理機能を提供し、また共有リソースに対する冗長管理機能を提供する。
アクティブBMC120は、プロセッサ122及び内部メモリ124を含む。スタンバイBMCは、プロセッサ132及び内部メモリ134を含む。
図1において、アクティブ及びスタンバイBMC120、130は、冗長プログラマブル・ハードウェア・デバイスである。アクティブBMC120及びスタンバイBMC130はまた、それぞれ、第1及び第2のターゲット・デバイス、又はパートナBMCと呼ぶこともできる。アクティブ及びスタンバイBMC120、130は、サーバ110全体の信頼性を向上させる冗長性のためのデュアルBMCと言うことができるが、しかし、各BMC120、130が個々に制御する、冗長性で保護されないローカル・コンポーネントが存在する(例えば、1つのBMC120、130は、パートナBMC120、130によって直接的に制御されるコンポーネントに電力を供給することはできない)。BMC120、130は、各BMC120、130専用の外部メモリ128、138に加えて、それらの間の内部プライベート通信リンク142を有する。これらのコンポーネント142、128、138を用いることにより、実施形態は自動的ファームウェア修正を可能にする。
アクティブBMC120及びスタンバイBMC130は、プライベート通信リンク142によって通信することができる。プライベート通信リンク142は、アクティブ及びスタンバイBMC120、130の間のプライベート通信を可能にするプライベート・デバイス通信媒体と言うことができる。管理モジュール100は、直接にプライベート通信リンク142上に通信を送信することはできない。内部デバイス通信媒体140は外部デバイス通信媒体150に結合される。特定の実施形態において、外部デバイス通信媒体150は、バス(例えば、RS485シリアルバス、集積回路間(I2C)バス、デュアルポートRAM(DPRAM)、又は他のバスベースの媒体)とすることができ、また内部デバイス通信媒体140は、外部デバイス通信媒体150に接続されるバス(例えば、内部RS485シリアルバス、集積回路間(I2C)バス、デュアルポートRAM(DPRAM)、又は他のバスベースの媒体)とすることができる。
通常の動作中、管理モジュール100は、単一のファームウェア・イメージを(複数のパケットにより)アクティブ及びスタンバイBMC120、130の両方に、単一の外部デバイス通信媒体150上でファームウェア・イメージを発行することによって送信する。通常の更新プロセスにおいて、各BMC120、130は、ファームウェア・イメージを、プロセッサ122、132を駆動するBMC命令セットをストアする内部メモリ124、134(例えば、内部フラッシュ領域)に直接書き込む。ファームウェア・イメージが破損した場合、各BMC120、130は、ファームウェア更新プロセスにおいて更新されないコード(即ち、ブート・ブロックと呼ばれる場所にストアされるコード)内に準備された一組の縮小機能による新規のファームウェア更新を待つ限定的な機能を有する。しかしながら、BMC120、130の通常の機能は、ファームウェア・イメージが破損した場合には、もはや与えることができない。このことはサーバ110において、各BMC120、130がサーバ110内のシステム電力を制御するので、問題となり得る。それゆえに、サーバ110がファームウェア更新の間に電源が落ちて更新が失敗する場合(即ち、ファームウェア・イメージが破損する)には、サーバ110は、有効ファームウェア更新が与えられるまでは電源をオンにすることができず、これは顧客がブレード・サーバの有用性を失うことを意味する。「有効」ファームウェア更新は、破損しておらず、BMC120、130がその機能の正しい実行を開始するのを可能にするものと言うことができる。破損したファームウェアの例示的な結果は、ファームウェア更新が成功裡に完了してBMC120、130が正常に開始するが、その通常の機能の幾つかが新規の破損したファームウェアによって妨げられる状況である。第2のBMC120、130が存在する場合でも、ファームウェアの失敗の場合には、第2のBMC120、130は、パートナBMC120、130によって直接制御されるコンポーネントに電力を供給することができず、これはBMC120、130の両方が動作状態であることの重要性を強調する。
実施形態により、アクティブBMC120は外部メモリ128に結合され、その中にアクティブBMC120はファームウェア・イメージのコピーをストアする。スタンバイBMC130は外部メモリ138に結合され、その中にスタンバイBMC130はファームウェア・イメージのコピーをストアする。冗長デバイスの場合、各々の冗長デバイスは同じファームウェアを実行する。従って、外部メモリ128、138内のファームウェア・イメージのコピーは同じである。これらのコピーにより、BMC120、130のうちの1つが破損したファームウェアを有する場合には、他のBMC120、130が外部メモリ128、138から対応するファームウェア・イメージを供給することができる。
特定の実施形態において、サーバ110は、IBM(登録商標)BladeCenter(登録商標)シャーシ(インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能)内のブレード・サーバであり、ここでブレード・サーバは、デュアル・ベースボード管理コントローラ(BMC)を有する。ブレード・サーバは、中級サーバ・クラスの記憶システムと言うことができる。しかしながら、実施形態は、任意の組のターゲット・デバイス(例えば、アクティブ及びスタンバイBMC120、130のような冗長デバイス)に適用可能であり、データ・スニッフィング・モードにおける「スヌーピング」を可能にする、ターゲット・デバイス間の任意の共有通信媒体(例えば、内部デバイス通信媒体140)を用いることができ、そして冗長ターゲット・デバイス間の任意のプライベート・デバイス通信媒体(例えば、プライベート通信リンク142)を用いることができる。データ・スニッフィング・モード(「プロミスキャス」モードとも呼ばれる)は、ターゲット・デバイスが、届いた各通信を、その通信がそのターゲット・デバイスを宛先にしたものであってもなくても、傍受してその全体を読み取るモードと言うことができる。実施形態は、シリアル又は非シリアルのネットワーク内で用いることができる。本明細書の実施例はファームウェアの更新に関連するが、実施形態はソフトウェアの更新にも適用可能である。また、同じデバイス通信媒体によって更新を受信する任意の数のデバイスが存在できる。アクティブ及びスタンバイBMC120、130は、IBM(登録商標)BladeCenter(登録商標)管理モジュール(MM)によって用いられるブレード・サーバ内の制御エンティティと言うことができる。
通常の動作中、1つのBMC(例えば、アクティブBMC120)は、外部デバイス通信媒体150を「所有する」と言われ、それゆえ1つのBMCは同時に管理モジュール100と通信することができる。管理モジュール100はアクティブBMC120に命令を送信することを認識するが、管理モジュール100はアクティブBMC120に直接には通信しない。その代わりに、管理モジュール100は、サーバ110のスロットに関連付けられる外部デバイス通信媒体150上のアドレスにメッセージを送信するので、アクティブ及びスタンバイBMC120、130はこのアドレス上で応答及び/又は聞き取ることができる。従って、管理モジュール100の見地からは、管理モジュールはいつでも1つのBMCに通信している。サーバ110内のデュアルBMC120、130の特定の実施形態において、両方のBMCが外部デバイス通信媒体150をアクティブに用いることを妨げるハードウェア障害は存在しない(その場合、スタンバイBMC130は内部デバイス通信媒体140を介して外部デバイス通信媒体150にアクセスすることができる)。しかしながら、特定の実施形態において、外部デバイス通信媒体150は、アクティブBMC120と定義されたデフォルトBMCによってアクティブに用いられ、そして他のBMC130は、外部デバイス通信媒体150をアクティブに用いるアクティブBMC120が失敗するまで、内部デバイス通信媒体140に関する非アクティブ状態に留まる。
図2は、本発明の特定の実施形態による冗長ではない2つのプログラマブル・ハードウェア・デバイスの細部を示す。図2において、管理モジュール(MM)200は開始デバイスであり、外部デバイス通信媒体250を介してサーバ210に接続される。サーバ210は、プログラマブル・ハードウェア・デバイスA220及びプログラマブル・ハードウェア・デバイスB230を含む。プログラマブル・ハードウェア・デバイスA220は、プロセッサ222及び内部メモリ224を含む。プログラマブル・ハードウェア・デバイスBは、プロセッサ232及び内部メモリ234を含む。
図2において、プログラマブル・ハードウェア・デバイス220、230はまた、パートナと呼ぶことができる。プログラマブル・ハードウェア・デバイス220、230は、それらの間の内部プライベート通信リンク242を有し、各プログラマブル・ハードウェア・デバイス220、230は、外部メモリ228、238を有する。破線290は、プログラマブル・ハードウェア・デバイスA220が随意に外部メモリ238に結合されることを示し、一方、破線292は、プログラマブル・ハードウェア・デバイスB230が随意に外部メモリ228に結合されることを示す。このようにして、どちらかの外部メモリ228、238、又は両方の外部メモリ228、238は、共有外部メモリとして機能することができる。特定の実施形態において、外部メモリ228、238は、1つのプログラマブル・ハードウェア・デバイス220、230に専用のものとし、他のプログラマブル・ハードウェア・デバイス220、230によってアクセス可能とする。図2に示す実施形態により、プログラマブル・ハードウェア・デバイス220、230は、同じファームウェアを用いないが、各々は、他のプログラマブル・ハードウェア・デバイス220、230のファームウェア・イメージのコピーにアクセスすることができる(例えば、それ自体の外部メモリ228、238から、又は他のプログラマブル・ハードウェア・デバイスの外部メモリ228、238から)。それゆえに、1つのプログラマブル・ハードウェア・デバイス220、230が、破損したファームウェアのために失敗する場合、他のプログラマブル・ハードウェア・デバイス220、230が有効なファームウェア・イメージを供給することができる。
実施形態は外部メモリ128、138、228、238に関連するが、プログラマブル・ハードウェア・デバイス120、130、220、230の外部の任意の記憶空間を、その記憶空間が不揮発性であるか又は何らかの方法でコンテンツを保護してメモリ内のファームウェアが失われないようにする限り(例えば、電源オフ段階の間)、用いることができる。
図2において、内部デバイス通信媒体240は、外部デバイス通信媒体250に結合される。特定の実施形態において、外部デバイス通信媒体250は、バス(例えば、RS485シリアルバス、集積回路間(I2C)バス、デュアルポートRAM(DPRAM)、又は他のバスベースの媒体)とすることができ、そして内部デバイス通信媒体240は、外部デバイス通信媒体250に接続されるバス(例えば、内部RS485シリアルバス、集積回路間(I2C)バス、デュアルポートRAM(DPRAM)、又は他のバスベースの媒体)とすることができる。
実施形態により、各プログラマブル・ハードウェア・デバイス(例えば、BMC120、130又はデバイス220、230)は、そのプログラマブル・ハードウェア・デバイスに接続された新規のハードウェア・コンポーネントである外部メモリを用いる。図3は、特定の実施形態による、ファームウェア・イメージの受信に応答して各プログラマブル・ハードウェア・デバイス120、130、220、230によって実行される論理を示す。制御はブロック300で開始し、プログラマブル・ハードウェア・デバイス120、130、220、230がファームウェア・イメージを受信する(即ち、受信された第1のファームウェア・イメージ、又は以前に受信されたファームウェア・イメージに対する更新とすることができる新規のファームウェア・イメージ)。ブロック302において、プログラマブル・ハードウェア・デバイス120、130、220、230は外部メモリ内にファームウェア・イメージをストアする。各外部メモリ128、138、228、238は、ファームウェア・イメージの複数のコピーを保持するのに十分に大きい(例えば、プログラマブル・ハードウェア・デバイス120、130、220、230がファームウェア・イメージの特定のバージョンを取得するのを可能にする複数のバージョン)。特定の実施形態において、コピーの数は、メモリが幾つのコピーをサポートするかによって決定され、一方、他の実施形態においては、メモリサイズに加えて、又はその代りに他の要因を用いることができる。
具体的には、通常のファームウェアの動作中、各BMC120、130は、ファームウェア・イメージを外部メモリ128、138内の一領域にコピーする。各BMC120、130は2つ又は複数のコピーを保持する。1つ又は複数の外部メモリ228、238を共有する非冗長型プログラマブル・ハードウェア・デバイス220、230に関しては、各プログラマブル・ハードウェア・デバイス220、230は、そのファームウェア・イメージのコピーを共有外部メモリ228、238内にストアすることができる。一方、1つ又は複数の外部メモリ228、238を共有しない非冗長型プログラマブル・ハードウェア・デバイス220、230に関しては、各プログラマブル・ハードウェア・デバイス220、230は、他のプログラマブル・ハードウェア・デバイス220、230のファームウェア・イメージのコピーを受信し、そのコピーをそれ自体の外部メモリ228、238内にストアする。
図4は、特定の実施形態による、失敗したプログラマブル・ハードウェア・デバイス120、130、220、230によって実行される論理を示す。制御はブロック400で開始し、プログラマブル・ハードウェア・デバイス120、130、220、230は隋意に、有効ファームウェア・イメージが必要であると判断してパートナに通知する。特定の実施形態において、プログラマブル・ハードウェア・デバイス120、130、220、230がパートナに通知するのではなく、パートナが自動的に失敗を検出して有効ファームウェア・イメージを送信する。ブロック402において、プログラマブル・ハードウェア・デバイス120、130、220、230は、有効ファームウェア・イメージのコピーを受信する。特定の実施形態において、プログラマブル・ハードウェア・デバイス120、130、220、230は、パートナからコピーを受信する。特定の代替の実施形態において、プログラマブル・ハードウェア・デバイス120、130、220、230は、その外部メモリ128、138、228、238から有効ファームウェア・イメージのコピーを取得する。ブロック406において、プログラマブル・ハードウェア・デバイス120、130、220、230は、有効ファームウェア・イメージの受信したコピーを用いて復元される。ブロック406において、プログラマブル・ハードウェア・デバイス120、130、220、230は、隋意に、有効ファームウェア・イメージのコピーをその外部メモリ128、138、228、238内にストアする(例えば、ファームウェア・イメージがそれ自体の外部メモリ128、138、228、238から取り出されない場合)。
図5は、特定の実施形態による、パートナが失敗したときにプログラマブル・ハードウェア・デバイス120、130、220、230によって実行される論理を示す。制御はブロック500で開始し、プログラマブル・ハードウェア・デバイス120、130、220、230はパートナが有効ファームウェア・イメージを必要とすると判断する。その判断はプログラマブル・ハードウェア・デバイス120、130、220、230によって自動的に行うことができ、又は、プログラマブル・ハードウェア・デバイス120、130、220、230がパートナから失敗の指示を受信することができる。ブロック502において、プログラマブル・ハードウェア・デバイス120、130、220、230は、外部メモリ128、138、228、238から有効ファームウェア・イメージのコピーを取り出す。種々の実施形態において、有効ファームウェア・イメージのコピーは、プログラマブル・ハードウェア・デバイス120、130、220、230の専用外部メモリから、又は共有外部メモリから取り出すことができる。ブロック504において、プログラマブル・ハードウェア・デバイス120、130、220、230は、プライベート通信リンク142、242を介して、有効ファームウェア・イメージのコピーをパートナに送信する。
図1、及び2つの冗長デバイスが存在する実施形態を参照すると、破損したファームウェア・イメージが管理モジュール100からBMC120、130に渡される場合、1つのBMC120、130は同時に更新されるので、ファームウェア更新プロセスは、実施形態によるアクションが実行されずに失敗する可能性がある。特定の実施形態において、破損したBMC120、130は、ファームウェア・イメージのコピーに対してその外部メモリ128、138に直接アクセスしてそれ自体を更新する。特定の実施形態において、BMC120、130が外部メモリ120、130内に有効ファームウェア・イメージを見出さない場合、又は、破損したBMC120、130が指示をパートナに与えるように設計される場合には、破損したBMC120、130は、有効ファームウェア・イメージが必要であるとの指示をパートナBMC120、130に供給する。パートナBMC120、130は、その外部メモリ128、138内の最新の有効ファームウェア・イメージを破損したBMC120、130に供給することにより、又は、それ自体のファームウェア・イメージを直接読み取り、それを他のBMC120、130にプライベート通信リンク142を介して供給することによって、破損したBMC120、130のファームウェアをロールバックする立場にある。動作中のBMC120、130は、ファームウェア更新プロセスを開始して破損したパートナBMC120、130を更新する管理モジュールとして機能する。BMC120、130のファームウェア更新を開始するための制御は、ハートビート機構を有する有効パートナのドメイン内に配置することができる。ハートビート機構は、プログラマブル・ハードウェア・デバイス120、130、220、230が周期的にメッセージをパートナに送信し、パートナからメッセージを受信してパートナが相変わらず機能しているかどうかを判断するものと言うことができる。例えば、プログラマブル・ハードウェア・デバイス120、130、220、230が所定の時間内にハートビート機能のメッセージに応答しないとき、パートナのプログラマブル・ハードウェア・デバイス120、130、220、230は、プログラマブル・ハードウェア・デバイス120、130、220、230が失敗して、有効ファームウェア・イメージを必要とすると判断する。このように完了すると、両方のBMCは再び冗長形式で動作することができる。
図2、及びデバイスが冗長ではない実施形態を参照すると、共有外部メモリ228、238はプロセッサ222、232の間で使用可能とすることができ、或いは、両方のプロセッサ222、232は別々の専用外部メモリ228、238内にパートナのファームウェア・イメージを維持することができる。プロセッサ222、232は、冗長である必要はないが、機能する通信インターフェース(例えば、プライベート通信リンク242)を有する。種々の実施形態において、各プロセッサ222、232が通常の動作中にハートビート機能を実施するか、又は破損したプロセッサ222、232が失敗をパートナ・プロセッサ222、232に示す。ファームウェアの更新に対して、ハートビート機構は一時的に停止するが、その理由は、更新されるプロセッサ222、232がその機能を処理する立場にないからである(即ち、通常、その機能はファームウェア更新中にアクセスできない動作中のコード内にあるので)。しかしながら、ハートビード機構が時間内に開始しない場合に終了するタイムアウトを実行することができる(即ち、タイムアウトは、パートナ・プロセッサのためのファームウェア更新に許容される最長時間として定義することができる)。タイムアウトの場合、パートナ・プロセッサ222、232は、自動的に外部メモリ228、238からファームウェア・イメージを取り出して、破損したプロセッサ222、232を更新する。特定の実施形態において、破損したプロセッサ222、232は、パートナ・プロセッサ222、232から使用可能なファームウェアの最新バージョンのファームウェア・イメージを要求し受信する。ファームウェア・イメージは、プロセッサ222、232の間のプライベート通信リンク242によって供給することができ、又は、代替的に、パートナ・プロセッサ222、232が、ジョイント・テスト・アクション・グループ(JTAG)インターフェースのようなプロセッサの内部メモリ224、234を更新するユーティリティに直接書き込むことによって内部メモリ224、234を直接更新する機能を有する場合には、破損したプロセッサの内部メモリ224、234(例えば、内部フラッシュ領域)を直接更新することができる。完了すると、破損したプロセッサは有効ファームウェア・イメージを有する。
これらの実施形態を用いて、破損したファームウェア・イメージを受信したプログラマブル・ハードウェア・デバイス120、130、220、230は、有効ファームウェア・イメージにより自動的に復元される。実施形態により、プログラマブル・ハードウェア・デバイス120、130、220、230が通常の動作中にそのファームウェア又はファームウェア・イメージを破損するエラーに遭遇するとき、プログラマブル・ハードウェア・デバイス120、130、220、230は、それ自体の外部メモリ128、138、228、238からの、又はパートナ120、130、220、230からの有効ファームウェア・イメージを用いて復元することができる。通常の動作中にファームウェア・イメージを破損する条件の一例は、ファームウェアに無効なコードを実行させるか又は不要なデータにアクセスさせる無効なメモリ・アクセスである。この場合、プログラマブル・ハードウェア・デバイス120、130、220、230が、通常の動作中にそれが破損した状態にあることを識別する機能を有する場合には、プログラマブル・ハードウェア・デバイス120、130、220、230は有効ファームウェア・イメージにより復元することができる。また、プログラマブル・ハードウェア・デバイス120、130、220、230がタイムアウト(例えば、ウォッチドッグ・タイマーのタイムアウト)のために再起動し、その初期化中に、プログラマブル・ハードウェア・デバイス120、130、220、230が、問題があったことを識別する場合には、プログラマブル・ハードウェア・デバイス120、130、220、230は、通常の起動を停止して有効ファームウェア・イメージを取得することができる。ウォッチドッグ・タイマーは、ハードウェアにより周期的にリセットされるタイマーと言うことができ、タイマーがリセットされない場合、システムは失敗状態に入る。
従って、実施形態により、破損したプログラマブル・ハードウェア・デバイス120、130、220、230は、パートナのプログラマブル・ハードウェア・デバイス120、130、220、230から有効ファームウェア・イメージを取得し、有効ファームウェア・イメージにより動作することができる。
破損したファームウェア・イメージは、ファームウェア更新中又は通常の動作中に復元することができる。実施形態は、有効ファームウェア・イメージへのロール・バックを可能にする。実施形態はまた、ハートビート機構を提供して、通常の動作中にパートナ120、130、220、230の失敗を検出する。
付加的な実施形態の細部
説明した動作は、標準のプログラミング及び/又は工学技術を用いてソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組合せを作成する方法、コンピュータ・プログラム製品又は装置として実施することができる。
実施形態の各々は、もっぱらハードウェアの実施形態、もっぱらソフトウェアの実施形態、又は、ハードウェア要素及びソフトウェア要素の両方を含む実施形態の形をとることができる。実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがそれらに限定されないソフトウェアの内部に実装することができる。
さらに、実施形態は、コンピュータ又は任意の命令実行システムにより又はそれと共に用いるためのプログラム・コードを与えるコンピュータ使用可能又はコンピュータ可読媒体からアクセスできるコンピュータ・プログラム製品の形態をとることができる。この説明の目的で、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置又はデバイスにより、又はそれと共に用いるためのプログラムを含み、ストアし、通信し、伝搬し、又は輸送することができる任意の装置とすることができる。
説明した動作は、コンピュータ使用可能又はコンピュータ可読媒体内に維持されるコードとして実装することができ、ここでプロセッサは、コンピュータ可読媒体からコードを読み取って実行することができる。媒体は、電子、磁気、光学、電磁気、赤外線、又は半導体システム(又は装置又はデバイス)、又は伝搬媒体とすることができる。コンピュータ可読媒体の実施例は、半導体又はソリッド・ステート・メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、剛性磁気ディスク、光ディスク、磁気記憶媒体(例えば、ハードディスク・ドライブ、フロッピー・ディスク、テープなど)、揮発性及び不揮発性メモリ・デバイス(例えば、ランダム・アクセス・メモリ(RAM)、DRAM、SRAM、読み取り専用メモリ(ROM)、PROM、EEPROM、フラッシュ・メモリ、ファームウェア、プログラム可能な論理など)を含む。光ディスクの現在の実施例は、コンパクト・ディスク読み取り専用メモリ(CD−ROM)、コンパクト・ディスク読み取り/書き込み(CD−R/W)メモリ及びDVDを含む。
説明した動作を実施するコードは、さらに、ハードウェア論理(例えば、集積回路チップ、プログラム可能なゲート・アレイ(PGA)、特定用途向け集積回路(ASCI)など)内にさらに実装することができる。またさらに、説明した動作を実施するコードは「伝送信号」内に実装することができ、ここで伝送信号は、空間を通して、又は光ファイバ、銅線などのような伝送媒体を通して伝搬することができる。コード又は論理が内部に符号化された伝送信号は、無線信号、衛星伝送、電波、赤外線信号、ブルートゥースなどをさらに含むことができる。コード又は論理が内部に符号化された伝送信号は、送信ステーションによって送信され、受信ステーションによって受信することができ、その際伝送信号内に符号化されたコード又は論理は復号して、受信及び送信ステーション又はデバイスのハードウェア又はコンピュータ可読媒体内にストアすることができる。
コンピュータ・プログラム製品は、コンピュータ使用可能又はコンピュータ可読媒体、ハードウェア論理、及び/又は、コードを内部に実装することができる伝送信号を含むことができる。当然、当業者は、この構成に対して多くの修正を、本実施形態の範囲から逸脱せずに施すことができること、及びコンピュータ・プログラム製品は当技術分野で既知の任意の適切な情報保持媒体を含むことができることを理解するであろう。
論理という用語は、例として、ソフトウェア、ハードウェア、ファームウェア、及び/又はソフトウェアとハードウェアの組合せを含むことができる。
特定の実施は、人又は自動処理によるコンピュータ・インフラストラクチャを配備してコンピュータ可読コードをコンピュータ・システム内に組み込む方法に向けることができ、ここでコードはコンピュータ・システムと共に説明した実施の動作を実行することができる。
図3、図4及び図5の論理は、特定の順序で行われる特定の動作を説明する。代替の実施形態において、論理動作の中の幾つかは異なる順序で実行し、修正し又は除去することができる。さらに、上述の論理に動作を加えて、なお説明した実施形態に適合させることができる。さらに、本明細書で説明した動作は連続的に行うことができ、又は特定の動作は並行して処理することができ、或いは、単一のプロセスにより実行されるように説明した動作は分散プロセスによって実行することができる。
図3、図4及び図5に示した論理は、ソフトウェア、ハードウェア、プログラム可能な及び非プログラム式ゲート・アレイ論理内に、又は、ハードウェア、ソフトウェア若しくはゲート・アレイ論理のなんらかの組合せの中に実装することができる。
図6は、特定の実施形態により用いることができるシステム・アーキテクチャ600を示す。クライアント・コンピュータ100及び/又はサーバ・コンピュータ120は、システム・アーキテクチャ600を実装することができる。システム・アーキテクチャ600は、プログラム・コードをストア及び/又は実行するのに適し、システム・バス620を通してメモリ要素604に直接的又は間接的に結合された少なくとも1つのプロセッサ602を含む。メモリ要素604は、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶装置、及び、実行中に大容量記憶装置からコードを取り出さなければならない回数を減らすための、少なくとも幾つかのプログラム・コードの一時的記憶を与えるキャッシュ・メモリを含むことができる。メモリ要素604は、オペレーティング・システム605及び1つ又は複数のコンピュータ・プログラム606を含む。メモリ要素604はまた、本発明の実施形態によって教示される説明した動作の幾つか又は全てを実施するコード630を含むことができる。コード630を図示するが、本発明の実施形態によって教示される説明した動作は、代替的に、ハードウェアにおいて、又はハードウェアとソフトウェアの組合せにおいて実施することができる。
入力/出力(I/O)デバイス612、614(キーボード、ディスプレイ、ポインティング・デバイスなどを含むがそれらに限定されない)は、システムに直接に、又は介在するI/Oコントローラ610により、結合することができる。
またネットワーク・アダプタ608をシステムに結合して、データ処理システムが他のデータ処理システム又は遠隔プリンタ又は記憶装置に、介在するプライベート又はパブリック・ネットワークを通して結合できるようにすることができる。モデム、ケーブル・モデム及びイーサネット・カードは、現在利用できるネットワーク・アダプタ608の一部にすぎない。
システム・アーキテクチャ600は、記憶装置616(例えば、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどのような不揮発性記憶領域)に結合することができる。記憶装置616は、内部記憶デバイス又は付属記憶装置又はネットワーク・アクセス可能記憶装置を含むことができる。記憶装置616内のコンピュータ・プログラム606は、当技術分野で知られている様式で、メモリ要素604にロードしてプロセッサ602によって実行することができる。
システム・アーキテクチャ600は、図示したよりも少数のコンポーネント、本明細書では説明しなかった付加的なコンポーネント、又は説明したコンポーネントと付加的なコンポーネントの何らかの組合せを含むことができる。システム・アーキテクチャ600は、メインフレーム、サーバ、パーソナル・コンピュータ、ワークステーション、ラップトップ・コンピュータ、ハンドヘルド・コンピュータ、電話デバイス、ネットワーク・アプライアンス、仮想デバイス、ストレージ・コントローラなどのような、当技術分野で既知の任意のコンピュータ・デバイスを含むことができる。
本発明の実施形態に関する前述の説明は、例証と説明のために提示したものである。これは網羅的であること、又は実施形態を開示された通りの形に限定することを意図したものではない。
100、200:管理モジュール(MM)
110、210:サーバ
120:アクティブ・ベースボード管理コントローラ(BMC)(プログラマブル・ハードウェア・デバイス)
122、132、222、232:プロセッサ
124、134、224、234:内部メモリ
128、138、228、238:外部メモリ
130:スタンバイ・ベースボード管理コントローラ(BMC)(プログラマブル・ハードウェア・デバイス)
140:内部デバイス通信媒体
142:内部プライベート通信リンク
150、250:外部デバイス通信媒体
220、230:プログラマブル・ハードウェア・デバイス
290、292:破線
600:システム・アーキテクチャ
602:プロセッサ
604:メモリ要素
605:オペレーティング・システム
606:コンピュータ・プログラム
608:ネットワーク・アダプタ
610:I/Oコントローラ
612:入力デバイス
614:出力デバイス
616:記憶装置
620:システム・バス
630:コード

Claims (14)

  1. ファームウェアを復元するコンピュータ実施の方法であって、
    第1のプログラマブル・ハードウェア・デバイスの制御下で、
    第2のプログラマブル・ハードウェア・デバイスは有効ファームウェア・イメージを必要とすると判断し、
    外部メモリから前記有効ファームウェア・イメージのコピーを取り出し、
    前記有効ファームウェア・イメージを前記第2のプログラマブル・ハードウェア・デバイスに、前記第1のプログラマブル・ハードウェア・デバイスと前記第2のプログラマブル・ハードウェア・デバイスとの間のプライベート通信を可能するプライベート通信リンクを介して送信し、
    前記第2のプログラマブル・ハードウェア・デバイスの制御下で、
    前記有効ファームウェア・イメージを用いて既存のファームウェアを復元する、
    方法。
  2. 以下の条件、
    i)前記外部メモリは前記第1のプログラマブル・ハードウェア・デバイス専用である、
    ii)前記外部メモリは前記第1のプログラマブル・ハードウェア・デバイス及び前記第2のプログラマブル・ハードウェア・デバイスによって共有される、
    iii)前記外部メモリは前記第2のプログラマブル・ハードウェア・デバイス専用であり、前記第1のプログラマブル・ハードウェア・デバイスによってアクセス可能である、
    iv)前記外部メモリは前記有効ファームウェア・イメージの複数のバージョンをストアする、
    のうちの1つ又は複数を含む、請求項1に記載の方法。
  3. 以下の条件、
    i)前記第1のプログラマブル・ハードウェア・デバイス及び前記第2のプログラマブル・ハードウェア・デバイスは冗長であり、同じファームウェアを用いる、
    ii)前記第1のプログラマブル・ハードウェア・デバイス及び前記第2のプログラマブル・ハードウェア・デバイスは冗長ではなく、異なるファームウェアを用いる、
    のうちの1つ又は両方を含む、請求項1又は請求項2に記載の方法。
  4. 前記第2のプログラマブル・ハードウェア・デバイスは前記有効ファームウェア・イメージを必要とすると判断するステップは、ハートビート機能を用いるステップを含み、
    前記第2のプログラマブル・ハードウェア・デバイスが、前記第1のプログラマブル・ハードウェア・デバイスからのハートビート機能メッセージに所定の時間内に応答しないとき、前記第1のプログラマブル・ハードウェア・デバイスは、前記第2のプログラマブル・ハードウェア・デバイスが前記有効ファームウェア・イメージを必要とすると判断する、
    請求項2又は請求項3に記載の方法。
  5. 前記第2のプログラマブル・ハードウェア・デバイスは前記有効ファームウェア・イメージを必要とすると判断するステップは、前記有効ファームウェア・イメージを要求する前記第2のプログラマブル・ハードウェア・デバイスからの指示を受信するステップをさらに含み、
    前記第2のプログラマブル・ハードウェア・デバイスは前記有効ファームウェア・イメージのバージョンを指定する、
    請求項1乃至請求項4の何れか1項に記載の方法。
  6. ファームウェアを復元するためのコンピュータ実施の方法であって、
    第1のプログラマブル・ハードウェア・デバイスの制御下で、
    第2のプログラマブル・ハードウェア・デバイスは有効ファームウェア・イメージを必要とすると判断し、
    外部メモリから前記有効ファームウェア・イメージのコピーを取り出し、
    前記第2のプログラマブル・ハードウェア・デバイスの内部メモリを、前記有効ファームウェア・イメージを前記内部メモリを更新するユーティリティに直接書き込むことによって、直接更新し、
    前記第2のプログラマブル・ハードウェア・デバイスの制御下で、
    前記有効ファームウェア・イメージを用いて既存のファームウェアを復元する、
    方法。
  7. 前記ユーティリティは、ジョイント・テスト・アクション・グループ(JTAG)インターフェースを含む、請求項6に記載の方法。
  8. コンピュータ可読プログラムを含むコンピュータ使用可能媒体を備えたコンピュータ・プログラム製品であって、
    前記コンピュータ可読プログラムは、実行されるとき、
    第1のプログラマブル・ハードウェア・デバイスの制御下で、
    第2のプログラマブル・ハードウェア・デバイスは有効ファームウェア・イメージを必要とすると判断するステップと、
    外部メモリから前記有効ファームウェア・イメージのコピーを取り出スステップと、
    前記有効ファームウェア・イメージを前記第2のプログラマブル・ハードウェア・デバイスに、プライベート通信リンクを介して送信するステップと
    を実行させ、
    前記プライベート通信リンクは、前記第1のプログラマブル・ハードウェア・デバイスと前記第2のプログラマブル・ハードウェア・デバイスとの間のプライベート通信を可能にし、
    前記第2のプログラマブル・ハードウェア・デバイスにおける既存のファームウェアは前記有効ファームウェア・イメージを用いて復元される、
    コンピュータ・プログラム製品。
  9. 以下の条件、
    i)前記外部メモリは前記第1のプログラマブル・ハードウェア・デバイス専用である、
    ii)前記外部メモリは前記第1プログラマブル・ハードウェア・デバイス及び前記第2のプログラマブル・ハードウェア・デバイスによって共有される、
    iii)前記外部メモリは前記第2のプログラマブル・ハードウェア・デバイス専用であり、前記第1のプログラマブル・ハードウェア・デバイスによってアクセス可能である、
    iv)前記外部メモリは前記有効ファームウェア・イメージの複数のバージョンをストアする、
    のうちの1つ又は複数を含む、請求項8に記載のコンピュータ・プログラム製品。
  10. 以下の条件、
    i)前記第1のプログラマブル・ハードウェア・デバイス及び前記第2のプログラマブル・ハードウェア・デバイスは冗長であり、同じファームウェアを用いる、
    ii)前記第1のプログラマブル・ハードウェア・デバイス及び前記第2のプログラマブル・ハードウェア・デバイスは冗長ではなく、異なるファームウェアを用いる、
    のうちの1つ又は両方を含む、請求項8又は請求項9に記載のコンピュータ・プログラム製品。

  11. 前記コンピュータ可読プログラムは、実行されるときハートビート機能を用い、
    前記第2のプログラマブル・ハードウェア・デバイスが、前記第1のプログラマブル・ハードウェア・デバイスからのハートビート機能メッセージに所定の時間内に応答しないとき、前記第1のプログラマブル・ハードウェア・デバイスは、前記第2のプログラマブル・ハードウェア・デバイスが前記有効ファームウェア・イメージを必要とすると判断する、
    請求項8乃至請求項10の何れか1項に記載のコンピュータ・プログラム製品。
  12. 前記コンピュータ可読プログラムは、実行されるとき、前記有効ファームウェア・イメージを要求する前記第2のプログラマブル・ハードウェア・デバイスからの指示を受信し、
    前記第2のプログラマブル・ハードウェア・デバイスは前記有効ファームウェア・イメージのバージョンを指定する、
    請求項8乃至請求項11の何れか1項に記載のコンピュータ・プログラム製品。
  13. コンピュータ可読プログラムを含むコンピュータ使用可能媒体を備えたコンピュータ・プログラム製品であって、
    前記コンピュータ可読プログラムは、実行されるとき、
    第1のプログラマブル・ハードウェア・デバイスの制御下で、
    第2のプログラマブル・ハードウェア・デバイスは有効ファームウェア・イメージを必要とすると判断するステップと、
    外部メモリから前記有効ファームウェア・イメージのコピーを取り出すステップと、
    前記第2のプログラマブル・ハードウェア・デバイスの内部メモリを、前記有効ファームウェア・イメージを前記内部メモリを更新するユーティリティに直接書き込むことによって、直接更新するステップと
    を実行させ、
    前記第2のプログラマブル・ハードウェア・デバイスにおける既存のファームウェアは前記有効ファームウェア・イメージを用いて復元される、
    コンピュータ・プログラム製品。
  14. 前記ユーティリティは、ジョイント・テスト・アクション・グループ(JTAG)インターフェースを含む、請求項13に記載のコンピュータ・プログラム製品。
JP2010502526A 2007-04-13 2008-04-11 ピア・プログラマブル・ハードウェア・デバイスの自動ファームウェア復元方法及びプログラム Expired - Fee Related JP5186551B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/735,295 US7761734B2 (en) 2007-04-13 2007-04-13 Automated firmware restoration to a peer programmable hardware device
US11/735,305 US7761735B2 (en) 2007-04-13 2007-04-13 Automated firmware restoration to a peer programmable hardware device
US11/735,305 2007-04-13
US11/735,295 2007-04-13
PCT/EP2008/054434 WO2008125634A1 (en) 2007-04-13 2008-04-11 Automated firmware restoration to a peer programmable hardware device

Publications (2)

Publication Number Publication Date
JP2010524108A true JP2010524108A (ja) 2010-07-15
JP5186551B2 JP5186551B2 (ja) 2013-04-17

Family

ID=39671670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010502526A Expired - Fee Related JP5186551B2 (ja) 2007-04-13 2008-04-11 ピア・プログラマブル・ハードウェア・デバイスの自動ファームウェア復元方法及びプログラム

Country Status (4)

Country Link
EP (1) EP2145253B1 (ja)
JP (1) JP5186551B2 (ja)
KR (1) KR101063720B1 (ja)
WO (1) WO2008125634A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111052103A (zh) * 2017-07-18 2020-04-21 罗伯特·博世有限公司 用于对辅助计算机进行初始编程的方法和设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081964B2 (en) 2012-12-27 2015-07-14 General Electric Company Firmware upgrade error detection and automatic rollback
US9594910B2 (en) 2014-03-28 2017-03-14 Intel Corporation In-system provisioning of firmware for a hardware platform
US11461085B2 (en) * 2019-03-06 2022-10-04 Quanta Computer Inc. Firmware upgrade method in multiple node storage system
KR102411260B1 (ko) * 2020-11-06 2022-06-21 한국전자기술연구원 러기드 환경에서 관리 모듈간 데이터 이중화 처리 방법
CN115756496B (zh) * 2023-01-09 2023-04-14 苏州浪潮智能科技有限公司 镜像的编译方法、装置、计算机可读存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0855097A (ja) * 1994-08-09 1996-02-27 Toshiba Corp データ処理システム及びそのメモリアクセス方法
JPH10269063A (ja) * 1997-03-28 1998-10-09 Tamura Electric Works Ltd プログラムロード方法
JP2002157137A (ja) * 2000-11-20 2002-05-31 Nec Corp 通信機能を備えたプログラム更新システム
JP2002268905A (ja) * 2001-03-07 2002-09-20 Canon Inc プログラム動作装置、プログラム書込制御装置、プログラム書込制御方法及び記憶媒体
JP2003122577A (ja) * 2001-10-15 2003-04-25 Alps Electric Co Ltd データ伝送用送受信ユニットへのプログラムの書き込み方法
JP2005148922A (ja) * 2003-11-12 2005-06-09 Hitachi Ltd フェイルオーバクラスタシステム及びフェイルオーバクラスタシステムを用いたプログラムのインストール方法
JP2007080055A (ja) * 2005-09-15 2007-03-29 Seiko Epson Corp ネットワーク装置の制御ソフトウェアの更新

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754785A (en) * 1995-04-27 1998-05-19 General Datacomm Communications network equipment
US6675258B1 (en) * 2000-06-30 2004-01-06 Lsi Logic Corporation Methods and apparatus for seamless firmware update and propagation in a dual raid controller system
US20020087668A1 (en) * 2000-12-29 2002-07-04 San Martin Raul S. Automatic upgrade of live network devices
US7080279B2 (en) * 2003-12-03 2006-07-18 International Business Machines Corporation Autonomic rollback
JP4929726B2 (ja) * 2005-03-07 2012-05-09 富士ゼロックス株式会社 画像処理システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0855097A (ja) * 1994-08-09 1996-02-27 Toshiba Corp データ処理システム及びそのメモリアクセス方法
JPH10269063A (ja) * 1997-03-28 1998-10-09 Tamura Electric Works Ltd プログラムロード方法
JP2002157137A (ja) * 2000-11-20 2002-05-31 Nec Corp 通信機能を備えたプログラム更新システム
JP2002268905A (ja) * 2001-03-07 2002-09-20 Canon Inc プログラム動作装置、プログラム書込制御装置、プログラム書込制御方法及び記憶媒体
JP2003122577A (ja) * 2001-10-15 2003-04-25 Alps Electric Co Ltd データ伝送用送受信ユニットへのプログラムの書き込み方法
JP2005148922A (ja) * 2003-11-12 2005-06-09 Hitachi Ltd フェイルオーバクラスタシステム及びフェイルオーバクラスタシステムを用いたプログラムのインストール方法
JP2007080055A (ja) * 2005-09-15 2007-03-29 Seiko Epson Corp ネットワーク装置の制御ソフトウェアの更新

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111052103A (zh) * 2017-07-18 2020-04-21 罗伯特·博世有限公司 用于对辅助计算机进行初始编程的方法和设备

Also Published As

Publication number Publication date
KR101063720B1 (ko) 2011-09-07
JP5186551B2 (ja) 2013-04-17
EP2145253A1 (en) 2010-01-20
WO2008125634A1 (en) 2008-10-23
KR20090101921A (ko) 2009-09-29
EP2145253B1 (en) 2014-11-19

Similar Documents

Publication Publication Date Title
US7761734B2 (en) Automated firmware restoration to a peer programmable hardware device
US7761735B2 (en) Automated firmware restoration to a peer programmable hardware device
US11627041B2 (en) Dynamic reconfiguration of resilient logical modules in a software defined server
JP4870915B2 (ja) ストレージ装置
US8713551B2 (en) Apparatus, system, and method for non-interruptively updating firmware on a redundant hardware controller
US7669022B2 (en) Computer system and data management method using a storage extent for backup processing
US7814479B2 (en) Simultaneous download to multiple targets
US8713362B2 (en) Obviation of recovery of data store consistency for application I/O errors
US7904906B2 (en) Tracking modified pages on a computer system
US8219851B2 (en) System RAS protection for UMA style memory
JP5186551B2 (ja) ピア・プログラマブル・ハードウェア・デバイスの自動ファームウェア復元方法及びプログラム
JP2005209191A (ja) 高可用性システムの遠隔エンタープライズ管理
US11573737B2 (en) Method and apparatus for performing disk management of all flash array server
US11803412B2 (en) Containerized application management system and management method
US20130198731A1 (en) Control apparatus, system, and method
US20050039090A1 (en) Non-volatile memory with network fail-over
US9471256B2 (en) Systems and methods for restoring data in a degraded computer system
JP4322240B2 (ja) 再起動方法、システム及びプログラム
US20110296100A1 (en) Migrating write information in a write cache of a storage system
US9952941B2 (en) Elastic virtual multipath resource access using sequestered partitions
CN113765697B (zh) 管理数据处理系统的日志的方法和系统及计算机可读介质
US11360685B2 (en) Data consistency during reverse replication
JP6822706B1 (ja) クラスタシステム、サーバ装置、引継ぎ方法、及びプログラム
US20120233420A1 (en) Fault-tolerant system, memory control method, and computer-readable recording medium storing programs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121001

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20121001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121206

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121206

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130107

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130121

R150 Certificate of patent or registration of utility model

Ref document number: 5186551

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees