IP Library Granted Patent US 9,058,675
Granted Patent B2
US 9,058,675 · App. 12/790,812 · Granted Jun 16, 2015

Non-volatile storage for graphics hardware

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,058,675
App. No.
12/790,812
Granted
Jun 16, 2015
Kind
B2
Abstract

Methods and systems may provide for an apparatus having a graphics processing unit (GPU) and a non-volatile memory dedicated to the GPU. If a request for content is detected, a determination may be made as to whether the non-volatile memory contains the content.

Claims (55)

1. A system comprising:

a host device having a central processing unit to execute a graphics application;

a graphics processing unit;

a non-volatile memory dedicated to the graphics processing unit;

a volatile memory dedicated to the graphics processing unit; and

a computer readable storage medium including a set of stored instructions which, if executed by a processor, cause the system to:

detect a request for texture content from the graphics application;

determine whether the non-volatile memory contains the texture content;

allocate a buffer resource to the texture content if the non-volatile memory contains the texture content;

return an identifier of the buffer resource to the host device;

transfer the texture content to the buffer resource if an optimization criterion based on one or more of a reordering of work flow, an optimization of a file system for streamlining loads, or an optimization of a batching of read/write requests is met, and detect a request for further texture content from the graphics application if the optimization criterion is not met; and

transfer the texture content from the buffer resource to the volatile memory via a direct memory access request.

2. The system of claim 1 , further including:

a graphics card coupled to the graphics processing unit, the non-volatile memory, and the volatile memory; and

a bus coupled to the graphics card and the host device.

3. The system of claim 1 , further including:

a graphics card coupled to the graphics processing unit and the volatile memory;

a first bus coupled to the graphics card and the host device;

a memory card coupled to the non-volatile memory; and

a second bus coupled to the memory card and the host device.

4. The system of claim 1 , wherein the instructions are to be executed by at least one of the graphics processing unit and the central processing unit.

5. The system of claim 1 , wherein the optimization criterion includes an

optimization of spatial locality of accesses.

6. A non-transitory computer readable storage medium comprising a set of stored instructions which, if executed by a processor, cause a computer to:

detect a request for texture content from a graphics application;

determine whether a non-volatile memory dedicated to a graphics processing unit contains the texture content;

allocate a buffer resource to the texture content if the non-volatile memory contains the texture content;

return an identifier of the buffer resource to the host device;

transfer the texture content to the buffer resource if a graphics optimization criterion based on one or more of a reordering of work flow, an optimization of a file system for streamlining loads, or an optimization of a batching of read/write requests is met, and detect a request for further texture content from the graphics application if the optimization criterion is not met; and

transfer the texture content from the buffer resource to the volatile memory via a direct memory access request.

7. The medium of claim 6 , wherein the instructions, if executed, further cause a computer to transmit a direct memory access request to the volatile memory.

8. The medium of claim 6 , wherein the content is to include texture content.

9. The medium of claim 6 , wherein the instructions, if executed, further cause a computer to receive the request for texture content from a graphics application associated with a host device.

10. An apparatus comprising:

a graphics processing unit;

a non-volatile memory dedicated to the graphics processing unit;

a volatile memory dedicated to the graphics processing unit; and

a computer readable storage medium including a set of stored instructions which, if executed by a processor, cause the apparatus to:

detect a request for texture content from a graphics application;

determine whether the non-volatile memory contains the texture content;

allocate a buffer resource to the texture content if the non-volatile memory contains the texture content;

return an identifier of the buffer resource to a host device;

transfer the texture content to the buffer resource if a graphics optimization criterion based on one or more of a reordering of work flow, an optimization of a file system for streamlining loads, or an optimization of a batching of read/write requests is met, and detect a request for further texture content from the graphics application if the optimization criterion is not met; and

transfer the texture content from the buffer resource to the volatile memory via a direct memory access request.

11. The apparatus of claim 10 , wherein the instructions, if executed, further cause the apparatus to transmit a direct memory access request to the volatile memory.

12. The apparatus of claim 10 , further including a graphics card coupled to the graphics processing unit and the non-volatile memory.

13. The apparatus of claim 10 , further including:

a graphics card coupled to the graphics processing unit; and

a memory card coupled to the non-volatile memory.

14. The apparatus of claim 10 , wherein one or more of the instructions are to be executed by the graphics processing unit.

15. The apparatus of claim 10 , further comprising:

a non-volatile memory that is dedicated to a central processing unit of a host device;

a volatile memory that is dedicated to the central processing unit of the host device; and

a bus connecting the central processing unit of the host device to the graphics processing unit,

wherein one or more of the instructions are to be executed by the central processing unit of the host device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2010
From: HERR, ADAM W.; LAKE, ADAM T.; TABRAH, RYAN T.
To: INTEL CORPORATION
Reel/Frame 024459/0902 →