Patent ID: 7444642

Claim:
A computer implemented method comprising: receiving a plurality of descriptors at a controller, wherein the descriptors are received in a first order and wherein each descriptor includes a command and a memory address identifying a memory location external to the descriptor to which a completion status of the command will be written upon completion of the command; executing the command; and upon completion of a command included in a respective descriptor, writing a completion status value for the command to the memory address external to the respective descriptor; wherein at least some of the descriptors comprise commands executed by one of multiple encryption units implementing different respective encryption algorithms; wherein the multiple encryption units comprise (1) an Advanced Encryption Standard (AES) encryption engine; and (2) a Data Encryption Standard (DES) engine; and wherein the controller comprises logic to write a second completion status to a memory address external to a second descriptor prior to writing a first completion status to a memory address external to a first descriptor and wherein controller logic to execute a command in the first descriptor is initiated before execution of a command in the second descriptor is initiated.