Recovery after input/ouput error-containment events

US9411667B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9411667-B2
Application numberUS-201213997870-A
CountryUS
Kind codeB2
Filing dateJun 6, 2012
Priority dateJun 6, 2012
Publication dateAug 9, 2016
Grant dateAug 9, 2016

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.

Embodiments of apparatus, computer-implemented methods, systems, devices, and computer-readable media are described herein for a computing device with a platform entity such as an interrupt handier configured to notify an operating system or virtual machine monitor executing on the computing device of an input/output error-containment event. In various embodiments, the interrupt handler may be configured to facilitate recovery of a link to an input/output device that caused the input/output error-containment event, responsive to a directive from the operating system or virtual machine monitor.

First claim

Opening claim text (preview).

What is claimed is: 1. At least one non-transitory computer-readable medium having computer-readable code embodied therein, the computer-readable code comprising instructions to cause an interrupt handler of a computing device, in response to execution of the instructions by the computing device, to notify an operating system or virtual machine monitor executing on the computing device of an input/output error-containment event caused by an input/output device, and responsive to a directive, including an indication that the operating system or virtual machine monitor cleared a software stack associated with the input/output device, from the operating system or virtual machine monitor, facilitate recovery of a link to the input/output device. 2. The at least one computer-readable medium of claim 1 , wherein the instructions, in response to execution by the computing device, further cause the interrupt handler to notify the operating system or virtual machine monitor of the input/output error-containment event using a platform communication channel. 3. The at least one computer-readable medium of claim 1 , wherein the instructions, in response to execution by the computing device, further cause the interrupt handler to identify a port associated with the input/output device that caused the input/output error-containment event, and to notify the operating system or virtual machine monitor of the identified port. 4. The at least one computer-readable medium of claim 1 , wherein the instructions, in response to execution by the computing device, further cause the interrupt handler to generate an error-containment record associated with the input/output error-containment event. 5. The at least one computer-readable medium of claim 1 , wherein the instructions, in response to execution by the computing device, further cause the interrupt handler to clear an error log associated with the input/output device that caused the input/output error-containment event. 6. The at least one computer-readable medium of claim 1 , wherein the instructions, in response to execution by the computing device, further cause the interrupt handler to store, in memory accessible to the operating system or virtual machine monitor, information associated with a plurality of input/output ports that is usable by the operating system or virtual machine monitor to register a plurality of error-containment event handlers that correspond to the plurality of input/output ports. 7. The at least one non-transitory computer-readable medium of claim 1 , wherein to facilitate recovery of a link comprises altering, by the interrupt handler, contents of various hardware registers associated with the input/output device to recover the link. 8. At least one non-transitory computer-readable medium having computer-readable code embodied therein, the computer-readable code comprising instructions to cause an operating system or virtual machine monitor of a computing device, in response to execution of the instructions by the computing device, to: receive, from an interrupt handler of the computing device, notification of an error-containment event caused by an input/output device; receive, from a driver associated with the input/output device, an indication that the driver is able to recover a link to the input/output device in response to an error-containment event handler registered by the operating system or virtual machine monitor notifying the driver of the error-containment event; and facilitate recovery of the link to an input/output device that caused the error-containment event based on the indication that the driver is able to recover the input/output device. 9. The at least one computer-readable medium of claim 8 , wherein the instructions, in response to execution by the computing device, further cause the operating system or virtual machine monitor to register a plurality of error-containment event handlers associated with a plurality of input/output ports, based on information associated with a plurality of input/output ports that is generated by the interrupt handler. 10. The at least one computer-readable medium of claim 8 , wherein the instructions, in response to execution by the computing device, further cause the operating system or virtual machine monitor to receive the notification of the error-containment event from the interrupt handler over a platform communication channel doorbell protocol. 11. The at least one computer-readable medium of claim 8 , wherein the instructions, in response to execution by the computing device, further cause the operating system or virtual machine monitor to communicate, to the interrupt handler, a directive to recover the link to the input/output device. 12. The at least one non-transitory computer-readable medium of claim 8 , wherein the notification of the error-containment event includes an identification of an input/output port associated with the input/output device, and wherein the error-containment event handler is selected from a plurality of error-containment event handlers registered by the operating system or the virtual machine monitor based on the identification of the input/output port. 13. A computer-implemented method, comprising: identifying, by an interrupt handler of a computing system, an input/output port that signaled an input/output error-containment event; generating, by the interrupt handler, an error-containment record associated with the input/output error-containment event, the error-containment record including an identification of the input/output port; providing, by the interrupt handler to an operating system or virtual machine monitor executing on the computing device, the error-containment record; and receiving, by the interrupt handler from the operating system or virtual machine monitor, a directive indicating the input/output port can recover from the input/output error-containment event, the indication based on a determination issued by a driver associated with the input/output port in response to an error-containment event handler registered by the operating system or virtual machine monitor notifying the driver of the input/output error-containment event. 14. The computer-implemented method of claim 13 , further comprising, responsive to the directive from the operating system or virtual machine monitor, facilitating, by the interrupt handler, recovery of a link from the input/output port to an input/output device that caused the input/output error-containment event. 15. The computer-implemented method of claim 13 , further comprising notifying, by the interrupt handler, the operating system or virtual machine monitor of the input/output error-containment event using a platform communication channel. 16. The computer-implemented method of claim 13 , further comprising clearing, by the interrupt handler, an error log associated with the input/output port. 17. The computer-implemented method of claim 13 , further comprising storing, by the interrupt handler, in memory accessible to the operating system or virtual machine monitor, information associated with a plurality of input/output ports that is usable by the operating system or virtual machine monitor to register a plurality of error-containment event handlers that correspond to the plurality of input/output ports. 18. A computer-implemented method, comprising: receiving, by an operating system or virtual machine monitor executing on a computing device, from a platform entity of the computing device, notification of an error-containment event caused by an input/output device

Assignees

Inventors

Classifications

  • in a virtual computing platform, e.g. logically partitioned systems · CPC title

  • Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title

  • in an input/output transactions management context (input/output processing in general G06F13/00) · CPC title

  • Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06) · CPC title

  • involving virtual machines · 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 US9411667B2 cover?
Embodiments of apparatus, computer-implemented methods, systems, devices, and computer-readable media are described herein for a computing device with a platform entity such as an interrupt handier configured to notify an operating system or virtual machine monitor executing on the computing device of an input/output error-containment event. In various embodiments, the interrupt handler may be …
Who is the assignee on this patent?
Jayakumar Sarathy, Kumar Mohan J, Vargas Jose A, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F11/0712. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 09 2016 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).