File system inline fine grained tiering

US9400792B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9400792-B1
Application numberUS-201313928591-A
CountryUS
Kind codeB1
Filing dateJun 27, 2013
Priority dateJun 27, 2013
Publication dateJul 26, 2016
Grant dateJul 26, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A technique for managing storage tiering in a data storage apparatus operates at a fine level of granularity in response to write requests as blocks are allocated for writing. As write requests arrive or are otherwise processed by the data storage apparatus, the data storage apparatus identifies a quality of service to be provided for satisfying each write request and allocates a set of blocks from storage devices of storage tiers that provide the identified quality of service. The data storage apparatus may then store the information specified in the write request in the newly allocated blocks.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of storing data in different storage tiers of a data storage apparatus, the method comprising: receiving, via an IO stack of a storage processor of the data storage apparatus, a request to write a set of information in the data storage apparatus; obtaining, in response to receiving the request via the IO stack, a data element designating a quality of service to be provided for storing the set of information; and allocating a set of blocks from one or more storage devices of a storage tier that provides the quality of service designated in the data element read in response to receiving the request, wherein the quality of service designated in the data element is a first quality of service, and wherein the method further comprises: receiving, via the IO stack of the storage processor of the data storage apparatus, a second request to write a second set of information in the data storage apparatus; obtaining, in response to receiving the second request via the IO stack, a second data element designating a second quality of service to be provided for storing the second set of information; and allocating a second set of blocks from one or more storage devices of a second storage tier that provide the second quality of service designated in the second data element read in response to receiving the second request, wherein the set of information includes file data to be written to a file of a file system, and wherein the second set of information includes metadata pertaining to the file of the file system, wherein the request to write the set of information is directed to a file of an upper-deck file system of the data storage apparatus, wherein the method further comprises mapping the upper-deck file system to a file of an internal, lower-deck file system of the data storage apparatus, the file of the lower-deck file system providing a complete representation of the upper-deck file system and including both data and metadata of the upper-deck file system, wherein obtaining the data element designating the quality of service to be provided for storing the set of information is performed by a manager of the upper-deck file system, wherein the method further comprises conveying the data element, via the IO stack, to a manager of the lower-deck file system, the manager of the lower-deck file system thereby receiving the data element via the IO stack, and wherein allocating the set of blocks is preformed in response to the manager of the lower-deck file system reading the data element received from the manager of the upper-deck file system and applying the data element to select the storage tier that provides the quality of service designated in the data element. 2. The method of claim 1 , wherein obtaining the data element includes: accessing a policy that specifies different qualities of service for different types of information and/or circumstances; identifying, a quality of service specified by the policy for the set of information and/or current circumstances; and generating the data element to designate the quality of service specified by the policy. 3. The method of claim 2 , wherein the set of information includes data to be written to a file of the upper-deck file system, wherein the policy specifies a quality of service for storing file data, and wherein identifying the quality of service specified by the policy includes identifying the quality of service for storing file data from the policy. 4. The method of claim 2 , wherein the set of information includes data to be written to a particular range of a file of the upper-deck file system, wherein the policy specifies a quality of service for file data of the particular range, and wherein identifying the quality of service specified by the policy includes identifying the quality of service specified for the particular range of file data from the policy. 5. The method of claim 2 , wherein the set of information includes metadata pertaining to a file of the upper-deck file system, wherein the policy specifies a quality of service for file metadata, and wherein identifying the quality of service specified by the policy includes identifying the quality of service specified for file metadata from the policy. 6. The method of claim 5 , wherein the set of information pertains to an inode of the file of the upper-deck file system, wherein the policy specifies a quality of service for inodes, and wherein identifying the quality of service specified by the policy includes identifying the quality of service specified for inodes from the policy. 7. The method of claim 5 , wherein the set of information pertains to at least one indirect block of the file of the upper-deck file system, wherein the policy specifies a quality of service for indirect blocks, and wherein identifying the quality of service specified by the policy includes identifying the quality of service specified for indirect blocks from the policy. 8. The method of claim 2 , wherein the set of information includes data of a virtual hard disk (VHD) stored in a file of the upper-deck file system, wherein the policy specifies a quality of service for VHD data, and wherein identifying the quality of service specified by the policy includes identifying the quality of service specified for VHD data from the policy. 9. The method of claim 2 , wherein the set of information includes data of a virtual memory disk (VMDK) stored in a file of the upper-deck file system, wherein the policy specifies a quality of service for VMDK data, and wherein identifying the quality of service specified by the policy includes identifying the quality of service specified for VMDK data from the policy. 10. The method of claim 1 , wherein the request to write the set of information is directed to a file of a file system of the data storage apparatus, and wherein the method further comprises, after reading the data element designating the quality of service to be used for storing the set of information, checking a data structure of the file system to determine whether any free blocks are available to provide the quality of service designated in the data element read from the request. 11. The method of claim 1 , wherein the request to write the set of information is directed to a file of a file system of the data storage apparatus, and wherein obtaining the data element designating the quality of service includes accessing metadata for the file stored in the file system to receive a designation of quality of service from the metadata. 12. The method of claim 11 , wherein obtaining the data element designating the quality of service includes accessing an inode for the file stored in the file system to receive a designation of quality of service from the inode. 13. The method of claim 11 , wherein obtaining the data element designating the quality of service includes accessing an indirect block for the file stored in the file system to receive a designation of quality of service for a particular range of the file from the indirect block. 14. The method of claim 1 , wherein obtaining the data element designating the quality of service to be provided for storing the set of information includes, by the manager of the upper-deck file system: sending a message to a tiering policy requesting a quality of service to be provided for the set of information; in response to the tiering policy receiving the message, receiving the data element from the tiering policy; and applying the data element to the request as a tag, wherein the request and the applied tag propagate through the IO stack to the manager of the lower-deck file system.

Assignees

Inventors

Classifications

  • Improving or facilitating administration, e.g. storage management · CPC title

  • the resource being the memory · CPC title

  • Physics · mapped topic

  • Lifecycle management · CPC title

  • Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9400792B1 cover?
A technique for managing storage tiering in a data storage apparatus operates at a fine level of granularity in response to write requests as blocks are allocated for writing. As write requests arrive or are otherwise processed by the data storage apparatus, the data storage apparatus identifies a quality of service to be provided for satisfying each write request and allocates a set of blocks …
Who is the assignee on this patent?
Emc Corp
What technology area does this patent fall under?
Primary CPC classification G06F17/30082. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).