2012-07-15 12 views
2

파일 시스템 관점에서 볼 때, 드라이브가 유휴 상태이거나 읽혀 지지만 기록되지 않은 상태에서 데이터가 손실 될 수 있습니까? 디스크에 쓰는 사용자 또는 OS 작업이 없다고 가정하면 유휴 상태 또는 읽기 프로세스 중에 미묘한 파일 시스템 작업이 발생하여 중단되면 데이터가 손상 될 수 있습니다 (예 : 전원 손실, 데이터 케이블 연결 해제)?디스크에 쓰지 않을 때 데이터 손실이 가능합니까?

답변

0

오,

짧은 대답은 '예, 부패가 발생할 수 있습니다 ... "모두가 달려있다." 가장 간단한 경우는 16MB 캐시가있는 hdd가있는 경우입니다. 프로그램은 "컨트롤러"에 쓰고 데이터는 장치 캐시에서 끝납니다. 프로그램에서 문제가 없다고 생각합니다. 그런 다음 권력을 잃습니다. > 일부 < 시스템은이 데이터를 드리블 할 수있는 충분한 커패시터 용량을 가지고 있지만 여전히 부분적인 쓰기를 얻을 수 있습니다.

이러한 지연된 쓰기 중에 전원이 손실되면 불완전한 ECC 업데이트로 인해 미디어 오류가 발생할 수도 있습니다. 재부팅 할 때 HW는이를 감지하여 디스크의 해당 영역 (섹터/트랙)이 잘못되었음을 선언하고 예비 영역에서 다시 매핑 할 수 있습니다.

일부 OS는 파일의 마지막 액세스 타임 스탬프를 업데이트> <으로 읽습니다. 사용자가 읽기 전용 활동 만하는 동안에도 디스크에 쓰기가 계속 발생합니다.

+0

마지막 액세스 타임 스탬프에 대한 좋은 지적. Windows의 "thumbs.db"및 OSX의 ".DS_Store"파일은 배경 OS 쓰기 작업의 다른 예입니다. 논쟁을 위해서, 만약 우리가 그러한 작업을 수행하지 않는다고 가정한다면, 순전히 디스크 드라이브를 읽은 결과로 컨트롤러에 "지연된 쓰기"가 발생합니까? 디스크 읽기 중에 드라이브 캐시가 버퍼로 작동하도록 기록되지만 전원이 손실되면 ECC가 이러한 부분 쓰기를 손상된 섹터로 잠재적으로 해석 할 수 있음을 의미합니까? 드라이브 입력 대 출력용으로 작성된 캐시의 차이를 알아야하지 않습니까? – CauselessEffect

관련 문제