V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jeeyong
V2EX  ›  问与答

关于 windows 不能开启机械硬盘写入缓存的问题.

  •  
  •   jeeyong · 2021-07-29 17:09:30 +08:00 · 1151 次点击
    这是一个创建于 973 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题描述: 通过 资源管理器 -> 找到硬盘 -> 右键属性 -> 策略 -> 启用设备上的写入缓存 选择开启 -> 确定 提示 Windows 无法更改此设备的写入缓存设置.你的设备可能不支持此项设置或不支持更改此设置.

    背景描述: 此前通过 BIOS 中设置过 RAID 0 模式, 后来一次内存超频的时候意外导致 BIOS 恢复默认, RAID 0 丢失. 然后更改模式为 AHCI, 没组 RAID 0 了.. 之后偶然一天发现设备上的缓存不能开启, 但是在拷贝大文件的时候, 看起来是有缓存的, 拷贝速度开始会跑到 2.9GB, 然后内存占用上升, 写满缓存后, 速度下降至 80MB 每秒左右. 但是这个写入速度似乎慢了一些..

    软件环境: Windows 10 Pro 版本 MSI Center <- 这个工具有磁盘加速的插件, 但是没安装. 没有其他磁盘加速类的工具.

    硬件环境: MSI Meg z490 ACE 1TB NVME SSD + 2TB NVME SSD + 8TB HDD + 8TB HDD, HDD 为希捷银河企业盘.

    疑问: 想知道: 1. Windows 是否有缓存机制, 如果内存够大, 就会拿出来一部分作为 HDD 的缓存. (目前情况看是这样的.) 2. 目前的情况是否有必要开启 HDD 的这个缓存. 3. 什么原因导致的缓存不能开启, 直接得到答案的概率我觉得不高, 希望能获得到排查思路.

    以上! 感谢!!

    9 条回复    2023-03-09 12:25:37 +08:00
    lsylsy2
        1
    lsylsy2  
       2021-07-29 17:16:14 +08:00
    BIOS 里是否设置了硬盘热插拔?
    lsylsy2
        2
    lsylsy2  
       2021-07-29 17:17:30 +08:00
    1 是的
    2 有
    3 如上
    jeeyong
        3
    jeeyong  
    OP
       2021-07-30 08:22:42 +08:00
    @lsylsy2 谢谢你的回答..
    BIOS 里热插拔选项是禁用的状态
    昨天索性去公司测试了...
    不同的机器, 用同型号的硬盘, 在同一接口上, 有的可以开启缓存, 有的不可以..然后将不能开启缓存的硬盘更换到其他的机器上, 同样不能开启. 我还特别选的接口是之前的硬盘, 正常开启了 写入缓存 的接口.

    不知道为什么.!!!
    我从公司拿了两块到可以开启缓存的硬盘回家, 同接口, 没改设置, 接上去就默认开启缓存的.
    开启缓存读写速度在 230MB, 不开 80MB, 差别还是很大. 这个缓存和 WINDOWS 通过内存提供的缓存机制不一样, 可以叠加.
    honeyjuice
        4
    honeyjuice  
       2023-03-05 22:57:03 +08:00   ❤️ 2
    @jeeyong 这个问题终于解决了
    解决方案来源:
    https://www.reddit.com/r/techsupport/comments/knaxg5/cant_enable_write_cache_on_seagate_barracuda/

    我测试了下,smartctl -s wcache-sct,ata,p /dev/sdb
    即可搞定,最近收了一批矿盘,就是其中几个写入速度缓慢,尤其是扫盘整盘写零的时候只有几十 MB/s ,但格式化后在 windows 下,写入倒有 200MB 左右。
    这个问题困扰了很久,下了一堆测试软件进行测试,最后 Vitoria 的磁盘信息看到有个感叹号,提示写入缓存没开启,才逐步定位到这里的,定位到写入缓存没打开之后发现也跟 OP 一样打不开缓存,一开始以为缓存损坏,后来搜了下才发现是被强制关闭了写入缓存。

    wcache-sct[,ata|on|off[,p]] - [ATA only] Gets/sets the write
    cache feature through SCT Feature Control (if supported). The
    state of write cache in SCT Feature Control could be "Controlled
    by ATA", "Force Enabled", or "Force Disabled". SCT Feature con-
    trol overwrites the setting by ATA Set Features command
    (wcache[,on|off] option). If SCT Feature Control sets write
    cache as "Force Enabled" or "Force Disabled", the setting of
    wcache[,on|off] is ignored by the drive. SCT Feature Control
    usually sets write cache as "Controlled by ATA" by default. If
    ',p' is specified, the setting is preserved across power cycles.
    jeeyong
        5
    jeeyong  
    OP
       2023-03-08 05:08:07 +08:00
    @honeyjuice 卧槽...我提问一张嘴, 你回答跑断腿...辛苦辛苦~~
    非常感谢.
    不过硬盘已经都出了..
    大脑中已建立索引: 机械硬盘缓存无法开启 -> v2ex.
    honeyjuice
        6
    honeyjuice  
       2023-03-09 08:53:14 +08:00
    @jeeyong 这种大概率以前盘是在服务器环境用的,因为阵列卡本身有缓存,他的缓存会带电池,这样可以防止丢失数据
    然后为了防止磁盘本身的缓存出现冲突,就禁用了磁盘缓存
    jeeyong
        7
    jeeyong  
    OP
       2023-03-09 10:25:44 +08:00
    @honeyjuice 可我出问题的盘是希捷京东买的啊...当时一批几十块, 但是有几个是不能启用缓存的...
    问了官方, 官方直接让我换货...我就申请换货了..
    honeyjuice
        8
    honeyjuice  
       2023-03-09 11:29:55 +08:00
    @jeeyong 很奇怪 出现这种问题一般就是被 Force Disabled ,还只能用 smartctl 开启
    jeeyong
        9
    jeeyong  
    OP
       2023-03-09 12:25:37 +08:00
    @honeyjuice 嗯..不管怎么说, 掌握新姿势..先记住, 再说为什么..
    感谢你的分享!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3997 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:14 · PVG 13:14 · LAX 22:14 · JFK 01:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.