Tôi đang làm việc trên một thiết bị sử dụng thư viện MDDFS của Microchip để lưu trữ dữ liệu vào thẻ SD. Trình ghi nhật ký sẽ ghi dữ liệu với tốc độ tối đa 1 mục (56byte) mỗi phút. Vấn đề là thiết bị có thể bị mất điện bất cứ lúc nào, có khả năng ở giữa một chuỗi ghi. Tôi tự hỏi đâu là cách tốt nhất để bảo vệ dữ liệu của tôi chống lại tham nhũng. Tôi đã thấy rằng nếu tệp bị mở khi mất nguồn, tất cả dữ liệu được ghi vào tệp sau lần đóng tệp cuối cùng sẽ bị mất. Tôi không biết điều tương tự có đúng không nếu mất điện ở giữa trình tự ghi.
Vì quy trình ghi không xảy ra rất thường xuyên nên tôi có thể mở tệp, ghi dữ liệu và sau đó đóng tệp, mỗi khi dữ liệu được ghi. Cách tiếp cận này sẽ làm hỏng thẻ sd theo thời gian?
Một cách tiếp cận khác có thể là giữ cho tệp được mở nhưng cứ sau 10 hoặc 50 lần ghi tôi có thể đóng tệp và sau đó mở lại.
Tôi cũng có thể đệm dữ liệu trong bộ nhớ, sau đó thỉnh thoảng xóa dữ liệu có thể sau một kbyte hoặc hơn.
Ý tưởng cuối cùng tôi có là, trong mạch của mình, tôi có thể thêm một tụ điện lớn sẽ cung cấp năng lượng cho thẻ pic / sd của mình đủ lâu sau khi ngắt nguồn để nhanh chóng đóng tệp. Vấn đề với phương pháp này là thời gian cần thiết để đóng tệp và / hoặc lưu dữ liệu rất không nhất quán. Theo hiểu biết của tôi, thời gian này rất có thể phụ thuộc vào vị trí hiện tại trong một trang flash mà tập tin đang ở.
Dù sao, các bạn sẽ đề nghị gì?