Android Automotive 中的閃存磨損管理 emmc

Android Automotive 中的閃存磨損管理

Android Automotive 內部存儲設備使用了支持上千次清空/寫入週期的嵌入式多媒體卡 (eMMC);若是 eMMC 發生故障,系統可能會變得沒法使用。因爲汽車的使用壽命較長(一般爲 10 年以上),所以 eMMC 必須很是穩定可靠。本頁面介紹了 eMMC 行爲,以及 OEM 如何下降 eMMC 發生故障的風險(從而避免 Android Automotive 系統發生故障)。html

eMMC 行爲

eMMC 設備使用耗損均衡技術來解決清空/寫入限制的問題,具體方法是在整個系統內均勻地放置數據和分配寫入操做(避免單個塊因密集寫入而發生故障)。eMMC 的預計使用壽命取決於如下因素:android

  • 寫入量。在手機上,天天寫入內部存儲設備的數據量可能會超過 10GB。在 Android Automotive 實現中,因爲應用數量有限,咱們沒法提供有關會有多少數據寫入的真實數據。不過,據咱們觀察,當用戶流式傳輸高品質音樂和使用導航時,每分鐘寫入 eMMC 的數據有 50MB。將來,可能會出現其餘類型的寫入密集型應用,例如持續錄製和存儲視頻的中控臺攝像頭應用。另外,有些汽車是天天都會有幾個小時處於行使狀態的共享車輛。因爲這些緣由及其餘緣由,咱們預計 Android Automotive 實現會面臨比手機更多的 eMMC 寫入量。
  • 寫入模式。寫入和清空操做是在塊中進行的。 與不太頻繁地在較大的區塊中寫入數據相比,在較小的區塊中頻繁地寫入相同的數據量會更快地磨損 eMMC。
  • eMMC 的可用空間。較大的存儲空間意味着耗損均衡算法能夠將寫入分攤到較多的塊中。
  • 耗損均衡技術。
  • 環境因素。例如:工做溫度範圍一般介於 -20 和 85 攝氏度之間;若是溫度超出此範圍,eMMC 的使用壽命會進一步縮短。

對於具備 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 卡會被加密,能夠安全存儲應用數據。
  • SD 卡槽必須位於安全的位置(不要讓用戶頻繁移除 SD 卡)。
  • SD 卡不能用於在 Automotive 系統和計算機之間傳輸數據。
  • 彈出 SD 卡不會影響正在運行的系統。不過,除非須要更換,不然不該移除 SD 卡。

要確保第二方應用(由汽車應用開發者構建的應用)能夠安裝在 SD 卡上(若是汽車提供受權的話),汽車應用開發者必須將 android:installLocation=["auto" | "preferExternal"] 歸入應用的清單文件中。加密

若是汽車禁止將第三方應用安裝在內部存儲設備上(如限制第三方應用中所述),則在沒有上述標記(或者若是配置了 installLocation=internalOnly 設置)的狀況下,應用安裝將會失敗。spa

使用 storaged 獲取磁盤指標

Android O 中引入了 storaged,這是一個新的系統服務,會對磁盤指標和 eMMc 指標進行採樣併發布,例若有關整體磁盤使用狀況、估算的 eMMC 使用壽命和磁盤 I/O 統計數據(按應用統計)的信息。當內部存儲設備開始出現故障或特定應用執行的磁盤 I/O 過多時,OEM 可使用這些信息來向用戶發出警告。有關詳情,請參閱實現 storaged

相關文章
相關標籤/搜索