# US 9,436,404 B2 · System and method for dynamically load balancing across storage media devices having fast access rates

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

- Number: US 9,436,404 B2
- Document ID: US9436404B2
- Status: Granted
- Kind: B2
- Application number: 14/099,848
- Filed: 2013-12-06
- Published: 2015-06-11
- Granted: 2016-09-06
- Earliest claimed: 2013-12-06
- Assignees: Concurrent Ventures, LLC
- Applicants: Concurrent Ventures, LLC
- Inventors: Jesse D. Beeson; Jesse B. Yates
- Web page: https://patentgrep.com/patent/US9436404B2

## CPC

- G06F 3/064: {Management of blocks}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A storage controller controlling a plurality of storage media devices receives one or more commands from a queue representing a load, identifies one or more weighted fast access storage regions within addressable storage regions across the plurality of storage media devices having a fast access rate, distributes load by utilizing only the weighted fast access storage regions within the addressable storage regions across the plurality of storage media devices having the fast access rate.

## Claims

### Claim 1

A storage system comprising:
a plurality of storage media devices, each storage media device comprising one or more addressable storage regions, each region assigned a weight based on at least a fast or slow access rate;
a storage controller controlling said plurality of storage media devices, said storage controller:
receives one or more commands from a queue representing a load;
identifies one or more weighted fast access storage regions and weighted slower access storage regions within said addressable storage regions across said plurality of storage media devices wherein the identification is based on weights that comprise previous performance and real time performance;
distributes the load using said weighted slower access storage regions to target a minimum performance level and holding said weighted fast access storage regions in reserve, then utilizing only said weighted fast access storage regions to meet the minimum performance level.

### Claim 2 (depends on 1)

The storage system of claim 1, wherein said storage media devices are any of, or a combination of, the following: solid-state drive, rotational hard disk drive, hybrid disk drive, or PCI-Express slot disk drive.

### Claim 3 (depends on 1)

The storage system of claim 1, wherein said storage media devices are part of a storage area network (SAN).

### Claim 4 (depends on 1)

The storage system of claim 1, wherein said storage media devices are part of a network attached storage (NAS) device.

### Claim 5 (depends on 1)

The storage system of claim 1, wherein at least one command corresponds to a read request.

### Claim 6 (depends on 1)

The storage system of claim 1, wherein at least one command corresponds to a write request.

### Claim 7 (depends on 1)

The storage system of claim 1, wherein at least one of the one or more weighted fast access storage regions is one or more sectors of a rotational storage media device.

### Claim 8 (depends on 1)

The storage system of claim 1, wherein one of the weighted fast access storage regions or weighted slower access storage regions is a reference region, and each other weighted fast access storage region or weighted slower access storage region has a weight assigned as a ratio of performance relative to the reference region.

### Claim 9 (depends on 1)

The storage system of claim 1, wherein said storage controller:
distributes a further load from the queue or another queue utilizing only said weighted fast access storage regions.

### Claim 10

A method as implemented in a storage system comprising a plurality of storage media devices, each storage media device comprising one or more addressable storage regions, each region assigned a weight based on at least a fast or slow access rate, a storage controller controlling said plurality of storage media devices, said method comprising:
receiving one or more commands from a queue representing a load;
identifying one or more weighted fast access storage regions and weighted slower access storage regions within said addressable storage regions across said plurality of storage media devices wherein the identification is based on weights that comprise previous performance and real time performance;
distributing the load using said weighted slower access storage regions to target a minimum performance level and holding said weighted fast access storage regions in reserve, then utilizing only said weighted fast access storage regions so as to meet the minimum performance level.

### Claim 11 (depends on 10)

The method of claim 10, wherein said storage media devices are any of, or a combination of, the following: solid-state drive, rotational hard disk drive, hybrid disk drive, or PCI-Express slot disk drive.

### Claim 12 (depends on 10)

The method of claim 10, wherein said storage media devices are part of a storage area network (SAN).

### Claim 13 (depends on 10)

The method of claim 10, wherein said storage media devices are part of a network attached storage (NAS) device.

### Claim 14 (depends on 10)

The method of claim 10, wherein at least one command corresponds to a read request.

### Claim 15 (depends on 10)

The method of claim 10, wherein at least one command corresponds to a write request.

### Claim 16 (depends on 10)

The method of claim 10, wherein at least one of the one or more weighted fast access storage regions includes a plurality of sequential sectors of a rotational storage media device.

### Claim 17 (depends on 10)

The method of claim 10, further comprising:
distributing a further load from the queue or another queue utilizing only said weighted fast access storage regions.

### Claim 18

A non-transitory, computer accessible memory medium storing program instructions for performing a method as implemented in a storage system comprising a plurality of storage media devices, each storage media device comprising one or more addressable storage regions, each region assigned a weight based on at least a fast or slow access rate, a storage controller controlling said plurality of storage media devices, wherein the program instructions are executable by a processor to:
receive one or more commands from a queue representing a load;
identify one or more weighted fast access storage regions and weighted slower access regions within said addressable storage regions across said plurality of storage media devices wherein the identification is based on weights that comprise previous performance and real time performance; and
distribute the load using said weighted slower access storage regions to target a minimum performance level and holding said weighted fast access storage regions in reserve, then utilizing only said weighted fast access storage regions when needed to meet the minimum performance level.

### Claim 19 (depends on 18)

The computer accessible memory medium of claim 18, wherein each of a plurality of such regions includes a plurality of sequential sectors of one or more rotational storage media devices.

### Claim 20 (depends on 18)

The computer accessible memory medium of claim 18, wherein the method further comprises:
distributing a further load from the queue or another queue utilizing only said weighted fast access storage regions.
