Data storage device including nonvolatile memory device and operating method thereof

US9798657B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9798657-B2
Application numberUS-201514825853-A
CountryUS
Kind codeB2
Filing dateAug 13, 2015
Priority dateOct 15, 2014
Publication dateOct 24, 2017
Grant dateOct 24, 2017

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.

A method of operating a data storage device includes programming non-fully programmed memory blocks at a point in time when a reference time elapses from a point in time when each of the memory blocks is physically erased, acquiring a first interval and a second interval, calculating a disturb index based on the first interval and the second interval, selecting a victim block for garbage collection based on the disturb index, and copying valid page data of the victim block into a free block. The first interval is defined by a point in time when each of the memory blocks is physically erased and a point in time when each of the memory blocks is fully programmed. The second interval is an interval during which a fully programmed state is maintained after a point in time when each of the memory blocks is fully programmed.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of operating a data storage device, the data storage device including a nonvolatile memory device and a memory controller configured to control the nonvolatile memory device, the nonvolatile memory device including a plurality of memory blocks on a substrate, the memory blocks each including a plurality of cells strings on the substrate and formed in a direction perpendicular to the substrate, the method comprising: programming N memory blocks with dummy data in response to a reference time elapsing from a point in time when each of the N memory blocks is physically erased, the N memory blocks, before being programmed with the dummy data, being not fully programmed with user data, dummy data, or the user data and the dummy data, from among the memory blocks, N being an integer greater than 1 and less than a number of the plurality of memory blocks in the nonvolatile memory device; acquiring a first interval and a second interval from each of the N memory blocks, the first interval being defined by the point in time when each of the N memory blocks is physically erased and a point in time when each of the N memory blocks is fully programmed, the second interval being an interval during which a fully programmed state is maintained in the N memory blocks after the point in time when each of the N memory blocks is fully programmed; calculating a disturb index for each of the N memory blocks, respectively, based on the first interval and the second interval, a value of the disturb index increasing as the first interval increases and as the second interval decreases; selecting a victim block among the N memory blocks for garbage collection based on the disturb index; and copying valid page data of the victim block into a free block among the memory blocks. 2. The method of claim 1 , wherein the selecting the victim block includes: determining whether a value of the disturb index is 0 for at least one of the N memory blocks. 3. The method of claim 2 , wherein the selecting the victim block includes: first selecting memory blocks having disturb index values of 0 as eligible victim blocks from among the N memory blocks. 4. The method of claim 3 , wherein the selecting the victim block includes: determining the victim block based on one of the N memory blocks that has a most number of invalid pages, from among the N memory blocks of which the disturb index values are 0. 5. The method of claim 3 , wherein a memory block that is not fully programed with user data, dummy data, or the user data and the dummy data is not selected as the victim block. 6. The method of claim 2 , wherein, if none of the N memory blocks have disturb index values that equal 0, the selecting the victim block includes: selecting one of the N memory blocks having a lowest value for the disturb index among the N memory blocks as the victim block. 7. The method of claim 1 , wherein the selecting the victim block includes: determining whether a number of invalid pages is greater than a reference value in each of the N memory blocks. 8. The method of claim 7 , wherein the selecting the victim block includes: selecting a memory block, of which the disturb index is 0, from among those of the N memory blocks that each have more invalid pages than the reference value as the victim block. 9. The method of claim 1 , wherein the calculating the disturb index includes assigning weights respectively added to the first interval and the second interval according to the first interval and the second interval. 10. The method of claim 1 , further comprising: programming pages of the free block, which are not programmed, with dummy data at a point in time when a reference time elapses from a point in time when the free block is physically erased, if the free block is not fully programmed. 11. The method of claim 1 , further comprising: programming pages of the free block, which are not programmed, with dummy data, if the free block is not fully programmed and a sudden power-off event or a power-off reset event is issued. 12. A method of operating a data storage device, the data storage device including a nonvolatile memory device and a controller configured to control the nonvolatile memory device, the nonvolatile memory device including a plurality of memory blocks on a substrate, the method comprising: performing a dummy closing operation on N memory blocks that are not fully programmed among the plurality of memory blocks, N being an integer greater than 1 and less than a number of the plurality of memory blocks, the dummy closing operation including programming the N memory blocks with dummy data at respective times corresponding to first intervals after respective erase times for each of the N memory blocks; selecting a victim block among the N memory blocks based on one of a selected second interval among second intervals and a selected disturb index among disturb indexes for the N memory blocks, the second intervals corresponding to respective times in which each of the N memory blocks are maintained in a fully-programmed state after the performing the dummy closing operation, the disturb indexes being calculated by the controller for the N memory blocks based on the first intervals and the second intervals of the N memory blocks; and performing garbage collection on the victim block, the garbage collection including copying valid page data of the victim block into a free block among the memory blocks. 13. The method of claim 12 , wherein the selecting the victim block includes determining whether a value of one of the disturb indexes is 0 for at least one of the N memory blocks, and selecting the victim block based on one of, first selecting memory blocks having disturb indexes of 0 as eligible victim blocks among the N memory blocks and determining the victim block based on one of the eligible victims blocks that has a most invalid pages, and selecting one of the N memory blocks having a lowest disturb index among the disturb indexes as the victim block if none of the N memory blocks have disturb indexes of 0. 14. The method of claim 12 , wherein the selecting the victim block includes first selecting memory blocks in which the second intervals are greater than a threshold value as eligible victim blocks, and selecting one of the eligible victim blocks that has a greatest number of invalid pages among the eligible victim blocks as the victim block. 15. The method of claim 12 , wherein the selecting the victim block includes determining whether each of the N memory blocks includes a number of invalid pages that is greater than a threshold value, and one of randomly selecting the victim block among the N memory blocks that include more invalid pages than the threshold value, and selecting one of the N memory blocks that has a smallest value for the disturb index if each of the N memory blocks has fewer invalid pages than the threshold value. 16. The method of claim 12 , wherein the nonvolatile memory device is a three-dimensional nonvolatile memory device, the plurality of memory blocks each include a plurality of strings on the substrate, and the plurality of strings each have one of a U-shaped pillar and a vertical pillar on the substrate. 17. The method of claim 12 , wherein the N memory blocks, before the performing the dummy closing operation, are not fully programmed with user data, dummy data, or the user data and the dummy data, from among the memory blocks, and the selecting the victim block includes acquiring the second interva

Assignees

Inventors

Classifications

  • Cleaning, compaction, garbage collection, erase control · CPC title

  • Garbage collection, i.e. reclamation of unreferenced memory · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · CPC title

  • Improving the reliability of storage systems · CPC title

  • in block erasable memory, e.g. flash memory · 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 US9798657B2 cover?
A method of operating a data storage device includes programming non-fully programmed memory blocks at a point in time when a reference time elapses from a point in time when each of the memory blocks is physically erased, acquiring a first interval and a second interval, calculating a disturb index based on the first interval and the second interval, selecting a victim block for garbage collec…
Who is the assignee on this patent?
Moon Sangkwon, Lee Seung-Yeon, Lee Heewon, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 24 2017 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).