IP Library › Granted Patent US 10,365,843
Granted Patent B2
US 10,365,843 · App. 15/482,971 · Granted Jul 30, 2019

Power management of memory chips based on working set size

Inventors: Travis T. Schluessler (Hillsboro, OR); Prasoonkumar Surti (Folsom, CA); Aravindh V. Anantaraman (Folsom, CA); Abhishek R. Appu (El Dorado Hills, CA); Joydeep Ray (Folsom, CA); Altug Koker (El Dorado Hills, CA); Balaji Vembu (Folsom, CA)
Assignee: Intel Corporation
G06F3/0625G06F1/3225G06F1/3275G06F3/065G06F3/0673G11C11/4074G11C11/40615G11C2211/4067
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 10,365,843
App. No.
15/482,971
Granted
Jul 30, 2019
Kind
B2
Abstract

Briefly, in accordance with one or more embodiments, an apparatus comprises a memory comprising one or more physical memory chips, and a processor to implement a working set monitor to monitor a working set resident in the one or more physical memory chips. The working set monitor is to adjust a number of the physical memory chips that are powered on based on a size of the working set.

Claims (38)

1. An apparatus, comprising:

a memory comprising one or more physical memory chips; and

a processor to implement a working set monitor to monitor a working set resident in the one or more physical memory chips;

wherein, the working set monitor is to adjust a number of the physical memory chips that are powered on based on a size of the working set; and

wherein the number of the physical memory chips that are powered on is evaluated on a per frame of graphics data basis during active execution of a graphics application according to a comparison between a memory requirement of a first frame of work and a memory requirement of a next frame of work.

2. The apparatus of claim 1 , wherein the working set monitor is to power down one or more of the physical memory chips if the size of the working set may be reduced to a smaller number of the physical memory chips.

3. The apparatus of claim 2 , wherein the working set monitor is to copy contents from a physical memory chip to be powered down to a physical memory chip to remain powered after reduction of the size of the working set.

4. The apparatus of claim 1 , wherein the working set monitor is to power up one or more of the physical memory chips if the size of the working set is to be increased to a larger number of the physical memory chips.

5. The apparatus of claim 1 , wherein the working set monitor is to evaluate memory usage of the application when the application starts up.

6. The apparatus of claim 1 , wherein the working set monitor is to evaluate the memory usage of the application during a profiling pass.

7. The apparatus of claim 1 , wherein the working set monitor is to reevaluate memory usage of the application periodically.

8. The apparatus of claim 1 , wherein the working set monitor is to put one or more of the physical memory chips that are not needed for the working set into self-refresh mode.

9. The apparatus of claim 1 , wherein the working set monitor is to move active pages of the working set into a subset of the one or more physical memory chips, and to put another subset of the one or more physical memory chips into self-refresh mode.

10. The apparatus as claimed in claim 1 , wherein the processor is to comprise one or more of: a Graphics Processing Unit (GPU) or a processor core, or a combination thereof.

11. A method, comprising:

monitoring a working set resident in one or more physical memory chips; and

adjusting a number of the physical memory chips that are powered on based on a size of the working set;

wherein the number of the physical memory chips that are powered on is evaluated on a per frame of graphics data basis during active execution of a graphics application according to a comparison between a memory requirement of a first frame of work and a memory requirement of a next frame of work.

12. The method of claim 11 , wherein said adjusting comprises powering down one or more of the physical memory chips if the size of the working set may be reduced to a smaller number of the physical memory chips.

13. The method of claim 12 , wherein said adjusting comprises copying contents from a physical memory chip to be powered down to a physical memory chip to remain powered after reduction of the size of the working set.

14. The method of claim 11 , wherein said adjusting comprises powering up one or more of the physical memory chips if the size of the working set is to be increased to a larger number of the physical memory chips.

15. The method of claim 11 , further comprising evaluating memory usage of the application when the application starts up.

16. The method of claim 11 , further comprising evaluating the memory usage of the application during a profiling pass.

17. The method of claim 11 , further comprising reevaluating memory usage of the application periodically.

18. The method of claim 11 , wherein said adjusting comprises putting one or more of the physical memory chips that are not needed for the working set into self-refresh mode.

19. The method of claim 11 , wherein said adjusting comprises moving active pages of the working set into a subset of the one or more physical memory chips, and putting another subset of the one or more physical memory chips into self-refresh mode.

20. One or more non-transitory computer-readable media comprising one or more instructions that, if executed on at least one processor, configure the at least one processor to perform one or more operations to:

monitor a working set resident in one or more physical memory chips; and

adjust a number of the physical memory chips that are powered on based on a size of the working set;

wherein the number of the physical memory chips that are powered on is evaluated on a per frame of graphics data basis during active execution of a graphics application according to a comparison between a memory requirement of a first frame of work and a memory requirement of a next frame of work.

21. The one or more non-transitory computer-readable media of claim 20 , wherein the instructions, if executed, further configure the at least one processor to perform one or more operations to power down one or more of the physical memory chips if the size of the working set may be reduced to a smaller number of the physical memory chips.

22. The one or more non-transitory computer-readable media of claim 21 , wherein the instructions, if executed, further configure the at least one processor to perform one or more operations to copy contents from a physical memory chip to be powered down to a physical memory chip to remain powered after reduction of the size of the working set.

23. The one or more non-transitory computer-readable media of claim 20 , wherein the instructions, if executed, further configure the at least one processor to perform one or more operations to power up one or more of the physical memory chips if the size of the working set is to be increased to a larger number of the physical memory chips.

24. The one or more non-transitory computer-readable media of claim 20 , wherein the instructions, if executed, further configure the at least one processor to perform one or more operations to evaluate memory usage of the application when the application starts up.

25. The one or more non-transitory computer-readable media of claim 20 , wherein the instructions, if executed, further configure the at least one processor to perform one or more operations to evaluate the memory usage of the application during a profiling pass.

26. The one or more non-transitory computer-readable media of claim 20 , wherein the instructions, if executed, further configure the at least one processor to perform one or more operations to reevaluate memory usage of the application periodically.

27. The one or more non-transitory computer-readable media of claim 20 , wherein the instructions, if executed, further configure the at least one processor to perform one or more operations to put one or more of the physical memory chips that are not needed for the working set into self-refresh mode.

28. The one or more non-transitory computer-readable media of claim 20 , wherein the instructions, if executed, further configure the at least one processor to perform one or more operations to move active pages of the working set into a subset of the one or more physical memory chips, and to put another subset of the one or more physical memory chips into self-refresh mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2017
From: SCHLUESSLER, TRAVIS T.; SURTI, PRASOONKUMAR; ANANTARAMAN, ARAVINDH V.; RAY, JOYDEEP; KOKER, ALTUG; VEMBU, BALAJI; APPU, ABHISHEK R.
To: INTEL CORPORATION
Reel/Frame 042696/0453 →
Continuity (1)
Related Publication 20180293011A1 · Oct 11, 2018