Open Erase Block Read Automation

US2016306591A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016306591-A1
Application numberUS-201514925943-A
CountryUS
Kind codeA1
Filing dateOct 28, 2015
Priority dateApr 14, 2015
Publication dateOct 20, 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.

Systems, methods, and/or devices are used to automate read operations performed at an open erase block. In one aspect, the method includes: receiving a read command, at a storage device, to read data from non-volatile memory of the storage device. In response to receiving the read command, the method further includes: 1) reading data using a first set of memory operation parameters in response to a determination that the read command is not for reading data from a predefined portion of an open erase block (e.g., an erase block that is determined to be an open erase block) of the non-volatile memory and 2) reading data using a second set of memory operation parameters (i.e., the second set is distinct from the first set) in response to a determination that the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method of managing a storage device that includes non-volatile memory, the method comprising: receiving at the storage device a read command to read data from the non-volatile memory of the storage device; in response to receiving the read command, determining whether the read command is for reading data from a predefined portion of an erase block of the non-volatile memory that is an open erase block; in response to a determination that the read command is not for reading data from the predefined portion of an open erase block of the non-volatile memory, reading data from the non-volatile memory using a first set of memory operation parameters; and in response to a determination that the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory, reading data from the non-volatile memory using a second set of memory operation parameters that is different from the first set of memory operation parameters. 2 . The method of claim 1 , wherein the predefined portion of an open erase block is a last written word line of the open erase block. 3 . The method of claim 1 , wherein the read command corresponds to a respective erase block in the non-volatile memory of the storage device, and the first set of memory operation parameters are memory operation parameters determined in accordance with an age metric or performance metric for the respective erase block corresponding to the read command. 4 . The method of claim 1 , including obtaining the second set of memory operation parameters from a lookup table. 5 . The method of claim 1 , including, prior to sending a read operation command to a non-volatile memory die to read data requested by the received read command, sending to the non-volatile memory die a precursor command to change a mode of reading data from the non-volatile memory, using the second set of memory operation parameters. 6 . The method of claim 1 , including storing, in a status table in volatile memory, last written word line information for each open erase block in the non-volatile memory of the storage device. 7 . The method of claim 6 , wherein determining whether the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory comprises performing a lookup in the status table. 8 . The method of claim 6 , including removing information from the status table with respect to a particular erase block in conjunction with closing the particular erase block. 9 . The method of claim 6 , wherein the status table is stored in volatile memory of a storage controller of the storage device. 10 . The method of claim 6 , wherein the storage device includes a plurality of storage modules, each storage module having a local controller, a plurality of non-volatile memory devices and volatile memory in which a portion of the status table is stored. 11 . The method of claim 10 , wherein the read command is for reading data from a respective storage module of the plurality of storage modules; and determining whether the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory comprises performing a lookup in a corresponding portion of the status table in the respective storage module of the plurality of storage modules. 12 . The method of claim 6 , including storing the status table in non-volatile memory of the storage device in response to detection of a power fail event. 13 . A storage device, comprising: non-volatile memory; one or more processors; and one or more controller modules configured to: receive a read command to read data from the non-volatile memory; determine, in response to receiving the read command, whether the read command is for reading data from a predefined portion of an erase block of the non-volatile memory that is an open erase block; read data from the non-volatile memory using a first set of memory operation parameters in response to a determination that the read command is not for reading data from the predefined portion of an open erase block of the non-volatile memory; and read data from the non-volatile memory of the storage device using a second set of memory operation parameters that is different from the first set of memory operation parameters in response to a determination that the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory. 14 . The storage device of claim 13 , wherein the one or more controller modules include: a command module to receive the read command to read data from the non-volatile memory; a status lookup module to determine, in response to the command module receiving the read command, whether the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory; and a data read module to: read data from the non-volatile memory using the first set of memory operation parameters in response to a determination that the read command is not for reading data from the predefined portion of an open erase block of the non-volatile memory; and read data from the non-volatile memory of the storage device using a second set of memory operation parameters that is different from the first set of memory operation parameters in response to a determination that the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory. 15 . The storage device of claim 13 , further comprising: a status table that stores last written word line information for each open erase block in the non-volatile memory of the storage device; and a plurality of storage modules, each storage module having a local controller and a plurality of non-volatile memory devices, wherein a portion of the status table is stored in each of the storage modules. 16 . The storage device of claim 13 , further comprising: a status table that stores last written word line information for each open erase block in the non-volatile memory of the storage device; a plurality of storage modules, each storage module comprising: a local controller including an instance of the status lookup module and an instance of the data read module; and a plurality of non-volatile memory devices, wherein a portion of the status table is stored in each of the storage modules; wherein: the read command is for reading data from a respective storage module of the plurality of storage modules; and determining whether the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory comprises performing a lookup in a corresponding portion of the status table in the respective storage module of the plurality of storage modules. 17 . The storage device of claim 13 , wherein the predefined portion of an open erase block is a last written word line of the open erase block. 18 . The storage device of claim 13 , wherein the read command corresponds to a respective erase block in the non-volatile memory of the storage device, and the first set of memory operation parameters are memory operation parameters determined in accordance with an age metric or performance metric for the respective erase block corresponding to the read command. 19 . A non-transitory computer-readable storage medium, storing one or more programs configured for execution by one or more processors of a storage device, the one or more programs including

Assignees

Inventors

Classifications

  • G06F3/0679Primary

    Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Improving I/O performance · CPC title

  • G06F3/0653Primary

    Monitoring storage devices or systems · CPC title

  • in block erasable memory, e.g. flash memory · 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 US2016306591A1 cover?
Systems, methods, and/or devices are used to automate read operations performed at an open erase block. In one aspect, the method includes: receiving a read command, at a storage device, to read data from non-volatile memory of the storage device. In response to receiving the read command, the method further includes: 1) reading data using a first set of memory operation parameters in response …
Who is the assignee on this patent?
Sandisk Entpr Ip Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0679. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Oct 20 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).