[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2005182812A - コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法 - Google Patents

コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法 Download PDF

Info

Publication number
JP2005182812A
JP2005182812A JP2004363819A JP2004363819A JP2005182812A JP 2005182812 A JP2005182812 A JP 2005182812A JP 2004363819 A JP2004363819 A JP 2004363819A JP 2004363819 A JP2004363819 A JP 2004363819A JP 2005182812 A JP2005182812 A JP 2005182812A
Authority
JP
Japan
Prior art keywords
management processing
processing system
host
image file
computer system
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.)
Withdrawn
Application number
JP2004363819A
Other languages
English (en)
Inventor
Ivan Farkas
イヴァン・ファーカス
Peter M Piotrowski
ピーター・エム・ピオトロウスキ
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 JP2005182812A publication Critical patent/JP2005182812A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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

Landscapes

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

Abstract

【課題】コンピュータシステムのコンポーネントにおいて、ファームウェアを更新する改良された方法を提供する。
【解決手段】コンピュータシステム100は、ホスト10とイメージファイル14とを備えるメモリと130、ホスト10を実行するように構成されるプロセッサ110a−110nと、プロセッサ110a−110nに連結された入出力(I/O)コントローラ124と、I/Oコントローラ124に連結され不揮発性メモリ22を備える管理処理システム20とを具備する。ホスト10は、プロセッサ110a−110nに対しイメージファイル14の第1の部分を第1のメモリに格納させるように、プロセッサ110a−110nに対しイメージファイル14を管理処理システム20に提供させるように構成され、管理処理システム20は、イメージファイル14をホスト10から受け取ることに応じてイメージファイルを不揮発性メモリ22に格納する。
【選択図】図2

Description

本発明は、コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法に関する。
コンピュータシステムは、通常、内部に組み込まれたソフトウェアを使用して動作するコンポーネントを有する。
このソフトウェアは、一般にファームウェアとして知られており、コンポーネントに電源が投入される、すなわちオンにされるかまたはリセットされるのに応じて、それらコンポーネントによって実行される命令を含む。
ファームウェアは、コンポーネントに対し、それがコンピュータシステムにおいて他のコンポーネントと動作するのを可能にする初期化およびセットアップ機能を実行する場合がある。
ファームウェアはまた、コンポーネントがその主要な機能を実行することができるようにそのコンポーネントのハードウェアと対話する場合もある。
コンポーネントのメーカは、コンポーネントのファームウェアを改良し続けようと努める場合がある。
ファームウェアを改良することにより、ファームウェアの先のバージョンのバグが修正されるか、もしくは拡張されまたは改良された機能が提供される場合がある。
しかしながら、改良が行われると、新たなファームウェアが有効になるためには、それを既存のコンポーネントにインストールする必要がある。
PCIローカルバス仕様、改訂版2.3(PCI Special Interest Group; 5440 SW Westgate Drive, Suite 217, Portland,OR 97221, USA)
ファームウェアアップグレードをインストールすることは、コンピュータシステムのエンドユーザには難しい作業である可能性がある。
プロセスは複雑化する可能性があり、アップグレードプロセスで発生するエラーが、コンポーネントまたはコンピュータシステム全体さえも動作不能にする可能性がある。
エンドユーザは、通常、コンピュータシステムにおけるファームウェアアップグレードが、それに関連する可能性のあるいかなる問題もないように改良されることを求める。
したがって、コンピュータシステムのエンドユーザに、コンピュータシステムの1つまたは複数のコンポーネントにおいてファームウェアを更新する改良された方法を提供することが望ましい。
例示的な一実施形態によれば、ホストとイメージファイルとを備えるメモリと、ホストを実行するように構成されるプロセッサと、プロセッサに連結された入出力(I/O)コントローラと、I/Oコントローラに連結され不揮発性メモリを備える管理処理システムと、を具備するコンピュータシステムが提供される。
ホストは、プロセッサに対しイメージファイルの第1の部分を第1のメモリに格納させるように構成され、ホストは、プロセッサに対しイメージファイルを管理処理システムに提供させるように構成され、管理処理システムは、イメージファイルをホストから受け取ることに応じてイメージファイルを不揮発性メモリに格納するように構成される。
好ましい実施形態の以下の詳細な説明では、その一部を形成し本発明を実施してもよい特定の実施形態を例示として示す添付図面を参照する。
他の実施形態を利用してもよく、本発明の範囲から逸脱することなく構造上または論理上の変更を行ってもよい、ということを理解すべきである。
したがって、以下の詳細な説明を、限定する意味でとるべきではなく、本発明の範囲を、添付の特許請求の範囲によって規定する。
本開示の一態様では、コンピュータシステムは、コンピュータシステムの入出力(I/O)バスに連結された管理処理システムのファームウェアをアップグレードするシステムおよび方法を提供する。
本システムおよび方法は、一連のメッセージを使用して、ファームウェアアップグレードを含むイメージファイルをホストアプリケーション(本明細書では「ホスト」とも呼ぶ)と管理処理システムとの間で転送することを企図する。
ホストは、オペレーティングシステムがコンピュータシステムによってブートされる前かまたはその後に、コンピュータシステムによって実行される。
本開示の別の態様では、コンピュータシステムは、コンピュータシステムにおけるマスタとスレーブとの間の通信プロトコルを提供する。
マスタおよびスレーブは、共有メモリとドアベルと呼ばれる一対の記憶場所とを使用して互いの間で情報を転送する。
スレーブに情報を提供するために、マスタは、共有メモリに第1の情報を格納し、その後マスタからスレーブへの(master-to slave)ドアベルを設定する。
スレーブは、マスタからスレーブへのドアベルが設定されたことを検出すると、第1の情報にアクセスする。
スレーブは、共有メモリに第2の情報を格納しスレーブからマスタへのドアベルを設定することにより応答する。
マスタは、スレーブからマスタへのドアベルが設定されたことを検出すると第2の情報にアクセスする。
図1は、管理処理システム20のファームウェアをアップグレードするシステム8の実施形態を示すブロック図である。
システム8は、矢印30によって示すように管理処理システム20と通信するホスト10を有する。
ホスト10は、構成ファイル12と1つまたは複数のイメージファイル14とを使用して、管理処理システム20のファームウェアアップグレードを実行するように構成される。
管理処理システム20は、フラッシュメモリ等の不揮発性メモリ(NVM)22を有する。
ホスト10は、コンピュータシステムによって実行可能なソフトウェアを備える。
ホスト10は、コンピュータシステムにより、コンピュータシステムがオペレーティングシステムをブートする前に実行可能であってもその後に実行可能であってもよい。
たとえば、オペレーティングシステムが、拡張可能ファームウェアインタフェース仕様(Extensible Firmware Interface Specification)、バージョン1.10もしくは任意の先のまたは後のバージョンによって提供されるような拡張可能ファームウェアインタフェース(EFI)プロトコルを使用してブートされる前に、ホスト10をアプリケーションとして実行してもよい。
拡張可能ファームウェアインタフェース仕様、バージョン1.10は、2200 Mission College Blvd.、Santa Clara、CA 95052 USAのインテル(Intel)から入手可能である。
また、ホスト10を、中間システムローダ(Intermediate System Loader)(ISL)スタンドアロン環境の下でアプリケーションとして実行してもよい。
ISLは、PA−RISCコンピュータシステム等のコンピュータシステムにおけるファームウェアの実行後に実行されるプログラムである。
ISLは、ユーザがシステムのブートアップ特性に関する情報を取得し、これらの特性を変更し、オペレーティングシステム、ISLベースツールおよびホスト10等のプログラムをロードし実行することができるようにするコマンドラインインタフェースを実施する。
ホスト10を、さらに、オペレーティングシステム下のアプリケーションとして実行してもよい。
ホスト10は、実行されることに応じて、イメージファイル14が構成ファイル12の情報に従って管理処理システム20に提供されるようにする。
構成ファイル12の情報は、イメージファイル14、管理処理システム20にイメージファイル14を提供する順序、着手されるファームウェアアップグレードに対して存在する必要のある可能性がある条件のセット、または管理処理システム20のファームウェアをアップグレードするために使用される可能性のある他の情報を特定するリストを含んでもよい。
イメージファイル14は、各々ファームウェアアップグレードの一部を含む。
その部分を、構成ファイル12によって指示される順序で管理処理システム20に転送してもよい。
管理処理システム20は、イメージファイル14を受け取ることに応じて、イメージファイル14がNVM22に格納されるようにする。
管理処理システム20は、管理処理システム20に含まれるメモリ(図1には示さず)に各イメージファイル14を受け取ってもよく、NVM22にイメージファイル14を格納する前に1つまたは複数の中間メモリ(図1には示さず)に各イメージファイル14を格納してもよい。
構成ファイル12とイメージファイル14とを、図1ではホスト10の一部として示すが、図2に示す実施形態等の他の実施形態では、ホスト10とは別個に格納可能であってもよい。
図2は、図1に示す実施形態を組み込んだコンピュータシステム100の実施形態を示すブロック図である。
コンピュータシステム100は、ハンドヘルド、デスクトップ、ノートブック、モバイル、ワークステーションまたはサーバコンピュータ等、いかなるタイプのコンピュータシステムであってもよい。
コンピュータシステム100は、プロセッサ110a〜110(n)、チップセット120、メモリ130、入出力(I/O)デバイス140のセット、ネットワークデバイス142および管理処理システム20を有する。
コンピュータシステム100は、1つ以上の任意の数のプロセッサを有し、ここでは、1つのプロセッサ110(n)はn番目のプロセッサを指す。
本明細書で使用する「1つのプロセッサ110」は、プロセッサ110a〜110(n)のうちの任意の1つを指し、「プロセッサ110」は、プロセッサ110a〜110(n)のセットを指す。
プロセッサ110は、いかなるタイプまたは数のキャッシュを含んでもよく、またはそれらとともに動作可能であってもよい。
コンピュータシステム100はまた、プロセッサ110のうちの1つまたは複数によって実行可能なオペレーティングシステム(図示せず)を含む。
プロセッサ110のうちの1つまたは複数は、オンにされるかまたはリセットされることに応じて、オペレーティングシステムがブートされ実行されるようにする。
プロセッサ110は、メモリ130を使用してオペレーティングシステムおよび他のプログラムからの命令を実行する。
チップセット120は、システムコントローラ122とI/Oコントローラ124のセットとを有する。
システムコントローラ122は、プロセッサ110、I/Oデバイス140、ネットワークデバイス142および管理処理システム20からの書込みおよび読出しトランザクションそれぞれに応じて、メモリ130に情報を格納しかつメモリ130から情報を読み出すように構成されるメモリコントローラ126を有する。
メモリコントローラ126は、メモリ130から情報を読み出すことに応じて、メモリ130に対しメモリスクラビングまたは他の誤り訂正機能を実行するように構成されたハードウェアおよび/またはソフトウェアを含んでもよい。
I/Oコントローラ124は、1つまたは複数のI/Oデバイス140とネットワークデバイス142と管理処理システム20とを管理するように構成された任意のタイプおよび数のコントローラとバスブリッジとを有してもよい。
I/Oコントローラ124の例には、IDE/ATAコントローラ、SATAコントローラ、PCIコントローラ、SCSIコントローラ、USBコントローラ、IEEE1394(ファイヤワイヤ)コントローラ、PCMCIAコントローラ、パラレルポートコントローラおよびシリアルポートコントローラがある。
一実施形態では、I/Oコントローラ124は、システムコントローラ122に連結された中間バスと、中間バスに連結されたPCIコントローラと、PCIコントローラに連結されたSCSI、IDEおよび他のコントローラと、を含む複数のマイクロチップからなる。
本明細書で使用する「1つのI/Oコントローラ124」は、I/Oコントローラ124における単一のI/Oコントローラを指し、「I/Oコントローラ124」は、I/Oコントローラ124のセットを指す。
メモリ130は、RAM、SRAM、DRAM、SDRAMおよびDDR SDRAM等、メモリコントローラ126によって管理される任意のタイプのメモリを含む。
メモリコントローラ126は、システムファームウェア(図示せず)またはオペレーティングシステムからのコマンドに応じて、ハードドライブまたはCD−ROMドライブ等のI/Oデバイス140かまたはネットワークデバイス142を使用して外部メディア148からメモリ130に情報がロードされるようにしてもよい。
I/Oデバイス140は、I/Oコントローラ124を使用してコンピュータシステム100と通信するように構成された任意のタイプおよび数のデバイスを含んでもよい。
各I/Oデバイス140は、コンピュータシステム100の内部であっても外部であってもよく、I/Oコントローラ124に連結される、マザーボードの拡張スロットまたはコンピュータシステム100を収容するシャシのコネクタにつながってもよい。
本明細書で使用する「1つのI/Oデバイス140」はI/Oデバイス140における単一のI/Oデバイスを指し、「I/Oデバイス140」は、I/Oデバイス140のセットを指す。
ネットワークデバイス142は、コンピュータシステム100が、コンピュータシステム100と他のコンピュータシステムおよび記憶デバイス(図示せず)との間で情報を転送することにより、それら他のコンピュータシステムおよび記憶デバイスと通信するのを可能にするように構成される。
管理処理システム20は、1つのI/Oコントローラ124に連結されたバス150を使用してコンピュータシステム100に連結される。
一実施形態では、1つのI/Oコントローラ124は、PCIコントローラを備え、バス150は、PCIローカルバス仕様、改訂版2.3もしくは任意の先のまたは後の改訂版に従うPCIバスからなる。
PCIローカルバス仕様、改訂版2.3は、5440 SW Westgate Drive、Suite 217、Portland、OR 97221、USAのPCI Special Interest Groupから入手可能である。
他の実施形態では、1つのI/Oコントローラ124は別のタイプのI/Oコントローラからなり、バス150は別のタイプのバスからなる。
管理処理システム20は、管理処理システム20がコンピュータシステム100に関する種々の機能を実行するのを可能にするファームウェア(図示せず)を実行するように構成される。
たとえば、管理処理システム20は、10/100LANポート、モデムポートまたはRS−232コンソールポート等、管理処理システム20の1つまたは複数のネットワーク接続(図示せず)を使用して、リモートユーザ160がコンピュータシステム100内の情報にアクセスすることができるようにするように構成される。
情報には、ステータス情報またはコンピュータシステム100に関連する他のタイプの情報が含まれてもよい。
管理処理システム20はまた、リモートユーザ20が、コンピュータシステム100のシステムコンソール(図示せず)にアクセスすることができるようにしてもよい。
システムコンソールを使用して、コンピュータシステム100のいくつかの設定または機能を制御してもよい。
さらに、管理処理システム20は、リモートユーザ160が外部管理アプリケーションを統合することによりコンピュータシステム100を管理することができるようにし、コンピュータシステム100の環境健全性および障害管理を提供し、セキュリティ機能と他のコンピュータシステム(図示せず)との協調能力とを提供してもよい。
図1を参照して上述したように、ホスト10は、管理処理システム20のファームウェアが構成ファイル12とイメージファイル14とを使用してアップグレードされるようにするように構成される。
図2に示す実施形態では、ホスト10は、メモリ130を使用してプロセッサ110のうちの1つまたは複数によって実行可能である。
ホスト10、構成ファイル12およびイメージファイル14を、コンピュータシステム100によって実行される前にまたはその実行に応じて、ハードディスクドライブ等の内部メディアまたは外部メディア148からアクセスしメモリ130にコピーしてもよい。
ホスト10は、実行されることに応じて、複数のメッセージが管理処理システム20に提供されるようにすることによりイメージファイル14が管理処理システム20に提供されるようにする。
メッセージには、ホスト10の命令に応じて1つまたは複数のプロセッサ110によって作成される制御メッセージおよびデータ転送メッセージが含まれる。
1つまたは複数のプロセッサ110は、メッセージがシステムコントローラ122に提供されるようにし、それによってシステムコントローラ122は、管理処理システム20に連結された1つのI/Oコントローラ124にメッセージを提供する。
そして、その1つのI/Oコントローラ124は、管理処理システム20にメッセージを提供する。
管理処理システム20はまた、その1つのI/Oコントローラ124にメッセージを提供することにより、ホスト10にメッセージを提供する。
その1つのI/Oコントローラ124は、システムコントローラ122にメッセージを提供し、システムコントローラ122は、それによって、プロセッサ110および/またはメモリ130によりホスト10にメッセージを提供する。
図3は、メッセージ300の一実施形態を示すブロック図である。
メッセージ300は、ヘッダ310と本文316とを含む。
ヘッダ310は、タイプ指示子312とID指示子314とを含む。
タイプ指示子312は、メッセージ300が制御メッセージであるかデータ転送メッセージであるかを指示する。
ID指示子314は、メッセージ300のIDを指示する。
制御メッセージは、アップグレード開始IDを含むアップグレード開始メッセージ、アップグレード終了IDを含むアップグレード終了メッセージ、ファイル転送開始IDを含むファイル転送開始メッセージ、ファイル転送終了IDを含む転送終了メッセージ、または応答IDを含む応答メッセージであってもよい。
データ転送メッセージは、送信データIDを含むデータ送信メッセージであってもよい。
アップグレード開始メッセージは、ホスト10がアップグレードプロセスを開始していることを指示するために、ホスト10から管理処理システム20に提供される。
アップグレード開始メッセージは、ダウンロードおよびフラッシュプログラム、ダウンロードおよび比較またはフラッシュのないダウンロードプログラム等、管理処理システム20が行うべき動作を指示するアップグレードモード指示子を含む。
アップグレード終了メッセージは、アップグレードプロセスが完了したことを指示するために、ホスト10から管理処理システム20に提供される。
ファイル転送開始メッセージは、イメージファイル14がホスト10から管理処理システム20に提供されようとしていることを指示するために、ホスト10から管理処理システム20に提供される。
ファイル転送開始メッセージは、セクション、フラッシュアドレス、ファイルサイズ、チェックサムおよび改訂番号等のパラメータを含む。
転送終了メッセージは、イメージファイル14がホスト10から管理処理システム20に提供されたことを指示するために、ホスト10から管理処理システム20に提供される。
応答メッセージは、予測されたメッセージが受け取られたことを指示するために、ホスト10から管理処理システム20に提供されるかまたは管理処理システム20からホスト10に提供される。
応答メッセージは、先のメッセージよってもたらされた動作の結果、たとえば、格納された画像部分、検出されたエラー等を示す完了コードを含む。
データ転送メッセージは、イメージファイル14の一部をホスト10から管理処理システム20に提供するために、ホスト10から管理処理システム20に提供される。
データ送信メッセージは、イメージファイル14の一部とともにデータ送信メッセージの長さ等のパラメータ、チェックサムおよび順序指示子を含む。
図4は、管理処理システム20に情報を転送する方法の一実施形態を示すフローチャートである。
図4に示す方法を、後にさらに詳細に説明するホスト10によって実施してもよい。
図4において、ブロック402に示すようにアップグレードプロセスを開始する。
ホスト10は、アップグレード開始メッセージが生成され管理処理システム20に提供されるようにすることによってアップグレードプロセスを開始する。
ブロック404に示すように、ファイル転送を開始する。
ホスト10は、ファイル転送開始メッセージが生成され管理処理システム20に提供されるようにすることにより、ファイル転送を開始する。
ブロック406に示すように、イメージファイルの一部分を管理処理システム20に提供する。
ホスト10は、その部分を含むデータ送信メッセージが生成され管理処理システム20に提供されるようにすることによりその部分を提供する。
ブロック408に示すように、イメージファイル転送が完了したか否かを判断する。
ホスト10は、イメージファイルのすべての部分が管理処理システム20に提供されたことを検出することに応じて、イメージファイル転送が完了したと判断する。
イメージファイル転送が完了していない場合、イメージファイル転送が完了するまでブロック406および408の機能を繰り返す。
イメージファイル転送が完了した後、ブロック410に示すようにファイル転送を終了する。
ホスト10は、ファイル転送終了メッセージが生成され管理処理システム20に提供されるようにすることによりファイル転送を終了する。
ブロック412に示すように、管理処理システム20から応答が受け取られたか否かを判断する。
ホスト10は、管理処理システム20から応答メッセージを受け取ることに応じて応答が受け取られたと判断する。
応答が受け取られていない場合、タイムアウト状態が発生するまでブロック412の判断を周期的に繰り返す。
応答が受け取られると、ブロック414に示すように、転送すべき別のイメージファイルがあるか否かを判断する。
ホスト10は、構成ファイル12を使用して転送すべき別のイメージファイルがあるか否かを判断する。
転送すべき別のイメージファイルがある場合、ブロック404〜414の機能を繰り返す。
転送すべき別のイメージファイルがない場合、ブロック416に示すようにアップグレードプロセスを終了する。
ホスト10は、アップグレード終了メッセージが生成され管理処理システム20に提供されるようにすることにより、アップグレードプロセスを終了する。
図5は、ホスト10から情報を受け取る方法の一実施形態を示すフローチャートである。
図5に示す方法を、後にさらに詳細に説明するように管理処理システム20によって実施してもよい。
図5において、ブロック502に示すようにアップグレードプロセスが開始したか否かを判断する。
管理処理システム20は、ホスト10からアップグレード開始メッセージを受け取ることに応じて、アップグレードプロセスが開始したと判断する。
アップグレードプロセスが開始していない場合、ブロック502の機能を後に繰り返す。
アップグレードプロセスが開始した場合、ブロック504に示すように応答を提供する。
管理処理システム20は、応答メッセージを生成しその応答メッセージをホスト10に提供することにより、応答を提供する。
ブロック506に示すように、ファイル転送が開始したか否かを判断する。
管理処理システム20は、ホスト10からファイル転送開始メッセージを受け取ることに応じてファイル転送が開始したと判断する。
ファイル転送が開始していない場合、タイムアウト状態が発生するまでブロック506の機能を周期的に繰り返す。
ファイル転送が開始した場合、ブロック508に示すように応答を提供する。
管理処理システム20は、応答メッセージを生成しその応答メッセージをホスト10に提供することにより応答を提供する。
ブロック510に示すように、イメージファイルの一部分が受け取られたか否かを判断する。
管理処理システム20は、ホスト10からのその部分を含むデータ送信メッセージを受け取ることに応じてイメージファイルの一部分が受け取られたと判断する。
イメージファイルの一部分が受け取られていない場合、タイムアウト状態が発生するまで、ブロック510の機能を周期的に繰り返す。
イメージファイルの一部分が受け取られた場合、ブロック512に示すようにその部分を格納する。
管理処理システム20は、管理処理システム20に含まれるメモリにその部分を格納する。
ブロック514に示すように、応答を提供する。
管理処理システム20は、応答メッセージを生成しその応答メッセージをホスト10に提供することにより、応答を提供する。
ブロック516に示すように、ファイル転送が終了したか否かを判断する。
管理処理システム20は、ホスト10からファイル転送終了メッセージを受け取ることに応じてファイル転送が終了したと判断する。
ファイル転送が終了していない場合、後にブロック510の機能を繰り返す。
ファイル転送が終了した場合、ブロック518に示すようにイメージファイルを不揮発性メモリ(NVM)に格納する。
NVM22がフラッシュメモリからなる実施形態では、管理処理システム20は、イメージファイルのフラッシュプログラミングによりNVM22にイメージファイルを格納する。
管理処理システム20は、イメージファイルを格納する前にホスト10によって提供されたチェックサムを検証する。
ブロック520に示すように応答を提供する。
管理処理システム20は、応答メッセージを生成しその応答メッセージをホスト10に提供することによって応答を提供する。
ブロック522に示すように、ファイル転送が開始したか否かを判断する。
管理処理システム20は、ホスト10からファイル転送開始メッセージを受け取ることに応じてファイル転送が開始したと判断する。
ファイル転送が開始した場合、ブロック508の機能を繰り返す。
ファイル転送が開始していない場合、ブロック524に示すようにアップグレードプロセスが終了したか否かを判断する。
管理処理システム20は、ホスト10からアップグレード終了メッセージを受け取ることに応じてアップグレードプロセスが終了したと判断する。
アップグレードプロセスが終了していない場合、タイムアウト状態が発生するまでブロック524の機能を周期的に繰り返す。
アップグレードプロセスが終了した場合、本方法は終了する。
図4および図5の実施形態においてタイムアウトが発生した場合、アップグレードプロセスをキャンセルする。
ホスト10は、後にアップグレードプロセスを再試行してもよい。
図6は、マスタ610とスレーブ620との間で情報を転送し受け取るシステム600の実施形態を示すブロック図である。
システム600は、マスタからスレーブへのドアベル622と、共有メモリ624と、スレーブからマスタへの(slave -to- master)ドアベル626と、を含む。
マスタからスレーブへのドアベル622とスレーブからマスタへのドアベル626とは、各々、記憶場所、たとえばマスタ610およびスレーブ620それぞれによって設定されるように構成されるレジスタを備える。
マスタ610は、マスタからスレーブへのドアベル622を設定し、共有メモリ624に対する読出しおよび書込みを行い、スレーブからマスタへのドアベル626を読み出すように構成される。
スレーブ620は、マスタからスレーブへのドアベル622を読み出し、共有メモリ624に対する読出しおよび書込みを行い、スレーブからマスタへのドアベル626を設定するように構成される。
マスタ610の動作については図7を参照して説明し、スレーブ620の動作については図8を参照して説明する。
図7は、スレーブ620と通信する方法の一実施形態を示すフローチャートである。
図7において、ブロック700に示すように共有メモリ624に書込みを行う。
ブロック702に示すように、マスタからスレーブへのドアベル622を設定する。
マスタ610は、マスタからスレーブへのドアベル622に、既知の値を格納することによりマスタからスレーブへのドアベル622が設定されるようにしてもよい。
ブロック704に示すように、スレーブからマスタへのドアベル626をポーリングする。
マスタ610は、スレーブからマスタへのドアベル626に周期的にアクセスすることにより、スレーブからマスタへのドアベル626がポーリングされるようにしてもよい。
ブロック706に示すように、スレーブからマスタへのドアベル626が設定されているか否かを判断する。
スレーブからマスタへのドアベル626が設定されていない場合、後にブロック704および706の機能を繰り返す。
スレーブからマスタへのドアベル626が設定されている場合、ブロック708に示すように共有メモリ624から読出しを行う。
図8は、マスタ610と通信する方法の一実施形態を示すフローチャートである。
図8において、ブロック800に示すようにマスタからスレーブへのドアベル622をポーリングする。
スレーブ620は、マスタからスレーブへのドアベル622に、周期的にアクセスすることにより、マスタからスレーブへのドアベル622がポーリングされるようにしてもよい。
ブロック802に示すように、マスタからスレーブへのドアベル622が設定されているか否かを判断する。
マスタからスレーブへのドアベル622が設定されていない場合、後にブロック800および802の機能を繰り返す。
マスタからスレーブへのドアベル622が設定されている場合、ブロック804に示すように共有メモリ624から読出しを行う。
ブロック806に示すように、共有メモリ624に書込みを行う。
ブロック808に示すように、スレーブからマスタへのドアベル626を設定する。
スレーブ620は、スレーブからマスタへのドアベル626に既知の値を格納することにより、スレーブからマスタへのドアベル626が設定されるようにしてもよい。
図9は、図6に示す実施形態を図1に示す実施形態に組み込んだシステム900の実施形態を示すブロック図である。
図9において、管理処理システム20は、マスタからスレーブへのドアベル622と、共有メモリ624と、スレーブからマスタへのドアベル626と、を有する。
さらに、ホスト10は、上述したようにマスタ610として動作し、管理処理システム20は、上述したようにスレーブ620として動作する。
一実施形態では、矢印30はPCIバスを表す。
この実施形態では、マスタ610としての機能を果たすホスト10は、PCIディスカバリスキャンを使用して、マスタからスレーブへのドアベル622のアドレスと、共有メモリ624のアドレスおよびサイズと、スレーブからマスタへのドアベル626のアドレスと、を特定する。
共有メモリ624は、PCIアドレス空間にマッピングされる管理処理システム20の主メモリ(図示せず)の一部を含んでもよい。
管理処理システム20は、共有メモリ624のサイズを規定してもよい。
再び図4および図5で説明した機能に戻ると、ホスト10と管理処理システム20とは、図9の実施形態において、イメージファイル14の一部を含むデータ送信メッセージを含むメッセージが共有メモリ624に格納されるようにし、マスタからスレーブへのドアベル622とスレーブからマスタへのドアベル626とをそれぞれ設定することにより、通信する。
管理処理システム20のファームウェアをアップグレードするために、管理処理システム20は、提供されたイメージファイル14の各々をNVM22に格納する。
他の実施形態では、矢印30は、別のタイプのバスまたは通信リンクを表してもよい。
本明細書では特定の実施形態を例示し説明したが、当業者には、示し説明した特定の実施形態の代わりに、本発明の範囲から逸脱することなく種々の代替および/または等価実施態様を用いてもよい、ということが理解されよう。
本出願は、本明細書で論じた特定の実施形態のあらゆる適応または変形を包含するように意図されている。
したがって、本発明は、特許請求の範囲とその等価物とによってのみ限定される、ということが意図されている。
管理処理システムのファームウェアをアップグレードするシステムの一実施形態を示すブロック図である。 図1に示す実施形態を組み込んだコンピュータシステムの一実施形態を示すブロック図である。 メッセージの一実施形態を示すブロック図である。 管理処理システムに情報を転送する方法の一実施形態を示すフローチャートである。 ホストから情報を受け取る方法の一実施形態を示すフローチャートである。 マスタとスレーブとの間で情報を転送し受け取るシステムの一実施形態を示すブロック図である。 スレーブと通信する方法の一実施形態を示すフローチャートである。 マスタと通信する方法の一実施形態を示すフローチャートである。 図6に示す実施形態を組み込んだシステムの一実施形態を示すブロック図である。
符号の説明
10・・・ホスト,
12・・・構成,
14・・・イメージファイル,
20・・・管理処理システム,
22・・・不揮発性メモリ,
100・・・コンピュータシステム,
110・・・プロセッサ,
120・・・チップセット,
122・・・システムコントローラ,
124・・・I/Oコントローラ,
126・・・メモリコントローラ,
130・・・メモリ,
140・・・I/Oデバイス,
142・・・ネットワークデバイス,
148・・・外部メディア,
160・・・リモートユーザ,

Claims (11)

  1. ホスト(10)とイメージファイル(14)とを備えるメモリ(130)と、
    前記ホストを実行するように構成されるプロセッサ(110)と、
    該プロセッサに連結された入出力(I/O)コントローラ(124)と、
    該I/Oコントローラに連結され不揮発性メモリ(22)を備える管理処理システム(20)と、
    を具備するコンピュータシステム(100)であって、
    前記ホストは、前記プロセッサに対し前記イメージファイルを前記管理処理システムに提供させるように構成され、
    前記管理処理システムは、前記イメージファイルを前記ホストから受け取ることに応じて前記イメージファイルを前記不揮発性メモリに格納するように構成される
    コンピュータシステム。
  2. 前記管理処理システムは、
    リモートユーザ(160)が、前記コンピュータシステムにアクセスすることができるようにするように構成されるネットワーク接続
    を備える
    請求項1に記載のコンピュータシステム。
  3. 前記I/Oコントローラと前記管理処理システムとに連結されるPCIバス(150)
    をさらに具備し、
    前記I/Oコントローラは、
    PCIコントローラ
    を含む
    請求項1に記載のコンピュータシステム。
  4. 前記ホストは、オペレーティングシステムが、前記プロセッサによってブートされた後に、前記プロセッサによって実行されるように構成される
    請求項1に記載のコンピュータシステム。
  5. 前記ホストは、オペレーティングシステムが、前記プロセッサによってブートされる前に、前記プロセッサによって実行されるように構成される
    請求項1に記載のコンピュータシステム。
  6. 前記ホストは、
    前記イメージファイルが、管理処理システムに提供されるようにする前に、前記プロセッサに対し前記管理処理システムにファイル転送開始メッセージを提供させるように、
    前記イメージファイルが、前記管理処理システムに提供されるようにした後に、前記プロセッサに対し、前記管理処理システムに前記ファイル転送終了メッセージを提供させる
    ように構成される
    請求項1に記載のコンピュータシステム。
  7. 前記管理処理システムは、前記ファイル転送終了メッセージを受け取ることに応じて、前記イメージファイルを、前記不揮発性メモリに格納するように構成される
    請求項6に記載のコンピュータシステム。
  8. 前記管理処理システムは、前記イメージファイルを、前記不揮発性メモリに格納した後に、前記ホストに対し応答メッセージを提供するように構成される
    請求項7に記載のコンピュータシステム。
  9. 前記イメージファイルは、
    ファームウェア
    を備える
    請求項1に記載のコンピュータシステム。
  10. 前記メモリは、
    構成ファイル(12)
    を備え、
    前記プロセッサは、前記構成ファイルの情報に応じて、前記イメージファイルが前記管理処理システムに提供されるようにするように構成される
    請求項1に記載のコンピュータシステム。
  11. 入出力(I/O)バス(150)に連結された管理処理システム(20)を備えるコンピュータシステム(100)によって実行される方法であって、
    前記I/Oバスを使用して前記管理処理システムに対しアップグレード開始メッセージを提供することと、
    前記I/Oバスを使用して前記管理処理システムに対し第1のファイル転送開始メッセージを提供することと、
    前記I/Oバスを使用して前記管理処理システムに対し第1のイメージファイルを含む第1の複数のデータ送信メッセージを提供することと、
    前記I/Oバスを使用して前記管理処理システムに対し第1のファイル転送終了メッセージを提供することと、
    前記I/Oバスにより前記管理処理システムから、前記第1のイメージファイルが格納されたことを示す第1の応答メッセージを受け取ること
    を含む方法。
JP2004363819A 2003-12-22 2004-12-16 コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法 Withdrawn JP2005182812A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/743,610 US7099967B2 (en) 2003-12-22 2003-12-22 System and method for storing an image file in a computer system

Publications (1)

Publication Number Publication Date
JP2005182812A true JP2005182812A (ja) 2005-07-07

Family

ID=34104860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004363819A Withdrawn JP2005182812A (ja) 2003-12-22 2004-12-16 コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法

Country Status (3)

Country Link
US (1) US7099967B2 (ja)
JP (1) JP2005182812A (ja)
GB (1) GB2409549B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531500A (ja) * 2012-08-29 2015-11-02 マイクロソフト テクノロジー ライセンシング,エルエルシー 安全なファームウェア更新

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316361B2 (en) * 2003-01-09 2012-11-20 Hewlett-Packard Development Company, L.P. Method of enabling a user to update one or more low-level resources of a computer system in a user-friendly manner
US20040230963A1 (en) * 2003-05-12 2004-11-18 Rothman Michael A. Method for updating firmware in an operating system agnostic manner
US7546596B2 (en) * 2004-03-29 2009-06-09 International Business Machines Corporation Non-disruptive method, system and program product for overlaying a first software module with a second software module
US7340642B1 (en) * 2004-04-30 2008-03-04 Network Appliance, Inc. Method and an apparatus to maintain storage devices in a storage system
JP4679943B2 (ja) * 2005-03-23 2011-05-11 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法
US7975084B1 (en) * 2008-02-06 2011-07-05 American Megatrends, Inc. Configuring a host computer using a service processor
US8255616B2 (en) * 2010-01-12 2012-08-28 Freescale Semiconductor, Inc. Non-volatile memory device and method therefor
US8532383B1 (en) * 2010-09-16 2013-09-10 Pixia Corp. Method of processing a viewport within large format imagery
US10635345B2 (en) 2018-08-31 2020-04-28 Micron Technology, Inc. Live firmware activation in a memory system
CN115686164A (zh) * 2021-07-26 2023-02-03 瑞昱半导体股份有限公司 供电端装置、供电系统以及非暂态电脑可读取媒体

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201045A (en) * 1990-11-19 1993-04-06 Ag Communication Systems Corporation Arrangement and method of downloading data to a plurality of destinations in a digital telephone system
IT1254937B (it) 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
GB9713094D0 (en) 1997-06-21 1997-08-27 Philips Electronics Nv Optical disc drive
US6055632A (en) 1997-09-25 2000-04-25 Allen-Bradley Company, Llc Method and apparatus for transferring firmware to a non-volatile memory of a programmable controller system
US6026016A (en) * 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
US6275931B1 (en) 1998-06-22 2001-08-14 Elsag International N.V. Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US6357021B1 (en) 1999-04-14 2002-03-12 Mitsumi Electric Co., Ltd. Method and apparatus for updating firmware
US6188602B1 (en) * 2000-01-25 2001-02-13 Dell Usa, L.P. Mechanism to commit data to a memory device with read-only access
US6816963B1 (en) * 2000-01-31 2004-11-09 Intel Corporation Platform level initialization using an image generated automatically by a remote server based upon description automatically generated and transmitted thereto by a processor-based system
US6601212B1 (en) * 2000-03-29 2003-07-29 Hewlett-Packard Development Company, Lp. Method and apparatus for downloading firmware to a non-volatile memory
US6445316B1 (en) * 2000-09-29 2002-09-03 Intel Corporation Universal impedance control for wide range loaded signals
US6948031B2 (en) * 2000-12-19 2005-09-20 Emc Corporation Methods and apparatus for transferring a data element within a data storage system
TW546586B (en) 2001-11-14 2003-08-11 Via Tech Inc Personal computer peripheral device and initialization method thereof
US7145871B2 (en) 2002-03-02 2006-12-05 At&T Corp. Automatic router configuration based on traffic and service level agreements
US7380113B2 (en) * 2002-05-17 2008-05-27 Xiotech Corporation Method for updating memory resident firmware as a background operation
US6901523B2 (en) * 2002-06-14 2005-05-31 Dell Products L.P. Method and apparatus for information handling system sleep regulation
US6912610B2 (en) * 2003-03-28 2005-06-28 Emulex Design & Manufacturing Corporation Hardware assisted firmware task scheduling and management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531500A (ja) * 2012-08-29 2015-11-02 マイクロソフト テクノロジー ライセンシング,エルエルシー 安全なファームウェア更新

Also Published As

Publication number Publication date
US7099967B2 (en) 2006-08-29
GB2409549B (en) 2007-01-10
GB2409549A (en) 2005-06-29
US20050138615A1 (en) 2005-06-23
GB0427601D0 (en) 2005-01-19

Similar Documents

Publication Publication Date Title
CN110032405B (zh) 系统开机码存储器管理方法、存储器装置与应用其的电子系统
US7908466B2 (en) Method and apparatus for booting a microprocessor system using boot code stored on a serial flash memory array having a random-access interface
EP1938200B1 (en) Initialization of flash storage via an embedded controller
US9454387B2 (en) Method and system for installing portable executable applications
US7017039B2 (en) Method of booting a computer operating system to run from a normally unsupported system device
EP1873638A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
JP2007213571A (ja) 新奇的なメモリアーキテクチャ内の直接メモリアクセスを用いてシステムを起動する方法
EP3518097B1 (en) Firmware updating method and electronic device using the same
US20090006831A1 (en) Methods and apparatuses for configuring add-on hardware to a computing platform
CN101373433A (zh) 更新bios的方法以及使用该方法的电脑与系统
US7099967B2 (en) System and method for storing an image file in a computer system
JP2010500682A (ja) フラッシュメモリアクセス回路
US7958344B2 (en) Method for adjusting set-up default value of bios and mainboard using the same method
US20090006835A1 (en) Electronic device and control method thereof
CN103106086B (zh) 操作系统处理方法以及系统
WO2000067132A1 (en) Combination ata/linear flash memory device
CN110825421B (zh) 一种固件升级方法、系统及可读存储介质
CN100573450C (zh) 在具有与非闪速存储器的系统执行应用程序的方法和设备
US7080243B2 (en) Method and system for comparing firmware images
US7103687B2 (en) System and method for providing an image file in a computer system
US20150033003A1 (en) Host and method of upgrading connection manager of dongles
JP4735765B2 (ja) Linuxプログラム起動システム
CN112667544A (zh) 一种控制主板插槽使能的方法、装置、系统及介质
TWI499978B (zh) A method of transferring data between a working system and a basic input / output system, a recording medium, and a computer program product
CN113448600A (zh) 系统安装方法、装置、上位机及存储介质

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20060714