Patent ID: 7539780

Claim:
A computer device containing hardware for implementing an asynchronous completion notification system for use in an RDMA (remote data memory access) network interface card (RNIC) having a completion queue (CQ) for holding completion queue entries (CQEs), comprising: a system for storing a first CQE number of the most recent CQE placed into the CQ, wherein the first CQE number is stored in a CQ context; a system for storing a second CQE number of the most recent CQE retrieved from the CQ, wherein the system for storing the second CQE number is implemented by a verb layer; a system for packaging the second CQE number with each request completion notification verb that is issued; a processing system for processing the request completion notification verb, wherein the processing system compares the first CQE number with the second CQE number to determine whether asynchronous completion notification should be immediately performed, and wherein the processing system causes asynchronous completion notification to be immediately performed if the second CQE number is less than the first CQE number or waits until a next CQE is placed into the CQ if the second CQE number is equal to the first CQE number; and a system for storing a third CQE number for the most recent solicited CQE placed into the CQ, wherein the request completion notification verb is further packaged with a type of completion notification; wherein the processing system includes a system for checking the type of completion notification; and wherein, if the type of completion notification is solicited, the processing compares the third CQE number with the second CQE number to determine whether asynchronous completion notification should be immediately performed.