Methods and apparatus for reduced overhead data transfer with a shared ring buffer
AssigneeApple Inc.
InventorsKaran Sanghi, Saurabh Garg, Vladislav V. Petkov
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for reducing bus overhead with virtualized transfer rings. The Inter-Processor Communications (IPC) bus uses a ring buffer (e.g., a so-called Transfer Ring (TR)) to provide Direct Memory Access (DMA)-like memory access between processors. However, performing small transactions within the TR inefficiently uses bus overhead. A Virtualized Transfer Ring (VTR) is a null data structure that doesn't require any backing memory allocation. A processor servicing a VTR data transfer includes the data payload as part of an optional header/footer data structure within a completion ring (CR).
Claims21
-20. (canceled)
A method of data transfer between a first independently operable processor apparatus and a second independently operable processor apparatus, the method comprising:
- based at least on a transfer parameter of a data payload meeting a prescribed criterion:
- providing a virtualized data structure via a shared memory accessible by the first and second independently operable processor apparatus;
- based at least on the virtualized data structure, causing one of the first and second independently operable processor apparatus to write a completion data structure to the shared memory, the data payload being contained within at least one optional field of the completion data structure;
- and
- obtaining the data payload via retrieval of the completion data structure from the shared memory.
A multi-processor apparatus comprising:
- a first independently operable processor;
- a second independently operable processor configured to perform data communication with the first independently operable processor;
- and
- a shared memory apparatus accessible by the first and second independently operable processors;
- wherein the second independently operable processor is configured to:
- receive a plurality of downlink payloads via a baseband modem;
- and
- based on at least one transfer parameter of at least one of the plurality of downlink payloads meeting one or more prescribed criteria, transfer a data structure to the first independently operable processor via the shared memory apparatus, the data structure comprising at least one field containing the at least one downlink payload.
A method of data transfer to a first independently operable processor apparatus from a second independently operable processor apparatus, comprising:
- receiving a data structure via a shared memory accessible by the first and second independently operable processor apparatus;
- based at least on a determination that the received data structure comprises a null data structure that lacks a backing memory allocation, writing a completion data structure to the shared memory, the completion data structure comprising a data payload within at least one field of the completion data structure;
- and
- causing the first independently operable processor to read the completion data structure and obtain the data payload thereby.
Dependencies are inferred from the claim text.