Patent ID: 7523228

Claim:
A method for performing a direct memory access block move in a direct memory access device, the method comprising: receiving, at a direct memory access engine within the direct memory access device, a direct memory access block move request, wherein the direct memory access block move request indicates a source and a target; issuing one or more read-write commands for the direct memory access block move request from the direct memory access engine to a bus engine within the direct memory access device; performing, by the bus engine, a read operation to read data from the source and a write operation to write the data to the target for each of the one or more read-write commands to satisfy the direct memory access block move request; responsive to receiving a given read-write command at the bus engine, returning an acknowledge to the direct memory access engine if buffer space within the bus engine is not full; responsive to receiving the given read-write command at the bus engine, withholding an acknowledge to the direct memory access engine if buffer space within the bus engine is full; and responsive to buffer space becoming available in the bus engine, returning the acknowledge to the direct memory access engine, wherein the direct memory access engine does not issue a subsequent read-write command until the acknowledge is received at the direct memory access engine.