← Back to Patent Explorer
US5987478A Expired / Lapsed US ⏱️ 0.0 years remaining

Virtual small block file manager for flash memory array

Assignee: Intel Corp
•
Filing: 1995-10-31
•
Granted: 1999-11-16
•
Expires: 2015-10-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A file system created in a flash EEPROM memory array including a first data structure for file entries, the file entries being arranged serially for access, each file entry pointing to one of a plurality of second data structures; a plurality of second data structures for file information entries, each file information entry of the second data structure pointing to data in one file, each file information entry of the second data structure being arranged serially for access and pointing to data entered in a file; and a plurality of data entries each pointed to by a file information entry of one of the second data structures.

Inventors

  • 👤 Deborah See
  • 👤 Rina Martin

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 12:24
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0688; G06F3/0602; G06F3/0625; G06F3/0628; G06F3/0638; G06F3/0643; G11; G11C; G11C7/00; G11C7/16; Y; Y02; Y02D; Y02D10/00; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99956

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 151 words
A method for organizing data in a flash memory array, said method comprising the steps of: storing data in the flash memory array in a plurality of files, each of the plurality of files being respectively stored in one or more sectors having a predetermined size; storing in the flash memory array a plurality of file information tables, each of the plurality of file information tables corresponding to a respective file of the plurality of files; and storing in each of the plurality of file information tables one or more file information entries, there being one respective file information entry for each of the one or more sectors in the respective file, each of the one or more file information entries including a pointer to a respective sector of the one or more sectors and a value indicating a number of storage locations in the respective sector that contain valid data.
Claim 2
Independent Claim 151 words
A method for organizing data in a flash memory array, said method comprising the steps of: storing data in the flash memory array in a plurality of files, each of the plurality of files being respectively stored in one or more sectors having a predetermined size; storing in the flash memory array a plurality of file information tables, each of the plurality of file information tables corresponding to a respective file of the plurality of files; and storing in each of the plurality of file information tables one or more file information entries, there being one respective file information entry for each of the one or more sectors in the respective file, each of the one or more file information entries including a pointer to a respective sector of the one or more sectors and a value indicating a number of storage locations in the respective sector that contain valid data.
Claim 3
Dependent Claim 54 words
The method of claim 1 further comprising the step of storing in the flash memory array a file entry table including a plurality of file entries respectively corresponding to the plurality of files, each of the plurality of file entries including a pointer to a respective one of the plurality of file information tables.
Claim 4
Dependent Claim 69 words
The method of claim 1 wherein said step of storing a plurality of file information tables includes the step of storing each of the one or more file information entries starting at respective addresses equally offset from one another to enable each of the one or more file information entries to be located without reference to a value stored in another of the one or more file information entries.
Claim 5
Independent Claim 150 words
A method for inserting data in a file stored in a flash memory array, the method comprising the steps of: identifying a first unit of storage that includes a predetermined number of storage locations in the flash memory array and having stored therein at least a portion of a file, the at least a portion of the file including a first number of data values and a separate second number of data values between which additional data is to be inserted; storing in a second unit of storage that includes the predetermined number of storage locations in the flash memory array at least a portion of the additional data; and storing in a file organization table in the flash memory array an entry including a pointer to the first unit of storage and a value indicating that the first unit of storage contains the first number of valid data values.
Claim 6
Independent Claim 150 words
A method for inserting data in a file stored in a flash memory array, the method comprising the steps of: identifying a first unit of storage that includes a predetermined number of storage locations in the flash memory array and having stored therein at least a portion of a file, the at least a portion of the file including a first number of data values and a separate second number of data values between which additional data is to be inserted; storing in a second unit of storage that includes the predetermined number of storage locations in the flash memory array at least a portion of the additional data; and storing in a file organization table in the flash memory array an entry including a pointer to the first unit of storage and a value indicating that the first unit of storage contains the first number of valid data values.
Claim 7
Dependent Claim 34 words
The method of claim 4 further comprising the step of storing in the second unit of storage at least a portion of the second number of data values from the first unit of storage.
Claim 8
Dependent Claim 71 words
The method of claim 5 further comprising the step of storing in the file organization table an entry including a pointer to the second unit of storage and a value indicating that the second unit of storage contains a number of valid data values equal to a sum of the at least a portion of the additional data and the at least a portion of the second number of data values.
Claim 9
Independent Claim 88 words
A method comprising: identifying in a flash memory array a first storage division having stored therein first and second portions of a file; allocating a second storage division in the flash memory array; storing in the second storage division data to be inserted in the file between the first and second portions; and storing a value that indicates the amount of valid data stored in the first storage division to indicate that the first storage division contains the amount of data in the first portion of the file.
Claim 10
Independent Claim 88 words
A method comprising: identifying in a flash memory array a first storage division having stored therein first and second portions of a file; allocating a second storage division in the flash memory array; storing in the second storage division data to be inserted in the file between the first and second portions; and storing a value that indicates the amount of valid data stored in the first storage division to indicate that the first storage division contains the amount of data in the first portion of the file.
Claim 11
Dependent Claim 80 words
The method of claim 7 further comprising the steps of: storing in the second storage division at least part of the second portion of the file if there are remaining storage locations in the second storage division after storing the data to be inserted in the file; allocating a third storage division in the flash memory array; and storing in the third storage division any part of the second portion of the file not stored in the second storage division.
Claim 12
Dependent Claim 36 words
The method of claim 7 wherein said step of identifying a first storage division includes the step of identifying the first storage division based on a file organization data structure stored in the flash memory array.
Claim 13
Dependent Claim 41 words
The method of claim 7 further comprising the step of storing in a file organization data structure an entry including a pointer to the first storage division and the value indicating the amount of data stored in the first storage division.
Claim 14
Dependent Claim 47 words
The method of claim 7 further comprising the step of storing in the second storage division at least part of the second portion of the file if there are remaining storage locations in the second storage division after storing the data to be inserted in the file.
Claim 15
Dependent Claim 25 words
The method of claim 7 wherein the first storage division and the second storage division each include an equal and predetermined number of storage locations.
Claim 16
Dependent Claim 21 words
The method of claim 7 wherein each of the first and second storage divisions is a sector having a predetermined size.
Claim 17
Independent Claim 111 words
An apparatus including: a processor; a flash memory array; and a memory having stored therein software which, when executed by the processor, causes the processor to: identify in the flash memory array a first storage division having stored therein first and second portions of a file; allocate a second storage division in the flash memory array; store in the second storage division data to be inserted in the file between the first and second portions; and store a value that indicates the amount of valid data stored in the first storage division to indicate that the first storage division contains the amount of data in the first portion of the file.
Claim 18
Independent Claim 111 words
An apparatus including: a processor; a flash memory array; and a memory having stored therein software which, when executed by the processor, causes the processor to: identify in the flash memory array a first storage division having stored therein first and second portions of a file; allocate a second storage division in the flash memory array; store in the second storage division data to be inserted in the file between the first and second portions; and store a value that indicates the amount of valid data stored in the first storage division to indicate that the first storage division contains the amount of data in the first portion of the file.
Claim 19
Dependent Claim 56 words
The apparatus of claim 14 wherein the software, when executed by the processor, further causes the processor to store in a file organization data structure in the flash memory array an entry including a pointer to the first storage division and a value indicating the number of valid data values stored in the first storage division.
Claim 20
Dependent Claim 55 words
The apparatus of claim 14 wherein the software, when executed by the processor, further causes the processor to store in the second storage division at least part of the second portion of the file if there are remaining storage locations in the second storage division after storing the data to be inserted in the file.
Claim 21
Dependent Claim 25 words
The apparatus of claim 14 wherein the first storage division and the second storage division each include an equal and predetermined number of storage locations.
Claim 22
Dependent Claim 21 words
The apparatus of claim 14 wherein each of the first and second storage divisions is a sector having a predetermined size.
Claim 23
Independent Claim 144 words
An apparatus comprising: means for storing data in the flash memory array in a plurality of files, each of the plurality of files being respectively stored in one or more sectors having a predetermined size; means for storing in the flash memory array a plurality of file information tables, each of the plurality of file information tables corresponding to a respective file of the plurality of files; and means for storing in each of the plurality of file information tables one or more file information entries, there being one respective file information entry for each of the one or more sectors in the respective file, each of the one or more file information entries including a pointer to a respective sector of the one or more sectors and a value indicating a number of storage locations in the respective sector that contain valid data.
Claim 24
Independent Claim 144 words
An apparatus comprising: means for storing data in the flash memory array in a plurality of files, each of the plurality of files being respectively stored in one or more sectors having a predetermined size; means for storing in the flash memory array a plurality of file information tables, each of the plurality of file information tables corresponding to a respective file of the plurality of files; and means for storing in each of the plurality of file information tables one or more file information entries, there being one respective file information entry for each of the one or more sectors in the respective file, each of the one or more file information entries including a pointer to a respective sector of the one or more sectors and a value indicating a number of storage locations in the respective sector that contain valid data.
Claim 25
Independent Claim 147 words
An apparatus comprising: a programmed processor storing data in the flash memory array in a plurality of files, each of the plurality of files being respectively stored in one or more sectors having a predetermined size; said programmed processor storing in the flash memory array a plurality of file information tables, each of the plurality of file information tables corresponding to a respective file of the plurality of files; and said programmed processor storing in each of the plurality of file information tables one or more file information entries, there being one respective file information entry for each of the one or more sectors in the respective file, each of the one or more file information entries including a pointer to a respective sector of the one or more sectors and a value indicating a number of storage locations in the respective sector that contain valid data.
Claim 26
Independent Claim 147 words
An apparatus comprising: a programmed processor storing data in the flash memory array in a plurality of files, each of the plurality of files being respectively stored in one or more sectors having a predetermined size; said programmed processor storing in the flash memory array a plurality of file information tables, each of the plurality of file information tables corresponding to a respective file of the plurality of files; and said programmed processor storing in each of the plurality of file information tables one or more file information entries, there being one respective file information entry for each of the one or more sectors in the respective file, each of the one or more file information entries including a pointer to a respective sector of the one or more sectors and a value indicating a number of storage locations in the respective sector that contain valid data.
Claim 27
Dependent Claim 113 words
An article of manufacture including one or more computer-readable media having embodied thereon instructions which, when executed by a processor, cause said processor to perform the steps of: identifying in a flash memory array a first storage division having stored therein first and second portions of a file; allocating a second storage block in the flash memory array; storing in the second storage division data to be inserted in the file between the first and second portions; and storing a value that indicates the amount of valid data stored in the first storage division to indicate that the first storage division contains the amount of data in the first portion of the file.
Claim 28
Dependent Claim 113 words
An article of manufacture including one or more computer-readable media having embodied thereon instructions which, when executed by a processor, cause said processor to perform the steps of: identifying in a flash memory array a first storage division having stored therein first and second portions of a file; allocating a second storage block in the flash memory array; storing in the second storage division data to be inserted in the file between the first and second portions; and storing a value that indicates the amount of valid data stored in the first storage division to indicate that the first storage division contains the amount of data in the first portion of the file.
Claim 29
Dependent Claim 55 words
The article of claim 21 wherein the instructions, when executed by the processor, further cause the processor to store in the second storage division at least part of the second portion of the file if there are remaining storage locations in the second storage division after storing the data to be inserted in the file.
Claim 30
Dependent Claim 51 words
The article of claim 22 wherein the instructions, when executed by the processor, further cause the processor to: allocate a third storage division in the flash memory array; and store in the third storage division any part of the second portion of the file not stored in the second storage division.
Claim 31
Dependent Claim 25 words
The article of claim 21 wherein the first storage division and the second storage division each include an equal and predetermined number of storage locations.
Claim 32
Dependent Claim 36 words
The article of claim 21 wherein said step of identifying a first storage division includes the step of identifying the first storage division based on a file organization data structure stored in the flash memory array.
Claim 33
Dependent Claim 21 words
The article of claim 21 wherein each of the first and second storage divisions is a sector having a predetermined size.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-11-15 2003-05-17 2003-11-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-11-15 2007-05-17 2007-11-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-11-15 2011-05-17 2011-11-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag