IP Library Granted Patent US 8,978,052
Granted Patent B1
US 8,978,052 · App. 12/551,302 · Granted Mar 10, 2015

System and methods for inter-driver communication

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,978,052
App. No.
12/551,302
Granted
Mar 10, 2015
Kind
B1
Abstract

In certain embodiments host system drivers communicate with one another via messages posted to mailbox registers in a network adapter. Executable code within the network adapter's memory notifies host system drivers of posted messages, waits for acknowledgments from the drivers and sends a completion notification to the host system drivers.

Claims (33)

1. A machine-implemented method, the method comprising:

enabling drivers in a host system to communicate with each other, the host system executing a first driver associated with a first function in a network adapter and other drivers associated with other functions in the network adapter;

the first driver posting a message in the network adapter, the message indicating that the first driver is about to perform an action;

executable code stored in memory of the network adapter notifying the other drivers of contents of the posted message;

the other drivers acknowledging receipt of the notification;

the executable code waiting for all of the other drivers to either acknowledge receipt of the notification or timeout after a specified amount of time; and

the executable code sending a completion notification to all of the drivers.

2. The method of claim 1 , wherein the executable code is implemented in firmware.

3. The method of claim 1 , wherein the executable code is implemented in software.

4. The method of claim 1 , wherein the executable code is implemented in a combination of firmware and software.

5. The method of claim 1 , wherein the first inter driver posts the message to a mailbox register in a host interface in the network adapter.

6. A non-transitory machine readable storage medium storing executable instructions, which when executed by a machine, cause the machine to perform a process, the process comprising:

enabling drivers in a host system to communicate with each other, the host system executing a first driver associated with a first function in a network adapter and other drivers associated with other functions in the network adapter;

the first driver posting a message in the network adapter, the message indicating that the first driver is about to perform an action;

executable code stored in memory of the network adapter notifying the other drivers of contents of the posted message;

the other drivers acknowledging receipt of the notification;

the executable code waiting for all of the other drivers to either acknowledge receipt of the notification or timeout after a specified amount of time; and

the executable code sending a completion notification to all of the drivers.

7. The machine readable storage medium of claim 6 , wherein the executable code is implemented in firmware.

8. The machine readable storage medium of claim 6 , wherein the executable code is implemented in software.

9. The machine readable storage medium of claim 6 , wherein the executable code is implemented in a combination of firmware and software.

10. The machine readable storage medium of claim 6 , wherein the first driver posts the message to a mailbox register in a host interface in the network adapter.

11. A computer program product, comprising:

a non-transitory computer usable storage medium having computer readable instructions embodied therein for enabling drivers in a host system to communicate with each other, the host system executing a first driver associated with a first function in a network adapter and other drivers associated with other functions in the network adapter, the computer readable instructions comprising:

the first driver posting a message in the network adapter, the message indicating that the first driver is about to perform an action;

executable code stored in memory of the network adapter notifying the other drivers of contents of the posted message;

the other drivers acknowledging receipt of the notification;

the executable code waiting for all of the other drivers to either acknowledge receipt of the notification or timeout after a specified amount of time; and

the executable code sending a completion notification to all of the drivers.

12. The computer program product of claim 11 , wherein the executable code is implemented in firmware.

13. The computer program product of claim 11 , wherein the executable code is implemented in software.

14. The computer program product of claim 11 , wherein the executable code is implemented in a combination of firmware and software.

15. The computer program product of claim 11 , wherein the first driver posts the message to a mailbox register in a host interface in the network adapter.

Assignments (6)
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 →