Some time ago I explained my procedure for initializing disks I plan to use in ZFS pool. And the first step was to fill them with random data from
/dev/urandom is not really the speed monster. If you need something faster but still really secure, you can go with a random AES stream.
openssl enc -aes-128-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | hexdump)" \
-pbkdf2 -nosalt </dev/zero | dd of=/dev/diskid/DISK-ID-123 bs=1M
Since the key is derived from random data, in theory it should be equally secure but (depending on CPU), multiple times faster than