Android Automotive 內部存儲設備使用了支持上千次清空/寫入週期的嵌入式多媒體卡 (eMMC);若是 eMMC 發生故障,系統可能會變得沒法使用。因爲汽車的使用壽命較長(一般爲 10 年以上),所以 eMMC 必須很是穩定可靠。本頁面介紹了 eMMC 行爲,以及 OEM 如何下降 eMMC 發生故障的風險(從而避免 Android Automotive 系統發生故障)。html
eMMC 設備使用耗損均衡技術來解決清空/寫入限制的問題,具體方法是在整個系統內均勻地放置數據和分配寫入操做(避免單個塊因密集寫入而發生故障)。eMMC 的預計使用壽命取決於如下因素:android
對於具備 16GB 可用空間和 3000 次清空/寫入週期的 eMMC,咱們估算的數據以下:算法
日寫入量 | 16GB | 32GB |
---|---|---|
預計使用壽命 | 10 年 | 5 年 |
不過,隨着可用存儲空間的減小,系統可能會早在 eMMc 完全磨損以前就中止正常運行,而且根據所使用的均衡技術和寫入模式,eMMC 的使用壽命甚至可能會更短。此外,這方面的估算並無將行爲異常的應用或惡意應用的影響考慮在內,這些應用可能會在沒有特殊權限的狀況下將大量垃圾數據寫入 eMMC 來攻擊 Automotive 系統。安全
要在潛在的 eMMC 故障實際發生以前就檢測出來,應將適當的存儲設備運行情況監控功能整合到總體系統運行情況監控功能中。併發
藉助 Android O 支持的功能,OEM 能夠保護和監控 Android Automotive 的內部存儲設備,並延長其使用壽命。app
爲了保護 Android Automotive 系統的內部存儲設備,Android O 支持 OEM 配置是否容許第三方應用安裝在內部存儲設備中(應用只能向其安裝所在的分區寫入數據)。要進行配置,請在資源疊加層中設置如下配置:ide
<bool name="config_allow3rdPartyAppOnInternal">false</bool>
若是 OEM 擔憂內部存儲設備上的閃存磨損問題,也能夠增長 SD 卡,SD 卡支持足夠快的數據寫入速度,可用做合併存儲設備。SD 卡具備如下行爲:ui
要確保第二方應用(由汽車應用開發者構建的應用)能夠安裝在 SD 卡上(若是汽車提供受權的話),汽車應用開發者必須將 android:installLocation=["auto" | "preferExternal"]
歸入應用的清單文件中。加密
若是汽車禁止將第三方應用安裝在內部存儲設備上(如限制第三方應用中所述),則在沒有上述標記(或者若是配置了 installLocation=internalOnly
設置)的狀況下,應用安裝將會失敗。spa
Android O 中引入了 storaged,這是一個新的系統服務,會對磁盤指標和 eMMc 指標進行採樣併發布,例若有關整體磁盤使用狀況、估算的 eMMC 使用壽命和磁盤 I/O 統計數據(按應用統計)的信息。當內部存儲設備開始出現故障或特定應用執行的磁盤 I/O 過多時,OEM 可使用這些信息來向用戶發出警告。有關詳情,請參閱實現 storaged。