
我有一部 Android 手機,正在運行我製作的資料庫系統(透過簡訊和與其同步的雲端進行互動)。主資料庫儲存在 sqlite 檔案中。它已經在手機上順利運行了大約兩年。
最近,在大約兩週的時間裡,我兩次讓資料庫檔案遺失了所有資料(一次被 0 長度檔案替換,一次被 1k 空檔案替換)。今天早上軟體刪除的一個臨時檔案下午又自己重新出現了。
這種行為是否是快閃記憶體衰退的結果 - 即手機是否只是變舊了?
答案1
那當然能是 NAND 寫入失敗的結果,是的。是否可以嘗試將資料庫移至新存儲,例如 SD 卡?雖然對於相同的寫入量,大多數此類卡的磨損速度比內部儲存更快,但當它是唯一向 SD 寫入大量資料的裝置時,它的使用壽命可能會更長。
當然,如果設備內存是如果失敗,您可能會購買新設備。這些錯誤通常出現在寫入時,因此僅執行程式並讀取現有檔案可能會繼續工作,但您建立或修改的每個檔案也會寫入檔案系統元資料(並且,由於NAND 寫入工作的方式,這將觸及檔案系統多個檔案的條目)。元資料損壞將使作業系統無法找到或正確讀取其他檔案。