ECC Protection for Volatile Memory Bit Flips in Sleep Mode
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory systems in battery-powered mobile devices face unpredictable device failures due to bit flips in volatile memory during sleep mode, caused by reduced power supply voltage, leading to erroneous command bits and processor confusion.
Innovation Solution
A memory system and method that utilizes an error correction code (ECC) module to encode, decode, and correct data in volatile memory during sleep mode, leveraging the same ECC module used for non-volatile memory during active mode, generating parity bits upon entering sleep mode and correcting errors upon exiting.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If power is reduced to volatile memory during sleep mode to conserve battery energy, then energy consumption is reduced, but bit flips occur causing data corruption
Solution Approach 1:
The system performs preliminary error correction by using the ECC module to correct bit flips in volatile memory immediately upon waking from sleep mode, before the corrupted data is used. This preliminary action prevents data corruption from propagating through the system while still allowing power reduction during sleep mode.
Solution Approach 2:
The ECC module serves as an intermediary between the volatile memory and the processor. During sleep mode transitions, the ECC module mediates by detecting and correcting bit flips in the volatile memory data before it reaches the processor, thus protecting against data corruption without requiring continuous power to the volatile memory.
2Device complexity
If the ECC module is dedicated solely to non-volatile memory during active mode, then hardware complexity is minimized, but volatile memory cannot be protected during sleep mode
Solution Approach 1:
The ECC module is designed with multi-functionality to serve both non-volatile memory during active mode and volatile memory during sleep mode transitions. The controller detects the system state and dynamically assigns the ECC module's functionality accordingly, eliminating the need for separate error correction hardware for volatile memory while maintaining protection capabilities.
Data Source
AI summary
In one embodiment, a memory system is provided comprising a volatile memory, a non-volatile memory, and an error correction code (ECC) module. The ECC module is configured to encode, decode, and correct data stored in the volatile memory when the memory system enters and exits a sleep mode and is further configured to encode, decode, and correct data stored in the non-volatile memory when the memory system is in an active mode.


