Providing hardware resources having different reliabilities for use by an application

US9411674B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9411674-B2
Application numberUS-72730510-A
CountryUS
Kind codeB2
Filing dateMar 19, 2010
Priority dateMar 19, 2010
Publication dateAug 9, 2016
Grant dateAug 9, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Power management functionality is described for implementing an application in an energy-efficient manner, without substantially degrading overall performance of the application. The functionality operates by identifying at least first data and second data associated with the application. The first data is considered to have a greater potential impact on performance of the application compared to the second data. The functionality then instructs a first set of hardware-level resources to handle the first data and a second set of hardware-level resources to handle the second data. The first set of hardware-level resources has a higher reliability compared to the second set of hardware-level resources. In one case, the first and second hardware-level resources comprise DRAM memory units. Here, the first set of hardware-level resources achieves greater reliability than the second set of hardware-level resources by being refreshed at a higher rate than the second set of hardware-level resources.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, implemented by computing functionality, for executing an application, the method comprising: identifying at least first data and second data associated with the application, corruption of the first data having a first impact on a performance of the application, and corruption of the second data having a second impact on the performance of the application, the first impact being assessed as less preferable than the second impact based on at least one assessment factor; allocating virtual pages of memory to the first data and the second data; using an operating system page table to map the virtual pages of memory to physical pages of memory storing the first data and the second data, wherein the operating system page table maps a first virtual page of memory to a first physical page of memory storing the first data and a second virtual page of memory to a second physical page of memory storing the second data; and instructing at least one memory unit to refresh the first physical page of memory storing the first data at a first rate and to refresh the second physical page or memory storing the second data at a second rate. 2. The method of claim 1 , wherein said instructing achieves at least one performance objective relating to conservation of energy. 3. The method of claim 1 , wherein the at least one memory unit includes a first memory unit storing the first physical page and a second memory unit storing the second physical page. 4. The method of claim 1 , wherein the at least one memory unit comprises a DRAM memory device having a first partition storing the first physical page and a second partition storing the second physical page. 5. The method of claim 1 , wherein said identifying comprises receiving designations provided in application code associated with the application, the designations identifying at least one of the first data and the second data. 6. The method of claim 1 , wherein said at least one assessment factor is based on an assessment made by a user. 7. The method of claim 1 , wherein the first physical page refreshes at a cycle time of approximately 32 milliseconds. 8. The method of claim 1 , where the second physical page refreshes at a cycle time of approximately one second. 9. The method of claim 1 , wherein both the first rate and the second rate are non-zero. 10. The method of claim 1 , wherein the computing functionality is provided by a mobile device, and wherein said instructing is invoked when the mobile device enters a low power mode of operation. 11. The method of claim 1 , wherein the computing functionality is provided by a server in a data center. 12. Functionality for achieving a performance objective, the functionality comprising: software-level resources; and hardware-level resources, wherein the software-level resources, in conjunction with the hardware-level resources, implement an application; the hardware-level resources comprising: a first set of memory resources dynamically designated to refresh at a first non-zero rate for handling first data associated with the application; and a second set of memory resources dynamically designated to refresh at a second non-zero rate for handling second data associated with the application, corruption of the first data having a greater impact on a performance of the application than corruption of the second data, and the first set of memory resources refreshing at the first non-zero rate having a higher reliability compared to the second set of memory resources refreshing at the second non-zero rate, the software-level resources comprising an operating system configured to use a page table to map a first virtual page of memory storing the first data to a first physical page of memory on the first set of memory resources and to map a second virtual page of memory storing the second data to a second physical page of memory on the second set of memory resources. 13. The functionality of claim 12 , embodied as a mobile device. 14. The functionality of claim 12 , embodied as a server in a data center. 15. The functionality of claim 12 , wherein the first set of memory resources comprises a first dynamic random-access memory device and the second set of memory resources comprises a second dynamic random-access memory device. 16. A mobile device comprising: memory configured to provide different refresh rates for physical pages of memory; a processing device; and instructions which, when executed by the processing device, cause the processing device to: allocate a first virtual page of memory to first data and a second virtual page of memory to second data, the first data and the second data having different associated impacts when corrupted; use an operating system page table to map the first virtual page of memory to a first physical page of memory and to map the second virtual page of memory to a second physical page of memory; cause the first physical page of memory to store the first data; cause the second physical page of memory to store the second data; instruct the memory to periodically refresh the first physical page of memory storing the first data at a first refresh rate; and instruct the memory to periodically refresh the second physical page of memory at a second refresh rate that is lower than the first refresh rate. 17. The mobile device of claim 16 , wherein the instructions, when executed by the processing device, cause the processing device to: allocate heap memory for data storage on the memory; partition the heap memory into a first heap portion having the first data and a second heap portion having the second data; and designate the first heap portion to be refreshed at the first refresh rate and the second heap portion to be refreshed at the second refresh rate. 18. The mobile device of claim 17 , wherein the instructions, when executed by the processing device, cause the processing device to: allocate the first heap portion responsive to a first call to a first dynamic memory allocation function; and allocate the second heap portion responsive to a second call to a second dynamic memory allocation function that is different than the first dynamic memory allocation function. 19. The mobile device of claim 16 , wherein the instructions, when executed by the processing device, cause the processing device to: load the first data and the second data as global data upon initial loading of an application that defines the first data and the second data as global and annotates the first data and the second data to have different refresh rates.

Assignees

Inventors

Classifications

  • Management or control of the refreshing or charge-regeneration cycles · CPC title

  • Cross-Sectional Technologies · mapped topic

  • Power efficiency · CPC title

  • Power saving in memory, e.g. RAM, cache · CPC title

  • Power management, i.e. event-based initiation of a power-saving mode · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9411674B2 cover?
Power management functionality is described for implementing an application in an energy-efficient manner, without substantially degrading overall performance of the application. The functionality operates by identifying at least first data and second data associated with the application. The first data is considered to have a greater potential impact on performance of the application compared …
Who is the assignee on this patent?
Pattabiraman Karthik, Moscibroda Thomas, Zorn Benjamin G, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F11/0793. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 09 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).