- Location of Background Write problems. Entirely uncertain whether
  this is Driver, an FS or a FileCore problem
- Imroved handling of disc errors. Not sure whether NVMe allows
  a more precise localisation
- FS Verify. Determine by additional identifier evaluation at start
  wheterh devices supports NVMe Verify command and adapt DiscOp Verify
  accordingly
- In case that memory allocation fails for an operation look at unused
  operations and drop their allocated storage. Retry allocation afterwards

Additional notes from review:
- Error numbers returned should be checked for fitting into the standard
  FileCoreErr pattern, example DiscErr at 0xC7
- Atomic operations assume a single core process model, would be better to
  use SyncLib rather than disabling interrupts globally
- Assumption that STMIA is atomic in address_pair_update_atomic() and
  background_control_update_atomic() is no longer true on recent Arm cores
- Several structure definitions are unnecessarily marked __packed which
  will produce suboptimal code
- Variable types would be better using <stdint.h> which would avoid a lot of
  casting, and use of _swix would avoid more casting
