eMMC low write speed

From: Praveen G K
Date: Thu Sep 22 2011 - 21:04:36 EST


Hello all,

I am working on the block driver module of the eMMC driver.  I am
seeing very low write speed for eMMC transfers.  On further debugging,
I observed that every 63rd and 64th transfer takes a long time.  I
have tabulated this by noting the time interval between when CMD 25
(multi block write command) is sent and when DATA_END interrupt is
received.  In normal cases, to transfer 64k (128 blocks of data), it
takes about 2.5ms.  But, under the really slow transfer speed cases,
it takes about 250-350ms to get the data_end interrupt after the multi
block write command is sent.  In some cases, it takes a longer time.
This radically reduces the throughput of the transfers.

I have also enabled the bounce buffers.  As a side question, can
somebody please tell me why the bounce buffer is restricted to 64kB?

Thanks in advance for any help that you can provide me on this issue.
Also, please include my email id in the cc field when replying to this
email since I am not subscribed to this mailing list.

Thanks,
Praveen Krishnan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/