A computer system that can rewrite a boot process program during operation, comprising at least two planes of non-volatile memory devices that are rewritable by software, a non-volatile memory device selector for switching at least the two planes of non-volatile memory devices, a multitasking operation system that can operate plural tasks, a boot process program rewrite program for operating as one task on the multitasking operating system and rewriting boot process programs written in the non-volatile memory devices, and a register with latch function for holding a rewrite state of each of the boot process programs written in at least the two planes of non-volatile memory devices.
With a plurality of memory blocks as a pair, a plurality of pairs of the memory blocks are provided and in a case where a pair of memory blocks is designated as a new boot region, when designating other pair of memory blocks as a boot region, a value obtained by subtracting a predetermined value from an initial value set at the boot area designation flag of the memory block of all the memory block pairs is stored in the boot area designation flag of each memory block of other memory block pair and at the time of booting the system, if values of the boot area designation flags in the memory blocks of other memory block pair are equal and not the initial value, determination is made that a boot program is stored in other memory block pair.
An apparatus and a method for protecting boot block code while allowing updating to BIOS code during a flash BIOS operation. The boot block code is stored in a boot block or boot region of a flash part, and then a copy of the boot block code is written into another region of the flash part. The image of the boot block code in the another region is compared with the boot block code in the boot block, and if there is a match, the boot block region is unprotected, thereby allowing an update of code in the boot block. The boot block code of the flashed-in BIOS image in the boot block region is compared with the copy of the boot block code in the another region, and if there is a match, the code in the boot block region is protected. If there is not a match or if a power failure occurs, the system is booted up using the boot block code in the another region.
A computer implemented method and a system for providing a redundant, updatable, self-booting firmware program. A sectored, non-volatile memory, having separately erasable sectors, stores at least two copies of operational code, each in at least one of the sectors separate from other of the copy sectors. Each operational code copy has information indicating the relative update level of the operational code copy, so that the copies may be separately updated and have different update levels. A boot program stored in at least one of the sectors of the non-volatile memory, separate from the operational code sectors, operates a processor to read the information from each of the copies to determine the most recent update level of the operational code copies, and executes the operational code copy having the most recent update level. The boot program, prior to reading the information, operates the processor to test the operational code copies to determine whether any of the operational code copies is corrupted, and only the header(s) of those copies determined to be uncorrupted in the testing is read.
A method, system and computer readable medium containing programming instructions for tracking a secure boot in a computer system having a plurality of devices is disclosed. The method, system and computer readable medium include providing an embedded security system (ESS) in the computer system, wherein the ESS includes at least one boot platform configuration register (PCR) and a shadow PCR for each of the at least one boot PCRs, initiating a platform reset to boot the computer system via BIOS, and, for a device booted, generating a measurement value for the device and extending that value to one of the at least one boot PCRs and its corresponding shadow PCR. The system, method and computer readable medium of the present invention also includes comparing the measurement values of the boot PCRs to their corresponding shadow PCRs, whereby the computer system is trusted if the measurement values match.
A 1-chip microcomputer having a built-in nonvolatile memory includes at least one erasable flash memory provided in a memory space of the microcomputer, a boot ROM for storing an initial program to start up the 1-chip microcomputer and a transfer program to transfer the initial program to the flash memory, and control means for, when the flash memory stores no program, transferring the initial program to the flash memory in accordance with the transfer program and subsequently removing the boot ROM from the memory space. Consequently, even if a new program is additionally stored to the nonvolatile memory in the 1-chip microcomputer, the additional program can be carried out.