JP6149624B2 - Firmware execution apparatus, firmware execution method, computer program, and computer apparatus - Google Patents

Firmware execution apparatus, firmware execution method, computer program, and computer apparatus Download PDF

Info

Publication number
JP6149624B2
JP6149624B2 JP2013187459A JP2013187459A JP6149624B2 JP 6149624 B2 JP6149624 B2 JP 6149624B2 JP 2013187459 A JP2013187459 A JP 2013187459A JP 2013187459 A JP2013187459 A JP 2013187459A JP 6149624 B2 JP6149624 B2 JP 6149624B2
Authority
JP
Japan
Prior art keywords
firmware
update
information
held
areas
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
Application number
JP2013187459A
Other languages
Japanese (ja)
Other versions
JP2015055917A (en
Inventor
康寛 富田
康寛 富田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013187459A priority Critical patent/JP6149624B2/en
Publication of JP2015055917A publication Critical patent/JP2015055917A/en
Application granted granted Critical
Publication of JP6149624B2 publication Critical patent/JP6149624B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ファームウェアが組み込まれた電子機器において、ファームウェアの実行を制御する技術に関する。   The present invention relates to a technique for controlling execution of firmware in an electronic device in which firmware is incorporated.

多くの電子機器において、ファームウェアの起動時間を高速化することが課題となっている。例えば、BMC(Baseboard Management Controller)を内蔵するサーバ装置では、通電後、サーバ装置が起動できる状態になるまでには、BMCファームウェアの起動が完了する必要がある。したがって、BMCファームウェアの起動時間を短縮することが、通電後のサーバ起動時間を短縮するという性能向上へと繋がる。特に、このようなサーバ装置が、UPS(uninterruptible power supply)により電源管理されているような場合、サーバ装置の起動中に電源供給が断たれた後の通電時には、サーバ起動時間がより短縮されることが望ましい。したがって、このようなサーバ装置では、BMCファームウェアの起動時間の短縮が望まれる。   Many electronic devices have a problem of speeding up the startup time of firmware. For example, in a server device incorporating a BMC (Baseboard Management Controller), it is necessary to complete the activation of the BMC firmware before the server device can be activated after being energized. Therefore, shortening the startup time of the BMC firmware leads to an improvement in performance that shortens the server startup time after energization. In particular, when such a server device is managed by a UPS (uninterruptible power supply), the server startup time is further shortened when power is supplied after the power supply is cut off during the startup of the server device. It is desirable. Therefore, in such a server device, it is desired to shorten the startup time of the BMC firmware.

このような課題に関連する技術が、特許文献1に記載されている。この関連技術では、プロセッサが、システムのレジュームイメージを作成して高速の不揮発性メモリにコピーしてからスリープ状態に入る。そして、プロセッサは、レジューム時に、高速の不揮発性メモリから読み込んだレジュームイメージを用いて起動する。   A technique related to such a problem is described in Patent Document 1. In this related technology, the processor creates a resume image of the system and copies it to high-speed non-volatile memory before entering the sleep state. Then, the processor starts up using the resume image read from the high-speed nonvolatile memory during the resume.

特開2011−508341号公報JP 2011-508341 A

しかしながら、特許文献1に記載された関連技術は、レジュームイメージを保持するための不揮発性メモリを追加で必要としており、コストを増加させるという課題がある。   However, the related technique described in Patent Document 1 requires an additional non-volatile memory for holding a resume image, and there is a problem of increasing costs.

本発明は、上述の課題を解決するためになされたもので、新たなハードウェアを追加することなく、ファームウェアの起動時間を高速化する技術を提供することを目的とする。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a technique for increasing the startup time of firmware without adding new hardware.

本発明のファームウェア実行装置は、ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも2つの領域を有するファームウェア情報保持部と、前記2つの領域に保持されている情報に関する管理情報を保持する管理情報保持部と、前記ファームウェアの実行において作業領域として用いられるメモリと、前記2つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記2つの領域の他方に更新用のファームウェアを表す情報を保持し、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に前記メモリに保持される情報に基づくレジュームイメージを、前記2つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記2つの領域のいずれに保持されているかを前記管理情報として前記管理情報保持部に保持させる更新制御部と、起動時に、前記管理情報に基づいて、前記2つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記2つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する起動制御部と、を備える。   The firmware execution apparatus according to the present invention includes a firmware information holding unit having at least two areas for holding information representing firmware and information representing firmware for updating, and management information relating to information held in the two areas A management information holding unit that holds the memory, a memory used as a work area in the execution of the firmware, and information indicating the firmware held in one of the two areas in response to the firmware update request, The information indicating the firmware for update is held in the other of the two areas, the information indicating the firmware for update is restarted, and the resume image based on the information stored in the memory at the time of restart is stored. The information indicating the firmware before update in the two areas is stored. An update control unit that holds the information indicating the updated firmware and the resume image in which of the two regions is held in the management information holding unit as the management information. At the time of activation, based on the management information, the memory is activated using information representing firmware held in one of the two areas, and the resume image held in the other of the two areas is stored in the memory And an activation control unit that expands to

また、本発明のファームウェア実行方法は、ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも2つの領域を有するファームウェア情報保持部を用いて、前記2つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記2つの領域の他方に更新用のファームウェアを表す情報を保持させ、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に、該ファームウェアの実行において作業領域として用いられるメモリに保持される情報に基づくレジュームイメージを、前記2つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記2つの領域のいずれに保持されているかを管理情報として保持し、起動時に、前記管理情報に基づいて、前記2つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記2つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する。   The firmware execution method of the present invention is held in one of the two areas by using a firmware information holding unit having at least two areas for holding information representing firmware and information representing firmware for update. In response to the firmware update request during execution of the information indicating the updated firmware, the information indicating the firmware for update is held in the other of the two areas, and the restart is performed using the information indicating the firmware for update. When the restart is performed, a resume image based on information held in a memory used as a work area in the execution of the firmware is stored in the area in which the information indicating the firmware before update is held out of the two areas. Information indicating the updated firmware and It is stored as management information in which of the two areas the resume image is stored, and information indicating the firmware stored in one of the two areas is used based on the management information at startup. Upon activation, the resume image held in the other of the two areas is expanded in the memory.

また、本発明のコンピュータ・プログラムは、ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも2つの領域を有するファームウェア情報保持部を用いて、前記2つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記2つの領域の他方に更新用のファームウェアを表す情報を保持させ、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に、該ファームウェアの実行において作業領域として用いられるメモリに保持される情報に基づくレジュームイメージを、前記2つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記2つの領域のいずれに保持されているかを管理情報として保持する更新制御ステップと、起動時に、前記管理情報に基づいて、前記2つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記2つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する起動制御ステップと、をコンピュータ装置に実行させる。   The computer program of the present invention is held in one of the two areas by using a firmware information holding unit having at least two areas for holding information representing firmware and information representing firmware for update. In response to the firmware update request during execution of the information indicating the updated firmware, the information indicating the firmware for update is held in the other of the two areas, and the restart is performed using the information indicating the firmware for update. When the restart is performed, a resume image based on information held in a memory used as a work area in the execution of the firmware is stored in the area in which the information indicating the firmware before update is held out of the two areas. Information indicating the updated firmware and An update control step for holding in which of the two areas the resume image is held as management information, and the firmware held in one of the two areas based on the management information at startup The computer apparatus is activated using information, and the computer apparatus executes an activation control step of expanding the resume image held in the other of the two areas into the memory.

また、本発明のコンピュータ装置は、上述のファームウェア実行装置をベースボード管理装置として含む。   The computer device of the present invention includes the above-described firmware execution device as a baseboard management device.

本発明は、新たなハードウェアを追加することなく、ファームウェアの起動時間を高速化する技術を提供することができる。   The present invention can provide a technique for speeding up the startup time of firmware without adding new hardware.

本発明の実施の形態としてのファームウェア実行装置の機能ブロック図である。It is a functional block diagram of a firmware execution apparatus as an embodiment of the present invention. 本発明の実施の形態としてのファームウェア実行装置のハードウェア構成図である。It is a hardware block diagram of the firmware execution apparatus as embodiment of this invention. 本発明の実施の形態としてのファームウェア実行装置を含むコンピュータ装置の構成を示すブロック図である。It is a block diagram which shows the structure of the computer apparatus containing the firmware execution apparatus as embodiment of this invention. 本発明の実施の形態としてのファームウェア実行装置のファームウェア更新処理を説明するフローチャートである。It is a flowchart explaining the firmware update process of the firmware execution apparatus as embodiment of this invention. 本発明の実施の形態としてのファームウェア実行装置の起動処理を説明するフローチャートである。It is a flowchart explaining the starting process of the firmware execution apparatus as embodiment of this invention.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

本発明の実施の形態としてのファームウェア実行装置1の構成を図1に示す。   FIG. 1 shows the configuration of a firmware execution apparatus 1 as an embodiment of the present invention.

図1において、ファームウェア実行装置1は、ファームウェア情報保持部11と、管理情報保持部12と、メモリ13と、更新制御部14と、起動制御部15とを含む。ここで、ファームウェア実行装置1は、図2に示すように、プロセッサ1001と、揮発性メモリ1002と、2つの領域(BANK−A領域およびBANK−B領域)を有する不揮発性メモリ1003と、不揮発性メモリ1004とによって構成されていてもよい。この場合、ファームウェア情報保持部11は、不揮発性メモリ1003によって構成される。また、管理情報保持部12は、不揮発性メモリ1004によって構成される。また、メモリ13は、揮発性メモリ1002によって構成される。また、更新制御部14および起動制御部15は、不揮発性メモリ1003および不揮発性メモリ1004に記憶されたコンピュータ・プログラム(ファームウェア)および各種データを揮発性メモリ1002に読み込んで実行するプロセッサ1001によって構成される。なお、ファームウェア実行装置1およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。   In FIG. 1, the firmware execution device 1 includes a firmware information holding unit 11, a management information holding unit 12, a memory 13, an update control unit 14, and an activation control unit 15. Here, as shown in FIG. 2, the firmware execution apparatus 1 includes a processor 1001, a volatile memory 1002, a nonvolatile memory 1003 having two areas (BANK-A area and BANK-B area), a nonvolatile memory The memory 1004 may be used. In this case, the firmware information holding unit 11 is configured by the nonvolatile memory 1003. In addition, the management information holding unit 12 is configured by a nonvolatile memory 1004. The memory 13 is configured by a volatile memory 1002. The update control unit 14 and the activation control unit 15 are configured by a processor 1001 that reads a computer program (firmware) and various data stored in the nonvolatile memory 1003 and the nonvolatile memory 1004 into the volatile memory 1002 and executes them. The Note that the hardware configuration of the firmware execution device 1 and each functional block thereof is not limited to the above-described configuration.

例えば、ファームウェア実行装置1は、図3に示すように、コンピュータ装置2に搭載されたベースボード管理装置(BMC:Baseboard Management Controller)であってもよい。ここで、コンピュータ装置2は、プロセッサ2001およびメモリ2002を含む。また、プロセッサ2001は、メモリ2002に保持されたコンピュータ・プログラムおよびデータに基づいてコンピュータ装置2全体の動作を制御する。また、この場合、ファームウェア実行装置1としてのベースボード管理装置は、プロセッサ2001とは独立して動作することにより、コンピュータ装置2のハードウェア要素およびシステム要素を管理する。   For example, the firmware execution device 1 may be a baseboard management device (BMC) installed in the computer device 2 as shown in FIG. Here, the computer apparatus 2 includes a processor 2001 and a memory 2002. Further, the processor 2001 controls the operation of the entire computer apparatus 2 based on the computer program and data held in the memory 2002. In this case, the baseboard management apparatus as the firmware execution apparatus 1 manages the hardware elements and system elements of the computer apparatus 2 by operating independently of the processor 2001.

ファームウェア情報保持部11は、ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも2つの領域を有する。以降、2つの領域を、BANK−A領域およびBANK−B領域とも記載する。なお、ファームウェア情報保持部11は、上述のように、不揮発性のメモリによって構成され、電源供給が断たれても情報を保持可能である。   The firmware information holding unit 11 has at least two areas for holding information representing firmware and information representing firmware for update. Hereinafter, the two areas are also referred to as a BANK-A area and a BANK-B area. Note that the firmware information holding unit 11 is configured by a nonvolatile memory as described above, and can hold information even when power supply is cut off.

管理情報保持部12は、BANK−A領域およびBANK−B領域に保持されている情報に関する管理情報を保持する。管理情報の詳細については後述する。なお、管理情報保持部12は、上述のように、不揮発性のメモリによって構成され、電源供給が断たれても情報を保持可能である。   The management information holding unit 12 holds management information related to information held in the BANK-A area and the BANK-B area. Details of the management information will be described later. As described above, the management information holding unit 12 is configured by a non-volatile memory and can hold information even when power supply is cut off.

メモリ13は、ファームウェアの実行において作業領域として用いられる。   The memory 13 is used as a work area in executing the firmware.

更新制御部14は、BANK−A領域およびBANK−B領域の一方に保持されたファームウェアを表す情報を実行中に、ファームウェアの更新要求があると、次のように動作するよう構成される。具体的には、更新制御部14は、BANK−A領域およびBANK−B領域のうち、現在実行中のファームウェアを保持していない他方に、更新用のファームウェアを表す情報を保持させる。なお、更新制御部14は、図示しないネットワークインタフェース、入力装置、または、記録媒体読込装置等を介して、更新用のファームウェアを表す情報を取得してもよい。そして、更新制御部14は、更新用のファームウェアを表す情報を用いて再起動を行う。また、更新制御部14は、再起動の際にメモリ13に展開される情報に基づくレジュームイメージを、BANK−A領域およびBANK−B領域のうち更新前のファームウェアを表す情報が保持されていた領域に保持する。   The update control unit 14 is configured to operate as follows when there is a firmware update request while executing information representing firmware held in one of the BANK-A area and the BANK-B area. Specifically, the update control unit 14 causes the other of the BANK-A area and the BANK-B area that does not hold the currently executing firmware to hold information indicating the update firmware. Note that the update control unit 14 may acquire information representing firmware for update via a network interface, an input device, a recording medium reading device, or the like (not shown). Then, the update control unit 14 restarts using information representing the firmware for update. In addition, the update control unit 14 stores a resume image based on the information developed in the memory 13 at the time of restarting, in the BANK-A area and the BANK-B area, in which information indicating firmware before update is held. Hold on.

このとき、更新制御部14は、レジュームイメージの保持前に、更新用のファームウェアの動作の正常性を確認する処理を行ってもよい。この場合、更新制御部14は、更新用のファームウェアを表す情報を用いて再起動を行った後、更新後のファームウェアの動作の確認処理を実行する。ここで、確認処理は、例えば、少なくとも再度ファームウェアの更新処理を実施するだけの動作に問題が無いことを検査する処理であってもよい。そして、検査結果により正常性が確認された場合に、更新制御部14は、更新用のファームウェアを用いて再起動を再度行い、再起動の際に前述のレジュームイメージの保持処理を行ってもよい。   At this time, the update control unit 14 may perform processing for confirming the normality of the operation of the update firmware before holding the resume image. In this case, the update control unit 14 performs a confirmation process of the operation of the firmware after the update after restarting using the information representing the firmware for update. Here, the confirmation process may be, for example, a process for inspecting that there is no problem in an operation that at least performs the firmware update process again. Then, when the normality is confirmed by the inspection result, the update control unit 14 may restart again using the update firmware, and may perform the above-described resume image holding process at the time of restart. .

また、更新制御部14は、再起動の際に、ファームウェアのカーネルが起動してメモリイメージがメモリ13上に展開された時点で、メモリ13に展開された情報に基づいてレジュームイメージを作成してもよい。そして、更新制御部14は、作成したレジュームイメージの保持処理を行った後、ファームウェアのランタイム部分を起動して通常運用へと移行してもよい。   The update control unit 14 creates a resume image based on the information developed in the memory 13 when the firmware kernel is activated and the memory image is expanded on the memory 13 at the time of restart. Also good. The update control unit 14 may activate the runtime part of the firmware and shift to normal operation after holding the created resume image.

なお、ファームウェア実行装置1が、コンピュータ装置2に搭載されたベースボード管理装置である場合、更新制御部14は、自装置が搭載されたコンピュータ装置2を起動したまま、自装置を再起動すればよい。   When the firmware execution device 1 is a baseboard management device mounted on the computer device 2, the update control unit 14 may restart the device itself while starting the computer device 2 mounted with the device itself. Good.

また、更新制御部14は、管理情報を管理情報保持部12に保持させる。管理情報は、更新後のファームウェアを表す情報およびレジュームイメージが、それぞれBANK−A領域およびBANK−B領域のいずれに保持されているかを表す情報である。   In addition, the update control unit 14 causes the management information holding unit 12 to hold management information. The management information is information indicating in which one of the BANK-A area and the BANK-B area the information indicating the updated firmware and the resume image are held.

起動制御部15は、起動時に、管理情報に基づいて、BANK−A領域およびBANK−B領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、他方に保持されているレジュームイメージをメモリ13に展開する。これにより、起動制御部15は、カーネルの起動にかかる時間を短縮できる。   The activation control unit 15 is activated using information representing firmware held in one of the BANK-A area and the BANK-B area based on the management information at the time of activation, and the resume image held in the other Is expanded in the memory 13. As a result, the boot control unit 15 can shorten the time required for booting the kernel.

ここで、ファームウェア実行装置1が、通電により起動される装置である場合、起動時とは、ファームウェア実行装置1に対する通電時であってもよい。例えば、ファームウェア実行装置1が、UPSに接続されたコンピュータ装置2に搭載されたベースボード管理装置である場合、起動時とは、コンピュータ装置2に対するUPSからの電源供給が一旦断たれた後に再度電源供給が開始される時点であってもよい。また、例えば、ファームウェア実行装置1が、電源スイッチがオンに操作されることにより起動する装置である場合、起動時とは、電源スイッチがオンに操作された時点であってもよい。また、例えば、起動時とは、ファームウェア実行装置1の再起動時であってもよい。ただし、この場合、上述の更新制御部14による再起動時を除く。   Here, when the firmware execution device 1 is a device that is activated by energization, the activation time may be a time when the firmware execution device 1 is energized. For example, when the firmware execution device 1 is a baseboard management device mounted on the computer device 2 connected to the UPS, the time of startup means that the power supply from the UPS to the computer device 2 is once cut off and then turned on again. It may be the time when the supply is started. Further, for example, when the firmware execution apparatus 1 is an apparatus that is activated when the power switch is turned on, the activation time may be a time point when the power switch is operated on. Further, for example, the start time may be a time when the firmware execution apparatus 1 is restarted. However, in this case, the time of restart by the above-described update control unit 14 is excluded.

以上のように構成されたファームウェア実行装置1の動作について、図4および図5を参照して説明する。なお、ここでは、ファームウェア実行装置1は、既に、BANK−A領域に保持されているファームウェアを実行中であるものとする。   The operation of the firmware execution apparatus 1 configured as described above will be described with reference to FIG. 4 and FIG. Here, it is assumed that the firmware execution apparatus 1 is already executing the firmware held in the BANK-A area.

まず、ファームウェア実行装置1のファームウェア更新処理を図4に示す。   First, the firmware update process of the firmware execution apparatus 1 is shown in FIG.

図4では、まず、更新制御部14は、ファームウェアの更新要求に応じて、更新用のファームウェアを表す情報(ファームウェアイメージ)を、BANK−B領域へ書き込む(ステップS1)。   In FIG. 4, first, the update control unit 14 writes information (firmware image) representing the firmware for update into the BANK-B area in response to a firmware update request (step S1).

次に、更新制御部14は、自装置を再起動させて、BANK−B領域に保持された新しいファームウェアを表す情報から起動する(ステップS2)。   Next, the update control unit 14 restarts its own apparatus and starts from information representing new firmware held in the BANK-B area (step S2).

このとき、更新制御部14は、更新後のファームウェアの再起動完了後、動作の正常性の確認処理を実行してもよい。例えば、前述のように、更新制御部14は、少なくとも再度ファームウェアの更新処理を実施するだけの動作に問題が無いことを確認すればよい。この場合、更新制御部14は、正常性の確認後、再度、自装置を再起動させて、BANK−B領域に保持された新しいファームウェアを表す情報から起動する。   At this time, the update control unit 14 may execute an operation normality confirmation process after the restart of the updated firmware is completed. For example, as described above, the update control unit 14 may confirm that there is no problem in at least the operation of performing the firmware update process again. In this case, after confirming the normality, the update control unit 14 restarts the own apparatus again, and starts from information representing new firmware held in the BANK-B area.

次に、更新制御部14は、メモリ13に展開される情報に基づくレジュームイメージを、BANK−A領域に保持する(ステップS3)。例えば、前述のように、更新制御部14は、ファームウェアのカーネルが起動してメモリイメージがメモリ13上に展開された時点で、メモリ13の内容に基づきレジュームイメージを作成し、BANK−A領域に保持させてもよい。   Next, the update control unit 14 holds a resume image based on the information developed in the memory 13 in the BANK-A area (step S3). For example, as described above, the update control unit 14 creates a resume image based on the contents of the memory 13 when the firmware kernel is activated and the memory image is expanded on the memory 13, and stores it in the BANK-A area. It may be held.

次に、更新制御部14は、ファームウェアを表す情報がBANK−B領域に保持され、レジュームイメージがBANK−A領域に保持されていることを、管理情報として管理情報保持部12に記憶させる(ステップS4)。   Next, the update control unit 14 causes the management information holding unit 12 to store information indicating that the firmware information is held in the BANK-B area and the resume image is held in the BANK-A area as management information (Step S1). S4).

その後、更新制御部14は、ファームウェアのランタイム部分を起動して通常運用へと移る。   Thereafter, the update control unit 14 activates the runtime part of the firmware and shifts to normal operation.

このようにして、ファームウェア情報保持部11のBANK−A領域には、レジュームイメージが保持され、BANK−B領域には、ファームウェアを表す情報が保持された状態となる。   In this way, the resume image is held in the BANK-A area of the firmware information holding unit 11, and the information indicating the firmware is held in the BANK-B area.

以上で、ファームウェア実行装置1の更新処理の説明を終了する。   Above, description of the update process of the firmware execution apparatus 1 is complete | finished.

ここで、ファームウェア実行装置1が一旦その動作を停止し、その後、起動することを想定する。例えば、ファームウェア実行装置1が、UPSに接続されたコンピュータ装置2に搭載されたベースボード管理装置である場合、UPSからの電源供給が一旦断たれ、再度、電源供給が開始されるとする。このとき、ファームウェア情報保持部11のBANK−A領域およびBANK−B領域の内容、および、管理情報保持部12の内容は、電源供給が断たれている間も保持されている。この場合のファームウェア実行装置1の起動処理を、図5に示す。   Here, it is assumed that the firmware execution device 1 once stops its operation and then starts up. For example, when the firmware execution apparatus 1 is a baseboard management apparatus mounted on the computer apparatus 2 connected to the UPS, it is assumed that the power supply from the UPS is temporarily stopped and the power supply is started again. At this time, the contents of the BANK-A area and the BANK-B area of the firmware information holding unit 11 and the contents of the management information holding unit 12 are held even while the power supply is cut off. The startup process of the firmware execution apparatus 1 in this case is shown in FIG.

図5では、まず、起動制御部15は、管理情報保持部12を参照することにより、BANK−B領域に保持されたファームウェアを表す情報を用いて、自装置を起動する(ステップS11)。   In FIG. 5, first, the activation control unit 15 refers to the management information holding unit 12 and activates its own apparatus using information representing firmware held in the BANK-B area (step S <b> 11).

次に、起動制御部15は、BANK−A領域に保持されたレジュームイメージを、メモリ13上に展開する(ステップS12)。   Next, the activation control unit 15 expands the resume image held in the BANK-A area on the memory 13 (step S12).

その後、起動制御部15は、ファームウェアのランタイム部分を起動して通常運用へと移る。   Thereafter, the activation control unit 15 activates the runtime part of the firmware and shifts to normal operation.

以上で、ファームウェア実行装置1の起動処理の説明を終了する。   Above, description of the starting process of the firmware execution apparatus 1 is complete | finished.

この後、さらに、ファームウェアの更新要求があった場合、ファームウェア実行装置1は、図4に示した更新処理の説明において、BANK−A領域をBANK−B領域と読み替え、BANK−B領域をBANK−A領域と読み替えることにより、同様に更新処理を実行する。その後、さらに、ファームウェア実行装置1の動作が一旦停止しその後起動する場合、ファームウェア実行装置1は、図5に示した起動処理の説明において、BANK−A領域をBANK−B領域と読み替え、BANK−B領域をBANK−A領域と読み替えることにより、同様に起動処理を実行する。   Thereafter, when there is a further firmware update request, the firmware execution device 1 replaces the BANK-A area with the BANK-B area and replaces the BANK-B area with the BANK- in the description of the update process shown in FIG. By rereading as the A area, the update process is executed in the same manner. Thereafter, when the operation of the firmware execution device 1 is once stopped and then started, the firmware execution device 1 replaces the BANK-A area with the BANK-B area in the description of the startup process shown in FIG. Similarly, the activation process is executed by replacing the B area with the BANK-A area.

次に、本発明の実施の形態の効果について述べる。   Next, effects of the embodiment of the present invention will be described.

本発明の実施の形態としてのファームウェア実行装置は、新たなハードウェアを追加することなく、ファームウェアの起動時間を高速化することができる。   The firmware execution apparatus according to the embodiment of the present invention can speed up the startup time of firmware without adding new hardware.

その理由は、不揮発性のファームウェア情報保持部に含まれる2つの領域の一方に保持されているファームウェアを実行中にファームウェアの更新要求があると、更新制御部が、2つの領域のうち、現在実行中のファームウェアを保持していない他方に更新用のファームウェアを表す情報を保持させ、更新後のファームウェアを表す情報を用いて自装置を再起動した後、メモリに展開される情報に基づくレジュームイメージを、2つの領域のうち、更新前のファームウェアを表す情報が保持されていた領域に保持させるとともに、ファームウェアを表す情報およびレジュームイメージのそれぞれが2つの領域のいずれに保持されているかを表す管理情報を、不揮発性の管理情報保持部に保持させるからである。そして、起動制御部が、起動時に、管理情報保持部に記憶された管理情報に基づいて、2つの領域の一方に保持されたファームウェアを表す情報を用いて起動し、他方に保持されたレジュームイメージをメモリ上に展開するからである。   The reason is that if there is a firmware update request while executing firmware held in one of the two areas included in the non-volatile firmware information holding unit, the update control unit executes the current one of the two areas. The information indicating the firmware for update is held on the other side that does not hold the firmware, and the device is restarted using the information indicating the updated firmware, and then the resume image based on the information developed in the memory is displayed. Management information indicating which of the two areas each of the information indicating the firmware and the resume image is held in the area where the information indicating the firmware before the update is held among the two areas. This is because it is held in the nonvolatile management information holding unit. Then, at the time of activation, the activation control unit is activated using information representing firmware held in one of the two areas based on the management information stored in the management information holding unit, and the resume image held in the other This is because it is expanded on the memory.

これにより、ファームウェア実行装置は、起動時に、カーネルの起動にかかる時間を短縮することができ、起動時間を高速化できる。しかも、ファームウェア実行装置は、ファームウェア情報保持部において更新用のファームウェアを保持するために用意されている待機系領域を、レジューム用のイメージデータを保持する領域として併用するので、レジュームイメージを保持するための新たな不揮発性メモリ等のハードウェアを追加する必要がない。このように、本実施の形態は、ファームウェア更新用に冗長なファームウェア保持領域をすでに設けているハードウェア構成であれば、新たなハードウェアを追加することなく、レジュームイメージからの復帰機能をサポートすることができる。したがって、本実施の形態は、コストを増加させることなく、起動時間をより短縮することができる。   As a result, the firmware execution device can reduce the time required to start the kernel at the time of startup, and can speed up the startup time. In addition, the firmware execution device uses the standby area prepared for holding the firmware for update in the firmware information holding unit as the area for holding the image data for resume, so that the resume image is held. There is no need to add hardware such as a new nonvolatile memory. As described above, this embodiment supports the resume function from the resume image without adding new hardware if the hardware configuration already has a redundant firmware holding area for firmware update. be able to. Therefore, this embodiment can further shorten the activation time without increasing the cost.

なお、本実施の形態は、ファームウェア情報保持部の待機系領域を、レジュームイメージの保持場所として併用することにより、平常時におけるファームウェアイメージ二重化をサポートしない。ここで、ファームウェアイメージ二重化とは、現行のファームウェアイメージに加えて、更新前のファームウェアイメージを保持している状態をいうものとする。しかしながら、ファームウェアイメージに問題が発生して元のイメージに戻さなければならなくなる状況は、ファームウェアの更新を行なった前後で発生するケースがほとんどである。そこで、本実施の形態は、ファームウェアイメージ二重化が必要とされる期間では、二重化を維持することができる。   Note that this embodiment does not support duplexing of firmware images in normal times by using the standby area of the firmware information holding unit together as a holding place for the resume image. Here, “duplicate firmware image” means a state in which a firmware image before update is held in addition to the current firmware image. However, the situation where a problem occurs in the firmware image and the image must be restored to the original image is almost always generated before and after the firmware update. Therefore, the present embodiment can maintain duplexing in a period where duplexing of firmware images is required.

その理由は、更新制御部が、更新後のファームウェアを用いて再起動後、更新後のファームウェアの動作の正常性を確認してから、レジュームイメージを、更新前のファームウェアを表す情報が保持されていた領域に保持させるからである。これにより、本実施の形態は、更新用のファームウェアを表す情報をファームウェア情報保持部の一方に保持させてから、更新後のファームウェアの動作の正常性を確認するまでの間は、更新前および更新後の双方のファームウェアを表す情報を保持することになる。このように、本実施の形態は、ファームウェア更新前後では、更新前および更新後の双方のファームウェアを表す情報を保持することができ、平常時においてファームウェアイメージの二重化をサポートしていなくても問題ない。   The reason is that after the update control unit restarts using the updated firmware and confirms the normal operation of the updated firmware, the resume image is stored with information indicating the firmware before the update. This is because it is held in the area. As a result, in the present embodiment, the information indicating the firmware for update is held in one of the firmware information holding units and the normality of the operation of the firmware after the update is confirmed before and after the update. Information representing both later firmwares is held. As described above, the present embodiment can hold information representing both pre-update and post-update firmware before and after the firmware update, and there is no problem even if the duplex firmware image is not supported in normal times. .

また、本実施の形態において、更新制御部は、ファームウェア情報保持部の2つの領域の1つに保持させるレジュームイメージを、カーネル起動後のメモリの内容に基づき作成する例について説明した。この他、更新後のファームウェアを表す情報に、既成のレジュームイメージが含まれているケースが考えられる。このような場合、更新制御部は、更新後のファームウェアを表す情報に含まれる既成のレジュームイメージを、更新前のファームウェアを表す情報が保持されていた領域に保持させてもよい。これにより、本実施の形態は、レジュームイメージを作成する処理を省略することができ、更新処理にかかる時間を短縮することができる。   Further, in the present embodiment, an example has been described in which the update control unit creates a resume image to be held in one of the two areas of the firmware information holding unit based on the contents of the memory after kernel startup. In addition, there may be a case where the information indicating the updated firmware includes a ready-made resume image. In such a case, the update control unit may hold the ready-made resume image included in the information indicating the updated firmware in the area where the information indicating the firmware before the update is held. Thereby, this embodiment can omit the process of creating the resume image, and can shorten the time required for the update process.

また、上述した本発明の実施の形態において、ファームウェア実行装置が、ベースボード管理装置としてコンピュータ装置に搭載されている例を説明したが、これに限らず、本発明のファームウェア実行装置は、ファームウェアにより動作する各種の電子機器に適用可能である。   Further, in the above-described embodiment of the present invention, the example in which the firmware execution device is mounted on the computer device as the baseboard management device has been described. However, the present invention is not limited thereto, and the firmware execution device of the present invention is based on firmware. It can be applied to various electronic devices that operate.

また、上述した本発明の実施の形態において、各フローチャートを参照して説明したファームウェア実行装置の動作を、本発明のコンピュータ・プログラムとして記憶媒体に格納しておき、係るコンピュータ・プログラムをプロセッサが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。   In the embodiment of the present invention described above, the operation of the firmware execution apparatus described with reference to each flowchart is stored in a storage medium as the computer program of the present invention, and the processor reads the computer program. May be executed. In such a case, the present invention is constituted by the code of the computer program or a storage medium.

また、その場合、本発明のコンピュータ・プログラムは、本発明におけるファームウェアの一部として実現されていてもよい。   In this case, the computer program of the present invention may be realized as a part of firmware in the present invention.

また、本発明は、上述した実施の形態に限定されず、様々な態様で実施されることが可能である。   Further, the present invention is not limited to the above-described embodiment, and can be implemented in various modes.

1 ファームウェア実行装置
2 コンピュータ装置
11 ファームウェア情報保持部
12 管理情報保持部
13 メモリ
14 更新制御部
15 起動制御部
1001 プロセッサ
1002 揮発性メモリ
1003、1004 不揮発性メモリ
DESCRIPTION OF SYMBOLS 1 Firmware execution apparatus 2 Computer apparatus 11 Firmware information holding part 12 Management information holding part 13 Memory 14 Update control part 15 Startup control part 1001 Processor 1002 Volatile memory 1003, 1004 Nonvolatile memory

Claims (9)

ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも2つの領域を有するファームウェア情報保持部と、
前記2つの領域に保持されている情報に関する管理情報を保持する管理情報保持部と、
前記ファームウェアの実行において作業領域として用いられるメモリと、
前記2つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記2つの領域の他方に更新用のファームウェアを表す情報を保持し、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に前記メモリに保持される情報に基づくレジュームイメージを、前記2つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記2つの領域のいずれに保持されているかを前記管理情報として前記管理情報保持部に保持させる更新制御部と、
起動時に、前記管理情報に基づいて、前記2つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記2つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する起動制御部と、
を備えたファームウェア実行装置。
A firmware information holding unit having at least two areas for holding information representing firmware and information representing firmware for update;
A management information holding unit for holding management information related to information held in the two areas;
A memory used as a work area in the execution of the firmware;
In response to the firmware update request during execution of information representing firmware held in one of the two areas, information representing update firmware is held in the other of the two areas, and the update firmware Is restarted using the information indicating the information, and the resume image based on the information stored in the memory at the time of restarting is transferred to the area in which the information indicating the firmware before the update is stored in the two areas. An update control unit that holds the information indicating the updated firmware and which of the two resume images is held in the management information holding unit as the management information;
At the time of activation, based on the management information, activation is performed using information representing firmware held in one of the two areas, and the resume image held in the other of the two areas is stored in the memory. A startup control unit to deploy;
A firmware execution device comprising:
前記更新制御部は、前記更新用のファームウェアを表す情報を用いて再起動を行った後、前記更新用のファームウェアの動作の正常性を確認する処理を行ってから、前記更新用のファームウェアを表す情報を用いて再起動を再度行い、該再起動の際に前記レジュームイメージを前記領域に保持することを特徴とする請求項1に記載のファームウェア実行装置。   The update control unit represents the update firmware after performing a process of confirming the normality of the operation of the update firmware after restarting using the information indicating the update firmware. The firmware execution apparatus according to claim 1, wherein restart is performed again using information, and the resume image is held in the area at the time of the restart. 前記更新制御部は、前記更新用のファームウェアを表す情報に前記レジュームイメージが含まれるとき、該レジュームイメージを前記領域に保持することを特徴とする請求項1または請求項2に記載のファームウェア実行装置。   The firmware execution apparatus according to claim 1, wherein the update control unit holds the resume image in the area when the resume image is included in the information representing the firmware for update. . ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも2つの領域を有するファームウェア情報保持部を用いて、
前記2つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記2つの領域の他方に更新用のファームウェアを表す情報を保持させ、
前記更新用のファームウェアを表す情報を用いて再起動を行い、
再起動の際に、該ファームウェアの実行において作業領域として用いられるメモリに保持される情報に基づくレジュームイメージを、前記2つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、
更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記2つの領域のいずれに保持されているかを管理情報として保持し、
起動時に、前記管理情報に基づいて、前記2つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記2つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する、ファームウェア実行方法。
Using a firmware information holding unit having at least two areas for holding information representing firmware and information representing firmware for update,
In response to an update request for the firmware during execution of information representing firmware held in one of the two areas, information representing firmware for update is held in the other of the two areas,
Reboot using information representing the firmware for the update,
When restarting, a resume image based on information held in a memory used as a work area in execution of the firmware is held in an area where information representing the firmware before update is held in the two areas. And
Information indicating the firmware after the update and which of the two areas the resume image is stored as management information,
At the time of activation, based on the management information, activation is performed using information representing firmware held in one of the two areas, and the resume image held in the other of the two areas is stored in the memory. The firmware execution method to deploy.
前記更新用のファームウェアを表す情報を用いて再起動を行った後、前記更新用のファームウェアの動作の正常性を確認する処理を行ってから、前記更新用のファームウェアを表す情報を用いて再起動を再度行い、該再起動の際に前記レジュームイメージを前記領域に保持することを特徴とする請求項4に記載のファームウェア実行方法。   After restarting using the information representing the update firmware, the process is performed to check the normality of the operation of the update firmware, and then rebooting using the information representing the update firmware 5. The firmware execution method according to claim 4, wherein the resume image is held in the area at the time of restart. ファームウェアを表す情報および更新用のファームウェアを表す情報を保持するための少なくとも2つの領域を有するファームウェア情報保持部を用いて、
前記2つの領域の一方に保持されたファームウェアを表す情報を実行中に前記ファームウェアの更新要求に応じて、前記2つの領域の他方に更新用のファームウェアを表す情報を保持させ、前記更新用のファームウェアを表す情報を用いて再起動を行い、再起動の際に、該ファームウェアの実行において作業領域として用いられるメモリに保持される情報に基づくレジュームイメージを、前記2つの領域のうち更新前の前記ファームウェアを表す情報が保持されていた領域に保持するとともに、更新後の前記ファームウェアを表す情報および前記レジュームイメージが前記2つの領域のいずれに保持されているかを管理情報として保持する更新制御ステップと、
起動時に、前記管理情報に基づいて、前記2つの領域の一方に保持されているファームウェアを表す情報を用いて起動するとともに、前記2つの領域の他方に保持されている前記レジュームイメージを前記メモリに展開する起動制御ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
Using a firmware information holding unit having at least two areas for holding information representing firmware and information representing firmware for update,
In response to an update request for the firmware during execution of information representing firmware held in one of the two areas, information representing firmware for update is held in the other of the two areas, and the firmware for updating Is restarted using the information indicating the firmware, and when the restart is performed, the resume image based on the information held in the memory used as a work area in the execution of the firmware is updated with the firmware before update in the two areas. An update control step for holding in the area where the information indicating the information is held, and holding the information indicating the updated firmware and in which of the two areas the resume image is held as management information;
At the time of activation, based on the management information, activation is performed using information representing firmware held in one of the two areas, and the resume image held in the other of the two areas is stored in the memory. A startup control step to deploy;
Is a computer program that causes a computer device to execute.
前記更新制御ステップにおいて、前記更新用のファームウェアを表す情報を用いて再起動を行った後、前記更新用のファームウェアの動作の正常性を確認する処理を行ってから、前記更新用のファームウェアを表す情報を用いて再起動を再度行い、該再起動の際に前記レジュームイメージを前記領域に保持することを特徴とする請求項6に記載のコンピュータ・プログラム。   In the update control step, after rebooting using information representing the update firmware, a process for confirming the normality of the operation of the update firmware is performed, and then the update firmware is represented. The computer program according to claim 6, wherein restart is performed again using information, and the resume image is held in the area at the time of restart. 前記ファームウェアの一部に含まれることを特徴とする請求項6または請求項7に記載のコンピュータ・プログラム。   The computer program according to claim 6, wherein the computer program is included in a part of the firmware. 請求項1から請求項3のいずれか1項に記載のファームウェア実行装置をベースボード管理装置として含むコンピュータ装置。   A computer apparatus including the firmware execution apparatus according to claim 1 as a baseboard management apparatus.
JP2013187459A 2013-09-10 2013-09-10 Firmware execution apparatus, firmware execution method, computer program, and computer apparatus Active JP6149624B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013187459A JP6149624B2 (en) 2013-09-10 2013-09-10 Firmware execution apparatus, firmware execution method, computer program, and computer apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013187459A JP6149624B2 (en) 2013-09-10 2013-09-10 Firmware execution apparatus, firmware execution method, computer program, and computer apparatus

Publications (2)

Publication Number Publication Date
JP2015055917A JP2015055917A (en) 2015-03-23
JP6149624B2 true JP6149624B2 (en) 2017-06-21

Family

ID=52820301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013187459A Active JP6149624B2 (en) 2013-09-10 2013-09-10 Firmware execution apparatus, firmware execution method, computer program, and computer apparatus

Country Status (1)

Country Link
JP (1) JP6149624B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7404780B2 (en) 2019-10-31 2023-12-26 株式会社リコー Information processing device, update method and update program for information processing device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417040A (en) * 1990-05-11 1992-01-21 Hitachi Ltd Method for managing program of decentralized processing system
JP2009259197A (en) * 2008-03-18 2009-11-05 Ricoh Co Ltd Information processor and its starting method
JP2009251673A (en) * 2008-04-01 2009-10-29 Nec Corp Information processor, os update time reduction method, and program
JP2010170197A (en) * 2009-01-20 2010-08-05 Toshiba Storage Device Corp Firmware management program, storage device, and firmware management method
JP5383722B2 (en) * 2011-01-31 2014-01-08 京セラドキュメントソリューションズ株式会社 Information processing device

Also Published As

Publication number Publication date
JP2015055917A (en) 2015-03-23

Similar Documents

Publication Publication Date Title
WO2010035596A1 (en) Firmware update device and method
JP5119686B2 (en) Information processing apparatus and setting method
KR101636870B1 (en) Method and apparatus for generating minimal boot image
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
JPH03278126A (en) Computer system starting system
TWI450090B (en) Method and system of changing a startup list of programs to determine whether computer system performance increases
US9772905B2 (en) Updating control firmware of information processing apparatus, method of controlling the same, and storage medium
JP6149624B2 (en) Firmware execution apparatus, firmware execution method, computer program, and computer apparatus
JP5084853B2 (en) Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program
JP6073710B2 (en) Information processing apparatus, automatic recovery method from startup failure, and automatic recovery program from startup failure
JP6160688B2 (en) Information processing apparatus, information processing method, and information processing program
JP5585502B2 (en) Information processing apparatus and firmware update method thereof
JP2003216449A (en) Patch processing system
JP2005050079A (en) Server device, bios updating program, bootstrap program, and bios updating method
JP6457756B2 (en) Information processing apparatus, control method thereof, and program
WO2021153224A1 (en) Information processing device and information processing method
JP2012194675A (en) Information apparatus and emergency access method for information apparatus
JP2003330724A (en) Information processor, information processing method and program
JP2004110220A (en) Method for updating program
WO2018131622A1 (en) Information device and software update processing method for information device
JP2022024904A (en) Firmware updating system and firmware updating method
CN117421156A (en) Firmware management method, device, equipment and machine-readable storage medium
JP2005078336A (en) Image forming apparatus and program rewriting method for image forming apparatus
JP5969528B2 (en) Information processing system, information processing apparatus activation method, and activation program
CN117519745A (en) Software upgrading method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170508

R150 Certificate of patent or registration of utility model

Ref document number: 6149624

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150