फ़्लैश घिसाव प्रबंधन

एंड्रॉइड ऑटोमोटिव आंतरिक भंडारण हजारों मिटाने/लिखने के चक्रों के साथ एक एंबेडेड मल्टीमीडिया कार्ड (ईएमएमसी) का उपयोग करता है; यदि ईएमएमसी विफल हो जाता है, तो सिस्टम अनुपयोगी हो सकता है। चूंकि वाहनों का जीवनकाल लंबा होता है (आमतौर पर 10+ वर्ष), ईएमएमसी बेहद विश्वसनीय होना चाहिए। यह पृष्ठ eMMC व्यवहार का वर्णन करता है और कैसे OEM विफल eMMC के जोखिम को कम कर सकते हैं (और इस प्रकार विफल Android ऑटोमोटिव सिस्टम से बच सकते हैं)।

ईएमएमसी व्यवहार

ईएमएमसी डिवाइस डेटा को व्यवस्थित करके और पूरे सिस्टम में राइट को समान रूप से वितरित करके मिटाने/लिखने की सीमाओं के आसपास काम करने के लिए वियर लेवलिंग तकनीकों का उपयोग करते हैं (ताकि गहन राइट के कारण कोई भी ब्लॉक विफल न हो)। eMMC का अनुमानित जीवन इस पर निर्भर करता है:

  • लिखने की मात्रा . फ़ोन पर, आंतरिक संग्रहण में लिखे गए डेटा की मात्रा प्रति दिन 10 जीबी से अधिक हो सकती है। ऑटोमोटिव कार्यान्वयन पर, हमारे पास वास्तविक दुनिया का डेटा नहीं है कि सीमित ऐप्स के कारण कितना डेटा लिखा जाएगा। हालाँकि, जब उपयोगकर्ता उच्च गुणवत्ता वाला संगीत स्ट्रीम कर रहे होते हैं और नेविगेशन का उपयोग कर रहे होते हैं, तो हम हर मिनट eMMC को लिखे गए 50 एमबी डेटा का निरीक्षण करते हैं। भविष्य में, हमारे पास अन्य प्रकार के लेखन-गहन ऐप्स हो सकते हैं, जैसे डैशबोर्ड कैमरा ऐप्स जो लगातार वीडियो रिकॉर्ड और संग्रहीत करते हैं। इसके अलावा, कुछ कारें साझा वाहन हैं जिनका उपयोग प्रतिदिन कई घंटों तक किया जाता है। इन कारणों और अन्य कारणों से, हम उम्मीद करते हैं कि एंड्रॉइड ऑटोमोटिव कार्यान्वयन में फोन की तुलना में अधिक ईएमएमसी राइट्स होंगे।
  • पैटर्न लिखें . लिखना और मिटाना ब्लॉकों में किया जाता है। डेटा को बार-बार छोटे टुकड़ों में लिखने से समान मात्रा में डेटा को कम बार और बड़े टुकड़ों में लिखने की तुलना में ईएमएमसी तेजी से खराब हो जाती है।
  • ईएमएमसी का उपलब्ध आकार । बड़े भंडारण आकार का मतलब है कि वियर लेवलिंग एल्गोरिदम बड़ी संख्या में ब्लॉकों में राइट्स को फैला सकता है।
  • लेवलिंग तकनीक पहनें।
  • वातावरणीय कारक । उदाहरणों में आमतौर पर -20 से 85 सेल्सियस की ऑपरेटिंग तापमान सीमा शामिल है; इस सीमा से अधिक तापमान ईएमएमसी के जीवनकाल को और छोटा कर सकता है।

16 जीबी प्रयोग करने योग्य स्थान और 3k मिटाने/लिखने के चक्र वाले ईएमएमसी के लिए, हम निम्नलिखित का अनुमान लगाते हैं:

रोज़ लिखता है 16 GB 32 जीबी
अनुमानित जीवन काल 10 वर्ष 5 साल

हालाँकि, उपयोग करने योग्य भंडारण का आकार कम होने के कारण ईएमएमसी पूरी तरह से खराब होने से पहले सिस्टम ठीक से काम करना बंद कर देगा, और लेवलिंग तकनीकों और उपयोग किए गए लेखन पैटर्न के आधार पर ईएमएमसी का जीवनकाल और भी कम हो सकता है। इसके अलावा, यह अनुमान गलत व्यवहार करने वाले या दुर्भावनापूर्ण ऐप्स के प्रभावों पर विचार नहीं करता है, जो विशेष अनुमति के बिना ईएमएमसी को जंक डेटा के बड़े ब्लॉक लिखकर ऑटोमोटिव सिस्टम पर हमला कर सकते हैं।

संभावित ईएमएमसी विफलता के वास्तव में घटित होने से पहले उसका पता लगाने के लिए, उचित भंडारण स्वास्थ्य निगरानी को समग्र प्रणाली स्वास्थ्य निगरानी के हिस्से के रूप में बनाया जाना चाहिए

कार्यान्वयन

एंड्रॉइड O उन सुविधाओं का समर्थन करता है जो OEM को एंड्रॉइड ऑटोमोटिव के आंतरिक भंडारण की सुरक्षा और निगरानी करने और इसके जीवनकाल को बढ़ाने में सक्षम बनाता है।

तृतीय-पक्ष ऐप्स प्रतिबंधित करें

एंड्रॉइड ऑटोमोटिव सिस्टम के आंतरिक स्टोरेज की सुरक्षा के लिए, एंड्रॉइड ओ OEM को यह कॉन्फ़िगर करने में सक्षम बनाता है कि क्या थर्ड-पार्टी ऐप्स को आंतरिक स्टोरेज पर इंस्टॉल किया जा सकता है (ऐप्स केवल उस पार्टीशन पर लिख सकते हैं जिस पर वे इंस्टॉल किए गए थे)। कॉन्फ़िगर करने के लिए, संसाधन ओवरले में निम्नलिखित कॉन्फ़िगरेशन सेट करें:

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

फ़्लैश घिसाव कम करें

आंतरिक भंडारण पर फ्लैश खराब होने के बारे में चिंतित ओईएम एक एसडी कार्ड भी जोड़ सकते हैं जो अपनाया गया भंडारण के रूप में उपयोग करने के लिए पर्याप्त तेज़ है। SD कार्ड का व्यवहार निम्न है:

  • अपनाए जाने पर, एसडी कार्ड एन्क्रिप्टेड होता है और ऐप डेटा संग्रहीत करने के लिए सुरक्षित होता है।
  • एसडी कार्ड स्लॉट सुरक्षित स्थान पर होना चाहिए (उपयोगकर्ताओं से बार-बार एसडी कार्ड हटाने की अपेक्षा नहीं की जाती है)।
  • ऑटोमोटिव सिस्टम और कंप्यूटर के बीच डेटा ट्रांसफर करने के लिए एसडी कार्ड का उपयोग नहीं किया जा सकता है।
  • एसडी कार्ड को बाहर निकालने से चालू सिस्टम पर कोई प्रभाव नहीं पड़ता है। हालाँकि, इसे तब तक नहीं हटाया जाना चाहिए जब तक कि इसे बदलने की आवश्यकता न हो।

यह सुनिश्चित करने के लिए कि यदि कार अनिवार्य है तो दूसरे पक्ष के ऐप्स (जो कार ऐप डेवलपर्स द्वारा बनाए गए हैं) को एसडी कार्ड पर इंस्टॉल किया जा सकता है, कार ऐप डेवलपर्स को android: installLocation =["auto" | "preferExternal"] ऐप की मेनिफेस्ट फ़ाइल में android: installLocation =["auto" | "preferExternal"]

यदि कार इस फ़्लैग के बिना (जैसा कि थर्ड- पार्टी ऐप्स को प्रतिबंधित करें में वर्णित है) आंतरिक स्टोरेज पर तृतीय-पक्ष ऐप्स इंस्टॉल करने की अनुमति नहीं देती है (या यदि installLocation =internalOnly सेटिंग कॉन्फ़िगर की गई है), तो ऐप इंस्टॉलेशन विफल हो जाता है।

भंडारण के साथ डिस्क मेट्रिक्स प्राप्त करें

एंड्रॉइड ओ ने स्टोरेज पेश किया है, एक नई सिस्टम सेवा जो डिस्क और ईएमएमसी मेट्रिक्स का नमूना और प्रकाशन करती है जैसे कि समग्र डिस्क उपयोग, ईएमएमसी जीवनकाल अनुमान और प्रति ऐप डिस्क I/O आँकड़े के बारे में जानकारी। जब आंतरिक भंडारण विफल होने लगता है या जब विशिष्ट ऐप्स बहुत अधिक डिस्क I/Os निष्पादित कर रहे होते हैं, तो OEM इस जानकारी का उपयोग उपयोगकर्ताओं को चेतावनी देने के लिए कर सकते हैं। विवरण के लिए, संग्रहित कार्यान्वयन देखें।

मान्यकरण

इस सुविधा का परीक्षण PackageManager परीक्षणों में किया गया है।