Patent ID: 7712098

Claim:
A method for transferring data in a digital system between a storage resource and an initiator resource, comprising the steps of: for each computer executable program task, associating one or more task memory attribute (TMA) values with respective address ranges for the computer executable program task; executing the program task; in response to a data transfer request from the initiator resource to either read or write a data item to the storage resource, providing a TMA value corresponding to an address specified by the data transfer request and the task being executed at the time the data transfer request is initiated; transferring the data item between the initiator resource and the storage resource, where: for a write data transfer request, the data item is transformed in a manner indicated by the TMA value and the transformed data item is stored in the storage resource; and for a read data transfer request, the data item is read from the storage resource and transformed in a manner indicated by the TMA value and the transformed data item is passed to the initiator resource; storing a translated page address value in an entry location in a memory management unit (MMU) by selecting the translated address value from a page table; storing the TMA value with the translated page address value in the MMU entry location by obtaining the TMA value from a task control block associated with the program task; and using the MMU entry location to provide a translated address and the TMA value with the data transfer request.