I need a single PCB solution for data storage (~2 MB) that can be accessed through USB using a computer.
I DON'T want the micro-controller to access external USB devices. I want the memory to be on the circuit board and files to be easily loaded using a USB cable and a computer.
Does anyone here know of a common solution? NOR/NAND flash just seems like a cheap solution with many things to go wrong if bad sectors aren't handled properly (erase/write is most likely once, but I want to cover my bases if someone changes files a lot).
Maybe a dedicated memory chip (soldered to the PCB) with USB interface and some interface for the micro-controller? The micro-controller needs to read this data after being disconnected from the PC.
I have seen cases where people used SPI flash chips, but the problem is that these need to be erased before the new data can be written and can have issues with bad sectors. I'm looking to avoid this if possible and need a cheap, simple solution (if one exists).
TL;DR
I want storage (~2 MB max capacity) for micro-controller that allows audio file uploads from a computer using USB. I would like it to be a common solution and not a weird alternative. I don't want an SD card as they are too expensive for this small cheap device. If it can take care of bad sectors automatically that's ideal.
I will try my best to answer any more questions you may have. Hopefully I covered everything for now.
Also, I hope this is not a duplicate. I've looked everywhere but my search terms are broad and I don't know how to narrow them down further.