F2FS

F2FS (Flash-Friendly File System) é um sistema de arquivos para dispositivos baseados em memória flash inicialmente desenvolvido pela Samsung Electronics para o núcleo Linux.[2]

F2FS
DesenvolvedorSamsung Electronics, Motorola Mobility, e Huawei
Nome completoFlash-Friendly File System
Lançamentov3.8, 2012-12-20[1] (Linux)
Estruturas
Conteúdos de diretórioTabela de hash multi-nível
Alocação de arquivosBitmap (espaço livre), tabela
Limites
Tamanho Máximo de arquivo3.94 TB
Número máximo de arquivosDepende do tamanho do volume
Tamanho máximo do nome de arquivo255 bytes
Tamanho máximo do volume16 TB
Recursos
Datas salvasModificação (mtime), modificação de atributo (ctime), acesso (atime)
Resolução de datas1 ns
AtributosPOSIX, atributos estendidos
Permissões de sistema de arquivosPOSIX, ACL
Compressão transparenteNão
Criptografia transparenteSim
Sistemas operativos suportadosLinux, Android
Portal das Tecnologias de informação

O motivo para a criação do F2FS foi construir um sistema de arquivos que, desde o início, leva em consideração as características dos dispositivos de armazenamento baseados em memória flash NAND (como unidades de estado sólido, eMMC e cartões SD), que são amplamente utilizados em sistemas de computadores que vão desde dispositivos móveis até servidores.

O F2FS foi projetado com base em uma abordagem de sistema de arquivos estruturado em log, adaptada a novas formas de armazenamento. Jaegeuk Kim, o principal autor do F2FS, declarou que o F2FS remedia alguns problemas conhecidos[2] dos mais antigos sistemas de arquivos estruturados em logs, como o efeito bola de neve de árvores errantes e alta sobrecarga de limpeza. Além disso, como um dispositivo de armazenamento baseado em NAND mostra características diferentes de acordo com sua geometria interna ou esquema de gerenciamento de memória flash (como a Camada de Tradução de Flash ou FTL), ele suporta vários parâmetros não apenas para configurar o layout no disco, mas também para selecionar algoritmos de alocação e de limpeza.

Recursos

  • Multi-head logging
  • Tabela de hash de vários níveis para entradas de diretórios
  • Separação estática/dinâmica de dados a quente e a frio
  • Esquema de log adaptivo
  • Unidades operacionais configuráveis
  • Ponto de verificação duplo
  • Recuperação em roll-back e roll-forward
  • Alocação de blocos em estilo Heap
  • Suporte ao comando TRIM/FITRIM[3]
  • Desfragmentação de sistema de arquivos online/desfragmentação de arquivos[4]
  • Inline xattrs[5]/data[6]/dir[7]
  • Verificação do sistema de arquivos off-line (Verificar e corrigir inconsistência[8])
  • Operações atômicas[9]
  • Criptografia em nível de sistema de arquivos[10]
  • Redimensionamento off-line[11]
  • Descarga de dados periódica interna[12]
  • Cache de extents[13]

Ver também

Apple File System

Referências

Ligações externas