Snapshot creation workflow

US9740566B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9740566-B2
Application numberUS-201514869340-A
CountryUS
Kind codeB2
Filing dateSep 29, 2015
Priority dateJul 31, 2015
Publication dateAug 22, 2017
Grant dateAug 22, 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 efficiently creates a snapshot for a logical unit (LUN) served by a storage input/output (I/O) stack executing on a node of a cluster that organizes data as extents referenced by keys. In addition, the technique efficiently creates one or more snapshots for a group of LUNs organized as a consistency group (CG) and served by storage I/O stacks executing on a plurality of nodes of the cluster. To that end, the technique involves a plurality of indivisible operations (i.e., transactions) of a snapshot creation workflow administered by a Storage Area Network (SAN) administration layer (SAL) of the storage I/O stack in response to a snapshot create request issued by a host. The SAL administers the snapshot creation workflow by initiating a set of transactions that includes, inter alia, (i) installation of barriers for LUNs (volumes) across all nodes in the cluster that participate in snapshot creation, (ii) creation of point-in-time (PIT) markers to record those I/O requests that are included in the snapshot, and (iii) updating of records (entries) in snapshot and volume tables of a cluster database (CDB).

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a first write request directed towards a first logical unit (LUN), the first write request having a data, a logical block address (LBA) and a length representing an address range of the first LUN, the LBA and the length mapped to a first volume associated with the first LUN, the first write request processed at a storage system having a memory and attached to a storage array; receiving a second write request directed to the first LUN; in response to receiving a snapshot request from a host, initiating a first barrier on the first volume such that the second write request is blocked; flushing the first write request by associating a key with the data; storing the key in a metadata entry included in a metadata structure, the metadata entry associated with the address range; and creating a first snapshot of the first volume. 2. The method of claim 1 further comprising: recording a point-in-time (PIT) marker on a non-volatile storage device, wherein the first write request is received before the PIT marker is recorded and the second write request is received after the PIT marker is recorded; removing the first barrier from the first volume; and processing the second write request. 3. The method of claim 2 wherein the first and second write requests are associated with first and second sequence numbers respectively, wherein the PIT marker is associated with the first sequence number. 4. The method of claim 1 wherein creating the first snapshot of the first volume further comprises: sharing the metadata entry between the first volume and a copy of the first volume by increasing a reference count associated with the metadata entry. 5. The method of claim 1 further comprising: determining whether to coalesce the first and second write requests; and in response initiating the first barrier, determining not to coalesce the first and second write requests. 6. The method of claim 2 further comprising: recording the first and second write requests in a replay log; recording a record in the replay log corresponding to the recording of the PIT marker; and in response to a crash of the storage system, ignoring replay of the first write request for the first LUN. 7. The method of claim 2 wherein the PIT marker includes a snapshot identifier and a volume identifier. 8. The method of claim 1 further comprising: creating a group including the first LUN and a second LUN, wherein the second LUN is associated with a second volume; and in response to the snapshot request from the host directed towards the group, initiating a second barrier on the second volume and creating a second snapshot of the second volume. 9. The method of claim 1 wherein the second write request is not blocked for more than a predetermined period. 10. A system comprising: a cluster having a plurality of nodes; a storage array coupled to the cluster; a first instance of a storage I/O stack executing on a first node of the cluster, the first instance of the storage I/O stack configured to: receive a first write request directed towards a first logical unit (LUN), the first write request having a data, a logical block address (LBA) and a length representing an address range of the first LUN, the LBA and the length mapped to a volume associated with the first LUN; a second instance of the storage I/O stack executing on a second node of the cluster, the second instance of the storage I/O stack when configured to: receive a second write request directed to a second LUN; associate the first and second LUNs with a group; in response to receiving a snapshot request for the group from a host, send a barrier message to the first node to establish a first barrier on the volume and initiating a second barrier on the volume at the second node; determine whether the first and second barriers are established; and in response to determining that the first and second barriers are established, create snapshots of the first and second LUNs. 11. A system comprising: a storage system having a memory connected to a processor via a bus; a storage array coupled to the storage system; a storage I/O stack executing on the processor of the storage system, the storage I/O stack configured to: receive a first write request directed towards a first logical unit (LUN), the first write request having a data, a logical block address (LBA) and a length representing an address range of the first LUN, the LBA and the length mapped to a first volume associated with the first LUN; receive a second write request directed to the first LUN; in response to receiving a snapshot request from a host, initiate a first barrier on the first volume such that the second write request is blocked; flush the first write request by associating a key with the data; store the key in a metadata entry included in a metadata structure, the metadata entry associated with the address range; and create a first snapshot of the first volume. 12. The system of claim 11 wherein the storage I/O stack is further configured to: record a point-in-time (PIT) marker on a non-volatile storage device, wherein the first write request is received before the PIT marker is recorded and the second write request is received after the PIT marker is recorded; remove the first barrier from the first volume; and process the second write request. 13. The system of claim 12 wherein the first and second write requests are associated with first and second sequence numbers respectively, wherein the PIT marker is associated with the first sequence number. 14. The system of claim 11 wherein the storage I/O stack configured to create the first snapshot of the first volume is further configured to: share the metadata entry between the first volume and a copy of the first volume by increasing a reference count associated with the metadata entry. 15. The system of claim 11 wherein the storage I/O stack is further configured to: determine whether to coalesce the first and second write requests; and in response initiating the first barrier, determine not to coalesce the first and second write requests. 16. The system of claim 12 wherein the storage I/O stack is further configured to: record the first and second write requests in a replay log; record a record in the replay log corresponding to the recording of the PIT marker; and in response to a crash of the storage system, ignore replay of the first write request for the first LUN. 17. The system of claim 12 wherein the PIT marker includes a snapshot identifier and a volume identifier. 18. The system of claim 11 wherein the storage I/O stack is further configured to: create a group including the first LUN and a second LUN, wherein the second LUN is associated with a second volume; and in response to the snapshot request from the host directed towards the group, initiate a second barrier on the second volume and create a second snapshot of the second volume. 19. The system of claim 11 wherein the second write request is not blocked for more than 10 seconds. 20. The system of claim 18 wherein the storage I/O stack is further configured to: record a point-in-time (PIT) marker on a non-volatile storage device, wherein the PIT delimits I/O requests such that an I/O request received after the PIT is blocked, and wherein the PIT is applied to the first and second volumes.

Assignees

Inventors

Classifications

  • Replication mechanisms · CPC title

  • involving logging of persistent data for recovery · CPC title

  • Plurality of storage devices · CPC title

  • Point-in-time backing up or restoration of persistent data · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · 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 US9740566B2 cover?
A technique efficiently creates a snapshot for a logical unit (LUN) served by a storage input/output (I/O) stack executing on a node of a cluster that organizes data as extents referenced by keys. In addition, the technique efficiently creates one or more snapshots for a group of LUNs organized as a consistency group (CG) and served by storage I/O stacks executing on a plurality of nodes of the…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1446. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 22 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).