Deduplication can be performed in 4 ways:
1. Immediately when the write is processed (inline) and before the write is ackowledged back to the originator of the write (pre-ack).
2. Immediately when the write is processed (inline) and in parallel to the write being acknowledged back to the originator of the write (on-ack).
3. A short time after the write is processed (inline) so after the write is acknowleged back to the originator of the write - eg. when flushing the write buffer to persistent storage (post-ack)
4. After the write has been committed to the persistent storage layer (post-process).
The first and second methods, when properly integrated into the solution, are most likely to offer both performance and capacity benefits. The third and fourth methods are primarily used for capacity benefits only.
Key performance metrics of the Cisco HyperFlex (HX) platform architecture include minimizing latency and maximizing throughput.
The HX approach is aimed at minimizing latency of writes (and thus improving workload performance) by avoiding a dedup lookup prior to logging a write and acknowledging the write to the client. Further, maximum throughput is improved by eliminating flushing of duplicate blocks to the backend storage.