IP Library Granted Patent US 11,977,479
Granted Patent B2
US 11,977,479 · App. 17/573,169 · Granted May 7, 2024

Log file system (LFS) invalidation command and operational mode

Inventors: Einav Zilberstein (Hod Hasharon, IL); Hadas Oshinsky (Hod Hasharon, IL); Yuliy Izrailov (Rishon LeZion, IL)
Assignee: Western Digital Technologies, Inc.
G06F12/0223
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 11,977,479
App. No.
17/573,169
Granted
May 7, 2024
Kind
B2
Abstract

A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to add one or more entries to a log file system (LFS) invalidation table and scan the LFS invalidation table during a storage optimization operation. Each entry of the one or more entries maps a new valid logical block address (LBA) to an old invalidated LBA. The new valid LBA is updated version of the old invalidated LBA. The storage optimization operation includes moving data from a first location to a second location.

Claims (44)

1. A data storage device, comprising:

a memory device; and

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

add one or more entries to a log file system (LFS) invalidation table, wherein each entry of the one or more entries maps a new valid logical block address (LBA) to an old invalidated LBA, wherein each entry of the one or more entries contains the old invalidated LBA and the new valid LBA, and wherein the new valid LBA is updated version of the old invalidated LBA;

maintain a timer for each of the one or more entries, wherein the timer starts when the one or more entries is added the LFS invalidation table;

send an indication to a host device when the timer for an entry of the one or more entries exceeds a threshold; and

scan the LFS invalidation table during a storage optimization operation, wherein the storage optimization operation comprises moving valid data from at least a first location and a second location of the memory device to a third location of the memory device, wherein the valid data in at least the first location and the second location are non-sequential, and wherein the valid data in the third location is sequential.

2. The data storage device of claim 1 , wherein the controller is configured to maintain the LFS invalidation table in a host memory buffer (HMB) of a host device.

3. The data storage device of claim 1 , wherein the controller is configured to reset LFS invalidation table after the storage optimization operation.

4. The data storage device of claim 1 , wherein the controller is configured to remove an entry of the one more entries after moving the data from at least the first location and the second location to the third location.

5. The data storage device of claim 1 , wherein, during the storage optimization operation, the controller is configured to update the LFS invalidation table using a invalidation command, and wherein the invalidation command has a format comprising: New LFS invalidation=(the old invalidated LBA, the new LBA).

6. The data storage device of claim 1 , wherein the controller is configured to receive invalidation information in a dedicated command from a host device.

7. The data storage device of claim 1 , wherein the controller is configured to receive invalidation information in a header of a write command from a host device.

8. The data storage device of claim 1 , wherein consecutive LBAs of the one or more entries are stored as a single entry using a run length.

9. The data storage device of claim 1 , wherein the controller is configured to send an indication to a host device for the storage optimization operation when a threshold time for an entry of the one or more entries is exceeded.

10. The data storage device of claim 1 , wherein, during the storage optimization operation, the controller is configured to scan the LFS invalidation table for each LBA of a selected block, and wherein storage optimization operation occurs on the selected block.

11. A data storage device, comprising:

a memory device; and

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

receive updated data for data previously written to the memory device;

program the updated data to the memory device;

add an entry to a log file system (LFS) invalidation table, wherein the entry maps a first logical block address (LBA) corresponding to the data previously written to a second LBA corresponding to the updated data, wherein the entry contains the first LBA and the second LBA;

maintain a timer for the entry, wherein the timer starts when the entry is added the LFS invalidation table;

send an indication to a host device when the timer for the entry exceeds a threshold;

initiate a selection of a source block and a destination block for relocation of valid data;

select the source block and the destination block for relocation of valid data;

scan the LFS invalidation table for LBAs of the source block; and

copy the valid data to the destination block, wherein the valid data stored in the source block is non-sequential, and wherein the valid data stored in the destination block is sequential.

12. The data storage device of claim 11 , wherein the controller is further configured to receive invalidation information, and wherein the invalidation information maps the second LBA to the first LBA.

13. The data storage device of claim 11 , wherein the controller is further configured to copy non-updated data from the source block to the destination block.

14. A data storage device, comprising:

means for storing data; and

a controller coupled to the means for storing data, wherein the controller is configured to:

use invalidation information in a log file system (LFS) invalidation table for a storage optimization operation, wherein the LFS invalidation table comprises one or more entries, wherein an age is associated with each entry of the one or more entries, and wherein using the invalidation information further comprises alerting a host device for the storage optimization operations when the age of an entry of the one or more entries exceeds a threshold age, wherein each entry of the one or more entries contains an old invalidated logical block address (LBA) and a new valid LBA, wherein using the invalidation information in the LFS invalidation table comprises:

scanning the LFS invalidation table for LBAs of a source block; and

copying valid data from the source block to a destination block, wherein the valid data stored in the source block is non-sequential, and wherein the valid data stored in the destination block is sequential.

15. The data storage device of claim 14 , wherein using the invalidation information further comprises alerting a host device for the storage optimization operation when a minimum number of free blocks is exceeded.

16. The data storage device of claim 14 , wherein the data storage device receives the invalidation information either in a dedicated command or in a header of a write command.

17. The data storage device of claim 14 , wherein using the invalidation information further comprises:

scanning for valid LBAs of the source block; and

checking the LFS invalidation table for each of the scanned LBAs.

18. The data storage device of claim 14 , wherein using the invalidation information further comprises:

copying updated data to a destination block, wherein an entry in the LFS invalidation table corresponds to the updated data; and

copying non-updated data to the destination block, wherein the LFS invalidation table does not include an entry for the non-updated data.

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 Jan 13, 2022
From: ZILBERSTEIN, EINAV; OSHINSKY, HADAS; IZRAILOV, YULIY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058642/0369 →