EmbDev.net

Forum: µC & Digital Electronics SDHC "allocation unit" vs. 64KB for write efficiency?


von Bill B. (auldreekie)


Rate this post
useful
not useful
Hello all,

My SD card driver works great with both SD and SDHC cards except I need 
it to be as energy efficient as possible when writing.  So, I am 
carefully aligning my storage format to match the erase/write boundaries 
associated with the NAND flash built into the cards.

The SD and Toshiba specification say to use the card's "allocation unit" 
(typically 4 MB) for erase efficiency in SDHC cards.  Further, they say 
that for SDHC cards the "sector size" field in the CSD is always set to 
127 (64KB) regardless and is meaningless for erase-boundary 
determination.

BUT!!!  Later the same Toshiba specification says, oh by the way, notice 
that the "sector size" field says 64KB and your efficiency will be much 
better if you start writing on 64KB boundaries.

Augh!!!

Questions:

1.  Does the SDHC 4 MB "allocation unit" really mean anything at all to 
normal card operation?  Is there any reason to pay the slightest 
attention to it?

2.  OK, for certain Toshiba cards the Toshiba documentation tells us 
that 64KB is a magic number for write boundaries.  Can one depend on 
64KB being the magic number for all SDHC cards from all manufacturers? 
It is not provided in any of the card information fields, unless you 
count "sector size", which the SD documentation expressly says one 
should ignore!

Thanks for any wisdom out there!

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.