IP Library Granted Patent US 11,301,168
Granted Patent B2
US 11,301,168 · App. 16/713,620 · Granted Apr 12, 2022

Storage system and method for user-defined data archiving

Inventors: Laxmi Bhoopali (Bangalore, IN); Ramanathan Muthiah (Bangalore, IN); Kshitij Gupta (Uttarpradesh, IN); Niraj Srimal (Marathalli, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/067G06F3/0608G06F3/0611G06F3/0614G06F3/0646G06F11/076G06F11/1451G06F11/1464G06F12/0246G06F12/0253G06F12/0292
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,301,168
App. No.
16/713,620
Granted
Apr 12, 2022
Kind
B2
Abstract

A storage system and method for user-defined data archiving are provided. In one embodiment, the method comprises: receiving a write command from a host; determining whether the storage system received an indicator from the host indicating that data of the write command is archive data; in response to determining that the storage system received the indicator, storing the data in the multi-level memory cells; and in response to determining that the storage system did not receive the indicator, storing the data in the single-level memory cells. Other embodiments are provided.

Claims (37)

1. A method for user-defined data archiving, the method comprising:

performing the following in a storage system comprising a memory, wherein the memory comprises single-level memory cells and multi-level memory cells:

receiving a write command from a host;

determining whether the storage system received an indicator from the host indicating that data of the write command is archive data;

in response to determining that the storage system received the indicator, storing the data in the multi-level memory, cells;

in response to determining that the storage system did not receive the indicator, storing the data in the single-level memory, cells;

storing the indicator in the memory; and

using the stored indicator to determine where to move the data in a garbage collection operation.

2. The method of claim 1 , further comprising using the stored indicator to determine whether the data should be backed up to memory in a network cloud.

3. The method of claim 1 , further comprising in response to determining that the storage system received the indicator, storing the data in a block of multi-level memory cells that has a first program error count (PEC) without first storing it in another block of multi-level memory cells that has a program error count (PEC) lower than the first program error count (PEC).

4. The method of claim 1 , further comprising providing the host with computer-readable program code configured to allow a user to place the data in an archive folder to indicate that the data is archive data.

5. The method of claim 4 , wherein the archive folder is in a root folder of the storage system.

6. The method of claim 4 , wherein the archive folder is in a user-created sub-folder of the storage system.

7. The method of claim 1 , wherein the memory comprises a three-dimensional memory.

8. The method of claim 1 , wherein the storage system is configured to be integrated in the host.

9. The method of claim 1 , wherein the storage system is configured to be removably connected with the host.

10. A storage system comprising:

a memory; and

a controller configured to be in communication with the memory, wherein the controller is further configured to:

receive a write command from a host;

determine whether an archive attribute is present in the write command, wherein the archive attribute indicates that data of the write command was placed by a user into an archive folder in the host; and

route the data to different locations in the memory depending on whether or not the archive attribute is present in the write command;

wherein the archive folder is in a root folder of the storage system or is a user-created sub-folder of the storage system.

11. The storage system of claim 10 , wherein the controller is further configured to route the data to multi-level memory cells in the memory in response to the archive attribute being present in the write command.

12. The storage system of claim 10 , wherein the controller is further configured to store the archive attribute in the memory.

13. The storage system of claim 12 , wherein the controller is further configured to use the stored archive attribute in a garbage collection operation.

14. The storage system of claim 13 , wherein the controller is further configured to store the data in a block of memory cells that has a first program error count (PEC) without first storing it in another block of memory cells that has a program error count (PEC) lower than the first program error count (PEC).

15. The storage system of claim 10 , wherein the controller is further configured to provide the host with computer-readable program code configured to allow a user to place the data in the archive folder.

16. The storage system of claim 10 , wherein the memory comprises a three-dimensional memory.

17. The storage system of claim 10 , wherein the storage system is configured to be integrated in the host.

18. The storage system of claim 10 , wherein the storage system is configured to be removably connected with the host.

19. The storage system of claim 10 , wherein cold storage in the memory comprises multi-level memory cells.

20. A storage system comprising:

a memory;

means for determining whether the storage system received information from a host that indicates that data was placed by a user into an archive folder in the host, wherein the archive folder is in a root folder of the storage system or is a user-created sub-folder of the storage system;

and

means for using the information to determine whether the data should lie backed up to memory in a network cloud.

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 - 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 →
RELEASE OF SECURITY INTEREST AT REEL 052025 FRAME 0088 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0699 →
SECURITY INTEREST Recorded Feb 26, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052025/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2019
From: BHOOPALI, LAXMI; MUTHIAH, RAMANATHAN; GUPTA, KSHITIJ; SRIMAL, NIRAJ
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051276/0942 →