Method and system for using host driver for flexible allocation fast-sideways data movements
First Claim
1. A method for servicing I/O requests in a distributed system including a host system, a first data storage system, and a second data storage system, the method comprising:
- receiving an I/O request associated with a chunk of data that is at least in part stored in the first data storage system, the I/O request being received at the first data storage system from the host system;
detecting whether a migration of the chunk of data from the first data storage system to the second data storage system is currently in progress;
when the migration is not currently in progress;
fulfilling the I/O request; and
when the migration is currently in progress;
(i) adding the I/O request to a queue and keeping the I/O request in the queue while the migration remains in progress, and (ii) releasing the I/O request from the queue and rejecting the I/O request after the migration is completed and an acknowledgement is transmitted to the host system indicating that the migration is completedwherein the detecting of whether the migration of the chunk of data from the first data storage system to the second data storage system is currently in progress is performed by the first data storage system based on a moving map that is stored on the host system, the moving map including an indication of whether the chunk of data is being migrated.
6 Assignments
0 Petitions
Accused Products
Abstract
Example embodiments of the present invention relate to a method, an apparatus, and a computer program product for directing I/Os for a chunk of data to a data storage system on which the chunk of data is stored. The host method includes receiving an I/O for a chunk of data, identifying to which data storage system the I/O should be sent to access the chunk of data, and sending the I/O for the chunk of data to the identified data storage system. Other example embodiments of the present invention relate to a method, an apparatus, and a computer program product for handling received I/Os during a migration of the chunk of data. The data storage system method includes migrating the chunk of data, queuing an I/O for the chunk of data received from a host during the migration, and rejecting the queued I/O as a result of the migration.
35 Citations
15 Claims
-
1. A method for servicing I/O requests in a distributed system including a host system, a first data storage system, and a second data storage system, the method comprising:
-
receiving an I/O request associated with a chunk of data that is at least in part stored in the first data storage system, the I/O request being received at the first data storage system from the host system; detecting whether a migration of the chunk of data from the first data storage system to the second data storage system is currently in progress; when the migration is not currently in progress;
fulfilling the I/O request; andwhen the migration is currently in progress;
(i) adding the I/O request to a queue and keeping the I/O request in the queue while the migration remains in progress, and (ii) releasing the I/O request from the queue and rejecting the I/O request after the migration is completed and an acknowledgement is transmitted to the host system indicating that the migration is completedwherein the detecting of whether the migration of the chunk of data from the first data storage system to the second data storage system is currently in progress is performed by the first data storage system based on a moving map that is stored on the host system, the moving map including an indication of whether the chunk of data is being migrated. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A data storage system comprising:
-
one or more processors; and a computer readable storage medium having processor-executable code stored thereon, which when executed by the one or more processors, causes the data storage system to perform a method comprising; receiving, from a host system, an I/O request associated with a chunk of data that is at least in part stored in the data storage system; detecting whether a migration of the chunk of data to another data storage system is currently in progress; when the migration is not currently in progress;
fulfilling the I/O request; andwhen the migration is currently in progress;
(i) adding the I/O request to a queue and keeping the I/O request in the queue while the migration remains in progress, and (ii) releasing the I/O request from the queue and rejecting the I/O request after the migration is completed and an acknowledgement is transmitted to the host system indicating that the migration is completed,wherein the detecting whether the migration is in progress is performed by based on a moving map that is stored on the host system, the moving map including an indication of whether the chunk of data is being migrated. - View Dependent Claims (7, 8, 14, 15)
-
-
9. A non-transitory computer readable storage medium having computer program code encoded thereon, the computer program code comprising:
-
computer program code for receiving an I/O request associated with a chunk of data that is at least in part stored on a first data storage system, the I/O request being received at the first data storage system from a host system; computer program code for detecting whether a migration of the chunk of data from the first data storage system to a second data storage system is currently in progress; computer program code for fulfilling the I/O request when the migration is not currently in progress; and computer program code for;
(i) adding the I/O request to a queue when the migration is currently in progress and keeping the I/O request in the queue while the migration remains in progress, and (ii) releasing the I/O request from the queue and rejecting the I/O request after the migration of the chunk of data is completed and an acknowledgement is transmitted to the host system indicating that the migration is completedwherein the detecting of whether the migration of the chunk of data from the first data storage system to the second data storage system is currently in progress is performed by the first data storage system based on a moving map that is stored on the host system, the moving map including an indication of whether the chunk of data is being migrated. - View Dependent Claims (10, 11, 12, 13)
-
Specification