EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Solid File System

Virtual file system engine that can be embedded into your software.

Solid File System (SolFS) is a file system implementation that can be embedded into your application or mounted as a virtual disk.

SolFS offers software architects and developers a feature-rich storage for application documents and data, and is 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).

Clients say:

...It provides neat functional capabilities...


Latest version

Release:  5.2.152
13 October 2016

Most wanted features Vote or request a feature

Technical Specification

Description

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.
See a comparison chart for comparison of SolFS with other popular file systems.

Packages

  • Professional - all features listed below
  • Lite - simple container for your files with whole-storage encryption
For detailed information between differences between packages see SolFS packages comparison chart.

Features

  • 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 alternate data streams for files. 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. Tags can be identified by numeric ID or by name.
    • 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.

Miss a feature? Tell us about your idea using Wish List.

Supported platforms

  • Windows (32-bit and 64-bit):
    • Windows 10
    • Windows 2012 Server R2
    • Windows 8.1
    • Windows 2012 Server
    • Windows 8
    • Windows 2008 Server R2
    • Windows 7
    • Windows 2008 Server
    • Windows Vista
    • Windows 2003 Server
    • Windows XP
  • Microsoft .NET Framework on Windows (32-bit and 64-bit):
    • Universal Windows Platform
    • .NET 4.6.x
    • .NET 4.5.1
    • .NET 4.5
    • .NET 4.0
    • .NET 3.5
    • .NET 3.0
    • .NET 2.0
  • Android 2.2 and later
  • MacOS:
    MacOS 10.8 and later (separate installation of OSXFuse is required)
  • iOS 5.1.1 and later
  • Linux (kernel version 2.6.x and later)
  • FreeBSD

Development tools

  • .NET API:
    • Visual Studio 2015
    • Visual Studio 2013
    • Visual Studio 2012
    • Visual Studio 2010
    • Visual Studio 2008
    • Delphi Prism
  • C++ API:
    • Visual Studio 2015
    • Visual Studio 2013
    • Visual Studio 2012
    • Visual Studio 2010
    • Visual Studio 2008
    • XCode on MacOS X
    • gcc on all supported platforms
  • ActiveX API:
    • Visual Studio 2015
    • Visual Studio 2013
    • Visual Studio 2012
    • Visual Studio 2010
    • Visual Studio 2008
  • VCL API (VCL units are linked into the application without any external DLLs):
    • Embarcadero RAD Studio 10.1 Berlin (Delphi and C++Builder, Windows targets)
    • Embarcadero RAD Studio 10 Seattle (Delphi and C++Builder, Windows targets)
    • Embarcadero RAD Studio XE8 (Delphi and C++Builder, Windows targets)
    • Embarcadero RAD Studio XE7 (Delphi and C++Builder, Windows targets)
    • Embarcadero RAD Studio XE6 (Delphi and C++Builder, Windows targets)
    • Embarcadero RAD Studio XE5 (Delphi and C++Builder, Windows targets)
    • Embarcadero RAD Studio XE4 (Delphi and C++Builder, Windows targets)
    • Embarcadero RAD Studio XE3 (Delphi and C++Builder)
    • Embarcadero RAD Studio XE2 (Delphi and C++Builder)
    • Embarcadero RAD Studio XE (Delphi and C++Builder)
    • Embarcadero RAD Studio 2010 (Delphi and C++Builder)
    • CodeGear RAD Studio 2009 (Delphi and C++Builder)
    • CodeGear RAD Studio 2007 (Delphi and C++Builder)
    • Borland RAD Studio 2006 (Delphi and C++Builder)
    • Delphi 2005
    • Delphi 7
  • DLL API: any development tool that supports import of exported DLL functions.

To request more details please use our feedback form or Web-based Helpdesk system.


Ready to try? Download your own copy to try it for free. Ready to pull the trigger? Refer to the Prices and Ordering page for complete licensing information.

|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!