Você diz que deseja minimizar a leitura de IOPS e maximizar o tamanho de cada solicitação de IO. Eu suspeito que você não se beneficiaria disso. Normalmente, eu me importo em maximizar a taxa de transferência enquanto minimizo a latência e encontrar um bom equilíbrio desses dois para o aplicativo específico.
Observe que, quando você passou de um cabeçote de leitura de 128kB para um de leitura de 256kB, a taxa de transferência de leitura caiu de 103,88MB / s para 102,50MB / s. Eu não esperaria que essa tendência fosse revertida em um tamanho maior de leitura. A leitura mais alta também traz um risco de IO mais desperdiçado se os dados não forem puramente sequenciais, o que reduziria o desempenho de IO útil.
Se você estiver interessado, o limite de 512kB provavelmente vem de outra camada na pilha de armazenamento, como o driver SCSI, o firmware do controlador ou o barramento.