by Triston Wong
Introduction
Although CDs were created before many of us were born, you’ve probably heard or used them before. We all know that a CD is a disk that is inserted into a machine which would display a product, whether it be a movie or program. Additionally, there is one rule we always follow: never damage the bottom of a disk. That’s because the bottom of a CD holds data in the form of code, and a single scratch could ruin the bottom and thereby change the product entirely, defecting it.
(Getty Images, n.d.)
However, most disks that you’ve bought were likely built with defects from manufacturing, and if you’ve ever scratched a disk before you might find that it still functions. The truth is, within the bottom data lies special code that is used to identify and solve these errors. That's why damaged CDs can still work. This form of technology is called Error Correction Codes (ECC), and it’s implemented in more programs throughout our daily life than you may think.
A Brief History
Error Correction Codes was created before the invention of DVDs and CDs in the 1970s, with the first iteration of design in 1950 by a person of the name Richard W. Hamming. When writing code for his work, Hamming got frustrated with how the programming would fail because the code would be misinterpreted. Computers at the time were very clunky and often made many errors compared to modern technology. This would include how code was read, and it was often based on luck if the computer would accurately interpret what was written. Frustrated, he created an error detection code that was able to see if the computer followed the program word for word, and tried to fix it based on the result. This would be one of the world’s first ECC, Hamming Code.
The gears behind it all
Today, there are a variety of ECCs which each have different functions. The code used to protect CDs, for example, is Reed-Solomon code. In contrast, Hamming code is used to smoothen data transferred between a sender and receiver. Both of these fall under the two purposes of ECC, which is for protecting storage and protecting message transmission.
Anything that contains data is considered storage. This ranges from videos of DVDs and CDs to even barcodes which are actually a series of letters and numbers. These ‘store’ data, which could be misread. On the other hand, during message transmission, the message might be manipulated between the time the sender releases the message and when the receiver gets it.
Here is an example of message transmission and how it is different compared to storage. Let’s say you’re talking to your friend on a helicopter and say the following:
Cassidy, can you meet with me to help with homework afterschool?
But your friend may hear:
Cassidy, can you meet with me to help with homework during break?
The subtle change in messages could lead to large issues. The wind was so loud that you couldn’t communicate with your friend properly. ECC is like wearing headpieces to help. It becomes a lot clearer to talk to your friend. Granted, there’s still a bit of noise, but it’s significantly better.
This is what error correction is actually doing—your message (or sentence, in the example of the helicopter) is put into a single word and sent to your friend. They would try to hear the word despite all the noise around them, and attempt to decipher the original message. This results in less probability of miscommunication.
ECC doesn’t exactly align with the example given, but it functions similarly. By only having to send or yell a single word, it is a lot easier than having to listen to a large sentence, which results in less error.
An example of a message travelling between computers. (Key, 2003)
ECC is more complicated than these examples; math is actually a key part of how ECC functions. This is simply an attempt to reveal a bit more about how error correction works without explaining the technical details.
Modern Impact
Error correction codes are as tremendously important in today’s society as it once was in the past, protecting our data and messages alike. In fact, it was integrated into both NASA Voyager Programs (1 & 2), in which the goal was to collect data about the planets Jupiter and Saturn. Error correction assisted in delivering the pictures of these planets in arguably the clearest way possible.
Conclusion
Of course, there are dozens of different error correction codes that have arisen only within the past century; each one with different technical layers in order to fulfil individual functions. This is the best attempt to shave off the tip of the iceberg and reveal the tool that has helped us in small amounts throughout our daily lives.
It has been 70 years since the first iteration of error correction, and it's almost as old as some of our grandparents. But in the world of technology, it has been a blessing in disguise, removing probability and errors alike in code. Although it is easy to ignore and forget this simple technology, it has withstood the test of time and is used by the daily, millions of times. After all, we wouldn’t be on Instagram and other social platforms without it.
Comments