Patent ID: 7870308

Claim:
A method, in a data processing system, for programming a direct memory access engine operating as a single thread processor, the method comprising: receiving, from a host processor, a program in either a local storage or a memory associated with the direct memory access engine; receiving a request, from the host processor, in the direct memory access engine, to execute the program located in either the local storage or the memory using a set of parameters; executing, by the direct memory access engine and without intervention by a host processor, the program; and responsive to the program completing execution, sending, by the direct memory access engine, a completion notification to the host processor that indicates that the program has completed execution; wherein the method for programming the direct memory access engine further comprises: receiving the set of parameters from the host processor that initializes registers within the direct memory access engine with a pointer to a data structure and a first location pointer, wherein the pointer to the data structure points to at least one of a local storage address in the local storage or an effective address in the memory and wherein the first location pointer points to at least one of a local storage address in the local storage or an effective address in the memory; setting a current pointer of data that is to be accessed equal to the pointer to the data structure; setting an intended location for the data equal to the first location pointer; and executing one of a plurality of instructions on the data using the current pointer and the intended location pointer.