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 | The 1972 IBM patent demonstrates that the Background section of Microsoft's patent was not entirely true when it claimed that file systems store data from only one file in any given block at a time. |
Basic Information
| Type of Prior Art | Issued Patents - US |
| Country | United States of America |
| Patent/Application # | 3,668,647 |
| Kind Code | United States (US) - United STATES Patent - A |
| Patentee Name | International Business Machines Corporation |
| Relevant Pages, Columns, or Lines | Entire patent |
| URL | http://www.google.com/patents?i... |
| Publication Date | June 6, 1972 |
| Additional Information | |
Notes / To Do
| Notes | |
Excerpt
Method and System for file system management--Microsoft, March 7, 19916256642
Background Art
Conventional file systems store data in a way that leaves unused portions of blocks. The file systems store data from only one file in any given block at a time. The file systems do not, for example, store data from one file in the first 50 bytes of a block and data from another file the last 78 bytes of a 128-byte block.
Compare this previous Background Art with the following 1970 IBM patent, which
File Access System--International business Machines Corporation, June 12, 1970; 3,668,647
Generally speaking, and in accordance with the invention, there is provided a file-access system comprising a master storage file partitioned into blocks, each of the blocks containing a plurality of data files at respective different intrablock addresses thereon and a directory at the head of the block, the directory containing the names of the data files contained in a block and their intrablock addresses respectively.
Though this patent was designed for disks, IBM claimed: "The master storage may also be of the strip file, delay line, tape, etc. type. Effectively, it is any storage unit which operates in serial by bit or serial by character mode."
Relevance
Claims
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
The IBM patent describes the blocks to be numbered sequentially. It describes each of the blocks as having a directory at the head of the block that indicates the location of the plurality of files in the block. It describes that each block directory contains the address of the file within the block. The IBM patent describes in detail how a data region is identified by its address.
The IBM patent describes the blocks to be numbered sequentially. It describes each of the blocks as having a directory at the head of the block that indicates the location of the plurality of files in the block. It describes that each block directory contains the address of the file within the block. The IBM patent describes in detail how a data region is identified by its address.
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
The IBM patent describes how information is gathered from the directory at the head of the block that contains filenames and intrablock addresses. The patent details how the gathered information is transferred through the use of flip-flops and shift registers from where it can then be sent to an output device or to a CPU.
The IBM patent describes how information is gathered from the directory at the head of the block that contains filenames and intrablock addresses. The patent details how the gathered information is transferred through the use of flip-flops and shift registers from where it can then be sent to an output device or to a CPU.
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
The IBM patent describes each block as having a directory of file names and addresses corresponding to a plurality of files. The IBM patent details how information may be gathered from the headers and allocation tables and how that information is transferred.
The IBM patent describes each block as having a directory of file names and addresses corresponding to a plurality of files. The IBM patent details how information may be gathered from the headers and allocation tables and how that information is transferred.
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
Though the IBM patent doesn't describe how the data is stored in a data area, it does describe how the memory is divided into blocks of locations, each block with its own directory as well as a data region with data areas.
Though the IBM patent doesn't describe how the data is stored in a data area, it does describe how the memory is divided into blocks of locations, each block with its own directory as well as a data region with data areas.
Claim Chart
Some
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
The IBM patent describes how files are allocated such that a hash function applied to a filename determines which block that filename is stored. It focuses on reading data from a filesystem of blocks each with a plurality of files. Therefore, I imagine there is another patent from IBM that covers the storing of data in a system such as this.
The IBM patent describes how files are allocated such that a hash function applied to a filename determines which block that filename is stored. It focuses on reading data from a filesystem of blocks each with a plurality of files. Therefore, I imagine there is another patent from IBM that covers the storing of data in a system such as this.
Claim Chart
Some
Generating data region addresses
The method of Claim 6 wherein the step of generating an address includes the steps of:
determining the physical block number from the logical block number, each block having a corresponding start address;
retrieving the offset from the allocation table entry in the determined physical block number that is indexed by the allocation table entry index; and
adding the retrieved offset to the start address of the block with the determined physical block number to generate the address of the identified data region.
Relevance
IBM's patent describes how addresses are allocated through computing hash functions. It describes how data file block addresses show in which block a data file is contained. It describes how the address of the file (the "intrablock address" within the block is obtained from the directory at the head of the block that contains the names of the data files in that block. It furthermore describes how the data can be read starting from the address contained in the directory of the block.
IBM's patent describes how addresses are allocated through computing hash functions. It describes how data file block addresses show in which block a data file is contained. It describes how the address of the file (the "intrablock address" within the block is obtained from the directory at the head of the block that contains the names of the data files in that block. It furthermore describes how the data can be read starting from the address contained in the directory of the block.
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
The IBM patent describes file system management of blocks with a directory at the head of each block. In each directory, the names and addresses of the files are contained. In the remainder of the block, the file data is contained.
The IBM patent describes file system management of blocks with a directory at the head of each block. In each directory, the names and addresses of the files are contained. In the remainder of the block, the file data is contained.
Claim Chart
All


