Como posso verificar a integridade de leitura / gravação de um dispositivo flash compacto?

4

Eu tenho um monte de cartões flash compactos que eu usei muito em uma foto profissional e capacidade de vídeo.

Estou preocupado que um deles esteja indo mal, já que estou vendo arquivos (na maioria das vezes vídeo, mas ocasionalmente foto) se tornarem corrompidos em uma base difícil de prever. Estou absolutamente certo de que isso não está relacionado à desmontagem do cartão antes de removê-lo - a corrupção é visível diretamente após a remoção correta do cartão da câmera.

O problema é que eu não sei qual placa é problemática, e o problema parece ser intermitente, então eu não posso simplesmente fotografá-los e procurar por um arquivo ruim (e a corrupção nem sempre é aparente até então - se o (s) bit (s) ruim (s) estão dentro da porção de dados de um arquivo, pode não ser óbvio). O problema é raro o suficiente para que eu não possa reproduzi-lo de forma confiável (exceto quando há um cliente com um trabalho com arquivos que absolutamente, positivamente não podem ser perdidos - então, é certo que vai funcionar).

Eu poderia RMA-los todos em garantia (eles são todos Sandisk com garantia vitalícia), mas eu prefiro não (como justificar o envio de um lote de 5 cartões? O que eu uso durante o mês em que eles foi embora?).

Estou procurando uma ferramenta que os corrija. Especificamente, eu preciso de algo que faça um ciclo de gravação / leitura / gravação / leitura para todo o cartão e, idealmente, faça um formato completo para remover quaisquer erros, bem como me informar o status (é um cartão particularmente ruim? todos os outros perfeitamente bem? Que nível de erros estou vendo em uma base geral?).

Estou ciente da ferramenta badblocks , mas esperava encontrar algo mais voltado para a CF (e que, esperamos, permitiria mapear as áreas ruins fora de uso, se forem apenas alguns bits). Eu preferiria uma ferramenta que não fosse do Windows, se possível.

Alguém mais resolveu esse problema sem simplesmente substituir cegamente seus dispositivos? Algumas das cartas suspeitas são bem novas.

    
por Paul McMillan 16.08.2010 / 04:11

2 respostas

2

Existem provavelmente ferramentas melhores, mas se você quiser simples e livre, então você quer dd.

Assumindo que o seu não-Windows é uma amostra do Linux ou do Unix e suas cartas estão vazias de todos os dados que você deseja manter, você pode tentar isto:

monte o cartão CF no seu leitor e obtenha o nome do dispositivo. Eu estou indo supor que é / dev / CF para fins desta resposta. Entre como root.

Para escrever o cartão cheio com dados aleatórios

dd if=/dev/random of=/dev/CF bs=1k

Você pode fazer isso algumas vezes (quantas depende de você) e se receber um erro antes de terminar o cartão todo, então é um problema com o cartão.

Você pode verificar a função de leitura do cartão desta maneira:

dd if=/dev/CF of=/dev/null bs=1k

Ele deve ler o cartão inteiro sem erros.

Quando terminar, você desejará reformatar o cartão. Primeiro, escreva o cartão cheio de zeros para que ele possa ser formatado em sua câmera:

dd if=/dev/zero of=/dev/CF bs=1k   

Isso deve escrever o cartão inteiro sem erros.

Minha opinião pessoal é que, se você receber algum erro, então RMA o cartão. Eu não tentaria reutilizá-lo mapeando novamente os blocos ruins.

Esteja ciente de que, mesmo que os cartões sejam aprovados nos testes acima, isso não significa que eles sejam garantidos como bons. Pode significar um erro intermitente que demora um pouco mais do que você pensava para se mostrar. Por outro lado, se falhar, você tem alguns dados para fundamentar sua decisão de RMA e alguma documentação de suporte para dar à Sandisk justificar o RMA.

    
por 16.08.2010 / 04:26
1

Se você tiver acesso a uma máquina Windows, tente Check Flash . Este link é apenas para um revise-o com uma boa captura de tela (o site real está em russo)

Eu não o usei pessoalmente, mas supondo que as capturas de tela / comentários sejam legítimas, parece ser uma maneira sensata de testar flash drives.

    
por 16.08.2010 / 05:28