IP Library Granted Patent US 9,965,220
Granted Patent B2
US 9,965,220 · App. 15/016,806 · Granted May 8, 2018

Forced idling of memory subsystems

Inventors: Olivier Alavoine (San Diego, CA); Sejoong Lee (San Diego, CA); Tauseef Kazi (San Diego, CA); Simon Booth (San Diego, CA); Edoardo Regini (San Diego, CA); Renatas Jakushokas (San Diego, CA); Saurabh Patodia (San Diego, CA); Jeffrey Gemar (San Diego, CA); Haw-Jing Lo (San Diego, CA); Vinod Chamarty (San Diego, CA); Boris Andreev (San Diego, CA); Tao Shen (San Diego, CA); Aravind Bhaskara (San Diego, CA); Wenbiao Wang (San Diego, CA); Stephen Molloy (Carlsbad, CA)
Assignee: QUALCOMM Incorporated
G06F3/0659G06F1/3275G06F3/0625G06F3/0673
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,965,220
App. No.
15/016,806
Granted
May 8, 2018
Kind
B2
Abstract

Various aspects include methods for managing memory subsystems on a computing device. Various aspect methods may include determining a period of time to force a memory subsystem on the computing device into a low power mode, inhibiting memory access requests to the memory subsystem during the determined period of time, forcing the memory subsystem into the low power mode for the determined period of time, and executing the memory access requests to the memory subsystem inhibited during the determined period of time in response to expiration of the determined period of time.

Claims (82)

1. A method for managing memory subsystems on a computing device, comprising:

receiving one or more memory access requests while a memory subsystem is in an active power mode;

determining whether the one or more memory access requests are initiated by a latency-critical process;

determining a period of time to force the memory subsystem on the computing device into a low power mode in response to determining that the one or more memory access requests are not initiated by a latency-critical process;

selecting the low power mode from a plurality of low power modes based on the determined period of time;

inhibiting memory access requests to the memory subsystem during the determined period of time;

forcing the memory subsystem into the low power mode for the determined period of time; and

executing the memory access requests to the memory subsystem inhibited during the determined period of time in response to expiration of the determined period of time.

2. The method of claim 1 , wherein executing the memory access requests to the memory subsystem inhibited during the determined period of time in response to expiration of the determined period of time comprises consecutively executing the memory access requests to the memory subsystem inhibited during the determined period of time.

3. The method of claim 1 , wherein determining the period of time to force the memory subsystem into the low power mode comprises:

monitoring a plurality of system variables of the computing device; and

determining the period of time based on the plurality of system variables.

4. The method of claim 3 , wherein the plurality of system variables include at least one of average bandwidth demand of the memory subsystem, input queue length of the memory subsystem, memory utilization during active periods of the memory subsystem, quality of service requirements, and stall cycles of one or more components accessing the memory subsystem.

5. The method of claim 1 , wherein determining the period of time to force the memory subsystem into the low power mode comprises:

determining an actual frequency at which the memory subsystem is clocked;

determining a frequency of a dynamic clock and voltage scaling unit in the computing device; and

determining the period of time based on the actual frequency and the frequency of the dynamic clock and voltage scaling unit.

6. The method of claim 1 , further comprising:

determining whether the latency-critical process is initiating memory access requests during the determined period of time; and

setting the memory subsystem in the active power mode in response to determining that a latency-critical process is initiating memory access requests during the determined period of time.

7. A computing device, comprising:

a memory subsystem; and

a processor coupled to the memory subsystem, and configured with processor-executable instructions to perform operations comprising:

receiving one or more memory access requests while the memory subsystem is in an active power mode;

determining whether the one or more memory access requests are initiated by a latency-critical process;

determining a period of time to force the memory subsystem into a low power mode in response to determining that the one or more memory access requests are not initiated by a latency-critical process;

selecting the low power mode from a plurality of low power modes based on the determined period of time;

inhibiting memory access requests to the memory subsystem during the determined period of time;

forcing the memory subsystem into the low power mode for the determined period of time; and

executing the memory access requests to the memory subsystem inhibited during the determined period of time in response to expiration of the determined period of time.

8. The computing device of claim 7 , wherein the processor is further configured with processor-executable instructions to perform operations such that executing the memory access requests to the memory subsystem inhibited during the determined period of time comprises consecutively executing the memory access requests to the memory subsystem inhibited during the determined period of time.

9. The computing device of claim 7 , wherein the processor is further configured with processor-executable instructions to perform operations such that determining the period of time to force the memory subsystem into the low power mode comprises:

monitoring a plurality of system variables of the computing device; and

determining the period of time based on the plurality of system variables.

10. The computing device of claim 9 , wherein the plurality of system variables include at least one of average bandwidth demand of the memory subsystem, input queue length of the memory subsystem, memory utilization during active periods of the memory subsystem, quality of service requirements, and stall cycles of one or more components accessing the memory subsystem.

11. The computing device of claim 7 , wherein the processor is further configured with processor-executable instructions to perform operations such that determining the period of time to force the memory subsystem into the low power mode comprises:

determining an actual frequency at which the memory subsystem is clocked;

determining a frequency of a dynamic clock and voltage scaling unit in the computing device; and

determining the period of time based on the actual frequency and the frequency of the dynamic clock and voltage scaling unit.

12. The computing device of claim 7 , wherein the processor is configured with processor-executable instructions to perform operations further comprising:

determining whether a latency-critical process is initiating memory access requests during the determined period of time; and

setting the memory subsystem in the active power mode in response to determining that a latency-critical process is initiating memory access requests during the determined period of time.

13. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor of a computing device to perform operations comprising:

receiving one or more memory access requests while the memory subsystem is in an active power mode;

determining whether the one or more memory access requests are initiated by a latency-critical process;

determining a period of time to force a memory subsystem on the computing device into a low power mode in response to determining that the one or more memory access requests are not initiated by a latency-critical process;

selecting the low power mode from a plurality of low power modes based on the determined period of time;

inhibiting memory access requests to the memory subsystem during the determined period of time;

forcing the memory subsystem into the low power mode for the determined period of time; and

executing the memory access requests to the memory subsystem inhibited during the determined period of time in response to expiration of the determined period of time.

14. The non-transitory computer readable storage medium of claim 13 , wherein the stored processor-executable software instructions are configured to cause the processor to perform operations such that executing the memory access requests to the memory subsystem inhibited during the determined period of time in response to expiration of the determined period of time comprises consecutively executing the memory access requests to the memory subsystem inhibited during the determined period of time.

15. The non-transitory computer readable storage medium of claim 13 , wherein the stored processor-executable software instructions are configured to cause the processor to perform operations such that determining the period of time to force the memory subsystem into the low power mode comprises:

monitoring a plurality of system variables of the computing device; and

determining the period of time based on the plurality of system variables.

16. The non-transitory computer readable storage medium of claim 15 , wherein the plurality of system variables include at least one of average bandwidth demand of the memory subsystem, input queue length of the memory subsystem, memory utilization during active periods of the memory subsystem, quality of service requirements, and stall cycles of one or more components accessing the memory subsystem.

17. The non-transitory computer readable storage medium of claim 13 , wherein the stored processor-executable software instructions are configured to cause the processor to perform operations such that determining the period of time to force the memory subsystem into the low power mode comprises:

determining an actual frequency at which the memory subsystem is clocked;

determining a frequency of a dynamic clock and voltage scaling unit in the computing device; and

determining the period of time based on the actual frequency and the frequency of the dynamic clock and voltage scaling unit.

18. The non-transitory computer readable storage medium of claim 13 , wherein the stored processor-executable software instructions are configured to cause the processor to perform operations further comprising:

determining whether a latency-critical process is initiating memory access requests during the determined period of time; and

setting the memory subsystem in the active power mode in response to determining that a latency-critical process is initiating memory access requests during the determined period of time.

19. A computing device, comprising:

means for receiving one or more memory access requests while a memory subsystem is in an active power mode;

means for determining whether the one or more memory access requests are initiated by a latency-critical process;

means for determining a period of time to force the memory subsystem on the computing device into a low power mode in response to determining that the one or more memory access requests are not initiated by a latency-critical process;

means for selecting the low power mode from a plurality of low power modes based on the determined period of time;

means for inhibiting memory access requests to the memory subsystem during the determined period of time;

means for forcing the memory subsystem into the low power mode for the determined period of time; and

means for executing the memory access requests to the memory subsystem inhibited during the determined period of time in response to expiration of the determined period of time.

20. The computing device of claim 19 , wherein means for executing the memory access requests to the memory subsystem inhibited during the determined period of time in response to expiration of the determined period of time comprises means for consecutively executing the memory access requests to the memory subsystem inhibited during the determined period of time.

21. The computing device of claim 19 , wherein means for determining the period of time to force the memory subsystem into the low power mode comprises:

means for monitoring a plurality of system variables of the computing device; and

means for determining the period of time based on the plurality of system variables.

22. The computing device of claim 21 , wherein the plurality of system variables include at least one of average bandwidth demand of the memory subsystem, input queue length of the memory subsystem, memory utilization during active periods of the memory subsystem, quality of service requirements, and stall cycles of one or more components accessing the memory subsystem.

23. The computing device of claim 19 , wherein means for determining the period of time to force the memory subsystem into the low power mode comprises:

means for determining an actual frequency at which the memory subsystem is clocked;

means for determining a frequency of a dynamic clock and voltage scaling unit in the computing device; and

means for determining the period of time based on the actual frequency and the frequency of the dynamic clock and voltage scaling unit.

24. The computing device of claim 19 , further comprising:

means for determining whether a latency-critical process is initiating memory access requests during the determined period of time; and

means for setting the memory subsystem in the active power mode in response to determining that a latency-critical process is initiating memory access requests during the determined period of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2016
From: ALAVOINE, OLIVIER; LEE, SEJOONG; KAZI, TAUSEEF; BOOTH, SIMON; REGINI, EDOARDO; JAKUSHOKAS, RENATAS; PATODIA, SAURABH; GEMAR, JEFFREY; LO, HAW-JING; CHAMARTY, VINOD; ANDREEV, BORIS; SHEN, TAO; BHASKARA, ARAVIND; WANG, WENBIAO; MOLLOY, STEPHEN
To: QUALCOMM INCORPORATED
Reel/Frame 039918/0802 →
Continuity (1)
Related Publication 20170228196A1 · Aug 10, 2017