Se os drivers forem carregados para esses dispositivos, seus tamanhos de bloco deverão ser registrados no IORegistry. Como encontrar as entradas que você quer no dito registro não é algo que qualquer um pode adivinhar sem saber mais sobre os dispositivos em questão. As probabilidades são boas, você pode usar apenas 512 de qualquer maneira.
Se o driver que carregar não for confiável o suficiente para você, você basicamente terá que escrever o seu próprio. Não há como enviar comandos ATA ou SCSI brutos para um dispositivo da linha de comando que conheço, mas outra pessoa pode saber algo que não sei.