V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
garywill
V2EX  ›  编程

有人实际遇到(或感知到)过比特翻转或数据静默损坏么?

  •  
  •   garywill · 2 天前 · 1365 次点击

    那些什么研究说,硬盘和内存是有可能发生比特翻转的,就这么突然某个位 0/1 值自己改变

    如果真的发生了,若是发生在可执行文件、代码文本,大概率是会出现莫名的异常的。如果发生在压缩包、或加密过的数据里,那么直接大块数据作废

    自己和身边人这么多年来从没有感知到过这种异常。都是家用级硬盘,我们也没有用 zfs/btrfs 那种带校验机制的 fs

    25 条回复    2025-10-28 21:05:53 +08:00
    ybbfie
        1
    ybbfie  
       2 天前
    控制器本身是有校验机制的,家用环境比较温和,不是那么容易出问题。公司产品低温下是出现过比特翻转的
    qwx
        2
    qwx  
       2 天前
    实际上硬盘都有 ecc 功能,遇到错误自动就修复了,本来概率不高的事情,有时候 ecc 也用不上。位翻转更多见于内存,但内存哪怕错误,也就是重启一次的事情。而且服务器内存还有附带 ecc 功能的。
    Cu635
        3
    Cu635  
       2 天前
    硬盘主控:op 啊,我虽然不显眼,但是也不能当我不存在是不是?硬盘主控有纠错功能。

    至于内存,家用的就是放任不管了,反正概率虽然不为 0 但是也极低;服务器上的内存就是用 ECC 来纠错了。
    pusheax
        4
    pusheax  
       2 天前
    楼上正解,硬盘主控都有 ECC 功能,所以硬盘出现比特翻转的概率不高。
    或者说出现单个比特错误的概率不高。更常见的是固件设计缺陷或 Flash 本身有问题,造成的大面积数据丢失。例如 QLC 硬盘的冷数据问题。
    当然如果是没有 ECC 的储存设备,比如 NOR Flash 或者 NAND Flash ,这种情况就很常见,焊 Flash 芯片时风枪温度给高了,都有可能会丢数据。
    Rickkkkkkk
        5
    Rickkkkkkk  
       1 天前
    油管上有一些视频讲真实案例的
    pusheax
        6
    pusheax  
       1 天前   ❤️ 1
    内存出现比特翻转的概率会比硬盘高很多,尤其是内存的 ECC 一般作为高级功能,只在 Xeon 这种专业级 CPU 上支持。
    对于没有 ECC 的内存,甚至可以通过反复擦写某一 bit ,来人为地让周围的 bit 翻转,也就是 Rowhammer 。
    YuriX
        7
    YuriX  
       1 天前 via Android
    P4510 8T 位翻转搞坏数据过
    masterclock
        8
    masterclock  
       1 天前
    遇到过不少次,能确认的最近一次查证了一个月
    iyaozhen
        9
    iyaozhen  
       1 天前
    遇到过,那次事件公司内部广为流传

    后来 rpc 框架还专门支持了 CRC32 数据校验
    wesleywaters
        10
    wesleywaters  
       1 天前
    遇到过,当时客户那是一个高压环境,发生电磁干扰了,第一次遇到这种事都很惊奇。
    liuzimin
        11
    liuzimin  
       1 天前 via Android
    家用环境可执行文件没遇到过,但视频文件很常见吧。。。我 10 年前下载的火影忍者 mp4 文件,现在偶尔翻出来看,经常会看到局部画面有错乱。
    liuzimin
        12
    liuzimin  
       1 天前 via Android
    话说我看到现在有些 ddr5 家用内存条,好像也支持 ECC 了?
    kzfile
        13
    kzfile  
       1 天前
    老硬盘里的 jpeg ,经常损坏
    5xX4U5sUwdELgdQ3
        14
    5xX4U5sUwdELgdQ3  
       1 天前
    周围人说过有次办公室打雷, 然后他电脑不能上网了, 之后发现是 mac 地址的一位变了, 而单位设备都需要注册 mac 才能上网. 不知真假.
    xtreme1
        15
    xtreme1  
       1 天前   ❤️ 1
    玩 mem oc 时随随便便遇到啊
    pingdog
        16
    pingdog  
       1 天前 via Android
    知道这个事的估计都有点年龄了,aws s3 大概在 08/09 年发生过,incident report 还分析了 bit flip 原因
    dynastysea
        17
    dynastysea  
       1 天前
    内存和硬盘都还好,都有校验机制。最坑的是 cpu 的静默错误,现在都没有一个稳定的检测机制,厂商也没好的办法。出错了,那才叫一个抓瞎。
    booboo
        18
    booboo  
       1 天前 via Android
    之前的一个项目,在某些环境下,几天出一次内存比特翻转,查起来搞死人。后面降低性能开启 ecc
    shanzz8
        19
    shanzz8  
       1 天前
    前段时间 raid1 的硬盘数据操作失误,被群晖抹掉了,两块硬盘同时丢失数据,后来通过数据恢复工具把文件都基本找回了,但是有些文件,如 mysql 数据库表文件等同一块数据会被反复修改的文件,是损坏的,在恢复数据的时候发现里面的数据大小头是反的,两块硬盘的找回相同文件的数据是一样的,恢复数据花了很大的精力
    ryd994
        20
    ryd994  
       1 天前 via Android   ❤️ 2
    我工作中会接触到大量服务器。内存错误这种我们都有统计数据的。服务器 ECC 纠错之后可以输出统计数据。比例当然是很小的,但是服务器量大之后再小的比例也会成为不可忽视的问题。

    @qwx 硬盘一般不用 ECC 而是用 ldpc 。ECC 8:1 的成本太高了。
    内存错误也不一定是重启一次的事情。比如 zfs 推荐用 ECC 的原因就是 zfs 在硬盘储存的时候有校验,可以抵御冷错误,但 zfs 的软件无法抵御内存错误。如果损坏的地方很不巧是文件系统结构数据,而且这个错误的数据还写入了,那校验码也会是错的,数据就彻底毁了。

    @liuzimin DDR5 的 ECC 和服务器用的 ECC 有所不同。服务器的 ECC 是由 CPU 的内存控制器主导。保护范围是除了 CPU 以外的全程。CPU 的缓存自带硬件 ECC 不用管。
    DDR5 普通内存也要 ECC 是因为密度太高频率太高,良品率实在上不去了。但是这个 ECC 只保护内存颗粒内部。如果是传输过程中的错误是没用的。而且不会收集统计数据。服务器 ECC 除了纠错之外,另一个用途是及时发现损坏的内存。甚至可以在其中一颗内存颗粒损坏时,屏蔽对应的颗粒继续运行( Single Device Data Correction )
    lrvy
        21
    lrvy  
       1 天前   ❤️ 1
    @iyaozhen 我没猜错的话,这是某家 Golang 大厂
    ntedshen
        22
    ntedshen  
       1 天前   ❤️ 1
    没异常感知 ×
    东西实在太多了人眼根本校不过来 √
    busier
        23
    busier  
       1 天前 via Android
    @ntedshen
    同意

    家用大多 视频 照片 音乐 之类文件 发生翻转坏一个位,你是根本无法感知的
    PrinceofInj
        24
    PrinceofInj  
       1 天前
    遇到过两次,我们安装在客户现场的软件,需要在硬盘上存放大量零碎的原始数据,因为本身软件有校验机制,所以遇到这种位反转的会报错打不开,这两个我都打开文件用 16 进制看过,刚好就是 01 反转的样子。至于原因就天知道了,有一起可能是跟太阳风暴有关系,另一起原因未知。
    kingcanfish
        25
    kingcanfish  
       1 天前   ❤️ 1
    @iyaozhen 听说视频开了一天一夜 最后发现物理机网卡有问题是吧
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5612 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:15 · PVG 11:15 · LAX 20:15 · JFK 23:15
    ♥ Do have faith in what you're doing.