public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* questions about parallelism in MTD
@ 2013-01-21  5:38 Sunghan Suh
  2013-02-04  7:14 ` Artem Bityutskiy
  0 siblings, 1 reply; 2+ messages in thread
From: Sunghan Suh @ 2013-01-21  5:38 UTC (permalink / raw)
  To: linux-mtd

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?

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?

Thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: questions about parallelism in MTD
  2013-01-21  5:38 questions about parallelism in MTD Sunghan Suh
@ 2013-02-04  7:14 ` Artem Bityutskiy
  0 siblings, 0 replies; 2+ messages in thread
From: Artem Bityutskiy @ 2013-02-04  7:14 UTC (permalink / raw)
  To: Sunghan Suh; +Cc: linux-mtd

[-- Attachment #1: Type: text/plain, Size: 1365 bytes --]

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

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-02-04  7:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-21  5:38 questions about parallelism in MTD Sunghan Suh
2013-02-04  7:14 ` Artem Bityutskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox