4000885680

掉电保护

为什么需要掉电保护?


企业级、工业级以及航空航天级、军工级存储系统的电源部分必须以高可靠性标准设计。子系统的设计者也仔细、慎重的选择可信的常规组件。

 

但是,现实中存储驱动器的供电确实偶尔遭遇故障或者失效。

而上述存储系统执行的是关键任务的数据,数据的丢失或者向Flash等非易失性存储介质传输中的数据被破坏,是完全不可以接受的。

 

这种存储系统中的SSD固态硬盘,必须能够在电源失效、故障的情况下,自己做到对数据可靠的保存。

In-drive-UPS

电源的失效事件包括从瞬态欠压到长时间完全断电的情况。这些事件可以因为供电网络、外置UPS的部件、系统电源(熔断,线缆故障),或者是在振动、热量、冲击等条件下的PCB或者连接头失效而引起。

SSD固态硬盘层面的电源失效的风险,部分的决定于安全供电的措施是否完善。电源失效能够导致系统延迟,甚至永久性的数据丢失。

根据恒成芯兴研发部门进行的数十万次主机异常掉电测试发现,目前市面上的各类SSD固态硬盘,根据产品的不同,大约有1/346~1/2000的概率导致SSD固态硬盘系统数据损坏导致无法识别。

根据第三方的测试,大约有1/500~1/2000分之一的情况下,丢失系统数据。

 

为什么SSD固态硬盘需要掉电保护?


UPS-Comay

对SSD固态硬盘而言,掉电保护比其他设备更加必要。这和SSD固态硬盘的存储介质——闪存的有很大的关系。

当SSD固态硬盘正在对一个Nand闪存的块进行编程(写入)时,编程的操作必须完整执行,以确保数据可靠地保存。

当正在编程时,SSD固态硬盘的供电出现问题的话,对数据是一种极大的危险,尤其是对MLC介质的SSD固态硬盘。对MLC闪存而言,这种危险是双重的。

原因有两个。一是Nand闪存读取的最小单位是页,而擦除的最小单位是块。当一个新的页的数据需要写入时,SSD固态硬盘通常需要将写入目标页的"邻居"读取到缓存,合并成新的数据进行存储或者转存。如果在这个过程当中电源失效,就会有很大的风险。

原因二是因为Nand Flash使用存储单元的同一个物理页,来存储2个逻辑页的数据。当在对高页进行编程中电源失效,低页所存储的有效数据也会丢失或损坏。通常我们将其称为"低页数据损坏"。

   
 

没有掉电保护功能的保护,会导致什么样的后果?


  • 一、丢失用户数据
  • 用户数据丢失,和主机操作系统—SSD固态硬盘的"通信"方式有关。当主机将数据写入指令发送给SSD固态硬盘时,这些数据实际还存储在缓存中。为了追求高性能,SSD将会通知主机操作系统数据已经完整写入,实际上,数据仍然在处理中。如果此时电源失效,SSD固态硬盘的主控无法在断电之前完成数据写到闪存,那么数据将会丢失。之后,当主机请求这些数据时,SSD控制器可以报告这些数据已经"无法恢复"或者提供原有的旧数据给主机。后面这种情况下,主机甚至都不知道数据是不正确的。

    、丢失系统数据

    SSD固态硬盘为了提高性能,板载Flash之间组成了阵列/RAID的方式在运作,所有的数据都是分散到多片Flash存储。同时,在每一片Flash中,数据的存储位置都不是连续的。这些动作,都由SSD固态硬盘控制器中,FTL层操作。所有这些数据的存储,都会形成一张映射表存储,以便SSD控制器实现物理LBA地址和主机逻辑LBA地址之间的转换或翻译。映射表必须被创建并维护,否则就无法读取所存储的数据。而每当新数据写入时,映射表必须被更新。映射表文件被存储在SSD固态硬盘的某个区域,辅以比用户数据更高水平的ECC保护。

    而映射表数据,在主机断电时,也难逃厄运。如果断电时映射表数据丢失,SSD固态硬盘将会表现为数据损坏,返回(损坏的)旧数据,或者彻底的无法识别。

    、低页数据损坏

    SSD固态硬盘发生低页损坏,极可能造成用户数据丢失,也可能造成系统数据丢失。

 

 

科美SSD固态硬盘使用哪些独特的掉电保护技术?


  • 掉电保护,对SSD固态硬盘非常关键,但是市面上绝大多数固态硬盘都因为技术的限制,和成本的考虑,没有使用掉电保护技术。科美SSD固态硬盘不但使用掉电保护,而且非常认真、负责的开发了一系列独特而卓越的核心和周边技术,规避掉电情况下的风险。
  • 一、避免使用外置缓存提高掉电保护的可靠性
  • 外置缓存可以极大地提升SSD固态硬盘的性能,同时对SSD的写放大系数的降低也有很大的帮助。所以越来越多的SSD固态硬盘开始使用外置大容量缓存,而且容量从32MB逐渐提升到2GB。
  • 这样做会给SSD固态硬盘的安全隐患越来越大。缓存容量越大,那么暂存的数据就越大,功耗也越大,在相同条件下,主机异常掉电而不损坏数据的可能性越来越小。
  • 科美固态硬盘在设计的过程中,秉承科学严谨和为客户负责的态度,选择没有外置大容量缓存的SSD固态硬盘方案,尽可能减少风险数据的量,并减少对掉电保护电路存储能量的消耗速度,尽可能维持更长的供电时间。
  • 二、使用超级电容
  • 在企业类、工业类和部分工业类应用中,对性能的追求很高,对温度耐候性的要求较高,而数据依然很关键。
  • 针对这些应用的科美固态硬盘,使用超级电容方案来保护用户数据。
  • 科美SSD固态硬盘所使用的超级电容,是目前容量最大的电容之一。其存储的电量,高达90~400mF,相当于大容量钽电容(如470uF)的几十倍倍甚至上千倍,从而可以为SSD固态硬盘提供充足的时间,将少量保存在小容量内部缓存中的数据,完整可靠的回写到Nand Flash。
  • 超级电容能够维持的
  • 右图是科美SSD所使用的超级电容。

    、使用独立钽电容阵列

    在工业、航空和军工应用中,对性能的追求较低,对可靠性,特别是环境可靠性和寿命的追求很高,数据更是极其关键。

  • 针对这些应用的科美固态硬盘,使用独立钽电容阵列的方案来保护用户数据。
  • 科美SSD固态硬盘所使用的钽电容,是目前容量最大的钽电容之一。尽管如此,其能够存储的电量,只有超级电容的百分之一到千分之一。为此,大批量的独立钽电容阵列和无外置缓存的方案就极为关键。
  • 根据方案的可靠性要求和所使用钽电容的容量,钽电容的数量通常在两位数。
  • 此外,钽电容能够存储的能量,与其电压和有效放电电压有关系(通常是平方关系)。因此,科美SSD固态硬盘通常使用高电压和高有效放电电压的钽电容,从而显著提升钽电容的放电效能,确保数据万无一失。

     

 

掉电保护常见问题


 

掉电保护功能和加强的掉电保护功能,是什么含义?有什么区别?

  • 一、掉电保护功能和加强的掉电保护功能的含义和区别
  • 不论是超级电容方案,还是钽电容方案,要做到掉电保护功能,都会导致SSD固态硬盘的复杂程度和成本的上升。
  • 部分厂商宣称具有"加强的掉电保护功能""改善的掉电保护功能",这是什么含义呢?
  • 这是这些厂商把一些功能,包装之后进行的商业宣传行为。这些说法,表达的都是采用软件来尽可能避免掉电时丢失数据,或者少量钽电容来提供稳压和备电的作用。
  • 实际上,不论是软件(固件)的方法,还是少量钽电容的方法,只能降低一定的风险,无法有效的杜绝掉电时带来的风险,他们也无法自称具备"掉电保护"功能而只能发明上述称呼来瞒天过海。
  • 不论是超级电容方案,还是钽电容方案,都有复杂的配套的充放电电路和回馈机制。
  • 所谓软件的掉电保护方法,是SSD固态硬盘的主控,在掉电时,不再接受主机端的数据写入请求。而已经在缓存中的数据,则毫无保护的暴露给风险。
  • 而用少量钽电容的方案,也无法达到掉电保护的功能或者作用。
  • 使用高压、高容和高有效放电电压的钽电容,要达到200~300ms的供电时间,通常数量不低于20颗。仅仅2~4颗电容,无法达到同样的效果。