工控网首页
>

应用设计

>

固态硬盘掉电保护的原理及测试方法

固态硬盘掉电保护的原理及测试方法

2021/4/9 12:13:41

固态硬盘由于必须使用FTL做逻辑地址和物理地址之间的转换,如果在SSD读、写、删除等正常工作的情况下出现异常掉电,有可能会导致mapping table的因为来不及更新而丢失,从而出现SSD无法被系统识别的故障,同时,为了提升读写性能,通常使用SDRAM做缓存,如果在读写过程中遭遇异常掉电,SDRAM中的数据可能来不及写进Nand Flash导致数据丢失,或者更新的映射表来不及写进Nand Fla

前言

 

固态硬盘由于必须使用FTL做逻辑地址和物理地址之间的转换,如果在SSD读、写、删除等正常工作的情况下出现异常掉电,有可能会导致mapping table的因为来不及更新而丢失,从而出现SSD无法被系统识别的故障。

 

同时,为了提升读写性能,通常使用SDRAM做缓存,如果在读写过程中遭遇异常掉电,SDRAM中的数据可能来不及写进Nand Flash导致数据丢失,或者更新的映射表来不及写进Nand Flash导致映射表丢失。

 

异常掉电导致的故障现象

 

SSD异常掉电通常会出现三种故障现象:

 

1SSD无法重现被系统识别,需要重新构建映射表或者通过简单粗暴的方式重新量产方可使用;

2、多次掉电后,SSD出现大量的新增坏块

出现新增坏块的背后机理是:当SSD对某些Block进行读取、写入或者擦除不成功时,会被标识为坏块,当然,这些块并非真正的坏块,仅仅是因为异常掉电导致的错误判断。

3SDRAM中数据丢失;

 

常见掉电保护机制

 

每家对掉电保护的机制理解不同,面向的用户不同,保护机制也完全不同,一般会有下面两种做法:

 

1、保存SDRAM中所有数据

 

异常掉电后,SDRAM中所有数据必须完全写入Nand Flash,一般而言,SDRAM的容量设置为SSD裸容量的千分之一,对于小容量SSD来说,SDRAM中需要写入Nand Flash的数据比较少,通过超级电容或者钽电容可以实现数据继续写入。但是,如果SSD容量足够大的时候,例如:8TB,那么,SDRAM中需要写入Nand Flash的数据将会非常大,如果依然靠超级电容或者钽电容来做供电,必然会面临下面三个棘手的问题:

 

a、需要更多的钽电容颗粒来做防护,在实际的工程实践中,这是一项非常严峻的考验,工程师面对的是厚度、标准尺寸的限制,PCB的面积并不足够使用;

b、即使有足够的电容来做防护,当执行重新启动时,SSD将无法正常启动,必须先关机一段时间后才能重新启动,原因是:SSD需要将钽电容中所有电放完后才能被识别;

c、当使用几年后,钽电容或者超级电容出现老化后,当钽电容供电无法达到初始设计目标值时,用户仍然存在掉电后数据丢失或者SSD无法识别的潜在隐患,如果在初始设计时即做冗余电容,那么,将会回到问题“b”的死循环。

 

值得欣慰的是,bc的问题都是可以完美解决的,解决这些棘手问题只是需要工程师足够的头脑和经验而已。

 

2、只保存SDRAM中的用户数据,而不保存映射表

 

这样的做法将会减少SDRAM的使用和钽电容的使用,不保存映射表并不意味着映射表的丢失,仅仅是不保存最后数据写入时更新的映射表,当SSD重新上电后,寻找上次映射表保存后写入的新数据,重新构建映射表,这样做法的弊端是机制设置不足够合理的话,重新构建映射表的时间会比较久,SSD需要一些时间才能正常进入正常状态。

 

对于无SDRAM设计的控制器来说,所有数据直接写入Nand Flash,当异常掉电时,没有写入Nand Flash的数据会被返回主机写入不成功,没有额外数据需要保存,因此,对于真正高可靠要求的应用而言,无SDRAM设计才是王道,其代表是德国某老牌工业品牌主控,其唯一的弊端就是性能不足够良好,实际上,很多应用场景并是需要最高的性能,而是够用的性能。

 

测试方法和原理

 

具体测试时,SSD需要作为系统盘以及作为从盘两种情形进行测试,做主盘和做从盘的测试方法唯一区别是,做主盘需要对测试电脑整机进行通断电,而做从盘仅仅对SSD进行通断电即可。

 

a、对SSD分别作为空盘时、写入数据25%时、写入数据50%时、写入数据85%以及写入数据100%时分别进行3000次的异常掉电测试,每次掉电和通电时间间隔为3秒;

对盘写入不同容量数据进行测试的原理是:当SSD写入一定数据量后,后台开始进行垃圾回收,垃圾回收就意味着数据的搬迁,数据搬迁就意味着映射表的更新,此时进行异常掉电通常会出现问题。

 

b、当正常写入数据时,对SSD进行异常掉电

 

windows下,写入数据文件系统需要执行如下八个动作:image.png 

所以,写入数据的过程也是映射表更新的过程,此时的掉电仍然会影响到映射表是否完整更新。

 

c、当删除数据时进行异常掉电

 

windows下,删除数据同样需要执行八个动作,与建立文件道理相同,映射表同样需要更新。

 

d、当SSD读取文件是异常掉电,测试3000次,通断电时间间隔3秒;

 

e、当正常关机过程中异常掉电,测试3000次;

 

f、当正常启动操作系统时异常掉电,测试3000次;

 

对于工业级或者军工级别的SSD,需要在高低温的环境下进行上述的各项测试。

 

审核编辑(
王静
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

磨损平衡算法提升SSD3倍以上寿命

机载加固双控双活存储系统-领存技术