Since the 1970s, the way to add new capabilities into the car has been to add an electronic control unit (ECU) for each new feature. ECUs give us convenient features such as electronic mirror controls, but some take care of many of today’s safety-critical systems like anti-lock brakes. Over time, the number of ECUs inside a car has grown to over 100 in top-of-the-line cars.
Understandably, we’re reaching a point where the number of ECUs is exceeding the finite space able to house all the electronics and associated cabling required to connect everything together. Not to mention the costs—the cabling to network all these ECUs is the third most costly car component. Thus, a movement to consolidate ECUs began sweeping through the automotive industry. As cars become smarter and increasingly autonomous, this trend toward consolidation continues, but it’s not without challenges.
Consolidation is complex, all the way down to the storage
Consolidation has been a complicated issue to solve, with software being a large part of the complexity. Traditionally, ECUs used real-time operating systems (RTOS) to run their various tasks and interfaced with simple EEPROM or NOR storage to do only a few bytes of writing when required. However, today, some safety-critical ECUs (for example, driver assistance systems or event data recorders) handle much more complex functions such as object recognition and sensor fusion. These systems are doing very intensive data writing to large-capacity NAND-flash storages built on eMMC, UFS, and PCIe flash standards. At the same time, we’ve seen overwhelming growth of Linux and Android OSes inside the car, especially in infotainment systems.
The core goal of consolidation is to reduce the amount of hardware. This goal is facilitated through virtualization of the hardware using software, usually using a host/guest OS architecture. Such architecture can be enabled using a hypervisor layer to share the hardware for each “parallel” OS, or by simply running virtual machines inside the host OS. In many vehicle domains, conflicts are created by mixing safety critical and non-safety critical systems together. The most common example is the consolidated cockpit, where the safety-critical cluster (running an RTOS) and the IVI-system (running Linux) are sharing the same hardware—including storage.
Storage software differs across platforms
The biggest challenge that arises from this shared storage access is the file systems for the chosen RTOS. File systems play an important role in storage read and write performance, data integrity (or fail-safety), flash endurance, and data and storage interoperability. Generally, RTOSes do not have very sophisticated file systems and data storage functionality. And even in the case that an RTOS file system is well developed, these RTOS file systems are vastly different than those used in Linux or Android.
In a virtualized, consolidated ecosystem, it takes a lot of additional effort to know how the file systems work, especially if there is integration, debugging, and optimizations to be done. Auto makers would need many experts within the company to do the integration and optimization work, because deep familiarity with many different systems is required. Plus, testing and validation of the end-product is harder when there are different file systems present. Not to mention there is a huge difference in features that file systems offer and how they’re implemented: encryption and compression are good examples which can be implemented in many different ways—either built in to the file system or as separate modules. There aren’t common APIs to do this all this.
The only file system that makes consolidation easier
But there is one file system solution that bridges the gap between all these various operating systems. Reliance Velocity is our premier embedded data storage engine, designed to bring the ultimate performance, reliability, security, and longest lifetime to any flash hardware—whether it’s UFS, eMMC, SSD, or SD. It is also the only file system to reliably support all the major automotive operating systems including, Linux, QNX, Android, and Green Hills Integrity. Reliance Velocity also brings support for complex file system features such as encryption, compression, and health monitoring to all of the supported platforms unlike ever seen before.
At Tuxera, we have a long history of providing interoperable file systems in the automotive industry. Because of our solid reputation, our customers rely on us for help in these complex consolidation efforts. We handle the storage integration across all these various operating systems, achieving the best data read and write performance for each component accessing a shared storage.
Auto makers and Tier-1 suppliers: get more technical info about Tuxera Reliance Velocity file system.