IP Library Granted Patent US 8,959,265
Granted Patent B2
US 8,959,265 · App. 13/682,772 · Granted Feb 17, 2015

Reducing size of completion notifications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,959,265
App. No.
13/682,772
Granted
Feb 17, 2015
Kind
B2
Abstract

A computer peripheral device includes a host interface, which is configured to communicate over a bus with a host processor and with a system memory of the host processor. Processing circuitry in the peripheral device is configured to receive and execute work items submitted to the peripheral device by client processes running on the host processor, and responsively to completing execution of the work items, to write completion reports to the system memory, including first completion reports of a first data size and second completion reports of a second data size, which is smaller than the first data size.

Claims (29)

1. A computer peripheral device, comprising:

a host interface, which is configured to communicate over a bus with a host processor and with a system memory of the host processor; and

processing circuitry, which is configured to receive and execute work items submitted to the peripheral device by client processes running on the host processor, and responsively to completing execution of the work items, to write completion reports to the system memory, including first completion reports of a first data size and second completion reports of a second data size, which is smaller than the first data size,

wherein the processing circuitry is configured, after generating a first completion report of the first data size, to generate further completion reports, to compare the further completion reports to the first completion report, and to generate the second completion reports of the second data size by eliminating one or more data fields from the further completion reports that have values identical to corresponding data fields in the first completion report.

2. The device according to claim 1 , wherein the processing circuitry is configured to write the first completion reports, containing a first set of data fields, to a first completion queue in the system memory, and to write the second completion reports, containing a second set of the data fields, smaller than the first set, to a second completion queue in the system memory.

3. A computer peripheral device, comprising:

a host interface, which is configured to communicate over a bus with a host processor and with a system memory of the host processor; and

processing circuitry, which is configured to receive and execute work items submitted to the peripheral device by client processes running on the host processor, and responsively to completing execution of the work items, to write completion reports to the system memory, including first completion reports of a first data size and second completion reports of a second data size, which is smaller than the first data size,

wherein the processing circuitry is configured to write the first completion reports, containing a first set of data fields, to a first completion queue in the system memory, and to write the second completion reports, containing a second set of the data fields, smaller than the first set, to a second completion queue in the system memory, and

wherein the second set of the data fields is created by eliminating one or more of the data fields from the first set, such that each of the one or more of the eliminated data fields has a respective common value with respect to all of the second completion reports in the second completion queue.

4. The device according to claim 1 , wherein the processing circuitry is configured to write a plurality of the second completion reports to the system memory via the bus together in a single bus transaction.

5. The device according to claim 1 , wherein at least one of the completion reports comprises a merged completion report, which is generated by the processing circuitry to report completion of multiple, successive work items submitted by one of the client processes.

6. The device according to claim 1 , and comprising a network interface, which is configured to transmit and receive data packets to and from a network, and wherein each completion report indicates that one or more data packets have been transmitted or received in accordance with a corresponding work item.

7. A method for reporting, comprising:

receiving and executing, in a peripheral device, work items submitted to the peripheral device by client processes running on a host processor having a system memory; and

responsively to completing execution of the work items, writing completion reports from the peripheral device to the system memory, including first completion reports of a first data size and second completion reports of a second data size, which is smaller than the first data size,

wherein writing the completion reports comprises writing the first completion reports, containing a first set of data fields, to a first completion queue in the system memory, and writing the second completion reports, containing a second set of the data fields, smaller than the first set, to a second completion queue in the system memory, and

wherein the second set of the data fields is created by eliminating one or more of the data fields from the first set, such that each of the one or more of the eliminated data fields has a respective common value with respect to all of the second completion reports in the second completion queue.

8. A method for reporting, comprising:

receiving and executing, in a peripheral device, work items submitted to the peripheral device by client processes running on a host processor having a system memory; and

responsively to completing execution of the work items, writing completion reports from the peripheral device to the system memory, including first completion reports of a first data size and second completion reports of a second data size, which is smaller than the first data size,

wherein writing the completion reports comprises:

generating a first completion report of the first data size;

after generating the first completion report, generating a further completion report;

comparing the further completion report to the first completion report; and

generating the second completion reports of the second data size by eliminating one or more data fields from the further completion report that have values identical to corresponding data fields in the first completion report.

9. The method according to claim 7 , wherein writing the second completion reports comprises writing a plurality of the second completion reports to the system memory via a bus together in a single bus transaction.

10. The method according to claim 7 , wherein writing the completion reports comprises generating a merged completion report to report completion of multiple, successive work items submitted by one of the client processes.

11. The method according to claim 7 , wherein executing the work items comprises transmitting and receiving data packets between the peripheral device a network, and wherein each completion report indicates that one or more data packets have been transmitted or received in accordance with a corresponding work item.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 37900/0720 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 046542/0792 →
PATENT SECURITY AGREEMENT Recorded Feb 24, 2016
From: MELLANOX TECHNOLOGIES, LTD.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037900/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2013
From: SHACHAR, ARIEL
To: MELLANOX TECHNOLOGIES LTD.
Reel/Frame 030024/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2012
From: HAYUT, OFER; BLOCH, NOAM; KAGAN, MICHAEL
To: MELLANOX TECHNOLOGIES LTD.
Reel/Frame 029334/0115 →