Archived 2025-06-15 On The Wayback Machine
Usually, ECC memory maintains a memory system immune to single-bit errors: the information that is learn from each word is always the identical as the info that had been written to it, even when one of many bits actually stored has been flipped to the fallacious state. Most non-ECC memory cannot detect errors, though some non-ECC memory with parity help permits detection but not correction. ECC Memory Wave is utilized in most computers the place information corruption can't be tolerated, like industrial control applications, important databases, and infrastructural memory caches. Error correction codes protect in opposition to undetected knowledge corruption and are used in computer systems the place such corruption is unacceptable, examples being scientific and monetary computing applications, or in database and file servers. ECC can also reduce the number of crashes in multi-person server functions and most-availability programs. Electrical or magnetic interference inside a computer system could cause a single bit of dynamic random-access memory (DRAM) to spontaneously flip to the alternative state.
It was initially thought that this was mainly resulting from alpha particles emitted by contaminants in chip packaging materials, but analysis has proven that the majority of 1-off tender errors in DRAM chips happen because of background radiation, mainly neutrons from cosmic ray secondaries, which may change the contents of one or more memory cells or interfere with the circuitry used to read or write to them. Therefore, the error MemoryWave Guide rates enhance rapidly with rising altitude; for instance, in comparison with sea stage, the speed of neutron flux is 3.5 instances greater at 1.5 km and 300 occasions larger at 10-12 km (the cruising altitude of commercial airplanes). In consequence, systems operating at excessive altitudes require special provisions for reliability. For example, the spacecraft Cassini-Huygens, launched in 1997, contained two equivalent flight recorders, each with 2.5 gigabits of memory within the type of arrays of business DRAM chips. Due to built-in EDAC performance, the spacecraft's engineering telemetry reported the number of (correctable) single-bit-per-phrase errors and (uncorrectable) double-bit-per-phrase errors.
Throughout the primary 2.5 years of flight, the spacecraft reported a nearly fixed single-bit error charge of about 280 errors per day. Nonetheless, on November 6, 1997, throughout the primary month in house, the number of errors elevated by greater than an element of 4 on that single day. There was some concern that as DRAM density increases additional, and thus the components on chips get smaller, whereas operating voltages continue to fall, DRAM chips shall be affected by such radiation more often, since lower-vitality particles will likely be in a position to vary a memory cell's state. However, smaller cells make smaller targets, and strikes to technologies such as SOI might make individual cells much less prone and so counteract, or even reverse, this trend. Work revealed between 2007 and 2009 showed extensively varying error rates with over 7 orders of magnitude difference, starting from 10−10 error/(bit·h), roughly one bit error per hour per gigabyte of memory, to 10−17 error/(bit·h), roughly one bit error per millennium per gigabyte of memory.
A large-scale examine based mostly on Google's very giant number of servers was presented at the SIGMETRICS/Efficiency '09 conference. The actual error price found was several orders of magnitude greater than the previous small-scale or laboratory studies, with between 25,000 (2.5×10−11 error/(bit·h)) and 70,000 (7.0×10−11 error/(bit·h), or 1 bit error per gigabyte of RAM per 1.8 hours) errors per billion device hours per megabit. Greater than 8% of DIMM Memory Wave modules had been affected by errors per yr. The consequence of a memory error is system-dependent. In techniques with out ECC, an error can lead either to a crash or to corruption of knowledge; in giant-scale production sites, memory errors are one of the-frequent hardware causes of machine crashes. Memory errors can cause safety vulnerabilities. A memory error can have no consequences if it modifications a bit which neither causes observable malfunctioning nor impacts data used in calculations or saved. A 2010 simulation research showed that, for an internet browser, solely a small fraction of memory errors induced data corruption, although, as many memory errors are intermittent and correlated, the results of memory errors have been better than can be expected for unbiased gentle errors.