dd lê a quantidade de bytes mencionados no parâmetro bs (padrão 512 bytes) da origem em cada chamada read(2) e grava no destino usando write(2) .
Não há cache envolvido aqui, mas algum buffer pode estar envolvido aqui, pois os dados estão sendo gravados.