Method and device to augment volatile memory in a graphics subsystem with non-volatile memory

US9317892B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317892-B2
Application numberUS-201113977261-A
CountryUS
Kind codeB2
Filing dateDec 28, 2011
Priority dateDec 28, 2011
Publication dateApr 19, 2016
Grant dateApr 19, 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.

Methods and devices to augment volatile memory in a graphics subsystem with certain types of non-volatile memory are described. In one embodiment, includes storing one or more static or near-static graphics resources in a non-volatile random access memory (NVRAM). The NVRAM is directly accessible by a graphics processor using at least memory store and load commands. The method also includes a graphics processor executing a graphics application. The graphics processor sends a request using a memory load command for an address corresponding to at least one static or near-static graphics resources stored in the NVRAM. The method also includes directly loading the requested graphics resource from the NVRAM into a cache for the graphics processor in response to the memory load command.

First claim

Opening claim text (preview).

We claim: 1. A method comprising: storing one or more static or near-static graphics resources in a non-volatile random access memory (NVRAM), the NVRAM being directly accessible by a graphics processor using at least memory store and load commands; executing, by a graphics processor, a graphics application, wherein the graphics processor sends a request using a memory load command for an address corresponding to at least one of the one or more static or near-static graphics resources stored in the NVRAM; in response to the memory load command, directly loading the requested graphics resource from the NVRAM into a cache for the graphics processor; storing a graphics processor memory management unit address map in a volatile memory location accessible to a graphics memory manager logic component; managing, by the graphics memory manager logic component, a logical address to physical address map for each of a plurality of graphics resources related to the graphics application, the one or more static or near-static graphics resources being part of the plurality of graphics resources related to the graphics application; and including, by the graphics memory manager logic component, a static/near-static tag for each of the plurality of graphics resources in the graphics processor memory management unit address map, the static/near-static tag indicating the resource will not be dynamically changing in a frequent manner. 2. The method of claim 1 , further including: sending to the graphics memory manager logic component, by a central processing unit, an update to the static/near-static tag for at least a first graphics resource of the plurality of graphics resources; and in response to receiving the update to the static/near-static tag for at least the first graphics resource, initiating, by the graphics memory manager logic component, a physical movement of the first graphics resource between the NVRAM and the volatile memory. 3. The method of claim 1 , further including: storing translation lookaside buffer entries in the graphics processor memory management unit address map. 4. The method of claim 1 , wherein the NVRAM includes one or more of phase change memory, byte-addressable persistent memory, universal memory, Ge2Sb2Te5 memory, programmable metallization cell memory, resistive memory, amorphous cell memory, Ovshinsky memory, ferroelectric memory, ferromagnetic memory, spin transfer torque memory, spin tunneling memory, magnetoresistive memory, magnetic memory, or dielectric memory. 5. A method comprising: executing a graphics application on a graphics processor, wherein during execution there are one or more dynamic state records, utilized by the graphics application, stored in a volatile memory and at least one or more static or near-static graphics resources, utilized by the graphics application, stored in a non-volatile random access memory (NVRAM), the NVRAM being directly accessible by the graphics processor using at least memory store and load commands; receiving a notification to suspend the graphics processor, the NVRAM, and the volatile memory; in response to the notification to suspend, performing a first memory copy of the one or more dynamic state records from the volatile memory to the NVRAM; after the one or more dynamic state records have been copied into the NVRAM, suspending the graphics processor, the NVRAM, and the volatile memory into a lower power state; receiving a notification to resume the graphics processor, the NVRAM, and the volatile memory; in response to the notification to resume, resuming the graphics processor, the NVRAM, and the volatile memory into an operational state; performing a second memory copy of the one or more dynamic state records from the NVRAM back into the volatile memory; and resuming execution of the graphics application. 6. The method of claim 5 , wherein the suspending to the lower power state further includes suspending to a non-powered state. 7. The method of claim 5 , further including: building the one or more dynamic state records during an initial startup of execution of the graphics application; and thereafter not rebuilding the one or more dynamic state records during any subsequent resumption of execution of the graphics application after a suspension of the graphics processor, the NVRAM, and the volatile memory. 8. The method of claim 5 , wherein the NVRAM includes one or more of phase change memory, byte-addressable persistent memory, universal memory, Ge2Sb2Te5 memory, programmable metallization cell memory, resistive memory, amorphous cell memory, Ovshinsky memory, ferroelectric memory, ferromagnetic memory, spin transfer torque memory, spin tunneling memory, magnetoresistive memory, magnetic memory, or dielectric memory. 9. A method, comprising: storing display image data in at least one frame buffer in a non-volatile random access memory (NVRAM), the NVRAM being directly accessible by a graphics processor using at least memory store and load commands; performing, by a display controller, a memory load on the frame buffer to receive the display image data, the storing of the display image data in the NVRAM occurring at least as frequently as a refresh rate of a display screen; displaying, by the display controller, the received display image data on the display screen; and when the display controller is first capable of sending an image to the display screen during a system boot, displaying an image that was stored in a local display NVRAM of the display controller during an operational period of time prior to the system boot. 10. The method of claim 9 , wherein the NVRAM includes one or more of phase change memory, byte-addressable persistent memory, universal memory, Ge2Sb2Te5 memory, programmable metallization cell memory, resistive memory, amorphous cell memory, Ovshinsky memory, ferroelectric memory, ferromagnetic memory, spin transfer torque memory, spin tunneling memory, magnetoresistive memory, magnetic memory, or dielectric memory. 11. A device comprising: graphics processor memory augmentation logic to: store one or more static or near-static graphics resources in a non-volatile random access memory (NVRAM), the NVRAM being directly accessible by a graphics processor using at least memory store and load commands, and store a graphics processor memory management unit address map in a volatile memory location accessible to a graphics memory manager logic component; a graphics processor to execute a graphics application, the graphics processor to at least send a request using a memory load command for an address corresponding to at least one of the one or more static or near-static graphics resources stored in the NVRAM; a graphics memory controller to, in response to the memory load command, directly load the requested graphics resource from the NVRAM into a cache for the graphics processor; and the graphics memory manager logic component to: manage a logical address to physical address map for each of a plurality of graphics resources related to the graphics application, the one or more static or near-static graphics resources being part of the plurality of graphics resources related to the graphics application, and include a static/near-static tag for each of the plurality of graphics resources in the graphics processor memory management unit address map, the static/near-static tag to indicate the resource will not dynamically change in a frequent manner. 12. The device of claim 11 , wherein the graphics memory manager logic component is further to: receive, from a central processing unit, an update to the static/near-static tag for at least a first graphics resou

Assignees

Inventors

Classifications

  • G06T1/60Primary

    Memory management · CPC title

  • Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles · 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 US9317892B2 cover?
Methods and devices to augment volatile memory in a graphics subsystem with certain types of non-volatile memory are described. In one embodiment, includes storing one or more static or near-static graphics resources in a non-volatile random access memory (NVRAM). The NVRAM is directly accessible by a graphics processor using at least memory store and load commands. The method also includes a g…
Who is the assignee on this patent?
Veal Bryan E, Schluessler Travis T, Ramadoss Murali, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06T1/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 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).