Data access request monitoring to reduce system resource use for background operations

US9367245B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9367245-B2
Application numberUS-201313871783-A
CountryUS
Kind codeB2
Filing dateApr 26, 2013
Priority dateApr 26, 2013
Publication dateJun 14, 2016
Grant dateJun 14, 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.

An I/O processing stack includes a proxy that can provide processing services for access requests to initialized and uninitialized storage regions. For a write request, the proxy stores write information in a write metadata repository. If the write is requested for an address in an initialized storage region of the storage system, the proxy performs a write to the initialized region based on region information in the write I/O access request. If the write is requested for an address in an uninitialized storage region of the storage system, the proxy performs an on-demand initialization of the storage region and then performs a write to the storage region based on region information provided by the proxy.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving an I/O (input/output) access request by a proxy layer of an I/O processing stack in a storage server of a storage system having initialized storage space and uninitialized storage space; storing host write information for a write I/O access request in a host write metadata repository managed by the proxy layer; determining if an address of the write I/O access request corresponds to an initialized storage region of the storage system or an uninitialized storage region of the storage system; and when the address corresponds to an uninitialized storage region, performing an on-demand initialization of the storage region, and performing a write of the write I/O access request based on region information provided by the proxy layer. 2. The method of claim 1 , wherein the host write metadata repository comprises a delta log. 3. The method of claim 1 , wherein receiving the I/O access request further comprises determining if the I/O access request is a read I/O access request or a write I/O access request. 4. The method of claim 3 , wherein in response to determining that the I/O access request is a read I/O access request, determining if an address of the read I/O request corresponds to an initialized storage region of the storage system or an uninitialized storage region of the storage system, wherein when the address corresponds to an uninitialized storage region, returning zeroed data from the proxy layer without accessing the uninitialized storage region. 5. The method of claim 1 , wherein the uninitialized storage region is uninitialized due to execution of a background parity generation process. 6. The method of claim 5 , further comprising determining that execution of the background process has reached a threshold execution point; and disabling the proxy layer in response to determining that the background process has completed execution. 7. The method of claim 1 , further comprising determining that the proxy layer has initialized a threshold amount of a volume, and triggering start of a background initialization process in response to determining that the threshold amount of the volume has been reached. 8. The method of claim 1 , wherein the background process includes a feature for synchronizing data over a network link, and further comprising: determining whether host write metadata exists for a data block; and copying a data block over the network link when host write metadata exists for the data block; and not copying a data block over the network link when no host write metadata exists for the data block. 9. The method of claim 1 , wherein initializing the storage region when the address corresponds to an uninitialized storage region comprises writing zeroes to the storage region prior to committing a write to disk. 10. The method of claim 1 , wherein initializing the storage region when the address corresponds to an uninitialized storage region comprises writing the write I/O access request to cache and filling out the storage region associated with the write I/O access request with zeroes. 11. The method of claim 10 , wherein for a subsequent write I/O access request to the same storage region, writing the subsequent write I/O access request to the cache, overwriting the zeroes. 12. 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 an I/O (input/output) access request by a proxy layer of an I/O processing stack having initialized storage space and uninitialized storage space; store host write information for a write I/O access request in a host write metadata repository managed by the proxy layer; determining if an address of the write I/O access request corresponds to an initialized storage region or an uninitialized storage region; when the address corresponds to an initialized storage region, perform a write of the write I/O access request to the initialized storage region based on region information in the write I/O access request; and when the address corresponds to an uninitialized storage region, perform an on-demand initialization of the uninitialized storage region, and perform a write of the write I/O access request based on region information provided by the proxy layer. 13. The non-transitory machine readable medium of claim 12 having further machine executable code that causes the machine to: determine if the I/O access request is a read I/O access request or a write I/O access request; and in response to determining that the I/O access request is a read I/O access request; determine if an address of the read I/O request corresponds to an initialized storage region or an uninitialized storage region; when the address corresponds to an initialized storage region, perform a read of the initialized storage region based on the read I/O request; and when the address corresponds to an uninitialized storage region, return zeroed data from the proxy layer without accessing the uninitialized storage region. 14. The non-transitory machine readable medium of claim 12 having further machine executable code that causes the machine to: move only user data for execution of a background process, including one of a disk reconstruction process, volume copy, or an asynchronous remote volume mirroring process. 15. The non-transitory machine readable medium of claim 12 having further machine executable code that causes the machine to: determine that the proxy layer has initialized a threshold amount of a volume, and triggering start of a background initialization process in response to determining that the threshold amount of the volume has been reached. 16. A computing device comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of accessing data in a storage system; a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: store write information for a write I/O access request in a metadata repository; and determine if an address of the write I/O access request corresponds to an initialized storage region of the storage system or an uninitialized storage region of the storage system, wherein when the address corresponds to the uninitialized storage region, a write capture proxy of an I/O (input/output) transaction processing stack performs an on-demand initialization of the uninitialized storage region and a write of the write I/O access request based on region information for the write I/O access request. 17. The computing device of claim 16 , wherein the write capture proxy further determines if an I/O access request is a read I/O access request. 18. The computing device of claim 17 , wherein in response to determining that the I/O access request is the read I/O access request, the write capture proxy determines if an address of the read I/O request corresponds to the initialized storage region of the storage system or the uninitialized storage region of the storage system, wherein when the address corresponds to the uninitialized storage region, the write capture proxy returns zeroed data without accessing the uninitialized storage region. 19. The computing device of claim 16 , wherein the uninitialized storage region is uninitialized due to execution of a background process, including one of a disk reconstruction process, a back

Assignees

Inventors

Classifications

  • Data synchronisation · CPC title

  • Metadata, control data · CPC title

  • using a plurality of controllers · CPC title

  • with dedicated cache, e.g. instruction or stack · CPC title

  • for peripheral storage systems, e.g. disk cache · 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 US9367245B2 cover?
An I/O processing stack includes a proxy that can provide processing services for access requests to initialized and uninitialized storage regions. For a write request, the proxy stores write information in a write metadata repository. If the write is requested for an address in an initialized storage region of the storage system, the proxy performs a write to the initialized region based on re…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 14 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).