Dynamic allocation for efficient management of variable...

Electrical computers and digital processing systems: memory – Storage accessing and control – Memory configuring

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S103000

Reexamination Certificate

active

06226728

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to the field of computer memory storage systems. In particular, this invention is drawn to dynamic allocation for efficient management of variable sized data within a nonvolatile memory.
BACKGROUND OF THE INVENTION
Communications devices such as cellular telephones and pagers need the ability to store both data and code. In addition, these communications devices typically require some sort of working memory.
These communication devices generally need to store the code and at least some of the data in nonvolatile memory. For example, serial numbers, authorization codes, frequently dialed numbers, etc. are examples of data that might be stored in nonvolatile memory. Given that the code and data are updated at different frequencies, the communications devices often used different types of nonvolatile memory for storage of data and code. As a result, prior art communications devices typically included one type of nonvolatile memory for code storage, another nonvolatile memory for data storage, and random access memory such as static random access memory for working memory.
One type of nonvolatile memory is a flash electrically erasable programmable read only memory (flash EEPROM). Flash EEPROM (hereinafter “flash memory”) is typically arranged as blocks of single transistor memory cells. Although flash memory is rewritable, the memory cells cannot be re-programmed unless they have first been erased. Moreover, the cells are erasable only in blocks. Thus in order to erase one cell, an entire block of cells must be erased. Updating the flash memory requires some form of media manager to handle copying of valid information out of the block, erasing the block, and writing the valid information as well as the update information to the same or another block. The process of erasing, writing, etc. is relatively time consuming.
Another type of nonvolatile memory is an electrically erasable programmable read only memory (EEPROM) having two-transistor memory cells. Although EEPROM may be arranged into erasable blocks similar to the flash memory, the two-transistor EEPROM is relatively easy to update and does not require the sophisticated media management that flash memory requires for updates. Writing a value to the two-transistor EEPROM cell, however, requires significantly greater time than does programming of an erased single transistor flash memory cell.
One prior art communications device memory architecture includes flash memory for code storage, EEPROM for data storage, and random access memory as working memory.
The use of a variety of nonvolatile memories tends to increase form factor size as well as design and fabrication costs. Personal communications devices such as pagers and cellular telephones are often differentiated based on their size, features, cost, and rate of power consumption.
Moreover as new features are constantly being added, the ratio of code to data may need to change. Providing excess storage for both types of nonvolatile memory increases the cost of the device and is wasteful, unless the storage requirements for both the code and the data are expected to grow. By storing code and data into different types of nonvolatile memory, excess storage capacity in the nonvolatile memory used for code is unavailable for storing data. Similarly, excess storage capacity in the nonvolatile memory used for data is unavailable for storing code. Thus the design is unable to easily accommodate changes in the ratio of nonvolatile memory allocated to code versus that allocated to data.
SUMMARY OF THE INVENTION
In view of limitations of known systems and methods, a plurality of storage structures are provided for efficient management of large and small data in a nonvolatile memory. A method of storing data in a nonvolatile memory includes the step of receiving the data to be stored. A storage structure is selected for the data according to the relative size (z) of the data with respect to a plurality of thresholds including: a minimum number of instances (m), a maximum single instance size (s*g), and an allocation granularity (g). The data is then stored in the selected structure within the nonvolatile memory.
In one embodiment, if z is less than a first threshold, the data is stored within a multiple instance object structure. If z is less than a second threshold, the data is stored as a single instance object.
In one embodiment, the data is fragmented if z exceeds the second threshold. The fragmented data can then be stored among the plurality of blocks of nonvolatile memory.
If the number of fragments is less than a maximum sequence table size, then a sequence table indicative of the order and the locations of the data fragments is stored in the nonvolatile memory.
If the number of data fragments exceeds the maximum sequence table size, then a plurality of sequence table fragments and a group table are stored in the nonvolatile memory. The group table indicates the order and the location of the sequence table fragments which in turn indicate the order and the location of the data fragments within the 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: 5406529 (1995-04-01), Asano
patent: 5420999 (1995-05-01), Mundy
patent: 5469390 (1995-11-01), Sasaki et al.
patent: 5682497 (1997-10-01), Robinson
patent: 5737742 (1998-04-01), Achiwa et al.
patent: 5847995 (1998-12-01), Kobayashi et al.
patent: 5860124 (1999-01-01), Matthews et al.
Chiang et al., “Managing Flash Memory in Personal Communication Devices”, 1997, P177-182, IEEE.

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 allocation for efficient management of variable... 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 allocation for efficient management of variable..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic allocation for efficient management of variable... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2570379

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