Reducing read errors by performing mitigation reads to blocks of non-volatile memory

US2019339902A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2019339902-A1
Application numberUS-201815969431-A
CountryUS
Kind codeA1
Filing dateMay 2, 2018
Priority dateMay 2, 2018
Publication dateNov 7, 2019
Grant date

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.

A data storage system includes a non-volatile memory array controlled by a controller that records a number of a plurality of like operations targeting a first block among a plurality of blocks in the non-volatile memory array. In response to the number of the plurality of like operations satisfying a threshold, the controller initiates a mitigation read request by recording an identifier of a second block in a high priority request in a mitigation data structure. The controller initiates other mitigation read requests by recording identifiers of other blocks of the non-volatile memory in low priority requests in the mitigation data structure. The controller preferentially services the high priority request from the mitigation data structure over the low priority requests, where servicing the high priority request includes performing a mitigation read to the second block.

First claim

Opening claim text (preview).

1 . A method in a data storage system including a non-volatile memory array controlled by a controller, the method comprising: the controller recording a number of a plurality of operations of a same type targeting a first block among a plurality of blocks in the non-volatile memory array; in response to the number of the plurality of operations satisfying a threshold, the controller initiating a mitigation read request by recording an identifier of a different second block in a high priority request in a mitigation data structure; the controller initiating other mitigation read requests by recording identifiers of other blocks of the non-volatile memory array in low priority requests in the mitigation data structure; and the controller preferentially servicing the high priority request from the mitigation data structure over the low priority requests, wherein servicing the high priority request includes performing a mitigation read to the second block. 2 . The method of claim 1 , wherein the plurality of operations comprises a plurality of read operations. 3 . The method of claim 1 , wherein the plurality of operations comprises a plurality of erase operations. 4 . The method of claim 3 , wherein: the non-volatile memory array includes a plurality of planes; and the first and second blocks are both in a same one of the plurality of planes. 5 . The method of claim 1 , and further comprising: the controller determining whether or not performing the mitigation read to the second block transitioned the second block from a higher bit error rate state to a lower bit error rate state; and in response to determining that the mitigation read to the second block did not transition the second block from a higher bit error rate state to a lower bit error rate state, the controller calibrating at least one read voltage threshold for the second block. 6 . The method of claim 1 , the controller initiating other mitigation read requests comprises the controller iteratively initiating the other mitigation read requests based on elapsing of a time interval. 7 . A data storage system, comprising: a controller configured to be coupled to a non-volatile memory array, wherein the controller is configured to perform: the controller recording a number of a plurality of operations of a same type targeting a first block among a plurality of blocks in the non-volatile memory array; in response to the number of the plurality of operations satisfying a threshold, the controller initiating a mitigation read request by recording an identifier of a different second block in a high priority request in a mitigation data structure; the controller initiating other mitigation read requests by recording identifiers of other blocks of the non-volatile memory array in low priority requests in the mitigation data structure; and the controller preferentially servicing the high priority request from the mitigation data structure over the low priority requests, wherein servicing the high priority request includes performing a mitigation read to the second block. 8 . The data storage system of claim 7 , wherein the plurality of operations comprises a plurality of read operations. 9 . The data storage system of claim 7 , wherein the plurality of operations comprises a plurality of erase operations; 10 . The data storage system of claim 9 , wherein: the non-volatile memory array includes a plurality of planes; and the first and second blocks are both in a same one of the plurality of planes. 11 . The data storage system of claim 7 , wherein the controller is further configured to perform: the controller determining whether or not performing the mitigation read to the second block transitioned the second block from a higher bit error rate state to a lower bit error rate state; and in response to determining that the mitigation read to the second block did not transition the second block from a higher bit error rate state to a lower bit error rate state, the controller calibrating at least one read voltage threshold for the second block. 12 . The data storage system of claim 7 , wherein the controller initiating other mitigation read requests comprises the controller iteratively initiating the other mitigation read requests based on elapsing of a time interval. 13 . The data storage system of claim 7 , and further comprising the non-volatile memory array coupled to the controller. 14 . A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a controller to cause the controller to perform: the controller recording a number of a plurality of operations of a same type targeting a first block among a plurality of blocks in the non-volatile memory array; in response to the number of the plurality of operations satisfying a threshold, the controller initiating a mitigation read request by recording an identifier of a different second block in a high priority request in a mitigation data structure; the controller initiating other mitigation read requests by recording identifiers of other blocks of the non-volatile memory array in low priority requests in the mitigation data structure; and the controller preferentially servicing the high priority request from the mitigation data structure over the low priority requests, wherein servicing the high priority request includes performing a mitigation read to the second block. 15 . The program product of claim 14 , wherein the plurality of operations comprises a plurality of read operations. 16 . The program product of claim 14 , wherein the plurality of operations comprises a plurality of erase operations. 17 . The program product of claim 16 , wherein: the non-volatile memory array includes a plurality of planes; and the first and second blocks are both in a same one of the plurality of planes. 18 . The program product of claim 14 , wherein the program instructions further cause the controller to perform: the controller determining whether or not performing the mitigation read to the second block transitioned the second block from a higher bit error rate state to a lower bit error rate state; and in response to determining that the mitigation read to the second block did not transition the second block from a higher bit error rate state to a lower bit error rate state, the controller calibrating at least one read voltage threshold for the second block. 19 . The program product of claim 14 , wherein the controller initiating other mitigation read requests comprises the controller iteratively initiating the other mitigation read requests based on elapsing of a time interval.

Assignees

Inventors

Classifications

  • comprising cells having several storage transistors connected in series · CPC title

  • G06F3/0619Primary

    in relation to data integrity, e.g. data losses, bit errors · CPC title

  • G06F3/0659Primary

    Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Non-volatile semiconductor memory arrays · CPC title

  • Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written · 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 US2019339902A1 cover?
A data storage system includes a non-volatile memory array controlled by a controller that records a number of a plurality of like operations targeting a first block among a plurality of blocks in the non-volatile memory array. In response to the number of the plurality of like operations satisfying a threshold, the controller initiates a mitigation read request by recording an identifier of a …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Nov 07 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).