Why BS=1M and I'm guessing --progress means verbosely ?
Adding --progress updates stdio with information about how far the operation has come.
BS=1M is a pretty good size for block buffer copy size. I think dd defaults to 1 kb block sizes, which would result in 1024 more reads at a time per megabyte of disk space, whereas larger block sizes tend to strain your memory manager.