All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Dubov <oakad@yahoo.com>
To: Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: Smartmedia/xd card support - request for comments
Date: Sun, 20 Apr 2008 18:33:11 -0700 (PDT)	[thread overview]
Message-ID: <490135.81340.qm@web36705.mail.mud.yahoo.com> (raw)
In-Reply-To: <20080420160115.GA20694@logfs.org>

> >
> > I wonder if mtd shouldn't modified to handler more clever controller :
> > I saw some raw nand controller where you can program a batch of 
> > command/read/write/ecc checking (that work on a internal RAM of the 
> > controller (and may be use DMA)) and all you have to do is to wait the 
> > controller do the job.
> > These controllers are very hard to integrate in current nand layer 
> > because it is very low level controller oriented.
> 
> The obvious solution is to have seperate io scheduling from io
> completion.  Requires an asynchronous interface to read/write and some
> sort of request queue.
> 
> Not quite as obvious is the question of whether to add all this to mtd
> or to replace mtd with block devices, which already have it.
> 

I was thinking about it myself and it appears to be the only solution outright.

The interesting, but apparently hard way to do so is to define a couple of
REQ_TYPE_SPECIAL mtd-specific commands and use the existing block device queue
to manipulate them. This can even open the possibility of "static" request
translation: mtd_blkdev can pop the block device request, put it through media
specific translator and then push a necessary set of mtd operations back into
the same queue, delegating the processing to raw mtd device.

The simpler approach I'm following with my xd_card_blk is to define a
simplistic, block device like api. First, the translator is initialized with
the request range (offset + length) and backend is notified to start
processing. The backend then pulls flash requests (READ, WRITE, COPY, ERASE)
from the translator, possibly putting them through additional, protocol/host
specific translation layer.



      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

  reply	other threads:[~2008-04-21  1:33 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-19  8:31 Smartmedia/xd card support - request for comments matthieu castet
2008-04-20 16:01 ` Jörn Engel
2008-04-21  1:33   ` Alex Dubov [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-04-17  8:50 Alex Dubov
2008-04-17  9:01 ` Ben Dooks
2008-04-17  9:11   ` Alex Dubov
2008-04-17 13:10     ` Andy Lutomirski
2008-04-17 13:36       ` Arnd Bergmann
2008-04-17 13:38     ` Thomas Gleixner
2008-04-17 14:07       ` Jörn Engel
2008-04-17 19:11         ` Thomas Gleixner
2008-04-17 21:21           ` Jörn Engel
2008-04-18  8:47             ` Alex Dubov
2008-04-18  9:35               ` Thomas Gleixner
2008-04-19  2:49                 ` Alex Dubov
2008-04-19  5:56                   ` Thomas Gleixner
2008-04-18 14:00               ` Jörn Engel
2008-04-19  3:05                 ` Alex Dubov
2008-04-19  6:37                   ` Thomas Gleixner
2008-04-19 16:35                     ` Jörn Engel
2008-04-20  2:25                     ` Alex Dubov
2008-04-17 13:35 ` Thomas Gleixner
2008-04-17 14:19 ` Jörn Engel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=490135.81340.qm@web36705.mail.mud.yahoo.com \
    --to=oakad@yahoo.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.