Patent ID: 8732382

Claim:
A method of operating a direct memory access (DMA) engine, comprising: initiating a single block-transfer DMA operation to copy a first number of bytes from first source memory locations to first destination memory locations; subsequently issuing a halt instruction before the first number of bytes are completely copied from the first source memory locations to the first destination memory locations; in response to the halt instruction, halting the copying before the first number of bytes are completely copied from the first source memory locations to the first destination memory locations thereby establishing a second number of bytes, which include those bytes remaining to be copied from the first number of bytes; identifying a quantity of the second number of bytes; generating quantity information regarding the quantity of the second number of bytes; storing the quantity information; identifying second source memory locations in which the second number of bytes are stored; generating second source memory location information encompassing the second source memory locations in which the second number of bytes are stored; storing the second source memory location information; identifying second destination memory locations into which the second number of bytes are to be transferred; generating second destination memory location information encompassing the second destination memory locations into which the second number of bytes are to be stored; and storing the second destination memory location information; and resuming the halted transfer by initiating copying of the second number of bytes from the second source memory locations to the second destination memory locations.