Unmapping logical block addresses of remote asynchronously replicated volumes

US12061812B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12061812-B2
Application numberUS-202218072080-A
CountryUS
Kind codeB2
Filing dateNov 30, 2022
Priority dateNov 30, 2022
Publication dateAug 13, 2024
Grant dateAug 13, 2024

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.

Unmap extents transmitted in delta sets are used to unmap LBAs on remote replicas of asynchronously replicated storage objects. A host server sends a SCSI unmap command to a production storage array to unmap a range of logical block addresses. In response, the production storage array creates an unmap extent that identifies the local and remote replicas, starting LBA, and number of LBAs to be unmapped. At the end of each asynchronous replication cycle, unmap extents and updated data are sent to a disaster recovery storage array in a delta set that preserves chronological ordering. The disaster recovery storage array receives the delta set and discards cached data corresponding to the unmapped LBAs indicated in the unmap extents and de-allocates the backend storage space. Integrating unmap extents with updated data in delta sets maintains point-in-time consistency and is more efficient than sending zero data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: a first storage array receiving an unmap command from a host server, wherein the unmap command indicates a range of logical block addresses of a local replica of an asynchronously replicated storage object for which a remote replica exists on a second storage array; and replicating effects of the unmap command on the local replica to the remote replica without sending zero data or the unmap command by: creating, in metadata slots of the first storage array, an unmap extent corresponding to the unmap command, wherein the unmap extent identifies the range of logical block addresses as being free space; and transmitting, with extents of replication data and in at least one delta set with chronological ordering, the unmap extent from the first storage array to the second storage array, prompting replication of the unmap extent in metadata slots of the second storage array, wherein the replication of the unmap extent in the metadata slots of the second storage array unmaps the logical block addresses of the remote replica by identifying the range of logical block addresses as being free space. 2. The method of claim 1 further comprising writing the unmap extent to a metadata slots portion of shared memory allocated for unmap extents. 3. The method of claim 2 further comprising adding the unmap extent and updated cache slot data to a delta set associated with a replication cycle. 4. The method of claim 3 further comprising the first storage array discarding data in cache slots corresponding to the logical block addresses. 5. The method of claim 4 further comprising the second storage array discarding data in cache slots corresponding to the logical block addresses responsive to receipt of the unmap extent. 6. The method of claim 5 further comprising the first storage array de-allocating backend tracks corresponding to the logical block addresses from storage. 7. The method of claim 6 further comprising the second storage array de-allocating backend tracks corresponding to the logical block addresses from storage responsive to receipt of the unmap extent. 8. An apparatus comprising: a first storage array comprising at least one compute node that manages access to a first array of drives, wherein the first storage array is configured to be responsive to receipt of an unmap command from a host server indicating a range of logical block addresses of a local replica of an asynchronously replicated storage object for which a remote replica exists on a second storage array to: create, in metadata slots of the first storage array, an unmap extent corresponding to the unmap command, wherein the unmap extent identifies the range of logical block addresses as being free space; and transmit, with extents of replication data and in at least one delta set with chronological ordering, the unmap extent from the first storage array to the second storage array, prompting replication of the unmap extent in metadata slots of the second storage array, wherein the replication of the unmap extent in the metadata slots of the second storage array unmaps the logical block addresses of the remote replica by identifying the range of logical block addresses as being free space, thereby replicating effects of the unmap command on the local replica to the remote replica without sending zero data or the unmap command. 9. The apparatus of claim 8 further comprising the first storage array configured to write the unmap extent to a metadata slots portion of shared memory allocated for unmap extents. 10. The apparatus of claim 9 further comprising the first storage array configured to add the unmap extent and updated cache slot data to a delta set associated with a replication cycle. 11. The apparatus of claim 10 further comprising the first storage array configured to discard data in cache slots corresponding to the logical block addresses. 12. The apparatus of claim 11 further comprising the second storage array configured to discard data in cache slots corresponding to the logical block addresses responsive to receipt of the unmap extent. 13. The apparatus of claim 12 further comprising the first storage array configured to de-allocate backend tracks corresponding to the logical block addresses from storage. 14. The apparatus of claim 13 further comprising the second storage array configured to de-allocate backend tracks corresponding to the logical block addresses from storage responsive to receipt of the unmap extent. 15. A non-transitory computer-readable storage medium storing instructions that when executed by compute nodes in a storage system perform a method comprising: receiving an unmap command by a first storage array from a host server, wherein the unmap command indicates a range of logical block addresses of a local replica of an asynchronously replicated storage object for which a remote replica exists on a second storage array; and replicating effects of the unmap command on the local replica to the remote replica without sending zero data or the unmap command by: creating, in metadata slots of the first storage array, an unmap extent corresponding to the unmap command, wherein the unmap extent identifies the range of logical block addresses as being free space; and transmitting, with extents of replication data and in at least one delta set with chronological ordering, the unmap extent from the first storage array to the second storage array, prompting replication of the unmap extent in metadata slots of the second storage array, wherein the replication of the unmap extent in metadata slots of the second storage array unmaps the logical block addresses of the remote replica by identifying the range of logical block addresses as being free space. 16. The non-transitory computer-readable storage medium of claim 15 in which the method further comprises writing the unmap extent to a metadata slots portion of shared memory of the first storage array allocated for unmap extents. 17. The non-transitory computer-readable storage medium of claim 16 in which the method further comprises adding the unmap extent and updated cache slot data to a delta set associated with a replication cycle. 18. The non-transitory computer-readable storage medium of claim 17 in which the method further comprises the first storage array discarding data in cache slots corresponding to the logical block addresses. 19. The non-transitory computer-readable storage medium of claim 18 in which the method further comprises the second storage array discarding data in cache slots corresponding to the logical block addresses responsive to receipt of the unmap extent. 20. The non-transitory computer-readable storage medium of claim 19 in which the method further comprises the first storage array de-allocating backend tracks corresponding to the logical block addresses from storage and the second storage array de-allocating backend tracks corresponding to the logical block addresses from storage responsive to receipt of the unmap extent.

Assignees

Inventors

Classifications

  • by allocating resources to storage systems · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • G06F3/0604Primary

    Improving or facilitating administration, e.g. storage management · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · 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 US12061812B2 cover?
Unmap extents transmitted in delta sets are used to unmap LBAs on remote replicas of asynchronously replicated storage objects. A host server sends a SCSI unmap command to a production storage array to unmap a range of logical block addresses. In response, the production storage array creates an unmap extent that identifies the local and remote replicas, starting LBA, and number of LBAs to be u…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/0604. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 13 2024 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).