IP Library Granted Patent US 11,836,354
Granted Patent B2
US 11,836,354 · App. 17/493,722 · Granted Dec 5, 2023

Distribution of logical-to-physical address entries across multiple memory areas

Inventors: Jameer Mulani (Bangalore, IN); Kapil Sundrani (Bangalore, IN); Anindya Rai (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0619G06F3/064G06F3/065G06F3/0611G06F3/0655G06F3/0679G06F3/0688G06F12/0246G06F2212/7201
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,836,354
App. No.
17/493,722
Granted
Dec 5, 2023
Kind
B2
Abstract

A memory system may include a volatile memory that is configured to store an address data structure that includes a plurality of logical-to-physical address entries. The address data structure may be stored across a plurality of bank groups of the volatile memory. A controller may be configured to store consecutive logical-to-physical address entries across different bank groups. In turn, during read and write operations for data sets associated with consecutive logical addresses, read requests for physical addresses where the data sets are stored may be sent to multiple bank groups and processed by the multiple banks in parallel.

Claims (78)

1. A method for a storage system, comprising:

writing logical-to-physical address entries of an address data structure into one or more memories comprising a first memory area and a second memory area, wherein the second memory area is different from the first memory area;

performing first multiple access requests to a first portion of the one or more memories, wherein the first multiple access requests are directed to one of the first and second memory areas but not both of the first and second memory areas, and wherein consecutively-addressed memory locations of the first portion store non-consecutive logical-to-physical address entries;

performing second multiple access requests to a second portion of the one or more memories, wherein a first one of the second multiple access requests is directed to a first one of the first and second memory areas, wherein a second one of the second multiple access requests is directed to a second one of the first and second memory areas, wherein the second one is different from the first one, and wherein consecutively-addressed memory locations of the second portion store consecutive logical-to-physical address entries;

determining that at least a first number or a first percentage of pairs of consecutive logical-to-physical address entries has a first logical-to-physical address entry stored in a certain one of the first memory area or the second memory area and has a second logical-to-physical address entry stored in another one of the first memory area or the second memory area, wherein the another one is different from the certain one;

when the first number satisfies a predetermined number or the first percentage satisfies a predetermined percentage, writing a first logical-to-physical address entry into a given memory area of the first memory area or the second memory area without determining whether a consecutive logical-to-physical address entry is stored in the same given memory area; and

when the first number fails to satisfy the predetermined number and the first percentage fails to satisfy the predetermined percentage, writing a first logical-to-physical address entry into a particular memory area of the first memory area or the second memory area after determining whether a consecutive logical-to-physical address entry is stored in the same particular memory area,

wherein the second multiple access requests are performed faster than the first multiple access requests.

2. The method of claim 1 , wherein:

both of the first memory area and the second memory area are volatile memories;

the first memory area is accessible via a first interface;

the second memory area is accessible via a second interface;

the second multiple access requests are performed 33-50% faster than the first multiple access requests; and

the first one and the second one of the second multiple access requests are performed in parallel.

3. The method of claim 1 , wherein:

the one or more memories comprise an N-number of memory areas, wherein N is a positive integer;

each of the N-number of memory areas comprises a respective one of bank groups, wherein each of the bank groups comprises an M-number of banks, and wherein M is a positive integer; and

each of the banks is caused to store a different set of every (N×M)th logical-to-physical address entries.

4. The method of claim 1 , comprising:

randomly selecting a memory location to store a logical-to-physical address entry, wherein the randomly selected memory location is in a given one of the first memory area or the second memory area, and wherein the given one is different from a memory area in which a consecutive logical-to-physical address entry is stored.

5. The method of claim 1 ,

wherein the consecutive logical-to-physical address entries for the determining comprise at least two logical-to-physical address entries associated with at least two consecutive logical addresses.

6. The method of claim 1 , wherein:

writing the logical-to-physical address entries of the address data structure comprises: writing non-consecutive logical-to-physical address entries of the address data structure into consecutively-addressed memory locations of the first memory area; and

the non-consecutive logical-to-physical address entries of the address data structure comprise at least two logical-to-physical address entries associated with at least two non-consecutive logical addresses.

7. A storage system, comprising:

one or more memories comprising a first memory area and a second memory area, wherein the second memory area is different from the first memory area; and

one or more controllers configured to cause:

writing logical-to-physical address entries of an address data structure into the one or more memories;

performing first multiple access requests to a first portion of the one or more memories, wherein the first multiple access requests are directed to one of the first and second memory areas but not both of the first and second memory areas and wherein consecutively-addressed memory locations of the first portion store non-consecutive logical-to-physical address entries;

performing second multiple access requests to a second portion of the one or more memories, wherein a first one of the second multiple access requests is directed to a first one of the first and second memory areas, wherein a second one of the second multiple access requests is directed to a second one of the first and second memory areas, wherein the second one is different from the first one, and wherein consecutively-addressed memory locations of the second portion store consecutive logical-to-physical address entries;

determining that at least a first number or a first percentage of pairs of consecutive logical-to-physical address entries has a first logical-to-physical address entry stored in a certain one of the first memory area or the second memory area and has a second logical-to-physical address entry stored in another one of the first memory area or the second memory area, wherein the another one is different from the certain one;

when the first number satisfies a predetermined number or the first percentage satisfies a predetermined percentage, writing a first logical-to-physical address entry into a given memory area of the first memory area or the second memory area without determining whether a consecutive logical-to-physical address entry is stored in the same given memory area; and

when the first number fails to satisfy the predetermined number and the first percentage fails to satisfy the predetermined percentage, writing a first logical-to-physical address entry into a particular memory area of the first memory area or the second memory area after determining whether a consecutive logical-to-physical address entry is stored in the same particular memory area,

wherein the one or more controllers are configured to cause performing the second multiple access requests faster than performing the first multiple access requests.

8. The storage system of claim 7 , comprising a first interface and a second interface,

wherein:

both of the first memory area and the second memory area are volatile memories;

the first memory area is accessible via the first interface;

the second memory area is accessible via the second interface; and

the first one and the second one of the second multiple access requests are performed in parallel.

9. The storage system of claim 7 , wherein:

the one or more memories comprise an N-number of memory areas, wherein N is a positive integer;

each of the N-number of memory areas comprises a respective one of bank groups, wherein each of the bank groups comprises an M-number of banks, and wherein M is a positive integer; and

the one or more controllers are configured to cause each of the banks to store a different set of every (N×M)th logical-to-physical address entries.

10. The storage system of claim 7 , wherein the one or more controllers are configured to cause:

randomly selecting a memory location to store a logical-to-physical address entry, wherein the randomly selected memory location is in a given one of the first memory area or the second memory area, and wherein the given one is different from a memory area in which a consecutive logical-to-physical address entry is stored.

11. The storage system of claim 7 ,

wherein the consecutive logical-to-physical address entries for the determining comprise at least two logical-to-physical address entries associated with at least two consecutive logical addresses.

12. The storage system of claim 7 , wherein:

writing the logical-to-physical address entries of the address data structure comprises: writing non-consecutive logical-to-physical address entries of the address data structure into consecutively-addressed memory locations of the first memory area; and

the non-consecutive logical-to-physical address entries of the address data structure comprise at least two logical-to-physical address entries associated with at least two non-consecutive logical addresses.

13. The storage system of claim 7 , wherein the one or more memories further comprise a third memory area comprising consecutively-addressed memory locations configured to store consecutive logical-to-physical address entries.

14. The storage system of claim 7 , wherein the one or more controllers are configured to cause:

when a first of two consecutive logical-to-physical address entries is stored in a last memory location of a memory area:

issuing, to two different memory areas, two read requests for the two consecutive logical-to-physical address entries; and

reading the two consecutive logical-to-physical address entries from the two different memory areas.

15. The storage system of claim 7 , wherein the one or more controllers are configured to cause:

determining that at least one pair of consecutive logical-to-physical address entries associated with consecutive logical addresses are stored in two memory locations that are located in different memory areas; and

determining that the two memory locations are both non-last memory locations of their respective memory areas.

16. An apparatus, comprising:

means for writing logical-to-physical address entries of an address data structure into one or more memories comprising a first memory area and a second memory area, wherein the second memory area is different from the first memory area;

means for performing first multiple access requests to a first portion of the one or more memories, wherein the first multiple access requests are directed to one of the first and second memory areas but not both of the first and second memory areas and wherein consecutively-addressed memory locations of the first portion store non-consecutive logical-to-physical address entries;

means for performing second multiple access requests to a second portion of the one or more memories, wherein a first one of the second multiple access requests is directed to a first one of the first and second memory areas, wherein a second one of the second multiple access requests is directed to a second one of the first and second memory areas, wherein the second one is different from the first one, and wherein consecutively-addressed memory locations of the second portion store consecutive logical-to-physical address entries;

means for determining that at least a first number or a first percentage of pairs of consecutive logical-to-physical address entries has a first logical-to-physical address entry stored in a certain one of the first memory area or the second memory area and has a second logical-to-physical address entry stored in another one of the first memory area or the second memory area, wherein the another one is different from the certain one;

when the first number satisfies a predetermined number or the first percentage satisfies a predetermined percentage, means for, writing a first logical-to-physical address entry into a given memory area of the first memory area or the second memory area without determining whether a consecutive logical-to-physical address entry is stored in the same given memory area; and

when the first number fails to satisfy the predetermined number and the first percentage fails to satisfy the predetermined percentage, means for, writing a first logical-to-physical address entry into a particular memory area of the first memory area or the second memory area after determining whether a consecutive logical-to-physical address entry is stored in the same particular memory area,

wherein the apparatus is configured to cause performing the second multiple access requests faster than performing the first multiple access requests.

17. The apparatus of claim 16 , wherein:

the one or more memories comprise an N-number of memory areas, wherein N is a positive integer;

each of the N-number of memory areas comprises a respective one of bank groups, wherein each of the bank groups comprises an M-number of banks, and wherein M is a positive integer; and

each of the banks is caused to store a different set of every (N×M)th logical-to-physical address entries.

18. The apparatus of claim 16 , comprising a first interface and a second interface,

wherein:

both of the first memory area and the second memory area are volatile memories;

the first memory area is accessible via the first interface;

the second memory area is accessible via the second interface; and

the first one and the second one of the second multiple access requests are performed in parallel.

Assignments (10)
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 058426 FRAME 0815 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0679 →
SECURITY INTEREST Recorded Dec 9, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 058426/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2021
From: MULANI, JAMEER; SUNDRANI, KAPIL; RAI, ANINDYA
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 057984/0441 →