拆过企业级或工业级固态硬盘的朋友,肯定对盘内那些排列整齐地大电容印象深刻,它们存在的价值仅仅是因为可以在盘掉电之后提供几十毫秒的供电,帮助SSD把缓存数据和关键管理数据保存到闪存芯片中。
但是,企业级SSD用电容来防止异常掉电有几个弊端:
1. 电容本身的故障率导致数据丢失。企业级或工业级SSD的应用环境往往比较苛刻,要么是封闭高温、大风的服务器机箱,要么是各种复杂的室外环境,电容在这些环境下放久了之后,功能就容易出现故障。同时,电容本身也有良率的问题。在掉电过程中,任何一个因素都有可能导致数据丢失。
2. 设计复杂。做过SSD固件的人都知道,掉电恢复是最复杂的,出错场景很难重现,不好调试、测试。而且每一步都环环相扣,在有几千个变量和结构体的复杂的SSD内部状态中,如果少考虑某个因素,都可能导致数据丢失甚至盘变砖。
3. 缓存不能太大。如果缓存太大,那么电容供电的时间不够所有数据写到闪存。
在这个固态存储的大时代里,闪存是第一个尝到甜头的存储介质,但其实还有其他杰出的才俊。比如MRAM就是一种,它有DRAM的随机性能,而且数据掉电不会丢失。
所以,我们很快就会发现MRAM的一大用途——SSD的缓存芯片,这样缓存数据掉电后还在,而且进入3D TLC时代后,在One Shot编程模式下,也不用考虑Lower Page Corruption这种问题了。所以,终于可以把烦人的电容从PCB上移走了,这样做的优势:
1. 掉电恢复变得简单:以前关于电容和各种变量、内部管理数据等的保存、恢复都不需要了;
2. 数据更安全:即使掉了电,缓存数据和关键管理数据还在MRAM里面,上电后继续用;
3. 掉电恢复时间更快:管理数据还在MRAM里面,上电后直接就用了,少了一个恢复的过程;
4. 随机性能更高:MRAM是可以按字节随机访问的,而且随机性能很高,所以作为写缓存,提升IOPS;
5. 应用场景更广泛:很多苛刻的大电容不适合的室外环境也可以有掉电保护;
5. 降低成本。MRAM比电容还贵,怎么降低?设计简单了,测试也就简单了,老板可以少雇几个研发、测试工程师,而且研发进程加快,能早一点给客户供货,早点赚钱。
目前提供MRAM的领军公司叫做Everspin,他们最新的STT-MRAM单颗芯片容量可达32MB,来做SSD的缓存芯片足够了。如下图,MRAM的读写延迟只有10微秒左右,而且在命令很多的情况下,延迟QoS非常稳定,波动在2微秒之内。而SSD的延迟在100微秒,同时命令多了之后,延迟更长。
Everspin还用MRAM做了一个1GB容量的存储卡,可以达到150万IOPS,6.26微秒延迟!这个其实可以用来做NV DIMM了,而且不需要电池。你如果自己开发,Everspin提供MRAM控制器的IP。
有兴趣的朋友,请微信长按或扫描下面二维码,加阿呆好友细聊。