| 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 |

| 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.
|