IP Library › Granted Patent US 11,269,793
Granted Patent B2
US 11,269,793 · App. 16/937,499 · Granted Mar 8, 2022

High performance interconnect

Inventors: Robert J. Safranek (Portland, OR); Robert G. Blankenship (Tacoma, WA); Venkatraman Iyer (Austin, TX); Jeff Willey (Timnath, CO); Robert Beers (Hillsboro, OR); Darren S. Jue (Sunnyvale, CA); Arvind A. Kumar (Beaverton, OR); Debendra Das Sharma (Saratoga, CA); Jeffrey C. Swanson (Sunnyvale, CA); Bahaa Fahim (Santa Clara, CA); Vedaraman Geetha (Fremont, CA); Aaron T. Spink (San Francisco, CA); Fulvio Spagna (San Jose, CA); Rahul R. Shah (Marlborough, MA); Sitaraman V. Iyer (San Jose, CA); William Harry Nale (Livermore, CA); Abhishek Das (Portland, OR); Simon P. Johnson (Beaverton, OR); Yuvraj S. Dhillon (Hillsboro, OR); Yen-Cheng Liu (Portland, OR); Raj K. Ramanujan (Federal Way, WA); Robert A. Maddox (Columbia, SC); Herbert H. Hum (Portland, OR); Ashish Gupta (Chandler, AZ)
Assignee: Intel Corporation
G06F13/22G06F1/3287G06F8/71G06F8/77G06F9/30145G06F9/44505G06F9/466G06F11/1004G06F12/0806G06F12/0808G06F12/0813G06F12/0815G06F12/0831G06F12/0833G06F13/4022G06F13/4068G06F13/4221G06F13/4282G06F13/4286G06F13/4291H04L9/0662H04L49/15G06F8/73G06F13/4273G06F2212/1016G06F2212/2542G06F2212/622H04L12/4641H04L45/74Y02D10/00Y02D30/00
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,269,793
App. No.
16/937,499
Granted
Mar 8, 2022
Kind
B2
Abstract

A physical layer (PHY) is coupled to a serial, differential link that is to include a number of lanes. The PHY includes a transmitter and a receiver to be coupled to each lane of the number of lanes. The transmitter coupled to each lane is configured to embed a clock with data to be transmitted over the lane, and the PHY periodically issues a blocking link state (BLS) request to cause an agent to enter a BLS to hold off link layer flit transmission for a duration. The PHY utilizes the serial, differential link during the duration for a PHY associated task selected from a group including an in-band reset, an entry into low power state, and an entry into partial width state.

Claims (62)

1. An apparatus comprising:

a first system component comprising:

a memory comprising non-volatile memory;

an interface to couple to a second system component via a link, wherein the link comprises a set of physical lanes, and the link supports a cache-coherent protocol;

a protocol engine for the cache-coherent protocol, the protocol engine to:

receive a set of write requests to update data at addresses of the non-volatile memory;

receive a message, wherein the message comprises:

an opcode to identify the message as a persistent memory flush request for flushing the non-volatile memory,

a destination identifier to identify a destination of the message, and

a requester identifier to identify a source of the message; and

a memory controller to support coherent management of data in the memory in association with the cache-coherent protocol, wherein the memory controller is to:

update the non-volatile memory, responsive to the persistent memory flush request, to complete all outstanding writes in the set of write requests.

2. The apparatus of claim 1 , wherein the protocol engine is further to send a response to the second system component to indicate completion of the persistent memory flush request.

3. The apparatus of claim 2 , wherein the protocol engine is to send the response to guarantee that the update is performed or in process of being performed.

4. The apparatus of claim 1 , wherein completion of the outstanding writes causes data of the non-volatile memory to be modified based on the set of write requests.

5. The apparatus of claim 1 , further comprising a coherency agent to determine coherency state of data in the memory.

6. The apparatus of claim 1 , wherein the persistent memory flush request is based on a power-down event.

7. An apparatus comprising:

a first system component comprising:

an interface to couple to a second system component via a link, wherein the link comprises a plurality of physical lanes, and the link supports a cache-coherent protocol;

protocol circuitry to:

send a message to the second system component over the link, wherein the message comprises:

an opcode to identify the message as a persistent memory flush request,

a destination identifier to identify the second system component, and

a source identifier to identify the first system component, wherein the persistent memory flush request requests the second system component to complete all outstanding writes to persistent memory of the second system component based on the persistent memory flush request; and

receive a response to the message from the second system component over the link, wherein the response indicates completion of the persistent memory flush request.

8. The apparatus of claim 7 , wherein the first system component is to send at least one write in a set of write requests to the second system component over the link to update data at addresses of the non-volatile memory, and the outstanding writes comprise at least one request from the set of write requests.

9. The apparatus of claim 7 , wherein the outstanding writes comprise a plurality of outstanding writes.

10. The apparatus of claim 9 , wherein the outstanding writes comprise writes to a plurality of different addresses in the non-volatile memory.

11. The apparatus of claim 7 , wherein the persistent memory flush request is broadcast to a plurality of system components including the second system component.

12. The apparatus of claim 7 , further comprising a home agent.

13. A method comprising:

receiving a set of write requests to update data at addresses of a non-volatile memory of a first component, wherein the set of write requests are received over a link, the first component is coupled to a second component by the link, the link comprises a plurality of physical lanes, and the link supports a cache-coherent protocol;

receiving a message comprising:

an opcode to identify the message as a persistent memory flush request for flushing the non-volatile memory,

a destination identifier to identify a destination of the message, and

a requester identifier to identify a source of the message; and

updating the non-volatile memory to complete all outstanding writes in the set of write requests based on the persistent memory flush request.

14. The method of claim 13 , further comprising sending a response to the second system component to indicate completion of the persistent memory flush request.

15. A method comprising:

sending a message from a first component to a second component over a link, wherein the link couples the first component and second component, the link comprises a set of physical lanes, and the link carried data according to a cache-coherent protocol, and wherein the message comprises:

an opcode to identify the message as a persistent memory flush request,

a destination identifier to identify the second component, and

a source identifier to identify the first component, wherein the persistent memory flush request requests the second component to complete all outstanding writes to persistent memory of the second component based on the persistent memory flush request; and

receiving a response to the message from the second component over the link, wherein the response indicates completion of the persistent memory flush request.

16. The method of claim 15 , further comprising sending a write request to the second component over the link, wherein the outstanding writes comprise the write request.

17. A system comprising:

a first device; and

a second device coupled to the first device by a link, wherein the link comprises a set of physical lanes, and the link supports a cache-coherent protocol, wherein the second device comprises:

a memory comprising non-volatile memory;

a protocol engine for the cache-coherent protocol, the protocol engine to:

receive a set of write requests to update data at addresses of the non-volatile memory;

receive a message from the first device over the link, wherein the message comprises:

an opcode to identify the message as a persistent memory flush request for flushing the non-volatile memory,

a destination identifier to identify a destination of the message, and

a requester identifier to identify a source of the message; and

a memory controller to support coherent management of data in the memory, wherein the memory controller is to:

update the non-volatile memory, responsive to the persistent memory flush request, to complete all outstanding writes in the set of write requests.

18. The system of claim 17 , wherein the second device comprises a processor.

19. The system of claim 17 , wherein the second device comprises an accelerator.

20. The system of claim 17 , wherein the second device comprises a graphics device.

21. The system of claim 17 , wherein the first device comprises a system on chip (SoC).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2023
From: SAFRANEK, ROBERT J.; BLANKENSHIP, ROBERT G.; IYER, VENKATRAMAN; WILLEY, JEFF; BEERS, ROBERT; JUE, DARREN S.; KUMAR, ARVIND A.; SHARMA, DEBENDRA DAS; SWANSON, JEFFREY C.; FAHIM, BAHAA; GEETHA, VEDARAMAN; SPINK, AARON T.; SPAGNA, FULVIO; SHAH, RAHUL R.; IYER, SITARAMAN V.; NALE, WILLIAM HARRY; DAS, ABHISHEK; JOHNSON, SIMON P.; DHILLON, YUVRAJ S.; LIU, YEN-CHENG; RAMANUJAN, RAJ K.; MADDOX, ROBERT A.; HUM, HERBERT H.; GUPTA, ASHISH
To: INTEL CORPORATION
Reel/Frame 065317/0788 →
Continuity (5)
Continuation 16285035 · Feb 25, 2019
Continuation 15393153 · Dec 28, 2016
Continuation 14060191 · Oct 22, 2013
Provisional Application 61717091 · Oct 22, 2012
Related Publication 20200356502A1 · Nov 12, 2020
Cited By (1)
US 12,645,379