From: Aras Vaichas <arasv@magellan-technology.com>
To: MTD-LIST <linux-mtd@lists.infradead.org>
Subject: Re: Read/nBusy via interrupt
Date: Fri, 29 Oct 2004 19:56:19 +1000 [thread overview]
Message-ID: <418213C3.3050706@magellan-technology.com> (raw)
In-Reply-To: <1099035223.22387.529.camel@thomas>
Thomas Gleixner wrote:
> On Fri, 2004-10-29 at 09:43 +1000, Aras Vaichas wrote:
>
>>Ben Dooks wrote:
>>
>>>Does anyone here have any comments over the pros/cons of using
>>>an interrupt which goes off to wait for a NAND flash ready/not-busy
>>>signal?
>>>
>>
>>pros of using interrupt:
>>* faster MTD access (maybe, depends on polling rate) but as a percentage of
>>total access time it probably doesn't make much difference.
>
> For program and erase it makes a lot of difference. The waiting process
> releases the CPU and gets woken when the job is done. Arguing with
> percentage of total access time is utter crap here. The poll/yield loop
> involves unneccecary context switches, which can significantly influence
> the overall system performance on smaller systems.
"utter crap", is that ISO standard terminology?
I said "faster MTD access". I wasn't talking about efficiency. I was talking
about the latency between the polling period and the interrupt ... and the
latency divided by the total access time probably isn't that much as a
percentage of time "wasted".
>>cons of using interrupt:
>>* more pins used up on CPU
>
> No. Usually R/B is connected anyway.
usually? If the software doesn't need it, then why would you connect it?
>>* more code to write and debug!
>
> About 20 lines. I'm scared.
No need to be scared. Software engineers don't come for free. development time
== money.
>>* more interrupts going off in system
>
> They go only off, when a long lasting operation is in progress
But still more interrupts, I was simply stating the obvious in order to list
all pros and cons as a complete list.
>>* more pins needed on MTD -> more expensive boards and chips, longer board
>>design times
>
> He ? NAND FLASH has a ready/busy pin, which does not produce extra
> costs. What's the longer design time per pin on complex boards ?
> A typical 32bit embedded system CPU board uses alone about 500 pins for
> connecting CPU, SDRAM, power and the on chip peripherals. Do you really
> want to tell me, that 1 more pin will increase board costs and design
> time significantly ?
I never said it would affect it significantly (or did I?). I was simply stating
the fact that the time does increase. Every pin on a chip costs extra and when
you are planning on making 10,000+ per year of a product, that price difference
makes a affects your company's bottom line. If you don't believe me, then take
a look at the Digikey page for the AT45DB081 and take a long hard look at unit
price versus pin count.
And yes, routing extra pins does cost more because it takes more time to place
them. (remember that time == money equation?) Especially if you are trying to
fit a whole Linux capable system into a small area for a portable, handheld
product.
>>If you take a look at the 8-CASON part, you'll notice that in order to reduce
>>pin count, they leave out the ready/nbusy signal because this information can
>>be obtained by polling. This is really a matter of board space as you can fit
>>1Megabyte of bootable FLASH into a surface mount 8pin package by leaving out
>>this pin.
>
> This is a 1 MByte boot FLASH designed for space constraint devices. You
> need a CPU which can boot from those.
Doesn't it count as an MTD device? Where did this kernel option come from ->
"CONFIG_MTD_AT91_DATAFLASH" ??
> We are talking about NAND >= 32MB, which is often used for filesystems.
Ben didn't mention "NAND >= 32MB, which is often used for filesystems", or
perhaps I read the initial email incorrectly ... hmmm, my bad. The Dataflash
has a ready/nbusy signal as well. I keep a filesystem on the Dataflash! Am I
doing something wrong?!? Oh no ... !
>>If you can spare the board space, why not use interrupts? Make it a kernel
>>option. MTD_EADYNBUSY_INTERRUPT ?
>
> There's no option neccecary at all. This is board related and has to be
> solved by the board driver anyway. The functionality to do so is already
> there.
Good. That's great!
Thomas, your reply to my email was so ridiculously over the top and harsh. I
was simply offering an opinion and some information on a useful MTD device from
the position of someone with hardware experience. Perhaps next time you should
re-think the tone of your replies and consider the signal-to-noise ratio of
what you write. I'm sure this forum will be a better place for it.
:)
regards,
Aras
next prev parent reply other threads:[~2004-10-29 9:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-28 23:06 Read/nBusy via interrupt Ben Dooks
2004-10-28 23:13 ` Thomas Gleixner
2004-10-28 23:43 ` Aras Vaichas
2004-10-29 7:33 ` Thomas Gleixner
2004-10-29 9:56 ` Aras Vaichas [this message]
2004-10-29 9:57 ` jasmine
2004-10-29 10:16 ` Thomas Gleixner
2004-11-01 0:01 ` Aras Vaichas
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=418213C3.3050706@magellan-technology.com \
--to=arasv@magellan-technology.com \
--cc=linux-mtd@lists.infradead.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.