Apparatus and method for hardware-based file system
First Claim
1. A method for maintaining a file system object in a non-volatile storage device at successive checkpoints, the method comprising:
- maintaining an object structure in a memory for the file system object, the object structure comprising a first tree structure rooted by a first root node and a second tree structure rooted by a second root node, each tree structure optionally including a number of intermediate nodes and a number of data blocks, each tree structure representing a version of the file system object; and
alternately managing changes to the file system object using the first tree structure rooted by the first root node while storing the second tree structure rooted by the second root node in the non-volatile storage device for a checkpoint that is used for keeping the consistency of data on the non-volatile storage device if the contents of the memory are lost and managing changes to the object structure using the second tree structure rooted by the second root node while storing the first tree structure rooted by the first root node in the non-volatile storage device for a subsequent checkpoint.
4 Assignments
0 Petitions
Accused Products
Abstract
A hardware-based file system includes multiple linked sub-modules that perform functions ancillary to client data handling. Each sub-module is associated with a metadata cache. A doubly-rooted structure is used to store each file system object at successive checkpoints. Metadata is stored within an object and/or as a separate object. Provisions are made for allocating sparse objects. A delayed write feature is used for writing certain objects into non-volatile storage. Checkpoints can be retained as read-only versions of the file system. Modifications to the file system are accomplished without affecting the contents of retained checkpoints. The file system can be reverted to a retained checkpoint. Multiple file servers can be interconnected as a cluster, and each file server stores requests from another file server. Interconnections between file servers can be dynamically modified. A distributed locking mechanism is used to control access to file system objects stored by the file servers.
264 Citations
18 Claims
-
1. A method for maintaining a file system object in a non-volatile storage device at successive checkpoints, the method comprising:
-
maintaining an object structure in a memory for the file system object, the object structure comprising a first tree structure rooted by a first root node and a second tree structure rooted by a second root node, each tree structure optionally including a number of intermediate nodes and a number of data blocks, each tree structure representing a version of the file system object; and alternately managing changes to the file system object using the first tree structure rooted by the first root node while storing the second tree structure rooted by the second root node in the non-volatile storage device for a checkpoint that is used for keeping the consistency of data on the non-volatile storage device if the contents of the memory are lost and managing changes to the object structure using the second tree structure rooted by the second root node while storing the first tree structure rooted by the first root node in the non-volatile storage device for a subsequent checkpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
a non-volatile storage device; means for maintaining an object structure in a memory for the file system object, the object structure comprising a first tree structure rooted by a first root node and a second tree structure rooted by a second root node, each tree structure optionally including a number of intermediate nodes and a number of data blocks, each tree structure representing a version of the file system object; and means for alternately managing changes to the file system object using the first tree structure rooted by the first root node while storing the second tree structure rooted by the second root node in the non-volatile storage device for a checkpoint that is used for keeping the consistency of data on the non-volatile storage device if the contents of the memory are lost and managing changes to the object structure using the second tree structure rooted by the second root node while storing the first tree structure rooted by the first root node in the non-volatile storage device for a subsequent checkpoint. - View Dependent Claims (9, 10, 11, 12)
-
-
13. Apparatus comprising:
-
a non-volatile storage device; and a storage processor configured to maintain an object structure in a memory for a file system object, the object structure comprising a first tree structure rooted by a first root node and a second tree structure rooted by a second root node, each tree structure optionally including a number of intermediate nodes and a number of data blocks, each tree structure representing a version of the file system object, the storage processor further configured to alternately manage changes to the file system object using the first tree structure rooted by the first root node while storing the second tree structure rooted by the second root node in the non-volatile storage device for a checkpoint that is used for keeping the consistency of data on the non-volatile storage device if the contents of the memory are lost and manage changes to the object structure using the second tree structure rooted by the second root node while storing the first tree structure rooted by the first root node in the non-volatile storage device for a subsequent checkpoint. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification