Hardware and firmware paths for performing memory read processes

US9626286B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9626286-B2
Application numberUS-201414506067-A
CountryUS
Kind codeB2
Filing dateOct 3, 2014
Priority dateOct 3, 2014
Publication dateApr 18, 2017
Grant dateApr 18, 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 storage module may include a controller that has hardware path that includes a plurality of hardware modules configured to perform a plurality of processes associated with execution of a host request. The storage module may also include a firmware module having a processor that executes firmware to perform at least some of the plurality of processes performed by the hardware modules. The firmware module performs the processes when the hardware modules are not able to successfully perform them.

First claim

Opening claim text (preview).

We claim: 1. A storage system comprising: at least one memory; a controller in communication with the at least one memory, wherein the controller comprises: a hardware path comprising a plurality of hardware modules, each hardware module configured to perform a different one of a plurality of processes associated with executing host read requests, the plurality of processes comprising address translation and data retrieval command generation, the plurality of hardware modules comprising hardware circuits that do not execute software to perform the plurality of processes; and a firmware module comprising: firmware stored in the at least one memory; and a processor configured execute the firmware to perform the plurality of processes associated with executing host read requests; and a front-end module configured to: receive a host command; and in response to receipt of the host command, determine whether to start execution of the host command along the hardware path or with the firmware module. 2. The storage system of claim 1 , wherein the front-end module is configured to determine to start the execution of the host command along the hardware path in response to an identification that the host command is a host read request to read data stored in the at least one memory. 3. The storage system of claim 2 , wherein the front-end module is further configured to start the execution of the host read request along the hardware path responsive to a size of the data not exceeding a threshold amount. 4. The storage system of claim 3 , wherein the threshold amount corresponds to a maximum amount of data that is retrievable by generation of a single set of data retrieval commands. 5. The storage system of claim 2 , wherein the plurality of hardware modules comprises an address translation hardware module, wherein the front-end module is further configured to: identify logical address information associated with the host read request; and responsive to the logical address information comprising a number of one or more logical group numbers that does not generate a threshold number, send the logical address information to the address translation hardware module to identify a physical address mapped to the logical address information. 6. The storage system of claim 5 , wherein the threshold number is one. 7. The storage system of claim 5 , wherein the address translation hardware module is configured to query at least one address data structure to identify the physical address mapped to the logical address information. 8. The storage system of claim 7 , wherein the at least one address data structure comprises at least one of a secondary address data structure and a primary address data structure. 9. The storage system of claim 7 , wherein the address translation hardware module is configured to query the at least one address data structure with only a single logical group number associated with the host read request. 10. The storage system of claim 7 , wherein the physical address comprises a first physical address, the at least one address data structure comprises at least one first address data structure, the front-end module is further configured to send the logical address information to the firmware module, and the firmware module is further configured to query at least one second address data structure to identify a second physical address mapped to the logical address information. 11. The storage system of claim 10 , wherein the plurality of hardware modules further comprises a data retrieval hardware module configured to retrieve the data, the address translation hardware module is further configured to send the first physical address to the data retrieval hardware module to retrieve a first version of the data stored at the first physical address; and the firmware module is further configured to: responsive to the query of the at least one second address data structure not returning the second physical address, permit the data retrieval hardware module to retrieve the first version of the data; and responsive to the query of the at least one second address data structure returning the second physical address, determine whether to instruct the data retrieval hardware module to retrieve a second version of the data stored at the second physical address, or disable the data retrieval hardware module and retrieve the second version of the data. 12. The storage system of claim 11 , wherein the firmware module is configured to instruct the data retrieval hardware module to retrieve the second version of the data responsive to retrieval of the data requiring issuance of a single set of data retrieval commands to retrieve the second version of the data. 13. The storage system of claim 1 , wherein the plurality of hardware modules comprises a post data retrieval hardware module configured to: perform an initial determination of whether data received from the at least one memory has a bit error rate above a threshold level; and responsive to the bit error rate being above the threshold level, send the data to the firmware module for error recovery. 14. The storage system of claim 1 , wherein the front-end module is one of the plurality of hardware modules in the hardware path. 15. The storage system of claim 1 , wherein one or more of the at least one memory comprises three-dimensional memory. 16. The storage system of claim 1 , wherein the controller is on the same substrate as memory elements of the at least one memory. 17. A method of executing a host read request in a storage system comprising at least one memory, the method comprising: in a controller of the storage system: receiving the host read request to read data stored in the storage system; sending the host read request to a hardware path comprising an address translation hardware module comprising a hardware circuit that does not execute software; querying, with the address translation hardware module, at least one address data structure to identify a physical address; and in response to the address translation hardware module being unable to identify the physical address, sending, with the address translation hardware module, a notification to a firmware module comprising a processor that executes firmware; in response to the notification, querying, with the firmware module, the at least one address data structure to identify the physical address; sending, with the firmware module, the identified physical address to a data retrieval hardware module of the hardware path; and with the data retrieval hardware module, retrieving from the at least one memory data stored at the physical address identified by the querying performed with the firmware module. 18. A storage system comprising: at least one memory; and a controller comprising a plurality of host request modules, each configured to perform a different one of a plurality of processes associated with execution of a host read request, the plurality of processes comprising at least two of: host command type identification, data size identification, logical address information identification, address translation, data retrieval command generation, or post data retrieval processing, and wherein the plurality of host request modules comprises: a first host request module comprising: a first hardware module configured to perform a first process of the plurality of processes associated with execution of the host read request; and a first firmware module comprising first firmware stored in the at least one memory, and a f

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory arrays · CPC title

  • Controller construction arrangements · CPC title

  • Reducing size or complexity of storage systems · CPC title

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

  • Details of memory controller · 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 US9626286B2 cover?
A storage module may include a controller that has hardware path that includes a plurality of hardware modules configured to perform a plurality of processes associated with execution of a host request. The storage module may also include a firmware module having a processor that executes firmware to perform at least some of the plurality of processes performed by the hardware modules. The firm…
Who is the assignee on this patent?
Sandisk Technologies Inc, Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/023. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 18 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).