固态硬盘内部结构
SSD最基本的组成部件:主控芯片、NAND闪存芯片、固件算法
主控芯片
主控芯片在SSD中的作用就跟CPU一样,主要是面向调度、协调和控制整个SSD系统而设计的。主控芯片一方面负责合理调配数据在各个闪存芯片上的负荷,另一方面承担了整个数据中转,连连接闪存芯片和外部SATA接口。除此之外,主控还负责ECC纠错、耗损平衡、坏块映射、读写缓存、垃圾回收以及加密等一系列的功能。
目前主流的控制器有Marvell、SandForce、三星(自用)、Intel(自用)、JMicron、Indilinx(已被OCZ收购专用)、东芝等主控芯片
Marvell各方面都很强劲,高端大气上档次。早期运用企业级产品,现也用在浦科特、闪迪、英睿达等品牌SSD上。Marvell自身也是一家大型公司,这两年也没什么变动,技术进步也很平稳,也没出过什么主控质量问题,未来的前景也值得看好。
SandForce的性能也不错,它的特点是支持压缩数据,比如一个10M的可压缩数据可能被他压成5M的写入硬盘,但还是占用10M的空间,可以提高点速度,最大的特点是会延长SSD的寿命,但是主控CPU占用会高点而且速度会随着硬盘的使用逐渐小幅度降低。代表型号为SF-2281,运用在包括Intel、金士顿、威刚等品牌的SSD上。
Samsung主控一般只有自家的SSD上使用,性能上也是很强悍的,不会比Marvell差多少。目前三星主控已经发展到第五代MEX,主要运用在三星850EVO、850PRO上。
除了自有SSD主控的公司,在外包主控的市场中,Marvell与SF占据了90%的份额,留给其他厂商的空间并不多。2016年,来自台湾主控厂商,智微Jmicron、慧荣Silicon Motion、群联Phison三家公司的主控它们的成本低廉相当受SSD厂家欢迎。
NAND闪存
SSD用户的数据全部存储于NAND闪存里,它是SSD的存储媒介。SSD成本的80%就集中在NAND闪存上。NAND闪存不仅决定了SSD的使用寿命,而且对SSD的性能影响也非常大。
颗粒的传统分类:SLC、MLC、TLC
简单来说,NAND闪存中存储的数据是以电荷的方式存储在每个NAND存储单元内的,SLC、MLC及TLC就是存储的位数不同。单层存储与多层存储的区别在于每个NAND存储单元一次所能存储的“位元数”。
SLC(Single-Level Cell)单层式存储每个存储单元仅能储存1bit数据,同样,MLC(Multi-Level Cell)可储存2bit数据,TLC(Trinary-Level)可储存3bit数据。一个存储单元上,一次存储的位数越多,该单元拥有的容量就越大,这样能节约闪存的成本,提高NAND的生产量。但随之而来的是,向每个单元存储单元中加入更多的数据会使得状态难以辨别,并且可靠性、耐用性和性能都会降低。
SLC的固态硬盘目前市面上没有,一是太贵,二是MLC足够了。中高端SSD还是MLC的天下。但是MLC也有很大区别。最好的是Enterprise Synch MLC(企业级同步MLC),可靠性和寿命针对企业级市场做了优化。之后就是Synch/Toggle MLC(同步颗粒),其中Toggle MLC多为东芝出品,当然Toggle阵营中也有企业级闪存,与企业级同步MLC对应。SSD中应用比较多的其实还有Asynch MLC(异步颗粒),价格便宜量又足,不过性能比同步颗粒差。
由于TLC需要更精确的控制电压,那么写入数据当然也会花费更多的时间;同样的,由于需要识别8种信号,而MLC只需要识别4种,所以TLC会花更多时间来读取数据。但是和SLC比起来,MLC就被完爆了,因为SLC的电压组合只有1和0两种,与MLC的4种电压组合比起来,SLC会花费更少的时间来识别信号,同时对电压控制的要求变低:上电就是1,断电就是0,这也就解释了SLC的性能为何最好。
TLC闪存优点是成本低,但是带来的考验也更大。容纳的电位多了可以提升容量,但也使得整个过程更复杂,需要更精确的电压控制,Program过程所需时间更多,因此写入性能也会大幅下降,所以现在的TLC SSD都启用了SLC Cache模式提升写入速度,否则那个写入速度是很难让人接受的;读取,特别是随机读取性能也会受影响,因为需要花更多的时间从八种电信号状态中区分所需数据。另外TLC相邻的存储单元也会产生电荷干扰,20nm工艺之后,Cell单元之间的干扰现象更加严重,如果数据长时间不刷新的话就会出现像之前三星840 Evo那样的读取旧文件会掉速的现象。
最关键的是闪存寿命直线下降,MLC的P/E次数至少还有3000-5000次,而TLC公认的P/E指标是1000次,好点的可能做到1500次,依然比MLC差很多。但各种极限测试也都证明:正常家用,TLC 120g 固态的来说用个10年左右也是不成问题,所以不必纠结寿命。更别提很多寿命更长MLC的SSD。
目前全球生产NAND闪存芯片的厂商屈指可数:三星、东芝、闪迪、镁光(英睿达)、海力士、英特尔。其中三星市场占有率第一,东芝颗粒应用最广泛。另外还有英特尔、美光、三星、闪迪多用在自家产品。海力士的量则主要是供给移动市场为主。
3D NAND闪存:未来的出路
NAND闪存不仅有SLC、MLC和TLC类型之分,为了进一步提高容量、降低成本,NAND的制程工艺也在不断进步,从早期的50nm一路狂奔到目前的15/16nm,但NAND闪存跟处理器不一样,先进工艺虽然带来了更大的容量,但NAND闪存的制程工艺是双刃剑,容量提升、成本降低的同时可靠性及性能都在下降,因为工艺越先进,NAND的氧化层越薄,可靠性也越差,厂商就需要采取额外的手段来弥补,但这又会提高成本,以致于达到某个点之后制程工艺已经无法带来优势了。
相比之下,3D NAND解决问题的思路就不一样了,为了提高NAND的容量、降低成本,厂商不需要费劲心思去提高制程工艺了,转而堆叠更多的层数就可以了,这样一来3D NAND闪存的容量、性能、可靠性都有了保证了,比如东芝的15nm NAND容量密度为1.28Gb/mm2,而三星32层堆栈的3D NAND可以轻松达到1.87Gb/mm2,48层堆栈的则可以达到2.8Gb/mm2。
由于已经向垂直方向扩展NAND密度,那就没有继续缩小晶体管的压力了,所以三星、Intel和美光可以使用相对更旧的工艺来生产3D NAND闪存,做成3D NAND MLC或者3D NAND TLC。现在三星已经就这样做了,850 Pro是3D MLC,850 Evo是3D TLC。使用旧工艺的好处就是P/E擦写次数大幅提升,而且电荷干扰的情况也因为使用旧工艺而大幅减少。
将平房增加楼层盖成高楼,单位面积内可容纳的人就会更多,这点是同理的。
三星、SK Hynix、东芝/闪迪、Intel/美光这四大NAND豪门都已经涉足3D NAND闪存了。三星最早量产了3D NAND,其他几家公司在3D NAND闪存量产上要落后三星至少2年时间。这四大豪门的3D NAND闪存所用的技术不同,堆栈的层数也不一样,而Intel在常规3D NAND闪存之外还开发了新型的3D XPoint闪存,它跟目前的3D闪存有很大不同,属于杀手锏级产品。
Intel本来就是做存储技术起家的。虽然现在的主业是处理器,但存储技术从来没放松。根据Intel官方说法,3D XPoint闪存各方面都超越了目前的内存及闪存,性能是普通显存的1000倍,可靠性也是普通闪存的1000倍,容量密度是内存的10倍,而且是非易失性的,断电也不会损失数据。由于还没有上市,而且Intel对3D XPoint闪存口风很严。Intel准备在2016年开始推出基于3D XPoint技术的存储产品,内存容量可达6TB,值得关注。
传统的平面NAND闪存现在还谈不上末路,主流工艺是15/16nm,但10/9nm节点很可能是平面NAND最后的机会了,而3D NAND闪存还会继续走下去,目前的堆栈层数不过32-48层,厂商们还在研发64层甚至更高层数的堆栈技术。3D NAND闪存在容量、速度、能效及可靠性上都有优势。
2D的TLC闪存由于各种问题是不会成为主流的,基本上只会有低价入门级的SSD会使用,现在的TLC SSD很多都是试验性产品,但是等到3D TLC大批量产后,它将会成为未来的主力。
固件算法
SSD的固件是确保SSD性能的最重要组件,用于驱动控制器。主控使用固件算法中的控制程序,去执行自动信号处理,耗损平衡,错误校正码(ECC),坏块管理、垃圾回收算法、与主机设备(如电脑)通信,以及执行数据加密等任务。由于固件冗余存储至NAND闪存中,因此当SSD制造商发布一个更新时,需要手动更新固件来改进和扩大SSD的功能。
由于固件研发上的区别,采用相同主控的SSD也可能表现出完全不一样的性能和耐久度。而固件则通常是由厂商自行开发,并且时有更新,可以改善SSD性能并解决一些曾经出现的已知问题。如果用数字来说,一块SSD中颗粒对性能的影响大约占60%,而固件与主控的影响会在20%左右。
开发高品质的固件不仅需要精密的工程技术,而且需要在NAND闪存、控制器和其他SSD组件间实现完美整合。此外,还必须掌握NADN特征、半导体工艺和控制器特征等领域的最先进的技术。固件的品质越好,整个SSD就越精确,越高效。目前具备独立固件研发的SSD厂商并不多,仅有Intel、闪迪、英睿达、浦科特、OCZ、三星等厂商。