IP Library › Granted Patent US 12,204,753
Granted Patent B2
US 12,204,753 · App. 17/950,603 · Granted Jan 21, 2025

Unaligned deallocated logical blocks datapath support

Inventor: Shay Benisty (Beer Sheva, IL)
Assignee: Sandisk Technologies, Inc.
G06F3/061G06F3/0652G06F3/0659G06F3/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,204,753
App. No.
17/950,603
Filed
Sep 22, 2022
Granted
Jan 21, 2025
Kind
B2
Examiner
DOAN, HAN V
Art Unit
2136
USPC
711/103
Abstract

The present disclosure generally relates to improved unaligned deallocated logical block transfer. Rather than stalling the data-path in unaligned deallocated LBA scenarios, the data-path will work regularly while ignoring the unaligned deallocated indication. The old and non-valid data received for the unaligned deallocated LBA will be written to the host. The device controller will detect the unaligned deallocated LBA and overwrite the data with other values such as 0's or 1's as specified in the standard. The implementation increases the performance of unaligned deallocated commands and the endurance of the NVM. The implementation also simplifies the logic implemented in the device controller.

Claims (42)

1. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

receive a read command;

read data associated with the read command from the memory device;

send the read data to a host device;

determine that at least some data of the read data is deallocated logical block address (LBA) data;

overwrite the deallocated LBA data in the host device; and

complete the read command, wherein the read data in the memory device has a first granularity and comprises a data packet having a plurality of sectors, wherein the read data sent to the host device has a second granularity that is less than the first granularity, wherein the second granularity is a sector of the plurality of sectors.

2. The data storage device of claim 1 , wherein one or more sectors of the plurality of sectors comprises the deallocated LBA data.

3. The data storage device of claim 2 , wherein the overwriting comprises overwriting one or more sectors.

4. The data storage device of claim 1 , wherein the overwriting comprises writing the deallocated LBA data as all “1's” or all “0's” in the host device.

5. The data storage device of claim 1 , wherein the controller is further configured to receive a command from the host device to deallocate the LBA data.

6. The data storage device of claim 5 , wherein the controller is configured to mark the LBA data as deallocated LBA data and leave the data associated with the read command in the memory device unchanged.

7. The data storage device of claim 1 , wherein sending the read data to the host device comprises sending the deallocated LBA data to the host device.

8. The data storage device of claim 7 , wherein the deallocated LBA data is actual data, and wherein deallocated data is data the host device previously indicated to the controller to be no longer in use.

9. The data storage device of claim 1 , wherein the controller comprises a host interface module (HIM) and wherein the HIM is configured to perform the overwriting.

10. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller comprises:

a host interface module (HIM) configured to be coupled to a host device; and

a flash interface module (FIM) coupled to the memory device, wherein the controller is configured to:

receive a read command from the host device;

read the data from the memory device;

send the data to the host device;

determine that at least one sector of the data is deallocated, uncorrectable, or has a key version mismatch; and

overwrite the at least one sector in the host device, wherein the read data from the memory device has a first granularity and comprises a data packet having a plurality of sectors, wherein the data sent to the host device has a second granularity that is less than the first granularity, wherein the second granularity is a sector of the plurality of sectors.

11. The data storage device of claim 10 , wherein the HIM comprises a data path module and a data overwrite module.

12. The data storage device of claim 11 , wherein the data overwrite module performs the overwrite.

13. The data storage device of claim 11 , wherein the data path module ignores markings of the at least one sector and permits the data to be written to the host device.

14. The data storage device of claim 10 , wherein the overwriting comprises writing data preselected by the host device.

15. The data storage device of claim 10 , wherein the controller is further configured to complete the read command, and wherein completing the command comprises providing an error status to the host device for the at least one sector.

16. The data storage device of claim 10 , wherein the FIM is configured to ignore a deallocation command for the at least one sector.

17. A data storage device, comprising:

memory means; and

a controller coupled to the memory means, wherein the controller is configured to:

retrieve deallocated data from the memory means;

send the deallocated data to a host device; and

overwrite the deallocated data in the host device, wherein the deallocated data corresponds to data having a size of a granularity of the host device and the granularity of the host device is less than a granularity of the memory means, and wherein the deallocated data in the memory means is actual data the host device previously indicated as data that can be erased.

18. The data storage device of claim 17 , wherein the overwriting is performed by a data overwrite module disposed in a host interface module (HIM) of the controller.

19. The data storage device of claim 17 , wherein the deallocated data is unaligned.

20. The data storage device of claim 17 , wherein the controller is configured to detect the deallocated data is unaligned.

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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 062398/0954 →
Continuity (1)
Related Publication 20240103723A1 · Mar 28, 2024
References Cited (9)
US 9367444B2 · Hashimoto · 2016 [cited by applicant]
US 9880770B2 · Zhang et al. · 2018 [cited by applicant]
US 10157012B2 · Kelner et al. · 2018 [cited by applicant]
US 10922242B2 · Lappi et al. · 2021 [cited by applicant]
US 11144453B2 · Nazari et al. · 2021 [cited by applicant]
US 11288204B2 · Gerhart et al. · 2022 [cited by applicant]
US 20210019088A1 · Zhu · 2021 [cited by examiner]
US 20220019383A1 · Zhu et al. · 2022 [cited by applicant]
US 20240069771A1 · Virani · 2024 [cited by examiner]