1
$\begingroup$

I know that parity checking is testing for accurate data transmission between nodes in a communication network.

  1. When does this parity checking happen on a computer? Does it happen every time data is transmitted internally in a computer?
  2. Do all computers use parity checking?
$\endgroup$
2
  • $\begingroup$ Except for special mission-critical computers, data parity is not checked on RAM memory. This is more common on mass media such as magnetic disks or tapes. Serial communications usually include a parity bit. More sophisticated networks (Ethernet) use more than parity bits: error detection or correction codes. $\endgroup$
    – user16034
    Jun 30, 2022 at 13:02
  • 1
    $\begingroup$ It depends on the specific computer design. A lot of servers have so-called ECC memory where every memory byte has a parity check (actually one better, it has an ECC code). Most desktops don't. $\endgroup$
    – user253751
    Jun 30, 2022 at 13:28

2 Answers 2

1
$\begingroup$

The problem with parity checking is: What do you do if it is wrong? Let’s say you stored a byte with value x, a parity bit is added, then you read the value and there is a parity error. You know that one of nine bits is wrong but not which one.

For data transmission there is a very simple rule: if there is any error then we behave as if the data had never been sent, and data transmission protocols are able to handle that.

For memory errors, you could have error correction which is quite expensive. Or you have parity errors, and then you need to decide what to do. If it’s in the software of a self driving car, what do you do? Stop the car (bad idea on a motorway) or continue and pray?

What you can do is check for defective memory when the computer is started. You write data to memory, read it back and check it is correct, using patterns to avoid getting the correct data by coincidence, and avoiding writes that go only to cache memory.

$\endgroup$
0
$\begingroup$

When Error-detection and Error-coorrection is performed depends on associated protocol and layers.

For example for Ethernet ,Error-detection and Error-coorrection performed in intermediate routers between sender and receiver at layer2(Data-link layer) for both header and data.

And at layer3(Network layer) for ipv4 Error-detection and Error-coorrection mechanism performed only for ipv4 header at intermediate routers between sender and receiver. For ipv6 header checksum option isn't not present.

Now most important work is happening at receiver side at layer4(transport layer). If you use TCP protocol then it's liable for checking Error-coorrection and detection for both data and header, TCP also restore the reliability for data packets. For ipv6 header, TCP is mandatory. But for UDP at transport layer checksum option is optional(but for ipv6 it is mandatory), then it depends on application layer as as well as layer2.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.