US10157020B1ActiveUtility

Optimizing copy processing between storage processors

74
Assignee: EMC IP HOLDING CO LLCPriority: Sep 30, 2014Filed: Sep 30, 2014Granted: Dec 18, 2018
Est. expirySep 30, 2034(~8.2 yrs left)· nominal 20-yr term from priority
G06F 11/1076G06F 3/065G06F 3/0689G06F 11/1464G06F 11/2092G06F 11/2076G06F 3/067G06F 11/2082G06F 11/1466G06F 3/061G06F 3/0659G06F 3/0604
74
PatentIndex Score
4
Cited by
14
References
18
Claims

Abstract

Techniques are described for copying data. At a first storage processor, a copy request is received to copy data including copying source data from a source area of a source logical device to a destination area of a destination logical device. The source logical device is owned by the first storage processor and the destination logical device is owned by a second storage processor. The first storage processor receives, from the second storage processor, destination location physical storage mapping information for the destination area. A destination physical device location corresponding to the destination area is determined. The source data from the source area is stored in a first cache location of a first data cache of the first storage processor. The first cache location is modified to indicate it includes write pending data for the destination physical device location. The source data is destaged to the destination physical device location.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method of copying data comprising:
 receiving, at a first storage processor of a data storage system, a copy request to perform an internal copy operation within the data storage system, the copy request including copying source data from a source area of a source logical device of the data storage system to a destination area of a destination logical device also included in the data storage system, said data storage system including the first storage processor and a second storage processor; 
 determining whether the first storage processor owns the source logical device; 
 responsive to determining the first storage processor does not own the source logical device, forwarding the copy request to the second storage processor that owns said source logical device, wherein said second storage processor performs subsequent processing to service the copy request; and 
 responsive to determining said source logical device is owned by the first storage processor of the data storage system, performing processing comprising:
 determining said destination logical device is owned by the second storage processor of the data storage system; 
 receiving, at the first storage processor from the second storage processor, destination location physical storage mapping information for the destination area on the destination logical device; 
 determining, using the destination location physical storage mapping information, a destination physical device location corresponding to the destination area on the destination logical device; 
 performing other processing by cache and RAID management layers of the first storage processor, the other processing including:
 issuing, by the cache and RAID management layers of the first storage processor, a rendezvous request to a data movement library of an upper layer of a call stack of the first storage processor, to provide destination location physical storage mapping information for the destination area to the cache and RAID management layers of the first storage processor; 
 responsive to the rendezvous request, receiving, by the cache and RAID management layers of the first storage processor, the destination location physical storage mapping information for the destination area; 
 issuing a read request to obtain the source data from the source area wherein responsive to the read request, the source data is stored in a first cache location of a first data cache of the first storage processor; and 
 modifying the first cache location of the first data cache of the first storage processor to indicate that the first cache location includes write pending data for the destination physical device location corresponding to the destination area of the destination logical device owned by the second storage processor; and 
 
 destaging the source data from the first cache location to the destination physical device location. 
 
 
     
     
       2. The method of  claim 1 , further comprising:
 issuing a request from the first storage processor to the second storage processor for the destination location physical storage mapping information; 
 receiving the request on the second storage processor and performing first processing comprising:
 acquiring, prior to performing said storing, a first lock that locks logical addresses on the destination logical device corresponding to the destination area to thereby provide exclusive access to the destination area. 
 
 
     
     
       3. The method of  claim 2 , further comprising:
 releasing the first lock subsequent to completing said storing. 
 
     
     
       4. The method of  claim 3 , further comprising:
 acquiring, prior to performing said storing, a second lock that locks logical addresses on the source logical device corresponding to the source area to thereby provide exclusive access to the source area. 
 
     
     
       5. The method of  claim 4 , further comprising:
 releasing the second lock subsequent to completing said storing. 
 
     
     
       6. The method of  claim 1 , wherein the destination area is mapped by the destination location physical storage mapping information to an offset on a physical device. 
     
     
       7. The method of  claim 1 , wherein the destination location physical storage mapping information includes RAID group information identifying a RAID group and a location in the RAID group corresponding to the destination area. 
     
     
       8. The method of  claim 7 , wherein the RAID group information is expressed in terms of a private logical device location mapped to the destination physical device location which is a location on a physical device, wherein the private logical device location is a location on a private logical device used internally in the data storage system. 
     
     
       9. The method of  claim 1 , further comprising:
 obtaining by the first storage processor source location physical storage mapping information for the source area on the source logical device; and 
 determining, using the source location physical storage mapping information, a source physical device location corresponding to the source area on the source logical device, wherein said first storage processor uses the source physical device location to read the source data stored in the first cache location. 
 
     
     
       10. The method of  claim 1 , wherein the first storage processor owning the source logical device indicates that only the first storage processor is able to process I/O operations directed to the source logical device, and wherein the second storage processor owning the destination logical device indicates that only the second storage processor is able to process I/O operations directed to the second logical device. 
     
     
       11. The method of  claim 10 , wherein only the first storage processor and not the second storage processor reads data from and writes data to physical storage provisioned for the source logical device. 
     
     
       12. The method of  claim 11 , wherein only the second storage processor and not the first storage processor reads data from and writes data to physical storage provisioned for the destination logical device. 
     
     
       13. The method of  claim 1 , wherein the copy request is sent by a host to the data storage system. 
     
     
       14. The method of  claim 1 , wherein the source logical device and the destination logical device are any of a virtually provisioned logical device and a thick logical device. 
     
     
       15. The method of  claim 1 , wherein the copy request is sent by a component internal with the data storage system. 
     
     
       16. The method of  claim 1 , wherein the copy request is a single transaction and one of the first storage processor and the second storage processor fails prior to completing the single transaction, and wherein a remaining one of the first and second storage processors that has not failed performs first processing that includes either aborting or completing the copy request and assuming processing responsibilities of the one storage processor that failed. 
     
     
       17. A data storage system comprising:
 a first storage processor and a second storage processor; 
 a memory comprising code stored therein that, when executed, performs a method of copying data comprising:
 receiving, at the first storage processor, a copy request to perform an internal copy operation within the data storage system, the copy request including copying source data from a source area of a source logical device to a destination area of a destination logical device; 
 determining whether the first storage processor owns the source logical device; 
 responsive to determining the first storage processor does not own the source logical device, forwarding the copy request to the second storage processor that owns the source logical device, wherein said second storage processor performs subsequent processing to service the copy request; and 
 responsive to determining said source logical device is owned by the first storage processor of the data storage system, performing processing comprising:
 determining said destination logical device is owned by the second storage processor of the data storage system; 
 receiving, at the first storage processor from the second storage processor, destination location physical storage mapping information for the destination area on the destination logical device; 
 determining, using the destination location physical storage mapping information, a destination physical device location corresponding to the destination area on the destination logical device; 
 performing other processing by cache and RAID management layers of the first storage processor, the other processing including:
 issuing, by the cache and RAID management layers of the first storage processor, a rendezvous request to a data movement library of an upper layer of a call stack of the first storage processor, to provide destination location physical storage mapping information for the destination area to the cache and RAID management layers of the first storage processor: 
 responsive to the rendezvous request, receiving, by the cache and RAID management layers of the first storage processor, the destination location physical storage mapping information for the destination area; 
 issuing a read request to obtain the source data from the source area wherein responsive to the read request, the source data is stored in a first cache location of a first data cache of the first storage processor; and 
 modifying the first cache location of the first data cache of the first storage processor to indicate that the first cache location includes write pending data for the destination physical device location corresponding to the destination area of the destination logical device owned by the second storage processor; and 
 
 destaging the source data from the first cache location to the destination physical device location. 
 
 
 
     
     
       18. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of copying data comprising:
 receiving, at a first storage processor of a data storage system, a copy request to perform an internal copy operation within the data storage system, the copy request including copying source data from a source area of a source logical device of the data storage system to a destination area of a destination logical device also included in the data storage system, said data storage system including the first storage processor and a second storage processor; 
 determining whether the first storage processor owns the source logical device; 
 responsive to determining the first storage processor does not own the source logical device, forwarding the copy request to the second storage processor that owns said source logical device, wherein said second storage processor performs subsequent processing to service the copy request; and 
 responsive to determining said source logical device is owned by the first storage processor of the data storage system, performing processing comprising:
 determining said destination logical device is owned by the second storage processor of the data storage system; 
 receiving, at the first storage processor from the second storage processor, destination location physical storage mapping information for the destination area on the destination logical device; 
 determining, using the destination location physical storage mapping information, a destination physical device location corresponding to the destination area on the destination logical device; 
 performing other processing by cache and RAID management layers of the first storage processor, the other processing including:
 issuing, by the cache and RAID management layers of the first storage processor, a rendezvous request to a data movement library of an upper layer of a call stack of the first storage processor, to provide destination location physical storage mapping information for the destination area to the cache and RAID management layers of the first storage processor; 
 responsive to the rendezvous request, receiving, by the cache and RAID management layers of the first storage processor, the destination location physical storage mapping information for the destination area; 
 issuing a read request to obtain the source data from the source area wherein responsive to the read request, the source data is stored in a first cache location of a first data cache of the first storage processor; and 
 modifying the first cache location of the first data cache of the first storage processor to indicate that the first cache location includes write pending data for the destination physical device location corresponding to the destination area of the destination logical device owned by the second storage processor; and 
 
 destaging the source data from the first cache location to the destination physical device location.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.