Datalight Reliance Nitro is a transactional flash file system, comprised of the working state and the committed state. Original data (the committed state) is preserved until the new data (the working state) is written and a transaction point is performed. During operation on the working state, all file system modifications – including changes to directories, files and metadata – are stored on an area of the media that is currently unused and does not contain committed state data. The possibility of corruption is eliminated because the data of the new transaction is written to an unused portion of the media. Writing to an unused portion of the media allows the previous state of the file system to be untouched. Valid data from the previous transaction is always available.
This varies greatly from the FAT file system where some data is overwritten when updating a file, and journaling file systems like JFFS2 where a log of each transaction is kept, but at the cost of performance.
With Reliance Nitro’s Dynamic Transaction Point Settings, transaction points are run-time configurable. Setting options include automatic, timed or application-controlled options, giving embedded developers the flexibility they need for their specific build.