System and methods for cache coherent system using ownership-based scheme
AssigneeHuawei Technologies Co., Ltd.
InventorsLouis-Philippe Hamelin, Chang Hoon Lee, John Edward Vincent, Olivier D'Arcy, Guy-Armand Kamendje Tchokobou
Life of this patent
Estimating the term…
Abstract
A computer system includes a first core including a first local cache and a second core including a second local cache. The first core and the second core are coupled through a remote link. A shared cache coupled to the first core and to the second core. The shared cache includes an ownership table that includes a plurality of entries indicating if a cache line is stored solely in the first local cache or solely in the second local cache. The remote link includes a first link between the first core and the shared cache and a second link between the second core and the shared cache.
Claims15
An apparatus comprising:
- a first core including a first local cache;
- a second core including a second local cache at a same cache layer as the first local cache, the first core and the second core coupled through a remote link, the first local cache accessible to the second core via a remote interface and the second local cache accessible to the first core via the remote interface;
- and
- a shared cache coupled to the first core and to the second core, a cache controller of the shared cache including a first ownership table memory (OTM) of the first core and a second ownership table memory (OTM) of the second core, the first ownership table memory and the second ownership table memory including a plurality of entries indicating if a cache line is owned solely by the first core or if the cache line is owned solely by the second core, wherein the cache line may only be simultaneously cached in one of the first local cache, the second local cache, or the shared cache, the cache line being cached in the first local cache when the first core is the owner of the cache line, the cache line being cached in the second local cache when the second core is the owner of the cache line.
A method for accessing data in a remote cache of a computer system, by a cache controller of a shared cache, the method comprising:
- receiving, from a first core of the computer system, a request for a cache line;
- searching an ownership table memory (OTM) for an owner of the cache line, the owner being one of a plurality of cores of the computer system, the OTM being associated with a second core of the computer system;
- retrieving the cache line from a location indicated by the OTM;
- sending the cache line to the first core;
- and
- wherein the first core includes a first local cache, a second core includes a second local cache at a same cache layer as the first local cache, the first core and the second core are coupled through a remote link, and the shared cache is coupled to the first core and to the second core, the cache controller of the shared cache includes a first OTM of the first core and a second OTM of the second core, the first OTM and the second OTM including a plurality of entries indicating if the cache line is owned solely by the first core or if the cache line is owned solely by the second core, wherein the cache line may only be simultaneously cached in one of the first local cache, the second local cache, or the shared cache, the cache line being cached in the first local cache when the first core is the owner of the cache line, the cache line being cached in the second local cache when the second core is the owner of the cache line.
Dependencies are inferred from the claim text.