如果从精密程度来看,一张电路板、一个主控、若干闪存颗粒组成的固态硬盘的确没有内部密封无尘环境(注意不是真空)的机械硬盘更精密。当然闪存的制造过程远比固态硬盘组装更复杂,这也是为何至今为止国内只能组装固态硬盘,却无法从晶圆阶段完成闪存的生产制造。
为什么固态比机械快那么多?
机械硬盘读写数据是单打独斗,即便家里有好多个兄弟(多张盘片),但是出手的时候还是一个一个来。
虽说希捷已经提出了将多组盘片和磁头分成两组、并行读写的新技术,但到今天为止还处于概念阶段。
固态硬盘读写数据是蚂蚁搬家:全家总动员。闪存本身是由一颗颗小芯片封装在一起形成的,每个小芯片都可以在主控的控制下同时执行独立的读写操作。
单一一个小闪存芯片的读写速度并不快,但是大块的数据被打碎成一个个小区块,由多个闪存芯片(Die)同时写入和读取,这样速度就会变快无数倍。更何况闪存本身没有机械活动部件,它的随机存取能力原本就比机械磁头更强。
闪存执行多平面、多CE交错操作,即在一个平面/die执行一项读写任务的间隙时间,可以向其他平面/die下达指令,闪存当中没有闲人。
为什么感觉固态不如机械稳定可靠?
固态硬盘外表看起来组成要素简单,但实际工作时为了兼容过去机械硬盘的既有协议而做出了很多的妥协。这就像我们出国旅游,本来我中文讲的很好,但是到了国外我只能用蹩脚的英文去跟别人沟通,自然容易产生词不达意的情况。
闪存中没有磁头和柱面、扇区等概念,但为了迁就操作系统和软件的习惯,固态硬盘引入了名为FTL的闪存转换表(下图中的蓝色Map部分),就像一个个单词卡片,翻译新旧不同的数据地址格式。
闪存不能覆盖读写,这是东芝在上世纪发明闪存的时候就留下的限制。所以每当Windows操作系统要求固态硬盘覆盖写入的时,固态硬盘所做的就是把数据写到其他位置,并在自己的小本本儿(蓝色map)里做记录。固态硬盘必须小心翼翼的保护好小本本儿里的记录,这里一旦出错,固态硬盘里的数据就完蛋了。
每次覆盖写入都另存为的话还会造成闪存里无效的垃圾数据越来越多,主控还要定时打扫家务,把有效的数据合并至一处,然后彻底清空老闪存区块。这个过程当中如果发生断电也是非常致命的。
很多时候我们并不会意识到固态硬盘经历了意外断电。尤其是一些笔记本改造光驱位加装的硬盘托架,在关机或重启时会经常发生意外断电,给固态硬盘的稳定工作制造了很大挑战。在这一方面东芝的固态硬盘有一个优势,东芝的SSD Utility工具箱软件能自动监控硬盘意外断电情况,开机时马上给出提醒。
固态硬盘之所以会让一些朋友感觉不可靠,一方面是由于固态硬盘内的固件工作机制远比机械硬盘复杂,另一方面是固态硬盘遇到异常断电时面临的风险更大。这些都对固态硬盘的设计提出了很高的要求。完全In-house生产模式的闪存原厂固态硬盘,从设计生产到制造都由一家完成,能够提供更高的可靠性表现。再加上固态硬盘天生抗震性能强,可靠性超越机械硬盘并不难。
机械固态硬盘