Background threshold voltage shifting using base and delta threshold voltage shift values in non-volatile memory

US10732846B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10732846-B2
Application numberUS-201916243956-A
CountryUS
Kind codeB2
Filing dateJan 9, 2019
Priority dateSep 29, 2014
Publication dateAug 4, 2020
Grant dateAug 4, 2020

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 computer-implemented method according to one embodiment includes determining, after writing data to a non-volatile memory block, one or more delta threshold voltage shift (TVS Δ ) values. One or more overall threshold voltage shift values for the data written to the non-volatile memory block are calculated, the values being a function of the one or more TVS Δ values to be used when writing data to the non-volatile memory block. The overall threshold voltage shift values are stored. A base threshold voltage shift (TVS BASE ) value, the one or more TVS Δ values, or both the TVS BASE value and the one or more TVS Δ values are re-calibrated during a background health check after a predetermined number of background health checks without calibration are performed.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: determining, after writing data to a non-volatile memory block, one or more delta threshold voltage shift (TVS Δ ) values configured to track temporary changes with respect to changes in the underlying threshold voltage distributions due to retention and/or read disturb errors; calculating one or more overall threshold voltage shift values for the data written to the non-volatile memory block, the one or more overall threshold voltage shift values being a function of the one or more TVS Δ values to be used when writing data to the non-volatile memory block; and storing the one or more overall threshold voltage shift values; and re-calibrating a base threshold voltage shift (TVS BASE ) value, the one or more TVS Δ values, or both the base threshold voltage shift (TVS BASE ) value and the one or more TVS Δ values, during a background health check after a predetermined number of background health checks without calibration are performed. 2. The computer-implemented method as recited in claim 1 , comprising resetting the one or more TVS Δ values when the non-volatile memory block is erased. 3. The computer-implemented method as recited in claim 1 , comprising applying the one or more overall threshold voltage shift values to a read operation of the data stored to the non-volatile memory block upon receiving a read request. 4. The computer-implemented method as recited in claim 1 , comprising: reading one or more TVS values from a non-volatile controller memory; resetting a program/erase cycle count since last calibration after calibrating the one or more overall threshold voltage shift values; and storing the one or more TVS Δ values, and the program/erase cycle count since last calibration to the non-volatile controller memory. 5. The computer-implemented method as recited in claim 1 , wherein each overall threshold voltage shift value equals a sum of a corresponding base threshold voltage shift (TVS BASE ) value and a corresponding TVS Δ value, the TVS BASE value configured to track permanent changes in underlying threshold voltage distributions due to cycling of the non-volatile memory block. 6. The computer-implemented method as recited in claim 1 , wherein the predetermined number of background health checks without calibration is from 1 to 5. 7. The computer-implemented method as recited in claim 6 , wherein a block is marked for re-calibration when a program/erase cycle count since last calibration exceeds a predetermined threshold, wherein blocks marked for re-calibration are forced to be calibrated in a read sweep background health check, and wherein the blocks are unmarked after re-calibration is completed. 8. The computer-implemented method as recited in claim 6 , wherein the re-calibration is not performed when a program/erase cycle count is lower than a predetermined threshold. 9. The computer-implemented method as recited in claim 1 , wherein the one or more TVS Δ values are determined periodically in the background without interrupting normal operations directed at the non-volatile memory block. 10. The computer-implemented method as recited in claim 1 , comprising grouping together physical non-volatile pages which have similar TVS Δ values into a page group. 11. A computer-implemented method, comprising: determining, after writing data to a non-volatile memory block, one or more base threshold voltage shift (TVS BASE ) values configured to track permanent changes in underlying threshold voltage distributions due to cycling of the non-volatile memory block; calculating an overall threshold voltage shift value for the data written to the non-volatile memory block, the overall threshold voltage shift value being a function of the one or more TVS BASE values; and storing the overall threshold voltage shift value. 12. The computer-implemented method as recited in claim 11 , comprising resetting the one or more TVS Δ values when the non-volatile memory block is erased. 13. The computer-implemented method as recited in claim 11 , comprising determining, after the writing of data to the non-volatile memory block, one or more delta threshold voltage shift (TVS Δ ) values configured to track temporary changes, with respect to changes in the underlying threshold voltage distributions due to retention and/or read disturb errors. 14. The computer-implemented method as recited in claim 11 , comprising applying the overall threshold voltage shift value to a read operation of the data stored to the non-volatile memory block upon receiving a read request. 15. The computer-implemented method as recited in claim 11 , comprising: reading one or more TVS values from a non-volatile controller memory; resetting a program/erase cycle count since last calibration after calibrating the overall threshold voltage shift value; and storing the one or more TVS BASE values and the program/erase cycle count since last calibration to the non-volatile controller memory. 16. The computer-implemented method as recited in claim 11 , comprising re-calibrating the one or more TVS BASE values during a background health check after a predetermined number of background health checks without calibration are performed, wherein the predetermined number of background health checks without calibration is from 1 to 5. 17. The computer-implemented method as recited in claim 11 , wherein at least one of the one or more TVS BASE values and the one or more TVS Δ values are determined periodically in the background without interrupting normal operations directed at the non-volatile memory block. 18. The computer-implemented method as recited in claim 11 , comprising: grouping together physical non-volatile pages which have similar TVS BASE and TVS Δ values into a page group; and creating a mapping that correlates the TVS BASE values as tracked per page group to actual read voltage shift values. 19. A computer program product for managing threshold voltage shifts in non-volatile memory, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing circuit to cause the processing circuit to: calculate, by the processing circuit, an overall threshold voltage shift value for data written to a non-volatile memory block, the overall threshold voltage shift value being a function of a base threshold voltage shift (TVS BASE ) value and delta threshold voltage shift (TVS Δ ) value to be used when writing data to the non-volatile memory block, the TVS BASE value representing a permanent change in underlying threshold voltage distributions due to cycling of the non-volatile memory block, the TVS Δ value representing a temporary change with respect to a change in the underlying threshold voltage distributions due to retention and/or read disturb errors; and apply, by the processing circuit, the overall threshold voltage shift value to a read operation of the data stored to the non-volatile memory block upon receiving a read request. 20. The computer program product as recited in claim 19 , comprising program instructions executable by the processing circuit to cause the processing circuit to re-calibrate the one or more TVS BASE values during a background health check after a predetermined number of background health checks without calibration are performed, wherein the predetermined number of background health checks without calibration is from 1 to 5.

Assignees

Inventors

Classifications

  • Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written · CPC title

  • Online test · CPC title

  • Circuits for erasing electrically, e.g. erase voltage switching circuits · CPC title

  • Programming or data input circuits · CPC title

  • Non-volatile semiconductor memory arrays · 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 US10732846B2 cover?
A computer-implemented method according to one embodiment includes determining, after writing data to a non-volatile memory block, one or more delta threshold voltage shift (TVS Δ ) values. One or more overall threshold voltage shift values for the data written to the non-volatile memory block are calculated, the values being a function of the one or more TVS Δ values to be used when writing d…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G11C16/3427. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 04 2020 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).