掉电恢复

掉电恢复

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

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

1.正常掉电

概念

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

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

案例

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

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

2)把映射表刷入闪存

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

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

2.异常掉电

概念

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/marton/p/12694708.html