Non-volatile storage system with compute engine to accelerate big data applications

US10387303B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10387303-B2
Application numberUS-201715673143-A
CountryUS
Kind codeB2
Filing dateAug 9, 2017
Priority dateAug 16, 2016
Publication dateAug 20, 2019
Grant dateAug 20, 2019

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 memory system (e.g. a solid state drive) includes one or more non-volatile memory die, a controller in communication with the memory die and a compute engine inside the memory system that is near the location of the data and can be used to perform common data manipulation operations.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-volatile storage system, comprising: a controller; and a memory die, the memory die includes: a substrate; a monolithic three dimensional non-volatile memory structure in which multiple memory levels are formed as part of the memory die above the substrate with no intervening substrates between the memory levels; a compute engine configured to perform data manipulation operations on contents of data stored in the memory structure, and an error correction engine, the compute engine and the error correction engine are implemented on a top surface of the substrate and below the memory structure of the memory die. 2. The non-volatile storage system of claim 1 , wherein: the controller is configured to expose an application programming interface that can be used by a host application to perform data manipulation operations by the compute engine on contents of data stored in the memory structure; and the controller is further configured to transfer commands between the controller and the compute engine. 3. The non-volatile storage system of claim 2 , wherein: the error correction engine is configured to decode data stored in the memory die and present the decoded data to the compute engine for the compute engine to perform data manipulation operations on the decoded data. 4. The non-volatile storage system of claim 2 , wherein: the compute engine is further configured to search a stream of data stored in the memory structure; and the compute engine is further configured to sort a stream of data stored in the memory structure in an order specified by the host application. 5. The non-volatile storage system of claim 1 , wherein: the compute engine is implemented by a plurality of non-volatile FPGA's that are configured by the non-volatile memory structure. 6. The non-volatile storage system of claim 1 , wherein: the controller comprises a front end processor circuit and a back end processor circuit connected to the front end processor circuit, the memory die is connected to the back end processor circuit. 7. The non-volatile storage system of claim 6 , wherein: the front end processor circuit is configured to implement a flash translation layer including performing memory management, logical to physical address translation, communication with a host, management of local volatile memory and management of operation of the non-volatile storage system. 8. The non-volatile storage system of claim 6 , wherein: the back end processor circuit is configured to manage memory operations in the memory die at the request of the front end processor circuit, including programming, reading and erasing the memory die. 9. The non-volatile storage system of claim 6 , further comprising: additional back end processor circuits; and additional memory dies, each of the additional back end processor circuits communicate with the front end processor circuit and one or more of the additional memory dies; and wherein the front end processor circuit is a master for the back end processor circuit and the additional back end processor circuits, the back end processor circuit is a slave circuit for the front end processor circuit, the additional back end processor circuits are slave circuits for the front end processor circuit. 10. The non-volatile storage system of claim 6 , wherein: the controller includes a local volatile memory and an additional compute engine, the additional compute engine is connected to the local volatile memory and an interface between the back end processor circuit and the memory die. 11. The non-volatile storage system of claim 6 , wherein the front end processor circuit includes an interface to a host, the compute engine is positioned on the storage system side of the interface to the host. 12. The non-volatile storage system of claim 1 , wherein: the controller includes an additional compute engine. 13. The non-volatile storage system of claim 12 , wherein: the additional compute engine is configured to execute a flash translation layer. 14. A non-volatile storage system, comprising: a front end processor circuit configured to communicate with a host and perform logical to physical address translation; a first back end processor circuit connected to the front end processor circuit; a second back end processor circuit connected to the front end processor circuit; a plurality of memory dies comprising a first set of memory dies connected to the first back end processor circuit via a first physical interface and a second set of memory dies connected to the second back end processor circuit via a second physical interface; and a compute engine inside the non-volatile storage system and in communication with the front end processor circuit, the compute engine is configured to perform operations on data stored in the plurality of memory dies. 15. The non-volatile storage system of claim 14 , wherein: the compute engine is positioned in the front end processor circuit. 16. The non-volatile storage system of claim 14 , wherein: the compute engine is positioned in the first back end processor circuit. 17. The non-volatile storage system of claim 14 , wherein: the compute engine is positioned in a memory die of the plurality of memory dies. 18. The non-volatile storage system of claim 14 , wherein: the front end processor circuit includes an interface to a host, the compute engine is positioned on the storage system side of the interface to the host. 19. The non-volatile storage system of claim 14 , further comprising: a local volatile memory, wherein the compute engine is connected to the local volatile memory and an interface between the first back end processor circuit and the first set of memory dies, the front end processor circuit is connected to the local volatile memory, the front end processor circuit is configured to manage the local volatile memory, and the compute engine is in communication with the local volatile memory. 20. The non-volatile storage system of claim 14 , wherein: the compute engine is connected between the first back end processor circuit and the front end processor circuit. 21. A non-volatile storage system, comprising: a local volatile memory; a front end processor circuit connected to the local volatile memory, the front end processor circuit includes a first processor, the front end processor circuit is configured to communicate with a host and manage the local volatile memory; a first back end processor circuit connected to the front end processor circuit, the first back end processor circuit comprising a second processor separate from the first processor; a second back end processor circuit connected to the front end processor circuit, the second back end processor circuit comprising a third processor separate from the first processor and the second processor; non-volatile memory including a first subset of the non-volatile memory connected to the first back end processor circuit and a second subset of the non-volatile memory connected to the second back end processor circuit; and a compute engine inside the non-volatile storage system and in communication with the local volatile memory and the front end processor circuit, the compute engine is configured to perform operations on data stored in the non-volatile memory using the local volatile memory. 22. The non-volatile storage system of claim 21 , wherein: the compute engine is connected to the first back en

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Intermediate data storage techniques for performance improvement · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Logical to physical mapping or translation of blocks or pages · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · 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 US10387303B2 cover?
A memory system (e.g. a solid state drive) includes one or more non-volatile memory die, a controller in communication with the memory die and a compute engine inside the memory system that is near the location of the data and can be used to perform common data manipulation operations.
Who is the assignee on this patent?
Western Digital Tech Inc
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 Aug 20 2019 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).