Apparatus and method for endurance of non-volatile memory banks via wear leveling and outlier compensation

US11670352B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11670352-B1
Application numberUS-202117344820-A
CountryUS
Kind codeB1
Filing dateJun 10, 2021
Priority dateJun 4, 2021
Publication dateJun 6, 2023
Grant dateJun 6, 2023

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.

Endurance mechanisms are introduced for memories such as non-volatile memories for broad usage including caches, last-level cache(s), embedded memory, embedded cache, scratchpads, main memory, and storage devices. Here, non-volatile memories (NVMs) include magnetic random-access memory (MRAM), resistive RAM (ReRAM), ferroelectric RAM (FeRAM), phase-change memory (PCM), etc. In some cases, features of endurance mechanisms (e.g., randomizing mechanisms) are applicable to volatile memories such as static random-access memory (SRAM), and dynamic random-access memory (DRAM). The endurance mechanisms include a wear leveling scheme that uses index rotation, outlier compensation to handle weak bits, and random swap injection to mitigate wear out attacks.

First claim

Opening claim text (preview).

We claim: 1. An apparatus comprising: a memory organized in a plurality of memory banks, wherein the plurality of memory banks comprises memory bit-cells, wherein an individual memory bit-cell includes a non-volatile material which includes one of: non-linear polar material, a magnet, or a resistive material, wherein an individual memory bank has a plurality of words, and wherein an individual word has a valid bit; and a memory controller coupled to the memory, wherein the memory controller includes one or more circuitries to improve memory endurance of the memory via wear leveling and outlier compensation, wherein the outlier compensation is according to a value of the valid bit, and wherein the valid bit indicates whether the individual word is reliable. 2. The apparatus of claim 1 , wherein the individual memory bank of the plurality of memory banks includes N cache lines or words and a gap word. 3. The apparatus of claim 2 , wherein the memory controller is to issue a request a write to a first address of the individual memory bank or a read from a second address of the individual memory bank, and wherein the one or more circuitries are to cause a swap of the gap word with an adjacent cache line or word in response to the request. 4. The apparatus of claim 3 , wherein the gap word has a gap pointer, wherein the one or more circuitries is to increment the gap pointer after the swap. 5. The apparatus of claim 1 , wherein the non-linear polar material includes one of: ferroelectric material, paraelectric material, or non-linear dielectric. 6. The apparatus of claim 1 , wherein the wear leveling is with random swap injection. 7. The apparatus of claim 6 comprises a random number generator to generate a random number between a first number and a second number for the random swap injection. 8. The apparatus of claim 7 , wherein the individual memory bank of the plurality of memory banks includes N cache lines or words and a gap word. 9. The apparatus of claim 8 , wherein the memory controller is to issue a request a write to a first address of the individual memory bank or a read from a second address of the individual memory bank, wherein the one or more circuitries are to cause a swap of the gap word with a cache line or word in response to the request and based on the random number being less than a second threshold. 10. The apparatus of claim 9 , wherein the gap word has a gap pointer, wherein the one or more circuitries is to increment the gap pointer after the swap, and wherein the second threshold is substantially 0.5. 11. The apparatus of claim 1 , wherein the memory controller is to improve the memory endurance of the memory according to a value of the valid bit. 12. The apparatus of claim 11 , wherein the memory controller is to read the value of the valid bit for the individual word of the individual memory bank. 13. The apparatus of claim 11 , wherein the memory controller is to lookup a redundant memory for data if the value of the valid bit indicates it is set. 14. The apparatus of claim 13 , wherein the memory controller is to apply an error correction code to the data from the redundant memory or from the individual word if the value of the valid bit indicates it is set. 15. The apparatus of claim 11 , wherein the valid bit is stored in a first SRAM. 16. The apparatus of claim 13 , wherein the redundant memory comprises a second SRAM. 17. A method to improve memory endurance of a memory via wear leveling, the method comprising: requesting a write to an address of an individual memory bank or a read to the address of the individual memory bank, wherein the individual memory bank is part of a plurality of memory banks comprising memory bit cells, wherein an individual memory bit-cell includes a capacitor comprising non-linear polar material, wherein requesting the write or the read includes a reference to the individual memory bank, and wherein the individual memory bank of the plurality of memory banks includes N cache lines or words and a gap word; incrementing a number of references by one upon requesting the write or the read; comparing the number of references with a threshold; swapping the gap word with an adjacent cache line or word in response to the number of references is equal to the threshold; requesting a read to an address of the individual memory bank; reading a value of a valid bit for a cache line or word from among the N cache lines or words, in response to requesting the read; looking up a redundant memory for data if the value of the valid bit indicates it is set; and applying an error correction code to the data from the redundant memory or data from the word or from the cache line or word if the value of the valid bit indicates it is set. 18. The method of claim 17 , wherein the valid bit is stored in a first SRAM, and wherein the redundant memory comprises a second SRAM. 19. A system comprising: a memory organized in a plurality of memory banks, wherein the plurality of memory banks comprises memory bit-cells, wherein an individual memory bit-cell includes a non-volatile material includes one of: non-linear polar material, a magnet, or a resistive material, wherein an individual memory bank has a plurality of words, and wherein an individual word has a valid bit; a processor circuitry coupled to the memory; a memory controller coupled to the memory, wherein the memory controller includes one or more circuitries to improve memory endurance of the memory via wear leveling and outlier compensation, wherein the outlier compensation is according to a value of the valid bit, and wherein the valid bit indicates whether the individual word is reliable; and a communication interface to allow the processor circuitry to communicate with another device. 20. The system of claim 19 , wherein the memory controller is to: read the value of the valid bit for the individual word of the individual memory bank; lookup a redundant memory for data if the value of the valid bit indicates it is set; and apply an error correction code to the data from the redundant memory or from the individual word if the value of the valid bit indicates it is set, wherein the valid bit is stored in a first SRAM, and wherein the redundant memory comprises a second SRAM.

Assignees

Inventors

Classifications

  • G11C11/221Primary

    using ferroelectric capacitors · CPC title

  • in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence) · CPC title

  • Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically · CPC title

  • Wear leveling · CPC title

  • Protection circuits or methods · 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 US11670352B1 cover?
Endurance mechanisms are introduced for memories such as non-volatile memories for broad usage including caches, last-level cache(s), embedded memory, embedded cache, scratchpads, main memory, and storage devices. Here, non-volatile memories (NVMs) include magnetic random-access memory (MRAM), resistive RAM (ReRAM), ferroelectric RAM (FeRAM), phase-change memory (PCM), etc. In some cases, featu…
Who is the assignee on this patent?
Kepler Computing Inc
What technology area does this patent fall under?
Primary CPC classification G11C11/221. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 06 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).