Dual Write Memory Block Management for Endurance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory systems, such as flash memory, face challenges with limited endurance and increased vulnerability as cell dimensions shrink, leading to data integrity issues and unusable memory portions due to elevated defect levels and wear out, necessitating improved block management to enhance yield.
Innovation Solution
Implementing a dual programming scheme with different trim parameters for secondary copy blocks to increase their endurance, allowing for reduced allocation of blocks and separate wear leveling, thereby improving yield by maintaining higher endurance blocks in a separate pool.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory cell dimensions are scaled down to increase capacity per unit area, then storage density is improved, but cell endurance and data integrity deteriorate due to increased vulnerability and defect levels
Solution Approach 1:
The memory system is segmented into primary and secondary memory spaces, where the primary space uses standard scaled-down cells for high density, and the secondary space uses larger, more robust cells for reliable long-term storage. This segmentation allows each segment to be optimized for its specific function without compromising the other.
Solution Approach 2:
Different memory regions are assigned different cell sizes and characteristics: smaller cells in the primary region for capacity, and larger cells in the secondary region for endurance. This local differentiation of quality allows the system to simultaneously achieve high storage density and high reliability in different locations.
2Reliability
If more blocks are allocated for secondary writes to ensure data integrity, then reliability is improved, but the number of available blocks for primary writes decreases, reducing productivity
Solution Approach 1:
The system changes the physical parameter of cell size for secondary memory blocks, making them larger than primary blocks. This parameter change increases the endurance and reliability of secondary blocks while reducing the total number of blocks needed for secondary storage, thereby preserving more blocks for primary writes and maintaining high productivity.
3Device complexity
If uniform block management is used for primary and secondary copies, then device complexity is reduced, but the endurance of secondary copies deteriorates due to lack of optimized wear leveling
Solution Approach 1:
The block management system is segmented into separate management schemes for primary and secondary blocks. Primary blocks use standard wear leveling algorithms, while secondary blocks use specialized algorithms that account for their larger size and different usage patterns. This segmentation enables optimized endurance management for secondary blocks without significantly increasing overall system complexity.
Solution Approach 2:
The system dynamically adjusts wear leveling strategies based on the type of block being accessed. When secondary blocks are involved, the wear leveling algorithm adapts to their specific characteristics, such as larger size and different program/erase patterns, thereby optimizing their endurance without affecting primary block performance.
Data Source
AI summary
A storage device with a memory may improve yield by reducing the allocation of blocks for secondary writes in a dual programming system. In a dual programming system, all host writes are written to both a primary copy and to a secondary copy. If the secondary copy blocks that are available have a higher endurance, then the overall allocation of available blocks for use as a secondary copy block can be reduced (improving yield). In one embodiment, utilizing different trim parameters for the secondary copy blocks may be used to increase the endurance for those blocks. Before programming the secondary copy, the trim parameters may be adjusted to increase endurance and after programming the secondary copy, the trim parameters may be adjusted back to the default value that is used when programming the primary copy.


