IP Library Granted Patent US 12,619,528
Granted Patent B2
US 12,619,528 · App. 18/416,329 · Granted May 5, 2026

Data storage device and method for configuring a memory to write a requested amount of data over the memory's lifetime

Inventors: Ramanathan Muthiah (Bangalore, IN); Narendhiran Chinnaanangur Ravimohan (Bangalore, IN); Ramkumar Ramamurthy (Bangalore, IN)
Assignee: Sandisk Technologies, Inc.
G06F12/0246
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,619,528
App. No.
18/416,329
Granted
May 5, 2026
Kind
B2
Abstract

A data storage device is provided comprising a memory and one or more processors. The memory comprises a plurality of blocks, wherein each block is configurable as a single-level cell (SLC) block or as a multi-level cell (MLC) block. The one or more processors, individually or in combination, are configured to: receive a request from a host, wherein the request indicates a total amount of data to be written in the memory during a lifetime of the memory; determine a first number of blocks of the plurality of blocks to configure as SLC blocks and a second number of blocks of the plurality of blocks to configure as MLC blocks in order to attempt to satisfy the request; configure the first number of blocks as SLC blocks; and configure the second number of blocks as MLC blocks. Other embodiments are provided.

Claims (42)

1 . A data storage device comprising:

a memory comprising a plurality of blocks, wherein each block is configurable as a single-level cell (SLC) block or as a multi-level cell (MLC) block, wherein a total amount of data that can be written in the memory during a lifetime of the memory is based on a capacity of each of the plurality of blocks and a number of program/erase cycles that each of the plurality of blocks can endure, and wherein an MLC block comprises a higher capacity but can endure fewer program/erase cycles as compared to an SLC block; and

one or more processors, individually or in combination, configured to:

receive a request from a host, wherein the request indicates a requested total amount of data to be written in the memory during the lifetime of the memory, wherein the requested total amount of data to be written in the memory during the lifetime of the memory is different from the number of program/erase cycles that each of the plurality of blocks can endure;

determine a first number of blocks of the plurality of blocks to configure as SLC blocks and a second number of blocks of the plurality of blocks to configure as MLC blocks in order to attempt to satisfy the request, wherein increasing the first number of blocks increases the total amount of data that can be written in the memory during the lifetime of the memory but decreases a total capacity of the memory;

configure the first number of blocks as SLC blocks; and

configure the second number of blocks as MLC blocks.

2 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to:

determine a memory capacity resulting from the first number of blocks being configured as SLC blocks and the second number of blocks being configured as MLC blocks; and

inform the host of the determined memory capacity.

3 . The data storage device of claim 2 , wherein the first number of blocks are configured as SLC blocks and the second number of blocks are configured as MLC blocks in response to receiving approval from the host of the determined memory capacity.

4 . The data storage device of claim 2 , wherein the one or more processors, individually or in combination, are further configured to:

receive a file system update request from the host; and

in response to receiving a file system update request from the host, designate the data storage device as having the determining memory capacity.

5 . The data storage device of claim 1 , wherein the first and second numbers are determined using a data structure that associates a plurality of total amounts of data to be written in the memory during the lifetime of the memory with a plurality of capacities of the memory.

6 . The data storage device of claim 5 , wherein the one or more processors, individually or in combination, are further configured to:

dynamically populate the data structure based on SLC block size, MLC block size, SLC block endurance, and MLC block endurance.

7 . The data storage device of claim 1 , wherein the request from the host comprises a selection of one of a plurality of options.

8 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to:

use block health metrics in determining the first and second numbers.

9 . The data storage device of claim 1 , wherein the requested total amount of data is directly expressed in the request from the host.

10 . The data storage device of claim 1 , wherein the requested total amount of data is indirectly expressed in the request from the host.

11 . The data storage device of claim 10 , wherein the requested total amount of data is indirectly expressed using a configuration scale.

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

13 . A method comprising:

performing in a data storage device comprising a memory comprising a plurality of memory areas, each memory area being configurable as a single-level cell (SLC) memory area or as a multi-level cell (MLC) memory area:

receiving, from a host, an indication of an amount of data to be stored in the memory over a plurality of write cycles;

determining a ratio of SLC-to-MLC memory areas to attempt to store the indicated amount of data in the memory over the plurality of write cycles, wherein increasing the ratio of SLC-to-MLC memory areas increases a total amount of data that can be stored in the memory over the plurality of write cycles but decreases a total capacity of the memory, and wherein the total amount of data that can be stored in the memory over the plurality of write cycles is different from a number of write cycles that each of the plurality of memory areas can endure; and

configuring the memory according to the determined ratio of SLC-to-MLC memory areas.

14 . The method of claim 13 , wherein the ratio of SLC-to-MLC memory areas is determined using a data structure that associates a plurality of amounts of data with a plurality of capacities of the memory.

15 . The method of claim 14 , further comprising dynamically populating the data structure based on SLC memory area size, MLC memory area size, SLC memory area endurance, and MLC memory area endurance.

16 . The method of claim 13 , further comprising:

determining a memory capacity resulting from the determined ratio of SLC-to-MLC memory areas; and

informing the host of the determined memory capacity.

17 . The method of claim 16 , wherein the memory is configured according to the determined ratio of SLC-to-MLC memory areas in response to receiving approval from the host of the determined memory capacity.

18 . The method of claim 16 , further comprising:

receiving a file system update request from the host; and

in response to receiving a file system update request from the host, designating the data storage device as having the determining memory capacity.

19 . The method of claim 13 , wherein the indication is expressed using a configuration scale.

20 . A data storage device comprising:

a memory comprising a plurality of blocks, wherein each block is configurable as a single-level cell (SLC) block or as a multi-level cell (MLC) block, wherein a total amount of data that can be written in the memory is based on a capacity of each of the plurality of blocks and a number of program/erase cycles that each of the plurality of blocks can endure, and wherein an MLC block comprises a higher capacity but can endure fewer program/erase cycles as compared to an SLC block; and

means for dynamically negotiating, with a host, a configuration of the memory that trades-off the total amount of data that can be written in the memory with a total capacity of the memory, wherein increasing a number of blocks that are configured as SLC blocks increases the total amount of data that can be written in the memory but decreases the total capacity of the memory, wherein the total amount of data that can be written in the memory is different from the number of program/erase cycles that each of the plurality of blocks can endure.

Assignments (9)
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 (AR) Recorded May 15, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 067417/0329 →
PATENT COLLATERAL AGREEMENT (AR) Recorded Feb 22, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 066648/0284 →
PATENT COLLATERAL AGREEMENT (DDTL) Recorded Feb 22, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 066648/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2024
From: MUTHIAH, RAMANATHAN; RAVIMOHAN, NARENDHIRAN CHINNAANANGUR; RAMAMURTHY, RAMKUMAR
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 066170/0423 →
Continuity (1)
Related Publication 20250238361A1 · Jul 24, 2025
References Cited (23)
US 9135190B1 · Bruce et al. · 2015 [cited by applicant]
US 9977628B2 · Kochar et al. · 2018 [cited by applicant]
US 10908844B2 · Muthiah · 2021 [cited by applicant]
US 11379031B2 · Navon et al. · 2022 [cited by applicant]
US 20060282610A1 · Dariel et al. · 2006 [cited by applicant]
US 20090276570A1 · Cheng et al. · 2009 [cited by applicant]
US 20130138870A1 · Yoon et al. · 2013 [cited by applicant]
US 20180293003A1 · Muchherla · 2018 [cited by examiner]
US 20190377681A1 · Hodes · 2019 [cited by examiner]
US 20200401332A1 · Ravimohan · 2020 [cited by examiner]
US 20200401514A1 · Liang · 2020 [cited by examiner]
US 20210073119A1 · Amaki · 2021 [cited by examiner]
US 20210141553A1 · Yoo · 2021 [cited by examiner]
US 20210342263A1 · He et al. · 2021 [cited by applicant]
US 20230205459A1 · Huang · 2023 [cited by examiner]
US 20230251914A1 · Chamberlin · 2023 [cited by examiner]
US 20230384975A1 · Bordia et al. · 2023 [cited by applicant]
US 20240201892A1 · Wu · 2024 [cited by examiner]
US 20250013368A1 · Hubbard · 2025 [cited by examiner]
U.S. Appl. No. 18/448,887, filed Aug. 11, 2023 entitled “Selectable Performance Boost for Storage Devices.” [cited by applicant]
International Search Report mailed May 8, 2025 for International Application No. PCT/US2025/010805. [cited by applicant]
Written Opinion mailed May 8, 2025 for International Application No. PCT/US2025/010805. [cited by applicant]
Search Strategy completed May 8, 2025 for International Application No. PCT/US2025/010805. [cited by applicant]