-
71.
公开(公告)号:US20200210224A1
公开(公告)日:2020-07-02
申请号:US16813407
申请日:2020-03-09
Applicant: Apple Inc.
Inventor: Karan Sanghi , Saurabh Garg , Vladislav V. Petkov
Abstract: Methods and apparatus for acknowledging and verifying the completion of data transactions over an inter-processor communication (IPC) link between two (or more) independently operable processors. In one embodiment, a host-side processor delivers payloads over the IPC link using one or more transfer descriptors (TDs) that describe the payloads. The TDs are written in a particular order to a transfer descriptor ring (TR) in a shared memory between the host and peripheral processors. The peripheral reads the TDs over the IPC link and transacts, in proper order, the data retrieved based on the TDs. To acknowledge the transaction, the peripheral processor writes completion descriptors (CDs) to a completion descriptor ring (CR). The CD may complete one or more TDs; in optimized completion schemes the CD completes all outstanding TDs up to and including the expressly completed TD.
-
公开(公告)号:US10591976B2
公开(公告)日:2020-03-17
申请号:US15647103
申请日:2017-07-11
Applicant: Apple Inc.
Inventor: Saurabh Garg , Karan Sanghi , Vladislav Petkov , Richard Solotke
IPC: G06F1/26 , G06F1/32 , G06F1/3234 , G06F1/3287 , G06F9/30 , G06F9/4401 , G06F13/42
Abstract: Methods and apparatus for isolation of sub-system resources (such as clocks, power, and reset) within independent domains. In one embodiment, each sub-system of a system has one or more dedicated power and clock domains that operate independent of other sub-system operation. For example, in an exemplary mobile device with cellular, WLAN and PAN connectivity, each such sub-system is connected to a common memory mapped bus function, yet can operate independently. The disclosed architecture advantageously both satisfies the power consumption limitations of mobile devices, and concurrently provides the benefits of memory mapped connectivity for high bandwidth applications on such mobile devices.
-
73.
公开(公告)号:US10585699B2
公开(公告)日:2020-03-10
申请号:US16049624
申请日:2018-07-30
Applicant: Apple Inc.
Inventor: Karan Sanghi , Saurabh Garg , Vladislav V. Petkov
Abstract: Methods and apparatus for acknowledging and verifying the completion of data transactions over an inter-processor communication (IPC) link between two (or more) independently operable processors. In one embodiment, a host-side processor delivers payloads over the IPC link using one or more transfer descriptors (TDs) that describe the payloads. The TDs are written in a particular order to a transfer descriptor ring (TR) in a shared memory between the host and peripheral processors. The peripheral reads the TDs over the IPC link and transacts, in proper order, the data retrieved based on the TDs. To acknowledge the transaction, the peripheral processor writes completion descriptors (CDs) to a completion descriptor ring (CR). The CD may complete one or more TDs; in optimized completion schemes the CD completes all outstanding TDs up to and including the expressly completed TD.
-
公开(公告)号:US20200065244A1
公开(公告)日:2020-02-27
申请号:US16112480
申请日:2018-08-24
Applicant: Apple Inc.
Inventor: Karan Sanghi , Saurabh Garg , Jason McElrath
IPC: G06F12/084 , G06F13/16
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.
-
公开(公告)号:US20190377703A1
公开(公告)日:2019-12-12
申请号:US16450767
申请日:2019-06-24
Applicant: Apple Inc.
Inventor: Vladislav Petkov , Saurabh Garg , Karan Sanghi , Haining Zhang
Abstract: Methods and apparatus for data transmissions over an inter-processor communication (IPC) link between two (or more) independently operable processors. In one embodiment, the IPC link is configured to enable an independently operable processor to transact data to another independently operable processor, while obviating transactions (such as via direct memory access) by encapsulating a payload within a data structure. For example, a host processor may insert the payload into a transfer descriptor (TD), and transmit the TD to a peripheral processor. The host processor may also include a head index and/or a tail index within a doorbell message sent to the peripheral processor, obviating another access of memory. The peripheral processor may perform similar types of transactions via a completion descriptor (CD) sent to the host processor. In some variants, the peripheral may be a Bluetooth-enabled device optimized for low-latency, low-power, and/or low-throughput transactions.
-
公开(公告)号:US10268261B2
公开(公告)日:2019-04-23
申请号:US15942230
申请日:2018-03-30
Applicant: APPLE INC.
Inventor: Karan Sanghi , Saurabh Garg , Haining Zhang
IPC: G06F13/10 , G06F1/3293 , G06F1/3287 , G06F13/42 , G06F9/4401 , G06F11/14 , G06F1/3228 , G06F1/3234
Abstract: Methods and apparatus for an inter-processor communication (IPC) link between two (or more) independently operable processors. In one aspect, the IPC protocol is based on a “shared” memory interface for run-time processing (i.e., the independently operable processors each share (either virtually or physically) a common memory interface). In another aspect, the IPC communication link is configured to support a host driven boot protocol used during a boot sequence to establish a basic communication path between the peripheral and the host processors. Various other embodiments described herein include sleep procedures (as defined separately for the host and peripheral processors), and error handling.
-
公开(公告)号:US10042794B2
公开(公告)日:2018-08-07
申请号:US15011291
申请日:2016-01-29
Applicant: APPLE INC.
Inventor: Karan Sanghi , Vladislav Petkov , Radha Kumar Pulyala , Saurabh Garg , Haining Zhang
Abstract: Methods and apparatus for a synchronized multi-directional transfer on an inter-processor communication (IPC) link. In one embodiment, the synchronized multi-directional transfer utilizes one or more buffers which are configured to accumulate data during a first state. The one or more buffers are further configured to transfer the accumulated data during a second state. Data is accumulated during a low power state where one or more processors are inactive, and the data transfer occurs during an operational state where the processors are active. Additionally, in some variants, the data transfer may be performed for currently available transfer resources, and halted until additional transfer resources are made available. In still other variants, one or more of the independently operable processors may execute traffic monitoring processes so as to optimize data throughput of the IPC link.
-
公开(公告)号:US20180129270A1
公开(公告)日:2018-05-10
申请号:US15647103
申请日:2017-07-11
Applicant: Apple Inc.
Inventor: Saurabh Garg , Karan Sanghi , Vladislav Petkov , Richard Solotke
CPC classification number: G06F1/325 , G06F1/24 , G06F1/3203 , G06F1/3253 , G06F1/3287 , G06F9/3004 , G06F9/4411 , G06F9/4418 , G06F13/404 , G06F13/4221 , G06F13/4273 , G06F13/4278 , Y02D10/14 , Y02D10/151 , Y02D10/44
Abstract: Methods and apparatus for isolation of sub-system resources (such as clocks, power, and reset) within independent domains. In one embodiment, each sub-system of a system has one or more dedicated power and clock domains that operate independent of other sub-system operation. For example, in an exemplary mobile device with cellular, WLAN and PAN connectivity, each such sub-system is connected to a common memory mapped bus function, yet can operate independently. The disclosed architecture advantageously both satisfies the power consumption limitations of mobile devices, and concurrently provides the benefits of memory mapped connectivity for high bandwidth applications on such mobile devices.
-
79.
公开(公告)号:US09842036B2
公开(公告)日:2017-12-12
申请号:US14870923
申请日:2015-09-30
Applicant: Apple Inc.
Inventor: Karan Sanghi , Saurabh Garg , Vladislav Petkov , Haining Zhang
CPC classification number: G06F11/2028 , G06F13/4022 , G06F13/4221 , G06F2201/805
Abstract: Methods and apparatus for controlled recovery of error information between two (or more) independently operable processors. The present disclosure provides solutions that preserve error information in the event of a fatal error, coordinate reset conditions between independently operable processors, and implement consistent frameworks for error information recovery across a range of potential fatal errors. In one exemplary embodiment, an applications processor (AP) and baseband processor (BB) implement an abort handler and power down handler sequence which enables error recovery over a wide range of crash scenarios. In one variant, assertion of signals between the AP and the BB enables the AP to reset the BB only after error recovery procedures have successfully completed.
-
公开(公告)号:US09798377B2
公开(公告)日:2017-10-24
申请号:US14879030
申请日:2015-10-08
Applicant: Apple Inc.
Inventor: Karan Sanghi , Saurabh Garg , Haining Zhang
CPC classification number: G06F1/3293 , G06F1/3228 , G06F1/3243 , G06F1/3287 , G06F9/4403 , G06F9/4405 , G06F9/4411 , G06F11/1417 , G06F11/1471 , G06F11/1474 , G06F13/4282 , G06F2201/805 , G06F2201/87 , Y02D10/122 , Y02D10/14 , Y02D10/151 , Y02D10/152 , Y02D10/171
Abstract: Methods and apparatus for an inter-processor communication (IPC) link between two (or more) independently operable processors. In one aspect, the IPC protocol is based on a “shared” memory interface for run-time processing (i.e., the independently operable processors each share (either virtually or physically) a common memory interface). In another aspect, the IPC communication link is configured to support a host driven boot protocol used during a boot sequence to establish a basic communication path between the peripheral and the host processors. Various other embodiments described herein include sleep procedures (as defined separately for the host and peripheral processors), and error handling.
-
-
-
-
-
-
-
-
-