This is the mail archive of the ecos-devel@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: NAND technical review


> (PS. BTW, I am still working on that fresh anon-based drop I promised the
> other week ...)

It's a little later than I had hoped, but I've just cut another drop against
the anoncvs codebase.

Thanks to mercurial I can now do this a lot more easily, and of course you
get the ability to interactively browse the tree and changelogs via the web
for free. (Rather than convert my entire change history, which is a bit
messy, I started with the August 26 drop and have hg-imported just the
changes since then.)

I have exposed two repositories:

1. http://hg-pub.ecoscentric.com/nand-ecoscentric/
This is a clone of the "ecos" (anoncvs import) repo, with our NAND support
patched in. (Of course, if you already have a clone of the ecos repo and you
want to play with this, you should be able to pull just the changes from
nand-ecoscentric.)

2. http://hg-pub.ecoscentric.com/yaffs-ecoscentric/
This is the union of YAFFS upstream (imported wholesale from CVS), our
changes required to put it into the correct directory layout etc. and the
porting layer to bring it into eCos.
This is a separate repo because of the licence and so it's easy to keep
track of upstream's changes.

Note:
* I will only sync from ecos to nand-ecoscentric, from yaffs upstream to
yaffs-ecoscentric, and from my internal repos to both of these, from time to
time.
* eCosCentric may pull these repositories at any time.

====================================================================
Headline changes since Aug 26

NAND:
* v2 device interface created, and later rationalised. read_page and
write_page were split into three (begin, stride, finish); the optional
read_part_page was added.
* ECC interface expanded to better allow hardware assistance.
* Software ECC completely rewritten for major speedup (over 20x faster on my
workstation, a more modest 3x faster on the ea2468).

NAND devices: Updated to suit v2 interface.

ea2468 HAL, stm3210e HAL, synth nand: Various significant speed boosts.

====================================================================
Benchmark results

It occurred to me that I could run dhrystone while I was at it to try and
provide some degree of comparison between the hardware, but as you will see
the correlation isn't all that great.

Here are some results obtained today from the above repos. The times are in
microseconds, and I've omitted the part reads (rwbenchmark's first two
outputs) for brevity.

Target        Dhrystones/s   Page-read  Page-write  Block-erase
---------------------------------------------------------------
ea2468 16        14179.4       1853.92      1842.77     1978.27
stm3210e_eval     7252.9        712.27      1007.37     1921.03
synth(*)      13458950.2          2.21         4.00        9.33

(*) On my workstation - a Core2 Quad running at 2.4Ghz.

Bear in mind that the stm3210e has a small-page NAND chip while the ea2468 a
large page.


Ross

-- 
Embedded Software Engineer, eCosCentric Limited.
Barnwell House, Barnwell Drive, Cambridge CB5 8UU, UK.
Registered in England no. 4422071.                  www.ecoscentric.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]