IP Library Granted Patent US 11,709,614
Granted Patent B2
US 11,709,614 · App. 17/383,752 · Granted Jul 25, 2023

Reducing write delays while taking snapshots

Inventors: Bhaskar Bora (Shrewsbury, MA); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/0611G06F3/0659G06F3/0664G06F3/0673
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,709,614
App. No.
17/383,752
Granted
Jul 25, 2023
Kind
B2
Abstract

Snapshots are processed without holding all write operations while the snapshots are being activated. Rather than holding all write operations until snapshots are activated, write operations may be allowed to proceed. Snapshot write processing may be temporarily suspended while the snapshots are being activated, including snapshot metadata being updated, while write operations received while the snapshots are being activated are logged. After snapshots have been activated for all logical LSUs for which snapshots were instructed to be activated, the logging of write operations may be stopped, and the logged write entries processed to determine whether any of the logged write operations require updating snapshot information of any logical storage elements (LSEs) of the LSUs. While the logged write operations are being processed, any write operations received from a host for an LSE having a logged write operation may be held until the held operation, or all held operations are processed.

Claims (63)

1. A method comprising:

receiving an instruction to activate a first snapshot for one or more logical storage units including a first logical storage unit;

in response to receiving the instruction, initiating logging of write operations received for the one or more logical storage units;

in response to completing activation of the first snapshot, stopping the logging of the write operations;

processing one or more logged write operations which are logged by said logging to determine whether there are one or more logged write operations that require updating snapshot information of the one or more logical storage units; and

if there are one or more logged write operations that require updating the snapshot information, updating the snapshot information based on the one or more logged write operations; and

wherein said logging of the write operations for the one or more logical storage units includes, for a first received write operation, recording a log entry specifying a first logical storage element specified by the first received write operation;

wherein said completing activation of the first snapshot includes incrementing a snapshot value of the first logical storage unit from a previous snapshot value of the first logical storage unit, wherein the log entry specifies a first snapshot value of the first logical storage element at a time at which the first received write operation was received; and

wherein determining whether there are one or more logged write operations that require updating the snapshot information includes comparing the first snapshot value of the first logical storage element to the previous snapshot value of the first logical storage unit, and wherein, if the first snapshot value is less than the previous snapshot value, the first received write operation requires updating the snapshot information.

2. The method of claim 1 , further comprising:

in response to receiving the instruction, setting a first flag indicating that the first snapshot is incomplete; and

clearing the first flag after updating the snapshot information.

3. The method of claim 1 , further comprising:

after completing activation of the first snapshot, receiving a first write operation for a first logical storage element of the first logical storage unit;

determining whether there is at least one logged write operation for the first logical storage element that has not been processed yet; and

if there is at least one logged write operation for the first logical storage element that has not been processed yet, holding processing of the first write operation.

4. The method of claim 3 , further comprising:

after processing the one or more logged write operations, processing the held first write operation.

5. The method of claim 1 , wherein said updating the snapshot information based on the one or more logged write operations includes:

moving data pointed-to by the first logical storage element for the first snapshot value; and

updating the first snapshot value of the first logical storage element to equal the previous snapshot value of the logical storage unit.

6. The system of claim 1 , wherein said updating the snapshot information based on the one or more logged write operations includes:

moving data pointed-to by the first logical storage element for the first snapshot value; and

updating the first snapshot value of the first logical storage element to equal the previous snapshot value of the logical storage unit.

7. A system comprising executable logic that implements a method including:

receiving an instruction to activate a first snapshot for one or more logical storage units including a first logical storage unit;

in response to receiving the instruction, initiating logging of write operations received for the one or more logical storage units;

in response to completing activation of the first snapshot, stopping the logging of the write operations;

processing one or more logged write operations which are logged by said logging to determine whether there are one or more logged write operations that require updating snapshot information of the one or more logical storage units; and

if there are one or more logged write operations that require updating the snapshot information, updating the snapshot information based on the one or more logged write operations; and

wherein said logging of the write operations for the one or more logical storage units includes, for a first received write operation, recording a log entry specifying a first logical storage element specified by the first received write operation;

wherein said completing activation of the first snapshot includes incrementing a snapshot value of the first logical storage unit from a previous snapshot value of the first logical storage unit, wherein the log entry specifies a first snapshot value of the first logical storage element at a time at which the first received write operation was received; and

wherein determining whether there are one or more logged write operations that require updating the snapshot information includes comparing the first snapshot value of the first logical storage element to the previous snapshot value of the first logical storage unit, and wherein, if the first snapshot value is less than the previous snapshot value, the first received write operation requires updating the snapshot information.

8. The system of claim 7 , wherein the method further includes:

in response to receiving the instruction, setting a first flag indicating that the first snapshot is incomplete; and

clearing the first flag after updating the snapshot information.

9. The system of claim 7 , wherein the method further includes:

after completing activation of the first snapshot, receiving a first write operation for a first logical storage element of the first logical storage unit;

determining whether there is at least one logged write operation for the first logical storage element that has not been processed yet; and

if there is at least one logged write operation for the first logical storage element that has not been processed yet, holding processing of the first write operation.

10. The system of claim 9 , wherein the method further includes:

after processing the one or more logged write operations, processing the held first write operation.

11. One or more non-transitory computer-readable media having software stored thereon that, when executed, performs a method comprising:

receiving an instruction to activate a first snapshot for one or more logical storage units including a first logical storage unit;

in response to receiving the instruction, initiating logging of write operations received for the one or more logical storage units;

in response to completing activation of the first snapshot, stopping the logging of the write operations;

processing one or more logged write operations which are logged by said logging to determine whether there are one or more logged write operations that require updating snapshot information of the one or more logical storage units; and

if there are one or more logged write operations that require updating the snapshot information, updating the snapshot information based on the one or more logged write operations; and

wherein said logging of the write operations for the one or more logical storage units includes, for a first received write operation, recording a log entry specifying a first logical storage element specified by the first received write operation;

wherein said completing activation of the first snapshot includes incrementing a snapshot value of the first logical storage unit from a previous snapshot value of the first logical storage unit, wherein the log entry specifies a first snapshot value of the first logical storage element at a time at which the first received write operation was received; and

wherein determining whether there are one or more logged write operations that require updating the snapshot information includes comparing the first snapshot value of the first logical storage element to the previous snapshot value of the first logical storage unit, and wherein, if the first snapshot value is less than the previous snapshot value, the first received write operation requires updating the snapshot information.

12. The one or more non-transitory computer-readable media of claim 11 , wherein the method further comprises:

in response to receiving the instruction, setting a first flag indicating that the first snapshot is incomplete; and

clearing the first flag after updating the snapshot information.

13. The one or more non-transitory computer-readable media of claim 11 , wherein the method further comprises:

after completing activation of the first snapshot, receiving a first write operation for a first logical storage element of the first logical storage unit;

determining whether there is at least one logged write operation for the first logical storage element that has not been processed yet; and

if there is at least one logged write operation for the first logical storage element that has not been processed yet, holding processing of the first write operation.

14. The one or more non-transitory computer-readable media of claim 13 , wherein the method further comprises:

after processing the one or more logged write operations, processing the held first write operation.

15. The one or more non-transitory computer-readable media of claim 11 , wherein said updating the snapshot information based on the one or more logged write operations includes:

moving data pointed-to by the first logical storage element for the first snapshot value; and

updating the first snapshot value of the first logical storage element to equal the previous snapshot value of the logical storage unit.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2021
From: BORA, BHASKAR; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056959/0792 →
Continuity (1)
Related Publication 20230022243A1 · Jan 26, 2023