Introduction to Parchive

PAR is a clipped from Parchive or Parity Archive, which means container of parity. Even if original files are damaged or lost, it is possible to repair them by extracting the parity. Two types of PAR files are made in same time. While an index file contains data for verification only, recovery files contain data for both verification and repair. Normally they don't distinguish, and they are just called as PAR files.

Example of PAR1 files:
`Data.PAR` | Index file
`Data.P01` | First recovery file
`Data.P02` | Second recovery file
`Data.P03` | Third recovery file
Example of PAR2 files:
`Data.PAR2` | Index file
`Data.vol0+1.PAR2` | First recovery file, which contains 1 recovery block
`Data.vol1+2.PAR2` | Second recovery file, which contains 2 recovery blocks
`Data.vol3+4.PAR2` | Third recovery file, which contains 4 recovery blocks

Though the index file is usable for verification only, it is very smaller than recovery files. The construction of recovery file is different between PAR1 and PAR2. In PAR1, recovery data is calculated for a group of arrayed source files. The requirement is simple like; it requires 1 recovery file to restore 1 file, or it requires 3 recovery files to restore 3 files.

In PAR2, recovery data is calculated for a group of allocated blocks in all source files. While saving the recovery data, it is possible to change the number of recovery blocks in each recovery file. Thus, the required number of recovery files can be minimum by their required recovery blocks. In above example, you need second recovery file to recover 2 blocks, or you need first and third recovery files to recover 5 blocks.