PDA

View Full Version : NAND Flash Module for Propeller usage?



WBA Consulting
05-15-2010, 09:19 AM
What would be the interest/challenge/feasibility/desire of a 32MB NAND Flash Module for the Propeller? I may have access to a large quantity of Samsung 32MB chips and want to know if I should pursue a product design to push to market.

thanks for any input!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andrew Williams
WBA Consulting
WBA-TH1M Sensirion SHT11 Module (http://www.aestheticacoustics.com/sht11_01.htm)
My Prop projects: Reverse Geo-Cache Box (http://forums.parallax.com/showthread.php?p=869153), Custom Metronome (http://forums.parallax.com/showthread.php?p=906277), Micro Plunge Logger (http://forums.parallax.com/showthread.php?p=875698)

mctrivia
05-15-2010, 09:53 AM
Cost of parts and assembly will probably be biggest hurtle. Depends how many people are interested.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

WBA Consulting
05-16-2010, 04:43 AM
Fortunately, parts and assembly will not be a factor in my decision. My concern is design and marketability

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andrew Williams
WBA Consulting
WBA-TH1M Sensirion SHT11 Module (http://www.aestheticacoustics.com/sht11_01.htm)
My Prop projects: Reverse Geo-Cache Box (http://forums.parallax.com/showthread.php?p=869153), Custom Metronome (http://forums.parallax.com/showthread.php?p=906277), Micro Plunge Logger (http://forums.parallax.com/showthread.php?p=875698)

Vaati
05-16-2010, 04:56 AM
I would be very interested in a nand flash module... How did you get your hands on a bunch of them?? Also, what are the part numbers? They may work with something that has been brewing in the back of my mind...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
MCU Projects (http://www.mcuprojects.propmodule.com)·- my new site where I will be posting all projects, code, etc.

Quit buying all those fixed voltage regulators, and·get an Adjustable Power Supply (http://www.gadgetgangster.com/130)·for your projects!· Includes an LED testing terminal!

SD Card Adapter (http://www.gadgetgangster.com/158)·- Add extra memory to your next Propeller project with ease!

mctrivia
05-16-2010, 05:03 AM
But they effect selling cost which effects marketability.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

mctrivia
05-16-2010, 05:12 AM
Is that mega byte or bit?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

Rsadeika
05-16-2010, 05:31 AM
I guess I need to have some more information for the intended use of the flash module. Will it be an expansion of the 32KB of ram that is now available, or just a replacement of an SD card, or what? With some more information, and ballpark selling cost of the product, would be nice.

Ray

mctrivia
05-16-2010, 05:41 AM
I believe it is a parallel device which provided high speed large storage at a cost of many pins. 16 minimum.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

WBA Consulting
05-17-2010, 01:13 PM
The NAND parts are leftover from a project that started back in 2005 and consumed about 50,000 of these flash chips. Anyone who has dealt with such a large project knows that you typically end up with some excess material; In this case, about 2,600. These particular NAND chips are one of the parts that isn't of use to any other projects my colleague has in the future. (it's really easy to re-purpose the rest of the parts from the project that have high leftover quantities as they are commonly used parts). Before he attempts to get rid of them, he asked me if they could be used in a module for any of the things I dabble in such as the Propeller. Hence, the start of this thread.

I guess what I meant to say was that unless other expensive parts would be required for the module, price will be more than reasonable. For many common parts such as 10k pullups, 0.1uF caps, headers, etc, I have plenty already. Assembly cost for me will be near zero as I have access to all necessary equipment to build the modules properly on my personal time.

The NANDs are 32 Mega Byte (so 256 Mega bit). Samsung K9F5608U0D-PCB0. TSOP 48 package.

Since I am unaware of how to use NAND Flash memory with the propeller, I don't even know what the module should look like. Do I need just a basic circuit on a breakout style board? Should I partner it with a propeller that can handle all of the interfacing so it could be used with serial input data? Will that slow down it's speed to the point of making it less desirable? What would a NAND Flash module be used for mainly? Should I make a small datalogger module that has the 32MB onboard for data storage? Thso are some of the many questions floating in my head.......

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andrew Williams
WBA Consulting
WBA-TH1M Sensirion SHT11 Module (http://www.aestheticacoustics.com/sht11_01.htm)
My Prop projects: Reverse Geo-Cache Box (http://forums.parallax.com/showthread.php?p=869153), Custom Metronome (http://forums.parallax.com/showthread.php?p=906277), Micro Plunge Logger (http://forums.parallax.com/showthread.php?p=875698)

mctrivia
05-17-2010, 01:34 PM
Strange looks like the device has internal latches. you could pretty much make a passive pcb that connected to 15 of the prop pins.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

kuroneko
05-17-2010, 01:37 PM
WBA Consulting said...
Since I am unaware of how to use NAND Flash memory with the propeller, I don't even know what the module should look like. Do I need just a basic circuit on a breakout style board? Should I partner it with a propeller that can handle all of the interfacing so it could be used with serial input data? Will that slow down it's speed to the point of making it less desirable? What would a NAND Flash module be used for mainly? Should I make a small datalogger module that has the 32MB onboard for data storage? Thso are some of the many questions floating in my head.......

Maybe it helps to see them as a non-removable SmartMedia cards. Although potential detachability would be nice (unless it's meant as onboard non-volatile storage). IIRC you could get away with 8bit data, ALE, CLE and r/w (CS/CE hardwired).

mctrivia
05-17-2010, 01:40 PM
I can see use for the chips themselves if the price is right and I need a large amount of non removable memmory. as a breakout though it would have no use to me except for initial prototype. sd cards will likely be almost as fast and a lot more convenient.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
05-17-2010, 03:25 PM
I've considered something like this before and could use something like this for Javelin Propeller, LMM C, or even ZOG.
@Kuroneko it looks like minimum 13 I/O is required 8+CLE+ALE+RD+WR+BUSY (WP jumpered). Did I miss something?

The Javelin Propeller can fetch byte-codes from EEPROM but the performance is horrible ... a byte-wide bus even with 3 address cycles would be more than 12x faster (38/6*EE clock throttling) without the burst mode read operation. I'm thinking of specific application, but a Stamp-like design would also work with 14 pins + serial/I2C provided for user IO.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

kuroneko
05-17-2010, 03:48 PM
jazzed said...
@Kuroneko it looks like minimum 13 I/O is required 8+CLE+ALE+RD+WR+BUSY (WP jumpered). Did I miss something?

That should be it. Provided you can leave the chip selected (it has been a while since I was appointed NAND driver writer, I wasn't quite sure whether r/w is combined or not, and being able to monitor the busy line made programming so much more convenient).

Having said that, if you monitor the operation status by s/w (status read) you can omit the BUSY line.

Post Edited (kuroneko) : 5/17/2010 7:57:20 AM GMT

jazzed
05-17-2010, 04:05 PM
Seems they have a separate RD line for burst reads ... a good thing for LMM fans. Flash can be a PITA ... I've never programmed this one, but have done several AMD and Intel Flash drivers. Looks similar except for the invalid blocks business and some other details.

Added: I think you're right on the BUSY bit for programming cycle .... There is some odd timing on the data sheet for that during read cycle though ... tWB is 100ns. Since the bit is only low for 15ns, the Prop would miss that anyway so a forced delay would be necessary there.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

Post Edited (jazzed) : 5/17/2010 8:18:26 AM GMT

heater
05-17-2010, 04:18 PM
Interesting idea. I just can't make it work in my mind yet.

As a repository of code and constant data it can't really compete with SD cards which are simple, flexible, replaceable and use less pins. Except in the case where you really need the speed. Used in such a way you will probably want a FAT or other file system on it so the overheads of that may negate the speed gains somewhat anyway.

As a medium to directly execute code from it does appeal. As Jazzed says one could execute LMM or Java byecodes from it for a significant speed gain. But then it occurs to me that any program that begins to occupy 32MB of space is likely to also want a large RAM space for data, stack etc etc. Attaching a big parallel bus RAM as in the TriBlade would be better. Also if you do really want to run code approaching 32MB in size perhaps it's time to look at an ARM or other solution.

Zog and the ZPU architecture has a little problem with this idea at the moment. As the compiler and linker are set up it has no distinction between code and data space. So placing the ZPU byte codes in FLASH with stack and data in HUB RAM is problematic. I guess this could be fixed by someone who can handle GCC linker scripts. I've looked into this a few times over the years and always given up trying to understand them:) Any volunteers?

That leaves one application area that I can see. Data logging.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.

jazzed
05-17-2010, 04:36 PM
I was thinking less of the size and more of the speed. Of course tons of images could be stored on the flash chip for quick loading for a rich graphics interface with an external LCD (one of my goals regardless of the amount of non-volatile storage).

Linker scripts I've done over the years aren't that hard or too big ... I won't be doing anything like that for a few weeks though.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

jazzed
05-18-2010, 12:35 AM
I'm a little concerned with the invalid block list on the device. I assume this is common on today's Flash ... I haven't looked. The old style Flash never shipped with bad blocks. The data sheet talks about remapping blocks which is reasonable but slower and would consume Propeller on-chip resources for reasonable lookup TLB speed. Blocks are about 16K each so a "square" TLB pointer list for half of memory would be 1024 longs. Doable, but a little painful. Even such indirect access beats FAT for addressing speed and convenience to me.

This device is big enough to hold several code partitions for program update redundancy and would cost much less and be much smaller than an equivalent SRAM solution with reasonable limits. Just don't expect to ever run a Z80 emulation from it :)

@WBA, given the cold reception here, I guess a big question is whether or not such a Propeller/Flash configuration in an end product would be attractive to anyone beyond this forum. It's an interesting platform idea for me and probably others. If you build it, I'll buy it, port a few solutions to it, and try a few known sales channels.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

WBA Consulting
05-18-2010, 01:33 AM
jazzed, I don't consider the reception cold because I had no idea if it would have any reception at all. It is nice to see some dialog going on.

So, would making a 0.6" spaced DIP adapter with a buss cap on each end be a good way to make the parts usable for people to try out?

edit--I think it may have to be 0.7"

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andrew Williams
WBA Consulting
WBA-TH1M Sensirion SHT11 Module (http://www.aestheticacoustics.com/sht11_01.htm)
My Prop projects: Reverse Geo-Cache Box (http://forums.parallax.com/showthread.php?p=869153), Custom Metronome (http://forums.parallax.com/showthread.php?p=906277), Micro Plunge Logger (http://forums.parallax.com/showthread.php?p=875698)

mctrivia
05-18-2010, 01:44 AM
I will send you gerbers.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
05-18-2010, 01:51 AM
WBA Consulting said...
So, would making a 0.6" spaced DIP adapter with a buss cap on each end be a good way to make the parts usable for people to try out?

Have a look at the Javelin Stamp design. That's close in concept to what I'm thinking (minus 5V regulator). IO details would be very different though ... have to give it more thought than I have time for just now.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

mctrivia
05-18-2010, 02:28 AM
anyone have a problem with this schematic?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

David B
05-18-2010, 02:54 AM
If you wanted to do the fastest possible bytewide writes to the device, would it help to design the board for use with the MOVS command? In which case you might want to leave bit 9 unused as MOVS also writes to it.

I'm not a propeller programming guru by any means, so if anyone has experience with other equally fast or better bytewide writing code, please correct me!

mctrivia
05-18-2010, 02:57 AM
yes. will move P8+ up 1

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

mctrivia
05-18-2010, 03:11 AM
This layout is compatible with gadget gangster platform. should be connected on side of P0-P15. Will hang over the prop.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
05-18-2010, 03:48 AM
For a stand-alone DIP module, the connections don't matter much. The module posted with GG compatability in mind should however just move all the control lines to P12-P15 so someone can use P8-P11 for TV if they don't care for P8's special abilities.

A dedicated Propeller-Flash module, designed for speed (5MB/s external burst transfers) would definitely need P0-P7 connected and P8 free. There doesn't appear to be a signal to/from the Flash that makes sense to be connected to P8 as a higher priority over the user. On this module, I would put the control lines on P12-P15 so that P8-P11 and P16-P26 would all be available for user I/O. P27-P31 should also be connected for user IO even though their purpose is mostly reserved.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

Post Edited (jazzed) : 5/17/2010 8:22:16 PM GMT

mctrivia
05-18-2010, 03:59 AM
Good ideam. Will move the control lines.
We 12
Re 13
Ale 14
Cle 15
May swap cle and ale. I places headers so ce can be jumpered if hard coding not desired.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
05-18-2010, 04:19 AM
Sounds good to me ... the footprint can also be used on PPDB.

Forget about the alternative GG compatible pinout I mentioned. Having to juggle I2C bus access however doable is less desirable.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

jazzed
05-18-2010, 10:22 PM
@WBA, Can I buy some 32MB parts from you? The smallest available device on DigiKey is 2GB at $12 each.
If mctrivia posts gerbers for his latest layout I can get some fabs made for development/testing.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

WBA Consulting
05-18-2010, 11:36 PM
jazzed, yes, I will work on getting some parts for you and mctrivia to aid in this adventure. I'll send you a PM after I talk with my colleague this evening.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andrew Williams
WBA Consulting
WBA-TH1M Sensirion SHT11 Module (http://www.aestheticacoustics.com/sht11_01.htm)
My Prop projects: Reverse Geo-Cache Box (http://forums.parallax.com/showthread.php?p=869153), Custom Metronome (http://forums.parallax.com/showthread.php?p=906277), Micro Plunge Logger (http://forums.parallax.com/showthread.php?p=875698)

jazzed
05-19-2010, 10:21 PM
WBA Consulting said...
jazzed, yes, I will work on getting some parts for you and mctrivia to aid in this adventure. I'll send you a PM after I talk with my colleague this evening.

@WBA, can you release the mctrivia gerbers to me or get a build started?
I can make my own fab, but I don't have time to do that for another 2 weeks.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

WBA Consulting
05-20-2010, 03:52 AM
I have no problem with mctrivia's layout being public, and I'll leave it up to him to post here or send to you.

My desire is to end up with code objects that work to help make a completed product marketable. After discussing this yesterday, we have somewhat decided that the long term route will be to develop a complete propeller based board solution. He actually already did a layout similar to mctrivia's to help him brainstorm and kept thinking it would be better to make a propeller based board that could completely utilize NAND and provide a full solution at the same time. A board similar to the GGPPSD with locations underneath for up to four NAND chips has been discussed.

jazzed/mctriva, I am sending you both messages on some chips

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andrew Williams
WBA Consulting
WBA-TH1M Sensirion SHT11 Module (http://www.aestheticacoustics.com/sht11_01.htm)
My Prop projects: Reverse Geo-Cache Box (http://forums.parallax.com/showthread.php?p=869153), Custom Metronome (http://forums.parallax.com/showthread.php?p=906277), Micro Plunge Logger (http://forums.parallax.com/showthread.php?p=875698)

mctrivia
05-20-2010, 05:44 AM
ok here is the gerbers.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
05-20-2010, 02:55 PM
mctrivia said...
ok here is the gerbers.

Thanks.

My order for 5 boards is submitted and accepted for production. I expect delivery June 4th.
I'll be free before then to work on a driver. Of course I'll need some chips to start testing.

Cheers.
--Steve

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
May the road rise to meet you; may the sun shine on your back.
May you create something useful, even if it's just a hack.

jazzed
06-03-2010, 04:33 AM
mctrivia said...
Good ideam. Will move the control lines.
We 12
Re 13
Ale 14
Cle 15
May swap cle and ale. I places headers so ce can be jumpered if hard coding not desired.

I see these are card edge pins and not Propeller pin P assignments. So P8-11 are not usable for TV DAC.
Thanks for the gerbers anyway.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM (http://www.brouhaha.com/~sdenson/PropellerJVM/index.html)

mctrivia
06-03-2010, 04:36 AM
pins are lined up for gadget gangster platform not prop chip. p8-11 are available for dac.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
06-03-2010, 04:39 AM
no. look at your gerbers again.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM (http://www.brouhaha.com/~sdenson/PropellerJVM/index.html)

mctrivia
06-03-2010, 04:47 AM
Strange it reverted back to before I shifted the pins over 1. Not sure why that happened. Hope you did not get a large order of boards made.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
06-03-2010, 04:50 AM
I know better than to order more than 5 first protos of anything by anyone self included :)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM (http://www.brouhaha.com/~sdenson/PropellerJVM/index.html)

mctrivia
06-03-2010, 04:58 AM
One of the advantages to living in the us. Costs me more in shipping and custums to order 5 proto from us then to pay for 100 boards from China

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
06-03-2010, 05:02 AM
mctrivia said...
One of the advantages to living in the us. Costs me more in shipping and custums to order 5 proto from us then to pay for 100 boards from China

That is simply amazing. No Canadian FABs? What is your typical turn around time?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM (http://www.brouhaha.com/~sdenson/PropellerJVM/index.html)

mctrivia
06-03-2010, 05:34 AM
There is 1 in calgary and I used them when I lived there. They will do 6 for about 70% of the price in 2 days. Shipping though makes up 20% so now that I can't pick up I might as well wait 10 days including shipping time vs the 4 to 5 from calgary.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lots of propeller based products in stock at affordable prices. (http://propmodule.com/catalog/ref.php?refid=c81e728d9d4c2f632)

jazzed
06-09-2010, 01:17 AM
So, I was a little shocked (after misreading the specification) that it can take up to 15us for a page
to be transferred from the NAND array to the Flash read buffer. This is a little disappointing, but
there is a consolation prize.

It seems we can use Ready/Busy* bit on P8 for loading time advantage. When Busy* is asserted
this makes it easy to detect an end of buffer transfer condition (data bits go tri-state at Busy*
time and must be pulled down). In other words P[0:8] will read at least $100 when getting data
and 0 when transfer is complete.

So the per byte HUB transfer loop can go from this:



'' direct REN manipulation ... any length 2.5MB/s burst
:loop andn outa, renmask ' set read enable
nop ' allow setup if clkfreq > 80MHz
mov data, ina
wrbyte data, tp ' do simple read first
or outa, renmask ' toggle read enable low/high to get data
cmp tp, bp wz
if_ne djnz tp, #:loop




To this loop for block reads:



'' Gated REN clock manipulation with rdy on Prop P8 ... 5MB/s burst
'' Requires pulldown on data lines and min 256 byte read
'' Relies on fact that data goes tri-state when rdy is busy
''
mov data, #0
mov ctra, _ctra
mov frqa, _frqa
mov phsa, _phsa
andn outa, renmask ' enable read strobe from counter
:loop movs data, ina wz ' ren should be solid low by sample time
wrbyte data, tp
if_nz djnz tp, #:loop

or outa, renmask ' disable read strobe






Throughput* Busy Time (us) Byte Hub Time (ns) Bytes/Load Byte Load Time(ns) Total Time (ns)
1.7MB/s 8 200 256 51200 59200
1.5MB/s 15 200 256 51200 66200



Throughput does not account for address setup cycle time which is near 1us. Sequential 528
block reads only need one address setup cycle. Typical throughput should be > 1.5MB/s.

Other read strategies such as the one I co-authored with Phil and Lonesock can use long hub
data transfers on burst reads, but the end of transfer has to be controlled by a loop such as
in the first code fragment and the symmetry for the read strobe clock is lost.

What good is this? The burst size is compatible with VMCOG which allows embedded flash program fetch/execute.
The pin-out can coexist with a byte wide external memory or 2nd Propeller communications.
With a file-system, this would be N times faster than SD card :) with wear leveling.
What products does this enable? Embedded Flash Propeller based Javelin
Embedded Flash + External RAM Propeller Platform and others
Embedded Flash + 2nd Propeller (for rich Video and other peripherals)
Embedded Flash + LCD for rich and textured GUI graphics

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM (http://www.brouhaha.com/~sdenson/PropellerJVM/index.html)

Post Edited (jazzed) : 6/8/2010 5:59:20 PM GMT

MacTuxLin
11-07-2010, 07:28 AM
Hi,

May I know if this driver is being posted? I could not find it in OBEX either.

Thanks.

jazzed
11-07-2010, 08:16 AM
May I know if this driver is being posted? I could not find it in OBEX either.

I have code to read the flash, but not to write it. I stopped working on the driver after realizing the access startup time was 15us. You're probably better off using SDCARD if possible.

MacTuxLin
11-07-2010, 08:57 AM
Thanks Jazzed.

I am currently using Kye's SD2.0 driver. Though the read speed is very good but the opening of file is slow as I'm sharing this SD object with multiple objects trying to read/write to uSD card. Tried running a 2nd SD object but ran out of Cogs for other objects. :(