IP Library Granted Patent US 9,665,505
Granted Patent B2
US 9,665,505 · App. 14/541,902 · Granted May 30, 2017

Managing buffered communication between sockets

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,665,505
App. No.
14/541,902
Granted
May 30, 2017
Kind
B2
Abstract

A motherboard includes multiple sockets, each socket configured to accept an integrated circuit. A first integrated circuit in a first socket includes one or more cores and at least one buffer. A second integrated circuit in a second socket includes one or more cores and at least one buffer. Communication circuitry transfers messages to buffers of integrated circuits coupled to different sockets. A first core on the first integrated circuit is configured to send messages corresponding to multiple types of instructions to a second core on the second integrated circuit through the communication circuitry. The buffer of the second integrated circuit is large enough to store a maximum number of instructions of a second type that are allowed to be outstanding from cores on the first integrated circuit at the same time, and still have enough storage space for one or more instructions of a first type.

Claims (27)

1. An apparatus comprising:

a motherboard including multiple sockets, each socket configured to accept an integrated circuit;

a first integrated circuit in a first socket of the motherboard, the first integrated circuit including one or more cores and at least one buffer;

a second integrated circuit in a second socket of the motherboard, the second integrated circuit including one or more cores and at least one buffer;

communication circuitry included on the motherboard configured to transfer messages to buffers of integrated circuits coupled to different sockets;

wherein a first core on the first integrated circuit is configured to send messages corresponding to multiple types of instructions to a second core on the second integrated circuit through the communication circuitry, where at least one first type of instruction corresponds to a first operation that is performed by the second core without requiring any instructions to be transmitted through the communication circuitry to complete the first operation, and at least one second type of instruction corresponds to a second operation that is performed by the second core requiring at least one message to be transmitted through the communication circuitry to complete the second operation; and

wherein the buffer of the second integrated circuit is large enough to store a maximum number of instructions of the second type that are allowed to be outstanding from cores on the first integrated circuit at the same time, and still have enough storage space for one or more instructions of the first type.

2. The apparatus of claim 1 , wherein the first type of instruction includes a first instruction that corresponds to an operation that invalidates a virtual address stored in a translation lookaside buffer.

3. The apparatus of claim 2 , wherein the first type of instruction includes a second instruction that corresponds to an operation that requests data to be written by a particular core.

4. The apparatus of claim 3 , wherein the second instruction is performed for requesting that data associated with a virtual address being invalidated and is stored in one core is to be written to a physical address by another core.

5. The apparatus of claim 3 , wherein the second type of instruction includes a third instruction that requests acknowledgement from each core that previous messages corresponding to the first instruction have been completed.

6. The apparatus of claim 5 , wherein completing at least one message corresponding to the first instruction requires sending at least one message corresponding to the second instruction.

7. The apparatus of claim 1 , wherein the message to be transmitted through the communication circuitry to complete the second operation comprises an acknowledgement associated with an instruction of the first type.

8. The apparatus of claim 7 , wherein the instruction of the first type was initiated in response to the second operation.

9. A method for communicating on a motherboard including multiple sockets, each socket configured to accept an integrated circuit, the method comprising:

buffering messages in a buffer of a first integrated circuit in a first socket of the motherboard, the first integrated circuit including one or more cores;

buffering messages in a buffer of a second integrated circuit in a second socket of the motherboard, the second integrated circuit including one or more cores; and

transferring messages to buffers of integrated circuits coupled to different sockets over communication circuitry included on the motherboard;

wherein a first core on the first integrated circuit sends messages corresponding to multiple types of instructions to a second core on the second integrated circuit through the communication circuitry, where at least one first type of instruction corresponds to a first operation that is performed by the second core without requiring any instructions to be transmitted through the communication circuitry to complete the first operation, and at least one second type of instruction corresponds to a second operation that is performed by the second core requiring at least one message to be transmitted through the communication circuitry to complete the second operation; and

wherein the buffer of the second integrated circuit is large enough to store a maximum number of instructions of the second type that are allowed to be outstanding from cores on the first integrated circuit at the same time, and still have enough storage space for one or more instructions of the first type.

10. The method of claim 9 , wherein the first type of instruction includes a first instruction that corresponds to an operation that invalidates a virtual address stored in a translation lookaside buffer.

11. The method of claim 10 , wherein the first type of instruction includes a second instruction that corresponds to an operation that requests data to be written by a particular core.

12. The method of claim 11 , wherein the second instruction is performed for requesting that data associated with a virtual address being invalidated and is stored in one core is to be written to a physical address by another core.

13. The method of claim 11 , wherein the second type of instruction includes a third instruction that requests acknowledgement from each core that previous messages corresponding to the first instruction have been completed.

14. The method of claim 13 , wherein completing at least one message corresponding to the first instruction requires sending at least one message corresponding to the second instruction.

15. The method of claim 9 , wherein the message to be transmitted through the communication circuitry to complete the second operation comprises an acknowledgement associated with an instruction of the first type.

16. The method of claim 15 , wherein the instruction of the first type was initiated in response to the second operation.

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 Sep 26, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047155/0199 →
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 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2015
From: MUKHERJEE, SH SEKHAR; ASHER, DAVID; DOBBIE, BRADLEY; DEVER, DANIEL E.; HUMMEL, THOMAS F.
To: CAVIUM, INC.
Reel/Frame 035093/0791 →