存储技术
断电保护是作什么用的?
断电保护几乎是企业级固态硬盘的标配功能,它的作用是在发生意外断电(非正常关机)时,保护板载DRAM缓存中的数据不致丢失。
企业级固态硬盘示例,图片来自铠侠,即原东芝存储由于固态硬盘的DRAM缓存中除了用户读写的数据缓存之外,还包含了相当大容量的FTL闪存映射表,这张虚拟表对固态硬盘工作极为重要,一旦丢失的话固态硬盘就会变砖(无法被识别)。
FTL闪存映射表的作用下图是东芝HK3R企业级固态硬盘拆解,图片来自TweakTown,左侧两个大电容就是它的断电保护用储能电容。为了实现断电保护,不仅需要添加电容,还要有相关的升降压元件、电压检测以及固件控制逻辑。
完整的断电保护其实分为两部分:PFM(电源故障管理)和PLP(断电保护)。PLP主要是指储能电容和相关电路。PFM更多是固件算法和控制逻辑,包括检测电压下降水平,并决定何时将供电转移到储能电容应急供电,将DRAM缓存中的数据安全写入NAND闪存,避免意外损坏。PFM还会将FTL闪存表同时备份在两个不同的NAND闪存芯片上,防止某颗闪存损坏而失去全部备份。
断电保护功能中的供电切换有电容不等于万无一失:
断电保护的储能电容只是一个硬件基础设施,能不能做到完整的保护还取决于主控硬件结构,以及固件中与之相对应的软件算法是否足够健壮、是否经过了充分的验证,能够应对各种边角案例,并不是只要肯加电容就能保安全。
历史上Intel 320系列就没能通过钽电容根治它的祖传8M掉盘毛病:这是主控架构上的缺陷,不那么容易修好的。后来英特尔开始在消费级固态硬盘上换用其他公版定制方案(先是SandForce,SandForce没落后又换成SMI慧荣),也算跳出了8M这个坑。
Intel 320中的储能电容 图片来源:Anandtech历史上还有一些消费级固态硬盘也有断电保护电容,但是容量比较小,仅仅能保护FTL数据(避免掉盘变砖),而顾不得DRAM缓存中其他用户数据,可以被称之为“基础版本的断电保护”。典型的例子有美光MX300、OCZ Vector 180等,基本都是一些老型号了。
MX300中的小电容仅能保护FTL下图中的OCZ Vector 180原本设计阶段是准备做完整断电保护的,当时媒体曝光的PCB上有6颗大电容:
工程样品阶段的VT180 图片来源:techpowerup但最后上市版本是只具备基础断电保护(仅FTL)能力的单电容形式:
最终上市的VT180 图片来源:Anandtech为什么Vector 180虎头蛇尾?是负担不起区区5颗电容的成本吗?并不是。即便固态硬盘拥有完整断电保护,所能保障的也仅仅是断电发生的瞬间已经存储在固态硬盘DRAM缓存内的数据,而对于没有及时保存的文档以及Windows系统写入缓存(位于电脑主内存中)里的数据这些都是无能为力的。
SSD断电保护给不了你全部的安全要想获得全面的数据安全保障,绝不仅仅是购置一块具备完整断电保护的SSD或者给电脑装一个UPS不间断电源就可以高枕无忧的,这是一个软硬件的系统工程。而一般家庭用户使用的不是数据库一类对数据完整性的要求非常高的应用,同时也不愿接受完整保护体系所附带产生的高成本、性能降低等副作用。也就是说,看似高大上的固态硬盘完整断电保护其实在家用电脑里并不香,无论厂商还是用户,需要的只是基础的自我保护能力:不要因为意外断电就变砖故障。
人人皆有的断电保护:
早期的固态硬盘是比较容易掉盘的,现在百度搜索“Intel 8M”、“美光 30分钟”,依然能看到很多相关的信息,这些故障基本都和固态硬盘意外断电有关。所以一些比较了解固态硬盘的玩家都很关注断电保护。
现在的固态硬盘不容易掉盘,并不是因为掉电保护电容普及了。相反,现在的固态硬盘大都没有配备储能电容,但却依然具备较强的断电保护能力。下图是东芝TR200固态硬盘的拆解,它代表了当前SATA固态硬盘的主流形式:本身没有外置DRAM缓存,但主控内集成有32MB容量的SRAM缓存,起到存储FTL闪存映射表的作用。
thessdreviewTR200没有断电保护储能电容,但是它并不容易因为意外断电而变砖。这不是魔法,而是软件形式的断电保护在发挥作用:定时保存FTL到闪存,并且在闪存中保留多个FTL备份。
从硬件电路+固件逻辑到纯固件软件实现,其实还是有一定差别的。软件实现的断电保护只能护住FTL闪存映射表不致损坏,或者损坏后能够快速有效地完成重建,但是由于没有储能电容,它无法保护DRAM缓存中的数据,所有数据写入都会在检测到断电事件的瞬间被冻结以防出错。简单,但实用。
总结一下:软件的断电保护功能已经是当前几乎每一块固态硬盘都具备的基础功能,它不需要配备储能电容也能提供基础的断电保护,满足SSD面对意外断电时的可靠性的需求。
全部0条评论
快来发表一下你的评论吧 !