throbber

`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`UNITED STATES DEPARTMENT OF COMMERCE
`United States Patent and Trademark Office
`AddIESS. COMMISSIONER FOR PATENTS
`PO Box 1450
`Alexandria, Viigmia 22313-1450
`wwwusptogov
`
`APPLICATION
`NUMBER
`
`FILING or
`371(0) DATE
`
`GRP ART
`UNIT
`
`
`
`
`
`F
`
`61/324,122
`
`04/14/2010
`
`FEE REC'D
`
`220
`
`23696
`QUALCOMM INCORPORATED
`5775 MOREHOUSE DR-
`SAN DIEGO, CA 92121
`
`ATTY.DOCKET.NO
`
`TOT CLAHVIS IND CLAIMS
`
`101660P1
`
`CONFIRMATION NO. 8542
`
`FILING RECEIPT
`
`lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllll
`00000004 239 92
`
`Date Mailed: 04/26/2010
`
`It will not be examined for patentability and will
`Receipt is acknowledged of this provisional patent application.
`become abandoned not later than twelve months after its filing date. Any correspondence concerning the application
`must include the following identification information: the US. APPLICATION NUMBER, FILING DATE, NAME OF
`APPLICANT, and TITLE OF INVENTION. Fees transmitted by check or draft are subject to collection. Please verify
`the accuracy of the data presented on this receipt. If an error is noted on this Filing Receipt, please submit
`a written request for a Filing Receipt Correction. Please provide a copy of this Filing Receipt with the
`changes noted thereon. If you received a "Notice to File Missing Parts" for this application, please submit
`any corrections to this Filing Receipt with your reply to the Notice. When the USPTO processes the reply
`to the Notice, the USPTO will generate another Filing Receipt incorporating the requested corrections
`
`Applicant(s)
`
`Nitin Gupta, San Diego, CA;
`Daniel Kim, San Diego, CA;
`Igor Malamant, San Diego, CA;
`Power of Attorney: None
`
`If Required, Foreign Filing License Granted: 04/22/2010
`The country code and number of your priority application, to be used for filing abroad under the Paris Convention,
`is US 61/324,122
`Projected Publication Date: None, application is not eligible for pre-grant publication
`Non-Publication Request: No
`Early Publication Request: No
`Title
`
`Communication Protocol for Efficiently Loading an Executable Software Image From a Primary
`Processor to one or More Secondary Processor in a Multi-Processor System
`
`PROTECTING YOUR INVENTION OUTSIDE THE UNITED STATES
`
`Since the rights granted by a US. patent extend only throughout the territory of the United States and have no
`effect in a foreign country, an inventor who wishes patent protection in another country must apply for a patent
`in a specific country or in regional patent offices. Applicants may wish to consider the filing of an international
`application under the Patent Cooperation Treaty (PCT). An international (PCT) application generally has the same
`effect as a regular national patent application in each PCT-member country. The PCT process simplifies the filing
`of patent applications on the same invention in member countries, but does not result in a grant of "an international
`page 1 of 3
`
`QUALCOMM EXHIBIT 2002
`Intel v. Qualcomm
`IPR2018—01334
`Page 1
`
`QUALCOMM EXHIBIT 2002
`Intel v. Qualcomm
`IPR2018-01334
`Page 1
`
`

`

`patent" and does not eliminate the need of applicants to file additional documents and fees in countries where patent
`protection is desired.
`
`Almost every country has its own patent law, and a person desiring a patent in a particular country must make an
`application for patent in that country in accordance with its particular laws. Since the laws of many countries differ
`in various respects from the patent law of the United States, applicants are advised to seek guidance from specific
`foreign countries to ensure that patent rights are not lost prematurely.
`
`Applicants also are advised that in the case of inventions made in the United States, the Director of the USPTO must
`issue a license before applicants can apply for a patent in a foreign country. The filing of a US. patent application
`serves as a request for a foreign filing license. The application's filing receipt contains further information and
`guidance as to the status of applicant's license for foreign filing.
`
`Applicants may wish to consult the USPTO booklet, "General Information Concerning Patents" (specifically, the
`section entitled "Treaties and Foreign Patents") for more information on timeframes and deadlines for filing foreign
`patent applications. The guide is available either by contacting the USPTO Contact Center at 800-786-9199, or it
`can be viewed on the USPTO website at http://www.uspto.gov/web/offices/pac/doc/general/index.html.
`
`For information on preventing theft of your intellectual property (patents, trademarks and copyrights), you may wish
`to consult the US. Government website, http://www.stopfakes.gov. Part of a Department of Commerce initiative,
`this website includes self-help "toolkits" giving innovators guidance on how to protect intellectual property in specific
`countries such as China, Korea and Mexico. For questions regarding patent enforcement issues, applicants may
`call the US. Government hotline at 1-866-999-HALT (1-866-999-4158).
`
`LICENSE FOR FOREIGN FILING UNDER
`
`Title 35, United States Code, Section 184
`
`Title 37, Code of Federal Regulations, 5.11 & 5.15
`
`GRANTED
`
`if the phrase "IF REQUIRED, FOREIGN FILING
`The applicant has been granted a license under 35 U.S.C. 184,
`LICENSE GRANTED" followed by a date appears on this form. Such licenses are issued in all applications where
`the conditions for issuance of a license have been met, regardless of whether or not a license may be required as
`set forth in 37 CFR 5.15. The scope and limitations of this license are set forth in 37 CFR 5.15(a) unless an earlier
`license has been issued under 37 CFR 5.15(b). The license is subject to revocation upon written notification. The
`date indicated is the effective date of the license, unless an earlier license of similar scope has been granted under
`37 CFR 5.13 or 5.14.
`
`This license is to be retained by the licensee and may be used at any time on or after the effective date thereof unless
`it is revoked. This license is automatically transferred to any related applications(s) filed under 37 CFR 1.53(d). This
`license is not retroactive.
`
`The grant of a license does not in any way lessen the responsibility of a licensee for the security of the subject matter
`as imposed by any Government contract or the provisions of existing laws relating to espionage and the national
`security or the export of technical data. Licensees should apprise themselves of current regulations especially with
`respect to certain countries, of other agencies, particularly the Office of Defense Trade Controls, Department of
`State (with respect to Arms, Munitions and Implements of War (22 CFR 121-128)); the Bureau of Industry and
`page 2 of 3
`
`Page 2
`
`Page 2
`
`

`

`Security, Department of Commerce (15 CFR parts 730-774); the Office of Foreign AssetsControl, Department of
`Treasury (31 CFR Parts 500+) and the Department of Energy.
`
`NOT GRANTED
`
`No license under 35 U.S.C. 184 has been granted at this time, if the phrase "IF REQUIRED, FOREIGN FILING
`LICENSE GRANTED" DOES NOT appear on this form. Applicant may still petition for a license under 37 CFR 5.12,
`if a license is desired before the expiration of 6 months from the filing date of the application. If 6 months has lapsed
`from the filing date of this application and the licensee has not received any indication of a secrecy order under 35
`U.S.C. 181, the licensee may foreign file the application pursuant to 37 CFR 5.15(b).
`
`page 3 of 3
`
`Page 3
`
`Page 3
`
`

`

`PTOI'SBI‘I 4 (07-07)
`Approved for use through 06/30I'2010. OMB 0651-0032
`US. Patent and Trademark Office; US. DEPARTMENT OF COMMERCE
`Under the Paperwork Reduction Act of 1995, no persons are required to respond to a collection of information unless it contains a valid OMB control number.
`
`
`
`_
`_
`Appllcatlon Data Sheet 37 CFR 1.76
`
`Application Number
`
`
`Attorney Docket Number
`1D1660P1
`
`
`
`
`
`Title of Invention
`
`Communication Protocol for Efficiently Loading an Executable Software Image From a Primary Processor to
`one or More Secondary Processor in a Multi-Processor System
`
`The application data sheet is part of the provisional or nonprovisional application for which it is being submitted. The following form contains the
`bibliographic data arranged in a format specified by the United States Patent and Trademark Office as outlined in 37 CFR 1.76.
`This document may be completed electronically and submitted to the Office in electronic format using the Electronic Filing System (EFS) or the
`document may be printed and included in a paper filed application.
`
`Secrecy Order 37 CFR 5.2
`
`|:| Portions or all of the application associated with this Application Data Sheet may fall under a Secrecy Order pursuant to
`37 CFR 5.2 (Paper filers only. Applications that fall under Secrecy Order may not be filed electronically.)
`
`
`
`Applicant Information:
`
`Applicant 1
`
`Applicant Authority @lnventor OLegal Representative under 35 U_S_C_ 117
`
`OPaIty of Interest under 35 U_S_C_ 118
`
`_——
`Residence Information (Select One) @ US Residency 0 Non US Residency 0 Active US Military Service
`StateIProvince - Country of Residencei
`
`
`
`
`Citizenship under 37 CFR 1. 41(b)|
`
`Mailing Address of Applicant:
`Address 1
`5775 Morehouse Drive
`
`Address 2
`
`Applicant 2
`
`
`
`
`
`
`
`
`
`OPaIty of Interest under 35 U.S.C. 118
`Applicant Authority @lnventor OLegal Representative under 35 U.S.C. 117
`Prefix Given Name Suffix Middle Name Family Name
`Daniel
`Kim
`
`
`
`Residence Information (Select One) @ US Residency 0 Non US Residency 0 Active US Military Service
`
`StateIProvince - Country of Residencei Citizenship under 37 CFR 1. 41(b)i
`
`Mailing Address of Applicant:
`Address 1
`5775 Morehouse Drive
`
`Address 2
`
`Applicant 3
`
`OParty of Interest under 35 U.S.C. 118
`Applicant Authority @lnventor OLegal Representative under 35 U.S.C. 117
`
`Prefix Given Name
`Middle Name
`Family Name
`Suffix
`
`Igor
`
`Malamant
`
`Residence Information (Select One) @ US Residency 0 Non US Residency 0 Active US Military Service
`
`
`San DiegoCity StateIProvince | CA | Country of Residencei | US Page4
`
`
`
`EFS Web 2.2.2
`
`
`
`Page 4
`
`

`

`PTOISBI14 (07-07)
`Approved for use through DEE/3012010. OMB 0651-0032
`U.S. Patent and Trademark Office; U.S. DEPARTMENT OF COMMERCE
`Under the Paperwork Reduction Act of 1995, no persons are required to respond to a collection of information unless it contains a valid OMB control number.
`
` Attorney Docket Number
`101660P1
`
`Application Data Sheet 37 CFR 1.76
`
`Application Number
`
`Communication Protocol for Efficiently Loading an Executable Software Image From a Primary Processor to
`Title of Invention
`one or More Secondary Processor in a Multi—Processor System
`
`
`Citizenship under 37 CFR 1.41(b) i
`
`IS
`
`Mailing Address of Applicant:
`
`Address 1
`
`Address 2
`
`5775 Morehouse Drive
`
`Postal Code
`
`92121
`
`US
`
`Inventor Information blocks may be
`Inventors Must Be Listed - Additional
`All
`generated within this form by selecting the Add button.
`
`Add
`
`Correspondence Information:
`
`Enter either Customer Number or complete the Correspondence Information section below.
`For further information see 37 CFR 1.33(a).
`
`|:| An Address is being provided for the correspondence Information of this application.
`
`
`AddEman
`
`
`
`Customer Number
`
`Email Address
`
`us—docketing@qualcomm.com
`
`
`
`Email Address
`nc.docketing@qualcomm.com
`
`
`
`AddEman
`
`
`
`
`
`
`
`
`
`
`
`Application Information:
`
`Communication Protocol for Efficiently Loading an Executable Software Image From a Primary
`Title Of the Invention
`Drnnneenr tn nnn nr Mnrn Rnnnndnnr Drnnneenr in :2 MI Ilti_|3rnnneenr Quetnm
`
`Attorney Docket Number
`101660P1
`I Small Entity Status Claimed
`|:|
`
`Application Type
`Provisional
`
`Subject Matter
`Utility
`
`Suggested Class (if any)
`Sub Class (if any)
`
`Suggested Figure for Publication (if any)
`Total Number of Drawing Sheets (if any)
`
`Publication Information:
`
`Suggested Technology Center (if any)
`
`
`
`|:| Request Early Publication (Fee required at time of Request 37 CFR 1.219)
`
`Request Not to Publish. I hereby request that the attached application not be published under 35
`El U.S.C. 12203) and certify that the invention disclosed in the attached application has not and will not be the
`subject of an application filed in another country, or under a multilateral international agreement, that requires
`publication at eighteen months after filing.
`
`Representative Information:
`
`page 5
`
`Representative information should be provided for all practitioners having a power of attorney in the application. Providing
`this information in the Application Data Sheet does not constitute a power of attorney in the application (see 37 CFR 1.32).
`Enter either Customer Number or complete the Representative Name section below. If both sections
`are completed the Customer Number will be used for the Representative Information during processing.
`
`EFS Web 2.2.2
`
`Page 5
`
`

`

`PTOISBI14 (07-07)
`Approved for use through 06/30r'2010. OMB 0651-0032
`U.S. Patent and Trademark Office; U.S. DEPARTMENT OF COMMERCE
`Under the Paperwork Reduction Act of 1995, no persons are required to respond to a collection of information unless it contains a valid OMB control number.
`
`
`Application Data Sheet 37 CFR 1.76
`
`
`
`
`
`
`
`Title of Invention
`
`Communication Protocol for Efficiently Loading an Executable Software Image From a Primary Processor to
`one or More Secondary Processor in a Multi—Processor System
`
`
`
`
`Please Select One:
`
`@ Customer Number
`0 US Patent Practitioner 0 Limited Recognition (37 CFR 11.9)
`
` Customer Number
`
`
`Attorney Docket Number
`
`101660P1
`
`Application Number
`
`
`
`
`Domestic Benefit/National Stage Information:
`
`This section allows for the applicant to either claim benefit under 35 U.S.C. 119(e), 120, 121, or 355(0) or indicate National Stage
`entry from a PCT application. Providing this information in the application data sheet constitutes the specific reference required by
`35 U.S.C. 119(e) or 120, and 37 CFR 1.78(a)(2) or CFR 1.78(a)(4), and need not otherwise be made part of the specification.
`
`
`Prior Application Status
`
`
`
`
`Application Number
`Continuity Type
`Prior Application Number
`Filing Date (YYYY-MM-DD)
`
`
`
`Additional Domestic Benefit/National Stage Data may be generated within this form
`Add
`
`by selecting the Add button.
`
`Foreign Priority Information:
`
`This section allows for the applicant to claim benefit of foreign priority and to identify any prior foreign application for which priority is
`not claimed. Providing this information in the application data sheet constitutes the claim for priority as required by 35 U.S.C. 119(b)
`and 37 CFR 1.55(a).
`
`
`Application Number
`
`Country i
`Parent Filing Date (YYYY-MM-DD}
`Priority Claimed
`
`
`Additional Foreign Priority Data may be generated within this form by selecting the
`Add button.
`
`Add
`
`Assignee Information:
`Providing this information in the application data sheet does not substitute for compliance with any requirement of part 3 of Title 37
`of the CFR to have an assignment recorded in the Office.
`
`Assignee 1
`
`If the Assignee is an Organization check here.
`
`Organization Name
`
`QUALCOMM Incorporated
`
`Mailing Address Information:
`
`Address 1
`
`Address 2
`
`5775 Morehouse Drive
`
`Phone Number
`
`(858) 658—5787
`
`(858) 658-2502
`
`Email Address
`
`us—docketing@qualcomm.com; nc.docketing@qualcomm.com
`
`Additional Assignee Data may be generated within this form by selecting the Add
`button.
`
`Add
`
`Page 6
`
`EFS Web 2.2.2
`
`
`
`
`
`Page 6
`
`

`

`PTOISBI14 (07-07)
`Approved for use through DEE/3012010. OMB 0651-0032
`U.S. Patent and Trademark Office; U.S. DEPARTMENT OF COMMERCE
`Under the Paperwork Reduction Act of 1995, no persons are required to respond to a collection of information unless it contains a valid OMB control number.
`
`_
`_
`Appllcatlon Data Sheet 37 CFR 1.76
`
`Attorney Docket Number
`_
`
`101660P1
`
`_ Title of Invention
`
`Communication Protocol for Efficiently Loading an Executable Software Image From a Primary Processor to
`one or More Secondary Processor in a Multi—Processor System
`
`Signature:
`
`A signature of the applicant or representative is required in accordance with 37 CFR 1.33 and 10.18. Please see 37
`
`CFR 1.4(d) for the form of the signature.
`
`This collection of information is required by 37 CFR 1.76. The information is required to obtain or retain a benefit by the public which
`is to file (and by the USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.14. This
`collection is estimated to take 23 minutes to complete, including gathering, preparing, and submitting the completed application data
`sheet form to the USPTO. Time will vary depending upon the individual case. Any comments on the amount of time you require to
`complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer, US. Patent and
`Trademark Office, US. Department of Commerce, PO. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR
`COMPLETED FORMS TO THIS ADDRESS. SEND TO: Commissioner for Patents, P.O. Box1450, Alexandria, VA 22313-1450.
`
`EFS Web 2.2.2
`
`Page 7
`
`Page 7
`
`

`

`Privacy Act Statement
`
`(1) the general authority for the collection
`a patent application or patent. Accordingly, pursuant to the requirements of the Act, please be advised that:
`of this information is 35 U.S.C. 2(b)(2); (2) furnishing of the information solicited is voluntary; and (3) the principal purpose for which the information is
`used by the U.S. Patent and Trademark Office is to process and/or examine your submission related to a patent application or patent.
`If you do not
`furnish the requested information, the US. Patent and Trademark Office may not be able to process andlor examine your submission, which may
`result in termination of proceedings or abandonment of the application or expiration of the patent.
`
`The information provided by you in this form will be subject to the following routine uses:
`
`1.
`
`The information on this form will be treated confidentially to the extent allowed under the Freedom of Information Act (5 U.S.C. 552) and
`the Privacy Act (5 U.S.C. 552a). Records from this system of records may be disclosed to the Department of Justice to determine whether
`the Freedom of Information Act requires disclosure of these records.
`
`A record from this system of records may be disclosed, as a routine use, in the course of presenting evidence to a court, magistrate, or
`administrative tribunal, including disclosures to opposing counsel in the course of settlement negotiations.
`
`A record in this system of records may be disclosed, as a routine use, to a Member of Congress submitting a request involving an
`individual, to whom the record pertains, when the individual has requested assistance from the Member with respect to the subject matter of
`the record.
`
`A record in this system of records may be disclosed, as a routine use, to a contractor of the Agency having need for the information in
`order to perform a contract. Recipients of information shall be required to comply with the requirements of the Privacy Act of 1974, as
`amended, pursuant to 5 U.S.C. 552a(m).
`
`A record related to an International Application filed under the Patent Cooperation Treaty in this system of records may be disclosed, as
`a routine use, to the International Bureau of the World Intellectual Property Organization, pursuant to the Patent Cooperation Treaty.
`
` The Privacy Act of 1974 (PL 93-579) requires that you be given certain information in connection with your submission of the attached form related to
`
`
`
`A record in this system of records may be disclosed, as a routine use, to another federal agency for purposes of National Security
`review (35 U.S.C. 181) and for review pursuant to the Atomic Energy Act (42 U.S.C. 218(c)).
`
`A record from this system of records may be disclosed, as a routine use, to the Administrator, General Services, or hislher designee,
`during an inspection of records conducted by GSA as part of that agency's responsibility to recommend improvements in records
`management practices and programs, under authority of 44 U.S.C. 2904 and 2906. Such disclosure shall be made in accordance with the
`GSA regulations governing inspection of records for this purpose, and any other relevant (i.e., GSA or Commerce) directive. Such
`disclosure shall not be used to make determinations about individuals.
`
`A record from this system of records may be disclosed, as a routine use, to the public after either publication of the application pursuant
`to 35 U.S.C. 122(b) or issuance ofa patent pursuant to 35 U.S.C. 151. Further, a record may be disclosed, subject to the limitations of 37
`CFR 1.14, as a routine use, to the public if the record was filed in an application which became abandoned or in which the proceedings were
`terminated and which application is referenced by either a published application, an application open to public inspections or an issued
`patent.
`
`A record from this system of records may be disclosed, as a routine use, to a Federal, State, or local law enforcement agency, if the
`USPTO becomes aware of a violation or potential violation of law or regulation.
`
`Page 8
`
`
`EFS Web 2.2.2
`
`Page 8
`
`

`

`Communication Device
`
`
`
`Fiie'System -'
`‘ Mirror
`I
`
`1;“Mogiem ":_
`'RunéTI'me
`Data: f
`
`
`'
`
`
`
`Inter-Chip
`Communication Bus
`
` "
`
`«- ModemProce f
`
`Larger Flash Memory (e.g. NAND)
`
`
`Modem File
`System
`
`Figure 1 Example Smartphone Architecture
`
`T‘OO
`
`Page 9
`
`Page 9
`
`

`

`_
`.
`‘
`Hardware Buffer
`Partial Data Segment
`
`
`
`physical Data
`Pipe
`(Le. HS-USB
`
`Cable)
`
`Hardware Transport
`Mechanism
`(i.e. USB Controller)
`'
`
`'
`
`_
`U
`.
`_
`Hardware Buffer
`\
`_
`I I Partial Data segment
`
`
`
`
`
`
`
`Zero Copy Transport Flow
`
`SECONDARY PROCESSOR
`
`9,0 5
`System Memory /
`
`Image Header
`'
`'
`
`
`System'M mory
`-
`
`DataSegmenM
`—
`
`'3
`“ ‘-_ ‘
`- »- ‘— ‘ V‘°'a"'e “Wm
`3
`3 I
`,
`system me
`
`
`
`Image Header
`
`Data-Segment 1
`
`Data Segmentz -‘
`
`. 'Data Segment 3
`
`“ Data Ség'melntft"
`
`Data §egment5 LY
`
`-7 VlDataVSegment 1 :
`
`Data Segment 2
`
`V
`
`'
`
`'
`
`.
`
`V
`
`”a“ Segme” 4
`(still transferring)
`
`
`
`The current system memory location where data is to
`be transferred is passed to the
`controller via
`software (based on the information contained in the
`image header)
`
`Each data segment (although possibly stored contiguously on the host's
`non-volatile memory) can be scattered to non-contiguous target system
`memory locations. The system memory locations and sizes for each
`data segment will be passed in the image header and processed by the
`target processor in order to set the address for the target’s
`controller. This will allow the target to transfer data directly from the
`target hardware buffer to system memory location without copying data
`between system memory locations. Once all the data segments for the
`image has been transferred, the image can be scheduled for execution
`on the target.
`
`
`
`Figure 2 - Zero Copy Transport Flow
`
`Page 10
`
`Page 10
`
`

`

`Command Packet
`{COMMAND ID - PACKET LENGer "r“
`
` Data Packet
`
`
`
`' RAW DATA (arbitrary number ofrbytes’)
`
`\
`
`'
`
`.
`
`" I
`
`Figure 3—1 Exemplary Protocol’s packet structures
`
`Page 11
`
`Page 11
`
`

`

`Packet Flow
`
`H ost
`
`HELLO
`
`Target
`Target initiates protocol by sending
`HELLO packet
`
`Based on the file offset and size
`received in the READ_DATA packet,
`the host sends data from the image file
`
`READ_DATA
`(image ID, 0 offset, size of image
`. header)_
`
`RAW_DATA (size of image header)
`
`READ DATA
`(image ID, segment 0 offset, size of
`segment 0)
`
`RAW_DATA (size of segment 0)
`
`READ_DATA
`(image lD, segment 1 offset, size of
`......_..__
`____ segment, _1_)_ ”WW _>__
`
`RAW_DATA (size of segment 1)
`
`READ_‘DATA
`(image ID, segment N offset, size of
`“segment N)“
`
`Once HELLO response is received,
`target initiates the image transfer
`
`Target initiates transfer of data by first
`requesting the transfer of the image
`header from the host
`
`Target decodes image header to
`retrieve location and size of each data
`
`segment within image file
`
`Once the target receives the data for
`the current segment, the target
`processes the data. If valid data is
`received, the next READ_DATA
`request is sent. If invalid data is
`received, an END_IMAGE_TX is sent
`with an error condition, upon which the
`target waits for RESET and then resets
`
`
`
`
`
`
`
`
`Once host receives successful
`END_lMAGE_TX, host sends DONE DONE
`
`DONE__RESP
`
`Upon successful transfer of all data
`segments, target sends an
`END_lMAGE_TX packet with success
`status
`
`If target has not received all images in
`order to boot, target sends
`IMAGE_TX_PEND1NG status with
`DONE_RESP; otherwise, target sends
`IMAGE__TX_COMPLETE status with
`DONE_RESP and exits
`protocol
`
`-
`
`Figure 4-1 Successful image transfer sequence for Exemplary Protocol
`
`Page 12
`
`Page 12
`
`

`

`State Machine -
`
`Target Side
`
` Send HELLO
`
`WAlT_HELLO__RESP
`
`WAlT_RESET
`
`State
`
`
`
`State
`
`Reset target Error during receive image
`
`HELLQ response recelved;
`
`HELLOresponse received and
`'
`invalid/mismatch protocol
`OR
`I
`I-
`Invalid command ‘
`v
`‘ Send END_lMAGE_TX error
`response
`*
`
`‘
`
`.RESET received
`, Shutdown Pra‘i'otrsl;
`Send RESET_RESP
`
`
`
`Any other command
`received
`0R
`Invalid command reCeived;‘
`Send ENDJMAGE_TX
`error response
`
`
`
`No error
`dufing ;
`
`receive '
`
`image
`
`
`WAIT4DONE
`Slate
`
`
`
`
`
`T
`
`DONE received and NOT all
`images received for boot;
`Send DONE_RESP with
`lMAGE_TX_PENDlNG status
`
`v
`
`
`e
`
`DONE received and all images
`lMAGE_TX_CONIPLETE status
`received for boot;
`'
`-
`'
`Shu‘mw" ””5441
`’
`Send DONE“RESP With
`
`
`Exit and
`
`
`
`_oon'finue
`with boot
`
`
`
`
`
`v
`
`invalid or any other command V
`received;
`Send END IMAGE_TX error
`response
`-
`
`
`
`
`
`i
`
`Figure 4-2 exemplary state machine (target side)
`
`Page 13
`
`Page 13
`
`

`

`
`[Receive _
`
`
`'
`Image
`’
`_ Entry.
`
`Protocol Flow —
`
`Receive Image
`
`DATA__ELF_H DR
`
`State '
`
`
`
`
`
`
`
`
`_
`RAW_DATA received;
`
`. Valid ELF header received;
`' Determine size and location of
`
`program headersIn host"Image;
`'
`'Send READ_DATA
`
`‘
`
`
`
`Valid program headers received;
`
`
`
`Determine location/size of hash .
`table segment in host image;
`
`
`Send READ_DATA
`
`
`
`
`
`DATA__ELF_HASH_TABLE
`
`
`
`
`;
`Based on expected image,
`determine image header size and
`set offset=0 in host imag_;e
`Send READ_DATA
`
`
`
`DATA_BINARY
`State
`
`
`
`~ RAW_DATA received;
`Store image header for
`authentication;
`Determine location/size of dataIn
`hostImage;
`send READ_DATA>
`
`.RAW_DATA received
`_
`for binaryImage;
`Send END_IMAGE_TX success
`response
`
`[Receive
`‘ image,
`:EX“ '
`
`,
`
`
`
`
`I
`
`
`‘..__...._‘_.._______,___..___.._-.~....~-I..w...._._...T.___.._-
`
`InvalId BInary header recered
`- OR ,
`.
`Invalid data received
`.
`OR
`
`Invalid ELF header received
`-
`' OR
`Invalid program headers received
`
`
`HashtableaLItOR
`ica‘tion’failed--
`' ELFsegment aIIthentication failedr.
`SendEND IMAGE?TX error response
`
`
`
`Figure 4—3 exemplary state machine (receive image)
`
`. RAW_DATA received;
`.Valid hash table received;
`
`'
`
`. Not‘ail ELF ;
`Determine location/size of next
`
`
`.
`segments
`ELF segmentIn hos‘t'Image;
`
`
`
`Send READ_DATA
`received
`i
`5
`I
`
`RAW_DATA received;
`Valid data reCeived;
`
`.
`
`
`
`~ All ELF segmentsreceived and
`
`
`:
`aIIthenticated (if applicable);
`Send END_IMAGE_TX success
`
`’
`response
`
`Page 14
`
`Page 14
`
`

`

`State Machine —
`Host Side
`
`HELLO response received and
`invalid/mismatch protocol
`‘ VOR‘,
`,-
`lnvalid command
`Send RESET
`
`HELLO received;
`Compatible protocol received;
`Send HELLO_RESP success
`
`response
`
`
`
`
`
`
`
`
`
`
`
`
`
`WA|T__COMMAND
`
`
`
`READ_DATA' received;
`Based on image ID. file offset,
`' and length received, open file
`and read data:
`'_
`Send RAW__DATA
`
`ENDHIMAGE_TX received with
`success;
`Send DONE
`
`
`
`
`State
`
`
`
`
`
`
`END__IMAGE_TX received with
`’
`error
`'
`OR »
`7
`Any other command received
`OR V
`‘
`*
`invalid command received;
`'
`Send RESET-
`
`
`
`
`
`WAIT_DONE_RESP
`
`State
`
`
`
`
`
`WAlT_RESET_R ESP
`
`State
`
`
`
`
`
`
`
`. DONE’_RESP received and all
`images'sent for‘boot; ,
`
`i
`
`Figure 4-4 exemplary state machine (host side)
`
`Page 15
`
`Page 15
`
`

`

`lOl660Pl
`
`1/27
`
`COMMUNICATION PROTOCOL FOR EFFICIENTLY LOADING AN
`
`EXECUTABLE SOFTWARE IMAGE FROM A PRIMARY PROCESSOR TO
`
`ONE OR MORE SECONDARY PROCESSOR IN A MULTI-PROCESSOR
`
`SYSTEM
`
`Inventors: Nitin Gupta, Daniel Kim and Igor Malamant
`
`TECHNICAL FIELD
`
`[0001]
`
`The following description relates generally to communication
`
`protocols,
`
`and more specifically to a communication protocol
`
`for efficiently
`
`communicating from a primary processor in a multi—processor system an executable
`
`software image to another processor (referred to herein as a “secondary” processor) in
`
`thc multi-proccssor systcm.
`
`BAC KGRO UN D
`
`[0002]
`
`Processors
`
`generally
`
`execute
`
`software
`
`code
`
`to
`
`perform
`
`operations. Processors generally require some software code, commonly referred to as
`
`boot code, to be executed for booting up.
`
`In a multi-processor system, each processor
`
`may require respective boot code for booting up. As an example, in a smartphone
`
`device that includes an application processor and a modem processor, each of the
`
`processors may have respective boot code for booting up.
`
`[0003]
`
`In many multi-processor systems, non-volatile memory is present
`
`on each processor, and the non—volatile memory of a respective processor stores
`
`executable software to be executed by the respective processor.
`
`For instance, a
`
`processor’s boot code may be stored to the processor’s respective non-volatile memory
`
`(e.g., Flash memory, ROM, etc.), and upon power-up the boot code software is loaded
`
`for execution by the processor from its respective non-volatile memory. Thus, in this
`
`type of architecture the executable software, such as a processor’s boot code, is not
`
`required to be loaded to the processor from another processor in the system.
`
`[0004]
`
`In some multi-processor systems, software may be required to be
`
`loaded to one processor from another processor. For example, suppose a first processor
`
`in a multi-processor system is responsible for storing to its non-volatile memory boot
`
`code for one or more other processors in the system; wherein upon power—up the first
`
`processor is tasked with loading the respective boot code to the other processor(s), as
`
`765172801
`
`Page 16
`
`Page 16
`
`

`

`lOl660Pl
`
`2/27
`
`opposed to such boot code residing in non-volatile memory of the other processor(s). In
`
`this type of system,
`
`the software (e. g., boot
`
`image) is downloaded from the first
`
`processor to the other processor(s) (e.g., to volatile memory of the other processor(s)),
`
`and thereafter the receiving processor(s) boots with the downloaded image.
`
`[0005]
`
`Often,
`
`the software image to be loaded is a binary multi-
`
`segmented image. For instance, the software image may include a header followed by
`
`multiple segments of code. When software images are loaded from an external device
`
`(e. g., from another processor) onto a target device (e. g., a target processor) there may be
`
`an intermediate step where the binary multi-scgmcntcd image is transferred into the
`
`system memory and then later scattered into target locations by the boot loader.
`
`[0006]
`
`In a system in which the software image is loaded onto a target
`
`“secondary” processor from a first “primary” processor, one way of performing such
`
`loading is to allocate a temporary buffer into which each packet is received, and each
`
`packet would have an associated packet header information along with the payload.
`
`The payload in this case would be the actual image data. From the temporary buffer,
`
`some of the processing may be done over the payload, and then the payload would get
`
`copied over to the final destination. The temporary buffer would be some place in
`
`system memory, such as in internal RAM or DDR, for example.
`
`[0007]
`
`Thus, where an intermediate buffer is used,
`
`the data being
`
`downloaded from a primary processor to a secondary processor is copied into the
`
`intermediate buffer.
`
`In this way, the buffer is used to receive part of the image data
`
`from the primary processor, and from the buffer the image data may be scattered into
`
`the memory (e.g., volatile memory) of the secondary processor.
`
`[0008]
`
`The primary processor and its non-volatile memory that stores the
`
`boot image for a secondary processor may be implemented on a different chip than a
`
`chip on which the secondary processor is implemented. Thus, in order to transfer the
`
`data from the primary processor’s non-volatile memory to the secondary processor (e.g.,
`
`to the secondary processor’s volatile memory), a packet-based communication may be
`
`employed, wherein a packet header is included in each packet communicated to the
`
`secondary processor. The packets are stored in an intermediate buffer, and some
`
`processing of the received packets is then required for that data to be stored where it
`
`needs to go (e.g., within the secondary processor’s volatile memory).
`
`765172801
`
`Page 17
`
`Page 17
`
`

`

`lOl660Pl
`
`3/27
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0009]
`
`Fo

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket