Wear leveling in non-volatile memories

US10445251B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10445251-B2
Application numberUS-201715627135-A
CountryUS
Kind codeB2
Filing dateJun 19, 2017
Priority dateJul 14, 2015
Publication dateOct 15, 2019
Grant dateOct 15, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods for wear leveling in non-volatile memories (NVMs) are illustrated. One such system includes a first non-volatile memory configured to store information from a host, a second non-volatile memory storing a plurality of cumulative control states, each indicative of a state of random mappings between physical block addresses (PBAs) and logical block addresses (LBAs) of the first non-volatile memory, and a plurality of control states, an access network configured to translate LBAs to PBAs based on the plurality of cumulative control states, a background swap scheduler configured to swap PBAs assigned to LBAs based on the plurality of control states, and a controller configured to sequentially advance through the plurality of cumulative control states and the plurality of control states.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-volatile memory system configured for wear leveling, the system comprising: a first non-volatile memory configured to store information from a host; a second non-volatile memory storing a plurality of cumulative control states, each indicative of a state of random mappings between physical block addresses (PBAs) and logical block addresses (LBAs) of the first non-volatile memory, and a plurality of control states; an access network configured to translate LBAs to PBAs based on the plurality of cumulative control states; a background swap scheduler configured to swap PBAs assigned to LBAs based on the plurality of control states; and a controller configured to sequentially advance through the plurality of cumulative control states and the plurality of control states. 2. The system of claim 1 , wherein the second non-volatile memory comprises a read only memory (ROM). 3. The system of claim 1 : wherein the cumulative control state comprises a first cumulative control state and a second cumulative control state; wherein the control state comprises a first control state and a second control state; and wherein the second cumulative control state is a function of the first cumulative control state and the second control state. 4. The system of claim 3 , wherein the second cumulative control state comprises switch settings used to achieve a sort of a permutation of the first cumulative control state where the permutation is generated using the second control state. 5. The system of claim 1 , further comprising: a mapping state generator configured to change from a first memory map to a second memory map after the background swap scheduler swaps a preselected number of PBAs; wherein the first memory map and the second memory map each comprises a preselected number of PBAs. 6. The system of claim 1 , wherein the background swap scheduler is configured to swap PBAs after a preselected number of accesses of the first non-volatile memory. 7. The system of claim 6 , wherein preselected number of accesses comprises 100 writes of the first non-volatile memory. 8. The system of claim 1 , wherein the access network is further configured to: generate a first PBA candidate from a LBA using a first function; generate a second PBA candidate from the LBA using a second function; and select either the first PBA candidate or the second PBA candidate for data access based on information related to a background swap of data stored at the first PBA candidate and a background swap of data stored at the second PBA candidate. 9. The system of claim 8 , wherein at least one of the first function or the second function comprises a function performed by at least one of a multi-stage interconnection network or a block cipher. 10. A method for wear leveling in a non-volatile memory system, the method comprising: storing information in a first non-volatile memory; storing a plurality of cumulative control states, each indicative of a state of random mappings between physical block addresses (PBAs) and logical block addresses (LBAs) of the first non-volatile memory, and a plurality of control states in a second non-volatile memory; translating LBAs to PBAs based on the plurality of cumulative control states; swapping PBAs assigned to LBAs based on the plurality of control states; and advancing sequentially through the plurality of cumulative control states and the plurality of control states. 11. The method of claim 10 , wherein the storing the plurality of cumulative control states and the plurality of control states comprises: calculating the plurality of cumulative control states and the plurality of control states; and storing the plurality of cumulative control states and the plurality of control states. 12. The method of claim 10 , wherein the second non-volatile memory comprises a read only memory (ROM). 13. The method of claim 10 : wherein the cumulative control state comprises a first cumulative control state and a second cumulative control state; wherein the control state comprises a first control state and a second control state; and wherein the second cumulative control state is a function of the first cumulative control state and the second control state. 14. The method of claim 13 , wherein the second cumulative control state comprises switch settings used to achieve a sort of a permutation of the first cumulative control state where the permutation is generated using the second control state. 15. The method of claim 10 , further comprising: changing from a first memory map to a second memory map after swapping a preselected number of PBAs; wherein the first memory map and the second memory map each comprises a preselected number of PBAs. 16. The method of claim 10 , wherein the swapping PBAs assigned to LBAs based on the control state comprises swapping PBAs after a preselected number of accesses of the first non-volatile memory. 17. The method of claim 16 , wherein preselected number of accesses comprises 100 writes of the first non-volatile memory. 18. The method of claim 10 , further comprising: generating a first PBA candidate from a LBA using a first function; generating a second PBA candidate from the LBA using a second function; and selecting either the first PBA candidate or the second PBA candidate for data access based on information related to a background swap of data stored at the first PBA candidate and a background swap of data stored at the second PBA candidate. 19. The method of claim 18 , wherein at least one of the first function or the second function comprises a function performed by at least one of a multi-stage interconnection network or a block cipher. 20. A non-volatile memory system configured for wear leveling, the system comprising: a first non-volatile means for storing information; a second non-volatile means for storing a plurality of cumulative control states, each indicative of a state of random mappings between physical block addresses (PBAs) and logical block addresses (LBAs) of the first non-volatile means, and a plurality of control states; means for translating LBAs to PBAs based on the plurality of cumulative control states; means for swapping PBAs assigned to LBAs based on the plurality of control states; and means for advancing sequentially through the plurality of cumulative control states and the plurality of control states. 21. The system of claim 20 : wherein the cumulative control state comprises a first cumulative control state and a second cumulative control state; wherein the control state comprises a first control state and a second control state; and wherein the second cumulative control state is a function of the first cumulative control state and the second control state. 22. The system of claim 21 , wherein the second cumulative control state comprises switch settings used to achieve a sort of a permutation of the first cumulative control state where the permutation is generated using the second control state. 23. The system of claim 20 , further comprising: means for changing from a first memory map to a second memory map after swapping a preselected number of PBAs; wherein the first memory map and the second memory map each comprises a preselected number of PBAs. 24. The system of claim 20 , wherein the means for swapping PBAs assigned to LBAs based on the control state comprises means for swapping PBAs after a pre

Assignees

Inventors

Classifications

  • Virtualized environment, e.g. logically partitioned system · CPC title

  • Interleaved addressing · CPC title

  • Space efficiency improvement · CPC title

  • Data position reversal, e.g. bit reversal, byte swapping · CPC title

  • Wear leveling · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10445251B2 cover?
Systems and methods for wear leveling in non-volatile memories (NVMs) are illustrated. One such system includes a first non-volatile memory configured to store information from a host, a second non-volatile memory storing a plurality of cumulative control states, each indicative of a state of random mappings between physical block addresses (PBAs) and logical block addresses (LBAs) of the first…
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/1072. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 15 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).