Pergunta

Eu vim com uma estrutura de dados baseada em disco para armazenar dados em tempo real de entrada, isso não está na memória becuase a matriz pode encher-se e causar o travamento do JVM. A-strcture de dados e algoritmo grande trabalho. Minha única pergunta é que isso afeta muito a vida de um sdcard?

Eu sei sdcards li e escreve sobre eles limitado, mas o quanto é "limitado". Vai escrever para o cartão SD para dizer, em média, 20 minutos por sessão afetam o cartão SD grandemente para o ponto onde o usuário vê que era este aplicativo que matou ele?

Foi útil?

Solução

O número de gravações no cartão é em De 100'000s. Este é o número de apaga setor flash, que pode ser muito maior do que o setor de um disco.

Eu encontrei o seguinte documento com cálculos: STEC pequenos cartões nivelamento de desgaste E VIDA CALCULADORA

Um dos exemplos: Lifetime = 2.000.000 x (512MB - 100MB - 128KB) / (50MB x 10 / dia) = 4.513 anos

Então, se você faz um trabalho razoável de concepção (ou seja, não abra arquivos / fechar para cada byte você escrever, pois isso pode forçar flushses e, portanto, escreve) Eu não até mesmo incômodo para configurar testes muito extensas ... .

Outras dicas

Eu pensei que recordou memória flash moderna sendo bom para centenas de milhares de regravações. O número de leituras, tanto quanto eu sei, não é limitado.

Se isso faz você se sentir melhor, Windows Vista suporta um recurso chamado ReadyBoost, que permite alocar espaço de cache em uma unidade flash USB para melhorar o desempenho. Eu acho que enquanto você conseguir de alguma forma, mesmo fora as gravações, você deve ser fino.

Além disso, alguns módulos de memória flash têm built-in controladores com otimização de gravação integrado para que eles vão tentar escrever para diferentes áreas da memória em operações de gravação posteriores. Você provavelmente não pode contar com isso, porém, a menos que você descobrir com certeza se o seu cartão de memória em particular tem um controlador integrado (SD, em particular, não têm um controlador integrado, mas talvez ele ainda tem algum outro mecanismo pelo qual que equilibra as gravações).

EDIT: aqui está um link que explica desgaste memória e "nivelamento de desgaste" em mais detalhes: http://en.wikipedia.org/wiki/Flash_memory#Memory_wear

Eu comprei na do eeepc precoce, que usou um cartão SD como 'disco rígido' e assim eu estive interessado em discussões sobre isso, especialmente porque, porque eu tinha o modelo de 2GB eu configurar o carneiro interna para extensão em um cartão de 4GB SD. É difícil de encontrar dados concretos reais, mas todos a opção informado posso encontrar sugere que este não deve ser um problema dentro de uma vida razoável para a máquina (e certamente o meu eeepc tem funcionado muito feliz em um sistema de arquivos ext3 na cartão SD - ou seja, muita atividade - com absolutamente nenhum problema -. desde que eu cortou-o)

Opinião parece ser que os modernos cartões SD deve dar-lhe pelo menos 100.000 ciclos então eu acho que você pode razoavelmente esperar para ser bom se a vida útil do seu dispositivo está a apenas alguns anos. No entanto a sua única maneira de ter certeza é configurar alguns testes com o seu programa escrever continuamente para um lote de cartões de amostra e ver se eles falham dentro de um prazo de três meses ou menos. Eu também gostaria de pedir os fabricantes diretamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top