Efficient allocation of address space resources to bus devices
First Claim
1. A computer-implemented method for allocating memory address resources to a plurality of devices on a bus, the method comprising performing computer-implemented operations for:
- obtaining memory address resource requests from the plurality of devices on the bus;
sorting the memory address resource requests into descending order according to an address resource request size; and
allocating the memory address resources to the devices according to the descending order of the sorted memory address resource requests.
3 Assignments
0 Petitions
Accused Products
Abstract
Memory address resources requests are collected from devices on a bus. The requests are then sorted into descending order. For each resource request, a determination is then made as to whether the request is for a device that is behind a bridge. If the request is not for a device behind a bridge, the request is allocated. The request is also allocated if the request is for a device behind a bridge device and the request can be allocated without allocating padding. If a request is for a device behind a bridge and the request cannot be satisfied without using padding, then sufficient padding is allocated to properly align the request. An amount of padding may be allocated that satisfies the alignment requirement of the next resource request to be allocated. Requests for devices on the primary interface of the bridge device may also be satisfied from within the padding.
11 Citations
20 Claims
-
1. A computer-implemented method for allocating memory address resources to a plurality of devices on a bus, the method comprising performing computer-implemented operations for:
-
obtaining memory address resource requests from the plurality of devices on the bus; sorting the memory address resource requests into descending order according to an address resource request size; and allocating the memory address resources to the devices according to the descending order of the sorted memory address resource requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:
-
obtain memory address resource requests from a plurality of devices on a bus; sort the memory address resource requests into descending order according to a memory address resource request size; and allocate the requested memory address resources to the devices according to the descending order of the sorted memory address resource requests. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computing system comprising:
-
a central processing unit (CPU); a random access memory (RAM) accessible by the CPU; a bus connected to the CPU having one or more devices thereupon; and a non-volatile memory having a firmware executable by the CPU stored therein, the firmware configured to allocate memory address resources to the devices on the bus by obtaining memory address resource requests from the devices on the bus, sorting the memory address resource requests into descending order according to a memory address resource request size, and allocating the memory address resources to the devices according to the descending order of the sorted memory address resource requests. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification