Patent ID: 7793062

Claim:
A copy engine comprising: a first register to point to a first address; a second register to point to a second address, wherein one of the first and second addresses is a source address and one is a destination address for data to be copied; a control register, wherein the control register comprises, a count of an amount of memory space required by a copy operation, an indication of a direction of the copy operation as being one of from a source address corresponding to the first address to a destination address corresponding to the second address or from the source address corresponding to the second address to the destination address corresponding to the first address, an indication of whether the first or second address, whichever address corresponds to the source address, is incremented or decremented; and a serialization mechanism responsive to a write to the control register of a predetermined one of a plurality of possible values to either execute the write with no effect if the copy engine is unlocked or cause the write to be retried if the copy engine is locked.