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

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

  •  
  •   garywill · 19 小时 4 分钟前 · 1231 次点击

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

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

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

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

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

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

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