Cache management strategies are described for retrieving information from
a storage medium, such as an optical disc, using a cache memory including
multiple cache segments. A first group of cache segments can be devoted
to handling the streaming transfer of a first type of information, and a
second group of cache segments can be devoted to handling the bulk
transfer of a second type of information. A host system can provide
hinting information that identifies which group of cache segments that a
particular read request targets. A circular wrap-around fill strategy can
be used to iteratively supply new information to the cache segments upon
cache hits by performing pre-fetching. Various eviction algorithms can be
used to select a cache segment for flushing and refilling upon a cache
miss, such as a least recently used (LRU) algorithm or a least frequently
used (LFU) algorithm.