什么是SSD?SSD简述
前言
SSD(Solid State Drive),即固态硬盘,是一种以半导体闪存(NAND Flash)作为介质的存储设备。它广泛应用于移动终端、笔记本电脑、台式机、服务器和数据中心等场合,需求量极大。和传统机械硬盘(Hard Disk Drive,HDD 不同,SSD以半导体存储数据,用纯电子电路实现,没有任何机械设备,这就决定了它在性能、功耗、可靠性等方面和HDD有很大不同。与传统的机械硬盘相比,固态硬盘的性能优势特别突出。由于取消了机械部件,旋转和寻道的延迟完全消除,固态硬盘在读写速度上远优于机械硬盘,特别是在大吞吐率的随机读写性能上有了几个数量级的提高,在性能要求高的应用场合已成为首选。
一. SSD组成
SSD是用固态电子存储芯片阵列制成的硬盘,主要部件为控制器和存储芯片,内部构造十分简单。硬件上看,SSD主体就是一块PCB,接口形式(SATA、SAS、PCIe等),其主体就是一块PCB除包含的电源芯片、电阻、电容等器件外,主要包括以下几大组成部分:主控、闪存、缓存芯片DRAM(可选);软件上看,SSD内部运行固件(Firmware,FW)负责调度数据从接口端到介质端的读写,还包括嵌
入核心的闪存介质寿命和可靠性管理调度算法,以及其他一些SSD内部算法,如地址映射、磨损均衡、垃圾回收、坏块管理、纠错算法等。
二. SSD存储介质
存储介质按材料不同可分为三大类:光学存储介质、半导体存储介质和磁性存储介质
前面讲了当前SSD存储介质主要是闪存,这只是其中的一种。存储介质按物理材料的不同可分为三大类:光学存储介质、半导体存储介质和磁性存储介质,如下图。
三. SSD接口形态
固态硬盘有SATA 3.0接口、MSATA接口、M.2接口、PCI-E接口、U.2接口五种类型。
1、SATA 3.0。作为最常见的接口,采用SATA 3.0接口的固态硬盘拥有较高的性价比。和上代SATA 2.0接口相比,SATA 3.0接口的传输速度可达6GB/S。可在存储单元、磁盘驱动器、光学和磁带驱动器、主机总线适配器(HBA)之间提供6Gbps速度的链路速度,并保证新的网络性能水平。6Gbps(750MB/s)只是理论值,事实上SATA接口发送信息的速度为600MB/s,受制于系统各部件的影响,实际速度会更低。
2、mSATA接口。该接口是SATA协会开发的新的mini-SATA(mSATA)接口控制器的产品规范,新的控制器可以让SATA技术整合在小尺寸的装置上。采用该接口的固态硬盘比SATA 3.0接口的固态硬盘在体积上要小很多。由于体积的优势,MSATA接口的固态硬盘常见用于轻薄笔记本,其传输速度和稳定性和SATA 3.0接口的固态硬盘没有区别。
3、M.2接口。M.2原名是NGFF接口,为超极本量身定做的新一代接口标准,主要用来取代mSATA接口。不管是从非常小巧的规格尺寸上讲,还是从传输性能上讲,这种接口要比mSATA接口好。M.2接口能够同时支持PCI-E通道以及SATA。M.2接口的固态硬盘拥有体积小,性能强的优点。目前,主流的主板和M.2接口固态硬盘都支持PCI-E 3.0 x 4通道,理论带宽可达32Gbps,性能十分出众。M.2 Form Factor(包括M.2普通和BGA SSD)的三围标准:Type 1216、Type 1620、Type 1630、Type 2024、Type 2226、Type 2228、Type 2230、Type 2242、Type 2260、Type 2280、Type 2828、Type 3026、Type 3030、Type 3042、Type 22110,前两个数字为宽度,后两个(或三个)数字是高度。
4、PCI-E接口。PCI-E采用了点对点串行连接,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。PCI-E的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。PCI-E接口的固态硬盘只能用于台式机,它采用通过总线与CPU直连的方式,拥有优于M.2接口固态硬盘的性能,但是价格比较高,适用性也比较低。
5、U.2接口。U.2原名叫SFF-8639,最大特色就是高速低延迟低功耗,支持NVMe标准协议,并且走的是PCI-E 3.0 x4通道,理论传输速度高达32Gbps。U.2不但能支持SATA-Express规范,还能兼容SAS、SATA等规范。
三. SSD闪存颗粒分类
闪存颗粒分为SLC(单层单元)、MLC(多层单元)、TLC(三层单元)、QLC(四层单元)和PLC(五层单元)
SSD的闪存颗粒,按照它的存储单元的存储容量可以分为以下几类:SLC(单层单元)、MLC(多层单元)、TLC(三层单元)、QLC(四层单元)和PLC(五层单元)。这几类的闪存颗粒最大的区别在于它们的每个存储单元的存储容量是不一样的,它们的单元存储容量分别为:
SLC ——1bit/单元;
MLC——2bit/单元;
TLC ——3bit/单元;
QLC——4bit/单元;
PLC——5bit/单元;
对SLC来说,一个存储单元存储两种状态,浮栅极里面的电子多于某个参考值的时候,我们把它采样为0,否则就判为1。对MLC来说,如果一个存储单元存储4个状态,那么它只能存储2bit的数据。通俗来说就是把浮栅极里面的电子个数进行一个划分,比如低于10个电子判为0;11~20个电子判为1;21~30个电子判为2;多于30个电子判为3。依此类推,TLC若是一个存储单元有8个状态,那么它可以存储3bit的数据,它在MLC的基础上对浮栅极里面的电子数又进一步进行了划分。但同时,一个存储单元电子划分得越多,那么在写入的时候,控制进入浮栅极的电子个数就要越精细,所以写耗费的时间就越长;同样的,读的时候,需要尝试用不同的参考电压去读取,一定程度上加长了读取时间。所以我们会看到在性能上,TLC不如MLC,MLC不如SLC。
对于SSD而言,闪存颗粒类型可以说是最为关键性的指标,也是SSD选购的重要参考指标。因为随着闪存颗粒存储单元的存储容量的提升,SSD将会在擦写寿命,写入速度,功耗和价格上表现出极大的差异。