IP Library Granted Patent US 11,216,361
Granted Patent B2
US 11,216,361 · App. 15/197,183 · Granted Jan 4, 2022

Translation lookup and garbage collection optimizations on storage system with paged translation table

Inventors: Ajith Kumar Battaje (Karnataka, IN); Tanay Goel (Chhattisgarh, IN); Rajendra Prasad Mishra (Santa Clara, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F12/0246G06F12/0862G06F12/1009G06F2212/1044G06F2212/2022G06F2212/602G06F2212/7201G06F2212/7205
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,216,361
App. No.
15/197,183
Granted
Jan 4, 2022
Kind
B2
Abstract

A system comprising a processor and a memory storing instructions that, when executed, cause the system to receive a request for garbage collection, identify a range of physical blocks in a storage device, query a bitmap, the bitmap having a bit for each physical block in the range of physical blocks, determine a status associated with a first bit from the bitmap, in response to determining the status associated with the first bit is a first state, add a first physical block associated with the first bit to a list of physical blocks for relocation, and relocate the list of physical blocks.

Claims (65)

1. A method comprising:

receiving a request for garbage collection;

identifying a range of physical blocks in a storage device;

querying a bitmap, the bitmap having a bit for each physical block in the range of physical blocks;

determining a status associated with a first bit from the bitmap;

in response to determining the status associated with the first bit is a first state, adding a first physical block associated with the first bit to a list of physical blocks for relocation; and

using the list of physical blocks, to relocate data stored at the first physical block.

2. The method of claim 1 , wherein a size of the bitmap corresponds to a size of the storage device.

3. The method of claim 1 , wherein the first state indicates an active mapping associated with the first physical block.

4. The method of claim 1 , further comprising:

receiving a request to pre-fetch a translation table entry;

in response to receiving the request to pre-fetch, marking the translation table entry in a memory; and

generating a non-zero reference count for the translation table entry.

5. The method of claim 4 , wherein the marked translation table entry is associated with an expiration timeout.

6. The method of claim 1 , further comprising:

receiving a write request for a first logical block;

mapping the first logical block to a second physical block;

allocating a second bit associated with the second physical block;

assigning the first state to the second bit associated with the second physical block; and

updating the bitmap based on the first state assigned to the second bit.

7. An apparatus comprising:

a storage device;

a processor coupled to the storage device and configured to:

receive a request for garbage collection;

identify a range of physical blocks in the storage device;

query a bitmap, the bitmap having a first bit for a first physical block in the range of physical blocks;

determine a status associated with for the first bit from the bitmap;

in response to determining the status associated with the first bit is a first state, add the first physical block associated with the first bit to a list of physical blocks for relocation; and

use the list of physical blocks, to relocate data stored at the first physical block.

8. The apparatus of claim 7 , wherein a size of the bitmap corresponds to a size of the storage device.

9. The apparatus of claim 7 , wherein the first state indicates an active mapping between a physical block and a logical block.

10. The apparatus of claim 7 , wherein the processor is further configured to:

receive a request to pre-fetch a translation table entry;

in response to receiving the request to pre-fetch, mark the translation table entry in a memory; and

generate a non-zero reference count for the translation table entry.

11. The apparatus of claim 10 , wherein the marked translation table entry is associated with an expiration timeout.

12. The apparatus of claim 7 , wherein the processor is further configured to:

receive a write request for a first logical block;

map the first logical block to a second physical block;

allocate a second bit associated with the second physical block;

assign the first state to the second bit associated with the second physical block; and

update the bitmap based on the first state assigned to the second bit.

13. An apparatus comprising:

a storage device;

a processor coupled to the storage device and configured to:

receive a request for garbage collection;

identify a range of physical blocks in the storage device;

query a bitmap, the bitmap having a bit for each physical block in the range of physical blocks;

determine a first status associated with a first bit from the bitmap;

in response to determining the first status associated with the first bit is a particular state, add a first physical block associated with the first bit to a list of physical blocks for relocation;

determine a second status associated with a second bit from the bitmap;

in response to determining the second status associated with the second bit is the particular state, add a second physical block associated with the second bit to the list of physical blocks for relocation; and

use the list of physical blocks, to relocate (i) data stored at the first physical block and (ii) data stored at the second physical block.

14. The apparatus of claim 13 , wherein a size of the bitmap corresponds to a size of the storage device.

15. The apparatus of claim 13 , wherein the particular state is an ON state.

16. The apparatus of claim 13 , wherein the particular state indicates that a physical block is assigned to a logical block.

17. The apparatus of claim 13 , wherein the processor is further configured to:

receive a request to pre-fetch a translation table entry;

in response to receiving the request to pre-fetch, mark the translation table entry in a memory; and

generate a non-zero reference count for the translation table entry.

18. The apparatus of claim 17 , wherein the marked translation table entry is associated with an expiration timeout.

19. The apparatus of claim 18 , wherein the processor is further configured to use the list of physical blocks, to relocate data stored at the third physical block.

20. The apparatus of claim 13 , wherein the processor is further configured to:

determine a third status associated with a third bit from the bitmap; and

in response to determining the third status associated with the third bit is the particular state, add a third physical block associated with the third bit to the list of physical blocks for relocation.

Assignments (12)
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 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2016
From: BATTAJE, AJITH KUMAR; GOEL, TANAY; MISHRA, RAJENDRA PRASAD
To: HGST NETHERLANDS B.V.
Reel/Frame 039124/0675 →
Continuity (1)
Related Publication 20180004652A1 · Jan 4, 2018
Cited By (2)
US 12,265,707 US 12,293,077