1. A method of transferring data, comprising: transferring a first block of data from a peripheral device to an address range in peripheral memory address space; transferring, concurrently with said transferring said first block of data, the first block of data to an address range in processor memory address space; and, transferring the first block of data to a hardware function.