حافظه داخلی Android Automotive از یک کارت چند رسانه ای (eMMC) با هزاران دوره پاک کردن/نوشتن استفاده می کند. اگر eMMC از کار بیفتد، سیستم می تواند غیرقابل استفاده شود. از آنجایی که وسایل نقلیه عمر طولانی دارند (معمولاً بیش از 10 سال)، eMMC باید بسیار قابل اعتماد باشد. این صفحه رفتار eMMC را توضیح میدهد و اینکه چگونه OEMها میتوانند خطر خرابی eMMC را کاهش دهند (و در نتیجه از شکست سیستمهای Android Automotive جلوگیری کنند).
رفتار eMMC
دستگاههای eMMC از تکنیکهای تسطیح سایش برای رفع محدودیتهای پاک کردن/نوشتن با ترتیب دادن دادهها و توزیع یکنواخت نوشتهها در سراسر سیستم استفاده میکنند (بنابراین هیچ بلوکی به دلیل نوشتن فشرده از کار نمیافتد). عمر تخمینی eMMC به موارد زیر بستگی دارد:
- تعداد نوشته ها در گوشی ها، میزان داده های نوشته شده در حافظه داخلی می تواند بیش از 10 گیگابایت در روز باشد. در پیادهسازیهای Automotive، به دلیل محدودیت برنامهها، دادههای واقعی در مورد اینکه چقدر داده نوشته میشود، نداریم. با این حال، هنگامی که کاربران در حال پخش موسیقی با کیفیت بالا و استفاده از ناوبری هستند، ما هر دقیقه 50 مگابایت داده را مشاهده می کنیم که در eMMC نوشته شده است. در آینده، ممکن است انواع دیگری از برنامههای فشردهنویسی داشته باشیم، مانند برنامههای دوربین داشبورد که به طور مداوم فیلمها را ضبط و ذخیره میکنند. علاوه بر این، برخی از خودروها وسایل نقلیه مشترکی هستند که چندین ساعت در روز استفاده می شوند. به این دلایل و دلایل دیگر، ما انتظار داریم پیادهسازیهای Android Automotive بیشتر از یک تلفن، نوشتن eMMC داشته باشند.
- الگوها را بنویسید نوشتن و پاک کردن در بلوک ها انجام می شود. نوشتن مکرر داده در تکههای کوچک، eMMC را سریعتر از نوشتن همان مقدار داده با دفعات کمتر و در تکههای بزرگتر میپوشاند.
- اندازه موجود eMMC . اندازه ذخیره سازی بزرگتر به این معنی است که الگوریتم تراز سایش می تواند نوشته ها را در تعداد بیشتری از بلوک ها پخش کند.
- تکنیک های تسطیح بپوشید.
- فاکتورهای محیطی . به عنوان مثال می توان به محدوده دمای عملیاتی معمولاً 20- تا 85 درجه سانتیگراد اشاره کرد. دمای فراتر از این محدوده می تواند طول عمر eMMC را بیشتر کوتاه کند.
برای یک eMMC با فضای قابل استفاده 16 گیگابایت و چرخههای پاک کردن/نوشتن 3k، موارد زیر را برآورد میکنیم:
دیلی می نویسد | 16 گیگابایت | 32 گیگابایت |
---|---|---|
زمان تخمینی عمر | 10 سال | 5 سال |
با این حال، سیستم مدتها قبل از اینکه eMMc کاملاً فرسوده شود، به دلیل کاهش اندازه ذخیرهسازی قابل استفاده، کارکرد صحیح خود را متوقف میکند، و eMMC ممکن است بسته به تکنیکهای تراز کردن و الگوهای نوشتن مورد استفاده، طول عمر کوتاهتری داشته باشد. علاوه بر این، این تخمین اثرات برنامههای بدرفتار یا مخرب را در نظر نمیگیرد، زیرا میتوانند با نوشتن بلوکهای بزرگ دادههای ناخواسته در eMMC بدون مجوزهای خاص، به سیستمهای Automotive حمله کنند.
برای شناسایی خرابی احتمالی 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"]
در فایل مانیفست برنامه.
اگر ماشین اجازه نصب برنامههای شخص ثالث را در حافظه داخلی (همانطور که در محدود کردن برنامههای شخص ثالث توضیح داده شد) را بدون این پرچم نمیدهد (یا اگر تنظیمات installLocation =internalOnly
پیکربندی شده باشد)، نصب برنامه انجام نمیشود.
معیارهای دیسک را با ذخیرهسازی دریافت کنید
Android O Storaged را معرفی میکند، یک سرویس سیستمی جدید که معیارهای دیسک و eMMc مانند اطلاعات مصرف کلی دیسک، تخمین طول عمر eMMC و آمار ورودی/خروجی دیسک هر برنامه را نمونهبرداری و منتشر میکند. OEM ها می توانند از این اطلاعات برای هشدار دادن به کاربران هنگام شروع از کار افتادن حافظه داخلی یا زمانی که برنامه های خاص ورودی/خروجی دیسک زیادی را انجام می دهند، استفاده کنند. برای جزئیات، به Implement storaged مراجعه کنید.
اعتبار سنجی
این ویژگی در تست های PackageManager
تست شده است.