IP Library Granted Patent US 10,540,100
Granted Patent B2
US 10,540,100 · App. 15/949,976 · Granted Jan 21, 2020

Mapping-based wear leveling for non-volatile memory

Inventors: Amir Hossein Gholamipour (Irvine, CA); Chandan Mishra (Irvine, CA); Daniel Helmick (Broomfield, CO)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/0616G06F3/0647G06F3/0679G06F12/1009G06F2212/1036G06F2212/657
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,540,100
App. No.
15/949,976
Granted
Jan 21, 2020
Kind
B2
Abstract

Apparatuses, systems, and methods are disclosed for mapping-based wear leveling for non-volatile memory. An apparatus may include one or more non-volatile memory elements, and a controller. A controller may maintain a logical-to-physical mapping for converting logical addresses to physical addresses. A logical-to-physical mapping may include a translation table that associates groups of logical addresses with groups of physical addresses, and one or more mathematical mappings. A mathematical mapping for a group of logical addresses may associate individual logical addresses within the group of logical addresses with individual physical addresses within a corresponding group of physical addresses. A controller may change at least one mathematical mapping. A controller may move data based on at least one changed mapping.

Claims (38)

1. An apparatus comprising:

one or more non-volatile memory elements; and

a controller configured to:

maintain a logical-to-physical mapping for converting logical addresses to physical addresses, the logical-to-physical mapping comprising a group-to-group translation table that provides any-to-any mapping between groups of logical addresses and groups of physical addresses, and one or more mathematical mappings, wherein a mathematical mapping for a group of logical addresses associates individual logical addresses within the group of logical addresses with individual physical addresses within a corresponding group of physical addresses;

change at least one of the mathematical mappings; and

move data based on the changed at least one mapping.

2. The apparatus of claim 1 , wherein changing at least one of the mathematical mappings swaps pairs of physical addresses associated with pairs of logical addresses, and moving the data comprises swapping data values between pairs of physical addresses.

3. The apparatus of claim 2 , wherein swapping data values between pairs of physical addresses comprises delaying individual pair swaps based on a swap frequency target.

4. The apparatus of claim 3 , wherein a group size for a group of physical addresses is based on the swap frequency target.

5. The apparatus of claim 1 , wherein a mathematical mapping comprises a mathematical transformation for determining at least a portion of a physical address based on at least a portion of a logical address, wherein a mathematical transformation comprises an XOR operation with a placement map.

6. The apparatus of claim 5 , wherein changing a mathematical mapping comprises changing the placement map.

7. The apparatus of claim 5 , wherein changing a mathematical mapping comprises changing a single bit of the placement map.

8. The apparatus of claim 5 , wherein changing a mathematical mapping comprises incrementing the placement map in Gray Code order.

9. The apparatus of claim 1 , wherein the controller is further configured to:

receive a request to perform a memory operation, the request indicating a logical address;

select one of a changed mathematical mapping and an un-changed mathematical mapping to convert the logical address to a physical address; and

perform the memory operation at a physical address based on the selected mathematical mapping.

10. The apparatus of claim 9 , wherein selecting a mapping comprises determining whether data has been moved for the logical address of the memory operation request.

11. The apparatus of claim 1 , wherein changing at least one of the mathematical mappings comprises selecting a new mapping based on metadata, the metadata recording wear for logical addresses and wear for physical addresses.

12. The apparatus of claim 1 , wherein the controller is further configured to merge two groups by updating the translation table, determine a new mathematical mapping for the merged group, and move data based on the new mathematical mapping.

13. The apparatus of claim 1 , wherein the controller is further configured to split a group into two groups by updating the translation table.

14. A method comprising:

storing a logical-to-physical mapping for converting logical addresses to physical addresses, the logical-to-physical mapping comprising a group-to-group translation table that provides any-to-any mapping between groups of logical addresses and groups of physical addresses, and one or more mathematical mappings, wherein a mathematical mapping for a group of logical addresses associates individual logical addresses within the group of logical addresses with individual physical addresses within a corresponding group of physical addresses, a mathematical mapping comprising an XOR map for determining at least a portion of a physical address based on at least a portion of a logical address;

changing an XOR map for at least one of the mathematical mappings; and

swapping data between physical addresses based on the changed XOR map.

15. The method of claim 14 , wherein swapping data comprises delaying individual pair swaps based on a swap frequency target.

16. The method of claim 15 , wherein a group size for a group of physical addresses is based on the swap frequency target.

17. The method of claim 14 , wherein changing the XOR map comprises incrementing the XOR map in Gray Code order.

18. The method of claim 14 , further comprising:

receiving a request to perform a memory operation, the request indicating a logical address;

selecting one of a changed XOR map and an un-changed XOR map to convert the logical address to a physical address; and

performing the memory operation at a physical address based on the selected XOR map.

19. An apparatus comprising:

means for mapping a first portion of a logical address to a group of physical addresses, wherein the means for mapping a first portion of a logical address to a group of physical addresses provides group-to-group, any-to-any mapping between groups of logical addresses and groups of physical addresses;

means for applying an XOR mask to a second portion of the logical address to determine a physical address within the group;

means for changing the XOR mask; and

means for swapping data between physical addresses within the group based on the changed XOR mask.

20. The apparatus of claim 19 , further comprising means for delaying data swaps based on a swap frequency target.

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 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 Sep 27, 2018
From: GHOLAMIPOUR, AMIR HOSSEIN; MISHRA, CHANDAN; HELMICK, DANIEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046997/0394 →
Continuity (1)
Related Publication 20190310780A1 · Oct 10, 2019