Storage Module and Method for Virtual Abort
US-2016034187-A1 · Feb 4, 2016 · US
US9996262B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9996262-B1 |
| Application number | US-201514936573-A |
| Country | US |
| Kind code | B1 |
| Filing date | Nov 9, 2015 |
| Priority date | Nov 9, 2015 |
| Publication date | Jun 12, 2018 |
| Grant date | Jun 12, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are disclosed to abort a command at a data storage controller, in accordance with certain embodiments of the present disclosure. In some embodiments, an apparatus may comprise a data storage controller configured to receive an abort indicator from a host device, generate an abort tracking indicator at a receiving unit configured to receive commands from the host device, monitor to determine when the selected command is received at the receiving unit based on the abort tracking indicator, and abort the selected command when the selected command is received at the receiving unit. In some embodiments, the data storage controller may generate an abort tracking indicator at a completion unit configured to notify the host device of completed commands, and monitor for the selected command at the completion unit based on the abort tracking indicator.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a data storage controller configured to: maintain a table of commands received from the host device, the table of commands including data structures for each command being processed by the data storage controller; receive an abort indicator from a host device, the abort indicator identifying a selected command to be aborted; generate a first abort tracking indicator at a receiving unit configured to receive commands from the host device, the first abort tracking indicator corresponding to the selected command and directing the receiving unit to compare incoming commands against the selected command identified by the abort tracking indicator; monitor to determine when the selected command is received at the receiving unit based on the first abort tracking indicator; abort the selected command when the selected command is received at the receiving unit; search the table of commands for a data structure corresponding to the selected command; when the selected command is located in the table of commands: set an abort flag for the data structure corresponding to the selected command in the table of commands; access the table of commands using a component of a processing pipeline of the data storage controller when the component receives a pending command for processing; abort execution of the pending command when the abort flag is set for the pending command; when the selected command is not located in the table of commands: determine whether the receiving unit has monitored a set number of received commands; and generate an abort failure notification based on the receiving unit monitoring the set number of received commands. 2. The apparatus of claim 1 further comprising: the first abort tracking indicator includes an entry in an abort register of a memory of the receiving unit. 3. The apparatus of claim 1 comprising the data storage controller further configured to: determine a number of commands in a selected submission queue located in a memory of the host device based on the received abort indicator; and monitor the number of commands received from the selected submission queue for the selected command. 4. The apparatus of claim 3 comprising the data storage controller further configured to: receive, included with the abort indicator, a submission queue identifier associated with the selected command, the submission queue identifier designating the selected submission queue from a plurality of submission queues of the host device. 5. The apparatus of claim 3 further comprising: the set number of commands monitored at the receiving unit for generating the abort failure notification is based on the number of commands in the selected submission queue when the abort indicator was received. 6. The apparatus of claim 1 comprising the data storage controller further configured to: generate a second abort tracking indicator at a completion unit configured to notify the host device of completed commands; monitor for the selected command at the completion unit based on the second abort tracking indicator; and abort the selected command when the selected command is received at the completion unit. 7. The apparatus of claim 6 further comprising: the completion unit includes a circuit having a memory; and the second abort tracking indicator includes an entry in an abort register of the memory of the completion unit. 8. An apparatus comprising: a data storage controller configured to: receive an abort indicator from a host device, the abort indicator identifying a selected command to be aborted; generate a first abort tracking indicator at a completion unit configured to notify the host device of completed commands; monitor for the selected command at the completion unit based on the first abort tracking indicator; abort the selected command when the selected command is received at the completion unit; maintain a table of commands received from the host device, the table of commands including data structures for each command being processed by the data storage controller; set an abort flag for the data structure corresponding to the selected command in the table of commands; access the table of commands using a component of a processing pipeline of the data storage controller when the component receives a pending command for processing; and abort execution of the pending command when the abort flag is set for the pending command. 9. The apparatus of claim 8 further comprising: the completion unit includes a circuit having a memory; and the first abort tracking indicator includes an entry in an abort register of the memory of the completion unit. 10. The apparatus of claim 8 comprising the data storage controller further configured to: generate a second abort tracking indicator at a receiving unit configured to receive commands from the host device; monitor to determine when the selected command is received at the receiving unit based on the second abort tracking indicator; and abort the selected command when the selected command is received at the receiving unit. 11. The apparatus of claim 10 comprising the data storage controller further configured to: determine, using the receiving unit, a number of commands in a selected submission queue located in a memory of the host device based on when the abort indicator was received at the data storage controller; monitor the number of commands received from the selected submission queue for the selected command; and stop monitoring commands from the selected submission queue for the selected command after monitoring the number of commands. 12. The apparatus of claim 11 comprising the data storage controller further configured to: receive, included with the abort indicator, a submission queue identifier associated with the selected command, the submission queue identifier designating the selected submission queue from a plurality of submission queues of the host device. 13. The apparatus of claim 8 comprising the data storage controller further configured to: search the table of commands for the data structure corresponding to the selected command; set the abort flag when the selected command is located in the table of commands; when the selected command is not located in the table of commands: determine whether the receiving unit has monitored a set number received commands; and generate an abort failure notification based on the receiving unit monitoring the set number of received commands. 14. The apparatus of claim 8 further comprising: the data storage controller is a controller for a solid-state drive. 15. The apparatus of claim 14 further comprising: the solid state drive includes a nonvolatile memory express (NVMe) storage device. 16. The apparatus of claim 15 further comprising: the NVMe storage device is configured to communicate with the host via a peripheral component interconnect express (PCIe) communication bus. 17. A method comprising: receiving an abort command from a host device at a receiving circuit of a data storage controller, the abort command identifying a selected command to be aborted; the receiving circuit configured to receive commands from the host device; generating a first abort tracking indicator at the receiving circuit; monitoring to determine when the selected command is received at the receiving circuit based on the first abort tracking indicator; generating a second abort tracking indicator at a completion circuit configured to notify the host device o
using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements · CPC title
Monitoring storage devices or systems · CPC title
Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents (software debugging using additional hardware using a specific debug interface G06F11/3656; performance evaluation by tracing or monitoring G06F11/3466) · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.