NVMStack provide snapshot technology for NVMe  devices,  that is fully user mode, unlimited, zero-data-copy snapshots.

The snapshot technology is abased on ROW (Redirect-On-Write), we have implemented an excellent method for providing zero-copy, pointing level, polling mode, performance loss-less snapshot technology, we should call it ROW+. When creating a snapshot, a mapping table and bitmap are created. A mapping table records the mappings between data blocks on a source volume or parent snapshot, bitmap records blocks physical addresses, if the snapshot’s parent is not source volume, means there are more than one snapshot were creating, the mapping table will be copies from it’s parent snapshot, the mapping table is very small (around 1 MB), when I/O (read or write) coming, no matter how many snapshots are created, the addressing times are fixed, as the snapshot technology is ROW+, write operation amplification is almost 1, while read operation amplification is almost 2 (read bitmap + read data), addressing through mapping table are quickly calculate over local memory.

NVMStack snapshot technology features:
1. Unlimited snapshot created, read/write performance no related to the snapshot count.
2. Zero data copy when creating snapshot, there are only small data of mapping table need to be copies, no user data need to be copied.
3. Metadata usage rate is less than 1/200.