Parity Volume Set

From Just Solve the File Format Problem
Revision as of 08:56, 8 August 2025 by Anonymoususer852 (Talk | contribs)

Jump to: navigation, search
File Format
Name Parity Volume Set
Ontology
Extension(s) .par, .pxx, .par2, .pa3
Released 2001[1]

Parity Volume Set (also known as parity archive or parchive) is a file format for storing redundant data for one or more input files. These data can be used to repair the input files if they get damaged. The error correction is based on the Reed-Solomon algorithm. Three versions of the format exist: Par1, Par2 and Par3. The Par3 format never made it beyond the proposal stage, but it is used by an old version of MultiPar tool.[2]

Contents

Discussion

Historically, these were multi-part archives that was distributed in Usenet (a.k.a., "network news"), but can still be used in prevention of complete data loss during transit or storage. Parchive is like RAID for files instead of a whole file system.

The technology is based on a 'Reed-Solomon Code' implementation that allows for recovery of any 'X' real data-blocks for 'X' parity data-blocks present. (Data-blocks referring to files OR much smaller virtual slices of files).[3]

Modern Par2 software can take advantage of GPU to speed up recovery file creation.[4][5]

Identification

A Par1 file starts with the following byte sequence:

50 41 52 00 00 00 00 00

This corresponds to the ASCII text string PAR, followed by 5 null bytes.

A Par2 file starts with the bytes:

50 41 52 32 00 50 4B 54

This corresponds to ASCII text string PAR2, followed by a null byte and the text string PKT.

Finally, a Par3 file can be identified by the following 4-byte sequence:

50 41 33 00

This corresponds to the text string PA3, followed by a null byte.

Specifications

Specification version SourceForge/Internet Archive link GitHub link
Parity Volume Set Specification v1.0 SourceForge GitHub
Parity Volume Set Specification 2.0 SourceForge GitHub
proposal for Parchive Specification 3.0 hp.vector.co.jp IA mirror GitHub

par2 Examples

Create uniformed recovery file sizes with 100% redundancy for example.dwarfs

 par2 create -u -r100 example.dwarfs

This makes it more like Par1[6]

Software

Sample files

Par1 sample files

See Search results with p01 extensions

Par1 files are usually distributed in a set, beginning with .p01 and the number increments for each and every related Par1 archive.[7]

See Also: Search results with p02 extensions - a continuation of same parity archive files from those with p01 extensions

Par2 sample files

See Search results with par2 extensions and are likely parity archive - Discmaster.textfiles.com for samples.

These files are usually distributed in a set, containing <name>.par2 and <name>.vol<numA>+<numB>.par2, where name is the name of the file, typically to be created as a parity archive of, and <num> is an incrementing number, and is often starts with 0 for <numA>.[8]

Links

References

  1. parchive Files - SourceForge.net
  2. Par3 support? #46 - MultiPar - GitHub
  3. Parchive: Parity Archive Tool - SourceForge.net
  4. GPU Acceleration via par2j64.exe??? Is it possible? How do I do it? #40 - MultiPar - GitHub
  5. Added support for GPU acceleration (CUDA) on recovery file creation. #176 - par2cmdline - GitHub
  6. Why is PAR 2.0 better than PAR 1.0? - par2cmdline - GitHub
  7. Par2 Files Explained in Plain English - Internet Archive copy
  8. Par2 Files Explained in Plain English - Internet Archive copy
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox