Almost all electronic systems have various types of memory in order to function properly. One of these memories is the mass storage memory or secondary memory. The main feature of this memory is its large data storage capacity, which persists after turning off the power being able to read and write. In other words, secondary memory is generally used to store configuration and user data. These memories are usually a set of bytes organized in sectors. In order to understand these bytes, a file system is needed.
These systems store and relate the different sectors. The group of related sectors is called file. There are many types of file systems with different characteristics according to the needs of the system. However, none of the existing ones is adapted to real-time embedded systems.
Problems of using mass storage memory on embedded systems
The main limitations when using secondary memories in real-time embedded systems are that they need:
- A deterministic access time.
- High CPU utilization (Central Processing Unit).
- High RAM memory usage.
With this idea in mind, at Embention, we have designed the DFS2 (Deterministic Fixed-Size File System) file system.
Advantages of using DFS2 file system
DFS2 has successfully overcome these requirements dividing storage memory into parts. Each of these parts is made up of a number of files with a maximum size. The number of parts in which the memory is divided, the files that make up each part and the maximum size of the files are user-configurable and independent between partitions.
With this memory organization, all the files are found in a deterministic position known by the file system. In this way, access to the information in each file is obtained by reading a sector of data, the position of which is easily calculated by the file system. This minimizes the required CPU and RAM memory requirements. In addition, the access time to files is deterministic because is the same for all files regardless of their position, since memory fragmentation is eliminated.