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.
- 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
- É preferível usar discos externos como alternativa ao disco FLASH interno “C”.
- De preferência, use arquivos de até 640 KBytes.
- 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.
- Para aumentar a "vida" do disco, se possível, use arquivos de tamanho fixo atualizando os dados dentro (conforme gerenciado pelo FB FIFOFile).
- 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.