Skip to content

Concepts

Block transfer

How Datamotive compresses, deduplicates, and transfers changed disk blocks from source to target.

Product
Datamotive Platform
Version
v1.0
Documentation status
Published
Last updated
Updated
Reading time
2 min read

After changed blocks are identified via CBT, the block transfer pipeline is responsible for moving those blocks from the source to the target as efficiently as possible.

Transfer pipeline stages

Each changed block passes through four stages:

  1. Read — The Replication Appliance reads the block from the vSphere API snapshot or the cloud SDK. Reads are batched and parallelized to maximize throughput.

  2. Compress — The block is compressed using LZ4 (for speed) or ZSTD (for ratio, configurable). Typical compression ratios for enterprise workloads range from 1.5:1 to 3:1 for mixed data and up to 5:1 for text-heavy workloads. Already-compressed data (ZIP, video, encrypted volumes) compresses poorly and may expand slightly.

  3. Deduplicate — Blocks are hashed (SHA-256) and compared against a local deduplication index maintained per plan. If an identical block was transferred in a recent cycle, the index record is updated and the block is not retransmitted. Deduplication is most effective for VMs with large unchanged regions across cycles.

  4. Encrypt and transmit — Compressed blocks are encrypted with AES-256-GCM using a per-plan data encryption key before leaving the source network. The blocks are transmitted over TLS 1.3 to the Cloud Connector or directly to the target cloud endpoint.

Bandwidth usage

Sustained bandwidth is determined by the daily churn rate and the compression ratio:

Bandwidth (Mbps) = (Daily churn GB × 8) / (86400 seconds) / compression ratio

For a 1 TB protected workload with 3% daily churn and 2:1 compression:

= (30 GB × 8) / 86400 / 2 = ~1.4 Mbps sustained

Peak bandwidth occurs during the initial seed, when the full disk is transferred. After seeding, bandwidth drops to the incremental rate shown above.

Configuring transfer settings

The following settings are configurable per plan in the Advanced replication settings panel:

  • Compression algorithm: LZ4 (default, lower CPU) or ZSTD (higher ratio, higher CPU)
  • Transfer thread count: number of parallel read/write threads (default: 4, range: 1 to 16)
  • Bandwidth cap: maximum sustained transfer rate in Mbps (useful to avoid saturating shared WAN links during business hours)
  • Replication schedule: restrict replication cycles to specific time windows

Error handling and retries

If a block transfer fails mid-cycle (due to a network interruption, for example), the appliance checkpoints its progress. On retry, the transfer resumes from the last committed block rather than restarting from the beginning. A cycle that encounters persistent errors is marked Failed and the next cycle begins from the previous successful checkpoint.

Related docs

Was this page helpful?