questions about parallelism in MTD

Artem Bityutskiy dedekind1 at gmail.com
Mon Feb 4 02:14:13 EST 2013


On Mon, 2013-01-21 at 14:38 +0900, Sunghan Suh wrote:
> Hi,
> 
> I'm a software engineer who is trying to develop a new flash file system.
> 
> I have some questions about MTD.
> 
> 1. Isn't there any approach to make read/write operations to be non-blocking?
>   For example, a file system writes data to MTD and it doesn't want to wait on I/O completion.
>   While writing, it tries to do other things in order to increase performance.
>   How can I use MTD such a case?

This would be cool to have such an interface. It should be modelled
after the Block I/O interface. But it would anyway have a lot more
restrictions than block I/O and would have many specifics.

At the moment, nothing like this exist. I guess it is just too hard to
implement, so no one dared.

> 2. How can I utilize multiple plane & die architectures in MTD?
>   As MLC & TLC used, write latency is getting much larger. 
>   Instead, flash memory supports multiple plane & die to increase parallelism.
>   Is there a MTD driver fully supporting these features?

I guess the only current way to do this is to make the driver expose
logical eraseblocks/pages which are multiple of physical
eraseblocks/pages, then upper layers will do I/O in larger chunks, and
you will make the physical I/O parallel on the driver level. 

-- 
Best Regards,
Artem Bityutskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20130204/d38873b4/attachment.sig>


More information about the linux-mtd mailing list