Managing input/output operations for shingled magnetic recording in a storage system

US10521345B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10521345-B2
Application numberUS-201816113719-A
CountryUS
Kind codeB2
Filing dateAug 27, 2018
Priority dateApr 29, 2016
Publication dateDec 31, 2019
Grant dateDec 31, 2019

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 system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data blocks from the series of write requests to a corresponding sequence of data clusters allocated within a first data cache of the storage controller for a thinly provisioned volume of the pool of SMR devices. Upon determining that a current utilization of the first data cache's data storage capacity exceeds a threshold, the sequence of data clusters including the data blocks from the first data cache are transferred to sequential physical addresses within the SMR devices.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a series of non-sequential write requests for data blocks to be written to non-sequential addresses within a pool of Shingled Magnetic Recording (SMR) devices of a network storage system; mapping the non-sequential addresses of the data blocks from the series of write requests to sequential addresses within the pool of SMR devices; and writing the data blocks to the sequential addresses within the pool of SMR devices, based on the mapping. 2. The method of claim 1 , wherein the non-sequential addresses correspond to non-sequential virtual addresses within a thinly provisioned volume of the pool of SMR devices, and the sequential addresses correspond to sequential physical addresses within the pool of SMR devices. 3. The method of claim 1 , further comprising: writing the data blocks from the non-sequential write requests to a corresponding sequence of data clusters within a data cache of the network storage system prior to being written to the sequential addresses within the pool of SMR devices. 4. The method of claim 1 , wherein the data blocks are written to the sequential addresses within the pool of SMR devices from a first data cache of a storage controller in the network storage system upon determining that a current utilization of a storage capacity of the first data cache exceeds a threshold. 5. The method of claim 1 , further comprising: storing, within a first data cache, metadata relating to the data clusters allocated for a thinly provisioned volume of the pool of SMR devices within a second data cache of the storage controller. 6. The method of claim 1 , wherein the storage controller uses a first data cache as a read cache to store data blocks read from the pool of SMR devices in response to corresponding data read requests received from one or more host devices. 7. The method of claim 1 , wherein the non-sequential addresses of the data blocks are mapped to the sequential addresses within the pool of SMR devices, based on metadata mapping the non-sequential addresses to virtual addresses of a thinly provisioned volume created for the pool of SMR devices and further, mapping the virtual addresses from the thinly provisioned volume to corresponding physical addresses within the pool of SMR devices. 8. The method of claim 1 , wherein the data blocks from the non-sequential write requests are stored within a data cache as a sequence of data clusters corresponding to different sequential address ranges within the pool of SMR devices prior to being written to the pool of SMR devices. 9. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to: receive a series of non-sequential write requests for data blocks to be written to non-sequential addresses within a pool of Shingled Magnetic Recording (SMR) devices of a network storage system; write the data blocks from the non-sequential write requests to a first data cache of a storage controller in the network storage system; map the non-sequential addresses of the data blocks from the series of write requests to sequential addresses within the pool of SMR devices; and transfer the data blocks from the first data cache to the sequential addresses within the pool of SMR devices, based on the mapping. 10. The non-transitory machine readable medium of claim 9 , wherein the non-sequential addresses correspond to non-sequential virtual addresses within a thinly provisioned volume of the pool of SMR devices, and the sequential addresses correspond to sequential physical addresses within the pool of SMR devices. 11. The non-transitory machine readable medium of claim 9 , wherein the data blocks are written from the non-sequential write requests to a corresponding sequence of data clusters within the first data cache prior to being transferred to the sequential addresses within the pool of SMR devices. 12. The non-transitory machine readable medium of claim 9 , wherein the data blocks are written to the sequential addresses within the pool of SMR devices from the first data cache upon determining that a current utilization of a storage capacity of the first data cache exceeds a threshold. 13. The non-transitory machine readable medium of claim 9 , further comprising machine executable code that causes the machine to: store, within a second data cache, metadata relating to the data clusters allocated for a thinly provisioned volume of the pool of SMR devices within the first data cache of the storage controller. 14. The non-transitory machine readable medium of claim 9 , wherein the storage controller uses a second data cache as a read cache to store data blocks read from the pool of SMR devices in response to corresponding data read requests received from one or more host devices. 15. The non-transitory machine readable medium of claim 9 , wherein the non-sequential addresses of the data blocks are mapped to the sequential addresses within the pool of SMR devices, based on metadata mapping the non-sequential addresses to virtual addresses of a thinly provisioned volume created for the pool of SMR devices and further, mapping the virtual addresses from the thinly provisioned volume to corresponding physical addresses within the pool of SMR devices. 16. The non-transitory machine readable medium of claim 9 , wherein the data blocks from the non-sequential write requests are written to a sequence of data clusters within the first data cache that correspond to different sequential address ranges within the pool of SMR devices prior to being transferred to the pool of SMR devices. 17. A computing device comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing host-initiated input/output (I/O) operations for a pool of Shingled Magnetic Recording (SMR) devices within a network storage system; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: receive a series of non-sequential write requests for data blocks to be written to non-sequential addresses within the pool of SMR devices of a network storage system; write the data blocks from the non-sequential write requests to a first data cache allocated within the memory; map the non-sequential addresses of the data blocks from the series of write requests to sequential addresses within the pool of SMR devices; monitor a current utilization of a data storage capacity of the first data cache; and transfer the data blocks from the first data cache to the sequential addresses within the pool of SMR devices in response to determining that the current utilization exceeds a threshold, based on the monitoring. 18. The computing device of claim 17 , wherein the non-sequential addresses correspond to non-sequential virtual addresses within a thinly provisioned volume of the pool of SMR devices, and the sequential addresses correspond to sequential physical addresses within the pool of SMR devices. 19. The computing device of claim 17 , wherein the data blocks are written from the non-sequential write requests to a corresponding sequence of data clusters within the first data cache prior to being transferred to the sequential addresses within the pool of SMR devices. 20. The computing device of claim 17 , wherein the threshold for the current utilization o

Assignees

Inventors

Classifications

  • Non-volatile memory · CPC title

  • Cache memories for random data access, e.g. buffers wherein the data output is controlled by a priority parameter other than retention time · CPC title

  • Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches · CPC title

  • G11B5/012Primary

    Recording on, or reproducing or erasing from, magnetic disks (G11B17/00, G11B19/00 take precedence) · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · 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 US10521345B2 cover?
A system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data b…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0802. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 31 2019 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).