JP2019149127A - Information processor, method for processing information, and program - Google Patents

Information processor, method for processing information, and program Download PDF

Info

Publication number
JP2019149127A
JP2019149127A JP2018035135A JP2018035135A JP2019149127A JP 2019149127 A JP2019149127 A JP 2019149127A JP 2018035135 A JP2018035135 A JP 2018035135A JP 2018035135 A JP2018035135 A JP 2018035135A JP 2019149127 A JP2019149127 A JP 2019149127A
Authority
JP
Japan
Prior art keywords
bios
memory
information processing
error
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018035135A
Other languages
Japanese (ja)
Other versions
JP7074291B2 (en
Inventor
桂太 齊藤
Keita Saito
桂太 齊藤
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 Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018035135A priority Critical patent/JP7074291B2/en
Publication of JP2019149127A publication Critical patent/JP2019149127A/en
Application granted granted Critical
Publication of JP7074291B2 publication Critical patent/JP7074291B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】BIOSにハードウェアエラーが発生した場合、コンピュータを終了させず、BIOSの処理を続けることができる情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】本発明の第1の態様によれば、情報処理装置は、第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製部と、前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSの第一処理を停止させ、前記第二BIOSを用いて前記エラーの第二処理を行うBIOS制御部と、を備える。
【選択図】図1
An information processing apparatus, an information processing method, and a program capable of continuing a BIOS process without terminating a computer when a hardware error occurs in the BIOS.
According to a first aspect of the present invention, an information processing device converts a first BIOS into a spare memory that is a memory different from a memory in which the first BIOS is stored in advance in a nonvolatile memory. A BIOS that replicates as a BIOS and BIOS control that stops the first process of the first BIOS and performs the second process of the error using the second BIOS when an error occurs in the process of the first BIOS A section.
[Selection] Figure 1

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program.

コンピュータなどの情報機器では、起動の際、BIOS(Basic Input / Output System)と呼ばれるファームウェアが用いられている。BIOSは、ROM(Read Only Memory)などの不揮発メモリに組み込まれているプログラムである。不揮発メモリは、電源を供給しなくても記憶を保持できるメモリの総称である。また、BIOSは、ハードウェアの差異を吸収するためにOS(Operating System)にランタイムサービスを提供する。   Information devices such as computers use firmware called BIOS (Basic Input / Output System) at the time of startup. The BIOS is a program incorporated in a nonvolatile memory such as a ROM (Read Only Memory). Nonvolatile memory is a general term for memories that can hold memory without supplying power. The BIOS also provides a runtime service to the OS (Operating System) in order to absorb hardware differences.

ランタイムサービスとは、BIOSがハードウェアの差異を吸収するために抽象化した関数であり、OSやOS上のプログラムが利用するサービスである。ランタイムサービスは、時刻の読み書きや不揮発メモリの読み書き、ハードウェアのログ読み出し(障害監視)などを行う。   The runtime service is a function abstracted by the BIOS in order to absorb differences in hardware, and is a service used by the OS and programs on the OS. The runtime service reads and writes time, reads and writes nonvolatile memory, reads hardware logs (fault monitoring), and so on.

コンピュータを起動させると、BIOSは、最初に、CPU(Central Processing Unit)内部のキャッシュやレジスタなどの初期化を行う。次に、BIOSは、マザーボード上の各種コントローラにアクセスし、POST(Power On Self Test)を行う。POSTとは、周辺機器の検出、初期化及び設定を行う処理である。POSTが終了した後、BIOSは、予め定められた優先順位に従って、OSが記録されているストレージから、そのストレージの先頭セクタにあるOSローダをロードする。OSローダとは、OSを検出し起動するプログラムのことを表す。   When the computer is started, the BIOS first initializes a cache and a register in a CPU (Central Processing Unit). Next, the BIOS accesses various controllers on the motherboard and performs POST (Power On Self Test). POST is processing for detecting, initializing, and setting peripheral devices. After the POST is completed, the BIOS loads the OS loader in the first sector of the storage from the storage in which the OS is recorded according to a predetermined priority order. The OS loader represents a program that detects and activates the OS.

BIOSの処理を経てコンピュータは起動するため、BIOSにおいてエラーが発生すると、コンピュータは、起動することができず、終了する。BIOSにおいて発生するエラーは、未定義命令例外やアクセス例外などのソフトウェアエラーと、アンコレクタブルエラーやMCE(Machine Check Exception)などのハードウェアエラーと、が存在する。   Since the computer is started through the BIOS process, if an error occurs in the BIOS, the computer cannot be started and ends. Errors that occur in the BIOS include software errors such as undefined instruction exceptions and access exceptions, and hardware errors such as uncorrectable errors and MCE (Machine Check Exception).

ソフトウェアエラーの対策として、OSの起動時に割り込みが発生した場合、割り込み発生時の情報を、トレーサ情報(採取情報)として、ベクタ番号や割り込みハンドラなどを保存する手法が文献1で開示されている。文献1では、BIOSが壊れた場合、トレーサ情報を記憶装置に書き出す、もしくは、メモリ上にキャッシュすることで、システムを維持する手法が開示されている。   As a countermeasure against a software error, Document 1 discloses a method for saving a vector number, an interrupt handler, and the like as tracer information (collection information) when an interrupt occurs when the OS is started. Document 1 discloses a technique for maintaining a system by writing tracer information to a storage device or caching it in a memory when the BIOS is broken.

また、ソフトウェアエラーの対策として、BIOSになんらかのエラーが発生した場合、記憶デバイス中に保存されたバックアップBIOSと比較する手法が文献2で開示されている。文献2では、初めに、BIOSをバックアップする。文献2では、使用中のBIOSが壊れた場合、バックアップしたBIOSを用いることでシステムを維持する手法が開示されている。   Further, as a countermeasure against software error, Document 2 discloses a method for comparing with a backup BIOS stored in a storage device when any error occurs in the BIOS. In Document 2, the BIOS is first backed up. Document 2 discloses a method of maintaining a system by using a backed up BIOS when the BIOS in use is broken.

特開2016−184204号公報JP 2016-184204 A 特開2004−302997号公報JP 2004-302997 A

以上より、上記文献1及び2では、BIOSにソフトウェアエラーが発生した場合、BIOSのバックアップデータを用いて、BIOSを再度コンピュータ内で書き換えることでソフトウェアエラーの復旧を試みている。しかしながら、ハードウェアエラーが発生した場合、上記の方法ではコンピュータが終了してしまい復旧できないという問題があった。   As described above, in the above-mentioned documents 1 and 2, when a software error occurs in the BIOS, the recovery of the software error is attempted by rewriting the BIOS in the computer again using the backup data of the BIOS. However, when a hardware error occurs, there is a problem that the computer cannot be recovered by the above method.

そこで本発明は、上述の課題を解決する情報処理装置、情報処理方法及びプログラムを提供することを目的としている。   Therefore, an object of the present invention is to provide an information processing apparatus, an information processing method, and a program that solve the above-described problems.

本発明の第1の態様によれば、情報処理装置は、第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製部と、前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSの第一処理を停止させ、前記第二BIOSを用いて前記エラーの第二処理を行うBIOS制御部と、を備える。   According to the first aspect of the present invention, the information processing apparatus replicates the first BIOS as the second BIOS in a spare memory that is a memory different from the memory in which the first BIOS in the nonvolatile memory is stored in advance. A replication unit, and a BIOS control unit that stops the first process of the first BIOS and performs the second process of the error using the second BIOS when an error occurs in the process of the first BIOS. Prepare.

本発明の第2の態様によれば、情報処理方法は、1又は複数のコンピュータが、第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製ステップと、前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSの第一処理を停止させ、前記第二BIOSを用いて前記エラーの第二処理を行うBIOS制御ステップと、を有する。   According to the second aspect of the present invention, there is provided an information processing method in which one or a plurality of computers is a spare memory in which the first BIOS is different from the memory in which the first BIOS in the nonvolatile memory is stored in advance. When an error occurs in the duplication step to duplicate as the second BIOS and the process of the first BIOS, the first process of the first BIOS is stopped, and the second process of the error is performed using the second BIOS. BIOS control step to be performed.

本発明の第3の態様によれば、プログラムは、1又は複数のコンピュータに、第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製ステップと、前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSの第一処理を停止させ、前記第二BIOSを用いて前記エラーの第二処理を行うBIOS制御ステップと、を実行させる。   According to the third aspect of the present invention, the program stores the first BIOS in a spare memory that is different from the memory in which the first BIOS in the nonvolatile memory is stored in advance. A BIOS that replicates as a second BIOS and a BIOS that stops the first process of the first BIOS and performs the second process of the error using the second BIOS when an error occurs in the process of the first BIOS And a control step.

上記態様のうち少なくとも1つの態様によれば、コンピュータは、正常に動作する第一BIOSを予備メモリに第二BIOSとして複製する。第一BIOSの処理中にエラーが起きた場合、OSは、エラーが発生した第一BIOSのアドレスを第二BIOSのアドレスと書き換えて実行する。これにより、第一BIOSの処理中にエラーが起きてシステムが動作しなくなった場合でも、コンピュータを終了させることなく、BIOSの処理を継続できるという効果が得られる。   According to at least one of the above aspects, the computer replicates the normally operating first BIOS to the spare memory as the second BIOS. When an error occurs during the processing of the first BIOS, the OS rewrites the address of the first BIOS in which the error has occurred with the address of the second BIOS and executes it. Thereby, even when an error occurs during the processing of the first BIOS and the system stops operating, the BIOS processing can be continued without terminating the computer.

本発明の一実施形態に係る情報処理装置1のハードウェア構成を示す概略ブロック図である。It is a schematic block diagram which shows the hardware constitutions of the information processing apparatus 1 which concerns on one Embodiment of this invention. 本発明の一実施形態に係るCPU100のソフトウェア構成を示す概略ブロック図である。It is a schematic block diagram which shows the software structure of CPU100 which concerns on one Embodiment of this invention. 本発明の一実施形態に係る共有メモリ420が記憶する、サービス判別テーブルの一例を示すデータテーブルである。It is a data table which shows an example of the service discrimination | determination table which the shared memory 420 which concerns on one Embodiment of this invention memorize | stores. 本発明の一実施形態に係る割り込みベクタテーブルの一例を示すデータテーブルである。It is a data table which shows an example of the interrupt vector table which concerns on one Embodiment of this invention. 本発明の一実施形態に係るBIOSエラーの発生時の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process at the time of generation | occurrence | production of the BIOS error which concerns on one Embodiment of this invention. 本発明の一実施形態に係るハードウェアエラーの発生時の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process at the time of generation | occurrence | production of the hardware error which concerns on one Embodiment of this invention. 本発明の一実施形態に係るソフトウェアエラーの発生時の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process at the time of generation | occurrence | production of the software error which concerns on one Embodiment of this invention. 本発明の一実施形態に係るフラグ確認の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process of flag confirmation which concerns on one Embodiment of this invention. 本実施形態による情報処理装置1の最少構成を示す図である。It is a figure which shows the minimum structure of the information processing apparatus 1 by this embodiment.

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

図1は本発明の一実施形態に係る情報処理装置1のハードウェア構成を示す概略ブロック図である。
情報処理装置1は、CPU100と、メインメモリ200と、不揮発メモリ300と、ストレージ400と、インタフェース500と、を備える。
FIG. 1 is a schematic block diagram showing a hardware configuration of an information processing apparatus 1 according to an embodiment of the present invention.
The information processing apparatus 1 includes a CPU 100, a main memory 200, a nonvolatile memory 300, a storage 400, and an interface 500.

CPU100は、プログラムを不揮発メモリ300またはストレージ400から読み出してメインメモリ200に展開し、当該プログラムに従って処理を実行する。
メインメモリ200は、RAM(Random Access Memory)などの揮発性のメモリである。
不揮発メモリ300は、BIOS310及び予備メモリ320を記憶する。不揮発メモリ300の例としては、ROM(Read Only Memory)やフラッシュメモリなどが挙げられる。
The CPU 100 reads a program from the nonvolatile memory 300 or the storage 400, expands it in the main memory 200, and executes processing according to the program.
The main memory 200 is a volatile memory such as a RAM (Random Access Memory).
The nonvolatile memory 300 stores a BIOS 310 and a spare memory 320. Examples of the non-volatile memory 300 include a ROM (Read Only Memory) and a flash memory.

ストレージ400は、OS410と、共有メモリ420と、を記憶する。ストレージ400の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。
また、ストレージ400は、情報処理装置1のバスに直接接続された内部メディアであってもよいし、インタフェース500または通信回線を介して情報処理装置1に接続される外部メディアであってもよい。
The storage 400 stores an OS 410 and a shared memory 420. Examples of the storage 400 include an HDD (Hard Disk Drive), an SSD (Solid State Drive), a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disc Read Only Memory), and a DVD-ROM (Digital Versatile Disc Read Only Memory). And semiconductor memory.
Further, the storage 400 may be an internal medium directly connected to the bus of the information processing apparatus 1 or may be an external medium connected to the information processing apparatus 1 via the interface 500 or a communication line.

OS410は、入出力の制御、メモリやハードディスクなどのハードウェアの管理、プロセスの管理といった、コンピュータの基本的な管理・制御を行っている。
共有メモリ420は、BIOSの各ハンドラ及び各ランタイムサービスから読み書きが可能なメモリ領域である。共有メモリ420は、ランタイムサービスの情報を有するデータテーブル(以下「サービス判別テーブル」という。)を記憶する。
The OS 410 performs basic computer management and control, such as input / output control, hardware management such as memory and hard disk, and process management.
The shared memory 420 is a memory area that can be read and written by each handler of the BIOS and each runtime service. The shared memory 420 stores a data table (hereinafter referred to as “service discrimination table”) having runtime service information.

なお、メインメモリ200、不揮発メモリ300及びストレージ400は、記憶装置の一例である。   The main memory 200, the non-volatile memory 300, and the storage 400 are examples of storage devices.

インタフェース500は、外部装置と接続するときに用いられる。インタフェース500の例としては、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface)(登録商標)、DVI(Digital Visual Interface)、Bluetooth(登録商標)などが挙げられる。
なお、インタフェース500は、ハードウェアインタフェースであってもよいし、ソフトウェアインタフェースであってもよい。
The interface 500 is used when connecting to an external device. Examples of the interface 500 include USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface) (registered trademark), DVI (Digital Visual Interface), Bluetooth (registered trademark), and the like.
The interface 500 may be a hardware interface or a software interface.

図2は、本発明の一実施形態に係るCPU100のソフトウェア構成を示す概略ブロック図である。
CPU100は、プログラムを実行することで、複製部110、例外判定部120、BIOS制御部130及びメモリ制御部140として機能する。
FIG. 2 is a schematic block diagram showing a software configuration of the CPU 100 according to the embodiment of the present invention.
The CPU 100 functions as the duplication unit 110, the exception determination unit 120, the BIOS control unit 130, and the memory control unit 140 by executing the program.

複製部110は、BIOS310のデータ及びコードを、予備メモリ320に領域を確保し、複製する。この時、複製元のBIOS310を第一BIOS、予備メモリ320に複製されたBIOSを第二BIOSとする。なお、複製部110は、第一BIOSを複製する場合、予備メモリ320以外に、不揮発メモリ300内で別領域を確保して第二BIOSを複製してもよいし、メインメモリ200やストレージ400内に領域を確保して第二BIOSを複製してもよい。また、第二BIOSは複数複製されてもよい。なお、以下の実施形態では、情報処理装置1が行うBIOSの処理は、第一BIOSを主として使用することとする。   The duplication unit 110 duplicates the data and code of the BIOS 310 by securing an area in the spare memory 320. At this time, the source BIOS 310 is the first BIOS, and the BIOS copied to the spare memory 320 is the second BIOS. In addition, when duplicating the first BIOS, the duplication unit 110 may duplicate the second BIOS by securing another area in the nonvolatile memory 300 in addition to the spare memory 320, or in the main memory 200 or the storage 400. The second BIOS may be duplicated with an area reserved. A plurality of second BIOSes may be duplicated. In the following embodiment, the BIOS processing performed by the information processing apparatus 1 mainly uses the first BIOS.

例外判定部120は、第一BIOSから、例外ハンドラ又はMCEハンドラの割り込みが起きるか否か判定する。例外ハンドラは、ソフトウェアエラーが起きた場合、発生する割り込みハンドラである。MCEハンドラは、ハードウェアエラーが起きた場合、発生する割り込みハンドラである。割り込みが起きた場合、例外判定部120は、図3で後述するサービス判別テーブルに、フラグ項目及び各データ項目を登録する。本実施形態の図3の例では、例外判定部120は、ON状態のフラグ、例外箇所のデータ、例外箇所のコード、ランタイムサービス名及びハンドラ名を登録する。割り込みが起きていない場合、例外判定部120は、ランタイムサービステーブルの、フラグ項目をOFF状態として登録する。   The exception determination unit 120 determines whether or not an exception handler or MCE handler interrupt occurs from the first BIOS. An exception handler is an interrupt handler that is generated when a software error occurs. The MCE handler is an interrupt handler that is generated when a hardware error occurs. When an interruption occurs, the exception determination unit 120 registers a flag item and each data item in a service determination table described later with reference to FIG. In the example of FIG. 3 of the present embodiment, the exception determination unit 120 registers an ON state flag, exception location data, exception location code, runtime service name, and handler name. If no interrupt has occurred, the exception determination unit 120 registers the flag item in the runtime service table as an OFF state.

図3は、本発明の一実施形態に係る共有メモリ420が記憶する、サービス判別テーブルの一例を示すデータテーブルである。
サービス判別テーブルは、フラグ、例外データ、例外コード、ランタイムサービス名及びハンドラ名を有する。
FIG. 3 is a data table showing an example of the service determination table stored in the shared memory 420 according to an embodiment of the present invention.
The service determination table has a flag, exception data, exception code, runtime service name, and handler name.

フラグは、第一BIOSの第一処理においてエラーが起きたか否かを表す項目である。フラグがONの状態は、第一BIOSの第一処理でエラーが起きた状態を表し、フラグがOFFの状態は、第一BIOSの第一処理が継続可能な状態を表す。例外データは、例外処理が発生した第一処理のデータ内容を表す項目である。例外コードは、例外処理が発生した第一処理のプログラムを表す項目である。ランタイムサービス名は、例外処理で使用されたランタイムサービスの名前を表す項目である。ハンドラ名は、割り込みに使用された割り込みハンドラの名前を表す項目である。   The flag is an item indicating whether an error has occurred in the first process of the first BIOS. The state where the flag is ON represents a state where an error has occurred in the first process of the first BIOS, and the state where the flag is OFF represents a state where the first process of the first BIOS can be continued. The exception data is an item representing the data content of the first process in which the exception process has occurred. The exception code is an item representing the program of the first process in which the exception process has occurred. The runtime service name is an item representing the name of the runtime service used in exception handling. The handler name is an item indicating the name of the interrupt handler used for the interrupt.

図2の説明に戻る。BIOS制御部130は、例外判定部120の判定結果及びOSの命令に基づいて、第一BIOSの第一処理及び第二BIOSの第二処理を制御する。BIOS制御部130は、第一BIOSの第一処理に例外が発生した場合、例外が発生した時点で第一処理を停止させる。   Returning to the description of FIG. The BIOS control unit 130 controls the first process of the first BIOS and the second process of the second BIOS based on the determination result of the exception determination unit 120 and the instruction of the OS. When an exception occurs in the first process of the first BIOS, the BIOS control unit 130 stops the first process when the exception occurs.

次にBIOS制御部130は、OSから処理の再開の命令を待つ。BIOS制御部130は、OSから処理の再開命令を受け取った場合、第二BIOSを用いて第一BIOSの第一処理に該当する第二処理を行う。そして、BIOS制御部130は、第二処理が完了した第二BIOSを停止させ、第一処理の次の処理を第一BIOSで再開する。これにより、本実施形態では、第一BIOSで例外処理が発生した場合、システムを終了させることなくBIOSの動作を継続することができる。   Next, the BIOS control unit 130 waits for an instruction to resume processing from the OS. When the BIOS control unit 130 receives a process restart instruction from the OS, the BIOS control unit 130 performs a second process corresponding to the first process of the first BIOS using the second BIOS. Then, the BIOS control unit 130 stops the second BIOS that has completed the second process, and restarts the process subsequent to the first process using the first BIOS. Thereby, in this embodiment, when exception processing occurs in the first BIOS, the BIOS operation can be continued without terminating the system.

メモリ制御部140は、OSと、第一BIOSと、第二BIOSと、のデータ及びアドレスの内少なくとも一つを制御する。メモリ制御部140は、前記第二BIOSのデータと、第二BIOSのアドレスの内、少なくとも一つを、OSが参照できるようにする。メモリ制御部140は、第二BIOSのデータ及びアドレスの内、少なくとも一つを、ランタイムサービスが参照できるようにする。メモリ制御部140は、エラーが発生した第一BIOSのアドレスと、第二BIOSのアドレスと、を書き換える。   The memory control unit 140 controls at least one of data and addresses of the OS, the first BIOS, and the second BIOS. The memory control unit 140 allows the OS to refer to at least one of the second BIOS data and the second BIOS address. The memory control unit 140 allows the runtime service to refer to at least one of the data and address of the second BIOS. The memory control unit 140 rewrites the address of the first BIOS where the error has occurred and the address of the second BIOS.

具体的には、メモリ制御部140は、第二BIOSのアドレスを、OSが参照できるように、ポインタとしてOSに渡す。メモリ制御部140は、第一BIOSでエラーが起きた場合、第一BIOSのエラーが起きた第一処理のアドレスと、第一処理のアドレスに対応する第二BIOSの第二処理のアドレスと、を書き換える。   Specifically, the memory control unit 140 passes the address of the second BIOS to the OS as a pointer so that the OS can refer to it. When an error occurs in the first BIOS, the memory control unit 140, the address of the first process where the error of the first BIOS has occurred, the address of the second process of the second BIOS corresponding to the address of the first process, Rewrite.

なお、メモリ制御部140は、エラーが起きた第一処理のアドレスのみを第二処理として書き換えてもよいし、エラーが起きた第一処理以降の全ての処理のアドレスを第二処理として書き換えてもよい。   Note that the memory control unit 140 may rewrite only the address of the first process in which an error has occurred as the second process, or rewrite the addresses of all processes after the first process in which the error has occurred as the second process. Also good.

図4は、本発明の一実施形態に係る割り込みベクタテーブルの一例を示すデータテーブルである。
割り込みベクタテーブルとは、割り込みの要因ごとに割り込みハンドラに関する情報が予め登録されているデータテーブルである。割り込みハンドラとは、不正例外ハンドラやMCEハンドラなどのハンドラの名称である。割り込みベクタテーブルは、ベクタアドレス、ベクタ番号、割り込みの要因、定義省略時の動作を有する。
FIG. 4 is a data table showing an example of the interrupt vector table according to the embodiment of the present invention.
The interrupt vector table is a data table in which information on interrupt handlers is registered in advance for each cause of interrupt. The interrupt handler is the name of a handler such as an illegal exception handler or MCE handler. The interrupt vector table has a vector address, a vector number, an interrupt factor, and a default operation.

ベクタアドレスは、割り込みハンドラの先頭アドレスを表す。ベクタ番号は、割り込みベクタのデータ項目に割り振られた任意の番号を表す。割り込みの要因は、どのような例外や割り込みがあったかの内容を表す。定義省略時の動作は、機能最小限モードの際に行う動作の内容を表す。サービス判別テーブルで登録された割り込みハンドラは、この割り込みベクタテーブルに設定される。   The vector address represents the start address of the interrupt handler. The vector number represents an arbitrary number assigned to the data item of the interrupt vector. The cause of the interrupt indicates what kind of exception or interrupt has occurred. The operation when the definition is omitted represents the content of the operation performed in the function minimum mode. The interrupt handler registered in the service discrimination table is set in this interrupt vector table.

機能最小限モードは、例外を起こしたランタイムサービスがOSから呼ばれた場合、サービス判別テーブルのベクタ番号に基づいて、割り込みベクタテーブルの定義省略時の動作を返す。機能最小限モードは、ランタイムサービスが持つ動作モードの一つである。機能最小限モードになったランタイムサービスは、コンピュータを動かすために必要な最小限の所定の動作を行う。これにより、ソフトウェアエラーが発生した場合、BIOSは、システムを終了することなく、適宜定められた動作を行うことができる。   In the minimal function mode, when the runtime service causing the exception is called from the OS, the operation when the definition of the interrupt vector table is omitted is returned based on the vector number of the service determination table. The function minimum mode is one of the operation modes of the runtime service. The runtime service in the minimum function mode performs a minimum predetermined operation necessary for operating the computer. Thus, when a software error occurs, the BIOS can perform a predetermined operation without terminating the system.

図5は、本発明の一実施形態に係るBIOSエラーの発生時の処理の流れを示すフローチャートである。
複製部110は、予備メモリ320にBIOS310の複製を行うための格納領域を確保する(ステップS100)。複製部110は、不揮発メモリ300に記憶されているBIOS310を予備メモリ320に複製する(ステップS101)。また、複製部110は、不揮発メモリ300のBIOS310を第一BIOS、予備メモリ320に複製されたBIOSを第二BIOSとし、OSが扱うBIOSを第一BIOSに設定する。
FIG. 5 is a flowchart showing a processing flow when a BIOS error occurs according to an embodiment of the present invention.
The duplication unit 110 reserves a storage area for duplicating the BIOS 310 in the spare memory 320 (step S100). The duplication unit 110 duplicates the BIOS 310 stored in the nonvolatile memory 300 to the spare memory 320 (step S101). In addition, the duplication unit 110 sets the BIOS 310 of the nonvolatile memory 300 as the first BIOS, the BIOS duplicated in the spare memory 320 as the second BIOS, and sets the BIOS handled by the OS as the first BIOS.

メモリ制御部140は、第二BIOSのデータ及びコードを、OSが参照できるようにする(ステップS102)。例外判定部120は、第一BIOSから、例外ハンドラ又はMCEハンドラによる割り込み、つまり例外処理のエラーが起きるか否か判定する(ステップS103)。   The memory control unit 140 allows the OS to refer to the data and code of the second BIOS (step S102). The exception determination unit 120 determines whether an interrupt by the exception handler or the MCE handler, that is, an exception processing error occurs from the first BIOS (step S103).

エラーが起きた場合(ステップS103:YES)、BIOS制御部130は、例外判定部120の判定結果に基づいて、第一BIOSの第一処理を、エラーが発生した時点で停止させる(ステップS104)。エラーが起きていない場合(ステップS103:NO)、情報処理装置1は、エラーが起きるまでステップS103を繰り返す。   When an error occurs (step S103: YES), the BIOS control unit 130 stops the first process of the first BIOS when an error occurs based on the determination result of the exception determination unit 120 (step S104). . If no error has occurred (step S103: NO), the information processing apparatus 1 repeats step S103 until an error occurs.

メモリ制御部140は、第一BIOSのエラーが起きた第一処理のアドレスと、第二BIOSの第二処理のアドレスと、を書き換える(ステップS105)。   The memory control unit 140 rewrites the address of the first process in which the error of the first BIOS has occurred and the address of the second process of the second BIOS (step S105).

BIOS制御部130は、第一処理を停止させたまま第二BIOSを用いて第二処理を行う(ステップS106)。BIOS制御部130は、第二BIOSの第二処理を停止させる(ステップ107)。そして、BIOS制御部130は、第二処理の続きを第一BIOSの第一処理で再開する(ステップS108)。   The BIOS control unit 130 performs the second process using the second BIOS while the first process is stopped (step S106). The BIOS control unit 130 stops the second process of the second BIOS (Step 107). Then, the BIOS control unit 130 resumes the second process with the first process of the first BIOS (step S108).

図6は、本発明の一実施形態に係るハードウェアエラーの発生時の処理の流れを示すフローチャートである。
例外判定部120は、第一BIOSで生じた例外において、ハンドラの種類からMCEハンドラの割り込みが起きるか否か、つまりハードウェアエラーが起きるか否か判定する(ステップS200)。
FIG. 6 is a flowchart showing a processing flow when a hardware error occurs according to an embodiment of the present invention.
The exception determination unit 120 determines whether or not an MCE handler interrupt occurs from the type of the handler in the exception generated in the first BIOS, that is, whether or not a hardware error occurs (step S200).

ハードウェアエラーが起きた場合(ステップS200:YES)、MCEハンドラは、ハードウェアエラーが起きた際に使用されたランタイムサービスを特定する(ステップS201)。
ハードウェアエラーが起きていない場合(ステップS200:NO)、情報処理装置1は、ハードウェアエラーが起きるまでステップS200を繰り返す。
When a hardware error has occurred (step S200: YES), the MCE handler specifies the runtime service used when the hardware error has occurred (step S201).
If no hardware error has occurred (step S200: NO), the information processing apparatus 1 repeats step S200 until a hardware error occurs.

例外判定部120は、フラグやMCEハンドラが特定したランタイムサービスの名前などのエラー内容の情報をサービス判別テーブルに登録する(ステップS202)。また、例外判定部120は、サービス判別テーブルのフラグ項目をON状態で登録する。   The exception determination unit 120 registers error content information such as a flag and the name of the runtime service specified by the MCE handler in the service determination table (step S202). Further, the exception determination unit 120 registers the flag item of the service determination table in the ON state.

メモリ制御部140は、ランタイムサービスに、OSが参照する第二BIOSのポインタを渡す(ステップS203)。MCEハンドラは、ランタイムサービスが参照可能な第二BIOSのポインタを参照し、ランタイムサービスからOSへ処理を移行させる(ステップS204)。   The memory control unit 140 passes the second BIOS pointer referred to by the OS to the runtime service (step S203). The MCE handler refers to the pointer of the second BIOS that can be referred to by the runtime service, and shifts the processing from the runtime service to the OS (step S204).

OSは、第一BIOSの第一処理のアドレスと、第二BIOSの第二処理のアドレスとを書き換える。次に、OSは、BIOS制御部130に処理の再開命令を送る。BIOS制御部130は、OSからの再開命令を受け取った場合、第二BIOSを用いて第二処理を行う(ステップS205)。そして、BIOS制御部130は、第二BIOSが第二処理を完了した場合、第一BIOSの第一処理の次の処理から再開する。   The OS rewrites the first process address of the first BIOS and the second process address of the second BIOS. Next, the OS sends a process restart instruction to the BIOS control unit 130. When receiving a restart command from the OS, the BIOS control unit 130 performs the second process using the second BIOS (step S205). Then, when the second BIOS completes the second process, the BIOS control unit 130 resumes from the process subsequent to the first process of the first BIOS.

図7は、本発明の一実施形態に係るソフトウェアエラーの発生時の処理の流れを示すフローチャートである。
例外判定部120は、第一BIOSで生じた例外において、ハンドラの種類から例外ハンドラの割り込みが起きるか否か、つまりソフトウェアエラーが起きるか否か判定する(ステップS300)。
FIG. 7 is a flowchart showing the flow of processing when a software error occurs according to an embodiment of the present invention.
The exception determination unit 120 determines whether an exception handler interrupt occurs from the type of handler in the exception generated in the first BIOS, that is, whether a software error occurs (step S300).

ソフトウェアエラーが起きた場合(ステップS300:YES)、例外ハンドラは、例外時に使用されたランタイムサービスを特定する(ステップS301)。
ソフトウェアエラーが起きていない場合(ステップS300:NO)、情報処理装置1は、ソフトウェアエラーが起きるまでステップS300を繰り返す。
If a software error has occurred (step S300: YES), the exception handler specifies the runtime service used at the time of the exception (step S301).
If no software error has occurred (step S300: NO), the information processing apparatus 1 repeats step S300 until a software error occurs.

例外判定部120は、フラグや例外ハンドラが特定したランタイムサービスの名前などの例外内容の情報をサービス判別テーブルに登録する(ステップS302)。また、例外判定部120は、サービス判別テーブルのフラグ項目をON状態で登録する。   The exception determination unit 120 registers information on exception contents such as the flag and the name of the runtime service specified by the exception handler in the service determination table (step S302). Further, the exception determination unit 120 registers the flag item of the service determination table in the ON state.

メモリ制御部140は、ランタイムサービスに、OSが参照する第二BIOSのポインタを渡す(ステップS303)。例外ハンドラは、ランタイムサービスが参照可能な第二BIOSのポインタを参照し、ランタイムサービスからOSへ処理を移行する(ステップS304)。   The memory control unit 140 passes the pointer of the second BIOS referred to by the OS to the runtime service (step S303). The exception handler refers to the pointer of the second BIOS that can be referred to by the runtime service, and shifts the processing from the runtime service to the OS (step S304).

不正例外が発生する場合は、ソフトウェアのバグが発生しているため、ランタイムサービスは、自身のモードを機能最小限モードに変更する(ステップS305)。   If an illegal exception occurs, a software bug has occurred, so the runtime service changes its own mode to the minimum function mode (step S305).

[変形例]
図8は、本発明の変形例に係るフラグ確認の処理の流れを示すフローチャートである。
ランタイムサービスは、サービス判別テーブルを参照する特性を持つ(ステップS401)。ランタイムサービスは、サービス判別テーブルの中から、エラーが発生した時に登録されるフラグを参照する(ステップS402)。
[Modification]
FIG. 8 is a flowchart showing a flow of flag confirmation processing according to a modification of the present invention.
The runtime service has a characteristic of referring to the service determination table (step S401). The runtime service refers to a flag registered when an error occurs from the service determination table (step S402).

フラグがON状態の場合(ステップS401:YES)、ソフトウェアエラーかハードウェアエラーかを判定する(ステップS402)。フラグがOFF状態の場合(ステップS402:NO)、処理を終了する。   If the flag is ON (step S401: YES), it is determined whether it is a software error or a hardware error (step S402). If the flag is OFF (step S402: NO), the process is terminated.

ソフトウェアエラーの場合(ステップS402:YES)、サービス判別テーブルの中から、ベクタ番号を参照し、割り込みベクタテーブルから当該番号に対応付いた定義省略時の動作を機能最小限モードとして行う(ステップS403)。   In the case of a software error (step S402: YES), the vector number is referenced from the service determination table, and the operation when the definition corresponding to the number is omitted from the interrupt vector table is performed as the minimum function mode (step S403). .

ハードウェアエラーの場合(ステップS402:NO)、割込みハンドラはMCE SRARが発生していることを特定する(ステップS404)。BIOS制御部130は、OSからの再開命令を受け取った場合、第二BIOSを用いて第二処理を行う(ステップS405)。割り込みハンドラは、ハンドラが参照するポインタをOSが参照するポインタに変更し、処理を終了する(ステップS406)。   In the case of a hardware error (step S402: NO), the interrupt handler specifies that an MCE SRAR has occurred (step S404). When receiving the restart command from the OS, the BIOS control unit 130 performs the second process using the second BIOS (step S405). The interrupt handler changes the pointer referred to by the handler to the pointer referred to by the OS, and ends the process (step S406).

図9は、本実施形態による情報処理装置1の最小構成を示す図である。
本実施形態による情報処理装置1は少なくとも複製部110及びBIOS制御部130を備えればよい。
FIG. 9 is a diagram illustrating a minimum configuration of the information processing apparatus 1 according to the present embodiment.
The information processing apparatus 1 according to the present embodiment only needs to include at least the duplication unit 110 and the BIOS control unit 130.

複製部110は、BIOS310のデータ及びコードを、予備メモリ320に領域を確保し、複製する。この時、複製元のBIOS310を第一BIOS、予備メモリ320に複製されたBIOSを第二BIOSとする。   The duplication unit 110 duplicates the data and code of the BIOS 310 by securing an area in the spare memory 320. At this time, the source BIOS 310 is the first BIOS, and the BIOS copied to the spare memory 320 is the second BIOS.

BIOS制御部130は、第一BIOSの第一処理及び第二BIOSの第二処理を制御する。BIOS制御部130は、第一BIOSの第一処理にエラーが発生した場合、例外が発生した時点で第一処理を停止させる。   The BIOS control unit 130 controls the first process of the first BIOS and the second process of the second BIOS. When an error occurs in the first process of the first BIOS, the BIOS control unit 130 stops the first process when an exception occurs.

次にBIOS制御部130は、OSから処理の再開の命令を待つ。BIOS制御部130は、OSから処理の再開命令を受け取った場合、第二BIOSを用いて第一BIOSの第一処理に該当する第二処理を行う。そして、BIOS制御部130は、第二処理が完了した第二BIOSを停止させ、第一処理の次の処理を第一BIOSで再開する。これにより、本実施形態では、第一BIOSで例外処理が発生した場合、システムを終了させることなくBIOSの動作を継続することができる。   Next, the BIOS control unit 130 waits for an instruction to resume processing from the OS. When the BIOS control unit 130 receives a process restart instruction from the OS, the BIOS control unit 130 performs a second process corresponding to the first process of the first BIOS using the second BIOS. Then, the BIOS control unit 130 stops the second BIOS that has completed the second process, and restarts the process subsequent to the first process using the first BIOS. Thereby, in this embodiment, when exception processing occurs in the first BIOS, the BIOS operation can be continued without terminating the system.

以上より、本実施形態では、複製部110、BIOS制御部130を持つことにより、ハードウェアの影響でアンコレクタブルエラーなどが発生しBIOSが壊れた場合と、ソフトウェアのバグの影響でBIOSが壊れた場合と、の両方の場合において、システムを終了させず、OSの処理を継続させることができる。   As described above, in the present embodiment, by having the duplicating unit 110 and the BIOS control unit 130, an uncorrectable error or the like occurs due to the influence of hardware, and the BIOS is broken due to a software bug. In both cases, the OS processing can be continued without terminating the system.

上述の情報処理装置は内部に、コンピュータシステムを有している。そして、上述したBIOSで例外が起きた場合に、OSの処理を継続する過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。   The information processing apparatus described above has a computer system inside. When an exception occurs in the above-described BIOS, the process of continuing the OS processing is stored in a computer-readable recording medium in the form of a program, and this program is read and executed by the computer. The above processing is performed. Here, the computer-readable recording medium means a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like. Alternatively, the computer program may be distributed to the computer via a communication line, and the computer that has received the distribution may execute the program.

なお、図1における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、BIOSの例外時にOSの処理を継続させてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   1 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into the computer system and executed, thereby executing the BIOS exception. Sometimes OS processing may continue. Here, the “computer system” includes an OS and hardware such as peripheral devices. The “computer system” includes a WWW system having a homepage providing environment (or display environment). The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, what is called a difference file (difference program) may be sufficient.

《付記》
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
《Appendix》
A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製部と、
前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSの第一処理を停止させ、前記第二BIOSを用いて前記エラーの第二処理を行うBIOS制御部と、
を備える情報処理装置。
(Appendix 1)
A duplication unit that duplicates the first BIOS as a second BIOS in a spare memory that is a memory different from a memory in which the first BIOS in the nonvolatile memory is stored in advance;
When an error occurs in the process of the first BIOS, the BIOS control unit that stops the first process of the first BIOS and performs the second process of the error using the second BIOS;
An information processing apparatus comprising:

(付記2)
前記BIOS制御部は、前記第二処理が完了した場合、前記第二処理を停止させ、前記第一処理の次の処理から前記第一BIOSを再開させる
付記1に記載の情報処理装置。
(Appendix 2)
The information processing apparatus according to claim 1, wherein when the second process is completed, the BIOS control unit stops the second process and restarts the first BIOS from a process subsequent to the first process.

(付記3)
OSと、前記第一BIOSと、第二BIOSと、のデータ及びアドレスの内少なくとも一つを制御するメモリ制御部
を備える付記1又は2に記載の情報処理装置。
(Appendix 3)
The information processing apparatus according to appendix 1 or 2, further comprising: a memory control unit that controls at least one of data and addresses of the OS, the first BIOS, and the second BIOS.

(付記4)
前記メモリ制御部は、前記第二BIOSのデータと、前記第二BIOSのアドレスの内、少なくとも一つを、OSが参照できるようにする
付記3に記載の情報処理装置。
(Appendix 4)
The information processing apparatus according to claim 3, wherein the memory control unit enables an OS to refer to at least one of the data of the second BIOS and the address of the second BIOS.

(付記5)
前記メモリ制御部は、前記第二BIOSのデータ及びアドレスの内、少なくとも一つを、ランタイムサービスが参照できるようにする
付記3又は4のいずれか一項に記載の情報処理装置。
(Appendix 5)
The information processing apparatus according to any one of claims 3 and 4, wherein the memory control unit enables a runtime service to refer to at least one of the data and address of the second BIOS.

(付記6)
前記メモリ制御部は、前記エラーが発生した前記第一BIOSのアドレスと、当該の前記第二BIOSのアドレスと、を書き換える
付記3から5のいずれか一項に記載の情報処理装置。
(Appendix 6)
The information processing apparatus according to any one of appendices 3 to 5, wherein the memory control unit rewrites the address of the first BIOS in which the error has occurred and the address of the second BIOS.

(付記7)
前記第一BIOSの処理において前記エラーが起きたか否か判定する例外判定部
を備える付記1から6に記載の情報処理装置。
(Appendix 7)
The information processing apparatus according to appendices 1 to 6, further comprising an exception determination unit that determines whether or not the error has occurred in the process of the first BIOS.

(付記8)
前記例外判定部の判定結果に基づいて、前記エラーが起きたと判定された場合、コンピュータを動かすために必要な最小限の所定の動作を行うランタイムサービスを持つ、
付記7に記載の情報処理装置。
(Appendix 8)
Based on the determination result of the exception determination unit, when it is determined that the error has occurred, a runtime service that performs a minimum predetermined operation necessary for moving the computer is included.
The information processing apparatus according to appendix 7.

(付記9)
1又は複数のコンピュータが、
第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製ステップと、
前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSを第一停止箇所で停止させ、前記第二BIOSを用いて前記エラーの処理を行うBIOS制御ステップと、
を有する情報処理方法。
(Appendix 9)
One or more computers
A duplication step of duplicating the first BIOS as a second BIOS in a spare memory which is a memory different from a memory in which the first BIOS in the nonvolatile memory is stored in advance;
If an error occurs in the processing of the first BIOS, the BIOS control step of stopping the first BIOS at the first stop location and processing the error using the second BIOS;
An information processing method comprising:

(付記10)
1又は複数のコンピュータに、
第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製ステップと、
前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSを第一停止箇所で停止させ、前記第二BIOSを用いて前記エラーの処理を行うBIOS制御ステップと、
を実行させるためのプログラム。
(Appendix 10)
On one or more computers,
A duplication step of duplicating the first BIOS as a second BIOS in a spare memory which is a memory different from a memory in which the first BIOS in the nonvolatile memory is stored in advance;
If an error occurs in the processing of the first BIOS, the BIOS control step of stopping the first BIOS at the first stop location and processing the error using the second BIOS;
A program for running

1・・・情報処理装置
100・・・CPU
110・・・複製部
120・・・例外判定部
130・・・BIOS制御部
140・・・メモリ制御部
200・・・メインメモリ
300・・・不揮発メモリ
310・・・BIOS
320・・・予備メモリ
400・・・ストレージ
410・・・OS
420・・・共有メモリ
500・・・インタフェース
DESCRIPTION OF SYMBOLS 1 ... Information processing apparatus 100 ... CPU
DESCRIPTION OF SYMBOLS 110 ... Duplicating part 120 ... Exception determination part 130 ... BIOS control part 140 ... Memory control part 200 ... Main memory 300 ... Non-volatile memory 310 ... BIOS
320 ... Spare memory 400 ... Storage 410 ... OS
420: Shared memory 500 ... Interface

Claims (10)

第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製部と、
前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSの第一処理を停止させ、前記第二BIOSを用いて前記エラーの第二処理を行うBIOS制御部と、
を備える情報処理装置。
A duplication unit that duplicates the first BIOS as a second BIOS in a spare memory that is a memory different from a memory in which the first BIOS in the nonvolatile memory is stored in advance;
When an error occurs in the process of the first BIOS, the BIOS control unit that stops the first process of the first BIOS and performs the second process of the error using the second BIOS;
An information processing apparatus comprising:
前記BIOS制御部は、前記第二処理が完了した場合、前記第二処理を停止させ、前記第一処理の次の処理から前記第一BIOSを再開させる
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein when the second process is completed, the BIOS control unit stops the second process and restarts the first BIOS from a process subsequent to the first process.
OSと、前記第一BIOSと、第二BIOSと、のデータ及びアドレスの内少なくとも一つを制御するメモリ制御部
を備える請求項1又は2に記載の情報処理装置。
The information processing apparatus according to claim 1, further comprising: a memory control unit that controls at least one of data and an address of the OS, the first BIOS, and the second BIOS.
前記メモリ制御部は、前記第二BIOSのデータと、前記第二BIOSのアドレスの内、少なくとも一つを、OSが参照できるようにする
請求項3に記載の情報処理装置。
The information processing apparatus according to claim 3, wherein the memory control unit enables an OS to refer to at least one of the data of the second BIOS and the address of the second BIOS.
前記メモリ制御部は、前記第二BIOSのデータ及びアドレスの内、少なくとも一つを、ランタイムサービスが参照できるようにする
請求項3又は4のいずれか一項に記載の情報処理装置。
The information processing apparatus according to claim 3, wherein the memory control unit enables a runtime service to refer to at least one of the data and address of the second BIOS.
前記メモリ制御部は、前記エラーが発生した前記第一BIOSのアドレスと、前記第二BIOSのアドレスと、を書き換える
請求項3から5のいずれか一項に記載の情報処理装置。
The information processing apparatus according to claim 3, wherein the memory control unit rewrites the address of the first BIOS in which the error has occurred and the address of the second BIOS.
前記第一BIOSの処理において前記エラーが起きたか否か判定する例外判定部
を備える請求項1から6のいずれか一項に記載の情報処理装置。
The information processing apparatus according to any one of claims 1 to 6, further comprising an exception determination unit that determines whether or not the error has occurred in the process of the first BIOS.
前記例外判定部の判定結果に基づいて、前記エラーが起きたと判定された場合、コンピュータを動かすために必要な最小限の所定の動作を行うランタイムサービスを持つ、
請求項7に記載の情報処理装置。
Based on the determination result of the exception determination unit, when it is determined that the error has occurred, a runtime service that performs a minimum predetermined operation necessary for moving the computer is included.
The information processing apparatus according to claim 7.
1又は複数のコンピュータが、
第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製ステップと、
前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSの第一処理を停止させ、前記第二BIOSを用いて前記エラーの第二処理を行うBIOS制御ステップと、
を有する情報処理方法。
One or more computers
A duplication step of duplicating the first BIOS as a second BIOS in a spare memory which is a memory different from a memory in which the first BIOS in the nonvolatile memory is stored in advance;
A BIOS control step for stopping the first process of the first BIOS and performing the second process of the error using the second BIOS when an error occurs in the process of the first BIOS;
An information processing method comprising:
1又は複数のコンピュータに、
第一BIOSを不揮発メモリ内の前記第一BIOSが予め格納されているメモリとは異なるメモリである予備メモリに第二BIOSとして複製する複製ステップと、
前記第一BIOSの処理においてエラーが起きた場合、前記第一BIOSの第一処理を停止させ、前記第二BIOSを用いて前記エラーの第二処理を行うBIOS制御ステップと、
を実行させるためのプログラム。
On one or more computers,
A duplication step of duplicating the first BIOS as a second BIOS in a spare memory which is a memory different from a memory in which the first BIOS in the nonvolatile memory is stored in advance;
A BIOS control step for stopping the first process of the first BIOS and performing the second process of the error using the second BIOS when an error occurs in the process of the first BIOS;
A program for running
JP2018035135A 2018-02-28 2018-02-28 Information processing equipment, information processing methods and programs Active JP7074291B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018035135A JP7074291B2 (en) 2018-02-28 2018-02-28 Information processing equipment, information processing methods and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018035135A JP7074291B2 (en) 2018-02-28 2018-02-28 Information processing equipment, information processing methods and programs

Publications (2)

Publication Number Publication Date
JP2019149127A true JP2019149127A (en) 2019-09-05
JP7074291B2 JP7074291B2 (en) 2022-05-24

Family

ID=67850707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018035135A Active JP7074291B2 (en) 2018-02-28 2018-02-28 Information processing equipment, information processing methods and programs

Country Status (1)

Country Link
JP (1) JP7074291B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150095632A1 (en) * 2013-09-30 2015-04-02 Hon Hai Precision Industry Co., Ltd. Computer booting system and method for computer system
US9542195B1 (en) * 2013-07-29 2017-01-10 Western Digital Technologies, Inc. Motherboards and methods for BIOS failover using a first BIOS chip and a second BIOS chip

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542195B1 (en) * 2013-07-29 2017-01-10 Western Digital Technologies, Inc. Motherboards and methods for BIOS failover using a first BIOS chip and a second BIOS chip
US20150095632A1 (en) * 2013-09-30 2015-04-02 Hon Hai Precision Industry Co., Ltd. Computer booting system and method for computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
露木久修ほか: "難攻不落のBIOSセッティングをマスターせよ! BIOS&ユーティリティー徹底攻略", 日経WINPC, vol. 第12巻 第16号, JPN6021049154, 1 December 2006 (2006-12-01), JP, pages 52 - 73, ISSN: 0004661397 *

Also Published As

Publication number Publication date
JP7074291B2 (en) 2022-05-24

Similar Documents

Publication Publication Date Title
CN102385535B (en) Handling errors during device bootup from a non-volatile memory
JP5724477B2 (en) Migration program, information processing apparatus, migration method, and information processing system
US7774636B2 (en) Method and system for kernel panic recovery
CN105164657A (en) Selective backup of program data to non-volatile memory
US11144328B2 (en) System method to update failover process by running basic input/output (BIOS) system boot code from non-volatile memory express device (NVME)
US10514972B2 (en) Embedding forensic and triage data in memory dumps
JP7355876B2 (en) Program startup method, equipment, and storage medium
CN108139955A (en) For providing the system and method for the Wrong control independently of operating system in computing device
CN101553791B (en) Driver model for replacing core system hardware
CN118444987A (en) Jailhouse non-root cell internal OS restart method, system and storage medium
US7831858B2 (en) Extended fault resilience for a platform
US7430683B2 (en) Method and apparatus for enabling run-time recovery of a failed platform
US10838737B1 (en) Restoration of memory content to restore machine state
CN110134545B (en) Method and system for providing virtual NVRAM based on trusted execution environment
CN103493022A (en) multi-core processor system
WO2026001164A1 (en) Stack file system, system management method, controller, chip device, and vehicle
US8069309B1 (en) Servicing memory in response to system failure
CN111984195A (en) Method and device for improving stability of embedded Linux system
JP4322240B2 (en) Reboot method, system and program
JP4735765B2 (en) Linux program startup system
JP7074291B2 (en) Information processing equipment, information processing methods and programs
JP6160688B2 (en) Information processing apparatus, information processing method, and information processing program
WO2013136457A1 (en) Virtual computer system, information storage processing program and information storage processing method
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
JP2003122644A (en) Computer and its storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220428

R150 Certificate of patent or registration of utility model

Ref document number: 7074291

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150