Patent ID: 7363456

Claim:
A method for allocating contiguous real memory in a data processing system, comprising: receiving a request from a data processing system component for a contiguous block of real memory, during operation of a data processing system, wherein said data processing system includes a memory hierarchy that includes at least a system memory and a higher latency memory storage; selecting a candidate contiguous block of real memory, wherein said candidate contiguous block of real memory is a contiguous block of real memory of a predetermined size that may be assigned for exclusive use by said data processing system component during operation of said data processing system, in response to receiving said request; temporarily restricting access to said candidate contiguous block of real memory, during operation of said data processing system; identifying a plurality of frames currently in use within said candidate contiguous block of real memory, wherein said identifying further includes: identifying at least one pinned frame among said plurality of frames, wherein said at least one pinned frame is a block of instructions or data that is required to be stored in said system memory; and identifying at least one non-pinned frame among said plurality of frames, wherein said at least one non-pinned frame is a block of instructions or data that is not required to be stored in said system memory; relocating said plurality of frames, during operation of said data processing system wherein said relocating further includes: relocating at least one pinned frame among said plurality of frames from said candidate contiguous block of real memory to another location within said system memory; and paging out at least one non-pinned frame among said plurality of frames to said higher latency memory storage within said memory hierarchy; and thereafter allocating said candidate contiguous block of real memory for exclusive use by said data processing component.