Contiguous file allocation in an extensible file system
First Claim
1. A method of reading files from a storage media of a storage device comprising:
- receiving a name of a first file to retrieve from the storage media;
identifying the first file name in a directory entry on the storage media separate from a file allocation table on the storage media;
determining if the first file is stored in a first plurality of contiguous clusters on the storage media based on whether a first contiguous file flag is set for the first file in the directory entry;
when the first file is determined to be stored in the first plurality of contiguous clusters, thereafter,identifying a first starting cluster on the storage media for the first file,determining, from information within the directory entry and without using the file allocation table, a number of contiguous clusters of the first file to read from the storage media, andreading, beginning with the first starting cluster on the storage media, the determined number of contiguous clusters without using the file allocation table;
receiving a second name of a second file to retrieve from the storage media;
identifying the second file name in a second directory entry on the storage media separate from the file allocation table on the storage media;
determining if the second file is stored in a second plurality of contiguous clusters on the storage media based on whether a second contiguous file flag is set for the second file in the second directory entry; and
when the second file is not determined to be stored in the second plurality of contiguous clusters, thereafter,identifying a second starting cluster on the storage media for the second file, andreading from the starting cluster on the storage media the second file by using the file allocation table when the second file is not determined to be contiguous.
3 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a method for creating and reading a contiguous file in an extensible file system. During the creation of a file on the storage media, the file system format check the bitmap to determine if there are areas of free space on the media that would permit the storage of the file in a contiguous manner. By storing the file in a contiguous manner the file may later be read without resorting to the file allocation table, because the file itself would not be fragmented on the storage media. Once an area of free space has been identified, the file is written to the media in a contiguous manner. Further, an associated entry for the file in the directory entry is updated or created to indicate that the file is a contiguous file and also provides basic parameters necessary to read the file without resorting to accessing the file allocation table.
-
Citations
11 Claims
-
1. A method of reading files from a storage media of a storage device comprising:
-
receiving a name of a first file to retrieve from the storage media; identifying the first file name in a directory entry on the storage media separate from a file allocation table on the storage media; determining if the first file is stored in a first plurality of contiguous clusters on the storage media based on whether a first contiguous file flag is set for the first file in the directory entry; when the first file is determined to be stored in the first plurality of contiguous clusters, thereafter, identifying a first starting cluster on the storage media for the first file, determining, from information within the directory entry and without using the file allocation table, a number of contiguous clusters of the first file to read from the storage media, and reading, beginning with the first starting cluster on the storage media, the determined number of contiguous clusters without using the file allocation table; receiving a second name of a second file to retrieve from the storage media; identifying the second file name in a second directory entry on the storage media separate from the file allocation table on the storage media; determining if the second file is stored in a second plurality of contiguous clusters on the storage media based on whether a second contiguous file flag is set for the second file in the second directory entry; and when the second file is not determined to be stored in the second plurality of contiguous clusters, thereafter, identifying a second starting cluster on the storage media for the second file, and reading from the starting cluster on the storage media the second file by using the file allocation table when the second file is not determined to be contiguous. - View Dependent Claims (2, 3, 4)
-
-
5. A method of reading files from a storage media of a storage device comprising:
-
receiving a name of a first file to retrieve from the storage media; identifying the first file name in a directory entry on the storage media separate from a file allocation table on the storage media; determining if the first file is stored in a first plurality of contiguous clusters on the storage media based on whether a first contiguous file flag is set for the first file in the directory entry; when the first file is determined to be stored in the first plurality of contiguous clusters, thereafter, identifying a first starting cluster on the storage media for the first file, obtaining, without using the file allocation table, a file size from the directory entry on the storage media, determining, using the obtained file size and a cluster size for the storage media, a number of contiguous clusters used by the first file to read from the storage media, and reading, beginning with the first starting cluster on the storage media, the determined number of contiguous clusters without using the file allocation table; receiving a second name of a second file to retrieve from the storage media; identifying the second file name in a second directory entry on the storage media separate from a file allocation table on the storage media; determining if the second file is a second contiguous file stored in a second plurality of contiguous clusters on the storage media based on whether a second contiguous file flag is set for the second file in the second directory entry; and when the second file is not determined to be a contiguous file stored in the second plurality of contiguous clusters, thereafter, identifying a second starting cluster on the storage media for the second file, and reading from the starting cluster on the storage media the second file by using the file allocation table when the second file is not determined to be contiguous. - View Dependent Claims (6, 7)
-
-
8. A computing device having a storage media that stores computer-executable instructions and a processor for executing the instructions, the instructions, when executed by the processor, causing the device to perform operations comprising:
-
receiving a name of a first file to retrieve from the storage media; identifying the first file name in a directory entry on the storage media separate from a file allocation table on the storage media; determining if the first file is stored in a first plurality of contiguous clusters on the storage media based on whether a first contiguous file flag is set for the first file in the directory entry; when the first file is determined to be stored in the first plurality of contiguous clusters, thereafter, identifying a first starting cluster on the storage media for the first file, determining, from information within the directory entry and without using the file allocation table, a number of contiguous clusters of the first file to read from the storage media, and reading, beginning with the first starting cluster on the storage media, the determined number of contiguous clusters without using the file allocation table; receiving a second name of a second file to retrieve from the storage media; identifying the second file name in a second directory entry on the storage media separate from the file allocation table on the storage media; determining if the second file is a second contiguous file stored in a second plurality of contiguous clusters on the storage media based on whether a second contiguous file flag is set for the second file in the second directory entry; and when the second file is not determined to be a contiguous file stored in the second plurality of contiguous clusters, thereafter, identifying a second starting cluster on the storage media for the second file, and reading from the starting cluster on the storage media the second file by using the file allocation table when the second file is not determined to be contiguous. - View Dependent Claims (9, 10, 11)
-
Specification