1、与机械硬盘的结构差异
前面笔者也提到了,固态硬盘与机械硬盘在结构上有着本质的差异性。机械硬盘是机械臂带动磁头,去读取碟片上的数据,而固态硬盘则是直接使用芯片进行读取。所以固态硬盘才会拥有机械硬盘所不能够拥有的优势。
但是正是因为这种差异性,导致机械硬盘无法在机械结构上作假。虽然市面上充斥着一定数量的二手或者返修的机械硬盘,但是没有人能够真正做出一块假的机械硬盘来,因为机械硬盘的制造需要极为干净且无尘的环境才可以,一般的小作坊是达不到这种水平的。但是反观固态硬盘就不一定了。只要有人能够拿到Flash颗粒以及主控,能够有焊接的条件,理论上就有能力制造假的固态硬盘。甚至会有奸商拿大容量U盘冒充固态硬盘,这种行为不仅可耻,也让消费者防不胜防
2、NAND Flash的讨论
Flash(非易失闪存)本身分为NAND和NOR两种,由于NAND Flash再写入和擦除速度上有着更为出色的性能,所以是目前市面上所有固态硬盘所用的存储介质,也就是我们常提到的存储颗粒。
SLC与MLC之间的结构差异
Flash的工作原理简单来说,就是将电流通过对Flash中的栅极充电放电,来实现数据的写入和擦除工作。目前NAND Flash的类型分为三大类:SLC(Single Level Cell)、MLC(Multi Level Cell)以及TLC(Triple Level Cell)。
大家可能看着这些名词会感到一头雾水,那么笔者下面做一个形容:SLC就像是我们住的平房,进出虽然方便,但是可以使用的面积却是有限的。MLC和TLC就相当于在占地面积不变的情况下再盖成多层楼房,这样虽然人员进出没有原来方便,但是可以容纳更多的人。SLC的优势就是读写速度快,寿命长,但是相对的成本较高且能够提供的容量有限;MLC相比SLC在容量上就有很大的优势,且成本更低,但是相对的寿命和读写寿命和速度就不如SLC;TLC是最近厂商开始使用的Flash 类型,优点就是成本非常低廉,但是缺点就是读写次数比较有限,且性能相对较差。
目前市面上使用SLC的固态硬盘由于售价太高,所以已经绝迹,中高端的固态硬盘会使用MLC Flash,而入门级或者主流产品会使用TLC Flash。对于追求性能的用户来说,使用MLC Flash的固态硬盘就是绝对的首选,当然,在价格上要稍微贵一些。而采用TLC Flash的固态硬盘虽然在寿命上可能不及MLC,但是价格更加便宜。如果你在购买固态硬盘方面没有太多的预算,也可以选择TLC Flash 的产品,对于日常应用来说也是没有一点问题的。
3、聊一聊主控芯片
抛开Flash颗粒,影响固态硬盘性能的另一个关键因素就是主控芯片。无论是什么类型,NAND Flash的读写次数(寿命)都是有限的。如何在保证性能的情况下让Flash的寿命更长就是主控芯片需要做的事情。与机械硬盘不同的是,NAND Flash只能进行“写入”或者”擦除”的工作,而不能有“覆盖”的操作。固态硬盘的写入数据时可以以页(Page)的方式写入,一般最小单位为4KB。
但是擦除的时候却只能以块(Block)的单位擦除,一般一个块为128~256页。如果按照这个规则来执行的话,如果想要将一个4KB的数据覆盖掉固态硬盘中的一个数据的时候,就需要先将一个块的数据移除后将块擦除,然后连带4KB一起再写回到块中。即使我们按照1块=128页来算的话,我们写入4KB的数据就需要固态硬盘进行512KB的写入操作,这对于Flash的寿命来说绝对是个噩梦。
主控芯片就是通过一系列的算法,将每次写入动作的实际写入量将至最低,而我们将实际写入量与写入数据量的比值称作写入放大。刚才笔者举得例子,写入放大就高达128(倍),而理想中的写入放大就是1。目前市面上固态硬盘所使用的主控芯片能够将写入放大趋近于1。而Sandforce主控的压缩算法甚至可以让写入放大值小于1,这样就可以大大提高固态硬盘整体的寿命。就目前厂商的青睐以及市场的口碑上看,Sandforce SF-2281、Marvell 88SS9174、三星S4LN021X01等主控无论是在性能还是稳定性上都有着不错的表现,大家可以优先选择采用这些主控芯片组的固态硬盘。另外还有一些主控主打性价比,比如说JMicron JMF667H,虽然在性能上不如前面的那些顶级主控,但是胜在较低的售价,整体来说也是一种不错的选择。