Method and apparatus for storing compressed file data on a disk where each MDFAT data structure includes an extra byte
First Claim
1. A method for storing at least one cluster of file data in a plurality of fragments of non-adjacent sectors on a disk, each cluster comprising a plurality of sectors, each sector being a fixed length capable of storing a predetermined, fixed number of bytes, said method comprising the steps of:
- maintaining a first data structure having an entry for each file stored on the disk, each entry identifying the cluster in which the first portion of each respective file is stored;
maintaining a second data structure having an entry for each cluster on the disk, each entry identifying another cluster in which the next portion of each respective file is stored;
maintaining a third data structure having an entry for each cluster on the disk, each entry identifying the sectors used to store the data for each respective cluster, and each entry identifying whether the data for each respective cluster is stored in fragments;
identifying the sectors used to store the data of each fragment; and
placing entries in the first, second, and third data structures in accordance with the location of data stored in each separate cluster.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for storing compressed file data stored on a disk. The method includes an improved format for the Compressed Volume File (CVF), and more specifically, 10 an improved format for the MDFAT data structure stored within the CVF. The improved format includes using an additional byte for maintaining each entry in the MDFAT data structure which increases the number of sectors within the Sector Heap that can be addressed and accessed. The improved format further allows compressed clusters to be stored in fragments in various portions of vacant storage space located throughout the Sector Heap. The new format for the MDFAT data structure includes a bit that identifies whether each cluster is being stored in fragments. The method stores the locations of each of the fragments in a Fragment Pointer List located in the first sector of the first fragment.
-
Citations
44 Claims
-
1. A method for storing at least one cluster of file data in a plurality of fragments of non-adjacent sectors on a disk, each cluster comprising a plurality of sectors, each sector being a fixed length capable of storing a predetermined, fixed number of bytes, said method comprising the steps of:
-
maintaining a first data structure having an entry for each file stored on the disk, each entry identifying the cluster in which the first portion of each respective file is stored; maintaining a second data structure having an entry for each cluster on the disk, each entry identifying another cluster in which the next portion of each respective file is stored; maintaining a third data structure having an entry for each cluster on the disk, each entry identifying the sectors used to store the data for each respective cluster, and each entry identifying whether the data for each respective cluster is stored in fragments; identifying the sectors used to store the data of each fragment; and placing entries in the first, second, and third data structures in accordance with the location of data stored in each separate cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for storing at least one cluster of file data in a plurality of fragments of non-adjacent sectors on a disk, each cluster comprising a plurality of sectors, each sector being a fixed length capable of storing a predetermined, fixed number of bytes, comprising:
-
a computer having a memory; an operating system stored within said memory; a disk drive operatively connected to said computer for storing data on said disk; wherein said operating system comprises; means for maintaining a first data structure on said disk, said first data structure having an entry for each file stored on said disk, each entry identifying the cluster in which the first portion of each respective file is stored; means for maintaining a second data structure on said disk, said second data structure having an entry for each cluster on said disk, each entry identifying another cluster in which the next portion of each respective file is stored; means for maintaining a third data structure on said disk, said third data structure having an entry for each cluster on said disk, each entry identifying the sectors used to store the data for each respective cluster, and each entry identifying whether the data for each respective cluster is stored in fragments; means for identifying the sectors used to store the data of each fragment; and means for placing entries in said first, second, and third data structures in accordance with the location of data stored in each respective cluster. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer-readable medium on which is stored a program for storing at least one cluster of file data in a plurality of fragments of non-adjacent sectors on a disk, each cluster comprising a plurality of sectors, each sector being a fixed length capable of storing a predetermined, fixed number of bytes, the program comprising instructions which, when executed by the computer, perform the steps of:
-
maintaining a first data structure having an entry for each file stored on the disk, each entry identifying the cluster in which the first portion of each respective file is stored; maintaining a second data structure having an entry for each cluster on the disk, each entry identifying another cluster in which the next portion of each respective file is stored; maintaining a third data structure having an entry for each cluster on the disk, each entry identifying the sectors used to store the data for each respective cluster, and each entry identifying whether the data for each respective cluster is stored in fragments; identifying the sectors used to store the data of each fragment; and placing entries in the first, second, and third data structures in accordance with the location of data stored in each separate cluster. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification