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计算每天的写入量了。