9880779

Processing Copy Offload Requests in a Storage System

PublishedJanuary 30, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for processing copy offload requests in a storage system, the method comprising: in response to receiving a copy offload operation request, buffering, by a storage controller, one or more copy offload operations corresponding to the copy offload operation request; receiving, by the storage controller, a second request to perform a storage controller operation on the plurality of storage devices; determining, by the storage controller, whether the second request targets a storage area corresponding to the copy offload operation request; in response to determining that the second request does not target a storage area corresponding to the copy offload operation request, preventing, by the storage controller, the buffered one or more copy offload operations from being performed; and in response to determining that the second request does target a storage area corresponding to the copy offload operation request, identifying and performing, by the storage controller, any of the buffered one or more copy offload operations that are directed to the targeted storage area.

2

2. The method of claim 1 , wherein the request to perform a copy offload operation includes requesting copying of data from a first range of a first volume to a second range of a second volume.

3

3. The method of claim 2 , wherein buffering, by the storage controller, one or more copy offload operations corresponding to the copy offload operation request includes buffering operations targeting locations associated with the first volume; wherein the targeted storage area is associated with the first volume.

4

4. The method of claim 2 , wherein buffering, by the storage controller, one or more copy offload operations corresponding to the copy offload operation request includes buffering operations targeting locations associated with the second volume; wherein the targeted storage area is associated with the second volume.

5

5. The method of claim 1 wherein buffering, by the storage controller, one or more copy offload operations corresponding to the copy offload operation request includes determining which copy offload operations to buffer based on one or more current operating conditions of the storage system.

6

6. The method of claim 5 , wherein the current operating conditions include processing load, storage utilization, and number of pending requests of the storage system.

7

7. The method of claim 1 wherein buffering, by the storage controller, one or more copy offload operations corresponding to the copy offload operation request includes: automatically buffering all of the copy offload operations; determining whether the number of buffered copy offload operations exceeds a threshold; and in response to determining that the number of buffered operations exceeds the threshold, performing multiple copy offload operations in a batch mode.

8

8. A computer system comprising: one or more storage devices; and a storage controller coupled to the one or more storage devices; wherein the storage controller is configured to: in response to receiving a copy offload operation request, buffer one or more copy offload operations corresponding to the copy offload operation request; receive a second request to perform a storage controller operation on the plurality of storage devices; determine whether the second request targets a storage area corresponding to the copy offload operation request; in response to determining that the second request does not target a storage area corresponding to the copy offload operation request, prevent the buffered one or more copy offload operations from being performed; and in response to determining that the second request does target a storage area corresponding to the copy offload operation request, identify and perform any of the buffered one or more copy offload operations that are directed to the targeted storage area.

9

9. The computer system of claim 8 , wherein the request to perform a copy offload operation includes requesting copying of data from a first range of a first volume to a second range of a second volume.

10

10. The computer system of claim 9 , wherein buffering one or more copy offload operations corresponding to the copy offload operation request includes buffering operations targeting locations associated with the first volume; wherein the targeted storage area is associated with the first volume.

11

11. The computer system of claim 9 , wherein buffering one or more copy offload operations corresponding to the copy offload operation request includes buffering operations targeting locations associated with the second volume; wherein the targeted storage area is associated with the second volume.

12

12. The computer system of claim 8 wherein buffering one or more copy offload operations corresponding to the copy offload operation request includes determining which copy offload operations to buffer based on one or more current operating conditions of the storage system; wherein the current operating conditions include processing load, storage utilization, and number of pending requests of the storage system.

13

13. The computer system of claim 8 wherein buffering one or more copy offload operations corresponding to the copy offload operation request includes: automatically buffering all of the copy offload operations; determining whether the number of buffered copy offload operations exceeds a threshold; and in response to determining that the number of buffered operations exceeds the threshold, performing multiple copy offload operations in a batch mode.

14

14. A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of: in response to receiving a copy offload operation request, buffering, by a storage controller, one or more copy offload operations corresponding to the copy offload operation request; receiving, by the storage controller, a second request to perform a storage controller operation on the plurality of storage devices; determining, by the storage controller, whether the second request targets a storage area corresponding to the copy offload operation request; in response to determining that the second request does not target a storage area corresponding to the copy offload operation request, preventing, by the storage controller, the buffered one or more copy offload operations from being performed; and in response to determining that the second request does target a storage area corresponding to the copy offload operation request, identifying and performing, by the storage controller, any of the buffered one or more copy offload operations that are directed to the targeted storage area.

15

15. The computer program product of claim 14 , wherein the request to perform a copy offload operation includes requesting copying of data from a first range of a first volume to a second range of a second volume.

16

16. The computer program product of claim 15 , wherein buffering, by the storage controller, one or more copy offload operations corresponding to the copy offload operation request includes buffering operations targeting locations associated with the first volume; wherein the targeted storage area is associated with the first volume.

17

17. The computer program product of claim 15 , wherein buffering, by the storage controller, one or more copy offload operations corresponding to the copy offload operation request includes buffering operations targeting locations associated with the second volume; wherein the targeted storage area is associated with the second volume.

18

18. The computer program product of claim 14 wherein buffering, by the storage controller, one or more copy offload operations corresponding to the copy offload operation request includes determining which copy offload operations to buffer based on one or more current operating conditions of the storage system.

19

19. The computer program product of claim 18 , wherein the current operating conditions include processing load, storage utilization, and number of pending requests of the storage system.

20

20. The computer program product of claim 14 wherein buffering, by the storage controller, one or more copy offload operations corresponding to the copy offload operation request includes: automatically buffering all of the copy offload operations; determining whether the number of buffered copy offload operations exceeds a threshold; and in response to determining that the number of buffered operations exceeds the threshold, performing multiple copy offload operations in a batch mode.

Patent Metadata

Filing Date

Unknown

Publication Date

January 30, 2018

Inventors

JOHN COLGROVE
ETHAN MILLER
JOHN HAYES
CARY SANDVIG
CHRISTOPHER GOLDEN
JIANTING CAO
GRIGORI INOZEMTSEV

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “PROCESSING COPY OFFLOAD REQUESTS IN A STORAGE SYSTEM” (9880779). https://patentable.app/patents/9880779

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.