create account

Error-Correcting Code Memory (ECC): Facilitating Scientific and Financial Computation by ememovic

View this thread on: hive.blogpeakd.comecency.com
· @ememovic · (edited)
$45.70
Error-Correcting Code Memory (ECC): Facilitating Scientific and Financial Computation
**Hello guys,**

It’s another lovely day and I'm here to explain a somewhat uncommon type of computer data storage which only a few people know about, it's similar to Random Access Memory (RAM) but it performs an entire different function. 

I'm sure that anyone who knows anything about computers, knows what RAM is. It's a core component of the computer and if you ever build a computer or upgrade one, you might be thinking about things like how much RAM to get, how many gigabytes it has, the frequency, the latency which not a lot of people think about but you should.

There is another type of memory that a lot of people have never heard of or don't really know what it is and that is **”Error Correcting Memory”** or **“ECC”**. This has a lot of pretty specific purposes but not everyone really needs it so I'm gonna go over what it's for, how it works and whether you might want to consider it in your next PC bill.

![1024px-Micron_PC2700_DDR_ECC_REG.JPG](https://steemitimages.com/DQmSsuscfNjgK7yMDyJGPs2ECwszgsoVXnjbKyBgnR435kh/1024px-Micron_PC2700_DDR_ECC_REG.JPG)<sub>[[1]](https://en.wikipedia.org/wiki/ECC_memory)</sub>
<sub>[Error Correcting Memory (ECC) _Wikipedia_](https://en.wikipedia.org/wiki/ECC_memory)</sub>


***
***

### What’s Error Correcting Memory (ECC)? How does it work?

***
***

To understand how error correcting memory works I'll try to give a pretty easy explanation first of how general memory works so you can understand what's going on and it's really not that difficult.

Think of RAM as having a bunch of different spots where you can put data and there's a finite number of these and you'll call them cells. Typically, you might see about 8-bits in each cell which is one byte so you have one byte of data and that typically is what one character on a keyboard is, every letter is 1-byte which is eight bits. In every cell, you're gonna have eight **“1s”** or**”0s”** which represents one tiny byte of data and there's a whole bunch of these cells which you can store memory in any of them.

![cell.png](https://steemitimages.com/DQmVB3wdW8ghg8EkXp4L4XJZj3snuaLSWPiEXz1yDaLr361/cell.png)<sub>[2]</sub>
<center><sub>Normal cell data</sub></center>

However, every once in a while, something is going to happen called a flipped bit where one of the bits in one of the cells will just spontaneously flip from 1 or 2 to 0, or 0 to 1 and that's just because perhaps the electrical signal was somehow disrupted in that cell in a circuit and it just thinks that it's a different number.

![cell1.png](https://steemitimages.com/DQmRirhZSBJEpcNJtSLjj9Z551KcvCpoRfngwF9wCrZSsau/cell1.png)<sub>[3]</sub>
<center><sub>Flipped bit disrupted cell</sub></center>

If this happens, when that particular bit or cell was very important to what was ever going on in the computer at that point, it can cause some major issues or perhaps nothing but it could cause a system crash completely or it could corrupt data that's being written onto the computer both of which in certain situations could be disastrous.

***
***

### What could cause a flipped bit error?

***
***

There are plenty of different possibilities for what could cause a flipped bit you never really know, hard errors for example which are physical conditions such as higher temperature, temperature fluctuations or perhaps physically moving and bending the stick of RAM could disrupt things. 

There are also a group called soft errors which are mostly having to do with electrical interferences and the most common of these are literally caused by cosmic background radiation from outside the earth so a fun fact is that if you are at a higher elevation, then your computer memory is more prone to getting these errors of flipped bits because there are more literally neutrons coming in another radiation that could bombard that RAM and flip it over.

![earth-magnetosphere.jpg](https://steemitimages.com/DQmfYwB7GTSpbfeypkxHyYu8HHJJn2BmGY8SC9Pybzhi6Df/earth-magnetosphere.jpg)<sub>[[4]](https://www.inquisitr.com/3678479/a-recent-geomagnetic-storm-cracked-earths-magnetic-shield-and-endangered-life-by-exposing-atmosphere-to-deadly-cosmic-radiation/)</sub>
<sub>[Cosmic radiation _inquisitr.com_](https://www.inquisitr.com/3678479/a-recent-geomagnetic-storm-cracked-earths-magnetic-shield-and-endangered-life-by-exposing-atmosphere-to-deadly-cosmic-radiation/)</sub>


Another fun fact is that's why a lot of aircraft, spacecraft or even high-altitude observatories definitely need to have that air correcting RAM because it might be at more risk of getting radiation to disrupt that RAM.

Here's a quick example of what a flipped bit might look like, in this case it's not going to cause a computer crash but let’s say you're in Microsoft Excel and you're typing in number, you want to type in the number **”8”** so when you hit that key, the computer is going to store that letter **”8”** in a Cell and that's going to be **”0011100”**. 
![8.png](https://steemitimages.com/DQmVUnuLivz37UkXn9aDzEq4mJggpVARHkYFEeKehmpou5c/8.png)<sub>[5]</sub>
That's what you see on the screen but at some point maybe right before you save the file or as you're saving the file, that last bit gets flipped so the last zero turns into a **”1”** and now it's **“00111001”** which is the number 9, It gets saved as the number 9. 
![8b.png](https://steemitimages.com/DQmSAJpL7DzU3fAfZHmZwXPB1PjYVXsdJFE36vqragvrQEV/8b.png)<sub>[6]</sub>

Even though this happened, you might not even notice it because it's still a valid number that would be typed into an excel , you could have easily just pressed **9** as opposed to **8**, the computer doesn't care but it will be wrong so that would be an example where there's a flipped bit and you wouldn't even notice.

There are other cases maybe you're browsing the web and one letter on the page gets changed obviously, you would not even notice that or care, it's completely no consequence but if you're carrying out financial or scientific computing and you tell the computer not to trade a stock, it flips and does trade the stock **”you don't want that at all”**.

This why Error Correcting Memory is pivotal because it has the ability to detect and fix a single bit error. If there's multiple errors simultaneously, you probably have bigger issues which is very unlikely but what happens is instead of just having those 8-bits, it's going to add in a little bit extra information called a **”Parity bit”** or a **”Redundant bit”** which is used to make sure that the other bits are what they should be. 

![pa.png](https://steemitimages.com/DQmVeTCYetA2okXm6Zc1d88Gvnbcc7XMZ9rkUQmpg43KzTc/pa.png)<sub>[7]</sub>

From the image above, it specifically looks like string of **"1s"** and **"0s"** in the cell, the last extra parity bit will be added and it will be a **”1”** or a **”0”** depending on how many **1s** are in that cell. For example, if there's an odd number of **1s**, then it will be a **1** in the parity bit and if it's an even number of **1s**, it'll be a **0** in the parity bit. If one of those turns into a flipped bit, then it will no longer be the same even or odd number as the parity bit thinks and it will detect.

***
***

### Conclusion

***
***

In most cases, the only place you'll really see Error Correcting Memory is on things like servers or things that have mission-critical processes running on them such as scientific calculations or maybe financial data that if that computer were to crash, it would cause huge problems like a company would stop being able to operate, it would just be a disaster. That's where Error Correcting Memory comes in, it basically helps that computer fix any errors in the memory that would cause it to crash.

For anyone who's just a regular computer user, there's no real special uses you're using it for and you've never even heard of Error Correcting Memory, you've been fine without it especially with things like gaming, then you don't need Error Correcting Memory because it would be unnecessary, expensive and might even give a performance hit for what you're using it for.

>If you guys have any ideas of your own, something I forgot to explain about, you can let me know by replying this post. If you enjoyed it, Pls don’t forget to give an Upvote.

***
***

### References: [1 - ](https://en.wikipedia.org/wiki/ECC_memory)[2 - ](https://en.wikipedia.org/wiki/RAM_parity)[3](https://en.wikipedia.org/wiki/Soft_error)

### Image sources: [[1]](https://en.wikipedia.org/wiki/ECC_memory)-[[4]](https://www.inquisitr.com/3678479/a-recent-geomagnetic-storm-cracked-earths-magnetic-shield-and-endangered-life-by-exposing-atmosphere-to-deadly-cosmic-radiation/)-[2, 3, 5, 6 from my PC]

***
***

<center> ![Thanks.png](https://steemitimages.com/DQmVXASDHhiRTFJ9Wg1kBGLBVKNJdtQDPVhbGUJyVPhx63Y/Thanks.png) 

![WhYkkh9.gif](https://steemitimages.com/DQmdEhYBwAGZDsmgdeDywfrba4DRJvaPFToR4HvSKjY8rim/WhYkkh9.gif)
<sub>GIF made by @foundation</sub>

</center>

***
***

##### Thanks to @camzy & @samstickkz for this amazing toon.

<center>![index.jpg](https://steemitimages.com/DQmWhGhrSpLVcyxLhv538fZrD97kJE6FFJwfDbxFs2eAW26/index.jpg)</center>
<center>![upvotefollowresteem.gif](https://steemitimages.com/DQmWpisRXDF56mV3DgzzPUxb3R2ozseR48YVr2YKtwtrBcV/upvotefollowresteem.gif)</center>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 39 others
properties (23)
authorememovic
permlinkerror-correcting-code-memory-ecc-facilitating-scientific-and-financial-computation
categorysteemstem
json_metadata{"community":"busy","app":"steemit/0.1","format":"markdown","tags":["steemstem","science","technology","nigeria","genesisproject"],"users":["foundation","camzy","samstickkz"],"links":["https://en.wikipedia.org/wiki/ECC_memory","https://www.inquisitr.com/3678479/a-recent-geomagnetic-storm-cracked-earths-magnetic-shield-and-endangered-life-by-exposing-atmosphere-to-deadly-cosmic-radiation/","https://en.wikipedia.org/wiki/RAM_parity","https://en.wikipedia.org/wiki/Soft_error"],"image":["https://steemitimages.com/DQmSsuscfNjgK7yMDyJGPs2ECwszgsoVXnjbKyBgnR435kh/1024px-Micron_PC2700_DDR_ECC_REG.JPG","https://steemitimages.com/DQmVB3wdW8ghg8EkXp4L4XJZj3snuaLSWPiEXz1yDaLr361/cell.png","https://steemitimages.com/DQmRirhZSBJEpcNJtSLjj9Z551KcvCpoRfngwF9wCrZSsau/cell1.png","https://steemitimages.com/DQmfYwB7GTSpbfeypkxHyYu8HHJJn2BmGY8SC9Pybzhi6Df/earth-magnetosphere.jpg","https://steemitimages.com/DQmVUnuLivz37UkXn9aDzEq4mJggpVARHkYFEeKehmpou5c/8.png","https://steemitimages.com/DQmSAJpL7DzU3fAfZHmZwXPB1PjYVXsdJFE36vqragvrQEV/8b.png","https://steemitimages.com/DQmVeTCYetA2okXm6Zc1d88Gvnbcc7XMZ9rkUQmpg43KzTc/pa.png","https://steemitimages.com/DQmVXASDHhiRTFJ9Wg1kBGLBVKNJdtQDPVhbGUJyVPhx63Y/Thanks.png","https://steemitimages.com/DQmdEhYBwAGZDsmgdeDywfrba4DRJvaPFToR4HvSKjY8rim/WhYkkh9.gif","https://steemitimages.com/DQmWhGhrSpLVcyxLhv538fZrD97kJE6FFJwfDbxFs2eAW26/index.jpg","https://steemitimages.com/DQmWpisRXDF56mV3DgzzPUxb3R2ozseR48YVr2YKtwtrBcV/upvotefollowresteem.gif"]}
created2017-12-19 17:07:54
last_update2017-12-20 09:46:15
depth0
children4
last_payout2017-12-26 17:07:54
cashout_time1969-12-31 23:59:59
total_payout_value35.548 HBD
curator_payout_value10.155 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length9,272
author_reputation54,179,779,238,636
root_title"Error-Correcting Code Memory (ECC): Facilitating Scientific and Financial Computation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,217,368
net_rshares7,226,134,611,731
author_curate_reward""
vote details (103)
@camillius ·
Thanks tech guy for this info
properties (22)
authorcamillius
permlinkre-ememovic-error-correcting-code-memory-ecc-facilitating-scientific-and-financial-computation-20171219t174713075z
categorysteemstem
json_metadata{"tags":["steemstem"],"app":"steemit/0.1"}
created2017-12-19 17:47:30
last_update2017-12-19 17:47:30
depth1
children0
last_payout2017-12-26 17:47:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length29
author_reputation470,799,010,413
root_title"Error-Correcting Code Memory (ECC): Facilitating Scientific and Financial Computation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,222,894
net_rshares0
@emmaculate ·
nice work bro
got something
keep steeming
properties (22)
authoremmaculate
permlinkre-ememovic-error-correcting-code-memory-ecc-facilitating-scientific-and-financial-computation-20171220t141949483z
categorysteemstem
json_metadata{"tags":["steemstem"],"app":"steemit/0.1"}
created2017-12-20 14:20:12
last_update2017-12-20 14:20:12
depth1
children0
last_payout2017-12-27 14:20:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length41
author_reputation1,841,281,991,855
root_title"Error-Correcting Code Memory (ECC): Facilitating Scientific and Financial Computation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,357,860
net_rshares0
@jamesmovic ·
Nice post bro
properties (22)
authorjamesmovic
permlinkre-ememovic-error-correcting-code-memory-ecc-facilitating-scientific-and-financial-computation-20171219t172827271z
categorysteemstem
json_metadata{"tags":["steemstem"],"app":"steemit/0.1"}
created2017-12-19 17:28:33
last_update2017-12-19 17:28:33
depth1
children0
last_payout2017-12-26 17:28:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length13
author_reputation5,299,217,166,263
root_title"Error-Correcting Code Memory (ECC): Facilitating Scientific and Financial Computation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,220,264
net_rshares0
@steemstem ·
<center>![](https://s18.postimg.org/kazxz8qsp/steem_up.jpg)</center>
properties (22)
authorsteemstem
permlinkre-ememovic-error-correcting-code-memory-ecc-facilitating-scientific-and-financial-computation-20171219t220752512z
categorysteemstem
json_metadata{"tags":["steemstem"],"image":["https://s18.postimg.org/kazxz8qsp/steem_up.jpg"],"app":"steemit/0.1"}
created2017-12-19 22:07:54
last_update2017-12-19 22:07:54
depth1
children0
last_payout2017-12-26 22:07:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length68
author_reputation262,017,435,115,313
root_title"Error-Correcting Code Memory (ECC): Facilitating Scientific and Financial Computation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id24,254,502
net_rshares0