Good parallel flash memory for the Arduino Due?

Hello!

I'm working on a project where I'd like to stream three 16bit 44kHz audio samples from an Arduino Due. The samples can be fairly long. Using SPI flash, I was only able to stream two samples at once. SPI just wasn't fast enough to stream three of them. So, I'm considering using parallel flash memory to speed things up. I'll need at least 512 kilobytes of memory. Has anyone else done this before, and if so, which memory did you use?

Thanks,
Bret

Well you'll have a job, A6 (PC27) isn't pinned out on the Due board AFAICT. Neither
are D8/D9

Sorry Mark, I don't understand what you're talking about. Are you saying that using parallel flash will require specific pins on the Due that aren't available?

Cheers,
Bret

Yes. The address bus and data bus are bound to specific pins, some of which
are not pinned-out on the Due board.

Do you think that if I use a parallel Flash, such as http://ww1.microchip.com/downloads/en/DeviceDoc/20005023B.pdf, and communicate with it using digitalRead and digitalWrite, that it will be slower than using an SPI Flash chip?

Thanks,
Bret

digitalWrite? V slow, definitely. I think nand flash is an asynchronous protocol so its
doable but you'll benefit a lot from finding contiguously mapped pins for address
and data. The datasheet has gory details... Anyway writing is ultra slow anyway

What library have you used for SPI transfers?
SdFat library (GitHub - greiman/SdFat-beta: Beta SdFat for test of new features) uses DMA for SPI transfers between Due and SD card and it speeds things up considerably (if you read/write in blocks of bytes). I used one of the classes from SdFat in my own library (ILI9341_due) which can be used to interface Due with a SPI TFT display and using DMA has helped a lot in terms of speed (you can see the speed difference between a regular SPI and SPI with DMA on this video : ILI9341 SPI TFT with Arduino Due and ILI9341_due library - Normal, Extended and DMA mode - YouTube )