IP Library Granted Patent US 12,307,133
Granted Patent B1
US 12,307,133 · App. 18/589,138 · Granted May 20, 2025

Deterministic resizing of unmap commands

Inventors: Venkatesh Naidu Pamoti (Bangalore, IN); Sowjanya Sunkavelli (Bengaluru, IN); Dheemahi Turaga (Bengaluru, IN); Raju Singh (Bengaluru, IN)
Assignee: Sandisk Technologies, Inc.
G06F3/0659G06F3/0611G06F3/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 12,307,133
App. No.
18/589,138
Granted
May 20, 2025
Kind
B1
Abstract

A data storage device includes an unmap command analysis system that dynamically determines a size, or a LBA range, of an unmap command executed on the data storage device. The size of the unmap command is based, at least in part, on an amount of random data stored by the data storage device. The unmap command analysis system determines whether to check the amount of random data stored by the data storage device in response to a trigger event. When the trigger event is detected and the amount of random data is determined, the unmap command analysis system compares the amount of random data to information in an unmap command size table. The unmap command size table indicates which unmap command sizes are most efficient based on the determined amount of random data stored by the data storage device.

Claims (37)

1. A method, comprising:

performing a first unmap command on a first range of logical block addresses (LBAs) of a memory device using a first unmap command size, the first unmap command size being associated with a first amount of random data stored in the memory device;

determining a current amount of random data in the memory device;

determining whether the current amount of random data in the memory device is associated with a second unmap command size that is different than the first unmap command size; and

based, at least in part, on determining the current amount of random data in the memory device is associated with the second unmap command size, performing a second unmap command on a second range of LBAs using the second unmap command size.

2. The method of claim 1 , further comprising providing a notification to a host device that a size of unmap commands has changed from the first unmap command size to the second unmap command size.

3. The method of claim 1 , wherein the current amount of random data in the memory device is determined in response to a threshold number of commands having been executed.

4. The method of claim 3 , wherein the threshold number of commands are selected from a group of commands comprising at least one of:

a write command; and

an unmap command.

5. The method of claim 1 , wherein the current amount of random data in the memory device is determined in response to the memory device having a threshold amount of available idle time.

6. The method of claim 1 , wherein determining whether the current amount of random data in the memory device is associated with the second unmap command size that is different than the first unmap command size comprises:

comparing the current amount of random data to an unmap command size table stored by the memory device, the unmap command size table specifying unmap command sizes for a plurality of unmap commands based, at least in part, on an amount of random data stored by the memory device; and

determining whether the current amount of random data is associated with the second unmap command size or the first unmap command size.

7. The method of claim 6 , wherein the unmap command size table is populated during configuration of the memory device.

8. The method of claim 1 , wherein the first unmap command size is a predetermined size.

9. A data storage device, comprising:

a controller operable to:

determine an amount of random data stored in the data storage device;

compare the amount of random data stored in the data storage device to information stored by an unmap command size table; and

set an unmap command size of an unmap command based, at least in part, on the information stored by the unmap command size table.

10. The data storage device of claim 9 , wherein the controller is further operable to request, from a host device, an unmap command size change request.

11. The data storage device of claim 10 , wherein the controller is further operable to provide the unmap command size of the unmap command to the host device in response to receiving the unmap command size change request.

12. The data storage device of claim 9 , wherein the amount of random data in the data storage device is determined when a threshold number of commands have been executed.

13. The data storage device of claim 9 , wherein the amount of random data in the data storage device is determined when the data storage device has a threshold amount of available idle time.

14. The data storage device of claim 9 , wherein the controller compares the amount of random data stored in the data storage device to the information stored by the unmap command size table when a change in the amount of random data stored by the data storage device exceeds a threshold.

15. The data storage device of claim 14 , wherein the controller is further operable to:

compare a current amount of random data stored by the data storage device to a previously determined amount of random data storage by the data storage device; and

determine, based at least in part on the comparison, whether the change in the amount of random data stored by the data storage device exceeds the threshold.

16. The data storage device of claim 9 , wherein the unmap command size table is populated during configuration of the data storage device.

17. A data storage device, comprising:

means for determining an amount of random data stored in the data storage device;

means for comparing the amount of random data stored in the data storage device to unmap command size information; and

means for configuring an unmap command size for an unmap command based, at least in part, on the information associated with the unmap command size information.

18. The data storage device of claim 17 , further comprising means for requesting, from a host device, an unmap command size change request.

19. The data storage device of claim 18 , further comprising means for providing the unmap command size of the unmap command to the host device in response to receiving the unmap command size change request.

20. The data storage device of claim 17 , wherein the amount of random data in the data storage device is determined when a threshold number of commands have been executed.

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 Mar 4, 2024
From: PAMOTI, VENKATESH NAIDU; SUNKAVELLI, SOWJANYA; TURAGA, DHEEMAHI; SINGH, RAJU
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 066634/0098 →
References Cited (1)
US 20190303285A1 · Park · 2019 [cited by examiner]