Dynamic off-screen display memory manager
First Claim
1. A method of allocating and deallocating off-screen display memory in a computer system, comprising the steps of:
- A. receiving a request for a region of off-screen display memory to store a digitized image data;
B. traversing a linked list data structure of off-screen display memory regions organized from a smallest-sized region to a largest-sized region to select a region of unallocated off-screen display memory large enough to store the digitized image data;
C. storing the digitized image data in the selected region;
D. updating the linked list data structure to indicate that the selected region of off-screen display memory is now allocated; and
E. recomputing the various combinations for the remaining unallocated regions of the off-screen display memory and storing the new combinations in the linked list data structure and reorganizing the linked list data structure from a smallest-sized region to a largest-sized region.
2 Assignments
0 Petitions
Accused Products
Abstract
A display memory manager allocates and deallocates off-screen video memory by dividing the memory space into a plurality of lapping and non-overlapping regions each capable of storing a different amount of digitized display data, and creating a linked list data structure indicative of the allocated and unallocated regions and various combinations of the unallocated regions. Upon receiving a request for off-screen display memory the display memory manager traverses the linked list data structure searching for a region, or combination of regions, large enough to store the requested amount of digitized display data. Once a region or combination of regions has been found and allocated, the linked list data structure is updated to indicate that the new regions are now allocated and hence unavailable to a subsequent requested allocation unless deallocated.
162 Citations
21 Claims
-
1. A method of allocating and deallocating off-screen display memory in a computer system, comprising the steps of:
-
A. receiving a request for a region of off-screen display memory to store a digitized image data; B. traversing a linked list data structure of off-screen display memory regions organized from a smallest-sized region to a largest-sized region to select a region of unallocated off-screen display memory large enough to store the digitized image data; C. storing the digitized image data in the selected region; D. updating the linked list data structure to indicate that the selected region of off-screen display memory is now allocated; and E. recomputing the various combinations for the remaining unallocated regions of the off-screen display memory and storing the new combinations in the linked list data structure and reorganizing the linked list data structure from a smallest-sized region to a largest-sized region. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system off-screen display memory manager which allocates regions of unallocated off-screen display memory in response to a request for off-screen display memory storage, comprising:
-
A. a memory device containing off-screen video memory for storing digitized data; B. apparatus which maintains a linked list data structure containing elements indicative of the current state of said memory device wherein each element includes a field indicative of the size of the allocated and unallocated memory regions within said memory device and the starting address of each region along with a status flag indicative of whether the region is allocated or unallocated, said linked list data structure organized from a smallest-sized memory region to a largest-sized memory region; and C. means for searching the linked list data structure in order to select the smallest unallocated region of said memory device larger than the size of the request for off-screen display memory storage and storing the image into the selected unallocated region of said memory device and updating the linked list data structure to indicate that the selected region is now allocated and reorganizing the linked list data structure from a smallest-sized memory region to a largest-sized memory region. - View Dependent Claims (8, 9, 10)
-
-
11. A method of allocating and deallocating off-screen display regions in a memory device which stores digitized information in a multi-tasking computer system, comprising the steps of:
-
A. receiving an allocation request for a region of the electronic memory device; B. providing a linked list data structure comprises elements each corresponding to a region of the memory device, and wherein each element includes information fields indicative of starling location of the region, size of the region and whether the region is allocated or unallocated; C. arranging the elements in the linked list data structure from smallest region to largest region; D. traversing the elements of the linked list data structure to locate the smallest unallocated region in the memory device whose size is larger than the size of the allocation request; E. storing the digitized data in the located region; F. updating the linked list data structure to indicate that the selected region of the memory device is now allocated; and G. resorting the elements in the linked list data structure to ensure that the element associated with the smallest region in the memory device is the first element in the linked list and remaining elements are arranged on the basis of their size in ascending order. - View Dependent Claims (12)
-
-
13. A computer program product comprising:
a computer usable medium having computer readable code means embodied thereon for allocating and deallocating off-screen display memory in a computer system, said program code means comprising; program code means for receiving a request for a region of off-screen display memory to store a digitized image data; program code means for traversing a linked list data structure of off-screen display memory regions organized from a smallest-sized region to a largest-sized region to select a region of unallocated off-screen display memory large enough to store the digitized image data; program code means for storing the digitized image data in the selected region; program code means for updating the linked list data structure to indicate that the selected region of off-screen display memory is now allocated; and program code means for recomputing the various combinations for the remaining unallocated regions of the off-screen display memory and storing the new combinations in the linked list data structure and for reorganizing the linked list data structure from a smallest-sized region to a largest-sized region. - View Dependent Claims (14, 15, 16, 17)
-
18. A computer program product for use in a computer system having off-screen display memory, the computer program product comprising:
a computer usable medium having computer readable program code means for allocating and deallocating the off-screen display memory, the program code means comprising; first program code means for receiving a request for a region of off-screen display memory to store a digitized image data; second program code means for traversing a linked list data structure of off-screen display memory regions organized from a smallest-sized region to a largest-sized region to select a region of unallocated off-screen display memory large enough to store the digitized image data; third program code means for storing the digitized image data in the selected region; fourth program code means for updating the linked list data structure to indicate that the selected region of off-screen display memory is now allocated; and fifth program code means for recomputing the various combinations for the remaining unallocated regions of the off-screen display memory and storing the new combinations in the linked list data structure and for reorganizing the linked list data structure from a smallest-sized region to a largest-sized region. - View Dependent Claims (19, 20, 21)
Specification