Methods and apparatus for control of a jointly shared memory-mapped region
First Claim
1. A method for using a jointly shared memory between a first processor and a second processor, comprising:
- opening a pass-through application in a user space, the pass-through application enabling transmission of data in the user space between the first and second processors without requiring access to kernel space;
mapping a jointly shared memory space for the pass-through application, the jointly shared memory space comprising a portion of a shared memory which is accessible in the user space;
enabling access to the jointly shared memory space via the pass-through application, the transmission of data in the user space comprising at least one memory-mapped input/output (I/O) transaction via the jointly shared memory space; and
closing the pass-through application.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for using and controlling a jointly shared memory-mapped region between multiple processors in a pass-through manner. Existing data pipe input/output (I/O) techniques for mobile device operation enable high speed data transfers, decoupled independent operation of processors, reduced software complexity, reduced power consumption, etc. However, legacy functions and capabilities may only receive marginal benefits from data pipe I/O operation, and in some cases, may even suffer adverse effects from e.g., processing overhead and/or context switching. The present disclosure is directed to dynamically isolating and reaping back a jointly shared memory space for data transfer in a “pass through” manner which does not require kernel space intervention. More directly, a jointly shared region of host memory is accessible to both the peripheral client and the host client in user space.
248 Citations
20 Claims
-
1. A method for using a jointly shared memory between a first processor and a second processor, comprising:
-
opening a pass-through application in a user space, the pass-through application enabling transmission of data in the user space between the first and second processors without requiring access to kernel space; mapping a jointly shared memory space for the pass-through application, the jointly shared memory space comprising a portion of a shared memory which is accessible in the user space; enabling access to the jointly shared memory space via the pass-through application, the transmission of data in the user space comprising at least one memory-mapped input/output (I/O) transaction via the jointly shared memory space; and closing the pass-through application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus, comprising:
-
a host processor coupled to a peripheral processor; and a non-transitory computer readable medium comprising one or more instructions which when executed by the host processor, cause the host processor to; manage one or more data pipe transactions via a kernel space communication stack within a shared memory; map a jointly shared memory space within the shared memory for a pass-through socket configured to provide access to the jointly shared memory space by the host processor and the peripheral processor without leaving a user space and without requiring access to the kernel space, the jointly shared memory space accessible via a memory-mapped input/output (I/O) in the user space; and access the jointly shared memory space via the pass-through socket; wherein the pass-through socket is configured to be opened in the user space prior to said mapping of the jointly shared memory space, and closed subsequent to the access of the jointly shared memory space. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An apparatus, comprising:
-
a peripheral processor coupled to a host processor; and a non-transitory computer readable medium comprising one or more instructions which when executed by the peripheral processor, cause the peripheral processor to; open a pass-through application in a user space so as to allow receipt of a memory map message identifying a jointly shared memory space within a shared memory, the jointly shared memory space being configured to enable exchange of data between the peripheral processor and the host processor within the user space without incurring a context switch to a kernel space; access the jointly shared memory space via the pass-through application initiated in the user space; transmit a non-coordinated control message to the host processor to signal an event associated with the jointly shared memory space; and close the pass-through application. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification