IP Library Granted Patent US 9,043,519
Granted Patent B1
US 9,043,519 · App. 13/856,848 · Granted May 26, 2015

System and method to process event reporting in an adapter

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 9,043,519
App. No.
13/856,848
Granted
May 26, 2015
Kind
B1
Abstract

Method and system for an adapter is provided. The adapter includes a plurality of function hierarchies, with each function hierarchy including a plurality of functions and each function being associated with an event. The adapter also includes a plurality of processors for processing one or more events generated by the plurality of functions. The adapter further includes a first set of arbitration modules, where each arbitration module is associated with a function hierarchy and receives interrupt signals from the functions within the associated function hierarchy and selects one of the interrupt signals. The adapter also includes a second set of arbitration modules, where each arbitration module receives processor specific interrupt signals and selects one of the interrupt signals for processing an event associated with the selected interrupt signal.

Claims (21)

1. A method for a network device, comprising:

providing a plurality of function hierarchies associated with the network device, each hierarchy including a plurality of functions and each function being associated with an event that is processed by a processor from among a plurality of processors of the network device, wherein each function hierarchy is assigned a first arbitration module for arbitrating between interrupt request signals originating from the function hierarchy, and each of the processors has an assigned second arbitration module configured to arbitrate between the interrupt request signals for events that are associated with a specific one of the processors, wherein each function hierarchy includes at least a physical function and at least a virtual function associated with the physical function;

generating the interrupt request signals for each function within a function hierarchy that had a change in status, wherein the interrupt request signals for each function hierarchy are sent to the assigned first arbitration module for arbitration;

selecting a function from each of the plurality of function hierarchies, wherein each of the assigned first arbitration modules selects one of the interrupt request signals for each function hierarchy;

sending all the interrupt request signals associated with events for the specific processor from among the plurality of processors to the second arbitration module assigned to the specific processor;

selecting one of the interrupt request signals based on an arbitration performed by the assigned second arbitration module;

processing an event associated with the selected interrupt request signal; and

applying a masking logic for selecting functions for events that are associated with a specific processor.

2. The method of claim 1 , further comprising generating a status word for tracking an event associated with a function.

3. The method of claim 2 , wherein the network device is an adapter for processing input/output requests.

4. The method of claim 1 , wherein the specific processor reads a status word associated with the selected interrupt signal and the function is notified after the status word is read.

5. The method of claim 1 , wherein the adapter is operationally coupled to a computing system for sending and receiving network information.

6. A network device, comprising:

a plurality of function hierarchies associated with the network device, with each function hierarchy including a plurality of functions and each function being associated with an event, wherein each function hierarchy includes at least a physical function and at least a virtual function associated with the physical function;

a plurality of processors of the network device for processing one or more events generated by the plurality of functions; wherein each of the plurality of functions is associated with a processor from among the plurality of processors;

a first set of arbitration modules, wherein each arbitration module is associated with a function hierarchy and receives interrupt request signals from the functions within the associated function hierarchy, arbitrates between pending interrupt request signals and selects one of the interrupt request signals; and

a second set of arbitration modules, wherein each arbitration module of the second set receives processor-specific interrupt request signals and selects one of the interrupt request signals for processing an event associated with the selected interrupt request signal; wherein the event is processed by an associated processor.

7. The network device of claim 6 , further comprising a plurality of event collectors that collect event information for events associated with the functions of the plurality of function hierarchies and a status word is used for tracking each event.

8. The network device of claim 7 , wherein a specific processor reads the status word associated with an event and an associated function is notified after the status word is read.

9. The network device of claim 6 , further comprising a masking logic that receives a plurality of interrupt request signals from the first set of arbitration modules and separates the interrupt request signals based on associated processors.

10. The network device of claim 6 , wherein the network device is an adapter for processing input/output requests.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2014
From: SONKSEN, BRADLEY S; MOORE, RICHARD S
To: QLOGIC, CORPORATION
Reel/Frame 032335/0897 →