A system for the detection and support of data streams is disclosed. The system
determines whether new commands comprise a data stream. If a new data stream is
detected, the system next determines whether adequate resources are available to
launch the new data stream. If the system determines that the data stream can be
launched, system resources, particularly cache memory space, are assigned to the
data stream to provide the data stream with the necessary amount of data throughput
needed to support the data stream efficiently. The data stream's throughput is
the amount of data that the stream requires per unit time. The system monitors
all supported data streams to determine when a particular data stream has terminated,
at which time resources dedicated to the data stream are released and become available
to support other data streams. The cache for each supported data stream is maintained
at as full a level as possible, with the cache for the "least full" data stream
given priority for refresh. Allocating resources by throughput allows for more
efficient resource utilization.