Unified data services for block and file objects
First Claim
1. A data storage system, comprising:
- a back-end interface to physical storage;
a front-end interface to a communications network coupling the data storage system to one or more host computers; and
one or more storage processors configured to execute computer program instructions to cause the data storage system to provide data storage services to the host computers using the physical storage by;
defining a layered operating stack including a pool layer, a file system layer, a map layer and one or more service layers, the pool layer defining and providing slices of the physical storage for storing host objects, the file system layer having one or more internal file systems with respective files stored in corresponding sets of slices of the physical storage, the map layer mapping the host objects to respective files of the one or more internal file systems, the host objects including block-organized host objects and file-oriented host objects, each of the block-organized host objects and the file-oriented host objects is in a corresponding original object form;
by the pool layer, the file system layer and the map layer collectively, providing a basic data storage service for storing a file of one of the one or more internal file systems by distributing blocks of the file across a set of slices of the physical storage, maintaining original object form of the stored file, and providing a basic level of storage efficiency; and
by the service layers, providing one or more automated enhanced data services, each automated enhanced data service applying a respective service transformation to the original object form to generate respective data in a service-specified form and storing the respective data in the slices, the service-specified form providing a service level of storage efficiency generally greater than the basic level of storage efficiency.
9 Assignments
0 Petitions
Accused Products
Abstract
An improved technique for a data storage apparatus that combines both block-based and file-based functionality in a unified data path architecture. The improved technique brings together IO processing of block-based storage systems and file-based storage systems by expressing both block-based objects (e.g., LUNs) and file-based objects (e.g., host file systems) in the form of files. These files are parts of an underlying set of internal file systems stored on a set of storage units served by a storage pool. Because block and file-based objects are all expressed as files of this set of internal file systems, a common set of services can be applied across block-based and file-based objects. In particular, enhanced data services such as compression, automated storage tiering and deduplication are provided across both types of object using one set of common mechanisms.
-
Citations
26 Claims
-
1. A data storage system, comprising:
-
a back-end interface to physical storage; a front-end interface to a communications network coupling the data storage system to one or more host computers; and one or more storage processors configured to execute computer program instructions to cause the data storage system to provide data storage services to the host computers using the physical storage by; defining a layered operating stack including a pool layer, a file system layer, a map layer and one or more service layers, the pool layer defining and providing slices of the physical storage for storing host objects, the file system layer having one or more internal file systems with respective files stored in corresponding sets of slices of the physical storage, the map layer mapping the host objects to respective files of the one or more internal file systems, the host objects including block-organized host objects and file-oriented host objects, each of the block-organized host objects and the file-oriented host objects is in a corresponding original object form; by the pool layer, the file system layer and the map layer collectively, providing a basic data storage service for storing a file of one of the one or more internal file systems by distributing blocks of the file across a set of slices of the physical storage, maintaining original object form of the stored file, and providing a basic level of storage efficiency; and by the service layers, providing one or more automated enhanced data services, each automated enhanced data service applying a respective service transformation to the original object form to generate respective data in a service-specified form and storing the respective data in the slices, the service-specified form providing a service level of storage efficiency generally greater than the basic level of storage efficiency. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of operating a data storage system having a back-end interface to physical storage and a front-end interface to a communications network coupling the data storage system to one or more host computers, comprising:
-
defining a layered operating stack including a pool layer, a file system layer, a map layer and one or more service layers, the pool layer defining and providing slices of the physical storage for storing host objects, the file system layer having one or more internal file systems with respective files stored in corresponding sets of slices of the physical storage, the map layer mapping the host objects to respective files of the internal file systems, the host objects including block-organized host objects and file-oriented host objects, each of the block-organized host objects and the file-oriented host objects is in a corresponding original object form; by the pool layer, the file system layer and the map layer collectively, providing a basic data storage service for storing a file of one of the one or more internal file systems by distributing blocks of the file across a set of slices of the physical storage, maintaining original object form of the stored file, and providing a basic level of storage efficiency; and by the service layers, providing one or more automated enhanced data services, each automated enhanced data service applying a respective service transformation to the original object form to generate respective data in a service-specified form and storing the data in the slices, the service-specified form providing a service level of storage efficiency generally greater than the basic level of storage efficiency. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer program product having a non-transitory computer readable medium including instructions which, when executed by one or more storage processors of a data storage system cause the data storage system to provide data storage services to the host computers using physical storage, including:
-
defining a layered operating stack including a pool layer, a file system layer, a map layer and one or more service layers, the pool layer defining and providing slices of the physical storage for storing host objects, the file system layer having one or more internal file systems with respective files stored in corresponding sets of slices of the physical storage, the map layer mapping the host objects to respective files of the one or more internal file systems, the host objects including block-organized host objects and file-oriented host objects, each of the block-organized host objects and the file-oriented host objects is in a corresponding original object form; by the pool, file system and map layers collectively, providing a basic data storage service for storing a file of one of the one or more internal file systems by distributing blocks of the file across a set of slices of the physical storage, maintaining original object form of the stored file, and providing a basic level of storage efficiency; and by the service layers, providing one or more automated enhanced data services, each automated enhanced data service applying a respective service transformation to the original object form to generate respective data in a service-specified form and storing the data in the slices, the service-specified form providing a service level of efficiency generally greater than the basic level of storage efficiency.
-
Specification