Hi Richard, Richard Weinberger <rich...@nod.at> wrote on Wed, 10 Feb 2021 12:23:53 +0100 (CET):
> Miquel, > > ----- Ursprüngliche Mail ----- > >> Does in-band and OOB data need to be handled together? > > > > Short answer: yes. > > > >> If so, then two requests is not a good option. > > > > More detailed answer: > > > > There is a type of MTD device (NAND devices) which are composed, for > > each page, of X in-band bytes plus Y out-of-band metadata bytes. > > > > Accessing either the in-band data, or the out-of-band data, or both at > > the same time are all valid use cases. > > > > * Read operation details: > > From a hardware point of view, the out-of-band data is (almost) > > always retrieved when the in-band data is read because it contains > > meta-data used to correct eventual bitflips. In this case, if both > > areas are requested, it is highly non-efficient to do two requests, > > that's why the MTD core allows to do both at the same time. > > * Write operation details: > > Even worse, in the write case, you *must* write both at the same > > time. It is physically impossible to do one after the other (still > > with actual hardware, of course). > > > > That is why it is preferable that MUSE will be able to access both in > > a single request. > > By single request we meant FUSE op-codes. The NAND simulator in Userspace > will see just one call. My plan is to abstract it in libfuse. If libfuse abstracts it, as long as MTD only sees a single request I'm fine :) Thanks, Miquèl