IP Library Granted Patent US 7,664,900
Granted Patent B2
US 7,664,900 · App. 10/586,153 · Granted Feb 16, 2010

Multiprocessor system and method for processing memory access

Assignees: NEC Corporation; NEC Computertechno, Ltd.
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,664,900
App. No.
10/586,153
Granted
Feb 16, 2010
Kind
B2
Abstract

When receiving a write message associated with data, an input/output controller issues a write-request message to a home processor node which holds the data in a memory. When receiving the write-request message, a memory controller in the processor node executes a consistency process on the basis of information, regarding the state of the data, stored in a directory, and sends a write-permission message to the input/output controller which has issued the write-request message. In response to the received write-permission message, the input/output controller in an input/output node issues an update message, serving as a write message, to the home processor node. In response to the received update message, the memory controller in the process node updates the data in the main memory. In the above process, when receiving a plurality of write messages from input/output devices, the input/output controller issues write-request messages irrespective of the progress of a preceding write message. After the preceding write message is issued, the input/output controller issues the write messages.

Claims (82)

1. A processor system comprising a plurality of resource nodes connected to a network, a plurality of control nodes connected to the network, and a plurality of controllers, wherein

each of the resource nodes includes a resource holding unit for holding a plurality of resources and a resource information holding unit for managing the states of the resources, each state indicating that the corresponding resource is in a free or locked state,

each of the control nodes includes a plurality of control devices for issuing a plurality of requests associated with resources, each control node, including the control devices which have issued requests, transferring the requests to the corresponding controller, and wherein

at least one controller, which has received the requests, issues a request message to each of resource nodes which hold target resources associated with the requests,

each resource node which has received the request message checks that the target resource is in the free state, and if the target resource is in the free state, changes the state of the target resource to the locked state, and issues a permission message to the at least one controller,

the at least one controller, which has received the permission message, checks that all of permission messages associated with other requests preceding the corresponding request received by the at least one controller have already been received and issues an update message to the resource node which holds the target resource associated with the corresponding request, and

the resource node which has received the update message changes the state of the target resource to the free state.

2. The processor system according to claim 1 , herein

the controllers are included in the control nodes, respectively, and

the controller in each control node includes a selector for arranging the requests issued by the control devices in the control node.

3. The processor system according to claim 1 , wherein

the controllers are connected to the network, and

each control node includes a selector for arranging the requests issued by the control devices in the control node.

4. The processor system according to claim 1 , wherein

the controllers are included in the resource nodes, respectively, and

each control node includes a selector for arranging the requests issued by the control devices in the control node.

5. The processor system according to claim 1 , wherein

the resource nodes and the control nodes are combined into a plurality of nodes, respectively, and

each node includes a selector for arranging the requests issued by the control devices in the node.

6. The processor system according to any one of claim 1 wherein

each controller includes a release processing unit,

each resource node which has received the request message issues a release-request message to the at least one controller when the target resource is in the locked state,

the release processing unit in the at least one controller starts a release process in response to the received release-request message,

the release process includes:

issuing a request message for the request corresponding to the release-request message;

stopping accepting of a new request; and

issuing a release message to each of resource nodes which hold target resources associated with requests following the corresponding request when permission messages associated with the following requests have already been received or are received during the release process,

the release processing unit terminates the release process when receiving a permission message corresponding to the release-request message, and

the resource node which has received the release message changes the state of the target resource to the free state.

7. The processor system according to any one of claim 1 , wherein

each state managed by the resource information holding unit includes an interruptible locked state and a request-locked state,

the at least one controller, which has received the request, issues a weak request message when all of permission messages associated with other requests preceding the request received by the at least one controller have not yet been received,

the resource node which has received the weak request message checks that the target resource is in the free state, changes the state of the target resource to the interruptible locked state, and issues a permission message to the at least one controller,

the interruptible locked state includes information to specify the at least one controller,

the resource node which has received the request message issues an inhibition message to the at least one controller when the target resource is in the locked state,

the resource node which has received the weak request message issues an inhibition message to the at least one controller when the target resource is in the locked state or the interruptible locked state,

the at least one controller which has received the inhibition message issues, for the request corresponding to the inhibition message, a request message when all of permission messages associated with other requests preceding the request have already been received, or issues a weak request message when all of the permission messages have not yet been received,

when the target resource is in the interruptible locked state, the resource node which has received the request message changes the state of the target resource to the request-locked state and then outputs a retry-request message to a controller designated by the information included in the interruptible locked state,

the controller which has received the retry-request message executes a retry process,

the retry process includes:

specifying a request associated with the target resource;

issuing a release message to the resource node which holds the target resource associated with the specified request; and

changing the state of the specified request to a state in which a permission message associated therewith has not yet been received when an update message has not yet been issued in response to the specified request, and issuing a request message when all of permission messages associated with other requests preceding the specified request received by the controller have already been received, or issuing a weak request message when all of the permission messages have not yet been received, and

the resource node which has received the release message changes the state of the target resource to the locked state and issues a permission message to the at least one controller.

8. A method for processing access, the method being applied to a processor system including a plurality of resource nodes connected to a network, a plurality of control nodes connected to the network, and a plurality of controllers, each of the resource nodes including a resource holding unit for holding a plurality of resources and a resource information holding unit for managing the states of the resources, each state indicating that the corresponding resource is in a free or locked state, each of the control nodes including a plurality of control devices for issuing a plurality of requests associated with resources, wherein:

the control device transfers requests to at least one corresponding controller;

the at least one controller issues, in response to the request, a request message to each resource node which holds the target resource associated with the corresponding request,

the resource node checks, in response to the request message, whether the target resource is in the free state, and if the target resource is in the free state, changes the state of the target resource to the locked state, and issues a permission message to the at least one controller;

the at least one controller checks, in response to the permission message, whether all of permission messages associated with other requests preceding the corresponding request received by the at least one controller have already been received and issues an update message to the resource node which holds the target resource associated with the corresponding request; and

the resource node changes, in response to the update message, the state of the target resource to the free state.

9. The method for processing access according to claim 8 , further comprising the step of:

arranging the requests issued by the control devices in each control node.

10. The method for processing access according to claim 8 , further comprising the steps of:

combining the resource nodes and the control nodes into a plurality of nodes, respectively; and

arranging the requests issued by the control devices in each node.

11. The method for processing access according to claim 8 , further comprising the steps of:

in response to the request message to the resource node, issuing a release-request message to the at least one controller when the state of the target resource is in the locked state; and

starting a release process in the at least one controller which has received the release-request message, wherein

the release process includes the substeps of:

issuing a request message to the request corresponding to the release-request message;

stopping accepting of a new request; and

issuing a release message to each of resource nodes which hold target resources associated with requests following the corresponding request when permission messages associated with the following requests have already been received or are received during the release process, and

the method further includes the step of terminating the release process in the at least one controller which has received a permission message sent in response to the request corresponding to the release-request message; and

changing, in response to the release message to the resource node, the state of the target resource to the free state.

12. The method for processing access according to claim 8 , wherein

each state managed by the resource information holding unit includes an interruptible locked state and a request-locked state,

the method further comprises the steps of:

in response to the request, issuing, by the at least one controller, a weak request message when all of permission messages associated with other requests preceding the corresponding request have not yet been received; and

in response to the weak request message, checking, by the resource node, whether the target resource is in the free state, changing the state of the target resource to the interruptible locked state, and issuing a permission message to the at least one controller,

the interruptible locked state includes information to specify the at least one controller,

the method further includes the steps:

in response to the request message, issuing, by the resource node, an inhibition message to the at least one controller when the target resource is in the locked state;

in response to the weak request message, issuing, by the resource node, an inhibition message to the at least one controller when the target resource is in the locked state or the interruptible locked state;

in response to the inhibition message, issuing, by the at least one controller, a request message for the request corresponding to the inhibition message when all of permission messages associated with other requests preceding the corresponding request have already been received, or issuing a weak request message when all of the permission messages have not yet been received;

in response to the request message, changing, by the resource node, the state of the target resource to the request-locked state when the target resource is in the interruptible locked state, and outputting a retry-request message to a controller designated by the information included in the interruptible locked state; and

in response to the retry request message, executing, by the controller, a retry process,

the retry process comprises the substeps of:

specifying a request associated with the target resource;

issuing a release message to the resource node which holds the target resource associated with the specified request; and

changing the state of the specified request to a state in which a permission message associated therewith has not yet been received when an update message has not yet been issued in response to the specified request, and issuing a request message when all of permission messages associated with other requests preceding the specified request received by the controller have already been received, or issuing a weak request message when all of the permission messages have not yet been received, and

the method further includes the step of:

in response to the release message, changing, by the resource node, the state of the target resource to the locked state and issuing a permission message to the at least one controller.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Feb 5, 2015
From: NEC COMPUTERTECHNO, LTD.; NEC INFRONTIA CORPORATION
To: NEC PLATFORMS, LTD.
Reel/Frame 034893/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2007
From: HOSOMI, TAKEO; WATANABE, YOSHIAKI
To: NEC CORPORATION; NEC COMPUTERTECHNO, LTD.
Reel/Frame 019623/0656 →
Priority Claims (1)
JP 2004-197296 · Jul 2, 2004 · national
Continuity (1)
Related Publication 20080244134A1 · Oct 2, 2008