IP Library › Granted Patent US 11,099,983
Granted Patent B2
US 11,099,983 · App. 16/078,366 · Granted Aug 24, 2021

Consolidating temporally-related data within log-based storage

Inventor: Nickolay Alexandrovich Dalmatov (Saint Petersburg, RU)
Assignee: EMC IP Holding Company LLC
G06F12/0802G06F3/0604G06F3/0655G06F3/0679G06F2212/72
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 11,099,983
App. No.
16/078,366
Granted
Aug 24, 2021
Kind
B2
Abstract

Technique manage data within computerized memory. The techniques involve, in response to receiving host data in a write cache, updating a data order log that holds order information indicating a temporal order for the host data. The temporal order initially is the order that the host data was received in the write cache. The techniques further involve transferring the host data from the write cache to secondary storage. The techniques further involve, after the host data is transferred from the write cache to secondary storage, providing a garbage collection service that consolidates the host data within the secondary storage in accordance with the data order log that holds the order information indicating the temporal order for the host data. With the temporal order of the host data generally preserved, data access operations may enjoy various optimizations such as improved prefetching, more sequential reads, improved auto-tiering, and so on.

Claims (56)

1. A method of managing data within computerized memory, comprising:

in response to receiving host data in a write cache, updating a data order log that holds order information indicating a temporal order for the host data, the temporal order initially being the order that the host data was received in the write cache;

transferring the host data from the write cache to secondary storage; and

after the host data is transferred from the write cache to secondary storage, providing a garbage collection service that consolidates the host data within the secondary storage in accordance with the data order log that holds the order information indicating the temporal order for the host data;

wherein the consolidated host data is valid data grouped together within the secondary storage in the same temporal order indicated by the data order log.

2. The method as in claim 1 , further comprising:

before the host data within the secondary storage is consolidated, modifying at least some of the host data that was transferred from the write cache to the secondary storage.

3. The method as in claim 2 , wherein the secondary storage performs log-based storage of the host data;

wherein transferring the host data from the write cache to secondary storage includes storing the host data within a first set of storage locations of the secondary storage; and

wherein modifying at least some of the host data that was transferred from the write cache to the secondary storage includes (i) modifying particular portions of the host data stored within the first set of storage locations of the secondary storage to form modified portions of the host data, (ii) writing the modified portions of the host data to a second set of storage locations of the secondary storage that is different from the first set of storage locations, and (iii) invalidating the particular portions of the host data stored within the first set of storage locations of the secondary storage.

4. The method as in claim 3 , wherein, after the particular portions of the host data stored within the first set of storage locations are invalidated, the first set of storage locations continues to store other portions of the host data that are still valid; and

wherein providing the garbage collection service includes consolidating the other portions of the host data that are still valid into consolidated portions of the host data within a third set of storage locations of the secondary storage, the consolidated portions of the host data including the other portions of the host data that are still valid ordered in accordance with the temporal order.

5. The method as in claim 4 , wherein consolidating the other portions of the host data that are still valid into the consolidated portions of the host data within the third set of storage locations includes:

reading at least some of the order information from the data order log; and

based on the order information read from the data order log, forming the consolidated portions of the host data from the other portions of the host data that are still valid.

6. The method as in claim 5 , wherein consolidating the other portions of the host data that are still valid into the consolidated portions of the host data within the third set of storage locations further includes:

writing the consolidated portions of the host data to the third set of storage locations of the secondary storage, and

invalidating the other portions of the host data from the first set of storage locations.

7. The method as in claim 6 , further comprising:

in response to the consolidated portions of the host data being written to the third set of storage locations of the secondary storage, updating the data order log that holds order information indicating the temporal order for the host data, the updated temporal order being the order that the consolidated portions of the host data were written to the third set of storage locations of the secondary storage.

8. The method as in claim 7 , wherein the secondary storage includes a first storage tier that provides data access at a first data access speed and a second storage tier that provides data access at a second data access speed that is different from the first data access speed;

wherein the first set of storage locations reside within the first storage tier; and

wherein the third set of storage locations reside within the second storage tier.

9. The method as in claim 7 , wherein the data order log includes multiple entries, each entry of the data order log identifying (i) a respective storage location of the first set of storage locations, the second set of storage locations, and the third set of storage locations and (ii) a place within the temporal order for that respective storage location.

10. The method as in claim 9 , wherein each storage location of the first set of storage locations, the second set of storage locations, and the third set of storage locations is equal in size; and

wherein the respective storage location identified by each entry of the data order log is identified by an address of the respective storage location.

11. The method as in claim 9 , wherein the storage locations of the first set of storage locations, the second set of storage locations, and the third set of storage locations are varying in size; and

wherein the respective storage location identified by each entry of the data order log is identified by a starting address and an ending address of the respective storage location.

12. The method as in claim 1 , wherein the write cache and the secondary storage form at least a portion of a memory subsystem of a data storage assembly; and

wherein the method further comprises:

delivering electronic results to a set of host computers in response to input/output (I/O) requests sent by the set of host computers to the data storage assembly to access the host data from the data storage assembly.

13. The method as in claim 12 , wherein the write cache receives and stores the host data in a log-based manner.

14. Data storage equipment, comprising:

a communications interface;

memory including a write cache, a data order log, and secondary storage; and

control circuitry coupled to the communications interface and the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to:

in response to receiving host data in the write cache through the communications interface, update the data order log which holds order information indicating a temporal order for the host data, the temporal order initially being the order that the host data was received in the write cache,

transfer the host data from the write cache to secondary storage, and

after the host data is transferred from the write cache to secondary storage, provide a garbage collection service that consolidates the host data within the secondary storage in accordance with the data order log that holds the order information indicating the temporal order for the host data;

wherein the consolidated host data is valid data grouped together within the secondary storage in the same temporal order indicated by the data order log.

15. The data storage equipment as in claim 14 , wherein the instructions further cause the control circuitry to:

before the host data within the secondary storage is consolidated, modify at least some of the host data that was transferred from the write cache to the secondary storage.

16. The data storage equipment as in claim 14 , wherein the write cache and the secondary storage form at least a portion of a memory subsystem of a data storage assembly; and

wherein the instructions further cause the control circuitry to:

deliver electronic results to a set of host computers in response to input/output (I/O) requests sent by the set of host computers to the data storage assembly to access the host data from the data storage assembly.

17. The data storage equipment as in claim 16 , wherein the write cache receives and stores the host data in a log-based manner.

18. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage data within computerized memory; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

in response to receiving host data in a write cache, updating a data order log that holds order information indicating a temporal order for the host data, the temporal order initially being the order that the host data was received in the write cache;

transferring the host data from the write cache to secondary storage; and

after the host data is transferred from the write cache to secondary storage, providing a garbage collection service that consolidates the host data within the secondary storage in accordance with the data order log that holds the order information indicating the temporal order for the host data;

wherein the consolidated host data is valid data grouped together within the secondary storage in the same temporal order indicated by the data order log.

19. The computer program product as in claim 18 , further comprising:

before the host data within the secondary storage is consolidated, modifying at least some of the host data that was transferred from the write cache to the secondary storage.

20. The computer program product as in claim 18 , wherein the write cache and the secondary storage form at least a portion of a memory subsystem of a data storage assembly; and

wherein the method further comprises:

delivering electronic results to a set of host computers in response to input/output (I/O) requests sent by the set of host computers to the data storage assembly to access the host data from the data storage assembly.

Assignments (4)
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 →
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 Dec 4, 2018
From: DALMATOV, NICKOLAY ALEXANDROVICH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047671/0943 →
Continuity (1)
Related Publication 20210191861A1 · Jun 24, 2021