IP Library Granted Patent US 11,144,457
Granted Patent B2
US 11,144,457 · App. 16/258,404 · Granted Oct 12, 2021

Enhanced page locality in network-on-chip (NoC) architectures

Inventors: Joseph Rowlands (San Jose, CA); Joji Philip (San Jose, CA)
Assignee: NETSPEED SYSTEMS, INC.
G06F12/0813G06F9/3838G06F12/0811H04L45/302H04L45/60H04L45/586
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 11,144,457
App. No.
16/258,404
Granted
Oct 12, 2021
Kind
B2
Abstract

Aspects of the present disclosure relate to page locality based memory access request processing in a network-on-chip (NoC) architecture. In an example implementation, the proposed method includes determining, at an arbitrator, while selecting a NoC agent from a plurality of NoC agents for request processing for a forthcoming round, if current NoC agent of current round is processing a packet stream and if said packet stream is completely processed at the end of said current round, wherein processing of the packet stream enables cluster requests to be processed at same part of said memory and enhances page locality; and re-selecting, at said arbitrator, said current NoC agent as the NoC agent for the forthcoming round if said packet stream processing is not completed at the end of said current round, so as to enable said current NoC agent to complete processing of said packet stream in said forthcoming round.

Claims (24)

1. A method for page locality based memory access request processing in a network-on-chip (NoC) architecture, said method comprising:

determining, at an arbitrator, while selecting an NoC agent from a plurality of NoC agents for request processing for a forthcoming round, if a current NoC agent of a current round is processing a packet stream and if said packet stream is completely processed at the end of said current round, wherein processing of the packet stream enables cluster requests to be processed at a same part of a memory and enhances page locality; and

re-selecting, at said arbitrator, said current NoC agent as the NoC agent for the forthcoming round if said packet stream processing is not completed at the end of said current round, so as to enable said current NoC agent to complete processing of said packet stream in said forthcoming round, wherein said determining of whether said packet stream is completely processed is performed based on receipt of new stream information, said new stream information being shared with each output port of a router associated with said arbitrator.

2. The method of claim 1 , wherein if said packet stream processing is completed, said arbitrator selects the NoC agent having the next highest priority for the forthcoming round, and said current NoC agent is allocated lowest priority.

3. The method of claim 1 , wherein said arbitrator is a round-robin based packet processing arbitrator.

4. The method of claim 1 , wherein the arbitrator selects the NoC agent so as to enhance page locality without compromising on unfairness to said plurality of NoC agents beyond a defined threshold.

5. The method of claim 1 , wherein said determining of whether said packet stream is completely processed is performed based on a stream indicator that forms part of said packet stream, such that said current NoC agent is selected in each forthcoming round until an end of packet stream indicator is received.

6. The method of claim 1 , wherein said determining of whether said packet stream is completely processed is performed based on a destination address mentioned in each packet of said packet stream such that said current NoC agent is selected in each forthcoming round while the same destination address is mentioned in each packet of said packet stream.

7. The method of claim 1 , wherein said determining of whether said packet stream is completely processed is performed based on an intimation from said current NoC agent that it is a part of said packet stream.

8. The method of claim 1 , wherein said determining of whether said packet stream is completely processed is done by a master bridge by analyzing address stream that forms part of said packet stream.

9. A system for page locality based memory access request processing in a network-on-chip (NoC) architecture, said system comprising:

a current agent packet stream processing status determination circuitry configured to determine, at an arbitrator, while selecting an NoC agent from a plurality of NoC agents for request processing for a forthcoming round, if a current NoC agent of a current round is processing a packet stream and if said packet stream is completely processed at the end of said current round, wherein processing of the packet stream enables cluster requests to be processed at a same part of a memory and enhances page locality,

a packet stream processing status based agent selection circuitry configured to re-select, at said arbitrator, said current NoC agent as the NoC agent for the forthcoming round if said packet stream processing is not completed at the end of said current round, so as to enable said current NoC agent to complete processing of said packet stream in said forthcoming round, wherein said determining of whether said packet stream is completely processed is to be performed based on receipt of new stream information, said new stream information being shared with each output port of a router associated with said arbitrator.

10. The system of claim 9 , wherein if said packet stream processing was completed, said arbitrator selects the NoC agent having the next highest priority for the forthcoming round, and said current NoC agent is allocated lowest priority.

11. The system of claim 9 , wherein said arbitrator is a round-robin based packet processing arbitrator.

12. The system of claim 9 , wherein the arbitrator selects the NoC agent so as to enhance page locality without compromising on unfairness to said plurality of NoC agents beyond a defined threshold.

13. The system of claim 9 , wherein said determination of whether said packet stream is completely processed is to be performed based on any or a combination of: a stream indicator that forms part of said packet stream such that said current NoC agent is selected in each forthcoming round until an end of packet stream indicator is received, the destination address mentioned in each packet of said packet stream such that said current NoC agent is selected in each forthcoming round while the same destination address is mentioned in each packet of said packet stream, and an intimation from said current NoC agent that it is a part of said packet stream.

14. The system of claim 9 , wherein said determination of whether said packet stream is completely processed is done by a master bridge by analyzing address stream that forms part of said packet stream.

15. A non-transitory computer readable storage medium storing instructions for executing a process, the instructions comprising:

determining, at an arbitrator, while selecting an NoC agent from a plurality of NoC agents for request processing for a forthcoming round, if a current NoC agent of a current round is processing a packet stream and if said packet stream is completely processed at the end of said current round, wherein processing of the packet stream enables cluster requests to be processed at a same part of a memory and enhances page locality; and

re-selecting, at said arbitrator, said current NoC agent as the NoC agent for the forthcoming round if said packet stream processing is not completed at the end of said current round, so as to enable said current NoC agent to complete processing of said packet stream in said forthcoming round, wherein said determining of whether said packet stream is completely processed is to be performed based on receipt of new stream information, said new stream information being shared with each output port of a router associated with said arbitrator.

16. The non-transitory computer readable storage medium according to claim 15 , wherein if said packet stream processing was completed, said arbitrator selects the NoC agent having the next highest priority for the forthcoming round, and said current NoC agent is allocated lowest priority.

17. The non-transitory computer readable storage medium according to claim 15 , wherein the arbitrator selects the NoC agent so as to enhance page locality without compromising on unfairness to said plurality of NoC agents beyond a defined threshold.

18. The non-transitory computer readable storage medium according to claim 15 , wherein said determining of whether said packet stream is completely processed is performed based on any or a combination of: a stream indicator that forms part of said packet stream such that said current NoC agent is selected in each forthcoming round until an end of packet stream indicator is received, the destination address mentioned in each packet of said packet stream such that said current NoC agent is selected in each forthcoming round while the same destination address is mentioned in each packet of said packet stream, and an intimation from said current NoC agent that it is a part of said packet stream.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2022
From: NETSPEED SYSTEMS, INC.
To: INTEL CORPORATION
Reel/Frame 060753/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2019
From: ROWLANDS, JOSEPH; PHILIP, JOJI
To: NETSPEED SYSTEMS, INC.
Reel/Frame 048146/0743 →