* DiskOnChip write performance
@ 2001-09-06 15:01 Holger Friedrich
2001-09-06 15:02 ` David Woodhouse
2001-09-06 15:05 ` kira brown
0 siblings, 2 replies; 15+ messages in thread
From: Holger Friedrich @ 2001-09-06 15:01 UTC (permalink / raw)
To: 'linux-mtd@lists.infradead.org'
Hi all,
I'm using a DiskOnChip 2000 and thanks to this mailing list I'm able to
boot linux off it.
My application needs to write big files pretty fast and I was expecting
a write speed of 500 kBytes/sec, the M-Systems DOC 2000 spec claims to
achieve this. Unfortunately the fastest speed I could obtain was about
70 kBytes/sec which seems pretty poor to me. When I asked the M-Systems
support the answers were not really helpfull so far.
Does anybody of you guys know, how to speed it up? I'm using ext2 at
present, will another fs be faster?
I would be even glad if someone told me it can't go faster so I can stop
bothering with DOC and try something better.
Thanks in advance for any helpfull hint
Holger
--
=========================================================
Holger Friedrich
MAZeT GmbH mailto:friedrich@mazet.de
branch office Jena Phone: +49 3641 280954
Göschwitzer Straße 32
07745 Jena
Germany
Visit our website: http://www.MAZeT.de
=========================================================
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:01 DiskOnChip write performance Holger Friedrich
@ 2001-09-06 15:02 ` David Woodhouse
2001-09-07 1:02 ` Ollie Lho
2001-09-06 15:05 ` kira brown
1 sibling, 1 reply; 15+ messages in thread
From: David Woodhouse @ 2001-09-06 15:02 UTC (permalink / raw)
To: Holger Friedrich; +Cc: 'linux-mtd@lists.infradead.org'
friedrich@MAZeT.de said:
> I'm using a DiskOnChip 2000 and thanks to this mailing list I'm able
> to boot linux off it. My application needs to write big files pretty
> fast and I was expecting a write speed of 500 kBytes/sec, the
> M-Systems DOC 2000 spec claims to achieve this. Unfortunately the
> fastest speed I could obtain was about 70 kBytes/sec which seems
> pretty poor to me. When I asked the M-Systems support the answers were
> not really helpfull so far.
Are you using their drivers or the real Linux ones? If you're not using
their drivers, I can understand why they couldn't help you very much.
Our driver is fairly naïve, and may well be wasting a lot of time which
it shouldn't. I can give you pointers on fixing that, if you're
interested.
--
dwmw2
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:01 DiskOnChip write performance Holger Friedrich
2001-09-06 15:02 ` David Woodhouse
@ 2001-09-06 15:05 ` kira brown
2001-09-06 15:45 ` Herman Oosthuysen
2001-09-06 15:59 ` David Woodhouse
1 sibling, 2 replies; 15+ messages in thread
From: kira brown @ 2001-09-06 15:05 UTC (permalink / raw)
To: Holger Friedrich; +Cc: 'linux-mtd@lists.infradead.org'
On Thu, 6 Sep 2001, Holger Friedrich wrote:
> achieve this. Unfortunately the fastest speed I could obtain was about
> 70 kBytes/sec which seems pretty poor to me. When I asked the M-Systems
> support the answers were not really helpfull so far.
The M-Systems drivers are not the topic of this mailing list.
Neither, for that matter, are the M-systems BIOS extensions, or the
patched LILO they supply.
The topic of this list is the Linux MTD layer. The Linux MTD layer is
*not* written by M-Systems, it is not supplied by them, and their support
staff do not know anything about it. THe Linux MTD layer does *not* use
the M-systems BIOS extender, the M-systems binary-only linux kernel
driver, or any M-systems code of any other kind. The M-Systems firmware
has precisely zero to do with this list, the Linux MTD system, or the
JFFS.
Is that understood? pradeep, this means *you*.
(Sorry David, I had to say it.)
kira.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:05 ` kira brown
@ 2001-09-06 15:45 ` Herman Oosthuysen
2001-09-06 15:49 ` David Woodhouse
2001-09-06 15:52 ` kira brown
2001-09-06 15:59 ` David Woodhouse
1 sibling, 2 replies; 15+ messages in thread
From: Herman Oosthuysen @ 2001-09-06 15:45 UTC (permalink / raw)
To: 'linux-mtd@lists.infradead.org'
Hmm, now that wasn't very helpful was it?
Bear in mind that salesmen like to quote the fastest numbers they can get,
which for this type of system would be writing to a freshly formatted, empty
disk. This speed would be very different from the sustained rate writing to a
disk that needs some recovery/erase functions to be performed.
The erase time of flash chips vary wildly from chip to chip, even in the same
batch of chips. Some chips may erase in 3 seconds, others in 15 seconds. The
write time to the chip will likewise vary, but is many orders of magnitude
faster than the erase cycle, so that is not really a factor. There is nothing
you can do about it, except to ensure that your DOC is clean before you start
writing a whole lot of data to it.
You may be able to speed the system up a little by optimizing the code, but the
improvement will be insignificant compared to the erase cycle time.
Cheers,
Herman
http://www.AerospaceSoftware.com
On Thu, 06 Sep 2001, kira brown wrote:
> On Thu, 6 Sep 2001, Holger Friedrich wrote:
>
> > achieve this. Unfortunately the fastest speed I could obtain was about
> > 70 kBytes/sec which seems pretty poor to me. When I asked the M-Systems
> > support the answers were not really helpfull so far.
>
> The M-Systems drivers are not the topic of this mailing list.
>
> Neither, for that matter, are the M-systems BIOS extensions, or the
> patched LILO they supply.
>
> The topic of this list is the Linux MTD layer. The Linux MTD layer is
> *not* written by M-Systems, it is not supplied by them, and their support
> staff do not know anything about it. THe Linux MTD layer does *not* use
> the M-systems BIOS extender, the M-systems binary-only linux kernel
> driver, or any M-systems code of any other kind. The M-Systems firmware
> has precisely zero to do with this list, the Linux MTD system, or the
> JFFS.
>
> Is that understood? pradeep, this means *you*.
>
> (Sorry David, I had to say it.)
>
> kira.
>
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
--
Herman Oosthuysen
E-mail: Herman@WirelessNetworksInc.com
Phone: 403+569-5687, Fax: 403+235-3965
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:45 ` Herman Oosthuysen
@ 2001-09-06 15:49 ` David Woodhouse
2001-09-06 16:45 ` Herman Oosthuysen
2001-09-06 15:52 ` kira brown
1 sibling, 1 reply; 15+ messages in thread
From: David Woodhouse @ 2001-09-06 15:49 UTC (permalink / raw)
To: Herman Oosthuysen; +Cc: 'linux-mtd@lists.infradead.org'
herman@wirelessnetworksinc.com said:
> You may be able to speed the system up a little by optimizing the
> code, but the improvement will be insignificant compared to the erase
> cycle time.
Don't count on that if you're using my drivers. There are some fairly
inefficient algorithms in there which I threw in to see if I could get it
to work, and haven't yet had time to rewrite.
--
dwmw2
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:45 ` Herman Oosthuysen
2001-09-06 15:49 ` David Woodhouse
@ 2001-09-06 15:52 ` kira brown
2001-09-06 15:55 ` David Woodhouse
1 sibling, 1 reply; 15+ messages in thread
From: kira brown @ 2001-09-06 15:52 UTC (permalink / raw)
To: Herman Oosthuysen; +Cc: 'linux-mtd@lists.infradead.org'
On Thu, 6 Sep 2001, Herman Oosthuysen wrote:
> You may be able to speed the system up a little by optimizing the code, but the
> improvement will be insignificant compared to the erase cycle time.
There are basically two ways to speed this situation up:
1) Write to a RAM buffer and do the actual Flash write in the background.
(I'm sure you've thought of this).
2) Make sure there are always freshly erased blocks on the Flash when you
come to need to do a fast write.
Either way, DOC2000 is never going to be any great shakes of speed- it's
just not a very fast device.
kira.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:52 ` kira brown
@ 2001-09-06 15:55 ` David Woodhouse
2001-09-07 0:59 ` Ollie Lho
0 siblings, 1 reply; 15+ messages in thread
From: David Woodhouse @ 2001-09-06 15:55 UTC (permalink / raw)
To: kira brown; +Cc: Herman Oosthuysen, 'linux-mtd@lists.infradead.org'
kira@hex.linuxgrrls.org said:
> There are basically two ways to speed this situation up:
Don't forget "don't use O(n^3) algorithms when trying to find a new block
to write to".
--
dwmw2
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:05 ` kira brown
2001-09-06 15:45 ` Herman Oosthuysen
@ 2001-09-06 15:59 ` David Woodhouse
1 sibling, 0 replies; 15+ messages in thread
From: David Woodhouse @ 2001-09-06 15:59 UTC (permalink / raw)
To: kira brown
Cc: Holger Friedrich, Ker Nulov,
'linux-mtd@lists.infradead.org'
kira@hex.linuxgrrls.org said:
> The M-Systems drivers are not the topic of this mailing list.
> (Sorry David, I had to say it.)
Don't be sorry. You are entirely correct, and only saved me the hassle of
saying it. Thank you.
We're interested in the behaviour of the M-Systems drivers only to the
extent that we need to ensure interoperability and use them as a benchmark
for our minimum acceptable performance.
--
dwmw2
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:49 ` David Woodhouse
@ 2001-09-06 16:45 ` Herman Oosthuysen
0 siblings, 0 replies; 15+ messages in thread
From: Herman Oosthuysen @ 2001-09-06 16:45 UTC (permalink / raw)
To: 'linux-mtd@lists.infradead.org'
In my experience, a disk drive is always at least an order of magnitude slower
than the figure in the sales brochure, so the measured 70KB/s is probably
good...
Herman
On Thu, 06 Sep 2001, David Woodhouse wrote:
> herman@wirelessnetworksinc.com said:
> > You may be able to speed the system up a little by optimizing the
> > code, but the improvement will be insignificant compared to the erase
> > cycle time.
>
> Don't count on that if you're using my drivers. There are some fairly
> inefficient algorithms in there which I threw in to see if I could get it
> to work, and haven't yet had time to rewrite.
>
> --
> dwmw2
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:55 ` David Woodhouse
@ 2001-09-07 0:59 ` Ollie Lho
2001-09-07 7:12 ` Bjorn Eriksson
2001-09-07 8:08 ` David Woodhouse
0 siblings, 2 replies; 15+ messages in thread
From: Ollie Lho @ 2001-09-07 0:59 UTC (permalink / raw)
To: David Woodhouse
Cc: kira brown, Herman Oosthuysen,
'linux-mtd@lists.infradead.org'
David Woodhouse wrote:
>
> kira@hex.linuxgrrls.org said:
> > There are basically two ways to speed this situation up:
>
> Don't forget "don't use O(n^3) algorithms when trying to find a new block
> to write to".
>
What does this suppose to mean ??
Ollie
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-06 15:02 ` David Woodhouse
@ 2001-09-07 1:02 ` Ollie Lho
0 siblings, 0 replies; 15+ messages in thread
From: Ollie Lho @ 2001-09-07 1:02 UTC (permalink / raw)
To: David Woodhouse; +Cc: Holger Friedrich, 'linux-mtd@lists.infradead.org'
David Woodhouse wrote:
>
>
> Our driver is fairly naïve, and may well be wasting a lot of time which
> it shouldn't. I can give you pointers on fixing that, if you're
> interested.
>
David,
Did you "threaded" NFTL code yet ?? Or we still get locked
when NFTL is syncing/flushing ??
Ollie
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-07 0:59 ` Ollie Lho
@ 2001-09-07 7:12 ` Bjorn Eriksson
2001-09-07 8:08 ` David Woodhouse
1 sibling, 0 replies; 15+ messages in thread
From: Bjorn Eriksson @ 2001-09-07 7:12 UTC (permalink / raw)
To: Ollie Lho; +Cc: 'linux-mtd@lists.infradead.org'
On Fri, 7 Sep 2001, Ollie Lho wrote:
> > kira@hex.linuxgrrls.org said:
> > > There are basically two ways to speed this situation up:
> >
> > Don't forget "don't use O(n^3) algorithms when trying to find a new block
> > to write to".
>
> What does this suppose to mean ??
Read more on http://www.google.com/search?q=%22big+O+notation%22
--
//Björnen.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-07 0:59 ` Ollie Lho
2001-09-07 7:12 ` Bjorn Eriksson
@ 2001-09-07 8:08 ` David Woodhouse
2001-09-07 9:49 ` Ollie Lho
1 sibling, 1 reply; 15+ messages in thread
From: David Woodhouse @ 2001-09-07 8:08 UTC (permalink / raw)
To: Ollie Lho
Cc: kira brown, Herman Oosthuysen,
'linux-mtd@lists.infradead.org'
ollie@sis.com.tw said:
> > Don't forget "don't use O(n^3) algorithms when trying to find a new
> > block to write to".
> What does this suppose to mean ??
Algorithms which take time proportional to the cube of 'n', where n is some
variable indicating the complexity of the task - in this case it would be
the number of blocks on the DiskOnChip which are to be considered for
selection.
In fact, I don't think there's anything quite as stupid as O(n^3) in there,
but it _is_ extremely naïve in places and needs a rethink of some of the
data structures to allow some operations to operate in linear time, and to
improve the wear levelling. The wear levelling at the moment is nonexistent
- we always pick the longest chain, and if you have a one-block chain which
never gets rewritten, NFTL will never cycle the block it's in.
> Did you "threaded" NFTL code yet ?? Or we still get locked when NFTL
> is syncing/flushing ??
I've put the necessary locking into the doc2000 driver. We can call it
concurrently now. But haven't threaded NFTL to take advantage of it.
The core of the current NFTL code has just sort of evolved from my initial
hacks to see if I could get it to understand a DiskOnChip, and then to see
if I could write to it without confusing the DOS drivers. And it hasn't
evolved far. Ideally, it wants to be completely rewritten.
--
dwmw2
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-07 8:08 ` David Woodhouse
@ 2001-09-07 9:49 ` Ollie Lho
2001-09-07 10:01 ` David Woodhouse
0 siblings, 1 reply; 15+ messages in thread
From: Ollie Lho @ 2001-09-07 9:49 UTC (permalink / raw)
To: David Woodhouse
Cc: kira brown, Herman Oosthuysen,
'linux-mtd@lists.infradead.org'
David Woodhouse wrote:
>
> ollie@sis.com.tw said:
> > > Don't forget "don't use O(n^3) algorithms when trying to find a new
> > > block to write to".
>
> > What does this suppose to mean ??
>
> Algorithms which take time proportional to the cube of 'n', where n is some
> variable indicating the complexity of the task - in this case it would be
> the number of blocks on the DiskOnChip which are to be considered for
> selection.
>
Yea, I know what Big O is although I am not CompSci graduate. My
question
is which part of the NFTL code is that bad ??
Ollie
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: DiskOnChip write performance
2001-09-07 9:49 ` Ollie Lho
@ 2001-09-07 10:01 ` David Woodhouse
0 siblings, 0 replies; 15+ messages in thread
From: David Woodhouse @ 2001-09-07 10:01 UTC (permalink / raw)
To: Ollie Lho
Cc: kira brown, Herman Oosthuysen,
'linux-mtd@lists.infradead.org'
ollie@sis.com.tw said:
> Yea, I know what Big O is although I am not CompSci graduate.
Sorry :)
> My question is which part of the NFTL code is that bad ??
The bit that selects a chain to fold in NFTL_makefreeblock is fairly crap,
and the way we do findfreeblock(0)/makefreeblock()/findfreeblock(desperate)
in NFTL_findwriteunit() is also fairly crap.
That lot wants rethinking.
--
dwmw2
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2001-09-07 9:55 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-09-06 15:01 DiskOnChip write performance Holger Friedrich
2001-09-06 15:02 ` David Woodhouse
2001-09-07 1:02 ` Ollie Lho
2001-09-06 15:05 ` kira brown
2001-09-06 15:45 ` Herman Oosthuysen
2001-09-06 15:49 ` David Woodhouse
2001-09-06 16:45 ` Herman Oosthuysen
2001-09-06 15:52 ` kira brown
2001-09-06 15:55 ` David Woodhouse
2001-09-07 0:59 ` Ollie Lho
2001-09-07 7:12 ` Bjorn Eriksson
2001-09-07 8:08 ` David Woodhouse
2001-09-07 9:49 ` Ollie Lho
2001-09-07 10:01 ` David Woodhouse
2001-09-06 15:59 ` David Woodhouse
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox