Direct & Mapped modes

Hi all,
I need to asked about the oclBandwidthtest example, please, I have some parts that I don’t understand in it… First, what is the difference between Direct and Mapped modes? and where can I find explanation or more details about them?
The second thing that when I try to apply the Pinned memory with mapped mode in a project of mine, in order to improve the data transfer time from host to device, I find that the transfer time might become better but the processing time on the GPU afterwards reduces dramatically!!! is this normal or there is any reason for this?

any help? I’m sorry if my question is not clear as I am really confused and some how a OpenCL beginner…