IP Library Granted Patent US 11,487,460
Granted Patent B2
US 11,487,460 · App. 17/123,525 · Granted Nov 1, 2022

Deferred reclamation of invalidated entries associated with replication in a log-structured array

Inventors: Itay Keller (Tel Aviv, IL); Dan Aharoni (Brookline, MA)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/0619G06F3/0652G06F3/0659G06F3/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 11,487,460
App. No.
17/123,525
Granted
Nov 1, 2022
Kind
B2
Abstract

In some embodiments, a storage system comprises at least one processor coupled to memory. The processor is configured to obtain a write operation that comprises first data associated with a logical data device and to store the first data in a first entry of a log-structured array (LSA). The at least one processor is configured to invalidate a second entry based at least in part on the storage of the first data in the first entry. The second entry comprises second data associated with the logical data device that was stored in the second entry prior to obtaining the write operation. The at least one processor is configured to determine that a first indication in LSA metadata associated with the LSA indicates that the invalidated second entry comprises data that is awaiting replication and to defer reclamation of the second entry based at least in part on the determination.

Claims (85)

1. A method, comprising:

obtaining a write operation issued by an application, the write operation comprising first data associated with a logical data device of the application;

storing the first data in a first entry of a log-structured array implemented on at least one storage device of a storage system;

invalidating a second entry of the log-structured array based at least in part on the storage of the first data in the first entry, the second entry comprising second data associated with the logical data device that was stored in the second entry prior to obtaining the write operation;

determining that a first indication in log-structured array metadata associated with the log-structured array indicates that the invalidated second entry comprises data that is awaiting replication to a replication storage system; and

deferring reclamation of the second entry based at least in part on the determination that the first indication in the log-structured array metadata indicates that the invalidated second entry comprises data that is awaiting replication to the replication storage system;

wherein the first indication in the log-structured array metadata indicating that the invalidated second entry comprises data that is awaiting replication to the replication storage system further indicates that the invalidated second entry is being utilized to provide at least a portion of a replication log that includes the data awaiting replication to the replication storage system; and

wherein the method is performed by at least one processing device of the storage system, the at least one processing device comprising at least one processor coupled to memory.

2. The method of claim 1 , wherein the method further comprises:

replicating the second data to the replication storage system;

clearing the first indication in the log-structured array metadata based at least in part on the replication of the second data;

determining that the first indication in the log-structured array metadata indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system; and

reclaiming the second entry based at least in part on the determination that the first indication indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system.

3. The method of claim 2 , wherein replicating the second data to the replication storage system comprises:

determining that a second indication in replication metadata indicates that the second data corresponds to a group of write operations awaiting replication to the replication storage system;

determining that a threshold criterion for replicating the group of write operations has been met; and

replicating data corresponding to the group of write operations to the replication storage system based at least in part on the replication metadata and the threshold criterion being met, the data corresponding to the group of write operations comprising the second data.

4. The method of claim 3 , wherein the threshold criterion comprises at least one of a predetermined number of write operations added to the group, a predetermined size of data corresponding to the write operations added to the group and a predetermined amount of time since the group was created.

5. The method of claim 3 , wherein the method further comprises setting a third indication in the replication metadata based at least in part on the storing of the first data in the first entry, the third indication indicating that the write operation corresponding to the first data is awaiting replication to the replication storage system.

6. The method of claim 5 wherein:

the third indication indicates that the write operation corresponding to the first data is included in the group of write operations awaiting replication to the replication storage system; and

replicating the data corresponding to the group of write operations to the replication storage system based at least in part on the replication metadata and the threshold criterion comprises replicating the first data to the replication storage system based at least in part on the third indication.

7. The method of claim 1 , wherein the method further comprises:

determining that a second indication in replication metadata indicates that the second data corresponds to a group of write operations awaiting replication to the replication storage system;

setting a third indication in the replication metadata based at least in part on the storing of the first data in the first entry, the third indication indicating that the write operation corresponding to the first data is included in the group of write operations awaiting replication to the replication storage system;

determining that the second data and the first data both correspond to the same group of write operations awaiting replication to the replication storage system based at least in part on the second indication and the third indication;

clearing the first indication in the log-structured array metadata based at least in part on the determination that the second data and the first data both correspond to the same group of write operations awaiting replication to the replication storage system;

determining that the first indication in the log-structured array metadata indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system; and

reclaiming the second entry based at least in part on the determination that the first indication indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system.

8. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method comprising:

obtaining a write operation issued by an application, the write operation comprising first data associated with a logical data device of the application;

storing the first data in a first entry of a log-structured array implemented on at least one storage device of a storage system;

invalidating a second entry of the log-structured array based at least in part on the storage of the first data in the first entry, the second entry comprising second data associated with the logical data device that was stored in the second entry prior to obtaining the write operation;

determining that a first indication in log-structured array metadata associated with the log-structured array indicates that the invalidated second entry comprises data that is awaiting replication to a replication storage system; and

deferring reclamation of the second entry based at least in part on the determination that the first indication in the log-structured array metadata indicates that the invalidated second entry comprises data that is awaiting replication to the replication storage system;

wherein the first indication in the log-structured array metadata indicating that the invalidated second entry comprises data that is awaiting replication to the replication storage system further indicates that the invalidated second entry is being utilized to provide at least a portion of a replication log that includes the data awaiting replication to the replication storage system.

9. The article of manufacture of claim 8 , wherein the method further comprises:

replicating the second data to the replication storage system;

clearing the first indication in the log-structured array metadata based at least in part on the replication of the second data;

determining that the first indication in the log-structured array metadata indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system; and

reclaiming the second entry based at least in part on the determination that the first indication indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system.

10. The article of manufacture of claim 9 , wherein replicating the second data to the replication storage system comprises:

determining that a second indication in replication metadata indicates that the second data corresponds to a group of write operations awaiting replication to the replication storage system;

determining that a threshold criterion for replicating the group of write operations has been met; and

replicating data corresponding to the group of write operations to the replication storage system based at least in part on the replication metadata and the threshold criterion being met, the data corresponding to the group of write operations comprising the second data.

11. The article of manufacture of claim 10 , wherein the threshold criterion comprises at least one of a predetermined number of write operations added to the group, a predetermined size of data corresponding to the write operations added to the group and a predetermined amount of time since the group was created.

12. The article of manufacture of claim 10 , wherein the method further comprises setting a third indication in the replication metadata based at least in part on the storing of the first data in the first entry, the third indication indicating that the write operation corresponding to the first data is awaiting replication to the replication storage system.

13. The article of manufacture of claim 12 , wherein:

the third indication indicates that the write operation corresponding to the first data is included in the group of write operations awaiting replication to the replication storage system; and

replicating the data corresponding to the group of write operations to the replication storage system based at least in part on the replication metadata and the threshold criterion comprises replicating the first data to the replication storage system based at least in part on the third indication.

14. The article of manufacture of claim 8 , wherein the method further comprises:

determining that a second indication in replication metadata indicates that the second data corresponds to a group of write operations awaiting replication to the replication storage system;

setting a third indication in the replication metadata based at least in part on the storing of the first data in the first entry, the third indication indicating that the write operation corresponding to the first data is included in the group of write operations awaiting replication to the replication storage system;

determining that the second data and the first data both correspond to the same group of write operations awaiting replication to the replication storage system based at least in part on the second indication and the third indication;

clearing the first indication in the log-structured array metadata based at least in part on the determination that the second data and the first data both correspond to the same group of write operations awaiting replication to the replication storage system;

determining that the first indication in the log-structured array metadata indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system; and

reclaiming the second entry based at least in part on the determination that the first indication indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system.

15. An apparatus comprising:

a storage system comprising at least one processor coupled to memory, the at least one processor being configured:

to obtain a write operation issued by an application, the write operation comprising first data associated with a logical data device of the application;

to store the first data in a first entry of a log-structured array implemented on at least one storage device of a storage system;

to invalidate a second entry of the log-structured array based at least in part on the storage of the first data in the first entry, the second entry comprising second data associated with the logical data device that was stored in the second entry prior to obtaining the write operation;

to determine that a first indication in log-structured array metadata associated with the log-structured array indicates that the invalidated second entry comprises data that is awaiting replication to a replication storage system; and

to defer reclamation of the second entry based at least in part on the determination that the first indication in the log-structured array metadata indicates that the invalidated second entry comprises data that is awaiting replication to the replication storage system;

wherein the first indication in the log-structured array metadata indicating that the invalidated second entry comprises data that is awaiting replication to the replication storage system further indicates that the invalidated second entry is being utilized to provide at least a portion of a replication log that includes the data awaiting replication to the replication storage system.

16. The apparatus of claim 15 , wherein the at least one processor is further configured:

to replicate the second data to the replication storage system;

to clear the first indication in the log-structured array metadata based at least in part on the replication of the second data;

to determine that the first indication in the log-structured array metadata indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system; and

to reclaim the second entry based at least in part on the determination that the first indication indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system.

17. The apparatus of claim 16 , wherein replicating the second data to the replication storage system comprises:

determining that a second indication in replication metadata indicates that the second data corresponds to a group of write operations awaiting replication to the replication storage system;

determining that a threshold criterion for replicating the group of write operations has been met; and

replicating data corresponding to the group of write operations to the replication storage system based at least in part on the replication metadata and the threshold criterion being met, the data corresponding to the group of write operations comprising the second data.

18. The apparatus of claim 17 , wherein the at least one processor is further configured to set a third indication in the replication metadata based at least in part on the storing of the first data in the first entry, the third indication indicating that the write operation corresponding to the first data is awaiting replication to the replication storage system.

19. The apparatus of claim 18 , wherein:

the third indication indicates that the write operation corresponding to the first data is included in the group of write operations awaiting replication to the replication storage system; and

replicating the data corresponding to the group of write operations to the replication storage system based at least in part on the replication metadata and the threshold criterion comprises replicating the first data to the replication storage system based at least in part on the third indication.

20. The apparatus of claim 15 , wherein the at least one processor is further configured:

to determine that a second indication in replication metadata indicates that the second data corresponds to a group of write operations awaiting replication to the replication storage system;

to set a third indication in the replication metadata based at least in part on the storing of the first data in the first entry, the third indication indicating that the write operation corresponding to the first data is included in the group of write operations awaiting replication to the replication storage system;

to determine that the second data and the first data both correspond to the same group of write operations awaiting replication to the replication storage system based at least in part on the second indication and the third indication;

to clear the first indication in the log-structured array metadata based at least in part on the determination that the second data and the first data both correspond to the same group of write operations awaiting replication to the replication storage system;

to determine that the first indication in the log-structured array metadata indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system; and

to reclaim the second entry based at least in part on the determination that the first indication indicates that the invalidated second entry does not comprise data that is awaiting replication to the replication storage system.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: KELLER, ITAY; AHARONI, DAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054666/0927 →
Continuity (1)
Related Publication 20220187991A1 · Jun 16, 2022
Cited By (4)
US 12,299,303 US 12,339,805 US 12,367,216 US 12,436,704