#flash #esp32 #file-content #file-access

nightly rudelblinken-filesystem

Minimalistic zero-copy flash filesystem optimized for embedded systemse

3 releases

new 0.0.3 Nov 21, 2024
0.0.2 Nov 21, 2024
0.0.1 Nov 21, 2024

#440 in Embedded development

AGPL-3.0-only

76KB
1.5K SLoC

rudelblinken-filesystem

A zero-copy flash filesystem optimized for embedded systems

rudelblinken-filesystem implements a flash-friendly filesystem designed for resource-constrained embedded devices. Key features include:

  • Zero-copy access: Files are memory-mapped for direct, efficient access
  • Flash-optimized: Implements wear leveling and flash-aware write patterns
  • Safe concurrency: Reference counting enables safe concurrent access with reader/writer separation. Deferred deletion ensure data integrity
  • Resource efficient: Minimal RAM overhead during normal operation

The filesystem provides direct memory-mapped access to file contents while maintaining safety through a custom reference counting system. Multiple readers can access files concurrently while writers get exclusive access. Files are only deleted once all references are dropped.

Designed specifically for flash storage, the implementation uses block-aligned operations, respects write limitations, and implements basic wear leveling.

Dependencies

~1.1–1.6MB
~26K SLoC