File system snapshots over thinly provisioned volume file in mapped mode
First Claim
1. A data storage system for use by a file system consumer according to a file system interface, comprising:
- one or more physical, non-transitory, nonvolatile storage devices; and
a processing subsystem executing software to form a multi-level stack of functional components including a lower-deck file system and an upper-deck file system, the upper-deck file system providing the file system interface to the file system consumer, the lower-deck file system presenting a volume file from which storage is provided to the upper-deck file system, units of storage of the storage devices being allocable to the upper-deck file system as well as to other uses in the data storage system, the volume file being thinly provisioned so that its allocated size at any given time is generally less than its configured size, additional units of storage being added dynamically to the volume file to increase its allocated size in response to demand from the upper-deck file system, the lower-deck file system operating in a mapped mode in which a block address of a data block in the lower-deck file system is obtained by a generally arbitrary mapping of a corresponding block address of a data block in the volume file,wherein the volume file is a primary volume file and the mapping is a primary file mapping, and one or more snapshots of the primary volume file are stored in respective snapshot volume files of the lower-deck file system, each snapshot being a respective point-in-time copy of the primary volume file, and the mapped mode includes use of generally arbitrary respective second mappings of respective block addresses of data blocks of the snapshot volume files to obtain corresponding block addresses of the data blocks in the lower-deck file system.
10 Assignments
0 Petitions
Accused Products
Abstract
A data storage system includes storage devices and a processing subsystem executing software forming a lower-deck file system and an upper-deck file system. The lower-deck file system presents a volume file from which storage is provided to the upper-deck file system, and units of storage of the storage devices are allocable to the upper-deck file system but not reserved to it. The volume file is thinly provisioned, and additional units of storage are added dynamically to increase its allocated size in response to demand from the upper-deck file system. The lower-deck file system operates in a mapped mode in which a block address in the lower-deck file system is obtained by a generally arbitrary mapping (e.g., an Inode/IB tree) of a block address in the volume file.
-
Citations
19 Claims
-
1. A data storage system for use by a file system consumer according to a file system interface, comprising:
-
one or more physical, non-transitory, nonvolatile storage devices; and a processing subsystem executing software to form a multi-level stack of functional components including a lower-deck file system and an upper-deck file system, the upper-deck file system providing the file system interface to the file system consumer, the lower-deck file system presenting a volume file from which storage is provided to the upper-deck file system, units of storage of the storage devices being allocable to the upper-deck file system as well as to other uses in the data storage system, the volume file being thinly provisioned so that its allocated size at any given time is generally less than its configured size, additional units of storage being added dynamically to the volume file to increase its allocated size in response to demand from the upper-deck file system, the lower-deck file system operating in a mapped mode in which a block address of a data block in the lower-deck file system is obtained by a generally arbitrary mapping of a corresponding block address of a data block in the volume file, wherein the volume file is a primary volume file and the mapping is a primary file mapping, and one or more snapshots of the primary volume file are stored in respective snapshot volume files of the lower-deck file system, each snapshot being a respective point-in-time copy of the primary volume file, and the mapped mode includes use of generally arbitrary respective second mappings of respective block addresses of data blocks of the snapshot volume files to obtain corresponding block addresses of the data blocks in the lower-deck file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of operating a data storage system to provide file system functionality to a file system consumer according to a file system interface, the data storage system including one or more physical nonvolatile storage devices and a processing subsystem, comprising:
-
instantiating, in the processing subsystem, software to form a multi-level stack of functional components including a lower-deck file system and an upper-deck file system, the upper-deck file system providing the file system interface to the file system consumer; and by the lower-deck file system, (i) presenting a volume file from which storage is provided to the upper-deck file system, units of storage of the storage devices being allocable to the upper-deck file system as well as to other uses in the data storage system, the volume file being thinly provisioned so that its allocated size at any given time is generally less than its configured size, (ii) dynamically adding additional units of storage to the volume file to increase its allocated size in response to demand from the upper-deck file system, and (iii) utilizing a mapped operating mode in which a block address of a data block in the lower-deck file system is obtained by a generally arbitrary mapping of a corresponding block address of a data block in the volume file, wherein the volume file is a primary volume file and the mapping is a primary file mapping, and one or more snapshots of the primary volume file are stored in respective snapshot volume files of the lower-deck file system, each snapshot being a respective point-in-time copy of the primary volume file, and the mapped mode includes use of generally arbitrary respective second mappings of respective block addresses of data blocks of the snapshot volume files to obtain corresponding block addresses of the data blocks in the lower-deck file system. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification