IP Library Granted Patent US 10,437,504
Granted Patent B1
US 10,437,504 · App. 15/480,050 · Granted Oct 8, 2019

Multi-tier storage system with data mover modules providing distributed multi-part data movement

Inventors: Haiyun Bao (Beijing, CN); Sorin Faibish (Newton, MA); Caiping Zheng (Beijing, CN); Sen Zhang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0647G06F3/061G06F3/0683
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 10,437,504
App. No.
15/480,050
Granted
Oct 8, 2019
Kind
B1
Abstract

An apparatus in one embodiment comprises a storage system having at least first and second storage tiers each comprising a plurality of storage devices. The storage system implements a plurality of data mover modules for controlling movement of data objects between the first and second storage tiers. A given one of the data objects is transferred between the first and second storage tiers utilizing a distributed multi-part data movement protocol in which different portions of the given data object are transferred between the first and second storage tiers by different ones of the data mover modules. For example, each of the different portions may be transferred between the first and second storage tiers by its corresponding data mover module as a plurality of distinct non-overlapping parts. In such an arrangement, each of the plurality of distinct non-overlapping parts of each of the different portions may have a corresponding unique tag identifier.

Claims (50)

1. An apparatus comprising:

a storage system comprising at least first and second storage tiers each comprising a plurality of storage devices;

the storage system implementing a plurality of data mover modules for controlling movement of data objects between the first and second storage tiers;

wherein a given one of the data objects is transferred between the first and second storage tiers utilizing a distributed multi-part data movement protocol in which different portions of the given data object are transferred between the first and second storage tiers by different ones of the data mover modules;

wherein the distributed multi-part data movement protocol for transfer of the given data object comprises:

a first phase in which a first one of the data mover modules obtains an upload identifier, communicates the upload identifier to other ones of the data mover modules, and identifies to each of the other data mover modules its corresponding one of the different portions of the given data object to be transferred;

a second phase in which the first one of the data mover modules transfers its corresponding one of the different portions of the given data object in a plurality of distinct non-overlapping parts each having a unique tag identifier, and receives from each of the other data mover modules unique tag identifiers of respective ones of a plurality of distinct non-overlapping parts of the corresponding one of the different portions transferred by that data mover module; and

a third phase in which the first one of the data mover modules completes the transfer of the given data object utilizing the unique tag identifiers for all of the distinct non-overlapping parts of each of the different portions.

2. The apparatus of claim 1 wherein the given data object comprises one of a single data file and a plurality of data files.

3. The apparatus of claim 1 wherein the first storage tier implements a parallel file system comprising a plurality of parallel file system nodes.

4. The apparatus of claim 1 wherein the second storage tier implements at least one object store comprising a plurality of object storage nodes and in which stored data objects have respective unique object identifiers.

5. The apparatus of claim 1 wherein each of the different portions is transferred between the first and second storage tiers by its corresponding data mover module as a plurality of distinct non-overlapping parts.

6. The apparatus of claim 5 wherein each of the plurality of distinct non-overlapping parts of each of the different portions has a corresponding unique tag identifier.

7. The apparatus of claim 1 wherein the data mover modules are configurable in a first mode of operation in which a first subset of the data mover modules are utilized in transferring a data object of a particular size between the first and second storage tiers and are further configurable in one or more additional modes of operation in which respective different subsets of the data mover modules are utilized in transferring the data object of the particular size between the first and second storage tiers.

8. The apparatus of claim 7 wherein the first mode of operation utilizes fewer of the data mover modules than each of the one or more additional modes of operation.

9. The apparatus of claim 1 wherein the storage system further comprises at least one configuration file associated with the data mover modules, and wherein the data mover modules are configurable in at least first and second different modes of operation, each involving utilization of a different number of the data mover modules to transfer a data object of a particular size between the first and second storage tiers, by storing respective first and second different sets of information in the configuration file.

10. The apparatus of claim 9 wherein the storage system comprises an application programming interface that permits an external component to control selection between the first and second different modes of operation by directing storage of a particular one of the first and second different sets of information in the configuration file.

11. The apparatus of claim 1 further comprising a plurality of compute nodes wherein at least one of the compute nodes implements at least a portion of the first storage tier of the storage system.

12. The apparatus of claim 1 wherein:

a first one of the portions of the given data object is transferred between the first and second storage tiers by a first one of the data mover modules;

a second one of the portions of the given data object different than the first portion is transferred between the first and second storage tiers by a second one of the data mover modules different than the first data mover module; and

the transfer of the second portion by the second data mover module is performed without utilizing the first data mover module.

13. A method comprising:

configuring a storage system with at least first and second storage tiers each comprising a plurality of storage devices;

implementing in the storage system a plurality of data mover modules for controlling movement of data objects between the first and second storage tiers; and

transferring a given one of the data objects between the first and second storage tiers utilizing a distributed multi-part data movement protocol in which different portions of the given data object are transferred between the first and second storage tiers by different ones of the data mover modules;

wherein the distributed multi-part data movement protocol for transfer of the given data object comprises:

a first phase in which a first one of the data mover modules obtains an upload identifier, communicates the upload identifier to other ones of the data mover modules, and identifies to each of the other data mover modules its corresponding one of the different portions of the given data object to be transferred;

a second phase in which the first one of the data mover modules transfers its corresponding one of the different portions of the given data object in a plurality of distinct non-overlapping parts each having a unique tag identifier, and receives from each of the other data mover modules unique tag identifiers of respective ones of a plurality of distinct non-overlapping parts of the corresponding one of the different portions transferred by that data mover module; and

a third phase in which the first one of the data mover modules completes the transfer of the given data object utilizing the unique tag identifiers for all of the distinct non-overlapping parts of each of the different portions.

14. The method of claim 13 wherein the storage system further comprises at least one configuration file associated with the data mover modules, and wherein the data mover modules are configurable in at least first and second different modes of operation, each involving utilization of a different number of the data mover modules to transfer a data object of a particular size between the first and second storage tiers, by storing respective first and second different sets of information in the configuration file.

15. The method of claim 13 wherein:

a first one of the portions of the given data object is transferred between the first and second storage tiers by a first one of the data mover modules;

a second one of the portions of the given data object different than the first portion is transferred between the first and second storage tiers by a second one of the data mover modules different than the first data mover module; and

the transfer of the second portion by the second data mover module is performed without utilizing the first data mover module.

16. The method of claim 13 wherein the data mover modules are configurable in a first mode of operation in which a first subset of the data mover modules are utilized in transferring a data object of a particular size between the first and second storage tiers and are further configurable in one or more additional modes of operation in which respective different subsets of the data mover modules are utilized in transferring the data object of the particular size between the first and second storage tiers.

17. A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by a processing platform causes said processing platform:

to configure a storage system with at least first and second storage tiers each comprising a plurality of storage devices;

to implement in the storage system a plurality of data mover modules for controlling movement of data objects between the first and second storage tiers; and

to transfer a given one of the data objects between the first and second storage tiers utilizing a distributed multi-part data movement protocol in which different portions of the given data object are transferred between the first and second storage tiers by different ones of the data mover modules;

wherein the distributed multi-part data movement protocol for transfer of the given data object comprises:

a first phase in which a first one of the data mover modules obtains an upload identifier, communicates the upload identifier to other ones of the data mover modules, and identifies to each of the other data mover modules its corresponding one of the different portions of the given data object to be transferred;

a second phase in which the first one of the data mover modules transfers its corresponding one of the different portions of the given data object in a plurality of distinct non-overlapping parts each having a unique tag identifier, and receives from each of the other data mover modules unique tag identifiers of respective ones of a plurality of distinct non-overlapping parts of the corresponding one of the different portions transferred by that data mover module; and

a third phase in which the first one of the data mover modules completes the transfer of the given data object utilizing the unique tag identifiers for all of the distinct non-overlapping parts of each of the different portions.

18. The processor-readable storage medium of claim 17 wherein the storage system further comprises at least one configuration file associated with the data mover modules, and wherein the data mover modules are configurable in at least first and second different modes of operation, each involving utilization of a different number of the data mover modules to transfer a data object of a particular size between the first and second storage tiers, by storing respective first and second different sets of information in the configuration file.

19. The processor-readable storage medium of claim 17 wherein:

a first one of the portions of the given data object is transferred between the first and second storage tiers by a first one of the data mover modules;

a second one of the portions of the given data object different than the first portion is transferred between the first and second storage tiers by a second one of the data mover modules different than the first data mover module; and

the transfer of the second portion by the second data mover module is performed without utilizing the first data mover module.

20. The processor-readable storage medium of claim 17 wherein the data mover modules are configurable in a first mode of operation in which a first subset of the data mover modules are utilized in transferring a data object of a particular size between the first and second storage tiers and are further configurable in one or more additional modes of operation in which respective different subsets of the data mover modules are utilized in transferring the data object of the particular size between the first and second storage tiers.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2017
From: BAO, HAIYUN; FAIBISH, SORIN; ZHENG, CAIPING; ZHANG, SEN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041865/0263 →