Method and system for asynchronous die operations in a non-volatile memory

US9734911B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9734911-B2
Application numberUS-201313826848-A
CountryUS
Kind codeB2
Filing dateMar 14, 2013
Priority dateDec 31, 2012
Publication dateAug 15, 2017
Grant dateAug 15, 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 mass storage memory system and method of operation are disclosed. The memory system includes an interface adapted to receive data from a host system, a plurality of memory die and a controller, where the controller is configured to read or write data synchronously across a plurality of die connected to different channels based on a first command, and to read or write data asynchronously and independently in different die in the same channel based on a second command. The controller may program data in a maximum unit of programming for a single memory die. The controller may be a plurality of controllers each configured to select which die of an exclusive subset of die to write data based on characteristics of the die in the subset. The plurality of die may be multi-layer, and multi-partition per layer, flash memory die.

First claim

Opening claim text (preview).

We claim: 1. A mass storage memory system, comprising: an interface adapted to receive data from a host system; a plurality of memory die, wherein the plurality of memory die are arranged in respective groups and each respective group is connected to a respective one of a plurality of control channels; and a controller in communication with the interface and the plurality of memory die over the plurality of control channels, the controller configured to: in response to receiving a first request from the host system, read or write data fully in parallel in a portion of the plurality of memory die connected to different ones of the plurality of control channels; and in response to receiving a second request from the host system, read or write data independently and asynchronously with concurrent operations in different memory die in a same one of the plurality of control channels. 2. The mass storage memory system of claim 1 , wherein the controller is configured to manage data writes in an amount equal to a maximum unit of programming for an individual one of the plurality of memory die. 3. The mass storage memory system of claim 2 , wherein the controller is configured to select a memory die within which to write received data based on criteria independent of a host logical block address (LBA) of the received data. 4. The mass storage memory system of claim 3 , wherein the criteria comprises a memory die having a shortest pending data write queue. 5. The mass storage memory system of claim 3 , wherein at least one of the plurality of memory die comprises: a plurality of layers, each layer having a plurality of memory blocks, wherein a first layer comprises a first bit-per-cell data capacity and a second layer comprises a second bit-per-cell capacity that is greater than the first bit-per-cell capacity; and a plurality of partitions in each of the plurality of layers, wherein each programmed memory block in the plurality of memory blocks in a layer is exclusively classified as being in a respective one of the plurality of partitions. 6. The mass storage memory system of claim 5 , wherein the controller is configured to identify a data type associated with received data from the host system and to select a memory die based on a number of outstanding transactions for the identified data type. 7. The mass storage memory system of claim 5 , wherein the controller is configured to select a memory die which has a lowest logical fullness within which to write received data. 8. The mass storage memory system of claim 2 , wherein the controller comprises a plurality of controllers and each of the plurality of controllers is only in communication with a respective different one of the plurality of control channels. 9. The mass storage memory system of claim 8 , wherein each of the plurality of controllers is configured to manage data associated with a respective predetermined unique host logical block address (LBA) range. 10. The mass storage memory system of claim 9 , wherein each of the plurality of controllers is configured to independently select a memory die connected to its respective control channel for writing received data independently of each other of the plurality of controllers. 11. A method of managing data comprising: in a mass storage memory system having an interface adapted to receive data from a host system, a plurality of memory die arranged in respective groups where each respective group is connected to a respective one of a plurality of control channels, and a controller in communication with the interface and the plurality of memory die, the controller: in response to receiving a first request from the host system, reading or writing data fully in parallel in a portion of the plurality of memory die over multiple control channels of the plurality of control channels; and in response to receiving a second request from the host system, reading or writing data independently and asynchronously with concurrent operations in different memory die in a same one of the plurality of control channels. 12. The method of claim 11 , further comprising the controller managing data writes in an amount equal to a maximum unit of programming for an individual one of the plurality of memory die. 13. The method of claim 11 , further comprising the controller selecting a memory die within which to write received data based on criteria independent of a host logical block address (LBA) of the received data. 14. The method of claim 13 , wherein the criteria comprises a memory die having a shortest pending data write queue. 15. The method of claim 13 , wherein at least one of the plurality of memory die comprises: a plurality of layers, each layer having a plurality of memory blocks, wherein a first layer comprises a first bit-per-cell data capacity and a second layer comprises a second bit-per-cell capacity that is greater than the first bit-per-cell capacity; and a plurality of partitions in each of the plurality of layers, wherein each programmed memory block in the plurality of memory blocks in a layer is exclusively classified as being in a respective one of the plurality of partitions; and wherein the controller interleaves copying of previously stored data between layers with writing of received host data. 16. The method claim 15 , further comprising the controller: identifying a data type associated with received data from the host system; and selecting a memory die based on a number of outstanding transactions for the identified data type. 17. The method of claim 15 , further comprising the controller selecting a die within which to write received data based on a lowest logical fullness in the plurality of memory die. 18. The method of claim 12 , wherein the controller comprises a plurality of controllers, and each of the plurality of controllers is only in communication with a respective single one of the plurality of control channels, wherein the method further comprises: receiving at each of the plurality of controllers only data associated with a respective predetermined unique host logical block address (LBA) range. 19. The method of claim 18 , further comprising each of the plurality of controllers independently selecting a die connected to its respective control channel for writing received data independently of each other of the plurality of controllers. 20. A mass storage memory system, comprising: an interface adapted to receive data from a host system; a plurality of control channels; a plurality of flash memory die, the plurality of flash memory die being divided into groups, wherein each group is connected to only a respective one of the plurality of control channels; and a plurality of controllers, each of the plurality of controllers connected to a respective one of the plurality of control channels and in communication with the interface, wherein each respective controller is configured to: write data independently and asynchronously with concurrent operations in each of the plurality of flash memory die on the respective one of the plurality of control channels connected to the respective controller; and select, for a write operation, a die connected to its respective control channel independently of each other of the plurality of controllers.

Assignees

Inventors

Classifications

  • Multilevel memory having cells with different number of storage levels · CPC title

  • in relation to throughput · CPC title

  • Non-volatile semiconductor memory arrays · CPC title

  • Controller construction arrangements · CPC title

  • Programming or writing circuits; Data input circuits · 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 US9734911B2 cover?
A mass storage memory system and method of operation are disclosed. The memory system includes an interface adapted to receive data from a host system, a plurality of memory die and a controller, where the controller is configured to read or write data synchronously across a plurality of die connected to different channels based on a first command, and to read or write data asynchronously and i…
Who is the assignee on this patent?
Sinclair Alan Welsh, Thomas Nicholas James, Wright Barry, and 1 more
What technology area does this patent fall under?
Primary CPC classification G11C16/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 15 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).