掉电恢复

掉电恢复

参考资料:《深入浅出SSD》

掉电分为两种,正常掉电和异常掉电,但是不管哪种掉电,在SSD上电认盘后,都要能正常工作

1.正常掉电

概念

在掉电前,SSD会收到主机的掉电通知,SSD收到通知后会做些操作,等SSD完成这些操作后,主机才会真正对SSD进行断电,

一般来说,正常掉电不会导致数据的丢失,重新上电认盘后,只需把掉电前保存的相关信息(映射数据,闪存块信息等)重新加载即可继续工作。

 

案例

主机发送standby命令通知SATA SSD,SSD收到命令后主要会做以下事情,然后才停止对SSD的供电

1)把buffer中缓存的数据刷入闪存

2)把映射表刷入闪存

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

4)把SSD其他信息写入闪存

 

 

2.异常掉电

概念

1)SSD在没有收到主机掉电通知时就被断电,或者收到主机的掉电通知,但是没有来得及处理上面要处理的事情就被断电了,

2)异常掉电可能会导致数据的丢失,比如缓存在SSD的数据来不及写到闪存,掉电会导致这部分数据丢失,还有根据闪存特性,

      如果掉电发生在写MLC的Upper page,会导致其对应的Lower Page数据遭到破坏,也就意味着之前写入闪存的数据也可能由于异常掉电而丢失

3)异常掉电恢复的目的,一方面是尽可能的恢复用户数据,把损失降到最低,另一个方面是让SSD经历异常掉电后还能正常工作

 

posted @ 2020-04-14 22:48  可口可乐嗨  阅读(487)  评论(0编辑  收藏  举报
levels of contents