Conselhos sobre o uso de sistemas de arquivos

Sistema de arquivos (sigla FS) refere-se ao mecanismo pelo qual os arquivos são localizados e organizados em dispositivos usados ​​para armazenamento de dados. Nossos sistemas SlimLine baseado em processadores ARM /Cortex por padrão, eles têm um dispositivo de armazenamento de memória FLASH organizado como um disco “C:” acessível em leitura / escrita. De acordo com o modelo do módulo, é possível adicionar dispositivos de armazenamento SDCard adicionais a serem inseridos diretamente no sistema, conforme descrito acima este módulo de CPU identificado como um disco “D:” o su Adaptador USB para outros módulos de CPU identificados como disco “F:”.

Estrutura do sistema de arquivos

O dispositivo de armazenamento é administrado por setores, cada setor dos dispositivos que utilizamos tem um tamanho de 512 bytes, o sistema de arquivos gerencia o disco com uma estrutura FAT 32, é assim que os dados do disco são organizados.

Representação FAT
  • Boot sector: O primeiro setor do dispositivo contém informações sobre a unidade e o sistema de arquivos implementado.
  • File Allocation Table (FAT): Matriz de setores em que todas as concatenações de cluster necessárias para reconstruir os arquivos são registradas.
  • Data region: Matriz de setores divididos em clusters que contêm os dados dos diretórios ou arquivos.
Usando discos removíveis para transferir dados de / para o PC

Aqui estão as regras a seguir para usar um disco removível (SDCard ou PenDrive) em ambos os sistemas SlimLine do que em um PC. Isso pode ser útil para transferir dados entre os dois sistemas.

  • Os discos removíveis (SDCard ou PenDrive) só podem ser operados com o sistema desligado.
  • Antes de desligar o sistema, deve-se ter certeza de que todos os arquivos estão fechados, portanto não deve haver operações FTP ativas e as operações de escrita do programa LogicLab devem ter terminado com a execução da função Sysfclose. O sistema de arquivos do sistema SlimLine para salvaguardar a perda de dados, fornece uma transação na memória FRAM, em caso de desligamento durante o acesso, a transação será automaticamente restaurada na próxima inicialização, mas se o disco for substituído, o sistema atualizará o novo, fazendo está sujo
  • O disco deve ser formatado FAT_32 usando apenas nomes no formato 8 + 3 maiúsculas para arquivos e diretórios e os nomes podem ter apenas um "." dentro deles. Se você formatar FAT_32_ELS e SlimLine você cria arquivos em maiúsculas ou minúsculas no estilo 8 + 3, o PC Não consigo acessar. Se um arquivo for criado a partir do PC, independentemente de ter um nome completo e no estilo 8 + 3, SlimLine Não consigo acessar.

Eu uso nomes longos

Como é que ao formatar como FAT_32 que permite nomes longos em maiúsculas ou minúsculas, lo SlimLine não permite isso?

  • Os nomes longos em maiúsculas e minúsculas são armazenados em várias entradas do FAT e isso pode levar a um problema no gerenciamento de uma possível falha de energia ao trabalhar nesses arquivos.
  • Os nomes dos arquivos estão em UNICODE, a assinatura do SlimLine não suporta isso.

Vida útil do disco

O disco C: interno utiliza memória Flash NOR com retenção mínima de dados de 20 anos, cada setor (512 Bytes) possui número mínimo de 100.000 ciclos de escrita. Quando utilizado como disco, é necessário ter em mente a quantidade de escritas em cada setor para não destruir a memória.

As versões PCK051C000 e PCK054B000 foram implementadas Wear leveling, nivelamento de desgaste, que distribui os dados uniformemente por todos os setores do disco.

  • A atualização do sistema operacional não ativa o nivelamento de desgaste enquanto mantém a acessibilidade do disco. Para habilitá-lo salve os arquivos no disco e formate o disco com o comando Format C: em seguida, copie os arquivos salvos anteriormente.
  • Ao fazer o downgrade, se o disco estiver formatado com nivelamento de desgaste, salve os arquivos no disco e formate o disco com o comando Format C: FAT_32_ELS. Em seguida, faça o downgrade e copie os arquivos salvos anteriormente.
Cálculo da vida útil do disco

Para calcular a vida útil de um setor de disco, siga a fórmula: Tempo de vida (h)=Tempo de gravação (s)*27.78

Supondo que escrevemos sempre o mesmo setor a cada minuto teremos: 60*27.78=1666 (H) (69 dias). Na realidade no disco operamos com arquivos que ocupam múltiplos setores, então se escrevêssemos cada minuto em um arquivo de 50KBytes o tempo de vida em dias seria: 69*(50000/512)=6738 dias (18 anos).

Os tempos relatados acima referem-se à redação do Data region do disco, mas na criação do arquivo e em cada variação de seu tamanho também é escrito no FAT. Portanto, para minimizar a escrita, o melhor é criar o arquivo com o tamanho necessário para conter os dados e depois operar com comandos Sysfseek mover-se dentro dele sem alterar seu tamanho.

Formatação de disco

O disco interno “C:” é fornecido já formatado e normalmente não precisa ser formatado pelo usuário, dentro estão os arquivos de configuração do produto que em caso de formatação seriam perdidos. A operação de formatação é necessária em dispositivos de armazenamento adicionais “D:” e “F:”, lembro que embora sejam dispositivos extraíveis, quando inseridos no sistema e formatados não podem mais ser removidos. Para formatação use o comando Format de 'intérprete de comando, parâmetros adicionais podem ser fornecidos ao comando:

  • Drive: Identificação da unidade a ser formatada, C: disco FLASH interno, D: SDCard no cartão, F: SDCard no adaptador USB
  • FAT Type: Especifica o formato da Tabela de Alocação de Arquivos.
    FAT_32: Formato padrão, permite a leitura de SDCards formatados em um PC, nomes de Diretórios / Arquivos somente em maiúsculas 8 + 3.
    FAT_32_ELS: Formato personalizado, permite definir nomes de diretórios / arquivos em maiúsculas e minúsculas, com um total de 14 caracteres.
    FAT_32_ELS_WL: Formato personalizado, como o anterior com nivelamento de desgaste habilitado apenas no disco interno C:.
  • Cluster Size: Permite definir o tamanho do cluster em bytes, o tamanho deve ser um múltiplo do tamanho do setor (512 bytes).
Exemplos de formatação

Format C: Formate o disco interno em FAT_32_ELS escolhendo automaticamente o tamanho do cluster. Se o sistema operacional gerenciar o nivelamento de desgaste, o formato será usado FAT_32_ELS_WL.

Format D: Formate o SDCard integrado para FAT_32_ELS escolhendo automaticamente o tamanho do cluster

Format D: FAT_32 Formate SDCard no cartão em FAT_32 configurando o tamanho do cluster para 512 bytes (1 setor, valor mínimo)

Format D: FAT_32_ELS 512 Formate SDCard no cartão em FAT_32_ELS configurando o tamanho do cluster para 512 bytes (1 setor, valor mínimo)

Format F: FAT_32_ELS 2048 Formate SDCard no adaptador USB em FAT_32_ELS definindo o tamanho do cluster para 2048 bytes (4 setores)

Formato de cluster

Se o tamanho do cluster não for indicado no comando format, o sistema definirá automaticamente o valor apropriado com base no tamanho do SDCard. Em geral, o formato deve ser escolhido com base nas avaliações a seguir.

Pequeno aglomerado

  • Pro: Otimize a ocupação do disco.
  • contras: Aumenta o número de gravações em setores FAT, reduzindo a vida útil do disco.
    Determina a velocidade de acesso ao disco mais lenta.

Grande aglomerado

  • Pro: Reduz as gravações em setores FAT, estendendo a vida útil do disco.
    Maior velocidade de acesso ao disco.
  • Contro: Desperdício de memória para cada arquivo (tamanho médio do cluster de 1/2).
    Aumenta o tempo de criação de diretórios no disco.

dicas

  1. É preferível usar discos externos como alternativa ao disco FLASH interno “C”.
  2. De preferência, use arquivos de até 640 KBytes.
  3. Para acelerar o acesso ao disco sem penalizar o tempo de execução da tarefa de retorno, limite o número de arquivos e diretórios.
  4. Para aumentar a "vida" do disco, se possível, use arquivos de tamanho fixo atualizando os dados dentro (conforme gerenciado pelo FB FIFOFile).
  5. Se você estiver usando o disco para salvar arquivos de log transferidos por FTP para outros sistemas, exclua o arquivo após a transferência e recrie-o, em vez de regravá-lo.
Erros de acesso ao disco

Visualizando o log do sistema, comando SysLog ou analisando o arquivo Logs.txt na pasta System, você pode ver quaisquer erros de acesso ao disco, aqui estão os mais comuns.

  • 3380, Not enough cluster vs required: Foi feita uma tentativa de acessar um local maior que o tamanho do disco. Normalmente ocorre quando o disco está cheio ou um Sysfseek para uma posição maior que o tamanho do disco.
Esse artigo foi útil?