Non-volatile memory with efficient programming
US-2017200501-A1 · Jul 13, 2017 · US
US9858002B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9858002-B1 |
| Application number | US-201615154501-A |
| Country | US |
| Kind code | B1 |
| Filing date | May 13, 2016 |
| Priority date | May 13, 2016 |
| Publication date | Jan 2, 2018 |
| Grant date | Jan 2, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are disclosed for open block stability scanning. When a solid state memory block remains in an open state, where the block is only partially filled with written data, for a prolonged period of time, a circuit may perform a scan on the block to determine the stability of the stored data. When the scan indicates that the data is below a stability threshold, the data may be refreshed by reading the data and writing it to a new location. When the scan indicates that the data is above a stability threshold, the circuit may extend the time period in which the block may remain in the open state.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a circuit configured to: monitor an amount of time a block of a solid-state memory remains in an open state where the block has not been fully filled with data; in response to reaching an open block time threshold: perform a scan on the block to determine a stability value of data in the block; and extend the open block time threshold without refreshing the data when the stability value indicates that the data is stable. 2. The apparatus of claim 1 further comprising: the scan includes: read the data from the block; detect a number of errors in the data; determine the stability value based on the number of errors; and the circuit is configured to extend the open block time threshold without refreshing the data when the stability value is above a first stability threshold value. 3. The apparatus of claim 2 further comprising reading data from the block for the scan includes reading N most recently written pages from the block, where N is an integer value less than a number of pages in the block. 4. The apparatus of claim 2 comprising the circuit further configured to refresh the data when the stability value is below the first stability threshold value, including: read the data from the block; and write the data to a new location. 5. The apparatus of claim 4 comprising the circuit further configured to extend the open block time threshold by a variable amount based on how close the stability value is to the first stability threshold value. 6. The apparatus of claim 4 comprising the circuit further configured to: compare the stability value to a plurality of tiered stability thresholds including the first stability threshold value; and extend the open block time threshold by different amounts based on which of the tiered stability thresholds the stability value exceeds. 7. The apparatus of claim 1 further comprising: the scan includes: read the data from the block; determine whether error correction failed on a first read attempt; and determine the stability value to indicate the data is not stable when the error correction failed on the first read attempt. 8. A method comprising: monitoring an amount of time a block of a solid-state memory remains in an open state where the block has not been fully filled with data; in response to reaching an open block time threshold: performing a scan on the block to determine a stability value of data in the block; and extending the open block time threshold without refreshing the data when the stability value is above a first stability threshold value. 9. The method of claim 8 further comprising: the scan includes: reading the data from the block; detecting a number of errors in the data; comparing the number of errors to an error correction code capability; and determining the stability value based on the comparison. 10. The method of claim 9 further comprising reading data from the block for the scan includes reading N most recently written pages from the block, where N is an integer value less than a number of pages in the block. 11. The method of claim 8 further comprising: the scan includes: reading the data from the block; detecting a read retry rate required to read the data; and determining the stability value based on read retry rate. 12. The method of claim 8 further comprising: refreshing the data when the stability value is below the first stability threshold value, including: reading the data from the block; and writing the data to a new location. 13. The method of claim 8 further comprising: extending the open block time threshold by a variable amount based on how close the stability value is to the first stability threshold value. 14. The method of claim 8 further comprising: comparing the stability value to a plurality of tiered stability thresholds including the first stability threshold value; and extending the open block time threshold by different amounts based on which of the tiered stability thresholds the stability value exceeds. 15. An apparatus comprising: a nonvolatile solid state memory; a circuit configured to: monitor an amount of time a block of the solid-state memory remains in an open state where the block includes unwritten pages; in response to reaching an open block time threshold: perform a scan on the block to determine a number of errors encountered in data of the block; and extend the open block time threshold without refreshing the data when the number of errors is below a first stability threshold value. 16. The apparatus of claim 15 further comprising reading data from the block for the scan includes reading N most recently written pages from the block, where N is an integer value less than a number of pages in the block. 17. The apparatus of claim 15 comprising the circuit further configured to refresh the data when the number of errors is above the first stability threshold value, including: read the data from the block; and write the data to a new location, including to free pages of the block. 18. The apparatus of claim 15 comprising the circuit further configured to extend the open block time threshold by a variable amount based on how close the number of errors is to the first stability threshold value. 19. The apparatus of claim 15 comprising the circuit further configured to: extend the open block time threshold by a first amount when the is below the first stability threshold value; and extend the open block time by a second amount longer than the first amount when the number of errors is below a second stability threshold value. 20. The apparatus of claim 15 further comprising the first stability threshold value is based on an error correction code (ECC) capability of the apparatus.
Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step · CPC title
Monitoring storage devices or systems · CPC title
Management of blocks · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.