SSD,AHCI和写入性能

我们已经开始将SSD驱动器部署到我们的开发人员工作站。 此时此刻,我们遇到了令人不愉快的惊喜,即使用新固态硬盘的系统经常冻结,硬盘活动闪烁或持续亮起。 基准testing显示读取速度约为180 MB / s,但写入速度约为5 MB / s。 所有开发人员都使用Windows 7 Enterprise,64位,SP1。 SSD是金士顿SV200S3128G。 我们的开发人员(根据他的经验)build议了以下顺序:

  • 备份工作站
  • 使用一个工具来完全擦除SSD
  • 确保在BIOS中启用了AHCI
  • 安装Windows
  • 从备份恢复

到目前为止,这个程序似乎工作(我们仍在testing,但写入速度似乎是120 MB /秒)。 在这方面有一些问题:

  • 为什么我们必须完全重新安装Windows?
  • 是否有可能在不重新安装Windows的情况下清理SSD? 有没有可靠的工具?
  • 如果在安装Windows时AHCI被禁用,并且启用它,这不应该足以纠正写入性能问题吗?
  • 如果我们不得不彻底清除固态硬盘,这是否意味着我们以前使用过的固态硬盘(SH)? 我想知道这个,因为我所得到的软件包是开放的(当时我没有考虑过,因为我认为我的一个同事只是在软件包内部窥视一下)。
  • 有没有人见过类似的问题?

有三件事情想起来。 首先,你使用什么品牌/型号的SSD? 最近有些制造商的控制器出现了一些问题。 其次,TRIM是否启用。 Win7将在安装时启用TIRM(如果需要)。 所以如果SSD不存在,那么它可能不会被启用。 去检查:

In an Elevated command Prompt windows, type the following: fsutil behavior query disabledeletenotify Results explained below: DisableDeleteNotify = 1 (Windows TRIM commands are disabled) DisableDeleteNotify = 0 (Windows TRIM commands are enabled) 

第三,SSD是否有正确的扇区alignment。 要检查SSD分区的alignment情况,请执行以下操作:

 In Windows, run msinfo32 click on: components -> storage -> disks Look for your SSD and check the partition starting offset. 

它需要被4096整除,否则alignment不正确。

如果在一段时间之后发生 – 这可能是TRIM支持问题。 如果从一开始就这样工作 – 可以使用驱动器。 如果系统不支持TRIM命令,驱动器不知道,哪里有空闲块和哪里使用块。 因此,一旦驱动器被填满,驱动器控制器应该擦除大块数据,存储未触摸的块,合并来自实际写入和存储块的数据然后写入,这就是为什么它如此慢。 擦除块是128k,写块通常是4k(8k)。 英特尔有特殊的function,可以做TRIM命令的工作,但看起来金士顿没有这样的实用工具。 所以,重装是更好的方法。

现代桌面硬盘驱动器有两种模式:1)模拟古老的ATA驱动器2)具有标记命令/ AHCI的现代SATA。 这两个使用不同的方式来控制驱动器。

如果您的Windows没有启用AHCI安装,那么Windows将检测到驱动器作为ATA磁盘,它将为此select正确的驱动程序。

如果您的Windows安装了启用了AHCI,那么Windows将检测到驱动器现代驱动器,它将加载不同的驱动程序。

如果你把你的Windows启动驱动器在这个磁盘上,你改变他们的模式,然后Windows将尝试启动错误的驱动程序。 它不会findc:(aka $ bootdrive),它将无法启动。

出于这个原因,重新安装可能是最简单的..