성능 및 불량 섹터에 대해 메모리 카드를 테스트하려면 어떻게해야합니까?


10

DSLR 용 새 CF 카드를 구입했습니다. Xbench (Mac OS X)를 사용하여 테스트했으며 예상대로 작동합니다. 그러나 "불량 섹터"(이동식 용어)를 확인하기 위해 "표면 스캔"(이동식 용어)을 수행하고 싶습니다. dd를 사용하여 프로세스를 스크립트로 만들 수는 있지만 더 나은 방법이 있다는 느낌이 들었습니다. 저의 목표는 메모리 카드 (CF, SD 등)가 사진 촬영에 사용하기에 안전하며 30 일 공급 업체 정책 기간이 만료되기 전에 반환 할 필요가 없다는 것을 결정적으로 아는 것입니다.

나는 여기에 Mac 솔루션이 필요합니다. 또한 몇 가지 Linux 제안을 받고 싶습니다. 이 하나의 질문이 모든 사람의 요구를 충족시킬 수 있도록 Windows 사용자에게 뼈를 던지십시오.


솔리드 스테이트 메모리는 회전 플래터와 다릅니다. 나는 그것에 대한 교훈이 필요하지 않습니다. 필요한 것은 내가 소유 한 장치를 확인하는 방법입니다. 프로세스는 간단합니다. 내용을 알고있는 장치를 채우십시오. 장치에서 읽고 내용을 확인하십시오. 읽기 또는 쓰기 오류가 발생하면 명백한 실패입니다. 읽은 내용이 쓴 내용과 다르면 덜 분명한 실패입니다. 날짜는 임의적이어야하며 여러주기를 사용해야합니다. 내가 필요한 것은 그것을 수행하는 도구입니다. 나는 하나를 작성했지만 그것은 해킹입니다.
Bruno Bronosky

답변:


8

컨트롤러가 블록을 원하는 곳으로 옮길 수 있기 때문에 (마모 레벨링 참조) 전체 읽기 / 쓰기 테스트를 수행 할 수있는 유일한 방법은 디스크를 가득 채운 다음 비교하는 것입니다. 물론 다른 패턴으로 여러 번 확실합니다.

그리고 여전히 결함이있는 영역은 컨트롤러에 의해 숨겨져 있기 때문에 결함이있는 영역을 포착하지 못합니다.


6

플래시 메모리는 플래터가있는 디스크와 같은 방식으로 작동하지 않습니다. "불량 섹터"의 개념은 실제로 플래시 메모리에는 존재하지 않습니다. 오늘날 내장 메모리 컨트롤러는 플래시 메모리와 SSD를 통해 사용할 수없는 메모리 블록을 식별 및 표시하고, 블록 쓰기 제한을 완화하기 위해 동적으로 데이터를 이동하는 등의 작업을 처리합니다. 이러한 기능은 SSD에서 훨씬 더 널리 퍼져 있지만 일부는 고급 플래시 카드 (예 : SanDisk)에 존재합니다.

대부분의 파일 시스템 검사 도구는 저장 장치의 물리적 구조 (예 : 물리적 실린더, 섹터, 클러스터 등의 플래터 기반)에 대한 특정 가정을 수행하거나 추상화 된 수준에서 작업하고 파일 또는 디렉토리를 사용하여 "가상으로"복구합니다. 테이블. 플래시 메모리 장치에 불량 블록을 표시하도록 특별히 설계된 도구가 필요합니다. 그 밖의 다른 문제로 인해 (플래터 기반 장치에서와 같은 방식으로 문제를 해결할 수 있다고 가정하여) 더 많은 문제가 발생하거나 가상으로 만들 수 있기 때문입니다 플래시의 동적 하드웨어 수준 기능을 고려하지 않는 수정 프로그램 특정 "섹터"또는 "클러스터"를 "나쁜"것으로 표시 할 수 있더라도 실제 개념은 플래시 메모리에 실제로 존재하지 않기 때문에 반드시 좋은 것은 아닙니다. 플래시 장치가 더욱 발전하고 자동으로 불량 블록을 우회하고 쓰기 제한을 완화하기 위해 동적으로 데이터를 이동하는 경우 데이터의 물리적 위치는 한 번 불량 블록에 있고 잠시 후 양호한 블록에있을 수 있습니다. (플래시 메모리의 "나쁜"블록에 대한 아이디어는 플래터 디스크보다 훨씬 더 어둡습니다 ... 플래시 메모리 블록은 갑자기 죽지 않고 천천히 죽는 경향이 있습니다. 완전히 사용할 수 없게되기 전에

일반적으로 플래시와 관련하여 장치는 나쁜 블록 관점에서 장치 자체를 관리합니다. 제조업체마다 다른 방식으로 데이터를 구성하고 저장하며, 플래시 메모리의 일부 제한을 피하기 위해 데이터를 이동시키는 수준과 양의 동적 동작이 서로 다를 수 있습니다. 직접 관리하려고하면 해결하는 것보다 더 많은 문제가 발생할 수 있으며 장기적으로 플래시 디스크를 쓸모 없게 만들 수 있습니다.

나쁜 플래시 카드를 피하려면 평판이 좋은 브랜드를 사용하는 것이 좋습니다. 나는 과거에 다양한 플래시 카드를 사용해 보았지만 SanDisk는 적어도 지금까지 결코 실패하지 않은 유일한 브랜드입니다. 나는 꽤 많이 사용하고 정기적으로 카메라를 꺼내서 랩톱이나 컴퓨터에 삽입하는 4, 8 및 16 기가 SDHC 카드가 여러 개 있는데 여전히 완벽하게 작동합니다. (일부는 몇 살입니다.)


1
불량 블록은 모든 블록 장치에 존재할 수 있습니다. 특정 블록에 데이터를 쓰지만 다시 읽을 수 없으면 불량 블록입니다. 컨트롤러는 데이터를 다른 곳에 쓰면이 문제를 숨길 수 있지만 읽을 수는 없습니다.
Vaddadi Kartick

3

Linux에서 원하는 명령은 badblocks입니다. 이 ext2-for-os-x 포트의 일부로 Mac OS X에이 포트가있는 것 같습니다 /usr/local/sbin/badblocks. 모든 것을 설치하고 명령 이외의 모든 것을 무시하십시오 .

즉, 이것이 테스트에 도움이 될 것이지만, Leonidas가 처음 말했듯이 플래시 메모리에 실제로 액세스 할 수 없으므로 전체 스캔을 수행하기가 어렵 기 때문에 결정적이라고 생각하지 않습니다. 테스트 후 새로운 장애가 발생할 수 있으며 심지어 테스트에 의해 발생할 수도 있습니다.


1

질문 아래에 의견을 읽으면 F3 이 원하는 것을 정확하게 수행 한다고 생각 합니다. Linux / Mac OS X에서 컴파일되며 Homebrew를 통해서도 사용할 수 있습니다.


-1

나는 구글에서 이것을 발견했다. 나는 카메라 저장을 위해 sd 카드를 사용하지 않고 대신 내 삼성 갤럭시 S2에서 2 년 미만 사용 후 클래스 10 32 기가 바이트 sdhc sandisk가 완전히 손상되었다.

첫 번째 불량 블록이 시작되는 위치를 확인하기 위해 불량 블록을 사용하고 있으며 가능하면 해당 영역 주위에 파티션을 만듭니다. 이것은 내 현재의 매우 나쁜 해결책입니다.


답을 자세히 설명해 주시겠습니까? 빠른 검색을 바탕으로 "badblocks"는 Linux 프로그램이라고 생각합니다. OP가 요구하는 것을 수행합니까?
MikeW
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.