Eliminate duplicate data blocks to save storage. Hash each block, store only unique blocks, maintain reference counts.
Inline dedup: hash and check during write (impacts write performance). Post-process dedup: write first, deduplicate in background. File-level dedup is simpler but less effective than block-level. Backup systems see -x dedup ratios.