Recovery from low space condition of an extent store

US9846539B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9846539-B2
Application numberUS-201615004101-A
CountryUS
Kind codeB2
Filing dateJan 22, 2016
Priority dateJan 22, 2016
Publication dateDec 19, 2017
Grant dateDec 19, 2017

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 recovers from a low space condition associated with storage space reserved in an extent store to accommodate write requests received from a host and associated metadata managed by a layered file system of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The write requests, including user data, are persistently recorded on non-volatile random access memory (NVRAM) prior to returning an acknowledgement to the host by a persistence layer of the storage I/O stack. Volume metadata managed by a volume layer of the layered file system is embodied as mappings from logical block addresses (LBAs) of a logical unit (LUN) accessible by the host to extent keys maintained by an extent store layer of the layered file system. Extent store metadata managed by the extent store layer is embodied as mappings from the extent keys to the storage locations of the extents on storage devices of storage arrays coupled to the nodes of the cluster. The space recovery technique accounts for storage space consumed in the extent store by user operations, i.e., write operations for the user data stored on the NVRAM at the persistence layer as well as the associated volume and extent store metadata, to ensure that the user data and associated metadata can be safely and reliably persisted in the extent store even during a low space condition.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a central processing unit (CPU) of a storage system coupled to one or more storage devices of a storage array configured as an extent store; and a memory coupled to the CPU and configured to store a storage input/output (I/O) stack having a plurality of layers executable by the CPU, the storage I/O stack configured to accept user data of write requests from a host and process the user data and metadata associated with the user data as user operations executed by finite state machines (FSMs), the storage I/O stack configured to provide an available user operation storage space of a space reservation budget in the extent store for storage of the user data and the associated metadata, the storage I/O stack further configured to (i) halt acceptance of new write requests when a low space condition of the space reservation budget is reached and (ii) pass the associated metadata from the FSMs to the extent store until release of the available user operation storage space exceeds an available space threshold, wherein the space reservation budget includes a persistence layer space reservation and a volume layer space reservation, determined at boot time, to reserve storage space in the extent store for the user operations. 2. The system of claim 1 wherein the associated metadata is passed to the extent store using extent store put operations, and wherein the user data and the associated metadata are stored in the extent store as user operation extents. 3. The system of claim 2 wherein the storage I/O stack is configured to send an overflow event notification to one or more layers of the storage I/O stack when the low space condition of the space reservation budget is reached. 4. The system of claim 3 wherein execution of the user operations using the FSMs is throttled in response to the overflow event notification. 5. The system of claim 3 wherein the storage I/O stack is configured to send an available event notification to the one or more layers when the release of the available user operation storage space exceeds the available space threshold. 6. The system of claim 5 wherein the available event notification instructs the storage I/O stack to accept the new write requests from the host. 7. The system of claim 5 wherein the storage I/O stack is further configured to send a no space event notification to the one or more layers when an amount of additional extent store storage space used during the low space condition exceeds a low space reserve threshold. 8. The system of claim 7 wherein the storage I/O stack is configured to refuse acceptance of additional user operations in response to the no space event notification. 9. The system of claim 2 further comprising a non-volatile random access memory (NVRAM) coupled to the CPU, the NVRAM having one or more non-volatile logs (NVLogs) configured to temporarily record the user data. 10. The system of claim 9 wherein the persistence layer space reservation is based on a size and number of the NVLogs in the NVRAM. 11. The system of claim 9 wherein the volume layer space reservation is based on metadata storage space usage by the FSMs. 12. The system of claim 11 wherein a multiplier is applied to the volume layer space reservation to ensure the available user operation storage space in the extent store for delayed writing to the one or more storage devices of the user data temporarily recorded in the NVLogs. 13. The system of claim 1 wherein the user operations include write operations to the storage array and wherein the storage I/O stack is configured to monitor the available user operation storage space of the space reservation budget in response to each write operation. 14. The system of claim 13 wherein the storage I/O stack is further configured to perform accounting of the metadata used by one or more layers of the storage I/O stack to ensure the available user operation storage space in the extent store for the accounted metadata destined for storage on the storage devices. 15. The system of claim 14 wherein the accounted metadata comprises hash table logs and checkpoint files. 16. A method comprising: accepting user data of write requests at a storage input/output (I/O) stack executing on a processor coupled to storage devices configured as an extent store; processing metadata associated with the user data as user operations executed by finite state machines (FSMs); providing an available user operation storage space of a space reservation budget in the extent store for storage of the user data and the associated metadata; halting acceptance of new write requests when a low space condition of the space reservation budget is reached; and passing the associated metadata from the FSMs to the extent store until release of the available user operation storage space exceeds an available space threshold, wherein the space reservation budget includes a persistence layer space reservation and a volume layer space reservation, determined at boot time, to reserve storage space in the extent store for the user operations. 17. The method of claim 16 further comprising, wherein the user operations include write operations to the storage devices: monitoring the available user operation storage space of the space reservation budget in response to each write operation to the storage devices. 18. The method of claim 17 further comprising: performing accounting of the associated metadata used by one or more layers of the storage I/O stack to ensure the available user operation storage space in the extent store for accounted metadata destined for storage on the storage devices. 19. A non-transitory computer readable medium including program instructions for execution on one or more processors coupled to storage devices configured as an extent store, the program instructions configured to: accept user data of write requests at a storage input/output (I/O) stack executing on the one or more processors; process metadata associated with the user data as user operations executed by finite state machines (FSMs); provide an available user operation storage space of a space reservation budget in the extent store for storage of the user data and the associated metadata; halt acceptance of new write requests when a low space condition of the space reservation budget is reached; and pass the associated metadata from the FSMs to the extent store until release of the available user operation storage space exceeds an available space threshold, wherein the space reservation budget includes a persistence layer space reservation and a volume layer space reservation, determined at boot time, to reserve storage space in the extent store for the user operations.

Assignees

Inventors

Classifications

  • at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

  • using file system or storage system metadata · CPC title

  • Checkpointing the instruction stream · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · 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 US9846539B2 cover?
A technique recovers from a low space condition associated with storage space reserved in an extent store to accommodate write requests received from a host and associated metadata managed by a layered file system of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The write requests, including user data, are persistently recorded on non-volatile random access mem…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 19 2017 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).