# US 6,724,390 B1 · Allocating memory

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 6,724,390 B1
- Document ID: US6724390B1
- Status: Granted
- Kind: B1
- Application number: 09/474,651
- Filed: 1999-12-29
- Granted: 2004-04-20
- Earliest claimed: 1999-12-29
- Assignees: Intel Corporation
- Inventors: Joseph M. Dragony; Prashant Sethi
- Web page: https://patentgrep.com/patent/US6724390B1

## CPC

- G06F 12/023: {Free address space management}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Memory is allocated for use by a graphics processor. Available portions of system memory are identified by requesting an amount of system memory from an operating system and receiving locations of the available portions from the operating system. Those available portions are then allocated for use by the graphics processor.

## Claims

### Claim 1

A method comprising:
identifying available portions of a system memory;
determining an amount of memory needed to execute a software application;
allocating available portions of the system memory to a graphics processor memory in response to determining to form a contiguous software application memory;
programming a page table to commit addresses of the available portions;
executing the software application in the contiguous software application memory;
freeing an address range of the contiguous software application memory;
unmapping pages allocated to the address range in a page table; and
deallocating the available portions of the system memory.

### Claim 2 (depends on 1)

The method of claim 1 wherein allocating further comprises requesting an amount of system memory from an operating system and receiving locations of the available portions of system memory from the operating system.

### Claim 3 (depends on 1)

The method of claim 1 wherein deallocating comprises re-allocating the available portions of system memory to an operating system after the available portions are no longer needed by the graphics processor, the available portions of system memory allocated in blocks.

### Claim 4 (depends on 1)

The method of claim 1 wherein allocating comprises generating a memory map for the graphics processor to the available portions of system memory.

### Claim 5 (depends on 4)

The method of claim 4 wherein the available portions of system memory comprise physically discontiguous portions of system memory and the memory map makes the physically discontiguous portions of system memory appear contiguous to the graphics processor.

### Claim 6

A method comprising:
identifying available portions of a system memory;
determining an amount of memory needed to execute a software application by a graphics processor for processing data and generating images;
allocating available portions of the system memory to the graphics processor, in response to determining, to form a contiguous software application memory;
programming a page table to commit addresses of the available portions;
executing the software application in the contiguous software application memory;
freeing an address range of the contiguous software application memory;
unmapping pages allocated to the address range in a page table; and
deallocating the available portions of the system memory.

### Claim 7 (depends on 6)

The method of claim 6 wherein the graphics processor is part of a graphics accelerator card.

### Claim 8 (depends on 6)

The method of claim 6 wherein allocating further comprises requesting an amount of system memory from an operating system and receiving locations of the available portions of system memory from the operating system.

### Claim 9 (depends on 6)

The method of claim 6 wherein deallocating comprises re-allocating the available portions of system memory to an operating system after the available portions are no longer needed by the graphics processor, the available portions of system memory allocated in blocks.

### Claim 10 (depends on 6)

The method of claim 6 wherein allocating comprises generating a memory map for the graphics processor to the available portions of system memory.

### Claim 11 (depends on 9)

The method of claim 9 wherein the available portions of system memory comprise physically discontiguous portions of system memory and the memory map makes the physically discontiguous portions of system memory appear contiguous to the graphics processor.

### Claim 12

A computer program, tangibly stored on a computer readable medium, comprising instructions operable to cause a computer to:
identify available portions of a system memory;
determine an amount of memory needed to execute a software application;
allocate available portions of the system memory to a graphics processor memory in response to determining to form a contiguous software application memory;
program a page table to commit addresses of the available portions;
execute the software application in the contiguous software application memory, the execute comprising looking up the addresses of the available portions of the system memory in the page table;
free an address range of the contiguous software application memory;
unmap pages allocated to the address range in a page table; and
deallocate the available portions of the system memory.

### Claim 13 (depends on 12)

The computer program of claim 12, wherein allocating further comprises requesting an amount of system memory from an operating system and receiving locations of the available portions of system memory from the operating system.

### Claim 14 (depends on 12)

The computer program of claim 12, wherein deallocating comprises re-allocating the available portions of system memory to an operating system after the available portions are no longer needed by the graphics processor, the available portions of system memory allocated in blocks.

### Claim 15 (depends on 12)

The computer program of claim 12, wherein allocating comprises generating a memory map for the graphics processor to the available portions of system memory.

### Claim 16 (depends on 15)

The computer program of claim 15, wherein the available portions of system memory comprise physically discontiguous portions of system memory and the memory map makes the physically discontiguous portions of system memory appear contiguous to the graphics processor.
