IO Virtualization for Real Time Automotive Systems

Sriramakrishnan Govindarajan, Mihir Mody, Gregory Shurtz, Chuck Fuoco, Kedar Chitnis, Nikhil Devshatwar, Don Steiss, Jonathan Bergsagel, Jason Jones, Prithvi Shankar Y A · 2022

Virtualization is common in enterprise systems to isolate multiple server applications using the same underlying HW. In automotive systems virtualization is fast becoming table stakes to isolate safety applications like ADAS (Advanced Driver Assist System) and infotainment using the same underlying SOC. This presents unique challenges related to peripheral IO virtualization, not seen in enterprise systems, like deterministic latency to external memory (<5 cycles) and high data throughput (6-10GB/s for real-time camera's and display's. Traditional approach to peripheral virtualization involves usage of a centralized IOMMU using 2-level page table with a table walk through, which make the scheme non-deterministic and lower throughput. This paper proposes a automotive friendly approach to peripheral IO virtualization, using multiple innovations like, HW engine for level 1 deterministic scatter-gather operation via Peripheral Address Translation (PAT) unit, level 2 virtual machine context aware translation via Peripheral Virtualization Unit (PVU), and ability for these schemes to co-exists with tradition IOMMU schemes for non-real time traffic. The proposed virtualization system is implemented on the Jacinto 7 platform to virtualize a multi-camera ADAS system with multimedia infotainment application to give deterministic peripheral IO address translation latency of 2 cycles per transaction and system data throughput of 8 GB/s.

Read the paper · More papers on PaperTik