1. A method for controlling data stored in an on-chip memory sharing a chip with a processor and a cache by a software application, comprising: allocating, within the on-chip memory of the chip, a block of processor memory address space for the data accessible by the processor via an on-chip memory controller responsive to an instruction from an operating system, the instruction being associated with the data, wherein allocating the block of the on-chip memory comprises allocating the block of the on-chip memory in response to an explicit instruction from the software application, the explicit instruction being substantially determinative of the occurrence of allocation of the block of the on-chip memory; transferring the data from a main memory to the block within the on-chip memory via a direct memory access controller based upon an indication from the operating system, the direct memory access controller to transfer the data from the main memory and store the data in the block of the on-chip memory, the direct memory access controller to page out a content of the block prior to storing the data in the block; accessing, by the processor, the block of the on-chip memory via the on-chip memory controller to obtain the data in response to a request for the data by the processor; and de-allocating the block in response to a subsequent instruction from the operating system.