I currently have a project, in which I'm using a 2 GB SD card with elm-chan's FAT FS. But as Flash ICs like AT45DB and SST26VF are cheaper I thought I would change my hardware design. But I have a few questions.
1. Will it be worthwhile to port to Data Flash from an SD card? In terms of cost and development time.
2. If porting to Data Flash, how should I implement the erase block logic with the FileSystem. For example, the SST26VF has an erase block size of 4KB (for SD card I didn't have to bother about this), so should I always work with 4KB when I'm writing and reading too? If I have smaller data to read and write operations, won't an erase operation erase the whole data?
3. Wear leveling and bad block management. I know I will have to implement them and this will cost a lot of development time. Do you know of any open-source implementation of these for data flash? Or any FileSystem that takes care of this.
In short: How to implement erase logic, is porting to flash worth it (speed, cost) as I already have a working SD logic, will it need a huge development time.
(I'm a student and can't afford any industry grade driver. So a free open source implementation would be helpful)