上周,在对主题进行了更多研究之后,我一直在思考这些年来我忽略了什么,没有理解写入缓存策略,总是将其保留为默认设置。写入缓存策略可提高写入性能,包括写回缓存和写入缓存缓冲区刷新。
这就是我对以上所有内容的理解,但如果我有错误,请纠正我:
直写缓存/直写缓存本身并不是写缓存策略的一部分,而是在数据写入时缓存和存储设备因此,如果 Windows 稍后再次需要该数据,则会从缓存中检索数据,而不是从存储设备中检索数据,这意味着只提高了读取性能,因为无需等待存储设备再次读取所需数据。由于数据仍写入存储设备,因此写入性能不会提高,并且在断电或系统崩溃的情况下不会出现数据丢失或损坏的风险,而只有缓存中的数据会丢失。此选项似乎默认启用,建议用于不需要使用功能的可移动设备“安全删除硬件”在用户方面。
回写缓存与上面类似,但是无需将数据写入存储设备,定期从缓存中释放数据并在空闲时写入存储设备。在我看来,这个选项提高读写性能但如果发生电源故障或系统崩溃,则存在风险,不仅会丢失最终写入存储设备的数据,还会导致文件不一致或文件系统损坏。写回缓存不能与写通缓存同时启用,如果没有备用电源,不建议启用。
写缓存缓冲区刷新我认为它类似于写回缓存,但可以在断电前立即释放并将数据从缓存写入存储设备,但我不知道它是否也适用于偶尔的系统崩溃。这个选项似乎补充写回缓存以减少或潜在地消除数据丢失或文件系统损坏的风险。
为了获得最佳性能并减少 SSD 磨损,我对最后两个选项与当今的现代 SSD 的相关性存有疑问:
我知道传统硬盘带有板载缓存(我不知道那是什么类型的缓存),但 SSD 是否也带有缓存?假设它们带有缓存,那么这种缓存是否比 NAND 闪存和系统 RAM 更快,是否值得冒险启用写回缓存来利用它?我读到过一些文章说,一般来说,存储设备的缓存比 RAM 更快,但我想确定一下。此外,我读到应该启用写入缓存,因为稍后要写入 NAND 闪存的当前数据会在缓存中保留一段时间,并且如果在最终写入之前对数据进行了大量修改,则保留这些数据并定期释放这些数据会减少其写入 SSD 的时间,从而减少其磨损。
现在关于写入缓存缓冲区刷新,我听说 SSD 控制器本身速度非常快,因此不需要启用此选项,因为他们管理冲洗但是,再次重申,我不知道 SSD 是否有自己的板载缓存,以及它是否比 NAND 闪存和系统 RAM 更快,因为如果是的话,保持此选项处于启用状态是有意义的。
最近我发布了关于我的 Intel 330 SSD 120GB 的问题这是进行深入研究的主要原因,我怀疑写入缓存策略是导致 SSD 冻结问题的罪魁祸首,假设释放数据是导致冻结的原因。目前我已启用写入缓存并禁用写入缓存缓冲区刷新,因为我相信 SSD 控制器对写入缓存刷新和 Windows 写入缓存缓冲区刷新的管理相互冲突:
因为我想通过小步骤进行故障排除,最终确定问题的根源,所以我决定从写入缓存策略开始,然后转向驱动程序,稍后切换到 AHCI,最后禁用 DIPM(设备启动的电源管理)通过注册表修改感谢@TomWijsman
答案1
这是 10 年前提出的一个非常好的问题,而今天它变得更加重要,所以我不确定为什么我看不到任何回复。
- 我是新手https://superuser.com所以请告诉我如何进入此类主题/话题的任何链接。我的 5 个鸡蛋价值只是很好的常识;
- 去吧!启用写入缓存选项 - 就这么做!对于存储日期几乎没有风险,可以通过启用(选中复选框)写入缓存选项来避免因任何原因丢失缓存数据,同时还具有延长 HDD u SSD 寿命的巨大好处,另外,哦,对了,性能提升非常非常明显。
- 稍安勿躁!在禁用“写入缓存缓冲区刷新”选项时 - WHOOA ms 在定义什么是“单独的 PS”方面做得很差,以至于无法确定数据丢失的可能性/风险是否很大。
- 是否可以假设,如果 PC 是笔记本电脑(事实上内置 UPS)正常关机过程或带有实际 UPS 的 PC,那么争论就会消失,因为 ms 警告毫无用处,但事实上的 CYA 条款除外?
- 我确实要对微软在这组警告/指示中的隐晦含糊之处表示祝贺,因为我从未见过对如此重要的问题有如此少的真实披露(没有例子!)。
- 通过几个简单的例子来解释“停电”与“单独的 PS”的重要性将非常有帮助......
- BSOD 或其他严重崩溃与神秘的“电源故障”之间的区别将非常具有启发性。
- 谁/哪里或何时实际实施“写入缓存缓冲区刷新”可能是安全或有利的,以便我们其余的 PC(非服务器类型)最终可以继续前进。包括 PC 与笔记本电脑的细微差别以及内部与外部硬盘/固态硬盘存储设备... 在此先感谢任何涉及实际细节而不是千篇一律的启发。