In the world of software updates – why are we even talking about hardware?
For in-vehicle applications, the software that runs different functions is installed directly into the vehicle (unlike cloud-based applications that we’re getting accustomed to in other industries). There are as many as 100 mini computers or electric control units (ECU) in a vehicle, each consisting of both software and the hardware components that run them. When manufacturers plan the ECU components, one of the key decisions is what size memory to allocate. Chip makers price memory storage (Flash and RAM) differently based on capacity – and the price difference between the different sizes is tremendous.
To ensure the cost of a vehicle is as effective as possible, manufacturers purchase memory chips based on the size of the program file. Since flash sizes are standard and program sizes can vary, often not all memory is utilized. For example, if one program (measured in compiled binary code) is 13MB, the closest chip size is 16MB, leaving 3MB free for software image growth over time.
To conduct software updates, a sufficient amount of available space must be available on the memory drive.
Why do OTA solutions require available memory space?
There are a few different methods in the market today to send update files to vehicles. Some send the entire program all over again, and some send the delta or only the changes between the current and the new version of software. However, to assure a failsafe update process, all the different methodologies have one thing in common: you don’t erase the existing version until the new one is safely installed. Verifications of the newly updated version and the enablement of a safe rollback to the previous version is required to ensure a smooth transition.
This means that at any given time, an ECU’s memory must allow for both the original program as well as the complete update file simultaneously – making the need for memory greater than the original size of the program. Using our earlier example, a 13MB application taking up 81% footprint may not leave sufficient memory space for additional update files.
The initial (now legacy) OTA update methods require a full second/redundant bank of flash memory, also known as A/B memory. Whether a full image or binary diff update, it is very costly and requires creating dual partitions in the endpoint memory and doubling the available memory. In this manner, the updated software version image is written to the second partition, and if it fails, the system can revert to the previous version that is located on the first partition.
How much can a little flash drive possibly cost?
Conservative prices for 512MB NAND flash chips that might be used in domain controller architectures cost about $8 each, but a manufacturer may produce several million vehicles annually with multiple (3-4) domain controllers, TCU, Head-Units and gateways. Even in architecture with smaller discrete micro-controller ECUs that use 2, 4, 8 or 16 MB flash memory chips, they typically still cost $1 or more each, and a vehicle may have 100 ECUs that are required to be updateable. If a manufacturer builds 10 million vehicles a year that require double banks of flash memory, the additional cost could easily surpass $1.5 billion.
To read more details about potential costs of OTA updates, visit the Guidehouse Insights‘ Cost Consideration Guide.
Aurora Labs‘ additive update files – the cost-effective alternative
Aurora Labs‘ Line-of-Code Intelligence technology has revolutionized the way that updates files are created. Unlike existing binary diff update methods, Aurora Labs‘ Auto Update integrates into the development toolchain and automatically analyzes and identifies changes in the lines of code. With this intimate understanding of the software, we are able to generate the world’s smallest update files (6x smaller than other binary diff methods and a fraction of the size of a full software image). Our small update files are additive update files that are written to the next free space on the existing flash memory. As many as 20 update files can be written to the existing free space avoiding the need for additional memory drives or even external memory ‚boosters‘.
To learn more about our OTA technology, visit the Auto Update product page.