IP Library Granted Patent US 12,423,244
Granted Patent B2
US 12,423,244 · App. 18/503,656 · Granted Sep 23, 2025

Hybrid address translation cache using DRAM

Inventors: Shay Benisty (Beer Sheva, IL); Ariel Navon (Revava, IL); Judah Gamliel Hahn (Ofra, IL); Alexander Bazarsky (Holon, IL)
Assignee: Sandisk Technologies, Inc.
G06F12/10G06F12/123
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,423,244
App. No.
18/503,656
Granted
Sep 23, 2025
Kind
B2
Abstract

Splitting an address translation cache (ATC) into two portions can reduce costs and maintain efficient retrieval of data. One portion can be disposed in a first location while a second portion can be disposed in a second location distinct from the first location. The first location can be in the controller. The second location can be in a host memory buffer (HMB) or in a memory device separate from the controller. To obtain translated addresses, untranslated addresses can be searched in the first portion and the corresponding translated addresses can be retrieved from the second portion. When invalidating untranslated addresses, the untranslated addresses of the first portion can be deleted without a need to delete corresponding translated addresses in the second portion. To improve ATC storage capacity, grouping of untranslated addresses is possible using most significant bytes (MSBs).

Claims (49)

1. A data storage device, comprising:

a memory device; and

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

obtain a translation corresponding to an untranslated address;

store the untranslated address in a first location of an address translation cache (ATC);

retrieve the untranslated address from the first location of the ATC;

store the translated address in a second location of the ATC, wherein the first location is separate and distinct from the second location; and

retrieve the translated address corresponding to the untranslated address from the second location of the ATC, wherein retrieving the untranslated address and retrieving the translated address occur sequentially.

2. The data storage device of claim 1 , wherein the first location is volatile memory.

3. The data storage device of claim 2 , wherein the volatile memory is static random access memory (SRAM).

4. The data storage device of claim 3 , wherein the SRAM is disposed in a host interface module (HIM).

5. The data storage device of claim 2 , wherein the first location and the second location are each volatile memory.

6. The data storage device of claim 5 , wherein the second location is dynamic random access memory (DRAM).

7. The data storage device of claim 2 , wherein the second location is host memory buffer (HMB).

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

determine that address translation service (ATS) is needed;

search for the untranslated address in the first location;

determine that the untranslated address is in the first location; and

retrieve the translated address from the second location.

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

receive an invalidation request to invalidate the untranslated address;

search for the untranslated address in the first location; and

delete the untranslated address in the first location.

10. The data storage device of claim 9 , wherein the controller is configured to not delete the translated address from the second location in response to the deleting the untranslated address in the first location.

11. The data storage device of claim 1 , wherein the controller is further configured to compress the untranslated address.

12. The data storage device of claim 1 , wherein the controller is further configured to determine whether the untranslated address has one or more most significant byte (MSB) in common with another untranslated address in the ATC.

13. A data storage device, comprising:

a memory device; and

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

determine that address translation service (ATS) is needed for an untranslated address;

search a first portion of an address translation cache (ATC) for the untranslated address;

determine whether there is a match for the untranslated address in the first portion of the ATC;

retrieve the untranslated address from the first portion of the ATC;

search a second portion of the ATC for a translated address corresponding to the untranslated address; and

retrieve the translated address from the second portion of the ATC, wherein retrieving the untranslated address and retrieving the translated address occur sequentially.

14. The data storage device of claim 13 , wherein the first portion is disposed in a first location and the second portion is disposed in a second location, and wherein the first location and the second location are distinct locations.

15. The data storage device of claim 13 , wherein the controller is configured to retrieve the second portion from a host memory buffer (HMB).

16. The data storage device of claim 13 , wherein the controller is configured to retrieve the second portion from the memory device.

17. The data storage device of claim 13 , wherein the controller is configured to delete the untranslated address from the first portion in response to an invalidation request, and wherein the translated address remains in the second portion after the deletion.

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:

store and retrieve an untranslated address from a first portion of an address translation cache (ATC); and

store and retrieve a corresponding translated address from a second portion of the ATC, wherein the first portion and the second portion are distinct locations, wherein retrieving the untranslated address and retrieving the translated address occur sequentially.

19. 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:

store and retrieve an untranslated address from a first portion of an address translation cache (ATC); and

store and retrieve a corresponding translated address from a second portion of the ATC, wherein the first portion and the second portion are distinct locations, wherein the untranslated address is a first untranslated address, wherein the controller is configured to simultaneously retrieve the corresponding translated address and a second untranslated address.

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 7, 2023
From: BENISTY, SHAY; NAVON, ARIEL; HAHN, JUDAH GAMLIEL; BAZARSKY, ALEXANDER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 065485/0513 →
Continuity (1)
Related Publication 20250147894A1 · May 8, 2025
References Cited (21)
US 10929310B2 · Borikar et al. · 2021 [cited by applicant]
US 11263147B2 · Miura · 2022 [cited by applicant]
US 11422944B2 · Guo et al. · 2022 [cited by applicant]
US 11526451B2 · Koufaty et al. · 2022 [cited by applicant]
US 12277061B2 · Benisty et al. · 2025 [cited by applicant]
US 20180074757A1 · Yamaguchi et al. · 2018 [cited by applicant]
US 20190227943A1 · Chen · 2019 [cited by applicant]
US 20210390179A1 · Hahn · 2021 [cited by examiner]
US 20210406199A1 · Kounavis et al. · 2021 [cited by applicant]
US 20220206976A1 · Ng et al. · 2022 [cited by applicant]
US 20220261178A1 · He · 2022 [cited by examiner]
US 20230153021A1 · Hiramoto · 2023 [cited by examiner]
US 20230176978A1 · Chin et al. · 2023 [cited by applicant]
US 20230325321A1 · Helmick · 2023 [cited by examiner]
US 20230333990A1 · Helmick et al. · 2023 [cited by applicant]
US 20230359392A1 · Singh et al. · 2023 [cited by applicant]
US 20230376422A1 · Watanabe · 2023 [cited by applicant]
US 20230409487A1 · Sandberg · 2023 [cited by examiner]
US 20240143515A1 · Chakrabarty et al. · 2024 [cited by applicant]
US 20240273033A1 · Montero · 2024 [cited by examiner]
CN 115185733A · 2022 [cited by applicant]