IP Library Granted Patent US 7,861,104
Granted Patent B2
US 7,861,104 · App. 10/004,458 · Granted Dec 28, 2010

Methods and apparatus for collapsing interrupts

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 7,861,104
App. No.
10/004,458
Granted
Dec 28, 2010
Kind
B2
Abstract

Methods and apparatus are provided for generating interrupts associated with the completion of data processing. An external host may pass a first data block to a first processing engine and later pass a second data block to a second processing engine. In typical implementations, the external host expects that processing of the first data block completes first. To prevent errors and faults on the part of the external host, an interrupt associated with the processing of the second data block completing first is collapsed onto the first data block.

Claims (27)

1. A method for processing data using a plurality of processing engines, the method comprising:

processing first data associated with a first control record in a first processing engine;

processing second data associated with a second control record in a second processing engine, wherein the first and second data are processed in parallel;

if processing of the first data completes before processing of the second data completes and the first control record is younger than the second control record, moving a first interrupt indicator associated with the first control record onto a second interrupt indicator associated with the second control record before processing of the second data completes, wherein moving the first interrupt indicator comprises setting the first interrupt indicator associated with the first control record to disabled and setting the second interrupt indicator associated with the second control record to enabled; and

if processing of the first data completes before processing of the second data completes and the first control record is older than the second control record, generating an interrupt when processing of the first data completes, the interrupt being generated before processing of the second data completes.

2. The method of claim 1 , wherein the first processing engine is a public key engine.

3. The method of claim 1 , wherein moving the first interrupt indicator comprises determining that the first interrupt indicator is enabled.

4. The method of claim 1 , wherein moving the first interrupt indicator comprises delaying the generation of an interrupt associated with the first control record.

5. The method of claim 1 , wherein the first control record comprises a reference to data.

6. The method of claim 5 , wherein the first control record comprises a reference to an operation to be performed on data.

7. The method of claim 1 , further comprising writing processed data to memory associated with a host.

8. The method of claim 7 , wherein the host is an external processor coupled to the processing engines.

9. The method of claim 8 , wherein the external processor is coupled to the processing engines through a scheduler.

10. The method of claim 9 , wherein the external processor reads the processed data when the interrupt is generated.

11. A cryptography accelerator, comprising:

a first processing engine configured to process a first control record;

a second processing engine configured to process a second control record, wherein the first and second processing engines are configured to process the first and second control records in parallel;

a history buffer, implemented using memory, configured to retain information associated with the first and second control records including a first interrupt indicator associated with the first control record and a second interrupt indicator associated with the second control record;

wherein the first interrupt indicator associated with the first control record is moved onto the second interrupt indicator associated with the second control record if processing of the first control record completes before processing of the second control record completes and the first control record is younger than the second control record; and

wherein an interrupt is generated if processing of the first control record completes before processing of the second control record completes and the first control record is older than the second control record, the interrupt configured to be generated before processing of the second control record completes,

wherein moving the first interrupt indicator comprises setting the first interrupt indicator associated with the first control record to disabled and setting the second interrupt indicator associated with the second control record to enabled before processing of the second control record completes.

12. The cryptography accelerator of claim 11 , wherein the first processing engine is a public key engine.

13. The cryptography accelerator of claim 11 , wherein moving the first interrupt indicator associated with the first control record onto the second interrupt indicator associated with the second control record further comprises delaying the generation of an interrupt associated with the first control record.

14. The cryptography accelerator of claim 11 , wherein the second control record comprises a reference to data.

15. The cryptography accelerator of claim 14 , wherein the second control record comprises a reference to an operation to be performed on data.

16. The cryptography accelerator of claim 15 , further comprising an external processor coupled to the processing engines through a scheduler.

17. The cryptography accelerator of claim 16 , wherein the external processor reads the processed data when the interrupt is generated.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2001
From: FUNG, THOMAS; LAW, PATRICK
To: BROADCOM CORPORATION
Reel/Frame 012358/0730 →