Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
First Claim
1. In a multiple-cluster computer system in which a cluster includes a processor and a local memory and wherein said local memory is part of a system address space of said computer system, such that said local memory is accessible by said processor and by resources remote to said cluster, an apparatus for controlling accesses to said local memory comprising:
- a local memory controller coupled to said processor and to said local memory and being configured to control accesses to said local memory by said processor;
a cluster controller coupled to said local memory controller and to said resources remote to said cluster and being configured to control accesses to said local memory by said resources;
said cluster controller including a look-up table of local memory locations which can be accessed by said remote resources, said look-up table including a portion which stores address tags associated with said local memory locations access by a remote resource to a first location in said local memory being permitted when said first location is not being accessed by another remote resource;
said cluster controller being further configured to arbitrate for access to said local memory from said local memory controller in response to an access request by said remote resource;
said cluster controller also being configured to control access to said local memory by said processor via said local memory controller, wherein an attempted access by said processor to a location in said local memory is permitted when said location is not being accessed by one of said remote resources;
a data cache which contains data accessed from locations remote to said cluster for use by said processor, wherein said cluster controller is further configured to obtain data from remote locations when requested by said processor and to retain address of said remote locations of data stored in said data cache, such that data from remote location are stored in said data cache for use by said processor.
0 Assignments
0 Petitions
Accused Products
Abstract
A cluster controller for controlling access to local memory and remote data cache in a multiple cluster computer system. In a multiple cluster computer system, a local memory in a cluster is part of the overall system address space. In order to manage local access as well as remote access to the local memory, the cluster controller maintains the responsibility of arbitrating the access to memory. Likewise, data from remote memory stored in the remote data cache is controlled by the cluster controller.
24 Citations
8 Claims
-
1. In a multiple-cluster computer system in which a cluster includes a processor and a local memory and wherein said local memory is part of a system address space of said computer system, such that said local memory is accessible by said processor and by resources remote to said cluster, an apparatus for controlling accesses to said local memory comprising:
-
a local memory controller coupled to said processor and to said local memory and being configured to control accesses to said local memory by said processor; a cluster controller coupled to said local memory controller and to said resources remote to said cluster and being configured to control accesses to said local memory by said resources; said cluster controller including a look-up table of local memory locations which can be accessed by said remote resources, said look-up table including a portion which stores address tags associated with said local memory locations access by a remote resource to a first location in said local memory being permitted when said first location is not being accessed by another remote resource; said cluster controller being further configured to arbitrate for access to said local memory from said local memory controller in response to an access request by said remote resource; said cluster controller also being configured to control access to said local memory by said processor via said local memory controller, wherein an attempted access by said processor to a location in said local memory is permitted when said location is not being accessed by one of said remote resources; a data cache which contains data accessed from locations remote to said cluster for use by said processor, wherein said cluster controller is further configured to obtain data from remote locations when requested by said processor and to retain address of said remote locations of data stored in said data cache, such that data from remote location are stored in said data cache for use by said processor. - View Dependent Claims (2, 3, 4)
-
-
5. In a multiple-cluster computer system in which a cluster includes a processor and a local memory and wherein said local memory is part of a system address space of said computer system, such that said local memory is accessible by said processor and by resources remote to said cluster, a method of controlling accesses to said local memory, comprising the steps of:
-
receiving, by a cluster controller associated with said cluster, an access request to a memory location from a resource remote to said cluster, said cluster controller having a look-up table which includes address tags associated with locations of said local memory previously accessed by said resources remote to said cluster; consulting said look-up table to determine whether said memory location has been accessed by said resource; denying said access request if said memory location has been previously accessed by said resource otherwise, arbitrating for access to said local memory by said resource via a memory controller coupled to said local memory; controlling access of said local memory by said processor by utilizing said look-up table in said cluster controller, wherein an access by said processor to a certain memory location in said local memory is first checked by said cluster controller and said cluster controller permits said local memory controller to allow said access only when said certain memory location is not being accessed by one of said resources remote to said cluster, such that access conflicts to said local memory by said processor and said resources remote to said cluster are controlled; permitting, by said cluster controller an access by said processor to a certain memory location in said local memory when said certain memory location is not accessed by one of said resources. - View Dependent Claims (6, 7, 8)
-
Specification