US 7,484,070 B1
Selective memory block remapping
Derek T. Walton, Bolton, Mass. (US); and Carl M. Mikkelsen, Wayland, Mass. (US)
Assigned to Conexant Systems, Inc., Newport Beach, Calif. (US)
Filed on Jan. 10, 2005, as Appl. No. 11/32,456.
Claims priority of provisional application 60/535396, filed on Jan. 09, 2004.
Int. Cl. G06F 12/00 (2006.01); G06F 13/00 (2006.01)
U.S. Cl. 711—202  [711/100; 711/154; 711/200] 19 Claims
OG exemplary drawing
 
1. A method of allocating a memory in a memory subsystem of a system-on-a-chip (SOC) for use by a subfunction of the SOC, the method comprising:
creating a placeholder for a plurality of contiguous memory buffers by reserving a region of memory address space, wherein the region of memory address space does not need to be assigned to physical storage;
determining a size of a fixed contiguous memory buffer for each of a plurality of functional units of the SOC prior to the SOC performing any action that uses a memory buffer;
dividing the memory into pages;
allocating at least a portion of the pages based on an amount of memory required by a functional unit of the plurality of functional units when the functional unit of the SOC needs to use a contiguous memory region;
remapping address ranges associated with the pages allocated for the functional unit into a remapped contiguous region of the placeholder; and
configuring the functional unit to reference the remapped contiguous region;
wherein the remapping is performed within the memory subsystem of the SOC.