Quản lý tình trạng hao mòn flash

Bộ nhớ trong của Android Automotive sử dụng bộ nhớ flash có hàng nghìn chu kỳ xoá và ghi. Nếu bộ nhớ flash bị lỗi, hệ thống có thể không sử dụng được. Vì xe có tuổi thọ cao (thường trên 10 năm), nên bộ nhớ flash phải cực kỳ đáng tin cậy. Trang này mô tả hành vi của bộ nhớ flash và cách OEMS có thể giảm thiểu nguy cơ thiết bị bộ nhớ flash gặp sự cố.

Hiệu suất bộ nhớ Flash

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

  • Số lượt ghi
  • Viết mẫu
  • Dung lượng bộ nhớ flash hiện có. Kích thước bộ nhớ lớn hơn đồng nghĩa với thuật toán cân bằng mức hao mòn có thể trải rộng việc ghi trên nhiều khối hơn.
  • Kỹ thuật cân bằng đeo
  • Các yếu tố môi trường. Ví dụ: phạm vi nhiệt độ hoạt động thường từ -20 đến 85 độ C. Nhiệt độ nằm ngoài phạm vi này có thể làm giảm hơn nữa tuổi thọ của bộ nhớ flash.

Tuổi thọ của bộ nhớ Flash có thể được tính toán với sự trợ giúp của công thức sau:

$$ \frac{Max\ erase\ cycles * Storage\ capacity}{Data\ written\ per\ year} = {Flash\ memory\ lifespan\ in\ years} $$

Tuy nhiên, hệ thống sẽ ngừng hoạt động bình thường một thời gian dài trước khi bộ nhớ flash hao mòn hoàn toàn vì dung lượng bộ nhớ có thể sử dụng giảm đi. Đồng thời, eMMC có thể có thời gian tồn tại ngắn hơn tuỳ thuộc vào kỹ thuật san lấp mặt bằng và mẫu ghi được sử dụng. Ngoài ra, số liệu ước tính này không xem xét tác động của những ứng dụng độc hại hoặc hoạt động sai cách. Những ứng dụng này có thể làm gián đoạn hệ thống Automotive bằng cách ghi các khối dữ liệu rác lớn vào bộ nhớ flash mà không cần có các quyền đặc biệt.

Để phát hiện lỗi bộ nhớ flash có thể xảy ra trước khi nó thực sự xảy ra, bạn nên tích hợp tính năng giám sát tình trạng bộ nhớ đúng cách trong quá trình giám sát tình trạng tổng thể của hệ thống

Triển khai bộ nhớ flash

Android Automotive 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 hệ thống để kéo dài tuổi thọ.

Giảm tình trạng hao mòn đèn flash

Những nhà sản xuất thiết bị gốc quan tâm đến tình trạng hao mòn đèn flash trên bộ nhớ trong cũng có thể thêm thẻ SD đủ nhanh để dùng làm bộ nhớ tích hợp. Thẻ SD cần có các thuộc tính sau:

  • Khi được sử dụng, thẻ SD được mã hoá 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ể dùng thẻ SD để truyền dữ liệu giữa hệ thống Automotive 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, bạn không nên xoá thuộc tính này trừ phi cần thay thế.

Ứng dụng trên thẻ SD

Nhằm tăng cường bảo vệ bộ nhớ trong của hệ thống Android Automotive, OEM (Nhà sản xuất thiết bị gốc) có thể chỉ định việc có thể cài đặt ứng dụng bên thứ ba trên bộ nhớ trong để các ứng dụng chỉ có thể ghi vào phân vùng đã cài đặt ứng dụng hay không. Để đị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>

Để đảm bảo các ứng dụng bên thứ hai (những ứng dụng do nhà phát triển ứng dụng dành cho ô tô tạo ra) có thể được cài đặt trên thẻ SD nếu ô tô yêu cầu, nhà phát triển ứng dụng dành cho ô tô phải đưa android:installLocation=["auto" | "preferExternal"] vào tệp kê khai của ứng dụng.

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

Lấy chỉ số về ổ đĩa

AAOS 13 ra mắt tính năng giám sát tình trạng sử dụng bộ nhớ Flash quá mức và thu thập chỉ số trong tính năng Giám sát ô tô. Để biết thông tin chi tiết, hãy xem phần Theo dõi mức sử dụng bộ nhớ flash.

Android 8 ra mắt tính năng lưu trữ, một dịch vụ hệ thống lấy mẫu và phát hành các chỉ số của ổ đĩa và bộ nhớ flash, chẳng hạn như thông tin về mức sử dụng ổ đĩa tổng thể, ước tính vòng đời của bộ nhớ flash và số liệu thống kê về I/O của mỗi ổ đĩa ứ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 gặp lỗi hoặc khi một số ứng dụng cụ thể đang thực hiện quá nhiều I/O ổ đĩa. Để biết thông tin chi tiết, hãy xem phần Triển khai bộ nhớ.