Patent ID: 6151663
Filing Date: 2000-11-21
Classification: G06F

Abstract:
In a multiple-cluster computer system in which a cluster includes a plurality of processors and a local memory all coupled to a cluster bus 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 processors and by resources remote to said cluster, an apparatus for controlling accesses to said local memory comprising:a local memory controller coupled to said cluster bus and said local memory and being configured to control accesses to said local memory by said processors;a cluster controller coupled to said cluster bus and to said resources remote to said cluster and being configured to control accesses to said local memory by said resources remote to said cluster;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 given location in said local memory being permitted when said given 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 processors via said local memory controller, wherein an attempted access by said processors to a location in said local memory is permitted when said location is not being accessed by one of said remote resources; anda data cache containing data accessed from locations remote to said cluster for use by said processors, wherein said cluster controller is further configured to obtain data from remote locations when so requested by said processors and to retain addresses of said remote locations of data stored in said data cache, such that data from said remote locations is stored in said data cache for use by said processors.