Storage module and method for processing an abort command

US9792046B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9792046-B2
Application numberUS-201414448762-A
CountryUS
Kind codeB2
Filing dateJul 31, 2014
Priority dateJul 31, 2014
Publication dateOct 17, 2017
Grant dateOct 17, 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 and method for virtual abort are disclosed. In one embodiment, a virtual abort of a read command is provided. The read command triggers a read operation that comprises reading data from the storage module's memory, processing the data by at least one processing module as the data moves along a data path from the memory to the storage module's host interface module, and then providing the data to a host via the host interface module. When an abort command is received, the storage module allows the data that is read from the memory to be processed by the at least one processing module as the data moves along the data path to the host interface module but prevents the host interface module from providing the data to the host. In another embodiment, a virtual abort of a write command is provided.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for performing a virtual abort, the method comprising: performing the following in a storage module having a memory, a host interface module, a buffer pool, and a data path between the memory and the host interface module, the buffer pool configured at the end of the data path, the storage module configured to communicate with a host via the host interface module, wherein the data path comprises at least one processing module: receiving a read command from the host to read data from the memory; in response to receiving the read command, starting to perform a read operation, wherein the read operation comprises reading the data from the memory, processing the data by the at least one processing module as the data moves along the data path, loading the data into the buffer pool upon being processed by the at least one processing module, and then providing the data to the host via the host interface module; receiving an abort command to abort the read command before the data is loaded in the buffer pool at the end of the data path and provided to the host; and in response to receiving the abort command before the data is loaded in the buffer pool, allowing the data associated with the read command that is read from the memory to be processed by the at least one processing module of the data path and loaded in the buffer pool for transmission by the host interface module to the host, but preventing the host interface module from providing the data to the host. 2. The method of claim 1 , wherein the read command is associated with an attribute, and wherein the host interface module prevents the data from being provided to the host using the attribute. 3. The method of claim 2 , wherein the abort command specifies the attribute, a logic unit number of the memory, or that all host commands are to be aborted. 4. The method of claim 2 , wherein the attribute comprises a first attribute, the method further comprising: programming the host interface module with the first attribute; receiving, with the host interface module, a data packet from a buffer; comparing, with the host interface module, a second attribute associated with the data packet with the first attribute; sending, with the host interface module, the data packet to the host when the second attribute does not match the first attribute; and preventing, with the host interface module, the data packet from being sent to the host when the second attribute matches the first attribute. 5. The method of claim 4 further comprising: configuring the host interface module in a normal mode when no abort commands are pending, wherein the host interface module does not perform attribute comparisons in the normal mode; in response to receiving the abort command, configuring the host interface module in an abort mode, wherein the host interface module compares the second attribute with the first attribute when configured in the abort mode. 6. The method of claim 5 further comprising: configuring the host interface module from the abort mode to the normal mode in response to determining that all of the data packets associated with the read command have been prevented from being provided to the host. 7. The method of claim 1 , wherein the storage module prevents the host interface module from providing the data to the host by writing the data to a read-only memory in the storage module instead of providing the data to the host. 8. The method of claim 1 , wherein the storage module prevents the host interface module from providing the data to the host by releasing the data from the buffer pool without sending the data to the host. 9. The method of claim 1 , wherein the at least one processing module comprises one or more of the following: a decryption module and an error correcting module. 10. The method of claim 1 further comprising: receiving a plurality of read commands; and executing one or more of the plurality of read commands other than the read command to be aborted while the abort command is pending. 11. The method of claim 1 , wherein the memory is a three-dimensional memory. 12. The method of claim 1 , wherein the storage module is embedded in the host. 13. The method of claim 1 , wherein the storage module is removably connected to the host. 14. A method for performing a virtual abort, the method comprising: performing the following in a storage module having a memory and a host interface module: receiving a write command from a host to write data into the memory; in response to receiving the write command and before the host interface module receives the data from the host, starting to perform a write operation, wherein the write operation comprises generating one or more context commands used by the host interface module to initiate a data transfer of the data from the host to the storage module; receiving an abort command to abort the write command before the host interface module receives the data associated with the write command; and in response to receiving the abort command: receiving, with the host interface module, the one or more context commands to initiate the data transfer of the data from the host to the storage module; and refraining, with the host interface module, from initiating the data transfer of the data from the host to the storage module in response to receiving the one or more context commands. 15. The method of claim 14 , wherein the write command is associated with an attribute, and wherein the host interface module does not initiate the data transfer using the attribute. 16. The method of claim 15 , wherein the abort command specifies the attribute, a logic unit number of the memory, or that all host commands are to be aborted. 17. The method of claim 15 , wherein the attribute comprises a first attribute, the method further comprising: programming the host interface module with the first attribute; receiving, with the host interface module, a context command from an arbiter module; comparing, with the host interface module, a second attribute included in the context command; initiating, with the host interface module, a data transfer to receive data from the host when the second attribute does not match the first attribute; and preventing, with the host interface module, the data transfer from being initiated when the second attribute matches the first attribute. 18. The method of claim 17 , further comprising: configuring the host interface module in a normal mode when no abort commands are pending, wherein the host interface module does not perform attribute comparisons in the normal mode; in response to receiving the abort command, configuring the host interface module in an abort mode, wherein the host interface module compares the second attribute with the first attribute when configured in the abort mode. 19. The method of claim 18 , further comprising: configuring the host interface module from the abort mode to the normal mode in response to determining that all of the context associated with the write command have been prevented from being provided to the host. 20. The method of claim 14 , wherein refraining from initiating the data transfer of the data from the host to the storage module comprises refraining from reserving space in a buffer pool for the data to be stored after the data is received from the host and before the data is stored in the memory.

Assignees

Inventors

Classifications

  • by changing the state or mode of one or more devices · CPC title

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

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

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • to perform miscellaneous control operations, e.g. NOP · 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 US9792046B2 cover?
A storage module and method for virtual abort are disclosed. In one embodiment, a virtual abort of a read command is provided. The read command triggers a read operation that comprises reading data from the storage module's memory, processing the data by at least one processing module as the data moves along a data path from the memory to the storage module's host interface module, and then pro…
Who is the assignee on this patent?
Sandisk Technologies Inc, Sandisk Technologies Llc
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 Oct 17 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).