Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: receiving an input/output (I/O) request, the I/O request instructing a transfer of data between a first portion of a main memory of a computing system and an I/O device; receiving a cancellation request to cancel the I/O request; in response to the cancellation request, preventing an application executing on the computing system from accessing the first portion of the main memory, while leaving the first portion of the main memory accessible to the I/O device; prior to the cancellation request being received, mapping a virtual memory of the application to the first portion of the main memory; and subsequent to the cancellation request being received, reassigning the virtual memory of the application from the first portion of the main memory to a second portion of the main memory.
2. The method of claim 1 , further comprising: subsequent to the cancellation request being received, accessing by the I/O device the first portion of the main memory.
3. The method of claim 2 , wherein the I/O device accesses the first portion of the main memory via a direct memory access (DMA) controller and an I/O controller of the computing system.
4. The method of claim 3 , further comprising: subsequent to the cancellation request being received, writing data by the DMA controller from the I/O device to the first portion of the main memory.
5. The method of claim 1 , wherein reassigning the virtual memory comprises manipulating a page table of the computing system.
6. A computing system, comprising a processor, a main memory communicatively coupled to the processor, and a set of instructions on the main memory that, when executed by the processor, cause the processor to: receive an input/output (I/O) request, the I/O request instructing a transfer of data between a first portion of the main memory of the computing system and an I/O device; receive a cancellation request to cancel the I/O request; in response to the cancellation request, prevent an application executing on the computing system from accessing the first portion of the main memory, while leaving the first portion of the main memory accessible to the I/O device; prior to the cancellation request being received, map a virtual memory of the application to the first portion of the main memory; and subsequent to the cancellation request being received, reassign the virtual memory of the application from the first portion of the main memory to a second portion of the main memory.
7. The computing system of claim 6 , wherein a communication path between the I/O device and the main memory of the computing system communicatively couples the I/O device to the first portion of the main memory.
8. The computing system of claim 7 , wherein the communication path between the I/O device and the main memory of the computing system comprises a direct memory access (DMA) controller and an I/O controller of the computing system.
9. The computing system of claim 8 , wherein the DMA controller is configured to, subsequent to the cancellation request being received, write data from the I/O device to the first portion of the main memory.
10. The computing system of claim 6 , wherein reassigning the virtual memory comprises manipulating a page table of the computing system.
11. A non-transitory machine-readable storage medium for a computing system having a processor and a main memory communicatively coupled to the processor, the non-transitory machine-readable storage medium comprising software instructions that, when executed by the processor, cause the processor to: receive an input/output (I/O) request, the I/O request instructing a transfer of data between a first portion of the main memory of the computing system and an I/O device; receive a cancellation request to cancel the I/O request; in response to the cancellation request, prevent an application executing on the computing system from accessing the first portion of the main memory, while leaving the first portion of the main memory accessible to the I/O device; prior to the cancellation request being received, map a virtual memory of the application to the first portion of the main memory; and subsequent to the cancellation request being received, reassign the virtual memory of the application from the first portion of the main memory to a second portion of the main memory.
12. The non-transitory machine-readable storage medium of claim 11 , wherein reassigning the virtual memory comprises manipulating a page table of the computing system.
Unknown
March 7, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.