Optimized startup verification of file system integrity
First Claim
1. A computer system comprising:
- a processor;
random access memory accessible by the processor;
a persistent data storage device accessible by the processor;
file system software executable by the processor for managing file data and file system structure of files stored on the persistent data storage device; and
a transaction file maintained by the file system software, where the transaction file includes a plurality of transaction records, and each transaction record comprises a header section and a data section, where the header section of each transaction record includes one or more fields containing information corresponding to a file transaction that is represented by the transaction record; and
where the file system software executes a startup process in which a reconstructed file system is generated in the random access memory, and the startup process skips verification of information stored in the data section of a transaction record when the transaction record meets on one or more predetermined criterion.
14 Assignments
0 Petitions
Accused Products
Abstract
A computer system that may be used in implementing a transaction based file system is disclosed. The computer system includes a processor, random access memory that may be accessible by the processor, and a persistent data storage device that is likewise accessible by the processor. The computer system also may include file system software. The file system software may be executed by the processor and operates to manage the file data and the file system structure of the files stored on the persistent data storage device. Additionally, the file system software may maintain a transaction file that includes a plurality of transaction records. Each of the transaction records has a header section and a data section. The header section of each transaction record may include one or more fields that are designated to store information corresponding to a file transaction that is represented by the transaction record. If the operation of the file system software is interrupted, the file system software may resume its execution using a startup process in which a reconstructed file system may be generated in the random access memory. During system restart, the startup process may skip verification of the data section of a transaction record when the transaction record meets one or more predetermined criterion. For example, the startup process may make a distinction between transaction records merely affecting file data versus transaction records that affect the metadata of the file system. As transactions are found during the startup process, the file system software may identify whether a transaction impacts file data or metadata. Since only the metadata is required to ensure that the file system is in a consistent state after startup, the transaction records relating to metadata may be selected as the only subset of transaction records that are subject to complete verification. Verification of other transaction records may, for example, be limited to a check of the information contained in the header section of each remaining transaction record.
-
Citations
24 Claims
-
1. A computer system comprising:
-
a processor;
random access memory accessible by the processor;
a persistent data storage device accessible by the processor;
file system software executable by the processor for managing file data and file system structure of files stored on the persistent data storage device; and
a transaction file maintained by the file system software, where the transaction file includes a plurality of transaction records, and each transaction record comprises a header section and a data section, where the header section of each transaction record includes one or more fields containing information corresponding to a file transaction that is represented by the transaction record; and
where the file system software executes a startup process in which a reconstructed file system is generated in the random access memory, and the startup process skips verification of information stored in the data section of a transaction record when the transaction record meets on one or more predetermined criterion. - View Dependent Claims (4, 5, 8, 9, 10)
-
-
2. A computer system comprising:
-
a processor;
random access memory accessible by the processor;
a persistent data storage device accessible by the processor;
file system software executable by the processor for managing file data and file system structure of files stored on the persistent data storage device; and
a transaction file maintained by the file system software, where the transaction file includes a plurality of transaction records, and each transaction record comprises a header section and a data section, where the header section of each transaction record includes one or more fields containing information corresponding to a file transaction that is represented by the transaction record; and
where the file system software executes a startup process in which a reconstructed file system is generated in the random access memory, and where the startup process skips verification of information stored in the data section of a transaction record unless the transaction record affects metadata of the file system structure, and where the startup process acts to verify information stored in both the header section and the data section of a transaction record affecting metadata of the filesystem structure. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
3. A computer system comprising:
-
a processor;
random access memory accessible by the processor;
a persistent data storage device accessible by the processor;
file system software executable by the processor for managing file data and file system structure of files stored on the persistent data storage device; and
a transaction file maintained by the file system software in flash media, where the flash media is organized into memory blocks, and each memory block includes a plurality of memory pages, where the transaction file includes a plurality of transaction records, and each transaction record comprises a header section and a data section, and where the header section of each transaction record includes one or more fields containing information corresponding to a file transaction that is represented by the transaction record;
where the file system software executes a startup process in which a reconstructed file system is generated in the random access memory, where the startup process verifies information in the header section of a first occurring transaction record in a sequence of transaction records while skipping any verification of tailing transaction records when the first occurring transaction record and tailing transaction records are stored in the same memory block and affect the same file. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
- 6. A computer system as claimed in claim I where the persistent data storage device comprises flash-like media.
Specification