File system having deferred verification of data 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;
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;
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; and
where the file system software verifies previously unverified data sections of each transaction record representing a given file upon a first or subsequent access of the given file occurring after completion of the startup process.
14 Assignments
0 Petitions
Accused Products
Abstract
A computer system that is used in implementing a transaction based file system is disclosed. The computer system includes a processor, random access memory that is accessible by the processor, and a persistent data storage device that is likewise accessible by the processor. The computer system also includes file system software. The file system software is 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 maintains 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 includes 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 resumes its execution using a startup process in which a reconstructed file system is generated in the random access memory. During system restart, the startup process skips verification of the data section of a transaction record when the transaction record meets one or more predetermined criterion. Instead, verification of the data section is deferred until some time after the file system startup process has completed. For example, the file system software may verify previously unverified data sections of each transaction record representing a given file upon a first or subsequent access of the given file, provided that the file access occurs after completion of the file system startup process.
129 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;
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;
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; and
where the file system software verifies previously unverified data sections of each transaction record representing a given file upon a first or subsequent access of the given file occurring after completion of the startup process. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
-
-
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;
a transaction file maintained by the file system software, the transaction file including a plurality of transaction records, where each transaction record comprises a header section and a data section, and 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, and 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, where the startup process verifies information stored in both the header section and data section of a transaction record affecting metadata of the file system structure, and where the file system software verifies previously unverified data sections of each transaction record representing a given file upon a first or subsequent access of the given file occurring after completion of the startup process. - 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;
a transaction file maintained by the file system software in flash media, the flash media being organized into memory blocks, where each memory block includes a plurality of memory pages, and the transaction file includes a plurality of transaction records, where each transaction record comprises a header section and a data section, and 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, and 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, and where the file system software verifies previously unverified header and/or data sections of each transaction record representing a given file upon a first or subsequent access of the given file occurring after completion of the startup process. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification