How to properly use external memory flash with MCU (dsPIC33)

flashflash-memoriesmemoryparallel portpic

In my project, I need to store (and read) large amount of data ( >128 Mbits). Of course, I need external flash memory (I think SD card won't work because speed is an issue in my project).

So I plan to use parallel flash memory with a dsPIC33 MCU (I'll use the DSP capabilities to compute data that will be store in the flash memory). My data will be 16 bits word but the sdPIC only ave an 8bits parallel memory bus)

I'm looking for information/documentation about the proper way to use flash memory like :

  • How to correctly store 16bits data word with an 8bits bus
  • what is the fastest way to do it ? word by word? multiple word at the same time ?

It's my first project where time is an issue, I only used SPI memory in the past.

Thanks a lot if you have answers or tips for me.

Max.

Best Answer

Take this points in consideration before starting:

  1. You must ensure stream speed you going to generate (how many kBytes per second?).
    I know people reached 700 kBytes per second write speed on generic SD card on PIC MCU
    http://www.microchip.com/forums/m626688.aspx. Maybe its enough for you.
  2. Are you sure that selected MCU can handle a stream you mentioned?
  3. Are going to generate burst data (large amount in little time, then pause)?
    if Yes, then use RAM for buffering data, then write it to any slow storage.