Input/output processing
First Claim
Patent Images
1. An electronic device, comprising:
- an upper device comprising an input/output (I/O) memory management unit (IOMMU);
a lower device configured to process local input/output communications between the electronic device and the upper device, wherein the lower device stateless;
a memory comprising a data flow identifier used to associate a data flow resource of the upper device with a data flow resource corresponding to the lower device;
wherein a data packet sent from the lower device to the upper device includes the data flow identifier and payload data, wherein the IOMMU is configured to use the data flow identifier to identify a physical memory address to place the payload data without receiving the physical memory address or a virtual memory address corresponding to the physical memory address from the lower device.
1 Assignment
0 Petitions
Accused Products
Abstract
The present disclosure provides an electronic device that includes a lower device configured to process local input/output communications between the electronic device and a host, wherein the lower device is stateless. The electronic device also includes a memory comprising a data flow identifier used to associate a data flow resource of the host with a data flow resource corresponding to the lower device. A data packet sent from the lower device to the host includes the data flow identifier.
-
Citations
20 Claims
-
1. An electronic device, comprising:
-
an upper device comprising an input/output (I/O) memory management unit (IOMMU); a lower device configured to process local input/output communications between the electronic device and the upper device, wherein the lower device stateless; a memory comprising a data flow identifier used to associate a data flow resource of the upper device with a data flow resource corresponding to the lower device;
wherein a data packet sent from the lower device to the upper device includes the data flow identifier and payload data, wherein the IOMMU is configured to use the data flow identifier to identify a physical memory address to place the payload data without receiving the physical memory address or a virtual memory address corresponding to the physical memory address from the lower device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 16, 17)
-
-
8. A method of processing local input/output, comprising:
-
generating a data packet comprising payload data and a data flow identifier; and pushing the data packet to a host, wherein a data flow resource of the host is identified by the host using the data flow identifier, wherein the data flow identifier is configured to identify a queue element, to extract a look-up address contained in the queue element, and to translate the look-up address into a physical memory address used to place the payload data without receiving the physical memory address or a virtual memory address corresponding to the physical memory address. - View Dependent Claims (9, 10, 11, 12, 18, 19, 20)
-
-
13. A non-transitory, computer-readable medium comprising code configured to direct a processor to:
-
generate a data packet comprising payload data and a data flow identifier; and push the data packet to a host, wherein a data flow resource of the host is identified by the host using the data flow identifier, wherein the data flow identifier is used to identify a queue element, to extract a look-up address contained in the queue element, and to translate the look-up address into a physical memory address used to place the payload data without receiving the physical memory address or a virtual memory address corresponding to the physical memory address. - View Dependent Claims (14, 15)
-
Specification