System and method for managing extended maintenance scheduling in a non-volatile memory

US10133490B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10133490-B2
Application numberUS-201514928732-A
CountryUS
Kind codeB2
Filing dateOct 30, 2015
Priority dateOct 30, 2015
Publication dateNov 20, 2018
Grant dateNov 20, 2018

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.

Systems and methods for managing regular maintenance operations in combination with infrequent extended maintenance operations in a non-volatile memory are disclosed. The method may include executing portions of the extended maintenance over the course of multiple regular maintenance operations. A memory system may include non-volatile memory and a controller configured to execute one or more of the steps of selecting a previously programmed source block for an extended maintenance operation, sequentially selecting a plurality of previously programmed blocks for regular maintenance operations and dividing execution of the extended maintenance operation up such that the extended maintenance operation is completed in parts across the plurality of regular maintenance operations.

First claim

Opening claim text (preview).

We claim: 1. A method of managing data comprising: performing, in a non-volatile memory system having a non-volatile memory and a controller in communication with the non-volatile memory, the following steps: sequentially selecting a plurality of previously programmed source blocks in the non-volatile memory for a plurality of maintenance operations of a first type; selecting an additional previously programmed source block in the non-volatile memory for a maintenance operation of a second type, wherein the first type differs from the second type of maintenance operation; sequentially executing the plurality of maintenance operations of the first type with execution of a single maintenance operation of the second type such that execution of the single maintenance operation of the second type is divided over all of the plurality of maintenance operations of the first type; and wherein sequentially executing the plurality of maintenance operations of the first type with execution of the single maintenance operation of the second type comprises relocating all valid data from the selected plurality of previously programmed source blocks to relocation blocks in combination with writing an amount of host data to other blocks in the non-volatile memory in a same cycle with executing a fraction of the single maintenance operation of the second type, and wherein the fraction is one of a plurality of fractions of the single maintenance operation of the second type. 2. The method of claim 1 , wherein the plurality of maintenance operations of the first type comprises maintenance operations to maintain a predetermined amount of free space in the non-volatile memory. 3. The method of claim 2 , wherein sequentially selecting the plurality of previously programmed source blocks comprises selecting source blocks having a least amount of valid data. 4. The method of claim 2 , wherein the maintenance operation of the second type comprises a maintenance operation triggered by other than a need to maintain a predetermined amount of free space in the non-volatile memory. 5. The method of claim 4 , wherein the of maintenance operation of the second type comprises a maintenance operation triggered in response to a wear leveling criteria. 6. The method of claim 1 , wherein sequentially selecting the plurality of previously programmed source blocks for the maintenance operations of the first type comprises selecting a predetermined number of previously programmed source blocks based on the maintenance operation of the second type. 7. The method of claim 2 , wherein the fraction of the maintenance operation of the second type executed with each of the plurality of maintenance operations of the first type is an equal fraction. 8. The method of claim 1 , wherein each of the plurality of maintenance operations of the first type is executing over a first time span as a schedule cycle including relocating of valid data from a selected source block interleaved with writing a maximum amount of host data to the non-volatile memory, the maximum amount of host data comprising an amount equal to a difference between a full block of data and a total amount of valid data in the selected source block; and wherein the second type of maintenance operation is executing over a second time span greater than the first time span as an extended schedule cycle including relocating of valid data from the additional previously programmed source block interleaved with writing a second maximum amount of host data comprising an amount equal to a difference between the full block of data and a total amount of valid data in the selected additional source block; and further comprising interleaving an equal fraction of the extended schedule cycle with each schedule cycle of the plurality of maintenance operations of the first type. 9. The method of claim 8 , wherein relocating valid data from the selected source block for each maintenance operation of the first type comprises relocating the valid data to a different relocation block in the non-volatile memory than data relocated from the selected additional source block for the second type of maintenance operation. 10. A memory system, comprising: at least one non-volatile memory having a plurality of memory blocks; and a controller in communication with the at least one non-volatile memory, the controller configured to: sequentially select a plurality of previously programmed source blocks in the non-volatile memory for a plurality of regular maintenance operations; select an additional previously programmed source block in the non-volatile memory for an extended maintenance operation, wherein the regular maintenance operation differs from the extended maintenance operation; for each of the plurality of previously programmed source blocks, interleave relocation of valid data from a respective source block with host data writes in a respective regular maintenance operation, wherein each regular maintenance operation is defined by an amount of valid data relocation necessary to free one of the selected plurality of previously programmed source blocks; for the additional previously programmed source block, interleave relocation of valid data from the additional previously programmed source block with host data writes in an extended maintenance operation, wherein the extended maintenance operation is defined by an amount of data relocation necessary to free the additional previously programmed source block; and execute, during execution of each of a plurality of the regular maintenance operations, a portion of the extended maintenance operation such that the extended maintenance operation is completed in parts across the plurality of regular maintenance operations. 11. The memory system of claim 10 , wherein the regular maintenance operations comprise maintenance operations to maintain a predetermined amount of free space in the non-volatile memory. 12. The memory system of claim 11 , wherein the controller is configured to select as the plurality of previously programmed source blocks previously programmed blocks having a least amount of valid data. 13. The memory system of claim 11 , wherein the extended maintenance operation comprises a type of maintenance operation triggered by other than a need to maintain a predetermined amount of free space in the non-volatile memory. 14. The memory system of claim 13 , wherein the extended maintenance operation comprises a maintenance operation triggered in response to a wear leveling criteria. 15. The memory system of claim 13 , wherein the controller is configured to select a predetermined number of previously programmed source blocks for regular maintenance operations based on the type of the extended maintenance operation. 16. The memory system of claim 10 , wherein the controller is configured to execute an equal size portion of the extended maintenance operation during each of the plurality of regular maintenance operations. 17. The memory system of claim 10 , wherein for each regular maintenance cycle the controller is configured to interleave relocation of valid data from the respective source block with writing up to a maximum amount of host data to the non-volatile memory, the maximum amount of host data comprising an amount equal to a difference between a full block of data and a total amount of valid data in the respective source block. 18. The memory system of claim 10 , wherein the non-volatile memory comprises a three dimensional memory array. 19. A method of managing data comprising: per

Assignees

Inventors

Classifications

  • Addressing or allocation; Relocation (program address sequencing G06F9/00; arrangements for selecting an address in a digital store G11C8/00) · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Wear leveling · 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 US10133490B2 cover?
Systems and methods for managing regular maintenance operations in combination with infrequent extended maintenance operations in a non-volatile memory are disclosed. The method may include executing portions of the extended maintenance over the course of multiple regular maintenance operations. A memory system may include non-volatile memory and a controller configured to execute one or more o…
Who is the assignee on this patent?
Sandisk Technologies Inc, Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 20 2018 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).