Storage array management employing a merged background management process

US2016110248A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016110248-A1
Application numberUS-201414520034-A
CountryUS
Kind codeA1
Filing dateOct 21, 2014
Priority dateOct 21, 2014
Publication dateApr 21, 2016
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.

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.

First claim

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.

Assignees

Inventors

Classifications

  • G06F3/0688Primary

    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

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 US2016110248A1 cover?
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 …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0688. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 21 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).