Method and system for file system management using a flash-erasable, programmable, read-only memory
Microsoft Corp.This patent was asserted by Microsoft Corp. against TomTom
Summary / Description
| Summary / Description | They are describing a heap data structure. J. W. J. Williams. Algorithm 232 - Heapsort, 1964, Communications of the ACM 7(6): 347–348. Robert W. Floyd. Algorithm 245 - Treesort 3, 1964, Communications of the ACM 7(12): 701. |
Basic Information
| Type of Prior Art | Print Publication |
| Publication Title * | Robert W. Floyd. Algorithm 245 - Treesort 3, 1964, Communications of the ACM 7(12): 701. |
| Author | Robert W. Floyd |
| ISBN | 0001-0782 |
| Page Range | 701 |
| Medium | Journal article |
| Publication Date * | December 1, 1964 |
| URL | http://portal.acm.org/citation.... |
Notes / To Do
| Notes | The patent talks about the invention without specifying specific algorithms. If you find an algorithm that does the same thing invented prior to the patent, I believe it would be prior art. http://sigact.acm.org/floyd/ |
Excerpt
J. W. J. Williams, Algorithm 232 Heapsort, CACM, 7(6):378-348, June 1964.
Relevance
Claims
Copying allocated data regions into continguous memory
The method of Claim 4 wherein the allocated data regions are copied into contiguous memory locations in the spare block.
Relevance
known as compacting the heap
known as compacting the heap
Claim Chart
All
Levelng block erasures
A method of leveling block erasures in a block-erasable, programmable, read-only memory, the method comprising the steps of:
identifying a first block that has been erased;
identifying a second block that has been erased a fewer number of times than the first block; and
swapping the data in the first block with the data in the second block.
Relevance
Look at heap algorithms.
Look at heap algorithms.
Claim Chart
All
Storing file location in memory cache
The method of Claim 10, each block having header information, further comprising the steps of:
gathering information from the headers and from the allocation tables; and
storing the gathered information in a memory cache.
Relevance
Look at performance optimizations of algorithm implementations.
Look at performance optimizations of algorithm implementations.
Claim Chart
All
Memory manager with file allocation table
A manager for a computer memory comprising:
a block allocation routine, the memory divided into blocks of memory locations, each block having an allocation table and a data region divided into data areas, each allocation table having entries corresponding to region data areas, the block allocation routine for selecting a block in which to store data;
a data area allocation routine for selecting a data area within the data region for the selected block in which to store data, for selecting an allocation table entry to correspond to the selected data area, and for setting the selected allocation table entry to correspond to the selected data area and to an allocated state; and
a storage routine for storing data in the selected data area.
Relevance
a heap data structure in memory and on disk
a heap data structure in memory and on disk
Claim Chart
Some
Reclaiming deallocated space
A method of reclaiming deallocated space in a block-eraseable, programmable, read-only memory, the memory having blocks, the method comprising the steps of:
identifying data regions as deallocated or allocated in a block to be reclaimed;
erasing a spare block; and
copying allocated data regions from the block to be reclaimed to the spare block whereby a memory area corresponding to the deallocated data region is reclaimed for allocation.
Relevance
same as 5 ; compacting the heap.
same as 5 ; compacting the heap.
Claim Chart
All
Block-erasable, programmable ROM
The method of Claim 6 or 7 wherein the computer memory device is a block-erasable, programmable, read-only memory.
Relevance
equivalent to deleting a heap block in memory or on disk; again no algorithm is specified in the patent
equivalent to deleting a heap block in memory or on disk; again no algorithm is specified in the patent
Claim Chart
All
Reclaiming deallocated space
The method of Claim 10, further comprising the steps of:
setting an allocation table entry that is in the allocated state to a deallocated state; and
reclaiming data areas corresponding to allocation table entries that are in that deallocated state.
Relevance
same as 4 and 5.
same as 4 and 5.
Claim Chart
All
Initialization routine
The manager for a computer memory of Claim 1 further comprising:
an initialization routine, each block having header information, the initialization routine for gathering information from the headers and from the allocation tables and storing the gathered information in a memory cache.
Relevance
initializing a data structure is common to every algorithm for managing a data structure.
initializing a data structure is common to every algorithm for managing a data structure.
Claim Chart
Some
Storing and identifying data regions
A method of addressing a data region in a computer memory device, the memory divided into blocks, each block having a physical block number, the method comprising the steps of:
storing an allocation table in each block, the allocation table having entries that indicate an offset of a data region within the block and that have an entry index;
storing a logical block number in each block;
identifying a data region by logical block number and allocation table entry index; and
generating an address to the identified data region based on the logical block number and the allocation table entry index.
Relevance
Look at the heap memory management routines in old implementations of operating systems for examples.
Look at the heap memory management routines in old implementations of operating systems for examples.
Claim Chart
All
Memory manager with file allocation table
A method of managing memory in a block-erasable, programmable, read-only memory, the memory being divided into blocks of memory locations, each block having an allocation table and a data region divided into data areas, each allocation table having entries corresponding to region data areas, the method comprising the steps of:
selecting a block in which to store data;
selecting a data area within the data region for the selected block in which to store data;
selecting an allocation table entry to correspond to the selected data area;
setting the selected allocation table entry to correspond to the selected data area and to an allocated state; and
storing data in the selected data area.
Relevance
This is a heap data structure invented prior to the patent.
This is a heap data structure invented prior to the patent.
Claim Chart
All
Memory manager with file allocation table
A method of managing memory in a block-erasable, programmable, read-only memory, the memory being divided into blocks of memory locations, each block have a table and a data region divided into data areas, each table having entries corresponding to the data areas, the method comprising the steps of:
selecting a block in which to store data;
selecting a data area within the data region for the selected block in which to store data;
selecting a table entry to correspond to the selected data area;
setting the selected table entry to correspond to the selected data area and to indicate that the data area contains data; and
storing data in the selected data area.
Relevance
A heap data structure on disk.
A heap data structure on disk.
Claim Chart
All
Memory block reclamation
The manager for a computer memory of Claim 1 further comprising:
a data area deallocation routine for setting an allocation table entry that is in the allocated state to a deallocated state; and
a block reclamation routine for reclaiming data areas corresponding to allocation table entries that are in that deallocated state.
Relevance
same as 4 and 5 ; marking a block as deleted to delay the performance cost of updating the data structure.
same as 4 and 5 ; marking a block as deleted to delay the performance cost of updating the data structure.
Claim Chart
Some


