Dynamic update of non-upgradeable memory

Data processing: software development – installation – and managem – Software upgrading or updating

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S169000, C713S001000, C713S002000, C713S100000, C711S001000, C711S102000, C711S103000, C711S104000, C711S105000, C711S170000

Reexamination Certificate

active

06536038

ABSTRACT:

FIELD OF THE INVENTION
The present invention pertains to the field of computer systems. More particularly, the present invention pertains to the field of computer system architectures incorporating a non-volatile form of basic operating system processing logic.
BACKGROUND OF THE INVENTION
A computing system typically uses a relatively fixed set of instructions.and data to boot up (initialize on power up) the system. The instructions and data used for boot up are typically stored in a non-volatile memory which is installed in the computing system. A non-volatile memory retains its contents even after power is removed from the memory. The set of instructions and data is fixed because it typically does not have to change after the memory is installed in the computing system. In fact if, after installation of the non-volatile memory in the computing system, the memory contents change accidentally the computing system may not operate properly, if at all. Soon after the computing system is turned on, the contents of the non-volatile memory are typically transferred to a volatile memory. The transfer is typically done because the instructions and data can be accessed more quickly from volatile memory rather than non-volatile memory. Also, often information is stored in a compressed format in the non-volatile memory, and is decompressed during the transfer to the volatile memory.
Memories which are non-volatile and whose contents are fairly difficult or impossible to change after being programmed (boot up memory) include basic read only memory (ROM) devices, programmable read only memory (PROM) devices, electrically erasable programmable read only memory (EEPROM) devices, erasable programmable read only memory (EPROM), and flash memory devices.
Typically, the contents of boot up memory are not changed after installation. However, it may be desirable to make changes to the contents after installation of the boot up memory without having to require a technician to physically remove the boot up memory and replace it. One way to make changes after installation of the boot up memory is to use a modifiable, non-volatile memory which can be modified or reprogrammed by downloading replacement information from a floppy disk or other device storing the replacement information. Modifiable memory devices include EEPROMs, EPROMs, flash memory devices, and other memory devices that allow modification without requiring physical removal and replacement. Each of the modifiable memory devices has its own benefits and disadvantages. These memory devices and other related memory devices have a common problem which will be described below by using a flash memory device.
A flash memory device typically contains separately eraseable/programmable blocks of memory. One of these blocks may be electronically locked (boot block or locked block) to prevent erasure or modification of its contents once it is installed. The remaining non-locked blocks or non-boot blocks can be modified after installation. Since a locked block does not allow programming, it has typically been used to only store information that is not likely to require modification (i.e., largely static code and data) after flash device is installed in the system. An example of largely static code and data is recovery code that is used to boot up a system when the firmware that is normally used to boot up the system needs modification or becomes corrupted. For a variety of reasons, including the increasing number of devices that the recovery code must be able to access, the size of the recovery code has been increasing dramatically. Among other reasons, the increased size of the recovery code has required use of symmetrically blocked flash devices (SBFs) instead of boot blocked flash devices (BBFs). Use of SBFs has occurred because, for devices of equal size, the SBFs have a larger boot block than the BBFs. The larger boot block of the SBFs can accommodate the recovery code. Unfortunately, for SBFs and BBFs of equal size, an increase in the size of the boot block of an SBF comes at the expense of the remaining blocks. In other words, for SBFs and BBFs of equal size, the remaining area (i.e., the non-boot blocks) on an SBF is smaller than the non-boot block area on the BBF. The decrease in the non-boot block area means that there is less space for code and data in th non-boot block area. Consequently, some of the largely dynamic code and data that used to be put in a non-boot block must now be placed in the boot block.
Since largely dynamic code and data, even if it is present in a boot block, may require modification after installation of the flash device in a system, it would be desirable to be able to update the dynamic code. It would also be desirable to update the largely static code and data even though it is in a boot block.
SUMMARY OF THE INVENTION
A method for updating firmware is described. The method includes providing replaceable information in a non-modifiable storage and replacement information in a modifiable storage or a removable storage and providing a replacement indicator. The replacement information is accessed instead of the replaceable information based upon the replacement indicator.


REFERENCES:
patent: 5121360 (1992-06-01), West et al.
patent: 5210854 (1993-05-01), Beaverton et al.
patent: 5247484 (1993-09-01), Watanabe
patent: 5579522 (1996-11-01), Christeson et al.
patent: 5600801 (1997-02-01), Parks et al.
patent: 5727215 (1998-03-01), Rynaski et al.
patent: 5734816 (1998-03-01), Niijima et al.
patent: 5765175 (1998-06-01), Needham et al.
patent: 5799200 (1998-08-01), Brant et al.
patent: 5832263 (1998-11-01), Hansen et al.
patent: 5835761 (1998-11-01), Ishii et al.
patent: 5878256 (1999-03-01), Bealkowski et al.
patent: 5930504 (1999-07-01), Gabel
patent: 5930515 (1999-07-01), Ducharme et al.
patent: 6073252 (2000-06-01), Moyer et al.
patent: 6182188 (2001-01-01), Hasbun et al.
patent: 6199203 (2001-03-01), Saboff
patent: 6205548 (2001-03-01), Hasbun
patent: 6237091 (2001-05-01), Firooz et al.
patent: 6289419 (2001-09-01), Takahashi
patent: 6412043 (2002-06-01), Chopra et al.
Title: Boot block recovery procedure for Micronics M4Pi Motherboard, http://www.firmeare.com/support/bios/m4pi-rec.htm), Aug. 10, 1998.*
Title: eNVY: A non-volatile, Main memory storage system, ACM, 1994, author: Wu el al.*
Title: The Rio Cache: Surniving operating system crashes, ACM, 1995, Author: Chen et al.*
Title: DSP Data memory layouts optimized for intermediate address pointer updates, author: Wess et al, IEEE, 1998.*
Title: Memory Management during Run Generation in External Sorting, author: Larson et al, 1998.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Dynamic update of non-upgradeable memory does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Dynamic update of non-upgradeable memory, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic update of non-upgradeable memory will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3017557

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.