Re: [PATCH 0/8] MUSE: Userspace backed MTD v3

From: Miquel Raynal
Date: Wed Feb 10 2021 - 15:56:54 EST


Hi Richard,

Richard Weinberger <richard@xxxxxx> 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