SD-MMC writing FAT

Hi All,

I am starting some work that would be using an SD card (in MMC-SPI mode) and I was hoping to use a PIC or similar low memory chip.

The idea was to use Lewin Edward's DOSFS

formatting link
as it only requires about 1KB RAM.

The problem is that according to the SANDISK spec one can do sector writes of 512 bytes, but that an erase will operate on 32 sectors. This means that to update the directory or the FAT one needs to read out

16KB of data, do the erase, update the byte(s) in ram and write it all back again. This 16K block won't fit in a PIC.

Have I misunderstood the requirements relating to SD / MMC for updating a sector?

--Rocky

Reply to
Rocky
Loading thread data ...

Rocky, I know nothing about the sandisk spec and haven't examined Lewin's code but have you considered the possibility of leaving always at least one (or a few) 32-sector region(s) empty? That seems that it may permit you to transfer a directory under modification without having to keep an entire 16k block in ram.

Jon

Reply to
Jonathan Kirwan

Un bel giorno Rocky digitò:

I don't remember if there is a specific MMC command to erase sectors, anyway you don't need to erase a sector before writing it, you can just overwrite it with the new data: the MMC controller will take care of all the necessary operations (i.e. erasing a flash sector, rewriting the unchanged blocks, etc) in a transparent way. You just have to be aware that sometimes a sector write will take more time than the usual, because of all these "hidden" operations.

--
emboliaschizoide.splinder.com
Reply to
dalai lamah

at

ll

Hi Antonio Ok, so I did misunderstand what was meant. That would be why they go on about it being more efficient if the data to be (over)written is the size of an 'erase block'. Thanks -- Rocky

Reply to
Rocky

Yes. The card is smart (unlike, say, SSFDC).

[Note, by the way, that this would be outside the scope of DOSFS - it belongs in physical format management. But in this particular case there is no complication for you to deal with. I will - as soon as I can sanitize it - be releasing the SD/MMC code I use underneath DOSFS. It's adapted from a couple of sources].
Reply to
larwe

Hi Jon, That crossed my mind, but it did seem to be clumsy. Also I was hoping to keep the SD readable by a PC at all times. Antonio (in another post) suggests that I was wrong in my assumption and the card handles all of the erase / write transparently.

--Rocky

Reply to
Rocky

Thanks to all who replied.

--Rocky

Reply to
Rocky

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.