IP Library Granted Patent US 10,915,497
Granted Patent B1
US 10,915,497 · App. 15/665,391 · Granted Feb 9, 2021

Multi-tier storage system with controllable relocation of files from file system tier to cloud-based object storage tier

Inventors: Jean-Pierre Bono (Westboro, MA); Sudhir Srinivasan (Acton, MA); Walter Forrester (Berkeley Heights, NJ)
Assignee: EMC IP Holding Company LLC
G06F16/119G06F16/122G06F16/1734G06F16/183
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,915,497
App. No.
15/665,391
Granted
Feb 9, 2021
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 first storage tier implements a file system having a user visible name space and a corresponding hidden data store. The second storage tier implements a cloud-based object store. The storage system is configured to controllably relocate files from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier. In conjunction with the relocation of a given one of the files, the given file is replaced in the hidden data store with a corresponding stub providing user access via the user visible name space to an object comprising the given file in the cloud-based object store of the second storage tier. The controllable relocation is illustratively performed in accordance with one or more configured policies.

Claims (48)

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 being implemented at least in part by at least one processing device comprising a hardware processor coupled to a memory;

the first storage tier implementing a file system having a user visible name space and a corresponding hidden data store;

the second storage tier implementing a cloud-based object store;

the storage system being configured to controllably relocate files from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier;

wherein in conjunction with the relocation of a given one of the files, the given file is replaced in the hidden data store with a corresponding stub providing user access via the user visible name space to an object comprising the given file in the cloud-based object store of the second storage tier;

wherein the user visible name space comprises a plurality of additional stubs;

a first subset of the plurality of additional stubs of the user visible name space pointing to respective files stored in the hidden data store; and

a second subset of the plurality of additional stubs of the user visible name space pointing to the corresponding stub in the hidden data store that points to the object comprising the given file stored in the cloud-based object store of the second storage tier;

wherein the first subset of the plurality of additional stubs of the user visible name space includes first and second additional stubs, the first and second additional stubs pointing to respective first and second variants of the given file associated with first and second writes by one or more clients to the given file subsequent to relocation of the given file to the cloud-based object store of the second storage tier, the first and second variants being cached locally in the hidden data store;

wherein the first and second variants of the given file cached locally in the hidden data store each point to the corresponding stub in the hidden data store that points to the object comprising the given file stored in the cloud-based object stored of the second storage tier.

2. The apparatus of claim 1 wherein controllable relocation of the files from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier comprises relocation performed in accordance with one or more configured policies.

3. The apparatus of claim 1 wherein the first storage tier comprises a network-attached storage tier implemented at least in part utilizing software-defined storage.

4. The apparatus of claim 1 wherein the file system of the first storage tier is implemented in one or more containers of a processing platform.

5. The apparatus of claim 1 wherein the first storage tier is coupled to the second storage tier via at least one cloud tiering appliance configured to generate the corresponding stub that replaces the given file in the hidden data store.

6. The apparatus of claim 5 wherein the cloud tiering appliance comprises a policy engine configured to determine which of a plurality of files of the hidden data store will be controllably relocated to the cloud-based object store.

7. The apparatus of claim 5 wherein the cloud tiering appliance is implemented in one or more containers of a processing platform.

8. The apparatus of claim 1 wherein the file system having the user visible name space and the corresponding hidden data store comprises a UFS64 file system implemented in combination with one or more higher-layer file systems in a network-attached storage library of a processing platform.

9. The apparatus of claim 1 wherein the files that are controllably relocated from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier comprise respective compressed and deduplicated files of the hidden data store of the file system that also have corresponding stubs in the user visible name space.

10. The apparatus of claim 1 wherein write operations against files that have been controllably relocated from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier are cached locally in the first storage tier and subsequently pushed to the cloud-based object store so as to enhance write performance.

11. The apparatus of claim 1 wherein the first storage tier comprises a distributed storage tier comprising a plurality of file system nodes each having a file system with a user visible name space and a corresponding hidden data store and wherein the file system nodes collectively provide a single name space.

12. The apparatus of claim 1 wherein the first storage tier comprises a distributed storage tier comprising a plurality of file system nodes each having a file system with a user visible name space and a corresponding hidden data store and wherein a given file relocated from multiple ones of the hidden data stores into the cloud-based object store of the second storage tier has only a single corresponding object instance in the cloud-based object store but multiple stubs in respective ones of the multiple hidden data stores from which the given file was relocated.

13. The apparatus of claim 1 wherein the storage system is further configured to store a transaction log of changes to the user visible name space and the hidden data store of the file system as at least one object in the cloud-based object store.

14. The apparatus of claim 1 wherein the object store of the second storage tier comprises a plurality of object storage nodes and wherein stored objects of the object store have respective unique object identifiers.

15. A method performed in a storage system with at least first and second storage tiers each comprising a plurality of storage devices, the storage system being implemented at least in part by at least one processing device comprising a hardware processor coupled to a memory, the first storage tier implementing a file system having a user visible name space and a corresponding hidden data store, the second storage tier implementing a cloud-based object store, the method comprising:

controllably relocating files from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier; and

in conjunction with the relocation of a given one of the files, replacing the given file in the hidden data store with a corresponding stub providing user access via the user visible name space to an object comprising the given file in the cloud-based object store of the second storage tier;

wherein the user visible name space comprises a plurality of additional stubs;

a first subset of the plurality of additional stubs of the user visible name space pointing to respective files stored in the hidden data store; and

a second subset of the plurality of additional stubs of the user visible name space pointing to the corresponding stub in the hidden data store that points to the object comprising the given file stored in the cloud-based object store of the second storage tier;

wherein the first subset of the plurality of additional stubs of the user visible name space includes first and second additional stubs, the first and second additional stubs pointing to respective first and second variants of the given file associated with first and second writes by one or more clients to the given file subsequent to relocation of the given file to the cloud-based object store of the second storage tier, the first and second variants being cached locally in the hidden data store;

wherein the first and second variants of the given file cached locally in the hidden data store each point to the corresponding stub in the hidden data store that points to the object comprising the given file stored in the cloud-based object stored of the second storage tier.

16. The method of claim 15 wherein the files that are controllably relocated from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier comprise respective compressed and deduplicated files of the hidden data store of the file system that also have corresponding stubs in the user visible name space.

17. The method of claim 15 wherein write operations against files that have been controllably relocated from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier are cached locally in the first storage tier and subsequently pushed to the cloud-based object store so as to enhance write performance.

18. A computer program product comprising 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 at least one processing device of a storage system, the storage system comprising at least first and second storage tiers each comprising a plurality of storage devices, the first storage tier implementing a file system having a user visible name space and a corresponding hidden data store, and the second storage tier implementing a cloud-based object store, causes said storage system:

to controllably relocate files from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier; and

in conjunction with the relocation of a given one of the files, to replace the given file in the hidden data store with a corresponding stub providing user access via the user visible name space to an object comprising the given file in the cloud-based object store of the second storage tier;

wherein the user visible name space comprises a plurality of additional stubs;

a first subset of the plurality of additional stubs of the user visible name space pointing to respective files stored in the hidden data store; and

a second subset of the plurality of additional stubs of the user visible name space pointing to the corresponding stub in the hidden data store that points to the object comprising the given file stored in the cloud-based object store of the second storage tier;

wherein the first subset of the plurality of additional stubs of the user visible name space includes first and second additional stubs, the first and second additional stubs pointing to respective first and second variants of the given file associated with first and second writes by one or more clients to the given file subsequent to relocation of the given file to the cloud-based object store of the second storage tier, the first and second variants being cached locally in the hidden data store;

wherein the first and second variants of the given file cached locally in the hidden data store each point to the corresponding stub in the hidden data store that points to the object comprising the given file stored in the cloud-based object stored of the second storage tier; and

wherein the first and second additional stubs and the corresponding stub are associated with the given file and the first and second variants of the given file.

19. The computer program product of claim 18 wherein the files that are controllably relocated from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier comprise respective compressed and deduplicated files of the hidden data store of the file system that also have corresponding stubs in the user visible name space.

20. The computer program product of claim 18 wherein write operations against files that have been controllably relocated from the hidden data store of the file system of the first storage tier to the cloud-based object store of the second storage tier are cached locally in the first storage tier and subsequently pushed to the cloud-based object store so as to enhance write performance.

21. The apparatus of claim 1 wherein the storage system is further configured:

to monitor the first and second writes from the one or more clients to determine whether a total number of newly-written blocks in the first and second variants of the given file exceeds a designated threshold of newly-written blocks; and

to relocate at least one of the first and second variants of the given file from the hidden data store to the cloud-based object store responsive to determining that the total number of newly-written blocks of the given file exceeds the designated threshold of newly-written blocks.

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 (043775/0082) Recorded May 20, 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
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2017
From: BONO, JEAN-PIERRE; SRINIVASAN, SUDHIR; FORRESTER, WALTER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044224/0335 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
Cited By (4)
US 12,307,279 US 12,430,024 US 12,481,735 US 12,645,360