前言

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

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

异常掉电导致的故障现象

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

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

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

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

3、SDRAM中数据丢失;

常见掉电保护机制

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

1、保存SDRAM中所有数据

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

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

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

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

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

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下,写入数据文件系统需要执行如下八个动作:

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

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

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

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

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

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

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


固态硬盘掉电保护测试原理及要点相关推荐

  1. 固态硬盘的工作原理,固态硬盘掉电也能存储数据的原理

    固态硬盘主要由主控.缓存.闪存组成,数据通过接口进入主控,经主控中转调配后储存到各个闪存颗粒中.闪存的基本存储单元是"浮栅晶体管" 浮栅被二氧化硅包裹,和上下绝缘,即使在去除电压之 ...

  2. 【FLASH存储器系列十九】固态硬盘掉电后如何恢复掉电前状态?

    掉电分两种,一种是正常掉电,另一种是异常掉电.不管是哪种原因导致的掉电,我们都希望,重新上电后,SSD都需要能从掉电中恢复过来,继续正常工作. 正常掉电恢复,这个好理解,主机通知SSD要下电了,让其做 ...

  3. flash写保护原理_STM32系统中的2种数据掉电保护方法!

    在嵌入式设备开发中,往往需要保存一些掉电不易失性的数据,如果系统配置.用户定制信息等等,如果增加额外的ROM IC,比如(基于I2C的24C02等等)往往会造成额外的PCB空间增大,硬件成本增加,降低 ...

  4. SSD掉电保护也是一门艺术

    你是否会遇到这样一种情况: 当你正在文思泉涌地敲打键盘赶稿件时,电脑突然抽风,然后,你就看到了绝望的蓝色(系统崩溃,电脑蓝屏了). 其实office软件有自动保存的功能,当电脑重启,再次打开WORD文 ...

  5. 单片机带掉电保护c语言,基于LM358的单片机掉电保护电路

    描述 掉电保护简介 掉电数据保护是系统设备一个重要的功能. 目前,掉电数据保护的方法主要有2种: (1)加足够容量备用蓄电池,使系统掉电后继续工作: (2)不加备用电池,把掉电时需要保护的数据存储在非 ...

  6. 群联固态硬盘修复工具_固态硬盘掉速修复小教程,SATA和NVMe协议通用

    不做云评测,只聊真体验,大家好,我是肉包爸爸. 近日,被我拿来做高速移动硬盘的一块海力士PC401 1T固态硬盘出现严重掉速,格式化后故障依旧. 由于硬盘盒接口为USB3.1 Gen2,所以理论速度被 ...

  7. esp8266 eeprom_ESP8266_08基于flash的数据掉电保护

    这一节主要研究一下flash的用法,目的嘛,实现数据的掉电保护. 听起来像EEPROM? 确实很像,但不是!以STM32为例,片上是没有EEPROM的.但是,可以把一部分ROM当做EEPROM,通过程 ...

  8. iar编译工程的map怎么看使用flash大小_ESP8266_08基于flash的数据掉电保护

    这一节主要研究一下flash的用法,目的嘛,实现数据的掉电保护. 听起来像EEPROM? 确实很像,但不是!以STM32为例,片上是没有EEPROM的.但是,可以把一部分ROM当做EEPROM,通过程 ...

  9. 铠侠 RC10 固态硬盘寿命暴力写入测试:1100pe 毫发无损

    来源:bilibili@xiang201204 先看结论: 东芝 BICS4 TLC 颗粒的寿命实际上大于 1100pe.当然,B站用户小飞机测出来它的极限寿命是 3000pe. CDInfo 上的健 ...

最新文章

  1. 简明Linux命令行笔记:df
  2. php header x-auth-token,使用Angular 2正确设置Header X-Auth-Token
  3. Spring MVC中Session的正确用法之我见02
  4. 2-Qt6命令行控制台项目
  5. 分区表需要数据备份吗oracle,Oracle 分区表数据的导入与导出(1)
  6. Linux: I/O多路转接之poll(有图有代码有真相!!!)
  7. 五.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---3.laserOdometry.cpp--前端雷达里程计和位姿粗估计
  8. 在Windows平台下实现《简明 Python 教程》第十章案例(利用winrar实现压缩备份)...
  9. linux系统mysql创建表,Linux系统下手动新建数据库
  10. 《Programming in Lua 3》读书笔记(五)
  11. placeholder字体大小以及颜色的修改
  12. 基于Opencv的手写字识别
  13. 一个小工具帮你搞定实时监控Nginx服务器
  14. 轻量级前端MVVM框架avalon - 初步接触
  15. js obj对象转formdata格式代码
  16. Visio安装失败问题解决
  17. 贾俊平统计学思维导图- 第十一、十二章 相关分析和回归分析
  18. 读《京东咚咚架构演进》有感
  19. Freebase调研(持续更新中)
  20. 基于Levy飞行和FDB的郊狼优化算法(matlab代码实现)

热门文章

  1. 程序员那些装13的面具 有中枪的没?(转)
  2. 32 位的有符号整数的取值范围以及数值溢出
  3. 上天下海”力挺高端装备制造
  4. [Unity3D]Unity3D游戏开发之塔防游戏项目讲解(上)
  5. [2022世界杯] 小白也可以看懂的世界杯
  6. 怪物智能AI系统详解
  7. 程序员六个赚外快的方法(建议收藏)
  8. 集五福2 python
  9. java根据IP获取当前区域天气信息
  10. CorelDRAW X8官方正版特惠下载