Intelligent resource allocation framework for dynamic allocation of system resources in personal computing device (PCD) employing wireless modem

By adopting the Intelligent Resource Allocation Framework (SRAF) in Portable Computing Devices (PCDs), dynamically updating cache table entries, reducing the power usage of non-modem processing cores, and allocating more bandwidth to modems, the power and performance degradation problem caused by the failure of system resources to be efficiently utilized in the prior art is solved, and more efficient resource allocation and performance improvement is achieved.

CN119698584APending Publication Date: 2025-03-25QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380058782.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-19
Filing Date
2023-07-20
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

The prior art is difficult to effectively and proactively allocate system resources in portable computing devices (PCDs) to prevent or reduce the downgrade of power and performance key performance indicators (KPIs) while avoiding the negative impact of temperature increase on the user experience.

Method used

The Intelligent Resource Allocation Framework (SRAF) is adopted to monitor the preselected state status of the PCD through resource management circuits, decide whether to place it in modem power performance (Mod.Pow.-Perf.) mode, and perform the corresponding dynamic resource allocation process, including dynamic update of cache table entries, reducing the power usage of non-modem processing cores, and allocating more bandwidth to the modem.

Benefits of technology

Effectively prevent or reduce the downgrade of power and performance KPIs, avoid the negative impact of temperature increase on user experience, and improve modem performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119698584A_ABST
    Figure CN119698584A_ABST
Patent Text Reader

Abstract

Systems, methods, and computer readable media may be used in a portable computing device (PCD) to dynamically allocate system resources in a manner that prevents or reduces degradation of power and performance KPIs while also avoiding temperature increases in the PCD that may create an unpleasant user experience. When a call is received or issued, an intelligent resource allocation framework (SRAF) is triggered. Once triggered, the SRAF framework monitors a preselected set of state conditions to determine whether to place the wireless modem in a modem power performance (Mod. Pow.-Perf.) mode. If it is determined that the modem is to be placed in the Mod.Pow.-Perf. Mode, a Mod.Pow.-Perf. Process is performed that dynamically allocates system resources and preferably also triggers a thermal framework that performs power reduction in one or more non-modem processing cores.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related technical description

[0002] Wireless devices use wireless modems to directly connect to and communicate with wireless networks. Most portable computing devices (PCDs) such as mobile phones, tablet portable computers (i.e., iPads), laptop computers, smart wearable devices, and Internet of Things (IoT) devices use wireless modems. When not charged, PCDs all run on batteries. In such devices, if system resources are not properly and efficiently utilized, serious degradation of key performance indicators (KPIs) for power and performance may occur. This is especially true for currently available and upcoming PCDs that incorporate newer wireless modem features for higher bandwidth (BW) wireless communication protocols (e.g., fourth generation (4G), long term evolution (LTE), fifth generation (5G), 5G new radio (NR), sixth generation (6G), etc.).

[0003] There is typically no intelligent framework for proactively allocating system resources in a PCD in a manner that ensures that performance and power KPIs are not degraded. Some PCDs implement a use case thermal framework that 1) uses the output of one or more temperature sensors to detect when a long duration call has caused the temperature of the PCD to rise to the point where the user senses heat from the PCD, and then 2) disables modem features to reduce power usage until the temperature slowly decreases to the point where the user no longer senses heat. One disadvantage of this type of thermal framework is that disabling modem specific features to reduce power usage, thereby reducing temperature, degrades modem performance. Another disadvantage is that the thermal framework is not proactive in that it is only triggered after the user senses heat during a call, i.e., it does not proactively mitigate temperature increases before the user senses heat. Additionally, this type of thermal framework is only triggered during the use case of long duration calls.

[0004] Some PCDs dynamically allocate system resources in an attempt to prevent degradation of power and performance KPIs, but such allocation schemes are only partially effective. In recently developed system-on-chip (SoC) technology used in PCDs, last level caches (LLCs) have been introduced to improve system performance and reduce usage power usage and impact. LLC allocation is currently performed in two ways: "static reservation" allocation and "free pool for opportunity" allocation. Each system "client" is assigned a priority and a maximum storage capacity of the LLC in kilobytes (KB), and may or may not be assigned a reserved area in the LLC. This allocation is performed on a one-time basis using a system cache table defined in the kernel code of the PCD operating system (OS).

[0005] As shown in the following example, there are disadvantages to this type of resource allocation scheme. Assuming a relatively simple system in which the PCD's central processing unit (CPU) and modem are the only clients accessing the system LLC, and assuming the LLC size is 4 megabytes (MB), with 3MB reserved for the CPU and 1MB reserved for the modem, even if the CPU does not fully utilize its 3MB of reserved LLC, the modem will not be allocated more than 1MB of LLC (even if it is very eager for the system cache). Such scenarios are very common when the user is performing a voice call or a data call and reveal that the system cache is a very important resource that is not being properly and extensively utilized. In such scenarios, long duration NR / LTE calls result in more radio frequency (RF) dissipation, which results in heat accumulation near the user's ears, which creates an unpleasant user experience. As indicated above, the current thermal framework solution to this problem is to disable modem specific features to reduce power usage and therefore reduce temperature, which results in the aforementioned disadvantages.

[0006] What is needed is a system and method for use in a PCD with a wireless modem for more efficiently, proactively, and dynamically allocating system resources in a manner that prevents or reduces degradation of power and performance KPIs while also avoiding temperature increases in the PCD that can create an unpleasant experience for the user. Summary of the invention

[0007] Disclosed herein are systems, methods, computer-readable media, and other examples for providing a Smart Resource Allocation Framework (SRAF) implemented in a PCD having a wireless modem for dynamic allocation of system resources.

[0008] An exemplary PCD having a wireless modem includes resource management circuitry disposed on one or more integrated circuit (IC) chips of the PCD. The resource management circuitry may be configured to: determine whether the PCD is receiving or placing a call; monitor a set of preselected status conditions of the PCD in response to the call being received or placed by the PCD; determine whether the wireless modem is to be placed in a modem power performance (Mod. Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions; and in response to determining that the wireless modem is to be placed in the Mod. Pow.-Perf. mode, perform a Mod. Pow-Perf. process including at least one of the following: (1) dynamically updating one or more cache table entries associated with the wireless modem; (2) reducing power usage in one or more non-wireless modem processing cores to reduce a temperature of the PCD; and (3) allocating more bandwidth to the wireless modem.

[0009] An exemplary method performed in a resource management circuit disposed on one or more IC chips of the PCD includes: determining whether the PCD receives or places a call; monitoring a set of preselected status conditions of the PCD in response to the call received or placed by the PCD; determining whether the wireless modem is to be placed in a modem power performance (Mod.Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions; and in response to determining that the wireless modem is to be placed in the Mod.Pow.-Perf. mode, performing a Mod.Pow-Perf. process including at least one of the following: (1) dynamically updating one or more cache table entries associated with the wireless modem; (2) reducing power usage in one or more non-wireless modem processing cores of the PCD to reduce the temperature of the PCD; and (3) allocating more bandwidth to the wireless modem.

[0010] An exemplary SRAF non-transitory computer-readable medium includes computer instructions for execution by logic components disposed on an IC chip of a PCD to implement SRAF for the PCD. The computer instructions include: a first instruction set that determines whether the PCD is receiving or placing a call; a second computer instruction set that monitors a preselected set of status conditions of the PCD; and a third computer instruction set that, in response to determining that the wireless modem is placed in the Mod. Pow-Perf. mode, performs at least one of the following: (1) dynamically updating one or more cache table entries associated with the wireless modem; (2) reducing power usage in one or more non-wireless modem processing cores to reduce the temperature of the PCD; and (3) allocating more bandwidth to the wireless modem.

[0011] Another exemplary system includes a component disposed on one or more IC chips of a PCD for performing resource allocation. The component may be configured to: determine whether the PCD receives or places a call; monitor a set of preselected status conditions of the PCD in response to the call being received or placed by the PCD; determine whether the wireless modem is to be placed in a modem power performance (Mod. Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions; and in response to determining that the wireless modem is to be placed in the Mod. Pow.-Perf. mode, perform a Mod. Pow-Perf. process that includes at least one of the following: (1) dynamically updating one or more cache table entries associated with the wireless modem; (2) reducing power usage in one or more non-wireless modem processing cores to reduce the temperature of the PCD; and (3) allocating more bandwidth to the wireless modem.

[0012] These and other features and advantages will become apparent from the following description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In the drawings, like reference numerals refer to like parts throughout the various views unless otherwise indicated. For reference numerals with letter character designations, such as "102A" or "102B," the letter character designations may distinguish between two similar parts or elements in the same figure. The letter character designations of reference numerals may be omitted when it is intended that a reference numeral encompass all parts having the same reference numeral in all figures.

[0014] Figure 1 is a flow chart of a first portion of a Smart Resource Allocation Framework (SRAF) method according to a representative embodiment.

[0015] Figure 2A is a flow chart of the first portion of the SRAF method according to a representative embodiment.

[0016] Figure 2B is when Figure 2B Flow chart of the second portion of the SRAF process performed when the Mod.Pow.-Perf. process is triggered at the step represented by box 206 in FIG.

[0017] Figure 3 This example shows how Figures 1 to 2B An example of a PCD (such as, for example, a mobile phone) of an exemplary embodiment of the method depicted in FIG.

[0018] Figure 4 is a block diagram of a SRAF system according to a representative embodiment, wherein Figure 3 The hardware components of the SRAF management circuit 310 shown and Figure 3 A combination of software and / or firmware executed by the illustrated CPU 304 implements the system. DETAILED DESCRIPTION

[0019] The present disclosure discloses a system, method, and computer-readable medium for use in a PCD with a wireless modem for more efficiently, proactively, and dynamically allocating system resources in a manner that prevents or reduces degradation of power and performance KPIs while also avoiding temperature increases in the PCD that can create an unpleasant experience for the user. These systems, methods, and computer-readable media provide a Smart Resource Allocation Framework (SRAF) that is triggered when a call is received or placed.

[0020] Once triggered, the SRAF framework monitors preselected criteria to determine whether to perform a modem power performance (Mod. Pow. -Perf.) procedure. If it is determined that the Mod. Pow. -Perf. procedure is to be performed, it performs one or more and preferably all of the following: (1) it dynamically updates the modem system cache table entries to, for example, increase the size of cache memory allocated to the modem, change the rank of the modem for accessing the cache memory, assign a high priority classification to the modem for accessing the cache memory, change one or more policies related to the modem accessing the cache memory, allocate cache to the modem from some other subsystem pool, etc.; (2) it actively triggers the thermal framework of the PCD to cause it to perform power reduction in one or more non-modem processing cores (e.g., power reduction in one or more CPUs, GPUs, CDSP cores, etc.) to reduce the temperature of the PCD before the user senses heat; and (3) it monitors feedback received from one or more intellectual property (IP) blocks of the PCD regarding the actual bandwidth required by the IP blocks, and dynamically allocates bandwidth in excess of the actual bandwidth required to a free pool accessible to the wireless modem for use by the wireless modem to improve its performance.

[0021] In the following specific embodiments, for the purpose of explanation rather than limitation, exemplary or representative embodiments that disclose specific details are described, so as to provide a thorough understanding of the embodiments according to the present teachings. The word "exemplary" is used herein to mean "used as an example, instance, or illustration". The word "exemplary" may be used synonymously with "exemplary" herein. Any aspect described as "exemplary" herein is not necessarily interpreted as being preferred or having advantages over other aspects. However, it will be apparent to those skilled in the art who benefit from the present disclosure that other embodiments that depart from the specific details disclosed herein according to the present teachings are still within the scope of the appended claims. In addition, the description of known devices and methods may be omitted to avoid blurring the description of the example embodiments. Such methods and devices are obviously within the scope of the present teachings.

[0022] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. The defined terms are in addition to the technical and scientific meanings of the defined terms as commonly understood and accepted in the technical field of the present teachings.

[0023] As used in the specification and the appended claims, the terms "a", "an", and "the" include both singular and plural referents unless the context clearly dictates otherwise. Thus, for example, "a device" includes one device and a plurality of devices.

[0024] Relative terms may be used to describe the relationship of various elements to each other as illustrated in the figures. These relative terms are intended to encompass different orientations of the device and / or elements in addition to the orientation depicted in the figures.

[0025] It will be understood that when an element is described as being “connected to” or “coupled to” or “electrically coupled to” another element, the elements may be directly connected or coupled or intervening elements may be present.

[0026] The term "memory" or "memory device" as used herein is intended to mean a non-transitory computer-readable storage medium capable of storing computer instructions or computer code for execution by one or more processors. References to "memory" or "memory device" herein should be interpreted as one or more memories or multiple memory devices. For example, the memory may be multiple memories within the same computer system. The memory may also be multiple memories distributed in multiple computer systems or computing devices.

[0027] As used herein, the term "processor" may encompass an electronic component capable of executing a computer program or executable computer instructions and having a combination of hardware circuits and hardware, software and / or firmware. References herein to a computer including a "processor" should be interpreted as one or more processors or processing cores. For example, a processor may be a multi-core processor. A processor may also refer to a collection of processors within a single computer system or distributed across multiple computer systems. The term "computer" should also be interpreted as possibly referring to a collection or network of computers or computing devices, each of which includes one or more processors. The instructions of a computer program may be executed by multiple processors, which may be within the same computer or distributed across multiple computers.

[0028] A computing device may include multiple subsystems, cores, or other components. Such a computing device may be, for example, a portable computing device (“PCD”) with a wireless modem, such as a mobile phone, a tablet portable computer (e.g., iPad), a laptop computer, a smart wearable device, and an Internet of Things (IoT) device, a smart phone, a portable digital assistant (PDA), a portable game console (e.g., an extended reality (XR) device, a virtual reality (VR) device, an augmented reality (AR) device, or a mixed reality (MR) device), etc.

[0029] Multiple subsystems, cores, or other components of a computing device may be included within the same integrated circuit chip or in different chips. A SoC is an example of a chip that integrates numerous components to provide system-level functionality. For example, a SoC may include one or more types of processors, such as a central processing unit ("CPU"), a graphics processing unit ("GPU"), a digital signal processor ("DSP"), and a neural processing unit ("NPU"). The SoC may include other processing subsystems, such as a transceiver or "modem" subsystem that provides wireless connectivity. The components of the SoC (such as, for example, a GPU, DSP, NPU, video processor, wireless local area network (WLAN) processor, modem, and other components) are typically implemented on the SoC in logic blocks commonly referred to as intellectual property (IP) blocks. As the term is used herein, the term "IP block" is intended to represent an IP block of a SoC for a case in which a PCD employs a SoC, as well as a combinational logic block employed for similar purposes in an IC of a PCD that is not necessarily a SoC.

[0030] The PCD may include resources shared between one or more SoC processors, processing cores, or other SoC processing subsystems. For example, the processors may share access to the main memory or system memory and cache memory of the PCD. For example, the processors may also be associated with local cache memory (such as LLC).

[0031] Figure 1 1 is a flow chart of an SRAF process according to a representative embodiment. The SRAF process includes: a first process portion that monitors preselected criteria to determine whether a Mod.Pow.-Perf. process should be initiated; and a second portion that includes the Mod.Pow.-Perf. process. At the step represented by box 101, a determination is made as to whether the PCD has received or placed a call. If so, the first portion of the SRAF process monitors a preselected set of status conditions of the PCD to determine whether the monitored set of preselected status conditions indicates that the modem should be placed in Mod.Pow.-Perf. mode, wherein the Mod.Pow.-Perf. process is performed, as indicated by box 102. Reference is made below to Figure 2A A set of pre-selected status conditions that may be monitored are described in greater detail.

[0032] If it is determined at block 102 that the set of preselected status conditions monitored indicates that the wireless modem should be placed in Mod.Pow.-Perf. mode, then the second portion of the SRAF process is performed, which includes Figure 1The Mod.Pow.-Perf. process represented by blocks 103, 104, and 105 in the PCD. The process represented by block 103 includes dynamically updating one or more cache table entries associated with a modem of the PCD. The process represented by block 104 includes triggering a thermal framework process of the PCD that reduces power usage in one or more non-radio modem processing cores to reduce the temperature of the PCD. The process represented by block 105 includes monitoring feedback from one or more IP blocks of the PCD regarding actual bandwidth required by the blocks, and dynamically allocating bandwidth in excess of the actual bandwidth required to a free pool accessible to the radio modem for use by the radio modem to improve its performance. The following references Figure 2B The process represented by blocks 103 - 105 is described in more detail.

[0033] Figure 2A is a flow chart of a first portion of the SRAF process according to a representative embodiment, which, as described above, determines whether the monitored preselected status conditions indicate that the Mod.Pow.-Perf. process should be initiated, and if so, initiates and executes the Mod.Pow.-Perf. process. The Mod.Pow.-Perf. process is described below with reference to Figure 2B Give a description.

[0034] refer to Figure 2A , block 201 depicts that when a PCD user places a call or accepts a call with a PCD, the SRAF process is triggered or initiated. For example, a caller / receiver event handler or a modem stack event handler may detect when an incoming call is received or an outgoing call is placed and cause the SRAF process of the present disclosure to execute. Once this occurs, the next series of steps represented by blocks 202-205 are executed by the SRAF process to determine whether the Mod.Pow.-Perf. process of the SRAF process will be triggered or initiated.

[0035] According to a representative embodiment, the set of preselected status conditions monitored include: for example, a status condition indicating that the display screen of the PCD is locked, a status condition indicating that the display screen is turned off, a status condition indicating that the proximity sensor has sensed that the PCD is close to the user's ear, a status condition indicating that the light sensor has detected that the PCD is in the user's pocket or handbag, and a status condition indicating that the user is speaking via a Bluetooth headset paired with the PCD.

[0036] Detection of one or more of these status conditions indicates that performing the Mod. Pow. -Perf. process will likely not adversely affect the visible performance of the PCD. If one or more of these status conditions are detected, the process moves to block 205, which will be described in more detail below. If one or more of these status conditions are not detected, the process exits or returns to block 201. Also, if the call is terminated at any time after the SRAF process is triggered at block 201, the SRAF process terminates and / or returns to block 201.

[0037] According to a representative embodiment, the set of preselected status conditions monitored may also include status conditions related to a caller history or caller ID history associated with a party to whom a call is placed or from whom a call is received, as indicated by block 203. The historical data may be analyzed to determine whether modem performance needs to be improved or may require improvements to a current call that is occurring. The historical data may be analyzed to determine, for example, call conditions that have historically occurred in the current geographic location (Geo location) of the PCD (e.g., more voice failures, less network capacity coverage, latency ping-pong, a large number of network drops in a geographic location / region). The historical information may also include a caller or caller ID history that may be analyzed to determine, for example, whether calls with another party participating in the call are typically of long duration and / or occur frequently, thereby indicating that the call is important and may require modem performance improvements and / or may require triggering of a thermal framework, or involve large amounts of data transfer for business or work-related calls, etc. that indicate that modem performance improvements may be required. The caller ID and caller history data may also include, for example, whether the other party participating in the call is in a speed dial list, a contact list, a favorite contact list, is a contact that has been marked as important, is a contact that contains a keyword (such as, for example, "mom", "dad", "sister", "brother", "family member", etc.) It should be noted that caller or caller ID history data other than those discussed above with reference to box 203 can be monitored to determine whether there are more status conditions that indicate that the Mod. Pow.-Perf. process should be initiated.

[0038] If the monitored status conditions associated with the caller or caller ID history data indicate that improved modem performance is currently needed or will likely be needed for the current call, then the process moves to block 205. Otherwise, the process exits or returns to block 201. Also, as indicated above, if the call is terminated at any time after the SRAF process is triggered at block 201, then the SRAF process terminates and / or returns to block 201.

[0039] According to a representative embodiment, the pre-selected set of status conditions may also include whether an original equipment manufacturer (OEM) setting in the PCD or a user setting in the PCD indicates that the Mod.Pow.-Perf. process should be initiated for a particular type of call (whenever the SRAF process is initiated). For example, the particular type of call may be a call for which a high priority is assigned to the modem in order to ensure that the modem exhibits high performance, such as, for example, a data call or a video call. If yes, the process moves to block 205. If no, the process exits or returns to block 201.

[0040] It should be noted that status conditions of the PCD other than the example given above with reference to blocks 202 through 204 may be monitored to determine whether the Mod. Pow.-Perf. process should be initiated.

[0041] According to a representative embodiment, the processes represented by blocks 202 to 204 are performed in parallel, but they may be performed serially or partially in parallel and partially in serial. With respect to blocks 202 and 203, whenever the SRAF process is initiated at block 201 to perform the monitoring tasks of blocks 202 and 203, computer codes including a status status notifier and a caller / caller ID notifier may be initiated, respectively.

[0042] If the answer to any of the questions posed in blocks 202 through 204 is affirmative, the process moves to block 205 where it is determined whether triggering the Mod.Pow.-Perf. process under the current conditions of the current call will degrade the visible performance of the PCD, as indicated by block 205. If it is determined at block 205 that triggering the Mod.Pow.-Perf. process under the current conditions of the current call will not degrade the visible performance of the PCD, the process proceeds to Figure 2B The Mod.Pow.-Perf. process is triggered at block 206. Preferably, even after the Mod.Pow.-Perf. process is triggered at block 206, if the call is terminated, the SRAF process is terminated and the process returns to block 201.

[0043] When the Mod.Pow.-Perf. process is initiated, the SRAF process proceeds to the process represented by block 207. Block 207 includes Figure 1The process represented by boxes 103, 104 and 105. In block 207, the Mod.Pow.-Perf. process performs steps including at least one of, and preferably all of, the following: (1) dynamically updating a modem system cache table entry to indicate that modem performance is to be improved by setting a cache table entry (setting a cache table entry to, for example, indicate that the size of cache memory allocated to the modem will be increased, the rank of the modem for accessing the cache memory will be changed, the modem will be assigned a high priority classification for accessing the cache memory, a change will be made to one or more policies related to modems accessing the cache memory, cache from some other subsystem pool will be allocated to the modem), as indicated in block 103; (2) actively triggering a thermal framework of the PCD to cause the thermal framework to perform power reduction in one or more non-modem processing cores (e.g., power reduction in one or more CPUs, GPUs, CDSP cores, etc.), as indicated in block 104; and (3) monitoring feedback from one or more IP blocks of the PCD regarding actual bandwidth required by the IP blocks, and dynamically allocating bandwidth in excess of the actual bandwidth required to a free pool accessible to the wireless modem for use by the wireless modem to improve its performance, as indicated in block 105.

[0044] As indicated above, a known thermal framework in some PCDs disables modem features to reduce power usage, thereby reducing the temperature of the PCD until the user no longer senses heat. One disadvantage of the known thermal framework is that it is not proactive, as it only reduces temperature after the user has already sensed heat during a long-duration call. In other words, this type of thermal framework does not proactively mitigate temperature increases before the user senses heat. Additionally, the known thermal framework is only employed during the use case of long-duration calls. In contrast, the process represented by block 104 proactively triggers the thermal framework of the present disclosure to reduce power usage of the non-modem core so that modem performance is not adversely affected.

[0045] Thus, according to representative embodiments of the present disclosure, modem performance is improved by dynamically updating cache table entries while concurrently reducing power usage in the non-modem core of the PCD to reduce the temperature of the PCD before heat is sensed by a user.

[0046] With respect to dynamically allocating BW usage for one or more IP blocks of the SoC based at least in part on feedback from the IP blocks regarding actual BW required under current conditions for current calls, this can be performed by monitoring feedback received from each IP block or IP block subsystem and determining their actual required BW over a preselected time period. Any BW in excess of the actually required BW can be allocated to a free pool that the wireless modem can access and use to improve its performance.

[0047] The disclosed system and method for providing SRAF may be implemented in a PCD, although the inventive principles and concepts are not limited in the type of device implementing the method. Figure 3 An example of a PCD 300 (such as, for example, a mobile phone, smart phone, PDA, portable game console, etc.) in which exemplary embodiments of the systems, methods, computer-readable media of SRAF may be implemented is illustrated.

[0048] For the sake of clarity, Figure 3 304. Some interconnects, signals, etc. are not shown. Although PCD 300 is shown as an example, other embodiments of systems, methods, computer-readable media, and other examples of implementing SRAF may be provided in other types of computing devices or systems. PCD 300 may include SoC 302. SoC 302 may include CPU 304, NPU 305, GPU 306, DSP 307, analog signal processor 308, modem / modem subsystem 354, or other processors. CPU 304 may include one or more CPU cores, such as a first CPU core 304A, a second CPU core 304B, and so on to an Nth CPU core 304N, where N is a positive integer greater than or equal to one. Figure 3 Any one or more of the blocks of the SoC 302 shown in Figure 3 Other IP blocks not explicitly shown in the figure may be Figure 1 and Figure 2B Block 105 in the figure represents the IP blocks involved in the process.

[0049] Cores 304A to 304N may be configured to perform certain operations in accordance with the SRAF of the present disclosure. According to a representative embodiment, SoC 302 includes SRAF management circuitry 310 that communicates with CPU 304 to perform the SRAF process of the present disclosure. CPU cores 304A to 304N perform other operations of the type that they would normally perform in a PCD. Alternatively or in addition, any of the processors (such as NPU 305, GPU 306, DSP 307, etc.) may perform some or all of these operations. SRAF management circuitry 310 may also be implemented partially or entirely within CPU 304 rather than in a separate circuit.

[0050] The PCD 300 may include a display controller 309 and a touch screen controller 312 coupled to the CPU 304. A touch screen display 314 external to the SoC 302 may be coupled to the display controller 309 and the touch screen controller 312. The PCD 300 may also include a video decoder 316 coupled to the CPU 304. A video amplifier 318 may be coupled to the video decoder 316 and the touch screen display 314. A video port 320 may be coupled to the video amplifier 318. A universal serial bus (“USB”) controller 322 may also be coupled to the CPU 304, and a USB port 324 may be coupled to the USB controller 322. A subscriber identity module (“SIM”) card 326 may also be coupled to the CPU 304.

[0051] One or more memory devices 328 may be coupled to CPU 304. One or more memory devices 328 may include both volatile memory and non-volatile memory. Examples of volatile memory include static random access memory ("SRAM") and dynamic random access memory ("DRAM"). Such memory may be external to SoC 302 or internal to SoC 302. One or more memory devices 328 may include local cache memory, system-level cache memory, and LLC memory. Figure 1 and Figure 2B The aforementioned cache table discussed at block 103 shown in may be stored in a memory device 328, for example.

[0052] A stereo audio CODEC 334 may be coupled to the analog signal processor 308. Further, an audio amplifier 336 may be coupled to the stereo audio CODEC 334. A first stereo speaker 338 and a second stereo speaker 340 may be coupled to the audio amplifier 336, respectively. In addition, a microphone amplifier 342 may be coupled to the stereo audio CODEC 334, and a microphone 344 may be coupled to the microphone amplifier 342. A frequency modulation ("FM") radio tuner 346 may be coupled to the stereo audio CODEC 334. An FM antenna 348 may be coupled to the FM radio tuner 346. Further, a stereo headset 350 may be coupled to the stereo audio CODEC 334. Other devices that may be coupled to the CPU 304 include one or more digital (e.g., CCD or CMOS) cameras 352.

[0053] A wireless modem and RF transceiver 354 may be coupled to the analog signal processor 308 and the CPU 304. An RF switch 356 may be coupled to the RF transceiver 354 and the RF antenna 358. Additionally, a keypad 360, a mono headset with a microphone 362, and a vibrator device 364 may be coupled to the analog signal processor 308. The SoC 302 may have one or more internal or on-chip thermal sensors 370. A power supply 374 and a PMIC 376 may provide power to the SoC 302.

[0054] The firmware or software may be stored in any of the above-mentioned memory devices, or may be stored in local memory directly accessible to the processor hardware on which the software or firmware is executed. Execution of such firmware or software may control aspects of any of the above-mentioned methods or configure aspects of any of the above-mentioned systems. Any such memory or other non-transitory storage medium having firmware or software stored therein in a computer-readable form for execution by processor hardware may be an example of a "computer-readable medium" as that term is understood in the patent dictionary.

[0055] Reference again Figure 2A and Figure 2B If the call is Figure 2A and Figure 2B 101. If the SRAF process depicted in FIG. 10 is terminated at any time during the SRAF process, the cache table entries changed at block 103 / 207 are preferably restored to their previous values, i.e., the values ​​before the call was connected at block 201. Likewise, preferably, when the call is disconnected, any states changed by the power reduction steps performed at block 104 / 207 are restored to their previous values. When the call is disconnected, any BW settings of any IP blocks that were changed at step 105 / 207 to reallocate bandwidth may also be restored to their previous values.

[0056] The SRAF process described above may be implemented solely in hardware, in software and / or firmware executed by a processor such as, for example, CPU 304, or in a combination of hardware, software, and / or firmware. Figure 4 is a block diagram of a SRAF system 400 according to a representative embodiment, wherein Figure 3 The hardware components of the SRAF management circuit 310 shown and Figure 3The system 400 is implemented by a combination of software and / or firmware executed by the CPU 304 shown. The SRAF management circuit 310 can be a state machine or a combination of state machines with configurable logic gates for performing SRAF tasks. Settings to be used by the SRAF management circuit 304 to control its operation can be transmitted to the SRAF management circuit 304 by the CPU 304 and stored in a lookup table (LUT) 403. The resource allocation policy engine 402 performs resource allocation tasks based on these settings. Therefore, the CPU 304 can change the resource allocation policy by changing or updating these settings.

[0057] Sequencer 405 controls the switching of the state of SRAF management circuit 310 to sequence between processes as needed to perform resource allocation tasks, and triggers SRAF and Mod.Pow.-Perf. processes and or exits from them at appropriate times. Software and / or firmware may be stored in sequencer code memory element 404 and used by sequencer 405 to control its operation. Mod.Pow.-Perf. circuit 401 is triggered by SRAF management circuit 310 ( Figure 2B 206) to cause it to perform its resource allocation task ( Figure 1 and Figure 2B The PCD's resources 1-n are controlled by the SRAF management circuit 310 so as to be as described above. Figures 1 to 3 Resource allocation is performed in the manner described, where n is a positive integer greater than or equal to one. Resources 1-n may correspond to any of the resources discussed above, including, for example, the resources identified in blocks 103-105.

[0058] It should be noted that some or all of the processes performed by SRAF management circuit 310 may alternatively be performed in software and / or firmware executed by CPU 304 .

[0059] Specific implementation examples are described in the following numbered clauses:

[0060] 1. A portable computing device (PCD) having a wireless modem, the PCD comprising:

[0061] A resource management circuit, the resource management circuit being disposed on one or more integrated circuit (IC) chips of the PCD, the resource management circuit being configured to:

[0062] determining whether the PCD receives or places a call;

[0063] monitoring a preselected set of status conditions of the PCD in response to the call being received or placed by the PCD;

[0064] determining whether the wireless modem is to be placed into a modem power performance (Mod. Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions; and

[0065] In response to determining that the wireless modem is placed in the Mod. Pow.-Perf. mode, performing a Mod. Pow-Perf. process including at least one of:

[0066] (1) dynamically updating one or more cache table entries associated with the wireless modem;

[0067] (2) reducing power usage in one or more non-radio modem processing cores to reduce the temperature of the PCD; and

[0068] (3) Allocate more bandwidth to the wireless modem.

[0069] 2. An SRAF system according to clause 1, wherein dynamically updating one or more cache table entries results in at least one of: an increase in the size of the cache memory of the PCD allocated to the wireless modem; a change in the rank of the wireless modem used to access the cache memory; assigning a high priority classification to the wireless modem for accessing the cache memory; a change in one or more policies related to the wireless modem accessing the cache memory; an allocation of cache memory from a subsystem pool of cache memory to the wireless modem.

[0070] 3. An SRAF system according to clause 1 or 2, wherein the one or more non-modem processing cores include one or more processing cores of a central processing unit (CPU) of the PCD, a graphics processing unit (GPU) of the PCD, and a core digital signal processor (CDSP) of the PCD.

[0071] 4. A SRAF system according to one or more of clauses 1 to 3, wherein if the call is disconnected after the cache table entry has been updated, the changed cache table entry is restored to the value that existed before the call was received or placed.

[0072] 5. An SRAF system according to one or more of clauses 1 to 4, wherein the set of preselected status conditions includes a status condition indicating that the display screen of the PCD is locked, a status condition indicating that the display screen is turned off, a status condition indicating that a proximity sensor of the PCD has sensed that the PCD is near the ear of the user, and a status condition indicating that a light sensor of the PCD has detected that the PCD is in the pocket of the user or the handbag of the user, and a status condition indicating that the user is speaking via a Bluetooth headset paired with the PCD.

[0073] 6. An SRAF system according to one or more of clauses 1 to 4, wherein the set of preselected status conditions includes status conditions relating to historical data associated with a party from which the call is received or to which the call is made, which indicates that the performance of the modem may need to be improved for the call.

[0074] 7. An SRAF system according to clause 6, wherein the historical data includes one or more of the following: (1) a history of calls received or placed from the current geographic location (Geo location) of the PCD, (2) a history of voice failures having occurred during calls with the party or in the Geo location, (3) a history of insufficient network coverage during calls with the party or in the Geo location, (4) a history of delay ping-pong having occurred during calls with the party or in the Geo location, (5) a history of calls with the party or in the Geo location having been dropped with the party or in the Geo location, (6) a history of calls with the party or in the Geo location having long durations, (7) a history of calls with the party or in the Geo location occurring frequently, and (8) a history of calls with the party or in the Geo location involving large amounts of data transfer.

[0075] 8. An SRAF system according to one or more of clauses 1 to 7, wherein the set of preselected status conditions includes at least one of the following status conditions indicating: (1) whether the identifier associated with the party is listed on the speed dial list of the PCD, (2) whether the identifier associated with the party is on the contact dial list of the PCD, (3) whether the identifier associated with the party is on the favorite contacts list of the PCD, (4) whether the identifier associated with the party is on the list of the PCD marked as important callers; and (5) whether the identifier associated with the party listed on the contact list of the PCD contains one or more specific keywords.

[0076] 9. A method for performing resource management in a portable computing device (PCD), the method comprising:

[0077] In a resource management circuit disposed on one or more integrated circuit (IC) chips of the PCD:

[0078] determining whether the PCD receives or places a call;

[0079] monitoring a preselected set of status conditions of the PCD in response to the call being received or placed by the PCD;

[0080] determining whether the wireless modem is to be placed into a modem power performance (Mod. Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions;

[0081] as well as

[0082] In response to determining that the wireless modem is placed in the Mod. Pow.-Perf. mode, performing a Mod. Pow-Perf. process including at least one of:

[0083] (1) dynamically updating one or more cache table entries associated with the wireless modem;

[0084] (2) reducing power usage in one or more non-wireless modem processing cores of the PCD to reduce the temperature of the PCD; and

[0085] (3) Allocate more bandwidth to the wireless modem.

[0086] 10. A method according to clause 9, wherein dynamically updating one or more cache table entries results in at least one of the following: an increase in the size of the cache memory of the PCD allocated to the wireless modem; a change in the rank of the wireless modem used to access the cache memory; assigning a high priority classification to the wireless modem for accessing the cache memory; a change in one or more policies related to the wireless modem accessing the cache memory; an allocation of cache memory from a subsystem pool of cache memory to the wireless modem.

[0087] 11. A method according to clause 9 or 10, wherein the one or more non-modem processing cores include one or more processing cores of a central processing unit (CPU) of the PCD, a graphics processing unit (GPU) of the PCD, and a core digital signal processor (CDSP) of the PCD.

[0088] 12. The method according to one or more of clauses 9 to 11, further comprising:

[0089] If the call is disconnected after the cache table entry has been updated, the changed cache table entry is restored to the value that existed before the call was received or placed.

[0090] 13. A method according to one or more of clauses 9 to 12, wherein the set of preselected status conditions includes one or more of the following status conditions: a status condition indicating that the display screen of the PCD is locked, a status condition indicating that the display screen is turned off, a status condition indicating that a proximity sensor of the PCD has sensed that the PCD is near the ear of the user, a status condition indicating that a light sensor of the PCD has detected that the PCD is in the pocket of the user or the handbag of the user, a status condition indicating that the user is speaking via a Bluetooth headset paired with the PCD.

[0091] 14. A method according to one or more of clauses 9 to 13, wherein the set of preselected status conditions includes status conditions relating to historical data associated with a party from which the call is received or to which the call is made, which indicates that the performance of the modem may need to be improved for the call.

[0092] 15. A method according to clause 14, wherein the historical data includes one or more of the following: (1) a history of calls received or placed from the current geographic location (Geo location) of the PCD, (2) a history of voice failures having occurred during calls with the party or in the Geo location, (3) a history of insufficient network coverage during calls with the party or in the Geo location, (4) a history of latency ping-pong having occurred during calls with the party or in the Geo location, (5) a history of calls with the party or in the Geo location having been dropped with the party or in the Geo location, (6) a history of calls with the party or in the Geo location having long durations, (7) a history of calls with the party or in the Geo location occurring frequently, and (8) a history of calls with the party or in the Geo location involving large amounts of data transfer.

[0093] 16. A method according to one or more of clauses 9 to 14, wherein the set of preselected status conditions includes at least one of the following status conditions indicating: (1) whether the identifier associated with the party is listed on a speed dial list of the PCD, (2) whether the identifier associated with the party is on a contact dial list of the PCD, (3) whether the identifier associated with the party is on a favorite contact list of the PCD, (4) whether the identifier associated with the party is on a list of the PCD marked as important callers; and (5) whether the identifier associated with the party listed on the contact list of the PCD contains one or more specific keywords.

[0094] 17. A non-transitory computer readable medium comprising computer instructions for execution by logic components disposed on one or more integrated circuit (IC) chips of a portable computing device (PCD) to perform resource allocation in the PCD, the computer instructions comprising:

[0095] a first instruction set that determines whether the PCD receives or places a call;

[0096] a second set of computer instructions that monitors a preselected set of status conditions of the PCD;

[0097] and

[0098] a third set of computer instructions, the third set of computer instructions, in response to determining that the wireless modem is placed in the Mod. Pow-Perf. mode, to perform at least one of the following:

[0099] (1) dynamically updating one or more cache table entries associated with the wireless modem;

[0100] (2) reducing power usage in one or more non-radio modem processing cores to reduce the temperature of the PCD; and

[0101] (3) Allocate more bandwidth to the wireless modem.

[0102] 18. A non-transitory computer-readable medium as described in clause 17, wherein dynamically updating one or more cache table entries results in at least one of: an increase in the size of cache memory of the PCD allocated to the wireless modem; a change in the rank of the wireless modem used to access the cache memory; assigning a high priority classification to the wireless modem for accessing the cache memory; a change in one or more policies related to the wireless modem accessing the cache memory; an allocation of cache memory from a subsystem pool of cache memory to the wireless modem.

[0103] 19. A non-transitory computer-readable medium as described in claim 17 or 18, wherein the one or more non-modem processing cores include one or more processing cores of a central processing unit (CPU) of the PCD, a graphics processing unit (GPU) of the PCD, and a core digital signal processor (CDSP) of the PCD.

[0104] 20. The non-transitory computer-readable medium of one or more of clauses 17 to 20, further comprising:

[0105] A fourth set of instructions wherein if the call is disconnected after the cache table entry has been updated, the fourth set of instructions restores the altered cache table to values ​​that existed before the call was received or placed.

[0106] 21. A non-transitory computer-readable medium according to one or more of clauses 17 to 20, wherein the set of preselected status conditions includes one or more of the following status conditions: a status condition indicating that the display screen of the PCD is locked, a status condition indicating that the display screen is turned off, a status condition indicating that a proximity sensor of the PCD has sensed that the PCD is near the ear of the user, and a status condition indicating that a light sensor of the PCD has detected that the PCD is in the pocket of the user or the handbag of the user, and a status condition indicating that the user is speaking via a Bluetooth headset paired with the PCD.

[0107] 22. A non-transitory computer-readable medium as described in one or more of clauses 17 to 21, wherein the preselected set of status conditions includes status conditions relating to historical data associated with a party from which the call is received or to which the call is made, which indicates that the performance of the modem may need to be improved for the call.

[0108] 23. A non-transitory computer-readable medium as described in claim 22, wherein the historical data includes one or more of the following: (1) a history of calls received or placed from the current geographic location (Geo location) of the PCD, (2) a history of voice failures that have occurred during calls with the party or in the Geo location, (3) a history of insufficient network coverage during calls with the party or in the Geo location, (4) a history of latency ping-pong that has occurred during calls with the party or in the Geo location, (5) a history of calls with the party or in the Geo location being dropped with the party or in the Geo location, (6) a history of calls with the party or in the Geo location having long durations, (7) a history of calls with the party or in the Geo location occurring frequently, and (8) a history of calls with the party or in the Geo location involving large amounts of data transfer.

[0109] 24. A non-transitory computer-readable medium as described in one or more of clauses 17 to 23, wherein the set of preselected status conditions includes at least one of the following status conditions indicating: (1) whether the identifier associated with the party is listed on a speed dial list of the PCD, (2) whether the identifier associated with the party is on a contact dial list of the PCD, (3) whether the identifier associated with the party is on a favorite contact list of the PCD, (4) whether the identifier associated with the party is on a list of the PCD marked as important callers; and (5) whether the identifier associated with the party listed on the contact list of the PCD contains one or more specific keywords.

[0110] 25. A portable computing device (PCD) having a wireless modem, the PCD comprising:

[0111] A component disposed on one or more integrated circuit (IC) chips of the PCD for performing resource allocation, the component being configured to:

[0112] determining whether the PCD receives or places a call;

[0113] monitoring a preselected set of status conditions of the PCD in response to the call being received or placed by the PCD;

[0114] determining whether the wireless modem is to be placed into a modem power performance (Mod. Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions;

[0115] as well as

[0116] In response to determining that the wireless modem is placed in the Mod. Pow.-Perf. mode, performing a Mod. Pow-Perf. process including at least one of:

[0117] (1) dynamically updating one or more cache table entries associated with the wireless modem;

[0118] (2) reducing power usage in one or more non-radio modem processing cores to reduce the temperature of the PCD; and

[0119] (3) Allocate more bandwidth to the wireless modem.

[0120] It should be noted that the principles and concepts of the present invention have been described with reference to representative embodiments, but the principles and concepts of the present invention are not limited to the representative embodiments described herein. Although the principles and concepts of the present invention have been illustrated and described in detail in the drawings and the foregoing description, such illustrations and descriptions should be considered illustrative or exemplary rather than restrictive; the present invention is not limited to the disclosed embodiments. By studying the drawings, the disclosure and the appended claims, those skilled in the art will be able to understand and implement other variations of the disclosed embodiments.

Claims

1. A portable computing device (PCD) having a wireless modem, the PCD comprising: A resource management circuit, the resource management circuit being disposed on one or more integrated circuit (IC) chips of the PCD, the resource management circuit being configured to: determining whether the PCD receives or places a call; monitoring a preselected set of status conditions of the PCD in response to the call being received or placed by the PCD; determining whether the wireless modem is to be placed into a modem power performance (Mod. Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions; and In response to determining that the wireless modem is placed in the Mod.Pow.-Perf. In the mode, a Mod.Pow-Perf. process is executed, which includes at least one of the following: (1) dynamically updating one or more cache table entries associated with the wireless modem; (2) reducing power usage in one or more non-radio modem processing cores to reduce the temperature of the PCD; and (3) Allocate more bandwidth to the wireless modem.

2. The SRAF system of claim 1 , wherein dynamically updating one or more cache table entries results in at least one of: an increase in the size of the cache memory of the PCD allocated to the wireless modem; a change in the rank of the wireless modem for accessing the cache memory; an assignment of a high priority classification to the wireless modem for accessing the cache memory; a change in one or more policies associated with the wireless modem accessing the cache memory; an allocation from a subsystem pool of cache memory to the cache memory of the wireless modem.

3. The SRAF system of claim 1 , wherein the one or more non-modem processing cores include one or more processing cores of a central processing unit (CPU) of the PCD, a graphics processing unit (GPU) of the PCD, and a core digital signal processor (CDSP) of the PCD.

4. The SRAF system of claim 1, wherein if the call is disconnected after the cache table entry has been updated, the changed cache table entry is restored to a value that existed before the call was received or placed.

5. The SRAF system of claim 1 , wherein the set of preselected status conditions includes a status condition indicating that the display screen of the PCD is locked, a status condition indicating that the display screen is turned off, a status condition indicating that a proximity sensor of the PCD has sensed that the PCD is near an ear of the user, and a status condition indicating that a light sensor of the PCD has detected that the PCD is in a pocket of the user or a handbag of the user, and indicating that the user is speaking via a Bluetooth headset paired with the PCD.

6. The SRAF system of claim 1, wherein the set of preselected status conditions includes status conditions related to historical data associated with a party from or to which the call was received that indicates that performance of the modem will likely need to be improved for the call.

7. The SRAF system of claim 6, wherein the historical data comprises one or more of the following: (1) a history of calls received or placed from the current geographic location (Geo location) of the PCD, (2) a history of voice failures having occurred during calls with the party or in the Geo location, (3) a history of lack of adequate network coverage during calls with the party or in the Geo location, (4) a history of latency ping-pong having occurred during calls with the party or in the Geo location, (5) a history of calls with the party or in the Geo location having been dropped with the party or in the Geo location, (6) a history of calls with the party or in the Geo location having long durations, (7) a history of frequent calls with the party or in the geographic location, and (8) a history of calls with the party or in the geographic location involving large amounts of data transfer.

8. The SRAF system of claim 7, wherein the preselected status condition set includes status conditions indicating at least one of: (1) whether the identifier associated with the party is listed on a speed dial list of the PCD, (2) whether the identifier associated with the party is on a contact dial list of the PCD, (3) whether the identifier associated with the party is on a favorite contact list of the PCD, (4) whether the identifier associated with the party is on a list of the PCD marked as important callers; and (5) whether the identifier associated with the party listed on the contact list of the PCD contains one or more specific keywords.

9. A method for performing resource management in a portable computing device (PCD), the method comprising: In a resource management circuit disposed on one or more integrated circuit (IC) chips of the PCD: determining whether the PCD receives or places a call; monitoring a preselected set of status conditions of the PCD in response to the call being received or placed by the PCD; determining whether the wireless modem is to be placed into a modem power performance (Mod. Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions; as well as In response to determining that the wireless modem is placed in the Mod.Pow.-Perf. In the mode, a Mod.Pow-Perf. process is executed, which includes at least one of the following: (4) dynamically updating one or more cache table entries associated with the wireless modem; (5) reducing power usage in one or more non-wireless modem processing cores of the PCD to reduce a temperature of the PCD; and (6) Allocate more bandwidth to the wireless modem.

10. The method of claim 9, wherein dynamically updating one or more cache table entries results in at least one of: an increase in the size of the cache memory of the PCD allocated to the wireless modem; a change in the rank of the wireless modem for accessing the cache memory; an assignment of a high priority classification to the wireless modem for accessing the cache memory; a change in one or more policies related to the wireless modem accessing the cache memory; an allocation from a subsystem pool of cache memory to the cache memory of the wireless modem.

11. The method of claim 9, wherein the one or more non-modem processing cores include one or more processing cores of a central processing unit (CPU) of the PCD, a graphics processing unit (GPU) of the PCD, and a core digital signal processor (CDSP) of the PCD.

12. The method according to claim 9, further comprising: If the call is disconnected after the cache table entry has been updated, the changed cache table entry is restored to the value that existed before the call was received or placed.

13. The method according to claim 9, wherein the set of preselected status conditions includes a status condition indicating that the display screen of the PCD is locked, a status condition indicating that the display screen is turned off, a status condition indicating that a proximity sensor of the PCD has sensed that the PCD is near an ear of the user, a status condition indicating that a light sensor of the PCD has detected that the PCD is in a pocket of the user or a handbag of the user, and a status condition indicating that the user is speaking via a Bluetooth headset paired with the PCD.

14. The method of claim 9, wherein the set of preselected status conditions includes status conditions related to historical data associated with a party from or to which the call was received that indicates that performance of the modem will likely need to be improved for the call.

15. The method of claim 14, wherein the historical data comprises one or more of the following: (1) a history of calls received or placed from the current geographic location (Geo location) of the PCD, (2) a history of voice failures having occurred during calls with the party or in the Geo location, (3) a history of lack of adequate network coverage during calls with the party or in the Geo location, (4) a history of latency ping-pong having occurred during calls with the party or in the Geo location, (5) a history of calls with the party or in the Geo location having been dropped with the party or in the Geo location, (6) calls with the party or in the geographic location have a history of long duration, (7) calls with the party or in the geographic location have a history of frequent occurrence, and (8) calls with the party or in the geographic location have a history of involving large amounts of data transfer.

16. A method according to claim 14, wherein the preselected status condition set includes status conditions indicating at least one of the following: (1) whether the identifier associated with the party is listed on the speed dial list of the PCD, (2) whether the identifier associated with the party is on the contact dial list of the PCD, (3) whether the identifier associated with the party is on the favorite contacts list of the PCD, (4) whether the identifier associated with the party is on the list of the PCD marked as important callers; and (5) whether the identifier associated with the party listed on the contact list of the PCD contains one or more specific keywords.

17. A non-transitory computer readable medium comprising computer instructions for execution by logic components disposed on one or more integrated circuit (IC) chips of a portable computing device (PCD) to perform resource allocation in the PCD, the computer instructions comprising: a first instruction set that determines whether the PCD receives or places a call; a second set of computer instructions that monitors a preselected set of status conditions of the PCD; and a third set of computer instructions, the third set of computer instructions, in response to determining that the wireless modem is placed in the Mod. Pow-Perf. mode, to perform at least one of the following: (1) dynamically updating one or more cache table entries associated with the wireless modem; (2) reducing power usage in one or more non-radio modem processing cores to reduce the temperature of the PCD; and (3) Allocate more bandwidth to the wireless modem.

18. The non-transitory computer-readable medium of claim 17, wherein dynamically updating one or more cache table entries results in at least one of: an increase in the size of cache memory of the PCD allocated to the wireless modem; a change in the rank of the wireless modem for accessing the cache memory; an assignment of a high priority classification to the wireless modem for accessing the cache memory; a change in one or more policies associated with the wireless modem accessing the cache memory; an allocation of cache memory from a subsystem pool of cache memory to the wireless modem.

19. The non-transitory computer-readable medium of claim 17, wherein the one or more non-modem processing cores include one or more processing cores of a central processing unit (CPU) of the PCD, a graphics processing unit (GPU) of the PCD, and a core digital signal processor (CDSP) of the PCD.

20. The non-transitory computer readable medium of claim 18, further comprising: A fourth set of instructions wherein if the call is disconnected after the cache table entry has been updated, the fourth set of instructions restores the altered cache table to values ​​that existed before the call was received or placed.

21. The non-transitory computer-readable medium of claim 17, wherein the set of preselected status conditions includes a status condition indicating that the display screen of the PCD is locked, a status condition indicating that the display screen is turned off, a status condition indicating that a proximity sensor of the PCD has sensed that the PCD is near an ear of the user, and a status condition indicating that a light sensor of the PCD has detected that the PCD is in a pocket of the user or a handbag of the user, and a status condition indicating that the user is speaking via a Bluetooth headset paired with the PCD.

22. The non-transitory computer-readable medium of claim 17, wherein the preselected set of status conditions includes status conditions related to historical data associated with a party from which the call was received or to which the call was placed that indicates that performance of the modem will likely need to be improved for the call.

23. A non-transitory computer-readable medium according to claim 22, wherein the historical data includes one or more of the following: (1) a history of calls received or placed from the current geographic location (Geo location) of the PCD, (2) a history of voice failures having occurred during calls with the party or in the Geo location, (3) a history of insufficient network coverage during calls with the party or in the Geo location, (4) a history of latency ping-pong having occurred during calls with the party or in the Geo location, (5) a history of calls with the party or in the Geo location having been dropped with the party or in the Geo location, (6) a history of calls with the party or in the Geo location having long durations, (7) a history of calls with the party or in the Geo location occurring frequently, and (8) a history of calls with the party or in the Geo location involving large amounts of data transfer.

24. A non-transitory computer-readable medium according to claim 22, wherein the preselected status condition set includes status conditions indicating at least one of the following: (1) whether the identifier associated with the party is listed on the speed dial list of the PCD, (2) whether the identifier associated with the party is on the contact dial list of the PCD, (3) whether the identifier associated with the party is on the favorite contacts list of the PCD, (4) whether the identifier associated with the party is on the list of the PCD marked as important callers; and (5) whether the identifier associated with the party listed on the contact list of the PCD contains one or more specific keywords.

25. A portable computing device (PCD) having a wireless modem, the PCD comprising: A component disposed on one or more integrated circuit (IC) chips of the PCD for performing resource allocation, the component being configured to: determining whether the PCD receives or places a call; monitoring a preselected set of status conditions of the PCD in response to the call being received or placed by the PCD; determining whether the wireless modem is to be placed into a modem power performance (Mod. Pow.-Perf.) mode based at least in part on the monitored set of preselected status conditions; as well as In response to determining that the wireless modem is placed in the Mod.Pow.-Perf. In the mode, a Mod.Pow-Perf. process is executed, which includes at least one of the following: (1) dynamically updating one or more cache table entries associated with the wireless modem; (2) reducing power usage in one or more non-radio modem processing cores to reduce the temperature of the PCD; and (3) Allocate more bandwidth to the wireless modem.