Flash Memory Programming Sequence for Power Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Portable memory devices with MLC flash memory face instability issues and excessive power consumption during write/program operations, exceeding predetermined specifications.
Innovation Solution
A method and controller for dynamic resource management in memory devices, where a programming sequence is set for non-volatile memory elements, determining a selection interval and checking the busy state of previous elements to program only when they are not busy, thereby controlling power consumption and preventing excessive usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If MLC flash memory is used to increase recording density and reduce cost, then storage capacity and cost-effectiveness are improved, but power consumption during program operations becomes excessive and instability issues arise
Solution Approach 1:
The memory device is divided into multiple independent memory elements (first, second, third, and fourth memory elements) that can be programmed separately. This segmentation allows the controller to program only one memory element at a time, distributing the power consumption across different time periods rather than concentrating it all at once, thereby preventing instantaneous power consumption from exceeding specifications while maintaining high storage capacity through MLC technology.
2Quantity of substance
If MLC flash memory is used to increase recording density, then storage capacity is improved, but instability issues occur during operation
Solution Approach 1:
The memory device is divided into multiple independent memory elements (first, second, third, and fourth memory elements) that can be programmed separately. This segmentation allows the controller to program only one memory element at a time, distributing the power consumption across different time periods rather than concentrating it all at once, thereby preventing instantaneous power consumption from exceeding specifications while maintaining high storage capacity through MLC technology.
Solution Approach 2:
The controller dynamically determines the programming sequence of memory elements based on their current state and power consumption constraints. The system adaptively selects which memory element to program next, checking the busy state of each element and adjusting the programming schedule in real-time to ensure stable operation within power specifications.
3Productivity
If multiple memory elements are programmed simultaneously to improve productivity, then programming speed is improved, but instantaneous power consumption exceeds predetermined specifications
Solution Approach 1:
The memory device is divided into multiple independent memory elements (first, second, third, and fourth memory elements) that can be programmed separately. This segmentation allows the controller to program only one memory element at a time, distributing the power consumption across different time periods rather than concentrating it all at once, thereby preventing instantaneous power consumption from exceeding specifications while maintaining high storage capacity through MLC technology.
Solution Approach 2:
The controller implements periodic programming actions by sequentially programming memory elements one at a time rather than simultaneously. The system uses a programmed sequence that periodically switches between different memory elements, ensuring that power consumption remains within specifications while still achieving productive data storage through systematic sequential operations.
Data Source
AI summary
A memory device includes a non-volatile (NV) memory including a plurality of NV memory elements. A method for performing programming management of the NV memory includes: setting a programming sequence of the NV memory elements; determining a selection interval between each of the NV memory elements according to the programming sequence and a serial number of each of the NV memory elements; for a target NV memory element of the plurality of NV memory elements in the programming sequence, determining a serial number of an immediately previous NV memory element in the programming sequence according to the selection interval and a serial number of the target NV memory element; determining whether the immediately previous NV memory element is in a busy state; and only when the immediately previous NV memory element is not in the busy state, programming the target NV memory element.


