Ram : ECC vs Non-ECC

jb03952

Member
Apr 17, 2001
42
0
0
Im getting 2 sitcks of 256mb= 512 mb total Samsung/Kingston 1066mhz Rdram for my new system. I can get the 16-8 non-ECC for $258 or the 18-8 ECC for $298 . Whats the difference between ecc and non-ecc and 16bit and 18bit ? Is there a real performance difference , is it worth it ?
 

pm

Elite Member Mobile Devices
Jan 25, 2000
7,419
22
81
From the FAQ (you can pretty much replace "SDRAM" with "RDRAM" and "64 bits" with "16 bits". The central idea is the same in both forms of DRAM):

ECC stands for either Error Checking and Correcting, or Error Correcting Code, depending on who you talk to. As its name implies, ECC is a form of code that can check and correct errors that occur in memory. It is a more sophisticated form of checking than another common form of error checking known as parity memory. Similar to parity memory, ECC works by adding extra error checking bits on to a stream of bits. There are many different types of ECC codes, but in computing applications the most commonly used is known as Reed-Solomon after its discoverers. In ECC SDRAM, the length of the bits is 64 bits (8 bytes) and 7 extra error checking bits are added which allows detection of two incorrect bits, and the detection and correction one incorrect bit. In other words, if there is one mistake in 8 bytes, then ECC can detect the error and fix it, and if there are two errors in 8 bytes then ECC can detect the error and report it.

There are two types of typical memory errors: hard errors and soft errors. Hard errors are typically caused by physical defects within the memory chip. Typically these come from manufacturing problems but can occasionally crop up as a result of reliability issues (ie. the chip ?wearing out). Soft errors are caused by radiation ? in modern systems the most common source of soft error radiation is from ?cosmic rays? although occasionally soft errors can occur due to low-levels of radiation in the components that make up the computer (for example, the solder). Hard errors, once they manifest themselves, will continue to repeat themselves and they are a sign of a defect DIMM. Soft errors are a rare event and there should be no permanent damage to memory.

There are four reasons why people use non-ECC (ie. ?regular?) SDRAM in their systems:

# Price. ECC SDRAM generally carries a price premium of 10-20% over non-ECC memory. In these days of cheap memory, this difference is fairly negligible but it is worth noting.
# Support. Not all chipsets and motherboards support ECC. Check here for a list.
# Performance. The ECC calculation process results in a small but measurable decrease in performance. The redundant ECC bits are calculated when ECC is written back to memory, and so a read-after-modified-write will incur a minor performance penalty. This reduction in performance is usually approximately 3-4% on PC133 CAS2 ECC SDRAM.
# SDRAM Errors are fairly rare: Everyone can agree that hard errors are fairly rare. Modern semiconductor memories have a low defect rate, these defects are almost always caught by the manufacturer, and memory tends to be very reliable over the life of the chip (typically 7+ years). For the frequency of soft errors, however, different manufacturers quote different numbers. IBM stated in a paper in 1997 that at sea level, a soft error event occurs once per month of constant use in a 128MB PC100 SDRAM module[1]. Micron has stated that it is closer to once per six months in a similarly spec?d module. Mosys presented a paper at DesignCON 2001 this year that said Mosys saw one soft error every 2 months in 128MB[2]. Statistically soft error rates scale linearly with memory size, so 256MB is twice as likely to see a problem as 128MB. Soft errors are affected by altitude: it has been widely agreed that a soft error event in SDRAM is 10x more likely at one mile above sea level and it is 100x more likely in an airplane at 60,000 ft.

In my opinion a couple of things can be concluded. The performance impact is insignificant since 3% is barely within the margin of error on benchmarks. The price impact in these days of cheap memory is insignificant. The frequency of soft errors in SDRAM is high enough at high altitudes (Denver, CO, for example) to be of concern. Paying 10-20% more for memory to avoid potential data corruption seems like a low price to pay. In a way, ECC is like insurance on memory errors, if you care about data integrity and system reliability then it?s worth the premium.
 

SUOrangeman

Diamond Member
Oct 12, 1999
8,361
0
0
ECC = error code checking (I think)

Meant for stability, thus it is definitely slower than non-ECC (a whopping clock cycle, mebbe two). Will you really notice a difference in speed? I doubt it. Chances are your favorite game's framereate will drop 4 notches to 26.99999996 bazillion FPS. Worth the price? Only your wallet can tell.

-SUO
 

kly1222

Golden Member
Oct 9, 1999
1,102
0
0
Waste of money, don't get it. Only useful in servers where 100% uptime is demanded.

Save your money, and get an extra fps or two in the process :)

After saying this....it's kinda funny how I have a couple sticks of ecc in my system :Q