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 | |
---|---|
Desenvolvedor | Samsung Electronics, Motorola Mobility, e Huawei |
Nome completo | Flash-Friendly File System |
Lançamento | v3.8, 2012-12-20[1] (Linux) |
Estruturas | |
Conteúdos de diretório | Tabela de hash multi-nível |
Alocação de arquivos | Bitmap (espaço livre), tabela |
Limites | |
Tamanho Máximo de arquivo | 3.94 TB |
Número máximo de arquivos | Depende do tamanho do volume |
Tamanho máximo do nome de arquivo | 255 bytes |
Tamanho máximo do volume | 16 TB |
Recursos | |
Datas salvas | Modificação (mtime), modificação de atributo (ctime), acesso (atime) |
Resolução de datas | 1 ns |
Atributos | POSIX, atributos estendidos |
Permissões de sistema de arquivos | POSIX, ACL |
Compressão transparente | Não |
Criptografia transparente | Sim |
Sistemas operativos suportados | Linux, 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
editar- 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
editarReferências
- ↑ Michael Larabel (22 de dezembro de 2012). «F2FS File-System Merged Into Linux 3.8 Kernel». Phoronix. Consultado em 25 de maio de 2016
- ↑ a b Jaegeuk Kim (5 de outubro de 2012). «f2fs: introduce flash-friendly file system». Consultado em 25 de maio de 2016
- ↑ Jaegeuk Kim (22 de setembro de 2014). «f2fs: introduce FITRIM in f2fs_ioctl»
- ↑ Chao Yu (26 de outubro de 2015). «f2fs: support file defragment»
- ↑ Jaegeuk Kim (26 de agosto de 2013). «f2fs: add flags for inline xattrs»
- ↑ Huajun Li (10 de novembro de 2013). «f2fs: Enable f2fs support inline data»
- ↑ Chao Yu (24 de setembro de 2014). «f2fs: support inline dir»
- ↑ Jaegeuk Kim (20 de setembro de 2014). «f2fs-tools: release 1.4.0»
- ↑ Jaegeuk Kim (25 de setembro de 2014). «f2fs: support atomic_write feature for database»
- ↑ Jaegeuk Kim (24 de junho de 2015). «f2fs updates for v4.2»
- ↑ Jaegeuk Kim (25 de abril de 2016). «resize.f2fs: support to expand partition size»
- ↑ Chao Yu (17 de dezembro de 2015). «f2fs: support data flush in background»
- ↑ Chao Yu (25 de janeiro de 2015). «f2fs: enable rb-tree extent cache»
Ligações externas
editar- Flash Friendly File System (F2FS), Embedded Linux Conference (2013-02-22)
- A New File System Designed for Flash Storage in Mobile, Embedded Linux Conference Europe (2012-11-05)
- Flash Memory Filesystem, Korea Linux Forum (2012-10-12)
- LWN.net: An f2fs teardown (2012-10-10)
- The f2fs filesystem
- Userland tools for the f2fs filesystem
- F2FS wiki for developers