Microcontroller Flash Memory Segmentation for Storage Expansion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microcontrollers in vehicle electronics face memory constraints due to limited FLASH ROM with EEPROM emulation, leading to increased costs and efforts when software updates or firmware changes require more storage space, often necessitating hardware upgrades or replacements.
Innovation Solution
Implementing a method that optimizes memory utilization by separating executable code into faster RAM and non-executable data into slower flash memory with EEPROM emulation, allowing for increased available storage capacity without the need for hardware changes, and using additional inexpensive memory for non-executable parts if needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If FLASH ROM with EEPROM emulation is used to reduce costs, then microcontroller cost is reduced, but available storage capacity for program code is limited
Solution Approach 1:
The program code is divided into two segments: executable code stored in FLASH ROM and non-executable data stored in the EEPROM emulation area. This segmentation allows the limited FLASH ROM to be used efficiently for code execution while the larger EEPROM emulation area stores data, effectively increasing the total available storage capacity without requiring a larger FLASH ROM chip.
Solution Approach 2:
The FLASH ROM chip is made multi-functional by using it not only for storing executable program code but also, through EEPROM emulation, for storing non-executable data. This universal usage of the same hardware resource increases the overall storage capacity available to the application without adding additional memory chips.
2Adaptability or versatility
If program code size increases within product cycle, then software functionality is improved, but available memory becomes insufficient
Solution Approach 1:
The system dynamically adapts to increasing software requirements by allowing the program code to grow into the EEPROM emulation area when needed. This dynamic memory allocation enables software updates and functionality improvements within the product cycle without being constrained by the original FLASH ROM size, as the system can utilize the EEPROM emulation area for additional code or data storage.
3Quantity of substance
If larger derivative microcontroller is installed to accommodate more code, then storage capacity is increased, but cost increases
Solution Approach 1:
The effective storage capacity parameter is changed by enabling EEPROM emulation functionality in the FLASH ROM chip. This parameter change allows the same physical hardware to provide increased storage capacity through software-based memory management, eliminating the need to upgrade to a more expensive microcontroller with larger built-in FLASH ROM while maintaining the required storage capacity for expanded software functionality.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The invention relates to a method for making optimum use of flash memories in a micro-controller having an electrically erasable programmable read-only memory emulation, said method comprising the step of dividing (400) information (100) to be deposited in a computer memory into a first piece of information (110) having executable code, and a second piece of information (120) having non-executable code. If a free storage capacity of a first memory (210) is sufficiently large to receive the first piece of information (110), the method comprises the step of depositing (31001) the first piece of information (110) in the first memory (210). If a free storage capacity of a second memory (220) is sufficiently large to receive the second piece of information (120), the method comprises the step of depositing (32002) the second piece of information (120) in the second memory (220). Or, if the free storage capacity of the second memory (220) is not sufficiently large to receive the second piece of information (120), the method comprises the steps of: switching off (420) an electrically erasable programmable read-only memory emulation of the second memory (220); freeing up (421) the storage capacity that is no longer required due to the switching off (420) of the electrically erasable programmable read-only memory emulation of the second memory (220), thereby increasing the free storage capacity of the second memory (220); and depositing (32002) the second piece of information (120) in the second memory (220). In this way, the first memory (210) permits quicker access to the information stored therein than the second memory (220).