NVMe in the Front. Object Storage in the Back.

FlexBlock™ turns a bucket of object storage into a high-performance Linux block device, served through a local NVMe write-back cache. Format it, mount it, grow it, move it between hosts, or export it over the network. Your applications just see a disk.

Terminal showing flexBlock creating a 10 TiB volume, serving it as /dev/ublkb0, mounting XFS on it, and reading at raw NVMe speed
100%

of raw NVMe sequential throughput

605k

warm random 4 KiB read IOPS, four jobs

2.6 GiB/s

cold sequential read from S3, prefetch 64

117%

of raw NVMe on MariaDB write-only OLTP

Measured on an AWS i7i.4xlarge against a raw partition of the same NVMe drive, with Amazon S3 in the same region. See the full results

Stop Choosing Between Fast and Durable

Local NVMe is the fastest storage a server has, but it is fixed in size and tied to one machine, and on cloud instances it disappears when the instance stops. Object storage is durable, elastic and inexpensive, but applications can't put a filesystem on it. FlexBlock gives you both.

Local NVMe alone

  • Fastest I/O on the host
  • Capacity capped by the drive
  • Data tied to one machine
  • Lost with the instance

Object storage alone

  • Durable and elastic
  • Low cost per terabyte
  • No block device or filesystem
  • Network latency on every request

flexBlock

  • NVMe speed for the working set
  • Capacity far beyond the cache
  • Durable copy in your bucket
  • An ordinary disk to every application

Why flexBlock

Block storage that behaves like a local disk and is priced, protected and portable like object storage.

Flexible Sizing

A volume can be far larger than its cache. The cache holds only what is in use and warms on demand, so you pay object storage prices for capacity and use NVMe for the hot set.

Durability for Ephemeral NVMe

Instance-local NVMe is fast and included in the price, but it vanishes when the instance stops. As a flexBlock cache it risks only writes not yet flushed, though what remains in the bucket may need a filesystem check.

Host Portability

Detach a volume here and attach it there, even on different hardware. An ownership marker and a write lease keep two hosts from writing the same volume at once.

Crash-Safe Write-Back

Writes are acknowledged from NVMe, a write-ahead log records intent, and dirty data streams to the bucket in the background. A daemon crash recovers with the filesystem still mounted.

Block Compression

Chunks can be compressed with zstd (the default), lz4 or snappy before they leave the host, shrinking the bucket and cold-read traffic as far as the data compresses.

Total Visibility

A Prometheus endpoint reports cache hits, write-back lag, object storage and license health, with systemd units and worked examples for production.

Four Commands, the Whole Lifecycle

One static binary, no servers to run. The volume's location comes from your license grant, and credentials come from your cloud's standard credential chain.

  1. 1init

    Creates the volume under a prefix in your bucket, with its size, chunk size and compression.

  2. 2attach

    Binds a local NVMe device as the cache and claims ownership. Nothing is copied.

  3. 3start

    Brings up /dev/ublkbN. Format it, mount it and use it like any disk.

  4. 4detach

    Releases the volume so another host can attach it. Its data stays in the bucket.

Backed by your object storage

Works with the Linux tools you already use

Linux 6.1+XFSext4btrfsOpenZFSLUKSLVMmdadmsystemdNVMe-oF/TCPNFSSMB

From the Makers of flexFS

FlexBlock comes from Paradigm4, the team behind flexFS, the elastic network filesystem for cloud object storage. Use flexFS when many hosts share files, and flexBlock when a workload needs a fast, durable block device.

Put Your Block Storage on Object Storage

Follow Your First Volume in the docs to go from an empty bucket to a mounted filesystem, or talk to us about a license sized to your volumes.