Resetting a peripheral device

US11023250B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11023250-B2
Application numberUS-201916359762-A
CountryUS
Kind codeB2
Filing dateMar 20, 2019
Priority dateMar 20, 2019
Publication dateJun 1, 2021
Grant dateJun 1, 2021

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.

Apparatuses, methods, systems, and program products are disclosed for resetting a peripheral device. An apparatus includes a disconnect module that detaches each of one or more device contexts from a peripheral device in response to a reset request for the peripheral device. Each of the one or more device contexts describes a connection between the peripheral device and a process. An apparatus includes an access module that prevents the one or more device contexts for one or more processes from accessing the peripheral device. An apparatus includes a reset module that resets the peripheral device in response to the one or more device contexts being detached from the peripheral device.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a disconnect module that detaches each of one or more device contexts from a peripheral device in response to a reset request for the peripheral device, each of the one or more device contexts describing a connection between the peripheral device and a process; an access module that prevents the one or more device contexts for one or more processes from accessing the peripheral device; and a reset module that resets the peripheral device in response to the one or more device contexts being detached from the peripheral device, wherein said modules comprise one or more of hardware circuits, programmable hardware devices, and a processor executing code. 2. The apparatus of claim 1 , further comprising a reset request receiving module that receives the reset request for the peripheral device, the reset request received from one of a source external to the device and a firmware associated with the peripheral device. 3. The apparatus of claim 1 , wherein the disconnect module detaches each of the one or more device contexts by flagging each of the one or more device contexts as detached. 4. The apparatus of claim 1 , wherein the each of the one or more device contexts transmits a detach event to its corresponding process in response to being detached from the peripheral device. 5. The apparatus of claim 1 , wherein the connection between the peripheral device and each process of the one or more device contexts comprises a direct memory access (“DMA”) mapping between each process and one or more memory areas of the peripheral device. 6. The apparatus of claim 1 , wherein the access module sends an access violation event in response to a device context attempting to access the peripheral device after the device context has been detached from the peripheral device. 7. The apparatus of claim 1 , wherein the access module prevents the one or more device contexts for the one or more processes from accessing the peripheral device by preventing the one or more processes from accessing a driver for the peripheral device. 8. The apparatus of claim 1 , wherein the access module prevents the one or more device contexts for the one or more processes from accessing the peripheral device by preventing the one or more processes from accessing a mapped memory area of the peripheral device. 9. The apparatus of claim 1 , wherein the access module prevents the one or more device contexts for the one or more processes from accessing the peripheral device by preventing the one or more processes from accessing one or more command queues for the peripheral device. 10. The apparatus of claim 1 , wherein the access module prevents the one or more device contexts for the one or more processes from accessing the peripheral device by disabling interrupts for the peripheral device. 11. The apparatus of claim 1 , further comprising a restart module that recreates one or more device contexts for one or more processes in response to the hardware device restarting. 12. The apparatus of claim 11 , wherein the restart module is further configured to discard stale device contexts that the restart module does not recreate. 13. The apparatus of claim 11 , wherein the restart module is further configured to send a re-attach event that notifies the one or more processes that the peripheral device has restarted. 14. A method comprising: detaching each of one or more device contexts from a peripheral device in response to a reset request for the peripheral device, each of the one or more device contexts describing a connection between the peripheral device and a process; preventing the one or more device contexts for one or more processes from accessing the peripheral device; and resetting the peripheral device in response to the one or more device contexts being detached from the peripheral device. 15. The method of claim 1 , further comprising receiving the reset request for the peripheral device, the reset request received from one of a source external to the device and a firmware associated with the peripheral device. 16. The method of claim 15 , wherein detaching each of the one or more device contexts includes flagging each of the one or more device contexts as detached. 17. The method of claim 15 , wherein the each of the one or more device contexts transmits a detach event to its corresponding process in response to being detached from the peripheral device. 18. The method of claim 15 , wherein the connection between the peripheral device and each process of the one or more device contexts comprises a direct memory access (“DMA”) mapping between each process and one or more memory areas of the peripheral device. 19. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to: detach, by processor, each of one or more device contexts from a peripheral device in response to a reset request for the peripheral device, each of the one or more device contexts describing a connection between the peripheral device and a process; prevent, by processor, the one or more device contexts for one or more processes from accessing the peripheral device; and reset, by processor, the peripheral device in response to the one or more device contexts being detached from the peripheral device. 20. The computer program product of claim 19 , wherein the program instructions are further executable by the processor to cause the processor to receive, by processor, the reset request for the peripheral device, the reset request received from one of a source external to the peripheral device and a firmware associated with the peripheral device.

Assignees

Inventors

Classifications

  • where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52) · CPC title

  • G06F13/24Primary

    using interrupt (G06F13/32 takes precedence) · CPC title

  • using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • Configuring for operating with peripheral devices; Loading of device drivers · CPC title

  • G06F9/4403Primary

    Processor initialisation · 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 US11023250B2 cover?
Apparatuses, methods, systems, and program products are disclosed for resetting a peripheral device. An apparatus includes a disconnect module that detaches each of one or more device contexts from a peripheral device in response to a reset request for the peripheral device. Each of the one or more device contexts describes a connection between the peripheral device and a process. An apparatus …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F13/24. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 01 2021 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).