硬盘经历半个多世纪的技术积累,从容量以及速度再到接口方面在不断的科技进步中快速提升。从早期的PATA变成SATA,SCSI变到SAS以及PMR(垂直记录)、充氦封装、SMR(叠瓦式磁记录)等存储技术在硬盘容量上有突破,但这些进步亦未能改变磁盘的记录方式。
历史的经验告诉我们磁带、磁盘、闪存,这些存储技术和介质各有所长,都有自己适用的场景。但是时代在持续演进,每个时代都有自己的特征和主流技术发展方向。随着人们对数据需求增多,存储系统的瓶颈越来越明显。传统硬盘机械结构已经无法满足要求,而所有这一切随着固态存储(SSD)的到来而发生了改变。
深入了解SSD可发现
其实闪存并不是大家所想的“阳春白雪”,“曲高和寡”
而毫无疑问的是,存储的未来是属于闪存的
那我们先从一颗SSD硬盘解说:
图1
闪存'要塞'—FTL转换层
FTL是 SSD 固态硬盘的软件核心技术
闪存中最为关键的是FTL闪存转换层(Flash Translation Layer)他的工作是:完成主机逻辑地址空间到闪存(Flash)物理地址空间的翻译转换或者说是映射(Mapping)。
SSD每把一笔用户逻辑数据写入到闪存地址空间,便记录下该逻辑地址到物理地址的映射关系,下次主机想读取该数据,SSD根据这个映射,便能从闪存上把这笔数据读上来然后返回给用户。 FTL是 SSD 固态硬盘的软件核心技术。正因为有了FTL , NAND Flash 才能被当成硬盘来使用;文件系统才可以直接把 SSD 当成普通块设备来使用。
FTL算法直接决定SSD性能好坏
FTL是SSD固件的核心组成,FTL算法的好坏,直接决定了SSD在性能(Performance)、可靠性(Reliability)、耐用性(Endurance)等方面的好坏。
以'客房'角度谈SSD基本概念
以”酒店开房“的角度讲解,不能不秒懂啊!
图1的概念基本上就是SSD的全部原理,这些专业名称生涩,头疼吧?没有关系小伙伴,我们换一个方式聊聊,聊聊酒店、客房,你一定秒懂的!
我们可以理解:星级酒店的前台=FTL,它负责接待住在的客户(数据)并且安排到恰当的客房(闪存空间)中,随时可以提供各类服务。
SSD“预留空间”
=酒店“预留房间”
SSD“磨损平衡”
=酒店“合理安排楼层、房间”
SSD“垃圾回收”
=酒店“退房后清理”
SSD“坏块管理”
=酒店“发现某间客房有严重故障”
如果有客户就更换房间,暂时屏蔽不对外提供客房服务”
好理解吧!企业级SSD产品的FTL提供还有很多功能,不一一对比描述了。
聊聊SSD的分类
“五星酒店与客栈”—没有谁更牛逼,只有谁更合适
SSD包含企业级和消费级
?
企业级=星级宾馆
星级酒店:配套设施齐全(管理、服务非常到位)
→企业级产品能提供更加安全可靠的服务和保障
消费级=家庭旅馆
家庭旅馆:讲究经济实惠(管理、服务相对欠缺)
→消费级产品能提供亲民的价格具备基本功能
我们比喻 “宾客”入住宾馆客房到床位
就像“数据”存放入SSD盘内一样
那么SSD中NAND颗粒怎么区分?
2D/3D SSD
?
2D SSD=平层别墅
3D SSD=高层公寓
2D3D 成本孰低?
同等占地面积评估:高层公寓自然比平层别墅造价低。小伙伴现在明白了吧,这就是说 3D TLC SSD成本低的原因。
如果宾客(数据)入住多层公寓,睡在3人小通间! 可能不太舒服,但是节省地皮(地皮就是芯片原材料硅片,基本成本)
小伙伴现在明白了吧,我们先从SLC,MLC,TLC,QLC的NAND Flash开始讲吧!
3D SLC,MLC,TLC,QLC颗粒:
同样以酒店房间举例:
SLC 颗粒=单人间
(房间豪华、房价不菲)
相当于SLC 1bit
MLC颗粒=2人间
(房间适中、房价适中)
相当于 MLC 2bit
TLC 颗粒=3人间
(房间拥挤、房价便宜)
相当于TLC 3bit
QLC 颗粒=4人间
(房间特挤、房价廉价)
相当于 QLC 4bit
总结:所谓3D SSD,就是在硅片上立体建立存储数据的单元,比2D平面方式节约了芯片硅片空间,所以成本低。
存储数据单元
同样面积的一个存储单元,SLC存储1bit,MLC存储2bit,TLC存储 3bit,QLC 存储4bit的单元设计是有发展过程的(2006—2019年逐步演进);所以在同样面积的芯片上,闪存容量依次变大,能存放3bit,4bit的TLC/QLC颗粒设计更节约成本。但一个存储单元电子划分的越多,那么在写入的时候,控制进入浮栅极的电子个数就要越精细,所以写耗费的时间就越长;同样的,读的时候,需要尝试用不同的参考电压去读取,一定程度上加长读取时间。
所以我们会看到在性能上
SLC优于MLC
MLC优于TLC
随着原厂制造工艺不断的发展,NAND Flash擦写寿命及成本降低的同时,但对控制芯片的ECC纠错能力也越来越高。最初SLC NAND Flash擦写寿命可达10万次,仅需使用1-4bit ECC;20nm工艺MLC擦写寿命降低到3000–10000次,所需的ECC提高到16-40bit;到TLC擦写寿命仅500–1000次,却需72bit甚至更高的ECC。SLC时期控制芯片只需要采用纠错能力不强的汉明码算法,MLC需要纠错能力更高的BCH码,TLC或QLC纠错技术开始由BCH向低密度奇偶校验码LDPC过渡来强化延长使用寿命。
下表所示是SLC,MLC和TLC在性能和寿命(Endurance)上的一个直观对比
企业级存储eMLC
怎么能漏掉这个企业级存储常用的SSD
一定有小伙伴说:“你漏掉一个企业级存储常用的SSD了”,不是漏掉了,是要单独介绍:eMLC企业级存储介质。
eMLC(enterprise MLC)颗粒,先来看看NAND的生产过程:晶圆是制造半导体芯片的基本材料,晶圆经过激光切割成很多小片,这些小片被称为“Die”(Detect it Easy)。每一个Die就是一个具有独立功能而尚未封装的芯片,它可由一个或多个电路组成,最终被作为一个单位而封装起来成为我们常见的NAND FLASH颗粒。由于生产工艺等居多因素,在一个晶圆中并非每个Die都是完好的,因此在封装之前工厂需要测试这晶圆中每一个Die。好的那些被称为Good Die,不好的那些被称为Ink Die。
而Good Die还不是最终的成品,Good Die还需要经过严格的测试和筛选分出等级。厂商用企业级的标准来检测Good Die的数据完整性和耐久度。当这些Good Die通过测试后,就被定义为eMLC级别,剩下相对低的晶片被定义MLC级别了。
eMLC在寿命和稳定性上表现更加出色。因为企业级MLC闪存介质拥有比普通MLC闪存更多的擦写(P/E)次数,所以它有更大的承受力,能够承担企业应用程序要求的工作负载。
eMLC在使用优质的存储介质的基础上,通过更好的算法提UBER、实现磨损均衡、提供超大OP空间(预留空间)、降低写入放大等很多技术使eMLC闪存拥有SLC闪存一样的可靠性和长寿命。
eMLC和MLC的主要区别:(34nm镁光NAND)
1.P/E:闪存完全擦写一次叫做1次P/E(注意是全盘写入,写满算一次)
2.UBER:不可修复的错误比特率
1片eMlC 30000次擦写
=6片MlC 5000次擦写
=30片TlC 1000次擦写
因此,eMLC主要面向于企业级市场,相对在的企业级应用下,使用eMLC的稳定性比MLC要高得多,也就是出错的概率更小。
SSD寿命=DWPD
“那我们怎么评估SSD寿命?”
很多人以为Flash颗粒的擦写次数就是SSD的寿命。如:Flash可以擦除1万次,SSD就可以反复写满1万次了。小伙伴,你理解错误了。“反复写满”这个概念,我们有个专业名词“DWPD”(Drive Write Per Day),每日整盘写入次数,指在预期寿命内可每日完整写入SSD固态硬盘所有容量的次数。
SSD寿命=DWPD
相当于宾馆每天能换几批客人
也就是说宾馆每天能轮换几批客户(怎么感觉都是钟点房客人),不但取决于房间的能承受打扫清洁次数(质量);而且还取决于房间“打扫策略”。(客人入住,搬出的方式)。
容易想通吧,再怎么好的房间质量(最好颗粒),也可能被频繁入住换房间的客人(改写数据),无统筹计划的管理员(差的FTL设计)快速弄坏。
DWPD是用来标示SSD产品寿命的
比如400GB SSD产品说自己能做到10 DWPD*5年,意思就是每天整盘写入10次,可以使用寿命为5年。
规格定义是持续5年,以400GB 容量SSD为例解释DWPD:
10 DWPD 1年=10*0.4TB*365天=1460GB
10 DWPD 5年=10*0.4TB*5*365天=7300GB
通常行业内给寿命命名:
读多型:DWPD 0.3~1 (消费级)
中等型:DWPD 1~3 (中等磨损型)
写密集型:DWPD 3~10 (企业级增强型)
1片eMLC 10 DWPD
>3片MLC 3 DWPD
>10片TLC 1 DWPD
由此可见,晶圆上质量比较好的Die做了特殊优化eMLC的寿命比MLC的数倍还要长很多,完全符合企业级市场的苛刻要求。
贵的400GBor便宜的480GB
NAND颗粒的类型、FTL、DWPD和OP预留空间
在我们采购SSD时,您有没有发现一个有趣的现象?怎么容量相近的SSD这么多, 这些容量点很接近,几乎相同,为什么有这么多奇怪的容量SSD在销售呢?如:
256GB,240GB,200GB
500GB,480GB,400GB
1000GB,960GB, 800GB
?
因为消费级市场在意性价比
企业级市场重点考虑寿命和可靠性
小伙伴,消费市场选择SSD考虑更多的是最佳性价比、其次才是寿命和可靠性;企业级市场选择SSD重点考虑寿命和可靠性。容量数字变化背后有我们需要理解的道理,关系到应用的寿命和可靠性。小哥今天必须给小伙伴讲一下:固态硬盘“OP”预留空间,这个功能很重要。
OP预留空间—提高可靠性
小固态硬盘内部存在的,主控芯片控制,用户不可操作的隐藏空间
op预留空间:英文名称Over-provisioning,是指固态硬盘内部存在的,由主控芯片控制的,用户不可操作的隐藏空间,这部分空间就是用于主控各种优化机制的操作,诸如GC回收,磨损均衡等;减少写入放大,提高耐久和可靠性,提高SSD的读写性能和可靠性。通常在0-28%之间,根据自己的闪存颗粒品质,质保年限,或者是针对市场定位进行设置。
我们还是用宾馆比喻SSD盘,SSD各种奇怪的容量,等同宾馆预留的房间后的接待量。 亲,一定知道SSD结构完全不同于HDD(机械硬盘)。固态硬盘中FLASH NAND的特性决定了只能顺序新写,不能覆盖写;因此SSD必须有保留空间,用于写入数据的交换空间。
我们一直用宾馆(宿舍)比喻SSD,预留房间多,入住就快(无需等待清洁房间、不需要反复腾挪房间);另外,如果某一间房出现问题(无热水、空调故障。。。)可以快速更换房间。预留房间多,入住体验好,但相对入住成本高。
同理:
SSD预留OP空间越多写入就越顺畅
有可随时替代的空间也就越安全
OP高低是影响寿命的一个因素
但不能绝对反映SSD的可靠性和寿命
OP高低一般可以从容量判断,但也不绝对,因为物理容量也可能各个厂家设计不同,颗粒寿命调校也不同,OP比例是一个因素,可以反映部分寿命的设计,但不能全面反映SSD的可靠性和寿命。多维度评估就会纠结颗粒、P/E、OP、DWPD是否符合要求!
选择贵的400GB eMLC
了解NAND颗粒的类型、FTL、DWPD和OP预留空间,企业级eMLC写密集型SSD能提供极致性能,同时预留不少于28%的OP空间和5 DWPD寿命,完全能满足各类业务对闪存介质极限要求。您一定不会再纠结是选择贵的400GB还是便宜的480GB!选择贵的400GB eMLC也一定是对的!
eMLC的“三高”
性能高、可靠性高、价格高
时至今日,eMLC仍然给人一种阳春白雪、曲高和寡的感觉。闪存成败似乎都因为这一个字——高。性能“高”,可靠性“高”,这是它迅速蹿红的重要原因;但是它的价格“高”,这又是阻碍它快速普及的不利因素。我们深究原因还是闪存NAND Flash成本太高。SSD主要由存储芯片(NAND Flash)、控制芯片(Controller)构成。存储芯片NAND Flash作为SSD最重要的部分大约占SSD总成本的70-80%。其制造厂商主要是英特尔(intel)、三星(Samsung)、美光(Micron)、SK海力士(SK Hynix)、东芝(Toshiba) 、闪迪(SanDisk)等6家大厂。
小伙伴:“看出问题了?” 怎么都是国外的?没错!全球的NAND Flash产能都控制在上述的6个大佬的手中。我们目前还没有自主可控的NAND Flash价格能好到哪去?
闪存颗粒自主可控开始行动
未来价格不再“高不可攀”
不要着急,闪存颗粒自主可控已经有大动作了,随着中国三大存储基地长江存储、合肥长鑫、福建晋华的新厂试产,3D工艺的快速成熟,在不远的将来SSD 容量在不断攀高的同时价格也将创新低。