Mysterious Power Consumption of Sandisk MicroSD Card on Smart Phones

Recently I’ve found that there is mysterious power consumption when I write data to 4GB Sandisk sd cards, and the other sd cards didn’t have such problems.

For example, the attached figure 1 shows the power consumption to write 1MB to the sd card in an Android smart phone (x axis is the time and y axis is the power in mA). I monitored system calls and block IO, and it turns out the 1st pulse was due to the system call to write to the buffer cache, the 2nd pulse was because the operating system (OS) was flushing the data to SD card. While shortly after the 2nd pulse, there is a much wider pulse, and there is no corresponding system activity during that period. That mysterious pulse happened after writing about every 1.5MB. And it consumed more power than the sum of the first 2 pulses.

I wonder whether it’s because of some low-lever operations of SD card (like in the sd card controller), does anybody have any ideas?

(The figure 2 shows an even worse scenario, where a lot of power was consumed for more than 7 seconds after writing. Users nowadays really care about the power consumption on their smart phones.)