WO2008075646A1 - 情報処理システムおよび該システムの起動/リカバリ方法 - Google Patents

情報処理システムおよび該システムの起動/リカバリ方法 Download PDF

Info

Publication number
WO2008075646A1
WO2008075646A1 PCT/JP2007/074230 JP2007074230W WO2008075646A1 WO 2008075646 A1 WO2008075646 A1 WO 2008075646A1 JP 2007074230 W JP2007074230 W JP 2007074230W WO 2008075646 A1 WO2008075646 A1 WO 2008075646A1
Authority
WO
WIPO (PCT)
Prior art keywords
rom
image
rom image
information processing
processing system
Prior art date
Application number
PCT/JP2007/074230
Other languages
English (en)
French (fr)
Inventor
Atsushi Abe
Tomoaki Kimura
Original Assignee
International Business Machines Corporation
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 International Business Machines Corporation filed Critical International Business Machines Corporation
Priority to KR1020097009886A priority Critical patent/KR101107446B1/ko
Priority to JP2008550139A priority patent/JP4456653B2/ja
Priority to EP07850718A priority patent/EP2124151B1/en
Publication of WO2008075646A1 publication Critical patent/WO2008075646A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Definitions

  • the present invention relates to a personal computer and other information processing systems, and in particular, an ROM (read-only memory) that stores a basic input / output system (BIOS) program that is initialized at startup, etc.
  • the present invention relates to an information processing system having a plurality of images.
  • a BIOS (Basic Input Output System) program generally performs initialization of various devices, loading of an operating system (OS), etc.
  • a BIOS main unit core block
  • the BIOS performs a cyclic redundancy check, that is, a CRC check (Cyclic Redundancy Check), performs error detection, and if there is no problem, returns the control to the BIOS unit.
  • a CRC check Cyclic Redundancy Check
  • a CPU central processing unit
  • PC program counter
  • the program counter is set to the initial value, and usually points to the beginning of the initialization code on the ROM (read 'only' memory).
  • ROM read 'only' memory
  • the flash ROM initialization code is treated as a boot block (Boot Bloc k) on the flash ROM as well, because the system can not be booted up if it is damaged or erased. Limited Therefore, the initialization code generally stored in the boot block is programmed to operate independently of the function block (FunctionBlock), and the initialization code is initialized when the system initialization is completed. Transfer control to the functional block and perform normal processing.
  • FIG. 12 An example of a flash ROM having a boot block is shown in FIG.
  • boot boot The block is allocated from the memory address 0, and the functional block is allocated after that. This arrangement may differ depending on the type of CPU used in the information processing (computer) system.
  • FIG. 12 (a) and FIG. 12 (b) there is only one boot block each. However, there are one functional block shown in Fig. 12 (a) and two examples shown in Fig. 12 (b). If there are multiple function blocks, for example two as shown in Fig. 12 (b), the new function code (fonction code) force function block 2 contains the function code of the previous point in time. ing. At the next rewriting, the older block of functional block 2 is rewritten.
  • the information processing system using the flash ROM shown in FIG. 12 has the following problems. That is, the initialization code in the boot block is a program that is executed at power-on, so it needs to be executed from the address pointed to by the program counter (basically, address 0). Because there is only one boot block in the ROM, if the contents of the ROM are corrupted for some reason, the system can not boot. If the boot block containing the initialization code fails, it is necessary to remove the ROM itself and re-implement the ROM with a normal boot block. This task is time consuming and costly.
  • two BIOS programs (including a BIOS body and a boot block), that is, a plurality of ROM images, are stored in a flash ROM, and the plurality of ROM images are selectively accessible.
  • Use address switch and WDT watch dock timer. If there is a problem with the normally booted ROM image and the initialization code in the boot block can not be booted, WDT detects the problem and starts the BIOS program of the ROM image without problems. In this case, there is a possibility that the system will not start up if unintended rewrite occurs in the ROM while the WDT operates periodically.
  • Patent Document 3 has two BIOS data blocks (including a boot block and a core block) stored in a flash ROM, and based on information stored in a non-volatile memory (NRAM),
  • the flash ROM further includes an address conversion unit that switches the addresses of two BIOS programs. Determine which BIOS data is to be rewritten using the Valid flag indicating which BIOS data stored in NRAM is active and the Update flag indicating that the rewriting is completed normally. That is, by distinguishing BIOS data to be read from BIOS data to be rewritten, it is intended that the system can be normally booted even if rewriting of BIOS data fails at the next boot.
  • the boot block contains a program that determines the valid BIOS block, there is a possibility that the system will not boot if there is a problem with the non-rewritable boot block.
  • Patent Document 4 With regard to detection of an abnormality in a memory device, in Patent Document 4, data read / write control is simultaneously performed on the same portion of each memory block of a RAM (random access' memory) having a plurality of memory blocks. A process for detecting an abnormality by performing abnormality detection by determining whether the data read from the same part of each of a plurality of memory blocks is the same or not based on the calculation result from the exclusive OR circuit under this control. It is disclosed that the time can be shortened. Similarly, in Patent Document 5, in a storage device to which a plurality of RAMs are allocated, using a majority logic circuit and an exclusive OR circuit, an error occurs in a portion where an error occurs. A method is disclosed that makes decisions on majority of the data in the RAM. These can only be applied to RAM, and the number of RAMs must be odd, and always the correct data must be stored in odd (at least 3) RAMs.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2000-148467
  • Patent Document 2 Japanese Patent Application Laid-Open No. 2004-038529
  • Patent Document 3 Japanese Patent Application Laid-Open No. 2000-163268
  • Patent Document 4 Japanese Patent Application Laid-Open No. 5-28056
  • Patent Document 5 Japanese Patent Application Laid-Open No. 61-61299
  • An object of the present invention is to enable system startup without any problem even if a boot block of a BIOS program stored in ROM at the time of startup of an information processing system is broken or failure occurs for some reason. With the goal.
  • Another object of the present invention is to rewrite a ROM image in a failed ROM at the time of system startup with a correct ROM image so that a broken ROM image can be recovered (recovered).
  • the present invention has a comparison circuit (for example, exclusive OR (XOR)) for checking whether the image contents of a plurality of ROM images are the same and have the same plurality of ROM images.
  • a comparison circuit for example, exclusive OR (XOR)
  • XOR exclusive OR
  • An information processing system and boot method for booting a system by switching from a broken ROM image to another normal ROM image using a circuit) and a switch for switching ROM images (addresses) I will provide a.
  • the present invention provides an information processing system and method for rewriting a broken ROM image to a normal ROM image and recovering it.
  • An information processing system has a plurality of basic input / output system (BIOS) programs, and a first ROM image storing the BIOS program and a second ROM in which the first ROM image is copied.
  • Storage means comprising an image, coupled to the storage means, and comparing the image content of the first ROM image and the second ROM image output from the storage means The first ROM image is first selected so that the system is started by the BIOS program of the first ROM image coupled to the comparison means and the comparison means, and the image contents differ in the comparison result of the comparison means.
  • switching means for switching the selected first ROM image to a second ROM image.
  • the comparison means is an exclusive OR circuit
  • the switching means is an address switch for switching the address of each ROM image.
  • the storage means further stores program code for outputting the data content of each ROM image.
  • the information processing system detects error data not in the first and second ROM images in order to detect which ROM image is broken when the data contents are different. It further comprises error data pattern detection means for detecting and inputting the detection result to the switching means. When an erroneous data pattern is detected in one of the first ROM image and the second ROM image by the erroneous data pattern detection means, the switching means switches to the other ROM image.
  • the storage means is a flash ROM, and the first ROM image and the second ROM image are stored in one flash ROM or separately in separate flash ROMs.
  • An information processing system has a plurality of basic input / output system (B IOS) programs, and a first ROM image and a first ROM image storing BIOS programs are copied. Copy the first ROM image pair with the second ROM image and the third ROM image and the third ROM image that store another BIOS program that is the same as or different from the BI OS program.
  • B IOS basic input / output system
  • Storage means including a second ROM image pair comprising the fourth ROM image, and the storage means coupled to the storage means to receive the first ROM image pair output from the storage means;
  • a first comparison means for comparing the image and the second ROM image, and a storage means coupled to the storage means for receiving the second ROM image pair output from the storage means;
  • Each ROM image is identical based on respective inputs of the second comparison means and the first comparison means and the second comparison means, based on the respective comparison results from the first comparison means and the second comparison means.
  • Select ROM image pair with image content The first ROM image pair is selected first so that the system is booted by the BIOS program of one ROM image included in the first ROM image pair.
  • the switching means for switching to the second ROM image pair is coupled to the switching means, and the switching is performed.
  • the system boot process is continued with the BIOS program stored in the first ROM image of the first ROM image pair.
  • a CPU that controls the system to rewrite the third ROM image and the fourth ROM image of the second image pair with the first ROM image.
  • the storage means further stores a program 'code for outputting data contents of each of the first ROM image pair and the second ROM image pair.
  • the switching means comprises a counter for counting the number corresponding to the selected ROM image pair.
  • a first ROM image and a first ROM image storing a BIOS program are provided.
  • a method for booting an information processing system and recovering a corrupted ROM image in an information processing system including a second ROM image obtained by copying the first ROM image comprising: a BIOS for the first ROM image; If the image contents are different in the steps of booting the system by the program, comparing the image contents of the first ROM image and the image contents of the second ROM image, and if the image contents are different, is there an error data pattern in each ROM image?
  • the method according to the present invention includes the step of rewriting the second ROM image with the first ROM image if an error data pattern is detected in the second ROM image. Also, erroneous data patterns are not detected in the first and second ROM images. V, further includes the step of displaying a system error.
  • an information processing system including a third ROM image storing another BIOS program the same as or different from and a second image pair comprising a fourth ROM image to which the third ROM image is replicated
  • a method of booting an information processing system and recovering a corrupted ROM image comprising the steps of: booting the system with a BIOS program of the first ROM image of the first ROM image pair; In the step of comparing the image contents of the ROM image and the second ROM image, and in the comparison, if the image contents are different, switch to the second ROM image pair and reset the system.
  • the method includes the same image content of the first and second ROM images, and a third ROM image. And compare the image contents of the 4th ROM image to the step! /, If the image contents of the 3rd and 4th ROM images are different, the 3rd and 4th ROM images as the 1st ROM It further includes the step of rewriting with an image.
  • an information processing system including a first ROM image storing a BIOS program and a second ROM image copied from the first ROM image
  • activation of the information processing system and data The procedure for booting the system with the BIOS program of the first ROM image and the procedure for comparing the image contents of the first ROM image and the second ROM image in order to perform recovery of the broken ROM image by the computer, and the ratio
  • the procedure for detecting whether there is an error data pattern in each ROM image, and if the error data pattern is detected in the first ROM image switch to the second ROM image, Reset the system and the second ROM image
  • a program for causing the computer to execute a procedure for booting the system with the BIOS program of the page and a procedure for rewriting the first ROM image in which the erroneous data pattern is detected with the second ROM image.
  • a first image pair comprising a first ROM image storing a BIOS program and a second ROM image in which the first ROM image is duplicated, the BIOS program, and
  • an information processing system including a third ROM image containing the same or different different BIOS program and a second image pair comprising a fourth ROM image in which the third ROM image is duplicated!
  • the procedure for booting the system with the BIOS program of the third ROM image of the OM image pair is compared with the image contents of the third ROM image and the fourth ROM image.
  • the information processing system 100 includes a CPU (central processing unit) 102, a ROM (read 'only' memory) 200 including a plurality of ROM images each storing a BIOS program, a RAM (random 'access' memory), And a memory 106 including non-volatile RAM (NVRAM), a boot / recovery mechanism 300 according to the present invention, all of which are connected to the system 'bus 112. Details of the startup / recovery mechanism 300 will be described later.
  • Nonvolatile RAM can retain the stored information even after powering down the system 100.
  • the system 'bus 112' is an input / output controller
  • the display 'controller 122 is an external display 124
  • a hard disk drive (HDD) 128 as an auxiliary storage device is also connected via a hard disk drive (HDD) controller 126.
  • a storage medium such as the ROM 200 or the HDD 128 can give an instruction to the CPU 102 in cooperation with an operating system (OS), and can record a code of a computer program for implementing the present invention and various data.
  • system 'bus 112 may be connected to communications network 134 via communications adapter 132.
  • the CPU 102 When the information processing system 100 is powered on, the CPU 102 sets its operating parameters (many of which are stored in the memory 106), initializes the memory 106, and checks the system components (components). And do the initialization and boot the operating system before starting the normal user operation.
  • the CPU 102 When power is supplied to the information processing system 100, the CPU 102, which is a system processor, starts executing a part of a BIOS program called power on reset (POR).
  • POR power on reset
  • the CPU 102 controls the entire information processing system in accordance with the code of the computer program written to the memory 106.
  • the CPU 102 can also access the memory 106 and the like according to the data of the BIOS program stored in the ROM 200 at the time of startup.
  • the ROM 200 is a flash ROM that is reprogrammable. Flash ROM is a memory that is readable and writable and retains its contents even when the power is turned off.
  • the information processing system starts up, settings are made for the input / output devices of the information processing system (also called computer 'system' in the following description Performs processing etc.
  • the BIOS data is stored!
  • ROM image 1 is stored in a memory such as a ROM, PROM, or EPR OM, and may include files, executable program codes, and data.
  • the ROM 200 includes a plurality of rewritable and bootable ROM images.
  • the ROM image 1 202 and the ROM image 2 204 in FIG. 2 store the same image contents at normal times with the same capacity. That is, ROM image 2 is a duplicate of ROM image 1.
  • ROM image 1 is the start (upper side) add From the Les A, ROM Image 2 shall be stored from the start (lower side) address B.
  • the ROM image 1 202 has (1) a code of an initial setting program which is initially read by the CPU 102 at boot time, and is a rewritable pseudo boot process 214 (normal boot block Because it is different from a normal boot program in that rewriting is performed, it is called a pseudo boot block), and (2) a functional block 216 having initialization data of a peripheral device such as the memory 106 ( 3)
  • normal BIOS programs include boot blocks and function blocks (see Figure 12).
  • the ROM image 2 204 is a duplicate of the ROM image 1 202, and normally stored in the BI OS program 2 220 power S having the same contents as the BOIS program 1 210. That is, the BIOS program 2 220 includes a pseudo boot block 224, a functional block 226, and a boot / recovery block 228. In normal operation, each block is the same as each block of the BIOS program 1210.
  • a ROM storing a plurality of ROM images in one ROM may store a ROM image in each of a plurality of separate ROM devices. In the following description, the case where a plurality of ROM images are stored in one ROM is used.
  • the basic configuration of the boot / recovery mechanism 300 is a comparator circuit 302 for comparing a plurality of ROM images output from the flash ROM 200, and switching addresses of ROM images. It includes an address switch 304 and a system reset unit 306.
  • the comparison circuit 302 will be described using an exclusive OR (XOR) circuit, but is not limited thereto.
  • the boot / recovery mechanism 400 preferably includes an error data pattern detection circuit 308 to detect which ROM image is corrupted at boot time.
  • This startup / reclamation mechanism can be implemented using an IC chip, for example, an FPGA (Field Programmable Gate Array).
  • the function of the startup / recovery mechanism 300 is that if one ROM image selected at startup of the information processing system is broken! / (When the comparison circuit! /, The same image is normal. If two ROM images that should be content are detected as different) are selected, the other ROM images are selected and system reset is performed by system reset, specifically CPU reset. Then reboot the system with the newly selected ROM image.
  • another function of the boot / recovery mechanism 300 is to execute the boot / recovery program stored in the non-corrupted ROM image by the CPU so that the data of the corrupt ROM image is a normal ROM image. It is possible to replace it, that is, copy the image contents (also called copy in the following description).
  • FIG. 3 An exemplary configuration of the information processing system according to the first embodiment of the present invention is shown in FIG.
  • a rewritable flash ROM 200 having a plurality of ROM images (ROM image 1 202 and ROM image 2 204) containing the same data contents in normal operation is used.
  • the system according to the present invention is coupled to the ROM 200, and responds to the comparison result from the comparison circuit 302 with a comparison circuit 302 for comparing each ROM image output from the flash ROM as the storage means.
  • an address switch 304 for switching each ROM image, and a system reset means 306 for resetting (system reset) to the CPU in response to the address switch, ie, the switching of the ROM image.
  • / Recovery mechanism 300 is included.
  • program code for outputting each ROM image is stored in the ROM 200.
  • the system is configured so that the CPU 102 executes one of the BIOS programs stored in the plurality of ROM images 202 and 204 in the flash ROM 200 via the bus 112! //.
  • the startup / recovery mechanism 400 in the information processing system according to the second embodiment of the present invention has the ROM image 202 or 204 broken in addition to the configuration of FIG. Error data pattern detection circuit 308 for detecting
  • the error data pattern detection circuit 308 detects whether an error data pattern (for example, FF data) is present in each ROM image output from the flash ROM 200.
  • an error data pattern for example, FF data
  • Comparison circuit 302 is, for example, a difference circuit for obtaining a difference between respective data signals from a data bus including a plurality of signal lines connected to ROM, and a logical sum (OR) of difference signals between respective data. It is composed of an OR circuit. If the two ROM images are the same data, all the differential signals have the same value 0, and the output of the OR circuit becomes the value 0. If the data of the two ROM images are different, one of the differential signals is the value. It becomes 1 and the output of the OR circuit becomes value 1. In other words, it is possible to compare two ROM images by checking the output of the OR circuit. Note that an exclusive logical sum (XOR) circuit with a relatively simple circuit configuration may be used as the comparison circuit 302! /. At this time, use a general exclusive-OR circuit (XOR circuit) and use S power.
  • XOR exclusive logical sum
  • An example of the address switch 304 is a circuit that outputs a chip select (CS) signal that selects an address line A with a value 1 or a value 0, and has a function to invert the value output from the output pin There is. For example, when the signal (value 1) from the comparison circuit is received while the value 0 is output from the output pin as address line A (pointing to the start address of ROM image 1), the address line output from the output pin Change the value of A to 1. Switching between ROM image 1 and ROM image 2 is controlled by a chip select (CS) signal for selecting the address line corresponding to these ROM images. In operation, when ROM image 1 is selected first, this address line A has a value 0, and the CS signal points to ROM image 1.
  • CS chip select
  • the address switch 304 sets this address line to the value 1 in order to switch to the ROM image 2 when the value 1 is input from the comparison circuit because the image content of each ROM image is different. .
  • the address switch 304 is realized, for example, by a flip flop circuit that inverts an output value each time a signal from the comparison circuit is input.
  • the system reset means 306 When the system reset means 306 receives a signal from the address switch 304 indicating that the ROM image has been switched, it generates a reset signal for resetting the CPU 102 of the system 100.
  • a status such as a system error is displayed on the external display 124 via the display controller 122. It is also possible.
  • FIG. 3 A flow chart showing the operation of the information processing system according to the first embodiment shown in FIG. 3 is shown in FIG. In this operation, the broken ROM image 1 is switched to the normal ROM image 2.
  • ROM images such as ROM image 1 and ROM image 2 are abbreviated as ROM 1 and ROM 2.
  • the ROM2 204 contains the same BIOS program as the ROM1 202, in other words, the same data block.
  • step S503 if the data in ROM1 is corrupted, the data in ROM1 and the data in ROM2 do not match, that is, the data contents differ, so the output power S'l 'of XOR circuit 302 (value 1 Will be detected as a startup error.
  • the address switching unit 304 switches to the address of the ROM 2 to output the data of the ROM 2 to the CPU, ie, to switch to the BIOS program of the ROM 2 (S 504).
  • the CPU 102 is reset using the system reset unit 306, and the CPU 102 is restarted using the BIOS program of the ROM 2 (S506).
  • FIG. 4 shows an information processing system according to a second embodiment in which a component for detecting which one of the ROM images 202 and 204 is broken is added in the boot / recycle mechanism.
  • a component for detecting which one of the ROM images 202 and 204 is broken is added in the boot / recycle mechanism.
  • the start-up / recycle mechanism 400 when the start-up / recycle mechanism 400 according to the present invention detects an error by the comparison circuit, it detects an error data pattern detection circuit (FF for the sake of simplicity) to detect which ROM image has a problem. It further includes a detection circuit 308).
  • FF error data pattern detection circuit
  • the information processing system compares the image contents of each ROM image with the flash ROM 200 having a plurality of ROM images 202 and 204 (ROM 1 and ROM 2) of the same image contents.
  • a comparison circuit 302 (which can be realized by an exclusive OR (XOR) circuit) coupled to a flash ROM, and a plurality (here, two) of ROM images in response to comparison (operation) results from the comparison circuit 302
  • an error data pattern detection circuit 308 for detecting which ROM image is broken, and a system reset means 306.
  • the system further includes a CPU 102, which is coupled to the address switch 304 via a system reset means 306.
  • FIG. 6 shows the method of writing data to ROM in the configuration of Figure 4. Basically, the following steps are performed.
  • a feature of this writing method is that, if writing of data to the ROM is successful, all of the data is written without any problem (S 605). However, if something goes wrong on the way When there is a problem in writing due to a harm or the like, normal data for the head 610 of the ROM image is not written, and data of FF remains (S 604). If it is the area of ROM 1 (ROM image 1) that the data of FF remain, and if the data of FF does not remain in the area of ROM 2 (ROM image 2), the normal data will be written in ROM 2. Know that In FIG.
  • the power described in the example of the first writing using the portion excluding the head portion 610 of the initialization code may be an arbitrary position 610 'of the same address from the start addresses of the two ROMs 1 and 2 respectively. That is, after detecting an error by the XOR circuit in the configuration of FIG. 4, it is checked whether there is data of the FF at the head 610 or at any place 610 'in order to confirm which ROM has the problem. By doing this, it becomes possible to identify the problem ROM image.
  • the error data pattern detection circuit 308 is, similarly to the comparison circuit 302, for example, a difference circuit for taking a difference between respective data signals from a data bus including a plurality of signal lines connected to the ROM, and The OR circuit and the power, which take the logical sum (OR) of the difference signal of the data of. If the difference between the data of the normal ROM image and the data signal from the ROM image including the error data pattern (for example, OxFF) is taken, and the output of the OR circuit to which these difference signals are input is the value 1, each ROM It indicates that the data content of the image is different, which enables detection of erroneous data patterns.
  • a difference circuit for taking a difference between respective data signals from a data bus including a plurality of signal lines connected to the ROM, and The OR circuit and the power, which take the logical sum (OR) of the difference signal of the data of. If the difference between the data of the normal ROM image and the data signal from the ROM image including the error data pattern (for example, OxFF) is
  • FIG. 4 A flowchart showing an operation using the information processing system according to the second embodiment shown in FIG. 4 is shown in FIG.
  • ROM 1 data including program code
  • the ROM 1 BIOS program is started.
  • POR power on reset
  • S701 the first address of the initialization code in ROM1 and ROM2 is the same address at an arbitrary place
  • the image is read (S702). ).
  • the image outputs of the ROM 1 and ROM 2 are input to the XOR circuit 302, and the operation is determined based on the calculation result (S703).
  • the startup is normally performed as it is (S712).
  • the FF detection circuit 308 detects writing failure and which ROM the remaining FF data (OxFF) exists (S 70 Four). If OxFF is detected in the ROM 1, in other words, if the data in the ROM 1 is corrupted, the address switch 304 switches to the ROM 2 (S706), and then the CPU is reset by the system reset unit 306 (S707). In step S708, the normal activation process is performed.
  • the normal ROM 2 is copied to the ROM 1 where the data is broken, that is, the image of ROM 1 is rewritten with the image of ROM 2 (S 709).
  • the FF detection circuit 308 detects OxFF in the ROM 2 without detecting OxFF in the ROM 1
  • normal start processing is continued (S 710).
  • the normal ROM 1 is copied to ROM 2 whose image is corrupted such as data (S711). If neither of the ROM 1 and the ROM 2 detects the OxFF, a system error is output to the external display 124 or the like via the display controller 122 (S 705).
  • ROMx (X is an integer)
  • BIOS program the BIOS program of the ROM image
  • another ROM image is added to another ROM.
  • copying to an image may be expressed as, for example, "Copy ROM 2 to ROM 1".
  • FIG. 3 An information processing system according to a third embodiment of the present invention is shown in FIG.
  • the basic configuration of FIG. 3 is extended, and the error data pattern detection circuit (FF detection circuit) 308 is not used, and the information processing system is normally activated to recover the broken ROM image.
  • the power of S can be, including start / recovery mechanism 800.
  • ROM image x (x is an integer) is abbreviated ROMx.
  • each ROM image contains a BIOS program as shown in FIG.
  • the flash ROM 200 of FIG. 8 includes a plurality (even number) of ROM images, here four ROM images, and two ROM images constitute one image pair.
  • the image pair number X is represented as an image pair (x), where X is an integer.
  • the flash ROM 200 has (1) two identical capacities and the same
  • the ROM image of the data contents has a pair of ROM1 and ROM2 (in other words, ROM2 is a duplicate of ROM1) ROM image pair (1) 810, (2) two identical capacities,
  • the information processing system of FIG. 8 compares, in addition to the above-mentioned flash ROM 200, the respective image outputs of the ROM images (ROM 1 and ROM 2 and ROM 3 and ROM 4) of these ROM image pairs 810 and 820, for example.
  • Comparison circuit l (XOR circuit 1) 812 and comparison circuit 2 (XOR circuit 2) 822 which are circuits to be combined by exclusive OR operation, an address switch 804 for switching two ROM image pairs, and an address And a system reset means 306 coupled to the switch 804 for resetting the CPU 102.
  • ROM3 may be the same ROM image as RO Ml or a different ROM image.
  • the BIOS program stored in the ROM 3 may be the same power as the BIOS program stored in the ROM 1 or another different BIOS program.
  • the address switcher 804 selects a ROM image pair, and can count the number n corresponding to the currently selected ROM image pair so that the BIOS program of each ROM image can be activated.
  • the exclusive OR (XOR) circuit is '1' (value 1). It is detected that the ROM image pair is broken! /.
  • a signal (value 1) is sent to the address switch 804, and another ROM image is transmitted by the address switch.
  • a series of operations are possible, such as switching to the address of the page pair and attempting to boot with the BIOS program of one of the ROM images in the switched ROM image pair.
  • FIG. 10 has an even number of 2N (N is an integer of 2 or more) ROM images.
  • N is an integer of 2 or more
  • n ROM image pairs 1010, 1020,---103 0 are the same ROM images in the respective image pairs of ROM 2 n-1 and ROM 2 n (here, ROM 1 / ROM 2 and ROM 3 / ROM 4 ' ⁇ ⁇ ⁇ )
  • each ROM image in another ROM image pair may be a different image, ie, a different BIOS program.
  • ROM images which is the basic configuration of the third embodiment, will be described with reference to the flowcharts of FIGS. 8 and 9.
  • four ROM images constitute two ROM image pairs.
  • the image pair number X is represented as an image pair (x), and X is an integer. That is, the case of using the system configuration including the image pair (1) 810 which is also a ROM1 / ROM2 output and the image pair (2) 820 consisting of the ROM3 / ROM4 will be described according to the flowchart of FIG. In Fig.
  • 0 ⁇ / 11/2 means 1 ⁇ 0 ⁇ / [image 1 (1 ⁇ 0 ⁇ / [1) and 1 ⁇ 0 ⁇ / [image 2 (1 ⁇ 0 ⁇ [ The image pair in 2) is shown, and "ROM 1/2 start processing" indicates that the boot processing is performed by the BIOS program of one ROM image of the image pair. The same notation applies to "ROM 3/4".
  • the image output of ROM1 / ROM2 is calculated by XOR circuit 1812 (S905), and if the output is '0', it is checked that the image contents of ROM1 and ROM2 are the same and normal, so ROM3 And the image contents of the ROM 4 are compared (S921), and if the image contents are different, the image of the ROM 1 is copied to each image of the ROM3 / ROM4 (S922). If the image contents of the ROM 3 and the ROM 4 are the same, there is no problem, and the boot is continued, for example, with the BIOS program of the ROM 1 (S950).
  • step S 905 If the output power S '1' of the XOR circuit 1 812 in step S 905, the count is incremented by 1 in the counter (n) 805 and n is set to 2 (S 906), and the address switch 804 is ROM image
  • the second ROM3 / ROM4 image pair is set to (2) 820, and the CPU 102 is reset (S 907), and the ROM3 / ROM4 image pair (2). 2)
  • the boot process is performed using one of the ROM images 820, for example, the BIOS program of ROM 3 (S908). Further, the image outputs of ROM3 and ROM4 are input to the XOR circuit 2822 and arithmetic processing is performed (S909).
  • ROM3 / ROM4 image pair (2) 820 is normal, so the ROM image 3 (ROM3) image may be corrupted, the ROM image pair (1 Copy to the ROM image 1 and ROM image 2 of ROM 810 (ROM1 / ROM2) (S931). Further, boot processing is performed using, for example, the BIOS program of the ROM 3 (S950). If the result of the arithmetic processing of the XOR circuit 2 in step S909 is' 1, 'it is correct for two ROM image pairs! /, No data exists! /, As external ones via the display' controller 122 System error on display 124 It displays as (S910).
  • FIG. 10 is a configuration example of an information processing system in which the configuration of FIG. 8 is expanded.
  • FIG. 11 illustrates the operation of booting the system and recovering a corrupted ROM image using this generalized configuration.
  • S 1101 power on reset
  • S 1102 power on reset
  • n and N are compared using the counter 1005 (S 1103) Then, in order to set the n-th ROM image pair (corresponding ROM image is ROM2n-1 ROM2n), the address switching unit 1004 is switched, the CPU 102 is reset (S1104), and the ROM2n in the ROM image pair is reset.
  • — 1 Performs boot processing using the BIOS program of the ROM image of either ROM2n (usually ROM2n-1)!
  • any ROM image pair has successfully booted, follow the steps shown in FIG. 11 (a) to prepare for the next boot by setting the number p of the ROM image pair that can not boot properly. If the number of the ROM image pair successfully booted is smaller than the number n, the ROM image pair p that failed to boot properly (including ROM2p-l ROM2p) can be booted correctly. The rewriting (copying) process is performed (S1121 to S1124).
  • image pair (1) 810 of ROM1 / ROM2 in Figure 8 is broken
  • the image of 0 ⁇ 13 of the image pair (2) 820 of ROM3 / ROM4 that was successfully booted is copied to ROM1 and ROM2 as shown in (a) of FIG.
  • the steps in (a) and (b) in Fig. 11 are the start / recycle blocks stored in the ROM image (see Fig. 2) for counting p, m and comparing the data contents of ROM 2m-l and ROM 2m. Can be embedded in the program's code).
  • the information processing system of the present invention is not limited to a computer system such as a personal computer.
  • the present invention is not limited to this. It is applicable to the information processing system in general.
  • the operating system Windows (registered trademark) XP, AIX (registered trademark), Linux (registered trademark), etc. are preferable, but the present invention is not limited to a specific operating system environment. Les.
  • the power for switching between two ROM images storing the BIOS program respectively is three or more.
  • the ROM images (each containing a BIOS program) may be grouped, and the address switcher may be configured to switch the groups in order.
  • a flash ROM is used as a memory for storing a BIOS program, and an EEPROM (Electronically Erasable and Programmable Read Unly Memory).
  • Etc. may be stored.
  • FIG. 1 is a diagram showing an example of the overall configuration of an information processing system according to the present invention.
  • FIG. 2 is a view showing a ROM image in a flash ROM.
  • FIG. 3 is a diagram showing an information processing system according to the first embodiment including a start / recycle mechanism according to the present invention.
  • FIG. 4 Including start-up / recycle mechanism having error data pattern detection circuit according to the present invention
  • FIG. 10 is a diagram showing an information processing system according to a second embodiment.
  • FIG. 5 is a flowchart showing the operation of the first embodiment according to the configuration of FIG. 3;
  • FIG. 6 is a diagram showing the relationship between a method of writing data in a flash ROM and an error data pattern (FF).
  • FIG. 7 A flowchart showing an operation of the second embodiment according to the configuration of FIG.
  • FIG. 8 is a diagram showing an information processing system according to a third embodiment having two ROM image pairs according to the present invention.
  • FIG. 9 A flowchart showing an operation of the third embodiment according to the configuration of FIG.
  • FIG. 10 is a diagram showing an information processing system having N ROM image pairs according to the present invention.
  • FIG. 11 is a flowchart showing the operation of the embodiment according to the configuration of FIG. 10;
  • FIG. 12 shows an example of a ROM image storing a prior art BIOS program. It is an example of (a) single function block and (b) multi function block.
  • HDD Hard disk 'drive
  • HDD Hard disk ⁇ Drive
  • BIOS program 1
  • BIOS program 2 BIOS program 2

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 情報処理システムの起動プロセス中にブートブロックが何らかの原因で壊れていてもシステムを支障なく起動させる装置および方法を提供する。 【手段】情報処理システムは、ブート可能でBIOSプログラムをそれぞれ含む複数のROMイメージを格納する書き換え可能なROMと、複数のROMイメージの各ROMイメージのデータ内容を比較する比較回路と、該比較回路での各ROMイメージのデータ内容の比較結果の出力により、正常なROMイメージに切り替えるアドレス切り替え器とを備え、正常なROMイメージを用いてシステムを起動させる。さらに、壊れているROMイメージを正常なROMイメージで書き換えて次の起動に備える。

Description

明 細 書
情報処理システムおよび該システムの起動 Zリカバリ方法
技術分野
[0001] 本発明は、パーソナルコンピュータ他の情報処理システムに関するものであり、特 に起動時に初期化などを行う基本入出力システム(BIOS)プログラムを格納する RO M (リード ' ·オンリ一 ·メモリ)イメージを複数有する情報処理システムに関する。
背景技術
[0002] BIOS (Basic Input Output System:基本入出力システム)プログラムは、一般に各 種デバイスの初期化やオペレーティングシステム(OS)のロードなどを行う BIOS本体 (コアブロック)と、コンピュータの電源オンやリセット時の直後に起動し、 BIOS本体の 巡回冗長検査、すなわち CRCチェック(CyclicRedundancy Check)などを行って誤り 検出を行い、問題がなければ制御を BIOS本体に戻すブートブロック(Boot Block)と 力、ら構成される。 BIOSプログラムが正常に動作をしないとコンピュータの起動ができ なくなるので、これに対処するためにいくつかの構成が採用されている。
[0003] 一般的に、 CPU (中央演算処理装置)はプログラム.カウンタ(ProgramCounter : PC )に設定されているアドレスより命令を読み込み実行する。電源投入時、プログラム- カウンタは初期値に設定されており、通常は、 ROM (リード 'オンリー'メモリ)上の初 期化コードの先頭を指している。なお、近年では ROMに書き込み可能なフラッシュ R OMを使うことが多ぐこの場合プログラムに問題が発生した際にもフラッシュ ROMを 外すことなく書き換えることができるというメリットがある。
[0004] フラッシュ ROMの初期化コードは、それ自体が破損したり消去されたりした場合、 システムの起動ができなくなるため、フラッシュ ROM上でもブートブロック(Boot Bloc k) として特別に扱われ書き換えは極力制限される。そのため、一般的にブートプロ ックに収められている初期化コードは、機能ブロック(FunctionBlock)とは独立して動 くようにプログラムされており、初期化コードはシステムの初期化が終了した時点で機 能ブロックに制御を移し通常の処理を行う。
[0005] ブートブロックを有するフラッシュ ROMの一例を図 12に示す。一般的にブートブロ ックはメモリアドレスの 0番地から配置され、機能ブロックはそれ以後に配置される。こ の配置は、情報処理(コンピュータ)システムに用いる CPUの種類によって異なる場 合がある。図 12の(a)、図 12 (b)の例ではブートブロックはそれぞれ 1つしかない。し かし、機能ブロックは図 12 (a)に示す例は 1つ、図 12 (b)に示す例は 2つある。機能 ブロックが複数、例えば、図 12 (b)のように 2つある場合は、機能ブロック 1には新しい 機能コード(fonction code)力 機能ブロック 2にはその一つ前の時点の機能コードが 入っている。次に書き換える時には、機能ブロック 2の古い方のブロックを書き換える 。これはもし機能ブロック 2の方に入れた機能コードが何らかの問題で書き換えに失 敗した場合でも、残っている機能ブロック 1の機能コードを用いて CPUを動作させる ことができるためである。し力、し、ブートブロックについては、この機能ブロックのように 複数持つことができない。これは CPU力 Sリセットされた後に起動される場合に、最初 に 0番地から動作しょうとするため、この場所にブートブロックを配置する必要がある ためである。すなわち、ブートブロックは基本的に 1箇所しか配置できない。
[0006] 図 12に示すフラッシュ ROMを用いる情報処理システムでは次の問題がある。すな わち、ブートブロックにある初期化コードは、電源投入時に実行されるプログラムであ るため、プログラム 'カウンタが指すアドレス(基本的には 0番地)から実行される必要 がある。し力、し、 ROMにはブートブロックは 1つしかないため、 ROMの内容が何らか の原因で壊れた場合にはシステムが起動できなくなる。初期化コードが入っているブ ートブロックに障害が発生した場合、その ROM自体を取り外し、正常なブートブロッ クを有する ROMを再実装する必要がある。この作業は時間とコストがかかる。
[0007] 以上の問題を解決するために、複数の BIOSプログラムを格納するための複数の R OMイメージを準備し、これらを切り替える方法として幾つかの方法が開示されて!/、る 。たとえば特許文献 1では、 2つの ROM領域(BIOS ROMA, BIOS ROMB)とそ の 2つの ROMを選択的にアクセス可能とするアドレス切り替え回路を持つシステムに おいて、書き換え時のエラーまたは起動時におけるチェックサム(check sum)を利用 してその 2つの ROM領域のうちの 1つの ROM領域が不完全であると検知した場合 にのみ、ブートブロックによってアドレス切り替え器の状態を変更し問題の無いもう一 方の ROM領域を起動させる方法が開示されている。しかしながら、この方法ではブ ートブロック自体に問題があった場合に、 ROM領域を切り替えることができな!/、と!/ヽ う問題がある。
[0008] さらに特許文献 2では、フラッシュ ROMに 2つの BIOSプログラム(BIOS本体とブ ートブロックを含む)、言い換えれば複数の ROMイメージを格納し、この複数の RO Mイメージを選択的にアクセス可能とするアドレス切り替え器および WDT (ウォッチド ックタイマ)を用いる。もし通常起動する ROMイメージに問題があり、ブートブロック内 の初期化コードが起動できなくても、 WDTによって問題を検知し問題の無い ROMィ メージの BIOSプログラムを起動させる。この場合、 WDTが周期的に動作するまでの 間に ROMに意図しない書き換えが発生した場合に、システムが起動しなくなる可能 十生がある。
[0009] 特許文献 3では、フラッシュ ROMに格納された 2つの BIOSデータ ·ブロック(ブート ブロックとコアブロックを含む)を有し、不揮発性メモリ (NRAM)に格納されている情 報に基づいて、該フラッシュ ROM内の 2つの BIOSプログラムのアドレスを切り替える アドレス変換部をさらに備える。 NRAMに格納されるどちらの BIOSデータで立ち上 力 Sつているかを示す Validフラグおよび書き換えが正常に終了したことを示す Updat eフラグを用いて、どちらの BIOSデータを書き換えるかを決める。すなわち読み込み を行う BIOSデータと書き換えを行う BIOSデータを区別することにより、次回の起動 時に BIOSデータの書き換えに失敗してもシステムが正常に起動することを目的とし ている。この場合、ブートブロック内に有効な BIOSブロックを判別するプログラムを含 むため、書き換えできないブートブロックに不具合があるとシステムが起動しなくなる 可能性がある。
[0010] メモリ装置の異常検出については、特許文献 4では、複数のメモリブロックを有する RAM (ランダム.アクセス 'メモリ)の各メモリブロックの同一箇所に同時にデータの読 み出し書き込みの制御を行い、この制御によって複数のメモリブロック各々の同一箇 所から読み出されたデータが同一か否かを排他的論理和回路からの演算結果から 判定することによって異常検出を行うことで異常検出のための処理時間を短くできる ことが開示されている。同様に特許文献 5では、複数の RAMを割り当てた記憶装置 において、多数決論理回路と排他的論理和回路を用いて、エラーが発生した箇所の RAMのデータについて多数決をもって判断する方法を開示している。これらは RA Mへの適用しかできず、また RAMの数が奇数である必要があり、さらに常に正しい データを奇数 (少なくとも 3つ)の RAMに入れる必要がある。
特許文献 1:特開 2000— 148467号公報
特許文献 2:特開 2004— 038529号公報
特許文献 3:特開 2000— 163268号公幸
特許文献 4 :特開平 5— 28056号公報
特許文献 5:特開昭 61— 61299号公報
発明の開示
発明が解決しょうとする課題
[0011] 本発明の目的は、情報処理システムの起動時において ROMに格納される BIOS プログラムのブートブロックが何らかの原因で壊れるあるいは障害が発生した場合で も、システムを支障なく起動できるようにすることを目的とする。
[0012] 本発明の別の目的は、システム起動時に障害の発生した ROM内の ROMイメージ を正しい ROMイメージに書き換え、壊れた ROMイメージをリカバリ(回復)できるよう にすることを目的とする。
課題を解決するための手段
[0013] 上記課題を解決するために、本発明は、複数の同じ ROMイメージを有し、複数の ROMイメージのイメージ内容が同じかどうかチェックするための比較回路(たとえば 排他的論理和(XOR)回路)と ROMイメージ(のアドレス)を切り替える切り替え器とを 用いて、ブートブロック等が壊れた ROMイメージから他の正常な ROMイメージへ切 り替えてシステムを起動させるための情報処理システムおよび起動方法を提供する。 さらに、壊れた ROMイメージを正常な ROMイメージに書き換えてリカバリさせるため の情報処理システムおよびその方法を提供する。
[0014] 本発明の情報処理システムは、複数の基本入出力システム(BIOS)プログラムを有 し、 BIOSプログラムを格納する第 1の ROMイメージと第 1の ROMイメージが複製さ れた第 2の ROMイメージを含む記憶手段と、記憶手段に結合され、記憶手段から出 力される第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容を比較する ための比較手段と、比較手段に結合され、第 1の ROMイメージの BIOSプログラムに よってシステムを起動するように、最初に第 1の ROMイメージを選択し、比較手段の 比較結果においてイメージ内容が異なる場合には選択された前記第 1の ROMィメー ジを第 2の ROMイメージに切り替える切り替え手段と、を備える。
好ましくは、比較手段は排他的論理和回路であり、切り替え手段は各 ROMイメージ のアドレスを切り替えるアドレス切り替え器である。さらに好ましくは、記憶手段は各 R OMイメージのデータ内容を出力するためのプログラム 'コードをさらに格納する。
[0015] 本発明の情報処理システムは、データ内容が異なる場合に、どちらの ROMィメー ジが壊れている力、を検出するために、第 1および第 2の ROMイメージ内の誤りデータ ノ ターンを検出し、検出結果を前記切り替え手段に入力するための誤りデータバタ ーン検出手段をさらに備える。この誤りデータパターン検出手段によって、第 1の RO Mイメージおよび第 2の ROMイメージのうちの一方の ROMイメージに誤りデータパ ターンが検出された場合に、切り替え手段が他方の ROMイメージに切り替える。
[0016] さらに好ましくは、記憶手段はフラッシュ ROMであり、第 1の ROMイメージと第 2の ROMイメージが 1つのフラッシュ ROM内に格納される、あるいは別個のフラッシュ R OMにそれぞれ格納される。
[0017] 別の実施形態による本発明の情報処理システムは、複数の基本入出力システム(B IOS)プログラムを有し、 BIOSプログラムを格納する第 1の ROMイメージと第 1の RO Mイメージが複製された第 2の ROMイメージを備える第 1の ROMイメージ対と、該 BI OSプログラムと同じかまたは異なる別の BIOSプログラムを格納する第 3の ROMィメ 一ジと第 3の ROMイメージが複製された第 4の ROMイメージを備える第 2の ROMィ メージ対とを含む記憶手段と、記憶手段から出力される第 1の ROMイメージ対を受 け取るように記憶手段に結合され、第 1の ROMイメージおよび第 2の ROMイメージ を比較するための第 1の比較手段と、記憶手段から出力される第 2の ROMイメージ 対を受け取るように記憶手段に結合され、第 3の ROMイメージおよび第 4の ROMィ メージを比較するための第 2の比較手段と、第 1の比較手段および第 2の比較手段に 結合され、第 1の比較手段および第 2の比較手段からの比較結果のそれぞれの入力 に基づいて、各 ROMイメージが同じイメージ内容を有する ROMイメージ対を選択す るための切り替え手段であって、第 1の ROMイメージ対に含まれる一方の ROMィメ ージの BIOSプログラムによってシステムを起動するように、最初に第 1の ROMィメー ジ対を選択し、第 1の比較手段の比較結果において第 1の ROMイメージおよび第 2 の ROMイメージのイメージ内容が異なる場合には第 2の ROMイメージ対に切り替え る切り替え手段と、切り替え手段に結合され、切り替えが行われたことに応答してシス
[0018] さらに、第 1の比較手段の比較結果においてイメージ内容が同じ場合には第 1の R OMイメージ対のうち、第 1の ROMイメージに格納された BIOSプログラムでシステム の起動処理を続行し、第 2のイメージ対の第 3の ROMイメージおよび第 4の ROMィ メージを第 1の ROMイメージで書き換えるようにシステムを制御する CPUを備える。 好ましくは、記憶手段は、さらに第 1の ROMイメージ対と第 2の ROMイメージ対の各 々のデータ内容を出力するためのプログラム 'コードを格納する。さらに好ましくは、 切り替え手段は選択されている ROMイメージ対に対応する番号をカウントするため のカウンタを備える。
[0019] 本発明の一実施形態は、 BIOSプログラムを格納した第 1の ROMイメージおよび第
1の ROMイメージが複製された第 2の ROMイメージを含む情報処理システムにおい て、情報処理システムの起動およびデータの壊れた ROMイメージのリカバリを行う方 法であって、第 1の ROMイメージの BIOSプログラムでシステムを起動するステップと 、第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容を比較するステップ と、比較において、イメージ内容が異なる場合は、各 ROMイメージ内に誤りデータパ ターンがあるか検出するステップと、第 1の ROMイメージにおいて誤りデータパター ンを検出した場合は、第 2の ROMイメージに切り替え、システムをリセットし、第 2の R OMイメージの BIOSプログラムでシステムを起動するステップと、誤りデータパターン が検出された第 1の ROMイメージを第 2の ROMイメージで書き換えるステップと、を 含む。
[0020] 好ましくは、本発明による方法は、第 2の ROMイメージにおいて誤りデータパター ンを検出した場合は、第 2の ROMイメージを第 1の ROMイメージで書き換えるステツ プを含む。また、誤りデータパターンが第 1および第 2の ROMイメージで検出されな V、場合はシステムエラーの表示を行うステップをさらに含む。
[0021] 本発明の別の実施形態は、 BIOSプログラムを格納した第 1の ROMイメージと第 1 の ROMイメージが複製された第 2の ROMイメージを備える第 1のイメージ対と、該 BI OSプログラムと同じかまたは異なる別の BIOSプログラムを格納した第 3の ROMィメ 一ジと第 3の ROMイメージが複製された第 4の ROMイメージを備える第 2のイメージ 対とを含む情報処理システムにおいて、情報処理システムの起動およびデータの壊 れた ROMイメージのリカバリを行う方法であって、前記第 1の ROMイメージ対の前 記第 1の ROMイメージの BIOSプログラムでシステムを起動するステップと、第 1の R OMイメージおよび第 2の ROMイメージのイメージ内容を比較するステップと、比較 において、イメージ内容が異なる場合は、第 2の ROMイメージ対に切り替え、システ ムをリセットし、第 2の ROMイメージ対のうちの第 3の ROMイメージの BIOSプログラ ムでシステムを起動するステップと、第 3の ROMイメージおよび第 4の ROMイメージ のイメージ内容を比較し、そのイメージ内容が同じ場合は、第 1の ROMイメージおよ び第 2の ROMイメージを第 3の ROMイメージで書き換えるステップと、を含む。
[0022] さらに、本方法は、第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容 を比較するステップにおいて、第 1および第 2の ROMイメージのイメージ内容が同じ で、かつ第 3の ROMイメージおよび第 4の ROMイメージのイメージ内容を比較する ステップにお!/、て、第 3および第 4の ROMイメージのイメージ内容が異なる場合には 、第 3および第 4の ROMイメージを第 1の ROMイメージで書き換えるステップをさら に含む。
[0023] 本発明は、 BIOSプログラムを格納した第 1の ROMイメージおよび第 1の ROMィメ ージが複製された第 2の ROMイメージを含む情報処理システムにおいて、情報処理 システムの起動およびデータの壊れた ROMイメージのリカバリをコンピュータにより 行うために、第 1の ROMイメージの BIOSプログラムでシステムを起動する手順と、第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容を比較する手順と、比 較において、イメージ内容が異なる場合は、各 ROMイメージ内に誤りデータパター ンがあるか検出する手順と、第 1の ROMイメージにおいて誤りデータパターンを検出 した場合は、第 2の ROMイメージに切り替え、システムをリセットし、第 2の ROMィメ ージの BIOSプログラムでシステムを起動する手順と、誤りデータパターンが検出され た第 1の ROMイメージを第 2の ROMイメージで書き換える手順と、をコンピュータに 実行させるためのプログラムを含む。
[0024] さらに本発明は、 BIOSプログラムを格納した第 1の ROMイメージと第 1の ROMィメ ージが複製された第 2の ROMイメージを備える第 1のイメージ対と、該 BIOSプロダラ ムと同じかまたは異なる別の BIOSプログラムを格納した第 3の ROMイメージと第 3の ROMイメージが複製された第 4の ROMイメージを備える第 2のイメージ対とを含む 情報処理システムにお!/、て、情報処理システムの起動およびデータの壊れた ROM イメージのリカバリをコンピュータにより行うために、第 1の ROMイメージ対の第 1の R OMイメージの BIOSプログラムでシステムを起動する手順と、第 1の ROMイメージお よび第 2の ROMイメージのイメージ内容を比較する手順と、比較において、イメージ 内容が異なる場合は、第 2の ROMイメージ対に切り替え、システムをリセットし、第 2 の ROMイメージ対のうちの第 3の ROMイメージの BIOSプログラムでシステムを起動 する手順と、第 3の ROMイメージおよび第 4の ROMイメージのイメージ内容を比較し 、該イメージ内容が同じ場合は、第 1の ROMイメージおよび第 2の ROMイメージを 第 3の ROMイメージで書き換える手順と、をコンピュータに実行させるためのプロダラ ムを含む。
発明を実施するための最良の形態
[0025] 図 1に本発明による、 BIOSプログラムを格納する ROMイメージに障害があった場 合にも正常に起動を行い、さらに壊れた ROMイメージをリカバリ(回復)し得る、起動 /リカバリ機能を有する情報処理システム 100を示す。該情報処理システム 100は、 CPU (中央処理装置) 102、 BIOSプログラムをそれぞれ格納する複数の ROMィメ ージを含む ROM (リード'オンリ'メモリ) 200、 RAM (ランダム'アクセス'メモリ)およ び不揮発性 RAM (NVRAM)を含むメモリ 106、本発明による起動/リカバリ機構 3 00を含み、これらは全てシステム 'バス 112に接続されている。起動/リカバリ機構 3 00の詳細については後述する。不揮発性 RAMはシステム 100の電源を遮断した後 でも格納した情報を保持することができる。その他、システム 'バス 112には入出力コ ントローラであるディスプレイ 'コントローラ 122を介して外部ディスプレイ 124、あるい はハードディスク ·ドライブ (HDD)コントローラ 126を介して補助記憶装置としてのハ ードディスク 'ドライブ(HDD) 128も接続される。 ROM200や HDD128などの記憶 媒体には、オペレーティングシステム(OS)と協働して CPU102に命令を与え、本発 明を実施するためのコンピュータ 'プログラムのコードや各種のデータが記録すること 力できる。さらに、システム 'バス 112は通信アダプタ 132を介して通信ネットワーク 13 4に接続することも可能である。
[0026] 情報処理システム 100の電力投入時に、 CPU102はその動作パラメータ(その多く は、メモリ 106に格納されている)をセットし、メモリ 106を初期化し、システムの構成要 素(コンポーネント)の検査及び初期化を行い、通常のユーザ動作を開始する前に、 オペレーティング ·システムをブートする。電力が情報処理システム 100に供給される と、システム ·プロセッサである CPU102はパワーオンリセット(POR : Power on Reset )と呼ばれる、 BIOSプログラムの一部を実行し始める。
[0027] CPU102はメモリ 106に書き込まれるコンピュータ 'プログラムのコードに従って、情 報処理システム全体の制御を行う。また CPU102は、起動時に ROM200内に記憶 されている BIOSプログラムのデータに従って、メモリ 106などにアクセス可能となる。 好ましくは、 ROM200はリプログラマブルであるフラッシュ ROMである。フラッシュ R OMは、読み書きが可能でかつ電源を落としても内容が保持されるメモリであり、情報 処理システムの起動時に情報処理システム(以降の説明でコンピュータ 'システムとも 呼ぶ)の入出力装置の設定など処理を行う BIOSデータが記憶されて!/、る。
[0028] ROM200としてフラッシュ ROMを用いて説明する。複数(図では 2つ)の BIOSプ ログラムを含むフラッシュ ROM200の詳細を図 2に示す。フラッシュ ROM内に格納さ れ、開始アドレスを有し、実行可能なプログラム 'コードおよびデータを含むデータブ ロック全体を「ROMイメージ」と呼ぶ。一般に ROMイメージは ROM、 PROM, EPR OMなどのメモリに格納され、ファイル、実行可能なプログラム 'コード、データを含み 得る。 ROM200は、書き換え可能でブート可能な複数の ROMイメージを含む。図 2 の ROMイメージ 1 202および ROMイメージ 2 204は同じ容量で正常時には同じ イメージ内容が格納される。すなわち ROMイメージ 2は ROMイメージ 1が複製された ものである。 ROM内のアドレス空間において、 ROMイメージ 1は開始(上位側)アド レス Aから、 ROMイメージ 2は開始(下位側)アドレス Bから格納されるものとする。
[0029] 図 2のように、たとえば ROMイメージ 1 202には、(1)起動時に CPU102に最初 に読み込まれる初期設定プログラムのコードを有し、書き換え可能な擬似ブートプロ ック 214 (通常のブートブロックと同じ機能を果たす力 書き換えが行われる点で通常 のブートプログラムとは異なるため、擬似ブートブロックと呼ぶ)と、(2)メモリ 106など の周辺装置の初期設定データを有する機能ブロック 216と、(3)本発明による起動/ リカバリ機能を実行するためのプログラム 'コード(たとえば ROMイメージを比較する ためのプログラム 'コード)を格納する起動/リカバリ用ブロック 218と、を備える BIOS プログラム 1 210力 S格納される。これに対し、通常の BIOSプログラムはブートブロッ クと機能ブロックを含む(図 12を参照)。また、 ROMイメージ 2 204は、 ROMィメー ジ 1 202を複製したものであり、正常時には BOISプログラム 1 210と同じ内容の BI OSプログラム 2 220力 S格納される。すなわち、 BIOSプログラム 2 220は、擬似ブ ートブロック 224、機能ブロック 226、および起動/リカバリ用ブロック 228を備え、正 常時には各ブロックは BIOSプログラム 1 210の各ブロックと同じものとなる。図 2で は、 1つの ROM内に複数の ROMイメージを格納している力 複数の別個の ROMデ バイスのそれぞれに ROMイメージを格納してもよい。これ以降の説明においては、 1 つの ROM内に複数の ROMイメージを格納する場合を用いる。
[0030] 図 3に示すように、本発明による起動/リカバリ機構 300の基本構成は、フラッシュ ROM200から出力される複数の ROMイメージを比較するための比較回路 302と、 R OMイメージのアドレスを切り替えるアドレス切り替え器 304と、システムリセット手段 3 06とを含む。以降の説明では、比較回路 302として排他的論理和(XOR)回路を用 いて説明するが、これに限定されるわけではない。図 4に示すように、起動/リカバリ 機構 400は、起動時にどの ROMイメージが壊れているかを検出するために、誤りデ 一タパターン検出回路 308を備えることが好ましい。この起動/リカノ リ機構は ICチ ップ、たとえば FPGA(FieldProgrammable Gate Array)を用いて実装することができ
[0031] 起動/リカバリ機構 300の機能は、情報処理システムの起動時に選択された 1つの ROMイメージが壊れて!/、る場合 (このとき比較回路にお!/、て正常時は同じイメージ 内容であるべき 2つの ROMイメージが異なると検出される)にお!/、ても他の ROMィメ ージを選択し、システムリセット手段によってシステムリセット、具体的には CPUリセッ トをかけて、新たに選択された ROMイメージを用いてシステムを起動し直すようにす ることである。また、起動/リカバリ機構 300の別の機能は、壊れていない ROMィメ ージに格納された起動/リカバリ'プログラムを CPUによって実行して、壊れている R OMイメージのデータを正常な ROMイメージに置き換える、すなわちイメージ内容を 複製 (以降の説明でコピーとも呼ぶ)することが可能である。
[0032] 本発明の第 1の実施形態による情報処理システムの構成例を図 3に示す。図 3のよ うに、正常時において同じデータ内容を含む複数の ROMイメージ(ROMイメージ 1 202および ROMイメージ 2 204)を有する、書き換え可能なフラッシュ ROM200 を用いる。さらに、本発明によるシステムは、該 ROM200に結合され、記憶手段であ るフラッシュ ROMから出力される各々の ROMイメージを比較するための比較回路 3 02と、該比較回路 302からの比較結果に応答して、各々の ROMイメージを切り替え るためのアドレス切り替え器 304と、アドレス切り替えすなわち ROMイメージの切り替 えに応答して CPUにリセット(システムリセット)をかけるためのシステムリセット手段 30 6とを含む起動/リカバリ機構 300を含む。好ましくは、各 ROMイメージを出力する ためのプログラム ·コードは ROM200に格納される。また CPU102がバス 112を介し てフラッシュ ROM200内の複数の ROMイメージ 202、 204に格納された BIOSプロ グラムのレヽずれか一方を実行するように、システムが構成されて!/、る。
[0033] 図 4に示すように、本発明の第 2の実施形態である情報処理システムにおける起動 /リカバリ機構 400は、図 3の構成に加えて各 ROMイメージ 202、 204のどちらが壊 れているかを検出するための誤りデータパターン検出回路 308を含む。この誤りデー タパターン検出回路 308は、フラッシュ ROM200から出力される各 ROMイメージ内 に誤りデータパターン (たとえば FFデータ)があるか検出する。上記説明においては 、正常な場合に、 1つの ROMデバイス内、たとえばフラッシュ ROM内に格納される、 同じ ROMイメージの内容を有する複数の ROMイメージとして説明した力 代わりに 、同じ内容の ROMイメージをそれぞれ有する複数の ROMデバイスを用いることも可 能である。 [0034] 比較回路 302は、たとえば ROMに接続される複数の信号線を含むデータバスから のそれぞれのデータ信号の差分をとるための差分回路と、それぞれのデータの差分 信号の論理和(OR)を取る OR回路とから構成される。 2つの ROMイメージが同じデ ータであれば、全ての差分信号が同じ値 0となり、 OR回路の出力は値 0となる力 2 つの ROMイメージのデータが異なれば、差分信号のどれかが値 1となり、 OR回路の 出力は値 1となる。すなわち OR回路の出力を確認することで 2つの ROMイメージを 比較すること力 Sできる。なお、比較回路 302には回路構成が比較的簡便な排他的論 理和(XOR)回路を用いてもよ!/、。このとき一般的な排他的論理和回路 (XOR回路) を用いること力 Sでさる。
[0035] アドレス切り替え器 304の一例としては、値 1または値 0のアドレス線 Aを選択するチ ップセレクト(CS)信号を出力する回路で、アウトプットピンから出力する値を反転する 機能を持つ回路がある。たとえば、アウトプットピンからアドレス線 A (ROMイメージ 1 の開始アドレスを指す)として値 0を出力している状態で比較回路からの信号 (値 1)を 受けとると、アウトプットピンから出力するアドレス線 Aの値を 1に変更する。 ROMィメ ージ 1および ROMイメージ 2の切り替えは,これらの ROMイメージに対応するァドレ ス線を選択するためのチップセレクト(CS)信号で制御される。動作としては、最初に ROMイメージ 1が選択されていた場合、このアドレス線 Aは値 0となっており、 CS信 号は ROMイメージ 1を指している。し力、し、アドレス切り替え器 304は、各 ROMィメー ジのイメージ内容が異なるために、比較回路から値 1が入力されると、 ROMイメージ 2に切り替えるために、このアドレス線を値 1にする。それによつて CS信号の出力が R OMイメージ 2を指し、切り替えが可能になる。アドレス切り替え器 304は、例えば、比 較回路からの信号を入力する毎に出力値を反転するフリップフロップ回路で実現す ること力 Sでさる。
[0036] システムリセット手段 306はアドレス切り替え器 304からの ROMイメージを切り替え たことを示す信号を受け取ると、システム 100の CPU102にリセットをかけるためのリ セット信号を発生する。
[0037] また、アドレス切り替え器 304からの信号に応答して、ディスプレイ 'コントローラ 122 を介して外部ディスプレイ 124などにシステムエラーなどの状況を表示するようにする ことも可能である。
[0038] 図 3に示す第 1の実施形態である情報処理システムにおける動作を示すフローチヤ 一トを図 5に示す。この動作では、壊れている ROMイメージ 1を正常な ROMイメージ 2に切り替える。これ以降の説明および図において、 ROMイメージ 1、 ROMイメージ 2などの ROMイメージを ROMl、 ROM2のように省略して表す。システムの起動が 正常に行われる場合においては、 ROM2 204には ROM1 202と同じ BIOSプロ グラム、言い換えれば同じデータブロックが入っているものと想定する。
[0039] 電源投入時または最初の CPUリセット時、すなわちパワーオンリセット(POR)を行 う(S501)と、アドレス切り替え器によってアドレスが ROM1にセットされることで、 RO Mlが選択され(S502)、 ROM1のデータが CPUに対して出力されることになる。次 に ROM1および ROM2のデータ出力が比較回路である排他的論理和(XOR)回路 に入力され、各データ出力を比較するために排他的論理和(XOR)演算が行われ演 算結果によって、次の動作が判断される(S503)。 ROM1から正常に CPUにデータ が出力されている場合、 ROM2の同じアドレスからは ROM1と同じデータが XOR回 路に出力され、 XOR回路 302の演算結果による出力は' 0' (値 0)となり、正常に起 動動作が続けられる(S505)。ステップ S503において、もし ROM1のデータが壊れ ている場合には、 ROM1のデータと ROM2のデータとは一致しない、すなわちデー タ内容が異なるために、 XOR回路 302の出力力 S ' l ' (値 1)となり、起動エラーとして 検出する。エラーを検出した場合、アドレス切り替え器 304は ROM2のデータを CP Uに出力するために、すなわち ROM2の BIOSプログラムに切り替えるために、 RO M2のアドレスに切り替える(S504)。次に、アドレス切り替えに応答して、システムリ セット手段 306を用いて CPU102をリセットし、 ROM2の BIOSプログラムを用いて C PU102を再起動する(S506)。この第一の実施形態においては、 ROM1に問題が あるという予想の元に ROM1のイメージ ·データを ROM2のイメージ ·データで書き 換えること力 Sできる。すなわち、どちらの ROMイメージが壊れているかの検出は行わ れていない。なお、最初に ROM2のイメージ ·データが CPUに出力される場合には、 上記の ROM1と ROM2を入れ替えた動作が行われる。
[0040] 図 3の構成では、障害の発生あるいは問題となった ROMイメージは最初にイメージ •データを出力していた ROMイメージであるという想定を前提としており、どの ROM イメージに問題があるか判断ができない。このため、起動/リカノ リ機構において、各 ROMイメージ 202、 204のどちらが壊れているかを検出するための構成要素をさら に加えた、第 2の実施形態である情報処理システムを図 4に示す。図 4において、本 発明による起動/リカノ リ機構 400は、比較回路によりエラーを検出した際、どの RO Mイメージに問題があるかを検出するために、誤りデータパターン検出回路 (簡単の ために FF検出回路とも呼ぶ) 308をさらに含む。すなわち、第 2の実施形態による情 報処理システムは、同じイメージ内容の複数の ROMイメージ 202、 204 (ROM1およ び ROM2)を有するフラッシュ ROM200と、各々の ROMイメージのイメージ内容を 比較するために、フラッシュ ROMに結合される比較回路 302 (排他的論理和(XOR )回路で実現可能)と、比較回路 302からの比較 (演算)結果に応答して複数 (ここで は 2つ)の ROMイメージを切り替えるアドレス切り替え器 304と、どの ROMイメージが 壊れているかを検出するための誤りデータパターン検出回路 308と、システムリセット 手段 306とから構成される。さらに CPU102を含み、この CPU102がシステムリセット 手段 306を介してアドレス切り替え器 304に結合されている。
[0041] この誤りデータパターン検出回路 (FF検出回路) 308の動作の前提となるフラッシ ュ ROM中へのデータ(プログラム 'コードを含む、以降の説明でも同様)の書き込み 方法について説明する。図 4の構成における ROMへのデータの書き込み方法を図 6に示す。基本的には以下に示すステップが実行される。
1)現在の ROMイメージの領域を消去する(S601)。 Eraseコマンドに従ってフラッシ ュ ROMはブロック単位でデータを消去される。このとき消去されたブロックは全て T 、すなわち FFとなる。
2)新たな ROMイメージの初期化コードの先頭部分 610を除いた部分を ROMに書 き込む。 (S602)
3)新たな ROMイメージの初期化コードの先頭部分 610に対する正常なデータを RO Mに書き込む(S603)。
[0042] この書き込み方法の特徴は、 ROMに対するデータの書き込みに成功している場合 にはデータのすべてが問題なく書き込まれる(S605)。しかし、もし途中で何らかの障 害などにより書き込みに問題があった場合には、 ROMイメージの先頭 610に対する 正常なデータが書き込まれず、 FFのデータが残ることになる(S604)。もし FFのデー タが残っているのが ROM1 (ROMイメージ 1)の領域であり、 ROM2 (ROMイメージ 2)の領域に FFのデータが残っていないとすると、 ROM2には正常なデータが書か れていることがわかる。図 6では、初期化コードの先頭部分 610を除いた部分を用い て最初に書き込む例で説明した力 2つの ROM1および ROM2のそれぞれの開始 アドレスからみて同じアドレスの任意の場所 610'でもよい。すなわち、図 4の構成に おいて XOR回路によってエラーを検出した後、どちらの ROMに問題がある力、を確認 するために先頭 610あるいは任意の場所 610 'に FFのデータがあるかどうかを確認 することにより問題となった ROMイメージを特定可能となる。
[0043] 誤りデータパターン検出回路 308は、比較回路 302と同様に、たとえば ROMに接 続される複数の信号線を含むデータバスからのそれぞれのデータ信号の差分をとる ための差分回路と、それぞれのデータの差分信号の論理和(OR)を取る OR回路と 力、ら構成される。正常な ROMイメージのデータと誤りデータパターン(たとえば OxFF )を含む ROMイメージからのデータ信号のそれぞれの差分をとり、それらの差分信号 を入力された OR回路の出力が値 1であれば、各 ROMイメージのデー内容が異なる ことを示し、誤りデータパターンの検出が可能となる。
[0044] 図 4に示す第 2の実施形態である情報処理システムを用いる動作を示すフローチヤ 一トを図 7に示す。ここでは簡単にするために、最初に ROM1のデータ(プログラム' コードを含む)が CPUに出力され、 ROM1の BIOSプログラムが起動される場合を考 える。電源投入時または最初の CPUリセット時、すなわちパワーオンリセット(POR) を行う(S701)と、 ROM1と ROM2において初期化コードの先頭ほたは任意場所の 同じアドレス)およびイメージがそれぞれ読み込まれる(S702)。次に ROM1および R OM2のイメージ出力が XOR回路 302に入力され、演算結果によって動作が判断さ れる(S703)。 ROM1と ROM2の同じアドレスからのイメージ出力が同一である場合 、すなわち XOR回路の出力が' 0' (値 0)の場合は、そのまま正常に起動が行われる (S712)。 XOR回路 302の出力が' 1 ' (値 1)の場合、 FF検出回路 308によって書き 込みが失敗して残存している FFデータ(OxFF)がどの ROMにあるか検出する(S 70 4)。 ROM1で OxFFを検出した場合、言い換えれば ROM1のデータが壊れている 場合には、アドレス切り替え器 304が ROM2に切り替え(S706)、その後システムリセ ット手段 306によって CPUをリセットし(S707)、ROM2で通常の起動処理を行う(S 708)。次に正常な ROM2をデータが壊れている ROM1にコピーする、すなわち RO M2のイメージで ROM1のイメージを書き換える(S709)。 FF検出回路 308によって 、 ROM1で OxFFを検出せずに ROM2で OxFFを検出した場合は、そのまま通常の 起動処理を続ける(S710)。次に正常な ROM1をデータなどイメージが壊れている R OM2にコピーする(S711)。また、 ROM1および ROM2においてともに OxFFを検 出しない場合は、システムエラーとして、ディスプレイ 'コントローラ 122を介して外部 ディスプレイ 124などに出力する(S705)。
なお、最初に ROM2のデータが CPUに出力される場合には、上記の ROM1と RO M2を入れ替えた動作が行われる。
[0045] 以降の説明およびフローチャート図において、 ROMイメージの BIOSプログラムを 用いてシステムを起動することを「ROMx (Xは整数)で起動(処理)する」と、さらにあ る ROMイメージを別の ROMイメージに複製することを、たとえば「ROM2を ROM1 にコピーする」と表現する場合があることに留意されたい。
なお、情報処理システムが動作中に ROMイメージの書き込み動作以外の問題で R OMイメージが壊れた場合にも問題を検知しかつ、システムリセットを行わずに正常 な ROMイメージへ切り替えることも可能である。
[0046] 本発明の第 3の実施形態による情報処理システムを図 8に示す。この第 3の実施形 態は図 3の基本構成を拡張しかつ誤りデータパターン検出回路 (FF検出回路) 308 を用いずに、正常に情報処理システムを起動させ、壊れている ROMイメージをリカ ノ リすること力 Sできる、起動/リカバリ機構 800を含む。以降の説明および図におい て、 ROMイメージ x (xは整数)を ROMxと省略して表記する。また各 ROMイメージ は図 2に示すような BIOSプログラムを格納している。図 8のフラッシュ ROM200は、 複数個(偶数個)、ここでは 4つの ROMイメージを含み、 2つの ROMイメージで 1つ のイメージ対を構成する。以降の説明でイメージ対の番号 Xをイメージ対 (x)、 Xは整 数のように表す。図 8のように、フラッシュ ROM200は、(1) 2つの同じ容量、同じデ ータ内容の ROMイメージである、 ROM1と ROM2のペアを有する(換言すれば、 R OM2は ROM1が複製されたものである) ROMイメージ対(1) 810と、(2) 2つの同じ 容量、同じデータ内容の ROMイメージである、 ROM3と ROM4のペア(換言すれば 、 ROM4は ROM3が複製されたものである)を有する ROMイメージ対(2) 820とを 含む。
[0047] 図 8の情報処理システムは、上記フラッシュ ROM200に加えて、これら ROMィメー ジ対 810、 820の ROMイメージ(ROM1と ROM2、 ROM3と ROM4)のそれぞれの イメージ出力を比較するために、たとえば排他的論理和で結合する回路である、比 較回路 l (XOR回路 1) 812および比較回路 2 (XOR回路 2) 822と、 2つの ROMィメ 一ジ対を切り替えるアドレス切り替え器 804と、アドレス切り替え器 804に結合され、 C PU102をリセットするシステムリセット手段 306とで構成される。なお、 ROM3は RO Mlと同じ ROMイメージまたは異なる別の ROMイメージであり得る。言い換えれば、 ROM3に格納される BIOSプログラムは ROM1に格納される BIOSプログラムと同じ 力、または異なる別の BIOSプログラムであり得る。
[0048] ここでは排他的論理和(XOR)回路を用いる例で示したが、他の比較回路を用いる ことも可能である。また、アドレス切り替え器 804は ROMイメージ対を選択し、各 RO Mイメージの BIOSプログラムの起動を行うことができるように、現在選択されている R OMイメージ対に対応する番号 nをカウントするためのカウンタ(n) 805を内蔵して!/ヽ る。なお、 n番目の ROMイメージ対は、 2つの ROMイメージである ROM2n—lと RO M2nから構成される。
[0049] 最初に起動される ROMイメージ対の 2つの ROMイメージ(正常時は同じイメージ 内容)の片方が壊れてレ、る時には、排他的論理和(XOR)回路が ' 1 ' (値 1)を出力し 、これにより現在起動して!/、る ROMイメージ対が壊れて!/、ることが検知可能である。 そして現在起動して!/、る ROMイメージ対が壊れて!/、ることが検知された場合には、 アドレス切り替え器 804に信号 (値 1)を送り、アドレス切り替え器により他の ROMィメ ージ対のアドレスに切り替え、その切り替えられた ROMイメージ対にある一方の RO Mイメージの BIOSプログラムで起動を試みるという一連の動作が可能となる。
[0050] さらに起動エラーを極力なくして情報処理システムの信頼性をあげるために、図 8の 構成を拡張して、偶数個である 2N個(Nは 2以上の整数)の ROMイメージを有する、 図 10のような構成に拡張可能である。 n個の ROMイメージ対 1010、 1020、 - - - 103 0は、 ROM2n— 1と ROM2n (ここでは ROMl/ROM2、 ROM3/ROM4 ' · · )の それぞれのイメージ対に含まれる各 ROMイメージが同じ ROMイメージを持つ。すな わち、正常時には 1つの ROMイメージ対にある 2つの ROMイメージは一方の ROM イメージを複製したものであり、 BIOSプログラムも同じものを有する。また、別の RO Mイメージ対にあるそれぞれの ROMイメージは異なるイメージ、すなわち異なる BIO Sプログラムであってもよい。各 ROMイメージ対に対応して、それぞれに比較回路 10 12、 1022、 ' ' ' 1032 ( 0 回路で実装、総数 n)を結合することができる。壊れてい る ROMイメージを含む ROMイメージ対(にある BIOSプログラム)での起動をやめて 、正常な ROMイメージ対を選択して、その ROMイメージ対にある ROMイメージの B IOSプログラムを用いてシステムを起動する。また、次の起動に備えて、壊れている R OMイメージ対の各 ROMイメージは、正常な ROMイメージで書き換えてリカバリして おくこと力 Sできる。 N= lの場合は、基本構成である図 3に相当すると考えることができ る力 N= lすなわち 2つの ROMイメージの場合は、前述のように ROMイメージのど こが壊れているかは判断できない。これに対し、 Nが 2以上の場合である図 8あるいは 図 10の構成によればどのイメージ対に問題があるか判断できる点で相違する。
[0051] 第 3の実施形態の基本構成である、 4個の ROMイメージを有する情報処理システ ムの動作について、図 8および図 9のフローチャートを参照しながら説明する。図 8の ように、 4個の ROMイメージは 2つの ROMイメージ対を構成する。以降の説明でィメ ージ対の番号 Xをイメージ対(x)、 Xは整数のように表す。すなわち ROM1/ROM2 力もなるイメージ対(1) 810および ROM3/ROM4からなるイメージ対(2) 820を含 むシステム構成を用いる場合について、図 9のフローチャートに従って説明する。な お、図9の中で「 0^/11/2」とは1^0^/[ィメージ1 (1^0^/[1)と1^0^/[ィメージ2 (1^0^[ 2)のイメージ対を表し、「ROMl/2で起動処理」とは該イメージ対の一方の ROMィ メージの BIOSプログラムで起動処理を行うことを表す。「ROM3/4」についても同 様の表記をする。
[0052] 最初にパワーオンリセットを行う(S901)。起動する ROMイメージのあるイメージ対 の番号 nをカウントするために、最初にカウンタ 805を n= lに設定する(S902)。この とき、 ROMイメージ 2n— 1と ROMイメージ 2n、すなわち ROMl、 ROM2を含むィメ ージ対が選択される。次にアドレス切り替え器 804を ROM1/ROM2のイメージ対( 1) 810に設定し、 CPU102をリセットし(S903)、 ROM1/ROM2のイメージ対(1) 810のどちらかの ROMイメージ、たとえば ROM1の BIOSプログラムを用いて起動 処理を行う(S904)。また ROM1/ROM2のイメージ出力を XOR回路 1 812で演 算処理(S905)し、出力が' 0'の場合は、 ROM1と ROM2のイメージ内容が同じで 正常であることがチェックできたので、 ROM3と ROM4のイメージ内容を比較し(S92 1)、イメージ内容が異なる場合は、 ROM3/ROM4の各イメージに ROM1のィメー ジをコピーする(S922)。 ROM3と ROM4のイメージ内容が同じ場合は、問題がない のでそのまま、たとえば ROM1の BIOSプログラムで起動を続ける(S950)。なお、ス テツプ 921で ROM3と ROM4のイメージ内容を比較するためには、 XOR回路 2 82 2を用いることが可能である。または、正常起動された ROM1の起動/リカノ リ用プロ ックに格納される、 ROMイメージを比較するためのプログラム 'コードを CPUに実行 させることあ可倉である。
またステップ S905で XOR回路 1 812の出力力 S ' 1 'の場合は、カウンタ(n) 805に おいてカウントを 1増やし、 n = 2に設定し(S906)、アドレス切り替え器 804を ROMィ メージの番号が 2n— 1と 2nの ROMイメージを含む、 2番目の ROM3/ROM4のィ メージ対(2) 820に設定し、 CPU102をリセットし(S907)、 ROM3/ROM4のィメ ージ対(2) 820のどちらかの ROMイメージ、たとえば ROM3の BIOSプログラムを用 いて起動処理を行う(S908)。また ROM3と ROM4のイメージ出力を XOR回路 2 8 22に入力し演算処理を行う(S909)。演算処理の結果が' 0'の場合は、 ROM3/R OM4のイメージ対(2) 820は正常であるので ROMイメージ 3 (ROM3)のイメージを 、壊れている可能性のある ROMイメージ対(1) 810の ROMイメージ 1および ROMィ メージ 2 (ROMl/ROM2)にコピーする(S931)。さらに、たとえば ROM3の BIOS プログラムを用いて起動処理を行う(S950)。ステップ S909で XOR回路 2の演算処 理の結果が ' 1,の場合は、 2つの ROMイメージ対に正し!/、データが存在しな!/、もの として、ディスプレイ 'コントローラ 122を介して外部ディスプレイ 124にシステムエラー として表示する(S910)。
[0054] 図 8の構成および図 9のフローチャートに示す動作を一般化すると、図 10の構成お よび図 11のフローチャートに示す動作になる。すなわち、図 10は図 8の構成を拡張 した情報処理システムの構成例である。さらに図 11はこの一般化された構成を用い て、システムの起動および壊れた ROMイメージのリカバリを行う動作を示す。図 11に 示すように、パワーオンリセット(S 1101)後、最初にカウンタ 1005のカウントを n= l に設定する(S 1102)。次に、基本的に以下の動作を繰り返す。すなわち、システム 構成で決まる ROMイメージ対の数(N)と現在起動しょうとしている ROMイメージを 含む ROMイメージ対の番号(n)について、カウンタ 1005を用いて nと Nを比較して( S 1103)、順番に n番目の ROMイメージ対(対応する ROMイメージは ROM2n— 1 ROM2n)に設定するためにアドレス切り替え器 1004で切り替え、 CPU102をリセ ットし(S 1104)、その ROMイメージ対にある ROM2n— 1 ROM2nのどちらか(通 常は ROM2n— 1)の ROMイメージの BIOSプログラムを用いて起動処理を行!/ヽ (S 1 105)、各イメージ対を構成する ROMイメージである ROM2n—l ROM2nのそれ ぞれのデータを対応する比較回路 n (たとえば XOR回路) 1012, 1022 ' ' ' 1032で 演算処理して、 ROMイメージ対のデータが壊れて!/、るかどうか判定を行!/、 (S1106) 、壊れている場合(XOR回路の出力が' 1 ' )には、次の ROMイメージ対での起動処 理に移行するためにカウンタを 1だけ増分する(S1107)。このように、 S 1103乃至 S 1106のステップを繰り返す。 ROMイメージ対のデータが壊れて!/、な!/、場合(XOR 回路の出力が' 0' )には、該 ROMイメージ対の前後の正しく起動できなかった ROM イメージ対にある ROMイメージを回復する処理に入る(図 11の(a)および(b)のフロ 一)
[0055] いずれかの ROMイメージ対で正しく起動できた場合、図 11の(a)に示すステップ に従って、次の起動に備えるために、正しく起動できな力、つた ROMイメージ対の番 号 pが正常に起動できた ROMイメージ対の番号 nと比較して小さい場合、正しく起動 できなかった ROMイメージ対 p (ROM2p- l ROM2pを含む)を正しく起動できた ROMイメージ対 nにある ROM2n—lに書き換える(コピーする)処理を行う(S1121 乃至 S 1124)。たとえば図 8の ROM1/ROM2のイメージ対(1) 810が壊れている 場合、正しく起動できた ROM3/ROM4のイメージ対(2) 820の 0^13のィメージ を ROM1および ROM2にコピーする場合が、図 11の(a)に示すステップ 1121乃至
Figure imgf000023_0001
[0056] また、正しく起動できたが、起動を試みな力、つた ROMイメージ対が後続にある場合 は、図 11の(b)に示すステップ(S1131乃至 S 1135)に従って処理される。起動を試 みなかった ROMイメージ対 mの各 ROMイメージ(ROM2m— 1と ROM2m)のィメ ージ内容が同じ力、どうか比較し(S 1133)、イメージ内容が異なる場合は、正しく起動 できた ROMイメージ対 nに含まれる ROM2n— 1を ROM2m— 1と ROM2mにコピ 一して、書き換える(S1134)。たとえば図 8の ROM1/ROM2のイメージ対(1) 810 が正しく起動できたが、後続の ROM3と ROM4のイメージ対(2) 820にっぃても各 OMイメージのイメージ内容をチェックし、イメージ内容が異なる場合は、正しく起動 できた ROM1のデータ内容を ROM3と ROM4にコピーする場合が図 11の(b)のス テツプ; 1131乃至 1135に該当する(n= l , m = 2)。
図 11の(a)、(b)のステップは、 p、 mのカウントおよび ROM2m—lと ROM2mの データ内容の比較などは、 ROMイメージに格納される起動/リカノ リ用ブロック(図 2 を参照)のプログラム 'コードに組み込むことができる。
[0057] 以上の実施の形態では、本発明の情報処理システムは図 1に示すようにパーソナ ルコンピュータのようなコンピュータ 'システムを想定できる力 本発明はこれに限定さ れず PCサーバやワークステーション等の情報処理システム全般に適用可能である。 また、オペ一レーティング 'システムとしては、 Windows (登録商標) XP, AIX (登録 商標), Linux (登録商標)などが好ましいが、本発明は特定のオペレーティング'シ ステム環境に限定されるわけではなレ、。
[0058] 以上の実施の形態では、アドレス切り替え器の現在の状態を電源断時においても 保持し得るようにアドレス切り替え器の現在の切り替え状態をフラッシュ ROMに保存 することも可能であるが不揮発性 RAM (NVRAM)等のメモリに保存しておくようにし ても良い。
[0059] 以上の実施の形態では、 1つの ROM内の複数の ROMイメージのうち、 BIOSプロ グラムをそれぞれ格納する 2つの ROMイメージを切り替えるようにした力 3つ以上の ROMイメージ(それぞれが BIOSプログラムを含む)をグループにして、アドレス切り 替え器で順番にグループを切り替えるように構成しても良い。
[0060] 以上の実施の形態では、 BIOSプログラムを記憶するメモリとしてフラッシュ ROMを 用レヽ 7こ力、、 EEPROM (ElectronicallyErasable and Programmable Read unly Memory
)等に BIOSプログラムを記憶させておくようにしても良い。
[0061] 以上、本発明の実施の形態について説明したが、本発明は上記の実施形態に限 定されることはない。その他、本発明は、主旨を逸脱しない範囲で当業者の知識に 基づき種々の改良、修正、変更を加えた態様で実施できるものである。
図面の簡単な説明
[0062] [図 1]本発明による情報処理システムの全体構成の例を示す図である。
[図 2]フラッシュ ROM内の ROMイメージを示す図である。
[図 3]本発明による起動/リカノ リ機構を含む、第 1の実施形態による情報処理シス テムを示す図である。
[図 4]本発明による誤りデータパターン検出回路を有する起動/リカノ リ機構を含む
、第 2の実施形態による情報処理システムを示す図である。
[図 5]図 3の構成による第 1の実施形態の動作を示すフローチャートである。
[図 6]フラッシュ ROMにデータを書き込む方法と誤りデータパターン (FF)の関係を 示す図である。
[図 7]図 4の構成による第 2の実施形態の動作を示すフローチャートである。
[図 8]本発明による 2つの ROMイメージ対を有する第 3の実施形態による情報処理シ ステムを示す図である。
[図 9]図 8の構成による第 3実施形態の動作を示すフローチャートである。
[図 10]本発明による N個の ROMイメージ対を有する情報処理システムを示す図であ
[図 11]図 10の構成による実施形態の動作を示すフローチャートである。
[図 12]従来技術の BIOSプログラムを格納した ROMイメージの例を示す。 (a)単一機 能ブロック、(b)マルチ機能ブロックの例である。
符号の説明 100:情報処理システム
102:CPU
106:メモリ
112:バス
122:ディスプレイ 'コントローラ
124:外部ディスプレイ
126:ハードディスク 'ドライブ(HDD)コント口
128:ハードディスク ·ドライブ (HDD)
132:通信アダプタ
134:通信ネットワーク
200: (フラッシュ) ROM
202: ROMイメージ 1
204: ROMイメージ 2
210: BIOSプログラム 1
220: BIOSプログラム 2
300:起動/リカノ リ機構
302:比較回路
304:アドレス切り替え器
306:システムリセット手段
308:誤りデータパターン検出回路

Claims

請求の範囲
[1] 複数の BIOS (基本入出力システム)プログラムを有する情報処理システムであって
BIOSプログラムを格納する第 1の ROMイメージと前記第 1の ROMイメージが複製 された第 2の ROMイメージを含む記憶手段と、
前記記憶手段に結合され、前記記憶手段から出力される前記第 1の ROMイメージ および前記第 2の ROMイメージのイメージ内容を比較するための比較手段と、 前記比較手段に結合され、前記第 1の ROMイメージの前記 BIOSプログラムによつ て前記システムを起動するように、最初に前記第 1の ROMイメージを選択し、前記比 較手段の比較結果において前記イメージ内容が異なる場合には選択された前記第 1 の ROMイメージを前記第 2の ROMイメージに切り替える切り替え手段と、
を備える情報処理システム。
[2] 前記切り替え手段に結合され、該切り替え手段が ROMイメージを切り替えたことに 応答して、前記システムをリセットするシステムリセット手段をさらに備える、請求項 1 記載の情報処理システム。
[3] 前記記憶手段と前記切り替え手段に結合され、前記記憶手段から出力される前記 第 1および第 2の ROMイメージ内の誤りデータパターンを検出し、検出結果を前記 切り替え手段に入力する、誤りデータパターン検出手段をさらに備える、請求項 1記 載の情報処理システム。
[4] 前記誤りデータパターン検出手段によって、前記第 1の ROMイメージおよび前記 第 2の ROMイメージのうちの一方の ROMイメージに誤りデータパターンが検出され た場合に、前記切り替え手段が他方の ROMイメージに切り替える、請求項 3記載の 情報処理システム。
[5] 前記比較手段が排他的論理和回路であり、前記切り替え手段が各 ROMイメージ のアドレスを切り替えるアドレス切り替え器である、請求項 1記載の情報処理システム
[6] 前記記憶手段がフラッシュ ROMであり、前記第 1の ROMイメージと前記第 2の RO
Mイメージが 1つのフラッシュ ROM内に格納される、あるいは別個のフラッシュ ROM にそれぞれ格納される、請求項 1記載の情報処理システム。
複数の BIOS (基本入出力システム)プログラムを有する情報処理システムであって
BIOSプログラムを格納する第 1の ROMイメージと前記第 1の ROMイメージが複製 された第 2の ROMイメージを備える第 1の ROMイメージ対と、前記 BIOSプログラム と同じ力、または異なる別の BIOSプログラムを格納する第 3の ROMイメージと前記第 3の ROMイメージが複製された第 4の ROMイメージを備える第 2の ROMイメージ対 とを含む記憶手段と、
前記記憶手段から出力される前記第 1の ROMイメージ対を受け取るように前記記 憶手段に結合され、前記第 1の ROMイメージおよび前記第 2の ROMイメージを比較 するための第 1の比較手段と、
前記記憶手段から出力される前記第 2の ROMイメージ対を受け取るように前記記 憶手段に結合され、前記第 3の ROMイメージおよび前記第 4の ROMイメージを比較 するための第 2の比較手段と、
前記第 1の比較手段および前記第 2の比較手段に結合され、前記第 1の比較手段 および前記第 2の比較手段からの比較結果のそれぞれの入力に基づいて、各 ROM イメージが同じイメージ内容を有する ROMイメージ対を選択するための切り替え手 段であって、前記第 1の ROMイメージ対に含まれる一方の ROMイメージの BIOSプ ログラムによって前記システムを起動するように、最初に前記第 1の ROMイメージ対 を選択し、前記第 1の比較手段の比較結果において前記第 1の ROMイメージおよび 前記第 2の ROMイメージのイメージ内容が異なる場合には前記第 2の ROMイメージ 対に切り替える切り替え手段と、
前記切り替え手段に結合され、切り替えが行われたことに応答して前記システムをリ
Figure imgf000027_0001
を備える情報処理システム。
前記切り替え手段が選択されている ROMイメージ対に対応する番号をカウントす るためのカウンタを備える、請求項 7記載の情報処理システム。
前記第 1の比較手段の比較結果において前記イメージ内容が同じ場合には前記 第 1の ROMイメージ対のうち、前記第 1の ROMイメージに格納された BIOSプログラ ムで前記システムの起動処理を行い、前記第 2のイメージ対の前記第 3の ROMィメ ージおよび前記第 4の ROMイメージを前記第 1の ROMイメージで書き換えるように 前記システムを制御する CPUをさらに備える、請求項 7記載の情報処理システム。
[10] BIOSプログラムを格納した第 1の ROMイメージおよび前記第 1の ROMイメージが 複製された第 2の ROMイメージを含む情報処理システムにお!/、て、前記情報処理シ ステムの起動およびデータの壊れた ROMイメージのリカバリを行う方法であって、 前記第 1の ROMイメージの前記 BIOSプログラムで前記システムを起動するステップ と、
前記第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容を比較するス
前記比較において、前記イメージ内容が異なる場合は、各 ROMイメージ内に誤り データパターンがあるか検出するステップと、
前記第 1の ROMイメージにおいて前記誤りデータパターンを検出した場合は、前 記第 2の ROMイメージに切り替え、前記システムをリセットし、前記第 2の ROMィメー ジの BIOSプログラムで前記システムを起動するステップと、
前記誤りデータパターンが検出された前記第 1の ROMイメージを前記第 2の ROM
を含む方法。
[11] 前記比較するステップで、前記イメージ内容が同じである場合、前記第 1の ROMィ メージの前記 BIOSプログラムで前記起動するステップを続ける、請求項 10記載の方 法。
[12] 前記第 2の ROMイメージにおいて前記誤りデータパターンを検出した場合は、前 記第 2の ROMイメージを前記第 1の ROMイメージで書き換えるステップをさらに含 む、請求項 10記載の方法。
[13] 前記誤りデータパターンが前記第 1および第 2の ROMイメージで検出されない場 合はシステムエラーの表示を行うステップをさらに含む、請求項 10記載の方法。
[14] BIOSプログラムを格納した第 1の ROMイメージと前記第 1の ROMイメージが複製 された第 2の ROMイメージを備える第 1のイメージ対と、前記 BIOSプログラムと同じ 力、または異なる別の BIOSプログラムを格納した第 3の ROMイメージと前記第 3の R OMイメージが複製された第 4の ROMイメージを備える第 2のイメージ対とを含む情 報処理システムにお!/、て、前記情報処理システムの起動およびデータの壊れた RO Mイメージのリカバリを行う方法であって、
前記第 1の ROMイメージ対の前記第 1の ROMイメージの前記 BIOSプログラムで 前記システムを起動するステップと、
前記第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容を比較するス 前記比較において、前記イメージ内容が異なる場合は、前記第 2の ROMイメージ 対に切り替え、前記システムをリセットし、前記第 2の ROMイメージ対のうちの前記第 3の ROMイメージの前記 BIOSプログラムで前記システムを起動するステップと、 前記第 3の ROMイメージおよび第 4の ROMイメージのイメージ内容を比較し、該ィ メージ内容が同じ場合は、前記第 1の ROMイメージおよび第 2の ROMイメージを前 記第 3の ROMイメージで書き換えるステップと、
を含む方法。
[15] 前記第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容を比較する前 記ステップにおいて、前記第 1および第 2の ROMイメージの前記イメージ内容が同じ で、かつ前記第 3の ROMイメージおよび第 4の ROMイメージのイメージ内容を比較 する前記ステップにお!/、て、前記第 3および第 4の ROMイメージの前記イメージ内容 が異なる場合には、前記第 3および第 4の ROMイメージを前記第 1の ROMイメージ で書き換えるステップをさらに含む、請求項 14記載の方法。
[16] BIOSプログラムを格納した第 1の ROMイメージおよび前記第 1の ROMイメージが 複製された第 2の ROMイメージを含む情報処理システムにお!/、て、前記情報処理シ ステムの起動およびデータの壊れた ROMイメージのリカバリをコンピュータにより行う ために、
前記第 1の ROMイメージの BIOSプログラムで前記システムを起動する手順と、 前記第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容を比較する手 順と、
前記比較において、前記イメージ内容が異なる場合は、各 ROMイメージ内に誤り データパターンがあるか検出する手順と、 前記第 1の ROMイメージにおいて前記誤りデータパターンを検出した場合は、前 記第 2の ROMイメージに切り替え、前記システムをリセットし、前記第 2の ROMィメー ジの BIOSプログラムで前記システムを起動する手順と、
前記誤りデータパターンが検出された前記第 1の ROMイメージを前記第 2の ROMィ メージで書き換える手順と、
を前記コンピュータに実行させるためのプログラム。
[17] BIOSプログラムを格納した第 1の ROMイメージと前記第 1の ROMイメージが複製 された第 2の ROMイメージを備える第 1のイメージ対と、前記 BIOSプログラムと同じ 力、または異なる別の BIOSプログラムを格納した第 3の ROMイメージと前記第 3の R OMイメージが複製された第 4の ROMイメージを備える第 2のイメージ対を含む前記 情報処理システムにお!/、て、前記情報処理システムの起動およびデータの壊れた R OMイメージのリカバリをコンピュータにより行うために、
前記第 1の ROMイメージ対の前記第 1の ROMイメージの前記 BIOSプログラムで 前記システムを起動する手順と、
前記第 1の ROMイメージおよび第 2の ROMイメージのイメージ内容を比較する手 順と、
前記比較において、前記イメージ内容が異なる場合は、前記第 2の ROMイメージ 対に切り替え、前記システムをリセットし、前記第 2の ROMイメージ対のうちの前記第 3の ROMイメージの前記 BIOSプログラムで前記システムを起動する手順と、 前記第 3の ROMイメージおよび第 4の ROMイメージのイメージ内容を比較し、前 記イメージ内容が同じ場合は、前記第 1の ROMイメージおよび第 2の ROMイメージ を前記第 3の ROMイメージで書き換える手順と、
を前記コンピュータに実行させるためのプログラム。
PCT/JP2007/074230 2006-12-18 2007-12-17 情報処理システムおよび該システムの起動/リカバリ方法 WO2008075646A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020097009886A KR101107446B1 (ko) 2006-12-18 2007-12-17 정보 처리 시스템 및 이 시스템의 기동/복구 방법
JP2008550139A JP4456653B2 (ja) 2006-12-18 2007-12-17 情報処理システムおよび該システムの起動/リカバリ方法
EP07850718A EP2124151B1 (en) 2006-12-18 2007-12-17 Information processing system and method for starting/recovering the system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006340224 2006-12-18
JP2006-340224 2006-12-18
JP2007-198183 2007-07-30
JP2007198183 2007-07-30

Publications (1)

Publication Number Publication Date
WO2008075646A1 true WO2008075646A1 (ja) 2008-06-26

Family

ID=39536276

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/074230 WO2008075646A1 (ja) 2006-12-18 2007-12-17 情報処理システムおよび該システムの起動/リカバリ方法

Country Status (4)

Country Link
EP (1) EP2124151B1 (ja)
JP (1) JP4456653B2 (ja)
KR (1) KR101107446B1 (ja)
WO (1) WO2008075646A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2096544A2 (en) 2008-02-04 2009-09-02 Honeywell International Inc. System and method for detection and prevention of flash corruption
KR101188711B1 (ko) 2010-10-13 2012-10-09 (주)뉴온시스 트렁크 브이오아이피 게이트웨이 시스템에서 멀티 이미지 구동 장치 및 이를 이용한 구동방법
WO2013103023A1 (ja) * 2012-01-05 2013-07-11 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
JP2013140536A (ja) * 2012-01-06 2013-07-18 Nec Corp 情報処理装置及び情報処理装置のシステム動作設定方法並びにコンピュータプログラム
JP2014089497A (ja) * 2012-10-29 2014-05-15 Mitsubishi Electric Corp 情報処理装置
JP2014099097A (ja) * 2012-11-15 2014-05-29 Mitsubishi Electric Corp 情報処理装置、情報処理方法、およびコンピュータプログラム
JP2015008005A (ja) * 2011-08-16 2015-01-15 グーグル インコーポレイテッド セキュア・リカバリ装置及び方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI474163B (zh) 2012-12-17 2015-02-21 Hon Hai Prec Ind Co Ltd 基本輸入輸出系統的存取系統及方法
EP3028141B1 (en) 2013-07-31 2020-01-08 Hewlett-Packard Development Company, L.P. Generating a second code from a first code
WO2023173362A1 (en) * 2022-03-17 2023-09-21 Micron Technology, Inc. Error information storage for boot-up procedures

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148467A (ja) * 1998-11-05 2000-05-30 Sharp Corp 情報処理装置、情報処理装置の基本システムプログラム書換方法及び情報処理装置の基本システムプログラム書換プログラムを記録した記録媒体
JP2004013719A (ja) * 2002-06-10 2004-01-15 Fujitsu Ltd 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793943A (en) * 1996-07-29 1998-08-11 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148467A (ja) * 1998-11-05 2000-05-30 Sharp Corp 情報処理装置、情報処理装置の基本システムプログラム書換方法及び情報処理装置の基本システムプログラム書換プログラムを記録した記録媒体
JP2004013719A (ja) * 2002-06-10 2004-01-15 Fujitsu Ltd 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2096544A2 (en) 2008-02-04 2009-09-02 Honeywell International Inc. System and method for detection and prevention of flash corruption
EP2096544A3 (en) * 2008-02-04 2013-01-02 Honeywell International Inc. System and method for detection and prevention of flash corruption
US8392762B2 (en) 2008-02-04 2013-03-05 Honeywell International Inc. System and method for detection and prevention of flash corruption
KR101188711B1 (ko) 2010-10-13 2012-10-09 (주)뉴온시스 트렁크 브이오아이피 게이트웨이 시스템에서 멀티 이미지 구동 장치 및 이를 이용한 구동방법
US9836606B2 (en) 2011-08-16 2017-12-05 Google Llc Secure recovery apparatus and method
JP2015008005A (ja) * 2011-08-16 2015-01-15 グーグル インコーポレイテッド セキュア・リカバリ装置及び方法
CN104025047A (zh) * 2012-01-05 2014-09-03 三菱电机株式会社 信息处理装置、信息处理方法以及计算机程序
JP5575338B2 (ja) * 2012-01-05 2014-08-20 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
JPWO2013103023A1 (ja) * 2012-01-05 2015-05-11 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
US9471435B2 (en) 2012-01-05 2016-10-18 Mitsubishi Electric Corporation Information processing device, information processing method, and computer program
CN104025047B (zh) * 2012-01-05 2017-06-06 三菱电机株式会社 信息处理装置、信息处理方法以及计算机程序
WO2013103023A1 (ja) * 2012-01-05 2013-07-11 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
JP2013140536A (ja) * 2012-01-06 2013-07-18 Nec Corp 情報処理装置及び情報処理装置のシステム動作設定方法並びにコンピュータプログラム
JP2014089497A (ja) * 2012-10-29 2014-05-15 Mitsubishi Electric Corp 情報処理装置
JP2014099097A (ja) * 2012-11-15 2014-05-29 Mitsubishi Electric Corp 情報処理装置、情報処理方法、およびコンピュータプログラム

Also Published As

Publication number Publication date
JPWO2008075646A1 (ja) 2010-04-08
KR101107446B1 (ko) 2012-01-19
EP2124151A4 (en) 2010-09-15
EP2124151B1 (en) 2012-06-27
EP2124151A1 (en) 2009-11-25
JP4456653B2 (ja) 2010-04-28
KR20090091708A (ko) 2009-08-28

Similar Documents

Publication Publication Date Title
JP4456653B2 (ja) 情報処理システムおよび該システムの起動/リカバリ方法
US7900036B2 (en) System and method for implementing boot/recovery on a data processing sysem
JP4868216B2 (ja) ファームウェア更新回路およびファームウェア更新方法
TWI399647B (zh) 回復電腦系統之基本輸出入系統之方法及相關電腦系統
CN105700901B (zh) 一种启动方法、装置和计算机***
CN108304282B (zh) 一种双bios的控制方法及相关装置
US10909247B2 (en) Computing device having two trusted platform modules
CN111506454A (zh) 基本输入/输出***的恢复及更新的方法及***
KR20170040734A (ko) 업데이트 제어 방법을 갖는 전자 시스템 및 그것의 동작 방법
CN100367225C (zh) 可以对可启动存储设备进行备份和恢复的计算设备及其备份和恢复方法
CN113254048B (zh) 引导程序更新方法、装置、设备及计算机可读介质
US20170147455A1 (en) Information processing device, method for booting information processing device, and non-transitory recording medium
CN111522690B (zh) 数据储存装置及维持数据储存装置正常开机运作的方法
KR101850275B1 (ko) 빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치
US11467898B2 (en) Information processing apparatus and method of controlling the same
JP7374780B2 (ja) 情報処理装置および情報処理装置の制御方法
KR101845467B1 (ko) 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법 및 이를 수행하는 화상형성장치
KR101850272B1 (ko) 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치
JP4165423B2 (ja) コアi/oカードを実装したシステムボード
US11250929B2 (en) System for detecting computer startup and method of system
CN114610226A (zh) 数据储存装置及维持数据储存装置正常开机的方法
JP2023032245A (ja) 情報処理装置、及びその制御方法
CN115269030A (zh) 嵌入式电子装置、启动方法、内储程序的嵌入式电子装置
JP2005078336A (ja) 画像形成装置と画像形成装置のプログラム書換方法
JP6072521B2 (ja) コンピュータ起動システムおよびコンピュータ起動プログラムとコンピュータならびにコンピュータ起動方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07850718

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 1020097009886

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2008550139

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007850718

Country of ref document: EP