Method of performing reliable updates in a symmetrically...

Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S101000, C711S102000, C711S170000, C711S171000, C711S172000, C711S173000

Reexamination Certificate

active

06412040

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to the field of computer systems. In particular, this invention is drawn to management of nonvolatile memory.
BACKGROUND OF THE INVENTION
Initialization of a computer system is performed upon power-up of the computer system or hardware or software reset operations. The initialization process is referred to as “booting” the computer system.
In one boot scheme the processor is designed to read a pre-determined memory location when the processor is reset or powered up. The pre-determined memory location stores a boot vector which directs the processor to a memory address of the beginning of the bootstrap routines.
The boot vector typically defaults to an address in read-only memory (ROM). The ROM stores the computer system boot code such as the bootstrap loader and other initialization routines. The device storing the bootstrap loader and other minimal initialization procedures is referred to as the boot device.
Traditionally, ROM or EPROMs have served as nonvolatile memory for storage of computer system boot code. The boot code may include software such as Basic Input Output System (“BIOS”) routines which are specific to the computer system being booted. Thus system specific information is also stored in the ROM or EPROM.
One disadvantage of this approach, however, is the inability to reprogram the ROM or EPROM to accommodate changes in the computer system. The only way to make changes to the BIOS, for example, is to replace the ROM or EPROM. This may be difficult if the ROM or EPROM is soldered to a circuit board. In addition, the computer may have to be at least partially disassembled in order to gain access to the ROM or EPROM.
A programmable nonvolatile memory such as flash electrically erasable programmable read only memory (flash EEPROM) provides a medium that allows the BIOS to be adapted to changing hardware and software conditions. BIOS updates can be performed using an update program in order to modify the BIOS to accommodate, for example, new peripheral devices, additional memory, add-in cards or even to fix errors in the current version of the BIOS.
Flash memory can be reprogrammed only after being erased. Erasure of flash memory must be performed at a block level, thus in order to change a few bytes within a block, the entire block must first be erased. The bootstrap loader, BIOS, and system parameters can be located in separate blocks to facilitate independent modification.
The flash memory used to store boot code and BIOS is typically asymmetrically blocked due to the size differences between the bootstrap loader, BIOS, and system parameter data. Thus the bootstrap loader is stored in a block of one size and the BIOS is stored in one or more blocks of a different size. In addition, blocks storing system specific parameter data might be yet a third size.
One disadvantage of this approach is that asymmetrically blocked architectures are more difficult to expand or extend as the stored code or data changes in size. The block sizes are fixed when the nonvolatile memory is fabricated, thus the block sizes cannot subsequently be changed in order to allocate excess memory from one block to another block.
The asymmetrically blocked architecture typically results in wasted memory because there is no provision for management of the excess memory within individual blocks. BIOS update programs typically replace the contents of the block containing the old BIOS with the new BIOS. Thus any data sharing the same block as the BIOS will be lost when the BIOS is updated. This prevents other applications from being able to use excess memory within a block. Thus another disadvantage of the asymmetrically blocked architecture is the inability to use excess memory within a block.
When updating BIOS, the blocks that the BIOS is stored in must first be erased. If a power failure occurs after starting the erasure of the blocks and before the new version of the BIOS has been completely written, then the BIOS within the nonvolatile memory may be left in an unusable state. Furthermore, the computer system cannot recover by using the old BIOS because the old BIOS was deleted when the block was erased. Thus the upgrade process is inherently unreliable because of the inability to return to a former valid state if an error occurs while updating to the new state. Thus another disadvantage of the single and asymmetrical blocked architectures is the sensitivity of the update process to events such as a power failure.
SUMMARY OF THE INVENTION
In view of limitations of known systems and methods, methods of managing nonvolatile memory are provided. In one embodiment, a method of reliably re-allocating a first object stored within a block erasable nonvolatile memory includes the step of allocating space for a second object. A write of the second object is initiated. The method includes the step of tracking the write status of the second object.
In another embodiment, a method of re-allocating a first object stored within a block erasable nonvolatile memory includes the step of invalidating the first object, if the first object has an unreliable type of recovery level. Space is allocated for the second object. A write of the second object is initiated. The method includes the step of tracking the write status of the second object.
In another embodiment, a method of reliably re-allocating a first object stored within the block erasable nonvolatile memory includes the step of allocating space for the second object. A write of the second object is initiated. The method includes the step of tracking the write status of the second object. The first object is invalidated, if the first object has a reliable type of recovery.
In one embodiment, the first object is stored within a first portion of nonvolatile memory. Instructions for performing the described methods are stored within a second portion of nonvolatile memory.
Other features and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description that follows below.


REFERENCES:
patent: 4758944 (1988-07-01), Bartley et al.
patent: 4849878 (1989-07-01), Roy
patent: 5297148 (1994-03-01), Harari et al.
patent: 5333292 (1994-07-01), Takemoto et al.
patent: 5361343 (1994-11-01), Kosonocky et al.
patent: 5404485 (1995-04-01), Ban
patent: 5410707 (1995-04-01), Bell
patent: 5437020 (1995-07-01), Wells et al.
patent: 5473753 (1995-12-01), Wells et al.
patent: 5475753 (1995-12-01), Barbara et al.
patent: 5479639 (1995-12-01), Ewertz et al.
patent: 5519831 (1996-05-01), Holzhammer
patent: 5519843 (1996-05-01), Moran et al.
patent: 5522076 (1996-05-01), Dewa et al.
patent: 5530673 (1996-06-01), Tobita et al.
patent: 5533190 (1996-07-01), Binford et al.
patent: 5535357 (1996-07-01), Moran et al.
patent: 5535369 (1996-07-01), Wells et al.
patent: 5544356 (1996-08-01), Robinson et al.
patent: 5563828 (1996-10-01), Hasbun et al.
patent: 5577194 (1996-11-01), Wells et al.
patent: 5579522 (1996-11-01), Christeson et al.
patent: 5581723 (1996-12-01), Hasbun et al.
patent: 5592669 (1997-01-01), Robinson et al.
patent: 5596738 (1997-01-01), Pope
patent: 5602987 (1997-02-01), Harari et al.
patent: 5603056 (1997-02-01), Totani
patent: 5671388 (1997-09-01), Hasbun
patent: 5680570 (1997-10-01), Rantala et al.
patent: 5701492 (1997-12-01), Wadsworth et al.
patent: 5715423 (1998-02-01), Levy
patent: 5717886 (1998-02-01), Miyauchi
patent: 5737742 (1998-04-01), Achiwa et al.
patent: 5809558 (1998-09-01), Matthews et al.
patent: 5829013 (1998-10-01), Hasbun
patent: 5937434 (1999-08-01), Hasbun et al.
patent: 6014755 (2000-01-01), Wells et al.
patent: 6088759 (2000-07-01), Hasbun et al.
“A TrueFFS and FLite Technical Overview of M-Systems' Flash File Systems”, M-Systems Technology Brief, 10/96 (pp. 1-10).
Products Guide, M-Systems (reprinted 4/97), (3 pgs.).
News & Events: Products, Partners and Corporate Press Release Index, M-Systems, (reprinted Apr. 11, 1997), (1 page).
“Intel and M-Systems Sign FTL Marketing Agreement”, News and Events Press Releases, M-Systems, Dec. 11, 1995

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

Method of performing reliable updates in a symmetrically... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method of performing reliable updates in a symmetrically..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of performing reliable updates in a symmetrically... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2979002

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