IP Library Granted Patent US 12,099,750
Granted Patent B2
US 12,099,750 · App. 17/865,641 · Granted Sep 24, 2024

Management of host file-system defragmentation in a data storage device

Inventors: Judah Gamliel Hahn (Ofra, IL); Ramanathan Muthiah (Bangalore, IN); Bala Siva Kumar Narala (Kakinada, IN); Narendhiran Chinnaanangur Ravimohan (Bangalore, IN)
Assignee: Sandisk Technologies, Inc.
G06F3/0659G06F3/0604G06F12/0253G06F3/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,099,750
App. No.
17/865,641
Granted
Sep 24, 2024
Kind
B2
Abstract

A data storage device having a flash translation layer configured to handle file-system defragmentation in a manner that avoids, reduces, and/or optimizes physical data movement in flash memory. In an example embodiment, the memory controller maintains in a volatile memory thereof a lookaside table that supplants pertinent portions of the logical-to-physical table. Entries of the lookaside table are configured to track source and destination addresses of the host defragmentation requests and are logically linked to the corresponding entries of the logical-to-physical table such that end-to-end data protection including the use of logical-address tags to the user data can be supported by logical means and without physical data rearrangement in the flash memory. In some embodiments, physical data rearrangement corresponding to the file-system defragmentation is performed in the flash memory in response to certain trigger events, which can improve the input/output performance of the data-storage device.

Claims (46)

1. A data storage device, comprising:

a non-volatile memory to store data;

a second memory to store a logical-to-physical (L2P) table and a lookaside table; and

a controller coupled to the non-volatile memory and the second memory and configured to:

in response to a defragmentation host command having a source logical address and a destination logical address, update the lookaside table with a table entry having the source logical address in a source logical address field and the destination logical address in a destination logical address field;

logically link the table entry of the lookaside table and a corresponding entry of the L2P table;

access the lookaside table and the L2P table to control a memory operation on the data in the non-volatile memory, the memory operation being for a corresponding logical address; and

determine whether the corresponding logical address is in the destination logical address field of the table entry.

2. The data storage device of claim 1 , wherein the memory operation is performed in response to a second host command, the second host command being a read command for the destination logical address.

3. The data storage device of claim 1 , wherein the memory operation is performed in response to a second host command, the second host command being a write command for the source logical address.

4. The data storage device of claim 1 , wherein the memory operation is garbage collection in the non-volatile memory.

5. The data storage device of claim 1 ,

wherein the data storage device is configured for end-to-end data protection using at least logical-address tags to the data; and

wherein the non-volatile memory has stored therein a section of the data tagged with the source logical address.

6. The data storage device of claim 2 , wherein, in response to the read command for the destination logical address, the controller is configured to:

fetch a physical address from the corresponding entry of the L2P table; and

route the host read operation to the physical address.

7. A method performed by a data storage device that receives commands from a host device, the method comprising:

updating, with a controller, a lookaside table with a table entry having a source logical address in a source logical address field and a destination logical address in a destination logical address field in response to a defragmentation host command having the source logical address and the destination logical address, the lookaside table being stored in a control-data memory of the data storage device;

logically linking, with the controller, the table entry of the lookaside table and a corresponding entry of a logical-to-physical (L2P) table stored in the control-data memory;

accessing, with the controller, the lookaside table and the L2P table to control a memory operation on data stored in a non-volatile memory of the data storage device, the memory operation being for a corresponding logical address; and

determining, with the controller, whether the corresponding logical address is in the destination logical address field of the table entry.

8. The method of claim 7 , wherein the memory operation is performed in response to a second host command, the second host command being a read command for the destination logical address or a write command for the source logical address.

9. The method of claim 7 , wherein the memory operation is garbage collection in the non-volatile memory.

10. The method of claim 7 ,

wherein the data storage device is configured for end-to-end data protection using at least logical-address tags to the data; and

wherein the non-volatile memory has stored therein a section of the data tagged with the source logical address.

11. The method of claim 8 , further comprising:

in response to the read command for the destination logical address,

fetching, with the controller, a physical address from the corresponding entry of the L2P table; and

routing, with the controller, the host read operation to the physical address.

12. The method of claim 7 , further comprising:

in response to a trigger event, causing, with the controller, the non-volatile memory to generate, at a different physical address in the non-volatile memory, a copy of a section of the data located in the non-volatile memory at a physical address associated in the L2P table with the source logical address.

13. The method of claim 7 , further comprising:

when the corresponding logical address is found in the destination logical address field, fetching, with the controller, a physical address from the corresponding entry of the L2P table; and

routing, with the controller, the memory operation to the physical address.

14. The method of claim 7 , further comprising:

when the corresponding logical address is not found in destination logical address fields of the lookaside table, searching, with the controller, for the corresponding logical address in the L2P table;

fetching, with the controller, a physical address from an entry of the L2P table associated with the corresponding logical address; and

routing, with the controller, the memory operation to the physical address.

15. The method of claim 7 , further comprising configuring the controller to treat entries of the lookaside table as superseding the logically linked corresponding entries of the L2P-table.

16. The data storage device of claim 1 , wherein, in response to a trigger event, the controller is further configured to cause the non-volatile memory to generate, at a different physical address in the non-volatile memory, a copy of a section of the data located in the non-volatile memory at a physical address associated in the L2P table with the source logical address.

17. The data storage device of claim 16 , wherein the controller is further configured to update the L2P table to have an entry therein corresponding to the copy.

18. The data storage device of claim 16 , wherein the controller is further configured to delete the table entry in the lookaside table.

19. The data storage device of claim 16 , wherein the trigger event is later in time than the first defragmentation host command.

20. The method of claim 12 , further comprising: updating, with the controller, the L2P table to have an entry therein corresponding to the copy; and deleting, with the controller, the table entry in the lookaside table; and wherein the trigger event is later in time than the first defragmentation host command.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2022
From: HAHN, JUDAH GAMLIEL; MUTHIAH, RAMANATHAN; CHINNAANANGUR RAVIMOHAN, NARENDHIRAN; NARALA, BALA SIVA KUMAR
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060518/0976 →