Secured Multi-Tenancy Data in Cloud-Based Storage Environments
US-2016371021-A1 · Dec 22, 2016 · US
US9846539B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9846539-B2 |
| Application number | US-201615004101-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 22, 2016 |
| Priority date | Jan 22, 2016 |
| Publication date | Dec 19, 2017 |
| Grant date | Dec 19, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
at area level, e.g. provisioning of virtual or logical volumes · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.