发明名称 Unified datapath architecture
摘要 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., file systems) in the form of files. These files are parts of an underlying, internal set of file systems, which are 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 file systems, a common set of services can be applied across block-based and file-based objects. Also, storage units released by any file or files of the underlying, internal set of file systems can be reused by any other file or files, regardless of whether the files represent block-based objects or file-based objects. Inefficiencies of stranded storage are thus greatly reduced or eliminated altogether.
申请公布号 US9286007(B1) 申请公布日期 2016.03.15
申请号 US201313828322 申请日期 2013.03.14
申请人 EMC Corporation 发明人 Bono Jean-Pierre
分类号 G06F3/06 主分类号 G06F3/06
代理机构 BainwoodHuang 代理人 BainwoodHuang
主权项 1. A method of managing host data of a set of hosts in a data storage apparatus, the method comprising: allocating a set of slices of a storage pool to a set of file systems of the data storage apparatus; storing a first file in the set of slices, the first file provided as a file in the set of file systems and providing a file representation of a LUN (logical unit number) storing block-based host data, wherein the block-based host data stored in the first file is accessible to the set of hosts using a block-based protocol; storing a second file in the set of slices, the second file provided as a file in the set of file systems and providing a file representation of a host file system storing file-based host data, wherein the file-based host data stored in the second file is accessible to the set of hosts using a file-based protocol; deallocating a slice of the set of slices from the set of file systems in response to the slice storing block-based host data of the first file and then becoming empty; reallocating the slice to the set of file systems in response to the host file system stored in the second file requiring additional storage space; and while the first file is providing the LUN, storing portions of the second file on the reallocated slice, thereby allowing the slice previously used for storing portions of the LUN to be reused for storing portions of the host file system, wherein the method further comprises: deallocating a second slice of the set of slices from the set of file systems in response to the slice storing file-based host data of the second file and then becoming empty; reallocating the second slice to the set of file systems; and while the second file is providing the host file system, storing portions of the first file on the reallocated second slice, thereby allowing the slice previously used for storing portions of the host file system to be reused for storing portions of the LUN; wherein the method further comprises: performing a data protection operation on the LUN by copying or snapping the first file to a first location; and performing a data protection operation on the host file system by copying or snapping the second file to a second location, wherein the first location and the second location are each one of (i) a location within the data storage apparatus and (ii) a location geographically remote from the data storage apparatus and wherein the method further comprises: storing in a configuration database of the data storage apparatus, a set of records defining at least one virtualized storage processor, the set of records identifying multiple file systems of each virtualized storage processor; storing the file systems of each virtualized storage processor as respective files in the set of slices, each of the respective files provided as a file in the set of file systems and providing a file representation of a file system of the respective virtualized storage processor; instantiating a set of host interfaces for each of the virtualized storage processors; receiving, via the set of host interfaces for each of the virtualized storage processors, a respective set of read and write requests from the set of hosts; and for each virtualized storage processor, processing the respective set of read and write requests received via the respective set of host interfaces, to read data from and write data to at least one of the file systems of the virtualized storage processor.
地址 Hopkinton MA US