Apriorit - Professional consulting and software development
Home Products EldoS Products Solid File System - EldoS Software (solfs-engine-features)
Solid File System - EldoS Software - Features PDF Print E-mail

Solid File System™ (SolFS) - Single-File Virtual File System for .NET, Windows, Linux, PocketPC

Solid File System (SolFS) is a flexible, high-performance file system, designed for use with real media (such as Hard Drives or Flash Cards) or logical structures (files on disks, database records, application resources, and raw memory). SolFS gives you advantages of reliable encryption, transparent compression, high sorage capacity, application-defined attributes, custom tags, storage metadata, use of Unicode, creation of virtual disks, and support of mobile devices.

Created by: EldoS Corporation

Description Features Applications Environments License
Help&Support Download Ask for pricing

Solid File System (SolFS) is a flexible, high-performance file system, designed for use with both real media (such as Hard Drives or Flash Card) and virtual media (files on the disk, databases, application resources, raw memory).

Like other file systems, SolFS uses page-based organization of data with hierarchical structure of files and directories inside. Page mode allows SolFS to quickly and efficiently manage (create/write/delete) files and folders.

At the same time SolFS is not resource-hungry - it is capable to work with fixed-sized space (such as partition on hard drive) or resize the underlying media automatically when the data is added or deleted.

Solid File System is both a specification of file system format and portable implementation written in plain ANSI C.

Solid File System™ features are:

  • Major functions:
    • Transparent strong encryption on both per-stream basis and encryption of the whole storage. Encryption is done using AES and SHA (HMAC) algorithms with 256-bit key and can be applied even to single stream within a file. The key is derived from the password by adding a salt to prevent attacks. User-defined encryption is supported.
    • Transparent compression on per-stream basis. Encryption and compression can be applied to a stream at the same time. By default ZLib is used and you can plug your own compression if needed.
    • Journalling support (optional). This feature guarantees, that if write operation was interrupted, data integrity is not compromized.
  • Capacity:
    • Support for stream size of up to 128 Terabytes (ex. 140 735 340 806 145 bytes) gives you virtually unlimited possibilities for storing large amounts of data on physical media.
    • Maximum storage size of 256 Terabytes (ex. 281 474 976 645 120 bytes). Please contact us if this is not enough for your task.
  • Data organization:
    • Support for multiple streams per file. Streams can be found in NTFS and MacOS file systems. They let you keep additional information of data revisions within the same file.
    • Support for Symbolic Links.
    • Page (cluster) sizes from 256b to 64Kb are supported.
    • Very long file names and hierarchies of any depth are supported.
    • File and directory names are stored in Unicode (UTF-16).
    • Support for fixed-sized and resizable storages.
    • Support for both standard and application-defined file attributes.
    • Custom tags can be read and written. Tags are small chunks of information (not larger than the page size), associated with the directory, file or individual stream.
    • Storage metadata lets you save the information about the storage itself.
  • Data operations:
    • Support for all file/directory operations including wildcard-based search (searching for file names that match certain mask).
    • Check-and-repair and compact operations are supported for data recovery and performance improvement.
  • Platform features:
    • Possibility to keep the storage not only on physical disk drive, but in memory, database or anywhere else you want.
    • Possibility to work with as many storages at the same time as you need (limited by system resources).
    • Thread-safety. This means that you can perform several operations on different files in storage in different threads and storage correctly handles all operations.
    • Transparent cross-platform operations on both big-endian and little-endian platforms. The storage created on one platform can be used on others.
    • (Driver and Embedded editions) System-level drivers for Windows and Windows Mobile are available.