Dual-Mode Memory Programming for Power Failure Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile storage systems, particularly multi-level cell flash memory devices, are vulnerable to data corruption due to power failures during programming operations, which can affect both currently-written and previously-stored data, leading to loss or corruption of Least Significant Bits (LSBs) and Most Significant Bits (MSBs).
Innovation Solution
Implementing a dual-mode operation system for memory cells, where a 'normal mode' and a 'protected mode' are defined, with the protected mode ensuring that analog values remain unambiguously indicative of the stored data values during power interruptions by shifting programming levels, thus isolating corruption to the currently-written data and maintaining recoverability of LSB data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If normal mode programming is used to improve programming speed, then productivity increases, but data reliability deteriorates due to vulnerability to power failure corruption
Solution Approach 1:
The system dynamically switches between normal mode and protected mode based on operational requirements. The memory controller can transition from normal mode (faster programming) to protected mode (power failure resistant) and back, allowing the system to optimize for speed when safe and for reliability when needed. This dynamic adaptation resolves the contradiction by making the programming mode flexible rather than fixed.
Solution Approach 2:
The invention changes the programming parameters by introducing protected mode with modified programming operations that maintain unambiguous analog values throughout the programming process. This parameter change enables power failure resistance while the system can switch between different programming parameter sets (normal vs. protected mode) based on current operational context.
2Reliability
If protected mode is used continuously to ensure data safety, then reliability improves, but programming speed deteriorates
Solution Approach 1:
Instead of continuously operating in protected mode, the system dynamically transitions between normal mode and protected mode based on specific events or conditions. This allows the system to maintain high programming speed during normal operation while briefly entering protected mode when reliability is needed, thus resolving the speed-reliability tradeoff.
Solution Approach 2:
The system applies protected mode programming partially rather than continuously - only when specific events occur or when transitioning between states. This partial application of the slower protected mode minimizes its impact on overall programming speed while still providing reliability benefits when needed.
3Quantity of substance
If analog values are modified during programming to store additional data, then storage capacity increases, but measurement precision deteriorates due to ambiguous data interpretation
Solution Approach 1:
The invention changes the programming parameters by establishing protected mode with specific constraints on how analog values are modified. The programming operations in protected mode are designed to maintain unambiguous analog values throughout the process, ensuring that even as storage capacity increases through multiple programming operations, the precision of data interpretation is preserved.
Solution Approach 2:
The system incorporates verification mechanisms that check whether analog values remain unambiguous during programming operations. This feedback ensures that modifications to analog values for storing additional data do not compromise the ability to accurately interpret the stored values, thus maintaining measurement precision while increasing storage capacity.
Data Source
AI summary
A method for data storage includes, for a memory including groups of memory cells, defining a normal mode and a protected mode, wherein in the protected mode a respective analog value of each memory cell remains at all times unambiguously indicative of a respective data value stored in that memory cell. Data is initially stored in the memory using the normal mode. In response to an event, the protected mode is reverted to for at least one of the groups of the memory cells.


