数码之家

 找回密码
 立即注册
搜索
查看: 13758|回复: 27

[Other] 都说SSD恢复数据困难,现在的SMR机械硬盘难道就真的可靠吗?科普SMR原理....

[复制链接]
发表于 2020-8-13 18:19:39 | 显示全部楼层 |阅读模式
相信大多数坛友都知道重要数据放在SSD上面一旦丢失数据很难恢复,所以很多电脑都是SSD+机械的组合。目前市面上的桌面级硬盘以及移动硬盘基本清一色是SMR硬盘,首先简单科普一下SMR及其原理:

最早的硬盘磁记录方式是水平的,简称LMR,但是随着大容量的需求以及磁头工艺和盘片工艺的进步,LMR满足不了厂家对大容量的追求,于是产生了垂直磁记录,简称PMR。在这里首先要说一下很多人都会以为SMR和PMR没有任何关联,实际SMR也是PMR的一种,如果厂家宣传SMR是PMR也没有错,因为SMR也是垂直记录方式的一种,只不过他是叠瓦方式的,传统的垂直磁记录叫CMR。然后再简单说一下磁头,一个磁头分为读磁头和写磁头,写磁头要宽于读磁头,现在磁头读取器和写入器元素已经到达物理极限,在没有新的记录技术之前只能让磁道重叠来增加存储密度。


上图为传统垂直磁记录和叠瓦垂直磁记录示意图。之前说了SMR的优点就是增加盘片存储密度,使单碟容量增大为厂家带来更多效益,但是缺点也很明显,首先如果是一块全新的硬盘你持续写入数据那么没有任何问题,但是如果你要修改已经写入的磁道的数据,因为写磁头宽于读磁头,那么他一边要写当前磁道的数据,还要将后面磁道的数据数据读取到缓存纠正再写入,一直写到磁盘末尾,每次写入数据都是个复杂过程。所以性能上会大打折扣,增加频繁写入量也会降低盘片寿命。


上图为SMR写入器覆盖相邻磁道示意图。多数客户肯定不会只拿来当仓库盘不修改数据或安装系统,那这个问题怎么办呢,首先厂家加大了缓存,然后将SMR磁道分组分段,这样就不至于一直修改到磁盘末尾,只提取和复写一段磁道就可以了。


上图为分段示意图。(以上图片来自网络)但是这样还是不行,当用户数据量大或者大量修改复写还是会卡的不行怎么办呢?类似于SSD的技术用上了,那就是GC与TRIM,利用这个技术来清理掉无用的磁道数据,然后将零碎的组段数据整合到连续的组段来提升性能。

这次我用一块比较常见的早期支持TRIM的SMR硬盘做个测试,硬盘是2017年出厂的WD10SPZX,2.5英寸单碟1TB。



首先我将硬盘写入一半左右的数据,470GB耗时1小时20分钟左右,由于都是比较大的文件,基本接近硬盘最大写入速度110MB/S左右。



用winhex打开磁盘可以看到到一直到磁盘中间位置底层都是有数据的



下面我先删除一个文件去看一下trim是否会执行清零




从上图可以看出删掉的数据底层已经被清零,之后我一次将剩余的460多个GB全部删除来看一下




全部删除后立即打开winhex查看底层已经全部变为00,耗时不到2S,大家可能觉得不可思议,NAND类的存储快速充放电是可以在几秒内清理掉几百个G的数据,但是靠磁头读写的磁介质显然是太快了点,但实际上这些数据并没有真的清零只是编译器认为这些扇区数据客户不需要了,这样再写数据不需要提取再写入而是直接覆写就会很快。

简单的说一下原理,在我们业内硬盘固件区有一个很关键的固件俗称“译码表”,它记录着盘片用户区和SA区的出厂缺陷表以及PBA地址和LBA地址对应的信息。当全部删除后,在译码表内记录的有用的LBA地址被清理,全都变成了空闲区域。

但是问题来了,当SMR本就脆弱的寿命加上这些技术后译码表是经常被修改的,很容易出错和损坏,在数据恢复中经常遇到这类SMR硬盘有数据的区域读取非常慢以KB/S为单位,而全00的区域读取飞快,或者拷贝数据遇到坏道或者断电重启后硬盘底层全部变为00的情况,这都是译码表出错或损坏导致的。

说了这么多,最后总结一点,这些技术虽然都是在优化SMR硬盘性能,但是对于数据安全也是有威胁的,SMR盘片本身寿命就比CMR要短,SMR的硬盘出现问题比CMR硬盘恢复要困难,对于一般用户一旦误删除也是无法恢复数据,如果修改数据或者写入数据过程中突然断电死机之类很大概率会造成硬盘损坏,所以SMR的机械盘也要注意备份数据。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 6家元 +60 收起 理由
garyjohnson + 1 顶起来 没注意过这个 机械盘不是一劳永逸.
200birds + 20
亲爱的混蛋 + 20
xmmz + 10 優秀文章
chenzoutie + 1 歡迎探討
xiaoqi233 + 8 感谢科普

查看全部打赏

发表于 2020-8-13 18:58:37 | 显示全部楼层
技术贴 感谢楼主普及。:lol:
smr 不会买。太垃圾。:lol::lol:
回复 支持 反对

使用道具 举报

发表于 2020-8-13 19:05:14 | 显示全部楼层
谢分享,那CMR还是很稳的吧?
回复 支持 反对

使用道具 举报

发表于 2020-8-13 19:50:36 | 显示全部楼层
本帖最后由 skyplayer 于 2020-8-13 19:53 编辑

SMR是公认的垃圾啊!
在写入过程中,会丢数据的。还是PMR比较靠谱
回复 支持 反对

使用道具 举报

发表于 2020-8-13 19:53:06 | 显示全部楼层
嗯,SMR的硬盘我没用过不清楚。不过SSD实际删除后,数据肯定还是存在SSD的颗粒上的

再主动垃圾回收的SSD也不会第一时间删除真正的数据

这个译码表,不同固态厂商叫法不同,但做法都一样,把无效数据的页的信息,加入一个表。这个表就是空贤可用状态(某家公司的主控,曾经就有固件的BUG,这个表出问题,导致盘给锁死了)

固件的算法,根据用户的使用习惯,和剩余空间,自动的进行垃圾回收或磨损均衡(磨损均衡)。当执行这两个操作时,才会真正删除数据

实际上,固件的算法,完全可以根据用户的方法,再提供数据。但大多数收到TRIM,固件标记为无效数据后,如果请求这个位置(就是OS访问LBA的位置),固件会直接提供00给OS,所以OS层面已经拿不到真正的数据了

不过只有删除文件才会无法恢复(但有些牌子SSD就可以,例如东芝某些早期TR系列的,但是我不知道是不是用户禁用了TRIM)。我试了Diskpart Clean,相关的数据不会有影响,不发送TRIM。删除分区的操作,也不会影响数据

打赏

参与人数 1家元 +10 收起 理由
xmmz + 10 精彩回帖

查看全部打赏

回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-13 21:33:03 | 显示全部楼层
全部用SSD了,没有重要数据。100Gs3700足够了。
回复 支持 反对

使用道具 举报

发表于 2020-8-13 21:53:49 | 显示全部楼层
光smr带trim功能就意味着数据真的会拜拜,还是远离叠瓦,为了数据安全,也要raid1
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-14 09:42:51 | 显示全部楼层
ssd其实不算安全的
回复 支持 反对

使用道具 举报

发表于 2020-8-14 10:04:40 | 显示全部楼层
基本上现在的固态都是自带TRIM
手贱数据就马上火葬场
除非有的TRIM不完全还是可以见到少部分碎片

机械盘数据恢复才是真爱:lol::lol:
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-16 10:16:45 | 显示全部楼层
没事勤备份,没事多备份。
回复 支持 反对

使用道具 举报

发表于 2020-8-16 19:27:37 | 显示全部楼层
还是花钱上云吧。多备份是硬道理
回复 支持 反对

使用道具 举报

发表于 2020-8-19 13:53:04 | 显示全部楼层
学习了,还真是没留意过SMR的问题
回复 支持 反对

使用道具 举报

发表于 2020-8-19 14:42:29 | 显示全部楼层
本帖最后由 animefans_xj 于 2020-8-19 14:56 编辑

esxi虚拟机里映射了一块叠瓦盘,拿来下了点东西后,从该下载盘拷贝下载好的数据到CMR盘的速度简直了



图里磁盘3是SMR的下载盘 WD20SPZX,磁盘4是CMR的空盘(接收数据的盘)HGST 5K1000,大部分时间5K1000都在等待WD20,而且WD20拷贝时读取数据的速度很不稳定,是快是慢全靠运气,前面130G拷贝用了1小时15分,后面130G拷贝用了3个多小时。这还是虚拟机里下载软件全部关光杜绝非必要读写的情况下的速度。



当然,映射到虚拟机里的磁盘是不具备休眠和TRIM特性的,这算是一个SMR应用的糟糕案例了吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +10 收起 理由
家睦 + 10 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2020-8-23 12:40:37 | 显示全部楼层
是不是缓存容量大于128MB的,就是SMR盘呀
回复 支持 反对

使用道具 举报

发表于 2020-8-24 15:36:25 | 显示全部楼层
技术贴,没看懂也要顶起:shy:
回复 支持 反对

使用道具 举报

发表于 2020-8-24 15:57:22 来自手机浏览器 | 显示全部楼层
threecai 发表于 2020-8-23 12:40
是不是缓存容量大于128MB的,就是SMR盘呀

基本上是,但不绝对。缓存大小和磁盘容量应成正相关。而叠瓦盘为了取得更高性能,也会使用更大容量缓存。不过也有256M缓存的直线式硬盘(大容量,服务器使用),和64M的叠瓦盘(某些小容量笔记本2.5英寸盘)
回复 支持 反对

使用道具 举报

发表于 2020-9-1 23:47:47 | 显示全部楼层
慢慢理解,细细品。

感谢科普。
回复 支持 反对

使用道具 举报

发表于 2020-9-2 20:17:58 | 显示全部楼层
g6666 发表于 2020-8-13 21:33
全部用SSD了,没有重要数据。100Gs3700足够了。

没有重要数据,相当于无敌啊哈哈:praise:
回复 支持 反对

使用道具 举报

发表于 2020-9-2 21:05:18 | 显示全部楼层
巴其 发表于 2020-9-2 20:17
没有重要数据,相当于无敌啊哈哈

重要数据都放云盘里了,也不是很重要,做网吧技术的,没有什么重要文件都是网上下载的。所以100G的足够了。
回复 支持 反对

使用道具 举报

发表于 2020-9-8 22:58:51 | 显示全部楼层
animefans_xj 发表于 2020-8-19 14:42
esxi虚拟机里映射了一块叠瓦盘,拿来下了点东西后,从该下载盘拷贝下载好的数据到CMR盘的速度简直了

叠瓦盘就是可擦写光盘,而且次数还是有限的,无论从寿命还是速度都很好的继承了可擦写光盘,只是容量大了些而已。非常不好用,可以说基本上就不能用。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-8 19:09 , Processed in 0.249601 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表