Eu testei a unidade flash com um programa chamado h2test2w.exe. A unidade flash foi rotulada incorretamente no sistema como 4 GB quando na verdade só tinha uma capacidade de 215 MB. Não me refiro apenas a erros de rotulagem como o que foi impresso do lado de fora - refiro-me às propriedades do sistema, a outros analisadores de unidades, o nome dele.
Aparentemente, o tamanho exibido da unidade que todo programa usa não é baseado na capacidade REAL do chip, mas em um pouco de informações de "cabeçalho" na unidade flash USB que alguém define manualmente com ferramentas de fábrica (consulte Como faço uma partição USB assim ninguém pode apagá-lo - a última imagem na minha resposta mostra uma guia de configuração de capacidade).
Desde que não coloquemos mais de 215MB na unidade, ela funciona bem, mas mais do que isso e parece fazer uma substituição rotativa dos primeiros bits da unidade. Assim, se houvesse apenas 4 bits:
bit 1 value: 0
bit 2 value: 0
bit 3 value: 0
bit 4 value: 0
Agora vou escrever um arquivo com 6 bits: 000011
bit 1 value: 0
bit 2 value: 0
bit 3 value: 0
bit 4 value: 0
bit 1 value: 1
bit 2 value: 1
O que me deixa com:
bit 1 value: 1
bit 2 value: 1
bit 3 value: 0
bit 4 value: 0
Portanto, se o "cabeçalho" estivesse correto, ele não teria escrito na unidade, pois a unidade era muito pequena. Em vez disso, agora os dois primeiros bits foram sobrescritos e o arquivo está corrompido ou não está lá.
Em outras palavras, fomos enganados.