掉电保护功能对SSD的数据定义功能通过什么实现安全作用有多大机械硬盘有带断电保护的吗

先来回顾一起事件真的發生在我们身边。

2016年4月22日某公司北京亦庄数据定义功能通过什么实现中心UPS升级改造过程中,因供电中断导致机房全部设备断电,系统宕机73家村镇银行的核心、支付、网银、手机银行等业务全部中断,涉及全国12个省份且恢复时间长达7个32分钟,同时造成部分服务器、存儲设备损坏以及部分银行金融机构的开发测试系统、灾备系统、生产业务等系统相继中断。

我们先不说此处事件导致的硬件设备损失單是银行核心业务系统中断带来的经济损失就已无法预估,而且如此大面积故障如果没有完善的应急灾备方案,必定会造成大量数据定義功能通过什么实现不完整或丢失

断电,作为掉电的一种突发事件同样会造成不良结果。拿企业SSD存储举例当系统正在进行分区表或關键区域写入操作时,突然掉电90%会造成数据定义功能通过什么实现写入不完整,出现数据定义功能通过什么实现混乱、丢失严重的SSD将無法读盘,就是我们常说的“挂掉”了

如果是安全(正常)关机,系统会提前发出通知设备电源要中断让SSD 有足够的时间处理还没有落盤的数据定义功能通过什么实现,SSD 此时会将缓存的或者正在写入的用户数据定义功能通过什么实现完整的刷写进NAND【如图1所示】同时不再接收新的IO请求。这是因为SSD固有结构的限制借助高速随机存储器(RAM)缓存数据定义功能通过什么实现达到性能提升的目的,而RAM 有易失性必须周期性对数据定义功能通过什么实现进行刷新,并且没有供电时缓存在RAM上的用户数据定义功能通过什么实现会丢失。

图1:用户写数據定义功能通过什么实现流程图

而随着“掉电保护”方面的技术增强当下企业级SSD产品在这方面表现非常不错,掉盘概率微乎其微但企業用户仍需做到防患于未然,以防突发性掉电事件的发生作为中国独具自主研发和创新能力的领先企业级SSD产品供应商,Memblaze新一代PBlaze5系列PCIe NVMe SSD存储產品在意外掉电保护方面做了进一步技术增强

或许有人会问,SSD因意外掉电可能会丢失哪些数据定义功能通过什么实现

  1. 缓存DRAM中的大量用戶数据定义功能通过什么实现+元数据定义功能通过什么实现(用户数据定义功能通过什么实现通过控制器的DMA引擎会增加ECC校验信息)
  2. 在DRAM中运荇并时时更新的元数据定义功能通过什么实现(如FTL表,端到端DIX模式的保护信息等)
  3. 从DRAM向NAND介质正在写入的用户数据定义功能通过什么实现和え数据定义功能通过什么实现

为了最小化异常电力中断造成的数据定义功能通过什么实现丢失MemblazePBlaze5系列SSD设计了包含高能量密度电容的掉电检測电路。如图2所示e-Fuse模块会持续监控SSD的供电电压,一旦业务供电降低到设定的阈值则预示意外掉电事件的发生。e-Fuse就会切断供电电路同時SW2关闭,SW1开关打开电容所在电路形成通路并开始放电。电容电量的选择是基于缓存数据定义功能通过什么实现量的大小同时要考虑这些数据定义功能通过什么实现量向NAND刷写的最长时间,所选的电容能够保证最坏情况下刷写数据定义功能通过什么实现的电量(Q)要求所鉯充足的电力保护窗口,给予数据定义功能通过什么实现从缓存刷写到NAND充足的时间当电源接通时,电容会快速充电

图2:包含电容的掉電保护电路

同时,在产品出厂前会通过对硬件下发指令,电路板上的MCU模块会模拟异常掉电机制对PBlaze5电容的生命状况进行监测来验证电容嘚有效性,从而保证电容的可靠性

除了上述增强保护外,PBlaze5还采用了“取消擦除”新技术用来进一步保证异常电力中断时,数据定义功能通过什么实现的完整性为什么用户需要这项技术:

原因一,“擦除”是非常耗时的操作如遇到电力异常中断,在电容放电的窗口期从DRAM向NAND介质刷写中掺杂有擦除指令,在极端情况下整个刷写周期有可能超过电容的有效放电时间,其结果是导致部分数据定义功能通过什么实现丢失因此,将“擦除”指令取消等待上电后重新执行不需要电容电量的增加,就可以给关键的“编程”指令充足的执行时间保证

原因三,考虑到在SSD 使用过程中由于大量的充放电过程,电容会慢慢老化同时伴随着电容电量降低而“取消擦除”技术还可以增強在产品生命末期,遇到异常掉电时的数据定义功能通过什么实现完整性

从数据定义功能通过什么实现安全角度来讲,Memblaze 新一代PBlaze5 SSD通过高能量密度电容的掉电电路检测和“取消擦除”技术做到了意外掉电事故发生时的预防确保了数据定义功能通过什么实现的完整性和安全性。

什么是异常断电为什么固态硬盤异常断电可能变砖?

由于意外停电、蓝屏死机等原因导致电脑没有正常完成关机就属于断电强拔电源会丢文件,这是大家都知道的知識那么为什么固态硬盘更应注意避免异常断电呢?

异常断电会增大固态硬盘发生故障的几率不仅仅是丢失尚未保存的文件,还有系统緩存内尚未实际写入到硬盘的数据定义功能通过什么实现以及短暂储存在固态硬盘DRAM缓存当中等待最终写入NAND闪存的少量数据定义功能通过什么实现都可能会丢失。极端情况下固态硬盘上以前写入的数据定义功能通过什么实现也会出错甚至整个固态硬盘会因此“变砖”——無法识别、无法使用、数据定义功能通过什么实现全毁。

固态硬盘异常断电可能变砖是因为固态硬盘在内部DRAM缓存中存储了FTL表等等维系固态硬盘正常工作所必须的元数据定义功能通过什么实现这些数据定义功能通过什么实现与用户存储读写的数据定义功能通过什么实现无关,但却是固态硬盘维护自身正常运作所必需的异常断电会导致这些元数据定义功能通过什么实现丢失损坏。

FTL是由固态硬盘主控维护、存儲在固态硬盘DRAM缓存当中一张虚拟关系对照表其中记录了逻辑LBA地址与实际闪存PBA地址的一一对应关系。由于固态硬盘的工作机制与传统机械硬盘截然不同对于机械硬盘来说LBA地址会有一个固定的位置指向,而到了固态硬盘当中数据定义功能通过什么实现写入之后实际存储在閃存的哪个位置是由固态硬盘主控决定的。最“原始”的断电保护机制就是在恢复通电后争取修复受损的FTL表修复过程可能需要一定时间,所以才会有变砖后“通电三十分钟闲置”的救急方法

通电闲置的救济方法并非总能成功,所以减少变砖的最佳方法还是避免异常断电對固态硬盘造成伤害于是就有了各种固态硬盘断电保护机制的出现。

异常断电保护有硬件级和固件级两类当前所有的固态硬盘在设计時其实都会有掉电保护机制,重点在于能否覆盖所有可能发生的极端条件以及保护机制自身是否会犯错。

硬件级断电保护需要有独立的硬件电路包括应急供电用的电容、用于发现断电并触发保护机制的电压监视芯片等。下图是OCZ Vector 180的拆解图中红色聚合物电容就是断电保护電容,此外还会有相应的升降压电路

除了使用聚合物电容之外还有一些固态硬盘会使用电解电容,比如Intel 730:

硬件级断电保护机制通过电源穩定侦测到断电发生后改用备用电容供电并立刻着手固态硬盘缓存内重要FTL数据定义功能通过什么实现的刷新写入

可以看到,整个硬件级斷电保护机制当中电容至关重要。

不管是聚合物电容还是电解电容都是有使用寿命限制的,而且会随着工作温度的提升而加快失效所以带有硬件断电保护电路的固态硬盘都会有一个安全使用年限,一旦电容失效不但不能保护固态硬盘,反而会因为断电时保护逻辑无法生效而导致数据定义功能通过什么实现丢失风险

除了硬件级断电保护之外,其实现在各家固态硬盘厂商也都开发了各自的固件级断电保护策略比如下图中的东芝Q300Pro,PCB上并没有硕大的聚合物电容或是电解电容但一样具备断电保护能力。

断电过程是瞬间的但电压并不会矗接变零,而是有一个急剧的下降过程在不添加保护电容的情况下,固态硬盘也可以通过定制版主控或独立的电压监控芯片时刻监视供電情况一旦发生电压下降会在毫秒级时间内触发断电保护应急机制:马上停止用户数据定义功能通过什么实现的接受和写入,立刻将FTL映射表等对固态硬盘正常工作至关重要的元数据定义功能通过什么实现写入到NAND闪存当中这样在下次再通电的时候,固态硬盘就无需面对FTL损壞、Page写入错乱等一团糟的局面

东芝Q300Pro使用无外置缓存设计,所有FTL数据定义功能通过什么实现都是存储在主控内部小容量SRAM当中由于数据定義功能通过什么实现量小,所以在断电发生时需要写回闪存的压力要小一些同时Q300Pro还应用了SLC Cache,写入速度相比MLC或TLC闪存要快的多所以在断电瞬间也能完成硬件级断电保护机制完成的工作。此外东芝Q300Pro的FTL映射表在闪存当中有一个完整的备份,更新映射表的操作采取两张表交替进荇异常掉电导致一张FTL映射表损坏时可以用备份表恢复之前的状态。

而另外一些有DRAM外置缓存的固态硬盘同样宣称支持固件级的断电保护機制,他们是如何做到的呢还是以东芝的固态硬盘为例,Q300使用了以PHISON PS3110为基础定制的主控下面看看PS3110都针对异常断电制定了哪些保护机制。

PS3110嘚断电保护机制包括SmartFlush与GuaranteedFlush两部分SmartFlush主要是被动防御,尽可能缩短数据定义功能通过什么实现在固态硬盘DRAM缓存当中停留的时间加快将他们写叺到闪存中安全的保存起来;GuaranteedFlush则是主动保护FTL表等元数据定义功能通过什么实现的安全,定期保留多份FTL表的备份存储到闪存当中以便在供電恢复后修复使用。

虽然Q300/Q300Pro这类固态硬盘没有大颗电容那么养眼但固件层面上做好了FTL防护,保障异常断电不变砖一般普通消费者并没有必要去追求一些所谓的企业级字眼,毕竟实惠好用才是真理

企业级是必备掉电保护的举个栗子,异常掉电host不会下发standby imd command盘侧是不知道要拉闸的,只要不是透写在DRAM里面的数据定义功能通过什么实现都是给host回复了ok的数据定义功能通過什么实现,所以掉电后盘上需要供电把DRAM里面的数据定义功能通过什么实现flush cache 到nand里面去否则就丢掉了DRAM里面数据定义功能通过什么实现。企業级场景里面是绝不能容忍的当然这仅仅是数据定义功能通过什么实现分析,下刷flash的不仅仅是数据定义功能通过什么实现还有FTL表/正在GC在DRAM裏的数据定义功能通过什么实现/工作日志信息等等~异常掉电最需要处理的就是表和数据定义功能通过什么实现的一致,以及自己系统块數据定义功能通过什么实现的一致性维护这个是相当难的,因为要涉及备电放电和触发放电FW代码涉及嵌入式和硬件寄存器交互,是需偠根据外部供电电压来判据消费级盘不带备电或掉电保护,风险更大所以异常掉电是SSD质检必测场景,只要fw配合硬件处理不慎都会导致FW误杀好块甚者当次挂盘或变砖


我要回帖

更多关于 数据定义功能通过什么实现 的文章

 

随机推荐