OK, estou respondendo minha própria pergunta 30 minutos depois. Não pude deixar de procurar uma razão e acho que a encontrei. Não é a especificação ATA, que suporta endereços de bloco de 48 bits. Na verdade, é a especificação USB.
De acordo com a Wikipedia ( link ), a classe de armazenamento em massa USB implementa o conjunto de comandos transparente SCSI. Olhando para o comando SCSI Read ( link ) como um exemplo, vejo que existem três versões diferentes de o comando. O original tem um endereço de bloco de 21 bits (portanto, chegando a 1 GB no valor de blocos de 512 bytes). Em 1987, eles adicionaram uma versão que usa endereços de bloco de 32 bits (chegando a 2TB). Então, em 2000, eles adicionaram uma versão com endereços de bloco de 64 bits (chegando a 8Zib - 8 gigabytes).
Neste ponto, acho que a resposta é clara. Os chips originais não implementaram as chamadas com endereços de 64 bits, imaginando que não havia sentido. Então, quando as unidades de 3 TB foram disponibilizadas, elas foram aprimoradas para suportar as chamadas de endereço de 64 bits.
Não sei se isso está correto, mas é lógico.