閃光磨損管理

Android Automotive 內部儲存使用嵌入式多媒體卡 (eMMC),具有數千次擦除/寫入週期;如果 eMMC 發生故障,系統可能會變得無法使用。由於車輛的使用壽命很長(通常為 10 年以上),因此 eMMC 必須極為可靠。本頁介紹 eMMC 行為以及 OEM 如何降低 eMMC 故障的風險(從而避免 Android Automotive 系統故障)。

eMMC 行為

eMMC 裝置使用磨損均衡技術,透過在系統中均勻排列資料和分佈寫入來解決擦除/寫入限制(因此不會有單一區塊因密集寫入而失敗)。 eMMC 的預期壽命取決於:

  • 寫入量。在手機上,每天寫入內部儲存的資料量可能超過 10 GB。在汽車實施方面,由於應用程式有限,我們沒有關於將寫入多少資料的真實資料。然而,當使用者播放高品質音樂並使用導航時,我們觀察到每分鐘有 50 MB 資料寫入 eMMC。將來,我們可能會有其他類型的寫入密集型應用程序,例如連續記錄和儲存影片的儀表板攝影機應用程式。此外,有些汽車是每天使用數小時的共享車輛。基於這些原因以及其他原因,我們預期 Android Automotive 實現的 eMMC 寫入量將多於手機。
  • 寫模式。寫入和擦除都是以區塊的形式完成的。頻繁地以小塊寫入資料比以較大區塊的頻率寫入相同數量的資料對 eMMC 的磨損更快。
  • eMMC 的可用大小。更大的儲存大小意味著磨損均衡演算法可以將寫入分散到更多的區塊上。
  • 磨損均衡技術。
  • 環境因素。例如,工作溫度範圍通常為攝氏 -20 至 85 度;超過此範圍的溫度可能會進一步縮短 eMMC 的使用壽命。

對於具有 16 GB 可用空間和 3k 擦除/寫入週期的 eMMC,我們估計如下:

每日寫作16 GB 32GB
預計使用壽命10年5年

然而,隨著可用儲存大小的減少,在 eMMc 完全磨損之前,系統就會停止正常運行,並且根據所使用的均衡技術和寫入模式,eMMC 的使用壽命可能會更短。此外,這項估計並未考慮行為不當或惡意應用程式的影響,這些應用程式可能會在沒有特殊權限的情況下透過將大塊垃圾資料寫入 eMMC 來攻擊汽車系統。

為了在 eMMC 實際發生故障之前檢測到可能的故障,應內建適當的儲存運作狀況監控作為整體系統運作狀況監控的一部分

執行

Android O 支援的功能使 OEM 能夠保護和監控 Android Automotive 的內部儲存並延長其使用壽命。

限制第三方應用程式

為了保護 Android Automotive 系統的內部存儲,Android O 允許 OEM 配置是否可以在內部儲存上安裝第三方應用程式(應用程式只能寫入其安裝的分割區)。若要進行配置,請在資源覆蓋中設定以下配置:

<bool name="config_allow3rdPartyAppOnInternal">false</bool>

減少閃光磨損

擔心內部儲存快閃記憶體磨損的 OEM 還可以添加足夠快的 SD 卡來用作所採用的儲存。 SD 卡有以下行為:

  • 採用後,SD 卡經過加密,可安全地儲存應用程式資料。
  • SD 卡插槽必須位於安全位置(使用者不應經常移除 SD 卡)。
  • SD 卡無法用於在汽車系統和電腦之間傳輸資料。
  • 彈出 SD 卡不會影響正在運作的系統。但是,除非需要更換,否則不應將其刪除。

為了確保第二方應用程式(由汽車應用程式開發人員建立的應用程式)可以在汽車強制要求的情況下安裝在 SD 卡上,汽車應用程式開發人員必須包含android: installLocation =["auto" | "preferExternal"]應用程式清單檔案中的android: installLocation =["auto" | "preferExternal"]

如果汽車不允許在內部儲存上安裝第三方應用程式(如限制第三方應用程式中所述),如果沒有此標誌(或如果配置了installLocation =internalOnly設定),應用程式安裝將失敗。

使用 storaged 取得磁碟指標

Android O 引入了storaged ,這是一項新的系統服務,用於採樣和發布磁碟和 eMMc 指標,例如有關整體磁碟使用情況、eMMC 生命週期估計和每個應用程式磁碟 I/O 統計資訊的資訊。當內部儲存開始發生故障或特定應用程式執行過多磁碟 I/O 時,OEM 可以使用此資訊警告使用者。有關詳細信息,請參閱實現 storaged

驗證

此功能已在PackageManager測試中進行了測試。