JP5363242B2 - 誤ってプログラムされた埋め込み装置をリカバリする方法、コンピュータ・プログラム、およびシステム - Google Patents

誤ってプログラムされた埋め込み装置をリカバリする方法、コンピュータ・プログラム、およびシステム Download PDF

Info

Publication number
JP5363242B2
JP5363242B2 JP2009196800A JP2009196800A JP5363242B2 JP 5363242 B2 JP5363242 B2 JP 5363242B2 JP 2009196800 A JP2009196800 A JP 2009196800A JP 2009196800 A JP2009196800 A JP 2009196800A JP 5363242 B2 JP5363242 B2 JP 5363242B2
Authority
JP
Japan
Prior art keywords
firmware
hardware device
settings
configuration
identifying
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
JP2009196800A
Other languages
English (en)
Other versions
JP2010113706A (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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010113706A publication Critical patent/JP2010113706A/ja
Application granted granted Critical
Publication of JP5363242B2 publication Critical patent/JP5363242B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Description

本発明は、電子装置における破損したファームウェアの検出およびリカバリに関する。
多くの電子装置は、電子的にアップデート可能なファームウェアにより制御される。そのような装置には、破損したフラッシュ・イメージに起因する潜在的ディスラプションに陥る危険がある。
破損したフラッシュ・イメージは、例えば、ファームウェアの誤ったフラッシュ・アップデートの結果としてもたらされる可能性がある。ネットワーク化された装置は、特に、それらがネットワーク上に分散して存在することに起因して、破損したフラッシュ・イメージを持つ傾向がある。例えば、ブレード・サーバ・シャーシのための管理モジュールのファームウェアは、管理モジュール上の或るファイルが無効なコンフィギュレーションで満たされた時に破損する可能性がある。その結果として、管理モジュールは、ユーザが該モジュールへのアクセスを得ることを許さないリブートあるいはソフトウェア・ループに捉えられる可能性がある。この状態では、管理モジュールは使用不能になる可能性があり、ユーザは、埋め込みソフトウェアの既知の良好なイメージで管理モジュールをリロードすることはできない。
本発明の一実施態様は、誤ってプログラムされた埋め込み装置をリカバリする方法を提供する。ハードウェア装置を動作させるために使われるファームウェアと、ハードウェア装置を動作させるためにファームウェアにより使われるコンフィギュレーション・セッティングとの一方または両方が電子的に検査される。ハードウェアの装置の誤った動作を引き起こすファームウェアまたはコンフィギュレーション・セッティングのエラーが特定される。ファームウェアの全体あるいはコンフィギュレーション・セッティングの全体をオーバーライトせずに特定されたエラーを訂正するために、ファームウェアおよびコンフィギュレーション・セッティングの一方または両方に対して、選択された変更が自動的に行われる。この方法は、例えば、誤ってプログラムされているハードウェア装置をリカバリするためにコンピュータで使用可能なプログラム・コードを実行するコンピュータにより実行されることができ、そのコンピュータで使用可能なプログラム・コードはコンピュータで使用可能な媒体において具体化される。
他の1つの実施態様は、ハードウェア装置と外部リカバリ装置とを含むシステムを提供する。そのハードウェア装置は、電子的にアップデート可能なファームウェア、およびそのハードウェア装置を動作させるために該ファームウェアによりアクセスされ得るコンフィギュレーション・セッティングを有する内部記憶装置と、該内部記憶装置とインターフェースするための内部データ通信ポートと、外部データ通信ポートとを含む。該外部リカバリ装置は、該ハードウェア装置上の該外部データ通信ポートと選択的に接続するように構成される。該外部リカバリ装置は該ファームウェアおよびコンフィギュレーション・セッティングを検査し選択的に修復するように構成された機能訂正コードを有するフラッシュ・メモリを含む。
ネットワーク・ハードウェア装置と、本発明の実施態様に従ってネットワーク・ハードウェア装置を破損した状態からリカバリするための取り外し可能な外部リカバリ装置とのブロック図である。 本発明の実施態様に従って潜在的に破損しているハードウェア装置を自動的に検出し修復する方法を概説したフローチャートである。
本発明は、マルチ・サーバ・シャーシにおける管理モジュールなどのネットワーク・ハードウェア装置上のファームウェアを自動的にリカバリするためのシステム、方法、およびソフトウェアとして具体化され得る。一実施態様では、ネットワーク・ハードウェア装置上の破損したファームウェアを検査し修復するために外部リカバリ装置あるいは“修復キー”がネットワーク・ハードウェア装置にプラグで接続される。修復キーから離れて動作するプログラム・コードを含む修復プログラムは、該ファームウェアが格納されている内部記憶装置をマウントする。該修復プログラムは、該内部記憶装置上の選択されたファイルの構造および内容を確かめるために該内部記憶装置上の選択されたファイルを充分に調べる。該修復プログラムは、ファイル内のキーおよびデータを分析し、該ハードウェア装置にロードされている現在のレベルのファームウェアで誤った動作を引き起こすかもしれない矛盾するセッティングがあるか否か判定する。該修復プログラムは、また、該ハードウェア装置が修復後に適切に機能するために必要とされる最少量の変更を行うために該ファームウェアの内容を外科的に分析し検査する。このアプローチは、なるべく多くのユーザのセッティングを維持し、修復動作の知覚される品質を改善し、システムを完全に操作可能な状態に戻すために必要な時間を短縮する。
図1は、ネットワーク15と選択的にインターフェースするネットワーク・ハードウェア装置10と、本発明の実施態様に従ってネットワーク・ハードウェア装置10上の破損したプログラム・コードをリカバリするための取り外し可能な外部リカバリ装置60とのブロック図である。ネットワーク・ハードウェア装置10は、ネットワーク15上で一意IPアドレスにより識別可能でアクセス可能なノードとしてネットワーク15とインターフェースする。ネットワーク・ハードウェア装置10は、ネットワーク15とインターフェースするために接合コネクタ14に取り外し可能に接続する電源およびI/O(入出力)コネクタ12を含む。コネクタ12および接合コネクタ14は、いろいろな標準化されたあるいは特許のコネクタ・タイプのうちのいずれであっても良い。例えば、ネットワーク・ハードウェア装置10は電子カードとして具体化されることができ、その場合にはコネクタ12は複数のI/Oピンを有するカード・エッジであることができ、接合コネクタ14は、対応する複数のI/Oピンを有するソケット(雌型)であることができる。接合コネクタ14は、例えば、マルチ・サーバ・シャーシの中央平面に配置され得る。ネットワーク・ハードウェア装置10は、ネットワーク15を介して他のネットワーク化された装置16と通信する。ネットワーク・ハードウェア装置10は、ネットワーク・ハードウェア装置のコネクタ12が接合コネクタ14に接続され、また任意選択でオプションの電源スイッチ17でパワー・オンされた時に、電力とネットワーク接続性とを受け取る。
ネットワーク・ハードウェア装置10は、内部記憶装置20の不揮発性メモリに与えられたファームウェア22などの電子的にアップデート可能なプログラム・コードにより制御されるいろいろな電子コンピュータ・ハードウェアのうちのいずれとしても具体化され得る。ファームウェア22は、カーネル・モジュール23、システム・スクリプト24、実行可能ユーザ・コード25、およびコンフィギュレーション・ファイル26などの(これらに限定されない)ソフトウェア・エレメントを含む。汎用コンピュータ上で動作させられ得るソフトウェアとは対照的に、ファームウェア22は、通例、ネットワーク・ハードウェア装置10の意図された機能に特別に適合させられる。従って、或る具体例では、ネットワーク・ハードウェア装置10は、ファームウェア22により決定される所定の機能を有する“埋め込み装置”として分類され得る。ネットワーク・ハードウェア装置10の1つの可能な具体例は、例えば、マルチ・サーバ・シャーシにおけるブレード・サーバおよびサポート・モジュールなどの他のネットワーク化された装置16を管理するためのホット・スワップ可能な管理モジュールである。その文脈においては、ファームウェア22は、その機能が該ブレード・サーバおよびサポート・モジュールを管理することに特別に適合させられているソフトウェア・エレメントを含み得る。この管理機能は、性能および動作を監視し、ブレード・サーバの電力セッティングを制御してブレード・サーバ・シャーシへの給電を一般的に管理し、種々のブレード・サーバおよびサポート・モジュールから警報を受け取って処理するためにブレード・サーバとインターフェースすることを含み得る。
内部記憶装置20はフラッシュ・メモリを含むことができ、それは、その有益な有効寿命のうちに多数のサイクル(例えば、数千サイクル)の間、電気的に消去され再プログラムされることができる。内部記憶装置20は、例えば、内部“フラッシュ・ドライブ”として、あるいは1つの具体例では“マイクロ・ディスク・オン・チップ(micro disk on chip)”として具体化されることができるが、それは、有益な有効寿命を延ばす(すなわち、読み書きサイクルの数を増やす)ためのオプションの損耗レベリング技術を含む頑丈なドライブである。フラッシュ・メモリは不揮発性であるので、それに格納されている情報を維持するために電力は不要である。さらに、フラッシュ・メモリは、高速アクセス(読み出しまたは書き込み)時間を提供し、また一般的に、回転する磁気プラッタに記憶を蓄積する“ハード・ディスク”より耐久性があってショックに耐える。
ネットワーク・ハードウェア装置10は、EEPROM(電気的に消去可能でプログラマブルな読み出し専用メモリ)34、NORフラッシュ36、およびRAM40も含む。EEPROMは、電力が除去されている時に保存されなければならない少量のデータを記憶するためにコンピュータおよび他の電子装置で使用される不揮発性メモリである。ここでは、EEPROM34はバイタル製品データ(Vital Product Data)35を格納するために使用され、それはハードウェアあるいはソフトウェアの特定のセットに関連付けられたコンフィギュレーションおよび情報データの集合である。例えば、バイタル製品データは、ネットワーク・ハードウェア装置10に関しての部品番号、シリアル・ナンバ、および設計変更レベルを含むことができる。NORフラッシュ36は、埋め込み装置において割合に少量の実行可能コードを格納するために伝統的に使用されている当該技術分野で知られている1つのタイプのフラッシュ・メモリである。ここで、NORフラッシュ36は、ブート・ローダ37およびLinux(登録商標)カーネル38(全体として“ブリングアップ・コード(bring up code)”と称される)を格納するために使用される。RAM(ランダム・アクセス・メモリ)40は、ネットワーク・ハードウェア装置10の仕事の実行に使用されるコードのための一時的記憶域として使用される揮発性メモリである。特に、RAM40は、ネットワーク・ハードウェア装置のオペレーティング・システム(OS)42のエレメントを格納するために使用される。ネットワーク・ハードウェア装置10は、少なくとも1つの内部データ通信ポート(この例では、内部USBポート31)および少なくとも1つの外部データ通信ポート(この例では、外部USBポート32)を含む、多数の接続ポートを含むこともできる。ネットワーク・ハードウェア装置10の種々のコンポーネントはバス(図示されていない)を介して互いに通信することができる。
初期化されるとき、ネットワーク・ハードウェア装置10は、NORフラッシュ36上の不揮発性メモリに格納されているブート・ローダ37およびLinuxカーネル38を含むブリングアップ・コードからブートし始める。Linuxカーネル38は、オペレーティング・システム40の中心的コンポーネントであり、その責務は、通例、ハードウェアとソフトウェア・コンポーネントとの間の通信を含む、システム・リソースを管理することを含む。ブート・ローダ37が実行されると一連のイベントが開始され、それは、デフォルト・ブート・シーケンスにおいては、オペレーティング・システム42をRAM40にロードするために内部記憶装置20がマウントされるという結果をもたらす。通例、内部記憶装置20を“マウントすること”がNORフラッシュ36から内部記憶装置20に電子的にスイッチングすることを伴い得るように、ネットワーク・ハードウェア装置10が初期化される時には内部記憶装置20は既に物理的に内部USBポート31に接続されているであろう。内部USBポート31をマウントすると直ぐに、ネットワーク・ハードウェア装置10は、オペレーティング・システム42を完全にロードするためにカーネル・モジュール23をロードすると共にシステム・スクリプト24および実行可能ユーザ・コード25を内部記憶装置20から動作させ続ける。
外部リカバリ装置60は、代わりに“修復キー”と称されても良いのであるが、外部USBポート32に取り外し可能に接続するように構成されたUSBフラッシュ・メモリ装置として具体化され得る。外部USBポート32に接続された時、外部リカバリ装置60は、内部記憶装置20をマウントする前にデフォルト・スタートアップ・シーケンスをインタラプトする。内部記憶装置20をマウントする代わりに、ネットワーク・ハードウェア装置10は外部リカバリ装置60をマウントし、これはネットワーク・ハードウェア装置10上のエラーを調べ訂正する。外部リカバリ装置60を“マウントすること”は、ユーザが外部リカバリ装置60を外部USBポート32に物理的に結合させることを含み得るが、外部リカバリ装置60に電子的にスイッチングすることも含み得る。外部リカバリ装置60上のファイルシステム61および初期化スクリプト62は、内部記憶装置20、EEPROM34、NORフラッシュ36のうちの少なくとも1つと通信できるようにデバイス・ドライバ63をロードする。外部リカバリ装置60上の初期化スクリプト62は自動的に動作する。機能訂正コード64は、内部記憶装置20、EEPROM34、あるいはNORフラッシュ36上のデータおよびプログラム・コードに問題があるかどうか確認する。機能訂正コード64は、ファームウェア22、カーネル・モジュール23、システム・スクリプト24、および実行可能ユーザ・コード25などのネットワーク・ハードウェア装置10上のプログラム・コードを調べる。
もし外部リカバリ装置60が、ファームウェア22などのネットワーク・ハードウェア装置10上のプログラム・コードに、あるいはEEPROM34またはNORフラッシュ36に格納されているコードおよびセッティングに異常を検出したならば、あるいは前のブート失敗が失敗レジスタ27に記録されているならば、一連の検査および修復動作が外部リカバリ装置60によって実行され得る。検査および修復動作の一例は、内部記憶装置20上の一定の重要なファイルを分析し、これらの重要なファイルを必要に応じてアップデートすることである。分析されるべき重要なファイルは、例えば、コンフィギュレーション・セレクションのデータストアに関係するファイルなどの“コンフィギュレーション”ファイルであり得る。検査および修復動作の他の1つの例は、NORフラッシュ36を調べ、NORフラッシュ36の内容をその次のブートのために改変することである。検査および修復動作の他の1つの例は、内部記憶装置20の一定のディレクトリに新しいファイルをインストールすることである。例えば、新しいファイルは、新しいあるいは現在のプロセスにより使用されるようにライブラリ・ディレクトリにまたはシステム・パス(system path)に含まれるシステム・コンフィギュレーション・ディレクトリにインストールされることができる。
機能訂正コード64は、ファームウェア22内のコンフィギュレーション・ファイル26の内容を調べ、矛盾するセッティング、あるいは前のレベルまたはバージョンのファームウェア20に関して問題を引き起こすかもしれないセッティングを探すことができる。そのような矛盾は、前のファームウェア挙動から学習されたルールと、コンフィギュレーション・ファイル26から読み出されたセッティングとを用いて特定され得る。例えば、実行可能訂正コードから小さな機能テストが実行され得る。特定のコンポーネントとの直接通信を試験するためにセッティングが試されることができる。選択されたセッティングが改変され、矛盾が解決されたことを確かめるために再び試験されることができる。1つのインプリメンテーションは、ビルトイン・セルフ・テスト(Built−In Self Test(BIST))または進行中の診断を実行することを含むことができる。該診断は、例えば、チェックサムを計算し、装置をポーリングし、ファイル内容を検査するなどのためのアルゴリズムを含むことができる。
ファームウェア22のファイル構造に存在する重要なファイルを調べて該ファイル内のデータを選択的に修復するために本発明の1つの実施態様に従って専門化したプログラムに従う方法が使用され得る。単純にファームウェア22またはコンフィギュレーション・ファイル26の内容全体に上書きするのではなくて、外部リカバリ装置60上の機能訂正コード64は、ファームウェア22内のファイルの内容をインテリジェントに検査し、ファームウェア22またはセッティングあるいはその両方の適切な構造および内容と共に該セッティングがファームウェア22とどのように相互作用するかを特定する。ファイルは、異常な動作を引き起こす可能性のある誤ったあるいは矛盾するセッティングがあるかどうか調べるために“構文解析(parse)”され得る。このように外部リカバリ装置60上の機能訂正コード64は、ネットワーク・ハードウェア装置10が次のブートで適切に機能することを可能にするデータをファームウェア22内のファイルが含むことを確認するために、独特の仕方で実行する。
或る場合には内部記憶装置20上のプログラム・コードにファイル・システム・エラーが無いけれども、外部ネットワーク15あるいは他の手段を通してネットワーク・ハードウェア装置10にアクセスすることを不可能にする可能性のある不良なあるいは誤ったセッティングを該ファイル内のデータ自体が持っているかもしれない。この訂正プロセスは、なるべく多くのユーザ・セッティングを維持し、修復動作の知覚される品質を改善し、システムを再び完全に操作可能にするために必要な時間を短縮しながら、なるべく多くのセッティングを保ち、問題になるセッティング及びファイルを探し出し、それらを選択的に外科的に訂正するように作用する。
具体的に説明するために、1つの仮想的シナリオにおいて、ネットワーク・ハードウェア装置10がネットワークに接続することに失敗したということは、破損したファームウェアの可能性を示し得る。その失敗は失敗レジスタ27に記録されることができる。ネットワーク・ハードウェア装置10のIPアドレス・セッティングを調べるために機能訂正コード64が使用されることができる。機能訂正コード64は、ブロックされるポートおよびIPアドレスを含むファイアウォール・セッティングも調べることができる。例えばファイアウォールがネットワーク・ハードウェア装置のIPアドレスを外部ポートからブロックしていると機能訂正コード64が判定したならば、機能訂正コードは、ネットワーク・ハードウェア装置64の機能を回復させるために、ファイアウォールにおいてそのIPアドレスおよびポートを開くことができる。これは、コンフィギュレーション・セッティングの全てを盲目的に回復させることあるいはファームウェア全体を既知の良好なイメージと置き換えることに代わる有効な代替案であり、コンフィギュレーション・セッティングの変更が最少であるという結果をもたらす。
外部リカバリ装置60によってインテリジェントなファイル検査および修復が実行されてファームウェア22がリカバリされた後、LEDまたは他の照明装置46を明るくすることなどにより、視覚表示がユーザに提供され得る。その視覚表示に応答して、ユーザは外部リカバリ装置60を外部USBポート32から取り外すことができる。その後、ネットワーク・ハードウェア装置10は、リカバリされたファームウェア22からリブートされ得るように、リセットされ得る。ネットワーク・ハードウェア装置10をリセットする1つの方法は、ネットワーク・ハードウェア装置10をパワーサイクリング(power−cycling(電源on/off制御))することである。ハードウェア装置のパワーサイクリングは、ネットワーク・ハードウェア装置10をネットワーク15から瞬間的に取り外してネットワーク・ハードウェア装置10をネットワーク15とホットプラギング(hot−plugging)することを伴い得る。ユーザは、コネクタ12と、接合するコネクタ14とを物理的に切り離して再接続することによってハードウェア装置をパワーサイクリングすることができる。例えば、ユーザは、レバー(図示されていない)を取り外し引いてネットワーク・ハードウェア装置10(これは管理モジュールであり得る)をシャーシから解放し、その管理モジュールをシャーシから少しの間切り離しておき、その後に該管理モジュールを元のシャーシ/中央平面にプラグで接続することができる。ユーザは外部リカバリ装置60をネットワーク・ハードウェア装置10から取り外すためにシャーシのところに既に物理的に存在しているかもしれないので、ネットワーク・ハードウェア装置10を手操作でホットプラギングするというこのアプローチはネットワーク・ハードウェア装置10をリセットする便利な方法である。
図2は、本発明の実施態様に従って潜在的に破損しているハードウェア装置を自動的に検出し修復する方法を概説したフローチャートである。破損したハードウェア装置は、用途特化ファームウェアにより操作される管理モジュールなどのネットワーク接続された装置であり得る。例えば、該方法は、図1のネットワーク・ハードウェア装置10上で外部リカバリ装置60により実行されるアルゴリズムにより実行され得る。従って、図2のフローチャートについての次の記述は、図1と図1についての記述とを参照することにより、さらに明瞭になるであろう。
デフォルト・ブート・シーケンスがステップ100で初期化される。初期化されたとき、ハードウェア装置は、ハードウェア装置上の不揮発性メモリに格納されているブート・ローダおよびカーネルなどのブリングアップ・コードからブートし始める。ブート・ローダの実行は、デフォルト・ブート・シーケンスではオペレーティング・システムをロードするという結果をもたらすイベントのシリーズを開始させる。条件付きステップ102は、外部リカバリ装置が接続されているか否かを判定することを含む。もし接続されているならば、外部リカバリ装置はステップ104でマウントされ、デフォルト・ブート・シーケンスは一時的に中断される。外部リカバリ装置は、ステップ106でコードを検査するために内部記憶装置と通信できるようにカーネルをデバイス・ドライバと共にロードすることができる。検査されるべきコードは、ハードウェア装置を操作するために使用されるファームウェアを含むことができる。該ファームウェアは、ハードウェア装置の内部記憶装置上のカーネル・モジュール、システム・スクリプト、実行可能ユーザ・コード、およびコンフィギュレーション・ファイルを含むことができる。損傷したファイルあるいは不良コンフィギュレーション・セッティングを含むコード・エラーは条件付きステップ108で特定される。どんなコード・エラーも、期待されるファイル構造、内容、あるいはコンフィギュレーション・セッティングからの逸脱を特定することによって判定されることができる。外部リカバリ装置は、コンフィギュレーション・セッティングと、それらがハードウェア装置上のファームウェアに含まれる他のコードとどのように相互作用するかとを評価することができる。コードは、異常な操作を引き起こす可能性のある誤ったあるいは矛盾するセッティングがあるかどうか調べるために“構文解析”されることができる。このプロセスは、ネットワーク・ハードウェア装置が次のブートで適切に機能することを可能にするデータを該ファームウェア内のファイルが含むことを実証する。もしエラーが検出されなければ、内部記憶装置がステップ110でマウントされることができ、ハードウェア装置は内部記憶装置に格納されているカーネル・モジュール、システム・スクリプト、実行可能ユーザ・コード、およびコンフィギュレーションからステップ112でブートし続けることができる。
あるいは、もし条件付きステップ108でエラーが検出されたならば、コードはステップ114で選択的に修復されることができる。リカバリ・アルゴリズムは、例えば、e2fsckを用いる基本的ファイル・システムのチェックから始まることができる。その後、コンフィギュレーション・ファイルおよびソフトウェアがコンパチビリティーまたは妥当性あるいはその両方についてチェックされ、必要に応じて訂正されることができる。不良なコンフィギュレーションの1つの例は、前のロードでは容認できたけれどもファームウェア・アップデートでシステムを不安定化させるコンフィギュレーション・ファイル内のコンフィギュレーション・パラメータである。次に、コンフィギュレーション・パラメータが、もし可能ならば、修理されることができる。あるいは、もしファイルのうちのいずれかが修復できる範囲を超えているかあるいは訂正不能であるならば、それらのファイルは、デフォルトの、あるいはインストールされた外部リカバリ装置からの既知の実際に役立つコンフィギュレーション・ファイルと置換されることができる。ステップ114における選択的コード修復の後に、修復されたハードウェア装置はステップ116でリセットされ、外部リカバリ装置はステップ118でディスマウントされることができる。その後、修復されたハードウェア装置は、ステップ100から始まる既知の良好なロードにリブートされることができる。
当業者に理解されるであろうように、本発明はシステム、方法またはコンピュータ・プログラム製品として具体化され得る。従って、本発明は、完全にハードウェアの実施態様、完全にソフトウェアの実施態様(ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含む)、あるいはソフトウェアと、本書で全て一般的に“回路”、“モジュール”または“システム”と称され得るハードウェア側面とを組み合わせた実施態様の形をとることができる。さらに、本発明は、当該媒体において具体化されるコンピュータで使用可能なプログラム・コードを有する有形の表現媒体において具体化されるコンピュータ・プログラム製品の形をとることができる。
1つまたはそれ以上の、コンピュータで使用可能なあるいはコンピュータ可読の媒体の任意の組み合わせが利用され得る。そのコンピュータで使用可能なあるいはコンピュータ可読の媒体は、例えば、それらに限定はされないが、電子、磁気、光、電磁、赤外線あるいは半導体のシステム、装置、デバイス、あるいは伝播媒体であることができる。コンピュータ可読の媒体のより具体的な例(網羅的でないリスト)は、次のもの、すなわち、1つまたはそれ以上のワイヤを有する電気結線、携帯可能なコンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能でプログラマブルな読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、携帯可能なコンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶装置、あるいは磁気記憶装置を含む。コンピュータで使用可能なあるいはコンピュータ可読の媒体は、プログラムが印刷された紙または他の適切な媒体でさえあり得る。それは、プログラムが、例えばその紙または他の媒体の光学的スキャンニングを介して電子的に捕捉され、その後に、必要ならばコンパイルされ、解釈され、あるいは適切な仕方で別様に処理され、その後にコンピュータ・メモリに格納されることができるからである。この文書の文脈においては、コンピュータで使用可能なあるいはコンピュータ可読の媒体は、命令実行システム、装置、またはデバイスによりあるいはそれらと関連して使用されるプログラムを内蔵し、記憶し、伝達し、伝播し、あるいはトランスポートすることのできる任意の媒体であり得る。コンピュータで使用可能な媒体は、ベースバンドのあるいは搬送波の一部として、それで具体化されるコンピュータで使用可能なプログラム・コードと共に伝播されるデータ信号により伝達され得る。コンピュータで使用可能なプログラム・コードは、無線、ワイヤライン、光ファイバ・ケーブル、RFなどを含むがこれらに限定はされない任意の適切な媒体を用いて伝送され得る。
本発明の操作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語と、“C”プログラミング言語または類似のプログラミング言語などの在来の手続き型プログラミング言語とを含む、1つまたはそれ以上のプログラミング言語の任意の組み合わせで書かれることができる。プログラム・コードは、完全にユーザのコンピュータで、部分的にユーザのコンピュータで、スタンドアロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータでかつ部分的にリモート・コンピュータで、あるいは完全にリモート・コンピュータまたはサーバで、実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されることができ、あるいは(例えば、インターネット・サービス・プロバイダを用いてインターネットを通して)外部コンピュータへの接続が行われることができる。
本発明は以下で、本発明の実施態様に従う方法、装置(システム)およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方と関連して記述される。該フローチャートまたはブロック図あるいはその両方の各ブロックと、該フローチャートまたはブロック図あるいはその両方の中のブロックの組み合わせとがコンピュータ・プログラム命令により実行され得るということが理解されるであろう。コンピュータまたは他のプログラマブルなデータ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで明示される機能/動作を実行するための手段を作るようにマシンを作るためにこれらのコンピュータ・プログラム命令は汎用コンピュータ、専用コンピュータ、あるいは他のプログラマブルなデータ処理装置のプロセッサに提供されることができる。
コンピュータ可読媒体に格納された命令が、該フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで明示される機能/動作を実行する命令手段を含む製造物品を作るように、これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブルなデータ処理装置に特定の仕方で機能するように命令することのできるコンピュータ可読媒体に格納されることもできる。
コンピュータまたは他のプログラマブルな装置で実行する命令が、該フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで明示される機能/動作を実行するためのプロセスを提供するように、コンピュータ・プログラム命令は、コンピュータで実行されるプロセスを作るために一連の操作ステップをコンピュータまたは他のプログラマブルな装置で実行させるようにコンピュータまたは他のプログラマブルなデータ処理装置にロードされることもできる。
図面のフローチャートおよびブロック図は、本発明の種々の実施態様に従うシステム、方法およびコンピュータ・プログラム製品の可能なインプリメンテーションのアーキテクチャ、機能、および動作を説明する。これに関して、該フローチャートまたはブロック図の各ブロックは、明示された1つまたは複数の論理機能を実行するための1つまたはそれ以上の実行可能な命令を含むコードのモジュール、セグメント、または部分を表すことができる。或る代わりのインプリメンテーションでは、ブロックに記された機能が、図に記されている順序から外れて生じ得るということにも留意するべきである。例えば、連続して示されている2つのブロックは、実際に、実質的に同時に実行されることができ、あるいは該ブロックは、関係する機能に応じて時には逆の順序で実行され得る。該ブロック図またはフローチャートあるいはその両方の各ブロックと、該ブロック図またはフローチャートあるいはその両方の中のブロックの組み合わせとが、明示された機能または動作を実行する専用ハードウェア・ベースのシステムにより、あるいは専用ハードウェアとコンピュータ命令との組み合わせにより、実行され得るということも留意されるであろう。
本書で使用された用語は、特定の実施態様を記述することを目的としているに過ぎなくて、発明を限定するように意図されてはいない。“含む”という用語は、この明細書で使用されるときには、述べられた特徴、インテジャー(integer)、ステップ、操作、エレメント、コンポーネント、およびグループのうちの少なくとも1つの存在を明示するけれども、1つまたはそれ以上の他の特徴、インテジャー、ステップ、操作、エレメント、コンポーネントおよびそのグループのうちの少なくとも1つの存在あるいは付加を排除しないということがさらに理解されるであろう。“好ましい”、“任意選択”、“できる”という用語および類似の用語は、言及されたアイテム、状態またはステップが発明の任意の(必要ではない)特徴であることを示すために使用されている。
以下の請求項の全ての手段またはステップと機能エレメントとの対応する構造、材料、動作、および同等物は、請求項で明示された他のエレメントと結合して該機能を実行するための任意の構造、材料、あるいは動作を含むように意図されている。本発明についての記述は例証および記述を目的として提示されているが、網羅的であることや開示された形の発明に限定されることは意図されていない。発明の範囲および真意から逸脱せずに多くの改変および変化形が当業者には明らかであろう。実施態様は、発明の原理および実際的応用を最善に説明し、他の当業者が、意図された特定の用途に適するような種々の改変を伴う種々の実施態様を目的として本発明を理解することを可能にするために選択され記述された。
10 ネットワーク・ハードウェア装置
12 コネクタ
14 接合コネクタ
15 ネットワーク
16 装置
17 電源スイッチ
20 内部記憶装置(不揮発性)
22 ファームウェア(破損している)
23 カーネル・モジュール
24 システム・スクリプト
25 実行可能ユーザ・コード
26 コンフィギュレーション・ファイル
27 失敗レジスタ
31 USBポート(内部)
32 USBポート(外部)
34 EEPROMS
35 バイタル製品データ
36 NORフラッシュ
37 ブート・ローダ
38 Linuxカーネル
40 RAM(揮発性)
42 オペレーティング・システム
46 照明装置
60 外部リカバリ装置
61 ファイルシステム
62 初期化スクリプト
63 デバイス・ドライバ
64 機能訂正コード

Claims (12)

  1. 誤ってプログラムされた埋め込み装置をリカバリする方法であって、
    ハードウェア装置を動作させるために使われるファームウェアと前記ハードウェア装置を動作させるために前記ファームウェアにより使われるコンフィギュレーション・セッティングとの一方または両方を電子的に検査することと、
    前記ハードウェア装置の誤った動作を引き起こす前記ファームウェアまたは前記コンフィギュレーション・セッティングのエラーを特定することと、
    前記ファームウェアの全体あるいは前記コンフィギュレーション・セッティングの全体をオーバーライトせずに特定されたエラーを訂正するために前記ファームウェアおよび前記コンフィギュレーション・セッティングの一方または両方に対して選択的変更を自動的に行うこととを含み、
    前記ファームウェアまたは前記コンフィギュレーション・セッティングのエラーを特定するステップは、
    前記ハードウェア装置の選択されたコンポーネントとの通信を試験することと、
    選択されたセッティングを改変することと、
    前記改変されたセッティングを用いて前記選択されたコンポーネントとの回復された通信を確認するために前記選択されたセッティングを用いて通信を再試験することと、
    を含む、方法。
  2. 前記ハードウェア装置を動作可能にするために欠くことのできない変更だけを前記ファームウェアまたは前記コンフィギュレーション・セッティングに対して行うことをさらに含む、請求項1に記載の方法。
  3. 前記ファームウェアまたは前記コンフィギュレーション・セッティングのエラーを特定する前記ステップは、前記ハードウェア装置上の前記ファームウェアのバージョンの中で誤った動作を引き起こすかもしれない矛盾するセッティングを特定することを含む、請求項1に記載の方法。
  4. 前記ファームウェアおよび前記コンフィギュレーション・セッティングのエラーを電子的に検査し特定する前に前記ハードウェア装置のデフォルト・ブート・シーケンスを開始させることと、
    特定されたエラーを訂正するために前記ファームウェアおよび前記コンフィギュレーション・セッティングの一方または両方に選択的変更を行った後に前記ハードウェア装置をリブートすることと、
    をさらに含む、請求項1に記載の方法。
  5. 特定されたエラーを訂正するために選択的変更を行った後に前記ハードウェア装置をリセットすることと、
    前記リセット後前記ハードウェア装置を用いて前記ハードウェア装置を完全にリブートすることと、
    をさらに含む、請求項1に記載の方法。
  6. 前記ハードウェア装置をリセットするステップは、前記ハードウェア装置をパワーサイクリングすることおよびホットプラギングすることの一方または両方を含む、請求項5に記載の方法。
  7. 前記ファームウェアまたは前記コンフィギュレーション・セッティングのエラーを特定するステップは、前のブート失敗の記録を読み出すことを含む、請求項1に記載の方法。
  8. 誤ってプログラムされたハードウェア装置をリカバリするためのコンピュータ・プログラムであって、
    ハードウェア装置を動作させるために使われるファームウェアと前記ハードウェア装置を動作させるために前記ファームウェアにより使われるコンフィギュレーション・セッティングとの一方または両方を電子的に検査することと、
    前記ハードウェア装置の誤った動作を引き起こす前記ファームウェアまたは前記コンフィギュレーション・セッティングのエラーを特定することと、
    前記ファームウェアの全体あるいは前記コンフィギュレーション・セッティングの全体をオーバーライトせずに特定されたエラーを訂正するために前記ファームウェアおよび前記コンフィギュレーション・セッティングの一方または両方に対して選択的に変更を行うこととを含み、
    前記ファームウェアまたは前記コンフィギュレーション・セッティングのエラーを特定するステップは更に、
    前記ハードウェア装置の選択されたコンポーネントとの通信を試験することと、
    選択されたセッティングを改変することと、
    前記改変されたセッティングを用いて前記選択されたコンポーネントとの回復された通信を確認するために前記選択されたセッティングを用いて通信を再試験することと、
    を含み、前記ステップをコンピュータに実行させるコンピュータ・プログラム。
  9. ハードウェア装置であって、電子的にアップデート可能なファームウェア、および前記ハードウェア装置を動作させるために前記ファームウェアによりアクセスされ得るコンフィギュレーション・セッティングを有する内部記憶装置と、前記内部記憶装置とインターフェースするための内部データ通信ポートと、外部データ通信ポートとを含むハードウェア装置と、
    前記ハードウェア装置上の前記外部データ通信ポートと選択的に接続するように構成された外部リカバリ装置であって、前記ファームウェアおよび前記コンフィギュレーション・セッティングを検査し選択的に修復するように構成された機能訂正コードを有するフラッシュ・メモリを含む外部リカバリ装置とを含み、
    前記機能訂正コードは、
    ハードウェア装置を動作させるために使われるファームウェアと前記ハードウェア装置を動作させるために前記ファームウェアにより使われるコンフィギュレーション・セッティングとの一方または両方を電子的に検査することと、
    前記ハードウェア装置の誤った動作を引き起こす前記ファームウェアまたは前記コンフィギュレーション・セッティングのエラーを特定することと、
    前記ファームウェアの全体あるいは前記コンフィギュレーション・セッティングの全体をオーバーライトせずに特定されたエラーを訂正するために前記ファームウェアおよび前記コンフィギュレーション・セッティングの一方または両方に対して選択的に変更を行うこととを含み、
    前記ファームウェアまたは前記コンフィギュレーション・セッティングのエラーを特定するステップは更に、
    前記ハードウェア装置の選択されたコンポーネントとの通信を試験することと、
    選択されたセッティングを改変することと、
    前記改変されたセッティングを用いて前記選択されたコンポーネントとの回復された通信を確認するために前記選択されたセッティングを用いて通信を再試験することとを含み、前記ステップをコンピュータに実行させるシステム。
  10. 前記外部リカバリ装置は、前記ファームウェアおよび前記コンフィギュレーション・セッティングを検査し修復する前に前記ハードウェア装置のデフォルト・ブート・シーケンスをインタラプトし、前記修復されたファームウェアおよび前記コンフィギュレーション・セッティングから前記外部リカバリ装置をリブートするように構成されている、請求項に記載のシステム。
  11. 前記ハードウェア装置はサーバ・シャーシの管理モジュールを含む、請求項に記載のシステム。
  12. 前記外部リカバリ装置は、前記ハードウェア装置に取り外し可能に接続するように構成されたフラッシュ装置を含む、請求項に記載のシステム。
JP2009196800A 2008-11-05 2009-08-27 誤ってプログラムされた埋め込み装置をリカバリする方法、コンピュータ・プログラム、およびシステム Expired - Fee Related JP5363242B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/265,018 US8140837B2 (en) 2008-11-05 2008-11-05 Automatically making selective changes to firmware or configuration settings
US12/265018 2008-11-05

Publications (2)

Publication Number Publication Date
JP2010113706A JP2010113706A (ja) 2010-05-20
JP5363242B2 true JP5363242B2 (ja) 2013-12-11

Family

ID=42132917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009196800A Expired - Fee Related JP5363242B2 (ja) 2008-11-05 2009-08-27 誤ってプログラムされた埋め込み装置をリカバリする方法、コンピュータ・プログラム、およびシステム

Country Status (3)

Country Link
US (1) US8140837B2 (ja)
JP (1) JP5363242B2 (ja)
KR (1) KR101143679B1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607216B2 (en) * 2008-08-01 2013-12-10 Palm, Inc. Verifying firmware
TW201246075A (en) * 2011-05-06 2012-11-16 Asmedia Technology Inc Flash device and associated booting method
KR102029465B1 (ko) * 2011-11-17 2019-10-08 삼성에스디에스 주식회사 검색 또는 패턴 매칭 엔진 및 이를 구비한 단말장치와 그 방법
WO2013166097A2 (en) * 2012-05-01 2013-11-07 Duke Manufacturing Co. Can bus commercial appliance system and method
WO2014133510A1 (en) 2013-02-28 2014-09-04 Hewlett-Packard Development Company, L.P. Recovery program using diagnostic results
JP6033183B2 (ja) * 2013-07-31 2016-11-30 京セラドキュメントソリューションズ株式会社 画像形成装置、及び画像形成装置の起動方法
CN104516800B (zh) 2013-09-27 2018-12-21 联想企业方案(新加坡)有限公司 服务器主板诊断的方法、系统和相关电路系统
KR102147970B1 (ko) * 2014-08-05 2020-08-25 삼성전자주식회사 비휘발성 메모리 기반의 스토리지 디바이스의 복구 방법 및 상기 스토리지 디바이스를 포함하는 전자 시스템의 동작 방법
US9823972B2 (en) 2014-10-28 2017-11-21 Samsung Electronics Co., Ltd. Mobile flash storage boot partition and/or logical unit shadowing
CN204883674U (zh) * 2015-04-30 2015-12-16 西门子(深圳)磁共振有限公司 现场可编程门阵列的配置电路、射频单元和磁共振系统
CN106528326B (zh) * 2016-09-22 2019-05-17 维沃移动通信有限公司 一种基带芯片软件的切换方法及移动终端
KR20220032268A (ko) 2020-09-07 2022-03-15 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0421027A (ja) * 1990-05-14 1992-01-24 Mitsubishi Electric Corp 設定環境の変更方法
JPH04217033A (ja) * 1990-12-19 1992-08-07 Nec Software Kansai Ltd パラメータ自動修正および再実行方式
JPH05265719A (ja) * 1992-03-17 1993-10-15 Seiko Epson Corp 情報処理装置
JPH05313908A (ja) * 1992-05-13 1993-11-26 Fujitsu Ltd プログラムダウンロード型符号化装置のプログラム保証方法
US5522076A (en) * 1993-05-13 1996-05-28 Kabushiki Kaisha Toshiba Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
US6170055B1 (en) 1997-11-03 2001-01-02 Iomega Corporation System for computer recovery using removable high capacity media
DE19805711C2 (de) * 1998-02-12 1999-11-18 Siemens Ag Verfahren und Anordnung zum Austausch einer defekten Baugruppe vorzugsweise innerhalb einer digitalen Vermittlungsstellenanlage
JP2000305768A (ja) 1999-04-19 2000-11-02 Nec Software Kobe Ltd システムソフトウェア書換方法
JP2002176456A (ja) 2000-12-07 2002-06-21 Kenwood Corp 電子機器および情報更新方法
KR100450080B1 (ko) 2001-11-13 2004-10-06 (주)지에스텔레텍 유에스비기반의 이동형 저장장치 및 그 제어방법
US20040076043A1 (en) 2002-10-21 2004-04-22 Phoenix Technologies Ltd. Reliable and secure updating and recovery of firmware from a mass storage device
US7043664B1 (en) * 2002-10-31 2006-05-09 Microsoft Corporation Firmware recovery
EP1420560A1 (en) * 2002-11-13 2004-05-19 Thomson Multimedia Broadband Belgium Software upgrade over a USB connection
US7275180B2 (en) 2003-04-17 2007-09-25 International Business Machines Corporation Transparent replacement of a failing processor
JP2004362495A (ja) * 2003-06-09 2004-12-24 Hitachi Ltd エラーログ情報解析支援方法及び実施装置並びに処理プログラム
JP2005182418A (ja) 2003-12-18 2005-07-07 Murata Mach Ltd 画像形成装置
JP4689963B2 (ja) 2004-02-12 2011-06-01 Necフィールディング株式会社 コンピュータ遠隔診断修復システム、サーバ、プログラム、及び方法
JP4354314B2 (ja) * 2004-03-16 2009-10-28 株式会社日立製作所 サーバ差分管理システム及び情報処理装置の制御方法
JP2006106914A (ja) 2004-10-01 2006-04-20 Fujitsu Ltd ファームウェアで動作する処理装置およびファームウェア更新方法
JP2006139639A (ja) * 2004-11-15 2006-06-01 Murata Mach Ltd 画像読取転送ドライバプログラム、記録媒体、ホスト装置、画像読取装置
JP2006228153A (ja) * 2005-02-21 2006-08-31 Nec Corp 情報処理装置及びプログラム
JP4370525B2 (ja) * 2005-03-22 2009-11-25 日本電気株式会社 アプリケーション環境チェック装置及び方法とそのプログラム
WO2006121251A1 (en) 2005-05-06 2006-11-16 Iocell Co., Ltd. Data structure of flash memory having system area with variable size in which data can be updated, usb memory device having the flash memory, and method of controlling the system area
US7543287B2 (en) 2005-06-30 2009-06-02 Intel Corporation Using a block device interface to invoke device controller functionality
US7870394B2 (en) * 2006-05-26 2011-01-11 Symantec Corporation Method and system to scan firmware for malware
JP2008003861A (ja) 2006-06-22 2008-01-10 Sony Corp 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア

Also Published As

Publication number Publication date
JP2010113706A (ja) 2010-05-20
US8140837B2 (en) 2012-03-20
KR101143679B1 (ko) 2012-05-11
KR20100050380A (ko) 2010-05-13
US20100115252A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
JP5363242B2 (ja) 誤ってプログラムされた埋め込み装置をリカバリする方法、コンピュータ・プログラム、およびシステム
US8407526B1 (en) Updating a firmware image using a firmware debugger application
US8161277B2 (en) Method of safe and recoverable firmware update and device using the same
US9747192B2 (en) Automated operating system installation on multiple drives
CN106598635B (zh) 基板管理控制器的恢复方法及基板管理控制器
US9027014B2 (en) Updating firmware compatibility data
US20100058314A1 (en) Computer System and Related Method of Logging BIOS Update Operation
US8943302B2 (en) Method of flashing bios using service processor and computer system using the same
US7900036B2 (en) System and method for implementing boot/recovery on a data processing sysem
US9563497B2 (en) Correcting a failure associated with a current firmware image
US20080126777A1 (en) External basic input/output system device
TW201520895A (zh) Bios自動恢復系統及方法
US20200310779A1 (en) Validating a firmware compliance policy prior to use in a production system
US9542304B1 (en) Automated operating system installation
US8176309B2 (en) Boot system has BIOS that reads rescue operating system from memory device via input/output chip based on detecting a temperature of a hard disk
US5794007A (en) System and method for programming programmable electronic components using board-level automated test equipment
CN102043634B (zh) 一种嵌入式系统和嵌入式软件升级方法
WO2015184732A1 (zh) 引导程序的存储方法、故障恢复方法及设备、计算机存储介质
KR100706471B1 (ko) 전자기기의 펌웨어 업데이트 방법
KR20180023575A (ko) 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체
CN113867812B (zh) 一种bmc获取链路信息的方法、系统、设备以及介质
US10216525B1 (en) Virtual disk carousel
TWI840907B (zh) 偵測偏差的電腦系統及方法,及非暫態電腦可讀取媒體
JP7389877B2 (ja) ネットワークの最適なブートパスの方法及びシステム
CN109426506B (zh) 选用只读存储器的加载方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130905

R150 Certificate of patent or registration of utility model

Ref document number: 5363242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees