Persistent Memory Replication in RDMA-Capable Networks
US-2018316760-A1 · Nov 1, 2018 · US
US11023250B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11023250-B2 |
| Application number | US-201916359762-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 20, 2019 |
| Priority date | Mar 20, 2019 |
| Publication date | Jun 1, 2021 |
| Grant date | Jun 1, 2021 |
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.
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.
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.
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
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
Processor initialisation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.