
Features
TINY is a failsafe file system designed for any flash device with small erasable sectors. It is ideal for most standard serial flash parts, as well as flash-based microcntrollers with small erasable sectors and RAM drives.
• 100% power failsafe
• Small code footprint (typically 5-10K)
• Tiny RAM usage (<100 Bytes possible)
• Configurable filename length
• Directory handling
• Multiple files open simultaneously
• Standard file API
• Reserved sectors
• ANSI C compliant source code
• Sample drivers for several devices
• Detailed implementation guide
TINY is designed for the easy integration and configuration of new chip types. HCC provides free consultancy for adding new device types or modifying existing ones. Also available is hardware reference design information.
Rationale
Flash technology is constantly changing and comes in many variants. To get the most from any particular flash arrangement, flash file systems need to be crafted carefully, in order to take into account the many peculiarities and complexities that are inherent in flash designs. TINY is designed to work with flash that has small erasable sectors. There are several paramount goals that TINY satisfies: It is failsafe; it has a small ROM footprint; it requires minimal RAM; it is suitable for use in constrained environments.
Traditionally, most flash devices have had very large erasable sectors (typically 32K or greater). This always leads to fragmentation issues when creating a file system. HCC’s solution for this problem is to design the various versions of TINY so that they are aligned with the attributes of specific flash memories. This allows the developer to choose a file system that uses minimal resources.
Many microcontrollers, have included flash that is both erasable in small sectors and is application-programmable. When used with TINY, numerous new possibilities arise. For example, configuration files can be stored as standard .ini or .txt files, or a new wav file can be dropped to the microcontroller without having to worry about flash layout and fragmentation issues.
There are many standalone flash devices (particularly serial flash devices) that have relatively small erasable sector sizes and therefore can benefit from a file system that is consistent with the organization of the flash.
Standard NOR flash devices have the drawback of very long erase times, which are often greater than 1 second. However, smaller erasable sector devices have erase times that are typically a few milliseconds. This factor provides new design possibilities for microcontroller-based products requiring some kind of flexible storage.
Traditionally, microcontroller developers have not used file systems because of the overheads involved. Now it is possible to use a file system to obtain the benefits of position-independen