日期:2014-05-16  浏览次数:20916 次

SSD及其在数据库中的应用 (一)技术介绍

1. SSD卡内部结构

    为什么SSD比传统的HDD快很多? 

    首先,它没有寻道等机械操作的时间,另外一个重要因素,是因为,NAND芯片之间是并行的读写

    这也就是为什么么,同一系列的SSD,容量更大的读写速度更快,容量大,芯片多,并行度高,当然更快。

    不过,速度的增长还是要受到接口标准极限的限制。


2. 单元结构

  下面图中,是NAND芯片内实际的存储单元:浮栅二级管;

   在字符线上加上20V的电压后,电子通过 “隧穿效应” 穿过了绝缘层,到达浮置栅极;

   当电子数量超过一定的阈值,即达到了一定的电压标准后,就表示一个bit的0,我们说它被编程了;

   在位线上加20V电压,电子回到基地,表示一个bit的1,叫做被擦除;

   SSD的特性之一:修改数据前必须做擦除。从它的原理图可以看出,如果不擦除,那么电子就一直呆在浮置栅极中了,没法表示0。而擦除的操作是非常耗时的,SSD就把一定量的存储单元的位线并联到一块,同时擦除,保证擦除时间在可接受的范围之内。


3. 存储结构

   SSD的存储结构,有小及大为:

   page→block→plane→die→闪存片→SSD

   Page(4K)是最小的读写单元;

   Block(由多个Page组成,例如:256个Page),它是SSD最小的擦除单元;


4. 闪存类型

   上面的浮栅二极管为单层结构,由它组成的SSD我们成为SLC(Single-Leve Cell)类型。

    生产商还制造出了两层(MLC,multi-level Cell)及三层(TLC,Triple-level Cell)类型的存储单元。

    随着层数的增多,能否表示的位数增加了,可制造的容量就增加了,例如,TLC有1TB的SSD。

    但相应的,P/E(可擦写次数)及稳定性却降低了。下面给出了各自的例子。大家感受一下。

     注释:E-MLC,即,企业级MLC。

   

   

    如果单纯从P/E来考量,SLC的性价比占优。

5. 防止SSD很快被玩坏(Wear out)的技术

   TLC的P/E,即,可擦写次数,才1000次,OMG,哪不是很快就坏了?

    供应商当然不会制造这样的挨骂产品,SSD的控制器使用了多种技术来保证存储单元的到均衡的擦写,避免不必要的P/E消耗。

     例如:Wear leveing(磨损均衡技术)。可以这样简单的理解,当SSD需要修改某个块的内容的时候,会先把块的内存取出修改,然后找到一个当前P/E次数少的块写入。避免了某些块反复擦写,很快被击穿无法再使用。

     再例如,用TRIM机制,及时通知SSD,让被删除的文件所在的块及早进入GC状态。

     通常,消费级的SSD能达到的效果, 128G SSD,每天写35GB,正常使用3年左右。这是用P/E公式算出来的理