A dual parity hardware architecture that enables data to be read from each
sector only once and performs both the P parity and Q parity from the
single data source. The Q parity calculator provides parallel processing
capabilities so that multiple parity operations are performed on the same
sector simultaneously. The dual parity hardware architecture provides
flexibility in restoring data, generating parity, and updating parity for
differing data sector sizes.