Abstract: A platform for data flow processing is provided. The platform, which can be a computing device includes one or more swappable pods or cards in one or more chassis, coupled through a module messaging interface network. Each of the one or more swappable pods or cards having one or more hardware modules or one or more software modules and one or more of the plurality of swappable pods or cards having a portion for user-definable hardware modules or user-definable software modules. The plurality of swappable pods or cards being user-configurable to implement data flow processing architectures.
Abstract: A storage controller controls a plurality of storage media devices and a network interface passively monitors network traffic and automatically detects video data in at least a portion of said network traffic, where the storage controller archives the video data in the storage media devices and processes the archived video data to serve the archived video data as video-on-demand data.
Abstract: A simplified host accesses SATA and SAS storage media devices by abstracting the SATA and SAS protocols with one full duplex protocol that supports full command queuing to each storage media device, whether SATA or SAS, where the abstraction protocol is performance-centric and supports common high-level read and write access to a pool of storage media devices, each of which may have a SATA or SAS interface. The abstraction protocol is link-agnostic and may be carried via a multiplicity of direct attach or networked interfaces, including but not limited to PCIe, Ethernet (e.g., 1 GbE, 10 GbE, 40 GbE, or 100 GbE), Infiniband, ThunderBolt, Firewire, USB, and/or custom interfaces.
Abstract: 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.
Abstract: 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.
Abstract: A storage controller controls a plurality of storage media devices and a network interface passively monitors network traffic and automatically detects video data in at least a portion of the network traffic, where the storage controller stores the detected video data in the storage media devices. The storage media devices where such detected video data is stored may not be the intended destination of the video data.