JP2008047112A - エラーハンドリング及びファームウェア更新を調停するための方法及びシステム - Google Patents

エラーハンドリング及びファームウェア更新を調停するための方法及びシステム Download PDF

Info

Publication number
JP2008047112A
JP2008047112A JP2007205051A JP2007205051A JP2008047112A JP 2008047112 A JP2008047112 A JP 2008047112A JP 2007205051 A JP2007205051 A JP 2007205051A JP 2007205051 A JP2007205051 A JP 2007205051A JP 2008047112 A JP2008047112 A JP 2008047112A
Authority
JP
Japan
Prior art keywords
firmware
error handling
firmware update
error
arbitrator
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
JP2007205051A
Other languages
English (en)
Other versions
JP4870047B2 (ja
Inventor
Thomas Ford
トーマス・フォード
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2008047112A publication Critical patent/JP2008047112A/ja
Application granted granted Critical
Publication of JP4870047B2 publication Critical patent/JP4870047B2/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】エラーハンドリング及びファームウェア更新を調停するための方法及びシステムを提供する。
【解決手段】コンピュータ102は、ネットワークインターフェース106に連結されたプロセッサ104を備える。プロセッサ104は、ファームウェア120と通信する。ファームウェア120は、更新可能ファームウェアコンポーネント124、固定ファームウェアコンポーネント130、及びアービトレータ122を含む。アービトレータ122は、すでに進行中の要求を完了し、衝突している要求を延期することによって、ファームウェア更新要求とエラーハンドリング要求との間の衝突を管理する。
【選択図】図1

Description

本発明は、エラーハンドリング及びファームウェア更新を調停するための方法及びシステムに関する。
コンピュータプラットフォームのファームウェアは、従来、シングルイメージとしてパッケージされた単一のエンティティとして見られてきた。最近になって、いくつかのコンピュータプラットフォームは、個々のファームウェアコンポーネントを確立した。たとえば、Itaniumプロセッサファミリー(IPF)標準規格は、個々のファームウェアコンポーネントとして、プロセッサ抽象化レイヤ(PAL)、システム抽象化レイヤ(SAL)、及び拡張可能ファームウェアインターフェース(EFI)を確立している。
少なくともいくつかのファームウェアアーキテクチャ(たとえば「Banyan(バンヤン)」)は、SAL等のファームウェアコンポーネントを数個の異なるサブコンポーネントに分割することができる。これらの異なるサブコンポーネントの少なくとも一部は、関連付けられているコンピュータプラットフォームのランタイム中に更新することができる。また、新しい異なるサブコンポーネントを追加することもできる。
米国特許第6963970号 米国特許第7039836号 米国特許出願公開第2006/010450号 INTEL CORPORATION, 「Intel Itanium Processor Family Error Handling Guide」2004年4月
本発明は、エラーハンドリング及びファームウェア更新を調停するための方法及びシステムを提供することを目的とする。
上記目的を達成するために、本発明にかかるコンピュータシステムは、プロセッサ(104)と、前記プロセッサ(104)と通信するファームウェア(120)であって、少なくとも1つの更新可能コンポーネント(124)及びアービトレータ(122)を有する、ファームウェア(120)とを備え、前記アービトレータ(122)は、前記ファームウェア(120)内で実行されるエラーハンドリングとファームウェア更新との間の衝突を管理する。
次に、本発明の例示の実施形態を詳細に説明するために、添付図面を参照することにする。
[表記及び用語体系]
以下の説明及び特許請求の範囲の全体にわたって、特定のシステムコンポーネントを参照するために、一定の用語が使用される。当業者には十分理解されるように、コンピュータ会社は、1つのコンポーネントを異なる名前で参照する場合がある。この文書は、名前は異なるが、機能は異ならないコンポーネントを区別することを意図していない。以下の解説及び特許請求の範囲において、「含む」及び「備える」という用語は、オープンエンド形式で使用され、したがって、「〜を含むが、これらに限定されるものではない」ことを意味するように解釈されるべきである。また、「連結する」という用語は、間接的な電気接続、直接的な電気接続、光電気接続、又は無線電気接続のいずれかを意味するように意図されている。したがって、第1のデバイスが第2のデバイスに連結する場合、その接続は、直接的な電気接続を通じたもの、他のデバイス及び接続を介した間接的な電気接続を通じたもの、光電気接続を通じたもの、又は無線電気接続を通じたものとすることができる。
[詳細な説明]
以下の解説は、本発明のさまざまな実施形態を対象にしている。これらの実施形態の1つ又は2つ以上は好ましいものとなり得るが、開示した実施形態は、特許請求の範囲を含めた開示の範囲を限定するものとして解釈されるべきでもなければ、それ以外に使用されるべきでもない。加えて、当業者ならば、以下の説明が広い用途を有し、どの実施形態の解説も、その実施形態の例示としてのみ意図されており、特許請求の範囲を含めた開示の範囲がその実施形態に限定されることを暗示するように意図されていないことを理解するであろう。
本発明の実施形態は、コンピュータプラットフォームの異なるファームウェアコンポーネントの更新、交換、又は追加を可能にする。また、本発明の実施形態は、ファームウェアコンポーネントがコンピュータプラットフォームでエラーを処理することも可能にし、いくつかの場合では、ファームウェアコンポーネントがエラーを訂正することも可能にする。少なくともいくつかの実施形態では、ファームウェアコンポーネントの更新、交換、又は追加の要求、及び、エラーをハンドリングする要求は、ファームウェアによって調停される。たとえば、衝突するエラーハンドリング要求(handle error request)が受信される時に、ファームウェア更新が進行中である場合、ファームウェアは、ファームウェア更新の完了後までエラーのハンドリングを延期することができる。或いは、衝突するファームウェア更新要求が受信される時に、ファームウェアがエラーをハンドリングしている場合、ファームウェアは、エラーハンドリングの完了後までファームウェアの更新(又は追加)を延期することができる。他の調停技法も可能である。
図1は、本発明の実施形態によるシステム100を示している。図1に示すように、システム100は、ネットワーク140を介して更新コンピュータ150に連結されたコンピュータ102を備える。図示するように、コンピュータ102は、ネットワークインターフェース106に連結されたプロセッサ104を備える。ネットワークインターフェース106は、コンピュータ102がネットワーク140上のデバイスにデータを送信し、そのデバイスからデータを受信することを可能にする。たとえば、コンピュータ102は、更新コンピュータ150からファームウェア更新イメージを受信して、後に説明するような1つ又は2つ以上の更新可能ファームウェアコンポーネント124の更新、交換、又は追加を行うことができる。また、プロセッサ104は、メモリ108にも連結されている。メモリ108は、プロセッサ104によって実行されるオペレーティングシステム(OS)110及び他のアプリケーション112を記憶する。
図1に示すように、プロセッサ104は、ファームウェア120と通信する。ファームウェア120は、更新可能ファームウェアコンポーネント124、固定ファームウェアコンポーネント130、及びアービトレータ122を含む。本明細書で使用されるように、「更新可能ファームウェアコンポーネント」は、コンピュータ102のランタイム中に更新できるファームウェアコンポーネントであり、「固定ファームウェアコンポーネント」は、コンピュータ102のランタイム中に更新できないファームウェアコンポーネントである。いくつかの実施形態では、固定ファームウェアコンポーネント130の少なくとも1つは、更新可能ファームウェアコンポーネント124を更新又は増加させる時に使用される。また、アービトレータ122は、いくつかの実施形態では固定コンポーネント130のうちの1つとしてもよい。
コンピュータ102のユーザ又はアドミニストレータが、更新可能ファームウェアコンポーネント124の更新、交換、又は増加を望む場合、ファームウェア更新要求がファームウェア120にアサートされる。図1に示すように、ファームウェア更新要求は、プロセッサ104がアサートすることができる。たとえば、ファームウェア更新要求は、ローカル又はリモートで実行されるファームウェア更新アプリケーションによって提供される命令、ローカルストレージデバイス(たとえば、CD−ROM、フロッピー(登録商標)ディスク、フラッシュメモリデバイス、又はスマートカード)及び関連入力デバイス(図示せず)によって提供される命令、並びに(又は)、プロセッサ104によって実行されているOS110もしくは別のアプリケーション112により提供される命令に応答してアサートすることができる。図1は、ファームウェア更新要求がプロセッサ104によってアサートされることを示しているが、ファームウェア更新要求は、代替的に、プロセッサ104以外のプラットフォームエンティティ(たとえば、OS110)がアサートすることもできる。
更新可能ファームウェアコンポーネント124の更新、交換、又は増加を行うために、ファームウェア更新イメージが、ファームウェア更新要求と共にファームウェア120へ送信されるか、又は、ファームウェア更新要求が受け付けられた後にファームウェア120へ送信される。少なくともいくつかの実施形態では、ファームウェア更新イメージをファームウェア120へ送信する前に、安全な(暗号鍵で保護された)セッションを確立することができる。ファームウェア更新イメージは、更新コンピュータ150によってリモートに実行されているか、又は、コンピュータ102によってローカルに実行されているファームウェア更新アプリケーション152によって提供することができる。或いは、ファームウェア更新イメージは、ローカルストレージデバイス(たとえば、CD−ROM、フロッピーディスク、フラッシュメモリデバイス、又はスマートカード)によるか、OS110によるか、又は、プロセッサ104によって実行されている別のアプリケーション112により、提供することもできる。要約すると、ファームウェア更新要求及び対応するファームウェア更新イメージの発信元は、コンピュータ102に対してローカルとすることもできるし、リモートとすることもできる。いずれにしても、ファームウェア更新イメージを提供するエンティティとファームウェア120との間に安全なセッションを確立することができる。
コンピュータ102のランタイム中、エラーが発生する場合がある。たとえば、エラーは、プロセッサ104の内部又は外部のハードウェアに関与する場合がある。これに加えて又はこれに代えて、エラーは、実行されているソフトウェアに関与する場合もある(たとえば、OS110又はアプリケーション112の1つが発生したエラー)。エラーは、データの1ビット又は2ビット以上に関与する場合がある。エラー源にかかわらず、一定のエラーは、プロセッサ104、ファームウェア120、OS110、又は他のプラットフォームエンティティによって検出可能である。これらの検出可能なエラーは、必ずしも、ファームウェア120に関係していないが、プロセッサ104やOS110等のプラットフォームエンティティは、ファームウェア120がエラーをハンドリングすることを要求することができる。たとえば、図1では、プロセッサ104がエラーハンドリング要求をファームウェア120にアサートしていることが示されている。いくつかの場合では、ファームウェア120は、エラーハンドリング要求を処理して、エラーを訂正することができる。ファームウェア120が、エラーハンドリング要求を処理するが、エラーを訂正できない場合、ファームウェア120は、プロセッサ104、OS110、又は別のプラットフォームエンティティがエラーをハンドリングすることを要求することができる。エラーを訂正できない場合、コンピュータ102を強制的にシャットダウン又は再起動させることができる。
ファームウェア120は、コンピュータ102のランタイム中に、ファームウェア更新要求及びエラーハンドリング要求の双方を受信する場合があるので、アービトレータ122は、これら異なる要求間を調停するように実施される。少なくともいくつかの実施形態では、ファームウェア更新要求及びエラーハンドリング要求の双方を処理するのに、固定ファームウェアコンポーネント130のうちの少なくとも1つが必要とされる。したがって、いくつかの場合では、エラーハンドリング要求の処理に関与している固定ファームウェアコンポーネント130は、エラーハンドリングプロセスを中断することなくファームウェア更新要求の処理に関与することができない。或いは、いくつかの場合では、ファームウェア更新要求の処理に関与している固定ファームウェアコンポーネント130は、ファームウェア更新プロセスを中断することなくエラーハンドリング要求の処理に関与することができない。したがって、アービトレータ122は、ファームウェア120が、ファームウェア更新要求とエラーハンドリング要求との間の衝突をどのように管理するかを決定する。
少なくともいくつかの実施形態では、アービトレータ122は、すでに進行中の要求を完了し、衝突している要求を延期することによって、ファームウェア更新要求とエラーハンドリング要求との間の衝突を管理する。たとえば、衝突するエラーハンドリング要求が受信される時に、ファームウェア更新が進行中である場合、アービトレータ122は、ファームウェア120に、エラーのハンドリングをファームウェア更新の完了後まで延期させる。或いは、衝突するファームウェア更新要求が受信される時に、ファームウェア120がエラーをハンドリングしている場合、アービトレータ122は、ファームウェア120に、ファームウェアの更新(追加)をエラーハンドリングの完了後まで延期させる。
代替的な実施形態では、アービトレータ122は、ファームウェア更新要求に優先権を選択的に与えることによって、ファームウェア更新要求とエラーハンドリング要求との間の衝突を管理する。たとえば、衝突するエラーハンドリング要求が受信される時に、ファームウェア更新が進行中である場合、アービトレータ122は、ファームウェア120に、エラーのハンドリングをファームウェア更新の完了後まで延期させる。或いは、衝突するファームウェア更新要求が受信される時に、ファームウェア120がエラーをハンドリングしている場合、アービトレータ122は、ファームウェア120に、エラーのハンドリングを停止又は延期させ、その代わり、ファームウェア更新要求を処理させる。ファームウェア更新が完了すると、エラーハンドリングプロセスを継続又は再起動することができる。少なくともいくつかの実施形態では、エラーハンドリング要求が中断され、且つエラーハンドリングを延期することができない場合、アービトレータ122は、プロセッサ104やOS110等のプラットフォームエンティティに、エラーハンドリング要求を完了できなかったこと、又は、エラーを訂正できなかったことを通知する。たとえば、アービトレータ122は、エラーハンドリング要求をアサートしたプラットフォームエンティティ、又は、ファームウェア120がエラーのハンドリング又は訂正を行えない場合に、エラーをハンドリングするプラットフォームエンティティに通知を提供することができる。
代替的な実施形態では、アービトレータ122は、エラーハンドリング要求に優先権を選択的に与えることによって、ファームウェア更新要求とエラーハンドリング要求との間の衝突を管理する。たとえば、衝突するファームウェア更新要求が受信された時に、ファームウェア120がエラーをハンドリングしている場合、アービトレータ122は、ファームウェア120に、ファームウェアの更新(又は追加)をエラーハンドリングの完了後まで延期させる。或いは、衝突するエラーハンドリング要求が受信された時に、ファームウェア更新が進行中である場合、アービトレータ122は、ファームウェア120に、ファームウェアの更新を停止又は延期させ、その代わり、エラーハンドリング要求を処理させる。エラーハンドリングが完了すると、ファームウェア更新プロセスを継続又は再起動することができる。少なくともいくつかの実施形態では、ファームウェア更新要求が中断され、且つファームウェア更新要求を延期させることができない場合、アービトレータ122は、ファームウェア更新を要求したローカルエンティティ又はリモートエンティティに、ファームウェア更新を完了できなかったことを通知する。
いくつかの実施形態では、アービトレータ122は、タイミングの考慮に基づいてファームウェア更新要求とエラーハンドリング要求との間の衝突を管理する。たとえば、衝突するエラーハンドリング要求が受信される時に、ファームウェア更新が進行していた時間がしきい値時間量よりも少ない場合、アービトレータ122は、エラーを処理して、ファームウェア更新を延期することができる。或いは、衝突するファームウェア更新要求が受信される時に、エラーハンドリングが進行していた時間がしきい値時間量よりも少ない場合、アービトレータ122は、ファームウェアを更新して、エラー処理を延期することができる。
また、衝突するエラーハンドリング要求が受信される時(又は受信された後)に、ファームウェア更新が進行していた時間がしきい値時間量よりも多い場合に、アービトレータ122は、エラーハンドリング要求が通常はファームウェア更新よりも高い優先権を有していても、エラーの処理を中断又は延期することができる。或いは、衝突するエラーハンドリング要求が受信される時(又は受信された後)に、ファームウェア更新が進行していた時間がしきい値時間量よりも多い場合に、アービトレータ122は、ファームウェア更新が通常はエラー処理よりも高い優先権を有していても、ファームウェア更新を中断又は延期して、エラーを処理することができる。アービトレータ122によるタイミングの考慮を使用することは、たとえば、ファームウェア更新要求、ファームウェア更新オペレーション、エラーハンドリング要求及びエラーハンドリングオペレーションのステータスをチェックして更新するカウンタ及びオペレーションを伴うことができる。
いくつかの実施形態では、アービトレータ122は、特定の要求を識別することに基づいて、ファームウェア更新要求とエラーハンドリング要求との間の衝突を管理する(すなわち、異なるタイプのファームウェア更新要求及びエラーハンドリング要求を識別でき、それに応じてハンドリングすることができる)。たとえば、特定のタイプのファームウェア更新要求は、特定のタイプのエラーハンドリング要求よりも高い優先権を有することもできるし、その逆とすることもできる。このような実施形態では、アービトレータ122は、各要求を備えた識別情報を検索し、その識別情報を使用して、衝突する要求に優先権を付ける。いくつかの実施形態では、アービトレータ122は、タイミングの考慮、優先権、及び他のポリシーを組み合わせて、ファームウェア更新要求とエラーハンドリング要求との間の衝突をハンドリングする。
いくつかの実施形態では、少なくとも1つの固定コンポーネント130が、エラーハンドリングの基本レベルを担当する一方、少なくとも1つの更新可能コンポーネント124が、エラーハンドリングの拡張レベルを担当する。いくつかの場合では、ファームウェア更新が進行中である場合、拡張エラーハンドリングを提供する更新可能コンポーネント124が利用可能でない場合であっても、基本エラーハンドリングを提供する固定コンポーネント130は利用可能である。したがって、アービトレータ122は、ファームウェア更新が進行中である間、エラー処理を延期するのか、それとも、基本エラーハンドリングを行うのかを決定することができる。いくつかの実施形態では、アービトレータ122は、いくつかのエラーハンドリング要求を延期することによって、ファームウェア120によるエラーハンドリング能力が劣化する可能性があることを考慮する。
図2は、本発明の実施形態による方法200を示している。図2に示すように、方法200は、開始ブロック202で始まる。ファームウェア更新要求が受信されていない場合(判断ブロック204)、方法200は判断ブロック204に戻る。ファームウェア更新要求が受信されている場合(判断ブロック204)、方法200は、エラーハンドリングが進行中であるか否かを判断する(判断ブロック206)。エラーハンドリングが進行中である場合(判断ブロック206)、方法は、エラーハンドリングを完了する(ブロック208)。エラーハンドリングが進行中でない場合(判断ブロック206)、又は、エラーハンドリングが完了している場合(ブロック208)、ファームウェアは更新される(ブロック210)。
方法200は、エラーハンドリング要求が受信されているか否かを判断することをさらに含む(ブロック212)。エラーハンドリング要求が受信されなかった場合(判断ブロック212)、方法200は判断ブロック212に戻る。エラーハンドリング要求が受信されている場合(判断ブロック212)、方法200は、ファームウェア更新が進行中であるか否かを判断する(判断ブロック214)。ファームウェア更新が進行中である場合(判断ブロック214)、方法はファームウェア更新を完了する(ブロック216)。ファームウェア更新が進行中でない場合(判断ブロック214)、又は、ファームウェア更新が完了している場合(ブロック216)、エラーはハンドリングされる(ブロック218)。ブロック210及び218の後、方法200は終了ブロック220で終了する。
図3は、本発明の実施形態による別のシステム300を示している。図3に示すように、システム300は、プロセッサ304に連結されたプラットフォーム(ハードウェアエンティティ)302を備える。プロセッサ304は、プロセッサ抽象化レイヤ(PAL)306及びオペレーティングシステム(OS)332とも通信する。図示するように、システム300は、プラットフォーム302と通信するシステム抽象化レイヤ(SAL)308、PAL306、及びOS332も備える。たとえば、SAL308は、一定のタスクを完了する際に、プラットフォーム302のチップセットレジスタにアクセスすることができる。PAL306及びSAL308は、後述するように、システム300によって検出される一定のエラーをハンドリングできるファームウェアコンポーネントである。また、システム300は、システム300によって検出されるエラーのハンドリングに必ずしも関与しない拡張可能ファームウェアインターフェース(EFI)330も備える。
図3に示すように、SAL308は、更新可能コンポーネント312及び固定コンポーネント314を備える。更新可能コンポーネント312は、コンピュータシステム300のランタイム中に更新することができる一方、固定コンポーネント314は、システム300のランタイム中に更新することができない。少なくともいくつかの実施形態では、更新可能コンポーネント312は、「Banyan」アーキテクチャと呼ばれるファームウェアアーキテクチャの一部である。
図示するように、固定コンポーネント314は、フレームワーク316、レジストリ318、及びシーケンサ320を備える。少なくともいくつかの実施形態では、フレームワーク316及びレジストリ318は、ランタイム時に追加、交換、又は更新が可能なファームウェアコンポーネント間の通信を可能にする。具体的には、レジストリ318は、現在インストールされているファームウェアコンポーネントのリストを保持し、フレームワーク316は、レジストリ318に列挙されたコンポーネント間の通信を調整する。シーケンサ320は、システム300のブート及びエラーハンドリング要求の処理のための制御エンティティである。いくつかの実施形態では、アービトレータ310は、固定コンポーネント314のうちの1つである。
更新可能コンポーネントの更新、交換、又は増加の時に、固定コンポーネント314のうちの少なくとも1つが関与することができる。たとえば、フレームワーク316によって提供される通信メカニズム及びレジストリ318によって提供されるリストにより、ファームウェア更新が進行中の間、更新可能コンポーネント312間の通信を可能にすることができる。固定コンポーネント314は、ハードウェア初期化、管理、及びエラーハンドリング機能を可能にする他のSALコンポーネント及びEFIコンポーネントも備えることができる。
システム300のユーザ又はアドミニストレータが、更新可能コンポーネント312の更新、交換、又は増加を望む場合、ファームウェア更新要求がSAL308にアサートされる。図3では、ファームウェア更新要求は、たとえば、プラットフォーム302、プロセッサ304、又はOS332がアサートすることができる。少なくともいくつかの実施形態では、ファームウェア更新要求は、ローカル若しくはリモートで実行されるファームウェア更新アプリケーションによって提供される命令、ローカルストレージデバイス(たとえば、CD−ROM、フロッピーディスク、フラッシュメモリデバイス、又はスマートカード)及び関連入力デバイス(図示せず)によって提供される命令、又はプロセッサ304によって実行されている別のアプリケーションにより提供される命令に応答して、プラットフォーム302、プロセッサ304、又はOS332によりアサートされる。
更新可能コンポーネント312の更新、交換、又は増加を行うために、ファームウェア更新イメージが、ファームウェア更新要求と共にSAL308へ送信されるか、又は、ファームウェア更新要求が受け付けられた後にファームウェア308へ送信される。少なくともいくつかの実施形態では、ファームウェア更新イメージをSAL308へ送信する前に、安全な(暗号鍵で保護された)セッションを確立することができる。ファームウェア更新イメージは、ローカル又はリモートで実行されるファームウェア更新アプリケーションによるか、ローカルストレージデバイス(たとえば、CD−ROM、フロッピーディスク、フラッシュメモリデバイス、又はスマートカード)によるか、OS332によるか、又は、プロセッサ304によって実行されている別のアプリケーションにより、提供することができる。換言すれば、ファームウェア更新要求及び対応するファームウェア更新イメージの発信元は、システム300に対してローカルとすることもできるし、リモートとすることもできる。いずれにしても、ファームウェア更新イメージを提供するエンティティとSAL308との間に安全なセッションを確立することができる。
システム300のランタイム中、エラーが発生する場合がある。たとえば、エラーは、プロセッサ304の内部又は外部のハードウェアに関与する場合がある。これに加えて又はこれに代えて、エラーは、OS332や別のアプリケーション等のソフトウェアに関与する場合もある。エラーは、データの1ビット又は2ビット以上に関与する場合がある。エラー源にかかわらず、一定のエラーは、プラットフォーム302、プロセッサ304、PAL306、SAL308、又はOS332によって検出可能である。これらの検出可能なエラーは、必ずしも、SAL308に関係していないが、他のシステムエンティティ(たとえば、プラットフォーム302、プロセッサ304、PAL306、又はOS332)は、SAL308がエラーをハンドリングすることを要求することができる。
一例として、図3は、プラットフォーム302が通常フローのデータを送受信することを示している。時々、エラーを表す割り込みが、プラットフォーム302によって受信される。プラットフォーム302がエラーを訂正できる場合、プラットフォーム302は、エラーが訂正されたことを示す訂正プラットフォームエラー割り込み(Corrected Platform Error Interrupt)(CPEI)信号をOS332にアサートし、システム300は通常オペレーションを継続する。プラットフォーム302がエラーを訂正できない場合、プラットフォーム302は、バスエラー信号(「BERR#」)、バス初期化信号(「BINIT」)、ハード故障信号(「HF(Hard Failure)」)等のエラー信号をプロセッサ304にアサートし、プロセッサ304がエラーをハンドリングする。プロセッサ304がエラーを訂正できる場合、プロセッサ304は、エラーが訂正されたことを示す訂正マシンチェック割り込み(Corrected Machine Check Interrupt)(CMCI)信号をOS332にアサートし、システム300は通常オペレーションを継続する。プロセッサ304がエラーを訂正できない場合、プロセッサ304は、マシンチェックアボート(Machine Check Abort)(MCA)信号をPAL306にアサートし、PAL306がエラーをハンドリングする。PAL306がエラーを訂正できる場合、PAL306は、エラーが訂正されたことを示すCMCI信号をOS332にアサートし、システム300は通常オペレーションを継続する。PAL306がエラーを訂正できない場合、PAL306は、MCA信号をSAL308にアサートし、SAL308がエラーをハンドリングする。SAL308がエラーを訂正できる場合、SAL308は、エラーが訂正されたことを示すCPEI信号をOS332にアサートし、システム300は通常オペレーションを継続する。SAL308がエラーを訂正できない場合、SAL308は、MCA信号をOS332にアサートし、OS332がエラーをハンドリングする。OS332がエラーを訂正できる場合、システム300は通常オペレーションを継続する。OS332がエラーを訂正できない場合、システム300は、訂正されないエラーに応じて、シャットダウン、再起動、又は他の或る動作により応答する。
上記例では、エラーは、プラットフォーム302によって検出され、プロセッサ304、次にPAL306、次にSAL308,次にOS332によって選択的にハンドリングされた。或いは、エラーは、OS332が最初に検出することもでき、OS332は、MCA信号をSAL308又はPAL306にそれぞれアサートすることによってSAL308又はPAL306がエラーをハンドリングすることを要求することができる。或いは、エラーは、PAL306又はSAL308が最初に検出して、同じように処理することもできる。要約すると、システム300のコンポーネントは、互いに相互作用してエラーを検出し、可能ならば、システム300においてエラーを訂正する。エラーを訂正できない場合、システム300は、訂正されないエラーに応じて、シャットダウン、再起動、又は他の或る動作により応答する。
SAL308は、システム300のランタイム中に、ファームウェア更新要求及びエラーハンドリング要求(MCA)の双方を受信する場合があるので、アービトレータ310は、これら異なる要求間を調停するように実施される。少なくともいくつかの実施形態では、ファームウェア更新要求及びMCAの双方を処理するために、固定ファームウェアコンポーネント314のうちの少なくとも1つが必要とされる。したがって、いくつかの場合では、MCAの処理に関与している固定ファームウェアコンポーネント314は、SALのMCAハンドリングプロセスを中断することなくファームウェア更新要求の処理に関与することができない。或いは、いくつかの場合では、ファームウェア更新要求の処理に関与している固定ファームウェアコンポーネント314は、SALのファームウェア更新プロセスを中断することなくMCAの処理に関与することができない。したがって、アービトレータ310は、SAL308が、ファームウェア更新要求とMCA処理との間の衝突をどのように管理するかを決定する。
少なくともいくつかの実施形態では、アービトレータ310は、すでに進行中の要求を完了すること及び衝突している要求を延期することによって、ファームウェア更新要求とMCA処理との間の衝突を管理する。たとえば、MCAが受信される時に、ファームウェア更新が進行中である場合、アービトレータ310は、SAL308に、MCAの処理をファームウェア更新の完了後まで延期させる。或いは、ファームウェア更新要求が受信される時に、SAL308がMCAを処理している場合、アービトレータ310は、SAL308に、ファームウェアの更新(追加)をMCA処理の完了後まで延期させる。
代替的な実施形態では、アービトレータ310は、ファームウェア更新要求に優先権を選択的に与えることによって、ファームウェア更新要求とMCA処理との間の衝突を管理する。たとえば、MCAが受信される時に、ファームウェア更新が進行中である場合、アービトレータ310は、SAL308に、MCAの処理をファームウェア更新の完了後まで延期させる。或いは、ファームウェア更新要求が受信される時に、SAL308がMCAをハンドリングしている場合、アービトレータ310は、SAL308に、MCAの処理を停止又は延期させ、その代わり、ファームウェア更新要求を処理させる。ファームウェア更新が完了すると、MCA処理を継続又は再起動することができる。少なくともいくつかの実施形態では、MCA処理が中断され、且つMCA処理を延期することができない場合、アービトレータ310は、PAL306やOS332等のプラットフォームエンティティに、MCAを処理できなかったこと、又は、エラーを訂正できなかったことを通知する。たとえば、アービトレータ310は、MCAをアサートしたプラットフォームエンティティ、又は、SAL308がエラー訂正できない場合にエラーをハンドリングするプラットフォームエンティティに通知を提供することができる。いくつかの場合では、この通知は、単に、別のMCA信号とすることができる。
代替的な実施形態では、アービトレータ310は、MCA処理に優先権を選択的に与えることによって、ファームウェア更新要求とMCA処理との間の衝突を管理する。たとえば、ファームウェア更新要求が受信される時に、SAL308がMCAを処理している場合、アービトレータ310は、SAL308に、ファームウェアの更新(又は追加)をMCA処理の完了後まで延期させる。或いは、MCAが受信された時に、ファームウェア更新が進行中である場合、アービトレータ310は、SAL308に、ファームウェアの更新を停止又は延期させ、その代わり、MCAを処理させる。MCA処理が完了すると、ファームウェア更新プロセスを継続又は再起動することができる。少なくともいくつかの実施形態では、ファームウェア更新要求が中断され、且つファームウェア更新要求を延期させることができない場合、アービトレータ310は、ファームウェア更新を要求したローカルエンティティ又はリモートエンティティに、ファームウェア更新を完了できなかったことを通知する。
いくつかの実施形態では、アービトレータ310は、タイミングの考慮に基づいてファームウェア更新要求とエラーハンドリング要求との間の衝突を管理する。たとえば、衝突するMCAが受信される時に、ファームウェア更新が進行していた時間がしきい値時間量よりも少ない場合、アービトレータ310は、MCAを処理して、ファームウェア更新を延期することができる。或いは、衝突するファームウェア更新要求が受信される時に、MCA処理が進行していた時間がしきい値時間量よりも少ない場合、アービトレータ310は、ファームウェアを更新して、MCA処理を延期することができる。
また、衝突するMCAが受信される時(又は受信された後)に、ファームウェア更新が進行していた時間がしきい値時間量よりも多い場合、アービトレータ310は、エラーハンドリング要求が通常はファームウェア更新よりも高い優先権を有していても、エラーの処理を中断又は延期することができる。或いは、衝突するMCAが受信される時(又は受信された後)に、ファームウェア更新が進行していた時間がしきい値時間量よりも多い場合、アービトレータ310は、ファームウェア更新が通常はMCA処理よりも高い優先権を有していても、ファームウェア更新を中断又は延期して、MCAを処理することができる。アービトレータ310によるタイミングの考慮を使用することは、たとえば、ファームウェア更新要求と、ファームウェア更新オペレーションと、MCA信号と、MCAハンドリングオペレーションとのステータスをチェックして更新するカウンタ及びオペレーションを伴うことができる。
いくつかの実施形態では、アービトレータ310は、特定の要求を識別することに基づいて、ファームウェア更新要求とMCAとの間の衝突を管理する(すなわち、異なるタイプのファームウェア更新要求及びMCAを識別でき、それに応じてハンドリングすることができる)。たとえば、特定のタイプのファームウェア更新要求は、特定のタイプのMCAよりも上の優先権を有することもできるし、その逆とすることもできる。このような実施形態では、アービトレータ310は、各要求を備えた識別情報を検索し、その識別情報を使用して、衝突する要求に優先権を付ける。いくつかの実施形態では、アービトレータ310は、タイミングの考慮、優先権、及び他のポリシーを組み合わせて、ファームウェア更新要求とMCAとの間の衝突をハンドリングする。
いくつかの実施形態では、少なくとも1つの固定コンポーネント314が、MCAハンドリングの基本レベルを担当する一方、少なくとも1つの更新可能コンポーネント312が、拡張MCAハンドリングを担当する。いくつかの場合では、ファームウェア更新が進行中である場合、拡張MCAハンドリングを提供する更新可能コンポーネント312が利用可能でない場合であっても、基本MCAハンドリングを提供する固定コンポーネント314は利用可能である。したがって、アービトレータ310は、ファームウェア更新が進行中である間、MCA処理を延期するのか、それとも、基本MCAハンドリングを行うのかを決定することができる。いくつかの実施形態では、アービトレータ310は、いくつかのMCAの処理を延期することによって、SAL308によるMCAハンドリング能力が劣化する可能性があることを考慮する。
図4は、本発明の実施形態による別の方法400を示している。図4に示すように、方法400は開始ブロック402を含む。方法400では、エラーはプラットフォームによって処理される(ブロック404)。プラットフォームがエラーを訂正する場合(判断ブロック406)、通常オペレーションが継続される(ブロック412)。プラットフォームがエラーを訂正しない場合(判断ブロック406)、PALファームウェアモジュールがエラーをハンドリングする(ブロック414)。
方法400では、エラーは、プロセッサが処理することもできる(ブロック408)。プロセッサがエラーを訂正する場合(判断ブロック410)、通常オペレーションが継続される(ブロック412)。プロセッサがエラーを訂正しない場合(判断ブロック410)、PALがエラーをハンドリングする(ブロック414)。PALがエラーを訂正する場合(判断ブロック416)、通常オペレーションが継続される(ブロック418)。PALがエラーを訂正しない場合(判断ブロック416)、SALファームウェアモジュールがエラーをハンドリングする(ブロック420)。
図4に示すように、ブロック420は、ファームウェア更新が進行中であるか否かを判断すること(判断ブロック422)を伴う。ファームウェア更新が進行中である場合(判断ブロック422)、方法400は、ファームウェア更新の完了後までエラーハンドリングを延期する(ブロック424)。ファームウェア更新が進行中でない場合(判断ブロック422)、又は、ファームウェア更新が完了している場合(ブロック424)、エラーハンドリングが実行され、どのファームウェア更新要求も、エラーハンドリングの完了後まで延期される(ブロック426)。
SALがエラーを訂正する場合(判断ブロック428)、通常オペレーションが継続される(ブロック430)。SALがエラーを訂正しない場合(判断ブロック428)、OSがエラーをハンドリングする(ブロック432)。図示しないが、OSがエラーを訂正する場合、又は、OSがエラーを訂正しないときにOSがシステムをシャットダウン(再起動)する場合、方法400は、通常オペレーションを継続する等のステップも含むことができる。
上記解説は、本発明の原理及びさまざまな実施形態の例示であることが意図されている。当業者には、上記開示が十分に理解されると、多数の変形及び変更が明らかになるであろう。添付の特許請求の範囲は、このようなすべての変形及び変更を包含するように解釈されることが意図されている。
本発明の実施形態によるシステムを示す図である。 本発明の実施形態による方法を示す図である。 本発明の実施形態による別のシステムを示す図である。 本発明の実施形態による別の方法を示す図である。
符号の説明
100・・・システム
102・・・コンピュータ
104・・・プロセッサ
106・・・ネットワークインターフェース
108・・・メモリ
112・・・アプリケーション
120・・・ファームウェア
122・・・アービトレータ
124・・・更新可能ファームウェアコンポーネント
130・・・固定ファームウェアコンポーネント
140・・・ネットワーク
150・・・更新コンピュータ
152・・・ファームウェア更新アプリケーション
300・・・システム
302・・・プラットフォーム
304・・・プロセッサ
306・・・プロセッサ抽象化レイヤ(PAL)
308・・・システム抽象化レイヤ(SAL)
310・・・アービトレータ
312・・・更新可能コンポーネント
314・・・固定コンポーネント
316・・・フレームワーク
318・・・レジストリ
320・・・シーケンサ
330・・・拡張可能ファームウェアインターフェース(EFI)
332・・・オペレーティングシステム

Claims (10)

  1. コンピュータシステム(102)であって、
    プロセッサ(104)と、
    前記プロセッサ(104)と通信するファームウェア(120)であって、少なくとも1つの更新可能コンポーネント(124)及びアービトレータ(122)を有する、ファームウェア(120)と
    を備え、
    前記アービトレータ(122)は、前記ファームウェア(120)内で実行されるエラーハンドリングとファームウェア更新との間の衝突を管理する
    コンピュータシステム。
  2. 前記アービトレータ(122)は、進行中のファームウェア更新の完了後までエラーハンドリングを延期することによって、エラーハンドリングとファームウェア更新との間の衝突を管理する
    請求項1に記載のコンピュータシステム。
  3. 前記アービトレータ(122)は、進行中のエラーハンドリングの完了後までファームウェア更新を延期することによって、エラーハンドリングとファームウェア更新との間の衝突を管理する
    請求項1に記載のコンピュータシステム。
  4. 前記ファームウェア(120)は、
    少なくとも1つの固定コンポーネント(130)
    をさらに備える
    請求項1に記載のコンピュータシステム。
  5. 前記少なくとも1つの固定コンポーネント(130)は、
    現在インストールされているファームウェアコンポーネントのリストを保持するレジストリ(318)と、
    ファームウェア更新が進行中に更新可能コンポーネント(312)が通信することを可能にするフレームワーク(316)と
    を備える
    請求項4に記載のコンピュータシステム。
  6. 前記更新可能コンポーネント(312)及び前記アービトレータ(310)は、システム抽象化レイヤ(SAL)(308)の一部である
    請求項1に記載のコンピュータシステム。
  7. ファームウェア更新要求を受信することと、
    エラーハンドリング要求を受信することと、
    前記ファームウェア更新要求の処理と前記エラーハンドリング要求の処理との間を調停することと
    を含む方法。
  8. 前記調停することは、
    基本エラーハンドリングを有効にすることと、
    ファームウェア更新が行われている間、拡張エラーハンドリングを延期することと
    を含む
    請求項7に記載の方法。
  9. 更新可能ファームウェアコンポーネント(312)のリスト(318)を保持することと、
    前記ファームウェア更新要求に応答して前記リストを更新することと
    をさらに含む請求項7に記載の方法。
  10. エラーハンドリング要求に関連するエラー処理が中断されるか、又は、延期される場合、該エラーハンドリング要求を別のエンティティにアサートすること
    をさらに含む請求項7に記載の方法。
JP2007205051A 2006-08-17 2007-08-07 エラーハンドリング及びファームウェア更新を調停するための方法及びシステム Expired - Fee Related JP4870047B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/465161 2006-08-17
US11/465,161 US8082543B2 (en) 2006-08-17 2006-08-17 Methods and systems for arbitrating error handling and firmware updates

Publications (2)

Publication Number Publication Date
JP2008047112A true JP2008047112A (ja) 2008-02-28
JP4870047B2 JP4870047B2 (ja) 2012-02-08

Family

ID=39102815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007205051A Expired - Fee Related JP4870047B2 (ja) 2006-08-17 2007-08-07 エラーハンドリング及びファームウェア更新を調停するための方法及びシステム

Country Status (2)

Country Link
US (1) US8082543B2 (ja)
JP (1) JP4870047B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541241A (ja) * 2010-07-30 2013-11-07 アルカテル−ルーセント ネットワークにおけるマルチ・セル・サポートのための装置
JP2020190982A (ja) * 2019-05-23 2020-11-26 未來市股▲ふん▼有限公司 ソフトウェアアップデート方法及び該方法を使用するヘッドマウントディスプレイシステム
US20230401054A1 (en) * 2022-06-13 2023-12-14 Xilinx, Inc. Impactless firmware update
US12020021B2 (en) * 2022-06-13 2024-06-25 Xilinx, Inc. Impactless firmware update

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495619B2 (en) * 2005-06-29 2013-07-23 Flexera Software Llc Method and system for pre-deployment conflict checking
KR100847560B1 (ko) * 2006-12-11 2008-07-21 삼성전자주식회사 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법
US8271968B2 (en) * 2006-12-12 2012-09-18 Dell Products L.P. System and method for transparent hard disk drive update
US8448024B2 (en) * 2007-05-16 2013-05-21 Intel Corporation Firmware assisted error handling scheme
US8539200B2 (en) * 2008-04-23 2013-09-17 Intel Corporation OS-mediated launch of OS-independent application
US8631186B2 (en) * 2008-09-30 2014-01-14 Intel Corporation Hardware and file system agnostic mechanism for achieving capsule support
CN102667716A (zh) 2009-12-18 2012-09-12 惠普发展公司,有限责任合伙企业 使用固件更新应用程序更新部件的固件的方法及装置
US9639347B2 (en) * 2009-12-21 2017-05-02 International Business Machines Corporation Updating a firmware package
US9201723B2 (en) * 2011-06-27 2015-12-01 International Business Machines Corporation Fault handling in a distributed IT environment
US8782633B1 (en) * 2011-09-21 2014-07-15 Emc Corporation Upgrading firmware of a power supply
US9235404B2 (en) 2012-06-27 2016-01-12 Microsoft Technology Licensing, Llc Firmware update system
US9110761B2 (en) 2012-06-27 2015-08-18 Microsoft Technology Licensing, Llc Resource data structures for firmware updates
US8972973B2 (en) * 2012-06-27 2015-03-03 Microsoft Technology Licensing, Llc Firmware update discovery and distribution
US9137016B2 (en) * 2013-06-20 2015-09-15 Hewlett-Packard Development Company, L.P. Key pair updates based on digital signature states
US9032423B2 (en) 2013-06-21 2015-05-12 Microsoft Technology Licensing, Llc Dependency based configuration package activation
JP6327001B2 (ja) * 2014-06-19 2018-05-23 富士ゼロックス株式会社 画像処理装置及びプログラム
WO2020026228A1 (en) * 2018-08-01 2020-02-06 Vdoo Connected Trust Ltd. Firmware verification
US11256499B2 (en) 2019-12-20 2022-02-22 Hewlett Packard Enterprise Development Lp Hotfix-firmware having updates to a firmware at runtime
US11907373B2 (en) * 2021-10-22 2024-02-20 Dell Products, L.P. Validation of fixed firmware profiles for information handling systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075941A (ja) * 1999-09-02 2001-03-23 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータおよびその動作方法
JP2002157139A (ja) * 2000-11-22 2002-05-31 Canon Inc 電子装置、画像読み取り装置、及び不揮発性メモリの書き換え方法
JP2002312302A (ja) * 2001-04-09 2002-10-25 Denso Corp 周辺装置
JP2002344837A (ja) * 2001-05-22 2002-11-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948094B2 (en) * 2001-09-28 2005-09-20 Intel Corporation Method of correcting a machine check error
US7320126B2 (en) * 2001-11-06 2008-01-15 Sandisk Corporation Implementation of in system programming to update firmware on memory cards
US6963970B2 (en) 2002-04-29 2005-11-08 Hewlett-Packard Development Company, L.P. System and method for executing a fast reset of a computer system
KR100744873B1 (ko) * 2002-08-20 2007-08-01 엘지전자 주식회사 컴퓨터 시스템에서의 펌웨어 기록방법
US7039836B2 (en) 2003-04-01 2006-05-02 Hewlett-Packard Development Company, L.P. High performance computer system having a firmware error queue and automatic error handling
US7797693B1 (en) * 2003-12-12 2010-09-14 Hewlett-Packard Development Company, L.P. NAND mobile devices capable of updating firmware or software in a manner analogous to NOR mobile devices
US20050144609A1 (en) * 2003-12-12 2005-06-30 Intel Corporation Methods and apparatus to provide a robust code update
US20050223291A1 (en) * 2004-03-24 2005-10-06 Zimmer Vincent J Methods and apparatus to provide an execution mode transition
US8914606B2 (en) 2004-07-08 2014-12-16 Hewlett-Packard Development Company, L.P. System and method for soft partitioning a computer system
US7380174B2 (en) * 2004-09-28 2008-05-27 Hewlett-Packard Development Company, L.P. Variable writing through a fixed programming interface
US7502958B2 (en) * 2004-10-25 2009-03-10 Hewlett-Packard Development Company, L.P. System and method for providing firmware recoverable lockstep protection
WO2006110140A1 (en) * 2005-04-08 2006-10-19 Hewlett-Packard Development Company, L.P. System and method of reporting error codes in an electronically controlled device
US7809993B2 (en) * 2006-01-17 2010-10-05 International Business Machines Corporation Apparatus, system, and method for receiving digital instructions at devices sharing an identity
US7533290B2 (en) * 2006-02-21 2009-05-12 Realtek Semiconductor Corp. Microcode updating error handling apparatus and method thereof
US20080052699A1 (en) * 2006-08-02 2008-02-28 Baker Steven T Syncronized dual-processor firmware updates

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075941A (ja) * 1999-09-02 2001-03-23 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータおよびその動作方法
JP2002157139A (ja) * 2000-11-22 2002-05-31 Canon Inc 電子装置、画像読み取り装置、及び不揮発性メモリの書き換え方法
JP2002312302A (ja) * 2001-04-09 2002-10-25 Denso Corp 周辺装置
JP2002344837A (ja) * 2001-05-22 2002-11-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541241A (ja) * 2010-07-30 2013-11-07 アルカテル−ルーセント ネットワークにおけるマルチ・セル・サポートのための装置
JP2020190982A (ja) * 2019-05-23 2020-11-26 未來市股▲ふん▼有限公司 ソフトウェアアップデート方法及び該方法を使用するヘッドマウントディスプレイシステム
US20230401054A1 (en) * 2022-06-13 2023-12-14 Xilinx, Inc. Impactless firmware update
US12020021B2 (en) * 2022-06-13 2024-06-25 Xilinx, Inc. Impactless firmware update

Also Published As

Publication number Publication date
US8082543B2 (en) 2011-12-20
US20080046877A1 (en) 2008-02-21
JP4870047B2 (ja) 2012-02-08

Similar Documents

Publication Publication Date Title
JP4870047B2 (ja) エラーハンドリング及びファームウェア更新を調停するための方法及びシステム
US7134007B2 (en) Method for sharing firmware across heterogeneous processor architectures
US7321947B2 (en) Systems and methods for managing multiple hot plug operations
US8255928B2 (en) Automated termination of selected software applications in response system events
US20060168576A1 (en) Method of updating a computer system to a qualified state prior to installation of an operating system
US7574592B2 (en) Approval process for booting devices in pre-boot execution environment (PXE)
US8234486B2 (en) Managing reboot operations
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
US8898361B2 (en) Systems and methods for advanced interrupt scheduling and priority processing in a storage system environment
US8838952B2 (en) Information processing apparatus with secure boot capability capable of verification of configuration change
WO2021142761A1 (zh) 为芯片打补丁的方法及芯片
US10379931B2 (en) Computer system
US9448888B2 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
US7363632B2 (en) Clientless external storage device
KR101017296B1 (ko) 정보 처리 장치, 에러 통지 프로그램, 에러 통지 방법
JP2006338225A (ja) コンピュータの自動インストール方法
US20070156940A1 (en) Method and system to partition hardware resources between operating systems
US20140101427A1 (en) Automatic update of persistent boot parameter storage
JP2009176139A (ja) Os優先度変更装置及びos優先度変更プログラム
US7366805B2 (en) Data transfer control system, electronic instrument, program, and data transfer control method
GB2443097A (en) Hot plug device with means to initiate a hot plug operation on the device.
JP5797160B2 (ja) 割込み制御装置、割込み制御方法および割込み制御プログラム
JP2003131893A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体
CN117762340A (zh) 一种双核读写方法、装置、设备及存储介质
JPH11265284A (ja) データ処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111003

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111006

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111116

R150 Certificate of patent or registration of utility model

Ref document number: 4870047

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees