В прошлом я использовал WriteBack по двум основным причинам:
1) Более быстрая запись с точки зрения хоста.
2) Изменение порядка записи на диск.
Более быстрая запись позволяет хосту записывать в ОЗУ корпуса и затем продолжать работу (с резервной батареей, конечно). Изменение порядка позволяет выполнять эти записи в другом порядке, чем они были получены от хоста. Данные могут быть записаны на досуге, когда головки чтения / записи находятся в непосредственной близости от места записи. Хотя я не читал это конкретно, я бы предположил, что некоторые вложения более эффективны при переупорядочении пакетов и отсрочке записи, чем другие, основываясь на понимании и навыках команды, пишущей прошивку.
Давайте сравним SSD-накопитель с 15K-накопителем SAS. Например, на Intel 320 спецификации показывают до 38000 случайных операций ввода-вывода в секунду во время чтения (14000 для записи), в то время как 15 000 дисков могут достигать, скажем, 200 случайных операций ввода-вывода в секунду во время чтения. Это дало бы каждому SSD-накопителю ту же скорость, что и около 190 жестких дисков.
Поскольку твердотельные накопители не подвержены увеличению скорости за счет переупорядочения операций записи, как у вращающихся дисков, и из-за высокой пропускной способности твердотельных накопителей может показаться, что полезность WriteBack практически исключена. Поэтому, исходя из этой логики, и от того, что исследования, которое я смог найти, я бы рекомендовал использовать WriteThrough для корпусов SSD SCSI, позволяя при этом кэширование чтения происходит (спорно). Я также отключил бы любые схемы кэширования Read Ahead. Кажется бессмысленным предварительно читать что-то, что может уже двигаться почти на 300 МБ / с.
При использовании SSD-дисков в корпусах RAID узкое место перемещается с дискового IOPS на канал RAID-массива (iSCSI / Fiber), если, конечно, вам не повезло иметь скорость 10 ГБ.