A ruggedized
file system, which provides ruggedness to non-volatile storage media at the device driver level. The ruggedized block device driver implementation provides ruggedness at the device driver level, thereby allowing atomic sequences of operations by the
file system. Accordingly, the device driver is told that the current data state is a “fall-back” consistent state, into which the
system should wake up if interrupted prior to completion of the sequence, following which operations are executed as required by the
file system, including erasing, writing or overwriting blocks. The device driver is further told when the atomic sequence is complete, such that a new consistent state is thereby defined. It is, accordingly, the responsibility of the device driver to ensure that either the sequence completes and the file
system reaches the target consistent state, or if power is lost or any other failure occurs in the middle, the file
system will wake up in the initial fall-back state. Except for activating this “
atomicity” feature as described above, the file system does not have to be aware of any implementation detail of the ruggedness solution.