I can't answer your questions directly, but just about everything you ever wanted to know about dd can be found here:
Learn the DD command
I do want to warn you though, be very, very, VERY careful using dd. It does no safety checking. Give it the wrong output value and you can quite easily overwrite important data using it. I know this from experience.