IP Library Granted Patent US 9,971,711
Granted Patent B2
US 9,971,711 · App. 14/583,156 · Granted May 15, 2018

Tightly-coupled distributed uncore coherent fabric

Inventors: Ramadass Nagarajan (Portland, OR); Michael T. Klinglesmith (Portland, OR); Joydeep Ray (Folsom, CA)
Assignee: Intel Corporation
G06F13/1615G06F13/1663G06F15/7821Y02B60/1228
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,971,711
App. No.
14/583,156
Granted
May 15, 2018
Kind
B2
Abstract

Selected portions of an uncore fabric of a system-on-a-chip (SoC) or other embedded system are divided into two independent pipelines. Each pipeline operates independently of the other pipeline, and each accesses only one-half of the system memory, such as even or odd addresses in an interleaved memory. However, the two pipelines are tightly coupled to maintain coherency of the fabric. Coupling may be accomplished, for example, by a shared clock that is one-half of the base clock cycle for the fabric. Each incoming address may be processed by a deterministic hash, assigned to one of the pipelines, processed through memory, and then passed to a credit return.

Claims (32)

1. An apparatus, comprising:

a fabric to provide resource access to a requesting agent, the fabric having a divided clock and an undivided clock and

comprising a functional block divided into n separate pipelines, wherein the pipelines are to operate independently of one another to service mutually-exclusive address spaces, and to be tightly coupled to one another via a shared ordering block;

wherein the pipelines are to receive the divided clock and the ordering block is to receive both the divided clock and the undivided clock and is configured to preserve ordering for the requesting agent.

2. The apparatus of claim 1 , wherein n=2.

3. The apparatus of claim 1 , wherein the fabric comprises n memory control interfaces to control n independent memory blocks, wherein each memory control interface is to communicatively couple to exactly one pipeline.

4. The apparatus of claim 1 , further comprising a demultiplexer to receive a request from a requesting agent and direct it to one of the n separate pipelines.

5. The apparatus of claim 1 , further comprising an aggregator to receive a resource from each separate pipeline, and to direct the resource to a requesting agent.

6. The apparatus of claim 1 , further comprising a pipeline tracker to indicate which separate pipeline provides a resource to a requesting agent.

7. The apparatus of claim 1 , further comprising a pipeline tracker to indicate which separate pipeline is to receive a response from a requesting agent.

8. The apparatus of claim 1 , further comprising a selection logic to receive a memory access request from a requesting agent and to deterministically assign the request to one separate pipeline.

9. The apparatus of claim 1 , wherein the fabric is to receive a clock of frequency f, and wherein at least one of the n separate pipelines is to receive a clock of frequency f/n.

10. The apparatus of claim 1 , wherein the fabric comprises an uncore fabric.

11. A system on chip, comprising:

a requesting agent;

a memory;

a peripheral interface; and

a fabric to communicatively couple the requesting agent to the memory and the peripheral interface, the fabric having a divided clock and an undivided clock and

comprising a functional block divided into n separate pipelines, wherein the pipelines are to operate independently of one another to service mutually-exclusive address spaces, and to be tightly coupled to one another via a shared ordering block;

wherein the pipelines are to receive the divided clock and the ordering block is to receive both the divided clock and the undivided clock and is configured to preserve ordering for the requesting agent.

12. The system on chip of claim 11 , wherein n=2.

13. The system on chip of claim 11 , further comprising n memory control interfaces to control n independent memory blocks, wherein each memory control interface is to communicatively couple to exactly one pipeline.

14. The system on chip of claim 11 , further comprising a demultiplexer to receive a request from a requesting agent and direct it to one of the n separate pipelines.

15. The system on chip of claim 11 , further comprising an aggregator to receive a resource from each separate pipeline, and to direct the resource to a requesting agent.

16. The system on chip of claim 11 , further comprising a pipeline tracker to indicate which separate pipeline provides a resource to a requesting agent.

17. The system on chip of claim 11 , further comprising a pipeline tracker to indicate which separate pipeline is to receive a response from a requesting agent.

18. The system on chip of claim 11 , further comprising a selection logic to receive a memory access request from a requesting agent and to deterministically assign the request to one separate pipeline.

19. The system on chip of claim 11 , wherein the fabric is to receive a clock of frequency f, and wherein at least one of the n separate pipelines is to receive a clock of frequency f/n.

20. At least one non-transitory machine accessible storage medium having code stored thereon, the code when executed on a machine, causes the machine to:

receive a memory access request from a requesting agent; and

direct the memory access request to a functional block of one of n separate pipelines of a shared memory fabric, the fabric having a divided clock and an undivided clock, wherein the n separate pipelines are independent of one another to service mutually-exclusive address spaces, and tightly coupled to one another via a shared ordering block;

wherein the pipelines are to receive the divided clock and the ordering block is to receive both the divided clock and the undivided clock and is configured to preserve ordering for the requesting agent.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2015
From: NAGARAJAN, RAMADASS; KLINGLESMITH, MICHAEL T.; RAY, JOYDEEP
To: INTEL CORPORATION
Reel/Frame 035443/0199 →
Continuity (1)
Related Publication 20160188499A1 · Jun 30, 2016