xiRAID Opus Components

The storage system consists of the following components:

  • Physical storage devices (SSD) inserted into a server or connected via network. Current xiRAID Opus version supports NVMe SSD inserted into a server, with plans to support network-connected devices in future versions.
  • Backend disk drivers that facilitate the flow of IO data between disks and the data path engine. xiRAID uses OS drivers for communication to a device at PCIe or network controller level. It uses user-space NVMe or network NVME-RDMA drivers to handle the main disk communication IO logic.
  • Device Manager component responsible for connecting, disconnecting, and monitoring physical storage devices and their drivers within the data path engine and OS.
  • Block device (BDEV) subsystem that represents unified logical disk API for different disk types such as a backend disk, RAID, or other block device within a layered block device topology.
  • RAID engine based on the fast Xinnor xiRAID technology. The RAID engine implements various RAID features such as RAID structure initialization, general IO operations, degraded mode IO, disk replacement, and disk data reconstruction (including Xinnor's partial reconstruction algorithms). Future releases will also support hot spare disks.
  • Frontend target subsystem that connects xiRAID block devices or other BDEVs configured on top of a RAID to a client IO engine. The current release includes support for VirtIO targets, as well as experimental NVMe-TCP and NVMe-RDMA target types.
  • Configuration database that persists and reports the storage topology and its component parameters. The database enables the automatic recovery and restart of the storage system in the event of an engine, operating system, or physical node (server) restart.
  • Management logic for configuring and monitoring all storage components.