IP Library Granted Patent US 7,174,437
Granted Patent B2
US 7,174,437 · App. 10/687,196 · Granted Feb 6, 2007

Memory access management in a shared memory multi-processor system

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 7,174,437
App. No.
10/687,196
Granted
Feb 6, 2007
Kind
B2
Abstract

In one embodiment, an apparatus includes a requester node to transmit a request for data in a memory. The apparatus also includes a service node that includes the memory. The service node receives the request for the data, wherein the service node is to set a congestion flag in response to the request sent back to the requester node upon determining that access to the data is congested. The requester node is to freeze priority updates for the data upon receipt of the congestion flag.

Claims (58)

1. An apparatus comprising:

a requester logic to transmit a request for a resource to a service node, the request having a priority, wherein the requester logic is to set the priority of the request, the service node to mark the resource as congested, if the priority of the request is of a highest priority and the request is denied access to the resource, wherein the requester logic is to receive a response to the request from the service node, the requester logic to cause a freeze to priority updates of other requests for the resource upon determining that access to the resource is congested.

2. The apparatus of claim 1 , wherein the requester logic is to store the priority of the request and a time that the request has awaited service by the service node.

3. The apparatus of claim 1 further comprising a request buffer to store the request until the resource is accessed for the request.

4. The apparatus of claim 3 , wherein the priority of the request is based on an elapsed time since the request is stored in the request buffer.

5. The apparatus of claim 1 , wherein the requester logic is to freeze updates of priorities of requests for other resources in the service node if the service node is congested.

6. A service node comprising:

a memory to store a number of lines of data;

a starvation control list; and

a server logic to receive requests for a line of data of the number of lines of data, the server logic to determine if access to the line of data is congested, the server logic to store an entry associated with the line of data in the starvation control list if access to the line of data is congested.

7. The service node of claim 6 , wherein the access to the line of data is congested if one of the requests having a highest priority is denied access to the line of data.

8. The service node of claim 6 , wherein the server logic is to mark the service node as congested if a number of valid entries in the starvation control list exceeds a threshold.

9. The service node of claim 6 , wherein the access to the line of data is congested if a number of requests of a highest priority and of a second highest priority, which are denied access to the line of data, exceed a threshold.

10. An apparatus comprising:

a requester node to transmit a request for data in a memory; and

a service node that includes the memory, the service node to receive the request for the data, wherein the service node is to set a congestion flag in response to the request sent back to the requester node upon determining that access to the data is congested, wherein the requester node is to freeze priority updates for the data upon receipt of the congestion flag.

11. The apparatus of claim 10 , wherein the service node is to determine that access to the data is congested upon determining that the request is of a highest priority and the service node cannot access the data for the request from the requester node.

12. The apparatus of claim 10 , wherein the service node is to determine that access to the data is congested upon determining that the service node cannot access the data for a number of requests of a highest priority and of a second highest priority that exceed a threshold.

13. The apparatus of claim 10 , wherein the requester logic is to freeze updates of priorities of requests for other data in the memory if the service node is congested.

14. The apparatus of claim 10 , wherein the requester node comprises a request buffer to store the request until the request is accepted, wherein a priority for the request is based on an elapsed time since the request is stored in the request buffer.

15. The apparatus of claim 10 , wherein the service node includes a starvation control list, the service node to store an entry associated with the data in the starvation control list if the request for the data is of a highest priority and if access to the data is congested.

16. The apparatus of claim 15 , wherein the service node is congested if a number of valid entries in the starvation control list exceeds a threshold.

17. A system comprising:

an interconnection network; and

a number of nodes coupled together through the interconnection network, wherein a first node of the number of nodes comprises:

a memory to store a number of lines of data; and

a hub that includes a server logic to receive, through the interconnection network, a request from a second node of the number of nodes for a line of data of the number of lines of data, wherein the server logic is to preclude other nodes of the number of nodes from increasing priority of requests to the line of data, if the request is of a highest priority and, if, in response to the request, the server logic is to transmit a negative acknowledgement response.

18. The system of claim 17 , wherein the line of data is congested if the request is of the highest priority and the server logic is to transmit a negative acknowledgement response, in response to the request.

19. The system of claim 18 , wherein the server logic is to store an entry associated with the line of data in a starvation control list upon determining that access to the line of data is congested if the request is of a highest priority or of a second highest priority.

20. The system of claim 17 , wherein the server logic is to mark the first node as congested if a number of valid entries in the starvation control list exceeds a threshold.

21. The system of claim 17 , wherein access to the line of data is congested if a number of outstanding requests of a highest priority and of a second highest priority, which are denied access to the line of data, exceed a threshold.

22. A system comprising:

an interconnection network; and

a number of nodes coupled together through the interconnection network, wherein a requester node of the number of nodes comprises:

a number of processors, wherein one of the number of processors is to generate a request for data in a memory; and

a processor interface, wherein the processor interface comprises:

a request buffer; and

a requester logic to transmit the request having a priority to a service node of the number of nodes, the service node to send a response to the requester node to cause the requester logic to freeze priorities of other requests for the data if access to the data is congested.

23. The system of claim 22 , wherein access to the data is congested if the priority of the request is of a highest priority and, if, in response to the request, the service node denies access to the data.

24. The system of claim 22 , wherein the requester logic is to store an entry for the request into the request buffer until the resource is accessed for the request.

25. The system of claim 22 , wherein the requester logic is to store, in the request buffer, the priority of the request, an indication of how long the request has been awaiting service and an indication of whether the service node is congested into the entry.

26. The system of claim 22 , wherein the requester logic is to freeze updates of priorities of requests for other data in the memory if the service node is congested.

27. The system of claim 22 , wherein the priority of the request is based on an elapsed time since the request was accepted into the request buffer.

28. A method comprising:

receiving a request for data in a memory, the request having a priority;

transmitting the request to a service node that includes the memory; and

updating priorities of other requests for the data if the data is not congested, wherein updating priorities of other requests for the data if the data is not congested comprises freezing updates of priorities of other requests for the data upon determining that the priority of the request is of a highest priority and the request is denied.

29. The method of claim 28 further comprising updating priorities of requests for other data in the memory if the service node is not congested.

30. The method of claim 28 , wherein the priority of the request is based on an elapsed time since the request was accepted for storage into a request buffer.

31. A method comprising:

receiving a number of requests for a line of data in a service node;

transmitting a positive acknowledgment to a request of the number of requests upon determining that the line of data is accessible;

transmitting a negative acknowledgement to a request of the number of requests upon determining that the line of data is not accessible;

freezing updates of priorities of the requests if one of the requests is of a highest priority and is denied access to the line of data; and

freezing updates of priorities of the requests if a number of the requests of the highest priority and of a second highest priority that are denied access to the line of data exceed a threshold.

32. The method of claim 31 , further comprising freezing updates of priorities of the requests if the server node is congested.

33. The method of claim 31 , further comprising storing an entry of a number of entries for the line of data into a starvation control list if a request of the number of requests is of a highest priority or of a second highest priority and is the line of data is not accessible.

34. The method of claim 33 , further comprising marking the service node as congested upon determining that the number of valid entries in the starvation control list exceeds a threshold.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
ORDER...AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 26, 2016
From: WELLS FARGO FOOTHILL CAPITAL, INC.
To: SILICON GRAPHICS INC.
Reel/Frame 039480/0846 →
ORDER...AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 26, 2016
From: MORGAN STANLEY & CO., INCORPORATED
To: SILICON GRAPHICS, INC.
Reel/Frame 039482/0015 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
CHANGE OF NAME Recorded Apr 18, 2014
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 032714/0230 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2014
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 032714/0032 →
MERGER Recorded Apr 18, 2014
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 032714/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2012
From: SILICON GRAPHICS, INC. ET AL.; SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL, CORP.
Reel/Frame 027727/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: GENERAL ELECTRIC CAPITAL CORPORATION
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 019995/0895 →
SECURITY INTEREST Recorded Oct 24, 2006
From: SILICON GRAPHICS, INC.
To: GENERAL ELECTRIC CAPITAL CORPORATION
Reel/Frame 018545/0777 →
SECURITY AGREEMENT Recorded Aug 19, 2005
From: SILICON GRAPHICS, INC. AND SILICON GRAPHICS FEDERAL, INC. (EACH A DELAWARE CORPORATION)
To: WELLS FARGO FOOTHILL CAPITAL, INC.
Reel/Frame 016871/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2003
From: KACZYNSKI, TOMASZ
To: SILICON GRAPHICS, INC.
Reel/Frame 014612/0900 →