IP Library Granted Patent US 12,271,300
Granted Patent B2
US 12,271,300 · App. 18/226,347 · Granted Apr 8, 2025

Data storage device and method for performing an action on an area of memory to satisfy a host-provided target operating condition

Inventors: Eyal Hamo (Naharia, IL); Sagi Taragan (Ramat Ishay, IL); Dvorah Freedman (Jerusalem, IL)
Assignee: Sandisk Technologies, Inc.
G06F12/0238
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 12,271,300
App. No.
18/226,347
Granted
Apr 8, 2025
Kind
B2
Abstract

A data storage device and method are provided for performing an action on an area of memory to satisfy a host-provided target operating condition. In one embodiment, a controller of the data storage device is configured to: receive, from a host, an identification of an area of the memory and a target operating condition for the area of the memory; monitor the area of the memory to determine whether the area of the memory satisfies the target operating condition; and in response to determining that the area of the memory does not satisfy the target operating condition, perform an action on the area of the memory to attempt to cause the area of the memory to satisfy the target operating condition. Other embodiments are provided, and each of the embodiments can be used alone or in combination.

Claims (44)

1. A data storage device comprising:

a memory; and

a processor configured to communicate with the memory and further configured to:

receive, from a host, an identification of a first area of the memory and a first target operating condition for the first area of the memory;

receive, from the host, an identification of a second area of the memory and a second target operating condition for the second area of the memory, wherein the second target operating condition is different from the first target operating condition;

monitor the first and second areas of the memory to determine whether the first and second areas of the memory satisfy the first and second target operating conditions, respectively;

in response to determining that the first area of the memory does not satisfy the first target operating condition, perform a first action on the first area of the memory to attempt to cause the first area of the memory to satisfy the first target operating condition; and

in response to determining that the second area of the memory does not satisfy the second target operating condition, perform a second action on the second area of the memory to attempt to cause second first area of the memory to satisfy the second target operating condition, wherein the second action is different from the first action.

2. The data storage device of claim 1 , wherein the first action is automatically performed in response to determining that the first area of the memory does not satisfy the first target operating condition.

3. The data storage device of claim 1 , wherein:

the processor is further configured to inform the host that the first area of the memory does not satisfy the first target operating condition; and

the first action is performed in response to receiving a command from the host to perform the first action.

4. The data storage device of claim 1 , wherein the first target operating condition comprises latency, reliability, efficiency, performance, and/or power consumption.

5. The data storage device of claim 1 , wherein the first action comprises a host-initiated defragmentation operation.

6. The data storage device of claim 1 , wherein the first action comprises a file-based optimization operation.

7. The data storage device of claim 1 , wherein the first action comprises a host memory refresh operation.

8. The data storage device of claim 1 , wherein the first action comprises moving data from a single-level cell (SLC) block to a multi-level cell (MLC) block.

9. The data storage device of claim 1 , wherein the first action comprises updating a read threshold.

10. The data storage device of claim 1 , wherein the first action comprises caching a part of a logical-to-physical address table.

11. The data storage device of claim 1 , wherein the memory comprises a three-dimensional memory array.

12. A method comprising:

performing in a data storage device comprising a memory:

receiving, from a host, a first logical block address (LBA) range and a first target operating condition;

receiving, from the host, a second LBA range and a second target operating condition, wherein the second target operating condition is different from the first target operating condition;

determining whether the first LBA range satisfies the first target operating condition;

in response to determining that the first LBA range memory does not satisfy the first target operating condition, performing a first action on the first LBA range to attempt to cause the first LBA range to satisfy the first target operating condition:

determining whether the second LBA range satisfies the second target operating condition; and

in response to determining that the second LBA range memory does not satisfy the first target operating condition, performing a second action on the second LBA range to attempt to cause the second LBA range to satisfy the second target operating condition, wherein the second action is different from the first action.

13. The method of claim 12 , further comprising:

receiving, from the host, a mode of work that specifies whether the first action should be performed automatically or in response to a command from the host.

14. The method of claim 12 , wherein the first target operating condition comprises latency.

15. The method of claim 12 , wherein the first target operating condition comprises reliability.

16. The method of claim 12 , wherein the first target operating condition comprises efficiency.

17. The method of claim 12 , wherein the first target operating condition comprises performance.

18. The method of claim 12 , wherein the first target operating condition comprises power consumption.

19. The method of claim 12 , wherein the first action comprises a host-initiated defragmentation operation, a file-based optimization operation, a host memory refresh operation, moving data from a single-level cell (SLC) block to a multi-level cell (MLC) block, updating a read threshold, and/or caching a part of a logical-to-physical address table.

20. A data storage device comprising:

a memory; and

means for:

receiving, from a host, an identification of a first area of the memory and a first target operating condition for the first area of the memory;

receiving, from the host, an identification of a second area of the memory and a second target operating condition for the second area of the memory, wherein the second target operating condition is different from the first target operating condition;

monitoring the first and second areas of the memory to determine whether the first and second areas of the memory satisfy the first and second target operating conditions, respectively;

in response to determining that the first area of the memory does not satisfy the first target operating condition, performing a first action on the first area of the memory to attempt to cause the first area of the memory to satisfy the first target operating condition; and

in response to determining that the second area of the memory does not satisfy the second target operating condition, performing a second action on the second area of the memory to attempt to cause second first area of the memory to satisfy the second target operating condition, wherein the second action is different from the first action.

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 Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065657/0158 →
PATENT COLLATERAL AGREEMENT- A&R Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065656/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2023
From: HAMO, EYAL; TARAGAN, SAGI; FREEDMAN, DVORAH
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 064390/0494 →
Continuity (2)
Provisional Application 63471403 · Jun 6, 2023
Related Publication 20240411684A1 · Dec 12, 2024
References Cited (29)
US 8289797B2 · Jain et al. · 2012 [cited by applicant]
US 8341497B2 · Fukutomi et al. · 2012 [cited by applicant]
US 8601204B2 · Rajan et al. · 2013 [cited by applicant]
US 8705307B2 · Henderson et al. · 2014 [cited by applicant]
US 10665273B2 · Kim et al. · 2020 [cited by applicant]
US 10802911B2 · Shulkin et al. · 2020 [cited by applicant]
US 10996863B1 · Kuzmin et al. · 2021 [cited by applicant]
US 11188268B1 · Sharon et al. · 2021 [cited by applicant]
US 20110093726A1 · Worthington et al. · 2011 [cited by applicant]
US 20120166828A1 · Maroney · 2012 [cited by examiner]
US 20140059287A1 · Bains et al. · 2014 [cited by applicant]
US 20140085999A1 · Kang · 2014 [cited by applicant]
US 20140229774A1 · Melik-Martirosian · 2014 [cited by examiner]
US 20180024920A1 · Thomas et al. · 2018 [cited by applicant]
US 20180025772A1 · Lee et al. · 2018 [cited by applicant]
US 20180374546A1 · Shi et al. · 2018 [cited by applicant]
US 20200042207A1 · Kwak et al. · 2020 [cited by applicant]
US 20200089410A1 · Park et al. · 2020 [cited by applicant]
US 20210182166A1 · Hahn et al. · 2021 [cited by applicant]
US 20220189535A1 · Kim · 2022 [cited by applicant]
US 20240078022A1 · Zhou · 2024 [cited by examiner]
CN 114492269A · 2022 [cited by applicant]
WO WO2022072993A1 · 2022 [cited by applicant]
International Search Report and Written Opinion mailed May 17, 2024 from PCT/US2024/011245. [cited by applicant]
“HMR: Add support for the new command type”; beanhuo/ufs-utils-Micron; Dec. 9, 2019; 3 pages. [cited by applicant]
“Data scrubbing”; Wikipedia article; Wikipedia—The Free Encyclopedia; downloaded from the Internet on Jul. 24, 2023 at https://en/wikipedia.org/wiki/Data_scrubbing; Apr. 10, 2022; 5 pages. [cited by applicant]
“Integrated UFS4.0 Specification”; JEDEC Committee Letter Ballot, Item JC64.1 #139.55; JEDEC; Feb. 9, 2022; 495 pages. [cited by applicant]
“nvme-get-lba-status—Get LBA Status from NVMe device”; NVME program user space utility for NVME Manuel, version 2.5-1; downloaded from the Internet on Jul. 24, 2023 at nvme-get-lba-status(1)—Arch manual pages (archlinux… [cited by applicant]
“nvme-get-lba-status—Get LBA Status from NVMe device”; NVME program user space utility; 22.044 LTS; downloaded from the Internet on Jul. 24, 2023 at Ubuntu Manpage: nvme-get-lba-status—Get LBA Status from NVMe device; U… [cited by applicant]