A interface IDE não é quase eficiente o suficiente para transferir em velocidade máxima em qualquer lugar perto de 100% do tempo. Além disso, a interface é estritamente comando / resposta sem pipelining, portanto, o tempo que leva para enviar um comando, processar esse comando e processar a resposta antes de emitir o próximo comando, tudo contra a taxa de transferência.
Além disso, a tradução adiciona sobrecarga. Enquanto os dados estão sendo traduzidos, eles não estão sendo enviados pela interface. Qualquer latência de operação adicionada aumenta o tempo necessário para concluir uma transferência, reduzindo a taxa de transferência efetiva.
O mistério, eu acho, é por que sua velocidade de gravação é muito menor do que sua velocidade de leitura.