Memory Spare Allocation with Redundant Pointer ECC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory devices in electronic systems are prone to failures over time, leading to transient and permanent errors, which can result in uncorrectable errors and render memory locations unusable, especially when transient and permanent failures occur simultaneously.
Innovation Solution
A system with a live section and a spares section, where failed entries in the live section are replaced by allocated spare entries, and the failed entries are coded with multiple copies of a pointer to the spare entry, each protected by error correction code (ECC), to ensure reliable access and error correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECC is used to correct transient failures, then transient errors are corrected, but permanent failures cannot be corrected and memory locations become unusable
Solution Approach 1:
The system pre-allocates spare memory locations before failures occur. When a permanent failure is detected in a live section, the controller automatically redirects future accesses to the pre-prepared spare location, eliminating the need for complex real-time reallocation and maintaining memory usability despite permanent failures
Solution Approach 2:
The system changes the operational state of memory locations by marking failed locations as unusable and activating their corresponding spare locations. This parameter change allows the memory system to adapt to permanent failures by transitioning from a static memory map to a dynamic one where spares are activated based on failure detection
2Reliability
If multiple copies of pointer with ECC are stored in failed entry, then error detection and correction capability is improved, but memory space is consumed
Solution Approach 1:
The system stores multiple copies of the pointer to the spare location within the failed entry itself. By placing N copies of the pointer (where N is the ECC capability) in the failed entry, the system ensures that even if some copies are corrupted, the ECC can recover the correct spare location address, providing excessive error protection within the available space of the failed entry
3Reliability
If spares section is allocated to replace failed entries, then memory functionality is maintained, but device complexity increases
Solution Approach 1:
The memory is segmented into distinct live sections and spare sections. Each live section has dedicated spare locations allocated to it, creating a modular structure where failures in one section can be independently handled by its corresponding spares without affecting other sections, thereby managing complexity through organized division
Data Source
AI summary
In one embodiment, a system includes a memory that includes a live section and a spares section. The live section may be mapped to the address space of the system, and may be accessed in response to memory operations. Once an entry in the live section has been detected as failed, an entry in the spares section may be allocated to replace the failed entry. During subsequent accesses to the failed entry, the allocated entry may be used instead. In an embodiment, the failed entry may be coded with an indication of the allocated entry, to redirect to the allocated entry. In one implementation, for example, the failed entry may be coded with N copies of a pointer to the allocated entry, each copy protected by corresponding ECC.


