1. A method for reading information from an optical storage medium, comprising: providing a cache memory having multiple cache segments; filling an individual cache segment in a circular manner by wrapping around from an end of at least one cache segment to a beginning of the at least one cache segment; pointers in a pointer table to manage the at least cache segment, wherein the pointers define the beginning and the end of at least one cache segment; associating a pointer to identify locations for storing and retrieving information within the at least one cache segment; receiving a request for information stored on the optical storage medium; determining whether the requested information is stored in the at least one cache segments; retrieving the requested information from said one of the cache segments if the information is determined to be stored in the cache memory; retrieving the requested information from the optical storage medium itself if the information is determined not to be stored in the cache memory; and moving the pointer associated with the at least one of the cache segments to define a free cache space; wherein a rate of consumption in streaming transfer mode is slower than a rate at which information is retrieved; wherein in a bulk transfer mode, information is consumed as quickly as the information is retrieved.