Logical Memory Unit for Flash Address Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The integration of Flash memory into processing systems is complicated due to its complex memory management requirements, such as programming constraints and limited write cycles, making it difficult to replace EEPROM without significant software modifications.
Innovation Solution
Implementing a Flash memory interface between the processing unit and the Flash memory, which includes a memory management unit and a logical memory unit to manage physical and logical addresses, allowing the processing unit to access Flash memory without needing to account for its specific programming constraints, and using a separate chip or integrating the interface on the Flash memory chip.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If Flash memory is integrated directly into processing systems, then storage speed and non-volatile capabilities are improved, but memory management complexity increases due to programming constraints and limited write cycles
Solution Approach 1:
A logical memory unit is introduced as an intermediary layer between the processing unit and the physical Flash memory. This LMU receives logical addresses from the processing unit, translates them to physical addresses, and manages all Flash-specific operations including wear leveling, bad block management, and erase-before-program constraints. The processing unit interacts only with the simple logical interface, while the LMU handles the complexity of Flash memory management.
Solution Approach 2:
The memory system is segmented into distinct functional units: the processing unit, the logical memory unit, and the physical Flash memory array. The LMU itself is divided into address translation logic, wear leveling controller, and data buffer components. This segmentation allows each unit to be optimized independently, with the LMU shielding the processing unit from Flash complexity.
2Duration of action of stationary object
If software modifications are made to accommodate Flash memory constraints, then memory lifespan is extended through even distribution of writes, but development time and complexity increase significantly
Solution Approach 1:
The logical memory unit implements self-service wear leveling and memory management algorithms automatically. It monitors write cycles, tracks usage patterns, and redistributes data across the Flash array without external intervention. The system performs bad block detection and remapping autonomously, eliminating the need for application software to implement complex wear leveling schemes.
Solution Approach 2:
The LMU acts as a mediator that absorbs all Flash-specific management complexities. It implements wear leveling, trim operations, and lifecycle management internally, presenting a simplified interface to the processing unit. This allows existing software to continue operating without modification while the LMU handles lifespan extension in the background.
3Speed
If EEPROM is replaced by Flash memory, then storage speed is improved, but programming constraints and erase operation requirements create operational complexity
Solution Approach 1:
The logical memory unit serves as an intermediary that translates simple write operations from the processing unit into appropriate Flash operations. It determines whether to perform program, erase, or read operations based on the current state of the Flash memory, and handles the granularity constraints of Flash programming automatically.
Solution Approach 2:
The logical memory unit provides a universal interface that masks the different operational modes of Flash memory (program, erase, read, trim). It presents a unified write interface to the processing unit while internally managing the different operation types required by Flash constraints, making the system as easy to operate as traditional EEPROM.
Data Source
Figure 1~2
Figure 3~4
AI summary
The invention concerns a Flash memory interface comprising: a memory management unit (302) including a comparator (306) configured to determine whether an address of a Flash memory access operation corresponds to logical or physical address by comparing the address with one or more address ranges; a logical memory unit (304) configured to convert logical addresses into physical addresses and to provide the physical addresses to the Flash memory; wherein the memory management unit (302) is configured to direct physical addresses to the Flash memory and to direct logical addresses to the logical memory unit (302) for conversion into physical addresses.