Saya bekerja pada perangkat yang menggunakan perpustakaan Microchip MDDFS untuk menyimpan data ke kartu SD. Logger akan mencatat data pada kecepatan maksimum 1 entri (56bytes) setiap menit. Masalahnya adalah perangkat dapat kehilangan daya setiap saat, berpotensi di tengah urutan penulisan. Saya bertanya-tanya apa cara terbaik untuk melindungi data saya dari korupsi. Saya telah menemukan bahwa jika file terbuka ketika daya hilang, semua data yang ditulis ke file setelah penutupan file terakhir hilang. Saya tidak tahu apakah hal yang sama berlaku jika daya hilang di tengah urutan penulisan.
Karena prosedur penulisan tidak sering terjadi, saya dapat membuka file, menulis data, dan kemudian menutup file, setiap kali data dicatat. Apakah pendekatan ini akan merusak kartu sd dari waktu ke waktu?
Pendekatan lain mungkin untuk menjaga file tetap terbuka tetapi setelah setiap 10 atau 50 menulis saya bisa menutup file dan kemudian buka kembali.
Saya juga bisa buffer data dalam memori, kemudian menyiram data sesekali mungkin setelah sekitar satu kbyte.
Ide terakhir yang saya miliki adalah, di sirkuit saya, saya bisa menambahkan kapasitor besar yang akan memberikan daya ke kartu pic / sd saya cukup lama setelah daya terputus untuk dengan cepat menutup file. Masalah dengan pendekatan ini adalah waktu yang diperlukan untuk menutup file dan / atau menyimpan data sangat tidak konsisten. Dari pemahaman saya, kali ini bisa sangat tergantung pada tempat saat ini di halaman flash tempat file tersebut berada.
Ngomong-ngomong, apa yang akan kalian sarankan?