Quản lý hao mòn flash

Bộ nhớ trong của Android Automotive sử dụng Thẻ đa phương tiện nhúng (eMMC) với hàng nghìn chu kỳ xóa/ghi; nếu eMMC bị lỗi, hệ thống có thể không sử dụng được. Vì xe có tuổi thọ dài (thường trên 10 năm) nên eMMC phải cực kỳ đáng tin cậy. Trang này mô tả hành vi của eMMC và cách OEM có thể giảm nguy cơ xảy ra lỗi eMMC (và do đó tránh được các hệ thống Android Automotive bị lỗi).

hành vi eMMC

Các thiết bị eMMC sử dụng kỹ thuật cân bằng hao mòn để khắc phục các hạn chế xóa/ghi bằng cách sắp xếp dữ liệu và phân phối thao tác ghi đồng đều trên toàn hệ thống (để không có khối đơn lẻ nào bị lỗi do ghi nhiều). Tuổi thọ ước tính của eMMC phụ thuộc vào:

  • Số lượng viết . Trên điện thoại, lượng dữ liệu được ghi vào bộ nhớ trong có thể hơn 10 GB mỗi ngày. Về triển khai Ô tô, chúng tôi không có dữ liệu thực tế về lượng dữ liệu sẽ được ghi do số lượng ứng dụng hạn chế. Tuy nhiên, khi người dùng phát trực tuyến nhạc chất lượng cao và sử dụng tính năng điều hướng, chúng tôi nhận thấy có 50 MB dữ liệu được ghi vào eMMC mỗi phút. Trong tương lai, chúng tôi có thể có các loại ứng dụng ghi nhiều khác, chẳng hạn như ứng dụng camera trên bảng điều khiển liên tục ghi và lưu trữ video. Ngoài ra, một số ô tô là phương tiện đi chung được sử dụng nhiều giờ mỗi ngày. Vì những lý do này và những lý do khác, chúng tôi kỳ vọng việc triển khai Android Automotive sẽ có nhiều lượt ghi eMMC hơn so với điện thoại.
  • Viết mẫu . Viết và xóa được thực hiện theo khối. Việc ghi dữ liệu thường xuyên theo từng phần nhỏ sẽ làm hao mòn eMMC nhanh hơn so với việc ghi cùng một lượng dữ liệu ít thường xuyên hơn và theo các phần lớn hơn.
  • Kích thước có sẵn của eMMC . Kích thước lưu trữ lớn hơn có nghĩa là thuật toán cân bằng hao mòn có thể trải rộng việc ghi trên số lượng khối lớn hơn.
  • Mặc kỹ thuật san lấp mặt bằng.
  • Nhân tố môi trường . Các ví dụ bao gồm phạm vi nhiệt độ hoạt động thường từ -20 đến 85 độ C; nhiệt độ vượt quá phạm vi này có thể rút ngắn hơn nữa tuổi thọ của eMMC.

Đối với eMMC có dung lượng sử dụng là 16 GB và chu kỳ xóa/ghi 3k, chúng tôi ước tính như sau:

Viết hàng ngày 16GB 32GB
Tuổi thọ ước tính 10 năm 5 năm

Tuy nhiên, hệ thống sẽ ngừng hoạt động bình thường rất lâu trước khi eMMc hoàn toàn cạn kiệt do kích thước lưu trữ khả dụng giảm và eMMC có thể có tuổi thọ thậm chí còn ngắn hơn tùy thuộc vào kỹ thuật cân bằng và kiểu ghi được sử dụng. Ngoài ra, ước tính này không xem xét tác động của các ứng dụng độc hại hoặc hoạt động sai, có thể tấn công các hệ thống Ô tô bằng cách ghi khối lượng lớn dữ liệu rác vào eMMC mà không có quyền đặc biệt.

Để phát hiện lỗi eMMC có thể xảy ra trước khi nó thực sự xảy ra, cần tích hợp tính năng theo dõi tình trạng lưu trữ thích hợp như một phần của việc theo dõi tình trạng hệ thống tổng thể

Thực hiện

Android O hỗ trợ các tính năng cho phép OEM bảo vệ và giám sát bộ nhớ trong của Android Automotive, đồng thời kéo dài tuổi thọ của thiết bị.

Hạn chế ứng dụng của bên thứ ba

Để bảo vệ bộ nhớ trong của hệ thống Android Automotive, Android O cho phép các OEM định cấu hình xem có thể cài đặt ứng dụng của bên thứ ba trên bộ nhớ trong hay không (ứng dụng chỉ có thể ghi vào phân vùng mà chúng đã được cài đặt). Để định cấu hình, hãy đặt cấu hình sau trong lớp phủ tài nguyên:

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

Giảm hao mòn đèn flash

Các OEM lo ngại về hiện tượng hao mòn flash trên bộ nhớ trong cũng có thể thêm thẻ SD đủ nhanh để sử dụng làm bộ lưu trữ được chấp nhận. Thẻ SD có hành vi sau:

  • Khi được chấp nhận, thẻ SD sẽ được mã hóa và an toàn để lưu trữ dữ liệu ứng dụng.
  • Khe cắm thẻ SD phải ở vị trí an toàn (người dùng không cần phải tháo thẻ SD thường xuyên).
  • Không thể sử dụng thẻ SD để truyền dữ liệu giữa hệ thống Ô tô và máy tính.
  • Việc tháo thẻ SD không ảnh hưởng đến hệ thống đang chạy. Tuy nhiên, nó không nên được gỡ bỏ trừ khi cần phải thay thế.

Để đảm bảo các ứng dụng của bên thứ hai (những ứng dụng do nhà phát triển ứng dụng ô tô xây dựng) có thể được cài đặt trên thẻ SD nếu ô tô bắt buộc, nhà phát triển ứng dụng ô tô phải bao gồm android: installLocation =["auto" | "preferExternal"] trong tệp kê khai của ứng dụng.

Nếu ô tô không cho phép cài đặt ứng dụng của bên thứ ba trên bộ nhớ trong (như được mô tả trong Hạn chế ứng dụng của bên thứ ba ) mà không có cờ này (hoặc nếu cài đặt installLocation =internalOnly được định cấu hình), quá trình cài đặt ứng dụng sẽ không thành công.

Nhận số liệu đĩa với storaged

Android O giới thiệu storaged , một dịch vụ hệ thống mới lấy mẫu và xuất bản các số liệu về ổ đĩa và eMMc, chẳng hạn như thông tin về mức sử dụng ổ đĩa tổng thể, ước tính thời gian tồn tại của eMMC và số liệu thống kê I/O của mỗi ứng dụng. OEM có thể sử dụng thông tin này để cảnh báo người dùng khi bộ nhớ trong bắt đầu bị lỗi hoặc khi các ứng dụng cụ thể thực hiện quá nhiều thao tác I/O trên ổ đĩa. Để biết chi tiết, hãy tham khảo Triển khai storaged .

Thẩm định

Tính năng này đã được thử nghiệm trong các bài kiểm tra PackageManager .