For the bs= value, I would recommend setting 1024 like this:
dd if=/dev/zero of=/dev/sda bs=1024
But if you are paranoid about data recovery—and want to do something “stronger” than just write zeros—you could use /dev/urandom instead like this:
dd if=/dev/urandom of=/dev/sda bs=1024
An alternative way to wipe a drive.
But personally, I don’t like to use dd for a task like this. Instead I use a slight variant where I format the drive—and repartitioning if it needs to be repartitioned—and then run the following command. Note that while some might consider this method as supposedly being “inefficient,” you really have to be extremely distrusting of the way partitions and file systems work to believe this method is not a viable alternate method:
cat /dev/zero >> /path/to/mounted/drive/junk_file &
Or this variant using the /dev/urandom device as explained above dd example:
cat /dev/urandom >> /path/to/mounted/drive/junk_file &
Just change /path/to/mounted/drive/ to the actual path of the mounted drive. What that does is create a file called junk_file on the filesystem and do it as a background process with the & appended to the end.
The nice thing about an operation like this is you can stop it and resume it later. Meaning it’s just a file filled with zeros or urandom junk. So let’s say you need to shut down the machine or disconnect the drive. Just do that. And then run that same command again and let it continue where it started. This is useful when wiping data from really large drives that might take hours to complete.
For more details on these—and other—secure device/file deletion methods, check out this page on the ArchWiki. The tips are useful for pretty much any Linux/Unix—even Mac OS X—system and not just ArchLinux.
Speed of the data wiping operation.
As for speed, the overall speed of this type of operation can be estimated by how long it would take your system to copy a 160GB or 500GB file to that same drive. Since writing a file like this is really the data equivalent of “copying” a file; just in this case a file is being created.
FWIW, /dev/urandom will take longer to do it’s thing than /dev/zero—because /dev/urandom is actually generating randomized data—so keep that in mind if time is a factor.