欢迎进入苏州恒成芯兴电子技术有限公司官网!
中文  | English    全国服务热线:400-088-5680

掉电保护

为什么需要掉电保护?

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

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

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

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

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

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

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


1572254194685705.jpg

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


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

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

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

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

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

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



tan2.jpg

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

一、丢失用户数据

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

二、 丢失系统数据

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固态硬盘所使用的超级电容,是目前容量最大的电容之一。其存储的电量,高达90~400mF,相当于大容量钽电容(如470uF)的几十倍倍甚至上千倍,从而可以为SSD固态硬盘提供充足的时间,将少量保存在小容量内部缓存中的数据,完整可靠的回写到Nand Flash

右图是科美SSD所使用的超级电容。PCBA-withUPS-超级电容2.jpg

三、使用独立钽电容阵列

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

针对这些应用的科美固态硬盘,使用独立钽电容阵列的方案来保护用户数据。

科美SSD固态硬盘所使用的钽电容,是目前容量最大的钽电容之一。尽管如此,其能够存储的电量,只有超级电容的百分之一到千分之一。为此,大批量的独立钽电容阵列和无外置缓存的方案就极为关键。

根据方案的可靠性要求和所使用钽电容的容量,钽电容的数量通常在两位数。

此外,钽电容能够存储的能量,与其电压和有效放电电压有关系(通常是平方关系)。因此,科美SSD固态硬盘通常使用高电压和高有效放电电压的钽电容,从而显著提升钽电容的放电效能,确保数据万无一失。Tan-Comay.png

掉电保护常见问题

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

一、掉电保护功能和加强的掉电保护功能的含义和区别

不论是超级电容方案,还是钽电容方案,要做到掉电保护功能,都会导致SSD固态硬盘的复杂程度和成本的上升。

部分厂商宣称具有"加强的掉电保护功能""改善的掉电保护功能",这是什么含义呢?

这是这些厂商把一些功能,包装之后进行的商业宣传行为。这些说法,表达的都是采用软件来尽可能避免掉电时丢失数据,或者少量钽电容来提供稳压和备电的作用。

实际上,不论是软件(固件)的方法,还是少量钽电容的方法,只能降低一定的风险,无法有效的杜绝掉电时带来的风险,他们也无法自称具备"掉电保护"功能而只能发明上述称呼来瞒天过海。

不论是超级电容方案,还是钽电容方案,都有复杂的配套的充放电电路和回馈机制。

所谓软件的掉电保护方法,是SSD固态硬盘的主控,在掉电时,不再接受主机端的数据写入请求。而已经在缓存中的数据,则毫无保护的暴露给风险。

而用少量钽电容的方案,也无法达到掉电保护的功能或者作用。

使用高压、高容和高有效放电电压的钽电容,要达到200~300ms的供电时间,通常数量不低于20颗。仅仅2~4颗电容,无法达到同样的效果。



过载保护

什么是过载保护?

过载是指设备运行负荷过大,超过了设备本身的额定负载。表现为电流过大,设备及线路发热量大,设备异响等。设备长期过载会降低线路绝缘水平,甚至烧毁设备或线路。 过载保护,是指防范过载状况下对系统造成损害的功能或者设备。 企业级、工业级以及航空航天级、军工级存储系统的电源部分必须具备足够的可靠性。然而意外和风险始终存在。

而上述存储系统执行的是关键任务的数据,数据的丢失或者SSD固态硬盘意外烧毁,是完全不可以接受的。1.jpg

作为复杂设备的子系统,SSD固态硬盘自身必须能够防备电源意外状况导致的严重损失,能够在过载的情况下,尽可能持续工作,或者保护数据和SSD固态硬盘自身。

引起过载的原因包括静电、短路、电源异常、热插拔等。

为什么SSD固态硬盘需要过载保护?

blob.png

一、拥有过载保护的SSD固态硬盘,能够更加稳定、高速地工作。

SSD固态硬盘执行不同任务时,自身功耗会不停的变动。当供电波动、异常时,SSD固态硬盘的工作状态就会受到很大的影响,SSD固态硬盘为了保证数据完整性,会被迫降低读写速度,甚至停止工作,拒绝响应。因此,具有过载保护功能的SSD能够更加稳定、高速地工作

二、拥有过载保护的SSD固态硬盘,能够在更加复杂、苛刻的工作环境工作

拥有过载保护功能后,SSD固态硬盘能够在更加复杂、苛刻的工作环境工作,换言之,SSD固态硬盘对供电要求降低。

这个特性对重视数据完整性企业级应用环境,或者要求在苛刻环境工作的工业、航空、国防、车载等应用中极为重要。

、防范直接和间接风险

过载保护功能能够尽可能的避免数据损坏、丢失,甚至SSD固态硬盘的烧毁,反过来防止因为SSD固态硬盘烧毁导致主机、机房或者设备烧毁,从而避免直接损失和间接风险。

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

一、系统瘫痪

对SSD固态硬盘而言,其功能是为系统提供数据存储和运行支持,是系统的关键组件。SSD固态硬盘的损坏,将导致数据丢失,程序无法运行,最终导致整个系统瘫痪。

二、丢失数据

如果有备份设备,可以很快恢复系统,但是有可能造成用户数据丢失,特别是仅采用单盘或者采用RAID 0方式的系统。

三、主机、设备或者机房烧毁

SSD固态硬盘的供电电压虽然不高,但是电流较大。在测试中发现,当一些因为短路、静电等造成的过载现象中,会产生非常高的电流,瞬发出的热量,在数秒内熔化一些电子元器件,烧穿PCB,非常危险。

3.jpg 

科美SSD固态硬盘使用有使用过载保护技术吗?

截止目前,科美SSD固态硬盘均采用了这一技术来保护客户的数据和资产。您具体采购的产品是否具备这一功能,请咨询您的技术、销售代表、代理商或者我司销售工程师,也可以发邮件到我司咨询。


过载保护常见问题

Q1:过载保护功能能否有效降低风险?

过载保护能够大幅度降低因为静电、短路、主机电源异常等原因造成的过载对SSD固态硬盘造成的损害。

Q2:有了过载保护功能,是否可以抵挡所有过载风险?

过载保护能够克服绝大部分过载对SSD固态硬盘造成的损害,但是也有其能够承受的极限。当在极少数情况下,过载情况会超过其承受极限。当超过其承受极限时,过载电路的部分器件就会被击穿,造成硬盘损坏。因此,过载保护无法克服所有风险。


EECC技术

什么是ECC技术?什么是Enhanced ECC(EECC)技术?

ECC是“Error Correcting Code”的简写,中文名称是“错误检查和纠正”,是一种差错检测和修正算法(也是加密算法)。ECC这将使整个电脑系统在工作时更趋于安全稳定。

ECC内存就是应用了这种技术的内存

同样的,市面上绝大多数SSD固态硬盘也应用这种技术。原因是Nand Flash相比DRAM,其坏块、错误和寿命,均无法和DRAM相比,在以Nand Flash为存储截止的SSD固态硬盘领域,ECC的作用尤其关键。而我们一般说的Nand Flash的寿命,其实隐含了一个前提条件就是ECC的强度。如果没有ECC,可以说Nand Flash的寿命将大大降低。4.jpg

在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用 NAND Flash的系统中一般都会采用一定的坏区管理机制,而管理坏区的前提是能比较可靠的进行坏区检测。如果操作时序和电路稳定性不存在问题的话,NANDFlash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page中只有一个或几个bit出错,这时候 ECC就能发挥作用了。

一般来说NAND 闪存设备使用线性分组码。当前SSD内最普遍的ECC码是BCH码。当数据写入的时候,控制器内部的ECC模块计算数据并生成ECC签名,一般来说这个步骤非常快,因此并不会影响整个SSD太多性能。ECC的签名一般来说都保存在NAND页后部的SA区域,当数据从NAND读取的时候ECC模块回去读取 ECC签名,并对照相同与否来发现出现的错误。

通常,ECC的强度以其可以纠正的单位数据中最大错误量计算,如SF2000系列主控的纠错能力为最高55bit/512B(系统数据)和16bit/512B(用户数据)。目前常见主控对用户数据的纠错能力大约为8~16bit/512B。

所谓Enhanced ECC,其实就是加强的ECC(纠错强度),也就是讲可以纠正的错误比率,从目前常见的8~16bit/512B提升一倍以上,也就是达到32bit/512B以上的技术。

为什么SSD固态硬盘需要EECC技术?5.jpg

一、EECC可以显著提高可靠存储和读取

Nand Flash的坏块与生俱来,而且在使用过程中会不断增加。而Nand Flash独特的性质,也会导致一定错误的发生,如读干扰等。这些变化都会造成数据无法可靠地存储和读取。

而随着Nand Flash制程的提高,误码率不断提高。所以对ECC必的要求,也越来越高升。因此,引入EECC技术对特定产品和应用,具有显著效益,特别是对可靠性和寿命有要求的领域。

据悉,ECC提升一倍,UBER降低1个数量级以上。

二、EECC可以显著提高和保证SSD固态硬盘寿命

作为SSD固态硬盘的存储芯片,Nand Flash的寿命与ECC能力密切关联。ECC纠错能力的提高,可以显著的提高Nand Flash的寿命。

以色列公司Anobit,以及韩国公司LAMD,均声称能够以自己的技术(包含ECC),将普通Nand Flash的寿命显著提升。Anobit称之为信号处理技术,LAMD称之为eBoost技术,而其他厂商也有自己的命名。其内核都包含ECC技术。

其中,Anobit声称,他们的技术可以将普通3000次寿命的MLC的寿命延长到50000次,相当于提升了17倍!

通常认为,单纯借助ECC,ECC纠错能力提升一倍,SSD固态硬盘寿命提升2~5倍

EECC常见问题

EECC技术有什么价值?

综上所述,EECC技术在不增加直接费用的情况下,显著提升可靠性和寿命。

通常认为,ECC提升一倍,UBER降低1个数量级以上,SD固态硬盘寿命提升2~5倍。部分公司声称借助ECC在内的混合技术,可以将SSD寿命提升数十倍。

EECC技术这么好,为什么不是所有厂商广泛使用?

EECC技术的应用,需要一定的技术能力。

此外,能够应用EECC技术的产品,对容量,固件,Flash等,冗余空间有一定的限制,对性能也有少许影响,并不是适合每一种场合。

或每一种产品。

借助EECC技术,Nand Flash寿命是不是可以无限制提升?

目前这一方面还没有定论。部分公司的实践证明,ECC能力的提升,可以大幅度提升SSD固态硬盘的可靠性和寿命。

借助EECC技术,Nand Flash为基础的SSD固态硬盘是不是就完全可靠了?

借助EECC技术,Nand Flash为基础的SSD固态硬盘的可靠性大幅度提升,但不是完全可靠。如果错误数据量太大,ECC技术,包括EECC,将无法纠正。

好在SSD固态硬盘在ECC基础之上,还有类似于RAID5的更高级别的数据保护技术,如LSI/Sandforce的RAISE技术。当ECC技术无法纠正错误时,这类技术就会发挥作用。

RAISE在块级别提供数据保护。和ECC/EECC技术类似,它能够提高数据的安全性,SSD固态硬盘的可靠性,但是区别在于RAISE技术无法提高Nand Flash寿命。