Computing system with volatile lock architecture for...

Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S103000, C365S195000, C365S185110

Reexamination Certificate

active

06446179

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to integrated circuit memory devices, and more specifically to lock protecting one or more memory blocks in a non-volatile memory array.
BACKGROUND OF THE INVENTION
Flash EPROM (erasable programmable read-only memory) devices have developed into a popular source of non-volatile, electrically erasable memory in a wide range of digital applications. Flash memory devices typically use a one-transistor memory cell which allows for high memory densities, high reliability, and low power consumption. These characteristics have made flash memory very popular for low power applications, such as battery-backed or embedded memory circuits. Common uses of non-volatile memory include portable computers, personal digital assistant (PDA) devices, digital cameras, and cellular telephones. In these devices, both program code and system data, such as configuration parameters and other firmware, are often stored in flash memory because of the compact storage and relative ease of software upgradeability. The use of flash memory to store upgradeable data has necessitated the development of mechanisms to protect the data from unintended erasure or reprogramming.
With original flash memory devices, erasing stored code or data required erasing the entire device. Newer devices, however, are based on a block-erase architecture in which the flash memory is divided into blocks that are loosely analogous to the disk sectors recognized by disk operating systems. This block based architecture allows file systems to erase blocks of flash memory instead of the whole device. The block architecture also allows users to flexibly erase different portions of code or data in a flash device. For example, critical system code, such as boot code, can be stored in a lockable “boot block” of the device, while other blocks are allocated to other portions of code or data.
To ensure the integrity of block-based flash memory, block protection schemes are needed to protect stored data when the memory is modified through program or erase operations. Memory blocks must be protected against unintended writes when data is written to the device or when a new code segment is updated. Likewise, data blocks must be protected when other data blocks are modified or when code updates occur.
One present method of block protection for flash memory includes protecting a pre-determined number of blocks through a lock/unlock hardware pin. This requires the user to determine which blocks of memory are hardware protectable and reserve those blocks for critical data or program code. This approach is highly inflexible in that the user can only protect code or data in these predetermined hardware protectable blocks.
A second present method of block protection for flash memory includes the use of a block locking configuration table that is stored in the flash memory device itself. Typically the configuration is stored in a flash mini-array that is separate from the main flash memory array. Each bit in the configuration table represents a block that can be either locked or unlocked. This approach, however, has several disadvantages. One disadvantage is the excessive latency incurred in locking or unlocking individual blocks of memory. For example, in a typical flash device, on the order of ten microseconds are required to program a lock bit and one second is required to erase a lock bit. In systems in which code is being executed on the order of thousands of megahertz, these long cycle times required to protect memory blocks can create periods of vulnerability in which data corruption may occur.
Another disadvantage to this method is that, because the table is implemented in a dedicated flash mini-array, in which individual bits represent the different lockable blocks, reprogramming a particular block typically requires erasing the entire set of bits in the table, instead of only the bit for that block. Thus, reconfiguring even a single block incurs the erase cycle times for each of the bits in the table and the associated vulnerability to data corruption of these bits during the relatively long erase times.
An additional disadvantage of the flash based configuration table is that it occupies valuable die space in the flash device and each bit in the table requires associated flash sense, and program and erase circuitry.
Therefore, present methods of block protecting flash memory present several significant disadvantages, including inflexibility of lock configuration, higher costs due to addition of a flash mini-array, and possible data corruption due to vulnerability resulting from long program and erase cycle times.
SUMMARY OF THE INVENTION
A circuit is disclosed for protecting memory blocks in a block-based flash EPROM device. A non-volatile memory array includes a number of blocks that are capable of being placed in a locked state or an unlocked state. A volatile lock register is coupled to each of the lockable blocks in the memory array. A logic gate is coupled to one input of the volatile lock register, and a block set/reset line is coupled to a second input of the volatile lock register. A block latch control line is coupled to one input of the logic gate, and a group latch control line is coupled to a second input of the logic gate.
Other features and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.


REFERENCES:
patent: 5065364 (1991-11-01), Atwood et al.
patent: 5126808 (1992-06-01), Montalvo et al.
patent: 5197034 (1993-03-01), Fandrich et al.
patent: 5210845 (1993-05-01), Crawford et al.
patent: 5293424 (1994-03-01), Holtey
patent: 5297148 (1994-03-01), Harari et al.
patent: 5369754 (1994-11-01), Fandrich et al.
patent: 5438546 (1995-08-01), Ishac et al.
patent: 5442704 (1995-08-01), Holtey
patent: 5509134 (1996-04-01), Fandrich et al.
patent: 5513136 (1996-04-01), Fandrich et al.
patent: 5592641 (1997-01-01), Fandrich et al.
patent: 5673222 (1997-09-01), Fukumoto et al.
patent: 5822251 (1998-10-01), Bruce et al.
patent: 5886582 (1999-03-01), Stansel
patent: 5954818 (1999-09-01), Dalvi et al.
patent: 5974500 (1999-10-01), Maletsky et al.
patent: 5991197 (1999-11-01), Ogura et al.
patent: 6026016 (2000-02-01), Gafken
patent: 6154819 (2000-11-01), Larsen et al.
patent: 6209069 (2001-03-01), Baltar
International Search Report in connection with Int'l Application PCT/US99/09462 (8 pages).
“How Cellular Pirates Have Thwarted Efforts To Outsmart Them,” by G. Naik, Wall Street Journal, p. B1, Mar. 16, 1995.
“Cellular Carriers Try New Tricks to Beat Bandits,” by G. Naik, Wall Street Journal, p. B1, Mar. 16, 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

Computing system with volatile lock architecture for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Computing system with volatile lock architecture for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Computing system with volatile lock architecture for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2847501

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