IP Library Granted Patent US 10,725,903
Granted Patent B2
US 10,725,903 · App. 16/051,370 · Granted Jul 28, 2020

Unified paging scheme for dense and sparse translation tables on flash storage systems

Inventors: Ajith Kumar Battaje (Karnataka, IN); Tanay Goel (Chhattisgarh, IN); Sandeep Sharma (Bangalore, IN); Saurabh Manchanda (Delhi, IN); Arun Kumar Medapati (Andhra Pradesh, IN)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F12/0246G06F12/1009G06F16/9024G06F2212/1016G06F2212/1056G06F2212/152G06F2212/214G06F2212/657G06F2212/7201G06F2212/7202
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 10,725,903
App. No.
16/051,370
Granted
Jul 28, 2020
Kind
B2
Abstract

A data storage apparatus that includes a storage device and a processor coupled to the storage device. The processor is configured to receive a read request for a first translation table entry associated with a logical block, identify a dump unit associated with the logical block using a hash function, determine a dump group associated with the dump unit, and identify a second translation table entry associated with the dump unit.

Claims (57)

1. A method comprising:

receiving a read request for a first translation table entry associated with a logical block;

identifying a dump unit associated with the logical block;

determining a dump group associated with the dump unit;

identifying a second translation table entry associated with the dump unit;

determining that the second translation table entry does not match with the read request;

retrieving a previous translation table entry associated with the dump unit using a linked list;

determining whether the retrieved translation table entry matches the read request; and

outputting the retrieved translation table entry from the storage device when the retrieved translation table entry matches the read request.

2. The method of claim 1 , wherein the identifying the dump unit associated with the logical block comprises mapping the logical block to the dump unit using a hash function.

3. The method of claim 1 , wherein the determining the dump group associated with the dump unit comprises identifying a logical space reserved for the dump group.

4. The method of claim 3 , wherein the identifying the second translation table entry associated with the dump unit comprises identifying the second translation table entry that is the most recent translation table entry associated with the logical block stored in a storage device.

5. The method of claim 1 , further comprising retrieving another previous translation table entry associated with the dump unit using the linked list when the retrieved translation table entry does not match the read request.

6. A data storage apparatus, comprising:

a storage device; and

a processor coupled to the storage device and configured to:

receive a read request for a first translation table entry associated with a logical block;

identify a dump unit associated with the logical block using a hash function;

determine a dump group associated with the dump unit;

identify a second translation table entry associated with the dump unit;

determine that the second translation table entry does not match with the read request;

retrieve a previous translation table entry associated with the dump unit;

determine whether the retrieved translation table entry matches the read request; and

output the retrieved translation table entry from the storage device when the retrieved translation table entry matches the read request.

7. The data storage apparatus of claim 6 , wherein the processor is configured to identify the dump unit associated with the logical block by mapping the logical block to the dump unit using the hash function.

8. The data storage apparatus of claim 6 , wherein the processor is configured to determine the dump group associated with the dump unit by identifying a logical space reserved for the dump group.

9. The data storage apparatus of claim 6 , wherein the processor is configured to identify the second translation table entry associated with the dump unit by identifying the second translation table entry that is the most recent translation table entry associated with the logical block stored in the storage device.

10. The data storage apparatus of claim 6 , wherein the processor is further configured to retrieve another previous translation table entry associated with the dump unit using the linked list when the retrieved translation table entry does not match the read request.

11. A data storage apparatus, comprising:

a storage device; and

a processor coupled to the storage device and configured to:

receive a read request for a first translation table entry associated with a logical block;

identify a dump unit associated with the logical block;

determine a dump group associated with the dump unit;

identify a second translation table entry associated with the dump unit;

determine that the second translation table entry does not match with the read request;

retrieve a previous translation table entry associated with the dump unit using a linked list;

determine whether the retrieved translation table entry matches the read request; and

output the retrieved translation table entry from the storage device when the retrieved translation table entry matches the read request.

12. The data storage apparatus of claim 11 , wherein the processor is further configured to retrieve another previous translation table entry associated with the dump unit using the linked list when the retrieved translation table entry does not match the read request.

13. The data storage apparatus of claim 11 , wherein the processor is configured to identify the dump unit associated with the logical block by mapping the logical block to the dump unit using a hash function.

14. The data storage apparatus of claim 11 , wherein the processor is configured to determine the dump group associated with the dump unit by identifying a logical space reserved for the dump group.

15. The data storage apparatus of claim 11 , wherein the processor is configured to identify the second translation table entry associated with the dump unit by identifying the second translation table entry that is the most recent translation table entry associated with the logical block stored in the storage device.

16. The data storage apparatus of claim 11 , wherein the linked list is a reverse linked list.

17. A data storage apparatus, comprising:

a storage device; and

a processor coupled to the storage device and configured to:

receive a write request for a logical block, the write request including a new translation table entry for the logical block;

identify a first dump unit associated with the logical block;

update a second translation table entry in the storage device with a first translation table entry from the first dump unit;

store the new translation table entry in the first dump unit; and

update a linked list in the storage device, the linked list referencing the first translation table entry in the storage device through previous translation table entries associated with the logical block.

18. The data storage apparatus of claim 17 , wherein the processor is further configured to eliminate duplicate entries for the logical block to get a consolidated representation of translation table entries on the storage device.

19. The data storage apparatus of claim 17 , wherein the processor is further configured to:

determine that the received write request for the logical block does not have an associated translation table entry in a memory;

retrieve the dump unit associated with the logical block from the storage device; and

send the dump unit to the memory.

Assignments (11)
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 Jul 31, 2018
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046682/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: BATTAJE, AJITH KUMAR; GOEL, TANAY; SHARMA, SANDEEP; MANCHANDA, SAURABH; MEDAPATI, ARUN KUMAR
To: HGST NETHERLANDS B.V.
Reel/Frame 046519/0704 →