Colibri T30 Flash Wear on WINCE 2013


We have a system where it is necessary to save active information in case of power failure, within about a second.

We are using sqlite in .wal mode to handle this. However, these constraints mean we are writing an active log every second to the DB. I am concerned that if a customer runs the device up to 12 hours a day, this will result in roughly 43,000 writes. The writes only consist of about 300 bytes, but I read that it still takes a block size to write this little information.

Looking at the Colibri T30, we have specifically version 1.1b which is the 4GB Micron MTFC4GACAJCN-1M-WT chip. I understand it is a MLC style chip that will do about 3000 writes per block. I cannot seem to find the block size of this chip, which I gather from reading is the size that has to be erased for the new information to be written.

I see multiple blog posts/forum answers that show how to query wear percent, but I see that this is all done on linux. Is there any way to get this information from the WEC2013?

Thanks for any relevant information

The Micron MTFC4GACAJCN-1M-WT chip is an eMMC device with embedded NAND flash controller. It uses proprietary algorithms for wear leveling and proprietary commands to get a health status report. Looks like nobody done an application for WinCE to read heals status though Linux tools are available. Please check this presentation.

So you can try to implement your own tool or flash a Linux to your Colibry T30 to get a current eMMC ststus.
The Micron eMMC heals report procedure described at TN-FC-32 however you need to sign an agreement with Micron to get access to this documents.

the TN-FC-32 PDF describes the command to retrieve device health information, although I am unsure of how to interface with writing/reading directly to eMMC on wince to retrieve these values. My best guess would be some IOCTL to read/write eMMC from userland? Do you have any idea Alex?

Hi @Cerealkiller050 ,

Actually we have a tool to read the eMMC health information. It works only on T30 at the moment, but that is what you want anyway…

Here is the tool:

Thanks for the tool, Germano! In case others come across this thread, here is the link to the PDF that describes the Micron MTFC4GACAJCN-1M WT 4GB eMMC that comes on the Colibri after 1.1b:

Is it possible to see the source code Germano? Or maybe just high level description? Just interested for my own sake how it is done from user space on WINCE. My best guess was the comment to Alex about some IOCTL’s.