# Datalight

Datalight was a privately held software company specializing in power failsafe and high performance software for preserving data integrity in embedded systems. The company was founded in 1983 by Roy Sherrill, and its headquarters is in Bothell, Washington. As of 2019, the company was a subsidiary of Tuxera under the name of Tuxera US Inc.

## Overview and history

Datalight was founded in 1983 by Roy Sherrill, a former Boeing engineer. Datalight's initial products were two DOS applications: Datalight Small-C compiler and Datalight C-Bug debugger. A full C compiler named Datalight C was available from Datalight between 1987 and 1993; Datalight C, developed by Walter Bright, evolved into Zortech C and is now Digital Mars C. Datalight C was also developed into an optimizing compiler called Datalight Optimum-C, which later became Zortech C++, the first native C++ compiler. In 1988, Datalight released C_thru_ROM, which provided embeddedable C functions and C start-up code, allowing programs developed on DOS to run as standalone applications without DOS dependence. In 1989, ROM-DOS 1.0 was released.
CardTrick was announced in 1993 to support the flash memory being built into PCMCIA cards. Card Trick later evolved into the embedded flash memory manager FlashFX in 1995, moving Datalight into the raw flash memory market. The company grew rapidly in the late 1990s, receiving the WA Fast 50 award for the fastest growing companies in Washington state in 1997 and 1998.
The first of four patents to eventually be assigned to Datalight, "Method and apparatus for allocating storage in a flash memory", was awarded in 1999, followed up with an additional FlashFX-related patent, "Method and system for managing bad areas in flash memory", in 2001.
In 2003, Reliance, a reliable transactional embedded file system, was released; a related patent, "Reliable file system and method of providing the same", was awarded in 2007.
In 2009, Datalight released FlashFX Tera to support the growing size and complexity of NAND flash arrays. That same year, Reliance Nitro was released, building upon Reliance and adding a tree-based architecture to improve performance for large files (>100 MB) and large numbers of files.
In 2013, another file system related patent, "Method and Apparatus for Fault-tolerant Memory Management" was issued.
In June 2019, the Finnish storage software and networking technology company Tuxera signed an agreement to acquire Datalight.

## Products
### Reliance family
#### Reliance

First released in 2003, Reliance is an embedded file system designed for applications with high reliability requirements. Key features:
* Provides immunity to file corruption, including after unexpected system interruption (e.g., power loss), via atomic transaction points.
* Does not need to check disk integrity at start-up, meaning a shorter boot time.
* Dynamic file system configuration for performance optimization.
* Full data-exchangeability with Microsoft Windows, via the Reliance Windows Driver.
Reliance has a maximum volume size of 2 TB and a maximum file size of 4 GB.

#### Reliance Nitro

Released in 2009, Reliance Nitro is a file system developed from Reliance; it improved on the performance of original Reliance, primarily by adding a tree-based directory architecture facilitating faster look-ups. The maximum volume size on Reliance Nitro is 32 TB; maximum file size is constrained only by free space.

#### Reliance Windows Driver

Datalight provides Windows drivers for both Reliance (Reliance Windows Driver; RWD) and Reliance Nitro (Reliance Nitro Windows Driver; RNWD); they provide exchangeability between Reliance-formatted media and Microsoft Windows. Both support Windows Vista and Windows XP; an older version of RWD supports Windows 2000. The drivers are bundled with tools to format media and a utility to check file system integrity.

### FlashFX

Introduced in 1995, FlashFX is a flash media manager which allows applications to access flash memory as if it were a hard drive, abstracting the complexity of flash media. FlashFX operates either NAND or NOR flash and supports numerous flash devices. It can be used with any file system.
Versions:
* FlashFX Pro: Supports around 200 flash chip part numbers and flash arrays up to 2 GB. Has pre-ported versions for Windows CE, VxWorks, Nucleus PLUS, and ThreadX. FlashFX Pro is available for Windows Mobile (FlashFX Tera is not).
* FlashFX Tera: Supports around 300 flash chip part numbers and flash arrays up to 2 TB. Has pre-ported versions for Linux, Windows CE, and VxWorks. FlashFX Tera supports MLC NAND flash, while FlashFX Pro does not; another improvement is Tera's error correction, which is more robust than Pro's.
Products using FlashFX include Arcom's PC/104 computer, Curtis-Wright's Continuum Software Architecture, Teltronic's HTT-500 handset, and MCSI's PROMDISK disk emulator.

### XCFiles

XCFiles, released in June 2010, is an exFAT-compatible file system aimed at consumer devices. It allows embedded systems to support SDXC, the SD Card Association standard for extended capacity storage cards. Marketed as "independent of the target platform", XCFiles is intended to be portable to any 32-bit platform which meets certain requirements (such as supporting semaphores and unsigned 64-bit integers).
XCFiles is marketed in Japan as 'exFiles' by A.I. Corporation; it was released there in April 2009.

### ROM-DOS

ROM-DOS (sometimes called Datalight DOS) was introduced in 1989 as an MS-DOS compatible operating system designed for embedded systems. It includes backward compatibility build options allowing compatibility with specific versions of MS-DOS (e.g., DOS 5.01). ROM-DOS 7.1 added support for FAT32 and long file names. ROM-DOS includes a compact TCP/IP stack; and SOCKETS, a network socket API and connectivity package, is available as an optional add-on for ROM-DOS. The SDK comes with Borland C/C++ and Turbo Assembler.
System requirements:
* Intel 80186 or compatible
* 10 KB of RAM
* 54–72 KB of ROM or disk space (depending on version)
Some devices which use or used ROM-DOS are the Canon PowerShot Pro70, Advantech's ADAM-4500, the Percon Falcon 325, several early PDAs (Tandy Zoomer, IBM Simon, HP OmniGo 100/120, Nokia 9000/9000i/9110/9110i), Casio Algebra FX Series graphing calculators, MCSI's PROMDISK, and Arcom's PC/104 computer. Intel's Advanced RAID Configuration Utility (ARCU) is based on ROM-DOS, and, as of 2004, all Intel server board System Resource CDs included ROM-DOS. Symbol's FMT 3000 came with a copy of ROM-DOS.

#### Commands

The following list of commands is supported by ROM-DOS.
* ATTRIB
* BACKUP
* BREAK
* CALL
* CD
* CHDIR
* CHKDSK
* CHOICE
* CLS
* COMM
* COMMAND
* COPY
* CTTY
* DATE
* DEL
* DELTREE
* DIR
* DISK2IMG
* DISKCOMP
* DISKCOPY
* DUMP
* ECHO
* EMM386
* ERASE
* EXE2BIN
* EXIT
* FDISK
* FIND
* FOR
* FORMAT
* GOTO
* HELP
* IF
* KEYB
* LABEL
* LFNFOR
* LOADHIGH
* MD
* MEM
* MINICMD.COM
* MKDIR
* MODE
* MORE
* MOVE
* MSCDEX
* NED
* PATH
* PAUSE
* POWER
* PRINT
* PROMPT
* PROTO
* RD
* REM
* REMDISK
* REMQUIT
* REMSERV
* REN
* RESTORE
* RMDIR
* RSZ
* SERLINK
* SERSERV
* SET
* SHARE
* SHIFT
* SMARTDRV
* SORT
* SUBST
* SYS
* TIME
* TRANSFER
* TREE
* TRUENAME
* TYPE
* UMBLINK
* VER
* VERIFY
* VOL
* XCOPY