IP Library Granted Patent US 9,448,741
Granted Patent B2
US 9,448,741 · App. 14/495,209 · Granted Sep 20, 2016

Piggy-back snoops for non-coherent memory transactions within distributed processing systems

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,448,741
App. No.
14/495,209
Granted
Sep 20, 2016
Kind
B2
Abstract

Piggy-back snoops are used for non-coherent memory transactions in distributed processing systems. Coherent and non-coherent memory transactions are received from a plurality of processing cores within a distributed processing system. Non-coherent snoop information for the non-coherent memory transactions is combined with coherent snoop information for the coherent memory transactions to form expanded snoop messages. The expanded snoop messages are then output to a snoop bus interconnect during snoop cycles for the distributed processing system. As such, when the processing cores monitor the snoop bus interconnect, the processing cores receive the non-coherent snoop information along with coherent snoop information within the same snoop cycle. While this piggy-backing of non-coherent snoop information with coherent snoop information uses an expanded snoop bus interconnect, usage of the coherent snoop bandwidth is significantly reduced thereby improving overall performance of the distributed processing system.

Claims (27)

1. A method for operating a distributed processing system, comprising:

receiving a plurality of memory transactions from a plurality of processing cores within a distributing processing system, the memory transactions comprising coherent memory transactions and non-coherent memory transactions;

combining non-coherent snoop information for non-coherent memory transactions with coherent snoop information for coherent memory transactions to form a plurality of expanded snoop messages; and

outputting the expanded snoop messages to a snoop bus interconnect during a plurality of snoop cycles for the distributed processing system.

2. The method of claim 1 , further comprising monitoring the snoop bus interconnect with the plurality of processing cores.

3. The method of claim 1 , further comprising using a first portion of each expanded snoop message for data associated with the coherent snoop information and using a second portion of each expanded snoop message for data associated with the non-coherent snoop information.

4. The method of claim 3 , further comprising indicating within the second portion of the expanded snoop message whether valid non-coherent snoop information is included within the expanded snoop message.

5. The method of claim 4 , wherein the second portion of the expanded snoop message comprises a requester identifier field configured to identify a requester processing core, a transaction identifier field configured to identify a memory transaction, and a valid field configured to indicate whether valid non-coherent snoop information is included within the expanded snoop message.

6. The method of claim 1 , further comprising ordering the memory transactions and outputting the ordered memory transactions to one or more memory devices.

7. The method of claim 6 , further comprising combining non-coherent snoop information for each non-coherent memory transaction with coherent snoop information for a coherent memory transaction occurring after the non-coherent memory transaction within the ordered memory transactions.

8. The method of claim 6 , further comprising combining non-coherent snoop information for each non-coherent memory transaction with coherent snoop information for a coherent memory transaction occurring before the non-coherent memory transaction within the ordered memory transactions.

9. The method of claim 1 , wherein the snoop bus interconnect comprises a plurality of wires including N wires for the coherent snoop information and M wires for the non-coherent snoop information.

10. A distributed processing system, comprising:

a snoop bus interconnect;

a plurality of processing cores having memory transactions as outputs, the memory transactions comprising coherent memory transactions and non-coherent memory transactions, and the plurality of processing cores being coupled to the snoop bus interconnect to receive expanded snoop messages;

a memory controller coupled to receive the memory transactions from the plurality of processing cores and to output the expanded snoop messages to the snoop bus interconnect, the expanded snoop messages comprising non-coherent snoop information for the non-coherent memory transactions combined with coherent snoop information for the coherent memory transactions; and

one or more memory devices coupled to the memory controller.

11. The distributed processing system of claim 10 , further comprising a memory bus interconnect coupled between the plurality of processing cores and the memory controller.

12. The distributed processing system of claim 10 , wherein a first portion of each expanded snoop message comprises data associated with the coherent snoop information and a second portion of each expanded snoop message comprises data associated with the non-coherent snoop information.

13. The distributed processing system of claim 12 , wherein the second portion of the expanded snoop message comprises a valid field to indicate whether valid non-coherent snoop information is included within the expanded snoop message.

14. The distributed processing system of claim 13 , wherein the second portion of the expanded snoop message further comprises a requester identifier field configured to identify a requester processing core and a transaction identifier field configured to identify a memory transaction.

15. The distributed processing system 10 , wherein the one or more memory devices have transaction acknowledgement messages as outputs to the memory controller.

16. The distributed processing system of claim 15 , wherein the coherent snoop information and the non-coherent snoop information comprises transaction acknowledgement information.

17. The distributed processing system of claim 10 , wherein the memory transactions are ordered.

18. The distributed processing system of claim 17 , wherein the expanded snoop messages comprise non-coherent snoop information for each non-coherent memory transaction combined with coherent snoop information for a coherent memory transaction occurring after the non-coherent memory transaction within the ordered memory transactions.

19. The distributed processing system of claim 17 , wherein the expanded snoop messages comprise non-coherent snoop information for each non-coherent memory transaction combined with coherent snoop information for a coherent memory transaction occurring before the non-coherent memory transaction within the ordered memory transactions.

20. The distributed processing system of claim 10 , wherein the snoop bus interconnect comprises a plurality of wires including N wires for the coherent snoop information and M wires for the non-coherent snoop information.

Assignments (15)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2023
From: NXP USA, INC.
To: EIREOG INNOVATIONS LIMITED
Reel/Frame 065880/0480 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0460 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0502 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0921 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034160/0370 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034160/0351 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034153/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2014
From: DESHPANDE, SANJAY R.; LARSON, JOHN E.; MORALES, FERNANDO A.; NGUYEN, THANG Q.; BANSE, MARK A.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 033808/0314 →