IP Library Patent Application 18442624
Patent Application
App. No. 18/442,624

Data Storage Device and Method for Using an Adaptive, Configurable Storage Indirection Unit

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 None
App. No.
18/442,624
Abstract

A data storage device and method for using an adaptive, configurable storage indirection unit are disclosed. In one embodiment, a data storage device is provided comprising a memory and one or more processors. The one or more processors, individually or in combination, are configured to: receive, from a host, a request to change a size of an indirection unit for at least a part of the memory; and in response to receiving the request, change the size of the indirection unit for the at least the part of the memory. Other embodiments are disclosed.

Claims (47)

1 . A data storage device comprising:

a memory; and

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

receive, from a host, a request to change a size of an indirection unit for at least a part of the memory; and

in response to receiving the request, change the size of the indirection unit for the at least the part of the memory.

2 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to use different indirection units in different parts of the memory at a given time.

3 . The data storage device of claim 1 , wherein the at least the part of the memory comprises a namespace.

4 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to provide the host with a plurality of sizes of the indirection unit for selection.

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

changing the size of the indirection unit increases a size of a logical-to-physical address map; and

the one or more processors, individually or in combination, are further configured to track the size of the logical-to-physical address map and prevent the size of the logical-to-physical address map from exceeding a limit.

6 . The data storage device of claim 1 , wherein the size of the indirection unit for the at least the part of the memory is constrained by an amount of volatile memory available to store a logical-to-physical address map.

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

read at least a portion of a logical-to-physical address map; and

store the at least a portion of a logical-to-physical address map in volatile memory in the data storage device and/or in volatile memory in the host.

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

store at least a portion of a logical-to-physical address map in volatile memory;

determine whether all of a plurality of namespaces have been allocated;

in response to determining that all of the plurality of namespaces have been allocated, allocate remaining volatile memory for use by the one or more processors; and

in response to determining that all of the plurality of namespaces have not been allocated, allocate an indirection unit for a next namespace, considering at least one of a remaining size of the volatile memory, a namespace type, and/or remaining namespace(s).

9 . The data storage device of claim 1 , wherein the indirection unit comprises a minimal recommended write unit size.

10 . The data storage device of claim 1 , wherein different sizes of indirection units are used for logs and host data.

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

12 . A method comprising:

performing in a data storage device comprising a memory:

providing a host with a plurality of choices for a definition of an amount of data written to or read from a logical address in at least a part of the memory;

receiving, from the host, a selection of one of the plurality of choices; and

in response to receiving the selection, changing the definition of the amount of data based on the selection.

13 . The method of claim 12 , further comprising:

after the definition of the amount of data has been changed, updating the plurality of choices based, at least in part, on availability of volatile memory in the data storage device and/or host to store at least a portion of a logical-to-physical address map.

14 . The method of claim 12 , further comprising:

performing a loop in which a definition of an amount of data written to or read from a logical address in each of a plurality of other parts of the memory is changed, wherein the definitions of the amounts of data for the plurality of other parts of the memory are each determined based on an amount of volatile memory available to store at least a part of a logical-to-physical address map.

15 . The method of claim 12 , further comprising:

after the definition of the amount of data has been changed:

storing at least a portion of a logical-to-physical address map in volatile memory, wherein a size of the at least the portion of the logical-to-physical address map depends on the definition of the amount of data; and

using remaining space in the volatile memory for storing data other than the portions of the logical-to-physical address map.

16 . The method of claim 12 , wherein the amount of data written to or read from the logical address comprises an indirection unit.

17 . The method of claim 16 , wherein the indirection unit comprises a minimal recommended write unit size.

18 . The method of claim 16 , further comprising using different sizes of indirection units are for logs and host data.

19 . The method of claim 12 , further comprising:

allocating volatile memory;

generating an estimate of an amount of volatile memory needed to store at least a portion of a logical-to-physical address map;

re-allocating the volatile memory based on the estimate; and

allowing remaining space in the volatile memory to be used for a purpose other than logical-to-physical address-map storage.

20 . A data storage device comprising:

a memory; and

means for re-configuring a size of a storage indirection unit after production of the data storage device, wherein the size of the storage indirection unit is not hard-coded in the data storage device.

Assignments (7)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2024
From: HODES, AVICHAY; HAHN, JUDAH GAMLIEL; BAZARSKY, ALEXANDER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 066483/0112 →