我们从根本上提高SSD的性能,单击的位置以及原因

实际上,今天我们已经有一段时间没有在谈论二手驱动器了,因为低速的问题甚至会影响到刚从商店带来的SSD。 当然,物理不能被愚弄-随着时间的流逝,所有SSD都会失去性能。 但是,这样做的原因不仅可能是SSD本身的问题。 对于不想(或根本不需要)以最小程度理解主题并听取主管人员在这方面的建议的普通用户而言,提供系统中组件和软件的有效交互并不是一件容易的事。 对于某人来说,重新安装操作系统或将一些可疑的“调节器”添加到使用的应用程序列表中比较容易。 但是请考虑一下-例如,从我们的角度来看,简单的文件删除由相当多的阶段组成,其中多个参与者被同时捆绑在一起。 并且,如果其中至少有一个错误地执行了任务,则这会影响磁盘的性能。 这些阶段是什么? 由谁或如何进行? 如何确保稳定运行? 今天我们将了解所有这些。 简单明了,让大家理解。 然后很明显,处理SSD性能不佳的症状将无济于事。


七个麻烦-一个解除分配


许多人听说过TRIM命令。 那些珍贵的四个字母给普通用户带来了很多问题。 TRIM是操作系统发送的ATA命令之一,用于通知固态驱动器用户已从磁盘中删除数据,并且可以释放占用的物理单元。 值得一提的是带有NVMe接口的SSD-这些磁盘具有一组不同的工作命令,但是那里也存在TRIM命令的ATA类似物-它称为Deallocate,因此是相同的。 因此,在提到TRIM时,我们也将意味着解除分配。 为什么要谈论所有这些? 正是在大多数情况下这些命令的执行问题才是驱动器性能低下的原因。 当然,我们不会撇开其他问题,但是一切都有时间。



实际上,当您从驱动器中删除数据时,文件系统主表中的条目将被删除。 也就是说,数据本身保留在原位,但是该区域被标记为删除。 “电池清洁”本身会在某个特定时间进行,例如,当驱动器处于空闲状态,而您不在喝茶时。 因此,制造商可以在某些情况下减少内存磨损并提高驱动器的性能。 控制器通过执行TRIM命令来清理这些单元。 顺便说一句,在实施之后,几乎不可能恢复数据。

最近,我们谈到了安全擦除技术 ,该技术类似于TRIM,但不仅影响主单元,而且影响服务区域,使驱动器恢复其原始状态。 记得在某些情况下,只能在没有文件系统的驱动器上执行安全擦除。 TRIM技术仅需要具有所有附带要求的操作系统。


让我们用手指解释一下,其中只有20个...


创建文件时,操作系统会将写命令发送到特定逻辑单元的地址。 从磁盘删除数据时,这些块被标记为空闲。
在这种情况下,数据将保留在磁盘上,直到控制器要覆盖它为止。

摆在我们面前的是存储器的一部分,文件A和文件B的大小不同,分别占据不同数量的块。 首先,我们删除文件B,然后将文件C写入磁盘。 为了说明TRIM不起作用的情况,我们添加了一个简单的说明,其中指出了以下状态:

  1. 文件A和B的存在。
  2. 删除文件B。
  3. 一定时间不活动。 请注意,标记为要清洁的数据块将保留其中的数据。
  4. 写入文件C,但首先从单元格中删除文件B。

例如,如果您想象(只是想像,是)正方形数据块为1 MB,则在第4步中,控制器首先清除标记为文件B删除的两个数据块,然后才写入文件C。如果有几兆字节的空间-即使很小的事情,但随着此类块驱动器的积极工作,总数可能达到千兆字节,这已经明显影响了写入操作的时间。



现在,如果TRIM工作,将会发生什么。 再次分阶段进行:

  1. 文件A和B的存在。
  2. 删除文件B。
  3. 清除使用文件B标记为删除的块的特定空闲时间。
  4. 立即将文件C写入文件B所在的区域。



也就是说,工作的逻辑是完全不同的。 让我们重复一下已做的事情-在删除文件B的那一刻,发送了TRIM命令,并且由于它在SSD中经常处于空闲状态,因此它很乐意几乎立即删除不必要的块。 现在,我们要写入文件C,它将立即写入磁盘,而不是等到清理带有垃圾的块之后再将其写入磁盘。

TRIM,但是你呢? 如果是这样,您工作吗?


您可以使用大量的免费软件来确定SSD是否支持TRIM命令。 以CrystalDiskInfo为例:



但是证明支持不是一件工作。 首先,让我们看一下需要以棘手的方式运行TRIM或此命令根本不起作用的情况。 当然,情况可能会随着时间而改变,但是到目前为止,情况如下:

  1. 标准Windows驱动程序无法在RAID阵列上执行TRIM。 根据系统和RAID阵列的类型,英特尔提供的称为Rapid Storage的驱动程序可以解决此问题。 企业版驱动程序支持阵列0和1。
  2. Windows中对TRIM的支持始于编号为7的操作系统版本。Vista和XP在操作系统级别不支持TRIM。 当然,此问题可以通过第三方软件解决,但是这里的一切风险和风险均由您自己承担-我们不能也不会建议这样做。
  3. 仅Windows 8和更高版本支持Deallocate命令(对于NVMe SSD为TRIM)。
  4. TRIM在虚拟磁盘上不起作用。
  5. TRIM仅在AHCI模式下工作。
  6. 通过USB适配器连接驱动器时,TRIM不起作用。
  7. TRIM无法与FAT32文件系统一起使用(甚至更“蓬松”)。

现在让我们检查一下-TRIM是否可以在系统中工作?

首先,让我们尝试从操作系统中找出答案。 在命令行或代表管理员启动的PowerShell中,输入命令“ fsutil behavior query disableeletenotify”(不带引号)并查看结果。 如果输出中出现“ 0”,则表示正常-TRIM有效。 如果为“ 1”,则TRIM功能不可用。 没错:零-启用的命令,1-禁用的命令。



例如,您可以使用Vladimir Panteleev的易于使用的Trimcheck程序。 该程序分两个阶段运行,在这两个阶段之间可以经过几秒钟或几十分钟-这完全取决于特定SSD型号的具体情况。 该实用程序将数据写入磁盘,并标记它们所在的虚拟块的地址。 她将这些地址保存到文件夹中的JSON文件中,然后删除数据,这导致发送TRIM命令。 该实用程序将查看以前记录的数据是否存储在存储的地址中。 缺少它们意味着控制器记下了TRIM命令并删除了数据。 如果TRIM有效,则该消息将是适当的:



否则,题词将显示为“ TRIM似乎不工作” 。 实际上,如果收到有关无法操作的消息,请运行命令“ fsutil behavior set disableeletenotify 0”,该命令在以管理员或PowerShell名义启动的命令提示符中不带引号。 如果满足所有条件(支持的操作系统,在SSD中实现等),则TRIM功能应打开并起作用。 如果这没有发生,并且满足所有要求,那么您将不得不考虑更换驱动器。

问题,问题代替午餐

最常见的问题是继承。 当然,我们所讨论的是Windows 8之前的版本。例如,当用户在旧系统中安装SSD或从HDD切换到SSD时,无需更改BIOS设置(如有必要),甚至无需克隆分区或整个磁盘。 我们提醒您,TRIM仅在AHCI模式下可用。 例如,许多主板可以在AHCI和IDE两种模式下工作。 因此,如果在IDE模式下将SSD连接到此类卡,则TRIM将无法工作。 仅使用AHCI模式并不能解决问题-Windows将根据所选的IDE安装驱动程序。 看来情况可能很少见,但实际上-不。 如果您不是BIOS设置的朋友,那么至少您需要检查操作模式。 您可以在“ IDE ATA / ATAPI控制器”部分的设备管理器中执行此操作:



请记住,仅在安装Windows之后,如果没有其他操作,就无法从IDE切换到AHCI(反之亦然)-操作系统根本无法启动。 有解决此问题的方法(甚至来自Microsoft本身),但是不值得推荐。 它需要更改注册表设置,添加正确的驱动程序,并准备在发生故障时重新安装操作系统。

对于Linux系统,除硬件组件外,前提条件是ext4文件系统。 由fstab文件中的throws选项指示是否包含TRIM。 该部分的其他有用选项是noatime(实时或nodiratime),它将通过禁用更新对文件和目录的最后访问时间来减少记录。 TRIM命令本身是使用fstrim程序-“ fstrim / -v”启动的,该程序不带引号并且具有root特权。

还记得有关安全擦除的内容。 您可以使用此功能恢复性能。 只有在这里,才有可能长期存在。 尤其是当您快速用新数据阻塞驱动器时。 因此,它将作为临时解决方案,但始终保持临时状态。

我们还将添加有关SLC缓存的信息,SLC缓存通常被许多SSD驱动器使用,而不受接口的束缚。 一定阈值后大量文件(或大文件)的低写入速度不是问题,而是工作的功能。 缓存的本质是,首先将要写入的数据放入特定的内存区域,然后再在后台将其写入主内存。 当分配的高速内存结束时,数据开始以显着降低的速度直接从内存写入数据-从50到150 MB / s。 这是具有SLC缓存的驱动器的完全正常操作模式,因此,从字面上根本无法执行任何操作。



什么是好是坏?


如果TRIM功能从一开始就起作用,那么它本身就不能走到任何地方。 但是,如果您喜欢各种各样的调节器,第三方驱动程序或固件,以及应该改进的操作系统版本,则完全不同。 当涉及Windows 8时,所有这些程序和程序集只会造成更大的伤害,对于Windows 10而言甚至更是如此-在这些操作系统中,一切都被认为是正确的。 在“七个”中,他们可以提供某些帮助,但这只是他们可能带来的许多问题的例外。

另外,我必须对NVMe驱动器及其驱动程序说几句话。 购买高速固态硬盘时,基准中获得的声明的速度指示器应反映在您的眼睛中。 例如,金士顿驱动器经常出现这种情况。 就像他们所说的那样,设置并忘记它的高速运行。 但是,使用其他制造商的SSD可能并非总是如此,这显然会使任何人感到不适。 在这里,不是缺少Deallocate是缺乏性能的原因,而是标准的NVMe驱动程序。 是的,是的,从某些制造商处购买一些NVMe SSD时,您必须访问其网站并下载相应的驱动程序-与标准驱动程序的差异可能是原来的两倍!

现在,仅此而已。


事实证明-并非所有事情都不像乍看上去那样可怕。 用户仅需遵循一些建议,即可使系统正常工作并长时间享受固态硬盘的性能。 最后,让我们重复它们-干净的操作系统分发系统,制造商提供的当前驱动程序和固件,以及缺少系统的第三方“调谐器”,根据其开发人员的说法,这可以将生产率提高146%。 如果问题不是硬件,那么在系统的整个生命周期中,您都不会对磁盘​​有任何抱怨。 因此,不再需要冗长的结论语-必须要说的一切都已经讲完了。 大容量固态硬盘为您提供,它们的高速和稳定的性能!



有关HyperXKingston产品的更多信息,请访问公司网站。

Source: https://habr.com/ru/post/zh-CN452180/


All Articles