IP Library Granted Patent US 11,086,786
Granted Patent B2
US 11,086,786 · App. 16/708,054 · Granted Aug 10, 2021

Storage system and method for caching a single mapping entry for a random read command

Inventors: Ramanathan Muthiah (Bangalore, IN); Kshitij Gupta (Uttarpradesh, IN)
Assignee: Westem Digital Technologies, Inc.
G06F12/0875G06F12/1009G06F2212/1044G06F2212/608G06F2212/65
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,086,786
App. No.
16/708,054
Granted
Aug 10, 2021
Kind
B2
Abstract

A storage system and method for caching a single mapping entry for a random read command are provided. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to determine whether a read command received from a host is a random read command, wherein the read command comprises a logical address; and in response to determining that the read command received from the host is a random read command, caching only an associated logical-to-physical address map entry from a logical-to-physical address map stored in the memory instead of caching a larger segment of the logical-to-physical address map that contains the entry and other entries. Other embodiments are provided.

Claims (55)

1. A method for caching a single mapping entry for a random read command, the method comprising:

performing the following in a storage system in communication with a host, wherein the storage system comprises a memory storing a logical-to-physical address translation data structure:

receiving a read command from the host, wherein the read command comprises a logical address, wherein an entry in the logical-to-physical address translation data structure corresponds to the logical address of the read command;

determining that the host is operating in random read mode; and

in response to determining that the host is operating in random read mode:

determining an offset of the entry in a page of the logical-to-physical address translation data structure that contains additional entries for other logical addresses;

performing a latch transfer and error correction decoding on a subpage containing the entry;

caching only the entry, wherein entries of the logical-to-physical address translation data structure that correspond to other logical addresses are not cached; and

deleting the cached entry after a single use of the cached entry to perform a logical-to-physical address translation, wherein the cached entry is used only once.

2. The method of claim 1 , wherein the storage system determines that the host is operating in random read mode by receiving an indication from the host.

3. The method of claim 1 , wherein the storage system determines that the host is operating in random read mode by analyzing a plurality of previously-received read commands from the host.

4. The method of claim 1 , further comprising:

using the cached entry to perform logical-to-physical address translation of the logical address of the read command.

5. The method of claim 4 , further comprising

receiving another read command from the host with the logical address; and

re-caching the entry from the logical-to-physical address translation data structure that corresponds to the logical address.

6. The method of claim 1 , further comprising

receiving a write command for the logical address; and

in response to receiving the write command for the logical address, instead of using the cached entry, caching a page of the logical-to-physical address translation data structure that contains the entry and additional entries for other logical addresses.

7. The method of claim 1 , wherein the memory comprises a three-dimensional memory.

8. The method of claim 1 , wherein the storage system is configured to be integrated in the host.

9. The method of claim 1 , wherein the storage system is configured to be removably connected with the host.

10. A storage system comprising:

a memory; and

a controller configured to be in communication with the memory, wherein the controller is further configured to:

determine whether a read command received from a host is a random read command, wherein the read command comprises a logical address; and

in response to determining that the read command received from the host is a random read command:

determine an offset of an entry associated with the logical address in a logical-to-physical address map stored in the memory;

perform a latch transfer and error correction decoding on a subpage containing the entry;

cache only the entry instead of caching a larger segment of the logical-to-physical address map that contains the entry and other entries; and

delete the cached entry after a single use of the cached entry to perform a logical-to-physical address translation, wherein the cached entry is used only once.

11. The storage system of claim 10 , wherein the controller is further configured to perform the following to determine whether the read command received from the host is a random read command:

receive a directive from the host that the read command received from the host is a random read command.

12. The storage system of claim 11 , wherein the controller is configured to both receive the directive and analyze the plurality of previously-received read commands.

13. The storage system of claim 10 , wherein the controller is further configured to:

use the cached entry to perform logical-to-physical address translation of the logical address of the read command.

14. The storage system of claim 13 , wherein the controller is further configured to:

receive another read command from the host with the logical address; and

re-cache the entry from the logical-to-physical address map that corresponds to the logical address.

15. The storage system of claim 10 , wherein the controller is further configured to:

receive a write command for the logical address; and

in response to receiving the write command for the logical address, instead of using the cached entry, cache a larger segment of the logical-to-physical address map that contains the entry.

16. The storage system of claim 10 , wherein the memory comprises a three-dimensional memory.

17. The storage system of claim 10 , wherein the storage system is configured to be integrated in the host.

18. The storage system of claim 10 , wherein the storage system is configured to be removably connected with the host.

19. The storage system of claim 10 , wherein the controller is further configured to perform the following to determine whether the read command received from the host is a random read command:

analyze a plurality of previously-received read commands from the host to detect a pattern, which indicates that the read command received from the host is a random read command.

20. A storage system comprising:

a memory;

means for determining whether a read command received from a host is a random read command, wherein the read command comprises a logical address; and

means for, in response to determining that the read command is a random read command:

determining an offset of an entry associated with the logical address in a logical-to-physical address map stored in the memory;

performing a latch transfer and error correction decoding on a subpage containing the entry; and

using a caching mode in which only the entry is cached; and

deleting the cached entry after a single use of the cached entry to perform a logical-to-physical address translation, wherein the cached entry is used only once.

Assignments (8)
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 052025 FRAME 0088 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0699 →
SECURITY INTEREST Recorded Feb 26, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052025/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2019
From: MUTHIAH, RAMANATHAN; GUPTA, KSHITIJ
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051233/0705 →
Continuity (1)
Related Publication 20210173786A1 · Jun 10, 2021