# US 9,871,882 B1 · Optimized N-stream sequential media playback caching method and system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,871,882 B1
- Document ID: US9871882B1
- Status: Granted
- Kind: B1
- Application number: 14/146,194
- Filed: 2014-01-02
- Granted: 2018-01-16
- Earliest claimed: 2014-01-02
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: Arya Ahmadi-Ardakani
- Web page: https://patentgrep.com/patent/US9871882B1

## CPC

- G06F 1/3268: {Power saving in hard disk drive}
- H04L 67/5683: Storage of data provided by user terminals, i.e. reverse caching
- G06F 1/3275: {Power saving in memory, e.g. RAM, cache}
- G06F 3/0625: {Power saving in storage systems}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of caching data for a set of streams serviced from a data storage device, said method including receiving requests for a set of streams, determining a number of zones in a cache based on the number of streams requested, determining a respective consumption rate for each stream, and allocating the zones in the cache with respective sizes such that the zones are scheduled to be refreshed within a same active operation period of the data storage device.

## Claims

### Claim 1

A method of caching data for a set of streams serviced from a data storage device, said method comprising:
receiving, by a controller of the data storage device, requests for the set of streams;
determining, by the controller, a number of zones in a cache based on the number of streams requested;
determining, by the controller, a respective consumption rate for each stream, the respective consumption rate indicative of an amount of data consumed by a respective stream during a time period; and
configuring, by the controller, the zones in the cache with respective sizes based on the respective consumption rate for each stream, wherein:
data within the zones is scheduled to be consumed within a same active operation period of the data storage device;
the zones are scheduled to refresh within the same active operation period;
the data storage device is in a first power state during the same active operation period; and
the first power state uses more power than a second power state of the data storage device.

### Claim 2 (depends on 1)

The method of claim 1, wherein receiving requests for the set of streams comprises receiving requests for a multimedia stream.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the respective consumption rate for each stream comprises determining a bitrate based on a requested media playback bitrate.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining a current playback location for at least one of the streams;
retrieving a first amount of information prior to the current playback location; and
retrieving a second amount of information after the current playback location.

### Claim 5 (depends on 4)

The method of claim 4, wherein the first amount of information comprises 15% of the zone configured for the at least one stream.

### Claim 6 (depends on 4)

The method of claim 4, wherein the second amount of information comprises 85% of the zone configured for the at least one stream.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining an amount of time corresponding to consumption of information from the cache; and
modifying power consumption of the data storage device during the amount of time.

### Claim 8 (depends on 7)

The method of claim 7, wherein modifying power consumption of the data storage device comprises transitioning the data storage device to the second power state during consumption of information from the cache.

### Claim 9 (depends on 7)

The method of claim 7, wherein modifying power consumption of the data storage device comprises transitioning the data storage device from the second power state to the first power state responsive to reading data to refresh the configured zones during the same active operation period.

### Claim 10

A data storage device comprising:
a hardware network interface unit configured to provide a connection to at least one client requesting a set of streams;
a memory configured to provide requested files for the set of streams;
a hardware read cache configured with a set of zones for the set of streams; and
a processor configured to:
determine a consumption rate for each of the set of streams; and
configure each zone size based on the consumption rate of each respective stream, wherein:
data within the set of zones is scheduled to be consumed within a same active operation period of the memory;
the set of zones is scheduled to refresh within the same active operation period;
each consumption rate is indicative of an amount of data consumed by a respective stream during a time period;
the data storage device is in a first power state during the same active operation period; and
the first power state uses more power than a second power state of the data storage device.

### Claim 11 (depends on 10)

The data storage device of claim 10, wherein the processor is further configured to reduce power consumption for operating the memory for a period of time based on when the set of streams are serviced from the hardware read cache.

### Claim 12 (depends on 10)

The data storage device of claim 10, wherein the hardware network interface unit comprises a wireless network interface unit.

### Claim 13 (depends on 10)

The data storage device of claim 10, further comprising a battery.

### Claim 14 (depends on 10)

The data storage device of claim 10, wherein the processor is further configured to determine the consumption rate for each stream based on a requested media playback bitrate.

### Claim 15 (depends on 10)

The data storage device of claim 10, wherein the processor is further configured to:
determine a current playback location for at least one of the set of streams;
retrieve a first amount of information prior to the current playback location; and
retrieve a second amount of information after the current playback location.

### Claim 16 (depends on 10)

The data storage device of claim 10, wherein the processor is further configured to configure 15% of the zone for a first amount of information configured for the at least one stream.

### Claim 17 (depends on 10)

The data storage device of claim 10, wherein the processor is further configured to configure 85% of the zone for a second amount of information configured for the at least one stream.

### Claim 18

A data storage device comprising:
a hardware network interface unit configured to provide a connection to at least one client requesting a set of streams;
a memory configured to provide requested files for the set of streams;
a hardware read cache configured with a set of zones for the set of streams; and
a processor configured to:
determine a consumption rate for each of the set of streams;
configure each zone size based on the consumption rate of each respective stream, wherein data within the set of zones is scheduled to be consumed within a same active operation period of the memory, wherein the set of zones is scheduled to refresh within the same active operation period, and wherein each consumption rate is indicative of an amount of data consumed by a respective stream during a time period;
determine a current playback location for at least one of the set of streams;
retrieve a first amount of information prior to the current playback location; and
retrieve a second amount of information after the current playback location.

### Claim 19 (depends on 18)

The data storage device of claim 18, wherein the processor is further configured to:
determine an amount of time corresponding to consumption of information from the hardware read cache; and
modify power consumption of the data storage device during the amount of time.

### Claim 20 (depends on 19)

The data storage device of claim 19, wherein the processor is configured to modify the power consumption by:
transitioning the data storage device to a sleep state during consumption of information from the hardware read cache.
