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

Richard Weinberger
2021-02-10T11:24:51Z

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.

Thanks,
//richard