Stacked Flash MCU Chip for Read-While-Write OTA Firmware Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional MCU chips face efficiency issues due to the inability to perform simultaneous read, write, and erase operations on flash memory dies, which hampers operating efficiency and supports for over-the-air (OTA) upgrades.
Innovation Solution
The MCU chip incorporates two flash memory dies connected to the MCU die via separate bus interfaces, allowing address mapping control for temporal access sequencing. During OTA upgrades, the new firmware is programmed into a second flash memory die without affecting operations on the first die, enabling read-while-write operations and reducing the impact of erase and program operations on efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single flash memory die is used with the MCU die, then the device complexity is reduced, but the operating efficiency and OTA upgrade support deteriorate due to inability to perform simultaneous read, write and erase operations
Solution Approach 1:
The flash memory storage system is segmented into multiple independent flash memory dies (at least two), each capable of independent read, write, and erase operations. This segmentation allows parallel operations where one flash die can be programmed/erased while another simultaneously serves for code execution, thereby resolving the contradiction by enabling simultaneous operations across multiple dies while maintaining individual die simplicity.
Solution Approach 2:
The system transitions from a single-dimensional flash memory architecture to a multi-dimensional architecture by stacking multiple flash memory dies in three-dimensional integration. This dimensional change enables spatial parallelism where different dies can perform different operations simultaneously, improving productivity without proportionally increasing complexity at the system level.
2Adaptability or versatility
If a single flash memory die is used for firmware storage, then the device structure is simplified, but the OTA upgrade efficiency and cost deteriorate
Solution Approach 1:
The flash memory system is divided into multiple dies with distinct functional roles: one flash die dedicated for code execution and another for OTA upgrade operations. This segmentation enables independent upgrade operations on the dedicated flash die without affecting the running code, thereby improving OTA upgrade adaptability while managing complexity through functional separation.
Solution Approach 2:
A flash memory die acts as an intermediary storage medium for OTA upgrades, receiving updated firmware images and making them available for execution. This intermediary flash die buffers the upgrade process, allowing the system to switch between old and new firmware versions without direct modification of the executing code, thus improving upgrade versatility while containing complexity.
3Productivity
If erase or program operations are performed on the flash memory die, then the firmware can be updated, but the read operation and operating efficiency deteriorate due to inability to perform simultaneous operations
Solution Approach 1:
The flash memory system is segmented into at least two independent dies: one dedicated for code execution (read operations) and another for firmware updates (program/erase operations). This segmentation enables simultaneous execution of read operations on the first flash die while program/erase operations occur on the second flash die, thereby maintaining both high operating efficiency and reliable firmware updates without operational conflicts.
Solution Approach 2:
The firmware is copied from the update flash die to the execution flash die or to an internal buffer before being executed. This copying mechanism ensures that the running code remains unchanged during update operations, maintaining system reliability, while allowing aggressive program/erase operations on the dedicated update flash die without impacting current operations.
4Adaptability or versatility
If the OTA upgrade version of firmware is programmed into the flash memory, then the firmware can be updated, but the system security deteriorates if the upgrade is invalid
Solution Approach 1:
The system performs preliminary validation checks on the OTA upgrade firmware before executing it. This includes verifying checksums, digital signatures, or other integrity markers of the updated firmware in the flash memory die before switching to it. This preliminary action ensures that only valid, authenticated firmware is executed, maintaining system security while enabling flexible firmware updates.
Solution Approach 2:
The system maintains a backup of the valid old firmware version in the flash memory die before performing OTA updates. If the new firmware proves invalid or causes system failure, this beforehand cushioning (backup) allows the system to roll back to the known-good previous version, thereby protecting system security and reliability while enabling aggressive firmware update capabilities.
Data Source
Figure 1~2
Figure 3~4(b)
Figure 5(a)~6A
AI summary
The present invention provides an MCU chip (200) composed of an MCU die (201) and two or more flash memory dies stacked and packaged with the MCU die (201). In order to update firmware by means of an OTA upgrade, an OTA upgrade version of the firmware may be programmed into a second flash memory die, and an older version of the firmware may be stored in a first flash memory die. In this way, programming the OTA upgrade version of the firmware into the second flash memory die does not affect any operation in the first flash memory die, allowing RWW operations in the MCU chip (200). As a result, the influence of erase and program operations in the flash memory dies on operating efficiency of the firmware is greatly reduced, resulting in increases in operating performance, operating efficiency, support to OTA upgrades and upgrading efficiency of the MCU chip (200).