Solid State Storage Wear-Leveling via Local Pulse Counters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In solid state storage systems using NAND flash memory, the uneven usage of memory areas leads to premature wear and error generation due to the limited erase cycles of flash memory units, necessitating effective wear-leveling to extend the lifetime of SSDs.
Innovation Solution
A solid state storage system with a memory area that includes a lifetime management unit to store program pulse counts, allowing the main memory controller to determine programming based on these counts, thereby ensuring uniform usage and reducing the load on the controller.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If wear-leveling is performed by the main controller to ensure uniform memory usage, then the lifetime of flash memory is extended, but the controller load increases and system performance deteriorates
Solution Approach 1:
The patent implements self-service by enabling the memory area to autonomously count program pulses and manage its own wear-leveling information. Each memory block includes a program pulse counter that automatically tracks usage, eliminating the need for the main controller to perform wear-leveling calculations and decisions, thus reducing controller load while extending flash memory lifetime
Solution Approach 2:
The patent introduces an intermediary mechanism in the form of program pulse counters embedded within the memory area. These counters act as intermediaries between the memory blocks and the main controller, collecting and managing wear-leveling data locally, which reduces the communication overhead and processing burden on the main controller while ensuring uniform memory usage
2Stability of the object's composition
If the main controller performs wear-leveling operations, then uniform memory area usage is achieved, but the controller load increases
Solution Approach 1:
The patent applies segmentation by dividing the wear-leveling management function into independent units at the memory block level. Each block has its own program pulse counter that independently tracks usage, segmenting the centralized control function distributed across multiple memory blocks, thereby reducing the complexity and load on the main controller while maintaining uniform memory usage
Data Source
AI summary
A solid state storage system includes a memory area having a plurality of pages and is capable of storing program information about each page. The memory area stores the number of pulse counts applied to each page. A main memory controller receives the program information from the memory area and determines whether to program pages according to the program information. The main memory controller determines whether the program information for a page is at a predetermined amount and if the corresponding page should be programmed again or not.


