Replacing sd card with external SPI NAND for file system
Posted: Wed Feb 03, 2021 5:14 pm
I'm using a microSD card for my file system which is fine as a prototype but has problems in production. I can't source sd cards with consistent performance or quality and I don't like the slots with contact issues due to vibration and not able to conformal coat it.
Since the WROVER's SPI flash can have an SPIFFS, can I create an SPIFFS on an external NAND SPI flash? Could anyone suggest a part number for say 128MB to 1GB size flashes? I've read a number of spec sheets and realize that this one for instance has a different command sets than SD commands. I wonder if this is the right SPI flash for ESP32.
https://www.digikey.com/en/products/det ... GR/9484745
Here is a list of commands I found to be common among these SPI NAND flashes. I don't know the details of SD card commands but was able to tell that these are NOT SD card commands. These NAND SPI flashes all claim their commands are compatible with NOR SPI flashes, which I think is what WROVER is using for program storage. I've tested the speed of the SPIFFS on WROVER and the speed is a lot slower than the microSD card I'm running with an SPI interface. I wonder if it's just the WROVER's SPI flash being NOR is slow to write to plus avoid CPU loading instructions. I hope with an SPI NAND flash external to WROVER it would match that of sd card on SPI. I read about NAND vs NOR, which is fast sequential read/write but slow random read/write for NAND vs fast random read vs slow write. It explains my test speeds that writes to the SPIFFS.
My other option is to source SPI NAND flash with SD controllers so they act exactly like sd cards. It's a preferred option since the speed is higher but I can't find any vendors outside of China and samples are expensive to ship to me. If someone has a part number that can be sourced from within USA, that would be greatly appreciated. My current options are both overseas and these sales people are not the most understanding people.
http://www.xtxtech.com/products_detail/3/ProId-10/
http://www.longsto.com/product/list-39.html
Since the WROVER's SPI flash can have an SPIFFS, can I create an SPIFFS on an external NAND SPI flash? Could anyone suggest a part number for say 128MB to 1GB size flashes? I've read a number of spec sheets and realize that this one for instance has a different command sets than SD commands. I wonder if this is the right SPI flash for ESP32.
https://www.digikey.com/en/products/det ... GR/9484745
Here is a list of commands I found to be common among these SPI NAND flashes. I don't know the details of SD card commands but was able to tell that these are NOT SD card commands. These NAND SPI flashes all claim their commands are compatible with NOR SPI flashes, which I think is what WROVER is using for program storage. I've tested the speed of the SPIFFS on WROVER and the speed is a lot slower than the microSD card I'm running with an SPI interface. I wonder if it's just the WROVER's SPI flash being NOR is slow to write to plus avoid CPU loading instructions. I hope with an SPI NAND flash external to WROVER it would match that of sd card on SPI. I read about NAND vs NOR, which is fast sequential read/write but slow random read/write for NAND vs fast random read vs slow write. It explains my test speeds that writes to the SPIFFS.
My other option is to source SPI NAND flash with SD controllers so they act exactly like sd cards. It's a preferred option since the speed is higher but I can't find any vendors outside of China and samples are expensive to ship to me. If someone has a part number that can be sourced from within USA, that would be greatly appreciated. My current options are both overseas and these sales people are not the most understanding people.
http://www.xtxtech.com/products_detail/3/ProId-10/
http://www.longsto.com/product/list-39.html