我过去使用 WriteBack 有两个主要原因:
1) 从主机的角度来看,写入速度更快。
2) 重新排序磁盘写入。
更快的写入允许主机写入机箱 RAM,然后继续(当然还有备用电池)。重新排序允许这些写入以不同于从主机接收的顺序发生。当读/写头靠近写入位置时,可以随意写入数据。虽然我没有具体阅读它,但我推测,基于编写固件的团队的理解和技能,一些附件在重新排序数据包和延迟写入方面比其他附件更有效。
让我们将 SSD 驱动器与 15k SAS 驱动器进行比较。例如,使用 Intel 320 时,规格显示读取期间的随机 IOPS 高达 38000(写入时为 14000),而 15k 磁盘可以达到,例如读取期间的 200 随机 IOPS。这将使每个 SSD 驱动器的速度与大约 190 个硬盘驱动器相同。
由于 SSD 不会像旋转磁盘那样通过重新排序写入来提高速度,并且由于 SSD 的高吞吐量,看起来 WriteBack 的用处已基本消除。因此,基于这个逻辑,并且根据我能够找到的研究,我建议将 WriteThrough 用于 SSD SCSI 机箱,同时允许发生读取缓存(值得商榷)。我还将禁用任何预读缓存方案。预读已经可以移动近 300 MB/秒的东西似乎毫无意义。
在 RAID 机箱中使用 SSD 驱动器,瓶颈从磁盘 IOPS 转移到 RAID 机箱链路(iSCSI/光纤),当然除非您有幸拥有 10GB 的速度。