USB 스틱에 문제가 있는지 알 수 없습니다.

USB 스틱에 문제가 있는지 알 수 없습니다.

나는 나에게 도구이자 선물이며 큰 가치가 있는 16Gb Verbatim USB 스틱을 가지고 있습니다. 최근에 문제가 발생했습니다. 스틱에 보관한 파일 중 하나가 손상되었습니다. 그래서 저는 도망쳤어요 badblocks -wsv. 저는 기본 4개 테스트를 사용했습니다.
4번의 테스트를 5번 실행했습니다. 처음 실행했을 때 3000개의 오류가 표시되었습니다. 모든 연속 실행에서 - 오류가 0개입니다.
무슨 일이 일어날 수 있었나요? 지금 사용해야 할까요, 아니면 선반 위에 놓아두어야 할까요? 나는 그 프로젝트를 소중히 여기기 때문에 실제로 내부 패널을 교체해 보려고 합니다. 실행하면 badblocks오류를 해결할 수 있나요?
Badblocks파일 시스템을 사용하지 않으므로 불량 섹터에 대한 정보를 어딘가에 쓸 수 없습니다. 그렇죠?

답변1

이 문제는 USB 플래시 드라이브 내부에 숨겨진 동적 매핑 테이블을 통해 동일한 블록의 각 쓰기를 I/O로 변환하는 펌웨어가 있고 마모 레벨링으로 인해 각 쓰기에 대한 내부 블록 번호가 완전히 다를 수 있기 때문에 복잡합니다. 건축에. 이것 좀 봐기사.

즉, 내부 펌웨어가 플래시 메모리의 일부 물리적 부분에서 오류를 읽고 여유 공간 목록에서 해당 영역을 제거했음을 알아차렸기를 바랍니다. 이는 제조 과정에서 먼저 수행되며 시간이 지남에 따라 불량 영역 목록이 누적됩니다.

매핑으로 인해 잘 분리된 여러 블록이 실제로 모두 동일한 물리적 플래시 영역에 있을 수 있으므로 단 하나의 비난 영역만 있을 수 있습니다.

추신. 쓰기 중에 드라이브에 항상 충분한 USB 전원이 공급되는지 확인하세요. 예를 들어 드라이브가 허브에 있는 경우 전원이 공급되는 허브를 사용하세요. 걱정된다면 장치의 전압/전류를 표시하는 저렴한 인라인 USB 전력계를 구입할 수 있습니다.

답변2

플래시 드라이브에 매우 특정한 문제(예: 펌웨어 버그)가 없는 한, 웨어 레벨링 메커니즘은 사용 가능한 모든 플래시 섹터에 대한 쓰기 수의 균형을 유지하여 가능한 한 오랫동안 오류를 방지합니다. 미디어에 불량 블록이 나타나면 일부 섹터는 한도를 초과하여 더 많은 쓰기를 처리할 수 없는 반면 다른 섹터는 한도에 접근하고 있는 것입니다. 시간이 지남에 따라 점점 더 많은 오류가 발생할 수 있습니다.

플래시 섹터는 일반적으로 완전히 사용할 수 없게 되기 전에 저장 시간이 감소하는 것을 보여줍니다(뭔가를 쓰고 다시 읽는 것은 즉시 작동하지만 몇 주 후에 다시 읽는 것은 실패합니다). 따라서 결함이 있는 블록을 덮어쓰는 것은 "수정"처럼 보일 수 있습니다. , 그러나 긴 것은 아닙니다.

Meuh가 설명한 것처럼 실패한 섹터가 예비 섹터로 대체되었을 수도 있습니다. 그러나 요점은 여전히 ​​적용됩니다. 플래시 드라이버의 다른 부분이 실패할 가능성이 높습니다.

더 이상 해당 미디어에 중요한 데이터를 저장하지 않고 가능하면 내부 보드를 교체하겠습니다.

관련 정보