Flash Memory Re-programming via Delta and Non-Delta Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for re-programming electronic control units (ECUs) in vehicles are inefficient and costly, particularly due to the increasing complexity and number of software programs, necessitating a more effective flash programming technique.
Innovation Solution
The method employs delta programming for a first set of software modules and non-delta programming for a second set, utilizing designated temporary backup sectors in the flash memory to ensure efficient and cost-effective re-programming without increasing ECU complexity or cost.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If traditional non-delta programming is used for all software modules, then the programming process is simple, but the re-programming time and data transmission overhead increase significantly
Solution Approach 1:
The software modules are segmented into two categories: those suitable for delta programming and those requiring non-delta programming. This segmentation allows the system to apply different programming strategies to different modules, optimizing overall re-programming efficiency while managing complexity.
Solution Approach 2:
Delta programming is applied partially to only those software modules that benefit from it, rather than attempting to apply it universally. This partial application reduces re-programming time for applicable modules while avoiding the complexity overhead for modules where traditional programming remains more efficient.
2Productivity
If delta programming is used for all software modules, then the re-programming efficiency increases, but the risk of programming errors and data loss increases
Solution Approach 1:
Backup sectors are designated and prepared in advance before the delta programming process begins. These pre-designated backup areas ensure that original data can be preserved or restored if programming errors occur, thereby maintaining reliability while enabling efficient delta programming.
Solution Approach 2:
The designated backup sectors act as an intermediary safety mechanism between the original software modules and the delta programming process. They provide a buffer that protects against data loss while allowing the efficient delta programming methodology to proceed.
3Reliability
If temporary backup memory space is designated from the second set of sectors, then the failsafe mechanism is enabled, but the available space for the second set of software modules is reduced
Solution Approach 1:
The allocation of flash memory sectors is dynamic rather than fixed. The second set of sectors is initially designated for software modules but can be temporarily repurposed as backup space during the programming process. After programming completes, these sectors revert to their original purpose, maximizing space utilization over time.
Solution Approach 2:
The designated backup sectors are temporarily used during the programming process and then recovered for their original purpose afterward. This temporary appropriation enables the failsafe mechanism without permanently reducing the storage capacity available for software modules.
4Ease of manufacture
If generically programmed ECUs are provided and later re-programmed, then the initial ECU manufacturing cost is reduced, but the re-programming process becomes more complex and time-consuming
Solution Approach 1:
The re-programming process is segmented into two distinct phases: delta programming for modules that can be efficiently updated incrementally, and non-delta programming for modules requiring complete reprogramming. This segmentation accelerates the overall re-programming process while maintaining the cost benefits of generic ECU manufacturing.
Solution Approach 2:
The programming methodology changes parameterically across different software modules, switching between delta and non-delta approaches based on module characteristics. This parameter-based approach optimizes re-programming speed while preserving the economic advantages of generic ECU production.
Data Source
AI summary
A method of re-programming flash memory of a computing device is presented here. Software content having a plurality of software modules can be re-programmed by identifying, from the software modules, a first set of software modules to be programmed by delta programming and a second set of software modules to be programmed by non-delta programming. A first set of sectors of the flash memory is assigned for programming the first set of software modules, and a second set of sectors is assigned for programming the second set of software modules. At least some of the second set of sectors are designated as temporary backup memory space. The first set of sectors is programmed with the first set of software modules, using delta programming and the designated temporary backup memory space. After programming the first set of sectors, the second set of sectors is programmed with the second set of software modules, using non-delta programming.


