在固态硬盘以低价冲击机械硬盘市场,固态硬盘自身的结构也正在发生变化。虽然SPI接口的独立ROM芯片、外置DRAM缓存因为成本原因被省掉了。主控是固态硬盘不可或缺的一部分,随着闪存技术和固态硬盘市场的不断发展,地位得到一步步的提升。
了解一颗固态硬盘首先要从主控入手,主控对于固态硬盘的影响丝毫不亚于闪存。那么主控芯片对于固态硬盘到底有多重要?下面我们一起来了解主控的地位、功能和运作模式。主控的地位: 主控就是固态硬盘的主控制器,一颗硬盘的大脑,相当于手机中的处理器。每一块硬盘都有它的主控,即便是机械硬盘也不例外,只是机械硬盘的性能基本已经定型,而且全球也只剩下希捷、西数和Toshiba三家主要厂商,对主控的关心就远不如丰富的固态硬盘产品。 选择固态硬盘的时候,主控是大家最为关心的重点,一颗主控就能传递一个性能印象。固态硬盘的主控其实也有两大阵营:原厂和其他。现在主要的闪存制造厂:三星、Toshiba、美光、海力士,再加上刚刚和美光分家的英特尔,都同时生产原厂固态硬盘产品。 现在很多原厂固态硬盘也不再运用完全自主研究的主控芯片了,比如英特尔545s和660p/760p、美光的BX500、MX500,运用的都是台湾慧荣的主控。再比如说Toshiba的TR200,名义上它运用的是Toshiba自家的TC58NC1010GSB,其实仔细一看,还是群联PS3111的底子。 闪存原厂固态硬盘运用第三方提供的公版主控,并不是说主控不重要,恰恰相反,随着闪存技术的迭代,固态硬盘性能的提升,当然还有成本压力的原因,要做好一颗主控以及与它搭配的固件,存在相当大的难度。 英特尔有一些高端的型号会直接运用简化后的企业级主控,这样虽然减少了重复研究成本,但高规格的主控在制造成本上并不低。而且现在家用固态硬盘和企业级固态硬盘的性能调教方向上已经出现了很大的分歧,企业级追求性能一致性,而家用固态硬盘则因为读写负载不均衡而需要更高的短时爆发力,所以企业级的那一套规划方向在很多时候并不合适家用固态硬盘的硬件底子和运用方式。 现在除了三星之外,各大闪存原厂都在一定程度上将主控规划和固件研究的工作委派给专门的主控供应商,由它们在原厂的技术支持下,完成相关的主控和固件规划。最终,原厂固态硬盘产品会通过定制固件的方式,降原厂固态硬盘跟公版产品区分开来。 在原厂主控之外,常见的固态硬盘主控还有Marvell、群联、慧荣、Realtek瑞昱(yù)、Maxiotek(云莲),包括VIA也有研究SSD主控的消息。 国产主控里有忆芯、国科微等等。通过主控的型号,就能大致的判断采用它的固态硬盘大致处于怎样的定位。主控的功能和实现:为什么主控在固态硬盘中的地位如此重要呢?有三点。第一点,作为固态硬盘的"大脑",这个是对主控最基本的功能需要。主控首先要有一个处理器,但又不仅仅是一个处理器那么简单。
需要用到主控计算能力的地方有很多,比如FTL闪存映射表的结构管理、闪存磨损均衡的规划、垃圾回收时控制先读取,再写入,后擦除的步伐。一些定位比较高的主控通常会有多个处理器核心,分别用来执行不一样的任务,并且在多个核心之间还需要有一套协同的机制。现在很多主控都运用了ARM的处理器架构,通常选择Cortex-R系列。 这个架构和我们平时在手机上见到的A系列不一样,R系列用于实时数据处理,在响应速度上更有优势,汽车自动驾驶系统中运用的往往就是R系列,当然我们的硬盘主控也用到了它。 第二点,主控一方面是固态硬盘的大脑,另一方面也处在大脑主机与闪存颗粒之间,起到一个搭桥的作用,一方面要跟主机沟通协作,接受和处理主机发来的命令,另一方面也要跟呆头呆脑缺乏智能的闪存颗粒打交道,搞好底层数据存取的具体实现。对于主机端的沟通,主要难点在于节能特点的把握上,SATA链路节能可以降低功耗,提升笔记本电脑电池电池续航时间,同时也符合绿色环保的理念。但是SATA链路进出节能状态的过程中需要主机和固态硬盘双方的协同,稍有不注意就会导致卡慢甚至掉盘的恶劣情况出现。现在很多非原厂的主控为了减少麻烦,图省事直接禁用了节能特点,也是一种不太自信的表现。 主控与闪存的沟通同样很复杂。固态硬盘中的闪存通常被叫做RAW闪存,智能化程度很低,只能遵循特定的闪存接口,如Toggle或者ONFI进行访问。而不一样的闪存芯片在工作特点上有些千丝万别的不一样,这就需要主控去主动适应闪存的特点。 单单要往闪存芯片中写入一个数据就要通过给闪存芯片不一样针脚施加各种高低电位,完成控制和传输指令的发出。这个过程如果仔细研究,绝对是个耗费脑细胞的工作,所以不要小看那些能够自己研究主控或是给主控开发固件的攻城狮,绝对是高智商人群。主控要完成的功能还有很多,譬如温度管理、SMART健康度报告、坏块管理等等,绝非易事。 第三点,是对主控纠错引擎以及断电保护功能的要求。我们平时经常看到固态硬盘标注"支持LDPC纠错"。LDPC纠错实际上包含了硬判决和软判决两部分,前者在主控硬件内有硬件加速实现,后者则需要结合主控的运算能力去加强纠错效果。 和很多朋友想象中不一样,闪存颗粒并不是只到了寿命末期才会出错的,只是末期的出错率更高一些。所以说主控纠错引擎其实是始终在运作的,每一笔写入和读出的数据,都要经过主控纠错引擎的检验和处理。 断电保护则是每一个固态硬盘主控都必须考虑的,它原本是只出现在企业级型号中的。过去我们讲一颗固态硬盘带不带断电保护,指的是固态硬盘是否有独立的断电保护电路,包括储能电容、监测电路和固件中的保护动作执行逻辑。完整的断电保护应该包括运行时用户数据保护以及DRAM缓存当中元数据的保护。 消费级的固态硬盘因为成本和定位的原因,在应对意外断电的防护上只做到了防止掉盘的作用。比如在美光MX300上这样一排小电容,容量上比较有限,只能保护FTL闪存映射表的安全,保护固态硬盘不掉盘就算完成使命了。 还有更多的固态硬盘,连一排小电容都没有的,它们的断电保护也并不是说就不存在。只是执行起来比较被动,比如在闪存中给FTL映射表做多次备份,这样一旦损毁还能有保底不至于彻底掉盘。再比如说定时的刷新FTL映射表到闪存中储存,降低断电产生的影响。其他形式的主控: 除了固态硬盘之外,还有其他地方也会有相似的闪存主控存在,譬如eMMC、UFS闪存,就是自身集成了主控功能的芯片,能够实现闪存的管理和读写指令的排序、解码、执行、回馈。 eMMC、UFS大都用于手机、平板当中,因为这些设备运算能力不够强大,需要储存芯片能自己完成闪存管理等众多功能。总结: 硬盘的主要作用就是储存数据,在固态硬盘当中闪存承担着记忆体的作用,而主控则是闪存的直接掌控者,处于头脑的地位。 固态硬盘正朝着更大更快的方向发展,更大容量需要更新的闪存技术,如堆叠层数增长、TLC转换QLC类型,这些会对主控的纠错能力提出新的要求。更快的速度也要求主控能够在NVMe协议下充分发挥低延迟特点,同时借助优化的SLC缓存算法来最大限度提升爆发读写能力。 在运用相同主控的不一样固态硬盘之间也会存在一定的不一样,这是固件的影响力。