JP2015102889A - ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム - Google Patents

ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム Download PDF

Info

Publication number
JP2015102889A
JP2015102889A JP2013240835A JP2013240835A JP2015102889A JP 2015102889 A JP2015102889 A JP 2015102889A JP 2013240835 A JP2013240835 A JP 2013240835A JP 2013240835 A JP2013240835 A JP 2013240835A JP 2015102889 A JP2015102889 A JP 2015102889A
Authority
JP
Japan
Prior art keywords
identification information
old
computer
firmware
electronic device
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.)
Pending
Application number
JP2013240835A
Other languages
English (en)
Inventor
菅原 隆
Takashi Sugawara
隆 菅原
フレデリック アーノルド アラン
Frederick Arnold Allan
フレデリック アーノルド アラン
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2013240835A priority Critical patent/JP2015102889A/ja
Priority to US14/549,899 priority patent/US9424022B2/en
Publication of JP2015102889A publication Critical patent/JP2015102889A/ja
Pending 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
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

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

Abstract

【課題】OSの動作環境下で更新した電子機器のファームウェアをシステムの再起動をしないで使用できるようにする。【解決手段】電子機器のNVRAM105に格納した旧ファームウェア151を電子機器のDRAM107にロードする(B)。コンピュータがパワーオン・状態の間にNVRAMに新識別情報153aを含む新ファームウェア153を書き込む(D)。新ファームウェアの書き込みに応答してDRAMの記憶を維持しながら電子機器のプロセッサをリセットする。DRAMに新識別情報を含む新ファームウェアをロードし、新識別情報を旧識別情報151aで書き換える(D)。コンピュータがパワーオフ状態に移行する前に行われたOS53からの識別情報の要求に応じてDRAMの旧識別情報を返送する(D)。【選択図】図5

Description

本発明は、コンピュータに接続する電子機器のファームウェアをコンピュータがパワーオン状態で更新する技術に関し、さらには、更新したファームウェアをコールド・ブートまたはウォーム・ブートする前に利用できるようにする技術に関する。
コンピュータが実装するハードディスク・ドライブ(HDD)またはソリッド・ステート・ドライブ(SSD)などの電子機器は、不揮発性メモリ(NVRAM)にファームウェアというプログラム・コードを格納する。ファームウェアはデバイスの製造者によって随時更新されるため、ユーザはネットワークまたは記録媒体を通じて取得した新しいファームウェアで古いファームウェアを更新する必要がある。これまでのある更新方法では、ディスク・オペレーティング・システム(DOS)の動作環境を利用していた。また他の更新方法では、オペレーティング・システム(OS)の動作環境下でNVRAMの更新をした後も、次回の再起動まで揮発性メモリ(DRAM)が実行している古いファームウェアの実行を継続しておき、再起動後に新しいファームウェアを実行するようにしていた。
特許文献1は、クライアント・サーバ・システムにおけるサーバのOSを稼働させながら拡張ボード上のファームウェアをアップデートする方法を開示する。特許文献2は、稼働中のシステムのファームウェアを、次のシステム・リセットまで残す必要がある情報を保存しながら、システムを再起動しないで更新する方法を開示する。
特開2001−075810号公報 特開2000−148465号公報
HDDはパワーオン・リセット(ハードウェア・リセット)またはCPUリセット(ソフトウェア・リセット)をしたときにNVRAMに格納するファームウェアを内蔵するDRAMにロードしてCPUが実行できるようにする。OSは、コンピュータがパワーオフ状態からパワーオン状態に移行するためのいわゆるコールド・ブートのプロセスにおいて、コマンドを発行してその時点で装着されている電子機器の識別情報を取得する。
たとえば、OSはIDENTIFY DEVICEというATA(Advanced Technology Attachment)が規定するコマンドを発行してHDDからモデル名、バージョン、更新日、シリアル番号、または容量などのHDDを特定するための情報を取得する。このように電子機器を特定する一群の情報を以後識別情報ということにする。したがって、コンピュータがコールド・ブートを完了した時点でOSは、識別情報で特定される更新前のファームウェアを実装した電子機器が接続されていると認識している。
ユーザは、OSの動作環境下でアプリケーション・プログラムを実行して作業をしている間にHDDの動作が不調になると、ファームウェアの更新をする場合がある。このときユーザにはファームウェアを更新してただちにHDDを利用したいという希望があるため前述のこれまでの2つの更新方法では、この要求を満たすことができない。パワーオン状態でファームウェアが更新されるとHDDはただちに自らCPUリセットをして、更新されたファームウェアをDRAMにロードし実行する。これをアクティベートという。アクティベートされるとHDDは更新されたファームウェアで動作する。
Windows(登録商標)のOSは、パワーオン状態の間にIDENTIFY DEVICEというATAコマンドを発行してコンピュータに装着している電子機器から識別情報を取得する場合がある。ファームウェアが更新された後であればHDDは、ATAコマンドに応答してDRAMにロードされている更新されたファームウェアの識別情報を返送する。OSは受け取った識別情報を、コールド・ブートのプロセスで取得していた更新前の識別情報と比較する。このときOSは両者が一致しないと、新しい電子機器がコールド・ブートを経由しないで動作していると認識して、ブルースクリーンを表示する。
ブルースクリーンは、OSに致命的なエラーが発生したときにシステムを停止させて、青い背景画面に白い文字でエラー・メッセージを表示する画面をいう。ブルースクリーンが表示されると多くの場合に回復のためにユーザが強制的にシャットダウンをする必要があったり、システムが自動的にシャットダウンをしたりする場合がある。いずれにおいてもブルースクリーンが発生すると、それまで保存していなかったデータは消失する。
シャットダウンの後にコールド・ブートをすると、OSはコールド・ブートの間に更新された最新のファームウェアの識別情報を取得する。そして、それ以後はコールド・ブートの間に取得した識別情報とパワーオン状態で取得した識別情報が一致するためブルースクリーンを表示しない。しかし、パワーオン状態で更新したファームウェアをコールド・ブートしないで継続して実行することを許容しないOSの動作環境下でも、パワーオン状態でファームウェアを更新した後にただちに更新されたファームウェアで電子機器を動作させたいというユーザの要求がでてきた。
そこで本発明の目的は、コンピュータがパワーオン状態の間に更新した電子機器のファームウェアをシステムがコールド・ブートをしないで使用できるようにする方法を提供することにある。さらに本発明の目的は、コンピュータがパワーオン状態の間に更新した電子機器のファームウェアをシステムがウォーム・ブートした後も使用できるようにする方法を提供することにある。さらに本発明により、そのような方法を実現する電子機器、コンピュータ、およびコンピュータ・プログラムを提供することができた。
本発明は、パワーオン状態の間に電子機器の旧ファームウェアを更新したコンピュータが、コールド・ブートまたはウォーム・ブートする前にOSが電子機器に識別情報の要求をしてもブルースクリーンを表示させない更新方法を提供する。本発明の第1の態様は、コンピュータに接続された電子機器の不揮発性メモリに格納された旧識別情報を含む旧ファームウェアを電子機器が更新する方法を提供する。
パワーオン状態のコンピュータから新識別情報を含む新ファームウェアを受け取って旧ファームウェアを更新し、旧識別情報を記憶しながら新ファームウェアを実行し、コンピュータがコールド・ブートする前にOSから受け取った識別情報の要求に応答して記憶した旧識別情報を返送する。したがって、コンピュータがパワーオン状態の間にファームウェアを更新した後はコールド・ブートおよびウォーム・ブートをする前に新ファームウェアを実行することができる。
旧識別情報は、新ファームウェアをロードするための揮発性メモリに記憶することができる。旧識別情報は、電子機器の不揮発性メモリに記憶することができる。不揮発性メモリに記憶することで、コンピュータがウォーム・ブートした後にOSから受け取った識別情報の要求に応答して記憶した旧識別情報を返送することができる。したがって、ウォーム・ブート後に更新されたファームウェアを実行してもブルースクリーンは表示されない。新ファームウェアを揮発性メモリにロードしたときに、記憶した旧識別情報で新識別情報を書き換えると、新ファームウェアは新識別情報を返送する場合と同じ手順で返送できるので新ファームウェアが旧識別情報を返送するためのコードの書き換えが不要になる。
本発明の第2の態様では、コンピュータに接続された電子機器の不揮発性メモリに格納された旧識別情報を含む旧ファームウェアをコンピュータが更新する方法を提供する。旧識別情報をコンピュータが記憶し、パワーオン状態のコンピュータが新識別情報を含む新ファームウェアで旧ファームウェアを更新し、コンピュータがコールド・ブートする前にOSが行った識別情報の要求に応答して記憶した旧識別情報を返送する。
旧識別情報は、コンピュータのシステム・メモリに記憶することができる。さらに旧識別情報は、コンピュータの不揮発性メモリに記憶することもできる。この場合、コンピュータがウォーム・ブートした後にOSが行った識別情報の要求に応答して記憶した旧識別情報を返送することができる。また、このとき旧ファームウェアを更新する際にコンピュータが新識別情報を記憶しておけば、さらに新しいファームウェアで更新するときに、当該新識別情報を返送することができる。
コンピュータがコールド・ブートした後にOSが行った識別情報の要求を電子機器に転送し、電子機器から識別情報を受け取ることができる。電子機器がATA(Advanced Technology Attachment)の規格に適合する場合は、識別情報をATAのIDENTIFY DEVICEコマンドに応じて返送するデータとすることができる。電子機器は、ハードディスク・ドライブまたはソリッド・ステート・ドライブとすることができる。
本発明により、コンピュータがパワーオン状態の間に更新した電子機器のファームウェアをシステムがコールド・ブートをしないで使用できるようにする方法を提供することができた。さらに本発明により、コンピュータがパワーオン状態の間に更新した電子機器のファームウェアをシステムがウォーム・ブートしたあとも使用できるようにする方法を提供することができた。さらに本発明により、そのような方法を実現する電子機器、コンピュータ、およびコンピュータ・プログラムを提供することができた。
コンピュータのハードウェア構成の一例を説明するための機能ブロック図である。 コンピュータ10のソフトウェアの構成の一例を説明するための機能ブロック図である。 HDD100の構成を説明するための図である。 ファームウェアによる更新方法を説明するためのフローチャートである。 図4のフローチャートに対応する識別情報の状態を示す図である。 ファームウェアによる他の更新方法を説明するためのフローチャートである。 図6のフローチャートに対応する識別情報の状態を示す図である。 システムによる更新方法を説明するためのソフトウェアの構成の一例を説明するための機能ブロック図である。 システムによるウォーム・ブートをサポートする更新する方法を説明するためのフローチャートである。 図9のフローチャートに対応する識別情報の状態を示す図である。
[コンピュータのパワー・ステート]
図1は、コンピュータ10のハードウェア構成の一例を説明するための機能ブロック図である。図2は、コンピュータ10がHDD100のファームウェアを更新するために機能するソフトウェアの構成を説明するための機能ブロック図である。多くのハードウェアおよびソフトウェアの構成は周知であるため、ここでは本発明の理解に必要な範囲で説明する。最初にコンピュータ10のパワー・ステートについて説明する。コンピュータ10は、ACPI(Advanced Configuration and Power Interface)の省電力機能に対応している。ACPIでは、S1ステートからS4ステートまでの4つのスリーピング状態(省電力状態)、S0ステート(パワーオン状態)、およびS5ステート(パワーオフ状態)を定義している。
ACPIのスリーピング・ステートのなかでコンピュータ10は、一例としてS3ステート(サスペンド状態)とS4ステート(ハイバネーション状態)だけを定義しているが他のスリーピング状態を定義してもよい。パワーオフ状態とスリーピング・ステートのときはCPU11およびHDD100の電源は必ず停止し、再起動の時にパワーオン・リセットが行われる。サスペンド状態では、システム・メモリ13の記憶を保持し、システム・メモリ13の記憶保持とコンピュータ10の電源を起動するのに必要なデバイス以外のデバイスに対する電力を停止する。
ハイバネーション状態は、ACPIでサポートされるスリーピング状態の中で最も起動までの時間が長く、かつ消費電力が少ない状態である。コンピュータ10がパワーオン状態からハイバネーション状態に遷移する際には、OSがHDD100のハイバネーション領域などにシステム・メモリ100が記憶するハイバネーション・データを格納してから電源の起動に必要なデバイス以外のデバイスに対する電力を停止する。
パワーオフ状態はいわゆるソフト・オフともいわれ、OSがハイバネーション・データをHDD100などに格納しない点を除いては基本的に電力を供給するデバイスの範囲はハイバネーション状態と同じである。なお、本発明におけるハイバネーション状態には、OSがサスペンド状態に遷移させてから所定の時間が経過したときにUEFI(Unified Extensible Firmware Interface)が自動的にハイバネーション状態に遷移させるパワー・ステートも含む。この場合は、OSはシステムがサスペンド状態に遷移していると認識するが、実際のパワー・ステートはハイバネーション状態となる。
コンピュータ10は、さらにパワーオン状態のときに、プロセッサの消費電力を極力低減し、かつ、HDD100を含む特定の電子機器をパワーオフ状態に遷移させるランタイムD3またはランタイム・アイドル状態検出というパワー・ステートを採用してもよい。パワーオフ状態とパワーオン状態以外のパワー・ステートが実行されると、ファームウェアが更新された後にHDD100がパワーオン・リセットされ、かつシステムがコールド・ブートしない状態が発生する場合がある。
[コンピュータのハードウェアとソフトウェアの構成]
チップ・セットとして構成されるプラットフォーム・コントロール・ハブ(PCH)17にはCPU11、無線LANモジュール19、HDD100、ファームウェアROM21、オーディオ・デバイス23などの電子機器とエンベデッド・コントローラ(EC)25が接続されている。CPU11にはシステム・メモリ13およびLCD15が接続されている。
PCH17は、さまざまな規格のインターフェース機能を備えており、図1では代表的にSATAコントローラにHDD100が接続され、PCIeコントローラに無線LANモジュール19が接続され、SPIコントローラにファームウェアROM21が接続され、HDMI(登録商標)コントローラにオーディオ・デバイス23が接続されLPCコントローラにEC25が接続されている。
ファームウェアROM21は、不揮発性で記憶内容の電気的な書き替えが可能なメモリで複数のコード群で構成されたUEFI56を格納する。UEFI56はUEFIフォーラムが策定したBIOSに代わってまたはBIOSに加えて使用する新しい仕様のシステム・ファームウェアである。UEFI56は、コンピュータ10がパワーオフ状態またはスリーピング状態からパワーオン状態にレジュームする際に、CPU11がパワーオン・リセットされると必ず最初に実行される。
UEFI56は、レジュームする際に自身のコードに対する改変の有無を検査したり、パスワード認証をしたりデバイスを初期化したりするいわゆるPOSTを実行する。UEFI56はシステムがレジュームするときの遷移元のパワー・ステートに応じてPOSTの内容を変えることができる。たとえば、パワーオフ状態からレジュームする際には、すべてのデバイスからパラメータを取得してインターフェースに設定する完全なPOSTを実行し、ハイバネーション状態からレジュームする際には一部のデバイスのPOSTをOS53に委ねたり以前に設定していたパラメータをインターフェースにリストアしたりしてPOST時間を短縮する。サスペンド状態からレジュームするときは短時間で終了できるようにより簡素なPOSTを実行する。
以後において、システムがパワーオフ状態からレジュームすることをコールド・ブートといい、ハイバネーション状態またはサスペンド状態からレジュームすることをウォーム・ブートという。コールド・ブートはUEFI56が完全なPOSTを実行してからブートするためシステムの安全性および動作の確実性を重点にした起動方法といえ、ウォーム・ブートはコールド・ブートに比べてシステムの安全性や確実性よりもレジューム時間の短縮に重点をおいた起動方法といえる。
OS53はコールド・ブートの間にコンピュータ10に装着されている電子機器の識別情報を取得し、HDD100を含む特定の電子機器が、パワーオフ状態に移行する前に交換されたり、ファームウェアが更新されたりすることを検出したときにブルースクリーンを表示する。OS53は、ファームウェアが更新された特定の電子機器が接続された状態でコールド・ブートが完了したときには、コールド・ブートの間に当該電子機器の識別情報を取得して動作を認める。
PCH17は、ACPIレジスタ31を含む。ACPIレジスタ31はパワーオフ状態およびスリーピング状態の間も電力が供給される。ACPIレジスタ31は、ACPIに規定するSLP_TYPレジスタおよびSLP_ENレジスタに相当する。ACPIレジスタ31はパワーオン状態からパワーオフ状態またはスリーピング状態に遷移する際にOS53により設定される。OS53は、システムがパワーオフ状態またはスリーピング状態に遷移する準備が完了したときにACPIレジスタ31に遷移先のパワー・ステートを設定する。ACPIレジスタ31に遷移先のパワー・ステートが設定されるとPCH17はEC25を通じてコンピュータ10を設定されたパワー・ステートに遷移させる。
UEFI56はパワーオフ状態またはスリーピング状態からレジュームする際にACPIレジスタ31を参照し、遷移元のパワー・ステートに応じてPOSTの実行パスを決定する。UEFI56は、遷移元のパワー・ステートがパワーオフ状態のときにコールド・ブートの実行パスを選択し、サスペンド状態またはハイバネーション状態のときはウォーム・ブートの実行パスを選択する。
EC25は、CPU、ROM、RAMなどで構成されたマイクロ・コンピュータである。EC25は、コンピュータ10の内部の動作環境の管理にかかるプログラムをCPU11とは独立して実行することができる。EC25は、図示しないDC/DCコンバータ、電池パックの充電器、放熱ファンなどの動作を制御する。EC25は、入力コントローラを含み、キーボードやポインティング・デバイスなどの入力デバイス27が接続される。
図2で、更新プログラム51は、OS53のサービスを受けて動作するアプリケーション・プログラムである。更新プログラム51は、DOWLOAD MICROCODEといったATAのコマンドを発行して、WLANモジュール19を通じて受け取ったり、記録媒体を通じて受け取ったりした新ファームウェアでコンピュータ10がパワーオン状態の間にHDD100の旧ファームウェアを更新する。
OS53は、一例としてWindows(登録商標)であるが、本実施の形態で定義するパワーオン更新をしたときにブルースクリーンを表示するOSであれば、これに限定する必要はない。ここにパワーオン更新とは、コンピュータ10がパワーオン状態の間に、HDD100を接続した状態でHDD100のNVRAM105(図3)が格納する旧ファームウェアを新ファームウェアで更新してからコンピュータ10がパワーオフ状態に移行する前にアクティベートすることをいう。更新の際にはNVRAM105の旧ファームウェアを残しても上書きしてもよい。デバイス・ドライバ55は、HDD100の動作を制御するプログラムである。
[HDDの構成]
図3は、HDD100の構成を説明するための図である。図3(A)はHDD100の全体構成を示し、図3(B)はNVRAM105のデータ構造を示している。HDD100は、PCH17に接続するSATAインターフェース101、CPU103、NVRAM105、ファームウェアをロードするDRAM107、CPU103がリセットされたときに最初に実行するマイクロ・コードを格納するROM109、磁気ディスク111、およびサスペンションやスピンドル・モータなどの機械機構113を含んでいる。これらのハードウェアの構造は周知であるため説明は省略する。
磁気ディスク111は、図2に示したプログラムを格納する。HDD100はブート・ドライブでコンピュータ10が起動するときにロードされるブート・ファイルを格納している。NVRAM105のファームウェア領域161には、更新の対象となるファームウェアを構成する識別情報とコード本体が格納される。また、退避領域には、ファームウェアの更新の際に、旧ファームウェアの旧識別情報が格納される。なお、更新の対象となるファームウェアを構成する識別情報とコード本体は、ROM109または磁気ディスク111に格納することもできる。また、本発明によるファームウェアの更新はHDD100に代えてSSDに適用することもできる。
[更新方法1]
つぎに、図4、図5を参照して、HDD100がファームウェアをパワーオン更新する手順を説明する。図4はコンピュータ10の動作手順を示すフローチャートで、図5はNVRAM105、DRAM107およびOS53が保有する識別情報の状態を示すブロック図である。OS53は、識別情報をシステム・メモリ13に記憶する。したがって、OSが保有する識別情報は、システム・メモリ13の電源が停止すると消失する。ただし、ハイバネーション状態に移行する際に消失した識別情報は、レジュームの際に再びシステム・メモリ13に復帰される。
ブロック201では、コンピュータ10がパワーオフ状態で、NVRAM105は過去に更新された旧ファームウェア151を格納している(図5(A))。旧ファームウェア151は、識別情報151aとコード本体151bで構成されている。HDD100がパワーオフ状態であるため、DRAM107にはファームウェアがロードされておらず、また、システム側でもOS53がシステム・メモリ13にロードされていない。
ブロック203で、コンピュータ10に電源を投入するとCPU11がUEFI56を実行してコールド・ブートを開始する。コールド・ブートでは、UEFI56がすべてのデバイスの検出、検査、および構成を行う完全なPOSTを行ってからOSやアプリケーション・プログラムのロードを開始する。ブロック205で電源が投入されたHDD100はパワーオン・リセットをする。パワーオン・リセットしたCPU103は、ROM109のマイクロ・コードを実行して、ブロック207でDRAM107の所定のアドレスに旧ファームウェア151をロードする。
ロードした旧ファームウェア151にCPU103の制御権が渡ると旧ファームウェア151がアクティベートされて実行状態になる。ブートが完了する前に、システム・メモリ13にロードされたOS53はHDD100にIDENTIFY DEVICEコマンドを送る。コマンドを受け取ったコード本体151bは、ブロック209で旧識別情報151aをOS5に返送する(図5(B))。OS53は受け取った旧識別情報151aを、以後、HDD100がパワーオン状態で交換されたか否かを判断するためにシステム・メモリ13に記憶する。ブロック211でブートが終了してシステムはパワーオン状態に遷移する。
この状態では、DRAM107が記憶する識別情報151aとOS53がコールド・ブートの間に取得した識別情報151aが一致するため、コールド・ブートの完了後にOS53がIDENTIFY DEVICEコマンドを発行して識別情報を取得しても、コールド・ブートの際に装着されていたHDD100が変更されていないと認識するため、ブルースクリーンを表示することはない。
ブロック213でユーザが更新プログラム51を実行して、ネットワークまたは記録媒体を通じて取得した新ファームウェア153で旧ファームウェア151を更新する作業を開始する。ブロック215で更新プログラム51は、DOWNLOAD MICROCODEというATAコマンドを発行する。ATAコマンドを受け取ったDRAM107で実行中の旧コード本体151bは、旧識別情報151aをDRAM107の所定のアドレスに退避してから(図5(C))NVRAM105のファームウェア領域161に新ファームウェア153を書き込む。なお、退避と書き込みの順番は逆でもよい。
新ファームウェア153は旧ファームウェア151を上書きするように書き込んでもよいし、旧ファームウェア151を残すように異なる領域に書き込んでもよい(図5(D))。ブロック217で書き込みが終わった旧コード本体153aは、CPU103にリセット信号を送ってCPUリセットを行う。CPUリセットは、パワーオン・リセットとは異なりDRAM107がリセットされないため、DRAM107にロードされた旧ファームウェア151の記憶は維持される。
リセットされたCPU103はブロック219で、ROM109のマイクロ・コードを実行してDRAM107の旧ファームウェア151がロードされていた所定のアドレスに新ファームウェア153をロードする。ロードが完了するとCPU103の制御権が新ファームウェア150bに移ってアクティベートされる。新ファームウェア153の新本体コード153bは、ブロック221でDRAM107の所定のアドレスに退避しておいた旧識別情報151aで新識別情報153aを上書きする。
新識別情報153aを旧識別情報151aで書き換えることにより、新コード本体153bはOS53から識別情報の要求があったときに、新識別情報153aを返送するのと同じ手順で旧識別情報151aを返送することができる。ただし、この例に限らず、新本体コード153bは、DRAM107に退避した旧識別情報151aが記憶されている限り、OS53の要求に対して退避した旧識別情報151aを返送するようにしてもよい。この場合は、DRAM107のリセットの前後で新本体コード153bがOS53に返送する識別情報のアドレスを変更する必要がでてくる。
ブロック223でその後システムがサスペンド状態またはハイバネーション状態に遷移してからレジュームする状態が発生したときはブロック251に移行し、発生しないときはブロック225に移行する。ブロック225でOS53が、HDD100にATAコマンドを送って識別情報を要求する。ATAコマンドを受け取った新コード本体153bは、ブロック227でOS53に旧識別情報151aを返送する(図5(D))。この状態では、OS53が保有する旧識別情報151aと新コード本体153bが返送する旧識別情報151aが一致するため、OS53はコールド・ブート時のHDD100は変更されていないと認識する。
ここで、HDD100は、旧識別情報151aと新コード本体153bからなるファームウェアを実行することになるが、ファームウェアの更新はOS53の動作に影響を与えることがない部分に限って行うことがHDDのメーカによって保証されているためコンピュータ10の動作が不調になることはない。ブロック251では、システムがウォーム・ブートすると、HDD100はパワーオン・リセットされる。
ウォーム・ブートの際にHDD100のDRAM107が記憶しているファームウェアは消失するが、OS53がブロック209で取得した旧識別情報153aは、システム・メモリ13に維持されているかまたはレジュームしたときにリストアされる。ブロック253でパワーオン・リセットしたCPU103は、ROM109のマイクロ・コードを実行して新ファームウェア153をロードする。ブロック255でOS53が識別情報を要求すると、ブロック257で新本体コード153bはOS53に新識別情報153bを返送する。
ブロック259で、OS53が保有する旧識別情報151aと新コード本体153bが返送する新識別情報153aは一致しないため、OS53はコールド・ブート時に認識したHDD100が変更されたと判断してブルースクリーンを表示する(図5(E))。なお、ブロック223では、ウォーム・ブートにだけ言及したが、パワーオン状態でHDD100がパワーオン・リセットされるランタイムD3や、OS53はサスペンド状態に遷移していると認識しているが実際にはハイバネーション状態に遷移しているような他のパワー・ステートからのレジュームについてもウォーム・ブートと同様に処理する。ブロック227またはブロック259に続くブロック203でコードル・ブートが行われると、新ファームウェア153がロードされ(図5(F))、OS53もブート期間中に新識別情報153bを取得する。
[更新方法2]
更新方法1では、ウォーム・ブートに対応することができないが、つぎに、ウォーム・ブートにも対応できる他の更新方法を説明する。図6はコンピュータ10の動作手順を示すフローチャートで、図7はNVRAM105、DRAM107およびOS53が保有する識別情報の状態を示すブロック図である。図6の手順は図4の手順と多くの点で共通するため、異なる点を中心に説明する。図7(A)〜(F)は、図5(A)〜(F)に対応する。
ブロック301では、NVRAM105がファームウェア領域161に過去に更新した旧ファームウェア151を格納し、退避領域163にさらにそれより1回前に更新したファームウェアの旧旧識別情報155aを格納している(図7(A))。ブロック303からブロック313までは、旧旧識別情報155aは関連しないため、図4のブロック203からブロック213までの手順と同じである(図7(B))。ブロック315で更新プログラム51は、DOWNLOAD MICROCODEというATAコマンドを発行する。
ATAコマンドを受け取った実行中の旧コード本体151bは、NVRAM105の退避領域163を旧識別情報151aで上書きし、さらに旧識別情報151aをDRAM107の所定のアドレスに退避してから、ブロック317でシステムから受け取った新ファームウェア153をファームウェア領域161に書き込む(図7(C))。なお、退避領域163は、NVRAM105とは異なる記憶媒体に設けてもよい。また、旧識別情報151aは、NVRAM105の退避領域163にも退避しているため、必ずしもDRAM107には退避しないでもよい。
ブロック319からブロック329までの手順は、図4のブロック217から227までの手順と同じである(図7(D)、(F))。ブロック331では、コールド・ブートが発生しない限りブロック325に戻り、コールド・ブートが発生するとブロック303に戻る。ブロック351でHDD100はパワーオン・リセットされ、ブロック353でROM109のマイクロ・コードがファームウェア領域161に格納された新ファームウェア153をDRAM107にロードする。リセットされたシステムのCPU11は、HDD100の動作と並行してUEFI56を実行しウォーム・ブートを開始する。HDD100のデバイス・ドライバ55は、HDD100がシステムからのアクセスの可能な状態になると、UEFI56にレディ信号を送る。
デバイス・ドライバ55からレディ信号を受け取ったUEFI56はブロック355で、ACPIレジスタ31を参照してウォーム・ブートであることを認識してHDD100にウォーム・ブートを示す所定のコマンドまたはイベント情報を送る。ウォーム・ブートを示すイベント情報を受け取った新ファームウェア153は、ブロック357で退避領域163に退避していた旧識別情報151aを、新識別情報153aを上書きするようにロードする(図7(E))。その結果ブロック359でOS53から、識別情報の要求を受けてもブロック361で新本体コード153bは、旧識別情報151bを返送するため、ブルースクリーンが表示されることはない。更新方法1および更新方法2は、ファームウェアとUEFI56の一部を変更するだけでパワーオン更新の実現ができる。
上記の手順では、新ファームウェア153に更新された後でブロック331からブロック303に戻ったときに、退避領域163には旧識別情報151aが書き込まれている(図7(F))。その結果、ブロック301では、退避領域163に1世代古い旧旧識別情報155aが書き込まれている(図7(A))。この手順に限らず新ファームウェア153は、コールド・ブートが発生したときには、退避領域163を新識別情報153aで書き換えるようにしてもよい。その場合は、ブロック301で退避領域163には旧識別情報151aが書き込まれていることになる。この手順によりコールド・ブートの後は、ファームウェア領域161の識別情報と退避領域163の識別情報は一致するため、ブロック315で行った退避領域163の識別情報の書き換え手順を省くことができる。
[更新方法3]
つぎに図8〜図10を参照して、パワーオン更新をシステム側で実現する方法を説明する。図8は、パワーオン更新を実現するコンピュータ10のソフトウェアの構成を説明する図である。図9はフローチャートで、図10は、システムのNVRAM41およびHDD100のNVRAM105における識別情報の格納状態を示している。図8は図2に対して、デバイス・ドライバ55の下層に中間ドライバ61を設け、さらに中間ドライバ61がアクセスできる、PCH17に接続された不揮発性メモリ(NVRAM)41を設けた点が異なる。なお、OS53およびデバイス・ドライバ55は変更する必要がなく、また、中間ドライバ61はデバイス・ドライバ55とOS53の間に挿入してもよい。
NVRAM41は、フラグ領域42と、2つの格納領域43、45を備えている。フラグ領域42には更新フラグ42aと切換フラグ43a、45aを設定し、格納領域43、45にはHDD100のファームウェアの識別情報を格納する。切換フラグ43a、45aは対応する格納領域43、45が格納する識別情報の相対的な新しさを示す。中間ドライバ61は、更新プログラム51が発行したファームウェアを更新するATAコマンドを検出したときに更新フラグ42aを設定し、ブート期間中にUEFIからコールド・ブートの通知を受け取ったときに更新フラグ42aを解除する。
格納領域43、45は、一方にHDD100のNVRAM105が現在格納しているファームウェアの識別情報を格納し、他方にそれより1回前に更新したファームウェアの識別情報を格納する。中間ドライバ61は、更新フラグ42aを設定する際に、ATAコマンドに続いて送られてくる新ファームウェアの新識別情報を切換フラグが設定されてない格納領域に書き込み、書き込んだ格納領域に対応する切換フラグを設定し、他方の格納領域に対応する切換フラグを解除する。
結果として、相対的に新しい識別情報を格納するいずれかの格納領域43、45に対応する一方の切換フラグ43a、45aだけが設定される。中間ドライバ61は、更新フラグ42aが設定されていないときは、システムとHDD100の間で交換されるコマンドやデータに対しては一切の処理をしないで通過させる。中間ドライバ61は、更新フラグ42aが設定されている間にOSから受け取った識別情報を要求するATAコマンドをHDD100に渡さないで、NVRAM41を参照して自らが返送する。
つぎに、HDD100のファームウェアをシステムがパワーオン更新する方法を図9のフローチャートを参照して説明する。ブロック401では、コンピュータ10がパワーオフ状態のときにHDD100のNVRAM105に、旧ファームウェアが格納されている。格納領域43には旧ファームウェアの識別情報が格納され、格納領域45にはそれより前に更新されたファームウェアの識別情報が格納されているものとする。識別情報の新しさに対応して切換フラグ43aが設定され切換フラグ45aが解除されているが、更新フラグ42aはコールド・ブートの前後で状態が異なる場合があるため不定とする(図10(A))。
ブロック403でシステムは、コールド・ブートを実行してパワーオン状態に遷移する。中間ドライバ61は、UEFI56からコールド・ブートの通知を受け取ると、更新フラグ42aが設定されていれば解除する。ブロック405でOS53が発行した識別情報を取得するためのATAコマンドを検出した中間ドライバ61は、更新フラグ42aが解除されていることを確認して、ブロック451でHDD100にATAコマンドを送る。HDD100が応答して旧識別情報を返送すると、OS53がコールド・ブートの間に取得した識別情報とブート完了後にHDD100から受け取った識別情報が一致するため、ブルースクリーンは表示されない。
ブロック407で更新プログラム51が、ファームウェアの更新を開始する。ブロック409で中間ドライバ61はATAコマンドと新ファームウェアをHDD100に送るが、みずからは、更新を示すATAコマンドを検出すると続いて送られてくる識別情報を切換フラグ45aが解除されている格納領域45に上書きし、切換フラグ43aを解除して切換フラグ45aを設定する。さらに中間ドライバ61は、更新フラグ42aを設定する。
ブロック411で、ATAコマンドを受け取ったHDD100はファームウェアを更新する。格納領域45の識別情報は、HDD100が格納する新ファームウェアの新識別情報に一致する(図10(B))。ブロック413でOS53が識別情報を取得するために発行したATAコマンドを検出した中間ドライバ61は、更新フラグ42aが設定されていることを確認すると、ATAコマンドをHDD100に渡さないで、ブロック453で切換フラグ43aが設定されていない格納領域43の旧識別情報を返送する。コールド・ブートの間にOS53が取得した識別情報とブート完了後にOS53が取得した識別情報が一致するため、ブルースクリーンは表示されない。
ブロック415でシステムがウォーム・ブートを実行する。中間ドライバ61は、ウォーム・ブートのときにはUEFI56からコールド・ブートの通知を受け取らないため、更新フラグ42aを解除しない(図10(C))。したがって、ウォーム・ブートが完了してからOS53がHDD100に識別情報を要求しても中間ドライバ61が応答するためブルースクリーンを表示しない。ブロック419で、再び更新が発生すると、旧識別情報を格納する格納領域43にさらに更新されたファームウェアの識別情報が格納され、切換フラグ43aが設定され、さらに切換フラグ45aが解除される(図10(D))。
以上では、NVRAM41を利用してシステムがパワーオン更新をする方法を説明したが、NVRAM41を使用しないでシステム・メモリ13に更新フラグおよび格納領域を設けて実現することもできる。そして、システム・メモリ13の格納領域には、更新の際にデバイス・ドライバ55から旧識別情報を取得して記憶する。この場合は、更新後にウォーム・ブートが発生してもシステム・メモリ13の記憶は維持されるため、旧識別情報を返送することができる。また、コールド・ブートが発生したときは更新フラグが解除されて識別情報の返送に中間ドライバ61は関与しないが、すでに説明したようにブルースクリーンは表示されない。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10 コンピュータ
41 システムのNVRAM
42a 更新フラグ
43a、45a 切換フラグ
53 OS
55 デバイス・ドライバ
56 UEFI
61 中間ドライバ
100 HDD
105 HDDのNVRAM
107 DRAM
151 旧ファームウェア
151a 旧識別情報
151b 旧本体コード
153 新ファームウェア
153a 新識別情報
153b 新本体コード
161 ファームウェア領域
163 退避領域

Claims (18)

  1. コンピュータに接続された電子機器の不揮発性メモリに格納された旧識別情報を含む旧ファームウェアを前記電子機器が更新する方法であって、
    パワーオン状態の前記コンピュータから新識別情報を含む新ファームウェアを受け取って前記旧ファームウェアを更新するステップと、
    前記旧識別情報を記憶しながら前記新ファームウェアを実行するステップと、
    前記コンピュータがコールド・ブートする前にオペレーティング・システムから受け取った識別情報の要求に応答して前記記憶した旧識別情報を返送するステップと
    を有する方法。
  2. 前記旧識別情報を、前記新ファームウェアをロードするための揮発性メモリに記憶する請求項1に記載の方法。
  3. 前記旧識別情報を前記電子機器の不揮発性メモリに記憶する請求項1に記載の方法。
  4. 前記コンピュータがウォーム・ブートした後に前記オペレーティング・システムから受け取った識別情報の要求に応答して前記記憶した旧識別情報を返送するステップ
    を有する請求項3に記載の方法。
  5. 揮発性メモリにロードした前記新ファームウェアの新識別情報を前記記憶した旧識別情報で書き換えるステップを有する1から請求項4のいずれかに記載の方法。
  6. コンピュータに接続された電子機器の不揮発性メモリに格納された旧識別情報を含む旧ファームウェアを前記コンピュータが更新する方法であって、
    前記旧識別情報を前記コンピュータが記憶するステップと、
    パワーオン状態の前記コンピュータが新識別情報を含む新ファームウェアで前記旧ファームウェアを更新するステップと、
    前記コンピュータがコールド・ブートする前にオペレーティング・システムが行った識別情報の要求に応答して前記記憶した旧識別情報を返送するステップと
    を有する方法。
  7. 前記旧識別情報を前記コンピュータのシステム・メモリに記憶する請求項6に記載の方法。
  8. 前記旧識別情報を前記コンピュータの不揮発性メモリに記憶する請求項6に記載の方法。
  9. 前記コンピュータがウォーム・ブートした後に前記オペレーティング・システムが行った識別情報の要求に応答して前記記憶した旧識別情報を返送するステップ
    を有する請求項6から請求項8のいずれかに記載の方法。
  10. 前記コンピュータがコールド・ブートした後に前記オペレーティング・システムが行った識別情報の要求を前記電子機器に転送するステップと、
    前記電子機器から識別情報を受け取るステップと
    を有する請求項6から請求項9のいずれかに記載の方法。
  11. 前記電子機器がATA(Advanced Technology Attachment)の規格に適合し、前記識別情報がATAのIDENTIFY DEVICEコマンドに応じて返送するデータである請求項1から請求項10のいずれかに記載の方法。
  12. 前記電子機器が、ハードディスク・ドライブまたはソリッド・ステート・ドライブである請求項1から請求項11のいずれかに記載の方法。
  13. コンピュータに接続された旧識別情報を含む旧ファームウェアを実装する電子機器が、前記コンピュータがコールド・ブートする前にオペレーティング・システムから受け取った識別情報の要求に応じて前記旧識別情報を返送するために、前記電子機器に、
    パワーオン状態の前記コンピュータから新識別情報を含む新ファームウェアを受け取って前記旧ファームウェアを更新するステップと、
    前記旧識別情報を前記電子機器に記憶するステップと、
    前記新ファームウェアを前記揮発性メモリにロードするステップと、
    を有する処理を実行させるためのファームウェア。
  14. 前記コンピュータがウォーム・ブートした後に前記オペレーティング・システムから受け取った識別情報の要求に応答して前記旧識別情報を返送するために、前記電子機器に記憶するステップにおいて前記旧識別情報を不揮発性メモリに記憶する請求項13に記載のファームウェア。
  15. 旧識別情報を含む旧ファームウェアを実装する電子機器が接続されたコンピュータに、
    前記旧識別情報を前記コンピュータが記憶するステップと、
    パワーオン状態の前記コンピュータが新識別情報を含む新ファームウェアで前記旧ファームウェアを更新するステップと、
    前記コンピュータがコールド・ブートする前にオペレーティング・システムが行った識別情報の要求に応答して前記記憶した旧識別情報を返送するステップと
    を有する処理をさせるためのコンピュータ・プログラム。
  16. 前記返送するステップにおいて、前記コンピュータがウォーム・ブートした後に前記オペレーティング・システムが行った識別情報の要求に応答して前記記憶した旧識別情報を返送する請求項15に記載のコンピュータ・プログラム。
  17. コンピュータに接続可能な電子機器であって、
    プロセッサと、
    旧識別情報を含む旧ファームウェアを格納する不揮発性メモリと、
    ファームウェアを前記プロセッサが実行するための揮発性メモリとを有し、
    前記旧識別情報を前記揮発性メモリに記憶しながら前記コンピュータから受け取った新ファームウェアで前記旧ファームウェアを更新し、前記揮発性メモリにロードした前記新ファームウェアの識別情報を前記旧識別情報で書き換える電子機器。
  18. 旧識別情報を含む旧ファームウェアを実装する電子機器を接続したコンピュータであって、
    プロセッサと、
    オペレーティング・システムを格納するディスク・ドライブと、
    前記旧識別情報を格納した記憶媒体とを有し、
    新識別情報を含む新ファームウェアで前記旧ファームウェアを更新し、コールド・ブートする前に前記オペレーティング・システムが行った識別情報の要求に応答して前記記録媒体に格納した旧識別情報を返送するコンピュータ。
JP2013240835A 2013-11-21 2013-11-21 ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム Pending JP2015102889A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013240835A JP2015102889A (ja) 2013-11-21 2013-11-21 ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム
US14/549,899 US9424022B2 (en) 2013-11-21 2014-11-21 Method for updating firmware of an electronic device within a computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013240835A JP2015102889A (ja) 2013-11-21 2013-11-21 ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2015102889A true JP2015102889A (ja) 2015-06-04

Family

ID=53174503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013240835A Pending JP2015102889A (ja) 2013-11-21 2013-11-21 ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US9424022B2 (ja)
JP (1) JP2015102889A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170066231A (ko) * 2015-12-04 2017-06-14 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 컴퓨터 시스템 및 그 동작 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6054908B2 (ja) * 2014-05-22 2016-12-27 レノボ・シンガポール・プライベート・リミテッド 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
TWI505078B (zh) * 2014-07-28 2015-10-21 Ibm 系統管理控制器、電腦系統、以及系統管理方法
DE102014118546A1 (de) * 2014-12-12 2016-06-16 Schneider Electric Automation Gmbh Verfahren zum Update von Firmware von Geräten
CN107402753B (zh) * 2017-06-30 2020-11-27 苏州浪潮智能科技有限公司 一种硬盘固件的刷新方法及装置
US11157265B2 (en) * 2017-12-11 2021-10-26 Microsoft Technology Licensing, Llc Firmware update
EP3514686B1 (en) * 2017-12-20 2023-11-08 Samsung Electronics Co., Ltd. Display apparatus and method of operating the same
CN108334426A (zh) * 2018-02-02 2018-07-27 杭州阿姆科技有限公司 一种多ssd/hdd综合测试及远程控制系统及其方法
US11023217B2 (en) * 2018-11-09 2021-06-01 Dell Products L.P. Systems and methods for support of selective processor microcode updates
CN112199238B (zh) * 2020-10-16 2024-05-28 深圳佰维存储科技股份有限公司 存储器固件更新方法、装置、存储介质及电子设备
CN113127029A (zh) * 2021-03-05 2021-07-16 深兰科技(上海)有限公司 固件更新方法、装置、电子设备及存储介质
CN115561622B (zh) * 2022-10-14 2023-10-03 安测半导体技术(江苏)有限公司 一种芯片测试中写入唯一id的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012170521A2 (en) * 2011-06-07 2012-12-13 Lsi Corporation Management of device firmware update effects as seen by a host

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237091B1 (en) 1998-10-29 2001-05-22 Hewlett-Packard Company Method of updating firmware without affecting initialization information
JP2001075810A (ja) 1999-09-03 2001-03-23 Toshiba Corp コンピュータシステム、拡張ボードおよびコンピュータシステムにおける拡張ボードの機能更新方法
US20140059278A1 (en) * 2011-11-14 2014-02-27 Lsi Corporation Storage device firmware and manufacturing software

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012170521A2 (en) * 2011-06-07 2012-12-13 Lsi Corporation Management of device firmware update effects as seen by a host

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170066231A (ko) * 2015-12-04 2017-06-14 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 컴퓨터 시스템 및 그 동작 방법
US10095855B2 (en) 2015-12-04 2018-10-09 Via Alliance Semiconductor Co., Ltd. Computer system and operating method therefor
KR101939442B1 (ko) * 2015-12-04 2019-01-16 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 컴퓨터 시스템 및 그 동작 방법

Also Published As

Publication number Publication date
US9424022B2 (en) 2016-08-23
US20150143098A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
JP2015102889A (ja) ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム
KR101512252B1 (ko) 운영 시스템(os)이 없는 서비스 환경에서 펌웨어를 프로비저닝하는 방법
KR101861724B1 (ko) 사전 부팅 펌웨어 갱신을 위한 선택적인 전력 관리
CN109739563B (zh) 终端的控制方法、装置、系统及存储介质
JP6627180B2 (ja) 改善されたハイブリッドスリープ電力管理のための技術
CN104850435B (zh) 电源管理控制器与方法
JP2002244874A (ja) 情報処理装置およびファームウェア更新方法
JP2012514787A (ja) 不揮発性メモリデバイスを利用するハイバネートまたはサスペンド方法およびシステム
WO2021233363A1 (zh) 计算设备及其bios更新方法和介质
JP2002163045A (ja) コンピュータシステム及びその待機モード制御方法
US9753739B2 (en) Operating system management of second operating system
JP2008287505A (ja) 情報処理装置およびレガシーエミュレーション処理停止制御方法
KR102226558B1 (ko) 맞춤형 통합 확장 펌웨어 인터페이스 드라이버를 설치한 컴퓨터-읽기가능 레코딩 매체 및 그것의 방법
JP2008276555A (ja) 情報処理装置、およびファームウェア更新方法
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
JP2009110428A (ja) 情報処理装置および制御方法
TWI498822B (zh) 可更新基本輸入輸出系統的電子裝置及其基本輸入輸出系統的更新方法
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
JP6192089B2 (ja) 情報処理装置、情報処理装置の制御方法及び制御プログラム
WO2008048581A1 (en) A processing device operation initialization system
JP6775651B1 (ja) 情報処理装置、制御方法、及びプログラム
US20150317181A1 (en) Operating system switching method
JP2003029975A (ja) Os立上げ方法、os立上げシステム及びos立上げのためのプログラム
KR101236981B1 (ko) 히든 영역을 이용한 하이버네이션 부팅 시스템
WO2023141832A1 (zh) 程序更新方法和程序更新装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150330

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150410

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160405