Patent ID: 7383312

Claim:
A method for controlling access to computer memory, the method comprising: communicating work queue elements with an application layer and with a verb layer, wherein the application layer or the verb layer requests a completion notification to determine whether a work queue element has been completed; and indicating completion of said work queue elements, in response to either the application layer or the verb layer requesting completion notification, wherein both the application layer and the verb layer are capable of checking if at least one of said work queue elements is completed, independently of each other, such that the application layer does not interface with the verb layer to determine completion status of the work queue elements, wherein communicating work queue elements comprises communicating a consumer work request comprising an application request bit, adapted to indicate an application request for completion notification, and a verb request bit, adapted to indicate a verb request for completion notification, wherein if the application request bit is set, then a completion queue element is provided that indicates completion of the communicated consumer work request and if the verb request bit is set, then a status field of the communicated work queue element is updated to indicate completion of the communicated work queue element, wherein the application layer queries the completion queue element to find out if the communicated consumer work request is completed and the verb layer queries the status field of the communicated work queue element to find out if the communicated work queue element is completed, wherein the work queue elements are stored in a work queue and the completion queue elements are stored in a completion queue such that the work queue and the completion queue elements are located in different address spaces, each independently accessible to the application layer and the verb layer.