Managing capacity of a thinly provisioned storage system

US9436399B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9436399-B2
Application numberUS-201514862625-A
CountryUS
Kind codeB2
Filing dateSep 23, 2015
Priority dateMar 28, 2013
Publication dateSep 6, 2016
Grant dateSep 6, 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 thinly provisioned storage system detects whether physical storage capacity is available when there is a request to allocate storage capacity, prior to data being written to the storage system. In particular, at the time when the file system allocates storage, such as when creating a file or performing an extending write (append) operation, allocating storage to an unallocated region of a sparse file, defragmenting a file, and the like, a storage system can verify that actual physical storage capacity is available. Thus, if there is insufficient actual physical capacity at the time when a storage allocation is attempted, then an error message can be sent and remedial action can be taken.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer comprising: a thinly provisioned storage system comprising a plurality of storage devices; storage media comprising at least one of a memory or a storage device and being arranged to store an allocation map and a thin provisioning map, the allocation map associating files with virtual storage locations and the thin provisioning map associating virtual storage locations with actual physical storage locations on the plurality of storage devices; and a processing system comprising at least one processing unit configured, in response to a request to allocate storage space for a file on the plurality of storage devices, to: determine whether virtual storage space is available in the thinly provisioned storage system for the file using the allocation map; in response to a determination that virtual storage space is available for the file, reserve the virtual storage space for the file in the allocation map; determine whether actual physical storage space is available for the reserved virtual storage space using the thin provisioning map; and in response to a determination that actual physical storage space is available among the plurality of storage devices for the file, reserve the actual physical storage space for the file in the thin provisioning map and associate the actual physical storage space with the virtual storage space reserved for the file in the allocation map. 2. The computer of claim 1 , wherein the processing system is further configured to fail the request to allocate in response to a determination that insufficient virtual storage space is available for the file. 3. The computer of claim 1 , wherein the processing system is further configured to the request to allocate, and to release reserved virtual storage space for the file, in response to a determination that insufficient actual physical storage space is available for the file. 4. The computer of claim 1 , wherein the processing system is further configured to communicate, to a display, an amount of storage provisioned for a user and an amount of physical storage actually available for the user. 5. The computer of claim 1 , wherein the processing system is further configured to access a file system, the file system configured to determine whether virtual storage space is available for the file, and to access a storage system, the storage system configured to determine whether actual physical storage space is available for the file. 6. The computer of claim 5 , wherein, to store the thin provisioning map, the storage system is configured to maintain a thin provisioning location map, wherein the thin provisioning location map maps virtual storage locations to actual storage locations, and the file system is configured to maintain a thin provisioning bitmap, wherein the thin provisioning bitmap indicates whether a volume is thinly provisioned and, for each range of virtual storage space, whether actual storage space has been assigned to that range. 7. A computer-implemented process comprising: receiving, by a file system of a computer, a request to allocate storage for a file in a storage system accessible by the computer, wherein the storage system comprises a thinly provisioned storage system comprising a plurality of storage devices; in response to the request to allocate storage for a file, determining whether virtual storage space is available in the thinly provisioned storage system for the file using an allocation map stored in a storage medium and associating files with virtual storage locations; in response to a determination that virtual storage space is available for the file, reserving the virtual storage space for the file in the allocation map, and determining whether actual physical storage space is available among the plurality of storage devices in the storage system for the reserved virtual storage space using a thin provisioning map stored in a storage medium and associating virtual storage locations with actual physical storage locations; in response to a determination that actual physical storage space is available for the file, reserving the actual physical storage space for the file and associating the actual physical storage space with the virtual storage space reserved for the file in the thin provisioning map. 8. The computer-implemented process of claim 7 , wherein the request to allocate storage for a file is part of an operation to create a file. 9. The computer-implemented process of claim 8 , further comprising failing the create operation in response to a determination that insufficient virtual storage space is available for the file. 10. The computer-implemented process of claim 8 , further comprising failing the create operation in response to a determination that insufficient actual physical storage space is available for the file. 11. The computer-implemented process of claim 10 , further comprising releasing reserved virtual storage space for the file in response to a determination that insufficient actual physical storage space is available for the file. 12. The computer-implemented process of claim 7 , wherein the file system performs the determining of whether virtual storage space is available for the file, and wherein the storage system performs the determining of whether actual physical storage space is available for the file. 13. The computer-implemented process of claim 7 , further comprising: the storage system maintaining a thin provisioning location map that maps virtual storage locations to actual storage locations; and the file system maintaining a thin provisioning bitmap indicating whether a volume is thinly provisioned and, for each range of virtual storage space, whether actual storage space has been assigned to that range. 14. An article of manufacture comprising: a computer storage medium comprising at least one of a memory and a storage device; computer program instructions stored on the computer storage medium which, when processed by a processing system, instruct the processing system to perform a process comprising: receiving a request to allocate storage for a file in a thinly provisioned storage system comprising a plurality of storage devices; in response to the request to allocate storage for a file, determining whether virtual storage space is available in the thinly provisioned storage system for the file using an allocation map stored in a storage medium and associating files with virtual storage locations; in response to a determination that virtual storage space is available for the file, reserving the virtual storage space for the file in the allocation map, and determining whether actual physical storage space is available among the plurality of storage devices for the reserved virtual storage space using a thin provisioning map stored in a storage medium and associating virtual storage locations with actual physical storage locations; in response to a determination that actual physical storage space is available for the file, reserving the actual physical storage space for the file and associating the actual physical storage space with the virtual storage space reserved for the file in the thin provisioning map. 15. The article of manufacture of claim 14 , wherein the request to allocate storage for a file is part of an operation to create a file. 16. The article of manufacture of claim 15 , wherein the process further comprises failing the create operation in response to a determination that insufficient virtual storage space is available. 17. The article of manufacture of clai

Assignees

Inventors

Classifications

  • Plurality of storage devices · CPC title

  • Management of files · CPC title

  • Free address space management · CPC title

  • Addressing or allocation; Relocation (program address sequencing G06F9/00; arrangements for selecting an address in a digital store G11C8/00) · CPC title

  • in hierarchically structured memory systems, e.g. virtual memory systems · 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 US9436399B2 cover?
A thinly provisioned storage system detects whether physical storage capacity is available when there is a request to allocate storage capacity, prior to data being written to the storage system. In particular, at the time when the file system allocates storage, such as when creating a file or performing an extending write (append) operation, allocating storage to an unallocated region of a spa…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 06 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).