Por que as câmeras não suportam sistemas de arquivos registrados no diário?

15

como NTFS, HFS + ou ext4, para cartões SD? Afinal, o diário diminui a chance de perda de dados, o que seria importante para os fotógrafos. Perdi um cartão SD contendo talvez mil fotos quando em Bali - um lugar que não tenho chance de visitar antes ou depois.

Existem precauções que eu possa tomar antes de uma viagem na próxima vez? Formatar os cartões na câmera?

Estou certo ao entender que SDXC (exFAT) e Sony Memory Stick não oferecem mais confiabilidade do que cartões SD?

Vaddadi Kartick
fonte
2
A execução de qualquer um desses sistemas de arquivos em um SD pode matar a memória flash rapidamente.
Tim Seguine
11
@PhilipKendall Não é minha fonte, mas esta resposta do SE menciona: serverfault.com/questions/41674/… ... de qualquer maneira, os discos rígidos SSD realmente precisam de uma lógica especial para evitar que o flash seja destruído ao usar sistemas de arquivos normais. Uma memória flash barata como essa nos cartões SD é ainda menos adequada para esse tipo de carga. O FAT é um sistema de arquivos muito simples, adequado para as cargas de armazenamento seqüencial que as câmeras causam e causa baixo desgaste da memória flash. O principal problema já está nas respostas fornecidas: complexidade adicionada, sem ganho.
precisa saber é o seguinte
2
O erro aqui foi manter 1000 fotos em um cartão sem fazer backup. Se você estiver viajando para um local remoto, onde estará sem acesso a um computador no qual fazer backup, deverá estar carregando um dispositivo de backup.
Jim Garrison
11
@KartickVaddadi Qual é a sua fonte para seus números de que um sistema de arquivos com registro em diário reduzirá a vida útil em 10% (5 a 4,5 anos)? Você tem alguma pesquisa que possa apontar?
Philip Kendall
11
@KartickVaddadi: A camada de mapeamento entre os números do setor lógico e os blocos físicos de disco cria modos de falha que são diferentes de qualquer outro normalmente associado à mídia magnética; sistemas de arquivos que não entendem a camada de mapeamento oculta não podem evitar modos de falha apresentados por essa camada.
Supercat

Respostas:

28

Vamos fazer uma pequena análise de custo-benefício:

  1. Um sistema de arquivos com diário é mais complicado - isso significa maior tempo de desenvolvimento, mais bugs, mais consumo de energia da bateria, maior custo de produção etc.

  2. o problema resolvido por um sistema de arquivos com registro em diário - dados de FS corrompidos, mas intactos - é tratado muito bem por ferramentas de recuperação de dados de terceiros.

  3. O sistema de arquivos com registro em diário não resolve todos os problemas, você realmente precisa de bons backups - e não apenas que existem sistemas com backups embutidos (slots de cartão duplo), é um recurso usado para fazer com que os profissionais obtenham câmeras mais caras.

  4. não há uma grande crise de confiabilidade dos cartões de memória, esses cartões são bastante confiáveis ​​e a falha é relativamente rara.

  5. e, finalmente, não há um sistema de arquivos com diário suportado imediatamente no Windows e no Mac.

Portanto - se você fosse o gerente de produto responsável, aprovaria um projeto que 1. resolve um problema já resolvido (com ferramentas de terceiros) de maneira incompleta, 2. não é importante o suficiente para ser um ponto de venda e 3. fará com que uma parte significativa do mercado incapaz de usar a câmera (pelo menos sem a instalação de software adicional que eles não precisam com as marcas concorrentes)?

Nir
fonte
3
Na verdade, o OSX pode ler volumes NTFS e gravá-los com algum terminal .
Justin Dearing
11
@JustinDearing: puro! Você deve postar isso como um controle de qualidade em askdifferent .
ov
a configuração padrão do sistema de arquivos no OS X (ou seja, a configuração com a qual todos os Macs vêm pré-instalados) é HFS + com o diário ativado. de fato, o Time Machine exige que o registro no diário esteja ativado.
strugee
11
@ strugee - Eu não disse que o OS X não possui um sistema de arquivos de registro em diário - eu disse que não existe um sistema único que o OS X e o Windows possam usar imediatamente (o Windows não entende o HFS + e os Macs) por padrão) não pode escrever NTFS)
Nir
@ Ah ah, deixa pra lá. Eu entendi errado.
strugee
11

Os sistemas de arquivos registrados em diário garantem apenas a integridade do sistema de arquivos. Se um cartão realmente falha, ele falha com todo o sistema de arquivos. Agora, se você tiver algumas células de memória ruins, você usaria apenas a foto que ocupasse esse espaço e um sistema de arquivos com diário também não ajudaria. Em outras palavras, esta é a solução errada para o incidente que você descreve.

A solução real é a redundância, e é por isso que você encontrará ofertas sofisticadas da Nikon, Pentax e Canon, que oferecem dois slots para cartões de memória e a capacidade de gravar imagens nos dois cartões ao mesmo tempo. Isso fornece um backup instantâneo. Se essas câmeras não forem convenientes para você, você precisará encontrar outra maneira de fazer backups frequentes. Algumas pessoas fazem isso diariamente em um laptop, unidade portátil, disco óptico.

Embora eu ainda não tenha tentado isso e não tenha certeza de quão prático seja, você também pode usar um cartão ou dispositivo WiFi (somente SD / SDHC AFAIK) que envia automaticamente suas imagens à medida que são capturadas para outro dispositivo em rede, talvez um tablet ou algo com bom armazenamento.

Enquanto o SDXC vem no formato exFAT por padrão, você também pode formatá-lo no FAT32. A maioria das câmeras aceita os dois lados. A diferença de confiabilidade provavelmente é zero.

Itai
fonte
Sim, mas esse não é o único modo de falha, não é? No meu caso, um teste de estresse para escrever várias vezes no cartão inteiro não detectou um erro, então não acho que seja uma questão de células com memória ruim; apenas um pouco de corrupção. Em relação às células com memória ruim, um sistema de arquivos com registro em diário garantirá que apenas as fotos armazenadas sejam perdidas e não o sistema de arquivos inteiro, com milhares de fotos, certo? Se um sistema de arquivos com registro em diário é a solução errada para o problema, receio não ver qual é a solução certa. Quando viajo, nem sempre tenho meu laptop, tablet ou disco portátil para fazer backup de fotos.
Vaddadi Kartick
Os sistemas de arquivos registrados em diário garantem que todo o sistema de arquivos seja consistente, mas eles realmente não fazem nada por corrupção. Você precisaria de redundância para isso.
Itai
11
@KartickVaddadi Acho melhor supor que quando você compra qualquer tipo de memória flash ela falhará em algum momento. O melhor que você pode fazer se não estiver disposto a investir para reduzir o risco quando estiver em campo é garantir a compra de cartões confiáveis ​​de fabricantes respeitáveis.
Peng Tuck Kwok
4
@KartickVaddadi Você está tentando engolir um camelo para evitar se esforçar para comer um mosquito. Se você gastou 'milhares de dólares' em seu equipamento, o que significa outros US $ 20 por um cartão de memória extra que você precisaria comprar de qualquer maneira para aproveitar um segundo slot de cartão?
Michael C
11
@KartickVaddadi: Fazer um teste de estresse para escrever várias vezes no cartão inteiro não fará nada além de empurrar o cartão para mais perto da falta de confiabilidade, pois é o armazenamento em flash que estamos falando e não a mídia magnética. O armazenamento flash (pelo menos com base em NAND) suporta apenas um número limitado de gravações antes que os blocos de apagamento comecem a falhar. A camada de conversão tentará ocultar isso de nós, mapeando blocos com falha para blocos de trabalho ao escrever.
Leo
5

Até onde eu sei, todas as câmeras digitais produzidas para serem vendidas no mercado de varejo incorporam a regra de design do sistema de arquivos de câmeras (DCF) . Parte do padrão DCF é que o sistema de arquivos FAT deve ser usado por dispositivos compatíveis. Esse padrão foi adotado como o padrão de fato para armazenar arquivos de imagem e som digitais em dispositivos de memória pela indústria de câmeras digitais para garantir a interoperabilidade de uma marca para a seguinte.

Consulte /photo//a/46387/15871 para obter mais informações sobre o DCF.

Michael C
fonte
O padrão impediria que um fornecedor de câmeras usasse NTFS. HFS +, ou outro sistema de arquivos, se um cartão foi inserido, formatado com um desses sistemas, ou seria necessário que a câmera dissesse simplesmente "cartão inutilizável"?
supercat
Em um ponto, as especificações não incluíram o FAT32 IIRC. No momento (DCF v2, publicado em 2010), as especificações estão limitadas a todas as variantes FAT + exFAT. Portanto, existem precedentes para que o DCF seja estendido no futuro para incluir outros sistemas de arquivos, se os membros desejarem.
James Snell
@ supercat Estaria fora do padrão, como está escrito agora. Os padrões estão sempre sujeitos a revisão. Mas a pergunta parece estar se perguntando por que nenhuma câmera atual suporta sistemas de arquivos registrados em diário.
Michael C
O @JamesSnell Regular FAT16 também chega a 2 GiB por partição, portanto, a mudança para permitir algo um pouco mais moderno resolveu um problema muito real. O amplo suporte ao FAT32 em sistemas que não são da Microsoft parece ter sido implementado nos anos por volta de 2000 , e o FAT32 atinge um nível significativamente mais útil ainda hoje 2 TiB por partição ao usar um tamanho de setor lógico de 512 bytes.
um CVn
@ MichaelKjörling - Estou ciente da limitação do FAT16, obrigado e não estou dizendo que o FAT32 foi adicionado em 2010 (foi quando o exFAT foi adicionado). O ponto é que a CIPA achou útil estender a especificação e poderia fazê-lo com futuros sistemas de arquivos, se assim o desejassem. Claramente eles viram uma necessidade / desejo por algo além do FAT32.
James Snell
5

Tudo se resume a resolver "existe um mercado?" e "quais são as barreiras à adoção?". Cada uma delas apresenta uma enorme barreira à adoção, mesmo que valha a pena.

O NTFS incorreria em custos de licenciamento, mesmo que exista uma biblioteca adequada para os processadores da câmera (o que não é garantido) e o suporte fora do Windows seria irregular. Embora o HFS + e o ext4 não tenham suporte nativo no Windows, eliminam grande parte da base de clientes em potencial. Portanto, não há mercado para eles.

Como você mencionou, o exFAT é exigido pelo padrão SCXD , para que você veja que o suporte para cartões maiores e mais rápidos aparece, mas não é tão simples assim, já que também há mais códigos para dar errado, e com sistemas incorporados como câmeras, você realmente não deseja enviar atualizações de firmware, portanto, espere que, enquanto as gravações em um cartão exFAT possam ser legíveis e no formato correto, ele não possa realmente usar nenhum dos recursos exFAT que possam oferecer proteção. Portanto, também existem barreiras significativas à adoção.

O modo de falha da maioria das placas é tão provável que seja o controlador quanto uma célula de memória; é muito trabalhoso (custo de fabricação) com pouco benefício.

O Sony MS (MemoryStick) ainda é memória flash SLC ou MLC, é apenas o controlador e a conexão física que diferem entre os sistemas. Sua melhor proteção na situação que você experimentou é levar consigo um pequeno dispositivo de backup portátil, eles são pequenos e relativamente baratos (e provavelmente incompatíveis com os sistemas de arquivos registrados no Journal).

James Snell
fonte
O NFS não é um sistema de arquivos em disco, é um protocolo de rede (mais ou menos igual ao seu primo consideravelmente mais familiar FTP em termos do problema que resolve). Você quis dizer HFS + (o sistema de arquivos usado nativamente pelo Mac OS)?
um CVn 05/01
Eu fiz de fato média HFS +, editar vontade :)
James Snell
4

Uma razão óbvia: porque um sistema de arquivos com registro em diário em uma câmera provavelmente não teria ajudado você (ou qualquer outra pessoa).

Como uma visão geral de alto nível, eis o que um sistema de arquivos de registro no diário faz: Antes de cada gravação nos metadados (ou dados, se também tiverem registro no diário de dados), primeiro escreva o que será alterado no diário. Somente quando tiver certeza de que está no disco, prossiga e escreva a alteração. Basicamente, isso significa que, se a energia for interrompida durante a gravação, você poderá recuperar o sistema de arquivos usando o diário - vá em frente e execute quaisquer ações no diário.

Isso é valioso em um PC de mesa, onde a energia pode se esgotar, ou o usuário pode pressionar o botão de reinicialização ou puxar o plugue, etc. Também é valioso, mas menos, em servidores (falta de energia) e laptops (botão de reinicialização) .

Uma câmera é alimentada por bateria. Ele possui um interruptor de desligamento, mas isso normalmente diz ao firmware para desligá-lo - não é uma desconexão física. Geralmente, não há um botão de redefinição ou, se houver, basicamente nunca é usado. Portanto, você não precisa de registro no diário, o firmware pode terminar a gravação. A única exceção seria se você removesse fisicamente a bateria. Talvez isso aconteça com uma fonte de alimentação externa, mas, além disso, uma câmera nunca deve sofrer um desligamento imundo.

Além disso, quase nenhum dispositivo flash realmente lida bem com falhas inesperadas de energia. Coloque-os no meio de uma realocação de setor (nivelamento de desgaste) e todas as apostas serão canceladas. Portanto, mesmo se você tivesse um sistema de arquivos com registro em diário, ainda assim não estaria seguro de falta de energia.

Um sistema de arquivos com registro em diário não protege você de:

  • Erros no controlador do flash no cartão SD, etc.
  • Erros no hardware do host SD da câmera
  • Erros no código do sistema de arquivos na câmera
  • Erros nos drivers SD do firmware
  • Perda de setores na mídia
  • Mau funcionamento do hardware (por exemplo, devido a raios cósmicos, descarga estática, ruído EM, água, ...)

De fato, um sistema de arquivos com registro em diário é mais complicado , então é mais provável que você tenha erros no sistema de arquivos. Ele amplifica as gravações, portanto, é mais provável que você bata nos erros do controlador flash ou do host SD. E você vai desgastar o flash um pouco mais cedo.

derobert
fonte
3

Os sistemas de arquivos registrados no diário são ruins para cartões SD (ou qualquer dispositivo NAND Flash).

As operações de gravação são caras para dispositivos NAND Flash e os sistemas de arquivos registrados no diário tendem a gravar mais do que os sistemas de arquivos não registrados no diário para as mesmas atividades.

Portanto, o cartão SD funcionará mais devagar e durará menos com um sistema de arquivos com diário.

O armazenamento baseado em FLASH, em sua essência, usa uma tecnologia chamada NAND FLASH. O NAND FLASH é legível e gravável, mas com várias rugas.

  1. A unidade fundamental de leitura / gravação é uma "página", não um setor. Os dispositivos FLASH da geração 2007-2008 têm um tamanho de página de 2K, migrando para um tamanho de página de 4K na geração de 2009 e tamanhos de página de 16K foram observados nas gerações de 2011.

  2. Você não pode escrever uma página a qualquer momento - antes de escrever nela, você deve primeiro apagá-la. Mas você não pode apagar uma única página de cada vez - você deve apagar um "bloco de apagamento" inteiro de (normalmente) 64 páginas consecutivas (128 KB ou 256 KB, dependendo da geração). E depois de apagar o bloco, você não pode escrever nas páginas em uma ordem arbitrária, você deve escrevê-las sequencialmente começando na primeira.

  3. Os blocos tendem a se desgastar com o tempo. Após um certo número de ciclos de apagamento, um bloco "fica ruim" permanentemente, para que não retenha mais os dados de maneira confiável. As páginas também podem desenvolver erros de dados como resultado da atividade de gravação em outras páginas e até como resultado de leituras!

http://wiki.laptop.org/go/How_to_Damage_a_FLASH_Storage_Device

Editar: Vale ressaltar que os sistemas de arquivos registrados no diário não trarão vantagens significativas sobre os sistemas de arquivos não registrados no diário.

S182
fonte
11
Os dispositivos Flash usam uma camada de remapeamento de bloco (FTL), para que você não esteja gravando no mesmo bloco físico repetidamente. O Android usa sistemas de arquivos como ext4, então não vejo a validade do seu argumento de que não é adequado para o flash.
Vaddadi Kartick
Os dispositivos Android geralmente têm memória RAM e flash, não têm?
Michael C
11
O remapeamento de bloco não aumenta o número total de gravações por bloco antes que um bloco fique ruim, apenas distribui as operações de gravação por todo o cartão, para que quase todos os blocos sejam usados ​​na mesma taxa. Os sistemas registrados no diário usam mais operações de gravação para fazer a mesma coisa que os sistemas não registrados no diário; portanto, o número total de gravações antes que um cartão seja danificado ocorrerá mais cedo em seu ciclo de vida com um sistema registrado no diário.
Michael C
11
O Android tem alguns problemas relacionados ao armazenamento (I / O lags) e eles estão implementando o comando TRIM para melhorar a situação. Os cartões SD foram feitos para serem baratos e pequenos, para não serem robustos. Existem alternativas mais robustas, mas são mais caras.
S182
11
O Android usa JSF porque esses dispositivos estão constantemente escrevendo informações de vários processos e tendem a gritar inesperadamente (blocos de SO, bateria fraca, etc.). Não é o melhor, mas eles precisam. Por outro lado, as operações de persistência nas câmeras são muito mais simples e um JFS traria mais problemas do que soluções. Um sistema de arquivos de registro em diário é mais resistente e menos propenso a corrupção, mas não imune. , na maioria dos casos, você pode reparar um FS não registrado em diário com um "scandisk".
S182
2

Sistemas de arquivos diferentes requerem quantidade diferente de RAM em um sistema que os está usando. Um sistema que precisa gravar um arquivo em um sistema de arquivos FAT poderia, em teoria, conviver com um único buffer de 512 bytes, embora o desempenho seja bastante terrível. A expansão para dois ou três buffers de 512 bytes melhoraria enormemente as coisas. Ir além disso melhoraria um pouco mais as coisas e obter um ótimo desempenho de uma placa maior exigiria mais memória do que uma ótima, mas uma câmera que incluísse apenas buffers suficientes para obter eficiência ideal com placas menores ainda seria capaz de trabalhe com os maiores, mesmo que com menos eficiência.

Uma questão mais complicada é o fato de que os padrões de cartão de memória especificam que cada cartão se comporte como uma coleção numerada de setor de 512 bytes que pode ser lida e gravada independentemente em sequência arbitrária, mas não é assim que os dados são armazenados nos chips dentro do cartões. Os chips de memória usados ​​em um cartão de memória típico são divididos em páginas de 528 bytes; aqueles, por sua vez, são agrupados em blocos de 256 ou mais. Depois que uma página é escrita, ela não pode ser reescrita sem apagá-la e com todas as outras páginas em seu bloco. Em teoria, seria possível para um cartão SD atender a uma solicitação de gravação de um setor de 512 bytes, copiando para a RAM todos os dados em seu bloco, apagando o bloco e gravando o bloco inteiro novamente, mas com novos dados em um setor . Na prática, o desempenho seria terrível. Em vez de, escrever um setor fará com que o cartão SD escolha uma página em branco, escreva os dados junto com o número do setor e várias informações auxiliares (as páginas de razão são 528 bytes em vez de 512) e, de alguma forma, acompanhe esse local adequado para os dados. Quando as páginas em branco são escassas, o controlador identifica um bloco cujas páginas foram substituídas principalmente por páginas escritas mais recentemente, copia todas as páginas ainda atuais desse bloco para blocos em branco e apaga todo o bloco agora redundante . Toda essa lógica é tratada inteiramente pelo próprio cartão, sem qualquer intervenção da câmera. Quando as páginas em branco são escassas, o controlador identifica um bloco cujas páginas foram substituídas principalmente por páginas escritas mais recentemente, copia todas as páginas ainda atuais desse bloco para blocos em branco e apaga todo o bloco agora redundante . Toda essa lógica é tratada inteiramente pelo próprio cartão, sem qualquer intervenção da câmera. Quando as páginas em branco são escassas, o controlador identifica um bloco cujas páginas foram substituídas principalmente por páginas escritas mais recentemente, copia todas as páginas ainda atuais desse bloco para blocos em branco e apaga todo o bloco agora redundante . Toda essa lógica é tratada inteiramente pelo próprio cartão, sem qualquer intervenção da câmera.

Toda essa lógica significa que, além do FAT32 ou de outro sistema de arquivos visto pela câmera, o cartão SD precisará ter seu próprio sistema de alocação e gerenciamento de blocos. Qualquer problema que ocorra nesse sistema provavelmente causará perda de dados, independentemente do tipo de sistema em cima dele. Em teoria, muitos cartões de memória são projetados para garantir que, mesmo que a alimentação seja inesperadamente removida durante alguma operação, o cartão poderá reverter o estado do cartão para o que estava antes do início da operação ou executá-lo até a conclusão ( se todos os dados necessários tivessem sido gravados e o cartão estivesse simplesmente limpando dados redundantes). Infelizmente, os cartões diferem em quão bem eles implementam essa lógica. Se uma perda inesperada de energia obstruir as tabelas de gerenciamento de armazenamento de um cartão,

Pessoalmente, acho que seria melhor para o SD Consortium especificar um sistema de arquivos independente do FAT32 ou, no mínimo, especificar que, mesmo que um cartão tivesse que ser legível como um volume FAT32, ele deveria ser gravado usando comunicações baseadas em arquivo protocolo. Um cartão que sabe quais grupos de setores são membros de cada arquivo pode otimizar suas rotinas de desfragmentação e também pode proteger melhor a perda de dados do que um que tivesse que apresentar o disco como um monte de 512 bytes independentes. setores, mas para o bem ou para o mal não é assim que as coisas são especificadas.

supercat
fonte
Acho que já existe uma solução padrão: uma camada de remapeamento de bloco, com um sistema de arquivos padrão (NTFS, HFS +, ext4) no topo. E também é usado em dispositivos móveis, no Android. Os SOs da câmera podem ser mais primitivos, mas isso precisa ser corrigido.
Vaddadi Kartick
@KartickVaddadi: A camada de remapeamento de bloco é padrão; meu argumento era que, se o cartão de memória que implementava a camada de remapeamento de blocos tivesse pelo menos um pouco de conhecimento do layout do sistema de arquivos, ele poderia otimizar o layout de remapeamento com mais eficiência do que é possível sem esse conhecimento.
Supercat
Claro, mas eu preferiria fazer algo testado e testado em vez de criar novas interfaces entre a camada de dispositivo de bloco e o sistema de arquivos. Não estamos falando de pesquisa em CS aqui :) Quero pegar algo que funcione no meu computador e telefone e colocá-lo na minha câmera.
Vaddadi Kartick
@KartickVaddadi: Eu projetei alguns sistemas de arquivos flash com nível de desgaste para dispositivos incorporados com várias restrições. Se o sistema de nivelamento de desgaste for informado "Quero escrever um arquivo; aqui
supercat
... aqui estão os dados; é isso aí. Eu quero escrever outro arquivo; aqui estão os dados; é isso ", pode se comportar de maneira um pouco mais inteligente do que se simplesmente for dado um monte de setores individuais para trabalhar e não tiver ideia do que eles representam. Entre outras coisas, todos os blocos de dados associados a cada arquivo podem ser marcados com tags dizendo por exemplo, "bloco 347 da identificação de arquivo 193.291.374, atualização 273.837.199".
supercat
1

Supondo que o cartão estava simplesmente corrompido e você não o jogou ou o substituiu, sugiro fortemente que você experimente o PhotoRec. (Isso me tirou de uma situação um pouco menos ruim há alguns meses. Ele até encontrou algumas imagens que sobreviveram sendo excluídas por um ano ou dois.)

http://www.cgsecurity.org/wiki/PhotoRec

Em relação a um diário com FS, tive a mesma pergunta muitas vezes. Como outros já disseram, a mídia flash atual é realmente frágil em comparação à mídia magnética, e o registro no diário é difícil. Como o padrão de uso das câmeras geralmente é tirar várias fotos, lê-las e excluí-las todas, não há muita necessidade de recursos avançados de FS. Implementações simples e testadas são provavelmente mais importantes que o benefício marginal do registro no diário. Como um benefício adicional, a estratégia de alocação muda do FAT facilita para ferramentas como o PhotoRec.

user25159
fonte
Eu acho que usei o PhotoRec nesse caso. Obrigado pelo link de qualquer maneira.
Vaddadi Kartick
1

1, Deus não pode salvá-lo, se você perdeu o cartão fisicamente. Como assim, você perdeu um cartão em Bali?

2, FSs com registro em diário são criados para ocasiões como falha súbita do sistema operacional ou falha súbita de energia. Eles mantêm os meta-dados do FS consistentes, quando essas coisas ruins acontecem. Eles não ajudam se você deseja que seus arquivos excluídos voltem.

3, Bad-block é o problema mais vital dos armazenamentos baseados em NAND FLASH. Blocos ruins surgem quando ocorrem escritos. Portanto, ao escolher FS para um armazenamento NAND FLASH, a frequência de gravação é a primeira coisa que você deve considerar. Obviamente, como todos os outros disseram, os FSs com diário trazem mais coisas para escrever.

4, FSs registrados têm mais poder, é claro. Mais complicado, com certeza. Mas essas não são as razões dominantes de não adotá-las para o NAND FLASH, eu acho.

TADA ~~ É isso aí.

Garf
fonte
1. Veja meu comentário na resposta de AJ. 2. Eu não apaguei os arquivos manualmente. 3. Como escrevi nos outros comentários, como você explica o uso do Android de um FS com registro em diário no flash? Não é tão ruim quanto você está imaginando. Não perder fotos é mais importante do que uma redução marginal na vida útil do cartão.
Vaddadi Kartick
3
A maioria dos FSs registrados no diário precisa de um ou mais processos / threads de daemon para gerenciar seus "diários". (Por exemplo, kjournald no Linux para EXT3) Será difícil adotá-los se o env não for um sistema operacional completo, onde não temos conceito de processo / encadeamento.
Garf
@KartickVaddadi Novamente, indique algumas pesquisas mostrando que um sistema de arquivos com diário registra apenas uma redução "marginal" na vida útil do cartão. Esta é a segunda vez que você afirma.
Philip Kendall
É uma pergunta justa, mas lembre-se de que o Android a usa, como já disse muitas vezes. Eles não teriam usado se causasse uma redução drástica na vida da mídia, usariam? Além disso, eu posso muito bem pedir-lhe para citar pesquisas mostrando que ela provoca uma redução drástica na vida :)
Vaddadi Kartick
Talvez devêssemos perguntar ao @supercat, já que ele é um especialista, e nenhum de nós citou dados.
Vaddadi Kartick
-1

O sistema de arquivos em si não precisa ser complexo, porque as imagens são simplesmente gravadas no cartão, não há praticamente nenhuma edição feita em um arquivo após a criação inicial e não há preocupações simultâneas de E / S de arquivos que precisam ser preocupadas. na câmera

Os problemas de integridade de dados são realmente resolvidos no nível do hardware, porque TODA a memória flash é inerentemente instável. O controlador dentro do cartão SD faz muitos de seus próprios truques de verificação e armazenamento para garantir que os dados sejam válidos. Um sistema de arquivos com registro em diário não ajudaria nisso, pois lida com a integridade do armazenamento de dados, e não com a integridade das operações do arquivo.

Uma câmera usa operações de arquivo tão simples (e de alta velocidade), que um sistema de arquivos complexo incorreria em custos e complexidade adicionais, causando E / S mais lenta e potencialmente introduzindo erros adicionais que poderiam resultar em perda de dados devido ao manuseio de arquivos mais complexo. ganhando algo de útil para uma câmera.

AJ Henderson
fonte
No meu caso, o sistema de arquivos ficou corrompido, talvez devido a um erro no código do sistema de arquivos da câmera que é acionado em casos raros. O registro em diário garantirá que, se isso acontecer, é mais provável que o sistema de arquivos permaneça intacto, o que significa que você não perderá milhares de fotos.
Vaddadi Kartick
3
@KartickVaddadi - você tem certeza de que foi o sistema de arquivos que ficou corrompido e não o próprio cartão SD? Um problema de corrupção de arquivo em uma tabela FAT nunca deve resultar em falha de todo o cartão; deve ser facilmente recuperável na maioria das fotos, a menos que o próprio cartão falhe. Como você tem certeza do que exatamente falhou.
AJ Henderson
Consegui recuperar a maioria das fotos do meu laptop usando uma dessas ferramentas de recuperação que ignora o sistema de arquivos, lê todos os blocos do dispositivo e tenta descobrir quais são os arquivos. Eu não conseguia ler na câmera, o que significava que não podia tirar fotos pelo resto do dia e nunca mais visitei os lugares que visitei naquele dia, por isso foi uma oportunidade perdida.
Vaddadi Kartick
2
@KartickVaddadi - sim, mas isso poderia ter sido uma falha no sistema de arquivos ou no cartão SD. Se o sumário for eliminado, você ainda precisará recuperar o sistema de arquivos, independentemente de usar FAT ou NTFS. Ainda não tenho certeza de que um sistema de arquivos com diário ajudaria. A principal força de um sistema de arquivos com diário é que ele pode se recuperar de um arquivo parcialmente gravado porque sabe que o registro do arquivo ou diretório está incorreto. É provável que você esteja lidando com corrupção na tabela de alocação, que pode ser falha no disco ou no sistema de arquivos.
AJ Henderson
2
@KartickVaddadi: Eu acho que, por uma questão de princípio, sempre devemos tentar ter um cartão de reserva à mão, e se o cartão usado mostrar algum sinal de problema, mude imediatamente para o sobressalente, para evitar a destruição de dados que teria sido recuperável do cartão problemático.
Supercat