Calibration of open blocks in nand flash memory
US-2020051621-A1 · Feb 13, 2020 · US
US11226761B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11226761-B2 |
| Application number | US-202016858390-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 24, 2020 |
| Priority date | Apr 24, 2020 |
| Publication date | Jan 18, 2022 |
| Grant date | Jan 18, 2022 |
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.
The present disclosure generally relates to methods of operating storage devices. The storage device comprises a controller and a storage unit divided into a plurality of zones. Each zone comprises a plurality of dies, where each die comprises a plurality of erase blocks. Each erase block comprises a plurality of wordlines. One or more wordlines are grouped together in bins. Each bin is associated with a susceptibility weight, a read count weight, a timer count weight, and a running total weight. A weight counter table is stored in the controller, and tracks the various weights associated with each bin. When a sum of the weights of each bin reaches or exceeds a predetermined value, the controller closes the erase block to avoid an unacceptable quantity of bit error accumulation. The bit error susceptibility of an erase block decreases after the erase block is at capacity or is closed.
Opening claim text (preview).
What is claimed is: 1. A storage device, comprising: a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of zones, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks, and each of the plurality of erase blocks comprising a plurality of wordlines; and a controller coupled to the non-volatile storage unit, wherein the controller is configured to: sequentially write data associated with one or more first commands to one or more wordlines of a plurality of wordlines of a partially full first erase block of a first zone of the plurality of zones, the first erase block having a writeable capacity, wherein the data associated with the one or more first commands partially fills the first erase block to a first program point less than the writeable capacity; receive one or more read commands to non-sequentially read data from the plurality of wordlines of the first erase block, wherein: each of the one or more read commands is individually associated with a weight of a plurality of first weights, at least two weights of the plurality of first weights associated with the one or more read commands are different, and each weight of the plurality of first weights is based on a closeness to the first program point of data targeted by a corresponding read command of the one or more read commands, a read count of the data targeted by the corresponding read command, and an amount of time the first erase block has been open; and close the first erase block when a sum of the plurality of first weights associated with the one or more read commands accumulates to a predetermined value. 2. The storage device of claim 1 , wherein each weight of the plurality of first weights increases each time a predetermined amount of time has passed. 3. The storage device of claim 1 , wherein each weight of the plurality of first weights is higher the closer a targeted data of the corresponding read command is to the first program point, and wherein each of the plurality of first weights indicates a level of susceptibility to errors. 4. The storage device of claim 1 , wherein the controller is further configured to: write data associated with one or more second commands to the first erase block sequentially, wherein the data associated with the one or more second commands partially fills the first erase block to a second program point less than the writeable capacity; and receive one or more second read commands to read data from the plurality of wordlines of the first erase block non-sequentially, wherein: each of the one or more second read commands is associated with a new weight of a plurality of second weights, at least two weights of the plurality of second weights associated with the one or more read second commands are different, and each weight of the plurality of second weights is based on a closeness of data targeted by a corresponding second read command of the one or more second read commands to the second program point, a read count of the data targeted by the corresponding second read command, and the amount of time the first erase block has been open. 5. The storage device of claim 1 , wherein the plurality of wordlines are grouped into two or more bins, wherein the data associated with the one or more first commands is stored in a first bin of the two or more bins and data associated with one or more second commands is stored in a second bin of the two or more bins. 6. The storage device of claim 5 , wherein the first bin is associated with a first weight of the plurality of first weights and the second bin is associated with a second weight of the plurality of first weights, wherein the first weight increases each time a command is received to read the data stored in the first bin, and wherein the second weight increases each time a command is received to read the data stored in the second bin. 7. A storage device, comprising: a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of zones, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks; and a controller coupled to the non-volatile storage unit, wherein the controller is configured to: receive a plurality of read commands to non-sequentially read data from a partially full first erase block of a first zone of the plurality of zones, wherein the first erase block comprises a plurality of wordlines, the plurality of wordlines being grouped into two or more bins, wherein each bin of the two or more bins is associated with a weight of a plurality of weights, and wherein each weight of the plurality of weights is based on a location of the grouped wordlines of each bin within the first erase block and an amount of time the first erase block has been open; increase each of the plurality of weights each time a predetermined amount of time has passed; and close the first erase block when a sum of the plurality of weights associated with the two or more bins accumulates to a predetermined value or when one or more write commands are received to fill the first erase block to a full write capacity. 8. The storage device of claim 7 , wherein the weight of each bin of the two or more bins is increased each time a read command is received to read data stored in the corresponding bin. 9. The storage device of claim 7 , wherein a first bin of the two or more bins disposed closest to a program point of the partially full first erase block than others of the two or more bins has a higher weight than a second bin of the two or more bins disposed closer to a beginning of the partially full first erase block than the others of the two or more bins. 10. The storage device of claim 7 , wherein closing the first erase block when the one or more write commands are received to fill the first erase block to the full write capacity lowers the weight of each bin of the two or more bins. 11. The storage device of claim 10 , wherein each bin of the two or more bins has a same weight value upon closing the first erase block. 12. The storage device of claim 7 , wherein the weights of the bins vary between 0.5 to 3, and wherein the predetermined value is 1000. 13. The storage device of claim 7 , wherein the weight of each bin of the two or more bins indicate; a level of susceptibility to errors. 14. A storage device, comprising: a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of zones, wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks, and each of the plurality of erase blocks comprising a plurality of wordlines, wherein the plurality of wordlines of each erase block are grouped into two or more bins; and a controller coupled to the non-volatile storage unit, wherein the controller is configured to: receive one or more first read commands to read data from wordlines grouped in a first bin of a partially full first erase block of a first zone of the plurality of zones, the first bin being associated with a first weight; increase the first weight associated with the first bin after a predetermined amount of time has elapsed for a first time; receive one or more second read commands to read data from wordlines grouped in a second bin of the partially full first erase block, the second bin being associated with a second weight different than the first weight; increase the first weight associ
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Management of blocks · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.