IP Library Granted Patent US 11,061,598
Granted Patent B2
US 11,061,598 · App. 16/363,935 · Granted Jul 13, 2021

Optimized handling of multiple copies in storage management

Inventors: Alexander Bazarsky (Holon, IL); Tomer Eliash (Kfar Saba, IL); Yuval Grossman (Kiryat Ono, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/0647G06F3/064G06F3/0604G06F3/0679G06F12/0802
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,061,598
App. No.
16/363,935
Granted
Jul 13, 2021
Kind
B2
Abstract

The present disclosure generally relates to relocating data in a storage device and updating a compressed logical to physical (L2P) table in response without invalidating cache entries of the L2P table. After relocating data from a first memory block associated with a first physical address to a second memory block associated with a second physical address, a version indicator of a cache entry corresponding to the first physical address in the L2P table is incremented. One or more cache entries are then added to the L2P table associating the relocated data to the second physical block without invaliding the cache entry corresponding to the first physical address. When a command to read or write the relocated data is received, the storage device searches the L2P table and reads the data from either the first memory block or the second memory block.

Claims (40)

1. A method of operating a storage device having a plurality of memory blocks, comprising:

relocating data stored in a first memory block to a second memory block;

receiving a request to read the data;

reading a first logical to physical table configured to convert logical addresses to physical addresses to determine which memory block of the plurality of memory blocks the data is stored in, wherein the first logical to physical table logs most recently read and written data to the plurality of memory blocks; and

reading the data from either the first memory block or the second memory block, wherein a controller of the storage device is capable of reading the first memory block and the second memory block after relocating the data, and wherein the storage device comprises a master logical to physical table configured to convert logical addresses to physical addresses and that logs all read, written, and erased data from the plurality of memory blocks.

2. The method of claim 1 , wherein the first logical to physical table is stored in the controller, and wherein the master logical to physical table is stored in one or more memory blocks of the plurality of memory blocks.

3. The method of claim 2 , wherein the first logical to physical table is compressed.

4. The method of claim 1 , further comprising:

updating the first logical to physical table in response to relocating the data stored in the first memory block to the second memory block.

5. The method of claim 4 , wherein updating the first logical to physical table comprises incrementing a version indicator of a first cache entry in the first logical to physical table, wherein a first physical address associated with the first memory block is associated with the first cache entry to the data.

6. The method of claim 4 , wherein updating the first logical to physical table comprises adding one or more cache entries to the first logical to physical table, wherein the one or more cache entries log a second physical address associated with the second memory block to the data such that multiple data entries in the cache are associated with the second memory block.

7. A method of operating a storage device, comprising:

relocating data from a first memory block associated with a first physical address to a second memory block associated with a second physical address, wherein the first physical address is logged in a first cache entry in a compressed logical to physical table configured to convert logical addresses to physical addresses, wherein the compressed logical to physical table logs most recently read and written data to the memory blocks, and wherein the storage device comprises a master logical to physical table configured to convert logical addresses to physical addresses and that logs all read, written, and erased data from the memory blocks;

incrementing a version indicator of the first cache entry in the compressed logical to physical table;

adding one or more updated cache entries to the compressed logical to physical table in response to relocating the data to the second physical address;

searching the compressed logical to physical table to determine where the data is located;

reading the first cache entry before reading the one or more updated cache entries; and

reading the data from the first physical address.

8. The method of claim 7 , further comprising:

scheduling the first memory block to be erased; and

decrementing the version indicator of the first cache entry in the compressed logical to physical table in response to scheduling the first memory block to be erased.

9. The method of claim 8 , wherein the first cache entry in the compressed logical to physical table remains valid until the version indicator is decremented.

10. The method of claim 7 , wherein the compressed logical to physical table is stored in a controller of the storage device.

11. The method of claim 7 , wherein the compressed logical to physical table is searched in response to receiving a command to read or write data.

12. The method of claim 7 , wherein the one or more updated cache entries comprise a second cache entry corresponding to the relocation of the data to the second memory block.

13. The method of claim 12 , wherein the first cache entry and the second cache entry both are valid cache entries in the compressed logical to physical table.

14. The method of claim 13 , wherein the version indicator of the first cache entry indicates that information logged in the first cache entry is an outdated version of the information logged in the second cache entry.

15. A storage device, comprising:

a plurality of memory blocks, wherein each memory block of the plurality of memory blocks comprises flash memory units;

a master logical to physical table configured to convert logical addresses to physical addresses and that logs all read, written, and erased data from the plurality of memory blocks; and

a controller coupled to the plurality of memory blocks, wherein the controller is configured to:

store a compressed logical to physical table configured to convert logical addresses to physical addresses, wherein the compressed logical to physical table logs location of most recently read and written data to one or more of the plurality of memory blocks;

sort a validity counter array by a validity count, wherein the validity count is a number of valid flash memory units in a memory block;

prioritize one or more memory blocks from the plurality of memory blocks to be erased, wherein memory blocks having a low validity count are prioritized above memory blocks having a high validity count, and wherein memory blocks not logged to data in the compressed logical to physical table are prioritized above memory blocks that are logged to data in the compressed logical to physical table; and

schedule one or more memory blocks from the plurality of memory blocks to be erased in order of priority.

16. The storage device of claim 15 , wherein memory blocks not recently read in the compressed logical to physical table are prioritized above memory blocks that have been recently read in the compressed logical to physical table.

17. The storage device of claim 16 , wherein memory blocks having a low validity count are prioritized above memory blocks not logged to data in the compressed logical to physical table.

18. The storage device of claim 17 , wherein memory blocks not logged to data in the compressed logical to physical table are prioritized above memory blocks not recently read in the compressed logical to physical table.

19. The storage device of claim 15 , wherein the controller is further configured to group memory blocks by validity count before prioritizing the one or more memory blocks from the plurality of memory blocks to be erased.

20. The storage device of claim 15 , wherein the controller is further configured to store an outstanding update operation table, wherein the outstanding update operation table logs updates made to the compressed logical to physical table.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2019
From: BAZARSKY, ALEXANDER; ELIASH, TOMER; GROSSMAN, YUVAL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 048696/0645 →
Cited By (1)
US 12,314,601