On Monday 04 June 2012, David Brown wrote:
On Mon, Jun 04, 2012 at 03:36:55PM +0000, Arnd Bergmann wrote:
I can always need more samples. If anyone has Samsung cards at hand, could you send the output of "tail -n 100 /sys/block/mmcblk0/device/* /proc/partitions"?
I'm not exactly sure what these are. It says "Samsung 16GB Class 10, and the back says
MMBTR16GUBCA-ME | CYJ485GA 144 Made in TAIWAN
but I might have an error there (it is tiny).
Hmm, it had not occurred to me to compare the numbers on the card, rather than those on the packaging ;-)
Now my excellent "Essential" (blue label) 32 GB class 10 card looks like this
MMBTR32GUBCA-AB S 32GBUSD1 132 Made in Korea
while my bad "Essential" 8GB looks the same from the front with the blue label, but has more text on it:
MB-MS8GA MBMS8GVCDBCA-RF ICY11447QZ142 MADE IN TAIWAN DESIGNED BY SAMSUNG
So it seems that the text on your card is a mix of the one one my two cards.
==> date <== 11/2011
==> driver <==
==> erase_size <== 512
==> fwrev <== 0x0
==> hwrev <== 0x1
==> manfid <== 0x00001b
==> name <== 00000
==> oemid <== 0x534d
All of these seem to be the same for all the cards I have, which means that we cannot rely on the fwrev and hwrev fields.
179 96 15632384 mmcblk1 179 97 14680064 mmcblk1p1 179 98 951279 mmcblk1p2
15632384 KB is a multiple of 2MB, but no larger power-of-two size, which suggests that this is the erase block size. However, most devices nowdays use larger erase blocks than that. My 32GB card also a size that is a multiple of no more than 1MB.
The 8GB card uses a multiple of both 4 MB and 6 MB, and it uses a 6 MB erase block size.
If you don't need the data on your card, could you run these commands on yours:
for i in 2 3 30 31 ; do sudo flashbench --open-au --open-au-nr=30 --erasesize=$[512 * 1024] \ /dev/mmcblk0 --offset=$[24*1024*1024] done
The latest version of the code is at git://git.linaro.org/people/arnd/flashbench.git
Running the code will mess up the data but should not harm the device, but I recommend to run the 'erase' command from the flashbench repository on the entire card afterwards to get back the full performance.
Arnd