Having been in the flash memory management space for 15+ years, a very high number of our customers use our products on flash memory (NAND, NOR, NAND controllers, Fusion flash like Samsung OneNAND, etc). FlashFX Pro is designed only for flash memory but Datalight Reliance is a file system that works on all block devices. This includes hard drives, USB flash drives, removable cards like SD, CF, solid state drives (SSD), etc. The advantage Reliance brings to these devices is of reliability against data corruption, fast mount times and fast I/O throughput. It also mandates certain requirements on the physical media to ensure reliability against data corruption. We have had customers use Reliance on hard drives before and I want to share some requirements for Reliance to provide high reliability on rotating media. This post is specific to Linux but the general concepts should be applicable to all OSes. Reliance is a transactional file system and at each transaction point it flushes all its internal caches and commits the data to disk in atomic operations. Primary requirement for Reliance to function on hard drives is that the hardware and the ATA driver must support the "FLUSH CACHE" command. The Linux IDE disk driver checks bits 12 and 13 of word 83 in the IDENTIFY DEVICE information to determine whether FLUSH CACHE is supported. These bits are defined by the ATA-6 specification, and are not set in earlier drives.
The IDE disk driver will report whether it has detected this capability in a drive. This is available in the system log. A typical message will look like: Jun 9 09:49:23 billr-qa kernel: [ 18.621740] hda: cache flushes supported Since there are a vast number of hard disks on the market and new ones are constantly being introduced (and old ones discontinued), it is a little difficult for Datalight to qualify all hard drives and recommend a specific one. Generally any disk that conforms to the ATA-6 specification and reports that it supports FLUSH CACHE should work correctly with Reliance. Reliance reports whether it is able to use flush to ensure correct operation, the system log typically looks like this: Jun 9 09:52:44 billr-qa kernel: [ 240.283463] relfs: block device supports flush. If this message appears in the log, Reliance should operate correctly when power is interrupted unexpectedly. Datalight's power interruption testing has been performed on a Western Digital AC29100D using kernel version 18.104.22.168 If you have any questions on the FLUSH CACHE on an OS other than Linux, please leave a comment.