[Galaxy Note II, Galaxy S III Developer Discussion ] E:V:A:
You sound awfully sure about what you're saying. Are you really that sure? I

think you might be confused by the 3 partitions (2 boot partitions and 1 USER

area) or possibly the 4-banks, which are shown (but not necessarily present)

in the Smart Report section of the "moviNAND" datasheet (Jan 2010). [I assume

that the datasheet you refer to is the one marked "KLMxGxxEHx".] This is quite

different from the 4-partitions layout that I'm looking at. There are a lot of

data-sheets out there, and the one I'm looking at is for the KMKUS000VM-B410

(March 2012).

Certainly it would not make any sense to have an "extended" Smart Report for

each, and indeed there is no such report mentioned in any of the Samsung

eMMC/NAND documents I have found to date. So I'm sure you're wrong.

If you feel different and that I'm in error, please provide a better

explanation of what's going on. Also tell us what is your exact eMMC chip,

that you're basing your analysis on. And most importantly, please provide the

Smart Report binary dump, as you have found it. (It should not be longer than

0x200 bytes!) It will clearly show you how many banks your chip is using, among

other things. I have a script which parses this for you. The results look like this:

[SIZE=2]$ ./smartview.pl smart.bin
Parsing Smart Records from: smart.bin

Error Mode: Normal

004: 4 : Super Block Size [1] :00200000
008: 4 : Super Page Size [2] :00004000
012: 4 : Optimal Write Size [3] :00004000
016: 4 : Number Of Banks :00000001
020: 4 : Bank0 Initial bad blocks :00000004
024: 4 : Bank0 Runtime bad blocks : <zero>
028: 4 : Bank0 Remaining reserved blocks :00000038
032: 4 : Bank1 Initial bad blocks : <zero>
036: 4 : Bank1 Runtime bad blocks : <zero>
040: 4 : Bank1 Remaining reserved blocks : <zero>
044: 4 : Bank2 Initial bad blocks : <zero>
048: 4 : Bank2 Runtime bad blocks : <zero>
052: 4 : Bank2 Remaining reserved blocks : <zero>
056: 4 : Bank3 Initial bad blocks : <zero>
060: 4 : Bank3 Runtime bad blocks : <zero>
064: 4 : Bank3 Remaining reserved blocks : <zero>
068: 4 : Max. Erase Count :00000079
072: 4 : Min. Erase Count : <zero>
076: 4 : Avg. Erase Count :0000002c
080: 4 : Read Reclaim Count : <zero>
084: 4 : Optimal Trim Size :00002000
088: 32 : Firmware Hash Code :

30aedf3e2295c9241457415f0f7c29a5
4cdb54ee338ab1dd96ab785f9e0b80bd

120: 4 : SLC Erase Count Max. :00000054
124: 4 : SLC Erase Count Min. : <zero>
128: 4 : SLC Erase Count Avg. :0000001e
132: 4 : MLC Erase Count Max. :00000079
136: 4 : MLC Erase Count Min. :00000001
140: 4 : MLC Erase Count Avg. :0000002c
144: 4 : ECC Uncorrectable Errors : <zero>
148: 160: ECC_UEL Physical Block Address [4]: <zero>
308: 4 : Erase Unit Size : <zero>
312: 16 : FW Patch Version : <zero>
328: 4 : FCB Scan Result : <zero>
332: 4 : FTL Open Count : <zero>
336: 176: Reserved : <zero>[/SIZE]

[This is not for our chip!]

Also, it should not be necessary to use any kernel module to do the dumping.

It should suffice with a ioctl for the eMMC CMDs... (The PoC is the result above.)

It's pointless to talk around the bush, if you have some data/code to show,

dump it somewhere for others to see, so that we can compare notes.

Finally it can't be emphasized enough, that Samsung's documentation is often

full of errors!