购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.5 SSD产品核心指标

用户在购买SSD之前,会关注它的一些指标,比如能跑多快、用的是什么闪存等。特别是企业级用户,需要全方位研究SSD的核心指标,解决应关注什么指标、如何关注、如何进行竞争产品对比等问题,最终找到产品本质。本节以英特尔的一款企业级SATA接口数据中心盘S3710 SSD产品手册为例(见图1-15),带大家一起解读SSD产品的核心指标。

图1-15 Intel DC S3710固态硬盘规格书截图

从图1-15所示分类来看,这份文档给用户展示了SSD的几大核心指标,具体如下。

基本信息 :包括容量配置(Capacity)、介质信息(Component)、外观尺寸(Form Factor)、重量(Weight)、环境温度(Temperature)、震动可靠性(Shock and Vibration)、认证(Certif ication)、加密(Encryption)等信息。

性能指标 :连续读写带宽、随机读写IOPS、时延(Latency)、最大时延(Quality of Service)。

数据可靠性 (Reliability) 和寿命 (Endurance)。

功耗 :功耗管理(Power Management)、工作功耗(Active Power)和空闲功耗(Idle Power)。

兼容性等 :适配性(Compliance)、兼容性(Compatibility,与操作系统集成时参考)。

当然,还有其他一些重要信息是无法在产品规范书里体现的,比如产品可靠性(RMA Rate)。由固件或者硬件缺陷导致的产品返修率的高低是很关键的指标,在保质期内产品返修率越低越好。尤其是企业级硬件,数据比SSD本身更重要,用户不能容忍的是由固件、硬件可靠性问题或缺陷导致丢数据,或者数据无法通过技术手段恢复。

产品的测试条件信息、产品的系统兼容性信息等也是无法在产品规范书里体现的。这些也考验购买SSD的用户对SSD理解的深度。从测试条件的苛刻设计中提炼出用户想要的测试用例,用测试结果来反映产品规范书里无法透露和显示的产品的实际数据信息。当然,能通过苛刻的测试,并在实际上线运行中经受住系统的考验,日积月累,产品的品牌就打出来了。每家SSD OEM客户都有自己的标准和测试,以求通过实际测试和运行数据检验出质量好或差的SSD供应商。

行业是公平的,长期来看,对于各供应商的SSD的质量客户心中是有数的。

1.5.1 基本信息剖析

1.SSD容量

SSD容量是指提供给终端用户使用的最终容量,以字节(B)为单位。这里要注意,标称的数据都以十进制为单位,程序员出身的人容易认为它是以二进制的。同样一组数据,二进制比十进制会多出7%的容量,例如:

十进制128GB:128×1000×1000×1000B=128000000000B

二进制128GB:128×1024×1024×1024B=137438953472B

以二进制为单位的容量在行业内称为裸容量,以十进制为单位的容量称为用户容量。

裸容量比用户容量多出7%是针对GB级而言的,对于TB级,这个数值会更大。读者可自行计算。

闪存本身是裸容量。那么,裸容量多出的7%的容量在SSD内部做什么用呢?SSD可以利用这多出来的7%的空间管理和存储内部数据,比如把这部分额外的空间用作FTL映射表存储空间、垃圾回收所需的预留交换空间、闪存坏块的替代空间等。这里的7%的空间可以转换为OP(Over Provisioning)概念,公式是:

2.介质信息

当前SSD的核心存储介质是闪存,闪存这种半导体介质有其自身的物理参数,例如PE cycles(编程擦除次数)、Program(写编程)时间、数据Erase(擦除)和Read(读)时间、温度对读写擦的影响、闪存页的大小、闪存块的大小……这些都是介质的信息,介质的好坏直接影响数据存储的性能和完整性。

闪存分为SLC、MLC、TLC(甚至QLC),这指的是一个存储单元存储的位数(见表1-6)。

❑ SLC(Single-Level Cell)即单个存储单元存储1bit的数据。SLC速度快,寿命长(5万~10万次擦写寿命),但价格昂贵(是MLC的3倍以上)。

表1-6 SLC、MLC和TLC参数比较

❑ MLC(Multi-Level Cell)即单个存储单元存储2bit的数据。MLC速度一般,寿命一般(约为3000~10000次擦写寿命),价格一般。

❑ TLC(Trinary-Level Cell)即单个存储单元存储3bit的数据,也有闪存厂家称之为8LC。它速度慢,寿命短(500~1500次擦写寿命),价格便宜。

闪存发展到现在,经历了2D平面到3D立体制程(Process)两个大阶段。发展目标只有一个:硅片单位面积(mm 2 )能设计生产出更多的位(bit),让每GB成本和价格更低。这既是介质厂商的目标,也是客户的诉求,还是半导体工业发展的趋势。

图1-16 2D与3D闪存结构示意图

来看一下2D到3D的单位面积位数的比较(见表1-7),48层三星的3D V-NAND每平方毫米能生产出2600Mb的数据,3倍于2D闪存,所以同样的晶元3D可以比2D多切割出2倍的数据量。简单计算一下,每GB的价格能降为原来的1/3。

表1-7 不同闪存密度对比

最后我们来看一下几家闪存厂商的生产发展节点示意图(见图1-17)。用一句话来概括最终竞争的目标:在制程允许的范围内,发展更密、更快、价格更低的闪存产品。

图1-17 闪存原厂路线图

3.外观尺寸

SSD是标准件,外观尺寸需要满足一定的规定要求(长宽高和接口连接器),这又通常称为Form Factor。那SSD会有哪些Form Factor呢?其中尺寸细分为3.5in、2.5in、1.8in,还包括M.2、PCIe Add-In、mSATA、U.2、EDSFF等Form Factor标准(见图1-18),每个Form Factor都有三围大小、重量和接口引脚等明确规范。

图1-18 SSD尺寸部分一览

Form Factor标准组织:

❑ https://www.snia.org/forums/sssi/knowledge/formfactors

❑ http://www.ssdformfactor.org/

4.其他

下面介绍温度及认证与兼容性信息这两个参数。

❑ 温度:SSD应在0~70℃温度范围内使用,超出这个温度范围,SSD可能出现产品异常和数据异常。SSD的非工作温度为-50~90℃,这是SSD储存和运输期间的温度,也就是在非开机工作状态下,产品运输和仓库存储时的参考温度。在-50~90℃之外的温度下,SSD可能会损坏。

❑ 认证与兼容性信息(见图1-19):SSD硬件和软件都应通过认证测试,以此反映产品的标准测试情况,同时让客户明确产品通过了相应的测试。认证和兼容性信息是对应标准组织的测试集,而标准组织属于第三方,具有独立、客观的特点,所以这个测试通过就意味着可以免去客户再做这部分测试了。

图1-19 SSD兼容性示例

1.5.2 性能剖析

1.性能指标

硬盘性能指标一般包括IOPS(反映的是随机读写性能)、吞吐量(单位为MB/s,反映的是顺序读写性能)、响应时间/延时(单位为ms或μs)。

❑ IOPS:设备每秒完成的输入输出请求数,一般是小块数据读写命令的响应次数,比如4KB数据块。IOPS越大越好。

❑ 吞吐量:每秒读写命令完成的数据传输量,也叫带宽(Bandwidth),一般对应大块数据读写命令,比如512KB数据块。吞吐量也是越大越好。

❑ 响应时间:也叫延时(Latency),即每条命令从发出到收到状态回复所需要的响应时间,有平均延时(Average Latency)和最大延时(Max Latency)两项。响应时间越小越好。

2.访问模式

性能测试设计要考虑访问模式(Access Pattern),包括以下3个部分:

❑ Random/Sequential:指随机(Random)和连续(Sequential)数据命令请求。随机和连续指的是前后两条命令的LBA(逻辑块地址)是不是连续的,连续的LBA称为Sequential,不连续的LBA称为Random。

❑ Block Size:块大小,即单条命令传输的数据大小。在性能测试中,Block Size从4KB到512KB不等。随机测试一般用小数据块,比如4KB;顺序测试一般用大数据块,比如512KB。

❑ Read/Write Ratio:指读写命令数混合的比例。

任何测试负荷都是上述这些模式的组合。

❑ 顺序读测试:指的是LBA连续读,块大小为256KB、512KB等,读写比例为100%:0。

❑ 随机写测试:指的是LBA不连续的写,块大小一般为4KB,读写比例为0:100%。

❑ 随机混合读写:指的是LBA不连续的读写混合测试,块大小一般为4KB,读写保持一定的比例。

3.延时指标

上文提到,延时有平均延时和最大延时两种,数值越低越好。平均延时的计算公式是用整个应用或者测试过程中所有命令响应时间的总和除以命令的个数,反映的是SSD总体性能;最大延时是指在测试周期内所有命令中响应时间最长的那笔,反映的是用户体验,例如最大延时影响应用通过操作系统操作SSD时有无卡顿的用户体验。延时达到秒级,用户就会有明显的卡顿感。

4.服务质量

服务质量(Quality of Service,QoS)反映的是延时“置信级”(Conf idence Level)。图1-20所示为在测试规定的时间内使用2个9(99%)到5个9(99.999%)的百分比的命令中的最大延时,也就是最慢的那条命令的响应时间。整体上看,一个SSD的QoS延时分布整体越靠左越好,即延时越小越好。

图1-20 SSD延时分布图

对消费级硬盘来说,用户对延时的要求可能不是很高。但对企业级硬盘来说,像数据中心(Data Center)等企业应用对延时很敏感,比如BAT(百度、阿里巴巴、腾讯)的互联网应用,延时的大小关乎用户体验和互联网应用快慢的问题。这类应用对IOPS和吞吐量并不十分敏感,更在乎延时(包括平均延时、最大延时或服务质量等指标)。

5.性能数据一览

我们来看一组性能测试数据,包括SSD、HDD和SSHD(SSD和HDD混合硬盘)的性能数据,如图1-21所示。

图1-21 SSD、HDD和SSHD性能数据一览

测量指标包括空盘(Fresh out of Box,FOB)和满盘下的IOPS、吞吐量、平均延时和最大延时。

测试空盘IOPS用的测试模式是“RND 4KB 100%W”,即4KB(二进制4KB,即4096字节)随机100%写。

测试满盘IOPS用了3种测试模式,分别如下。

❑ RND 4KB 100%W:数据块大小为4KB的写命令,100%随机写。

❑ RND 4KB 65:35 RW:数据块大小为4KB的读写命令,65%的读,35%的写,混合随机读写。

❑ RND 4KB 100%R:数据块大小为4KB的读命令,100%随机读。

从图1-21可以看出,对于HDD和SSHD来说,满盘和空盘写的IOPS相差不大(都很糟糕),而对SSD来说,满盘和空盘写的IOPS相差很大。这是因为对HDD来说,满盘后没有垃圾回收操作,所以空盘和满盘写的性能差不多;但对SSD来说,满盘后写会触发垃圾回收,导致写性能下降。

对消费级SSD来说,商家给的测试数据一般是空盘测试的数据,数字相当好看,“最高可达”常挂嘴边。新买的盘,我们测试时会发现性能和商家标称的差不多,但随着对盘的使用,会出现掉速问题。垃圾回收是其中一个原因,还有可能是SLC缓存用完了,这里就不具体展开了。

对企业级SSD来说,客户更关注稳态性能,即满盘性能。所以,商家给出的性能数据一般是满盘数据,“最高可达”字眼消失。我们可以从宣传文案中有没有“最高可达”字眼来快速判断一个盘是企业级还是消费级。

吞吐量测试有2种模式,分别如下。

❑ SEQ 1024KB 100%W:数据块大小为1024KB的顺序写测试。

❑ SEQ 1024KB 100%R:数据块大小为1024KB的顺序读测试。

延时中的最大延时反映的是服务质量,所有测试模式都是4KB 100%随机写。由上可以看出,SSD测试的是数据到SSD内部缓冲区的延时。为什么不是FUA?因为对闪存来说,即使是SLC,也没有办法在几十微秒内将数据写入闪存。如果是FUA命令测试,那么平均延时至少是几百微秒。

1.5.3 寿命剖析

用户拿到一款SSD,除了关心其容量和性能参数外,还会关心它的寿命指标,也就是在SSD产品保质期内,总的寿命是多少,能写入多少字节的数据。SSD寿命主要有两个衡量指标,一是DWPD(Drive Writes Per Day每天驱动器写入次数),即在SSD保质期内,用户每天可以把盘写满多少次;另一指标是TBW(Terabytes Written,写入的TB数),即在SSD的生命周期内可以写入的总字节数。

1.DWPD

我们来看一下S3710 SSD的Endurance项,如图1-22所示。

图1-22 S3710 SSD的Endurance项

上图中,200GB表示SSD在5年使用期限内对应的寿命是3600TB,平均每天可以写入3600TB/(5×365)=1972GB的数据。这块盘本身容量是200GB,那么1972GB相当于每天写入10次,也就是规范书中说的10 Drive Writes Per Day,简称10 DWPD。

由以上内容可以看出,总的写入量可以换算成DWPD。SSD更多使用DWPD作为寿命参数。这里要特别说明的是,从应用的角度出发,多数应用读多写少,少数应用写多读少,应用不同,对SSD的寿命要求也不同。所以我们可以将其归类为写密集(Write Intensive)和读密集(Read Intensive)两种类型。

表1-8较好地归纳出在不同应用场合和应用读写特点下对DWPD的要求。

表1-8 DWPD参数

天下没有免费的午餐,DWPD越大,单盘价格自然越高。所以用户需要思考的是在什么应用场景下使用什么类型的SSD,以及使用哪种DWPD寿命的SSD,以在性能和经济性之间寻求平衡。最好的平衡艺术就是根据用户数据的生存期及热度分层,或者在技术架构上根据数据冷热和存在时间为数据打标签,然后放入对应的层级并选择不同DWPD的SSD。

图1-23所示是一个典型的应用场景的SSD分级应用。OLTP(联机事务处理)有大量写应用的数据(术语叫热数据),性能要求极高,所以放入T1-WI SSD层(第一层),这一层SSD单盘价格高,总容量低;第二层是写少读多应用(术语叫温数据),性能要求也很高,所以使用T2-RI SSD存放数据;第三层基本上是冷数据,极少被读到和写到,所以用大容量、低价的HDD。总体来说,OLTP用到了40%的SSD,算是对SSD需求量较高的应用类型。当然也有对SSD需求不高的应用,如图1-23最右列所示的容灾恢复。

图1-23 数据分层及SSD应用

最后我们来看一下现实世界对SSD的DWPD要求。图1-24所示数据显示,更多的应用是写少读多,83%的应用使用不高于1 DWPD的SSD。想象一下消费级SSD,我们每天的数据写入量是极少的,盘在生命周期内几乎不会被填满,所以极低的DWPD是可以接受的。业界主流的消费级SSD DWPD是0.3。可以预见的是,在数据爆炸的时代,用户对数据总量的需求是逐年递增的,即数据逐年成倍增加,尤其是企业级应用,这个数据是否会低于83%?答案是肯定的。

2.TBW

图1-24 SSD DWPD现实需求

TBW就是在SSD的生命周期内可以写入的总字节数,用来表达SSD的寿命指标。从SSD的设计来看,如何设计来满足SSD的TBW要求?SSD的TBW是如何计算的?哪些因素会影响SSD的TBW?

先给一个公式:

式中各个变量的说明如下。

❑ NAND PE Cycles:SSD使用的闪存标称写擦除次数,如3k、5k。

❑ Capacity:SSD单盘用户可使用的容量。

❑ WA:写入放大系数,这跟SSD FW的设计和用户写入的数据类型(顺序写还是随机写)强相关。

TBW和DWPD的计算公式为

有了上面的公式,就可以简单计算一块SSD的TBW或者由TBW计算每天的写入量了。

1.5.4 数据可靠性剖析

SSD用如下几个关键指标来衡量可靠性。

❑ UBER:Uncorrectable Bit Error Rate,不可修复的错误比特率。

❑ RBER:Raw Bit Error Rate,原始错误比特率。

❑ MTBF:Mean Time Between Failure,平均故障间隔时间。

1.数据可靠性

图1-25所示为S3710 SSD手册中的Reliability(可靠性)项。

UBER是一种数据损坏率衡量标准,等于在应用了任意特定的错误纠正机制后依然产生的每位读取的数据错误数量占总读取数量的比例(概率)。

图1-25 S3710 SSD手册中的Reliability

为什么SSD要定义UBER?对于任何一项存储设备,包括HDD,用户最关心的都是数据保存后的读取正确性。试想数据丢失或损坏会对客户产生什么后果,尤其是企业级用户数据。那如何让用户相信存储设备是可靠的呢?UBER指标描述的是出现数据错误的概率。

为什么会产生错误数据?SSD的存储介质是闪存,闪存有天然的数据位翻转率。主要有以下几种原因:

❑ 擦写磨损(P/E Cycle)。

❑ 读取干扰(Read Disturb)。

❑ 编程干扰(Program Disturb)。

❑ 数据保持(Data Retention)发生错误。

虽然SSD主控和固件设计会用纠错码(ECC)的方式(可能还包括其他方式,如RAID)来修正错误数据,但在某种条件下错误数据依然有纠不回来的可能,所以需要用UBER让用户知道数据错误码纠不回来的概率。

闪存原始的数据位翻转加上BCH码(一种ECC纠错算法)经ECC校验码保护后,可以计算转换到UBER。影响UBER的最核心因素是RBER。图1-26所示为从RBER、ECC编码长度(Code Length)和保护强度(Strength)换算到UBER的过程,从中得出结论:在相同的ECC编码长度和RBER下,随着保护强度的增大,UBER在大幅度降低。

图1-26 UBER和保护强度的关系

在相同的ECC编码长度和保护强度下,RBER越低,UBER就越低,并呈指数级降低,如图1-27所示。

图1-27 UBER和RBER的关系

RBER反映的是闪存的质量。所有闪存出厂时都有一个RBER指标,企业级闪存和消费级闪存的RBER是不同的,价格当然也有所不同。RBER指标也不是固定不变的,如图1-28所示,闪存的数据错误率会随着使用时间(PE Cycle)的增加而增加。为了应对极限情况,必须准备好处理每100位数据就有1位坏掉的情况。

图1-28 RBER和使用时间的关系

RBER还跟闪存内部结构有关。两个相邻闪存块的RBER有可能完全不同,图1-29是单个闪存块里面不同闪存页的RBER分布图。看得出来,Upper Page(又称慢页,简称UP)的RBER比Lower Page(又称快页,简称LP)的RBER要高两个数量级。

图1-29 快页与慢页的RBER

通常商用企业级和消费级SSD的UBER指标如表1-9所示。

表1-9 企业级和消费级SSD的UBER值需求

2.MTBF

工业界MTBF指标反映的是产品的无故障连续运行时间,也是产品的可靠性指标。计算MTBF有一些标准,目前最通用的权威性标准是MIL-HDBK-217、GJB/Z299B和Bellcore。其中,MIL-HDBK-217是由美国国防部可靠性分析中心及Rome实验室提出的,现已成为行业标准,专门用于军工产品MTBF值的计算;GJB/Z299B是我国的军用标准;Bellcore是由AT&T贝尔实验室提出的,现已成为商用电子产品MTBF值计算的行业标准。

MTBF主要考虑的是产品中每个器件的失效率。但由于器件在不同的环境、不同的使用条件下失效率会有很大区别,例如,同一产品在不同的环境下,如在实验室和海洋平台上,其可靠性肯定是不同的;又如一个额定电压为16V的电容在实际电压为25V和5V的条件下失效率肯定也是不同的。所以,在计算可靠性指标时,必须考虑多种因素。所有这些因素几乎无法通过人工进行计算,但借助软件(如MTBFcal软件)和其庞大的参数库,能够轻松得出MTBF值。

对于SSD而言,JESD218A标准定义了测试SSD每天读/写量的方法,还补充了SSD的一些额外的失败测试。要考虑的另一件事是:什么工作负载用于测试MTBF?例如合格的SSD使用工作负载每天写20GB数据,一共持续5年,基于这个工作负载加上补充性失效测试,得知这款SSD MTBF可达120万小时。但如果工作量减少到每天写10GB数据,MTBF将变为250万小时;如果每天写5GB数据,MTBF就是400万小时。

1.5.5 功耗和其他剖析

1.SSD产品功耗

SSD中定义了以下几种功耗类型。

空闲(Idle)功耗 :当主机无任何命令发给SSD,即SSD处于空闲状态但也没有进入省电模式时,设备所消耗的功耗。

最大峰值(Max active)功耗 :这是SSD处于最大工作负载时的功耗。SSD的最大工作负载条件一般是连续写,让闪存并发忙写和主控ASIC满负荷工作,这时的功耗即为最大功耗。

Standby/Sleep功耗 :规范规定了SSD状态,包括Active(活跃)、Idle(空闲)、Standby(待机)和Sleep(睡眠),功耗值从Active到Sleep逐级递减,具体的实现由各商家自行定义。一般来讲,在Standby和Sleep状态下,设备应尽可能把不工作的硬件模块关闭,以降低功耗。一般消费级SSD在Standby和Sleep状态下功耗为100~500mW。

DevSleep(深度睡眠)功耗 :这是SATA和PCIe新定义的一种功耗标准,目的是在Standby和Sleep的基础上再降一级功耗,即主机和操作系统在休眠状态下,SSD关掉一切自身模块,处于极致低功耗模式,甚至是零功耗,一般功耗在10mW以下。

对于主机而言,功耗状态和SSD(作为设备端)状态是一一对应的,而功耗模式发起端是主机,SSD被动执行和切换对应功耗状态。

系统功耗状态(Power State,SATA SSD作为OS盘)如下。

❑ S0:工作模式,OS可以管理SATA SSD的功耗状态,D0或者D3都可以。

❑ S1:低唤醒延时的状态,系统上下文不会丢失(CPU和Chipset),硬件负责维持所有的系统上下文。

❑ S2:与S1相似,不同的是处理器和系统缓存上下文会丢失(OS负责维护缓存和处理器上下文)。收到唤醒请求后,从处理器的reset vector(重置向量)开始执行请求。

❑ S3:睡眠模式(Sleep),CPU不运行指令,SATA SSD关闭,除了内存之外的所有上下文都会丢失。硬件会保存一部分处理器和L2缓存以配置上下文,从处理器的reset vector开始执行唤醒请求。

❑ S4:休眠模式(Hibernation),CPU不运行指令,SATA SSD关闭,DDR内容写入SSD中,所有的系统上下文都会丢失,OS负责上下文的保存与恢复。

❑ S5:软关闭状态(Soft off state),与S4相似,但OS不会保存和恢复系统上下文。消耗很少的电能,可通过鼠标、键盘等设备唤醒。

进入功耗模式有一定的延时,退出功耗模式也有,通常恢复SSD到初始功耗模式所花费的时间更长,如表1-10所示。

表1-10 各种功耗模式下SSD进入和退出的时间

延时和性能之间存在某种平衡,频繁地在低功耗模式与正常模式之间进行切换一定会带来性能损失。对于SSD设备功耗模块设计而言,建议尽可能缩短低功耗模式的进入和退出时间。

从正常工作模式Active状态切换到低功耗模式,需要找到正确的切换时间。太短的时间会较早进入低功耗模式,但唤醒需要延时,进而带来主机端性能损失;太长的时间有利于维持性能,但牺牲了功耗。

总之低功耗是一个好的SSD特性,消费级应用出于低功耗需求,非常需要这个特性,但企业级应用为了维持性能,对低功耗的需求较弱。

最后,SSD各项功耗是SSD产品竞争力的一个方面,尤其是对功耗敏感的消费级SSD,最大写入功耗和低功耗是核心竞争力之一。最大写入功耗代表的是写入同样数据量所消耗的电能,主要是闪存写入功耗;低功耗是设备处于空闲或休眠状态时的功耗,这些对绿色能源数据中心等有很大意义。我们来看看几款消费级SSD的功耗对比,如图1-30所示。

最大写入功耗的对比(除了ASIC主控和板级PCB工作状态功耗,最大写入功耗和连续写性能紧密相关,写性能越高,功耗越高)如图1-31所示。

图1-30 AnandTech对比几款消费级SSD的HIPM或DIPM slumber模式下的功耗

图1-31 AnandTech对比几款SSD的最大写入功耗

2.最大工作功耗与发热控制

前面已解释过最大工作功耗,这里再次单独把最大工作功耗拿出来讨论,是因为当SSD一直处于最大工作功耗模式下,器件会存在发热问题。SSD中功耗最大的是ASIC主控和闪存模块,因此二者也是发热大户,当热量积累到一定程度时,器件会损坏,而这是不能容忍的。当外界环境温度(Ambient Temperature)处在50℃或60℃时,如不加以控制,发热的速度和损坏器件的概率也会随之增大。所以工作在最大负载下,控制SSD温度是固件设计要考虑的,此时重点是设计降温的处理算法。

算法的具体原理为:当SSD温度传感器侦测到温度达到阈值,如70℃时,固件会启动降温算法模块,限制闪存后端并发写的个数。由于SSD中发热大户是闪存芯片,故当写并发数减少后,温度自然下降。同时由于写并发数量下降,SSD写性能也会下降,这是性能和温度的一个折中。

当温度下降到阈值70℃以下后,SSD固件重新恢复到正常的后端写并发个数,性能上升,温度也会再次上升,如此往复,如图1-32所示。

1.5.6 SSD系统兼容性

图1-32 温度控制和SSD性能的关系

在SSD的各项参数中,系统兼容性指标无法量化,最不直观,也最容易被忽视。但不可否认的是,在实际应用场合中除了性能功耗和可靠性问题,最让人头疼的就是系统兼容性问题,表现为各种场景下SSD无法识别、不兼容某些型号主板、操作系统无法兼容等问题。站在用户角度,SSD的性能、功耗、可靠性设计得都不错,测试出来的成绩也很漂亮,但若是系统兼容性差,再好的SSD产品放到电脑上也会变砖,所以渐渐地用户开始重视系统兼容性问题,在引入SSD前期通过充分的测试验证和观察系统兼容性。

在技术上可将系统兼容性问题归为如下几类。

1.BIOS和操作系统的兼容性

SSD上电加载后,主机BIOS开始自检,主机中的BIOS作为第一层软件和SSD进行交互的步骤如下。

第一步,和SSD发生连接,SATA和PCIe走不同的底层链路连接,协商(negotiate)到正确的速度上(当然,不同接口也会有上下兼容的问题),自此主机端和SSD连接成功。

第二步,发出识别SSD的命令(如SATA Identify)来读取SSD的基本信息,基本信息包括产品型号(part number)、FW版本号、产品版本号等,BIOS会验证信息的格式和数据的正确性。

第三步,读取SSD的其他信息,如SMART,直到BIOS找到硬盘上的主引导记录MBR,加载MBR。

第四步,MBR开始读取硬盘分区表(DPT),找到活动分区中的分区引导记录(PBR),并且把控制权交给PBR。

第五步,SSD通过数据读写功能来完成OS加载。

完成以上所有步骤就标志着BIOS和OS在SSD上电加载成功。任何一步发生错误,都会导致SSD交互失败,进而导致系统启动失败,弹出Error窗口或出现蓝屏。

对SSD而言,它的功能已经通过了白盒和黑盒测试,但上述加载初始化流程以及特定的BIOS和OS版本结合的相关功能测试并没有被覆盖到,所以涉及这些功能时可能出现SSD设备加载失败。

现实世界中有太多的主板型号和版本号,而一块兼容性良好的SSD需要在这些主板上都能正常运行。从测试角度来看,系统认证兼容性涉及以下各个方面。

❑ OS种类(Windows、Linux)和各种版本的OS。

❑ 主板上CPU南北桥芯片组型号(Intel、AMD)和各个版本。

❑ BIOS的各个版本。

❑ 特殊应用程序类型和各个版本(性能Benchmark工具、Oracle数据库等)。

2.电信号和硬件兼容性

电信号和硬件兼容性指的是在SSD工作时,主机提供的电信号处于非稳定状态,比如存在抖动、信号完整性差等情况,但依然在规范误差范围内,此时SSD通过自身的硬件设计和接口信号完整性设计依然能正常工作,数据也依然能正确收发的概率。同理,在高低温、电磁干扰的环境下,SSD通过硬件设计要有足够好的鲁棒性。

3.容错处理

错误处理与硬件、软件相关。系统兼容性的容错特指在主机端发生错误的条件下,SSD即使不能正常和主机交互数据,也至少要保证不变砖。当然,SSD若能容错并返回错误状态,提供足够的日志来帮助主机软硬件开发人员调试就更好了。这里的错误包括接口总线上的数据CRC错误、丢包、数据命令格式错误、命令参数错误等。

从设计角度考虑加入容错模块、加大系统兼容性测试的覆盖面,这些都是提高SSD系统兼容性的手段和方法。但从过去的经验看,系统兼容性重在对主机系统的理解,这需要长期积累经验,蹚坑是难免的,蹚过后就有了经验,这些不是能从书本上直接学到的。

最后要强调的是,SSD的系统兼容性是SSD的核心竞争力之一,不可忽视。 SznSskgDMP/ARmoZdxiWcveigxo/vynDbgiW3L2MHQEexjVYHfN6FN/QFp/z2mbX

点击中间区域
呼出菜单
上一章
目录
下一章
×