Eu sugiro que você use o udev para definir parâmetros para os discos SSD. Dessa forma, você pode configurar um agendador de filas específico mais apropriado para SSD, etc. Você também pode aplicar parâmetros apenas a alguns dos dispositivos, com base em vários parâmetros.
Você pode obter os atributos específicos necessários para corresponder aos seus dispositivos (por exemplo, o modelo de disco e o fabricante) executando:
udevadm info -a -p /sys/block/sda
e verificar todos os pares ATTR para o seu dispositivo de bloco.
Outro benefício é a capacidade de definir os parâmetros para discos conectáveis (por exemplo, em gabinetes ou compartimentos hotswap) e a configuração será aplicada a todos os novos dispositivos, desde que os parâmetros do dispositivo correspondam.
Aqui está um exemplo para aplicar um agendador específico para SSDs da Intel, seu valor de leitura desejado (4096 blocos = 2048 kb) e também aplicar um agendador diferente para todos os outros SSDs:
cat /etc/udev/rules.d/99-ssd.rules
# http://unix.stackexchange.com/a/71409/36574
# Setting specific kernel parameters for a subset of block devices (Intel SSDs)
SUBSYSTEM=="block", ATTRS{model}=="Intel SSDSC*", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{bdi/read_ahead_kb}="2048", ATTR{queue/scheduler}="deadline"
# for all other non-rotational block devices set a scheduler to 'noop' and readahead to 1024KB
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{bdi/read_ahead_kb}="1024", ATTR{queue/scheduler}="noop"
Depois de salvar o arquivo, você pode testar se sua regra corresponderá ao dispositivo e o que o udev fará usando o udevadm:
udevadm test --action=add /sys/block/sda
Isso imprime todas as regras que o udev carrega, o que combina, o que não e quais decisões o udev toma quando o dispositivo é conectado.
Espero que isso ajude.