IP Library Granted Patent US 10,725,669
Granted Patent B2
US 10,725,669 · App. 16/041,713 · Granted Jul 28, 2020

Incremental snapshot based technique on paged translation systems

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,725,669
App. No.
16/041,713
Granted
Jul 28, 2020
Kind
B2
Abstract

A data storage apparatus that includes a storage device and a processor coupled to the storage device. The processor is configured to receive in a memory, a first logical block entry for a first dump group and a second logical block entry for a second dump group; store in a reverse translation table, the first logical block entry for the first dump group and the second logical block entry for the second dump group; determine a first sequence number associated with the stored first logical block entry and the stored second logical block entry in the reverse translation table, wherein the first sequence number is a snapshot marker that determines a timestamp associated with the first logical block and the second logical block; and persist the first logical block entry for the first dump group in the storage device.

Claims (56)

1. A method comprising

receiving, in a memory, a first logical block entry for a first dump group and a second logical block entry for a second dump group;

storing, in a reverse translation table, the first logical block entry for the first dump group and the second logical block entry for the second dump group;

determining a first sequence number associated with the stored first logical block entry and the stored second logical block entry in the reverse translation table;

persisting the first logical block entry for the first dump group in a storage device;

receiving, in the memory, a third logical block entry for the first dump group and a fourth logical block entry for the second dump group;

storing, in the reverse translation table, the third logical block entry for the first dump group and the fourth logical block entry for the second dump group;

determining a second sequence number associated with the stored third logical block entry and the stored fourth logical block entry in the reverse translation table; and

persisting, in the storage device, the second logical block entry for the second dump group and the fourth logical block entry for the second dump group.

2. The method of claim 1 , further comprising reclaiming memory corresponding to the second dump group after determining that the second dump group is persisted in the storage device.

3. The method of claim 1 , further comprising:

receiving a request to reconstruct a dump group table for the first dump group and the second dump group;

retrieving the first sequence number as a snapshot marker for the first dump group and the second sequence number as a snapshot marker for the second dump group;

identifying that the second sequence number is greater than the first sequence number; and

retrieving from an additional source, the third logical block entry for the first dump group associated with the second sequence number.

4. The method of claim 3 , wherein the additional source includes a reverse translation map stored in the memory or a meta-log journal stored in the memory.

5. A data storage apparatus comprising:

a storage device; and

a processor coupled to the storage device and configured to:

receive, in a memory, a first logical block entry for a first dump group and a second logical block entry for a second dump group;

store, in a reverse translation table, the first logical block entry for the first dump group and the second logical block entry for the second dump group;

determine a first sequence number associated with the stored first logical block entry and the stored second logical block entry in the reverse translation table, wherein the first sequence number is a snapshot marker that determines a timestamp associated with the first logical block and the second logical block; and

persist the first logical block entry for the first dump group in the storage device.

6. The data storage apparatus of claim 5 , wherein the processor is further configured to:

receive, in the memory, a third logical block entry for the first dump group and a fourth logical block entry for the second dump group;

store, in the reverse translation table, the third logical block entry for the first dump group and the fourth logical block entry for the second dump group;

determine a second sequence number associated with the stored third logical block entry and the stored fourth logical block entry in the reverse translation table; and

persist, in the storage device, the second logical block entry for the second dump group and the fourth logical block entry for the second dump group.

7. The data storage apparatus of claim 6 , wherein the processor is further configured to reclaim memory corresponding to the second dump group after determining that the second dump group is persisted in the in the storage device.

8. The data storage apparatus of claim 6 , wherein the processor is further configured to:

receive a request to reconstruct a dump group table for the first dump group and the second dump group;

retrieve the first sequence number as a snapshot marker for the first dump group and the second sequence number as a snapshot marker for the second dump group;

determine that the second sequence number is greater than the first sequence number; and

retrieve, from an additional source, the third logical block entry for the first dump group associated with the second sequence number.

9. The data storage apparatus of claim 8 , wherein the first sequence number and the second sequence number are retrieved from a timestamp log stored in the memory.

10. A data storage apparatus comprising:

a storage device; and

a processor coupled to the storage device and configured to:

receive, in a memory, a first logical block entry for a first dump group and a second logical block entry for a second dump group;

store, in a reverse translation table, the first logical block entry for the first dump group and the second logical block entry for the second dump group;

determine a first sequence number associated with the stored first logical block entry and the stored second logical block entry in the reverse translation table;

persist the first logical block entry for the first dump group in the storage device;

receive, in the memory, a third logical block entry for the first dump group and a fourth logical block entry for the second dump group;

store, in the reverse translation table, the third logical block entry for the first dump group and the fourth logical block entry for the second dump group;

determine a second sequence number associated with the stored third logical block entry and the stored fourth logical block entry in the reverse translation table; and

persist, in the storage device, the second logical block entry for the second dump group and the fourth logical block entry for the second dump group.

11. The data storage apparatus of claim 10 , wherein the processor is further configured to reclaim memory corresponding to the second dump group after determining that the second dump group is persisted in the storage device.

12. The data storage apparatus of claim 10 , wherein the processor is further configured to:

receive a request to reconstruct a dump group table for the first dump group and the second dump group;

retrieve the first sequence number as a snapshot marker for the first dump group and the second sequence number as a snapshot marker for the second dump group;

identify that the second sequence number is greater than the first sequence number; and

retrieve from an additional source, the third logical block entry for the first dump group associated with the second sequence number.

13. The data storage apparatus of claim 12 , wherein the additional source includes a reverse translation map stored in the memory or a meta-log journal stored in the memory.

14. The data storage apparatus of claim 12 , wherein the first sequence number and the second sequence number are retrieved from a timestamp log stored in the memory.

15. The data storage apparatus of claim 12 , wherein the request to reconstruct the dump group table for the first dump group and the second dump group is received after a second logical block entry for the second dump group and a fourth logical block entry for the second dump group have been persisted in the storage device.

16. The data storage apparatus of claim 12 , wherein the request to reconstruct is received after an unplanned shutdown and device restart.

Assignments (11)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: BATTAJE, AJITH KUMAR; GOEL, TANAY; MISHRA, RAJENDRA PRASAD
To: HGST NETHERLANDS B.V.
Reel/Frame 046420/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046636/0400 →