Algebraic Wear-Leveling for Flash Memory Bad Block Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Limited lifetime memory devices, such as flash and phase change memory, face issues with wear-leveling and bad block management due to uneven usage and cell failure, leading to premature failure and data errors, which existing technologies struggle to address effectively.
Innovation Solution
Implementing a method that uses algebraic mapping to distribute writes uniformly across memory devices, detects and redirects bad blocks, and employs a circular buffer and Bloom Filter for efficient wear-leveling and bad block management, minimizing bookkeeping complexity and eliminating the need for table-based mappings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If table-based mappings are used for address translation, then address mapping accuracy is improved, but device complexity and bookkeeping overhead increase
Solution Approach 1:
The patent replaces table-based address mapping with an algebraic mapping function that computes physical addresses directly from logical addresses using mathematical formulas. This eliminates the need for large lookup tables and complex bookkeeping structures, significantly reducing device complexity while maintaining mapping accuracy through deterministic algebraic computation.
Solution Approach 2:
The patent uses a circular buffer to maintain copies of wear-leveling information in a compact form that can be efficiently updated and queried. Instead of maintaining complex table structures, the system uses simplified buffer copies that track essential wear-state information, reducing bookkeeping overhead while preserving necessary mapping functionality.
2Duration of action of stationary object
If wear-leveling is implemented to distribute writes uniformly, then memory device lifespan is extended, but device complexity increases
Solution Approach 1:
The patent replaces complex wear-leveling management systems with algebraic mapping functions that inherently distribute writes uniformly across the memory device. The mathematical formulation automatically achieves wear-leveling without requiring complex bookkeeping, state tracking, or manual intervention, thus extending memory lifespan while minimizing added complexity.
Solution Approach 2:
The algebraic mapping system is self-regulating and automatically distributes writes uniformly without external control or complex management logic. The system serves itself by using the properties of the algebraic functions to inherently achieve wear-leveling, eliminating the need for separate wear-leveling control mechanisms.
3Reliability
If bad block detection and redirection is implemented, then data reliability is improved, but device complexity and access time increase
Solution Approach 1:
The patent implements preliminary detection and marking of bad blocks during initial memory characterization or during normal operation. Once identified, bad blocks are pre-marked with redirection information stored in the algebraic mapping structure. This preliminary action allows subsequent accesses to be redirected immediately without requiring read-before-write operations, thus maintaining data reliability while minimizing access time penalties.
4Device complexity
If algebraic mapping is used instead of table-based mapping, then device complexity is reduced, but measurement precision of address mapping may be affected
Solution Approach 1:
The patent substitutes table-based mapping with algebraic mapping functions that provide deterministic and precise address translation. The algebraic formulas ensure exact mapping relationships without the approximation errors or lookup inconsistencies that can occur with table-based systems, thereby maintaining or even improving mapping precision while significantly reducing device complexity.
Data Source
AI summary
Performing wear-leveling and bad block management of limited lifetime memory devices. A method for performing wear-leveling in a memory includes receiving logical memory addresses and applying a randomizing function to the logical memory addresses to generate intermediate addresses within a range of intermediate addresses. The intermediate addresses are mapped into physical addresses of a memory using an algebraic mapping. The physical addresses are within a range of physical addresses that include at least one more location than the range of intermediate addresses. The physical addresses are output for use in accessing the memory. The mapping between the intermediate addresses and the physical addresses is periodically shifted. In addition, contents of bad blocks are replaced with redundantly encoded redirection addresses.


