U 盘静态下数据完整性

2021-06-23 17:14:18 +08:00
 FS1P7dJz

之前发过一个帖子 /t/629156

于是干脆手上几个空闲 U 盘均实际测试一下了 1-3 号 U 盘在 2020-06-20 写入,4-6 好 U 盘在 2020-06-22 写入,基本上可以认为都静态存放了 1 年,所有文件都是随机生成的一万个 32K 文件,U 盘格式化为 exFAT 格式 校验使用 flashsfv U 盘检测使用 ChipGenius_v4_19_0319


U 盘状态

结论

其实如果排除掉 2 号和 6 号的存疑,那么我们几乎可以得出,主控芯片明确,闪存芯片没有问题的 U 盘,可以稳定的保存数据至少 1 年而不损坏. 但是鉴于 10000 个文件,总大小也仅为 156M,即使是最小容量的 8G,也仅仅占了很小的一部分,所以似乎这个测试说服力也是不足够的,特别是 2 号 U 盘的状况,2 份测试文件,一份可以通过,一份确损坏了很多 6 号 U 盘也就是 SSD 的测试更是让人担心数据完整性

1817 次点击
所在节点    问与答
20 条回复
delectate
2021-06-23 18:20:00 +08:00
很多情况下,并非文件没有丢失 or 损坏,只是你不知道。
raid 很重要啊。

tlc 的特性决定,越久没有上电,越容易出问题。slc 还好一点,但是几年不用也会丢数据。
最后,感谢楼主秉承长期主义的测试。
PhaSelEza
2021-06-23 19:25:09 +08:00
exFAT 可能不太行。备份用的闪迪 CZ80,定期检查时,发现一个写入半年多的文件校验码错误。

现在换了 ReFS,还没出过错,不知道能不能稳定些。
v2tudnew
2021-06-23 21:03:06 +08:00
不只是 U 盘,HDD 也是如此,就前几个小时我就发现几个文件不见了,还有一个文件夹的权限全没了,不过数据倒是校验通过。
mm163
2021-06-23 22:11:07 +08:00
赞一下,很少看到这样的测试
westoy
2021-06-23 22:14:58 +08:00
我现在已经养成日常用 ddrescue 复制文件的习惯了......
FS1P7dJz
2021-06-23 22:42:17 +08:00
@delectate 我目前的主要是用作解密 key 使用,无法在移动设备上实现 RAID

@PhaSelEza 因为是听说 exFAT 对移动闪存设备有优化,所以选择,另外 NTFS 是日志型文件系统,长期通电使用怕在局部闪存区块反复写入产生问题,不过目前看来,一言难尽...
ReFS 好像不能直接用在 U 盘上
Osk
2021-06-23 22:44:53 +08:00
这就是 BtrFS 和 ReFS 等带校验的文件系统的意义了. 不过有一些纠结的地方:

没有镜像 /奇偶校验, 文件坏了就完了. 最过分的是 ReFS, 之前不是有 v2 帖子说 VHDX 被直接删掉(忘了是不是完整性流检测到错误导致的). 其实很多时候一些文件坏个一部分还能用啊...


NTFS 不支持完整性流是真的遗憾.
Osk
2021-06-23 22:49:20 +08:00
另外, 垃圾的闪存简直是在垃圾堆中捞数据, 之前我对一个垃圾的 SSD 开卡, 结果 ECC bits 如果设置过低, 将导致坏块过多无法开卡, 不知道是不是我理解有误:

开卡检测时, 若单元中错误的位数没有大于设置的 ECC bits, 则认为单元是好的. 我一开始使用 1 bits, 完全开不动...
甚至 SLC 模拟区都一堆坏块, 模拟 SLC 都这样, 真的是稀烂了.

简直就是靠 ECC 算法在捞数据.
SuperMild
2021-06-23 22:50:05 +08:00
几年前听说了文件会静默损坏,从那时开始我就一直在想该如何长期保存文件,想过 raid 也想过云端对象储存(注意低价格的网盘也不防静默损坏),最终的解决方案是自己做了一个本地备份工具 https://github.com/ahui2016/localtags
FS1P7dJz
2021-06-23 23:00:02 +08:00
@Osk 现在的闪存真的完全靠 ECC 捞数据..真正的 RAW 就是一片混沌之海...


@SuperMild ZFS 可以实现数据巡检,不过 ZFS 需要 ECC 内存支持,实现成本很高,技术门槛也高,扩容也不变...总之数据一旦到了 TB 级别乃至 PB 级别,如果保证数据一个比特都不错的完整性就很头疼
Kagari
2021-06-23 23:17:59 +08:00
可以用 urwtest 填满再测一年
备份后还要校验太麻烦了,普通的云备份校验更加麻烦
lloovve
2021-06-23 23:24:24 +08:00
千年光盘
neteroster
2021-06-23 23:50:27 +08:00
@FS1P7dJz

ZFS 并不是一定要 ECC 内存吧。虽然 ECC 内存确实有额外好处,但是在没有的情况下也能巡检查错,若有冗余则可以恢复。按我的理解,zfs 的巡检并不主要依赖 ECC 内存。

我以前有个移动硬盘,放了一段时间拿出来之后 zfs scrub 就报告了一些文件的错误(电脑没有 ECC 内存)。
SuperMild
2021-06-24 00:13:24 +08:00
@FS1P7dJz 我的方案是个笨办法,记录每个文件的 hash,然后定期检查。另外每个文件至少备份到另一个硬盘中,一旦发现文件损坏(只要不是两个硬盘同时损坏),就可以恢复。
wttx
2021-06-24 08:38:03 +08:00
要不看看我设计的盘?纯 u 盘主控基本都没有均衡磨损,ecc 也就那样,再加上 tlc 的漏电情况,丢数据很正常,😂
hahiru
2021-06-24 09:28:47 +08:00
要不要再测试一下强磁环境下对数据保存的影响?🧐
CatCode
2021-06-24 11:12:44 +08:00
@Osk ReFS 不支持 U 盘确实蛋疼了些。BtrFS 对于 Win 用户还是无福消受。
FS1P7dJz
2021-06-24 11:25:26 +08:00
@wttx 我其实对性能和容量没有要求,甚至 512M 都够,只要存储稳定...不过你的 U 盘确实是很高兴能和小体积的代表了
FS1P7dJz
2021-06-24 11:31:57 +08:00
@hahiru 缺少强磁环境啊...另外三星 TF 卡表明可以抗 15000 高斯磁场,是一般核磁共振的磁场强度
而且...众所周知...其实 TF 卡本身并没有什么特殊的抗磁设计,只能说闪存本身就可以抗磁,所以应该可以认为常见的磁场环境对闪存应该没有影响
celeron533
2021-06-24 12:44:44 +08:00
另外注意温度。温度越高,数据都是概率越大。如果你把颗粒放在汽车里,阳光暴晒,出问题的时间间隔会更短

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/785362

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX