Professional Documents
Culture Documents
17-07-06 Qualcomm v. Apple Patent Infringement Complaint
17-07-06 Qualcomm v. Apple Patent Infringement Complaint
1 Page 1 of 177
2
(Ill. Bar No. 6209623)
[email protected]
3 QUINN EMANUEL URQUHART & SULLIVAN, LLP
4
500 West Madison St., Suite 2450
Chicago, Illinois 60661
5 Telephone: (312) 705-7400
6 Facsimile: (312) 705-7401
8 [email protected]
Randall E. Kay (SBN 149369)
9 [email protected]
10 JONES DAY
4655 Executive Drive, Suite 1500
11 San Diego, California 92121
COMPLAINT
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.2 Page 2 of 177
14 has invented technologies that transform how the world communicates. Qualcomm
17 developed numerous innovative features used in virtually every modern cell phone.
21 includes more than 130,000 issued patents and patent applications worldwide.
22 Hundreds of mobile device suppliers around the world have taken licenses from
23 Qualcomm.
27 would lose much of their consumer appeal. Apple was a relatively late entrant in the
28 mobile device industry and its mobile devices rely heavily on the inventions of
COMPLAINT -2-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.3 Page 3 of 177
1 Qualcomm and other companies that Qualcomm has invested in. Nearly a decade
2 before Apple released the iPhone, Qualcomm unveiled its own full-feature, top-of-
4 pdQ 1900 lets you make calls, keep records, send email, browse the web and run
5 over a thousand different applications, all while on the go. Although a cell phone, it
6 is one of the first truly portable, mobile and multipurpose Internet devices.1 While
10 market phones that feature Qualcomms innovations and the innovations of other
15 popular features that drive consumer demand, for example, enhancements to high
17 consumption and increasing battery life through envelope tracking, reducing power
22 allowing faster network performance and longer battery life, among many others.
25 daily lives.
26
27
1
28
http://edition.cnn.com/1999/TECH/ptech/12/03/qualcomm.pdq/
COMPLAINT -3-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.4 Page 4 of 177
3 for those technologies. Apples founder boasted that Apple steals the great ideas
5 ideas.2 Apple employees likewise admit that Applea relatively late entrant in the
6 mobile spacedid not invent many of the iPhones features. Instead, Apple
7 incorporated, marketed, and commercialized the work of others: I dont know how
8 many things we can come up with that you could legitimately claim we did first. . . .
9 We had the first commercially successful version of many features but thats
11 9. Rather than pay Qualcomm for the technology Apple uses, Apple has
12 taken extraordinary measures to avoid paying Qualcomm for the fair value of
13 Qualcomms patents. On January 20, 2017, Apple sued Qualcomm in this district,
15 the use of certain of Qualcomms pioneering patents that are critical to a modern
16 smartphone like the iPhone. See Case No. 3:17-cv-00108-GPC-MDD. Apple also
17 encouraged the companies that manufacture the iPhone to breach their contracts
19 something that those manufacturers had done for many years, without complaint,
22
2
Interview with Steve Jobs, available at
23
https://www.youtube.com/watch?v=CW0DUg63lqU (Picasso had a saying, good
24 artists copy, great artists steal. And we have always been shameless about stealing
great ideas.).
25
3
26
April 2010 email from Apples iPhone Product Marketing Manager, Steve
Sinclair, reported in: Rick Merritt, Schiller shocked at copycat Samsung phone,
27 Embedded (Aug. 3, 2012), http://www.embedded.com/print/4391702 (April 21,
28
2017 snapshot of page, accessed via Googles cache).
COMPLAINT -4-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.5 Page 5 of 177
4 underlying technological standard would require use of the patent. Qualcomm owns
13 terms. Qualcomm therefore seeks to enforce its rights in the patents identified
14 below and to address and remedy Apples flagrant infringement of those patents.
15 PARTIES
16 13. Qualcomm is a Delaware corporation with its principal place of
17 business at 5775 Morehouse Drive, San Diego, California. Since 1989, when
20 been recognized as an industry leader and innovator in the field of mobile devices
21 and cellular communications. Qualcomm owns more than 130,000 patents and
22 patent applications around the world relating to cellular technologies and many
26 a substantial portion of its revenues and profits from licensing its intellectual
27 property. Qualcomm is also a world leader in the sale of chips, chipsets, and
COMPLAINT -5-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.6 Page 6 of 177
1 14. Apple is a corporation organized and existing under the laws of the
2 State of California, with its principal place of business at 1 Infinite Loop, Cupertino,
3 California. Apple designs, manufactures, and sells throughout the world a wide
5 technologies.
10 16. This Court has personal jurisdiction over Apple because it is organized
11 and exists under the laws of California.
12 17. Venue is proper in this District pursuant to 28 U.S.C. 1391(b) and (c)
13 and 28 U.S.C. 1400(b). Venue is appropriate under 28 U.S.C. 1400(b) at least
14 because Apple is incorporated in California and because Apple has committed acts
15 of infringement and has a regular and established place of business in this district.
16 Apples acts of infringement in this district include but are not limited to sales of the
17 Accused Products at Apple Store locations in this district, including but not limited
18 to 7007 Friars Road, San Diego, CA 92108 and 4505 La Jolla Village Drive, San
19 Diego, CA 92122.
20 STATEMENT OF FACTS
21 Qualcomm Background
22 18. Qualcomm was founded in 1985 when seven industry visionaries came
23 together to discuss the idea of providing quality communications. For more than 30
25 and selling innovative semiconductor and cellular technology and products for the
COMPLAINT -6-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.7 Page 7 of 177
1 audio quality was poor, users sometimes heard portions of others calls, handoffs
2 were noisy, and calls frequently dropped. Qualcomm played a central role in the
4 cellular devices are remarkably powerful and can deliver reliable voice service and
8 in the United States, 68 percent of whom are engineers, and it occupies more than
9 92 buildings (totaling over 6.5 million sq. ft.) in seventeen states and the District of
10 Columbia.
13 business. Since its founding, Qualcomm has invested tens of billions of dollars in
COMPLAINT -7-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.8 Page 8 of 177
4 Apple Background
5 24. Apple has built the most profitable company in the world, thanks in
6 large part to products that rely on Qualcomms patented technologies. With a
7 market capitalization of more than $700 billion, $246 billion in cash reserves, and a
8 global sphere of influence, Apple has more money and more influence than many
10 has acquired, Apple has become the dominant player in mobile device sales.
11 Apples dominance has grown every year since the iPhones launch in 2007. In
12 recent years, Apple has captured upwards of 90 percent of all profits in the
13 smartphone industry.
17 invented numerous proprietary solutions that are used to optimize products around
20 26. As mobile electronic devices have become more powerful with greater
21 functionality, device manufacturers have faced numerous problems with power
23 dissipation, among others. The asserted patents disclose and claim Qualcomm
27 efficient circuit designs, and more powerful and efficient graphics processing
COMPLAINT -8-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.9 Page 9 of 177
3 when transmitting at different signal strength. Using one of these techniques as set
4 forth in Qualcomms 558 patent, the radio frequency (RF) amplifier power supply
6 amplifier is operating at peak efficiency for the power required during transmission.
7 Envelope tracking allows for a thinner, lighter mobile electronic device that
8 generates less heat. Without envelope tracking, power is wasted and battery life is
9 shorter.
10 28. As another example, Apple has touted the capability of its newest
11 mobile electronic devices to support carrier aggregation technology. This means
12 that a mobile device can simultaneously transmit radio signals for multiple carriers,
13 which again allows for a more efficient use of power and longer battery life.
14 Indeed, Apples Senior Vice President of Worldwide Marketing proclaimed that one
15 of the differentiating features of the iPhone 6 is that its enhanced speed is done
21 advanced Adreno series graphics processing units (GPUs). Mobile device GPUs
23 operating systems without unnecessarily draining the battery life of the mobile
25
26
27 4
https://singjupost.com/apple-iphone-6-keynote-september-2014-launch-event-
28 full-transcript/?singlepage=1 (emphasis added).
COMPLAINT -9-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.10 Page 10 of 177
1 designed by Qualcomm, providing 40% lower power consumption with 40% faster
5 praise from Forbes for dazzl[ing] in GPU performance."6 Apple heavily markets
6 its GPU performance, claiming that the GPU in the iPhone 7 would deliver 50%
7 more graphics performance than the [the previous version].7 Apple has chosen to
9 including U.S. Patent No. 8,633,936, without paying for them, to deliver high speed
10 and power-efficient graphics that Apple promises and its customers now demand.
15 technology, to which the 949 patent relates, which enables phone manufacturers to
16 use less storage in relation to wireless modems. Storage in a handheld device can be
17 both expensive and contribute to weight and size concerns. Indeed, incremental
18 increases in flash storage for currently available iPhones can cost $100,8 and Apple
22
23 5
https://www.theinquirer.net/inquirer/news/2421804/qualcomm-outs-next-gen-
24 adreno-gpu-ahead-of-snapdragon-820-launch.
6
https://www.forbes.com/sites/moorinsights/2017/03/23/qualcomms-new-
25
snapdragon-835-dazzles-in-gpu-performance/#6b7099262075.
26 7
https://www.extremetech.com/computing/235140-apples-new-a10-fusion-
27 quad-core-high-efficiency-and-a-more-powerful-gpu.
8
28 https://www.apple.com/shop/buy-iphone/iphone-7.
COMPLAINT -10-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.11 Page 11 of 177
1 device to reduce both time and power needed for inter-processor communication.
2 The 490 patent allows mobile devices to operate just as efficiently with lower
3 power consumption, which in turn prolongs the battery life of those devices. Apple
4 benefits from this technology, simultaneously touting the long battery life of its
5 devices while relying upon a relatively small battery as compared to the iPhone's
6 peers.
9 devices to reduce the overall operating voltages of the integrated circuits within the
13 Qualcomms solution significantly reduces the size of level shifting circuits. The
14 compact design claimed in the 658 patent allows Apple to fit more circuits into a
15 layout, thereby saving costs through smaller die sizes and reduced power
16 consumption, which has all the benefits that Apple regularly touts.
20 The Patents-in-Suit
21 35. The following patents are infringed by Apple (Patents-in-Suit): U.S.
22 Patent No. 8,633,936 (the 936 patent), U.S. Patent No. 8,698,558 (the 558
23 patent), U.S. Patent No. 8,487,658 (the 658 patent), U.S. Patent No. 8,838,949
24 (the 949 patent), U.S. Patent No. 9,535,490 (the 490 patent), and U.S. Patent
26 36. As described below, Apple has been and is still infringing, contributing
27 to infringement, and/or inducing others to infringe the Patents-in-Suit by making,
28 using, offering for sale, selling, or importing devices that practice the Patents-in-
COMPLAINT -11-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.12 Page 12 of 177
1 Suit. Apples acts of infringement have occurred within this District and elsewhere
6 right to bring actions and recover damages for Apples infringement of the 936
7 patent. The 936 patent is valid and enforceable. A copy of the 936 Patent is
12 instructions at different graphics precision levels, and for converting graphics data to
13 the correct precision level prior to processing the associated graphics instruction.
14 As a result of the invention of the 936 patent, graphics processors are able to use
20 right to bring action and recover damages for Apples infringement of the 558
21 patent. The 558 patent is valid and enforceable. A copy of the 558 Patent is
25 output radio frequency (RF) signal. In particular, the power amplifier may require
26 varying degrees of power supply voltage depending on the type of RF signal being
27 transmitted. In the past, the use of a constant power supply voltage did not match
28 the varying power requirements of the power amplifier, and led to unnecessary
COMPLAINT -12-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.13 Page 13 of 177
1 dissipation of power (and devices that, due to this unnecessary power dissipation,
2 quickly drained the battery). Envelope tracking adjusts the power supply voltage
3 based on information from the modem to match the needs of the power amplifier.
4 The 558 patent discloses novel circuitry for efficiently and effectively boosting
5 power supply voltage to continuously match the peak efficiency necessary over the
6 RF envelope. As a result of the invention of the 558 patent, electronic devices are
11 right to bring action and recover damages for Apples infringement of the 658
12 patent. The 658 patent is valid and enforceable. A copy of the 658 Patent is
14 42. The 658 patent relates generally to voltage level shifter circuitry.
15 Integrated circuit devices incorporating different types of functional circuitry are
16 often required to handle multiple voltage levels. These devices typically contain a
17 high-voltage circuit driven by a relatively high voltage power supply and a low-
19 overall operating voltages of the integrated circuit reduces power consumption and
20 increases efficiency of the integrated circuit. However, some circuits are more
21 amenable to lower operating voltages while others must operate at a higher voltage.
22 For circuits operating at two different voltages to communicate with each other, a
23 level shifter circuit is required as an interface to shift the signal from one voltage
24 level to another to avoid circuit dysfunction. However, because the level shifter
25 itself operates with two different voltages, it is required to have at least two N-wells,
26 one for each voltage. In addition, constraints placed on the N-wells may require
28 level shifters into a single chip can consume a significant portion of the available
COMPLAINT -13-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.14 Page 14 of 177
1 chip area. The 658 patent is directed to a compact and robust multi-bit voltage
2 level shifter design and layout, which may reduce the area of the level shifters.
6 right to bring actions and recover damages for Apples infringement of the 949
7 patent. The 949 patent is valid and enforceable. A copy of the 949 Patent is
9 44. The 949 patent relates generally to flashless boot, i.e., booting up a
10 secondary processor that does not have its own non-volatile memory to store the
11 system image. The 949 patent discloses novel techniques for implementing
13 loader to directly transfer the image into memory of the secondary processor. As a
21 right to bring action and recover damages for Apples infringement of the 490
22 patent. The 490 patent is valid and enforceable. A copy of the 490 Patent is
28 490 patent, computing devices can operate just as efficiently with lower power
COMPLAINT -14-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.15 Page 15 of 177
5 right to bring action and recover damages for Apples infringement of the 675
6 patent. The 675 patent is valid and enforceable. A copy of the 675 Patent is
8 48. The 675 patent relates generally to techniques for generating a power
9 supply voltage for a power amplifier that processes multiple transmit signals sent
11 carriers at different frequencies. As one example, the 675 patent discloses a power
12 tracker that generates a single power tracking signal based on inputs from a plurality
14 single power supply voltage based on the power tracking signal; and a power
15 amplifier that receives the single power supply voltage and the plurality of carrier
17 the invention of the 675 patent, electronic devices can more efficiently support and
22 50. Qualcomm is the lawful owner of the 936 patent, and has the full and
23 exclusive right to bring actions and recover damages for Apples infringement of
24 said patent.
27 patent by making, using, offering for sale, selling, or importing iPhone 7 and iPhone
28 7 Plus devices.
COMPLAINT -15-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.16 Page 16 of 177
4 the graphics data to the indicated data precision. Both the graphics and conversion
5 instructions are generated by a compiler. One of many execution units in the GPU
6 is selected due to the indicated data precision and executes the graphic and
7 conversion instructions. As a result, the accused devices are able to extend its
8 battery by using lower precision execution units and processing graphics data in a
10 53. The accused devices infringe at least claims 1, 10, 11-18, 19, 20-27, 29,
11 38, 49, 55, 56-60, 67, and 68 of the 936 patent.
12 54. For example, with respect to claims 1, 10, 19, 29, and 38, the accused
13 devices incorporate an Apple A10 GPU, which is a version of the PowerVR
14 GT7600 that is part of the PowerVR Series 7XT GPU line. The Apple A10 GPU
19 designs its own custom shader compiler and driver. The Apple A10 GPU receives
20 conversion instructions, such as pck and unpck instructions, that are different
21 than the graphics instruction but also generated by the runtime compiler. The
22 conversion instructions are executed by the Apple A10 GPU in order to convert the
23 graphics data associated with the graphics instruction into the indicated data
24 precision. Execution units, such as ALUs, within the processor are selected based
25 on the precision required and used to convert the graphics data to the indicated data
27 55. With respect to claim 11, the accused devices contain further
28 instructions for the Apple A10 GPU to receive the graphics data associated with
COMPLAINT -16-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.17 Page 17 of 177
1 graphics instructions, and generate and output a computation result with the
3 56. With respect to claim 12, the accused devices contain further
4 instructions for selecting an execution unit from a first set of execution units when
5 the indicated data precision is the first data precision and for selecting an execution
6 unit fro a second set of execution units when the indicated data precision is the
7 second data precision, which is different from the first data precision.
8 57. With respect to claim 13, the two data precisions are different such that
9 the first data precision is a full data precision while the second data precision is a
14 59. With respect to claim 15, the accused devices contain further
15 instructions to select and use an appropriate execution unit based on the indicated
17 60. With respect to claim 16, the accused devices contain further
18 instructions to receive a second, different graphics and conversion instructions to be
19 executed by an execution unit in a second set of execution units with the indicated
21 61. With respect to claim 17, there are instructions programmed to cause
22 the GPU to decode the graphics instruction in order the determine the indicated data
23 precision.
24 62. With respect to claim 18, the graphics data associated with the graphics
25 instructions includes at least either vertex graphics data or pixel graphics data.
26 63. With respect to claim 21, the accused devices contain several execution
27 units, like ALUs, including at least one full precision execution unit and at least four
COMPLAINT -17-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.18 Page 18 of 177
1 64. With respect to claim 22, the controller in the accused devices is
2 configured to select full-precision execution units when full precision for the
4 65. With respect to claim 23, the controller in the accused devices is
5 configured to select half-precision execution units when half precision for the
7 66. With respect to claim 24, the accused devices contain at least one full-
8 precision register bank and four half-precision register banks to store the respective
10 67. With respect to claim 25, the accused devices contain at least one full-
11 precision execution unit and one half-precision execution unit, where, on
12 information and belief, the full-precision execution unit is shut down when the
13 indicated data precision is half-precision and the half-precision execution unit will
15 68. With respect to claim 26, the processor in the accused devices contains
16 a shader processor. On information and belief, Apple designs its own custom shader
18 69. With respect to claim 27, the accused devices are wireless
19 communication device handsets.
20 70. With respect to claims 49 and 55, the accused devices will use a
21 compiler executed by a GPU to analyze several application instructions for a
22 graphics application. On information and belief, Apple designs its own custom
23 shader compiler and driver. Each application instruction specifying a first data
24 precision level comprising a full data precision level will cause the compiler to
25 generate corresponding compiled instructions each indicating the full data precision
26 level for execution. Conversion instructions are also generated by the compiler to
27 convert the graphics data from a second, different data precision level to the first
COMPLAINT -18-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.19 Page 19 of 177
1 71. With respect to claim 56, the second data precision level is a half data
2 precision level.
3 72. With respect to claim 57, the accused devices contain instructions
4 where compiled instructions indicating a full data precision level is generated when
5 a corresponding application instruction specifies the full data precision level for its
6 execution.
7 73. With respect to claim 58, the accused devices contain instructions
8 where compiled instructions indicating a half data precision level is generated when
9 a corresponding application instruction specifies the half data precision level for its
10 execution.
11 74. With respect to claim 59, the accused devices contain instructions
12 where the compiler will generate compiled instructions with predefined field to
13 include information regarding the first data precision level when the corresponding
14 application instruction specifies the first data precision level for its execution.
15 75. With respect to claim 60, the accused devices contain instructions to
16 cause the GPU to store the generated compiled instructions in memory for
17 subsequent execution.
18 76. With respect to claim 67, the accused devices contain executable
19 instructions that are generated by a compiler and can support at least one function of
20 a graphics application. Each executable instruction indicates the first data precision
21 level for its execution. The second data precision level is included in each second
22 executable instruction and is different from the first prevision level, which
23 comprises a full data precision level. Each third executable instructions support at
24 least a function of the graphics application and converts the graphics data from the
25 second data precision level to the first data precision level when the first executable
27 77. With respect to claim 68, the second data precision level is claim 67 is
28 half data precision level.
COMPLAINT -19-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.20 Page 20 of 177
3 others. On information and belief, Apple has had knowledge of the 936 patent, and
4 its infringement of the 936 patent, at least since the time this lawsuit was filed. On
5 information and belief, Apple tests, demonstrates, or otherwise operates the accused
6 devices in the United States, thereby performing the claimed methods and directly
7 infringing any asserted claims of the 936 patent requiring such operation.
8 Similarly, Apples customers and the end users of the accused devices test and/or
9 operate the accused devices in the United States in accordance with Apples
10 instructions contained in, for example, its user manuals, thereby also performing the
11 claimed methods and directly infringing the asserted claims of the Asserted Patents
13 79. Apple also contributes to infringement of the 936 patent by selling for
14 importation into the United States, importing into the United States, and/or selling
15 within the United States after importation the accused devices and the non-staple
16 constituent parts of those devices, which are not suitable for substantial non-
17 infringing use and which embody a material part of the invention described in the
18 936 patent. These mobile electronic devices are known by Apple to be especially
19 made or especially adapted for use in the infringement of the 936 patent. Apple
20 also contributes to the infringement of the 936 patent by selling for importation into
21 the United States, importing into the United States, and/or selling within the United
22 States after importation components, such as the chipsets or software containing the
23 infringing functionality, of the accused devices, which are not suitable for
24 substantial non-infringing use and which embody a material part of the invention
25 described in the 936 patent. These mobile devices are known by Apple to be
26 especially made or especially adapted for use in the infringement of the 936 patent.
27 Specifically, on information and belief, Apple sells the accused devices to resellers,
28 retailers, and end users with knowledge that the devices are used for infringement.
COMPLAINT -20-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.21 Page 21 of 177
1 End users of those mobile electronic devices directly infringe the 936 patent.
2 80. Apples acts of infringement have occurred within this district and
3 elsewhere throughout the United States.
4 81. Qualcomm has been damaged and will suffer additional damages and
5 irreparable harm unless Apple is enjoined from further infringement. Qualcomm
10 83. Qualcomm is the lawful owner of the 558 patent and has the full and
11 exclusive right to bring actions and recover damages for Apples infringement of
12 said patent.
13 84. In violation of 35 U.S.C. 271, Apple has been and is still infringing,
14 contributing to infringement, and/or inducing others to infringe the 558 patent by
15 making, using, offering for sale, selling, or importing devices that practice the
16 patent, such as mobile devices including but not limited to iPhone 7 and iPhone 7
17 Plus devices.
18 85. The accused devices infringe at least claims 1 and 6-20 of the 558
19 patent. For example, with respect to claim 1, the accused devices incorporate a
21 The boost converter receives a supply voltage and generates a signal with an
22 increased voltage. The devices further include an envelope amplifier that receives
23 an envelope signal and a boosted supply voltage. The envelope amplifier generates
24 a second supply voltage based on the envelope signal and the boosted supply
25 voltage. The envelope amplifier receives a supply voltage and generates a second
26 supply voltage based on the first supply voltage or the boosted supply voltage. The
28 and amplifies a signal, a driver that receives an amplified signal and provides
COMPLAINT -21-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.22 Page 22 of 177
1 multiple control signals, a PMOS transistor with a gate receiving a control signal, a
2 source receiving a boosted supply voltage or a supply voltage and a drain providing
3 a supply voltage, and a NMOS transistor having a gate receiving a control signal, a
7 includes a supply generator for receiving an envelope signal and supply voltage and
9 operational amplifier to receive the envelope signal and provide an amplified signal,
10 a driver that receives the amplified signal and provides a first control signal and a
12 which has a gate receiving a first control signal, a source receiving the boosted
13 supply voltage or the first supply voltage and a drain providing the second supply
15 gate receiving the second control signal, a drain providing the second supply
17 87. With respect to claim 7, the accused devices include a supply generator
18 that generates the second supply voltage based on the envelope signal and either the
20 88. With respect to claim 8, the accused devices generate a boosted supply
21 voltage based on a first supply voltage, where the boosted supply voltage has a
22 higher voltage than the first supply voltage. Further, the devices generate a second
23 supply voltage based on an envelope signal and the boosted supply voltage. The
24 devices have a second supply voltage that is generated by an envelope amplifier that
25 produces the second supply voltage using an operational amplifier (op-amp) that
26 receives the envelope signal and provides an amplified signal, a driver that receives
27 the amplified signal and provides a first control signal and a second control signal, a
28 P-channel metal oxide semiconductor (PMOS) transistor that receives the first
COMPLAINT -22-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.23 Page 23 of 177
1 control signal, a source that receives the boosted supply voltage or the first supply
2 voltage, and a drain providing the second supply voltage and an N-channel metal
3 oxide semiconductor (NMOS) transistor that receives the second control signal at a
4 gate and provides a second supply voltage through a drain, and a source for circuit
5 grounding.
6 89. With respect to claim 9, the accused devices generate the second supply
7 voltage based on the envelope signal and either the boosted supply voltage or the
9 90. With respect to claim 10, the accused devices are used for generating a
10 boosted supply voltage based on a first supply voltage, the boosted supply voltage
11 having a higher voltage than the first supply voltage. The accused devices are also
12 used for generating a second supply voltage based on the envelope signal and the
13 boosted supply voltage. The accused devices are also used for generating the
14 second supply voltage incorporating an envelope amplifier that produces the second
15 supply voltage using an operational amplifier that receives the envelope signal and
16 provides an amplified signal, a driver that receives the amplified signal and provides
17 a first control signal and a second control signal, a P-channel metal oxide
18 semiconductor (PMOS) transistor that receives the first control signal, a source that
19 receives the boosted supply voltage or the first supply voltage, and a drain providing
20 the second supply voltage and an N-channel metal oxide semiconductor (NMOS)
21 transistor that receives the second control signal at a gate and provides a second
23 91. With respect to claim 11, the accused devices are used for generating
24 the second supply voltage based on an envelope signal and either the boosted supply
26 92. With respect to claim 12, the accused devices include a switcher
27 operative to receive a first supply voltage and provide a first supply current and an
COMPLAINT -23-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.24 Page 24 of 177
1 supply current based on the envelope signal. The power amplifier is operative to
2 receive a total supply current comprising the first supply current and the second
3 supply current, wherein the switcher comprises a current sense amplifier operative
4 to sense the first supply current, or the second supply current, or the total supply
5 current and provide a sensed signal. The accused devices also include a driver
6 operative to receive the sensed signal and provide a first control signal and a second
8 gate receiving the first control signal, a source receiving the first supply voltage, and
9 a drain providing a switching signal for an inductor providing the first supply
11 gate receiving the second control signal, a drain providing the switching signal, and
13 93. With respect to claim 13, the accused devices include a boost converter
14 operative to receive the first supply voltage and provide a boosted supply voltage
15 having a higher voltage than the first supply voltage, wherein the envelope amplifier
16 operates based on the first supply voltage or the boosted supply voltage.
17 94. With respect to claim 14, the accused devices include a first supply
18 current that comprises direct current (DC) and low frequency components, and the
20 95. With respect to claim 15, the accused devices include an inductor
21 operative to receive a switching signal and provide a supply current. The accused
22 devices also include a switcher operative to sense an input current and generate the
23 switching signal to charge and discharge the inductor to provide the supply current.
24 The switcher adds an offset to the input current to generate a larger supply current
25 via the inductor than without the offset. The switcher in the accused devices
26 includes a summer that sums the input current and an offset current and provide a
27 summed current. The accused devices include a current sense amplifier operative to
28 receive the summed current and provide a sensed signal. The accused devices also
COMPLAINT -24-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.25 Page 25 of 177
1 include a driver operative to receive the sensed signal and provide at least one
2 control signal used to generate the switching signal for the inductor.
3 96. With respect to claim 16, in the accused devices the switcher operates
4 based on a first supply voltage, where an offset is determined based on the first
5 supply voltage.
6 97. With respect to claim 17, the accuse devices contain a first control
7 signal and a second control signal, where the switcher includes a P-channel metal
8 oxide semiconductor (PMOS) transistor having a gate receiving the first control
9 signal, a source receiving a first supply voltage, and a drain providing the switching
11 gate receiving the second control signal, a drain providing the switching signal, and
13 98. With respect to claim 18, the accused devices include an envelope
14 amplifier that receives an envelope signal and provides a second supply current
15 based on the envelope signal, where a total supply current comprises the supply
16 current from the switcher and the second supply current from the envelope
17 amplifier.
18 99. With respect to claim 19, the accused devices include a boost converter
19 operative to receive the first supply voltage and provide a boosted supply voltage
20 having a higher voltage than the first supply voltage, where the envelope amplifier
21 operates based on the first supply voltage or the boosted supply voltage.
22 100. With respect to claim 20, the accused devices include a power amplifier
23 so that the accused devices can receive the supply current from the inductor and
24 receive and amplify an input radio frequency (RF) signal and provide an output RF
25 signal.
28 On information and belief, Apple has had knowledge of the 558 patent, and its
COMPLAINT -25-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.26 Page 26 of 177
1 infringement of the 558 patent, at least since the time this lawsuit was filed.
4 was aware of, and implemented, Qualcomms technology in certain of its devices
6 otherwise operates the accused devices in the United States, thereby performing the
7 claimed methods and directly infringing any asserted claims of the 558 patent
8 requiring such operation. Similarly, Apples customers and the end users of the
9 accused devices test and/or operate the accused devices in the United States in
10 accordance with Apples instructions contained in, for example, its user manuals,
11 thereby also performing the claimed methods and directly infringing the asserted
13 102. Apple also contributes to infringement of the 558 patent by selling for
14 importation into the United States, importing into the United States, and/or selling
15 within the United States after importation the accused devices and the non-staple
16 constituent parts of those devices, which are not suitable for substantial non-
17 infringing use and which embody a material part of the invention described in the
18 558 patent. These mobile electronic devices are known by Apple to be especially
19 made or especially adapted for use in the infringement of the 558 patent. Apple
20 also contributes to the infringement of the 558 patent by selling for importation into
21 the United States, importing into the United States, and/or selling within the United
22 States after importation components, such as the chipsets or software containing the
23 infringing functionality, of the accused devices, which are not suitable for
24 substantial non-infringing use and which embody a material part of the invention
25 described in the 558 patent. These mobile devices are known by Apple to be
26 especially made or especially adapted for use in the infringement of the 558 patent.
27 Specifically, on information and belief, Apple sells the accused devices to resellers,
28 retailers, and end users with knowledge that the devices are used for infringement.
COMPLAINT -26-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.27 Page 27 of 177
1 End users of those mobile electronic devices directly infringe the 558 patent.
2 103. Apples acts of infringement have occurred within this district and
3 elsewhere throughout the United States.
4 104. Qualcomm has been damaged and will suffer additional damages and
5 irreparable harm unless Apple is enjoined from further infringement. Qualcomm
10 106. Qualcomm is the lawful owner of the 658 patent and has the full and
11 exclusive right to bring actions and recover damages for Apples infringement of
12 said patent.
13 107. In violation of 35 U.S.C. 271, Apple has been and is still infringing,
14 contributing to infringement, and/or inducing others to infringe the 658 patent by
15 making, using, offering for sale, selling, or importing mobile devices that practice
16 the patent, including but not limited to iPhone 7 and iPhone 7 Plus devices.
17 108. The accused devices use four-bit voltage level shifters arranged in a
18 certain layout to reduce the area of the four-bit voltage level shifters. Each bit is
19 shifted from a first voltage level logic to a second voltage level logic by forming
20 four one-bit voltage level shifter circuit, where each one-bit voltage level shifter
22 109. The accused devices infringe at least claims 9, 12, 14, 20, 21 and 22 of
23 the 658 patent.
24 110. For example, with respect to claim 9, the accused devices each include
25 a Qorvo ET modulator, which includes four voltage level shift (VLS) circuits. Each
26 VLS circuit shifts a bit from a first voltage level logic to a second voltage level
27 logic. The Qorvo ET modulator includes 3 N-wells formed in the substrate, with the
28 second and third N-well adjacent to the first N-well but also opposite from each
COMPLAINT -27-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.28 Page 28 of 177
1 other. The four-bit multi-voltage circuit of the Qorvo ET modulator includes four
3 111. With respect to claim 12, the accused devices have the first, second and
4 third N-wells arranged in a row with the first N-well at a center position.
5 112. With respect to claim 14, the accused devices have the first N-well
6 biased at the first voltage level, and the second and third N-wells biased at the
8 113. With respect to claim 20 of the 658 patent, the accused devices
9 perform the method of reducing die area and switching power in the four-bit multi-
10 voltage circuit in the Qorvo ET modulator by shifting each of the four bits from a
11 first voltage level logic to a second voltage level logic. To achieve this, three N-
12 wells are formed where the second and third N-well are each adjacent to the first N-
13 well and opposite from each other. Then, four one-bit VLS circuits are formed,
15 114. With respect to claim 21 of the 658 patent, the accused devices contain
16 a Qorvo ET modulator, which reduces the die area and switching power in the four-
17 bit multi-voltage circuit to shift each of the four bits from the first voltage level
18 logic to the second voltage level logic by forming three N-wells in the substrate,
19 where the second and third N-wells are each adjacent to the first N-well and
20 opposite of each other. Logic is configured to form four one-bit VLS circuit, each
22 115. With respect to claim 22 of the 658 patent, the accused devices contain
23 a Qorvo ET modulator, which reduces the die area and switching power in the four-
24 bit multi-voltage circuit to shift each of the four bits from the first voltage level
25 logic to the second voltage level logic by forming three N-wells in the substrate,
26 where the second and third N-wells are each adjacent to the first N-well and
27 opposite of each other. The Qorvo ET modulator also has means for forming four
COMPLAINT -28-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.29 Page 29 of 177
1 116. Apples acts of infringement have occurred within this district and
2 elsewhere throughout the United States.
3 117. Qualcomm has been damaged and will suffer additional damages and
4 irreparable harm unless Apple is enjoined from further infringement. Qualcomm
9 119. Qualcomm is the lawful owner of the 949 patent, and has the full and
10 exclusive right to bring actions and recover damages for Apples infringement of
11 said patent.
12 120. In violation of 35 U.S.C. 271, Apple has been and is still infringing,
13 contributing to infringement, and/or inducing others to infringe the 949 patent by
14 making, using, offering for sale, selling, or importing mobile devices that practice
15 the patent, including but not limited to iPhone 7 and iPhone 7 Plus devices.
16 121. The accused devices allow a secondary processor that does not have its
17 own flash memory to boot up. For example, an image for the secondary processor is
19 transfers the image from the memory coupled to the primary processor into a
20 memory of the secondary processor, allowing the secondary processor to boot up.
21 122. The accused devices infringe at least claims 1-8, 10-14, 16, 20, and 22
22 of the 949 patent.
23 123. The accused devices infringe claims 1, 10, 16, 20, and 22 of the 949
24 patent as follows. Each accused device is a multi-processor system. Each accused
28 and the secondary processor. The primary processor is coupled with a memory
COMPLAINT -29-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.30 Page 30 of 177
1 storing an executable software image for the secondary processor. The secondary
2 processor includes a system memory and a hardware buffer for receiving an image
3 header and at least one data segments of an executable software image. The
4 secondary processor receives the image header and each data segment separately
5 over the interface. The secondary processor includes a scatter loader controller,
6 which is configured to load the image header and scatter load each received data
7 segment based at least in part on the loaded image header directly from the hardware
8 buffer to the system memory of the secondary processor. Thus, the accused devices
10 124. With respect to claims 2 and 12 of the 949 patent, the scatter loader
11 controller loads the executable software image directly from the hardware buffer to
12 the system memory of the secondary processor without copying data between
13 system memory locations on the secondary processor. Indeed, this is inherent in the
14 scatter loader controller scatter loading each data segment of the executable
15 software image directly on the to the system memory of the secondary processor as
16 recited in claims 1 and 10. Thus, the accused devices infringe claims 2 and 12 of
18 125. With respect to claim 3 of the 949 patent, the secondary processor
19 receives raw image data of the executable software image via the interface. Thus,
21 126. With respect to claim 4 of the 949 patent, the secondary processor is
22 configured to process the image header, which includes destination addresses of
23 each data segment, to determine at least one location within the system memory of
24 the secondary processor to store the at least one data segment. Thus, the accused
26 127. With respect to claim 5 of the 949 patent, the secondary processor is
27 configured to determine the at least one location within the system memory to store
28 that data segment based on the received image header, which includes destination
COMPLAINT -30-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.31 Page 31 of 177
1 addresses of each data segment, before receiving that data segment. Thus, the
3 128. With respect to claim 6 of the 949 patent, the secondary processor
4 includes a non-volatile memory such as a boot read only memory (ROM) storing a
5 boot loader that initiates transfer of the executable software images for the
6 secondary processor. Thus, the accused devices infringe claim 6 of the 949 patent.
7 129. With respect to claims 7 and 14 of the 949 patent, the primary
8 processor and the secondary processor are located on different chips. Thus, the
12 that buffers data received from root complex (RC), receives data segments and the
13 scatter loader controller scatter loads the received data segments directly to the
15 PCIe interface does not have the capacity to store an entire executable software
16 image, the secondary processor loads a portion of the executable software image
17 into its system memory without an entire executable software image being stored in
18 the hardware buffer. Thus, the accused devices infringe claim 8 of the 949 patent.
19 131. With respect to claim 11 of the 949 patent, the accused devices each
20 boot the secondary processor using the executable software image. Thus, the
22 132. With respect to claim 13 of the 949 patent, the accused devices each
23 processes the image header prior to the loading of each data segment. Thus, the
27 others. On information and belief, Apple has had knowledge of the 949 patent, and
28 its infringement of the 949 patent, at least since the time this lawsuit was filed.
COMPLAINT -31-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.32 Page 32 of 177
4 information and belief, Apple tests, demonstrates, or otherwise operates the accused
5 devices in the United States, thereby performing the claimed methods and directly
6 infringing any asserted claims of the 949 patent requiring such operation.
7 Similarly, Apples customers and the end users of the accused devices test and/or
8 operate the accused devices in the United States in accordance with Apples
9 instructions contained in, for example, its user manuals, thereby also performing the
10 claimed methods and directly infringing the asserted claims of the Asserted Patents
12 134. Apple also contributes to infringement of the 949 patent by selling for
13 importation into the United States, importing into the United States, and/or selling
14 within the United States after importation the accused devices and the non-staple
15 constituent parts of those devices, which are not suitable for substantial non-
16 infringing use and which embody a material part of the invention described in the
17 949 patent. These mobile electronic devices are known by Apple to be especially
18 made or especially adapted for use in the infringement of the 949 patent. Apple
19 also contributes to the infringement of the 949 patent by selling for importation into
20 the United States, importing into the United States, and/or selling within the United
21 States after importation components, such as the chipsets or software containing the
22 infringing functionality, of the accused devices, which are not suitable for
23 substantial non-infringing use and which embody a material part of the invention
24 described in the 949 patent. These mobile devices are known by Apple to be
25 especially made or especially adapted for use in the infringement of the 949 patent.
26 Specifically, on information and belief, Apple sells the accused devices to resellers,
27 retailers, and end users with knowledge that the devices are used for infringement.
28 End users of those mobile electronic devices directly infringe the 949 patent.
COMPLAINT -32-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.33 Page 33 of 177
1 135. Apples acts of infringement have occurred within this district and
2 elsewhere throughout the United States.
3 136. Qualcomm has been damaged and will suffer additional damages and
4 irreparable harm unless Apple is enjoined from further infringement. Qualcomm
9 138. Qualcomm is the lawful owner of the 490 patent, and has the full and
10 exclusive right to bring actions and recover damages for Apples infringement of
11 said patent.
12 139. In violation of 35 U.S.C. 271, Apple has been and is still infringing,
13 contributing to infringement, and/or inducing others to infringe the 490 patent by
14 making, using, offering for sale, selling, or importing devices that practice the
15 patent, including but not limited to iPhone 7 and iPhone 7 Plus devices.
16 140. The accused devices allow reduction in the time in which a bus
17 coupling a modem processor to an application processor is in a high power state,
19 be transferred from the modem processor to the application processor is held until a
20 timer such as a modem timer or a downlink timer expires. Further, uplink data to be
21 transferred from the application processor to the modem processor is held until the
22 bus is in the active state to transfer the downlink data. Syncing the timing of data
23 transfers reduces the amount of time the bus is in the active state, resulting in power
24 savings.
25 141. The accused devices infringe at least claims 1-6, 8, 10, 16, 17, and 31
26 of the 490 patent.
27 142. The accused devices infringe claims 1, 16, and 31 of the 490 patent as
28 follows. Each accused device is a mobile terminal including an Apple A10
COMPLAINT -33-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.34 Page 34 of 177
1 application processor and a modem processor. Each accused device also includes an
3 processor and the modem processor. Each accused device further includes a modem
7 application processor to modem processor data such as uplink data until the bus is
8 in an active state to transfer downlink data from the modem processor to the
9 application processor, and transmits the uplink data to the modem processor before
10 the interconnectivity bus transitions from an active power state to a low power state.
11 For example, the modem processor pulls downlink data from the application
12 processor after transmitting one or more downlink data packets to the application
13 processor. The application processor holds the uplink data until triggered by receipt
14 of one or more downlink data packets from the modem processor, and sends one or
15 more uplink data packets to the modem processor responsive to the receipt of one or
16 more downlink data packets from the modem processor. The application processor
17 holds the uplink data, for example application data generated by an application
18 associated with the application processor, until receipt of one or more downlink data
19 packets from the modem processor or until expiration of an uplink timer, whichever
20 occurs first. Thus, the accused devices infringe claims 1, 16, and 31 of the 490
21 patent.
22 143. With respect to claims 2 and 17 of the 490 patent, the interconnectivity
23 bus includes a peripheral component interconnect (PCI) compliant bus. Thus, the
25 144. With respect to claim 3 of the 490 patent, the PCI compliant bus
26 includes a PCI express (PCIe) bus. Thus, the accused devices infringe claim 3 of
28 145. With respect to claim 4 of the 490 patent, the application processor
COMPLAINT -34-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.35 Page 35 of 177
1 starts an application timer that has a period longer than a period of the modem timer.
3 146. With respect to claim 5 of the 490 patent, the application processor is
4 configured to hold the uplink data until receipt of the downlink data from the
6 period of the modem timer, whichever occurs first. Thus, the accused devices
8 147. With respect to claim 6 of the 490 patent, each accused device
9 includes a modem timer implemented in software. Thus, the accused devices
11 148. With respect to claim 8 of the 490 patent, each accused device
12 includes a modem timer. The modem processor includes the modem timer as
14 149. With respect to claim 10 of the 490 patent, each accused device
15 includes an application timer, and the modem processor is configured to instruct the
16 application processor to send an interrupt if no data is received within one time slot
17 of the application timer. Thus, the accused devices infringe claim 10 of the 490
18 patent.
21 On information and belief, Apple has had knowledge of the 490 patent, and its
22 infringement of the 490 patent at least since the time this lawsuit was filed.
26 information and belief, Apple tests, demonstrates, or otherwise operates the accused
27 devices in the United States, thereby performing the claimed methods and directly
28 infringing any asserted claims of the 490 patent requiring such operation.
COMPLAINT -35-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.36 Page 36 of 177
1 Similarly, Apples customers and the end users of the accused devices test and/or
2 operate the accused devices in the United States in accordance with Apples
3 instructions contained in, for example, its user manuals, thereby also performing the
4 claimed methods and directly infringing the asserted claims of the Asserted Patents
6 151. Apple also contributes to infringement of the 490 patent by selling for
7 importation into the United States, importing into the United States, and/or selling
8 within the United States after importation the accused devices and the non-staple
9 constituent parts of those devices, which are not suitable for substantial non-
10 infringing use and which embody a material part of the invention described in the
11 490 patent. These mobile electronic devices are known by Apple to be especially
12 made or especially adapted for use in the infringement of the 490 patent. Apple
13 also contributes to the infringement of the 490 patent by selling for importation into
14 the United States, importing into the United States, and/or selling within the United
15 States after importation components, such as the chipsets or software containing the
16 infringing functionality, of the accused devices, which are not suitable for
17 substantial non-infringing use and which embody a material part of the invention
18 described in the 490 patent. These mobile devices are known by Apple to be
19 especially made or especially adapted for use in the infringement of the 490 patent.
20 Specifically, on information and belief, Apple sells the accused devices to resellers,
21 retailers, and end users with knowledge that the devices are used for infringement.
22 End users of those mobile electronic devices directly infringe the 490 patent.
23 152. Apples acts of infringement have occurred within this district and
24 elsewhere throughout the United States.
25 153. Qualcomm has been damaged and will suffer additional damages and
26 irreparable harm unless Apple is enjoined from further infringement. Qualcomm
COMPLAINT -36-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.37 Page 37 of 177
3 155. Qualcomm is the lawful owner of the 675 patent, and has the full and
4 exclusive right to bring actions and recover damages for Apples infringement of
5 said patent.
6 156. In violation of 35 U.S.C. 271, Apple has been and is still infringing,
7 contributing to infringement, and/or inducing others to infringe the 675 patent by
8 making, using, offering for sale, selling, or importing mobile devices that practice
10 157. The accused devices infringe at least claims 1-3 and 7-14 of the
11 675 patent. For example, with respect to claim 1, the accused devices include a
12 power tracker that determines a power tracking signal based on in-phase (I) and
13 quadrature (Q) components of one or more carrier aggregated transmit signals being
17 components. Further, in the accused devices the carrier aggregated transmit signals
20 power supply generator generates a power supply voltage based on a power tracking
21 signal. The accused devices also include a power amplifier configured to receive
22 the power supply voltage and the carrier aggregated transmit signals being sent
27 aggregated transmit signals, and determines the single power tracking signal based
COMPLAINT -37-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.38 Page 38 of 177
1 information and belief, the envelope bandwidth of the power tracking signal is
3 On information and belief, the accused devices determine an overall power of the
4 dual CA transmit signals based on their I and Q components, and determine the
5 single power tracking signal based on the overall power of the CA transmit signals.
9 signal, and determine the single power tracking signal based on a sum of said power
11 information and belief, the envelope bandwidth of the power tracking signal
15 transmit signal in the dual CA transmit signals based on the I and Q components of
16 each transmit signal, and determining the single power tracking signal based on a
17 sum of said power of each transmit signal of the dual CA transmit signals.
23 tracking amplifier and provide a second current for the power supply voltage based
28
COMPLAINT -38-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.39 Page 39 of 177
1 163. With respect to claim 10, the accused devices include a power
2 tracking amplifier that operates based on the boosted voltage or the battery voltage.
3 164. With respect to claim 11, the accused devices have carrier
4 aggregated transmit signals that are sent on a plurality of carriers at different
6 transmit signals that are sent on carriers offset by a separation frequency of 20MHz.
7 165. With respect to claim 12, the accused devices have a single power
8 tracking signal that has a bandwidth smaller than an overall bandwidth of the
9 plurality of carriers. On information and belief, the bandwidth of the single power
10 tracking signal is smaller than the composite envelope spectrum in the accused
11 devices.
12 166. With respect to claim 13, the accused devices have carrier
13 aggregated transmit signals that are intra-band carrier aggregated transmit signals.
14 On information and belief, the accused devices support two CA transmit signals that
16 167. With respect to claim 14, the accused devices have intra-band
17 carrier aggregated transmit signals that are contiguous. On information and belief,
18 the accused devices support two CA transmit signals that are contiguous intra-band
19 CA transmit signals.
20 168. Apples acts of infringement have occurred within this district and
21 elsewhere throughout the United States.
22 169. Qualcomm has been damaged and will suffer additional damages and
23 irreparable harm unless Apple is enjoined from further infringement. Qualcomm
COMPLAINT -39-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.40 Page 40 of 177
11 (f) Awarding such other and further relief as the Court deems just and
12 proper.
COMPLAINT -40-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.41 Page 41 of 177
COMPLAINT -41-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.42 Page 42 of 177
12
Attorneys for Plaintiff
13 QUALCOMM INCORPORATED
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
COMPLAINT -42-
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.43 Page 43 of 177
1 EXHIBIT INDEX
2
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
NAI-1502828975v1 43
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.44 Page 44 of 177
EXHIBIT A
Exhibit A
Page 1
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.45 Page 45 of 177
U 7629935
By Authority of the
Under Secretary of Commerce for Intellectual Property
and Director of the United States Patent and Trademark
T. LAWRENCE
Certifying Officer
Exhibit A
Page 2
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.46 Page 46 of 177
I IIOHImlHIIIOlIIIIIHIIIIIIIIIIIIIIIIIIIIfllIIlIIIlIHIIIII, IIII
US00863393~B2
(54) PROGRAMMABLE STREAMING 7,079,156 B1 * 7/2006 Hat bins et al ............ ... 345/606
7,418,696 B2 * 8/2008 Holmex ................. ..,~...~.~. 7]3/320
PROCESSOR WITH MIXED PRECISION
7,685~579 B2* 3/2~10 I~owies ~......~..~.. ........ ..
INSTRUCTION EXECUTION 7,716,655 B2* 5/2010 Uchida ......................... 717/140
(Continued)
(75) Inventors: Yun Du, San Diego, CA (US); Chun Yu,
San Di~g0, CA (US); Guefang Jiao, San
FOREIGN pATENT DOCUMeNtS
Diego, CA (US); Stephen Mol!oy~
Cadsbad, CA (US) 101131768 A 2/2008
~4135277 5/1992
(73) Assignee: QUALCOMM Incorporated, San
Diego, CA (US)
(CoU~u~)
OTHER PUBLICATIONS
(*) Notice: Subject to any disclaimer, the te~m ofthi~
patent is extended or adjusted under 35 "Modifiers for ps__2_0 aud Above" <http://msda.microsofl.com/
U.S.C. 154(b) by i014 days, archive/default.asp?ufl=/a~d~e/en-~s/di~ctx9_ _summer_03/
di~N~graphi s/rcfel-~co/assemblylanguag~qh ~ ders/pi7~! ~hnde~g/
This patent is subject to a terminal dis- ins~uctions/modifi~rs_ps_2_0.asp> Miero~s0fl D~ 9.0 SDK
claimer. Update (Summer 2003).
Exhibit A
Cony nrovided by USPTO from the PIRS Ima~le Database on 04/0512017
Page 3
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.47 Page 47 of 177
US 8,633,936 B2
Page 2
Exhibit A
Page 4
Copy provided by USPTO hom the PIRS Imag6 Dat~Se on 04105/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.48 Page 48 of 177
Exhibit A
Page 5
Copy provided by USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.49 Page 49 of 177
Exhibit A
Page 6
" Copy providedby USPTO from the PIRS Image Da.tabase on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.50 Page 50 of 177
Exhibit A
Page 7
Cop~ provided b~ USPTO f~om the PiRS ima~ie Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.51 Page 51 of 177
Exhibit A
Page 8
COpy ~i6vided by uSPTo from the PIRS Image Database On 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.52 Page 52 of 177
~ START ~
,-303
..........
. f308
SELEGT FULL.PRECISION UNIT TO SELECT HALF-PRECiSiON UNiT TO
I
EXECUTE THE BINARY GRAPHICS. EXECUTE THE BINARY GRAPHICS
INSTRUCTION USING THE INSTRUCTION USING THE
GRAPHICS DATA GRAPHICS DATA
FIG. 3
Exhibit A
Page 9
Copy provided by USPTO from the PIRS Ifiza~e Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.53 Page 53 of 177
COMPILER.
RULES TO
GENERATE BINARY
Ip
INSTRUCTIONS GRAPHICS
INDICATING INSTRUCTIONS
404
GRAPHICS RECIS,40~6 LEVELSJ
APPUCATION
INSTRUCTIONS
4O0
RULES TO
GENERATE BINARY
INSTRUCTIONS
CONVERSION
THAT CONVERT
BETINEEN INSTRUCTIONS
RECISI40~N8 410
LEVEI~
FIG. 4
Exhibit A
Page 10
Copy provided by US PTO frOm-the PIRS-lidage D~t~ab~ on 04/05/2017 "
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.54 Page 54 of 177
US 8,633,936 B2
1 2
PROGRAMMABLE STREAMING sious. As a result, unnecessary precision promotion may be
PROCESSOR WITH MIXED PRECISION reduced or eliminated. In addition, application progr~mm~s
INSTRUCTION EXECUTION may have increased flexibility when writing application code.
An appfica~on pregra, miner may speci.fy different dam pre-
TECHNICAL FIELD 5 cision levels for different application instructions, which are
then compiled into one 6r more binary instructions that are
The disclosure relates to graphics proc.essing and, more processed by the processor.
particularly, to graphics processor aro~tectures. In one aspec[, the disclosure is directed tO a method that
includes receiving a graphics instruction for execution within
BACKGROUND 10 a programroable streaming processor, receiving an indication
of a data precision for execution of the ~raphics instruetion,
Graphics dev~cos,are widely used to render 2-dimensional and recelcing a conversion instruction that, when executed by
(2-D) and 3-dimensional (3-D) images for various applica- the processor, onverts graphics data associated with the
tions, such as ~,ideo games, graphics programs, computer- graphics instruction to the indicated data precision, wherein
aided design (CAD) applications, simulation and visualiza- is the conversion inStructiOn is different than the graphics
tion tools, imaging, and the li~e. A graphics device may instruction. The method further includes selecting one of a
perform various graphics operations to render an image. The plurality of execution units within the processor based on the
graphics operations may include rasterization, stencil and indicated data precision, and using the selected execution unit
depth tests, texture mapping, shading~ and the like. A 3-D to execute the graphics ~d0n with the indicated data
image may be modeled with surfaces, and each surface may 20 precision using the graphiCS d~ta aSsoci0t.ed with the graphics
be approx.lmated with po!ygous, such as tfiangles~ The num- instruction.
ber of triangles used to represent a 3,D image for rendering In one aspect, the disclosure is directed to a computer-
purposes is dependent on the complexity of the ~ ~uffaces as readable medium including instruction~-for causing a pro-
Well as the desired resolution of the image. g~ammab!e s~reamlng processor to receive a graphics instruc-
Each triangle may be defined by three vertices, and each 2s fion. for execution within the processor, to recei~,e an
vertex is associated with various attributes Such as space indication of a data precision for execution of the graphics
coordinates, color values, and texture coordinates. When a instruction, and to receive a conversion instruction that, when
graphics device uses a vertex processor during the rendering ~ecuted by the processQr~ conve~ts graphics data associated
process, the vertex processor may process vertices of the with the graphics instruction to the indicated dam precision,
various triangles, E~ch t~jangle is also composed of picture 30 Wherein the conversion instruction is ditterent than the graph-
elements (pixels), When the graphics device a!so, or sepa- ics instruction. The computer-readable medium further
rately, uses a pixel processor during the rendering process, the includes instructions for causing the processor to select one of
pixel processor renders each triangle by determining the val- a plurality of execution units within the ~ocessor based on
nes of the components ofeach pi~el within the triangle. the indicated data precision, and to use the selected eXeCUtion
In many cases, a graphics device may Utilize a shader ~s unit to execute the graphics instruction with the indicated data
precesser to perform certain graphics operations such as precision using the graphics dam associated with the graphics
shading. Shading is a highly complex graphics operation instruction.
involving lighting and Shadewing. The slider processor may In one aspect, the disclosure is directed to a programm_~b!e
need to execute a variety o~f different "mSWact~ons when per- stre~mlng processor that includes a controller and multiple
forming rendering, and typically includes one or more execu- ~o execution units. The controller is configured to receive a
tion Units to aid in the execution of these instructions. For graphics instruction for ~on and to receive an indication
example, the shader processor may include arithmetic logic of a data precision for execution of the graphics instruction.
units (ALUs) and/or an elementary fuuctional tinit (SHY) as The controller is also configured to receive a conversion
execution units. Otten, these execution units are Capable of instruction that, when executed by the processor, converts
executing instructions using full dam-precision circuilry. ,s graphics data associated with the graphics instruction to the
However, such ~ can often require more power, and indicted data precisi0n~ whet~t the conversion instruction
the execution units may ta~ up more physical space wi~fin is different than the graphics instruction, When operable, the
the shader processor integrated cirv~ used by the graphics controller selects one of the execution units based on the
indicated data precision. The controller then causes the
~0 selected execution u~it to execute the graphics insl~uction
SUMMARY with the indicated data precision using the grapki~s data
associated with the graphics instruction.
In general, the disclosure relates to a programmable In another aspect, the disclosure is directed tea computer-
s!r~m;ng processor 0fa graphics device that is capable of readable medium that includes ins~cti0ns for causing a pro-
executing mixed-precision (e.g,~ f~l-precision, half-preci- ~s cesscr to analyze a plurality of application iustructiom for a
sion) instructions using different execution u~i_ts, For graphics application, and, for each application instruction
example, the programmable processor may include one or that specifies a first data p~eci._si0n level for its execution, to
more full-precision execution units along with one or more generate one or more corresponding compiled instructions .
half-precision exect~0n units. Upon receipt of a binary that each indicate the first data precision level for its execu,
instruction and an indication of a data precision for execution ~0 tion. The computer-_read~ble medium includes further
of the instruction, the processor is capable of selecting an instructions for causing the pro~esS0r to generate one or more
appropriate e~ecufion unit for e~ecuting the received instruc- c6nvetsion instructions to c0iivert graphics data from a sec-
tion with the indicated data precision. The processor may ond, different data precision level to the first data precision
c0mpdse an instruction-based, adaptive str~min~ processcr level when the one Or more c6mpiled instructions are
for mobile graphics applications. 65 executed.
By doing so, the pr0cessor may avoid using one execution In one aspect, the disclosure is directed to a cOmpUter-
unit to execute instructions with various different dma preci- readable data storage medium having one or more first
Exhibit A
Page 11
Cop~ ~tb,~ided by-USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.55 Page 55 of 177
US 8,633,936 B2
3 4
~m~table instructious that, when executed by a program- Thr~ds allow graphics applications 102A-102N ~o have m~l-
mable streaming processor, support one or more functions of tiple tasks performed simultaneously and to slmre resources.
a graphics application, wherein each of the first executable Graphics device 100 receives the threads from graphics
instructions indicates a first data precision level for its execu~ applications 102A-102N and p~rfonns the tasks indicated by
tiom The comp~iter-re~dable data s!omge medium further s these ~t~e~ds. In the aspect shown in FIG. i, graphics device
includes one or more second executable instructions that, 100 includes a progr~mmsble streaming processor 10~, one
when ex~ted by the processor, support One ~. more func-
tions of the graphies application, wherein each of the second or more graphics enEines 108A-108N, and one or more
executable instructions indicates a second data precision level memory modules IIOA-IION. ProcesSor 106 may perform
different from the first data precision level for its execution. W~rious graphics operafious, such as shading, and may corn-
I0 pure ~,mscendental elementary functions for certain applica-
The computer-readable data storage medium further includes
one or more third executable instructions that, when executed tions. In one aspect, processor 106 may c0mpri~e an instruc-
by the processor, support one or-more functions of the graph- tion-hased, adaptive stre~mins processor for mobile graphics
ics application, wher.~ each of.the third exec~t~b!e instruc- applications. Graphics enines 108A-108N may perform
tions converts graphics data f~om the.second data precision other graphics operations, such as texture mapping. Memory
level to the first data precision level when the one or more first ~5
modules i 10A-i 10N may inclucle One o~ mo~ caches to store
executable instructions are execumd.
The details of one or more aspects of the disclosure are set
data and graphics iustructions for processor 106 and graphics
forth in the accompanying drawings and the description
engines 108A,108N.
below. Other features, objects, and advantages will be appar-
Graphics engines 108Aq08N may include one or more
ent from the description and drawings, and from the claims. 20 engines tha~ perform various gmpl~_cs opemf!qns~ such as
triangle seep, mst.erizaf!0n, stencil and depth tests, attribute
BRIEF DESCRIPTION OF DRAWINGS setup, and/or pixel interpolation~ External memory 104 may
he a large, ~lower memory wi~ r~spect-fo memory modules
FIG. 1 is a block diagram illuatmting various components 110A-i10N.. In one aspect, Sxternal m~mory !04 is located
that may be included within a graphics processing system, 2S further away (e.g,, off-chip) fix)m graphics device 100. Exter-
according to an aspect of the disclosure. nal memory 104 stores data and graphics instructions that
FIG. 2A is a block diagram illustrating an exemplary may be loaded into one or more of the memory modules
graphics process._mg system that includes a progrdmm~ble 1i0A-1i0N.
shader processor, according to an aspect of the disclosure. In one aslX~t, pmcessor 106 is capable ofexecuting mixed-
FIG. 2B is a block diagram illustrating further details of the 3o precision (e.g., full-precision, half-precision) graphics
shader processor shown in FIG. 2A, according to an aspect of instructions using different execution units, given that differ-
the disclosure~ ent graphics applications 102A-102N may have different
FIG. 2Cis a block diagramillus~uting further details of the requirements r~ardin8 ALU precision, pe._ff0~Tm~pce, and
execution units and register b~nk.~ shown in FIG. 2B, accord- input/output forma~ts. As an example, processor 106 nmy
ing to an aspect of the disclosure. 3~ include one or more full-precision execution units along with
FIG. 3 is a flow diagram illustrating an exemplary method one or more partial-precision execution Units. The partial-
that may be performed by the shader processor shown in precision ex~::~Rion units may be, for ~mple, half-precision
FIGS. 2A,2B, according to anaspect 0fthe disclosure. execution units. Processo~ 106 may use its execution units te
FIG, 4 is e block diagram illustrating a compiler that may execum graphics instructions for one or more of graphics
be used to generate graphics instructibns to be executed by the 4o applications 102A-102N~ Upon receipt era binary instruction
streaming proce_ssOr shown in HG. 1 orby the shader proces- (such as from external memory 104 or one of memory mod-
Sor shown in FIGS. 2A-2B, according to an aspect of the ules 110A,110N), and also an h~catipn ofa .dpta pregisi0~
disclosure. for execution of the graphics i~truction, processor 106 may
select an appropriate execution unit for executing the reccdved
DETAILED DESCRIPTION 45 ins~on with the indicated data precision using graphics
data Processor 106 may also receive a s~par~ conversion
FIG. 1 is a block diagram illustrating various components instruction that, when executed, converts graphics dam asso-
that may be included within a graphics precassing system, ciated with the graphics instruction to the indicated data pre-
according to one ~pect of the disclosure. This graphics pro- cision. In one aspect, the conversion instruction is a s~pamte
cessing system may be a stand-alone system or may be part of ~o insu-uc~on that is different from the 8ruphica instruction.
a larger system, such as a computing sysmm or a wireless The graphics dam may be provided by graphics applica-
communication dcvic~e (such as a wireless communication tions 102A-102N, ormay be retrieved from extermal memory
device handset), or part of a digital camera or Other video 104 or one of memory modules 110A-110N, or may be pro-
device, The exemp.l.ary system Shown in FIG. I m~_y include vided by one or more of graphiqs engines 108A-10gN. By
one or more graphics applications 102A-102N, a graphics ~ selectively executing iustmc~:Ous in different eXecutign tmi_"tS
d~idce 100, and ~ memo,! 104. Graphics device 100 based upon indicated dam precisions, processor 106 may
may be communicatively coupled to external memory 104 -avOid using a Single ~on ~t tO execute both full-pre-
and each ofgraphies applications 10/ak-102N. In one aspect, cision and half-precision instructions. In addition, program-
graphics d~ce !00 may be inclu~!ed on one or more inte- mers of graphics applications 102A-102N may have
grated circuits, or chi:ps. ~o increased flexibility when writing application code. For
_~The graphics applications 102A-102N may i~lclude exam1~le, an application programmer may specify data pr~i-
ous different applications, such as video game# vi&o, camera, sion levels for application instruodons, which are th~n com-
or other graphics or str~m~g applications, These graphics piled into one or more binmy instructions _tl~a~ are processed
applications 102A-102N may run concurrently and are each by processor 106. Processor 106 selects appropriate execu-
able to generate threads of execution to achieve desired ~ tion units to ex~-~Cute the bin~ay instructions based on th~ ~
results. A thread indicates a speCific task that may be per- precision associated wRh the execution units and the binary
formed with a sequence of one or more graphics inslracfions. instructions. In addition, processor 10~ may execute the
Exhibit A
Page 12
Copy provided by-USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.56 Page 56 of 177
US 8,633,936 B2
5 6
received conversion instruction to convert the graphics data system 2~0. Texture engin~ 208 is capable of performing
associated With the instructi6n to the indicated data precision, texture-related operations, and is also communicatively
if necessary. For example, ffthe provided graphics data hasa coupled to cache memory system 210. Cache memory system
data precision that is differen~t from the indicated datapreci- 210 is 9upled to main memory 204. Cache memoi~" system
sion, processor 106 may execute the conversion inslzuction to ~ 210 includes both an instruction cache and a data cache in an
convert the graphics data to the indicated data precision, such aspect. Instructions and/or data may be loaded fi,um main
that the graphics instruction may be executed by the selected memory 204 into cache memory system 210, which are then
execution unit. made available to texture engine 208 and shader processor
FIG. 2A is a block diagram illusWating an exemplary 206. Shader processor 206 may communicate with external
graphics processing system t~at includes a programmable ~0 devices or components via either a syncKronons or an asyn-
shader processor 206, according to one aspect. In this aspect, chronous interface.
the graphics processing system shown in FIG. ZA is an exem- In one aspect, shader processor 206 is capable of executing
play instantihtion of the more generic system shown in FIG. mixed-precisi0n graphics instructions using different execu-
1..In one aspect, shader processor206 is a streaming proces- tion units. Inthis aspect, shader processor 206 includes one or
sor. In FIG. 2A, the exemplary system includes two graphics ~5 more fuil-precision execution uui~s along with one or more
applications 202A and 202B that are each cOmmUnicatively half-precision ~xedatidn Units. Shader processor 206 may
coupled to a graphics device 200. In the example of FIG. 2A, invoke its execL~tion UnitS to execute graphics instructions for
graphics application 202A is a pixel application that is one or both of graphics applications 202A and 202B. Upon
capable of processing and managing graphics imaging pixel receipt of a binary instruction (such as from cache memory
data. In the example of FIG. 2A, graphics application 202B is :0 system 210), and also an indieation of a data precision for
a vertex application that is capable of processing and execution of the instruction, shader processor 206 is capable
ing graphics imaging vertex data. In one aspect, grap~ ~ of selecting an appropriate execution u~i_t for executing the
pixel application 202A omprises a pixel processing applica- received instruction with the indicated data precision using
tion, and graphics vertex application 202B comprises a vertex graphics data. Graphics pixy! applicatiQn 202A may provide,
processing application- 25 for example, pixel data to shader processor 206# and graphics
In many eases, graphics pixel application 202A imple- ve~ex application n202B may provide vertex data to shader
ments many functions that use a lower-precision (such as a processOr 206.
half-precision) data format, but it may implement certain Shader processor may also receive a separate conversion
functions using a higher-precision (such as a full-precision) instruction that, when executed, c~nverts graphics data asso-
data format. Oraphics pixel application 202A may also a0 ciated with the ~raphics instruction to the indicated data pre-
specify quad-based execution of instructions for pixel data. cision. In one aspect, the conversion instruction is a separate
Typically, graphics #erteX application 202B implements instruction that is different fiom the graphicsinstruction.
functions using a higher-precision data format, but may not Graphics data may also be loaded from main memgry 204
specify quad-based execution of instruoJons for vertex data. or cache memory system 210, or may be provided by t~ture
Thus, different applications, such as applieations 202A and as en~ne 208. Graphics pixel application 202A and/or graphics
2_ 02B, and corresponding APIs to graphics device 200, may vertex application.202B invoke threads of execution which
spec~ different data precision requirements. And, within a cause shader processor 206 to load one or more binary
given application 202A or 202B (and correspo~_n~ling AFI), instructions from cache memory system 210 for execution. In
exe,mtion of mixed-precision instructions may be specified. one aspect, each loaded instruction indicates a data precision
For example, a shading language for graphics pixel applica- 40 for execution of the ~cfion. In addition, shader processor
tion 202A may provide a precision modifier for shader 206 may execute the received conversion instruction to con-
instructions to be executed by shader processor 206. Tlins, vert the graphics data associated with the instzuction to the
certain instructions may specify one precision level for indicated data precision, ff necessary. For ex~p!e~ ~ the
execution while other insa-uctions may specify another pre- provided graphics data has a data precision that is different
cision 10ve!. Shader processor 206 within graphics device 200 45 from the indicated data precision, shader processor 206 may
is capab!e o.f exec.ut_ ing mixed-precision instructions in a uni- execute the conversion instruction to convert the graphics
form way. data to the indicated data precision, such that the graphics
In one aspect, shader processor 206 interacts with graphics instruction may be executed by the selected execution Unit.
a~plioations 202A and 202B via one or more applieation BY selectively executing instructions in different execution
pro~,anz interfaces, or APIs (not shown). For e~a~ple, ~0 units based Upon indicated data precisions, shader processor
graphics pixel application 202A may interact with shader 206 may avoid Usii~ a single execution unit to execute both
processor 206 via a first API, and graphics vertex application full-precision and haLf-precision instructions.
202B may interact with shader processor 206 via a second FIG. 2B is a block diagram illustrating further details oftbe
APL The first API and second API may, in one aspect, com- shader processor 206 s_ho~ in FIG. 2A, according to one
prise a common API. The APrs may define one or more ~ aspect. Within shader processor 206, a sequencer 222
slaz~dard programmlng specifications nsed by graphics appli- receives threads from graphics applications 202A and 202B,
cations 202A and 202B to cause graphics device 200 to per- and provides these threads to a thread scheduler & context
form various graphical operations, including shading opera- register 224. In one aspect, sequencer 222 c~mpds~s a ~iiUl-
tions that may be performed I~ shader processor 206. tiplexer (MUX). In one aspect, sequencer 222 determines
Graphics device 200 includes a shader processor 206. so which threads should be accepted, and may also allocate
Shader proc~sor 206 is capable of performing shading multiple-precision register space and/or other resources for
operations. Shader processor 206 is capable of exchanging each accepted thread. For example, sequencer 222 may allo-
pixel data with graphics pixel application 202A, and is further cate register space for half-precision instructions, and may
capable ofexchanSing vertex data with graphics vertex appli- also alloeate register space for full_ -preeision instructions.
cation 202B. ~5 In one aspect, pixel data received from graphics pixel
In the example of FIG. 2A, shader processor 206 also application 202A includes attribute information in a pixel
communicates with a texture engine 208 and a cache memory quad-based format (i.e., four pixels ata time). In _t,his aspect~
Exhibit A
Page 13
Copy provided by USPTO frbm-the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.57 Page 57 of 177
US 8,633,936 B2
8
execution Units 234 may process four pixels at a time..In one ties unit loads any graphics data needed for instruction execu-
aspeet~ execution units 234 may process data f~om graphics tion :firom a constant buffer 232 or register banks 242, which
vertex application 20~B one vertex at a time. are described in more detail below.
Thread scheduler 224 performs Various functions to sched, In the aspect shown in FIG. 2B, execution units 234
1~11e a~[ manage execution ofthreeds, and may coutioi execu- 5 includes one or~ full-precisionALUs (Arithmetic Logic
tion. sequence of threads. For each thread, thread scheduler Units) 236, one or more half-precision ALUs 240, and an
224 may detegm~e w_h.cther resources required for that thread elementary functional unit 238 that executes Iranscendental
are ready, push the thread into a sleep queue if any resouro elementary operations. ALUs 236 and 240 may include one
(e.g., instruction, register file, or texture read) for the thread is or more floating po~t traits, which enable floating c0mpu~a-
not ready, and move the thread from the sleep queue to an 10 tions, and/or one or more integer logic units, which enable
active queue when all of the resources are ready, according to integer and logic operations. When necessary, execution units
one aspect. Thread scheduler 224 interfaces with a load con- 234 load in data, s~ch as graphics data, from constant buffer
trol unit 226 in order tO synchronize the resources for the 232 Or from ~is~r banks 242 daring instruction execution.
threads. In one aspect, thread scheduler 224 is part of a con- Both the full-precision ALUs 236 mad the half-precision
troller 225~ FIG. 2B shows an example of controller 225. 15 ALUs 240 are capable of performing arithmetic operations
Controller 225 may control various functions re[a~ed to the (SUch as addition, subtraction, multiplication, multiply and
processing of instructions and data within shader processor accumulate, etc.) a~d al~o logical ope~tions (such as AND,
206. In the example of FIG. 2B, controller 225 includes OR, XOR, etc.). EachALU u~i..t may comprise a single quad
thread schedulee 224, ioad c0iitrol Unit 226, and master ALU or four scalar ALUS, according tO one aspect. When
en~e 220. In certain aspects, cO~t~oller 225 incl~tes at least 2o four scalar ALUs are used, attributes for four pixels may be
one of master engine 220, thread scheduler 224, and load processed in parallel by the ALU s.A qaadALU may be used
control unit 226. to process four attributes for a pi:gel or a vertex in parallel.
Thread scheduler 224 also manages execution of threads. However, full-precision ALUs 236 ~xecute instructions
Thread scheduler 224 fetches instructions for each thread using full-precision calculations, while half-precisionALUs
from a~ instruction cache 230, decodes each instrec~ion if 25 240 execute instructions using heft-precision calculations.
necessary, and performs flow control for the thread; Thread Elementary functional unit 238 can compute transconden-
scheduler 224 selects active threads for execution, checks for tal eleme~_tary funet~.ons such as Sine, cosine, reciprocal, loga-
read/write pert Conflict among the selected threads and, if rithm, expenential, square root, or reciprocal square root,
there is no c0ntiiet, sends ins~Uctions for One thread to execu- which are widely used in shader instructions. Elemen~ry
tion units 234, and sends instructions for another ~d tO 3o functional mait 238 may ill,prove shader performance by
load control unit 226. Thread scheduler 224 maintains a pro- computing elementary functions in much less time than the
g~n/mstruction counter for each thread and updates this time required to perf6rm polynomial approximations ofthe
counter as instructions are exe~u!ed or program flow is elementary functions using simple instructions. Elementary
altered. Thread scheduler 224 a~o issues requests to fetch for functional unit 238 may be capable of executing instructions
missing insu-uctions f~m instruction cache 230 and removes 3~ wi~ ful! precision, but also may he capable of converting
threads that are ompleted. calculation results to a half-precision format as well, accord-
In one aspect, thread scheduler 224 interacts with a master ins to one aspect of this disclosure.
Chine 220. In this aspect, thread scheduler 224 may delegate Load control unit 226, which is part.ofcentroller 225 in the
certain responsibilities to master engine 220. In one aspect, exemplary aspect shown in FIG. 2B, oat, Is the flow of data
thread scheduler 224 may decode instructions for execution, ~0 and instructions for various componeats withiix shader pro-
or may maintain the program/instruction counter for each cessor 206. In one aspect, load control ~it 226 may evict
thread and UPdate this coumer as ins~-uctions are executed. In excess Internal data of shader processor 206 to external
one aspect, master engine 220 sets UP state for instruct~i0n memory (e.g.~ cache memory system 210), and may fetch
execution, and may also control the State update sequence external resources such as instruction, buffer, or textme data
during instrfiction exec~ion- ,*s from texture engine 208 and/or cache memory system 210.
Instrdction cache 230 stores inStrUctions for the threads. Load outrol unit 226 interfaces with cache memory system.
"~ese instructions indicate specific operations to be per- 210 and loads instruction cache 230, constant buffer 232
formed for each thread. Each operation may he, for example, (which may store uniform data used during instruction execu,
an arithmetic operation, an elementary function, a memory lion for graphics applications 202A aiid/0~ 202B), and regis-
access operation, or another form of instruction. Instruction 50 ter banks 242 with data and instructions from cache memory
cache 230 may be loaded with instructions from cache system 210. Load control unit 226 also may provide output
memory system 210 or main memory 204 (FIG. 2A), as data f~m register banks 242 to cache.memory system 210.
needed, via load control unit 226. These instructions are Registed" banks 242 may receive the Output data from one or
binary instructions tl~a.t ~h~v.e been compiled from graphics more execution units 234, and caa he shared amongs~ excu-
application code, according to one aapect, Each binary ~5 ties units 234. Load control unit 226 also interfaces with
instruction indicates a data precision used for its execution texture engine 208. In certain cases, t~mre engine 2011 may
within shader processor 206. For eXample~an instruction type provide data (such as texel data) to shader processor 206 via
associated with the instruction may indicate Whether the load control unit 226, and, in certain cases, load control unit
instruction is a full-precision instruction or a half-precision 226 may provide data (such as ti~re coordinate data) and/or
instruction. Or, a particular flag or field within the instruction ~0 instructions (such as a sampler ID instruction) to t~ur
may indicat whether i_t is a ful!-precision or a haft-precision engine 208.
ins_Lruction, acc0rdi~_g to one exemplary aspect. Thread In the example of FIG. 2B, load control unit 226 also
scheduler 224 may be capable of decoding instructions and includes a precision converter 228. Because the data read into
dat~xminlng a data precision for each instrugtion (such as full- or written out of load control trait 226 may have different data
or ~!]g!f-precis~on). Thread scheduler 224 can then route each ~s precisions (e.g., full precisioa, half precision), load control
instruction to an execution unit that is capable of executing unit 226 may need to convert certain data to a different data
the instruction with the indicated data precision~ This execu- ptt-eision level before routing it to a different component
Exhibit A
Page 14
........ COii~ ~6vidi~l li~ USPTO from the PIRS Image Database on 04/0512017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.58 Page 58 of 177
US 8,633~936 B2
9 !0
(such as to register banks 242, or to cache memory System addition, computation ~esults generated during instruction
210). Pr~ision converter 2211 mznages such data conversion execution by full-precisionALUs 236A-236N may be stored
within load control unit 226. within one or more of full-precision register banks 244A-
In one aspect, precision conyerter 228 operates to convert 244N.
graphics data from one precision level to another precision ~ Similarly, each half-precisionALU 240A-240N is ~apable
level upon execution, by shader processor 206, of a rec~eived of using data to execute instructions using haif-p~ision
Conversion instruction. When exacut~d, the conversion computations. Input dm_~ used during instruction execution
instruction convem graphics d~a associated with a received may be retrieved from one or more of balf-preeisi0n register
graphics instruction to an indicated data precision. For banks 246A-246N. In addition, computation results gener.
example, the conversion instruction may convert data in a l0 ated during instruction execution by half-precision ALUs
half-precision format to a full-precision format, or vice versa. 240A-240N may be stored within one o~ more of .tml:f_-preci-
Constant buffer 232 may store cOnstantvalUas that are used
sion register b~nl~.~ 246A-246N.
by exec~ition Units 234 during instruction execution Register
As described previously, elementary functional unit 238 is
banks 242 store temp~orary results as well as final results from
execution units 234 for executed threads. Register bank~ 242 15 capable of executing full-precision insl~uetions, but storing
inctt~de one or more fUll-precision.register b~nk~ 244 and one results in half-precision format. In One aspect, elementary
or more half-precision register bank~ 246. Final execution functional Unit 238 is capable of storing result data in either
results Can be read from register banks 242 by load control fi~ll- or half-precision format. As a result, elementary fane-
unit 226. In addition, a distrib~ut0r 248 may also receive the tional unit 238 is communicatively coupled to full-preeision
final rasnlts for the eXJecutecl thi-eads from register bznk.~ 242 ~0 register bank.~ 244A-244N, and is also communicatively
and distribute these results toat least one of ~-aphics vertex coupled to half-precision register b,znk~ 246A-24aN.
application 202B and graphics pixel application 202A. Elementary functional unit 238 may both retrieve intermedi-
Graphics applications, such as applications 202A and ate data from and store final result-data t~any of the registers
202B, may require processing of data using different preci- within register bznk~ 242, according to one aspect.
sion levels. For example, in one aspect, graphics vertex appli- 25 In addition, elementary functional unit 238 includes a pre-
cation 202B processes vertex data using full-precision cision converter 239. In those instauce~ in which elemantaty
formats, While gr~pki~S pixd ~pplicatiOn 202A processes functional unit 238 converts between full- and half-precision
pixel data using half-precision formats. In one aspect, graph- data formats, it may use precision converter 239 to perform
ics pixel application 202A processes certain information the conversion~ For example, unit 238 may load input graph-
using half-precision format, yet processes other information 30 its data from half-pree~sio_n register l~tks 246A and use the
using full-precision forma~. During execution of threads from data to execute a full-precision instruction. Precision con-
graphics vertex application 202B and graphics pixel applica- verter 239 may convert the input data from a half-precision
tion 202A, shader processor 206 receives and processes format to a full-precisiun format. Unit 238 may then use the
instructions from instruction Cache 230 that use different data converted data to excite the full-precision instruction. If the
precision levels for execution. 35 result data is to be stored back into haif-pre~ision register
THUS, in the aspect shown in FIG. 2B, thread scheduler 224 bank 246A, precision converter 239 may convert the result
identi~es a data precision indicated or associated with a given data from a full-precision to a half-precision format, such that
instruction loaded out of instruction cache 230, and routes the it may be stored in half-precision register bank 246A. Alt~r-
instruction to an apprupriat~ execution unit. For example, if natively, if the result data is to be stored in one of .fu~l._-
the instruction is decoded as a full-precision instruction (such 40 precision register banks 244A-244N, the result data in full-
as through indication by the instruction type or a field/header precision format may be dLrectly stored in one of these
cOntained Within the instruction), tlzread scheduler 224 is
capable of routing the instructiOn tO one of the full -precision Thread Scheduler 224 (FIG. 2B) is capable of causing a
ALUs 236 for execution. Execution results from full binary instraction to be loaded from instruction cache 230
sion ALUs 236 may be stored in one or more ofthe full- 45 and executed in one of execution units 234 based upon the
precision rel~ister banks 244 and provided back to the graph- data precision associated with the instruction. For ex~m,~le,
iCs application (such_ as graphics vertex application 202B) via thread scheduler 224 may route full-precision instructions to
distributor 248. If, however, an instruction from the instruc- one or more of full-precision ALUs 236A.-236N, and may
tion cache 230 is decoded by thread scheduler 224 as a half- ~ute half-precision inslrtictions to one or more of haif-pre-
precision instruction, ttiread ~eheduler 224 is capable of rout- 50 eision ALUms 240A-240N. Thread scheduler 224 may also
ing the instruction to one of the half-preeisionALUs 240 for route elementary instructious to elementary functional unit
execution. Execution results from balf-p_recision ALWs 240 238 for execution. Result data can be stored in co__rrespoz~ding-
may be stored in one or more of the half-precision register registers within register banks 242. In one aspect, data tran-
banks 246 and provided back to the graphics application sitions between full-precision ALU-S 236A-236N, eieman-
(such as graphics pixel application 202A) via distributOr 248. 55 tary functional unit 238, and balf-l~recision ALUs 240A-
FIG. 2C is a block diagram illustrating further details of the 240N go through register banks 242.
execution units 234 and register b~r~k~ 242 shown in FIG. 2B, In one aape~t, each half-pracision register bank 246A-
according to one aspect. As descnbed previously, execution 246N contains less register stooge space, a~d 0ecupies less
units 234 include various different types of execution units. In physical space on an integrated circuit, than each full-preci-
the example of FIG. 2C, execution units 234 includes one or s0 sion register bank 244A-244N. Thus, for example, haif~pre-
more full-prac!sion ALUs 236A-236N, one or more half- cisionregiSter bank 246A contains less register storage space,
precision ALUs 240A-240N, and one or more elementary and occupies a smaller physical space, ~ fUll-preeisiun
functional units 238. Each full-precisionALU 236A-236N is register bank 244A. In one aspect, One full-precisiun register
capable of using data to execute instructions using full-pre- bank ( such as bank 244A) n~ay eOatain substantially the same
cision com~utations. Input data used during instrt~tion ~5 amount of register space, and occupy substa~hally the same
executionmay be retrieved from one or more of full-precision amount of physical space, as two baif-precisiun re~ister
register bznl~ 244A-244N (within register banks 242). In banks (such as b~nk.~ 246A and 246B combined).
Exhibit A
Page 15
Copy provided by USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.59 Page 59 of 177
US 8,633,936 B2
11 12
Similarly, each full-precision ALU 236A-236N may instructions that are loaded are to be executed by one or more
0~cupy more physical Space within an integrated irenl~ than of half-precision ALUs 240A-240N. Thus, in th~se types of
each half-precision ALU240A-240N. In addition, each fnll- scenarios, shader pmcesser 206 may selectively power down,
precisionALU 236A,236N typically may use more operating or disable, one or more of the full.precision components for
power than each half-precision ALU 240A-240N. As a con- power savings. In this manher, shadPX processor 206 may
sequence, in certain aspects, it may be desired to limit the seiectively power down or disable one or more full-precision
number of ~-precision ALUs and ful!-precision register compon~mts On ~ dynamic basis as a function of the types and
banks; axkd increase the number of half-precision ALUs and numbers of instructions being processed a~ a given time.
half-precision register banks, that are used, so as to minimize In one aspect, shader processor 206 may als0 be capable of
integrated circuit size and reduce power consumption using thread scheduler 224 to selectively power down, Or
requirements. These aspects may be particularly appropriate disable, One ormore ofhalf,precision ALU s 240A,240N and
or beneficial when shader processor 206 is part of a smaller one Or more of half-precision register banks 246A-246N. In
computing device with certain power constraints, such as a this aspect, shader processor 206 may save, or reduce, power
mobile or wireless communication device (e.g., such as a consumption by selectively powering down, or disabling~ one
mobile radiotelephone or wireless communication device or more ofthes half-precision components wben they are not
handset), or a digital camera or v~deo device. being used or got needed.
Therefore, in one aspect, execution units 234 may includo Shader processor 206 may provide various_ benefits and
only one full-precision ALU 236A, and register banks 242 advantages. For example, shade._r_ precessor 206 may provide
may inelude only one full-precision register bank 244A. In a highly flexible and adaptive interface to satisfy different
this aspect, execution units 234 may further include four requirements for execution of mixed-precision instructions,
half-precision ALUs 240A-240D, while register: banks 242 such as full-precision and half-precision instructionS. Shader
may include four half-precision register l~anks 246A-246D. processor 206 may significantly reduce power consmnption
As a result, execution units 234 may be eapable of executing by avoiding unnecessary precision pronTotion during execu-
at least one half-precision instruction and one full-precision tion of mixed-precision instructions. (Precision promotion
instruction in parallel. For example, the four half-precision may occur when shader processer 206 dynamically converts
ALUs 240A-240D may execute instructions for attributes of d#~a from a lower precision form~_i such as a half-pr~-ision
four pixels ata time. Because only one full precision ALU format, to a higher-p~-~:is.inn format, such as a. f~ll-preeiSion
236A is used, ALU 236A is capable of executing an ins~uc- format. Precision promotion can require additional circuiR7
ti0n for one Vertex at a time, according to one aspect. As a within shader processor 206, and also may cause shader core
result, shader processor 206 need net utilize a vertex packing processes to ~eaid additional Clock Cycles.) Because thread
buffer to pack data for multiple vertexes, according to one scheduler 224 is capable ofreco~iz;ng data precisions asso-
aspect. In this case, vector-based attribute data for a vertex ciated with binary instructions loaded from instruction cache
may be directly processed without having to convert the data 230, thread scheduler 224 is capable ofroutin~ the instruction
to scalar forma~. !o an apprepria[e execution unit within execution units 234
In another aspect, execution units 234 mayinclude four for execution, such as fnll-prei_sion ALU 236A or half-pre-
full-precision ALUms 236A-236D, and Iw~ister banks 242 cision ALU 240A.
may includa four full-precisionregister banks 244A-244D. In Shader processor 206 also may reduce overall register file
this aspect, xecutio~a Units 234 may further include eight size in register banks 242 andALU size in execution units 234
half-precision ALUms 240A-240H, while ~egister banks 242 by Utilizing fewex full-preciSi0n components and by instead
may include eight half-precision register banks 246A-246H. ~filizing more half-precision components (e.g., ALUs and
As a result, execution units 2~4 are capable of executing, for register banks). In addition, shader processor 206 may
example, two balf=preci~ion instructions on two quads and increase overall system performance by increasing process-
one full-precision "mstrnetion On one quad in paral!el. Each ing capacity.
quad, or thread, is a group of four p~xe!s or fo~ vertices. In view Qf the various potential benefits related to lower
In another aspect, execution units 234 may include four power consumption and increased performance, shader pro-
full-precision ALUs 236A-236D, and register banks 242 cessor 206 may be used in various different types of systems
may include four full-precision register banks 244A-244D. In or devices, Such as Wireless communications devices, digital
this aspect, execution units 234 further includes fo~r half, camera devices, vidoo recording or display devices, video
precision ALUs 240A-240H, while ~ister ban~ 242 ~me devices, Or othe~ graphics and multimedia deVices.
iuclud~:four haff~precision r~Ster banks 246A-~246H. Vari- Such devices may include a display to present graphics con-
ous other combinations of full-precision ALUs 236A-236N, tent generated using shader processor 206. In one aspect, the
fuliTprecision register banl~ 244A-244N, half-precision pre~sion flexibility offered by shader.processur 206 allows it
ALUs 240A-240N, and half-precision register banks 246A- to be used g,ith Various devices, including raultimedia
246N may be used. devices, which may provide 10wer-precision calculations or
In One gspect, s~ad~ processor 206 may be capable of have lower power requirements than certain other graphics
using, thread scheduler 224 to selectively power down, or applications.
disable, one or more of full-pre~isionALU s 236A,236N and FIG. 3 is a flow diagram illustrating an exemplary method
o~ie Or more of fnll-precisinn register banks 244A-244N. In that may be performed by the shader processor 206 shown in
this aspect, although shader pmcesser 206 inludes various FIGS. 2A-2B, according to One aspect. In this aspect, the
full-precision components (such as full-precision ALUs exemplary methodinclndes acts 300,302, 303,306, 308, 310,
236A-236N and full-preo.~ion register banks 244A-244N) and 312, and also includes a decision polnt 304.
within one or more imegrated ~, it may save, or reduce, In act 30.0, shader processor 206 receives a binary graphics
power consumption by seiectively powering down, or dis- instruction and an indication of a data p~ision for execution
abling, one or more of these ful1~p~cision c~mponents when of the instruction For example, as previously described,
they are not being used. For example, in ce!~ain scenarios, thread scheduler 224 may load the inslzuction from instruc-
shader processor 206 may deter~nine that one ormore ofthese tion cache 230 (FIG. 2B). In one aspect, decoding of the
compoc~mts are not being reed, given that various binary instruction, by thread scheduler 224, provides information as
Exhibit A
Page 16
Copy I~r6~videdby USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.60 Page 60 of 177
US 8,633,936 B2
13 14
to the data precision for execution of the ins~ruetiom For purer-readable ins~uctions associated with the compiler soft-
example, the instruction may be a full-precision or a half- Ware. In one aspen:t, these one or more processors may be part
precision instruction. of, or implemented in, the application development platform
In ac~ 302, shader processor 206 receives graphics data used by application devdopers. The compiled instrucf!_OnS
associated with the binary instruction. For example, 5 may be stored on a computer~readable data storage:medium
sequencer 222 may receive vertex data from graphics vertex for retri~al and e,~.~ontion by one or more processors, ~uch as
application 202B, and/dr may receive pixel data from graph- sl~eamin~ processor 106 or shader processor 206. For
ics pixei application n202A. In certain scenm-ios, load control example, the disclosure contemplates a compnter-readable
Unit 226 may also load graphics data associated with the data storage medium including one or more first execntable
instruction from cache memory system 210. In act 303, ~0 inslructions, one or more second executable instructions; and
shaderprocessor 206 further rec~eives a conversion instruction one or m~re third executable "_instructions.
that, if executed, converts the graphics data associated with The first executable instructions, when executed by a pro,
the bin~3, instruction to the indicated data precision. cessor, may support one or more functions of a graphics
At decision point 304, shader processor 206 determines application. In addition, each of the first ~table instruc-
whether the instruction is a full-precision or a half,precision ts ti0ns may indicate a first data precision level for:its execution.
instruction. As noted above, in oxxe aspect, thread scheduler The second executable instructions, when executed by a pro-
224 may decode the instruction and determine whether it isa cessor, may support one or more funetions of the graphics
full-precision or half-precision instruction. application. In addition, each of the second execntable
If the instruction is a ~-precision instruction, shader pro- instructions may indicate a second data precision level differ-
cessor 206, in act 306, converts, if necessary, any received 2o ent from the first data precision level for its execution. The
graphics data f~om half~ to full-precision format. In certain third execfftable inSlructi~ns, When executed by the proces-
eases, the received graphics data, as stored in cache memory sor, may also support one or more f~mctiOns of the graphics
system 210 or as processed from graphics application 202A application, wherein each of the third exe~rtable instructions
or 202B, may have a half-precision format. In this ease, the converts graphics data from the second data precision level to
i9-aphics data is converted toa full-precision format so that it 25 the first data preeision level whenthe one or more first exeont,
may be used during execution of the full-precision instruc- able instructions are executed
tion. In one aspect, precision converter 228 of load control Compiler 402 may be c~able ofcomp_fling gr_ap.hiCs appli-
unit 226 m~Y manage data format conversion when the cation inslructions 400 into binary graphics instructions 404,
received conversion instruction is executed by shader proces- which are then capable of being executed by shader processor
sor 206. In act 308, sheder processor 206 selects a full-preci- 3o 206. Shader processor 206 may retrieve s~Ch instrUctiOns
sion unit, such as Unit 236A (FIG. 2C), ti3 ex~nte the binary from a data storage media such as a memory or data storage
instr~tion Using the graphics data. device, and execute these instructions to perform computa-
~ however, the instruction is a half-precision instruction, tions and other operations in support of a graphics applica-
shader processor, in act 310, converts, if necessary, any data tion. Several of graphics applications instmetions 400 may
from full- to half-precision format. In one aspect, precision 35 specify a particular data precision level for execution. For
eonvert~r 228 may manage data format conversion when the example, certain inslructions may specify that they use full-
received conversion instruction is executed by shader proces- precision or half,precision operations or cslculations. Com-
sor 206. Inact 312, shader processor 206 the~i selects a half- piler 402 may he configm~d to apply roles 406 to ~,~lyze and
precision trait, such as imit 240A (FIG. 2C) to excite the parse graphics appl~ation instructions 400 d~.ng the
bine~y inswaction using ~ graphics data. 4o pilation process and generate cormspondln~ binary instruc-
FIG. 4 is a block diagram illustrating a compiler 402 that tions graphics 404 that indicate data precision levels for
may be used to generate instructions to be executed by execution o~insuuetions 404.
streaming processor 106 shown in FIG. I or by shader pro- Thns, if one 0f graphics app~ca_tion _mstm~o~s
" 400 spell-
cessor 206 shown in FIGS, 2A-2B, according to one aspect. In ties a full-precision operation or cal~lation, rules 406 of
one example aspect, compiler 402 is used to generate instruc- 45 compiler 402 may gene~te one or.more of binary instructions
tions to be executed by shader processor 206. In tiffs aspect, 404 that are full-pre~sion iustruction~. If another one of
application developers may use cOmpile~ 402 to generate gaphics application instructions 400 sl~ifies a half-preci-
binary instructions (code) for execution by shader processor sion operation or calculation, rules 406 generate one or more
206. Shader processor 206 is: part of graphics device 200 ofbin~y instructions 404 that are half-precision instructions.
(FIG. 2A). Application developers may have access to an 5o In one aspect, binary instru~ions 404 each may include an
application development platform for use with 8raphies opcode" indicating whether the instr~tion is a full-precision
device 200, and may create appiication-level software for or a half~p~ision instruction. In one aspect, binary iustmc-
graphics p~xei application 202A and/or graphics vertex appli- tious 404 e~ch may indioate a data precisien for execution of
cation 202B. Such application-level sot~vare includes graph- the instruction using information contained within ~nother
ics application instructions 400 shown in FIG. 4. Graphics 5~ predefined fie~d, flag~ or header, ofthe instm~i~n that may be
applioa.ti_oninsauctions 400 may include instructions written decoded by shader processor 206. In one aspect, the data
by high-level shading langt~ages, compliant with or translat- precision may he inferred based upon the type 0f instmaion
able to DirectX, OpenGL, OpenVGTM, or other lan- to he executeck
guages. In one aspect., these shading languages defiae one or Compiler 402 also includes rules 408 that are capable of
more standard APIs that may be used for developing pro- 60 generating binet7 conversion instructions 410 that convert
gr~mm~n~ codeto pel~orm l~dphlcs operations. between different data precision levels. During compilation,
Compiler 402 may be supported, at least in part, by com- these rules 408 of compiler 402 may determine that such
piler software execu~l by a processor to receive and process conversion may be neces.~y dgring exeon~i~n of bim~y
source code instructions and compile such insaa~ons to instructions 404. For example~ rules 408 may generate one or
produce compiled ins~u~tions (e.g;, in the form of binary, 65 more instructions within conversion instructions 410 that
e~ble machine instructions). Accordingly, compiler 402 convert data from a full-precision format to a balf-precisio~
may be formed by o~e or more processors executing com- format. This conversion may be required when shader pro-
Exhibit A
Page 17
Copy I~r~vide~ by USpTO from the P!RS Image Database on 04/05/~017 " -
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.61 Page 61 of 177
US 8,633,936 B2
15 16
cessor 206 executes half,precision instructions within graph- contemplates any of a variety ofintegratedcireuit devices that
ics instructions 404. R~les 408 may also generate one or more include ch~Uit~y to implement one Or more ofthe techniques
instructions within conversion instructions 410 that convert described in this disclosure. Such eh~fitry may be provided
data from a haLf-precision to a full-precision format, which in a single integrated circuit Ch~p device or in mnlt~ple,
may be required when shader processor 206 executes full- 5 interoperable integrated cirouil chip devices.
precision instructions within graphics inst~ctions 404. Various aspects of the disclosure have be~n described.
When rules 408 of compiler 402 generate conversion These and other aspects are within the scope of the following
ins~-uctions 410, shader processor 206 may execute these Claims.
conversion instructions 410 tO manage dat~ precision conver-
sion during execution of corresponding graphics instructions The invention claimed is:
404, accorrllnE to one aspect. In this aspect, execution of 1. A method comprising:
conversion instructions 410 manages such precision conver- receiving a graphics inslruction for execution within a pro-
sion, such that shader processor 206 need not necessarily Use gr..~mmable s~r~ing processor;
cei-tain hardware conversion mechanisms to convert data receiving an indication of a data precision for execution of
from one precision level to another. Conversion instructions the graphics instruction, wherein the indication of the
410 may also allow more efficient data transfer to ALUs data precision is contained within the graphics insu-uc-
using different precision levels, such as to full-precision tion, wherein th~ grapl~cs inslr~ f!on ~S a_ .f!~s.t execut-
ALUs 236 and to half-precision ALUs able instruc~on generated by a compiler tha~ compiles
The components and techniques described herein may be graphics application instructions;
implemented in hardware, software, firmware, or any combi- receiving a conversion instruction that, when executed by
nation thereof. Any featU~s described as modules or compo- the pr0gmr~mable s~ming processOr, converts graph-
nents may be implemented together in an i~tegrated logic ics data, associated with the graphic~ instruction, from a
device or separately as discrete but interoperable logic first dam precision to converted graphics data having the
devices. In various aspects, such components may be formed indicated data precision, and wherein the conversion
at least in part as one ormore integrated circuit devices, WhiCh instrurtion is different than the graphirs instruction,
may be r~ferred to collectively as an integrated circuit device, wherein the conversion instruction is generated by the
such as an integrated circuit chip or chipset. Such an inte- compiler;
grated circuit device may be used in any of a variety of selecting one ofla plurality Of eX~ution units ~ithin the
graphics applications and devices. In some aspects, for processor based on the indicated data precision; and
example, such components may form part of a mobile device, using the selected execution unit to execute the graphics
such as a wireless communication device han&et. instruction with the indicated data precision using the
If implemented in so ftware, the techniques may be nmlized converted graphics data associated with the graphics
at least in part by a compu;er-readable medium comprising instruction.
instructions ~, when executed by one or _more processors, 2. The method of claim 1~ further comprising:
performs one or more of the methods described above. The 35 receiving the graphics dam associated with the graphics
computer-readable medium may form part of a coraputer instruction;
program product, which may include packaging materialS. generating a co.mputati0n reSUlt With the ~ndi~ated data
The computer-readable medium may comprise random precision during executionofthe graphics instruction by
access memory (RAM) such as synchronous dynam;c ran- the selected execution unit; and
dom access memory (SDRAM), read-only memory (ROM), providin~ the computation result as outpm.
non-volatile random access memory (NVRAM), electrically 3. The method of d~im 1,- wherein sd~-t~g one~ of the
erasable progr~mmab!e read-only memory (EEPROM), plurality of execution units comprises:
FLASH memory, magnetic or optical data storage media. selecting one of a first set of one or more execution units
The techniques additionally, or alternatively, may be real- within the processor that each execute insuaCtions With
ized at least ~in part by a computer-readable communication 4s the first d~ precision using t~ graphic~ data wl~n the
medium that carries ot commUulcat~s code in the form of indicated data precision is the first data precision; and
instructions or data structures and that can.be accessed, read, selecting one of a second set of one ormore execution units
and/or executed by one or more processors. Any connection within the processor that each execute instructions with
may be properly termed a computer~readab!e medium~ For a second data precision u~g the graphics data when the
example~ i_fthe solid-are is tr~n~m;tted flora a website, server, indicated data precision is the second data precision, the
or other remote source using a coaxial cable, fiber optic cable, s~cond data precision being different th~n the first data
twisted pair, digital subscriber line (DSL), or wireless tech- precision.
nologies such as infrared,_ radio, and microwave, then the 4. The method of ciaim 3, wherein the fir~ data pr~ision
coax~ cable, fiber optic cable, twisted pair, DSL, or wireless comprises a f!~l data precision, and wherein the second data
technologies such as infrared, radio, and microwave are ~ precision comprises a half data precision.
included in the definition Of medium. Combinations of the 5. The method of claim 1, Wherein the exe~Ufi6n Units
above should also be included within the scope of computer- include a first set Of One or more execution u~its with~ the
readable media. processor that each execute instructious with the first data
Any soi~rare tha~ is u~ may be executed by one or pr~sion using the graphics da~ and further include a sec-
more processors, such as one or more digi~d signal proces- t0 ond set of one or more execuf!_On units within the pro~essor
sors (DSPs), general purpose microprocessom, application that each execute instructions with a second data p~-ision
specific ".integrated circuits (ASICs), field-programmable d~fferent than the first dam prec_ision Using the graphics data.
gate arrays (FPGAs), or othe~ equivalent integrated or dis- 6. The method of claim 5, wherein:
cr~ logic cLrcuilzy. AccordlnEly, the terms "processor" or selecting one of the plurafity of execution units within the
"controller; as used h~.rein, may refe~~ any of the foregoing processor based on the indicated data precision om,
structures or any other Structure suitable for implementation prises selecting one of the execution~mits in the first set;
ofthe techniques described herein. Hence, the disclosure also and
Exhibit A
Page 18
COpy provided by USPTO from th6 PIR~ Imago Database on 04/0~/2~17 " - -
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.62 Page 62 of 177
US 8,633,936 B2
17 18
using the selected execution unit to execum the graphics select one of a first set o fone or more execution units within
instruction comprises using the selected execUtion unit the processor that each ~XeCUta instructions with the first
in the first set to execute [he ~aphics instruction with the data precision using the graphics dam when the indi-
indicated data precision using the graphics data associ~ cated dam precision is the first dam precision; and
ated with the graphics instruction. 5 select one of a second set of one or more execution units
7: The method Of claim 6, further comprising: within the processor that each execute instructions with
rec~ving a second ~raphics instruction for execution a second data precision using the graphics data whonthe
within the processor;, indicated data precision is the second data precision, the
receiving an indication of the seco_nd dat~ precision for second data precision being different than the first data
execution of the second graphics instruction; precision.
receiving a second conversion instruction thet, when 13. The non-transitory computer-readable storage medium
executed by the processor, converts waphics data asso- of claim 12, wherein the first data preCision comprises a full
ciated With the second graphics instruction to the indi- data precision, and wherein the second data precision cora-
cated second data precision, the second conversion l5 prises a helf~ta pr~isiom
ins~,uction being different than the second graphics 14. The non-transitory c0mputer-readable storage medium
instruction; of claim 10, wherein the execution units include a first set of
selecting one of the e-.~ecution units in the se0nd set based one or more exgcution units within the processor-the~ ~ch
on the indicated second data precision; and execute ins~uctions with the first data precision using the
using the selected execution unit in the second set to 2o graphics data, and further inclu~ a second set of one ormore
execute the second ~aphies ins~a-uction with the indi- execution units within the processor that each execute
cated second data precision Usingthe graphics data assb- instructions with a second data precision different than the
ciatod with the second graphics instruction. first data precision using the graphics d~fi.
8. The method of claim 1, wherein receiving the indication 1~. The non-tranSitory computer-readable storage medium
of the data precision for execution of the graphics instruction 2~ of claim 14, wherein:
comprises decoding the ~raphics instruction to determine the the instructions for cat,sing the processor [o select one of
da~ p~sign, the plurality of execution units within the processor
9. The method of claim 1, wherein the graphics data asso, based on the indicated data precision comprise instruC-
elated with the graphics instruction comprises at least one of tions for causing the processorto select one of the execu-
vert~ l~aphics data affd.pixel graphics data. 3o fion units in the first set;~
10. A non-tranSitory compUter-readable storage medium the instructions for causing the processor to use the
con~prising in.~ttctions for cansin~ a pro~r~mm~ble stream-
selected execution unit to execute the instruction com-
ing processor to:
receive a graphics instruction for execution within the pro- prise instructions for causing the processor to use the
~T~mmzble stre~m~ng processor;, 35 selec~l execution uni~ in the first set to execute the
receive an indication of a data precision for execution of the graphics instruction with the indicated data precision
8raphics insu-uction, wherein the indication of the data using the graphics data associated with the graphics
precision is c0~ within the graphics instruction, instruction.
wherein the IFaphics instruction is a first executable 16. The non-traUsitory computer-readable storage medium
instructiongenemtedby a compilerthet compiles ~aph- 40 of clalm 15, further comprising instructions for causing the
ics application instructions; processor to:
receive a onv~sion ~0n that, when executed by the receive a second graphics instruction for execution within
processor, converts l,~raphics data, associated with the the processor,
sraphics instruction, from a first data precision to con- receive an indication of the second data pr~sion for
verted lp-aphics data heVing the indicated data precision, 45 execfition of thesecond graphics instruction;
and wherein the eo~i~,ersion instruction is different than receive a second conversion instruction that, When
the graphics instruction, wherein the conversion iustruc- ~ted by the processor, converts graphics data asso-
tion is generated by the compiler;, ciated with the second graphics instruction to the indi-
select one of a plurality of execution units within the pro- cated second data pr~ision, the second conversion
cessor based on the indicated data precision; and 50 instruction bein8 differeat than the second ~ra~hics
use the selected execution unit to execute the ~raphies instruction;
instruction with the indicated data precision usin~ the select One of the eXect~on Units in the second set based on
converted ~phics data associated with the ~aphics the indicated second data precision; and
instruction. use the selected execution unit in the second set to execute
!1:. The nomtransi~0ry computer-resdab~ le ~tomge medium 55 the second ~a1~hiS ~ct~On with th~ indicated sec-
of laim 10, further comprising instructions for causing the ond data precision using the ~aphics data associated
processor to: with the second graphics instruction.
receive the Srapbics data associated with the sraphics 17. Tlie non-Wansitory compUter-readable storage medium
instruction; of claim 10, wherein the imc~ructions for causing the proces-
generate a computation result with the indicated data pre- 60 sor to receive the indication ofthe data precision for execution
cision during exe~i0n ofthe graphics instruction by the of the graphics instruction comprise instructions for causing
selected execution unit; and the processor to decode the graphics instruction to determine
provide the compumti0n result es output. the data precision.
12~ The non-trans~t0ry c0mputer-readable storage medium 18.The non-transitory computer-readab!e storage medium.
of claim 10, wherein the in_s_.tmctioUs for a~usin~ the proces- 65 of claim 10, wherein the graphics data associated with the
sort0 select one of the plurality of execution units comprise graphics instruction comprises at least one of vertex graphics
instructions for causing the processor to: data and pig~l graphics
Exhibit A
Page 19
Copy p~o~iae~ ~)y USPTO from the PIRS Image Dat~.base on 04/05!2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.63 Page 63 of 177
US 8,633~936 B2
19 20
19. A device comprising: 29. A device comprising:
a controller configa~d to receive a graphics instruction fo# means for receiving a graphics instruction for execution
execution within a programmable streamin~ processor, within a programmable streaming processor;,
wherein the indication of the.data precision is contained means for receiving an indication of a data precision for
within the graphics instruction and wherein the graphics execution of the graphics instruction, w~_.~ the indi-
instruction is a first executable instruction generated b~ cation of the data precision is contained within the
a compiler that omplies graphics application instruc- graphics instruction, wherein the graphics instruction is
tions, to receive an indication of a data precision for a first exeCutable instruction generated by a. compiler
execution of the graphics instruction, and to receive a that compiles graphics application instructions;
conversion instruction that, when executed by the pro- 10 means for receiving a conversion instruction that, ~vhen
gramrnable streaming processor, converts ~raphics data executed by the programmable streaming processor,
associated, with the graphics instruction, from a first converts graphics data associated, with the graphics
data precision to converted graphics data having a sec- instruction, from a first data precision to converted
ond data precision, wherein the conversion instruction is graphics data having the indicated data pre~ision, and
different than _the l~Taphics instruction and wherein the Wher~n the conversion instruction is different than the
conversion instruction is gen~ed by ~e compiler; and graphics instraction, Wherein the conversion inst~uction
a plurality of execution units within the processor, is generated by the compiler;
Wherein the controller is configured to select one of the means for selecting one of a plurality of ~ecution traits
executioaunits based on the indicated data precision and 20 wi_tl~_ the processor based on the indicated data preci-
cause the selected eXecutiOn unit to execute the graphics sion; and
instruction with the in6icated data precision usin~ the means for using the selected execution unit to execute the
convert~t lp-aphics data assOciated with the graphics graphics iustruction with the indicated data precision
instruction. using the .converted graphics data associated with the
20. The device of claim i9, wherein the plurality of execu- 2s graphics instruction.
tion units includes a first execu!~on u~it c0nfilp]red to execute 30. The deViCe of clalm 29, fudher comprising:
instructions with the indicated data precision and a second means for receiving the graphics data associated with the
execution unit configured to execute instructions with a sec- l~aphics instruction;
ond data precision that is different from the indicated data means for generating a computation result with the indi-
precision, and wherein the controller is configured to select 3o cated data precision during exL~tion of the graphics
the first execution Unit to eX~z~te the graphics instruction instruction by the selected execution unit; and
with the indicated data p~cision using the graphics data.
meam for pruviding the computation result as output.
21. The device of clalm 19, wherein the plurality of execu-
31. The device of claim 29, wherein the means for selecting
tion traits includes one or more full-precision execution units
one of the plurality of execution U~its Comprises:
and at least fuur half-precision eXecution units. 35
means for selecting one of a first set of one or more execu-
22. The ctevico of c!3~m 21, wherein when the indicated
tion units wi.thi_n_ the processor that each execute instruc-
data precision for eXecution of the graphics instruction com-
tions with the first data precision using the graphics data
prises a full precision, the controller is configured to select
one of the fullprecision execution ~uiits to execute the graph- when the indicated data precision is _the first data preci-
ics imtruetion u~ing ~ ~aphics data. 4o sion4 and
23. The device of claim 21, wherein when the indicated means for selecting one of a second set of one or more
data precision for execution of the graphics insertion com- exeCUtion Units within the processor that each execute
prises a half precision, the controller is configured to select instructions With a second data precision using the
one of the half-precision execution _units to execute the graph- graphics data When the indicated data precision is the
ics instruction using the graphics data. 45 second data precision, the second data precision being
24. The device of claim 21, further comprising:. different than the first data precision.
at least one fUll-preciSion register bank tocstore computa- :12. The device of claim 31, wherei~ the first data precision
tion results when the at least One full-precision execution comprises a full data precision, and wherein the second data
unit executes instructions; and precision comprises a half data precision.
at least four half-precision registeX bank~ to store compu- 50 33. The device of claim 29, wherein the execution units
tation results when the at least four half-preciSion execu- include a first set of one Or more execution units within the
tion units execaite inslzucti0ns. processor that each execute instructions with. the first data
2~. Tile device 0fela~rn 19, wherein the plurality of execU- precision using the graphics data, _and further "mcludea sec-
tion traits includes at least one full-precision execution unit ond set of one or more execution units within the processor
and at least one half-precisi0n execution unit, and wherein 55 that each execute instructions With a second data precision
when the indicated data precision for execution of the graph- different than the first data precision uSiag the graphics data.
ics instruction comprises a half precision, the controller is :$4. The device o claim 33, wherein:
configured to shut down p6W~" to the at least o~e full-preci- the means for selecting one of the plurality of execution
sion execution unit and cause the at least one half-precision traits within the processor based on the indicated data
execution unit to execute the graphics instruction using the precision comprises means for selecting one of the
execution units in the first set; and
26. The device of claim 19, wherein the processor om- the means f(~r us~g the selected execution ~nit to exeCtite
prises a shader processor. the ~zaphics instruction comprises means for using the
27. The device of ciaim 19, wherein the device comprises selected execution unit in the first set to execute the
a wireless communication device handset~ graphics instruction with the indicated data precision
28. The device of c!aim 19, wherein the device comprises using the graphics data associated with the ~raphics
one or more integrated ci~ult devices. instruction.
Exhibit A
Page 20
Copy provided by USPTO from the P!RS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.64 Page 64 of 177
US 8,633,936 B2
21 22
3~. The device of c!~im :~4, furtber c0mprisin~. 41. The device ofclaim 38, wherein the pl~ality of execu-
means for receiving a second graphics instruction for tion units includes one or more full-precision exect~tipn unit~
execution within the processor;, and at least four half-precision execution units.
means for receivinl~ an indication of the second data 42.. The device of Claim 41, wherein when the indicated
pr~ision for 6~Xecutien Of the second graphics 5 data precision for execution 0fthe graphics instruction com-
instruction; prises a full precision, the conU~ller is configured tO sel~t
means.for receiving a second conversion instruction that, one ofthe full-precision execution units to execu.~e the graph-
when executed by the processor, converts graphics dam ics instruction using the graphics data.
43. The device of claim 41, wherein when the indicated
associated With the secOnd graphics instruction to the
lo data pr~i_si0n for execution of the graphics ins~ction om-
indicated second data precision, the second conversion
prises a half precision, the controller is onfigured to select
instruction being different than the seCond graphics one of the half-precision execution Units to execute the graph-
instruction; ics instruction using the graphics data.
means for selecting one ofthe execution units in the second 44. The device of claim 41, wlieXein the processor further
set based on the indicated second dam precision; and 15 comprises:
means for using the selected execution unit in the second at least one full-precision regismr bank to storecomputa-
set to execute the second graphics instruction with the tion results when the at leas[ one full-precision execution
indicated second data precision USing the .graphics data unit executes instructions; and
associated With the second graphics at least fourhalf-precision register banks [o s.t0re compu
36. The device of cl~ 29, wl~fin the means for receiv- 2o tation results when ~tbe at least four half-precisi0n execu-
ing the indication of the data precisi0n for eXecution of the tion units execute instructions.
. ~raphics instruction comprises means for decoding the graph- 45, The device of claim 38, wherein the plurality Of exec~t-
ics instruction tO determine the data precision. tion units includes at least One full-precision execution unit
37. The device of claim_ 29, wherein the graphics data and at least one half-precision execution unit, and wherein
associated w~th th~ graphics instruction comprises at least 25 when the indicated data precision for execution ofthe graph-
one of vertex graphics data and pixel graphics data. ics instruction comprises a half precision, the controller is
38~ A device comprising: configured to shut down power to the at least one full-preci~
a programmable str~m;ns processor, and sion execution trait and cause ~e a_~ least one half-precision
at least o~ memory module coupled to the progrzmmable execution uait to ex_eeute the graphics instruction using the
streaming processor, 3o graphics data.
wherein the programmable stream;ns processor com- 46. The device of claim 38, wherein the processor co,n-
prises: prises a shader processor.
a controller configured to receive a graphics instruction 47. The device of ciaim 38, wherein the device comprises
for eXecution __from the at least one memory module, to a wireless communication device handset.
receive an indication of a data precision fOr execration 35 48. The device of claim 38, wherein the device comprises
of the graphics instruction, Wherein the ~Cation of one or more integrated circuit devices.
the data precision is contained within the graphics 49. A method, comprising:
instruction ~nd wherein the graphics instruction is a analyzing, by a c0mpil~r eXecS.,ed by a processor, a plural-
first eXecutable ins~uction generated by a compiler ity ofapplicationinstructions for a graphics application;
that compiles graphics application instructions, and to 40 for each application instruction that specifies a first data
receive a conversion instruction that, when executed precision level for its execution, generating, by the com-
bythe processor~ converts graphics data, associated piler, one or more corresponding compiled instructions
with the l~raphics instructi.o_n, to converted graphics that each indicate the fu~t data precision level for its
da~, wherein the graphics data has a first data preci, execution, w~in the first precision level comprises a
sion and the converted graphics data has the indicated 45 full data pr~.ision level; and
data precision, and wherein the conversion instruction generating, by the compiler, one or more conversion
is different than the graphics instruction and wherein instructions to convert graphics data from a secon_d,
the conversion iusta~ctinn is generated by the com- different data precision lev@l tO t!m first data precision
piler; and leve! when the one or more compiled instructions are
a pl~ty ~f execution units that are configured to 50 ex~cut~L
execute instructions, S0. The method of claim 49, wherein the second data
wherein the contml}e~ is configured to select one of the precision level comprises a half data pmcisi0n level.
e~ecution units based On the indicated data precision 51. The m~thod of claim 4~, where_in generaf!~ the one or
and cause the.selected execution unit to execute the more compiled instructions comprises generating one or
graphics instruction wi~ the indicated data precision 55 more compiled instructions fl~t each indicate a full a~#~
usin~ the converted graphics data associated with the precision level when a corresponding application inslruction
graphics instruction. specifies the full data precision level for its execution.
39. The device of claim 3S, furthe~ comprising at least one ~2. The method of claim 49, wherein ganerafing the one or
graphics engine coupled to the processor. more compiled instructions comprises generating one or
40. The device ofclaim 3~, wherein the plurality of execu- 60 more compiled instructions that each in,care a half data
tion units includes a first execution unit configured to execute p~5~ion level when a corresponding application instruction
instructions with the indicated data precision and a second specifies the half data. precision level for its execution.
execution unit configured to e~ecute instructions wi~h a sec- 53. The method of claim 49, Wherein the o~e Or more
ond data precision th~_~ iS different from tl~e indicated data compiled instructions each include a predeflned field that
precision, and wherein the controller is configured to select s5 includes information indicating the first data preCision level
the first execration unit to execute the graphics ins~-uction when the corresponding application instruction spoei~eS ~e
With the indicated data precision using the graphics data. first data precision level for its execution.
Exhibit A
Page 21
Copy provided by USPTO f~om the PIRS Image Datable on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.65 Page 65 of 177
US 8,633,936 B2
23 24
54. The method of clalm 49, further comprising storing the precision level to the first de~e precision level when the
one or more compiled instructions in memory for subsequent one or more compiled instructions are executed.
~cufion~ 62. The apparatus of claim 61, ,~herein the second data
55. A non-transitory compUter-readable storage medium precision level comprises a half data precision level.
comprising instructions for causing a processor to: 63. The apparatus of claim 61, wherein the means for
analyze, by a compiler executed by t~e processor, a plural- g~nerating the one or more compiled instructions comprises
ity of application instructions for a graphics application; means for generating the one or more compiled instructions
for each application instruction that specifies a first data that each indicate a full data precision level when a corre-
precision level for its execUtio~ generate, by the com- sponding graphics application instruction specifies the full
piler, oneor more ori~sponding compiled instructions data precision level for its execution.
that each indicate the fi~st dam precision level for its
64. The apparatus of claim 61, wherein the means for
execution, wherein the first precision level comprises a
generating the one Or more compiled instructions comprises
full data precision level; and
means for generating the one or r~Ore compiled.instructions
generate, by the compiler, one or more conversion instruc-
_.that each indicate a half data precision level When a corre-
tions to convert graphics data from a second, different 15
sponding grapl~cs appf!CZtion instruction specifies the half
data pn~cision level tO the first data precision level when
data precision level forits execution.
the one or more compiled instructions are executed.
56. The non-transitory omputer-readable storage medium 65. The apparatus of laim 61, wherein the one or more
of claim 55, wherein the second data precision level com- compiled instructions each include a predefined field tha~
prises a half data precision level. 20 includes information indicating the first data precision level
57. The non-Uansitory computer-readable storage medium when the corresponding graphics application instruction
of claim 55, ,~here~ the instructions for causing the proces- speci.fies the first data precision level for its exeCution.
sor to generate the one or more compiled instructions com- 66. The appara~s ofc~ 61, further comprising means
prise instructions for causing the processor to generate the for storing the one or more compiled instructions in memory
one or more compiled instructions that each indicate a full for subsequent execution.
data precision level when a corresponding application 67. A non-transitory computer-readable d~_~a storage
instruction specifies the ~ data precision level for its execu- medium comprising:.
tion. one or more first executable instructions generated by a
58. The non-transitory computer-readable storage medinm compiler, wherein the one or more first eXecutable
of claim ~, Wherein the inslructions for causing the proces- 30 instructions, when executed by a programmable stream-
sor to generate the one or more compiled ins~uctions com- ing processor, support one or more functions of a graph-
prise instructions for causing the processor to generate the ics application~ wherein each of _the first executable
one or more compiled instructions that each indicate a half
instructions indicates a first data precision level for its
data precision level when a correspo~Td~nE application
execution;
instruction sp~ifies the halfdata precfision levei for its execu-
One or more second executable instructions generated by a
tion_
compiler, wherein the one or more second eXecutable
59. The non-transitory computer,readable storage medium
instructions, when executed by the programmable
of claim 55, Wherein theone or more compiled instructions
streaming processor, support one or more functions of
each include a predefined field that includes in.formation
the graphics appUcation, wherein each of the second
caring the first data precision level when the corresponding 40
executable instructions indicates a second data precision
application insa-uction specifies the first data precision level
level different from the first data precisio~ level for its
for its execution.
execution, wherein the fi~t precisi0n level comprises a
60. The non-trensitory compoter-readable storage medium
full data precision level; and
of claim ~$, further compri_S_.~_mg instructions for causing the
one or more third executable instructions generated by a
processor to store the one or more compiled instructions in 45
compiler, wherein the one or more third executable
memory for subsequent execution.
insl~uctions, when executed by the progr~.~mablo
61. An apparatus comprising:
streaming processor, supp0~t o_n or more functions of
means for analy~ing a pl~-ali~y Of graphics application
the graphics application, wherein each of the third
insUuctions;
executable instructions converts graphics data from the
for each 8raphics application instruction that specifies a 50
second data precision level to the first data precision
first data precision level for its execution, means for
level wt~n the one or more first executable instru~ons
generating one ormore corresponcling compiled insU-uco
are executed by a progr~mmab!e streaming processor.
fions that each indicate the first data precision level for
68. The n0n-..tr~ms. itory c0mputer-readable data storage
its execution, wherein the first pr~islon level comprises
medium of claim 67, and wherein the second data precision
a furl data pre~-ision level; and
level comprises a half data preciSiOn level.
-means for generating one or more conversion instructions
to convert graphics data from a second, different data
Exhibit A
Page 22
Copy provided by USpTO from the P;RS Image Database on 04/05/20t7
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.66 Page 66 of 177
Exhibit A
Page 23
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.67 Page 67 of 177
Exhibit A
Page 24
PTO- 1683
(Rev. 7-96)
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.68 Page 68 of 177
EXHIBIT B
Exhibit B
Page 25
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.69 Page 69 of 177
By Authority of the
Under Secretary of Commerce for Intellectual Property
and Director of the United States Patent and Trademark Office
R GLOVER
Certifying Officer
Exhibit B
Page 26
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.70 Page 70 of 177
I I IIHIIilIIIim[iHHIIilIImlI|HHII|i|IHH|IIIIIIIHI
............... US008698558B2 "
Exhibit B
eo~y providdd by U.~PTO from the PlRS Image D~tabase on 04/0s/2017 Page 27
Case 3:17-cv-01375-JAH-AGS Document 1 Filed
US 8,698,558 B207/06/17 PageID.71 Page 71 of 177
Page 2
(56) References Cited IEEE, Piseataway, NJ, USA, Sep. 28, 2010, pp. 628.631,
XP031786114.
OTHER PUBLICATIONS Kim D., et al., "High efficiency and wideband envelope tracking
Ctioi, J t al., "A POlar Transmitter With CMOS Programmable power amplifier with sweet spot tracking", Radio Frequency Inte-
Hysteretic-Coatroiled Hybrid Switching Supply Modu!atot for Multi grated Circuits Symposium (RFIC), 2010 IEEE, IEEE, Piscataway,
standard Applications", IEEE Transactions on Microwave Theory NJ, USA, May 23, 2010, pp. 255-258, XP031684103, ISBN: 978-1-
and Techniques, IEEE S~ice Center, PiscatawaY, NJ, .US, V01. 57, 4244-6240-7.
No. 7, JuL 1, 2009, pp. 1675-1686, XP011258456. Li, Y et aL, "~H~..gh Efficiency Wide Bandwidth Power Supplies for
Err!,~ H e~ al., "Basic Considerations and Topol0gie~ of Switched- GSM and EDGE RF Power Amplifiers", Conference Proceedings/
Mode Assisted Linear Power Amplifiers", IEEE Transactions on IEEE InternatiOnal SympOsium on Ckcuits and Systems (ISCAS):
Industrial Electronics, IEEE Service Center, Piscataway, NJ, USA, May 23-26, 2005, International Conference Center, Kobe, Japan,
vol. 44, No. I, Feb. i, 199"/, XP011023224. IEEE Service Cent~, Pis~ataway, NJ, May 23, 2005, pp. 1314-1317,
Intemat_ional Search Report and Written Opinion~PCT/US2012/ XPO10815779.
043915--ISA/EPO--Now 26, 2012. Pafdal International Search Report--PCT/US2012/O43915~--Inter-
Kang D., e~ al., "A Multimode/Multiband Power Amplifier With a national Search Authority E~opean Patent Office Oct. 4, 2012.
Boosted Supply Modulator~, IEEE Ransactions on Microwave Stauth, ZT., et aL, "Optimcrn Bias Calculation for Parallel Hybrid
Theory and Techniques, IEEE Service Center, Piscataway, NJ, US, Switching-Linear Rcgulators,Applied Power Electronics Confer-
vol. 58, No. 10, Oct. 1, 2010, pp. 2598-2608, XP011317521, ISSN: ence, APEC 200-/--Twenty Second Annual IEEE, IEEE, PI, Feb. 1,
0018-9480. 2007, pp. 569-574, XP031085267.
Kang, D et al., "LTE Power Amplifier for envelope tracking polar
wansmitten", Microwave Conference (EUMC), 2010, European, * cited by examiner
Exhibit B
Page 28
Exhibit B
Page 29
Exhibit B
Page 30
Exhibit B
Page 31
FIG,. 4B
FIG.. 4C
Exhibit B
Page 32
Exhibit B
Page 33
Exhibit B
Page 34
copy provided ,by USPTO f~om the PIRS Image Database on 04/05/2017
US 8,698,558
Case 3:17-cv-01375-JAH-AGS Document 1 FiledB207/06/17 PageID.78 Page 78 of 177
1 2
LOW-VOLTAGE POWER-EFFICIENT switching signal to charge and discharge an inductor provid-
ENVELOPE TRACKER ing a supply current. The switchermay add an offset to the
input current to generate a.!arger supply current than without
BACKGROUND the offset. The apparatus may further include an envelope
amplifier, a boost converter, and a power amplifier, which
I. Field may operate as described above.
The present disclosure relates generally to electronics, and Various aspects and features of the disclosure are described
more specifically to techniques for generating a power supply in further detail below.
for an amplifier and/or other circuits.
II. Background BRIEF DESCRIPTION OF THE DRAWINGS
In a c6mmunication system, a transmitter may process
(e,g., encode and modulate) data to generate output.samples. FIG: 1 shows a block diagram of a wireless communication
The transmitter may further condition (e,g., convert to analog, device.
filter, frequency upconvert, and amplify) the output samples FIGS. 2A, 2B and 2C show diagrams of operating a power
to generate an output radio frequency (RF) signal. The trans- 15 amplifier based on a battery vo!mge, an average power
mi~ter may then transmit the output RF signal via a commu- tracker, and an envelope tracker, respectively.
nication channel to a receiver. The receiver may receive the FIG. 3 shows a schematic diagram of a switcher and an
trausmitted RF signal andpeXform the complementary pro- envelope amplifier.
cessing oh the received RF signal to recover the transmitted FIGS, 4A, 4B and 4C show plot~ of PA supply current and
data. 20 inductor current versus time for differentsupply voltages for
The transmitter typically in hides a power amplifier (PA) the switcher and the envelope amplifier.
to provide high transmit power for the output RF signal. The FiG. 5 shows a schematic diagram of a switcher with offset
power amplifier should be able to provide high output power in a cu~mut sensing path. ~-
and have high power-added efficiency (PAE). Furthermore, FIG. 6 shows a schematic diagram of a boost converter.
the power amplifier may be required to have good perfor- 25
manee and high PAE even with a low battery voltage. DETAILED DESCRIPTION
Switcher 160b operates as follows. Summer 328 receives where Duty_Cycie is the duty cycle in which NMOS transis:
the Isen current from current sensor 164, adds an offset cur- tor 614 is turned on. The duty cycle may be selected to obtain
rent, and proVides a sammed current that is lower than the the desired Vboost voltage and to ensure proper operation of
Isen current by the offset current. The remaining circuits boost converter 180.
within switcher 160b operate as described above for s~ccitchor 10 The techniques desCribed herein enable an envelope
160a in FIG. 3. Summer 328 intentionally reduces the Isen tracker to operate at a lower battery voltage (e.g., 2~5V or
current provided to erarent sense amplifier 330, so that lower). The envelope tracker includes switcher 160 and enve-
switcher 160 is turned On ford longer time period and can lope ampiifier 170 for the design shown in FIG. 1. In one
provide a larger lind current, which is part of the Ipa current design of supporting operation with a lower battery Voltage,
provided to power amplifier 130. The offset provided to sum- 15 as shown in FIG. 3, switcher 160 is connected tO the Vbat
mer 328 determines the amount by which the lind current is voltage and envelope amplifier 170 is connected to either the
increased by switcher 160b relative to the lind current pro- Vbat voltage or the Vboost voltage, switcher 160 provides
vided by switcher !60a in FIG. 3. power most of the time, and envelope a~mplifier 170 provides
power during peaks in the envelope of the RFout signa!. The
In general, a progress_ivaly larger offset may be used to
20 overall efficiency of the envelope traekex is reduced by the
generate a pro.gr~ssively larger inductor cuxrent than without efficiency of boost converter 180 (Which may be approxi-
the offset. In one d~sign, ~e offset may be a _fixed value mately 85%) only ~dm-i~"ng the time i~ which envelope ampli-
selected to provide good ~efformaoce, e.g., good efficiency. tier 170 provides power. --
In another design, the offset may be determined based on the In another design of supporting operation with a lower
battery voltage. For example, a progressively larger offset 25 battery voltage, the entire envelope Wacker iS operated based
may be used for a progressively lower battery voltage. The on the Vboost voltage from boo~t converter 180. In this
offset may also be determined based on the envelope signal design, boost converter 180 provides high current recluired by
and/or other information, power amplifier 130 (which may be more than one Ampere),
An offset, to increase the inductor, current may be added via and efficienCy is reduced by the efficiency ofbeost conv~xter
summer 328, as shown in FiG. $. An offset may also be added 30 180 (whic_h may be approximately 85%).
In yet another design of supporting operation with a lower
by increasing the pulse width of an output signal fromcurrent
battery voltage, a field effect transistor (FET) switchis usedto
sense amplifier Via any ~uitable mechanism.
connect the envelope tracker to (i) the Vbat Voltage when the
FIG. 4C shows plots of the PA Supply current (Ipa) and the Vbat voltage is greater than a Vthresh voltage or (ii) the
inductor current (lind) versus time for a ease in which 35 Xboost voltage when theVbat voltage is less than the Vthresh
switcher 160b in FIG. 5 has a supply voltage of 2.3V and voltage. Efficiency would then be reduced by losses in the
envelope amplifier 170a has a supply voltage of 3.7V. The FET switch. However, better efficiency may be obtained for
Iind current is shown by a plot 414, and the Ipa current is envelope amplifier 170 due to a lower input voltage.
shoWn by plot 420. When the supply voltage of switcher 160b In one exemplary design, an apparatus (e.g., an integrated
is reduced to 2:3V, inductor 162 charges more slowly, which 40 circuit, a Wireless device, a circUit module, etC.) may com-
results in a lower lind current as shown in FIG. 4B. The offset prise an envelope amplifier and a boost converter, e.g., as
added by summer .328 in FIG. 5 reduces the seined current shown in FIGS. 1 and 3. The boost converter may receive a
provided to current sense amplifier 330 andresults in switcher first supply voltage and generate a boosted supply voltage
160b being turned On l(mger. Hence, switcher ..... 160b with having a higher voltage than the first supply voltage. The first
offset in FIG. 5 can provide a higher lind current than ~5 supply voltage may be a battery voltage, a line,in VOltage, or
switcher 160a without offset in FIG. 3. The overal! efficiency some other voltage available to the apparatus. The envelope
amplifier may receive an envelope signal and the boosted
for switcher 160b and envelope amplifier 170a is improved to
supply voltage and may generate a second supply voltage
approximately 78% in one exemplmy design.
(e;g., theVpa voltage in FIG. 3) based on the e~av~lope signal
FIG. 6 shows a schematic diagram of a design of boost 50 and the boosted supply voltage. The apparatus may further
converter 180 in FIGS, 1, 3 and 5. Within boost converter 180, comprise a power amplifier, which may operat.e based on the
an inductor 612 has one end receiving the Vbat voltage and second supply voltage from the envelope amplifier: The
the other end coupled to node D. An NMOS transistor 614 has power amplifier may receive and amplify an input RF si~nal
its souroe coupled to circuit ground, its gate receiving a Cb and provide an output 1~ sig~.
cuntml signal, and its drain coupled to node D. A diode 616 5~ In one design, the envelope amplifier may further receive
tins its anode coupled to node D and its cathode coupled to the the first supply voltage and may generme the second supply
output of boost converter 180. A capacitor 618 has one end voltage based on the first supply voltage orthe boosted supply
coupled to ckeuit ground and the other end coupled to the voltage. For example, the envelope amplifier may generate
oUtpUt ofhoost converter 180. the second supply voltage (i) based on the boosted supply
Boost converter 180 operates as follows. In an On state, 6o voltage if the enveiope signal exceeds a first threshold, orif
NMOS transistor 614 is Closed, inductor 612 is coupled the first supply voltage is below a second threshold, or both or
between the Vbat voltage and cirtmit ground, and the current (ii) based on the ILrst supply voltage otherwise.
via inductor 612 increases. In an Off state, NMOS transistor In one design, the envelope amplifier may include ~ op-
6!4 is opened, and the current from inductor 612 flows via amp, a driver, a PMOS transistor, and an NMOS transistor,
diode 616 to capacitor 618 and a load at the output ofboost 65 e.g., op-amp 310, driver .312, PMOS transistor 314, and
converte~ 180 (not shown in FIG. 6). The Vbeost voltage may NMOS transistor 316 in FIG. 3. The op-amp may receive the
be expressed as: eavelope signal and provide an amplified signal The driver.
Exhibit B
Page 38
Exhibit B
Page 41
Exhibit B
Page 42
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.86 Page 86 of 177
Exhibit B
Page 43
PTO- 1683
(Rev. 7-96)
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.87 Page 87 of 177
EXHIBIT C
Exhibit C
Page 44
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.88 Page 88 of 177
By Authority of the
Under Secretary of Commerce for Intellectual Property
and Director of the United States Patent and Trademark
T. LAWRENCE
Certifying Officer
Exhibit C
Page 45
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.89 Page 89 of 177
I IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIlillll
US00848765$B2
L2 a
vss
304 _ ~x~02
Bit2 306~
VSS ~
Exhibit C
C6py pt6vided by USPTO from the PIRS Image Database on 04105/2017 Page 46
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.90 Page 90 of 177
VSS
106
Vddin
vdd
N-well N-well
rI 0.8u ~ = 0.8u
VSS
FIG. 1
Exhibit C
Page 47
Copy provided by USPTO from the PIRS Image Database:on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.91 Page 91 of 177
VSS
FIG. 2
Exhibit C
Page 48
Copy provided by USPTO from the PlR$ Image Database on 04/0512017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.92 Page 92 of 177
L2 ~-
vss VSS
2
~~ it 2V~,
a~306
Bit 2 306~,
v$$ VSS
FIG. 3A FIG. 3B
Exhibit C
copy provided by USPTO from the PIRS In~ag-e Database On 04/05/2017
Page 49
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.93 Page 93 of 177
Exhibit C
Copy provided by USPTO from the PIRS Iniagb D~itaba~e oh 04/05/2017
Page 50
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.94 Page 94 of 177
Exhibit C
Copy provided by USPTO from the PIRS Image Datable On 04/05/2017 Page 51
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.95 Page 95 of 177
US 8,487,658 B2
2
COMPACT AND ROBUST LEVEL SHIFTER N-well opposite the first N,well; a first one-bit VLS circuit
LAYOUT DESIGN having a portion formed on the first N-well and a portion
formed on the second N-wall; and a second bit VLS Circuit
HELD OF DISCLOSURE having a portion formed on the ~rst N-well a~l a p6rtion
5 formed on the third N-well.
The field of invention relates to a semiconductor device and Another embodiment can include a four-bit multi-voltage
methods of m~mlfacturing a semiconductor device..h~ndling a circuit to shiit each of four bits ~om a first voltage le~ei logic
plurality of voltage, specifically multi-voltage circuits for to a second voltage level logic~ compfising~ a fi~st N-well
shifting the Voltage level between voltage domains. formed in a Subslzate; a second N-wall formed in the s~b-
~0 strata, adjacent to a side ofthe first N-well; a third N~well
BACKGROUND formed in the substrate, adjacent tO a side of the first N-well;
a first one-bit VLS circuit having a portion formed on the first
Integrated circuit devices ontaining several types of func-
N-well and a potion formed the second N-well; a second bit
ti0na] ~t are sometimes:requix~!, to handle a plurality of
VLS ch~zit having a portion formed on the first N-_well and a
voltage levels. Such devices are often known as multi.voltage 15
portion formed on the second N-well~ a third one-bit VLS
level deciCeS. Multi-voltage level devices contain a high-
voltage circuit driven by a relatively high voltage power sup- circuit having a po~on formed on the first N-wall and a
ply and a low-voltage circuit driven by a relatively low-volt- portion formed the third N,well; and a fourth one-bit VLS
age power supply. Multi-voltage cLrenits include but are not circuit having a po~on formed on the first N-well and a
limited to voltage level shiRers (VLS), isolation cell, reten- 20 portion formed the third N-well.
tion registers, always on logic and similar components. Another embodiment can include a method for redu~
Power consumption of integrated circuits may be reduced die area ~n a two-bit multi-voltage circuit to sh~ft each of two
and efficieneies may be inereased by reducing operating volt- bits from a first voltage level logic to a second voltage level
ages of the integrated circuits. Some circuits are more ~apae- logic, wherein a first N-&eil f0rmed in a substrate, a Second
nable to lower operating voltages than others. Where inte- 2~ N-well formed in the substrate, adjacent to a side of the first
grated circuits ~,ithin a system opiate at lower voltages, N-well, anda third N-well formed in the substrate, adjacent to
conflicts or contention may arise between the circuits. These a side of th~ first N-wall opposite the second N-well, c0m-
conflicts and contention can be alleviated by level shifting the prising! forming .a first one-bit VLS circuit having a portion
operating voltage of part of the circuits to higher voltage. But on the first N-Well and a portion formed on the second N-well;
level shifting may introduce delays. 30 and forming a second bit VLS circuit having a portion on the
Technology scaling redUceS the delay of d-ircuit elements, first N-well and a portion formed on the third N-well.
e-h~-eing the operating f~eqUency of an integrated circuit Another embodiment can include an apparatus for reduc-
(IC) device. The density and number of wansistors on an IC ingdie area in a two-bit multi-voltage circuit to shift each of
are in~re,~sed by scaling the feature size. By utilizing this two bits f~om a first voltage level logic to a second voltage
growing number of available transistors in each new technol- 3~ level logic, wherein a first N-well formed in a substrate, a
ogy, novel Circuit techniques can be employed further second N-well formed in the substrate, adjacent to a side of
enhaneitig the performance of the ICS beyond the levels made the first N-well, and a third N-well formed in the substrate,
possible by simply shrinking. adjacent to a side of the first N,well opposite the second
N-wall, the apparatus comprising: logic configured to form a
SLrMMARY ~0 lust one-bit VLS ci~it having a portion onthe firstN-wdl
and a portion formed on the second N-well; end logic config-
The described feaULreS generally relate to one or more ured to form a second bi~ V!eS ~t having a po~0n_ on th~
improved systems, methods and/or apparatuses for compact fi~t N-well and a portion formed on the third N-well,
~ rob~t level shi~er layOm design. Another embodiment can include an apparatus for reduc-
Further scope of the applicability of the described methcgls ~ ing die area in a two-bit multi-v01tage circuit to shift each of
and apparatuses will become apparent 1~om the following two bits from a first voltage level logic to a second voltage
detailed description, claims, and drawings. The detailed level logic, wherein a first N,well formed in a substrate, a
description and specific examples, While indicating specific second N-well formed in the subsl~ate, adjacent to a side of
examples of the disclosure and elaimg, are given by way of the first N-well, and a third N-well formed in the substrata,
i!lustrafion 0~Y, since vati_0u~ c.hanges and modifications ~0 adjacent to a side of the first N-well opposite the second
within the spirit andscope of the description will become N-well,. th~ apparatus comprising: means for forming, a first
apparent to those skilled in the art. one-bit VLS circuit having a portion on the first N-well and a
Embodiments of the present invention do not rely on par- portion formed on the second N-well~ and means for forming
ticular transistor level circuit implementation of level s_h~ers a second bit VLS circuit ha~mg a po .r[i~on on. the ~ N-we!l
and may be applied to any possible level shifter circuit styles. ~ and a portion formed on the third N-well.
Embodiment of this invention is not limited to 0nly level Another embediment can includu a method for reducing
shifter circuits, and is applicable to any generic multi-voltage die area in a four-bit multi-voltage circuit to shift each of four
circuits layqut design.IEmbodiments of the present invention b~ f~om a first voltage level logic ~ a second voI~ge level
see~k to pr0~,ide a VLS that operate for different voltage levels logic, wherein a first N-well formed in a substrate, a second
and that provides area and power savi~s fdr muiti-bit imple- ~0 N-well fOrmed in the sUbstrate, adjacem to a side of the first
mentation of level shifter d~sign. N-well, a third N-well formed in the subsl~ate, adjacent to a
Accordingiy an embodiment can include a two-bit multi- side of the first N-well, comprising: forming a first one-bit
voltage circuit to shift each of two bits f~om a firs! voltage VLS circuit having a portion ont~ first N-wa!l and a portion
level logic to a second voltage level logic, comprising-, a first formed the second N-well; forming a second bit VLS circui~
N-well formed in a substrate; a second N-well formed in the 6~ hav~ a portion on the first N~well and a portion formed on
snbstrate, adjacent to a side of the first N-Wall; and a third the second N-well; forming a thirdone-bit VLS circuit having
N-well formed in the subsl~ate, adjacent to a side of the first a portion On the first N-well and a portion fom~d the th~
Exhibit C
Copy provided by USPTO Item the PIRS Image Database on 04/05/2017 Page 52
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.96 Page 96 of 177
US 8,487,658 B2
3 4
N,wdl; and forming a fourth one-bit VLS circuit having a purer Rles, stored on a cOmputer reakiable media. These files
portion on the first N-well and a portion formed the third am in turn provided tO fabrication hagdiers who fabricate
N,wdl. devices based on these files. The resulting products are semi-
Another embodiment Can include an apparatus for reduc- condt~etor wafers that are then cut into seanieouduCtor die and
ing die area in a four-bit multi-voltage circuit to shift each of 5 packaged i~to a semiconductor chip. The chips are then
four bits f~m a f~ voltage level 10gic to a second voltage employed in devices described above.
level logic, wherein a first N-well formed in a substrate, a The WOrd "exemplary" is t~sed berein to mean "serving as
second N,well formed in the substrate, adjacent to a side of an example, instance, or illustration? Any embodiment
the fast N-v;,el], a third N-well formed in the substrate, adja- described herein as "exemplary" is not necessari!y to be con-
cent to a side of the first N,well, the apparatus comprising: 10 struec~ _as pref_rred or advantageous over otker embo ".di~_ ~nt~.
logic configured to form a first one-bit vLS circuit having a Likewise, the term ~embodiments of the invention" does not
portion on the first N,well and a portion formed the second require that all embodiments of the invention include the
N,well; logic configured to form a second bit VLS circuit diSCUSSed feature, ad~intage or mode of operation
having a portion On the first N-Well and a portion formed on The terminology used herein is for the purpose of describ-
the second N-well; logic configured to form a third one-bit 15 ing particular embodiments only and is not intended tO be
VLS circuit having a portion on the fast N-well and a portion limiting of embodiments of the invention, As used herein, the
formed the third N-well; and logic configured to form a fourth singular forms "a", "an" and "the" are intended to include the
one-bit VLS circuit having a portion on the first N-wall and a plural forms as well imless the contex~ clearly indicates oth-
portion formed the third N-well. erwise. It will be further understood that the terms "corn-
Another embodiment can include apparatus for reducing 20 prises", "comprising,", "includes" and/or"including", when
die area in a four-bit multi-voltage circuit to shift each 0f four_ used h_rein, specify the presence of stated features, integers,
bits from a first voltage level logic to a second voltage level steps, operations, elements, end/or components, but do not
logic, wherein a first N-well formed in a substrate, a second preclude the pre~ence or addition of one or more other fee-
N-~ll formed in the substrate, adjacent to a side of the first tures, integers, steps, operations, elements, components, and/
N-weil, a third N-well formed in the subsmae, adjacent to a 25 or groups thereof.
side of the first N-wel!, the appa.."~._, comprising:, means for FuA~her, many embodiments are described in terms of
~O_truing a f!~st one-bit VLS circuit having a portion on the first sequences of actions to be performed by, for example, ele-
N,wdl and a portion formed the second N-well; means for taunts ofa cemputing device..It wiLl be recognized that vari-
forming a second bit VLS chruit having a portion on the first ous actions described herein can be performed by specific
N-weLl and a portion formed on the second N-well; means for 30 circuits (e.g., applicati0n spedtiC integrated e~uits
forming a third one-bit VLS circuit having a portion on the (AS~Cs)), by program inslzuctions being executed by one or
_f~st N-well and a portion formed ~e third N-wall; and means more processors, or by a combination of both. Additionally,
for forming a fourth one-bit VLS circuit having a portion on these seqi~nce of actions described herein can be considered
the first N-v;,e11 and a portion formed the third N-v~dl. to be embodied entirely within any. form ofc~mputer readable
35 storage medium having stored therein a conesponding set of
BRIEF DESCRIPTION OF THE DRAWINGS computer instructions that upon execution would cause an
associated processor to perform the functionality described
The accompanying drawings are presented to aid in the herein. Thus, the vafirus aspects of the invention may be
description of embodiments of the invention and are provided embodied in a number of different forms, ag of which have
sol~y for ~l~ustraf!o_n of the embodiments and not limitation 40 been contemplated to be within the scope of the ciaimed
thercof. subject matter. In a..d~fion, for e~eh 0fRte embo "~diment~
FIO. 1 is a conventional 1-bit voltage level sbii~r. described he~dn, the corresponding form of any such
FIG. 2 is a conventional 2-bit voltage level shiner. embodiments maybe described herein as, for example, "logic
FIG. 3A is a 2-bit voltage level shifter according to an oniigtired tO" perform the deScribed action.
embod~nant ofthe~ present invention, 45 The power density ofIC chips is increasing to support more
FIG: 3B isa 2-bit voltage level shifter according to another features and variousoperating mo~s in portable electronic
embod~ent of the present in~ention. devices, especially for deep submicron technology. Deep
FIG. 4 is a 4-bit voltage level shiRer accordin~ to another submieron teehttology uses tlansistorS of nmaller size With
embodiment of the present invention. faster switching rates (e.g., 45 nm and smaller nodes), In the
FIG. ~ illustrates a genedc 1-bit voRage level shifter func- 5o IC chips of a portable dectronic device, such as mobile and
fi0nal circuit, Whose physical design or layout can be imple- cellular, having dynamic supply voltage (V~) and frequency
mented as 1-bit level shifter in any of the embodimentS.. sca~n can be a teChnique for active power (P) reduction due
to square dependence of Voo (i.e., P ct V~). Therefore, IC
DETAILED DESCRIPTION chips employ different voltage domaing for different cirouit
~s blocks. Reasons include optimizing tmde-offs among, for
Aspects of tlm invention are disclosed in the following example, speed, noise tolerance and power consumption to
description and related drawings directed to specific embodi- account for different circuit bloqks having different pri0riti_es.
ments of the invention. Alternate embodiments may be However, decreasing the operational yoltage level of one
devise! without departing from the scope of the invention. circuit in a system can create c0mpatibil!ty protilems wl~re
Additionally, well-lmown dements of the invention WiLl not 6o some other integrated cirettit or other device is designed to
be descnbed in detail or will be omitted so as not to ol)seure operate at predetermined incompatible specific voltage level~
the relevant details of the invention. Embodiments of the or is access~l 0nly Via a hue t!mt operates optimally at a
disclosure may be suitably emp!gyed in anY device which different (e.g,, higher) voltage logic level. For example, some
includes active integrated circuitry inoluding memory and circuits within a chip may operate at low vo.ltage core-logic
on-chip cirvuitry for test and charactaaqzation. S5 level to reduce p0wer consumption and te interface with other
The foregoing disclosed devices and methods are typically chips operating at the same low voltage, while other circuits
designed and are configured into GDSII and GERBER com- in the same chip may operate at higher voltage levels to
Exhibit C
Copy provided by USPTO fr(~m the PIRS Image Database an 04/05/2017 Page 53
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.97 Page 97 of 177
US 8,487,658 B2
5 6
interface with a higher logic voltage chip or bus orto operate VLS cell can employ two stage complementary metal-oxide-
an electro-mechanlcal device. Also, there are many existing semiconductor (CMOS) circuits, with a first stage operating
integrated circuits tha~ cannot have their operating voltage at a first voltage 501, as shown by Vz)z:,in in F~G. ~, and a
altered; yet, newer lower voltage circuits must interface with second stage op~erating at a second voltage 502, as shown by
them. For example, if core logic voltage were reduced from a 5 V~DOut" When their threshold voltages and devicestrengths
nominal 1.2 volts to 0.7V, the logic value represented by 0.7 are properly adjusted, they can pe~_orm voltage level shifting
V would ordlnafly be insufficient to properly drive another as desired. However, the conventional VLS may 0ccupy large
transistor circuit operating from a 1.2 V power supply. The 0.7 layout areas because a first N-well fora CMOS transistor in
V logic input to a 1.2 volt CMOS circuit would cause a the first stage is coupled to a first voltage, while a second
prolonged transitional (i.e., conducting) state potentially i0 N-well for a CMOS tmusistor in the second state is oupled to
resulting in damaging currants inthe CMOS circuits tied to a a second voltage, therefore the first and second N.wells have
1.2 volt supply. The rise, fall, and propagation times of signals to be separated and have to ~n a certain ~stance, which
would be detrimentally affected by the difference between is determined by the technology being used.
core logic voltage and the circuits operating at a hlglXer logic The attached related art FIG. 2 shows a conventional
voltage. Therefore, [o lower the voltage of integrated circuits 15 N-well arrangement for a c0~nvezxtiOhal two,bit Vz~z~, (e.g.~
and to consume less power, while still enabling their interac- 0.7 V) to Vz)z~,~ (e.g., 1.2 V) VLS circuit. The FIG. 2 corn
tion with existing hardware components operating at a differ- ventional two-bit VLS circuit requires five N-wells, namely
ent voltage, some form of Vol~ge level-slxiRing interface one shared Vzx>in N-well 206, a Vz)z)in N-well 202 and a
circuit (e.g., level-shifting buffer circuit) is required. Voz)out N-well 204 for bit 0, and Vz)z)out N-well 208 and
Consequently, many complementary metal oxide semicon- 2o Vz)z~n N-wel~1210 for b~t 1. S_mxllar to FIG. !, this example
ductor (CMOS) integrated circuits require more than one illustrates that a mlnlmtlm spacing between each N,wells
Power supply per chip. For instance, a split rail design is 202, 204, 206, 208 and 210 to be at least 0.8 gin.
utilized wren tbe internal or core-logi voltage, Vzx)in, opi- Because the adjacent N-wells in the FIG. 2 VLS have
ates at a different (e.g., lower) voltage level than the input/ alternating different voltages, d~sign rules require these adja-
output (I/O) interface voltage or output driver voltage, 25 cent N-welJ~ _]~._ve a m~!m..u~n spa..c;ing. The rallied .art. FIG.. 2
Vzx)out. The integrated circuit corevoltage, Vzx>in, applied shows, for example, a minimum spacing of 0.8 pro. Notably,
to a given circuit may be fixed or variable depending on the this
mi~imt~n~ spacing requirumant between VLS adjacent
integrated circuit technology, design fa~tors, and by the per- N-wells does not fully scale with the feature size. For
formance requirements and the power supply and heat dissi- example, if an IC implemented in 65 um technology is scaled
pation characteristics of the chip. 30 down to 32 ~ (i.e,, Sealed down by app~xi~at_91y haft),, the
As a result, a signal traversing from one voltage domain to minimum spacing between adjacent N-Wells of the ICS VLS
another must pass through a multi-voltage circuit or voltage circuits does not likewise scale 15~ half.
level shifter (VLS) cell to maintain its logical value. Mul~ Therefore, due to aOn-shrinkinE latch-up design rules
voltage circuits include but are not limited to VLS, isolation (N-well to N-well spacing) arAd pre~enee of mul~ple Voz~
cell, retention registers, always on 10gic and other similar 35 domains, physical design ofa VLS circuit consumes large die
components. To reduce chip power consumption and increase area. In addition, due to presence of three separate N-wbll
battery life, portable electronic device chip-sets employ a ~ons in aVLS eire~tit, the physical area of le~iel shifter cell
large number of VLS cells. However, this necessitates very does not shrink proportionally (expected area scaling is
compact level shiRers design to limit the die area overhead. -50%) whe!~ technology ngdus get smaller as shown in table
To reduce chip power dissipation, VLS cells need to consume 40 1. Tiffs becomes even more appanmt in 32 nm and smaller
lower static power and keep robust functionally. This requires process node.
reliable operation across wider range of input and output
voltages without consnming extra power. TABLE I
VLS cells are known to convert a signal fi~m one voltage
domain to a signal suitable for another voltage domain_ A 45 A~a scaling of lzvet shif~ layout design ,
conventional VLS cell converts signals between an input
~[o~ ~ Ce~ ~ (sq. ~) ~ ~g ~m p~o~ n~e
domain (e.g., Vz)z~in) audan output domain (e.g., VDz)out). In
addition, a conventional VLS cell can prevent excessive leak- 65 ~ 21.6 ~
age to improve battery life and allow reliable functionality
32 ~ 7.6 6i%
across a wide range of voltage domaln~. Th~ attached related 50
art FiG. 1 shows typical layOUt (Fi~ysical Design) strUcttire of
1-bit (with single input signaJ) VLS cell Which is can be Physical design or ~yout structure of!eve! shiftercircuit
p~laced next to another eel! ofi~pnt voltage domain (Vz~z~in). incurs significant area overhead compared to regular CMOS
The FIG. 1 conventioiml one-bit VLS circuit requires ~ logic. In particular when multiple level shi~r instances are
N-wells, two Vzx~in N-well 102 and 106 and a Vz)oOUt N-well 55 placed together they result in multiple N-well voltage islands
104 for bit 0. This allows cirou~ that work at different .volt- as showninFIG. 2. Larger layout.footprint increases length of
ages to properly interface with each other without additional both the internal and external interconnects length increasing
leakage power. dynamic pOWer as Well as die area. There is no known method
Since the adjacent N-wells in the FIG. 1 VLS have alter- technique to escape from fixed area overhead in the physical
nating differem voltages, design rules require these adjacent 60 design of the level sl~Rer. In 32 um and s_maller ~echnology
N-wel!s have a minimum spacing for correct funedonal nodes the presence of strong layout proximity effects further
operation. For example, as shown in FIG. 1, the m~nimRm increases area overhead of level shifter cells due to presence
spacing between the two N-wells 102 and 104 is 0.8 pro. In of protective laydut sm~Lres.
addition the mlnlmu~ spacing between the other two N-wells Accordingly there is a need for VLS to have a reduced area
104 and 106 is also 0.8 p~ 6s and is cost efficient to fabricate. Embodiments of the present
The attached related art FIG: $ depicts a functional circuit invention seek to provide a VLS that operate for different
diagram of a conventional l-bit VLS layout. A conventional voltage levels and that provides area and power sevings for
Exhibit C
Page 54
c6py- ~io~id~l li~ USPTO from the PIRS Im;ige D~tabaseon 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.98 Page 98 of 177
US 8,487,658 B2
7 8
multi-bit implementation of level shifter design. Embodi- FIG. 3A and FIG. 3B, the 1-bit component layouts are not
ments of the present invention do not rely on particular tran- self-su~cient and cannot be used as compact 1-bit leq~l
sistor level circuit impl~on of level shifters end may shifter layout design. To.~rmmarize the component 1 -bit level
be applied to any possible level shi_~r circuit.styles. Embodi- shifter layouts, from FIG. 3A comprises of Only one N~well
ments of the present invention are not limited to level shifter 5 separation between them and two standard cell row, which
circuits, and are applicable to any generic layout design for has two Vss and one Vz~z~ power ~ail. The Component 1-bit
multi-voltage circuits. The present invention can be e~tended level ,s~er layouts, liom FIG. 3B comprises of two N-well
to any eiroait ~g two or more different voltage domaing separatiom between them and of only one staadard cell row,
and hence multiple N-well islands in the design. which has one Vss and one V~ power rail. In the embodi-
Embodiments oftha present invention relate to a physical ~0 ments ofF~G. 3A and FIG. 3B, there can be a forty percent
design methodology for compact layout of VLS calls in mul-
area savings as compared to two Separate 1-bit cells as
tiple bits. The present invention utilizes the presence of sepa- depicted FIG. 2.
rate voltage N-well ~slands inside a cell. Several key physical
designs are used to improve design robu~tixess and lower the h another embodiment, FIG. 4 illustrates a physical design
pOWer ~sSipatiOn. By reducing the N-well to N-well spacing 15 method ofa 4-bi~VLS. As shown "_m table 2, with the FIG. 4
occurrence, the present invention can allow for a more com- embodimenh there can be a fifty percent area savings as
pact layout of VLS cells in n~ultiple bits. The present inven- compared ~o four separate 1-b~t ~ cel~s as i!lustrated by
tion can allow for improved design robustness and low volt- having two 2-bit VLS, as shown in FIG. 2, si~e-by, side. In
age performance, Which includes better Vz~zgnin. this en~bodim~at, the component 1-bR level ~er layouts
FIGS. 3A and 3B shows two embodiments of the present ~0 are composed of only one N-weB separation between the
invention. These embodiments use area efticient physical N-wells and of only 1 standard col! row, which has one Vss
design for a 2~bit VLS with a pair of input and output signals. and one Vz~z~ power rail per hit. Eagh compon_nt l-bit level
FIGS. 3A and 3B illnst~ate example of large area saving shifter is merged both verticaBy and horizontally together to
Wliieh is achieved by mersd~n~ two identical 1 -bit level shifter
form a design rule checker clean physical design of~ a 4-bit
layouts differently than a conventional 1-bit layout, as iBus- 25 VLS. The l-hi! component layotrt is not design ~le:ehecker
trated in FIG. !, In the embodiments illustrated in FIGS. 3A
clean and cannot be us~! as compact l-bit level shifter layout
and 3B, the 1,bit component layouts are not self-sufficient
design by itself.
and cannot be used solely as a compact l-bit level shifter
layout design. Therefore, the embodiments illustrated in Additional advantages of the embodiment depicted in FIG.
FIGS. 3A and 3B are examples for a 2-bi~VLS, which incl~ade 30 4 are that in a multi-bit design, shared clamp or is61ation
two eombingd component 1-bit level shifter layouts. In FIG. circuitry, if needed can further reduce area and power saving.
3A, the comPonent 1,bit level shifter layouts is composed of Also, symmetrical design and placement of critical devices
one N,well separation between the N-wells and two standard can ensure better design rebustnessand low voltage perfor-
cell row, which has two Vss and one Vz~z~ power rail. In FIG. mance from device variation (e.g., in a VDz~mln point of
3B, the component 1-bit level shifter layouts is composed of 35 view). Smgl.~. ler length ofiuterconnects between different bits
two N-well separations between the N-wells and one standard reduces the capacitive loading and hence the dynamic power
call row, whi ch has one Vssand one Vz~ power rail. As shown dissipation of this embodiment compared to conventional
in table 2, in both embodiments, there can be a forty percent physical design imp~ementntion.
area savings as compared to two separate 1-bit VLS eels as
4o With reference to FIG. 4, the VLS is essentially a super-
illustrated in FIG. 2.
This embodiment, as illustrated at FIG. 3A forms a two-bit posed combination of the FIGS. 3A and 3B embodiments,
VLS ch-~it using three (3) N-wells, instead of the five (5) achieving a four-bit VLS with the same general arrangement
requited inthe conventional anangements shown at FIG. 2. of three N-wells. The FIG. 4 embodiment employs the center
The overall width, L2, is approximately half (1/2) of the L1 N-well 402 for all four One-bit sections of the VLS, i.e.; for
width of the conventional arrangement shown in FIG. 2. The 45 each of the bit 1, bit 2, bit 3 and bit 4 VLS sections, Thleft
FIG. 3A embodiment uses a center N-weB 302, biased at
N-weB 404 is employed for both the bit 1 and bit 2 VLS
Vzn~Ont, and one N-well biased at Vzs~in on either side of the
center N-well 304, namely N-well 304 at the left and N-well sections, similar to theleft N,wel1304 of the FIG. 3B embodi,
30a at the fight. The spacing SP1 between the differently ment being employed for the bit 1 and bit 2 sections of its
biased N-wells 304 and 302 is the same as between the dif- 50 two-bit VLS. Likewise, the right N-well 40a of the FIG. 4
ferentiy biased N-wells 302:and306. TIx spacing SP1 may be embodiment is employed for both the bit 3 and bit 4 VLS
sub~al!y ~ same as the spacing between adjacent sections of its f0~r-bit VLS, similar to the fight N-v~eli ~0a of
N-wells inthe conventional arrangement of the related art
the FIG. 3B embodiment being employed, as described
FIG. 2.
The FIG. 3A embodiment employs the center N-well 302, s5 above, for the bit 1 and bit 2 sections of its two-bit VLS. The
biased a~ Vz~z~OUt, for the Vz~ou.t portion o fboth the bk 1 and spacing SP2 between the differently biased N-wells 402 and
the bit 2 VLS sections ofthe two-bitVLS Circuit. The FIG. 3A 404 may be the same as between the differently biased
embodiment ntplo~,s the left N-weil 304 for Only the bit 1 N-wells 404 and 406, and may be substantially the same as
VLS section, and the fight N-well 30a for only the bit 2 VLS SP1 of the FIGS. 3A and 3B embodiments. The N-wells 402,
section, FIG. 3B shows another embodiment, having the 60 404 and 406 may be somewhat larger in area fl~ithe N-wells
same N-well arrangemen~ as the FIG. 3A embodiment, but
302, 304 and 306 of the FIGS. 3Aand 3B embodiments.
employing all thre N-wells 302,304 and 306 for both the bit
1 VLS section and the bit 2 VLS section. The ovea-all length 1.3 may be approximately twice L2 of
In the embodiments shown in FIG. 3A and FIG. 3B, large the FIGS. 3A and3B embodiments. The FIG. 4 embodiment
area saving is achieved by merging two identical l-bit level 65 may be approximately the same area size as the conventioaal
shitter layouts, as compared !o th, conv~tional 1-bit layout layouI shown in FIG. 2, which is a two-bit VLS comprising of
as depicted in FIG. !. However, the embodiments shown in five N-wells.
Exhibit C
Copy provided by USPTO f~om the PIRS Image Detabase on 04105/2017 Page 55
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.99 Page 99 of 177
US 8,487,658 B2
9 10
T_ABLE 2 Accordingiy, an embodiment of the invention can include a
computer readable media embodying a method for compact
Aa~a savLag with compacZ multi-bit i~.,l shittnr layout methodology and robust voltage level shifters dasign. Acc0ixlingly, th~
in r~cent semiconductor manafacturin~ technologies invention is not limited to illustrated examples and any means
Cell "l~pe 45 nm ar~a ~vin8 32 nm area saving 5 for performing the functionality described herein are
included in embodimeut.s of the invention.
2-bit 40% 45% While the foregoing disclosme shows illustrative embodi-
4-bit 52% 55%
ments ofthe invention, it should be noted that various changes
and modifications could be made herein without departing
The present invention allows for a compact hierarchical 10 from the scope 0fthe invention as defined by the appended
physical design mathodology to improve multi-rail VLS stan- claims. The fimetions, steps and/or actions of the method
dard cell desigt~ The present invention does not rdy on any claims in accordance With the embediments of the invention
particular circuit implementation of level shifter and can be described herein Reed not be performed in a~y particular
applied to all possible level shiRet circuit styles. The present order. Furthermore, although elements of the invention may
invention can consist of stitching together to produce an error 15 be descn-bed or laimed inthe singular, the plural is contem-
free design from sevea~l symmatrical e0mponents in different plated unless limitation to the singular is explicitly Stated.
What is claimed is:
orientation that are not individually self-su~qcient in design.
1. A multi-voltage circuit to shift each of two bits from a
The present invention is not limited to voltage level shifter
fi~t voltage level logic to a second voltage level logic, com-
cells, and can be applied to a number of differenI cell families
20 prising:
that involves multiple N-Well islands. The present invention is
a first N-well formed in a subslrate;
not limited to any particular standard cell architecture and can a second N-well formed in the substrate, adjacent to a side
easily be adapted to different cell architecture and style. The of the first N-well; :
present invention can be scalable to future process technology a third N-well formed in the substrate, adjacent to a side of
nodes with smaller geometries and large~ context sensitivity. 25 the first N~well opposite the second N-~ell;
The present invention can be successfully employed in two a first one-bit Voltage level shift (VLS) circuit having a
different standard cell architecture, such as, but Rot limited to portion formed on the first N-wel! and a portion formed
45 um and 32 um technology nodes. The present invention on the second N-well; and
can demonslrate significant area Ie.g., Over 50%) and power a second one-bit VLS circuit having a portion fomaed on
savings for multi,bit implementation of VLS design tech- 3o the first N-well and a poztion formed on the third N-well;
nologies, including but not limited to 45 nm, 32 um and the first one-bit VLS circuit and the second one-bit VLS
smaller process technologies. circuit to provide a pair of output ~ignais at the first
Those of skill in the art will appreciate that information and N-well.
signals may be represented using any era variety of different 2. The multi:voltage circuit of claim 1, Wherein th~ multi-
technologies and techniques. For example, data, instructions, 35 voitage circuit is a voltage level shifter, an isolation cell, a
commands, ~nformati0n, signals, bits, symbols, and chips that ~et~ition register, or an always on logic componeut integrated
may be referenced throughout the above description may be in at least one semiconductor die.
represented by voltages, cturents, electromagnetic waves, 3. The multi-voltage circuit of claim 1~ Whnr~in there is
magnetic fields or particles, optical fields or particles, Qr any significant die area reduction and sWitchix~ power saving,
combination thereof. 40 due to reduced length ofinterconnects inside cell ant! reduced
Further~ ~ose of skill in the art will appreciate that the length of top level connectiou, as compared t0two separate
various illustrative logical blocks, modules, circuits, and 1-bit conventional multi,voltage circuit cells side-by-side.
algorithm steps described in connection with the embodi- 4. The multi~voltage.circuit of claim 1, Wherein the first,
ments disclosed herein may be implemented ns electronic second and third N,wells are arranged in a row with the first
hardware, computer software, or combinations of both. To 45 N-well at a Center position.
clearly illustrate this interehangeabillty ofhardware and soR- 5. The multi-voltage circuit of C!~..a~n_ !, wherein the first
ware, vari6us illustrative components, blocks, modules, eir- N-well is biased at the.second voltage level, and tbe second
cifits, and steps have been described above generally in terms and third N:wells are biased atthe first Voltage level.
of their functionality. Whether such functionality is imple- 6. The multi-voltage circuit of claim 5, wherein m~ti,
mented as hardware or software depends upon the particular 50 Voltage has One N-well separation betwegn the N-wells and is
application and design constraints imposed on the overall comprising of two standard cell row, Which inclt~les two Vss
system. Skilled artisans may implemem ~e described func- and one Vz)z~ pow~ rail.
tionafity in varying ways for each particular application, but 7. The multi-voltage circuit of claim 1, wherein the first
such implementation decisions should not be intexpreted as N-well is biased at the first voltage level, and the second
causing a departure from the scope of the preseut invention. 55 N-well and third N-well is biased at the second voltage level.
The methods, sequences and/or algorithms described in 8. The multi-voltage circuit of claim 7, wherein multi.-
connection with the embodiments disclosed herein may be voltage has N-well separations batw~en the N-wells and is
embodied directly in hardware, in a software module comprising of one standard cell row, which includes one Vss
e~e~uted by a processor, orin a combination of the two. A and one V~z~ power rail.
software module may reside in RAM memory, flash memory, 60 9. A four-bit multi:V01tage circuit to shift each of four bits
ROM memory, EPROM memory, EEPROM memory, regis- from a first voltage level logic to a second voltage level logic,
ters, hard disk, a removable di.~k; a CD-ROM, or any other compnsmg:
form of storage medium known in the art. An exemplary a first N-well formed in a substrate;
storage medium is coupled to the processor such that the a second N-well formed in the substrate, adjacent to a side
processor can read information from, and write information 65 ofthe first N-well;
to, the storage medium. In the alternative, the storage medium a third N-well formed in the subslrate, adjacent to a side of
may be integral to the processor. the first N-well opposite the second N-well;
Exhibit C
Copy provided by USPTO from the PIRS Image Databasz on 04/05!2017 Page 56
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.100 Page 100 of 177
US 8,487,658 B2
11 12
a first one-bit voltage level shift (VLS) cimuit havi~ a N-weft formed in a subsWata, a second N-weil formed in the
portion formed on the first N-well and a portion formed substrate, adjacent to a side of the first N-weft, and a third
the second N-well; N-well formed in the substrate, adjacent to a side of the first
a second one-bit VLS circuit having a portion formed on N~well opposite the second N-well, the appara!us compris-
the first N-well and a portion formed on the second 5 ing:
N-weft; means for forming a first one-bit Voltage level shift Q/LS)
a third one-hit VLS circuit having a portion formed on the circuit having a portion on the first N-well and a portion
first N-well and a portion formed the third N-well; and formed on the second N-well; and
a fourth one-bit VLS circuit having a portion formed on the m~ans for forming a second one-bit VLS circuit having a
N-well first and a portion formed the third N-wel!. 10 portion on the first N-weil and a portion formed on the
10. The four-bit m~dti-voltage circuit of claim 9, wherein third N-well;
the mu~lf!-voltage circuit is a voltage level shifter, an isolation tl~ first one-bit VLS circuit and the second 0ne-bit VL.S
cell,.a retention register, or an always on logic cumponent. circuit to provide a Pair of outpu! signals at the first
11. The four-bit multi-voltage circuit of claim 9, wherein N-well.
there is more than a fifty percent area reduction and siL~nifi- 15 19. An apparatus for reducing die area in a tw0-bit multi-
cant switching power savings as compared to four separate voltage cir~,uit to shift each of two bits from a first voltage
1-bit multi-voltage circuit cells in a square layout formation. level logic to a second voltage level logic, wherein a firs~
12. The four,bit multi-voltage circuit of claim 9, wherein N-well formed in a snbstrate, a secon_~ N-well .formed in the
the first, second and third N-wells are arranged in a row with sub ~st~ate, adjacent to a side of the first N,weft, and a third
the first N-well at a center position. 20 N-well formed in the snbstrate, adjacent.to a side of the first
13. The four-bit multi-voltage c_~mit of claim 9, wherein N-weli opposite the second N-well, the apparatus compris-
the first N-well is biased at the second voltage level, and tile ing:
second and third N-wells are biased atthe first Voltage level. step for forming a first 0no-bit voltage level shift
14. The f0ur-bit multi-Voltage circuit of claim 9, wherein circuit l~aving a portion on the first N-well and a portion
the first N-weil is biased at the first voltage level, and the 25 formed on the second N-well; and
second and third N-wells are biased at the second Voltage step for forcalng a second one-bit VLS circuit having a
level. portion On the first N-well and a portion formed on the
15. The four-bit multi-voltage Circuit of claim 9, wherein third N-well;
each 1 ~bit level shifter layouts in the multi-voltage circuit is the first one-bit VLS circuit and the second one-bit VLS
composed of only one N-well separation between the N-wells 3o circuit to provide a pair of 0u~ut sil~nals at the first
and of only one standard cell row, which includes oneVss and N-well.
one Vz~z~ powe~ rail per bit. 20.A method for reducing die area, and switching power in
16.Amethod for reducing die area, and switching power in a four-bit multi-voltage circuit to shift each of four bits from
a two-bit multi-V01tage Circuit to shift each of two bits from a a first voltage level logic to a second voltage level logic,
first voltage level logic to a second vol~ge level logic, 35 wherein a first N-well formedin a s~bstrate, a second N-well
wherein afirst N-well formed in a substrate, a second N-well formed in the gflbstrate, adjacent to a side of the first N-well,
formed in tha substrate, adjacent to a side of the first N-well, a third N-well formed in the substrate, adjacent to a side of the
and a third N-well formed in the S~bstrate, adjacent.to a side first N-weft, Comprising:
of the first N-Well Opposite the second N-wall, comprising: forming a first one-bit voltage level shiit (VLS) circuit
forming a first one-bit voltage level shift (VLS) circuit 40 having a portion on tha first N-~ell and a p0rtion formed
having a portion on the first N-well and a portion formed the secoi~td N-weil;
on the second N-well; and formin~ a second one-bit VLS circuit having a portion on
forming a second on,-bit VLS cixeuit having a portion on the first N-welJ and a portion formed on the second
the first N-well and a portion formed on the third N-well; N-well;
the first one-bit VLS circuit and ~ second one-bit VLS 45 forming a third one-bit VLS circuit having a portion on the
chmait to provide a pair of output signals at the first first N-well and a portion formed the third N-well; and
N-weft. forming a fourth one-bit VLS cironlt having a portion on
17. An apparatus for reducing die area, and switching the first N-well and a portion formed the third N-well.
power in a two-bit multi-voltage circuit to shift each of two 21. An apparatus for reducing die area, and s~tchinE
bits from a first voltage l~.~vel logic to a second voltage level so powex in a four-bit multl-voltage cir(Uit to shi~ each of four
logic, wherein a first N-well formed in a substrate, a second bits from a first voltage level logic !o a second volt~ge level
N-well formed in the subslrate, adjacent to a side of the first logic, wherein a first N,well formed in a subswat~, a second
N-well, and a third N-weft formed in the substrate~ adjacent to N-well formed in the substrate, adjacent to a side of the first
~ side of the first N-well opposite tt~ second N-well, the N-Well, a third N-well formed in the substra~e, adjacent to a
apparatus comprising: 55 side of the first N-well, the app.aratus cqmprising:
logic confi$ured to form a first one-bit voltage level shift logic configured to form a first one-bit Volt;age level shift
(VLS) circuit having a portion on the first N-well and a (VLS) cir~it ha~ a portion On the first N-weft and a
portion formed on the second N,well; and portion formed the second N-well;
logic confi~ared to form a second one-bit VLS circuit logic configured to form a second one-bit VLS circuit
having a portion on the first N-well and a portion formed having a portion on the first N-well and a portion fOrmed
on the third N-well; on the second N-well;
the first one-bit VLS circuit and the second one-bit VLS logic configured to form a third one-bit VLS circuit having
cirenlt to provide a pair of 0htpat signals at the first a pOrtiOn on the first N-well and a portion formed the
N-well. third N-well; and
18. An apparatus for reducing die a~a in a two-bit multi- logic configured to form a fourth 0no-bit VLS cLr~uit hav-
voltage circuit to shift each of two bits from a first voltage ing a portion on the first N-weft and a portion formed the
level logic to a second voltage level logic, wherein a third N-well.
Exhibit C
Copy pr0videdby USPTO ~rom thePIRS ImagbDatabase 6n 04/05/2017 Page 57
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.101 Page 101 of 177
US 8,487,658 B2
14
22. An apparatus for reducing die area, and switching 23. An apparatus for reducing die area, and switching
power in a four-bit multi-voltage cirouit to shift each of four power in a four-bit multi-vo!~age circuit to sbi~ each of four
bits from a first voltage level logic to a second voltage level bits from a first voltage levd logic to a second voltage level
logic, w.herein a first N-well formed in a substtate, a second
logic, wherein a first N-well formed in a substrate, a second
N-well formed in the substmte, adjacent to a side oftha first 5 N-well formed in the substrate, ~djaeent to a side.of tlae first
N-well, a third N-well formed in the substrate, adjacent to a
N-well, a third N-well formed in the substrate, adjacent to a side of the first N,weli, the apparatus e0mprising:
Side of the first N-well, the apparatus comprising: step for forming a first one-bit voltage level shift (VLS)
means for forming a first one-bit Voltage level shift (VLS) circuit ha~ing a portioh on the fLrst N-weil and a portion
circuit having a portion on the first N-well and a portion formed the second N-well;
formed the second N-well; 10 step for forming a second one-bit VLS c~t havfiag a
means for forming a second one-bit VLS circuit having a portion On the first N-weil and a portion formed on the
portion cm the first N-well and a portion formed on the second N-well;
second N-wel!; step for forming a third one-bit VLS circuit having a por-
means for forming a third one-bit VLS circuit having a 15 tion on the first N-wall and a portion formed the third
N-well; and
portion on the first N-well and a portion formed the third
N-well; and .step for forming a fourth one-bit VLS circuit having a
means for f0._rming a fourth ~ne-bit VLS circuit having a portion on the ~st N-well and a portion fo~med the third
portion on the first N-we!l and a portion formed the third N-well?
N-well.
Exhibit C
Cop~~rb~idedb~ USPTO from the PIRS Image Database on 04/0-5/2017 Page 58
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.102 Page 102 of 177
Exhibit C
Page 59
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.103 Page 103 of 177
Exhibit C
Page 60
PTO- ! 683
(Rev. 7-96)
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.104 Page 104 of 177
EXHIBIT D
Exhibit D
Page 61
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.105 Page 105 of 177
U 7629935
By Authority of the
Under Secretary of Commerce for Intellectual Property
and Director of the United States Patent and Trademark
T. LAWRENCE
Certifying Officer
Exhibit D
Page 62
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.106 Page 106 of 177
Exhibit D
Copy provided by usPTo tr6m the PIRS Imago Database on 04/05~017 Page 63
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.107 Page 107 of 177
US 8,838,949 B2
Page 2
Exhibit D
Page 64
Copy provided by US PTO from the PIRS Image Database on 04/05~2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.108 Page 108 of 177
Exhibit D
Copy providedby USPTO from the PIRS Image Database on 04/05/2017
Page 65
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.109 Page 109 of 177
Exhibit D
by USPTO ~rom the PIRS Database on 04/05/2017
Page 66
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.110 Page 110 of 177
Segment I
307
System M~o~y ~
Dam
Segment 4
Header
"~
Non-volatile
IV~mory
Header
Data 303
Data
Segment 2
Data .
Segment 3
M302
Data
Segment 4
Data
Segment 5
M301
FIG. 3
Exhibit D
Page 67
Copy provi~i~l by USPTO-~rom t~e PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.111 Page 111 of 177
(-402
I
software image for secondary processor
that is stored, in memory coupled to the
pnmary processor
(-404
Process image header to determine at least one
location w~in system memory to which the,
secondary processor is co.uplec] to store the at
least one data segment
(-406
(-408
ILoad the at least one data segment directly to the
Idetermined at least one location within the system
memory
FIG. 4
Exhibit D
...... Cop~ I~l;~id~db~ USPTOh~n~ tho PIing Image Database on 04/05/~017
Page 68
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.112 Page 112 of 177
500
540 550
/~540
!
525B
I 590
580
520 .......
597.t :
530
,~580
525A
525C
RG. 5
Exhibit D
Page 69
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.113 Page 113 of 177
US 8~838,949 B2
1 2
DIRECT SCATTER LOADING OF In some multi-processor systems, software may be
EXECUTABLE SOFTWARE IMAGE FROMA required to be loaded to One processor from another proces-
PRIMARY PROCESSOR TO ONE OR MORE. sor. For example, suppose a first processor in a multi-proces-
SECONDARY PROCESSOR IN A sor system is responsible for storing to its nOn-Volatile
MULTI-PROCESSOR SYSTEM 5 memory boot code for one or more other processors in the
system; wherein upon power-up the f!~St processor is tasked
CROSS REFERENCE TO RELATED with loading the respective boot code to.the other process,
APPLICATIONS Or(s), as opposed to such boot code residing in non-volatile
memory of the other processor(s). In this type of system, the
This application claims the benefit of U.S. prbviSional software (e.g., boot image) is downloaded from the first pro-
patent application No. 61/316,3.69 filed Mar. 22, 2010, in the cessor to the other processor(s) (e.g., to volatile memory of
names ofMALA_MANT et al., U.S. pro~,isional patent appli- the other processOr(s)), and thereafter the receiving process-
or(s) boots with the downloaded image.
cation No. 61/324,035 filed Apr. 14, 2010, in the names of
Often, the software image to be loaded is a binary multi-
GUPTA et al., U.S. provisional patent application No.
segmented image. For instance, the sol,are image may
61/324,122 filedApr. 14, 2010, inthe names ofGUPTA et al.,
inehide a header followed by multiple segments of code,
and U.S. provisional patent application No. 61/325,519 filed When software images are loaded, from an external device
Apr. 19, 2010, iia the names of GUPTA et al., the disclosures (e.g., from another processor) onto a target device (e.~z., a
of which are expressly incorporated herein by reference in larger processor) there may be an intermediate step where the
their entireties. 20 binary mnlti-segme~ed image is transferred into the system
memory and then later ttansferred into target locations by the
TECHNICAL FIELD boot loader.
In a system in Which the suftWare image is loaded onto a
The following description relates generally to multi-pro- target "secondary" processor :l~m a first "ptima~" proces-
cessor systems, and more specifically to mnlti-processor sys- 25 sor, one way of performing inch loading is to allocate a
terns in which a primary proe~ssoris coupled to a non-v01atile temporary buffer into which each packet is received, and each
memory stoi-ing execrable software image(s) of one or more packet would have an associated packet header information
other processors (referred to herein as "secondary" proces- along with the payload. The payload in this ease would be the
sors) system which are each coupled to a dedicated volatile actual image data. From the temporary buffer, some of the
memory, wherein the executable software images are effi- 30 processing may be done over the payload, and then the pay-
ciently communicated from the primary processor to the sec- load would get copied over to the f:mal destination_, The tem-
ondary proceSsor(s) in a ~eg~ented format (e.g., using a porary buffer would be some place in system memory, sneh as
direct scatter load process). m internal random-access-memory (RAM) or double data
rate (DDR) memory, for example.
BACKGROUND 35 THUS, where an intermediate buffer is used, the data being
downloaded from a primary processor to a secondary proces-
Processors execute softwa~ code to pe4"fqrm operations. sor is copied into the intermediate buffer. In this way, the
Processors may require some software code, commonly buffer is used to receive part of the image data from the
referred to as boot code, to be executed for hooting up. In a primary processor, and from the buffer the image data may be
mnlti-processor system, each processor may require respec- ~o scattered into the memory (e.g., volatile memory) of the see-
tive boot code for booting up.As an example, in a smartphone ondary processor.
device that includes an .application processor and a modem The primary processor and its non-volatile memory that
processor, each of the processors may have respective boot stores the boot image for a secondary processor may be
code for boOting up. implemented on a different chip than a chip on which the
A problem exists on a si_~m;Rcant number of devices (such ,~5 secondary processor is implemented. Thus; in order to trans-
as smart phones) that incorporate multiple processors (e.g., a fer the data from the primary processors nowvolatile
standalone application processor chip integrated with a sepa, memory to the secondary processor (e.g., to the secondary
rate modem processor chip)..A flash/non-volatile memory processors volatile memory), a packet-based oommunlca-
coml~nent may be used for each of the processors, because tion may be employed, wherein a packet header is included in
each processor has non-volatile memory (e.g., Imrsistent stor- 5o each packet commanleated to the Secondary processor. The
age) of executable images and file systems. For instance, a packets are stored in an intermediate buffer, and some pro-
processors boot code may be stored to the processors eessing of the received packets is tl~en required for that data to
respective non-volatile memory (e.g., Flash memory, read- be stored where it needs to go (e.g., within the secondary
only memory (ROM), etc.), and upon power-up the boot code proceSsors volatile memory).
software is loaded for execution by the processor from its 55
respective non-volatile memory. Thus, in this type of amhi- SUMMARY
rectum the executable software, such as a processors boot
code, is not required to be loaded to the processor A multi-processor system is offered.~The system includes a
another processor in the system. secondary processor having a system memory and a hardware
Adding dedicated non-voLat~e memory to each processor~ 60 buffer for receiving at a least a portion of an executable
however, occupies more circuit board space, thereby increas- software image. The secondary processor includes a scatter
ing the eimUit board size. Some designs may use a combined loader controller for loading the execulable software image
chip for RandomAccess Memory (RAM) and Flash memory dir~ctiy fri3m the har~iWare lmffer to the system memory. The
(where RAM and Flash devices are stacked as one package to sysmm also includes a primary processor coupled with a
reduce size) to reduce board size. While mnlti-ehip package s~ memory. The memory stores the executable software image
solutions do reduce the needed circuit board foot print to for the secondary processor. The system further includes an
some extent, it may increase costs. interface communicatively coupling the primary processor
Exhibit D
Copy provided by USPTO from the PIRS Image Databa~se on 04/05/2017
Page 70
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.114 Page 114 of 177
US 8,838,949 B2
4
and the secondary processor via which the executable soft- BRIEF DESCRJP~ON OF THE DRAWINGS
ware imago is recdved by t~ secondary processor.
A method is also offered. The method includes receivi~ at For a more complete unde~tanding of the present teach=
a secondary processor, from a prlm~iy processor via an inter- ings, reference is now made to the following description taken
chip communication bus, an maage header for an executable 5 in conjunction with the accompanying ~gs.
software image for the secondary pro~e~sor tl~ is stored in FIG. 1 is an illustration of an exemplary device Within
memory coupled to the primary processor. The executable which aspects of the present disclosure ma~, be implemented.
software image includes the image header and at least one FIG. 2 is an illustration of an exemplary device within
data segment. The method also includes processing, by the which aspects of the present disclosure may be implemented.
secondary pmcessqr~ the image header to determine.at least ~0 FI~. ~ is an illustration of an operational flow for an e~em-
one location within system m_emory to which the secondary plary loading process for loading an executable image from a
processor is coupled to store theat least one data segment. primary processor to a secondaiy processor according to one
The method also includes receiving at the secondary proces- aspect oft.he present disclosure.
sor, from the primary processor via the inter-chip communi- FIG. 4 is a flowchart illustrating a scatter loading method
c~qn bns, the at [east one data segment. Still further, the is according to one aspect of the present disclosure.
method includes loading, by the secondary PmCesso.r~ the at FIG, $ is a blocl~ diagram showing an exemplary wireless
least one data segment directly to the determined at least one communication system in Wl~ch an embodiment 6f.the dis-
location within the system memo~y. closure may be advantageously employed.
A~ apparatus is offered. The apparatus includes means for
receiving at a secondary processor, from a primary processor 2O DETAILED DESCRIPTION
via an inter-chip communication bus, an image header for an
executable:sol,ware image for the secondary processor that is The word "exemplary" i~ used h~.m- t9 mean "serving as
stored in memory coupled to the primary processor. The an example, instance, or illustration." .~y aspec~ described
executable snfiware image includes the image header and at herein as "exemplary" is not nccessarily to be construed.as
least q_ne da~ segment. The _apparatus also includes means for 2~ preferred or advantageous over other aspects.
processing, by the secondary processor, the image header to Certain aspects disclosed herein qoncem multi-processor
determine at least one location witl~ system memory to systems where one primary processor is connected m ~ non-
which the secondary processor is coupled to store the at least volatile memory storing executable images of one or more
One data segment. The apparatus further includes means for other processors (referred to lmrein as "sec0nda~" proces-
receiving at the secondary processor, from ~e primary pro- s0 sors) in the system. In such a multi-processor system each of
cessor via the inter-chip communication bus, the at least one the secondary processors.may be connected to a dedicated
data segment. Still robber, the apparatus includes means for volatile memory t[sed for storing executable images, run-time
loading, by the secondary processor, the at least one data data, and optionally a file system mirror.
segment drecfly to the determinedat least one location within Executable images are oRen stored in a segmented fommt
the system memory. ~s where eack segment can be loaded into a different memory
A multi-processor system is offered. The system includes a ~gi0m Target memory locations of execu~ble segments may
pfimaxy processor c6upled With a first non-volatile memory. or may not be contiguous With respect to eachother. One
The first non-volatile memory is coupled exclusively to the example of a multi-segmented image format is Executable
primary processor and s~0res a file system for the primary and l.lnldng Format (ELF) which allows an executable image
processor and executable images for the pr~vry processor ~o to be broken into multiple segments and each one of these
and secondary processor. The system also includes~a second- segments may be loaded into different system_ momory lo~a-
ary processor coupled With a second U0n-~,blatile memory. tious.
The second non-volatile memory is coupled exclusively to In one exemplary aspect a direct scatte~ load technique is
the secondary processor and stores configuration parameters disclosed for loading a segmented image from a primary
and file system for the secondary processor..The system far- 4s proc~ssors non-volatile memory to a secondary processors
thor includes an int~face communicatively coupfing the pri- volatile memory. As discussed fuxther below~ the direct scat-
mary processor and the secondary processor via which an t~r load techaiqne avoids use of a temporary buffer. For
ex.ec!.ga___ble software image is recei,~ed by the secondary pro- instance, in one aspect, rather than employing a pack,t-based
Cessor. communica~on in which the image is communicated via
A multi-processor system is offered. The system includes a so packets that each include a respective ~h~ad~r, the raw ~age
primary processor coupled With a first non-volatile memory. data is loaded from_ the primary pmcesmr to the secondary
The first nomvolatile memory i~ coupled exclusively to the processor. In another aspect, headers are used which include
primary processor and stores executable images and file sys- information used to determine the t#rget location information
tem~ for the primary and sec6ndai7 processors. The system for the data.
also includes a secondary processor. The system further ss Exemplary Multi-Processor Architecture With Centralized
inclndes.an~iuterface communicatively coupling the primmy Non-Volatile Memory--With Reduced Localized Non-Vola-
processor and the secondary processor via which an execut- tile Memory for File System
able software image ~s received 1~" the seconaary processor~ FIG. 1 illustrates a block diagram of a first multi,processor
A method is offe~l. The method.includes sending, from a architecture 102 in which a primary processor (application
memory coupled to a primary processor~ an executable ~0 processor 104) hosts a p~mary (large) nonvolatile memory
ware image for a secondary processor. The executable soR- 106 (e.g.~ NAND flash memory) wkile a second processor
Ware image is sent via an interface communicatively coupling (e.g., modem processor 1~10) has a seconc[ary (red~ced or
the primary processor and secondary proi:ess0r. The method minimal) non-volatile memory 114 (e.g., NOR flash
also includes receiving, at the secondary processor, the memory).
executable software image. The method further includes ss In the communication device architecture 1021 the appli-
executing, at the sgcondary processor, the executable soil- cation processor 104 is coupled to a primary non-volatile
ware image. memory 106 and an application processor volatile memory
Exhibit D
Page 71
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.115 Page 115 of 177
US 8,838,949 B2
5 6
108 (e,g~ random access, memory). The modem processor from the primary processor 204. The primary processor 204
110 is coupled to a secondary non-v01atile memory 114 and a then retrieves the requested modem-executable image 214
modem processor volatile memory 112. An inter-proeessor and/or modem file system 220 from the non-volatile memory
communication bus 134 a~lows communications between the 206 and provides it to the secondary processor 2_10 vi~ an
application processor 104 and the modem proc~sor 110. ~ interrprocessur communication bus 234.
A modem executable image 120 for the modem processor In th~s architecture 202, the application processor 204 is
110 may be stored in the application processor (AP) non- coupled to the non-volatile memory 206 and an applicatitn
volatile memory 106 together with the AP executable image processor volatile memory 208 (e~gi, random access
118 and the AP file system 1.16. The application processor memory). The modem processor 210 is coupled toa modem
104 may load its AP executable image 118 int~ the applica- I0 processor volatile memory 212 but does not have its own
tion processor Volatile memory 108 and store it-as AP e~eeut- non-volatile memory. The modem processor volatile memory
able image 122. The application processor volatile memory 212 stores a file system mirror 228, a modem executable
108 may also serve to store AP run-time data 124. image 236, and modem run-time data230. The inter-proces-
The modem processor 110 has the dedicated seCOndary sor communication bus 231 allows communicati0~ns betwee~
reduced or m;n~m!l) non-volati!e m_e~n..0ry 114 (e.g, NOR is the application processor.204 and modem processor 210.
flash) fo~ its file system 128 storage, This secondary (reduced All the executable images 214 and file syste~ 220 for the
or minimal) nOn-v01atile memory 114 is smaller and lower modem processor 210 may be stored in the non-volatile
costtb!n a flash device capable of storing both the run-time memory 206 together with the AP executable image 218 and
modem executable ~m~ges 120 and the file system 128. the AP file.syStem 216. The application processor 204
Upon system power-~p, the modem processor 110 2o load itsAP executable image 218 into the application proces-
executes its primary boot loader (PBL) from the hardware sor volatile memory 208 and store it as AP executable imag~
boot ROM 126 (si!!!! read-only 0n-chip memory). The 222, The application processor volatile memory 208 may also
modem PBL may be adapted to download the modem serve to store AP ran-time data 224, The-modem file system
executables 120 from the application processor 104~ That is, may be encrypted with a modem processors private key for
the modem executable image 120 (ini~aUy stored in the pri~ 2~ privacy protection and preventi0n of Subscriber identity clon~
mary nOn-~,01atile memory .106) is requested by the modem ing.
precessor 110 from the application processor 104. The appli~ Upon system power-up, the modem Boot ROM code 226
cation processor 104 retrieves the modem executable ~ge downloads both the modem executable image 214 and the
120 and providesit to the mod~_m processor 110via an inter- modem file system 220 from the:application processor 20~
processor communication bus 134 (e.g~-, ~ter-chip commu- 30 into the modem processor volatile memory 212. During nor,
ulcati0n bus). The modem processor 110 stores the modem nm_l opera~ion, any read accesses to the modem file system
executable image 132 directly into the modem processor 228 are serviced from the modem p~c.essor volatile memory
RAM (Random Access Memory) 112 to the final destination 212. Any write accesses are performed in the mod.~ proces-
without copying the data into a temporary buffer in the sor. volatile memory 212 as well. In addition, there may be a
modem processor RAM 112. The inter-pmcesmr communi- 3s background process rlmn~n~ on the model~ processor 210
cation l~US 1~4 may.be, for example, a HSIC bus (USB-based and the application processor204 to synchronize the cont~utS
High Speed Inter-Chip), an HSI bus (MIPI High Speed Syn~ of the File System 228 in modem processor volatile memory
chronous Interface), a SDIO bus (Secure Digital I/O inter- 212 with the modem file system ~20 s[orefl on the non-
face), a UART bus (Universal Asynchronous Receiver/Trans- volatile memory206.
mitter), anSPI bus (Serial Peripheral Interface), an I2C bus ~0 The primary and secondary processOrs may pesiedically
(Inter-Integrated Circuit), or any other hardware interface syn~hroniza the file system in the volatile memory for the
suitable for inter-chip commauicafiun ava{iabie an both the secondary processor with the corresponding file system in the
modem processor 110 and the application processor 104. primary non-volatile memory. The first write to the m_9 .d~m
Once the modem executable image 120 is deowuloaded into file system 228 may start a timer (for example, a ten minute
the modem processor RAM 112 and au~entieat.ed, it is 4s timer) in the modem proCessOr 210. While this timer is
tained as a modem executable image 132. Additionally, the ning, all writes to the file system 228 are coalesced intothe
modem processor volatile memory 112 may also store modem processor volatile memory 212. Upon expiration of
modem run,time data 130. The modem Boot ROM code 126 the timer, the mo~dem proceSsOr 210 copies the file System
may then jump into that modem executable image l~2.and image 228 from volatile memory 212, encrypts it, and alerts
start executing the main modem program ~ the modem so theapplication processor 204 that new data is availab!e. The
processor RAM 112~ Any persistent (non-volatile) data, such application processor 204 reads the encrypted copy and
as radio frequency (RF) calibration and system_ parameters, writes it to the non-volatile memory 206 into the ~ file
may be stored 0n the modem file system 128 using the sec, system 220. The application processor 204 then sisnal~ the
ondary (r~lnced or minimal) IrOn-volatile memory 114 modem processor 210 that the write operation is comp!e~e. If
attached to the modem processor 110, ss a synchronization operation fails, a present version of the
Exemplary Multi-Processor A~hitecture with Centralized modem file system may be used. Synchronization may occur
Non-Volatile Memory--with No Localized Non-Volatile periodically (for example, every ninety seconds) or a~r a
Memory for File Systems certain time following a write operation by the modem to its
FIG. 2 illustrates a block diagram era second mnlti-pro, file system. To preveut corruption from circumstances such as
cessor architecture 202 in which a pr~m!ry proca~sor (appfi- ~0 sudden power removal, two copies of the modem file system
cation processor 204) hosts a p~mary (large) non-volatile 220 may be stored.
memory 206 (e-g~, NAND flash memory). The pr~m,ry non- The modem processor 210 may also initiate a "~flush"
volatile memory 206 may store a modem-ex~n~able :image operation of the file system mirror 228 to the application
214 and/or a modem file system 220 for the secondm3~ pro- processors non-volatile memory 206..This n~y occur for a
cessor (modem processor 210). The secondary processor ~s number of reasons, including phone power-off, as well as
(modem processor 210) may be configured to request the sending an acknowledgemon~ message to the network to indi-
modem-executable image 214 and/or modem file system 220 cate acceptance and storage of incoming SMS m~ssages.
Exhibit D
Copy provided by USPTO _from the PIRS Image Database on 04105/2017
Page 72
........
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.116 Page 116 of 177
US 8,838~949 B2
7 8
File system read operations on the modem processor 210 for secondary processor 302 is stored to non-volatile memory
are serviced from the modem processor volatile memory 212, of the primary processur.301. AS shown in this example, the
which reflects the current state of the modem file system. exemp~lary software image 303 is a multi-segment image that
Because read operations are more frequent than write opera- includes an image hoact~r portion and multiple data segments
tions, and write operations tend to occur in ~bursts" of activ- 5 (shown as data segments 1-5 in this example). The primary
ity, the o,~erall system load and power consumption may be processor 301 and secondary processor 302 may be located
reduced. on di;fferent physica~ silicon chips (i.e. on a different chip
The application processor 204, modem processor 210, and
pa~k.a,ge) or nmy be located on the same package.
Hoot loader have specific measures in place to ensure that In the first s~age oftho exemplary ]0ading process of FIG.
there is always at least one complete file system nnage avail-
~0 3, the image header information is transferred to the second-
able in the non-v0latile memory 206 at all times. This pro-
ary processor 302. The primary processor 301 retrieves the
vides immunity to power-loss or surprise-reset scenarios.
dataimage segments, besi~nn~ng with the image header, from
Application of the concepts disclosed herein are not lim-
ited, to the exemplary system shown above but may likewise non-volatila memory of~e primary processor 306. The pri-
be employed with various other multi-processor systems. mary processor 301 parses the image header to load indi-
l~
Zero Copy Transport flow vidual image segments from non-volatile memory of the pri-
Aspects of the present disclosure provide techniques for mary processor 306 to system memory of the prunary
efficiently loading the execrable software images from the processor 307. The image header includes in~ormation used
primary processors non-volatile memory to the secondary to identify whore the modem image executable data is to be
processor s volatile memory. As mentioned above, traditional ~0 eventually placed into the system memory of the secondary
loading processes eequire an intermediate step Where the processor 305. The header information is used by tbe second-
binary multi-segmented image is buffeted (e.g., transf~ ary i~i0cess0r 302 to ptogizm the scatter loader/direct
into the syStem memory) and then later scattered into target memory access controller 304 receive address when receiv-
locations (e.g., by a boot loader)., Aspects of the present ing the actual executable data.. Data segments are then sent
disclosure provide techniques that alleviate the intermediate 2~ from system memgry 307t0 the primary hardware transport
step of buffering ~ in traditional loading processes. mechanism 308. The segments are then sent from the hard-
Thus, aspects of the present disclosure a,C0id extra memory Ware lah~sport mechn,i~ 308 of the prlmnry processor 301
copy operations,, thereby improvin~ performance (e.g., to a hardware transport mechanism 309 of the secondary
reducing the time re~luired to boot secondary processors in a processor 302 over an inter-chip commuulcation b~ 310
multi-processor system). ~0 (e.g., a HS-USB cable.) The first segment transferred may be
AS discussed fiather: bdow, one exemplary aspect of the the image header, Which contains information ~sed by the
present disclosure employs a direct scatterload teclmique for secondary processor to locate the data segeaents into ta~et
loading the execu!able sottware images from the primary locations in the system memory of the secondary processor
processors non-volatile memory tO the secondary proces- 305, The image header m~y include info~on used to
sors volatile memory. Certain aspects of the present disclo, 3~ determine the target locationinformation for the data.
sure also enable concurrent image transfers With post-transfer In 6ne aspect, the ta~et locations are not predetermined,
data processing, such as authentication, which.may further but rather are determined by software executing in the sec-
improve efficiency, as discussed fiarther below. 0nd~y processor as part of the sca~er loading process. Infor-
In one aspect, the host primary processor does not process mation fry_m-the image header may be used to determine the
or extract any information from the actual image data it sim- 4o targetlocations. InthisasPectthesecondaryprocessors boot
ply sends the image data as "raw~ data to the target, without loader first requests the image header from the primary pro-
any packet header attached to the packet. Because the target cessor (the primary processor CPU does not process the
secondary processor initiates the data transfer rvqnest, it image header ~t all).. The secondary processor knows how the
knows exactly how much data to receive. This enables the data segments are laid out in the non-volatile memory by
host to send data without a packet header, and the targetto 4~ looking at the image headar (besides the RAM address/size,
directly receive and store the dam In that aspect, the target the header also includes the relative locations in non-Volatile
requests data from the host as needled. The first data item it memory with respect to the start of the image file for each
requestS is the image he~der for a 10venm~_ge transfer. Once segment). Sub..se~ent requests for the data segments are
the target has processed the image header, it knows the loca, driven by the secondary processor.
lion and size of each data ses~nent in the image. The image ~o In another aspect the primary processor may indicate
header also sI~~fie~ the destination address of the image in where to put the segments in the secondary processors vola-
target memo~ . With ~S information, the ~get can request tile memory by parsing the image header and then program-
dam from the host for each segment, and directly transfer the ming the secondary processors c6ntroller to place the fol-
data to the appropriate location in target memory. The hard- lowing data segments in the specified address dictated in the
ware controller for the in~er-chip communication bus on the ~ image header. This may involv~ extra hardware to allow this
application processor may add its own low,level protocol external control of the secondary processors controller.
headers, which would be processed and stripped by the The image header gene~ly includes a fist of segment Start
modem processor. These low-level headers may be transpar- addresses and sizes defining whore each of the segments
ent to the software running on both processors. should be loaded ~ the secondary processors system
In one aspect of the present disclosure, the loading process ~0 memory 30~. Secondary processor 302 includes-a .~h~.ware
is divided into two stages, as illnstrated in the exemplary flow transport mechanism 309 (e.g., a USB controller) that
shown in FIG. 3. FIG. 3 shows a block diagram era primary inchideS a scatter loader c0~itr011er 304. In the second stage of
processor301 (which may be the application processors 104 the loading process, the boot loader programs the inter-chip
or 204 of FIG. 1 or 2 with their nonrvula~ile memory 106 or connection controllers engine to receive incoming data and
206) and a secondary processor 302 (which may be the ~ scar~er load it into the secondary process~rs corresponding
modem processor 110 or 210 ofFIG. I or 2 with their volatile target memory r~ions 30~ according to the header informa-
memory 112 or 212). In FIG. 3, an exemplary software image tion received in the first stage.
Exhibit D
Page 73
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.117 Page 117 of 177
US 8,838,949 B2
9 10
In case of USB or HSIC bus, each segment of the image In accordance with certain aspects of the present invention
may be trhnsferred as a single USB Iransfer on the inter-chip (e.g., as in the example of FIG. 3), the raw image data is
C0m mu~cation bi~s 310. Knowing the size of the segment and tmmportecL For instance, rather than transporting each seg-
the destination address allows the soitware to program the meat of image data with a packet header, the exemplary load
scatter loader controller 304 of the secondary processor 302 s process of FIG. 3 determines the needed information about
for the transfer ofthe entire Segment directly into the target the data fiom the header associated with the entire image.
memory location (Within system memory 305) with mini- Thu~, the image header may be initially trangerred, and all
mum software intervention by the secondary processor 302. the processing fo~" det~nlnln g how to store the data to system
This may result in an increased performance on the USB/ memory 305 can o~ur before the txansfer of the segments
HSIC bus When the segments are si~nificantly t~rge 10 (based on ~_e image header), and then the segments are trans-
over 1 megabyte (MB)). ,erred as raw data, rather than requiring processing of a
packet-header for each segment as the segments are l~ns-
As shown in FIG. 3, the image segments are not neces_sarily
letted. Thus~ in the example of FIG. 3, the raw image data is
placed into consecutive locations within the secondary pm-
being communicated from the p~mary processor to the sec-
cessors system memory 305. Instead, the segments may be
ts ondary pr0cas_s0r, and then handled by the hardware, which
spread out in different locations of the memory. The exem-
may strip off any USB packet headers, etc. hi this exemplary
plary load~_g pmcass of FIG. 3 enables a copy of the second- aspect, there is no CPU processing done on the actual data
ary processors so!~tware (i..e., the image 303) to be sent from segments, thereby improving efficiency of the load process.
the primary processor 301 directly to the final destinatio~ of When multiple images have to be loaded into the volatile
segment on the secondary processors system memory 305. 2o memory ofthe same secondmy processor, the above sequence
The image header is loaded from the primary processor of FIG. 3 may be repeated as many times as the number of
301 to scatter loader controller 304 of sec0nda~ processor images being transferred, in accordance with one aspect of
302. That image header provides information as to where the the preset diSlos~re. In certain aspects; within the primary
data segments are to be located in the system memory 305. processer 301, transfer from non-V01atile memory to system
The scatter loader controller 304 accordingly mmsfers the 2s memory may happen in parallel with sending data from the
image segments directly into their respective target locations prin~y to secondary processor.
in the secondary pmcessors system memory 305. That is, In one aspect upon completion of each segments transfer,
once the secondary pmcessors CPU processes the linage the secondary processtr 302 programs the scatter loader con-
header in its memory 305 and programs the scatter loader troller 304 to transfer the next segme~t and Starts authentica,
cdntroller 304, the scatter loader controller 304 knows 30 tiQ_n of~e segment that was just transferred. This enables the
exactly where the image segments need to go within the scatter loader conlroller 304 to transfer data while the sec-
secondary pmcessors system memory 305, and ~us the ondary processor 302 performs the authentication. Authenti-
hardware scatter 10ad~r controller 304 is then programmed cation here refers generally to checking the integrity and
accordingly re transfer the data segments _dh~t.!y into their authenticity, of the received data. The details of the authenti-
target destinations. In the example of FIG. 3, the scatter loader 3s cati0nmechanism are ontside the seope of this disclo sure, and
controlier 304 (eceives the image segments and scatters them any suitable authentication mechanism (includi~ig those well-
to different locations in the system memory 305. In one known in the art) may be employed as may be desired in a
aspect, the executable software image is loaded into the sys- givenimplem~mtafion. The above-mentioned parallelism can
tem memory of the secondary processorWithout an entire also apply to other post-transfer processing that may be
executable software image being stored in the hardware ~o desired to performed by the secondary processor 302 in a
buffer of the secondary processor. given implementation.
Accordingly, no extra memory copy operations occur in As soon as the last mgment of the last image is transferred
the secondary processor in the above aspect. Thus, conven- and authenticated, the secondary processor 302 may continue
tional techniques emp!oying a temporary buffer for the entire with the boot process and ~xeente transferred images.
image, and the packet header handling, etc.~ are bypassed in ~s In one aspect, the modem (secondary) processor 110
favor of a more efficient direct loading process. Thus, the executes a boot loader fiom an embedded boot read,only
exemplary load process of FIG. 3 does not require the inter- memory (ROM). In.such an aspect, executing the boot ROM
mediate buffer operations traditionally requi~d for loading a from the hardware e|imlnates the ueed for flash memory or
software image from a primary processor to a secon_dayy devices on the modem side. The ROM code may be executad
processor. Instead of scatter loading from a temporary buffer so by the silicon itself.
holding the entire image, the exemplary load pmcass of FIG. FIG. 4 isa flowchart illuslrating a scatter loading method
3 allows for direct scatter load the image segment~ tO thor according to one aspect of the present disclosure.As sbownin
respective u~et destinations directly from the hardware to block 402, a secondary processor receives, f~m a primary
the system memory. Once the image header is processed, the pro~ssor via an inter-chip communication bus, an image
executable i~_age is directly scatter loaded into target ss header for an executable soflv;~m image for the secondary
memory, bypassing farther CPU involvement, processor that is stored in memory coupled to the
Conventionally, when an external interface is involved processor, the executable software image comprising the
(e.g., as is Used in communicating image data fiom a p.rimary "_~nage header and at least one data segment. AS shown in
processor to a secondary processor), some mechanism is block 404, the secondary processor processes the image
required to transport that data so that both processors know 6o headex to determine at least one location within system
what the actual data is and how to read the data. ORen, the memory to Which the secondary processor is coupled to store
data to be mmsferred over an external interface is packetized the at least one data segment. As shown in block 406, the
With each packet including a header describing the data con- secondary processor receives, f~om the primary processor ~a
mined Within the packet. For instance, in a tramunis~i0n con- the inter-chip communication bu~, the at least one data seg-
trol prbtocoFinternat protocol (TCP/IP) system where dam is 6s m~n~. As shown in block 408, the secondary processor loads
being transferred over a network, overhead associated with the at.least one data segment directly to the determined at least
processing of packet headers arises. 0~ie location within thesystem memory.
Exhibit D
Copy provided b~y USPTO from the PIRS linage Database on 04/05/2017 Page 74
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.118 Page 118 of 177
US 8,838,949 B2
11 12
In one aspect an apparatus includes means for receiving an If implemented in firmware and/or soRware, the functions
executable image, means for processing an image header, may be stored as one or more inslauctions or code on a
means for receiving a data segment, and means for loading a computer-readable medium. Examples include computer-
data segment. These means may include a primary processor readable med~a encoded with a data structure and compnter-
301, secondary processor 302, inter-bus communication bus 5 readable media encoded with a computer program. Com-
310, memory 305 or 307, non-volatile memory 306, control- pnter-readable media includes physical computer storage
ler 304, or hardware ~ort meCh~nlsms 308 or 309. In media. A storage medifim may beany available medium that
another aspect, the aforementioned means may be a module cRu be accessed bya comp~ter. By way of example, and not
or any apparatas cozifigta-ud to perform the functions recited limitation, such cofi~puter-readable media can include RAM,
~0 ROM, EEPROM, CD-ROM or other optical disk storage,
by the aforementioned means.
In View Of the above, a secondary processor, s software magnetic disk storage or other magnetic storage devices, or
image may be loaded from a primary processor via intercon- any other medium that can be used to store desired program
nection bonds, like HS-USB or high speed interconnect, code in the form of instructions or data structures and that can
instead of loading the software image directly from non- be accessed by a computer; disk and disc, as used h~ein,
15
volatile memory connected to the secondary processor. The includes compact disc (CD), laser diS:, optical disc, digital
secondary processor may not be directly connected to non- versatile disc (DVD), floppy disk and b~u-rTdy disc where
volatile memory. Thus, aspects of the present disclosure may disks usually reproduce data magnetically~ while discs repro-
reduce the time it takes to boot secondary processors in a duce data optically with lasers. Combinations of the above
multi.processor system_ where second~y_ processor images 2o should also be included Within the scope of compUter-read-
are transferred fi~m the primary processor, This rednotion is able media.
achieved by avoiding e~tra memory copy operations and In addition tO storage on computer readable medium,
enabling concurrent image transfers with background data insmactious and/or data may be.proVided-as signals on tram.
processing, such as authentication. mission media included in a communication apparatus. For
FIG. 5 is a block diagram showing an exemplary wireless z5 example, a cOmmunication apparatus may include a tram-
ommunic.af!gn system 500 in which an embodiment of the ceiver having signals indicative of instruetions and data. The
disclosmTe, may be advantageously e~tployed:.: For purposes of instructions and data am c~nfigured to cause one or more
illustration, FIG. 5 shows three remote units 520, 530, and processors to implement the functions outlined in the claims.
550 aud two base stations 540. It V;,ill be recognized that Although specific circuilry has been set forth, it will be
wireless communication systems may have many more 3o appreciated by those skilled in the art that not all of the
remote unks and basg staf!ous. Remote units 520, 530, and disclosed circuitry is required to practice the disclosure.
550 include !C devices 52~, 525C and 52~q3, that include Moreover, certa.m well known circuits lmve not been
the disclosed MRAM. It will be recognized that 0ther devices described, to m~intain focus on the di~sclosure.
may also include the disclosed MRAM, s~h as the base Although the present disclosure and its advantages have
stations, switching devices, and network equipment. FIG. 5 35 been described in detail, it should be understood that various
shows forward link signals 580 l~om the base station 540 to changes, substitutions and alterations can be made herein
the remote units 520, 530~ and 550 and reverse link- s~als wi_thorn dep~g _from Lhe tec_h!a~.91ogy ofthe disclosure as
590 from the remote units 520, 530, and 550 to base stations defined by the appended claims. For example, relational
5,10. terms, such as "aboVe~ and "below" are used ~Vith respect.to
In FIG. 5, remote unit 520 is shown as a mobile telephone, 4o a substmte or eleotronic device. Of course, if the substmte or
remote unit 530 is shown as a portable computer, and remote electronic device is inverted, above becomes below, and vice
unit 550 is shown as a fixed location remote unit in a wireless v..eksa. Additional/y, if oriented ~i~ys, above and below
local loop system. For example, the remote units may be may refer to sides of a substrate or electronic device. More,
mobile phones, hand,held perso~al coinmuniCation systems o-~er, the scope of the present application is not intended to be
(PCS) units, portable data units such as personal data assis- as limited to the particular embodiments of the process,
tants, GPS enabled devices, navigation devices, set top boxes, machine, m~ufncture, composition ofmatmr, means, meth-
-music players, video players, enterminmeut units, fixed loca- ods and steps described in the specificatiQ~.: As one of 0rdi,
tion data ~mits such as meter reading equipment, or any other nary skill in the art will readily appreciate from the disclosure,
device that stores or retrieves data or COmputer in~truetious, proceSSes, macliines, ~mffacmre, CompoSitions of matter,
or any combination thereof. Although FIG. 5 i~l~us~t~es ~o means, methods, or steps, presently existing or later to be
remote units according to the teachings of the disclosure, the developed that perform subs~antially the same function or
disclosure is not limited to these exemplary illustrated units. achieve substantially the same (esult as tbe corresponding
Embodiments ofthe disclosure may be suitably employed in embodiments describ~i herein may be utilized, aceordin8 to
any device which includes MRAM. the presem disclo_sur,e.: AccOrdingly, the appended claims are
For a firmware and/or software implementation, the meth- ~5 intended to include within their scope such processes,
odologies may be implemented with modules (e.g., proce- machines, ma~ufaCtttm, compositions of mattar, means,
dmes~ ~ons, and so on) that perform the functions methods, or steps.
described herein. Any machine-readable medinm tangibly
embodying in.~tractious may be Used in implementing the what is claimed is:
methodologies described herein. For example, software 60 1. A multi-processor system comprising.
codes may be stored in a memory and executed by a processor a secondary processor comprising:
unit~ Memory may be implemented within the processor unit system memory and a hardware buffer for receivin8 an
or external to the processor unit. As USed h~rein the term image header a~d at I.e~s._~t one da~a segment, of an
"memory" refers to any type of long term, short term, volatile, executable software image, the image header and
nonvolatile, or other memory and is not to be limited to any 65 each data segment.being received separately, and
particular type of memory or number of memories, or type of a scatter loader controller confignred:
media upon which memory is stOred. to load the image heuder, and
Exhibit D
Page 75
provided by the PIRS Database on 04/0512017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.119 Page 119 of 177
US 8,838,949 B2
13 14
to scatter load each received data segment bated at 1!. The method of claim 10 furthgr comprising booting the
least in part on the loaded image header, directly secondary processor using the executable software image.
from the hardware buffer to the system memory; 12. The method of claim 10 ffirthei- comprising loading the
a primary processor coupled with a memory, the executable software image directly from a hardware buffer to
memory storing the executable softwa~ ._lrpage
" for~e 5 the system memory of the secondary processor without copy-
seconda~ processor, and ing data between system memory locations.
aninterface commImicat_ ively Coupling the primary pro- 13. The m~thod of claim 10 in which the processing occurs
cessor and the secondary processor, the executable prior to the loadingr
software image being received by the:secondary pro- 14. The method of claim 10 in which the primary and
10 secondary processors ~ located on different chips.
cessor via the interface.
15. The method ofc~aim 10 furth~ omErising performing
2. The multi-processor system of claim 1 in which the
the receiving, processing, and loading, in at least one of a
scatter loader controller is configured to load the executable
mobile phone, a set top box, a ninsi~ pl~yer, a Video phiyer, an
software image directly from the hardware buffer to the sys- entertainment unit, a navigation device, a compJater, a hand-
tem memory of the secondary processor without copying data
1~ held personal comm).mi~afion systems (PCS) unit, a portable
between system memory locations on the secondary proces- data unit, and a fixed location data unit.
sor. 16. An apparatus comprising:
3. The multi-proceSser system of claim 1 in Which raw means for receiving at a secondary processor, from a pri:
image data of the ~table software image is received by mary processor via an inter-chip communication bus, an
the:secondary processor Via the interface. 20 ~ga header for-an executable software image for the
4. The multi-processor system of claim I in which the secondary, processor that is storedinmemory coupled to
secondary processor i~ configured to process the image the primary processor, the executable software image
header to determine at least one location within.the system comprising the image header and a~ileast One data seg-
memory to store the at least one data segment. ment, the image header and each data segment being
5. The multi-processor system of claim 4 in which the received separa~eiy;
secondary processor is configured to determine, based on the means for processing, by the secondary processor, the
received image header, the at least one location within the image header to determine at least one location within
system memory to store the atleaat one data segment before system memory to which the secondary processor is
reCeiving the at least One data Segment. coupled to store each data segment;
6. The multi-processor syStem of claim 1, in which the 30 means for receiving ~t the secondary processor, from the
secondary processor further comprises a non-volatile primary processor via the inter-chip co__mm._uni~atien
memory storing- a boot loader that initiates transfer of the bus, each data segment; and
executable sol,are image for the secondary procesS6t. mea~s for scatter loading, bythe seco~proceasor; each
7. The multi-processor system of claim 1 in which the data segment directly to the determined at least one
primary and secondary processors are loca~ed on different location within the system memory, and each data seg-
chips: mere being scatter 10a.ded based at least in pa~t on the
8. The multi-processor system of c!a~m 1 in which the processed image header.
portion of the executable sOl,care image is loaded into the 17. The apparatus Of ciaim 16 integrated into at least one of
system memory of the seCondary processor without an entire a mobile phone, a set top box, a music player, a video player,
executable software image being stored in the ba_rdware 40 an ente~nment unii, a navigation device, a ompt~Ca, a
hand.heid personal communication systems (PCS) tuff!, a
9. The multi-processor sys~m of claim 1 intogmmd into at portable data trait, and a fixed location data Unit.
l~ast one era mobile phone, a set top box, a mnsic pl~iyer, a 18. A multi-proceSsor system comprising=
video piayer, an entertainment unit, a navigation device, a a primary processor coupled with a first non-volatile
computer, a hand-held personal communication systems mgmory, t~ fi3st non-volatile memory CoUpled to the
(PCS) unit, a portable data unit, and a fixed location data unit. primary processor and Storing a file: system fdr the p~i-
10. A method comprising: mary processor and executable images for the primary
receiving at a secondaxy processor, from a primary proces- processor and secondary p~oc~sOr,
sor via an inter,chip communication bus, an image a secondary processor coupled with a second non-volatile
header for an executable:soRware image for the second, memory, the second non-volatile memory coupled to the
ary processor that is stored in memory coupled to the secondary processor and storing configuration param-
primary processor, the executable software imago com- aters and file system f0r the secondary processor, and
prising the image header andat least one data segment, an interface communicatively coupling, the primary pro-
the image header and each data segment being received cessor and the Seco~ l~rocessor, an execntable
separately; software image being received by the secondary pro-
processing, by the secondary processor, the image header cessor via the interface, the executable soRware
to determine at least one location within system memory hnage comp~isi~ng an image header and at ~eas~ one
to which the secondary processor is coupled t9 store data segment, tl3_ imaga hegder and each data seg-
each data segment; mentbeing received separately, and the image header
receiving at the secondary processor, from. the primary being used to scatter load each received data segment
processor via the inter-chip communication bus, each directly to a system memory of the secondary proces-
data segment; and sor.
scatter loading, by the secondary processor, each data seg- 19. The multi-processor system of claim 18 integrated into
meat reedy ~o the determined.at least one location within at least one era mobile phone, a set top box, a music player,
the syste..m_ m_emQrycend ~a~h data segm~being scatter 6s a video play~ an e~lterta~nmen~ ~ a navigation device, a
loaded based at least in part on the processed image computer, a hand-heid personal communication systems
header. (PCS) unii, a portable dam unit, and a fixed location data unit.
Exhibit D
Copy USPTO ~omthe
Page 76
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.120 Page 120 of 177
US 8,838,949 B2
15 16
20. A multi-processor system comprising: 22. A method comprising:
a primary processor coupled with a fi~rst n~n-vola~e sending, from a memory coupled to,a primary prec~ssor, an
memory, the fi~st non-vol.atile memory coupled to the e~ecutable sol.are image for a secondary processor,
primary processor and storing executable images and via an interface cemmunicatively coupling _the~ p~m~ry
file systems for the p~ and S~Ond.~ry processors; s processor and s~ondary processor, the executable soft-
a secondary processor not directly coupled to ~ firSt.non- ware image comprising an image header and at l~ast One
data segment;
volatile memory; and
receiving, at the secondary processor, the image header and
an interface communicatively coupling the primary pro-
each d~ta segment of the executable software image, the
cessor and the secondary processor, an executable
10 "npage header and each data segment being received
sol.rare image being is received by the secondary
separately, and the image header being used to scatter
processor via the interface, the executable software
load each received data segment ~fly to a system
image comprising an image header and at least one
memory of the seconda~ processor; and
data segment, the inmge heade~- and each data seg-
executing, a~ the secondary proce~sor,.the ex~b!e sof~-
ment being received separately, and the image header
ware image,
being used to scatter !oad each received data segment
23. The method of claim 22 further comprising peffomii~g
directly to a system memory 0f~e secondary proces-
the sending, receiving, and eXecuting, in at least one of a
sor.
mobile phone, a set top box, a music player, a video player, an
21. The multi,processor sy~em of claim 20 ~nte~a~i into
entertainment unit, a navigation device, a compu~er~ a _.h.a~_,_ d-
at least one of a mobile phone, a se~ ~op box, a m~ic player,
20 held personal communication systems (PCS) unit, a portable
a video player, an entertainment unit, a ~vigat!on devi~e, a
data unit, and a fixed location data unit.
computer, a ]rand-held pe~son~l 0mm~cation systems
~S) unit~ a portable data uniL anda fixed location data u~t.
Exhibit D
Page 77
(~opy provided b~, USPTO fr6~ tti~ PIRS Image Database on 04105/2017 " " " ......
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.121 Page 121 of 177
Exhibit D
Page 78
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.122 Page 122 of 177
Exhibit D
Page 79
PTO- 1683
(Rev. 7-96)
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.123 Page 123 of 177
EXHIBIT E
Exhibit E
Page 80
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.124 Page 124 of 177
U 7629935
By Authority of the
Under Secretary of Commerce for Intellectual Property
and Director of the United States Patent and Trademark Offic~
T. LAWRENCE
Certifying Officer
Exhibit E
Page 81
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.125 Page 125 of 177
I Ililli IIIIIIII III Hill IIIII II111 IIIII IIIII III IIIII IIIII IIIIII IIII IIII IIII
US009535490B2
Exhibit E
Copy provided by USPTO from the PIRS Image Database on 04/05/2017 Page 82
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.126 Page 126 of 177
US 9,535,490 B2
Page 2
the data from the modem processor, the application proces- 6,472,770 BI * 10/2002 Pohjola ............... B60R 16/0315
sor sends data held by the application processor to the 307/10.1
modem processor over the PCIe interconnectivity bus, The 6,765,901 BI * 7/2004 Johnson ............. . H04L 12/2856
application processor also has an uplink timer. If no data is 370/352
received from ~e modem processor before expiration of the 6,996,214 B1 * 2/2006 Beck ................... H04M 3/4281
379/215.0i
uplink timer, the application processor sends any collected
7 137018 B2 11/2006 G-utman ct al.
data to the modem p~cessoi: at expiration of the uplink
RE39,427 E * 12/2006 OSullivan ................... 455/126
timer. However, if data is received from the modem proces- 7,647,517 B2 1/2010 Tseng et a[.
sor, the uplink timer iS reset. 8,615,671 B2 12/2013 Robles Ct al.
31 Claims, 13 Drawing Sheets 2003/0114186 Al * 6/2003 Goetz .....:.:<-........?.. H04M 1/725
455/552.1
2008/0034106 Al 2/2008 Bakshi et al.
2009/0185487 AI 7/2009 Adax et al.
(51) Int. CI. 2013/0198538 Al 8/2013 Di~b et al.
HO4W 4/00 (2009.01)
2014/0207991 Al 7/2014 K~u~bilf et d.
GO6F 13/38
(2006.01)
(5~) U.S. Cl. OTHER PUBLICATIONS
CPC .....
!104W 52/0251 (2013.01); i[~4W 52/02 74
Ajanovic, !., "PCI ExpressTM ArchiteO:ut~ Advanced Protocols &
(20!3.01); ti04W52/0287 (2013.01); YO2B
Fen~res~> DZc, 31, 2003, PCI-SIG Devel6pers Confexence,
60/123., (2013:01); YO2B 60/1282 (20i3.01);
YO2B 60/.50 (2013.01) ~fieved Feb. 2~, 2015 from htt~.//~,~,p~cisig.com/develope~s/
main/~~efials/get_documentTdoc_
(56) References Cited
id=f275ada7d622d20947d69cbb3466e0a0622249c3, 49 _pages.
International Seaxch Report and Written Opinion for PCT/US2014/
U~S. PATENT DOCUMENTS
070368, mailed Max. 5, 2015, 14 pages.
6,i51,355 A * 11/2000 Vallee
................... GO6F 13/385 ........................... PCT/US2014/
375/220 070368, mailed Apr. 1, 2016, 33 pages.
6,272,452 B1 * 8/2001 Wu ....................... GO6F 13/385
703/24 * cited by examiner
Exhibit E
Copy pt6vid6d by USPTO from the P!RS Image Database on 04/05/2017
Page 83
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.127 Page 127 of 177
16
12
18
FIG. 1A
BS
22
24
FIG. 1B
Exhibit E
Copy provided by USPTO from ~he:PlRS Image Database on 04/05/2017
Page 84
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.128 Page 128 of 177
Exhibit E
Page 85
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.129 Page 129 of 177
Exhibit E
Page 86
Copy provided by USPTO hom the PIRS Imago Dat~bas~ on 04/05/20~17
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.130 Page 130 of 177
,,,,,,,,,,4
Exhibit E
Page 87
Copy provided by USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.131 Page 131 of 177
70
Hold Data at 8
Modem Processor (44)
If No Data Present
Application Timer 82 from iode~ Processor (44)
Continues to Run to Applicalion processqr (34)
,-~.~ 1 Data Present Send DataI
At Expiration of
Application Timer After Arrival of Data at Application
Send Data to processor (34) Send Data to
Modem Processor (44) Modem Processor (44) and Reset
Applical~on Timer
FIG. 4
Exhibit E
Copy provided by USPTO from the PIRS Image Database on 04/05/2017
Page 88
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.132 Page 132 of 177
<
a~Od ~ ul~ ]
Exhibit E
Copy provided by USP]O [r6~n the PIR$ Image Database on 04/05/2017
Page 89
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.133 Page 133 of 177
110
!
Start Modem Timer and
Start Application Timer
Hold Data at
Application
Processor (34)
I
If No Data Present _ I ~.ffom Present send Data -I
~f DataApplicatic)n
Modem "13mer 122"X..,I Processor I
Condnues to Run
1_(34) to_.Modem Processor (44)1
A~ ~.xp]ra~on of
Modem Timer
I
L~ I After Arrival of Data at Modem
Send Data to Applicationl ~-~ t~A,,-~ I Processor (44) Send Datato
Prc~ssr (34_)_ J "~ "1 Applica~on Pmce.ssor (34) and
Reset Modem "13mer
,I Start Over
FIG. 6
Exhibit E
Page 90
Copy p~;o~ided byUSPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.134 Page 134 of 177
JeMOd ~u!l
Exhibit E
Page 91
Copy provided by USPTO from the PIR$ Image Database on 04/0512017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.135 Page 135 of 177
150
Hold Data at 8
Modem Processor (44) "
No
168
:~,~Counter Exceeded
~,~mshold?
Exhibit E
Page 92
Copy provided by USPTO from the PIRS linage Datab~S~ i)~n 04/05/2017 -
I
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.136 Page 136 of 177
180
./
Start Modem Packet Counter andL 184
Application Packet Counter I~
H0id Data
at Application
Processor (34)
Hold Data at 88
Modem Processor (44)
I
NO
Exhibit E
Page 93
Copy pro~idedby USPTO from the PIRS Image D&tabaseo~ 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.137 Page 137 of 177
210
f
DL data/packet
arrival
DL accumulatiOn
216 248 timer expired
Yes
220
Start / re-start DL accumulation =I
timer Set D L a.ccu.mu !ati~ntimer I
!
accumUlation timer
state to "running" state ~o "not running" .
: threshold
234
, No 222
Modem / device in UL No
polling mode?
No 224 238
No 236
timer
24O
246
10
Exhibit E
" T~ Page 94
Copy provided by USPTOf~0m the PIRS Imago Database on04/05/2017 .....
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.138 Page 138 of 177
UL accumuiatJon
timer expired
256
J:. Re-start UL
accumulation timer
FIG. 11
Exhibit E
Page 95
Cb~ provided by USPiu from. ~he PIRS Image Database on 04/05/20!7
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.139 Page 139 of 177
280
(~282 f
286
Yes
":.... or low
....... data? .. Update.AP ihtemal data I I
structure / context array with I /
288 IUL data packet informa~ion that l I,-,~298
device can Pu!! and update -[ /
. : "
No 290
to indicate availability of UL data. [ /
......
< threshold .... ~
Yes
....Upd~ AP internal data
stmct~u.~..re / coptext _array Wi~
UL data packet information ,296
that .device can pull and
upeate wdte pointers
accordingly
FIG~ 12
Exhibit E
Page 96
Copy provided by USPTO from the. PIRS linageDatabase On 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.140 Page 140 of 177
US 9,535,490 B2
1 2
POWER SAVING TECHNIQUES IN timer. The data is then passed to an application processor in
COMPUTING DEVICES the computing device over a peripheral c~mponent inter-
connect express (PCIe) interconnectivity bus. On receipt of
PRIORITY CLAIMS the data from the modem processor, the application proces-
s sot sends data held by the application processor to the
The present application chims priority to U.S. Provisional modem processor OVer the PCIe i~te;connectivi~y bns~ The
Patent Apphcation Ser. No. 61/916,498 filed on E~. 16, application processor also has an uplink timer. If no data is
2013 and entitled "POWER SAVING TECHlfflQUES IN receiVed from the modem processor before expiration of the
COMPUTING DEVICES," which is incorporated herein by Uplink timer, the application processor sends any Collected
reference in its entirety. to data to the modem processor at expiration of the uplink
The present applica[i~n also clalm.q priority to U.S. Pro- timer. Howeveri ff da~a is received f~m the modem proces-
visional Patent Application Set. No. 62/019,073 filed on Jun. sor, the uplink timer is reset. By holding or accumulating the
30, 2014 and entitled"POWER SAVING TECHNIQUES IN data at a source processor in this fashion, unnecessary
COMPUTING DEVICES," which is incorporated herein by transitions between low power states azgl active states on the
reference in its entirety. 15 PCIe bus are reduced and power is conserved.
In an al[ernate aspect, instead of initiating data transfer
BACKGROUND based on the expiration of the dowulink timer (with or
Without expiration of the iiplink timer), accumulated data
I, Field of.the Disclosure transfer may be initiated based on expimtian of just an
The technology of the disclosure relates generally to 20 uplink accumulation timer. The uplink accumulation timer
power saving techniques in computing devices. may be within a host or a device associated with the
II. Background interconnectivity bus.
Computing devices are common within modem society. In another alternate aspect, initiation o~the data transfer
Ranging from Small, mobile computing devices, such as a may be based on reaching a predefined threshold for a byte
Smart phone or tablet, to large serv& farms with n~iraer6ns 25 accumulation limit counter. The byte accumulation limit
blades and memory banks, these devices are expected to counter is not mutually exclusive relative to the other
communicate across myriad networks while providing vari, count&s and may operate as an override mechanism for one
ous other base functions. While desktop devices and servers of the other accumulation timers. Use of such an override
are generally immul~ to coueems about power consump- may be useful in situations where a sudden burst of data
tion, mobile devices constantly straggle to find a proper 30 arrives that would exceed buffer space and/or bus band-
balance between available functions and battery life. That is, width. Likewise, instead of a byte counter, a packet size
as more R!netipns are provided,_ power consumption eoun~r or a "total number of pacla~ts" counter may be used
increases, and battery life is shortened. Servers may likewise to cover situations where numerous packets Or a particularly
have power consumption concerns when assembled in large large packet is delivered by the network.
Server famis. 35 In.further aspects of the present disclosure, the tim~ nmy
Concurrent with power consumption concerns, improve- be overridden by other factors or parameters. Such an
merits in network communicatio_ns h~ave increased dam rates. override is alluded to ab0ve with the byte a~atlon limit
For example, copper wires have been replaced with higher counters and the total number of packets counter, which
bandwidth fiber optic cables, and cellular networks have causes date transfers independently of the timers. Other
evolved from early Advanced Mobile Phone System ~0 parameters may also ovearide the timers, such as the pres-
(AMPS) and Global System for Mobile Communications ence of low latency traffic (q.g., control messages), synchro-
(GSIV0 protocols to 4G a~1 Long Term Evolution (LTE) ni~ng the Iiplil~ alid downlink data tffansfers, or 10W latency
protocols capable of supporting much higher data rates. As quality of service requirements. When such traffic is present,
the data rates ha~,e increased,, the need to be able to process an interrupt or other command may be used to initiate data
these increased data rates within computing devices has also 45 transfers before expiration of a tim~, Still other factors may
increased. Thus, earlier mobile computing devices may have override the timers, such as an indication that a device or
had internal buses formed aeeordin~ to a High Speed host is not in an automatic polling mode.
Inter-Chip (HSIC) sUmdard, universal serial bus (USB) In this regard in one aspect, a mobile terminal is disolosed.
standard (and particularly USB 2.0), or univ&,sal asynchro- The mobile terminal comprises a modem timer. The mobile
nous recciver/transmitter (UART) standard. However, these 50 terminal also comprises a modem processor. Tim modem
buses do not support current data tams. processor is configured to hold modem processog to appli-
In response tO the need for faste~ internal buses, the cation progessor dam until expiration of the modem timer.
peripheral component interconnect express (PCIe) standard, The mobile .terminal also comprises an application proces-
as well as, later generations of USB (e.g., USB 3.0 an~ sor. The mobile t~mlnal also comprises an intea~eonnecti~dty
subsequent versions) have been adopted for some mobile 55 bus commutticatively coupling the application processor to
compUting devices. However, while PCIe and USB 3.0 can the modem pmcessog.~ The appli~un pro~ssor ~s e~nfig-
handle the high data rates currently being used, usage of ured to hold application processor to modem processor data
sugh buses results in excessive power o.nsumpti0n and antil receipt oftl~ modem processor to application proces-
negatively impacts battery life by shortening the time sor data from the modem processor through the intercon-
between recharging events. 60 nectivity bus after which the application processor to
modem processor data is sent to the modem processor
SUMMARY OF THE DISCLOSURE through the intercounectivi~y bus.
In another aspect, a method of cuntmlling power con-"
Aspects disclosed in the detailed description include sumption in a computing device is disclosed. The method
power saving techniques in computing devices. In particular, 65 comprises holding data received by a modem processor from
as data is received by a modem processor in a computing a remote network until expiration ofa downllnk timer. The
device, the data is held until the expiration of a modem method also comprises passing the data received by the
Exhibit E
Page 97
Copy provid~l by USPTOfrO-m the PIRS Image Databane on O4/05/201-~ - -
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.141 Page 141 of 177
US 9,535~490 B2
3 4
modem processor to an application processor over an inter- intereounectivity bus after which the modem processor to
connectivity bus. The method also comprises holding aPPli- application processor dam is sent to the application proces-
cation data generated by an application associated with the sor through the interconneetivity bus.
application processor for until receipt of the data from the In another aspect, a mobile terminal is disolosed. The
modem processor or expiration of an uplink timer, which- s mobile tetinlnal comprises a modem processor and an
ever occurs first. application packet counter. The mobile terminal also com-
In another aspect, a mobile terminal is disclosed. The priso~ _an application processor. The apphcati0a processor is
mobile termlnzl comprises a modem processor. The mobile configured to hold application processor to modem proces-
terminal also omprises a~ application timgn. The mobile sor dam until a predefiaed threshold of packets has been
termlnnl also comprises an application processor. The appli- to reached by the application packet counter. The mobile
cation processor is configured to hold application processor terminal comprises an interconnectivity bus communica-
to modem processor data until expiration of the application tively coupling the application processor to the modem
timer. The mobile terminal also comprises an interconnec- processor~ The modem pn3cessor is configured to hold the
tivity bus communicatively coupling the application proces- modem processor to application processor dam until receipt
sor to the modem processor. The modem processor is t5 of the application processor to modem processor data from
configured to hold modem processor to application pi-oces- the applica~i0n processor .tl._~o_ ugh the i~tercouneeth6~y bu~
sor data until receipt of the application processor to modem aRer which the modem processor to application processor
processor data from the app_li~ation processor though the data is sere to the application process6f through the inter-
intereounectivity bus after which the modem processor to connectivity bus.
application processor data is sent tO the application proces- 20 With regards to another aspech a method is disclosed. The
sor through the interceunectivity bus. method comprises starting an application timer at an appli-
In another aspect, a mobile terminal is disclosed. The cation processor. The m~thod also comprises accumulating
mobile terminal cemprises a modem byte accumulation limit dam at the application processor until Ympiration of the
counter. The mobile terminal also comprises a modem application timer. The method gomprises sending the accu-
processor. The modem processor is c0nfigu~ to hold 25 mulated _data f~m the application p~ocessor to a modem
modem processor to application processor data until a processor across an interconnectivitN bus. The method fur-
predefined threshold of bytes has been reached by the ther comprises ho~dinE modem processor data at the modem
modem byte accumulation limit counter. The mobile termi- processor until receipt of the accumulated data from the
nal also comprises an application processor. The mobile application processor.
terminal algo comprises an intereonnectivity bus COmmuni- 30 In another aspect, a mobile te~~ina~ i_s disclos..ed. The
catively coupling the application processor to the modem mobile terminal comprises a modem timer. The mobile
processor. The application processor is configured to hold terr~iha! also comprises a modem processor. The modem
application processor to modem processor data until receipt processor is configured to hold modem processor to appli-
of the modem processor to application processor data from cation processor d~ until expiration of the modem timer.
tlie modem processor through the interconnectivity bus after ~5 The mobile terminal also comprises an applicatio~ p~ces-
which the application processor to modem processor data is sor. The mobile terminnl also comprises an interconneetivity
sent to the modem processor through the intereounectiv~ty bus communicatively Coupling the application procesgor to
bus. the modem processor. The application processor is config-
With regards to another aspect, a mobile terminal is ured to hold applicatiqn processor to modem processor data
disclosed. The mobile terminal cemprises a modem packet 4o ~mtil the modem processor pulls data from the application
counter; The mobile terminal also composes a modem pr0cessbr after trangrni$$ion Of the mode.~l procesg0r to
processor. The modem processor is configured to hold application processor data.
mod~a ~r0ces-sor to appfie~ti0n processor data until a
predelined threshold of packets has been reached by the BRIEF DESCRIPTION OF THE HGURES
modem packet counter: The mobile termlna~l also comprises 45
an application processor. The mobile terminal also com- FIG. 1A is a simplified view of a mobile computing
prises an inte.ro0nnectivity bus cemmunieativdy coupling device operating with remote networks;
the application processor to the modem processor. The FIG. 1B is a simplified view of a mobile terminal oper-
application processor is configured to hold application pro- ating with remote networks;
cessor to modem processor data until receipt of the modem ~o FIG. 1C isan expanded block diagram view of the mobile
processor to application processor data from the modem terminal ofFIG. 1B with an intereonnectivity bus illustrated;
processor through the interconnectivity bus after which the FIG. 2 is a block diagram of the mobile terminal of FIG.
application processor to modem processor data is sent to the IB;
modem processor through the interoounectivi~j bus. FIG. 3 is an exemplary time versus link power graph in a
In another aapect, a mobile tormir~nl is disclosed. The 55 conventional comptiting device;
mobile termina! comprises a modern processor. The mobile FIG. 4 is a flowchart of an exemplary process for achiev-
terminal also comprises an application byte counter. The ing power sw,ings in 0ae mobile term~p_al of HG. 1B;
mobile terminal also comprises an application processor. FIG. S is an exemplary time versus link power graph in a
The application processor is configured to hold application mobile computing device using ~ process of FIG. 4;
processor to modem processor dam until a pre~fined thresh- 6o FIG. 6 is a flowchart of another exemplary process for
old of bytes _ha~ been reached by the application byte achieving power savings in the mobile cempufing device;
counten The _mobile terminal also comprises an intereon- HG. 7 is an exempla~ time versus link power graph in
nectivity bus communicatively coupling the application pro- the mobile computing device using the process of FIG. 6;
cessor to the modem processor. The modem processor is FIG. 8 is a flowchart of an exemplary process that uses a
config~ired to hold modem processor to application proces- 65 byte counter to control data accumulation;
sor data until receipt of the application processor to modem FIG. 9 is a flowdmrt of an exOmplary process that uses a
processor data from the appl~ati0n processor through the packet counter to control dam accumulation;
Exhibit E
...... Copy lir~vided by usPTO-~rom lhe PIRS Image Database on 04/05/2017
Page 98
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.142 Page 142 of 177
US 9,535,490 B2
5 6
FIG. 10 is a flowchart of a consolidated accumulation While it is contemplated that the power saving techniclues
process with overrides illustrated from a downlink priority of the present disclosure are used in mobile terminals, such
perspective; as smart phones or tablets, the present disclosure is not so
FIG. 11 is a continuation of the flowchart of FIG. 10; and ll:mited~ AcoordinEly, FIGS. 1Aand 1B illustrate computhag
FIG. 12 is a simplified flowchart of a consolidated accu- 5 devices coupled to remote networks via modems that may
mulation process with overrides illustrated from an uplink implement exemplary aspects of the power saving tech-
priority perspective. niques of the present disclosure. In this regard, FIG. 1A
ilk~slaates a computing device 10 coupled to a network 12,
DETAILED DESCRIPTION which, in an exemplary aspect, is the interact. The comput,
10 inl~ device 10 may include a housing 14 with a central
With referance now to the drawing figures, several exem- processing unit (CPLr) (not illustrated), therein. A user may
plary aspects of _flag pros _e~ disclosure are descnbed. The interact with the computing device 10 through a user inter-
word "exemplary" is used herein to mean ~serving as an face formed from input/output elem.utS such as a moai!or
example, instaace, or illns~tion." Any aspect described 16 (sometimes referred to as a display), a keyboard 18,
herein as "exemplary" is not necessarily to be construed as 1~ aud/of a mouse 20. In some aspects, the monitor 16 may be
preferred or advantageous over other aspects, incorporated into the housing 14. While a keyboard 18 and
Aspects disclosed in the detailed description include mouse 20 are illu~a74ted input devices, the monitor 16 may
power saving techniques in computing devices. In particular, be a touchscreen display, which may supplement or replace
as data is received by a modem pmcassor in a computing the keyboard 18 and mouse 20 as an input device. Other
device, the data is held until the expiration of a modem 20 input/output devices may ai.~o be present as is Well ~mder-
timer. The data is then pa~sed to an application processor in stood in conjunction with desktop or laptop style computing
the computing device over a peripheral component inter- devices. While not illustrated in FIG. ~A~ the housing 14
connect express (PCIe) interconnecti~,ity bus. on receipt of may also include a modem, therein. The modem may be
the data from the modem processor, the application i~roces- positioned on a network interface card (NIC), as is well
sor sends data held by the application processor to the 25 understood. Likewise, a router and/or an additional modem
modem processor over the PCIe in.terconneetivity bus. The may be e?~teynal to the housing 14. For example, the com-
application processor also has an uplink timer. If no data is puting device 10 may couple to ~ network 12 through a
received from the modem proceSsor before expiration of the router a~l a Cable modem, as is well understood. However,
uplink timer, the application processor sends any collected even where such external reuters and modems are preseat,
data to the modem processor at expiration of the uplink 30 the computing device 10 is likely tO have an internal modem
timer. However, if data is received fi~m the modem proces- to effectuate commtmicafion wifla such ~temal routers and
sor, the uplink timer is reset. By holding or accumulating the modems.
data at a source processor in this fashion, unnecessary In addition to the compUtinl] device 10, exemplary aspects
transitions between low power states and active states on the of the present disclosure may also be implemented on a
PCIe bus are reduced and power is conserved. 3~ mobil~ [erm~.na]; which is a form of computing device as that
In an alternate aspect, instead of imtiating data transfer term is used herein. In this regard, an exemplary aspect of a
based on the expiration of the downllnk timer (with or mobile terminal 22 is illustrated in FIG. lB. The mobile
without expiration of the uplink timer), accumulated data t~mlnal 22 may be a ~mart phone, s~ch as a SAMSUNG
transfer may be initiated based on expiration of just an GALAXYr~ or APPLE iPHONE. Instead of a smart
up ".liBk accumulation timer. The uplink accumulation timer 40 phone, the mobile t..er~_.inal 22 may be ~ cellular tdephone,
may be within a host or a device associated with the a tablet, a laptep, or other mobile computing device. The
interconneetivity bus. mobile ter~ninal 22 may communicate with a remote antenna
In another alternate aspea, initiation of the data transfer 24 associated with a base station (BS) 26. The BS 26 may
may be based on reaching a predefined threshold for a byte communicate with the public land mobile network (PLMN)
accumulation limit counter. The byte accumulation limit 45 28, the publi switched telephone network (PSTN, not
counter is not mutually exclusive relative to the other shown), or a network 12 (e.g., the interact), similar to the
counters and may operate as an override mechanism for one network 12 in FIG. 1A. It is also possible that the PL1VIN 28
of the other accumulation timers. Use of such an override communicates with the intemet (e.g., the network 12) either
n~y be useful in situat~0us where a sudden burst of data directly or through an intervening network (e.g., the PSTN).
arrives that Would exceed b~er space and/or bus band- s0 It should be appreciated that most contemporary mobile
width. Likewise, instead of a byte cOmiter, a packet Size terminals 22 allow fo~ various types of communication with
counter or a "total numbex of packets" counter may be used elements of the network 12. For example, streaming audio,
to cover situations where numerous packets or a particularly streaming video~ and/or web browsing are ell common
a large packet is delivered by the iietwork. functions on most contemporary mobile terminals 22. Such
In further aspects of the present disclosure, the timers may ~s functions are enabled tltmttgh applications stored in the
be overriddan by other factors or parameters. Such an memory of the mobile terminal 22 and using the wireless
override is ailuded to above with the byte accumulation limk transceiver of the mobile termlnal 22.
counters and the total number of pocket~ counter, which To effectuate functions, such as streaming video, data
causes dam ~msfers independently of the timers. Other arrives from the remote antenna 24 at an antenna 30 of the
parameters may also ove.mde the timers, such as the pres- ~0 mobile terminal 22, as illustrated in FIG. 1C. The data is
ence ofl0w latency tralfic (eg, control messages)~ synchro- initially processed at a mobile device modem CMDM) 32 of
ni~ng the uplink and downlink data transfers, or low latency the mobile terminal 22 and passed to an application proces-
qualit~ of serVica requirements. When such traffic is present, sor 34 by an interconnectivity bus 36. In this context, the
an intexmpt or other command may be ~ to initiate data application processor 34 may be a host, and the MDM 32
transfers before expiration of a timer. Still other factors may ~ may be a device as those terms are used in the PCIe Standard.
override the timers, such as an indication that a device or While exemplary aspects contemplate operating over a
host is not in an automatic polling mode. PCIe-comphant interconnecfivity bus 36, it is possible that
Exhibit E
......Copy provided by USPT0 ~om the PIRS Image Database on 04/05/2017
Page 99
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.143 Page 143 of 177
US 9,535,490 B2
7 8
the interconneetivity bus 36 may comply with High Speed keypad and display may enable the user to input numbers to
Interconnect (HSIC), universal Asynchronous Receiver/ be dialed, access address book inormation, or the like, as
Transmitter (UART), universal serial bus (USB), orthe like. well as monitor call progress information. The m~mory 48
A more detailed depiction of the components of the may have the software 50 therein as noted above, which may
mobile ter~in~! 22 is provided with reference to FIG. 2. In 5 effectuate exemplary aspeCts of the present disclosure.
this regard, a block diagram of some of the elements of the In conventional mobile terminals that have a PCIe inter-
mobile terminal :I_2 of FIG. 1B is illustrated. ~T~_e mobile connectivity bus(i.e., the interconnectivity bus 36), the PCIe
terminal 22 may include a receiver path 38, a transmitter standard allows the interconnectivity bus 36 to be placed
path 40, the allt~nna 30 (meJ~.ti01~.ed above With reference to into a sleep mode. While placing the interconneCtivity bus
FIG. 1C), a switch 42, a modem processor 44, and the I0 36 in a sleep m~de generally saves power, such sleep modes
application processor 34 (also introduced above in reference do have a drawback in that they consume relatively large
to FIG. 1C). Optionally, a separate control system (not amounts of power as they Iransition out of the sleep mode.
shown) may also be present with a CPU as is well under- This power consumption is exacerbated because of the
stood. The application processor 34 and the modem proces- asynchronous nature of the PCIe interconnecfivity bus 36.
sor 44 are connected by the interuonnectiviry bus 36. The 15 That is, first data may arrive at the modem processor44 for
applica~on processor 34 and/or the cunt~l system (if pres- transmission to the application processor 34 at a time
ent) may interoperate with a user interface 46 and memory different than when the second data is ready to pass from the
48 with soi~ware 50 stored therein. application processor 34 to the modem processor 44. This
The receiver path 38 receives information bearing radio problem is trot unique to the PCIe interconnecfivity bus 36.
frequency (RF) signals from one or more remote transmit- 2o FIG. 3 illu.stratas a time versus link power graph 52 that
ters provided bya base station (e.g., the BS 26 of FIG. 1B). highlights how downlink data 54 may have a different
A low noise amplifier (not shown) amplifies the signal. A u~tusmJssiun time than uplink data 56 within a given time
filter (nOt shown) rnlnlrni~S broadband interference in the slot 58. In particular, the InteroonneCtivi~ bus 36 (FIG. 2)
received signal. Down conversion and digitization circuitry begins in a sleep or low power mode and transitions up to an
(not sho~wn) down converts the filtered, received signal to an 25 active power m0de by tr~ns.i~ion 60 so that the dev~link data
intermediate or baseband frequency signal. The baseband 54 may be transmitted to the application processor 34.
frequenc)~_signal is then digitized into one or more digital However, the dewnlink data 54 may not oc60py the ehtirety
str~mn. The receiver path 38 typically uses one or more of the time slot 58, and the interconnectivity bus 36 may
mixing frequencies generated by the f~quency synthesizer. return to a low power stato, However, subsequently, but still
The mock_.m processor 44 may include a base band processor .30 within the same time slot 58, the uplink data 56 from the
(BBP) (not shown) that processes the digitized received appficafion processor 34 is sent to the modem processor 44.
signal to extract the information or data bits conveyed in the Accordingly, the interi~6maecfivity b~ 36 is again transi-
sJ~rnal- As snch, the BBP is typically implemented in one or tioned from the low power state to the active power state by
more digital signal processors (DSPs) within the modem a second transition 62. In an exemplary aspect, the time.slot
processor 44 or as a separate ~integrated circuit (IC) as 35 58 is approximately one millisecond long. Thus, if two
needed or desired. transitions (i.e., 60, 62) from low power to active power
With ceatinued reference tO FIG. 2, on the trammit Side, ocCUr every time slot 58, then thousands oftmuSiti0ns 60, 62
the modem processor 44 receives digitized data, which may occur every second. Thousands of transitions 60, 62 con-
repr~san! voi~e, da__l~, or coatrel inform~.~.~0n, from the aPp!i- sume subsoil amot~_.ts of pow~ and reduce the battery
cation processor 34, which it encodes for transmission. The ~0 fife of the mobile terminal 22.
encoded data is OutpUt to the tram~titter path 40, Where it is Exemplary aspeCts of the present disclosure redace the
used by a modulator (ne~ shown) to modulate a carrier signal number of transitions (i.e., 60, 62) from low power to active
at a desired transmit .frecLu_en_cy. An RF power amplifier (not power by sYnchr~ni~_ng packet trs~aSt~ssion from the
shown) amplifies the modulated carrier signal to a level modem processor 44 and the application processor 34,
appropriate for transmission, and delivers the amplified and 45 Which in tRrn allows th~ llnk to be malnt~ined in a 10W power
modulated carrier signal to the antem~a 30 tl~oUgh the mode more efficiently since the communication on the link
switch 42. Collectively, the modem processor 44, the is conso]ida[~l tO allmina[o the second power state transi-
receiver path 38, and tt~ tra~_.mitter pa~ 40 fo.rm_ the MDM tion. ~ an exemplary aspect, the data (i..e., the modem dam)
32 of FIG. 1C (sometimes also referred to as a wireless from the modem processor 44 transmits first, and the data
modem). While the MDM 32 is specifically descnbed with ~0 (i.e., tl~ appficafion data) f.mm the application processor 34
relation to the RF signals associated with a cellular signal, is sent aRer arriv_a! of the modem data and before the
the present disclosure is not so limited. For example, a interconnectivity bus 36 can return to the low power state.
wireless modem Using other wireless protocols may also The synchronization is d6ne tlirough the use of timers at the
benefit from inclusion of aspects of the present disclosure. modem processor 44 and the application processor 34. The
Thus, modems op~.~ according to stand~ds sUCh as 55 timers may be longer thap a time slot 58 of the inte~On-
BLUETOOTH, the various IEEE 802.11 standards, Uni- nectivity bus 36.
Veisal Mobile Teiecommunieatiuns System (UMTS), High In a first exemplary aspect, the timer o~ the appli~afien
Speett Packet Access (HSPA), Long Term Evolution (LTE), processor 34 is longer than the timer on the modem proces-
and other witless protocols may all use aspects of the sor 44. The accumulation may be done on a per logical
present, disclosure. 60 channel basis. The timer may be configurable by the appli-
With continued reference to FIG. 2, a user may interact cati6n processor 34 Using a mechanism ~uitable to the
With the ~nobile te~ainal 22 via the user interface 46, such ~nnectiVity bus 36. For example, on a fusion device
as a microphone, a speaker, a keypad, and a display. Audio using a modem host interface (MI-H) over PCIe~ the timer is
information.encoded in the received signal is recovered by maintained for every inbound MHI channel alad the time
the BBP, and con,~erted into an analog signal suitable for 65 value used by the timers shall be configured via a MHI
driving the speaker. The keypad and display enable the user comman~ m~s~agl~ og a PCIe memory mapped input/output
to interact with the mobile terminal 22. For example, the (MMIO) device configuration register exposed via a base
Exhibit E
Page 100
Copy provided by USPTO from the PIR$ Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.144 Page 144 of 177
US 9,535,490 B2
9 10
address re~ister (BAR). The BAR iS a PCIe standa~i defined e application processor ~4 until it detects no further
mechanism l~y which a host maps tJ~e registers of a device downlink data 54 activity. That is, the modem processor 44
into i~s virtual address map. For more information about may inteisperse pulling the uplink data 56 while receiving
Mill, the interested re~der is referred to U.S. patent appli- the downlink data 54. !f, however, no modem data is present
cation Set. NO. 14/163,846, filed Jan. 24, 2013, which is 5 at the modem processor 44 when the modem timer expireS,
herein incorporated by reference in its entirety. In other the application timer continues. (i.e., another millisecond)
exemplary aspects, the timer on the modem processor 44 i~ (block 86). At the expiration of ~e application timer, the
longer than the timer on the application proeesser 34. In still application processor 34 sends any held data to the modem
other exemplary aspects, counters may be used in place of processor 44 through the interc0nne(tiVity bus 36 (block
timers. The counters may be bit eonnters, packet counters, ~0 88). The process th~ repeats by starting over (block 90).
packet size coup_ters, or the like. In other exemplary aspectS, As noted above, the uplink timer (i.e., the application
use of such alternate counters may be combined with the timer) is, in an exemplary aspect, designed to be longer than
timers. In still othar exemplary aspects, other override the downlin~ timer (i.e., the modem timer) to increase the
cS-iteria may allow for data to be sent before timer or entmter uplink/downlink synchronization Whenever the dovcnllnk
expiration so as to reduce latency and/or satisfy the quality ~5 timer expires. While bolding data for an extra lime slot adds
of service requaremants. The present disolosure steps some latency, the brief amount added is readily absorbed by
through each of these aspects in ttma, be~niilng with the the application processor 34..Likewise, this latency is con-
situation Whe~ there are two timers, and the application sitt~red acceptable for the power savings. For example, by
processor 34 has a timer that is longer than the timer of the making the period of the modem timer twice the period of
modem processor 44. 2o the time slot ~8, the ~umbor of low power to active power
In this regard, FIG. 4 illustrates an exemplary power transitions is potentially halved. Likewise, by making the
saving prooesS 70. Th~ pr~.ess 70 betas with the intereon- period of the application timer six times the period of the
aectivity bus 36 in a loV~l~ower state (block 72). TI~ modem time slot S8, the chance of being able to --ifiggyback" onto
timer and the application timer are started (block 74). The the active power state of the intercounectivity bus 36 caused
timers may be software stores in the modem processor 44 25 by the modem data is increased, but still frequent enough
and the application processor 34 or may be physical ele- that any uplink data ~6 will s~ill be sent in a timely fashion
ments, as desii~ed. Data is gCaerated by the application even if there is no downtink data 54 to trigger releasing the
processor 34 and data is received from the network 12 by the uplink data $6. Similar logic Can be extended to synchronize
modem processor 44. The app_lication data is held at the traffic from multiple prOcessors over the data link: In an
application processor 34 (block 76), and the modem data is 3o exemplary aspect, the other processors may each have timer
held at the mods~ proceSSor 44 (block 78) while the timers values higher (i.e;, longer) than that of the downlink timer,
are l~mnln~. A~ rioted above, in an exemplary aspect, the and the processors can exchange their data availability
time slot ~ of the i_rrtercennectivi~y bus 3a is one millisec- information so that traffic on One processor can trigger the
ond. In such an aspect, the modem timer may be approxi- data tratisfer on other processors if there is data available to
mately two to six milliseconds, and the application timer is 35 lransfer.
thrce to se,Cen m~llisec0~ds, or at least longer than the FIG. $ ill._ustmtOs a graph 100 where the uplink data ~6
modem timer. Tha modem timer expires (block 80). If follows the downlink data ~4 during an active period 102 of
modem data is present, the modem data is released by the the interoonnectiVity bus36 (FIG. 2). As illustrated, there is
mode~ processor 44 through the interconnectivity bus 36 to only one transition 104 from low power to active power p~r
the application processor 34 (block if2). ~0 time slo~ ~8. Thus, by consolidating the data into a single
The mech~hi~m for data lransfar may be initiated and active period 102, the overall time that is spent in low power
controlled by tl~ modem processor 44 (i.e., the device). For may be increased, thus resulting in power savings. Addi-
example, on a fusion device usi~ MH/ over PCIe, the tionally, power spe~it tramitio~ing from a low power to
modem processor 44 may poll (read) the MHI channel active po~er state is reduced by the eliminztion of the
Context Write Pointer m determine data butlers where 4~ second transition 62.
dowalink packets can be traasferred. The application pro- While it is conoeivable that the uplink data ~6 could be
cessor 34 updates the ehnnnel context data structttres Con- sent before the downlink data $4 (i.e., the application timer
text Writ~ Po~ter field to point to the data la~ansfur descrip- is shorter than the modem timer), such is generally not
tors without ringing an inbound eh~nn~l doorbell. The considered optimal because th_e_re are usuany far more
modem processor 44 ma~ poll for ~pdates 0n the COntext ~0 downlink packets than uplink packets. If this aspect is used,
Write Pointer field as n~eessitated by downlink tra~. When the application prooessor 34 may buffer uplink data packets
the modem processor 44 runs out of buffers, i.e., a U-ansfer into local memory prior to initiating u-ansfer to the modem
ring is empty, and no buffers are present to transfer downlink processor 44. These accum_nlated packets are controlled via
data, the modem processor 44 may generate an event (e.g., an uplink accannulation timer. If there are plural chan~els,
an "out-of-buffer") notification tO the application processor 5~ then a timer may be applied to each channel independently.
34, followed by an interrupt. Upon receiving tha event When the application processor 34 is unable to use or does
notification fi~m the modem prooe~sor 44, the application not have an uplink timer, the modem prooessor 44 may be
processor 34 shall provide data buffers by updating the able to "ms_ tantiate an uplink timer, and upoi~ e~piry of the
channel Context Write Pointer and shall ring the Inbound uplink timer, will poll data from the application processor
channel doorbell. 60 34. This exemplary aspe~ is explained in greater detail
After arrival of the modem data at the application pro- below with reference to FIGS. 6 and 7.
cessor 34, the application processor 34 releases any appli- In this regard, FIG. 6 illustrates an exemplary po~,er
CatiOn data that has been held at the application processor 34 saving process LI0. The process 110 begins ~qith the inter-
and resets the application timer (block 84). Note tbat the connectivity bus 36 ia a low power state (block 112). The
application timer can run on the modem proeesso~ 44 or the ~5 modem timer and the applicatioix timer are started (block
application proeess0r 34. As an alternative, the modem 114). The timers may be software sto~d in the modem
processor 44 may continue to pull the uplink data 56 f~m processor 44 and the application processor 34 or _may be
Exhibit E
Page 101
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.145 Page 145 of 177
US 9,535,490 B2
11 12
l~hys.ical elements as desired. Data is generated by th.e cts threshold, si~ of packet threshold, or the like) or
application processor 34 and data is received from the downiink acotmiulation expiry timer values (e.g., from
~ietwork 12 by the modem processor 44. The application among the various channels) as the effective downl~nk
data is held a.t the application processor 34 (block 116), and accumulation timer expiry value. Intelligent modem proces-
the modem data is held at the modem processor 44 (block s sors 44 may also dynamically ovearida or alter the downlink
118) While the timers are braniffE. ~ not~q~ above, ill an acCumulation timer value depending on the dewnlink traffic
exemplary aspect, the time slot 58 of the intercounectivity pattern, and/or may adjust the downlinkaccumulation timer
bu~ 36 is one millisecond. I~ such an aspect, the application to acl~ieve a da~ired quality of s~-vice (QoS) for d~._ta and!or
timer may be approximately two milliseconds, and the to control traffic. A change of configuration can be triggered/
modem timer.iS three milliseco~is, orat least longer than the 10 contr~lled by the @plication processor 44 or any other
application timer. The application timer expires (block 120). processor in the system as welL via MI-II control or QMI
If application d~_ta is present, the application data i~ released siEnallng (such as, forinter process signaling).
by the application processor 34 through the interconneetivity In addition to, or in place Of, downlink and uplink lime.rs.,
l~us 36 to the modem procesSOr 44 (block 122). a byte accUmUlation limit coUmer may also be used by the
After arrival of the applicatiO~a data at the modem pro- 15 modem processor 44 fo~ downiink traffic and the ~pplica~ion
cessor 44, the modem processor 44 releases any modem dam processor 34 for uplink traffic. Tiffs aspect may be advan-
that has been hgld a~ the modem processor 44 and resets the tageous in situations where the~e is a sudden burst of data
modem timer (block 124). Note that the application timer pushed by the network.or application Note _t~at this aspect
can run on the modem processor 44 or the application is not mutually exclusive and ma~, be implemented as an
processor 34. Likewise, the modem timer can run on the 20 override mechanism for either dewnlink oi~ uplink timers.
modem processor 44 ortbe application processor 34. For example, if th~ dewniink accumulation timer is set
With continued reference to FIG. 6, if no application data relatively high to conserve power,, a sudden burst of data
is present at the:application processor 34 when the applicar may exceed the buffer capacity of the modem processor 44,
tion timer expires, the modem timer continues (i.e., another or if allowed to acc~aulate in memory of the modem
millisecond) (block 126). At the expiration of the modem 25 processor 44, this burst of data may exceed bus Bandwidth
timer, the modem processor 44 sends any held da!a to the allocations on the application processor 34. The application
application processor 34 through the intercounectivity bus processor 34 can determine and configure the _ma_.ximum
36 (block 128). The process then repeats by starting over byte accumulation limit based onits bus bandwidth budget,
(block 130). and/Or buffer sizb reserved for deWulinI data transfer. The
As noted above, in this exemplary aspect, the uplink timer 3o modem processor 44 can also choose an internal byte
(i.e., the application timer) is,. in an exemplary aspect, accumulation limit based on the size of dewniink buffer,
designed to be shorter than the downlink timer (i.e., the and/or interoounect link data _throUghpu~.~ With the byte
modem timer). While holding data for an extra time slot 58 accumulation limit counters, the modem processor 44 can
adds some latency, the brief amount added is readily initiate duwnlink data transfer to the application processor
absoroed by the application processor 34. Likewise, this 35 34 prior to downlink accumulation timer expiry, if and when
latency is considered acceptable for the power s~avha~s. For the buffered _data si_ze exceed_s._ the byte accum~af!0n limit
example, by making the period of the application timer twice counter. Since both the modem processor 44 a~d the appll-
the period of the time slot 58, the number of 10w power to catioh processor 34 may ha~,e independent rbcommenda-
active power transitions is lowered. Likewise, by making the tions for byte accumulation limit cOunter, the modem pro-
period of the modem timer six ._l~es tl~e period of the time 40 cessor 44 may select the minima of these two vahles to he
slot 58, the chance of being able to "piggyback~ onto the the effective byte accumulation limit. Similar parameters
active power state Of the interconnectivity bus 36 caused by may be maintained In the applicat!0n processor 34 to trigger
the application data is increased, but still li-eque~t enough the uplink data 56 transfer ir~mediately (i.e., overriding the
that any downiink data 54 will still be sent in a timely uplink accumulation timer).
fashion even if there is no uplink data 56 to trigger releasing 45 Instead of, or in addition to th9 byt~ accumulation limil
the downlink data 54. Similar logic can be extended to counter, a number of packets limit counter may be used. In
synchronize tmffi~ from multiple processors over the data an exemplaiy a~pect, the packet numbor limit counter may
llnk. In all exemplaXy aspect, the other processors may each be of similar design, and can be ~mployed to add ~anbe~ of
have timer values higher (i.e., longer) than that of the uplink packet counter limits instead of byte limits to cover cases
timer and the processors can exchange their data availability 5o where a large number of packets ere delivered by the
information so that traffic on one processor can trigger the network or an application. Again, such a packet limit counter
data transfer on other processors if there is data available to may also be present or associated with the application
processor ~4 or the modem l~ocessor 44. Note, that the
FIG. 7 illnslrates a graph 140 where the uplink data 56 accumulation timers (uplink and/or downlink) and other
precedes the dewnlink data 54 during an active period 142 55 configuration l~aramete~ like the number of accuniulated
of the intercennectivity bus .36. As illustrated, there is only packets threshold, accumulated bytes threshold, and the like,
one transition 144 from low power to active power per time may be a function of LTE, HSPA, GERAN, or the like.
slot 58. Thus, by consolidating the data into a single active In still auother exemplary aspect, the modem processor 44
period 142, the overall time that is spent in low power may or the application processor 34 may disable downiink or
be increased, thus resulting in power savings. Additionally, 6o uplink accumulation in cases where there is a necessity to
power spent transitioning from a low power to active power expedite messnge transfer, for example onlro! messages
State is i~luced by the elimination of the second transition (!ike flow control) or high QoS data traffic or low latency
62. traffic, as determined by the modem processor 44 or the
In an exemplary aspeCt, the modem processor 44.may application processor 34. Latency introduced by accumula,
O~ier~id~ alld choose th~ minima ~om all configttred values ~5 tion may not be tolerable for thesb traffic classes.
of each of the configurable parameters (like downlink or Returning to the data accumulation based on amounts of
uplink accumulation timers, byte threshold, number of pack- data instead of a strict process, FIGS. 8 and 9 illustrate two
Exhibit E
provided by USPTO from the PIR$ Image Database on 04/05/2017
Page 102
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.146 Page 146 of 177
US 9,535,490 B2
13
exemplary aspects. In .t~fi~s regard, FIG. 8 illuatrates a process both the modem processor 44 and the application processor
150 illustrating a byte counter process. In particular, the 34, the process 180 starts over (block 196).
process 150 begins with the interconnectivity bus 36 in a low A similar process may be used, where instead 0f deter-
power state (block 152). The process 150 starts a modem miniIlg if a particular number of bytes or packets have been
byte counter a~t an ai~pficetion byte coV~nter (block 154). s accumulated, the control system evaluates a size of packets
Data is held at the application processor 34 (block 156) and or whether the system is r~mnlng low in memory. Likewise,
the modem processor 44 (block 158). A control system it should be appreciated that certain priority data (e.g., a
determines if the modem byte counter has exceeded a conlrol signal or other data requ~a~ng low latency) may be
associated with a flag or other indicator that overrides the
predefined threshold (block 160) based on the amount of
I0 timers and/0r counters of the present disclosure.
data that has been held or accumulated at the modem
As noted above, it should l~e appreciated that the aspects
processor 44.
of the present disclosure are normutually exclusive and can
With continued reference to FIG. 8, if the answer to block
be combined, The combinations are m~__ad in that a timer
160 is yes, then data is sent from the modem processor 44 may be used at the application processor 34 with a byte
to the application processor 34 (block 16_2). After re~;eipt of 15 counter at the modem processor 44 (or vice vexsa), the
the data from the modem processor 44, the application modem processor 44 works with a timer and a byte counter,
processor 34 sends data (if any) that has accumulated at the while the application processor 34 just has a timer, and so
application processor 34 to the modem processor 44 (block on. In this regard, FIGS. 10-!~ are provided that illustrate
164). Having cleared the accumulated data at both the how the timers and data accumulation counters may inter-
modem processor 44 and the application processor 34, the 20 operate. That is, FIGS. 10 and 11 illustrate how the dewnlink
process starts over (block 166). timex (whether in the modem processor 44 or the application
With continued reference to FIG. 8, if the answer to block processor 34) is used as the.basis for data transmission (e.g.,
160 is no, the control system determines if the data at the as illusu-a~ed in FIGS. 4 and 5), may be combined with the
application byte counter h~_s exceeded a predefmed threshold data accumulation counters, and is further modified by a
(block 168). If the answer to block 168 is no, the process 150 25 high priority data override. FIG. 12 illmwates a Simplified
returns to block 156 and data continues to be held ~mtil a process in which the uplink timer combined with the data
byte counter threshold is exceeded. If, however, the answer accumulation countexs is used as the basis for data rams-
to block 168 is yes, then the data is sere from the application mission (e.g., as illustrated in FIGS. 6 and 7), modified by
processor 34 to the modernprocessor 44 (block 170). A.tier the data overrides.
receipt of the data from the application processor 34, the 30 In this regard, FIGS. 10 and 11 illustrate a combined
modem processor 44 sends data (if any) to the application process 210 that begins at start (block 212). The process 210
proceSsor 34 (block 172). Having cleared the accumulated continues with the arrival of downl~nk (DE) data (e.g., a
data at both the mode_m processor 44 and the application pa_cket) (block 214). The control systen_a_ evahiates ffthere is
processor 34~ the p~cess 150 starts over (block 166). any priority data, control messages, and!or other data that
While a byte counter may be effective in managing 35 requires low latency (block 216). If the answer to block 216
latency, anothei: exemplary aspect u~s a packet counter. In is no, then the c6ntrol system datermines if a byte threshold
this regard, FIG. 9 illustrates a process 180 illustrating a byte has been crossed (i.e., are there more than the threshold
counter process. In particular, the process 180 begins with worth of bytes in the accumulator) (bloc~ 2!8). If the answer
the intercounactiv;ity bus 36 in a low power state (block to block 218 is no, then the control system determines if a
182). The process 180 marts a modem packet counter and an ~0 number of packets threshold hes been crossed (i.e., thexe are
application packet counter (block 184). Data is held at the more than the threshold~orth 0fpackets in the ac~.~mulator)
application processor 34 (block 186) and the modem pro- (block 220). If the answer to block 220 is no, then the conlrol
eessor 44 (block 188). A control system determines if the system determineS if the system is pmnln~ low ~B memory
modem packet counter has exceeded a predefined threshold (block 22_2). If the answer to block 222 is no, then the control
(block 1903 based on the number of packets held or acou- ~5 system ascertains ff the downlink accumUlation timer is
mulated at the modem processor 44. r, nnlng (block 224). If the answer ~o block 224 is yes, then
With continued reference to FIG. 9, ff the answer to block the dewulink data continues to accumulate and no data
190 is yes, then data is sent from the modem processor 44 Wansfer is initiated over ~ link (block 226).
to the application processor 34 (block 192). A~ex receipt of With continued reference to FIG. 10, if, however, the
the packets from the modem processor 44, the application so ansWer to block 224 is no, the dowhllnk tii:iaex has eApil~d,
processor 34 sends data (if any) that has accumulated at the or if any of the overrides from block 216, 218, 220, or 222
appli9ation processor 34 to the modem processor 44 (block has been answe~l afftmmtively, then the process 210 starts
194). Having cleared the accumulated packets at both the transfer of the accumulated data (including the cun~t
modem processor 44 and the application processor 34, the packet) over the link from the modem processor 44 (also
process 180 starts over (block 196). 55 sometimes referred to as modem (44) in th~ Figures) tO the
With continued refexence to FIG. 9, if the answer to block application processor 34 (also sometimes referred to as AP
190 is no, the control system determines if the number of (34) in the Figures) (block 230). The cunlml syStem s~ts or
packets at the application packet countei: has exceeded a restarts the downllnk accumulation timer and sets the down-.
predefmed threshold (block 198). If the answer to block 198 link accumulation timex to r~_mninS (blo~ 232). The conlz01
is no, the process 180 mmms to block 186 and data s0 system deters if the rood_era processor 44 is in an uplink
continues to be held until a packet counter threshold is (UL) polling mode (block 234). If the answer to block 234
exceeded. If, however, the answer to block 198 is yes, then is no, then there is no uplin1~ transfer (block 236). If,
the data i~ sent from the application proceSsor 34 to the however, the modem processor 44 is polling the uplink
modem processor 44 (block 200). A_Rex receipt of the device, then, based on that polling, the control system
packets from the application processor 34, the modem 65 determines if there is pending uplink data from the appli-
processor 44 sends data (if any) to the application processor cation processor 34 (block 238). If there is pending data (i.e.,
34 (block 202). Having cleared the accumulated packets at the answer to block 238 is yes), then the application pro-
Exhibit E
Page 103
Copy provided by USPTO fiom-th~:PlRS Image Database On 04105/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.147 Page 147 of 177
US 9,535,490 B2
15 16
cessor 34 starts data transfer to the modem procesSOr 44 packet) (block 284). The control system evaluates ffthere is
(b!ock 240). Once the data transfer is finished, or if there wag any priority data, control messages, and/or other data that
no data at block 238, the control System restarts the uplink requires low latenc (block 286). If the answer to block 286
accumulation timer (block 242) end the process 210 ~ is no, then the ~ontrol system determines ira byte threshold
tO start 212. s has been crossed (Le., axe there more than the threshold
With continued reference to FIG. 10, aRer block 226, the worth of bytes in the accumulator) (block 288). If the enswer
control system determines ffthe dOwnilnk timei- has expired to block 288 is no, then the control System determines ff a
(block 244). If the answer to block 244 is no, the control number of packets threshold has been crossed (i.e., there are
system de~e.zmine__s ff a new packet ~ at:rived (block 246). more than the _.RUeshold worth of packets in the accumui~tor)
If the ~apswer to block 246 is no, then the process 210 returns 10 (block 290). If the answer to block 290 is no, then the control
to block 244. If a new packet has arrived, the process 210 system determines ifthe System is r~mning low in memory
returns to the start 212. Iftho answer to block 244 is yes, the (block 29:~). If the answeX to block 292 is no, then the control
downl:ink timer has expired, the control system knows the system ascertains if the device is inan uplink polling mode
downlink accumulation timer has expired (b!ock 248). At (block 294). If the answer to block 294 is yes, the device is
expiration of the downlink th~er, the control system doter- ~s in the polling mode, then the application proceS.sor 3,1
mines if there is any pending accumulated downlink data updates the internal data slz~ctore/ ontext array with uplink
(block 250). If there is data at block 250, then the data is data packet inf0nnation that the device can pull end update
transferred at. biock 230. If there is no data, then the write pointers accordiRgly (biock 296).
dowulink accumulation timer is set to "not rnnning" (block With continued reference to FIG. 12, if, however, the
252) and the process 21!0 goes tO FIG. 11~ element C. I~ Z0 answer to bloc~; 294 is no, the device is not in an uplink
should be appreciated that blocks 216, 218, 220, and 222 are polling mode, or if any of the overrides from blocks 286,
optional. 288, 290, or 292 has been answered affirmatively, then the
With reference to FIG. 11, the process 210 may Continue ~pplication processor 34 updates the internal data structure/
from block 252. At this point, the uplink accumulation timer context array with uplink data packet information that the
has expired (block 254). The uplink accumulation timer will ~s device Cenp ~ull end update write pointers accordingly (block
expire if there is no downlink data since the uplink timer was 298). The application processor 34 then rings the doorbell or
restarted. The control System determines if there is any otherwise inten-upts the device to.indicate the availability of
p~xling uplink data from the application processor 34 upiink data (block 300). The application processor 34 then
(block 256). If the answer to block 256 is yes, then the sets the device state to the polling state (not the doorbelF
app!icag0n processor 34 starts the data transfer over the link ~0 eventrmterrupt mode) (b!ock 302), and the process repeats.
from the application processor 34 to the modem processor It should be appreciated that similar processes may be
44 (block 258). The control gystem then restarts the uplink performed Whore both timers arein the application processor
accumulation timer (block 260). If, however, the answer to 34 or the modem processor 44 or are split between the
block 256 is no, there is no data, the control system sends an respective processors 34, 44. Likewise, once a timer has
event to the application processor 34 indicating the modem 3s expired, data can be pulled or pushed across thee intercon-
processor 44 is expecting a doorbell/interrupt for any pend- nectivity bus 36 based on polling, salting doorbell registers,
ing or next packet submission (block 262). That is, since or other technique.
them has been.no data from the application processor 34 to Those of skill in the art will further appreciate that the
the modem processor 44 since the previous poll time, then various illustrative logical blocks, modules, circuits, and
the modem _p_roce~sor 44 may go into en interrupt mode for 40 algorithms described in connection with the aspects dis-
uplink data end the modem processor 44 wo~d expect the closed herein may be implemented as electronic hardware,
application processor 34 to send en interrupt whenever there instructions stOred in memor) or in another 0mi~Uter-
was data pending at the application pr0cess~r 34. The readable medium and executed by a processor Or o~
control System then changes the state internally to reflect the processing device, or combinations of beth. The devices
same (block 264).: 4s describedlherein _may be employed in any ~!, ~are
With continued reference to FIG., 1~1, the mgdem proces- component, .IC, or IC chip~ ~ examples< Memory disc!osed
sor 44 receives en interrupt or other indication from the herein may be any type and Size of memory and may be
appiiCatiOn processor 34 indicating pending data in the config~ired to stor~ afiy type of inforniation desired. To
transfer ring (block 266). The control system then restarts clearly illustrate this interchangeability, various illustrative
the uplink accumulation timer and changes the state to ~o components, blocks, modules, circuits, and Steps have been
indicate the upiink polling mode (block 268). All the uplink described abeve generally in terms of their functionality.
data is processed (block 270) end the process 210 starts over. How such functionality is implemented depends upon the
In another alternate aspect, there may be situatiOnS where parfi~ appliea~io~ design choices, and/or design con-
the buffers of ~ application processor 34 may be full and straints imposed on the overall System. Skilled artisans may
there is no room for data from the modem processor 44. In ~ implement the descnbed fimcfioiiaHty in Warying W~iys for
such en event, the applic~t!on processor 34 may so inform each particular application, but such implementation deci-
the modem t~rocessor 44,.end the modem processor 44 may sionS should not be i~erp~ned as causing a dep~ _fi~m
send an event to the application processor 34 to provide an the Scope of the present disclosure.
interrupt Signal to the modem pmcessog 44 when there are The various illustrative lo$ical blocks, modules, and
free buffers. ~0 circuits described in connection with.the aspects disclosed
FIG< 12iS simila~ to FIGS. !0 and 11, in tha! it illustrates herein may be implemented or performed with a processor,
how ove..rri:des and data counters may be used in conjunction a Digl~ Sisal__ Processor ~SP), an Applic~tien Specific
with an accumulation timer, but a process 280 of FIG. 12 Integrated Circuit (ASIC), a Field Prol~mmmable G-ateArray
assumes that the uplink timer is shorter than the downlink (FPGA) or other programmable logic device, discrete gate or
timer (e.g., analogous to the aspect iilustruted in FIGS. 6 and 6s IrensistOr logic, discrete hardware components, or eny com-
7). The process 280 begins at start (block 282). The process bination thereof designed to perform the functionS described
280 continues with the arrival of uplink (UL) data (e.g., a herein. A processor may be a microprocessor, but in the
Exhibit E
Page 104
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.148 Page 148 of 177
US 9,.535,490 B2
17 18
alternati~e, the processor may be any conventional proces- to modem processor data is sent to the modem proces-
sor, controller, microcontroller~ or state machine. A proces- sor through the intercoanectivity bus responsive to the
sor may a~so be implemented as a combination ofcomputing receipt of the modem processor to application proces-
devices, e.g., a combination Of a DSP and a microprocessor, sor data from the modem processor through the inter-
a plurality of microprocessors, one or more microprocessors connectivity bus.
in conjunction with a DSP core, or guy other such configu- 2. The mobile terminal of claim 1, Wherein the intercon-
ration. nectivity bus comprises a peripheral component intercon-
The aspects disclosed herein may be embodied in hard= nect (PCI) compliant bus.
ware and in imtructions that are stored in hardware, and may 3. The mobile terminal of claim 2, wherein the PCI
reside, for example, in Random Access Memory (RAM), l0 compliant bus comprises a PCI express (PCIe) bus.
flash memory, Read Only Memory (ROM), Electrically 4. The mobile terminal of claim I, Whe~in the application
Pm~mmm~bie ROM {EPROM), Electrically, Erasable Pro- processor inciudes an uplink timer and the uplink timer has
gr~mmable ROM 0~EPROM), registers, a ~ disk, a a period longer than a period of the modem timer..
removable disk, a CD-ROM, or any other form of computer ~. The mobile terminal of claim 4, wherein the application
readable medium known in the ar~:..~u exemplary storage ~ processor is configured to hold the application processor to
medium is coupled to the processor such that the processor modem processor d~t~ until receipt of the modem processor
can read information from, and Write information to, the to application processor dam from the modem processor or
storage ~,dimn..In the alternative, the storage medium may expiration of the uplink timer having a period !onger than a
be integral to the processor. The processor and the storage period of the modem timer, whichever occurs first.
medium may reside in an ASIC. The ASIC may reside in a 20 ~. The mobile terminal of claim 1, Wherein the modem
remote s~ation. In the alternative, the processor and the timer, is implemented in software.
storage medium may reside as discrete components in a 7. The mobile terminal of claim 1, wherein the modem
remote station, base station, or server. timer has a period of approximately sL5 ~-6") miJl_ iseconds.
It is also noted that theoperational steps described in any 8. The mobile terminal of claim 1, wherein the modem
of the exemplary aspects herein are described to provide 25 processor comprises the modem timer.
examples and discussion. The operations deacn~ed ma~ be 9. The mobile termlnal of claim 1, wherein the application
performed in numerous different sequences Other than the processor comprises the modem timer.
illustrated sequences.Furthermore, operations described in a 10. The mobile t~minal of claim 1, further comprisin~ an
siagie operational step may actually be perfqrmed in a application timer, and wherein the modem processor xs
number of different steps. Additionally, one or more opera- 30 configured to imtruct the application pr0cesmr to send an
tional st~s discussed in the exemplary aspects may be int~r~pt if no dam is received within one time slot of the
combined. It is to be underStoOd that the operational steps application timer.
illustrated in the flow chart diagrams may be subject to 11. The mobile term!hal of ciaim 1, further comprising a
numerous different modifications as will be readily apparent byte accumulation limit counter associated with the modem
to one of ski13 ~ the art:. Those of skill in the art will also 3s processor, th~ modem processor cOnfigUred to send data to
understand that information and signals may be represented the application p#ocesSOr if a threshold associated with the
using any of a variet~ of different technologies and tech- byte accumulation limit counter is exce~!~l.
niques. For example, data, instructions, commands, infor- 12. _The mobile teornlnal of claim 1, further comprising a
mation, signals, bits, symbols, and chips tha~ may be refer- packet number limit counter associated With the mode~
enced thmnghout the above description may be represented 40 processor, the modem processor configured to ~end data to
by voltages, currents, electromagnetic WaveS, magnetic the application processor if a threshold associated with the
fields or particles,.optic~l fields or particles, or any combi- packet number limit ounter is exceedM
nation thereof. 13. The mobile termina! of claim 1, wherein the modem
The previous description of the disclosure is provided to processor is configured to determine if held d~a comprises
enable any person skilled in the art to make or use the 4s a 0ntr~l packet and send such control packet before expi-
disclosure. Various m0difiCatiOm to the disclosure will be ration of the modem timer.
readily apparent to those skilled in the art, and the generic 14. The mobile t~aJ o_f qlaim 3, wherein the modem
principles defined herein may be applied tO other vcria~ions processor further comprises an application timer, and the
withou) depari~g from the spki) or scope of the disclosure. modem processor is configUi~l to p~ll dam from the appli-
Thus, the disclosure is not intended to be limited to the 50 cation pro~esser on regeipt of the modem processor to
examples and designs described herein, but is tO be a~corded application processor dam or expiration of the application
the widest scope consistent with the principles and novel
features disclosed herein. 1~. The mobile teamlnM of lainl 1, further comprising a
What is cla~med is: second modem processor, the second modem processor
1. A mobile terminal comprising: ~5 c0nflgurA~d to exchange dam availability information with
a modem timer, the modem processor ~ich that traffic on the modem pro-
a modem processor, the modem processor configured to cesmr can trigger data transfer for the second modam
hoid modem processor to application processor data pmceesor.
utah! expiration of the modem timer; 1~. A method of controlling power consumption in a
an application procesmr, s0 computing device, comprising:
an inter~onnactivity bus communicatively coupling the holding data received by a modem processor from a
application processor to the modem processor, and remote lletwOrk lmtil expiratioll of a downlhak ti~er;
the application ~rocessor c6nfigar~ to hold application passing the data r~eived by the modem processor to an
processor to modem processor data nntil triggered by application proCes.sor over an interconnectivity bus;
receipt of the modem processor to application proces- and
sor data from the m0dgn processor throngh ~e inter- holding application data generated by an application
c~nnectivi~y bus after wkich the application processor associated with the application processor nntll receipt
Exhibit E
Page 105
" Copy providedby USPTO lrom the PIRS Image Database on 04/0512017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.149 Page 149 of 177
US 9,535,490 B2
19 2O
of the data f~m the modem processor or expiration of a modem processor, the modem processor configured to
an uplink time~, whichever occurs first, hold modem processor to application processor data
wherein receipt of the data from the modem processor u~.ril a pr~lefined tl~reshold 0fpackets has been reached
triggers passing the data received by the application by the modem packet counter,
processor to the modem processor over the intercon- 5 an application processor,
nectivity bu~ before th~ intereounectivity bus transi- an interc0unectivity bus commnnicatively coupling the
tions f~m an active power state to a low power state. application processor to the modem processor, and
!7. The method of claim 16, Wherein passing the data the application processor COnfigured to hold application
comprises passing the data over a peripheral component processor to modem processor data until triggered by
interface (PCI) compliant bus. to receipt of the modem processor to applic~ition proces-
18. The method of claim 16~ wherein a period of the sor data from the modem processor through the inter-
dowulink timer comprises six (6) milliseconds. connectivity bus af[er which the application processor
19. The method of claim 16, Wherein a period of the to modem processor data is sent to the mode_mproces-
uplink timer comprises seven (7) milliseco~ts. sot through the inter~oanectivity bus responsive to the
20. The method of claim 16, furor comprising providing receipt of the modem processor to application proces-
an override capability based on one of accumulated packet sor ~ta from the modem ~rocessor through the inter-
size~ acoumulated packet count, a~umulated byte count, connectivity bus.
quality of service requirement, and con~-ol message status. 28. A mobile terminal comprising:
21. The method of claim 16, further comprising holding a modem processor;
dataat a second modem processor until traffic on th~ modem 20 an application byte counter,
processor triggers data transfer for the second modem pro- an application processor, the application processor con-
Cessor; figured to hold application processor to modern pro-
22. A mobile te~-minal comprising: cessor da~a until a predelined threshold of bytes has
a modem processor; been reached by the application byte counter;
an application timer, an interconnecti~,ity bus commi~nlcatively cbupling the
an appljcaf!0n processor, the application processor con- application processor to the modem processor, and
figured to hold application procasso~ to modem pro- the modem processor configured to hold modem proces-
cessor data until expiration of the application timer, sor to application processor data until triggered by
an intero0nnectivity bus communicatively coupling the receipt of the application processor to modem proces-
application processor to the modem processor, and 30 sor data fr6m tim application processor through the
the modem processor configured to hold modem proces- interconnectiviW bus after which the modem processor
sor to application processor data ~ntil triggered by to application processor data is seat to the application
r~eipt of the application processor to modem proces- processor tlLrough the interconnectivity bus responsive
sor data fi~om the application processor L~a~ugh the to the receipt of the application processor to modem
intercom~ectivity bus aider which the modem processor processor data from the application processor through
to application processor data is sere to the application the intercounectivity bus.
processor through the inter~onnectivity bus responsive 29. A mobile terminal comprising:
to the receipt of the application processor to modem a modem processor;
processor dam from the application processor through an application packet c0untCr,
the inter~onn_.ectivity bus. 40 an application procesSOr, the application processor con-
2~. The mobile terminal of claim 22, Wherein the appli- figured to hold application processor to modem pro-
cation processor comprises ~ application timer. cessor data until a prede~fmed Lheshold of packets has
24. The mobile terminal of claim 22, wherein the modem been reached by the application packet counter;
processor comprises the application timer.. an interconnectivity bus communicatively ~upliag the
2~. The mobile terminal of claim 22, further comprising application processor to the modem processor, and
a byte counter counting bytes at the m0d~ processor. the modem processor configured tO hold modem p~ces-
26. A mobile terminal comprising: sor to application processor data until triggered by
a modem byte accumulation limit count.eX; receipt of the application processor to modem proces-
a modem processor~ the modem processor configured to sor data from the application processor through the
hold m0dexn processor to application processor data so interconnectivity bus ai~r wki_ch the mod~ma processor
until a pre~fined threshold of bytes has been reached to application processor data is sent to the application
by the modem byte accumulation li~t counter, processor through the inte~onnectivity bus responsive
an applicati0~ processor, to the receipt of the modem processor to application
an inter~onnectivity lius com~nnn~cativoly coupling the processor da~a from the m~om processor. _t~o~gh the
application processor to the modem processor, and interconnectivity bus.
the application processor configured to hold application 30. A method comprising:
processor to modem processor data until triggered by starting an application timer at an application processor,
receipt of the modem procesSOr to application proCes- accumulating data at the application processor until expi-
sor data f~om the modem processor through the inter- ration of the applicationiimer,
com~ectivi~y b~s afar which tbe application processor 80 sending the accumulated data f~m tbe application pro-
to modem processor data is sent tothe modem proces- cessor to a modem processor across on interoonnectiv-
sor through the intereounectivity bus reSPonsive to the ity bus; and
r~eipt of the modem processor to application proces- holding modem processor data at the modem processor
sor data f~m the modem processor through the inter- until triggered by receipt of the accumulaeed dam from
con-ectivity bus. the application processor,
27. A mobile terminal comprising: wherein receipt of the accumulated data from the appli-
a modem packet counter; cation processor triggers passing the modem processor
Exhibit E
Colby proVid~l I~ USPTO ftbm the PIRS Image Database on 04105/2017
Page 106
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.150 Page 150 of 177
US 9,535,490 B2
21 22
_data to the application processor over the interconnec-
tivity bus before the interconaectivity bus transitions
from an a~ve powe~ state t~ a low power State.
31. A mobile terminal comprising:
a modem timer, ~
a modem processor, the modem processor configured to
hold modem processor to application processor data
until expiration of the modem timer;,
an application processor,
an inte~onnecfiqity bus comm~micatively coupling the I0
application process6r to the modem processor, and
the application processor configured to hold application
processor to mgdem processor da~ until the modem
processor pulls data from the application processor
after transmission of the modem processor to applica- 15
fion processor data,
wherein the medem processor is further configured pull
data fi~m the application processor aiter transmission
of the modem processor to application l~rocessor data
and before the interconnectiviw bus transitions from an 20
active power state to a low power state.
Exhibit E
Page 107
Copy provided by USPTO from the PIRS Image Dat~ on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.151 Page 151 of 177
Exhibit E
Page 108
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.152 Page 152 of 177
Exhibit E
Page 109
PTO- | 683
(Rev. 7-96)
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.153 Page 153 of 177
EXHIBIT F
Exhibit F
Page 110
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.154 Page 154 of 177
By Authority of the
Under Secretary of Commerce for Intellectual Property
and Director of the United States Patent and Trademark Offic~
T~.
LAWRENCE ~
Certifying Officer
Exhibit F
Page 111
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.155 Page 155 of 177
(*) Notice: Subject to any disclaimer, the term of this FOREIGN PATENT DOCUMENTS
patent is extended or adjusted under 35
U.S.C. 154(b) by 134 days. GB 2476393 A 6/2011
GB 2488380 A 8/2012
(21) Appl.. No.: 13/764~328
~..~_,
Exhibit F
Copy provided by USPTO from thb Pills Ira-age Oataba~, 0n-O4/0~/201r - Page 112
Case 3:17-cv-01375-JAH-AGS Document 1 FiledB2
US 9,608,675 07/06/17 PageID.156 Page 156 of 177
Page 2
cited by examiner
Exhibit F
Page 113
Exhibit F
Page 114
C~py provided by USP~J from the PIRSlmage Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.158 Page 158 of 177
OI
oi
- !
I
I
I
I
Exhibit F
Page 115
Copy provided by USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.159 Page 159 of 177
110
310 320
370
Transmit
Circuit
Pdmary
Antenna
t,340pk
390
Data
ProcesSor/
Controller (.384pa
Receive
Circuit
r3*4pl
Receive
Circuit
F312
Memory 322
f 340sa 37,
330~
~ Circuit
Secondary
Antenna
380sa 1.384sa
Receive
Circuit
(.384sn
Receive
!
I Circuit
I
I
_J RG. 3
Exhibit F
Page 116
Copy pt;O~tided by USPTO from the P!RS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.160 Page 160 of 177
~ =-6
ooo
Exhibit F
Page 117
Copy provided by USP]-O from the PIRS Image Database on 04/05~2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.161 Page 161 of 177
I
I
.1
!
!
!
o E -~ ~_ E
Exhibit F
Page 118
Copy p~o~ided by USPTO from the PIRSh~a~eDathba~s6 ~n 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.162 Page 162 of 177
Exhibit F
Page 119
Copy provid~l I~y USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.163 Page 163 of 177
Power
Power
Tracking
Signal 722
Exhibit F
Page 120
Cop~f p-ro~ided by uSPTO from the PIPS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.164 Page 164 of 177
830
Power Supply
Generator~
VBOOST Boost
Converter
VBAT VBAT
IpT
822
Isw T 820
Power A
Tracking Signal Switcher
I
VpA ; IPA
I
L
Modulated Output
RF Signal RF Signal
RG. 8
Exhibit F
Page 121
Copy provided by USPTO fri)m the PIRS Image Database on 04/05!2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.165 Page 165 of 177
!
I
I
I
I
I
I
!
i
Exhibit F
Page 122
C~y p#ovided by USPTO hom the PIRS Image Database on 04/05/20t7
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.166 Page 166 of 177
Start
1000
~
f1012 ~
r~014 I =
End
FIG. 10
Exhibit F
Page 123
Copy provided by USPTO from the PIRS II~a~je D~tab;~s. on 04/05;20i7
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.167 Page 167 of 177
US 9,608,675 B2
1 2
POWER TRACKER FOR MULTIPLE FIGS. 7A and "~B show power tracking for two and three
TRANSMIT SIGNALS SENT transmit signals, respectively.
SIMULTANEOUSLY FIGS. 8 and 9 show a design of a power supply gene~ator
with plower tracking.
BACKGROUND FIG. 10 shows a process for generating a power supply
voltage with power tracking_
I. Field
Tl~e present disclosure relates generally to electronics, DETAILED DESCRIPTION
and more specifically to [eohniques for genera!~ng a power
supply voRage for a circuit such as an amplifier. 10 The word "exemplary" is used herein [0 mean "serving as
If. Background an example, instance, or illustration." An_y design des _cri.bed
A wireless device (e.g., a Cellular phone or a smarrphone) herein as "exemplary" is not necessarily to be onslrued as
in a wireless communication system may mmsmit and preferred or achiantageous over other designs.
receive data for two-way communication. The wireless Techniques for generating a power tracking S~pply volt-
device may include a transmitter for data transmission and 15 age for a circuit (e.g., a power amplifier) that processes
a receiver for data re~apfion. For data transmission, the multiple transmit signals sent simultaneously are disclosed
transmitter may process (e-g;~ eBcode and modulate) data to herein. The techniques may be used for various electronic
generate output samples. The transmitter may further con- devices such as wireless communication devices.
dition (e.g., convert to analog, filter, amplify, and frequency FIG. 1 shows a wireless device 110 communicating with
upconvert) the output samples to generate a modulated radio 20 a wireless communication system 120. Wireless syst~egn 120
frequency (RF) S~L3nal; amplify the modulated RF Signal to may be a Long Term Evolution (LTE) system, a Code
obtain an output RF signal having the proper transmit power Division Multiple AcceSS (CDMA) syst _e_m, a Global System
level, and wansmit the output RF sienna! via an antenna to a for Mobile Communications (GSM) system, a wireless local
base station. For data reception, the receiver may obtain a area network (WLAN) system, or some other wireless
received RF signal via the antenna and may amplify and 25 system. A CDMA system may implement Wideband CDMA
process the ~;eceived RF s~gnal to recover data sent by the (WCDMA), CDMA IX, T~ne Division Synchronous
base statio~ CDMA (TD-SCDMA), or some other version of CDMA.
The transmitter typically includes a power amplifier (PA) For simplicity, FIG. 1 shows wireless system 120 ~cludinz
to provide high transmit power for the output RF signal. The two base stations 130 and 132 and one system controller
power amplifier should be able to proqide high transmi~ 30 140. In gefieral, a wireless system may include any number
power and have high power-added efficiency (PAl/i). 0fbage statiom and any set of network entities.
Wireless ddvice H0 may also be referred to as a user
SUMMARY equipment (LYE), a mobile station, a terminal, an access
terminal, a subscriber unit, a station, etc. Wireless device
Techniques for generating a power tracking supply volt- 35 110 may be a cel]ular phone, a smartphone, a tablet, a
age for a circuit (e.g., a power amplifier) that processes wireless mo~ a persongJ digital assistant (PDA), a hand-
multiple Unngrnit sisr, alg sent simultaneously are disclosed held device, a laptop ~oz~put~r, a smar~book, a netbook, a
herein. The multiple transmit signals may comprise trans- cordless phone, a wireless local loop (WLL) station, a
missions sent simultaneously on multiple carriers at different Bluetooth device, etc. Wireless device 110 may be capable
frequencies. 4o of communicating With ~ireless system 120. Wireless
In one exemplary design, an apparatus includes a power device 110 may also be capable Of receiving si~rnal~ from
tracker and a power supply generator. The power tracker broadcast stations (e.g., a broadcast station 134), signals
determines a power tz~cl~g signal based on iuphase (I) and from satellites (e.g., a satellite 150) in one or more global
quadratur~ (Q) components of a plurality oftransmit sis,rials navigation satellite systems (GNSS), etc. Wireless device
being sent simultaneously, as described beiow. The power 45 !~0 may support one or more radio technologies for wireless
supply generator generates a power supply voltage based On communication such as LTE, WCDMA, CDMA 1X, TD-
the power tracking signal~ The apparatus may further inchide SCDMA, GSM, 802.11, etc.
a pow~ .a.m.~p~ffier that amplifies a modulated RF signa! Wireless degice 110 may be able to operate in low-band
based on the power supp!y voltage and provides an o~tput (LB) covering frequencies lower than I000 megahertz
RF signal. s0 (MHz), mid-hand (MB) covering frequencies from 1000
Various aspects and features of the. disclosure are MHz to 2300 MHz, and/or high-band (HB) covering fie-
described in further detail below. quencies higher than 2300 MHz. For example, low-band
may cover 698 to 960 MHz, mid-band may cover 1475 to
BILIEF DESCRIPTION OF THE DRAWINGS 2170 MHz, and high-band may cover 2300 to 2690 MI-Iz
55 and 3400 to 3800 MHz. Low-band, told-band; and high-
FIG, 1 shows a wireless device communicating with a band refer to three groups of bands Ior band groups), with
wireless system. each band group ingluding a number of fregzuency bands (or
FIGS. 2A to 2D show four examples of carrier aggrega- simp!y, "bands"). Each band may cover up to 200 MHz and
tion- may include one o_r more carriers. Each carrier may cover up.
FIG. 3 shows a block diagram of the wireless device in 60 to 20 MHz in LTE. LTE Release 11 supports 35 bands,
FIG. 1. which are gefea-red to as LTE/UMTS bands and are listed in
FIG. 4 shows a transmit module comprising a separate 3GPP TS 36.101.
power amplifier with separate power tracking for each Wireless device 110 may support carrier aggregation,
transmit signal. which is operation on mnitiple carriers. Carrier aggregation
FIGS. 5 and 6 show two designs of a transmit module 65 may also be referred to as multi-carrier operation. WLreless
comprising a single power amplifier with power tracking for device 110 may be configured with up to 5 carriers in one or
all transmit signals. two bands in LTE Release 11.
Exhibit F
Page 124
Copy provided by USPTO from the PIRS Image Database. on 04105/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.168 Page 168 of 177
US 9,608,675 B2
3 4
In geneS, carrier aggregation (CA) may be categorized to I and Q analog output signals, respectively. Transmit
into two types--intra-band CA and inter-band CA. lutm- circuit 340pa f3~h~ ample.ties, ~e_rs~ an~ Upconverts the I
band CA refe.~s to operation on multiple canS..er~ within the and Q an~dog output signals from baseband to RF and
same band. Inter-band CA refers to operation on multiple provides a modulated RF signal. Transmit circuit 340pa may
carriers in different bands. s include digital-to-analog converters (DACs), amplifiers, ill-
FIG. 2A shows an example of contiguous intra-band CA. ters, mixers, matching eiroults, an oscillator, a local oscil-
In the example shown in FIG. 2A, wireless device H0 is lator (LO) generator, a phese-loeked loop (PLL), etC. A PA
configured with three contiguous carriers in one band in 360pa receives and amplifies _the. motivated R:F_ signal and
low-band. Wneless device 1!0 ..ma..y send _ar~l!.o_r receive provides an output RF signal having t~ proper transmit.
transmissions on the three contiguous carriers in the same 10 power level. Thooutput RF si5nal is routed through antenna
band, interface circuit 370 and transmitted via antenna 390.
FIG. 2B shows an example of non, contiguous intra-band Antenna interface circuit 370 magi include One or more
CA. In the example shown in HG. 2B, wireless device 110 filters, daplexers, ctiplexers, switches, matching circuits,
is configured with thre~ non-e0ntiguoUs carriers in one band directional couplers, etc. Each remaining transmitter 330 in
in lOw-ha~d. The carriers may be separated by 5 MHz, 10 15 transceivers 320 and 322 may operate in similar manner,as
MHz, or some other amount. Wtreless device 110 may send transmitter 330pa,
and/or receive Irausmissions on the three non-contiguous In the exemplary design shown in FIG. 3, each receiver
carriers in the same band. 380 includes a low noise amplifier (LNA) 382 and a receive
HG. 2C shows an example of inter-band CA in the same ckeult 384. For data reception, antenna 390 receives sigmls
band group. ~ me example shown in FIG. 2_C, wireless 20 from base stations and/or other Lrun_smitter stations and
device 110 is configured with three carriers in two bands in provides a received RF signal, which is routed through
low-band. Wn~less device 110 may send and/or receive antenna interface circuit 370 and provided to a selected
transmissions on the three carriers in different bands in the receiver. The description below assume~ thot ~eiver 380pa
same band group. is the seiected r~ceiver. Within receiver 380pa, an LNA
FIG. 2D shoWs an example of inter-band CA in different ~ 382pa amplifies the received RF signal and provides an
band groups. In the example shown in FIG. 2D, wireless ampli~ed RF signal. A receive eireuit 384pa downeonverts
device 110 is configured with three carriers in two bands in the ampfified RF signal from RE to basgband, amplifies and
different band groups, which include two carriers in one filters the dow~converted signal, and provides an analog
b_a~.d in low-band at~d one carrier ~n ano~er ba~_d in mid- input signal to data processor 3!0. Receive eirculI 384pa
band. Wneless device 110 may send and/or receive trans- 30 may include mixers, filters, amplifiers, matohing circuits, an
missions on the three carriers in different bands in different oscillator, an LO generator, a PLL, etC. Each remaining
band groups. receiver 380 in trmasceivers 320 anti 322 may operate in
FIGS. 2A to 2D show four examples of carrier aggregu- similar mann~r as receiver 380pa.
tion-Carrier aggregation may also be supported for othor FIG. 3. shows an exemplary design of transmitters 330 and
combinations of bands and band groups. 35 receivers 3180. A transmitter and a receiver may also include
HG. 3 shows a block diagram of an exemplary design of other circuits not shown in FIG. 3, such as falters, matching
wireless device 110 in FIG. 1. In this exemplary design, circuits, etc. All or a portion of transceivers 320 and ~22 may
wireless device 1!0 includes a data processor/controller 310, be imp!emented ~n one or ~ore analog integrated circuits
a transceiver 320 coupled to a pr~ary anten_na 390, and a (ICs), RE ICs (l~ICs), mixed,signal ICs, etc. For example,
wansceiver 322 coupled to a secondary antenna 392. Trans- 40 transmit circuits 340, LNAs 382, and receive eirouits 384
ceiver 320 includes K transmitters 330pa to 330pk, L may be implemeated on one module,_ Which ma~ be an
receivers 380pa to .380pi, and a~ antenna interface eirouit REIC, etc. Antemm interface circuits 370 and 372 and PAs
370 to support multiple bands, carrier aggregation, multiple 360 may be implemented On another module, which may be
radio technologies, etc. K and L may each be any integer a hybrid module, etc. The circuits in. transceivers 320 and
value of one or g~eater. Trsnseeiver 322 includes M trans- 45 322 may also be implemented in other mam~ers.
millers 330sa to .330sin, N receivers 380sa to 380sn, and an Data processor/controller ~10 may perform various func-
antenna interface eirouit 372 to SUpport m~_tiple bands, tions for wireless devi~e H0., For exa~le, daka processor
carrier aggregation, multiple radio technologies,, receive 310 may perfo _ma_ proees.sing for data being trat~smilled via
diversity, muliiple_-input multiple-output (MIMO) transmis- transmitters 330 and data being received Via receivers ~80.
sion, etc. M andN may each be any integer value of one or 50 Contmlier 310 may control the operation oftr~mit circuits
greater. 340, PAs 360, LNAs 382, receive circuits .384, antenna
In the exemp!ary design shown in FIG. 3, each transmitter interface ir~tS 370 and 372, or a combination thereof. A
330 includes a ~ansmit eirouit 340 and a powe~ amplifier memory 312 may store program codes and data for d~ta
(PA) 360. For data Iransmission, data processor 310 pro- processor/controller 310. Data processor/conlroiler 310 may
eesses (e.g., encodes and symbol maps) data to be transmit- 55 be implemented on one or more application spo~ifie inte-
ted to obtain modulation symbols. Data processor 310 grated ei~uits (ASICs) and/Or other ICs.
further processes the modulation symbols (e.g., for OFDM, Wtreless device ll0 may Send multiple transmit signals
SC-FDMA, CDMA, or some other modulation technique) simultaneously. In one design, the multiple transmit signals
and provides I and Q samples for each transmit signal to be may be for ~missious on. m~tipl~ c0nf!~ous or non-
sent by wireless devico 110. A transmit signal is a signal 60 contiguous carriers with intra-band CA., ~.g~, as shown in
comprising a wausmission on one or more carriers, a trans- FIG, 2A or 2B. For example, each wammit signal may
mission on one or more frequency channels, etc. Data comprise a ~tratAsmi_..ss~on sent on one carrier. In another
processor 310 provides the I and Q samples for one or more design, the multiple transmit signals may be for transmis-
transmit signals to one or more selected transmitters. The sions on multiple frequeacy eh~nneis to the same wireless
description below assumes that transmitter 330pa is a trans- 65 system, In yet another design, the multiple transmit s~Zn~ls
mitter selected to send one transmit si~al. Within transmit- may be for transmissions sent to different wireless systems
ter 330pa, transmit ~eult .340pa converts I and Q samples (e.g., LTE and WLAN). In any case, data to be sent in each
Exhibit F
Page 125
provided by USPTO from the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.169 Page 169 of 177
US 9,608,675 B2
5 6
transmit signal may be processed (e.g,-, encoded, symbo! sant Slm..ulmneously. A s-miner 462 receives th~ output RF
mapped, and modulated) separately to generate I and Q signals being sere simultaneously, sums the output RE
samples for that transmit signal.Each transmit signal may be signals, and provides a final o~tput RE signal, which is
conditio~[ied l~y a respective transmit circuit 340 and ampli- muted tl~ugh a duple~er 470 and transmitted via an
fied by a respective PA 360 to generate an output RF signal 5 antenna 490.
for that transmit signal. As shown in FIG. 4, power tracking may be used to
A PA timy receive a m0dul~ted RF signal and a power improve the efileiffacy of pAs~ 460a to 460k. Each transmit
supply voltage and may generate an output RF si _l~al. The signal may be p~oeessed by a respec~i.ve trans~i~er 430
output RE signal typically tracks the modulated RF signal using a separate sets of mixers 448 and 449 and PA 460.
and has a time-Yawing end,elope. The power supply voltage I0 Multiple transmit signals may be sent on different frequen-
should be higher than ~ amplitude Of the output RE signal Cies (e.g., different carrie~S) and hence may have increased
at all times in order to avoid clipping the output RE signal, envelope bandwidth. The increased envelope bandwidth
which would then cause intermodulation distortion (IMD) may be addressed by usi~ a separate transmitter 430 for
that may degrad~ performance. The difference between the each transmit signal. Each transmittor 430 may then handle
power supply voltage and the envelope of the output RE 15 the envelope bandwidth of one transmit signal. However,
signal represents wasted power that is dissipated by the PA operating mulfipl~ transmitters 430 concurrently for mul-
instead of delivered to an output load. tiple transmit signals may ~sult in re_ore circuits, higher
It may be desirable to generate a power Supply voltage for power consumption, and increased cost, all of which are
a PA such that good ~erf0rmance and good efficienCy can be undesirable.
obtained. This may be achieved l~y gestating the power 20 In an aspect of the present disclosure, a single PA with
supply voltage for the PA with power tracking so that the power trackln~ may be Used to generate a single output RE
power supply voltage can track the envelope of an output RE s~nal for multiple transmit signals he_rag sent simultane-
signal from the PA. ously. A single power supply voltage may be generated for
FIG. 4 ShoWS a design of a transmit module 400 support- the PA to tmek the power of all transmit signals being sent
ing simultaneous ..m4ns_mission of multiple (K) transmit 2s Simultaneously. This may reduce the number of circuit
signals with a separate PA and s~amte power tracking, for components, reduce power consumption, and provide other
each transmit signal. Transmit module 400 includes K advant~_ges.
Iransmitters 430a to 430k that can simultaneously process K FIG. 5 shows a design ofa lzmasmit module ~00 suppokt-
ttausmit signals, with each transmitter 430 processing one ing simultaneous transmission of multiple (K)Iransmit
transmit signal. Each Ir~n~m;tte~ 430 includes a transmit ~0 s~,ls with a single PA and power tmekin8 for all transmit
circuit 440, a PA 460, and a power trackin supply generator s~o~,is. Transmit module 500 performs frequency upcon-
4S0. version separately for each transmit signal in the analog
Transmitter430a receives I~ and Q~ samples for a first domain and sums the resultant upconverted RE signals for
mansmit signal and generatesa first output RE signal for the all transmit signals. Transmit module $00 includes K tranS-
first transmit signa!. The I~ and Q~ samples me provided to s5 mit circuits $40a to 540kthat can simultaneously precess K
both transmit circuit 440a and voltage generator 480a. Iransmit signals, with each mmaSmit circuit ~40 proces~in8
Within transmit circuit 440a, the I~ and Q~ samples are one transmit signal. Transmit module 500 fur~er includes a.
converted ~ I and Q analog slg~ials l~y DACs 442a and s~mmer.$~2, a PA ~60, a duplexer $70, and a power tracking
443a, respectively. The I analog S~LLmSl is filtea~ b~ a supply generator
lowpass filter 444a, amplified by an amplifier (Amp) 446a, 40 Transmit circuit $40a reeeives I~ and Q~ samples for a first
and upeonverted from baseband to RE by a mixer 448a. transmit signal and generates a first upeOnverted RF signal
Similarly, the Q analog signal is filtet~l by a lowpass filter for the first transmit signal. The .I~ and Q~ samples are
445a, ampl.ified by an amp!iris" 447a, and upeonvert~d f~m provided to both transmit ei~uit $40a and voltage generator
baseband to RE by a mixer 449a. Mix._e~s.. 448a and 449a $80. Within transmit circuit $40a, the I~ and Qt samples are
perform upconversion for the first transmit signal based on 4s c0nvert~d to ! and Q analog S~LLmMs by DACs 542a and
I and Q LO signals (ILO~ and QLO~) at a center RE 543a, respectively. The I and Q analog signals are filtered by
~ency of the Rr~t transmit signal. A s~mmer 450a sums lowpass filters $44a and 54~a, amplified byamplifiers $46a
the I and Q upconvi~l s~o~s from mixers 448a and 449a and $47a, upoonverted from baseband to RE by mixers $48a
to obtain a modulated RE si~m~l, which is provided to PA and ~49a, ~cl ShmmL=d ~ a sainrner $$0a to generate the
460a. s0 first upconverted RE signal. Mixers .548a and 549a perform
Within voltage generator 480a, a power tracker 482a upconversj0n, for ~ _first ~t signal based on I and Q
receives the I~ and Qt samples for the first transmit SiLZnal; LO signals at a center RE frequency of the first transmit
computes the power of the first transmit side,hal based on the sil~k
It and Q~ samples, and provides a digital power tracking Each rema~n~ ll~n~mit Circuit 540 may similarly pro-
sil~al to a DAC 484a. DAC 484a converts the digital power 55 cess I and Q samples for a respective transmit signal and
tracking sigtml to analog and provides an analog power may provide an upconverted RE signal for the transmit
tracking signal. A power supply generator 486a receives the siam Up to K transmit cireui!s 540~ to 540k may prvvide
analog power tracking signal and generates a power supply up to K upconverted RE sig~!s at d~fferent RE fr~tuen.eies
voltage for PA 460a. PA 460a amplifies the modulated RF for up to K transralt signals being sent simultaneously. A
signel from transmit cLmuit 440a using the power supply 60 Snmmer $$2 raceives the upconverted RF si~omals from
voltage f~om supply generator 486a and provides the first trammit circuits $40a to 540/g sums the upcon~,erted RE
output RF signal for the first transmit signal. signals, and prevides a modulated RE signal to PA 560.
Each remaining transmitter 430 may similarly process I Within voltage generator $80, a power tracker $82
and Q samples for a r~spective transmit signal and may receives I~ to I~ samples and Q~ to Q~ samples for all
provide an output RE signal for the transmit signal. Up to K 65 trammit S~omal$ being sent simultane0mly. P6v;,~r trhck~r
PAs 460a to 460kmay provide up to K output RE sjLmals at $82 computes the overall power of all transmit s~o~alg based
different RE fiegu~eies for up to K transnht signals being on the I and Q samples for these transmit signals and
Exhibit F
Page 126
Copy provided bY USPTO from the PIRS Imago Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.170 Page 170 of 177
US 9,608,675 B2
7 8
provides a digital power tracking Signal to a DAC 584. DAC Wansmit signals with a single PA and power trackihg fOrall
$84 converts ~e digital power tracking signal to analog and transmit signals. Multiple transmit signals may also be sent
provides an a~log power tracking signal for all transmit with a single PA and power tracking in other m~ngers; For
signals. Although not shown in FIG. S, a lowpass filter may example, polar modulation may be used instead of quadra.
receive and filter an output si~unal from DAC 584 and trite modulation, which is shoWn in FIGS. 5 and 6.
provide the axlalog power tracking si~unal_ A power supply Power tracker 582 may compute the digital power track-
generator 586 receives the analng power tracking signal and ing signal based on the I and Q samples for all transmit
generates a power supply voltage for PA 560. Si~Ona|S in various rnann~ff3~ In one design, the ~gital power
PA 560 amplifies the modulated RF signal from m]mmer tracking signal may be computed as follows:
552 using the power supply voltage from supply generator 10
p(t)=q~.~[IlXCt)+Qi~Ct)+..,+ll~(t)+Ql~2(t), Eq (Z)
586. PA 560 provides an output RF signal for all transmit
signals being sent simultaneously. The output RF signal is where Ii(t) and Q~(t) denote the I and Q samples for the k-th
routed through duplexer 570 and transmitted via antenna transmit signal in sample period t, for k=-l,..., K, and
590. p(t) denotes the digital power tracking signal in sample
FIG. 6 Shows a design of a transmit module 502 support- period L
ing simultaneous transmission of multiple (K) wansmit
The quantity I~2(t)+Q.~2(t) denotes the power of the kth
signals with a single PA and power tracking for all transmit
transmit s!Lma! in sample period t. In the design shown in
sign&Is_. Transmit module 502 digitally upconverts each
equation (1), the powers of all transmit signals are s~mmed
transmit signal to an intermediate fia~quency (IF) in the to obtain an overall power. The digital poWer tracking signal
digital domain, sums the ~a~ltant upconverted IF signals for ~0 is then obtained by takinE the square root of the overall
all transmit s.lg~a!s, and performs frequency upconversion power. The scaling factor of " ~ accounts for conversion
from IF to P-d= for all ~t sj~omals together in the analog between power and voltage. :
domain_ Transmit module 502 includes a digital modulator
In another design, the digi~ power tracking sigua! n~ay
520, a transmit cixenit 540, PA 560, duplexer 570, and power be computed as follows:
tracking supply generator580.
Digital modulator 520 receives I and Q samples for all
transmit siLmal~ and generates a modulated IF signal for all
Wansmit signals. Within digital modulator 520, the Iz and Qz The quantity V~I](t)+O~(t) denotes the voltage of the k-th
samples for the first ~t signal ai-e ~pcouverted to a first txensmit signal in sample period t. In the design shown in
IF frequency by multipliers 522a and 523a, respectively, ~0 equation (2), the voltage of each transmit signa! is first
based on Cn and CQi) digital LO signals. The I and Q computed, and the vol~ges of all Wansmi~ signals are then
samples for each remaining transmit signal are upconverted s~,,~-~ed to obtain the digl~ power tracking signal.
to a different IF frequency by multipliers 522 and 523, Equations (1) .and (2) are two exemplary designs of
respectively~ for that _t~ansmit signal. The !F freql~engies of computing the digita! power tracking signal based on the I
the K transmit signals may be selected based on the final RF ~s and Q samples for all transmit ~ignals being sent sii~ulta~
frequencies 0fthe K transmit signals. A summer 524 sums neously. The digital power tracking signal computed in
the outputs of all K multipliers 522a to 522k and provides an equation (1) or (2) has a bandwidth that approximateS the
i modulated s~g~al. Similarly, a summer 5~ sRtns the bandwidth of the widest transmit signal (instead of the
outputs of all K multipliers 523a to 523k and provides a Q overall bandwidth of all transmit signals being sent simui-
modulated signal. The I and Q modulated signals f~m ~o tOneously), Having the bandwidth., of the power tra.~ ~n_g
slrmm~a~s 524 and 525 form the modulated IF signal for all signal being smaller than a modulation bandwidth may
trammit signals. allow for a more efficient power tracking eireui~t and may
Transmit circuit 540 receives I and Q modulated signals also ~eSult in less noise being injected into PA 560 via the
from digital modulator 520 and genorhtes a modulated RF power supply.
Signal for all transmit signals. Within trammit circuk 540, 45 The digital power tracking signal may also be computed
the I and Q modulated signals are ctnverted to I and Q based on the I and Q samples oftbe transmit signals in other
analog signals by DACs 542 and 543, respectively. The I and mutineers, e.g.s b~$ed on other equations or ftxtcti0ns. In one
Q analog siguals are filtered by lowpas~ filters 544 and 545, design, the digital power tracking signal may be generated
amplified by amplifiers 546 and 547, upconverted from IF to based on the I and Q samples for all tran.~mlt signals, without
RF by mixers 548 and 549, and summed I~y a summer 550 so any filtering, e.g., as shown in equation ( 1 ) or (2). In another
to generate the modulated RF signal. Mixers 548 and 549 design, the digital power tracking signal may be filtered,
perform upconversion for tbe modulated IF signal based on e.g., with a lowpass filter ~ Similar charagtefistics as
I and Q LO signal~ at a sui~ble frequency so that the K lowpass filters 544 and 545 in .tm~__mi.t cu~ult 540,
trammit signals are upconverted to their proper RF frequen- In one design, the digital power tracking signal may be
5s computed in the same n:lanner (e.g., based on th~ same
Power Wacking Voltage generator 580 receives the Ix to Ix ~luation) regardless of the namber of Uammit sigmls being
samples and the Qz to O.x samples for all transmit signals sent simultaneously. In another design, the digital power
being sent simultaneously. Voltage generator 580 generates tracking signal may be computed in differentmanners (e.g.,
a power supply voltage for PA 560 based on the I and Q based oa differem equations) d~_~_di~_g on the _area_her of
samples, PA 560 _.amplifies the modulated RF signal from 60 transmit signals being sen~ simultan_.eonsly. ~ digl.t.a_l._
transmit circuit 540 using the power supply voltage from power Iraeking signal_ may also be computed i~ differem
supply generator 580. PA 560 provides an output RF signal mamaers d~endl.nE on other ~aetors such as the trammi..t
for all trammit si~wals bei~ sent simultaneously. The output power levels of different transmit signals.
RF signal is muted thr0ogh duplexex 570 and transmitted via The t~hniqu~s described her~ for generating a power
an~.~m. na 590, 65 tracking snpply voltage for multiple trammit si~mul~ may be
FIGS. 5 and 6 ~ow two exemplar~ designs of a transmit used for various modulation techniques. For ommple, the
module supporti~ simultaneous transmission Of multiple teohulqtles may be used to generate a power tracking supply
Exhibit F
Page 127
Copy provided by USPTO from thePIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.171 Page 171 of 177
US 9,608,675 B2
9 10
voltage for mul~ple Wansmit signals sent.simultmaeomly power tracking amplifier 810. Power tracking amplifier 810
using orthogonal frequency division multiplexing (OFDM), also provides the proper PA supply voltage (V~,a) at Node A
SC-FDMA, CDMA, or some other modulation t.e~httiqu~s. for PA 560. The various circuits in power-supply generator
The techniques m~y Mso be used to generate a tracldng 586 are described in further detail below.
power supply voltage for any mmaber of transmit signals ~ I~IG. 9 shows a schematic diagram of a design of power
being sent simultaneously. tracking amplifier 810 and switcher 820 within power sup-
FIG. 7A shows an example of power tracking for two ply generator 586 in FIG. 8. Within power tm~king amplifier
transmit signals sent On two non-cOntiguous careers with 810, an opemf!0_n~l_ amp!~fier (op-amp) 910 has its non-
SC-I~DMA, e.g., for non-contiguous intra-band CA shown inverting input receiving the power tracking Sigiml, its
in FIG.2B. The two transmit signals are sent on two carriers ~0 inverting input coupled to an output of power tracking
separated by a 25 MHz gap, with each cartier having a amplifier 810 (which is node X), and its 0~ifpUt coupled to
bandwidth of 10 Mp~, Aplot 710 shows an output RF signal an input of a class AB driver 912. Driver 912 has its first
comprising the two tmusmit s.ignals and provided by PA 560 outp~it (R.1) Coupled to the gate Of a P-channel metal oxide
in FIG. 5 or 6. A plot 712 shows a power tracking si~mal semicoRductor ~PMOS) transistor 914 and its second output
provided by power trac1~er 582 in FIG. 5 or 6. The power 15 (R2) coupled to the gate of an N-channei metal o~de
tracking Sigizal is COmpUted based on I and Q samples for the semiconductor (NMOS) transistor 916. NM_OS transistor
two Wansmit signals in accordance with equation (1). As 916 has its drain coupled to node X and i~s source coupled
shown in FIG. ~A, the power tracking signal closely follows to circuit gro..u~.~d, PMOS transistor 914 has its drain coupled
the envelope of the output RF signal. Hence, good perfor- to node X and its source coupled to the drains of PMOS
mance and high efficiency may be achieved for PA 560.. ~0 Iransistors 918 and 920. PMOS transistor 918 ha~ its gate
FIG. 713 shows an ~ample of power tracking for three receiving a Clcontrol signal and its source receiving the
transmit signals sent on ~ _non-contiguous carriers with Vsoosr ~,oltage. PMOS trm~ist0r 920 has its gate receipting
OFDM, e.g~ for non,contiguous intra-band CA. The thr~e a C2contml sigaal and its source reeeiviffg the Vs~t~ voltage.
tra~_mit signals are sent on three carriers, with each Carrier A current sensor 824 is coupled between node X and node
having a bandwidth of 5 MHz and being separated by a 15 ~ A and senses the l~r current provided by power tracking
MI-Iz gap to another carrier. A plot 720 shows an output RF amplifier 810. Sensor 824 passes most Of the I~r cm:mnt to
signal comprising the three transmit signals and provided by node A and provides a ~ fraction o_f the I~r current as a
PA 560 in FIG. 5 or 6. A plot 722 shows a power tracking sensed current (Ism) to switcher 820.
sigual provided by power tracker 582 in FIG. 5 or 6. The Within switcher 820, a current sense amplifier 930 has its
power tracking signal isco_~puted based on ~ and Q samples 3o input coupled to current ~?:824 and its output coupled to
for the three Waasmit ~igeals in accordance with equation an input of a Switcher driver 9~2. Driver 932 has its first
(1).As Shewo "m. FIG. 7B, the power tracking signal follows outpiat ($1) coupled to the gate ofa PMOS transistor 934 and
the envelope of the output RF S~nal_ Hence, good.perfor- its second output ($2) coupled to the gate of an NMOS
mance and high efficien~r m~y be achieved, for PA 560. transistor 936. NMOS transistor 936 ha~ i~s drain Coupled to
It can be shown that a power tracking supply voltage may 3~ an output of switcher 820 (w~ ._h i_s node Y) and its source.
also be gener~ated for multiple transmit signals sent on coupled to circuit grouud. PMOS transistor 934 has its drain
multiple Cairiers with CDMA. In ganoml, the power tracking coupled [o node Y and its source receiving the Vsar voltage.
supply voltage can closely follow the envelope of the output hductor 822 is coupled between nodeA and node Y.
RF signal when two Wansmit signals are sent simultanoou~ly, Switcher 820 operates as foll6Ws. Switeher 820 is in an
e,g., a~ ShO.WO in FIG. 7A. The power Wacking supply 4o ON state When current sensor 824 senses a high output
voltage can approximate the envelope of the output RF current ti~m power tracking amplifier 810 and provides a
signal when more than two WanSmit signals are sent simul- low sensed voltage to driver 932. Driver 932 then provides
tanconsly, e.g., as showh in FIG. 713. a low voltage to the gate of PMOS transistor 934 and a low
Power supply generator 586 t~ay generate a power supply voltage to the gate of NMOS transistor 936. PMOS .wa~s_..is-
_
voltage for PA 560 based on a power tracking signal in is tot 934 is turned ON and couples ~e Vsar voltage to
vmious mnaners. Power supply generator 586 should gen- inductor 822, which stores energy from the Vsar voltage.
erate the power supply voltage in an efficient manner in The current through inductor 822 rises daring the ON state,
order to conserve battery power of wireless device 110. with the rate ofthe rise being dependent on (i) the diffare~ice
FIG. 8 shows a design. Of power supply geo_emtor 586 in between the vs,~r v61tage and the Vra voltage at node A and
FIGS. 5 and 6. In tiffs design, power supply genesator 586 50 (ii) the inductance of inductor 822. Converse!y, switcher 810
includes apower tracking amplifier (PT Amp) 810, a is m an OFF state when current Sensor 824 senses a low
switehe~ 820, a boost converter 830, and an indaactor 822. output currant from power tracking amplifier 810 and pro-
Switcher 820 navy MSO be refe_rred to as a switc_l~n_g-mode vides a high sensed voltage to driver 932. Driver 932 then
POWet" supply (SMPS). Switcher 820 receives a battery provides a high ~oltage to the gate of PMOS transistor 934
vol.mge (Vn,~r) and provides a first supply current (Isw) 55 arid a high Voltage to the gate of NMOS transistor 936.
comprising DC and low frequency components at node A. NMOS transistor 936 is turned ON, and inductor 822 i~
Inductor 822 stores current fi-om switcher 820 and provides coupled between node A and circuit gro.t~_d. The current
the stored current to node A on al~amting cycles. Boost through inductor 822 falls during the OFF state, with the rate
converter 830 receives the V~ar voltage and generates a of the fall being dependent on the V~a Voltage at node A and
boosted sUpp_ly v01mge (V~oosr) that is higher than the ~0 the inductance of inductor 822. The Vsar "~Oltage thus
Vnar voltage. Power tracking amplifier 810 receives the provides current to PA 560 via inductar 822 during the ON
analog power tracking signal at its signal input, receives the state, and inductor 120 proqides its st0~ed efiergy to PA 560
Vn,~rvoltage and the V~oosrvoltage at its two power supply during the OFF state.
iuputs~ and provides a second SUpply cmrent (Ier) compris- Power tracking amplifier 810 operates a~ follows. When
ing high frequency components at node A. The PA supply ~ the power wacking Signal increases, the output of op-amp
current (I~,a) provi~d to power amplifier SO0 includes the 910 increases, the R1 output of driver 912 decreases and the
Isw current from switcher 820 and the I~,r c~i-ent from R2 output of driver 912 decreases until NMOS uransistor
Exhibit F
Page 128
.... Copy provided by USPTO u~in thOPIRS-i~nageD~itabase bh 04/05/20~7
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.172 Page 172 of 177
US 9,608,675 B2
11 12
916 is .alm0~t turned OFF, and the output of power tracking erator (e.g., power supply generator 586 in FIG. 5) may
amplifier 810 Increases. The converse is tree when the generate a power supply voltage based on the power track-
pow~ tracking signal decreases. The negative feedback ing signal.
from the output of power tracking amplifier 810 to the In one design, the power tracker may determine an overall
inverting input of op-amp 910 results in power tracking 5 power of the plurality of transmit signals based on the I and
amplifier 810 having unity gain._ Hence, [he output of power Q components of the plurality of transmit signals, e.g., as
tracking amplifier 810 follows the power tracking signal, I~2(t)+Q~(t)+ +Ix2(t)Qzr~(t)- The power lracker may
and the V~,a voltage is approximately equal to the power then determine the power t~Ta~king sign~ based on the
tracking s~gnal_ Driver 912 may be implemented with a class overall power of the plurality of transmit signals, e.g., as
10
AB amplifier to ~raprove efficiency, so that large Output shown in equation (1). In another design, the power tracker
currents can be supplied even though the bias cUrreiit in may determine the power of each transmit sil~l based on
transistors 914 and 916 is low. the I and Q components of that transmit signal, e.g., as
~ one design, power tracking amplifier 810 operates I~2(t)+Q~(t) for the k-th transmit signal. The power tracker
based on the Vsoosr voltage only when needed and based 15 may then determine the power tracking s~gna~ based on the
on the Vs,~r voltage during the remaining time in order to powers of the plurality of transmi[ s~gnals, e:g., as shown in
improve efficiency. For example, power tracking amplifier equation (2). The power lra~k~r may de~!Tmine a voltage of
810 may provide approximately 85% of thepower based on each tra_ns._, mit si~gn~l=_ b~s_~ed on the power of the transmit
the V~ar voltage and only approximately 15% of the power si~nal; e.g., as ~/I~(t)+Q~(t). The power tracker may then
based on the Vsoosr ";oltage. When a high Vpa Voltage is 2o determine the power tracking signal based on voltages of the
needed for PA 560 dueto a large envelope of the output RF plurality oftransmit signals, e,g,, as sho~cn in equation (2).
signal, the C1 control signal is at logic low, and the C2 The power tracker may also determine the power tracking
control signal is at logic high. In this case, boost converter s~gnai based on the I and Q componentSof the plurality of
830 is enabled and generates the Vsoosr voltage, PMOS lralismit Si~C~nals in other mannigrs. In one design, the plu-
transistor 918 is turned ON and proVides the Vaoosrvoltage 25 rality of transmit signals may be sent on a plurality of
to the source of PMOS transistor 914, and PMOS transistor carders at different frequencies. The power tra~ki~ag sigr~l
920 is turned OFF. Conversely, when a high V~,~ voltage is may h~ve a bandwidth tha~ is smaller than an overall
noI needed for PA 560, the C1 control signal is at logic high, bandwidth of the plurality of carders.
and the C2 control signal is at logic lo~. In this case, boost In one design, the apparatus may comprise a plurality.of
converter 830 is disabled, PMOS Iransistor 918 is tomed 3o transmit circuits and a summer, e,g., as shown in FIG. 5. The
OFF, and PMOS transistor 920 is turned ON and provides plurafity of transmit circ~ts (e.g., IPansmit circuits 540a to
the Vanr voltage to the seuree of PMOS transistor 914. 540k) may receive the I and Q components of the plurality
A coutrol silIT~d generator 940 recei~,es the power track- of transmit signals and may provide a plurality of upcon-
ing signal aItd the g~R,~.r VOltage and generates the C1 and C2 vetted RF signals, Each transmit circuit may upconvert I and
control s~rnal~. The C1 control sigl:ml is complementary to 35 Q components of one Imusmit sign~! .__and provide a con~-
the C2 control signal. In one design, generator 940 generates sponding upconverted RF signal. The summer (e.g., snmmer
the C1 and C2 control signals to select the Vnoosr voltage 552) may sum the plurality of upconverted RF signals and
for power tm. _ckd_n_g atnp_ lifter 910 when the magnitude of the proVide a modulated RF signal. In another design, the
powe~ tracking signal exceeds a first threshold. The first apparatus may comprise a transmit circuit (e.g., transmit
threshold may be a fiXed threshold or may be determined ~o circuit 540in FIG. 6) that may receive a modulated IF signal
based on the V~,~r Voltage. ~n another design, generator 940 for the plurality of transmit signals and proVide a modulated
generates the C1 and C2 control signals to select the Vsoosr RF signal. The modulated/F signal may be generated (e.g.,
voltage for power tracking amplifier 910 when the magni- by digital modulator 520 in FIG, 6) ba~l on the I and Q
tude of the power tracking signal exceeds the first threshold compone_n_ts of the plurality of transmi[ signals, In an exem~
and the Vsar voltage is below a second ~sh0kL Generator 45 platy design, the apparatus may further comprise a PA (e.g.,
940 maya~so generate the C1 and C2 ~m9ls based on other PA 560 in FIGS. 5 and 6) that may amplify the modulated
signals, other voltages, and/or other criteria. RF signal based on the pOWer Supply VOltage aud provide an
Switcher 820 has high efficiency and delivers a majority output RF signal.
of the supply ~ for PA 560. Power tracking amplifier In an exemplary design, the power supply generator may
810 operates as a linear stage and has relatively high 50 comprise a. power ~cking am._p_li~i~ (e.g;, power tra~kin~
bandwidth (e@, ha the ~ range). Switcher 820 operates amplifier 810 in FIGS. 8 and 9):tbat may receive the power
to reduce the output current fi,om power tracking amplifier ~acking si~crna| and generate the power ~uppl~ Voltage. The
810, which improves overall efficiency, power Supply generator may further comprise a switcher
FIG. 9 shows an exemplary design of switcher g20 and and/or a boost converter. The switcher (e.g., switcher 820 in
power tracking amplifier 810 in FIG. 1. Switcher 820 and 55 FIGS. 8 and 9) may sense a first current (e.g.~ the Ia, r curr~t)
power tracking amplifier 810 _may also be implemented in from the power tracl~ amplifier ~ provide a second
other manners. For example, power tracking amplifier 810 cur~nt (e.g., the Is~, current) for the power supply voltage
may he implemented as described in U.S. Pat. No. 6,-300, based on the sensed tirst carrent. The boost converter (e.g.,
826, entitled "ApparatUs and Method for Efficiently Ampli- boost convea-ter 830 in FIGS. 8 and 9) may receive a battery
fying Wideband Envelope Si~mal.%" issued Oct. 9, 2001. ~0 voltage and provide a boosted voltage for the power tracking
In an exemplary design, an apparatus (e.g., an integrated amplifier. The power Iracking amplifier may operate based
c~t, a wireless device, a circuit module, etc.) may om- on the boosted voltage or the battery voltage.
prise a power tracker and a power supply generator. The FIG. 10 shows a design of a process 1000 for generating
p6wer tracker (e,g., power tracker 582 in FIG. 5) may a power supply voltage with power trackinE. A power
detemaine a power tracking signal based on I and Q corn- ~5 tracking signal may be determined based on I and Q com-
ponents (e.g., I and Q samples) of a plurality of transmit ponents of a plurality of transmit signals being sent simul-
signals being sent simultaneously. The power supply gen- tencously (block 1012). In one design of block 1012, an
Exhibit F
Page 129
Copy provided by USPTO from the PIRS Image Database On 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.173 Page 173 of 177
US 9,608,675 B2
13 14
overall power of the plurality of transmit signals may be puter-readable medium. For example, if the soi~ware is
determined based on the I and Q components of the plurality transmitted from a website, server, or other remote source
of transmit signals. The power tracking signal may then be using a coaxial cable, fiber optic cab!e, twi~ted pair, digital
determined based on the overall power of the plurality of subscriber line (DSL), or wireless tech~ologies such as
transmit signals, e.g., as shown m equation (1). In another 5 infrared, radio, and microwave, then the coaxial cable, fiber
design ofblock 1012, the power of each transmit signal may optic cable, twisted pair, DSL, or wireless teeimologi~s such
be determined based on the I and Q e6mponents of the as infrared, radio, and microwave are included in the deft-
tra~mit s~gnal. The power tracking si~rnal may then be nJtion of medium. Disk and disc, as used herein, includes
determined based on the powers of the plurality of transmit
compact disc (CD), laser disc, optical disc, digital versatile
signals, e.g., as shown in equation (2). ~0 disc (DVD), floppy disk and blu-ray disc Where disks
A power supply voltage may be generated based on the usually rop~duce data magneticallsi, Wliile discs reprbduce
power tracking signal (block 1014). In one design, tim power
supply voltage may be generated with a amplifier (e.g., data optically with lasers. Combinations of the above sheuld
amplifier 810 in FIG. 9) that tracks the power tracking also be included within the scope Of comput~r-rea.dable
signal. The power supply Voltage ma~, also be generated 15 media.
based on a switcher and/or a boost converter. The previous description of the disclosure is provided to
A modulated RF signal may be generated based on the I enable any person skilled in the art to make or use the
and Q components of the pinratity of mmsmit signals (block diseiosure. Various modifications to the disclosure will be
1016). In one design, I and Q components of each transmit readily apparent to those skilled in the art, and the generic
signal may be upco_nverted to obtain a corresponding upcon- 20 principles defined herein may be applied to other variations
verted RF signal. A plurality of upconverted RF signals for without departing from the scope of L~e disclosure. Thus, the
the plurality of transmit signals may then be summed tO disclosure is not intended to be !".m~i_.ted to the examples and
obtain the modulated RF Sj~mal~ e.g., as shown in FIG. 5. In designs described herein but is to be gccorded the widest
another design, a modulated IF Sj~nal may be generated scope consistent With the principles and novel features
based on the I and Q components of the plurality of Wansmit 25 disclosed herein.
signals, e.g;, as shown in FIG. 6. The modulated IF signel
may then be Upconver~d to obtain the modulated RF signal. What is claimed is:
In any ease, the modulated RF signal may be amplified with 1. An apparatus comprising:
a PA (e.g., PA S60 in FIGS. S and 6) operating based on the a power tracker configured to determine a single power
power supply voltage to obtain an output RF si~nal (block 30 tracking signal based on a plurality of inphese (I) and
1018). quadrature (Q) components of a plurality of carrier
The power tracker and power supply generator described aggregated transmit si~rnals being sent simultaneously,
herein may be implemented on an IC, an analog IC, an wherein the power wacker receives the plurality of I
RFIC, a mixed-signal IC~ an ASIC, a printed circuit board and Q components corresponding to the plu2rality of
(PCB), an e!ectronie device, etc. The power tracker and 35 carrier aggregated transmit signals and generates the
power supply genera!or may also be fabricated with various single power tracking signal based on a combination of
IC process technol0gies such as e0mplementary metgl oxide the p!uralily of I and Q components, wherein the
semiconductor (CMOS), NMOS, PMOS, bipolar junction plurality of carrier agg~gated trgnsmi~ signgl__~ com-
transistor (BJT), bipolar-CMOS (BiCMOS), silicon gemaa- prise Orthogoual Frequency Division Mul_fiplexing
ninm (SiGe), gallium arsenide (GaAs), etc. 4o (OFDM) or Single Carrier Frequency Division Mul~
Aa apparatus implementing the power tracker and/or tiple Access (SC-FDMA) signals;
power supply ge~erator described herein may be a stand- a power supply generator cOnfigUred to gen~aate a Single
alone device or maybe.part era larger device. A device may power supply voltage based on.the single power track-
be (i) g stend-o!one IC, (ii) a set of one or more ICs that may ing signal; and
inlude memory ICs for storing data and/or instrueti0ns, (i~i) a power amplifier comSgured to receive the single power
an RFIC such:as an RF recei~er.(RFR) or an RF transmitter/ supl~ly v01~age ~d ~e pl__m_~ifty of ea~i._er aggregated
receiver (RTR), (iv) an ASIC such as a mobile station mmsmit signals being sent simulumeously to p/educe a
modem (MSM), (v) a module that may be embedded within single output radio fi~luency (~RF) signal.
other devices, (vi) a receiver, cellular phone, wireless 2. The apparatus of claim 1, Wherein the power tiackeris
d6Mce, handset, or m0bile ~it, (vii) ere. 50 configured to:
Ia one or mor~ exemplary designs, the functions detea-mi~ an overall power of the plurality of carrier
described ma~, be implemeuted in hardware, software, firm- aggregated transmit signals based on the I and Q
Ware, or my combination thereof. If implemeuted in soft- components of the plurality of earrier aggregated tram-
ware, the ftmetions may be stored on or transmitted ov~ as mit fignals, and
one or more insmaetiom or code on a computer-readable determine the single powe~ tracking sigi~al based on the
medium. Computer,readable media includes both computer overall power of the pluratity of carrier aggregated
storage media and communication media including any Wansmil signals.
medium that facilitates transfer of a computer program from 3. The apparatus of claim 1, whe4ein the power ~acker is
one place to another. A storage media may be any available configured to:
media that can be accessed by a computer. By way of 60 determine a power of each transmit signal in the plurality
example, and not limitation, such computer-readable media of carrier aggregated transmit S~rnals based on the I and
can comprise RAM, ROM, EEPROM, CD-ROM or other Q components of each transmit signal, and
optical disk storage, magnetic disk storage or other magnetic detea-mine the single power tracking signal based on a Sum
storage devices, or any other medium tha! can be used to of said power of each transmit Signal of the plurality of
carry or store desired program code in the form of instruc- ~s carrier aggregated transmit signals.
tions or data structures and that can be accessed by a 4. The apparatus of claim 1, wherein the power tracker is
computer. Also, any connection is properly termed a com- configured to:
Exhibit F
Page 130
Copy provided by USPTO from the PIRS Image D~itabas6 6h 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.174 Page 174 of 177
US 9,608,675 B2
15 16
determine a power of each transmit signal in the plurality 17. The apparatus of claim 1, wherein the power tr~ker
of carrier aggregated transmit signals based on the I a~_d is configured to determine the single power tracklr~E signal
Q c0mponems of each transmit signal, based on functions comprising:
determine a voltage of each transmit signal based on the caiculating ~/I~2(~)-~Q~2(t) corresponding to K inphase (1)
power of each transmit signal, and 5
and quadmtur~ (Q) components to p~odu~e K voltages;
determine the single power tracking signal based on said and
voltage of each transmit signal of the plurality of carder
s~imm~ng tho K voltages.
aggregated .trammi.
~ "t s~_~s.
18. A method comprising:
5~ The apparatus of claim 1, further comprising:
determining a single power tracking S~ based on a
a plurality of transmit circuits configured to receive the
and Q components of the plurality 0f Carder aggregatad plurality of inphese (1) and quadrature (Q) components
transmit signals and provide a plurality of upconyerted of a plurality of canier aggregated transmit signals
RF siLz~al.% each transmit circuit configured to upcon- being sent ~mul~aneously, wherein a power tracker
vert I and Q components of one of the plurality of receives the plurality of I and Q components orre-
carder aggregated transmit signals and provide a cor- 15 spending to the plurality of carrier aggregated transmit
responding Upconvert~d RF signa!, and sisals and generates the single power tracking signal
a summer configured [o sum the plurality of upconverted based on a combination of the plurality of I and Q
RF signals and provide the plurality of carder aggre, components, Wherein the plurality of ~e~ aggregated
gated transmit signals to the po~r ampfifier. transmit signals compdse~Orthognnal Frequency Divi.
6. The apparatus ofclaim 1, further comprising: 20 ~ion Multiplexing (OFDM) or Single Carrier Fre-
a transmit circuit configured to receive a modulated quency Division Multiple Access (SC-FDMA) signals;
intermediate frequency (IF) signal and provide the generating a single power supply voltage based on the
plurality of carder aggregated transmit signals to the single power tracking signal; and ~
power amplifier, the modulated IF Signal being gener- receiving the single power supply voltage and the plural-
ated based on the I and Q componenis oft.he plurality ity of carrier aggregated transmit signals being sent
of carder aggregated transmit signals.. simultaneonsly in a power amplifier and producing a
7. The appm_~n~ Of claim 1, the power supply generator single outpm radio fx~Iueacy (RF) s~,
comprising:
19. The method of laim 18, wherein the ~termining the
a power tracking ampfifier configured to receive the
power tracking signal and generate the power supply 30 single power Waeking signal comprises;
determininE an overall power of the plurality of carrier
voltage.
aggregated transmit signals based on the I and Q
8. The apparatUs of claim 7, the power supply generator
further comprising: omponant~ of the plurality of ean-ier aggregated trans-
. a switcher configured to sense a first current from the mit signals, and
power tr~cld~E amplifier and provide a second current 35 determlniug the Single power treekiag signal based on the
for the power supply voltage based on the sensed first overall power of the plurality of carder aggregated
transmit si~onals,
9. The apparatUs of claim 7, the power Supply ge~erator 20. The method of claim 18, wherein thedetermining the
further compr~ing: single power tracking signal comprises:
a boost converter configured to receive a battery voltage ,to demrmlniug a power of each ~t signgl__ in the plu-
and provide a boosted voltage for the power tracking rality of carder aggregated tmmmit signals based on
amplifier. the I and Q components of each transmit signal, and
10. The apparat~ of claim 9, wherein the power tracking determining the single power tracking Signal based on a
amplifier operates based on the boosted voltage or the sum of saii:l power 6f each transmit sig~l of the
battery voltage. plurality of ~er aggregated tra~s~it signals.~
1.1. The apparatus of claim 1, wherein the plurality of 21. Tbe method of laim 18, further comprisinlV
carrier aggregated ~t s~T,~ls are sent on a plurality of receiving the I and Q componems of the plurallty of
carders at diife~ent frequencies. carrier aggregated transmit signals in a plm-ality of
12. The apparatus of claim 11, wherein the single power transmit ciroui~ and providing a pl_u.mf!..ty of upcon-
tracking signal has a bandwidth that is smiler th~n an verted RF signals from the plurality of transmit circuits,
oveml] bandwidth of the plurality of carriers. each transmit circuit Upconx,Crting i andQ cOmponants
13~ The apparatus of claim i, wherein the carder aggre- of om of the plurality of carrier aggregated ttansmit
gated trahsmit signalg are intra-ba~d carrier aggregated signals and providing a corresponding upconverted RF
transmit signals. signal, and
14. The appa~a~s of claim 1.3, wherein_ the intra-band 55 gnmming the plurality of upconverted RF signels and
carder aggr~ated transmit si~!s are contiguous. providing the plurality of carder aggregated transmit
15, The apparatus of claim 13, Wherein the intm-band signals to the power amplifier.
carrier aggregated Wansmit S~Zna!s are non-oontignous. 22. The method Of claim 18, further COmprising:
16. The apparatus of claim 1, wherein the power tracker receiving a modulated intermediate frequency (IF) signal
is cOnfigured to determine the single power tracking 6o in a transmit cimuit and providing the plurality of
based on functions c0mpdsing: carder aggregated transmit signals to the power-ampfi-
squaring each of the plurality of in~hese (1) and quadra- tier from the transmit ch-cuit, ~ modui~ted IF signal
ture (Q) components to produce a plurality of P and 02 being generated b~ o_n the I ang! Q cog~ponems of the
values; plurality of ~raggregated ~,,~;~ signals.
snmming the plurality of I~ and Q~ values to produce an 6s 23. The method of ~im 18, wherein the carri~ aggre.
overa!l power; and gated transmit sign~ are intm-band carrier aggregated
taking the square root of the overall power. transmit signals.
Exhibit F
Page 131
provided by US#~O ftbm the PIRS Image Database on 04/05/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.175 Page 175 of 177
US 9,608,675 B2
17 18
24. The method of claim 23, wherein the intra-band 30. The appara~s of claim 28, wherein.the means for
earrie~ aggregated transmit signals are comiguous. determining the Single power tracking sigma1 comprises:
25. The method of claim 23 wherein the in!~a-band ~er means for determining a power of each ~ausmit signal in
aggrega~-d tragsmit signals are non,contiguous. the plurality of carrier aggregated aansmi_t signals
26. The method of claim 18, wherein d~te.nhining the based on the I and Q components of each transmit
single power tracking signal comprises: signal, and
squaring each of the plurality of inphase 03 and quadra- means for determining the siiagle pow~ tracking signal
ture (Q) components to produce a plurality eli~ and QZ based on a s~~ of said power of each transmit signal of
values; the plurality of carrier aggregated transmit signals.
summing the plurality of I~ and QZ values to produce an 31. The apparatus of claim 28, further comprising:
overall power;, and means for receiving the I and Q components of the
taking the square root of the overall power. plurality of carrier aggrega~._ed ~ s~m?als and
27. The method of claim 18, Wherein determining the separatdy upconverting the ! and Q components of the
single power tracking silva1 comprises: plurality of carrier aggregated transmit signals to pro-
calculating ~/I~(t)Q~2(t) corresponding to K i~hase (1) vide a plurality of upconverted RF signals, and
attd quadrature (Q) components to produce K voltages; means for ~mmi~g the plurality of upconverted RF
and Signals and providing the plurality of carrier aggregated
s~mmlng the voltagas.
transmit signals to a power amplifier.
28. An app,ntis comprising: 32. The apparatus of claim 28, further comprising:
means for determining a single power tracking Sj~onnl 20 means for receiving a modulated intermediate frequency
based on a pluzali~y of inphase (1) and quadrature (Q) (IF) signal and pioviding the plurality of cartier aggre-
components era plurality ofcanSer aggregated ~t gated llansmit, s!~nals to a power~amplifier, the modu7
sil~als being sent simultaneously, wherein a power lated IF signal being generated based on the I and Q
tracker receives the plurality of I and Q components components of the plurality of carrier aggregated Uam-
correspondin~ to the plurality of carrier aggregated 2~ mit si~onals.
lyansmit signals and generates the single power track- 33. Anon-trausito~ computer-readable medium compris-
ing si~ma~ based on a combina~on of the plura!i!y of I ing iusu-uctions, that when executed by a processor, cause
a~ad Q components, wherein the plurality of carrier the processor to:
aggregated transmit signals comprise Orthogaml Fre- de~ermine a single power tracking signal based on a
3o p!mTality of inphase (I) and quadrature (Q) components
quency Division Multiplexing (OFDM) or.Single Car-
tier Frequency Division Multiple Access (SC-FDMA) of a plurality of carrier aggregated transmit s~,nals
signals; being sent simultaneously, wherein a power tracker
means for generating a single power supply voltaga based receives the plurality, eli and Q components orre,
on the single power tracking signal; and spending to theplmality of carrier aggregated wammit
meens for receiving the single power supply voltage and 35 si~onalg and generates the single power tracking si~nal .
the plurality of carrier aggrega~:l transmit sigr~ls based on a combination of the plurality of I and Q
being sere simul ~um~ou~ly and producing a Single out- components, wherein the plurality of cartier aggregated
put radio frequency (R.F) si~al transmit signals comprise Oahogom! Frequency DiVi-
29. The apparatus of claim 28, wherein the means for
sion Mulfiplex~ug (OFDM) or Single CaAfi..~!" Fre-
d~ermlnln~ the si~e p0"~~" trackqn~ si~l ol:nprises:
40 quency Division Multiple Access (SC,FDMA) signals;
heal~ fox" determining an overall power of the plnrality of
generate a single power supply voltage based on the
carrier aggregated transmit signals based on the I and Q single powdr tracking sigaal~ and
components of the plurality of carrier aggregated trans- receive the Single power supply voltage and the plurality
mit signals, and of carrier aggregated transmit signals being sent simul-
means for determinln~ the Single power tracking signal taneously in a power amplifier to produce a single
based on ~e overall power of the plurality of carrier output radio frequency (RF) signal.
aggregated transmit sigaals.
Exhibit F
Page 132
Copy provided by USPTO from the PIRS Image Database on 04105/2017
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.176 Page 176 of 177
Exhibit F
Page 133
Case 3:17-cv-01375-JAH-AGS Document 1 Filed 07/06/17 PageID.177 Page 177 of 177
Exhibit F
Page 134
PTO- | 683
(Rev. 7-96)
Case 3:17-cv-01375-JAH-AGS Document 1-1 Filed 07/06/17 PageID.178 Page 1 of 4
JS 44 (Rev. 06/17) CIVIL COVER SHEET
The JS 44 civil cover sheet and the information contained herein neither replace nor supplement the filing and service of pleadings or other papers as required by law, except as
provided by local rules of court. This form, approved by the Judicial Conference of the United States in September 1974, is required for the use of the Clerk of Court for the
purpose of initiating the civil docket sheet. (SEE INSTRUCTIONS ON NEXT PAGE OF THIS FORM.)
(b) County of Residence of First Listed Plaintiff San Diego County of Residence of First Listed Defendant
(EXCEPT IN U.S. PLAINTIFF CASES) (IN U.S. PLAINTIFF CASES ONLY)
NOTE: IN LAND CONDEMNATION CASES, USE THE LOCATION OF
THE TRACT OF LAND INVOLVED.
(c) Attorneys (Firm Name, Address, and Telephone Number) Attorneys (If Known)
II. BASIS OF JURISDICTION (Place an X in One Box Only) III. CITIZENSHIP OF PRINCIPAL PARTIES (Place an X in One Box for Plaintiff
(For Diversity Cases Only) and One Box for Defendant)
u 1 U.S. Government u 3 Federal Question PTF DEF PTF DEF
Plaintiff (U.S. Government Not a Party) Citizen of This State u 1 u 1 Incorporated or Principal Place u 4 u 4
of Business In This State
u 2 U.S. Government u 4 Diversity Citizen of Another State u 2 u 2 Incorporated and Principal Place u 5 u 5
Defendant (Indicate Citizenship of Parties in Item III) of Business In Another State
The JS 44 civil cover sheet and the information contained herein neither replaces nor supplements the filings and service of pleading or other papers as
required by law, except as provided by local rules of court. This form, approved by the Judicial Conference of the United States in September 1974, is
required for the use of the Clerk of Court for the purpose of initiating the civil docket sheet. Consequently, a civil cover sheet is submitted to the Clerk of
Court for each civil complaint filed. The attorney filing a case should complete the form as follows:
I.(a) Plaintiffs-Defendants. Enter names (last, first, middle initial) of plaintiff and defendant. If the plaintiff or defendant is a government agency, use
only the full name or standard abbreviations. If the plaintiff or defendant is an official within a government agency, identify first the agency and
then the official, giving both name and title.
(b) County of Residence. For each civil case filed, except U.S. plaintiff cases, enter the name of the county where the first listed plaintiff resides at the
time of filing. In U.S. plaintiff cases, enter the name of the county in which the first listed defendant resides at the time of filing. (NOTE: In land
condemnation cases, the county of residence of the "defendant" is the location of the tract of land involved.)
(c) Attorneys. Enter the firm name, address, telephone number, and attorney of record. If there are several attorneys, list them on an attachment, noting
in this section "(see attachment)".
II. Jurisdiction. The basis of jurisdiction is set forth under Rule 8(a), F.R.Cv.P., which requires that jurisdictions be shown in pleadings. Place an "X"
in one of the boxes. If there is more than one basis of jurisdiction, precedence is given in the order shown below.
United States plaintiff. (1) Jurisdiction based on 28 U.S.C. 1345 and 1348. Suits by agencies and officers of the United States are included here.
United States defendant. (2) When the plaintiff is suing the United States, its officers or agencies, place an "X" in this box.
Federal question. (3) This refers to suits under 28 U.S.C. 1331, where jurisdiction arises under the Constitution of the United States, an amendment
to the Constitution, an act of Congress or a treaty of the United States. In cases where the U.S. is a party, the U.S. plaintiff or defendant code takes
precedence, and box 1 or 2 should be marked.
Diversity of citizenship. (4) This refers to suits under 28 U.S.C. 1332, where parties are citizens of different states. When Box 4 is checked, the
citizenship of the different parties must be checked. (See Section III below; NOTE: federal question actions take precedence over diversity
cases.)
III. Residence (citizenship) of Principal Parties. This section of the JS 44 is to be completed if diversity of citizenship was indicated above. Mark this
section for each principal party.
IV. Nature of Suit. Place an "X" in the appropriate box. If there are multiple nature of suit codes associated with the case, pick the nature of suit code
that is most applicable. Click here for: Nature of Suit Code Descriptions.
VI. Cause of Action. Report the civil statute directly related to the cause of action and give a brief description of the cause. Do not cite jurisdictional
statutes unless diversity. Example: U.S. Civil Statute: 47 USC 553 Brief Description: Unauthorized reception of cable service
VII. Requested in Complaint. Class Action. Place an "X" in this box if you are filing a class action under Rule 23, F.R.Cv.P.
Demand. In this space enter the actual dollar amount being demanded or indicate other demand, such as a preliminary injunction.
Jury Demand. Check the appropriate box to indicate whether or not a jury is being demanded.
VIII. Related Cases. This section of the JS 44 is used to reference related pending cases, if any. If there are related pending cases, insert the docket
numbers and the corresponding judge names for such cases.
Date and Attorney Signature. Date and sign the civil cover sheet.
Case 3:17-cv-01375-JAH-AGS Document 1-1 Filed 07/06/17 PageID.180 Page 3 of 4
I. (c)
JONES DAY
Karen P. Hewitt (SBN 145309)
[email protected]
Randall E. Kay (SBN 149369)
[email protected]
4655 Executive Drive, Suite 1500
San Diego, California 92121
Telephone: (858) 314-1200
Facsimile: (858) 345-3178