Hi,

I'm investigating on eMMC 4.5 new features and have some concerns on below new 
features:

1. Large sector size (Native 4KB sector behavior)
        The eMMC4.5 Spec says 'All devices with capacities higher than 256GB 
shall have native sector size of 4KB'.
        And it also requires that in the Native 4KB sector size mode, data 
transfers still use 512B CC-protected blocks,
        but data shall be transferred in multiple of 8 such blocks (always 
multiples of 4KB).

        Since current kernel block layer uses 512B sector, then we have to pad 
the eMMC device read/write access to 4KB aligned if the block layer request 
sectors are not 4KB aligned.
        For example, if kernel block layer only wants to read 1 sector (512 
byte) from the eMMC device, then the mmc driver has to read 8 sectors first and 
then return only the requested 1    sector. I think this will slow down mmc 
driver performance.

        So, I'm not sure whether it makes any sense to implement this feature. 
Any idea?

2. Packed commands
        The eMMC 4.5 Spec allows 'Read and write commands can be packed in 
groups of commands (either all read or all write) that transfer the data for 
all commands in the group in one        transfer on the bus, to reduce 
overheads.'

        For both packed read/write command, the driver needs to first issue a 
CMD23 with the PACKED flag set and then a CMD25 to send a 'packed command 
header'. Then driver can        read/write multiple data blocks with the 
CMD18/CMD25.

        To my understanding, in current kernel mmc driver, how many 
sectors/blocks can be transferred in one request is decided by the kernel block 
layer. In most of the popular platforms, I  believe it will not transfer more 
than 512K bytes in one request. And there's no problem for transferring 512KB 
data in one CMD18/CMD25.

        So, only single CMD18/CMD25 is enough for current MMC driver and I 
don't see any benefits by implementing the packed commands in current MMC 
driver. Any comments?


Thanks.

Regards,
Yunpeng


--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to