Adjusting log likelihood ratio values to compensate misplacement of read voltages
US-2015243363-A1 · Aug 27, 2015 · US
US2016110248A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016110248-A1 |
| Application number | US-201414520034-A |
| Country | US |
| Kind code | A1 |
| Filing date | Oct 21, 2014 |
| Priority date | Oct 21, 2014 |
| Publication date | Apr 21, 2016 |
| Grant date | — |
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.
In at least one embodiment, a controller of a non-volatile memory array iteratively performs a merged background management process independently of any host system's demand requests targeting the memory array. During an iteration of the merged background management process, the controller performs a read sweep by reading data from each of a plurality of page groups within the memory array and recording page group error statistics regarding errors detected by the reading for each page group, where each page group is formed of a respective set of one or more physical pages of storage in the memory array. During the iteration of the merged background management process, the controller employs the page group error statistics recorded during the read sweep in another background management function.
Opening claim text (preview).
What is claimed is: 1 . A method in a data storage system including a non-volatile memory array controlled by a controller, the method comprising: the controller iteratively performing a merged background management process; during an iteration of the merged background management process, the controller performing a read sweep by reading data from each of a plurality of page groups within the memory array and recording page group error statistics regarding errors detected by the reading for each page group, wherein each page group is formed of a respective set of one or more physical pages of storage in the memory array; and during the iteration of the merged background management process, the controller employing the page group error statistics recorded during the read sweep in another background management function. 2 . The method of claim 1 , wherein said another background management function is a page group calibration. 3 . The method of claim 2 , wherein employing the page group error statistics recorded during the read sweep in another background management function includes determining whether to adjust a read threshold voltage shift for each of the plurality of page groups based at least in part on the page group error statistics recorded during the read sweep. 4 . The method of claim 1 , wherein said another background management function includes performing wear leveling on a plurality of blocks of physical storage in the memory array, wherein the plurality of blocks includes the plurality of page groups. 5 . The method of claim 1 , wherein said another background management function includes updating a health grade of a block of a physical storage in the memory array, wherein the block includes the plurality of page groups. 6 . The method of claim 5 , wherein the updating includes updating a respective health grade of each of a plurality of unused blocks of physical storage identified in a ready-to-use data structure that identifies blocks of physical storage available for storing data. 7 . The method of claim 1 , wherein the controller iteratively performing a merged background management process comprises the controller iteratively performing the merged background management process independently of any host system's demand requests targeting the memory array. 8 . A data storage system, comprising: a controller configured to be coupled to a non-volatile memory array, wherein the controller iteratively performs a merged background management process, wherein during an iteration of the merged background management process, the controller performs a read sweep by reading data from each of a plurality of page groups within the memory array and records page group error statistics regarding errors detected by the reading for each page group, wherein each page group is formed of a respective set of one or more physical pages of storage from a same memory block in the memory array, and wherein the controller, during the iteration of the merged background management process, employs the page group error statistics recorded during the read sweep in another background management function. 9 . The data storage system of claim 8 , wherein said another background management function is a page group calibration. 10 . The data storage system of claim 9 , wherein the controller employs the page group error statistics recorded during the read sweep in another background management function by determining whether to adjust a read threshold voltage shift for each of the plurality of page groups based at least in part on the page group error statistics recorded during the read sweep. 11 . The data storage system of claim 8 , wherein said another background management function comprises a wear leveling function performed on a plurality of blocks of physical storage in the memory array, wherein the plurality of blocks includes the plurality of page groups. 12 . The data storage system of claim 8 , wherein said another background management function comprises a health grade update of a block of a physical storage in the memory array, wherein the block includes the plurality of page groups. 13 . The data storage system of claim 12 , wherein: the controller maintains a ready-to-use data structure that identifies blocks of physical storage available for storing data; and the controller is configured to update a respective health grade of each a plurality of unused blocks of physical storage identified in the ready-to-use data structure. 14 . The data storage system of claim 8 , wherein the controller iteratively performs the merged background management process independently of any host system's demand requests targeting the memory array. 15 . The data storage system of claim 8 , and further comprising the non-volatile memory array coupled to the controller. 16 . A program product, comprising: a storage device; and program code stored in the storage device, wherein the program code, when executed by a controller that controls a non-volatile memory array of a data storage system, causes the controller to perform: iteratively performing a merged background management process; during an iteration of the merged background management process, performing a read sweep by reading data from each of a plurality of page groups within the memory array and recording page group error statistics regarding errors detected by the reading for each page group, wherein each page group is formed of a respective set of one or more physical pages of storage in the memory array; and during the iteration of the merged background management process, employing the page group error statistics recorded during the read sweep in another background management function. 17 . The program product of claim 16 , wherein said another background management function is a page group calibration. 18 . The program product of claim 17 , wherein employing the page group error statistics recorded during the read sweep in another background management function includes determining whether to adjust a read threshold voltage shift for each of the plurality of page groups based at least in part on the page group error statistics recorded during the read sweep. 19 . The program product of claim 16 , wherein said another background management function includes performing wear leveling on a plurality of blocks of physical storage in the memory array, wherein the plurality of blocks includes the plurality of page groups. 20 . The program product of claim 16 , wherein said another background management function includes updating a health grade of a block of a physical storage in the memory array, wherein the block includes the plurality of page groups. 21 . The program product of claim 20 , wherein the updating includes updating a respective health grade of each of a plurality of unused blocks of physical storage identified in a ready-to-use data structure that identifies blocks of physical storage available for storing data. 22 . The program product of claim 16 , wherein the controller iteratively performing a merged background management process comprises the controller iteratively performing the merged background management process independently of any host system's demand requests targeting the memory array.
Non-volatile semiconductor memory arrays · CPC title
Monitoring storage devices or systems · CPC title
in individual solid state devices (G06F11/1004 takes precedence) · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Management of blocks · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.