IP Library Granted Patent US 11,640,371
Granted Patent B2
US 11,640,371 · App. 16/817,264 · Granted May 2, 2023

Snapshot management in partitioned storage

Inventors: Shay Benisty (Beer Sheva, IL); Judah Gamliel Hahn (Ofra, IL); Ariel Navon (Revava, IL)
Assignee: Western Digital Technologies, Inc.
G06F16/128G06F9/30047G06F9/5011G06F12/0246G06F16/1734G06F16/182
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,640,371
App. No.
16/817,264
Granted
May 2, 2023
Kind
B2
Abstract

The present disclosure generally relates to a storage snapshot management system. When updated data is written to the memory device, rather than rewriting all of the data, only the updated data is written to a new namespace. A snapshot of the new namespace indicates which LBAs in the new namespace contain data. New namespaces are added each time data is updated. When the updated data is to be read, the data storage device reads the updated LBA from the new namespace, and also gathers the non-updated data from the previous namespace. Eventually, the number of namespaces for the data reaches a threshold, and thus some namespaces need to be evicted. To evict a namespace, the updated data in the namespace is moved to a different namespace, or the non-updated data is moved to a namespace that contains updated data. In either case, the now unused namespaces are evicted.

Claims (35)

1. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

receive a write command to program data to a specific namespace ID (NSID);

determine that the write command is associated with an update to a base snapshot version, wherein logical block addresses (LBAs) of the base snapshot version are stored in a first snapshot of a snapshot management table;

allocate a memory block of the memory device;

update a second snapshot of the snapshot management table, wherein the second snapshot consists of updated LBAs corresponding to the update;

write the data associated with the write command to the allocated block;

determine whether a total number of snapshots associated with the specific NSID exceeds a threshold number of snapshots; and

evict a predetermined number of consecutive snapshots concurrently in a snapshot eviction process when the total number of snapshots associated with the specific NSID exceeds the threshold number of snapshots, wherein the evicting occurs to either a beginning of a snapshot array comprising the total number of snapshots or an end of the snapshot array.

2. The data storage device of claim 1 , wherein the controller includes a snapshot management device.

3. The data storage device of claim 2 , wherein the snapshot management device allocates the memory block, updates the snapshot management table, and writes the data associated with the write command to the allocated block.

4. The data storage device of claim 1 , wherein the data that is written to the allocated block is associated with the updated LBAs of the second snapshot.

5. The data storage device of claim 4 , wherein base data that is not changed remains in a previous snapshot version.

6. The data storage device of claim 1 , wherein the controller is further configured to, upon determining that the write command is associated with the update to the base snapshot version, not initialize the base snapshot version.

7. The data storage device of claim 1 , wherein the controller is further configured to write one or more LBAs associated with an evicted snapshot to an adjacent snapshot during the snapshot eviction process, wherein the adjacent snapshot is sequential to the evicted snapshot, and wherein the adjacent snapshot is not evicted.

8. The data storage device of claim 1 , wherein the controller is further configured to update pointers in the snapshot management table to point to the base snapshot version.

9. The data storage device of claim 1 , wherein each snapshot of the snapshot management table contains information regarding one or more updated LBAs for each version of the specific NSID.

10. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

receive a setting of a required snapshot number (RSN) for a namespace, wherein the required RSN is a minimum number of supported previous versions of snapshots for the namespace;

receive a snapshot update delta (SUD), wherein the SUD is a number of snapshot versions of the namespace to be evicted concurrently during a snapshot version eviction process;

set a counter equal to 0;

receive data associated with the namespace;

update a most recently updated snapshot version for the received data associated with the namespace;

increase the counter by 1 when the most recently updated snapshot version is updated;

determine whether the counter exceeds RSN+SUD; and

evict one or more consecutive snapshot versions, based on the SUD, when the counter exceeds RSN+SUD, wherein the evicting occurs to either a beginning of a snapshot array comprising each snapshot version of the namespace or an end of the snapshot array.

11. The data storage device of claim 10 , wherein the one or more snapshot versions are evicted starting either from:

a base snapshot version of the namespace, wherein the base snapshot version is a first snapshot version of the namespace; or

the most recently updated snapshot version of the namespace, wherein the most recently updated snapshot version is a last snapshot version of the namespace.

12. The data storage device of claim 11 , wherein the controller is further configured to, after evicting the one or more snapshot versions, repeat the receiving a version update for data, increasing the counter by 1, and determining whether the counter exceeds RSN+SUD.

13. The data storage device of claim 10 , wherein the controller is further configured to, after determining that the counter does not exceed RSN+SUD, repeat the receiving a version update for data, increasing the counter by 1, and determining whether the counter exceeds RSN+SUD.

14. The data storage device of claim 10 , wherein the controller is configured to set a new base snapshot version for the namespace after the one or more snapshot versions has been evicted from the namespace, and wherein the new base snapshot version is associated with a least recent update of the namespace.

Assignments (10)
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 053482 FRAME 0453 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0279 →
SECURITY INTEREST Recorded May 14, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053482/0453 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2020
From: BENISTY, SHAY; HAHN, JUDAH GAMLIEL; NAVON, ARIEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052102/0105 →