IP Library › Granted Patent US 12,566,713
Granted Patent B2
US 12,566,713 · App. 18/499,849 · Granted Mar 3, 2026

Efficient address translation cache lookup operations

Inventor: Shay Benisty (Beer Sheva, IL)
Assignee: Sandisk Technologies, Inc.
G06F12/10G06F12/12
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,566,713
App. No.
18/499,849
Granted
Mar 3, 2026
Kind
B2
Abstract

Redundancy bits can be used to more effectively manage address translation cache (ATC) in data storage devices. The data storage device maintains a table of redundancy bits. When a request for an address translation arrives, the redundancy bits are calculated and compared to redundancy bits in the table. If there is a match, then the relevant ATC entry is retrieved and compared to the untranslated addresses. The same process is repeated for each redundancy bits match until finding a match in the ATC. In so doing, the translated address can be requested much earlier than normal by requesting the translated address upon the redundancy bits not matching. The earlier retrieval reduces throughput of the memory device without reducing performance. Furthermore, the unique structure of the internal ATC allows most of the ATC to be located in SRAM/DRAM while simply the redundancy bits are stored in flops.

Claims (46)

1 . A data storage device, comprising:

a memory device; and

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

calculate one or more redundancy bits of an untranslated address;

compare the one or more calculated redundancy bits to stored redundancy bits;

upon determining the one or more calculated redundancy bits matches a stored redundancy bit, retrieve an untranslated address corresponding to the matched stored redundancy bit; and

dynamically adjust a bit width of the one or more redundancy bits.

2 . The data storage device of claim 1 , wherein the one or more redundancy bits is a parity bit.

3 . The data storage device of claim 1 , wherein the one or more redundancy bits are cyclic redundancy check (CRC) bits.

4 . The data storage device of claim 1 , wherein the controller is configured to determine whether the retrieved untranslated address corresponding to the matched stored redundancy bit matches the untranslated address.

5 . The data storage device of claim 4 , upon determining that the retrieved untranslated address corresponding to the matched stored redundancy bit matches the untranslated address, retrieve a corresponding translated address.

6 . The data storage device of claim 1 , wherein the stored redundancy bits are stored in flops.

7 . The data storage device of claim 6 , wherein the flops are stored in a host interface module (HIM).

8 . The data storage device of claim 7 , wherein the retrieved untranslated address is stored in static random access memory (SRAM).

9 . The data storage device of claim 8 , wherein a translated address corresponding to retrieved untranslated address is stored in dynamic random access memory (DRAM).

10 . The data storage device of claim 1 , wherein the controller is further configured to:

upon determining the one or more calculated redundancy bits does not match a stored redundancy bit:

retrieve an untranslated address corresponding to the matched stored redundancy bit from a translation agent; and

store the one or more calculated redundancy bits.

11 . The data storage device of claim 1 , wherein the adjusting is in response to a hit rate of the comparing.

12 . The data storage device of claim 1 , wherein the controller is configured to evict one or more second redundancy bits from a redundancy table.

13 . A data storage device, comprising:

a memory device; and

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

calculate one or more redundancy bits for an untranslated address;

compare the one or more calculated redundancy bits to stored redundancy bits;

upon determining the one or more calculated redundancy bits matches a stored redundancy bit, retrieve an untranslated address corresponding to the matched stored redundancy bit;

retrieve a corresponding translated address for the untranslated address from a translation agent;

update a redundancy table to include the one or more calculated redundancy bits;

update an address translation cache (ATC) with the translated address; and

dynamically adjust a bit width of the one or more redundancy bits.

14 . The data storage device of claim 13 , wherein the controller is configured to evict one or more second redundancy bits from the redundancy table.

15 . The data storage device of claim 14 , wherein the evicting is based upon a least recently used (LRU) algorithm.

16 . The data storage device of claim 13 , wherein the controller is further configured to determine whether the calculated one or more redundancy bits match one or more redundancy bits stored in the redundancy table.

17 . The data storage device of claim 13 , wherein the controller comprises a search engine configured to perform the calculating and for comparing the calculated one or more redundancy bits to one or more redundancy bits in the redundancy table.

18 . A data storage device, comprising:

means to store data; and

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

calculate one or more redundancy bits of an untranslated address;

compare the one or more calculated redundancy bits to stored redundancy bits;

upon determining the one or more calculated redundancy bits matches a stored redundancy bit, retrieve an untranslated address corresponding to the matched stored redundancy bit;

store untranslated addresses in a host interface module (HIM);

store translated addresses in a location separate from the HIM; and

dynamically adjust a bit width of at least one of the redundancy bits.

19 . The data storage device of claim 18 , wherein the location separate from the HIM is a host memory buffer (HMB).

20 . The data storage device of claim 18 , wherein the controller is configured to evict redundancy bits from the HIM.

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 (AR) Recorded Feb 22, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 066648/0284 →
PATENT COLLATERAL AGREEMENT (DDTL) Recorded Feb 22, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 066648/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2023
From: BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 065580/0947 →
Continuity (1)
Related Publication 20250139013A1 · May 1, 2025
References Cited (11)
US 6971041B2 · DeSota · 2005 [cited by examiner]
US 10810133B1 · Volpe · 2020 [cited by examiner]
US 10969992B2 · Gayen · 2021 [cited by examiner]
US 20170090791A1 · Grubisic · 2017 [cited by examiner]
US 20170206028A1 · O · 2017 [cited by examiner]
US 20190310948A1 · Abhishek Raja · 2019 [cited by examiner]
US 20220206976A1 · Ng et al. · 2022 [cited by applicant]
US 20230012648A1 · Fitzpatrick · 2023 [cited by examiner]
US 20230169013A1 · Moon et al. · 2023 [cited by applicant]
US 20230176978A1 · Chin et al. · 2023 [cited by applicant]
US 20230401160A1 · Huggahalli · 2023 [cited by examiner]