Patent ID: 7774512

Claim:
A method, comprising: performing at least one of: (i) a data merge process in which first and second data streams are received within a processor of a processing system by way of DMA transfers from a memory of the processing system, first and second data streams are merged into an output data stream, and the output data stream is written into the memory of the processing system by way of DMA transfers, and (ii) a de-interleaving process in which the output data stream is read from the memory of the processing system by way of DMA transfers, the output data stream is de-interleaved into the first and second data streams, and the first and second data streams written into the memory of the processing system by way of DMA transfers; receiving a DMA command at a snoop controller from the processor for blocks of data stored within the memory of the processing system associated with one or more of the first, second, and output data streams; assigning an identifier to the DMA command; storing the DMA command and the identifier in a hardware-implemented DMA command queue; associating the identifier with an entry of status information regarding the DMA command; and storing the identifier and the entry in a software implemented DMA table.