Intelligent refresh of 3D NAND

US9747158B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9747158-B1
Application numberUS-201715406484-A
CountryUS
Kind codeB1
Filing dateJan 13, 2017
Priority dateJan 13, 2017
Publication dateAug 29, 2017
Grant dateAug 29, 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 for processing blocks of flash memory to decrease raw bit errors from the flash memory is provided. The method includes identifying one or more blocks of the flash memory for a refresh operation and writing information regarding the identified blocks, to a data structure. The method includes issuing background reads to the identified blocks, according to the data structure, as the refresh operation. The method may be embodied on a computer readable medium. In some embodiments the background reads may be based on a time based refresh responsive to an increase in raw bit error count in the flash memory over time.

First claim

Opening claim text (preview).

What is claimed is: 1. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising: identifying a plurality of blocks of flash memory for a refresh operation; writing information regarding the identified blocks to a data structure accessible by a hardware engine that sequences background reads of the identified blocks as the refresh operation; and distributing the background reads to a plurality of channels communicating with the flash memory, wherein the plurality of channels has arbitration of read operations for user data, read operations for metadata, write operations for user data, write operations for metadata, background maintenance operations, erase operations, and the background reads. 2. The computer-readable media of claim 1 , wherein the method further comprises: receiving a request to read a file; and determining portions of data belonging to the file, wherein the identifying the plurality of blocks comprises determining blocks of the flash memory that include the portions of data belonging to the file. 3. The computer-readable media of claim 1 , wherein the identifying the plurality of blocks of the flash memory comprises identifying blocks of the flash memory that include filesystem metadata. 4. The computer-readable media of claim 1 , wherein the method further comprises: communicating a time interval to a hardware engine that cycles the background reads according to the time interval, and wherein the background reads avoids any transfer of data from the identified blocks. 5. The computer-readable media of claim 1 , wherein the method further comprises: identifying further blocks of the flash memory for the refresh operation; and updating the data structure with information regarding the further blocks. 6. A storage system, comprising: a flash memory; one or more processors, configurable to identify blocks of the flash memory for a refresh operation and the one or more processors configurable to write information regarding the identified blocks; a hardware engine, configurable to sequence background reads of the identified blocks according to the information as the refresh operation; an arbiter, configurable to arbitrate read operations for user data or metadata, write operations for user data or metadata, background maintenance operations, erase operations, and the background reads, for a plurality of channels; and a further memory configurable to hold a data structure, wherein the one or more processors are configurable to write the information regarding the identified blocks to the data structure. 7. The storage system of claim 6 , wherein the one or more processors is configurable to determine which blocks of the flash memory have portions of data that belong to a file, responsive to receiving a request to read the file. 8. The storage system of claim 6 , wherein the one or more processors are configurable to determine which blocks of the flash memory have filesystem metadata. 9. The storage system of claim 6 , wherein the hardware engine is configurable to sequence the background reads in a cycle within a predetermined time interval, and wherein the background reads disregard read data values. 10. The storage system of claim 6 , further comprising: a plurality of hardware engines, distributed throughout the storage system; and a plurality of data structures, distributed throughout the storage system, each one of the plurality of data structures associated with one of the hardware engines. 11. The storage system of claim 6 , further comprising: the one or more processors further configurable to identify further blocks of the flash memory for the refresh operation and configurable to update the data structure regarding the further blocks and wherein the flash memory is three dimensional (3D) flash memory.

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory arrays · CPC title

  • Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written · CPC title

  • Parity data distribution in semiconductor storages, e.g. in SSD · CPC title

  • using signal quality detector · CPC title

  • in relation to availability · 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 US9747158B1 cover?
A method for processing blocks of flash memory to decrease raw bit errors from the flash memory is provided. The method includes identifying one or more blocks of the flash memory for a refresh operation and writing information regarding the identified blocks, to a data structure. The method includes issuing background reads to the identified blocks, according to the data structure, as the refr…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G11C16/3427. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 29 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).