# ECC memory

> computer memory which detects and corrects errors

**Wikidata**: [Q2544919](https://www.wikidata.org/wiki/Q2544919)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/ECC_memory)  
**Source**: https://4ort.xyz/entity/ecc-memory

## Summary
ECC memory is computer memory which detects and corrects errors. It uses error correction code to enhance reliability, availability, and serviceability of computer systems.

## Key Facts
- ECC memory is a type of computer memory that uses error correction code to detect and correct errors.
- It is a subclass of computer memory and a class of In-band ECC memory.
- ECC memory enhances reliability, availability, and serviceability of computer systems.
- ECC memory modules typically have 9 memory ICs per side (as shown in the provided image), compared to the 8 typical for non-ECC modules.
- It is different from registered memory, though partially coincident with it.
- ECC memory has aliases including error-correcting-code memory, error-correcting-code RAM, ECC RAM, ECC, error-correcting memory, and error-correcting RAM.
- The freebase ID for ECC memory is /m/0jws4.
- ECC memory has a Microsoft Academic ID (discontinued): 2776257961.
- ECC memory is available in multiple languages including Arabic, Catalan, Czech, English, Estonian, Persian, French, Italian, Japanese, and Korean.
- The Gentoo wiki article for ECC memory is "ECC_RAM" in English.

## FAQs
### Q: What is the main purpose of ECC memory?
A: ECC memory is designed to detect and correct errors in computer memory, enhancing reliability and preventing data corruption in critical systems.

### Q: How does ECC memory differ from regular memory?
A: ECC memory uses additional bits for error detection and correction, typically having 9 memory ICs per side instead of 8 like regular memory modules. This allows it to identify and fix single-bit errors and detect multi-bit errors.

### Q: Where is ECC memory commonly used?
A: ECC memory is typically used in systems where data integrity is critical, such as servers, workstations, and scientific computing equipment.

### Q: Can ECC memory be used in any computer?
A: While ECC memory can be used in compatible systems, it requires motherboard support and is generally more expensive than non-ECC memory, making it less common in consumer-grade computers.

## Why It Matters
ECC memory plays a critical role in maintaining system reliability and data integrity, particularly in environments where errors could have significant consequences. By detecting and correcting errors in real-time, ECC memory prevents silent data corruption that could go undetected in standard memory systems. This is especially important for servers and mission-critical systems where downtime or data loss can be catastrophic. The error correction capabilities of ECC memory make it essential for applications requiring high availability, such as financial systems, scientific computing, and database servers. Without ECC memory, these systems would be more vulnerable to memory errors caused by cosmic rays, electrical interference, or component degradation.

## Notable For
- ECC memory is distinguished by its ability to detect and correct single-bit errors and detect double-bit errors using error correction code.
- It typically has 9 memory ICs per side, unlike the 8 typical for non-ECC modules, providing the additional bits needed for error detection and correction.
- ECC memory maintains compatibility with standard memory systems while adding enhanced error protection capabilities.
- It represents a significant advancement in memory technology compared to earlier generations without error correction capabilities.
- ECC memory is essential for applications where data integrity is critical, setting it apart from consumer-grade memory solutions.

## Body
### Definition and Functionality
ECC memory, or Error-Correcting Code memory, is a type of computer memory that detects and corrects errors automatically. It uses additional memory bits to implement error correction codes, allowing it to identify and fix single-bit errors in real-time. This capability makes ECC memory significantly more reliable than standard memory, which lacks this error correction functionality.

### Technical Specifications
ECC memory modules typically have 9 memory ICs per side, compared to the 8 found in non-ECC modules. The additional chip provides the extra bits needed for error detection and correction. ECC memory uses specific algorithms to monitor data integrity and apply corrections when errors are detected. This implementation allows ECC memory to maintain data integrity even when memory cells experience bit flips due to cosmic rays, electrical interference, or component degradation.

### Applications and Use Cases
ECC memory is primarily used in systems where data integrity is critical. Common applications include servers, workstations, scientific computing equipment, and financial systems. These environments cannot afford the risks associated with memory errors, which could lead to corrupted data or system crashes. While ECC memory can be used in compatible consumer systems, it is generally found in professional and enterprise-grade equipment due to its higher cost and the requirement for motherboard support.

### Relationship with Other Memory Types
ECC memory is a subclass of computer memory and a class of In-band ECC memory. It differs from registered memory, though it has some partial coincidences with this technology. While both ECC and registered memory enhance system reliability, they do so through different mechanisms. Registered memory uses registers between the memory controller and the memory modules to improve signal integrity, while ECC memory focuses on data correction at the bit level.

### Historical Development and Evolution
The concept of error-correcting code in memory systems has evolved alongside computing technology. ECC memory builds on earlier error detection methods by adding correction capabilities. The Freebase ID for ECC memory is /m/0jws4, and it has a Microsoft Academic ID (discontinued) of 2776257961, reflecting its academic significance in computer science research. The Gentoo wiki provides documentation for ECC memory under the article "ECC_RAM" in English, indicating its importance in Linux and open-source communities.

### Global Availability and Documentation
ECC memory is documented in multiple languages, including Arabic, Catalan, Czech, English, Estonian, Persian, French, Italian, Japanese, and Korean. This multilingual documentation reflects its global adoption in various computing environments. The Wikipedia article on ECC memory has 19 sitelinks, indicating its established presence across different language editions of Wikipedia. The image documentation for ECC memory specifically highlights the visual distinction between ECC and non-ECC modules, showing the characteristic 9 memory ICs per side in ECC modules.

## References

1. Freebase Data Dumps. 2013