Entity

Time filter

Source Type

Duluth, GA, United States

A shared counter resource, such as a register, is disclosed in the hardware, where the register representing how much free space there is in the command queue is accessible to one or more processing elements. When a processing element reads the reservation register, the hardware automatically decrements the available free space by a preconfigured amount (e.g., 1) and returns the value of the free space immediately prior to the read/reservation. If the read returns 0 (or a number less than the preconfigured amount), there was insufficient free space to satisfy the request. In the event there was insufficient space to satisfy the request the reservation register may be configured to reserve however much space was available or to not reserve any space at all. Any number of processing elements may read these registers and various scenarios are described where the input and output queues are accessible via various processing elements.


An apparent load is determined based on assigning weightings to commands based on various factors including, but not limited to, the limitations of the underlying storage media device(s), where the command queue fullness is viewed from that perspective rather than simply the number of commands outstanding in a storage media device. Also disclosed is the use of a positive bias and a negative bias to artificially influence the apparent load.


A storage controller controlling said plurality of storage media devices receives one or more commands from a queue representing a load, identifies a set of weighted storage regions having the mid-range access rate to target a mid-range performance level that is enough to service the load; and distributes the load based on the mid-range performance level by utilizing only the set of weighted storage regions having the mid-range access rate thereby targeting the mid-range performance level that is enough to service the load.


A storage controller controlling a plurality of storage media devices receives one or more commands from a queue representing a load, identifies a first set of weighted storage region having a slow access rate in the plurality of storage media devices and a second set of weighted storage regions having a fast access rate in the plurality of storage media devices, computes an optimal sustained performance level as function of the first set of weighted storage regions having the slow access rate and the second set of weighted storage regions having the fast access rate, and distributes load based on said computed optimal sustained performance level.


A storage controller controlling a plurality of storage media devices receives one or more commands from a queue representing a load, identifies a minimum performance level required for the load, identifies a first set of weighted storage regions having a slow access rate across the plurality of storage media devices and a second set of weighted storage regions having a fast access rate in the plurality of storage media devices, identifies a subset of storage regions within the first set of weighted storage regions having a slow access rate that satisfies the identified minimum performance level, and distributes the load based on the identified minimum performance level by utilizing only the subset of storage regions within the first set of weighted storage regions having the slow access rate and holding the second storage region having the fast access rate in reserve.

Discover hidden collaborations