+86-0000-88888
网站公告: 电脑硬盘坏了能修改吗、移动硬盘读不出来怎么办、移动硬盘无法识别、硬盘损坏如何修改、上海国修信息技术有限公司,专业从事电脑硬盘修复、硬盘维修,电脑硬盘恢复、移动硬盘数据恢复、固态硬盘恢复数据,是国内最早网络与信息安全研究和技术服务的单位之一。
产品展示
联系我们

24小时全国服务热线

+86-0000-88888

如果您有任何疑问或是问题, 请随时与我们联系

解决方案 当前位置:网站首页>固态硬盘恢复数据>

固态硬盘掉电怎么恢复数据

文章来源:艾娜    时间:2018-10-11

 掉电分两种,一种是正常掉电,一种是异常掉电。不管是哪种原因导致的掉电,重新上电后,SSD 都需要能从掉电中恢复过来,继续正常的工作。

  先说正常掉电。在掉电前,主机会通过命令通知SSD,比如SATA中的IdleImmediately,SSD收到该命令后,主要会做以下事情:

  把buffer中缓存的用户数据刷入到闪存;

  把映射表刷入到闪存;

  把闪存的块信息写入到闪存(比如当前写的是哪个闪存块,以及写到该闪存块的哪个位置,哪些闪存块已经写过,哪些闪存块又是无效的,等等);

  把SSD其它信息写入到闪存。

  主机等SSD处理完以上事情后,才会真正停止对SSD的供电。正常掉电不会导致数据的丢失,重新上电后,SSD只需把掉电前保存的相关信息(比如映射数据,闪存块信息等等)重新加载,又能接着掉电前的状态继续工作。

  如果SSD世界只存在正常掉电,那么SSD的实现就会简单很多。可是,正如歌里唱的那样:

  没有一点点防备

  也没有一丝顾虑

  你就这样出现在我的世界里

  带给我惊喜

  情不自已

  突如其来的掉电,对SSD来说,没有“喜”,只有“惊”。

  所谓的异常掉电,就是SSD在没有收到主机的掉电通知,就被断电;或者收到主机的掉电通知,但还没有来得及处理上面提到的那些事情,就被断电了。异常掉电可能会导致数据的丢失,比如缓存在主机中的数据来不及写到闪存,掉电导致这部分数据丢失;还有,根据闪存特性,如果掉电发生在写MLC的Upper page,会导致其对应的Lower Page数据遭到破坏,也就是意味着之前写入闪存的数据也可能由于异常掉电导致丢失。异常掉电恢复的目的一方面是尽可能恢复用户数据,把损失减到最低;另一方面是让SSD经历异常掉电后还能正常工作。

  SSD为什么怕异常掉电?它不是用闪存做存储介质吗?它不是数据掉电不丢失吗?没错。不过,一个SSD,除了数据掉电不丢失的闪存,还需要有掉电数据丢失的RAM,SRAM或者DRAM。闪存的作用是存储数据,而RAM主要是SSD工作时用以缓存用户数据和存放映射表 (Map Table,逻辑地址映射闪存物理地址)。所以一旦掉电,RAM的数据就会丢失。

  为防止异常掉电数据丢失,一个简单的设计就是在SSD上面放电容,SSD一旦检测到掉电,就让电容开始放电,然后把RAM中的数据刷到闪存上面去,从而避免数据丢失。企业级的SSD一般都带有电容。带电容的SSD,还是需要设计异常掉电处理模块,因为电容不能100%保证SSD在掉电前把所有的信息刷入闪存。

  还有一个比较前卫的想法,就是把RAM这种Volatile(掉电数据丢失)的东西,用Non-Volatile(掉电数据不丢失)的东西来替代,但要求这种Non-volatile的东西性能上接近RAM。

  这样,整个SSD都是Non-volatile的了,妈妈再也不用担心我的SSD异常掉电了。Intel和Micron合作开发的3D XPoint,可能作为一个选择。3D XPoint兼有闪存掉电数据不丢失性和内存快速访问的特点。

  RAM中缓存的用户数据,主机自认为把它们写到SSD了(非FUA命令,数据写到缓存,SSD就返回状态给主机),但SSD只是把它们缓存在RAM中,并没有写到闪存。异常掉电时,如果SSD上没有使用电容,也没有使用其它黑科技,这部分数据是损失无疑。重上电时,主机是再也读不到这些数据了。

  掉电还会导致RAM中映射表丢失。映射表数据很重要,对一个逻辑地址,如果SSD查找不到对应的物理地址,它就无法从闪存上读取数据返回给主机;如果映射表中的数据不是最新的,旧的物理地址对应着老的数据,SSD就会错误的把老数据返回给主机。这个问题就严重了。

  假设冬瓜哥原账户上有10块钱,最近存入100万,但由于异常掉电导致银行没有把100万写入到数据库,下次冬瓜哥到ATM上一看,怎么还是10块钱,冬瓜哥当场就晕了!异常掉电害死人啊。

  但是,和RAM中用户数据丢失不同,RAM中映射表数据是可以有办法恢复过来的。SSD的异常掉电恢复主要就是映射表的恢复重建。

  那么,怎么重建映射表呢?下面介绍一种重构策略(不同的SSD重构策略略有不同,但大同小异)。 SSD在写用户数据到闪存的时候,会额外的打包一些数据,我们叫它元数据(Meta Data),它记录着该笔用户数据的相关信息,比如该笔数据对应的逻辑地址,数据写入时间(时间戳)等等。

下一篇:没有了
上海国修专业从事:电脑硬盘修复、电脑硬盘恢复、固态硬盘恢复数据、移动硬盘数据恢复
热门咨询:电脑硬盘坏了能修改吗、移动硬盘读不出来怎么办,移动硬盘无法识别、硬盘损坏如何修改
地址:    座机: