
나는 내가 만든 데이터베이스 시스템(SMS 및 동기화되는 클라우드 엔드를 통한 상호 작용)을 실행하는 안드로이드 휴대폰을 가지고 있습니다. 기본 데이터베이스는 sqlite 파일에 저장됩니다. 현재 약 2년 동안 휴대폰에서 원활하게 실행되고 있습니다.
최근 약 2주 동안 데이터베이스 파일의 모든 데이터가 두 번이나 손실되었습니다(한 번은 길이가 0인 파일로, 한 번은 1k의 빈 파일로 대체됨). 오늘은 오전에 소프트웨어가 삭제한 임시 파일이 오후에 저절로 다시 나타났습니다.
이런 종류의 동작이 플래시 메모리 부패의 결과일 수 있습니까? 즉, 전화기가 단순히 노후화되는 것입니까?
답변1
그건 확실히~할 수 있다NAND 쓰기 실패의 결과겠죠. 데이터베이스를 SD 카드와 같은 새로운 저장소로 옮기는 것이 가능합니까? 대부분의 이러한 카드는 동일한 양의 쓰기에 대해 내부 저장소보다 빨리 마모되지만 SD에 많은 내용을 쓰는 유일한 경우에는 더 오래 지속될 수 있습니다.
물론, 장치 메모리의 경우~이다실패하면 아마도 새 장치를 구입하게 될 것입니다. 오류는 일반적으로 쓰기 시 나타나므로 프로그램을 실행하고 기존 파일을 읽는 것만으로도 계속 작동할 수 있지만 생성하거나 수정하는 모든 파일은 파일 시스템 메타데이터에도 기록됩니다(그리고 NAND 쓰기 작업 방식으로 인해 파일 시스템에 영향을 미치게 됩니다). 여러 파일에 대한 항목). 메타데이터가 손상되면 OS가 다른 파일을 찾거나 올바르게 읽을 수 없게 됩니다.