Method for indicating completion status of asynchronous events
AssigneeIntel Corporation
InventorsLinden Minnick, Roy Callum, Patrick L. Connor
Life of this patent
Estimating the term…
Abstract
The present disclosure describes a method comprising issuing a plurality of commands to a controller, wherein the commands are issued in a first order, and wherein the completion status of commands is written to the memory in a second order, and wherein the second order may be different from the first order. Also described is an apparatus comprising a controller adapted to accept a plurality of commands, wherein the commands are issued in a first order, and completion status of commands is written to the memory in a second order, and wherein the second order may be different from the first order.
Claims33
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.
An article of manufacture comprising:
- a storage medium having instructions stored thereon to be executed by a processor to:
- receive 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;
- execute the command;
- and
- upon completion of a command included in a respective descriptor, write 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.
An apparatus comprising:
- a controller having a processor to:
- accept a plurality of descriptors, 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;
- execute the command;
- and
- upon completion of a command included in a respective descriptor, write a completion status for value 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 controller comprises the multiple encryption units;
- 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.
A system comprising
- a controller to accept a plurality of descriptors, 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;
- a plurality of encryption units, wherein the units execute commands from the respective descriptors;
- and
- a memory providing the memory locations,
- wherein upon completion of a command included in a respective descriptor, the controller writes a respective completion status value for the command to the memory address external to the respective descriptor;
- wherein the plurality of 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.
A computer implemented method comprising:
- receiving a plurality of descriptors at a controller, each operation descriptor comprising a command;
- and
- initiating executing the commands in a first order;
- and
- indicating a completion status of each command, as each command completes, in the order that it completes, which is different from the first order;
- wherein at least some of the descriptors comprise commands executed by one of multiple encryption units implementing different respective encryption algorithms;
- wherein the controller comprises the multiple encryption units;
- and
- wherein the multiple encryption units comprise (1) an Advanced Encryption Standard (AES) encryption engine;
- and (2) a Data Encryption Standard (DES) engine;
- and
- 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.
Dependencies are inferred from the claim text.