什么样的固态会脱落?着名的30分钟大法修理原理是什么?

发布者:上海IT外包来源:http://www.lanmon.net点击数:2303

如果现代台式机或笔记本电脑突然断电(掉电),您认为哪个硬件部件容易损坏?大多数人都认为SSD是最容易受到攻击的,并且容易丢失磁盘,即BIOS和操作系统无法识别磁盘。今天,让我们来看看Deep Dive的原理和解决方案,并对有趣的“30分钟大法”的原理和正确性做一些分析。
FTL损坏和丢失
我介绍了很多SSD原理,其中最重要的是对FTL的理解。 SSD甚至SD卡,手机存储问题和解决方案或多或少都与它有关,无论怎么强调都不能过分强调。为了理解后一个原理,让我们简要回顾一下FTL:我们的写Flash操作只能将位1更改为0,而不能从0更改为1.也就是说,我们可以将11110000更改为11000000,但不能更改为11111111.这是有点像逻辑AND操作(我们可以将它与名称NAND相关联)。那么如何将0改回1呢?这取决于擦除操作,但不要忘记NAND闪存的寿命由擦除次数决定(P/E计数(编程/擦除计数))频繁擦除将慢慢产生坏块,例如FAT分区文件分配表(Old Wolf:FAT文件系统和UEFI)。为了能够实现年龄平衡(磨损均衡)和坏块的屏蔽,需要逻辑表(LBA,逻辑块地址)和物理地址(PBA,物理块地址)对应表来暴露逻辑块对外界。哪个物理块是特定固件,固件本身是主站,这个对应表是FTL表:
为什么固态会下降?着名的30分钟大法修理原理是什么?
因为大多数LBA实现都基于Page,也称为页面映射表(PMT):
为什么固态会下降?着名的30分钟大法修理原理是什么?FTL看起来很简单,但它是SSD,NAND等的基本逻辑。它有各种各样的实现,是每个固件的核心秘密。还有一些开源解决方案。
FTL表在哪里?作为核心数据结构,它当然也存储在Flash中。但是,由于它会经常更新,因此每次更改时都无法立即编写Flash。通常,它将临时存储在内存中。累积到一定程度后,写回Flash:
为什么固态会下降?着名的30分钟大法修理原理是什么?
什么时候回写,这是SSD固件的核心秘密之一。另一方面,随着SSD容量的增加,FTL表的容量也迅速上升。我们以8GB为例。 FTL表无需处理即可达到8MB。通过类比,800G SSD和FTL表可以有800MB!一些节省空间的方案可以大大减小FTL表的大小,但也可以大到几十MB。 。如此之大,FTL表有一部分被交换进出的过程。如何设计也非常熟练。
FTL表非常重要,没有它,整个SSD/SD卡将无法工作。如果在将FTL写回闪存之前FTL仍在内存中,则内存数据将丢失并且FTL表将丢失。鉴于此,高端SSD和服务器SSD增加了电容作为应急电源解决方案,允许SSD控制器有时间将FTL表存储在内存中,并将一些缓存内容存储到Flash中:
为什么固态会下降?着名的30分钟大法修理原理是什么?
在现实世界中,我们在M.2的SSD上有很多小电容:
为什么固态会下降?着名的30分钟大法修理原理是什么?
当Vcc断电时,这些电容的栅极将打开,主控制将持续约1ms。主设备将立即放弃当前未存储的所有数据,并立即开始存储FTL表,确保不会出现重大问题。
在企业级SSD中,一些DRAM的大小接近1GB,企业级SSD的数据完整性要求非常高,不会丢失。不仅必须存储FTL表,而且不存储在DRAM中,它们必须全部存储。这需要大量电容器来争取更多时间。如果我们打开企业级SSD,我们会发现很多大黄快速:
为什么固态会下降?着名的30分钟大法修理原理是什么?
他们也是为了这个目的。
但是,一些低端消费级固态硬盘没有这样的措施。突然断电可能导致FTL丢失。这是怎么回事,SSD被废弃了吗?也不是。
重建FTL表
在内存中的FTL丢失之前,Flash上仍然存在最后的FTL内容。虽然它已经过时了,但总比没有好!因此,您可以在SSD中搜索Flash并找到最后一个FTL,这样虽然某些信息会丢失,但大部分数据都可以保留。同时,一些实际的块已经被分配和使用。如果再次发生错误,则需要更正最终的FTL。那么如何解决呢?每个Flash页面都有一些额外的空间。大多数这些空间用于ECC验证,但仍有一些冗余。我们使用映射标志(MF):
为什么固态会下降?着名的30分钟大法修理原理是什么?
有了这个提示,我们可以逐页扫描整个Flash页面来修复FTL。
通过页面查看页面,您知道这是一项非常耗时的工作。现在SSD太大了,需要花费很多时间,而且可能只需几分钟甚至几十分钟!
那么什么时候进行FTL重建?在找到错误后,许多主人将开始重建,直到成功重建,主人将响应ATA和其他命令。这就是为什么有些SSD在突然断点后不会长时间响应的原因。我想丢失磁盘!那电源关闭后为什么没有问题呢?如果最新的FTL已写回Flash,则没有错误。当然,没有问题。
什么是30分钟的大法?
断电后每个主站的性能不同,这与其FTL存储算法有关。有些大师可以快速恢复,而其他大师可能需要很长时间。为了给一些主人足够的时间来重建FTL表,你可以在磁盘丢失后执行此操作:
电源关闭后,发现它被丢弃了。如果是系统盘,则引导失败。如果是数据磁盘,则可在操作系统中找到它。
2.不要立即重启,不要这样做,等待30分钟,让SSD主机全职修复FTL。
3. 30分钟后,关闭。再次打开它,看看你是否能找到SSD。
有些学生有一些额外的步骤,即没有插入数据线,光学插入式电源线开启30分钟。虽然我目前不从事与Flash相关的工作,但我认为从经验和原则来看,这一步并非必要。此外,M.2 SSD也可以这样处理。
需要特别提醒的是,禁忌在此过程中非常烦人,不断关闭启动并重启,中断主重建FTL的过程,可能会加剧错误并完全无法使用。
结论
电源故障可能会导致FTL仪表损坏,从而导致磁盘丢失。正确使用30分钟的大法可以纠正一些问题。关键是给主人足够的时间来重建FTL表。事实上,不仅停电,而且高温可能导致磁盘下降。我在笔记本电脑M.2上插入了一个500GB的SSD。当大量电影拷贝时,过热会导致SSD主机突然停止工作。我的笔记本目前不会回应。过了一会儿,它不会是蓝屏,或者会发现驱动器号已经消失。这是如果我直接重启,我会发现在BIOS和Windows中,硬盘消失了。我将让笔记本电脑冷却一段时间,然后重新启动,硬盘驱动器将再次出现。这也是30分钟大法的变种。如果无法修复,仍可以进入工程模式进行恢复。但是这个过程比较复杂,软件很昂贵,而且留给了专业人士!
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部