IP Library Granted Patent US 8,341,459
Granted Patent B2
US 8,341,459 · App. 12/183,581 · Granted Dec 25, 2012

Data migration without interrupting host access and with data lock for write access requests such that held write access requests do not expire

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,341,459
App. No.
12/183,581
Granted
Dec 25, 2012
Kind
B2
Abstract

A system includes a source storage device, a target storage device, a host coupled to the source storage device and the target storage device, and a first migration device coupled to the source storage device and the target storage device. The first migration device includes a first virtual storage device. The first migration device is configured to migrate data from the source storage device to the target storage device, and the first virtual storage device is configured to receive write access requests for the data from the host during the data migration and send the access request to the source storage device and target storage device.

Claims (41)

1. A method of migrating data, comprising:

creating a first virtual storage device configured to be used in copying the data from a source storage device to a target storage device;

receiving write access requests for the data at the first virtual storage device from a host during migration of the data;

sending the write access requests from the first virtual storage device to the source storage device and the target storage device;

acquiring a lock on a portion of the data during copy of the portion;

sending received write access requests, for data not subject to the lock, to the source storage device and the target storage device;

holding received write access requests for the portion; and

sending the held write access requests to the source storage device and the target storage device upon release of the lock such that the held write access requests do not expire.

2. The method of claim 1 , further comprising creating an alternate virtual storage device, the first virtual storage device configured to fail over to the alternate virtual storage device upon an error.

3. The method of claim 1 , further comprising disassociating the source storage device from the host such that the host sends read and write access requests for the data to the first virtual storage device.

4. The method of claim 1 , further comprising:

creating a second virtual storage device configured to receive read and write access requests for the data from the host during migration of the data.

5. The method of claim 4 , wherein the first virtual storage device is configured to fail over to the second virtual storage device upon an error.

6. The method of claim 4 , wherein copying the data comprises copying the data from a source storage device to a target storage device using the first virtual storage device and second virtual storage device.

7. The method of claim 6 , further comprising disassociating the source storage device from the host such that the host sends the read and write access requests for the data to either the first virtual storage device or the second virtual storage device.

8. The method of claim 6 , wherein creating the first virtual storage device comprises creating a plurality of virtual storage devices corresponding to a plurality of source storage devices, and wherein creating the second virtual storage device comprises creating a second plurality of virtual storage devices corresponding to the plurality of source storage devices.

9. The method of claim 6 , wherein creating a first virtual storage device comprises creating a plurality of virtual storage devices, each virtual storage device out of the plurality of virtual storage devices corresponding to a data path associated with one of a plurality of source storage devices, and wherein creating a second virtual storage device comprises creating a second plurality of virtual storage devices, each virtual storage device out of the second plurality of virtual storage devices corresponding to a data path associated with one of the plurality of source storage devices.

10. The method of claim 1 , further comprising intercepting access requests from the host and redirecting the access requests to the first virtual storage device.

11. The method of claim 1 , wherein creating the first virtual storage device comprises creating the first virtual storage device on a switch, the first virtual storage device configured to receive write access requests for data from the host during migration of the data and configured to send the write access requests to the source storage device and the target storage device.

12. A device, comprising:

a first virtual storage device;

and an alternate virtual storage device, the first virtual storage device configured to fail over to the alternate virtual storage device upon a migration error, read error, or write error,

wherein the device is configured to migrate data from a source storage device to a target storage device;

wherein the first virtual storage device is configured to receive write access requests for the data from the host during data migration and send the write access requests to the source storage device and the target storage device;

acquire a lock on a portion of the data during copy of the portion;

send write access requests received by the first virtual storage device, for data not subject to the lock, to the source storage device and the target storage device;

hold write access requests received by the first virtual storage device for the portion; and

send the held write access requests to the source storage device and the target storage device upon release of the lock such that the held write access requests do not expire.

13. The device of claim 12 , wherein the access requests from the host are intercepted and redirected to the first virtual storage device.

14. The device of claim 12 , wherein the device is a switch.

15. A computer-readable medium storing a software program for migrating data that, when executed by a processor, causes the processor to:

create a first virtual storage device;

copy the data from a source storage device to a target storage device using the first virtual storage device;

receive write access requests for the data at the first virtual storage device from a host during migration of the data;

send the write access requests from the first virtual storage device to the source storage device and the target storage device;

acquire a lock on a portion of the data during copy of the portion;

send received write access requests, for data not subject to the lock, to the source storage device and the target storage device;

hold received write access requests for the portion; and

sending the held write access requests to the source storage device and the target storage device upon release of the lock such that the held write access requests do not expire.

16. The computer-readable medium of claim 15 , wherein the access requests from the host are intercepted and redirected to the first virtual storage device.

17. The computer-readable medium of claim 15 , wherein the processor is located on a switch.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; INRANGE TECHNOLOGIES CORPORATION; FOUNDRY NETWORKS, LLC
Reel/Frame 034792/0540 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
SECURITY AGREEMENT Recorded Dec 22, 2008
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, INC.; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION
To: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 022012/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2008
From: KAUSHIK, BALAKUMAR; HEGDE, DEEPAK; KUMAR, ANIL; MURTHY, NARASIMHA
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 021457/0729 →