मैं एक ऐसे डिवाइस पर काम कर रहा हूं, जो एसडी कार्ड में डेटा स्टोर करने के लिए माइक्रोचिप एमडीडीएफएस लाइब्रेरी का उपयोग करता है। लकड़हारा हर मिनट में अधिकतम 1 प्रविष्टि (56bytes) की दर से डेटा लॉग करेगा। समस्या यह है कि डिवाइस किसी भी समय बिजली खो सकता है, संभवतः एक लेखन अनुक्रम के बीच में। मैं सोच रहा हूं कि भ्रष्टाचार के खिलाफ मेरे डेटा की रक्षा करने का सबसे अच्छा तरीका क्या है। मैंने पाया है कि अगर बिजली खो जाने पर फ़ाइल खुली होती है, तो अंतिम फ़ाइल-बंद होने के बाद फ़ाइल को लिखे गए सभी डेटा खो जाते हैं। मुझे नहीं पता कि अगर राइट राइट अनुक्रम के बीच में खो जाता है तो वही सही है।
चूंकि लेखन प्रक्रिया बहुत बार नहीं होती है इसलिए मैं फ़ाइल को खोल सकता हूं, डेटा लिख सकता हूं, और फिर फ़ाइल को बंद कर सकता हूं, हर बार डेटा लॉग किया जाता है। क्या यह दृष्टिकोण समय के साथ एसडी कार्ड को नुकसान पहुंचाएगा?
एक और तरीका यह हो सकता है कि फाइल को खुला रखें लेकिन हर 10 या 50 लिखने के बाद मैं फाइल को बंद कर सकता हूं और फिर उसे खोल सकता हूं।
मैं डेटा को मेमोरी में बफर भी कर सकता था, फिर कभी-कभार या तो के बाद डेटा को फ्लश कर सकता था।
मेरे पास जो अंतिम विचार था, मेरे सर्किट में, मैं एक बड़े कैपेसिटर को जोड़ सकता था जो कि मेरे पिक्स / एसडी कार्ड को काफी पहले ही पावर प्रदान कर देगा, क्योंकि फाइल को जल्दी से बंद करने के लिए बिजली काट दी जाती है। इस दृष्टिकोण के साथ समस्या यह है कि फ़ाइल को बंद करने और / या डेटा को बचाने में लगने वाला समय बहुत असंगत है। मेरी समझ से, यह समय एक फ्लैश पेज में वर्तमान स्थान पर निर्भर करता है जो फ़ाइल में है।
वैसे भी, आप लोग क्या सुझाव देंगे?