A cache system and method for configuring and accessing a cache that
enables a binary-sized memory space to be efficiently shared amongst cache
and non-cache uses. A storage device is provided having a plurality of
blocks where each block is identified with a block address. An access
request identifies a target block address. The target block address
includes an upper portion and a lower portion. A non-binary divide is
performed on the upper portion to produce a quotient and a remainder. The
remainder portion is combined with the lower portion to create an index.
The index is applied to a tag memory structure to select an entry or set
of entries in the tag memory structure. The content of the selected entry
is compared to the quotient portion to determine if the target block is
represented in the cache.