Manajemen Keausan Flash di Android Automotive

Penyimpanan internal Android Automotive menggunakan Embedded MultiMediaCard (eMMC) dengan ribuan siklus hapus/tulis; jika eMMC gagal, sistem dapat menjadi tidak dapat digunakan. Karena kendaraan memiliki rentang hidup yang panjang (biasanya 10+ tahun), eMMC harus sangat andal. Halaman ini menjelaskan perilaku eMMC dan bagaimana OEM dapat menurunkan risiko kegagalan eMMC (dan dengan demikian menghindari kegagalan sistem Android Automotive).

perilaku eMMC

Perangkat eMMC menggunakan teknik perataan keausan untuk mengatasi batasan penghapusan/penulisan dengan mengatur data dan mendistribusikan penulisan secara merata di seluruh sistem (sehingga tidak ada satu blok pun yang gagal karena penulisan intensif). Perkiraan masa pakai eMMC tergantung pada:

  • Jumlah tulisan . Di ponsel, jumlah data yang ditulis ke penyimpanan internal bisa lebih dari 10GB per hari. Pada implementasi Otomotif, kami tidak memiliki data dunia nyata tentang berapa banyak data yang akan ditulis karena aplikasi yang terbatas. Namun, saat pengguna streaming musik berkualitas tinggi dan menggunakan navigasi, kami mengamati data 50MB yang ditulis ke eMMC setiap menit. Di masa mendatang, kami mungkin memiliki jenis aplikasi intensif penulisan lainnya, seperti aplikasi kamera dasbor yang terus merekam dan menyimpan video. Selain itu, beberapa mobil akan menjadi kendaraan bersama yang digunakan beberapa jam setiap hari. Untuk alasan ini dan lainnya, kami berharap implementasi Android Automotive memiliki lebih banyak penulisan eMMC daripada ponsel.
  • Menulis pola . Penulisan dan penghapusan dilakukan dalam blok. Menulis data yang sering dalam potongan kecil memakai eMMC lebih cepat daripada menulis jumlah data yang sama lebih jarang dan dalam potongan yang lebih besar.
  • Tersedia ukuran eMMC . Ukuran penyimpanan yang lebih besar berarti algoritme perataan keausan dapat menyebarkan penulisan ke sejumlah besar blok.
  • Pakai teknik leveling.
  • Faktor lingkungan . Contohnya termasuk kisaran suhu operasi biasanya -20 ~ 85 Celcius; suhu di luar kisaran ini selanjutnya dapat memperpendek umur eMMC.

Untuk eMMC dengan ruang yang dapat digunakan 16 GB dan siklus hapus/tulis 3k, kami memperkirakan hal berikut:

Tulisan harian 16GB 32GB
Perkiraan waktu hidup 10 tahun 5 tahun

Namun, sistem akan berhenti berfungsi dengan baik jauh sebelum eMMc benar-benar aus karena ukuran penyimpanan yang dapat digunakan berkurang, dan eMMC mungkin memiliki masa pakai yang lebih pendek tergantung pada teknik leveling dan pola penulisan yang digunakan. Selain itu, perkiraan ini tidak mempertimbangkan efek aplikasi yang berperilaku buruk atau berbahaya, yang dapat menyerang sistem Otomotif dengan menulis blok besar data sampah ke eMMC tanpa izin khusus.

Untuk mendeteksi kemungkinan kegagalan eMMC sebelum benar-benar terjadi, pemantauan kesehatan penyimpanan yang tepat harus dibangun sebagai bagian dari pemantauan kesehatan sistem secara keseluruhan.

Penerapan

Android O mendukung fitur yang memungkinkan OEM melindungi dan memantau penyimpanan internal Android Automotive dan memperpanjang masa pakainya.

Membatasi aplikasi pihak ketiga

Untuk melindungi penyimpanan internal sistem Android Automotive, Android O memungkinkan OEM untuk mengonfigurasi apakah aplikasi pihak ketiga dapat diinstal pada penyimpanan internal (aplikasi hanya dapat menulis ke partisi tempat aplikasi tersebut diinstal). Untuk mengonfigurasi, setel konfigurasi berikut di hamparan sumber daya:

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

Mengurangi keausan flash

OEM yang peduli dengan keausan flash pada penyimpanan internal juga dapat menambahkan kartu SD yang cukup cepat untuk digunakan sebagai penyimpanan yang diadopsi. Kartu SD memiliki perilaku berikut:

  • Saat diadopsi, kartu SD akan dienkripsi dan aman untuk menyimpan data aplikasi.
  • Slot kartu SD harus berada di lokasi yang aman (pengguna tidak diharapkan untuk sering mengeluarkan kartu SD).
  • Kartu SD tidak dapat digunakan untuk mentransfer data antara sistem Otomotif dan komputer.
  • Mengeluarkan kartu SD tidak akan memengaruhi sistem yang sedang berjalan. Namun, itu tidak boleh dihapus kecuali jika perlu diganti.

Untuk memastikan aplikasi pihak kedua (yang dibuat oleh pengembang aplikasi mobil) dapat diinstal pada kartu SD jika mandat mobil, pengembang aplikasi mobil harus menyertakan android: installLocation =["auto" | "preferExternal"] di file manifes aplikasi.

Jika mobil tidak mengizinkan aplikasi pihak ketiga dipasang di penyimpanan internal (seperti yang dijelaskan dalam Membatasi aplikasi pihak ketiga ), tanpa tanda ini (atau jika pengaturan installLocation =internalOnly dikonfigurasi), pemasangan aplikasi akan gagal.

Mendapatkan metrik disk dengan storaged

Android O memperkenalkan storaged , layanan sistem baru yang mengambil sampel dan memublikasikan metrik disk dan eMMc seperti informasi tentang penggunaan disk secara keseluruhan, estimasi masa pakai eMMC, dan statistik I/O disk per aplikasi. OEM dapat menggunakan informasi ini untuk memperingatkan pengguna saat penyimpanan internal mulai gagal atau saat aplikasi tertentu menjalankan terlalu banyak I/O disk. Untuk detailnya, lihat Menerapkan storaged .

Validasi

Fitur ini diuji dalam pengujian PackageManager .