JP6918994B2 - 情報処理装置および情報処理方法 - Google Patents
情報処理装置および情報処理方法 Download PDFInfo
- Publication number
- JP6918994B2 JP6918994B2 JP2020002207A JP2020002207A JP6918994B2 JP 6918994 B2 JP6918994 B2 JP 6918994B2 JP 2020002207 A JP2020002207 A JP 2020002207A JP 2020002207 A JP2020002207 A JP 2020002207A JP 6918994 B2 JP6918994 B2 JP 6918994B2
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- memory
- ecfw
- cpu
- img
- 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.)
- Active
Links
Images
Description
図1は、本実施形態に係る情報処理装置10の概要を示す説明図である。
情報処理装置10は、コンピュータシステムを備え、ハードウェアとしてPCH11と、フラッシュROM12と、EC14と、を含んで構成される。
PCH(Platform Controller Hub)11は、自部に接続するデバイスとの各種のデータの入出力を制御するためのI/Oコントローラ117を備える。I/Oコントローラ117は、フラッシュROM12と接続するためのSPIフラッシュコントローラ117sを備える。
フラッシュROM(Read Only Memory)12には、ディスクリプタ(Descriptor)の他に、ホストシステム(単に、ホストとも呼ばれる)のBIOS(Basic Input-output System)、プライマリECFW IMG(EC Firmware Image)およびバックアップECFW IMGをフラッシュROM12に記憶可能とする。ディスクリプタは、個々のファームウェアの格納位置を示すコードを含む。
図2は、本実施形態に係る情報処理装置10のハードウェア構成例を示すブロック図である。情報処理装置10は、PCH11、フラッシュROM12、システムメモリ131、LCD133、HDD135、EC14およびキーボード151を含んで構成される。
PCH11は、各種のデータの入出力を制御し、CPU111の機能を支援するチップセットである。PCH11は、CPU111、GPU113、メモリコントローラ115およびI/Oコントローラ117を備える。
これらのデバイスのうち、CPU111、メモリコントローラ115およびシステムメモリ131は、システムデバイスSDを構成する。システムデバイスは、情報処理装置10としての機能の発揮に要するコンピュータシステム(つまり、ホストシステム)を構成する最低限のデバイスである。
メモリコントローラ115は、自部に接続される各種のメモリとのインタフェースを備える。メモリコントローラ115は、例えば、システムメモリ131およびHDD135のそれぞれとの間で各種のデータを入出力する。
LCD(Liquid Crystal Display;液晶ディスプレイ)133は、GPU113から入力される表示データに基づく表示情報を表示する。表示情報は、画像、文字、記号、図形のいずれかまたはこれらの組み合わせを含む。
HDD(Hard Disk Drive)135は、各種のプログラムやデータを保存する補助記憶装置である。保存されるプログラムには、OS、デバイスドライバ、サービス/ユーティリティ(以下、ユーティリティ)、アプリケーションプログラム(以下、アプリ)などが含まれる。HDD135は、電気的に書き換え可能な不揮発性メモリである。
ECFWの修復、再起動に係るランタイムリカバリ(run-time recovery)処理については、後述する。
図3−図9は、それぞれ本実施形態に係るランタイムリカバリ処理を説明するための説明図である。ランタイムリカバリ処理は、EC14のCPU141により実行され、主にFWローダ145fに記述された指令で指示される一連の処理である。
図3に示すように、ランタイムリカバリ処理は、CPU141がECFW IMGの実行中または遅くとも次の再起動前に、例えば、フラッシュROM12に記憶されたプライマリECFW IMGが破損したと判定するときに開始すればよい。ランタイムリカバリ処理は、ステップS102−S112を有し、ステップS102−S112はそれぞれ図4−図9に対応する。なお、図3−図9では、PCH11、CPU141、ブートROM145の図示が省略されている。
(ステップS104)CPU141は、フラッシュROM12からプライマリECFW IMGを読み取り、SRAM143のコード領域143bに記憶(ロード)する。CPU141は、読み取ったプライマリECFW IMGに対して所定の認証処理を行って、その完全性を検証する。CPU141は、認証処理において、例えば、ECDSAを用いることができる。CPU141は、認証処理に失敗するときプライマリECFW IMGが破損していると判定し(図5)、ステップS106の処理に進む。
認証処理に成功するときプライマリECFW IMGが破損していないと判定し、以降のステップの処理に進まずに、プライマリECFW IMGの実行を開始する。
(ステップS108)CPU141は、フラッシュROM12に記憶されたバックアップECFW IMGを消去する(図7)。その後、ステップS110の処理に進む。
(ステップS110)CPU141は、EC14の動作の再起動(リセット)が指示されるとき、またはEC14への電力供給を停止するとき(電源オフ)、揮発性メモリであるSRAM143に記憶されたプライマリECFW IMGが消去される(図8)。その後、ステップS112の処理に進む。
他方、ホストシステムがシャットダウン処理を行った後、CPU141はEC14への電力供給を停止する(電源オフ)。その後、ユーザの操作に応じて起動指示を検出するとき、EC14のCPU141は再起動し、再起動が完了した後、ホストシステムは自システムのブート処理を開始する。
図12は、ホストシステムにおけるBIOSを用いた処理の例を示すフローチャートである。
(ステップS122)PCH11のCPU111は、EC14に再起動の実行指示を通知するよう要求されたか否かを判定する。要求されたと判定する場合(ステップS122 YES)、ステップS124の処理に進む。要求されていないと判定する場合(ステップS122 NO)、ステップS126の処理に進む。
PCH11のCPU111は、再起動を示す操作信号の入力を検出するとき、EC14への再起動の実行指示の通知をBIOSに要求する。PCH11のCPU111は、再起動を示す操作信号の入力を検出するとき、EC14への再起動の実行指示の通知をBIOSに要求する。なお、CPU111は、例えば、シャットダウンを示す操作信号の入力を検出するとき、またはEC14から低電力通知信号(後述)の入力を検出するとき、システム(ホスト)のシャットダウンが指示されたと判定する。
(ステップS126)CPU111は、シャットダウンが指示されたか否かを判定する。シャットダウンが指示されたと判定する場合(ステップS126 YES)、ステップS128の処理に進む。シャットダウンが指示されていないと判定する場合(ステップS128 NO)、ステップS122の処理に戻る。
(ステップS128)CPU111は、システムのシャットダウンをEC14に通知し、自システムのシャットダウンを開始する。その後、図12に示す処理を終了する。
(ステップS142)EC14のCPU141は、PCH11のCPU111から再起動の実行指示を待ち受ける。再起動の実行指示が入力される場合(ステップS142 YES)、ステップS144の処理に進む。再起動の実行指示が入力されない場合(ステップS142 NO)、ステップS148の処理に進む。
(ステップS144)CPU141は、リセットフラグの値を1に設定する。リセットフラグは、シャットダウン後の再起動の要否を示す設定情報である。リセットフラグの値が1とは、シャットダウン後の再起動を示す。リセットフラグの値が0とは、シャットダウン後の再起動を不要とすることを示す。その後、ステップS146の処理に進む。
(ステップS148)CPU141は、PCH11のCPU111からシステムのシャットダウン通知を待ち受ける。シャットダウンが通知される場合(ステップS148 YES)、ステップS150の処理に進む。シャットダウンが通知されない場合(ステップS148 NO)、ステップS142の処理に戻る。
なお、ステップS146、S148におけるシャットダウン通知が、直前にCPU111に出力した低電力通知信号batLow#に応じて出力された信号である場合には、ステップS150の処理が省略されてもよい。これにより、低電力通知信号batLow#の重複が防止される。
(ステップS152)CPU141は、ブートローダの起動を指示し、FWローダに基づくランタイムリカバリ処理の実行を開始させる。CPU141は、再起動直後にリセットフラグの初期値を0と設定する。その後、図13の処理を終了する。
(ステップS162)EC14のCPU141は、ブートローダの起動指示を待ち受ける。起動指示を検出するとき(ステップS162 YES)、ブートローダの起動を開始することで、ブートローダに含まれるFWローダの実行を開始する。その後、ステップS164の処理に進む。起動指示が検出されないとき(ステップS164 NO)、ステップS162の処理を繰り返す。
(ステップS164)CPU141は、SRAM143から読み出したランタイムECFW IMGをフラッシュROM12の予備領域にバックアップECFW IMGとして記憶する。その後、ステップS166の処理に進む。
(ステップS168)CPU141は、ECDSAを用いてプライマリECFW IMGに対して認証処理を行う。その後、ステップS170の処理に進む。
(ステップS170)CPU141は、認証処理に成功したか否かを判定する。認証処理に成功した場合(ステップS170 YES)、ステップS176の処理に進む。認証処理に失敗した場合(ステップS170 NO)、ステップS172の処理に進む。
(ステップS174)CPU141は、フラッシュROM12の予備領域に記憶したバックアップECFW IMGを消去する。その後、ステップS176の処理に進む。
(ステップS178)CPU141は、再起動する。その後、図14に示す処理を終了する。
(ステップS180)CPU141は、シャットダウン処理を行い、処理の完了後、再起動せずに電源オフのまま図14に示す処理を終了する。
この構成により、コンピュータシステムからのアクセスにより第1のファームウェアが損傷して認証に失敗しても、コンピュータシステムからアクセスできないコントローラの動作に用いられていたファームウェアをもって修復される。そのため、コントローラの処理、ひいてはコンピュータシステムの動作が正常に回復する。
この構成により、メモリに記憶された第1のファームウェアの認証の失敗が検出された時点で、メモリに記憶されたコントローラのファームウェアが修復される。そのため、ファームウェアの修復を要しない時点における、無用な修復を回避することができる。
この構成により、シャットダウンまたは再起動の直前に、ランタイムファームウェアをメモリに退避することができる。再起動が完了するまでメモリはコンピュータシステムからアクセスされないため、メモリに退避されたランタイムファームウェアが損傷するリスクを低減することができる。
この構成により、システムメモリに記憶され、認証に失敗したファームウェアを迅速に消去し、修復されたファームウェアを用いた処理を確実に開始することができる。
この構成により、コントローラは、システムメモリのリセット前にコンピュータシステムの起動を制限することができる。そのため、コンピュータシステムの動作によりシステムウェアが損傷するリスクを低減することができる。
この構成により、メモリはコンピュータシステムのファームウェアとコントローラのファームウェアとの間で共用された環境(例えば、シェアドフラッシュ)であっても、コントローラのファームウェアの修復がなされる。そのため、コンピュータシステムとコントローラでメモリを共用することで、ファームウェアのメンテナンスに係る労力を軽減しながら、コントローラのファームウェアの修復を実現することで、情報処理装置10の可用性(availability)を維持することができる。
上記の説明では、情報処理装置10が主にノートPCである場合を例にしたが、これには限られない。情報処理装置10は、デスクトップPC、タブレット端末、スマートフォン、などのいずれの形態で実現されてもよい。
Claims (6)
- コンピュータシステムを備える情報処理装置であって、
第1のファームウェアと第2のファームウェアを記憶可能なメモリと、
ランタイムファームウェアを記憶可能なシステムメモリを有し、ファームウェアの認証および前記ファームウェアを用いた処理を実行可能なコントローラと、
を備え、
前記コントローラは、
前記コンピュータシステムのシャットダウン後、かつ、前記コンピュータシステムが起動する前に、前記ランタイムファームウェアを前記メモリに前記第2のファームウェアとして記憶し、
前記ランタイムファームウェアを前記メモリに記憶する前に、前記コンピュータシステムに当該コンピュータシステムの起動を阻止するための信号を出力し、
前記コンピュータシステムが起動されると前記システムメモリに前記第1のファームウェアをロードして、前記第1のファームウェアを認証し、
前記第1のファームウェアの認証に成功するとき、当該第1のファームウェアを用いた処理を開始し、
前記第1のファームウェアの認証に失敗するとき、前記第2のファームウェアを用いた処理を開始する
情報処理装置。 - 前記コントローラは、
前記第1のファームウェアの認証に失敗するとき、
前記第2のファームウェアが前記第1のファームウェアとして前記メモリに記憶されるように書き換える
請求項1に記載の情報処理装置。 - 前記コントローラは、
前記第1のファームウェアの認証に失敗するとき、
前記コンピュータシステムをシャットダウンまたは再起動し、前記システムメモリから認証に失敗した前記第1のファームウェアを消去し、
再度前記コンピュータシステムが起動された際に、前記システムメモリに書き換えられた前記第1のファームウェアをロードする
請求項2に記載の情報処理装置。 - 前記システムメモリは、揮発性メモリであり、
前記コントローラは、前記システムメモリから認証に失敗した前記第1のファームウェアを消去する際、当該システムメモリへの通電を停止する
請求項3に記載の情報処理装置。 - 前記コントローラと前記メモリを接続するプラットフォームコントローラを備え、
前記メモリは、
前記コンピュータシステムのファームウェアをさらに記憶する
請求項1から請求項4のいずれか一項に記載の情報処理装置。 - コンピュータシステムと、
ランタイムファームウェアを記憶可能なシステムメモリを有し、ファームウェアの認証および前記ファームウェアを用いた処理を実行可能なコントローラと、
第1のファームウェアと第2のファームウェアを記憶可能なメモリと、を備える情報処理装置の情報処理方法であって、
前記コントローラは、
前記コンピュータシステムのシャットダウン後、かつ、前記コンピュータシステムが起動する前に、前記ランタイムファームウェアを前記メモリに前記第2のファームウェアとして記憶する第1のステップと、
前記ランタイムファームウェアを前記メモリに記憶する前に、前記コンピュータシステムに当該コンピュータシステムの起動を阻止する信号を出力する第2のステップと、
前記コンピュータシステムが起動されると前記システムメモリに前記第1のファームウェアをロードして、前記第1のファームウェアを認証する第3のステップと、
前記第1のファームウェアの認証に成功する時、当該第1のファームウェアを用いた処理を開始し、
前記第1のファームウェアの認証に失敗するとき、前記第2のファームウェアを用いた処理を開始する第4のステップと、を有する
情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020002207A JP6918994B2 (ja) | 2020-01-09 | 2020-01-09 | 情報処理装置および情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020002207A JP6918994B2 (ja) | 2020-01-09 | 2020-01-09 | 情報処理装置および情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021111093A JP2021111093A (ja) | 2021-08-02 |
JP6918994B2 true JP6918994B2 (ja) | 2021-08-11 |
Family
ID=77059876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020002207A Active JP6918994B2 (ja) | 2020-01-09 | 2020-01-09 | 情報処理装置および情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6918994B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5084853B2 (ja) * | 2010-02-23 | 2012-11-28 | 三菱電機株式会社 | ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム |
EP2989579B1 (en) * | 2013-04-23 | 2018-06-06 | Hewlett-Packard Development Company, L.P. | Redundant system boot code in a secondary non-volatile memory |
-
2020
- 2020-01-09 JP JP2020002207A patent/JP6918994B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2021111093A (ja) | 2021-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9760461B2 (en) | Electronic device and firmware recovery program that ensure recovery of firmware | |
TWI648652B (zh) | 修復受危害之系統啓動碼之技術 | |
JP6054908B2 (ja) | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ | |
US9424022B2 (en) | Method for updating firmware of an electronic device within a computer | |
JP5889933B2 (ja) | コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ | |
US11157265B2 (en) | Firmware update | |
EP3663910B1 (en) | Boot rom update method and boot-up method of embedded system | |
CN105917306B (zh) | 用于配置系统固件配置数据的系统和方法 | |
JP2015008005A (ja) | セキュア・リカバリ装置及び方法 | |
US8819330B1 (en) | System and method for updating a locally stored recovery image | |
JP2013520744A (ja) | 最小ブートイメージの生成方法及びその装置 | |
US20140304497A1 (en) | Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium | |
US20140149644A1 (en) | Electronic apparatus, method of updating firmware, and computer-readable recording medium | |
US20200310821A1 (en) | Information processing apparatus, control method therefor, and storage medium | |
KR101813641B1 (ko) | 화상형성장치 및 하이버네이션 기능을 갖는 화상형성장치를 부팅하는 방법 | |
TWI515557B (zh) | 電腦系統與控制方法 | |
JP6918994B2 (ja) | 情報処理装置および情報処理方法 | |
CN110825421A (zh) | 一种固件升级方法、系统及可读存储介质 | |
US20230111120A1 (en) | Alternate operating systems | |
JP3702233B2 (ja) | 情報処理システムおよびプログラム実行モード制御方法 | |
JP7011697B1 (ja) | 情報処理装置および情報処理方法 | |
JP7074291B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2022159107A1 (en) | Application security and mobility | |
TW202321912A (zh) | 儲存裝置以及用於韌體影像的啟動激活的方法及物品 | |
JP2020135645A (ja) | 情報処理装置、その制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210416 |
|
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: 20210706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210721 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6918994 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |