Introducing 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.