Apparatus for managing power and running and booting an inter-processor communication link between independently operable processors

US10372199B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10372199-B2
Application numberUS-201715721200-A
CountryUS
Kind codeB2
Filing dateSep 29, 2017
Priority dateOct 8, 2014
Publication dateAug 6, 2019
Grant dateAug 6, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory computer-readable storage apparatus comprising a storage medium, the storage medium comprising computer-readable instructions that are configured to, when executed by a first digital processor apparatus: prior to transmission of a boot state image to a second digital processor apparatus, determine a current stage of execution for the second digital processor apparatus by a read operation of a shared memory interface by the first digital processor apparatus; and cause the first digital processor apparatus to transmit the boot stage image to the second digital processor apparatus via a physical bus interface. 2. The non-transitory computer-readable storage apparatus of claim 1 , wherein the computer-readable instructions are further configured to, when executed by the first digital processor apparatus: prior to transmission of the boot state image to the second digital processor apparatus, detect the physical bus interface and enumerate the second digital processor apparatus; wherein the enumeration of the second digital processor apparatus comprises an initial query of one or more devices connected to the first digital processor apparatus and an assignment of an address for the second digital processor apparatus. 3. The non-transitory computer-readable storage apparatus of claim 1 , wherein the transmission of the boot stage image to the second digital processor apparatus further comprises a map of the boot state image to the shared memory interface; and wherein the computer-readable instructions are further configured to, when executed by the first digital processor apparatus: subsequent to the map of the boot state image to the shared memory interface, perform a write operation to a doorbell register of the shared memory interface, the write operation to the doorbell register comprising a notification of the map of the boot state image to the shared memory interface. 4. The non-transitory computer-readable storage apparatus of claim 1 , wherein the computer-readable instructions is further configured to, when executed by the first digital processor apparatus: perform a read operation on an image response register; and determine a completion status for a boot sequence for the second digital processor apparatus based on the performed read operation. 5. Integrated circuit apparatus comprising: a host processor apparatus; an auxiliary processor apparatus; and a shared memory interface comprising at least one data storage device, the shared memory interface in data communication with each of the host processor apparatus and the auxiliary processor apparatus, the shared memory interface configured to provide a multi-channel inter-processor communication link configured to enable data transfers between the host processor apparatus and the auxiliary processor apparatus; wherein the integrated circuit apparatus is further configured to: prior to transmission of a boot stage image to the auxiliary processor apparatus, determine a current stage of execution for the auxiliary processor apparatus by a read operation of the shared memory interface by the host processor apparatus; and cause the host processor apparatus to transmit the boot stage image to the auxiliary processor apparatus via a physical bus interface. 6. The integrated circuit apparatus of claim 5 , wherein the shared memory interface is configured to remain functional when one of the host processor apparatus or the auxiliary processor apparatus is asleep. 7. The integrated circuit apparatus of claim 5 , wherein the multi-channel inter-processor communication link supports a host-driven boot protocol that is utilized during a boot sequence for the integrated circuit apparatus. 8. The integrated circuit apparatus of claim 5 , wherein the transmission of the boot stage image to the auxiliary processor apparatus further comprises a map of the boot stage image to the shared memory interface by the host processor apparatus. 9. The integrated circuit apparatus of claim 8 , wherein subsequent to the map of the boot stage image to the shared memory interface, perform a write operation to a doorbell register of the shared memory interface by the host processor apparatus, the write operation to the doorbell register comprising a notification of the map of the boot image to the shared memory interface. 10. The integrated circuit apparatus of claim 9 , wherein subsequent to the write operation to the doorbell register, the host processor apparatus performs a read operation on an image response register, the read operation on the image response register comprising a determination of a completion status for a boot sequence for the auxiliary processor apparatus. 11. The integrated circuit apparatus of claim 5 , wherein the transmission of the boot stage image to the auxiliary processor apparatus comprises provision of a base address and image size for the boot stage image within a contiguous memory space by the host processor apparatus. 12. The integrated circuit apparatus of claim 11 , wherein the determination of the current stage of execution for the auxiliary processor apparatus comprises a read of a register within the shared memory interface by the host processor apparatus. 13. The integrated circuit apparatus of claim 12 , wherein the auxiliary processor apparatus is configured to report a success or failure status for execution of the boot stage image prior to the auxiliary processor apparatus switching to run time operation. 14. A peripheral processor apparatus, comprising: an endpoint apparatus configured to be coupled to a physical bus interface; a processing element in communication with the endpoint apparatus; and a communication interface coupled to a shared memory space; wherein the peripheral processor apparatus is configured to: cause execution of an initial primary boot sequence; update a current execution stage for the peripheral processor apparatus by writing to the shared memory space, the update of the current execution stage configured to notify a host processor apparatus of the current execution stage for the peripheral processor apparatus; responsive to the update of the current execution stage in the shared memory space, receive a notification from the host processor apparatus; and responsive to receipt of the notification, retrieve a secondary boot image. 15. The peripheral processor apparatus of claim 14 , wherein the receipt of the notification from the host processor apparatus comprises a read operation of a doorbell register associated with the shared memory space between the host processor apparatus and the peripheral processor apparatus. 16. The peripheral processor apparatus of claim 15 , wherein the read operation of the doorbell register comprises a read of an image address register and an image size register of the shared memory space. 17. The peripheral processor apparatus of claim 14 , wherein the peripheral processor apparatus is further configured to verify the secondary boot image using a validation procedure prior to the retrieval of the secondary boot image. 18. The peripheral processor apparatus of claim 17 , wherein subsequent to retrieval of the secondary boot image, the peripheral processor apparatus is configured to write to a notification register on the shared memory space between the host processor apparatus and the peripheral processor apparatus. 19. The peripheral processor apparatus of claim 18 , wherein subsequent to the write of the notification register, the peripheral processor ap

Assignees

Inventors

Classifications

  • in transactions (updating of structured data in databases G06F16/23) · CPC title

  • Processor initialisation · CPC title

  • Real-time · CPC title

  • Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands · CPC title

  • G06F1/3293Primary

    by switching to a less power-consuming processor, e.g. sub-CPU · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10372199B2 cover?
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 configur…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/3293. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 06 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).