Compression status bit cache and backing store
First Claim
1. A plurality of intermediate caches coupled to one or more clients, each intermediate cache comprising:
- a compression status bit cache configured to cache compression information for blocks of memory stored within a corresponding one of a plurality of portions of external memory; and
a data cache unit configured to request, in response to a cache miss in the data cache unit involving a first memory access request received from a first client, compressed data from the corresponding one of the plurality of portions of external memory based on compression information associated with the first memory access request and stored in either the compression status bit cache or a data structure residing in the corresponding one of the plurality of portions of external memory, wherein the compression information indicates the number of bits that comprise the compressed data, and wherein the compressed data comprises a reduced set of data for representing the requested data,wherein each intermediate cache is coupled to the one or more clients via a memory crossbar and to the corresponding one of the plurality of portions of external memory, andwherein each intermediate cache is configured to access at least one data surface and the data structure storing compression information for and residing in the corresponding one of the plurality of portions of external memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A compression status bit cache provides on-chip availability of compression status bits used to determine how many bits are needed to access a potentially compressed block of memory. A backing store residing in a reserved region of attached memory provides storage for a complete set of compression status bits used to represent compression status of an arbitrarily large number of blocks residing in attached memory. Physical address remapping (“swizzling”) used to distribute memory access patterns over a plurality of physical memory devices is partially replicated by the compression status bit cache to efficiently integrate allocation and access of the backing store data with other user data.
-
Citations
24 Claims
-
1. A plurality of intermediate caches coupled to one or more clients, each intermediate cache comprising:
-
a compression status bit cache configured to cache compression information for blocks of memory stored within a corresponding one of a plurality of portions of external memory; and a data cache unit configured to request, in response to a cache miss in the data cache unit involving a first memory access request received from a first client, compressed data from the corresponding one of the plurality of portions of external memory based on compression information associated with the first memory access request and stored in either the compression status bit cache or a data structure residing in the corresponding one of the plurality of portions of external memory, wherein the compression information indicates the number of bits that comprise the compressed data, and wherein the compressed data comprises a reduced set of data for representing the requested data, wherein each intermediate cache is coupled to the one or more clients via a memory crossbar and to the corresponding one of the plurality of portions of external memory, and wherein each intermediate cache is configured to access at least one data surface and the data structure storing compression information for and residing in the corresponding one of the plurality of portions of external memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 24)
-
-
18. A computing device, comprising:
-
one or more clients; a plurality of intermediary caches, each intermediate cache including; a command crossbar configured to route a command associated with a first memory access request received from a first client, a data crossbar configured to route data associated with the first memory access request, a compression status bit cache configured to cache compression information for blocks of memory stored within a corresponding one of a plurality of portions of external memory, and a data cache unit configured to request, in response to a cache miss in the data cache unit, compressed data from the corresponding one of the plurality of portions of external memory based on compression information associated with the first memory access request and stored in either the compression status bit cache or a data structure residing in the corresponding one of the plurality of portions of external memory, wherein the compression information indicates the number of bits that comprise the compressed data, and wherein the compressed data comprises a reduced set of data for representing the requested data, wherein each intermediate cache is coupled to the one or more clients via a crossbar unit and to the corresponding one of the plurality of portions of external memory, and wherein each intermediate cache is configured to access at least one data surface and the data structure storing compression information for and residing in the corresponding one of the plurality of portions of external memory. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification