Recently, Automotive News Europe published an article of mine – 5 reasons autonomous vehicles are not smartphones on wheels. In the article, I explain how critical software is for vehicles and why comparing them to smartphones doesn’t do them justice. Thank you to the people at Automotive News Europe for featuring the piece; if you haven’t seen the article yet, please feel free to head on over and give it a read.

The topic is extremely interesting for me, and I wanted to elaborate more some of the key points.

Storage software – an automotive frontier

Research from McKinsey indicates that the automotive-related software market will double in the next ten years, reaching roughly USD 469 billion by 2030. Additionally, software will account for 90 percent of innovations in the vehicle. Undoubtedly, OEMs and car manufacturers want a slice of the cake, and no one wants to end last in the CASE race. Autonomous cars not only require a significant amount of development, but also a change in the mindsets of most car manufacturers. Mobility players are pursuing several strategies to build the next-generation vehicles. Some, like Tesla, are developing their own full self-driving chips. Other companies, like Volkswagen, are bringing software capabilities in-house. Partnerships, acquisitions, and venture investments are commonplace these days. This software-based approach to car design has inevitably led to coined terms like “smartphone on wheels” or “rolling data centers”. This type of thinking is necessary if automotive companies want to devise new service business opportunities and ways of monetizing transportation beyond the car, pushing the industry forward while bringing added value to their users and differentiating themselves. Yet the car is a tough environment, and if OEMs want to avoid situations like the resounding case of Tesla’s flash memory issue, or even delays in launches, they should not forget certain inherent characteristics of a vehicle that make software design for cars an altogether different matter. Let’s approach this from a storage software perspective.

Performance

Who hasn’t experienced laggy playback of a video or an application freeze for apparently no reason on their smartphone? Often a reboot – temporarily – fixes the problem, with no more harm done than a momentarily frustrated user. However, in a safety-critical environment such as the car, there is minimal room for latency and communication challenges; real-time, rapid response times are a must.

There are several factors that play a role in performance, like the file size, the way the device is partitioned, the file system implementations themselves, and contrary to popular belief, fragmentation. Automotive systems must handle multiple data streams – for example, video from dash cams, sensor data, GPS data, and log files are all being written at the same time. This type of heavy-write workload fragments the storage to a great degree, quickly degrading performance. Automotive OEMs should therefore implement solutions that prevent fragmentation in the first place, and that can keep sustained and consistent performance for long periods of time under intensive write operations.

Storage capacity

Autonomous vehicles will largely exceed the storage capacity of typical consumer electronics devices. While most flagship smartphones average an internal storage capacity of 256 GB (with the exception of the Samsung S10+ which has a 1TB version), data storage requirements for cars with a level 4 or 5 autonomy raise that figure up to 5 TB.  Cameras, radars and sensors, ADAS features, infotainment and HD maps, mandatory event data recorders (EDRs, popularly “black boxes”) and driver monitoring systems (DMS), regulated OTA updates, and applications enabled from added connectivity to the vehicle are the main drivers behind this increase in storage, making automotive Tier-1s shift from eMMC to UFS and NVMe SSDs. This change is not trivial, as eMMCs are soldered directly to the motherboards while SSDs are removable modules. Another key consideration is that eMMCs and SSDs contain raw NAND flash devices alongside a controller and firmware to manage the flash memory. The controller in a managed NAND device is responsible for hiding the inconvenient characteristics of NAND to make it appear to function like a disk.

Temperature

Automotive components must withstand operating temperatures of -40°C to 125°C whereas consumer electronic devices should work on the range 0-70°C. Temperature plays a great role on a drive’s endurance and data retention. The NAND chips on an SSD store data in cells comprised of floating-gate transistors which are surrounded by an oxide layer that traps electrons. The strength of the oxide layer is affected by temperature – the hotter the temperature, the higher the risk of bit errors due to electrons leaking and voltage changing. Similarly, extreme cold temperatures cause their own performance issues. If the SSD cannot correct and handle these bit errors, system errors will occur. Automotive grade SSDs implement additional error correction techniques to prevent this from happening and ensure the integrity of the data. However, there is a tradeoff – these additional techniques mean more program and erase (P/E) operations, which shorten the lifetime of the media. This brings me to the next point.

Lifetime

Consumers replace their smartphones every 2 or 3 years, but they expect cars to last at least 10 years. As such, the Automotive Electronics Council (AEC) assumes a product target lifetime of 15 years in their specifications for non-volatile memory meant to be used in automotive environments. To support such a long operating lifetime, flash media software and file systems play a critical role that is often overlooked. Flash memory suffers from write amplification, an issue caused by the need of erasing the data before it can be rewritten. Because the erase operation is coarser than the write operation – erase is done in wider blocks compared to writing – the actual amount of data written physically to the storage device is more than the logical amount intended. The write amplification factor (WAF) represents how efficiently the flash is used. The higher the WAF, the faster the memory will wear out and be rendered unusable. At this point, wear leveling techniques used to reduce premature flash wear become crucial – who would want their car to be recalled because an SSD needs to be replaced? Users of eMMC or SSDs typically have little or no control over wear leveling – it is implemented transparently by the controller firmware. OEMs should look for software and controllers that make use of intelligent wear levelling mechanisms, ensuring that reading and writing data is done in the most efficient way possible, so that the storage achieves its longest possible lifetime.

Data processing

Consumer electronic devices are resource-constrained, but through mobile cloud computing they are able to bypass their limitations and bring rich experiences and applications to their users. This is achieved by offloading data processing and data storage to the cloud. In autonomous vehicles however, that concept has been shelved in favor of in-vehicle processing. Sensor data will account for approximately 90% of the data onboard a vehicle, and an enormous amount of possible interactions and corner cases must be processed locally or at the edge. Then, when that data is no longer necessary, is simply discarded on the ground. In addition, the car has numerous concurrent applications that access the same data or files. For example, maps data is used by both the infotainment system and the cluster, and sensor data can be used by both ADAS and EDR systems. Centralized architectures and the use of hypervisors and virtualized environments – in which different automotive functions, operating systems, and applications run on the same hardware – have been the answer so far to avoid having a trunk full of data. While this approach helps automakers reduce their BOM and hardware costs, it also means that they need a storage software stack that is up to the task, equipped with file systems and storage management tools that make full use of its hardware capabilities while optimizing CPU consumption. In this case support features would also be needed, such as parallel processing, active caching, and compression.

Autonomous Vehicles Smartphones Key storage attributes
Temperature -40°C to 125°C 0 to 70°C Data retention and integrity
Lifetime +10 years 3 years Wear leveling
Storage capacity 1-5 TB 256 GB Efficient allocation and management tools
Data processing Local + Edge Cloud Parallel operations
Performance Safety-critical + UX User Experience Fragmentation

Table 1. Differences between smartphones and autonomous vehicles based on storage attributes.

Final thoughts

In an environment where many components are becoming a commodity, automotive players have turned to software as the driver for their breakthroughs and main differentiators. For end-users, the software features of a vehicle are a key factor for car selection; only safety and reliability play a more decisive role. The tremendous amount of data associated to autonomous vehicles is acting as a catalyst for new services and businesses, and carmakers are looking at other industries and markets for ideas. The answer might not be there, as the car and the infrastructure around it are full of peculiarities not seen in other fields. Storage software is one of those aspects that can be easily overlooked but is critical for the safety, performance, and user experience of a vehicle. What is clear is that the automotive industry is experiencing a revolution not seen since the motor engine, and success awaits to OEMs and suppliers who can seize these new opportunities.

Car makers and Tier-1s, let’s solve your automotive embedded storage challenges.

Contact us