IP Library Granted Patent US 10,698,858
Granted Patent B1
US 10,698,858 · App. 15/677,698 · Granted Jun 30, 2020

Multiprocessor messaging system

Inventor: Paul A. Shubel (East Greenwich, RI)
Assignee: EMC IP Holding Company LLC
G06F15/167G06F9/544G06F9/546
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 10,698,858
App. No.
15/677,698
Granted
Jun 30, 2020
Kind
B1
Abstract

A multiprocessor system includes a first microprocessor and a second microprocessor. An external memory system is coupled to the first and second microprocessors and is configured to receive and temporarily store messages transferred between the first and second microprocessors. A first signaling pathway may be configured to send message transmission coordination signals from the first microprocessor to the second microprocessor. A second signaling pathway may be configured to send message transmission coordination signals from the second microprocessor to the first microprocessor. The first signaling pathway may be independent of the second signaling pathway. The first signaling pathway may be coupled to at least two flag registers associated with the second microprocessor. The second signaling pathway may be coupled to at least two flag registers associated with the first microprocessor.

Claims (44)

1. A multiprocessor system comprising:

a first microprocessor;

a second microprocessor;

an external memory system coupled to the first and second microprocessors and configured to receive and temporarily store messages transferred between the first and second microprocessors via a first messaging pathway between the first microprocessor and the external memory and a second messaging pathway between the second microprocessor and the external memory;

a first signaling pathway for sending message transmission coordination signals from the first microprocessor to the second microprocessor, wherein the first signaling pathway is coupled to at least two flag registers included within the second microprocessor, wherein a first flag register of the at least two flag registers included within the second microprocessor is configured to receive an indicator that a message from the first microprocessor is waiting in the external memory system for retrieval by the second microprocessor and a second flag register of the at least two flag registers included within the second microprocessor is configured to receive an indicator that a message from the second microprocessor was retrieved from the external memory system by the first microprocessor; and

a second signaling pathway for sending message transmission coordination signals from the second microprocessor to the first microprocessor, wherein the second signaling pathway is coupled to at least two flag registers included within the first microprocessor, wherein a first flag register of the at least two flag registers included within the first microprocessor is configured to receive an indicator that a message from the second microprocessor is waiting in the external memory system for retrieval by the first microprocessor and a second flag register of the at least two flag registers included within the first microprocessor is configured to receive an indicator that a message from the first microprocessor was retrieved from the external memory system by the second microprocessor;

wherein the first signaling pathway is independent of the second signaling pathway and each of the first signaling pathway and the second signaling pathway are separate from the first messaging pathway between the first microprocessor and the external memory and the second messaging pathway between the second microprocessor and the external memory.

2. The multiprocessor system of claim 1 wherein the external memory system includes dynamic random access memory.

3. The multiprocessor system of claim 1 wherein the external memory system includes flash memory.

4. The multiprocessor system of claim 1 wherein the external memory system is compartmentalized into a first portion configured to receive messages from the first microprocessor for the second microprocessor and a second portion configured to receive messages from the second microprocessor for the first microprocessor.

5. The multiprocessor system of claim 1 wherein the first portion of the external memory system is compartmentalized into a temporary storage area and a prioritized storage area and the external memory system is configured to:

process messages received by the temporary storage area from the first microprocessor for the second microprocessor,

categorize the processed messages into one of a plurality of priorities; and

store the categorized messages within the prioritized storage area.

6. The multiprocessor system of claim 5 wherein the second microprocessor is configured to retrieve the categorized messages from the prioritized storage area of the first portion of the external memory system.

7. The multiprocessor system of claim 1 wherein the second portion of the external memory system is compartmentalized into a temporary storage area and a prioritized storage area and the external memory system is configured to:

process messages received by the temporary storage area from the second microprocessor for the first microprocessor,

categorize the processed messages into one of a plurality of priorities; and

store the categorized messages within the prioritized storage area.

8. The multiprocessor system of claim 7 wherein the first microprocessor is configured to retrieve the categorized messages from the prioritized storage area of the second portion of the external memory system.

9. The multiprocessor system of claim 1 wherein at least one of the first and second microprocessors is a RISC microprocessor.

10. The multiprocessor system of claim 1 wherein at least one of the first and second microprocessors is a system services processor.

11. A computer-implemented method comprising:

receiving messages at an external memory system coupled to a first microprocessor via a first messaging pathway and a second microprocessor via a second messaging pathway, wherein the received messages are transferred between the first and second microprocessors;

temporarily storing the messages at the external memory system;

sending message transmission coordination signals from the first microprocessor to the second microprocessor via a first signaling pathway, wherein the first signaling pathway is coupled to at least two flag registers included within the second microprocessor, wherein first flag register of the at least two flag registers associated with the second microprocessor is configured to receive an indicator that a message from the first microprocessor is waiting in the external memory system and a second flag register of the at least two flag registers included within the second microprocessor is configured to receive an indicator that a message from the second microprocessor was received by the first microprocessor; and

sending message transmission coordination signals from the second microprocessor to the first microprocessor via a second signaling pathway, wherein the second signaling pathway is coupled to at least two flag registers included within the first microprocessor, wherein a first flag register of the at least two flag registers included within the first microprocessor is configured to receive an indicator that a message from the second microprocessor is waiting in the external memory system and a second flag register of the at least two flag registers associated with the first microprocessor is configured to receive an indicator that a message from the first microprocessor was received by the second microprocessor;

retrieving via at least one of the first microprocessor and the second microprocessor, from the external memory system, the message from the other microprocessor in response to the first flag register included within a respective microprocessor indicating that the message from the other microprocessor is waiting in the external memory system;

wherein the first signaling pathway is independent of the second signaling pathway and each of the first signaling pathway and the second signaling pathway are separate from the first messaging pathway between the first microprocessor and the external memory and the second messaging pathway between the second microprocessor and the external memory.

12. The computer-implemented method of claim 11 wherein the external memory system includes dynamic random access memory.

13. The computer-implemented method of claim 11 wherein the external memory system includes flash memory.

14. The computer-implemented method of claim 11 wherein the external memory system is compartmentalized into a first portion configured to receive messages from the first microprocessor for the second microprocessor and a second portion configured to receive messages from the second microprocessor for the first microprocessor.

15. The computer-implemented method of claim 14 wherein the first portion of the external memory system is compartmentalized into a temporary storage area and a prioritized storage area and the external memory system is configured to:

process messages received by the temporary storage area from the first microprocessor for the second microprocessor,

categorize the processed messages into one of a plurality of priorities; and

store the categorized messages within the prioritized storage area.

16. The computer-implemented method of claim 15 wherein the second microprocessor is configured to retrieve the categorized messages from the prioritized storage area of the first portion of the external memory system.

17. The computer-implemented method of claim 14 wherein the second portion of the external memory system is compartmentalized into a temporary storage area and a prioritized storage area and the external memory system is configured to:

process messages received by the temporary storage area from the second microprocessor for the first microprocessor,

categorize the processed messages into one of a plurality of priorities; and

store the categorized messages within the prioritized storage area.

18. The computer-implemented method of claim 17 wherein the first microprocessor is configured to retrieve the categorized messages from the prioritized storage area of the second portion of the external memory system.

19. The computer-implemented method of claim 11 wherein at least one of the first and second microprocessors is a RISC microprocessor.

20. The computer-implemented method of claim 11 wherein at least one of the first and second microprocessors is a system services processor.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (044535/0109) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2017
From: SHUBEL, PAUL A.
To: EMC CORPORATION
Reel/Frame 043299/0525 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043563/0522 →