IP Library Granted Patent US 11,880,603
Granted Patent B2
US 11,880,603 · App. 17/724,725 · Granted Jan 23, 2024

Storage system and method for preserving overwritten data to allow a future rollback

Inventors: Nicholas Thomas (Sunnyvale, CA); Eran Erez (San Jose, CA); Matt Davidson (Mountain View, CA)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/0604G06F3/0679
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,880,603
App. No.
17/724,725
Granted
Jan 23, 2024
Kind
B2
Abstract

A storage system receives a command from a host to overwrite data that is stored in a memory of the storage system. The command may have been issued in error or by malware, so the storage system preserves the data that the host wants to overwrite, just in case the host later wants to recover the data. To do this, the storage system associates the physical address of the location of the memory that stores the data with a logical block address that is inaccessible by the host. To recover the data, the storage system replaces the logical block address that is inaccessible by the host with a logical block address that is accessible by the host.

Claims (41)

1. A storage system comprising:

a memory, wherein a logical block address space of the memory comprises a user space and a snapshot space; and

a controller coupled to the memory and configured to:

receive a command from a host to write data associated with a logical block address in the user space;

determine, from a logical-to-physical address map, whether the logical-to-physical address map contains an entry that associates a physical address with the logical block address;

in response to determining that the logical-to-physical address map does not contain the entry that associates the physical address with the logical block address, write the data in another physical address in the memory and store an entry in the logical-to-physical address map to associate the another physical address with the logical block address; and

in response to determining that the logical-to-physical address map contains the entry that associates the physical address with the logical block address:

assign previously-written data in the physical address to a snapshot logical block address in the snapshot space, and

modify the entry in the logical-to-physical address map to associate the physical address and the snapshot logical block address instead of the logical block address.

2. The storage system of claim 1 , wherein the controller is further configured to use the modified entry in the map to recover previously-written data.

3. The storage system of claim 2 , wherein the controller is further configured to delete the data in response to the previously-written data being recovered.

4. The storage system of claim 2 , wherein recovering the previously-written data returns the storage system to a previous stable state.

5. The storage system of claim 2 , wherein the previously-written data is recovered in response to a command from the host.

6. The storage system of claim 1 , wherein the controller is further configured to dynamically change a size of the user space.

7. The storage system of claim 1 , wherein the controller is further configured to dynamically change a size of the snapshot space.

8. The storage system of claim 1 , wherein the controller is further configured to set a pointer to a current snapshot logical block address in the snapshot space and increment the pointer in response to a new snapshot logical block address being assigned.

9. The storage system of claim 1 , wherein the controller is further configured to remove the association of the physical address and the snapshot logical block address.

10. The storage system of claim 9 , wherein the association is removed in response to available space in the snapshot space falling below a threshold.

11. The storage system of claim 1 , wherein the controller is further configured to modify the entry in the logical-to-physical address map after a garbage collection operation moves the previously-written data.

12. The storage system of claim 1 , wherein the user space is accessible by the host, and wherein the snapshot space is inaccessible by the host.

13. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory.

14. In a storage system comprising a memory, wherein a logical block address space of the memory comprises a user space and a snapshot space, a method comprising:

receiving a command from a host to write data associated with a logical block address in the user space;

determining, from a logical-to-physical address map, whether the logical-to-physical address map contains an entry that associates a physical address with the logical block address;

writing the data in another physical address in the memory and storing an entry in the logical-to-physical address map to associate the another physical address with the logical block address in response to determining that the logical-to-physical address map does not contain the entry that associates the physical address with the logical block address; and

performing the following in response to determining that the logical-to-physical address map contains the entry that associates the physical address with the logical block address:

assigning previously-written data in the physical address to a snapshot logical block address in the snapshot space; and

modifying the entry in the logical-to-physical address map to associate the physical address and the snapshot logical block address instead of the logical block address.

15. The method of claim 14 , further comprising performing a rollback operation.

16. The method of claim 14 , further comprising preserving the previously-written data during a garbage collection operation.

17. The method of claim 16 , further comprising updating the entry in the logical-to-physical address map in response to the garbage collection operation.

18. The method of claim 14 , wherein the user space is accessible by the host, and wherein the snapshot space is inaccessible by the host.

19. The method of claim 14 , further comprising removing the association in response to available space in the memory falling below a threshold.

20. A storage system comprising:

a memory, wherein a logical block address space of the memory comprises a user space and a snapshot space;

means for receiving a command from a host to write data associated with a logical block address in the user space;

means for determining, from a logical-to-physical address map, whether the logical-to-physical address map contains an entry that associates a physical address with the logical block address;

means for writing the data in another physical address in the memory and storing an entry in the logical-to-physical address map to associate the another physical address with the logical block address in response to determining that the logical-to-physical address map does not contain the entry that associates the physical address with the logical block address; and

means for performing the following in response to determining that the logical-to-physical address map contains the entry that associates the physical address with the logical block address:

assigning previously-written data in the physical address to a snapshot logical block address in the snapshot space; and

modifying the entry in the logical-to-physical address map to associate the physical address and the snapshot logical block address instead of the logical block address.

Assignments (8)
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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2022
From: THOMAS, NICHOLAS; EREZ, ERAN; DAVIDSON, MATT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059652/0060 →
Continuity (1)
Related Publication 20230342078A1 · Oct 26, 2023