TargetZFS™
Compressed Static File System
Blunk Microsystems' compressed static file system, TargetZFS, is a general
purpose file system for embedded applications. It supports static and
compressed read-only volumes linked into program code as well as compression
of volumes located in read-write storage.
Benefits:
- Royalty Free
- Source Code for Target File System
- Reliable, Re-entrant Embedded File System
- Provides POSIX and Standard C API (read-only)
- Compression is Invisible to Applications
- Supports Multiple Volumes
- Includes Sample Applications
Although TargetZFS is general purpose, it is specifically designed to meet four critical needs of embedded developers:
- Serve as a file system for an embedded web server, such as TargetWeb
- Facilitate compression of application programs to be loaded into RAM for execution
- Compress data in a device without losing read-only file system access to it
- Reduce data transmission for files that are to be retrieved from a device
The TargetZFS system includes a PC tool (screen shot below) that is used to create a compressed
image of any directory. The resulting read only file system can be made
available to an embedded application in one of two ways: (1) the compressed
image can be converted by the PC tool into the initialization data for a C array
that is compiled as source code and linked with the application, or (2) the
compressed image can be placed into an existing file system on the target and
mounted. In either case the result is that the files formerly on the PC become
available to the embedded application for access through TargetZFS' standard
file system API and are transparently decompressed as they are read.
TargetZFS also contains an embedded subsystem that creates compressed images in much the same manner as the PC compression
tool, except that it runs on the device and compresses a directory found in an embedded file system. As noted above, the
created compressed image can be mounted, making the contents of the image available for read-only file system access with transparent
decompression. In this way, TargetZFS can compress data that has been collected in a device while retaining
convenient read access to it.
The PC tool is also capable of decompressing images. Thus, if data is to be retrieved from a target, TargetZFS makes
it easy to compress the data files on the target so that the transfer time will be reduced.
Some embedded modules, such as web servers, require access to an underlying file
system. Using TargetZFS either by itself, or in combination with TargetFFS provides
a complete set of solutions for such applications. The TargetZFS part of the solution
provides both for compression and the ability to link a file system in with the application's
code. TargetFFS allows the contents of the file system to be changed
after the device is deployed. Using the two systems in combination allows compressed
data to be stored in the flash file system and changed after deployment.
In particular, for embedded web
servers, though on-the-fly modifications may be made as pages are served, the
HTML source files are usually static and significant compression can be expected
from TargetZFS. If there is no need to dynamically change the device’s HTML
source files, TargetZFS alone can provide a file system for the web server. If
dynamic updates of HTML source files are needed, the files can be stored in a
flash file system either as individual files or after having been packaged into
compressed images using TargetZFS.
Also, many embedded devices have ROM resident boot code that loads the main
application program into RAM where it is then executed, typically so that it
benefits from higher speed memory. Compression of the memory footprint of an
application program is generally very dramatic and TargetZFS provides a
straight-forward approach to achieving compression with minimal programming
effort.
|