存储 频道

一波三折 SSD的AHCI与IDE模式之争

  [6.Pcper的结论]

  结论:

  虽然使用IDE模式并没有什么坏处,但在以下方面还是略有不足:

  •从AHCI模式改到IDE模式后无法支持热插拔,这将会影响到多数eSATA接口的正常使用,在IDE模式下热插拔可能会引起系统蓝屏,用户必须先关机才能插拔eSATA设备。

  •不支持端口复制器(Port-Multiplier),因为这一功能需要AHCI为前提,多数Mutil-bay设备都是需要支持RAID功能的控制器及端口复制器的。

  •不支持RAID。所有支持RAID功能的磁盘控制器都是以AHCI扩展功能出现的,如果使用IDE模式就无法组建RAID模式(专门的RAID卡除外)。

  •AHCI模式拥有高级能源管理技术,相比只支持IDE模式的机器可以降低功耗。如果是用在笔记本上,那么IDE模式下的续航时间会减少。

  •缺少混合写入(write combining)支持。SSD硬盘可以用并行的方式将几个随机写入混合写入硬盘的某一区块,而IDE模式不支持并行操作,多条写入操作不能混合,因此AHCI模式可以提高SSD的耐用性。

  •使用AHCI模式的机械硬盘如果突然改成IDE模式会引起性能下降,因为硬盘不能优化重新组合IO操作使之顺序读写,这会带来不必要的磁头磨损。

  AHCI既然这么好,为什么性能不敌IDE?

  即便不考虑HD Tune测试的准确与否的问题,HD Tune也只是一个单线程测试程序,IDE模式会比AHCI模式略有优势。虽然两者的物理接口是一样的,但是AHCI为了实现额外的指令和功能也会导致数据传输的带宽略微减少,如果硬盘对并行IO操作(即使使用了NCQ功能)支持不够好,那么AHCI带来的性能提升也会被抵消,因此性能会有所下降。

  benchmarkreviews网站为什么会使用错误的测试软件

  ATTO这样的测试软件要比HD Tune更为容易、直观,而且它支持多线程,可以轻易测试出硬盘的差别,另一个较好的选择是IOMeter,不过benchmarkreviews的作者在评论中为没使用IOMeter做了如下辩解:

  “你用过IOMeter吗?如果用过你就知道IOMeter中有很多不同的设置项目,你不可能让别人去使用IOMeter然后期望(别人在不同的设置下)与你的测试结果相匹配。”

  IOMeter软件以丰富的自定义功能著名,其中的一项是设置特定的队列深度(也就是模拟多线程/NCQ的情形),设置IOMeter以特定的队列深度进行测试并不难,你需要注意的是下面的一条:

  关于TRIM

  benchmarkreviews的文章提出TRIM指令在IDE模式也可以工作,但这是在使用Win7自带的IDE/AHCI驱动的前提下才可以的,而且这一观点也没有意义,因为他们并没有进行任何TRIM性能测试。IDE模式下TRIM不能并行执行,因此如果系统对IDE模式下的SSD硬盘发出TRIM指令时性能会明显下降,因为其他的读/写操作需要等待SSD硬盘挨个完成TRIM指令后才能进行,这个问题引起的性能下降要超过了SSD硬盘在IDE模式下不能顺序读取的负面影响。

  Pcper为什么不就此问题做个测试?

  答案很简单,没有必要,因为如果这样测了IOMeter给出的图表曲线基本上是一条直线,而单线程测试程序的结果将会显示IDE模式比AHCI模式性能略高,这样的文章枯燥无味。我在Pcper的第一篇测试文章就已经涉及到了这个问题了,如下图所示:

  X25-M 硬盘禁用AHCI (BIOS 设置为IDE模式).

  开启NCQ功能(BIOS中打开AHCI)

  上面的测试是Intel的X-25M硬盘在ICH10R磁盘控制器中测得的。可以看出AHCI模式下小数据传输速度上提高了两三倍,在平均读取速度上也有30MB/s的提升,写入速度则由于硬盘本身的原因被限制在80MB/s,与接口模式无关。

  总结:

  超频玩家通常不会放过哪怕只是提升了一丁点的性能的机会,看过了benchmarkreviews的评测之后他们可能花费很多时间去提高硬盘的单线程性能,最后却发现真正有意义的多线程并行性能却明显下降,我希望这些玩家在倒退回IDE模式之前多做些测试。

  因此我这篇文章将是对那些详细研究测试过SSD硬盘的评测人员的一个“羞辱”(原文用了insult一词,给出的三个连接分别指向anandtech、legit reviews以及HOP网站的部分SSD或者全部SSD评测文章,难道作者是强力MT,释放了群嘲?),现在我们必须纠正一些玩家奉为神条的错误认识,为了一点点所谓的单线程性能提升就建议用户退回到落后的接口上的行为实在是脑残。

0
相关文章