摘要 |
A total amount, M, of memory is allocated over streaming data buffers ( 86 ). The memory is partitioned over a set of streams ( 88 ), each stream being given a partitioned amount of buffer memory. Scheduling is repeatedly performed during each filling/emptying cycle. The scheduling includes: spinning up a storage disk ( 80 ), filling/emptying each stream buffer by reading/writing from/to the storage disk until the respective stream buffer is full/empty, determining an earliest next spinning up time, putting the storage disk in standby mode, spinning down the storage disk, re-determining, at or just prior to the earliest next spinning up time, a new earliest spinning up time based on current buffer fullness, iteratively re-determining the new earliest spinning up time until the time is within a predetermined closeness to the previous time, or within a predetermined closeness to the current time, and waiting until the next earliest spinning up time, or just prior to that time.
|