This is the mail archive of the ecos-patches@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]

FW: Patch for new Intel Strata Flash chip


All,
  I had the opportunity to test the new 65nm flavor of the strata P30 by
Numonyx.  Both old and new chip use the same CFI device ID.  This chip
claims to be compatible to the older P30 chips - but it's not quite.  
 
The new chip features a 1024 byte write buffer,  the old one only a 32
byte write buffer.  This is covered and detected by the flash-init
routine.
 
The incompatibility arises when the write buffer is used unaligned:
- The old chip supports this - there is merely a perfomance degradation.
- On the new chip you no longer can use the full write buffer size.
 
The attached patch addresses this by detecting unaligned buffer writes -
and only use the write buffer partially up to the next natural
alignment.
 
Further improvements are possible:  The current code only uses the write
buffer if the (remaining) length to be flashed exceeds the size of the
write buffer.  If it's less then it falls back to using single writes.
For small on-chip buffers this is probably no big deal.  But for this
new chip up to 1023 bytes could be written this way - and those times
can sum up.
 
My main concern is backward compatibiliity with other (older) strata
chips:
Both my patch as well as the improvement indicated above use only part
of the on-chip buffer.
All strata chips I've encountered do support partial buffered writes -
but I haven't done an exhaustive investigation (nor do I intend to do
this).
 
Best,
  Kurt
 

Attachment: cvs_diff.txt
Description: cvs_diff.txt


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