1、概念
固态硬盘(Solid State Disk,SSD)是一种基于NAND闪存的存储技术。SSD封装插到I/O总线上标准硬盘插槽(通常是USB、SATA或IDE)中。一个SSD封装由一个或多个闪存芯片和闪存翻译层(flash translation layer)组成,闪存芯片替代传统磁盘中的机械驱动器,而闪存翻译层是一个硬件/固件设备,扮演与磁盘控制器相同的角色,将对逻辑块的请求翻译成对底层物理设备的访问。
2、特性
- 读比写要快。这是由底层闪存基本属性决定的。
- 以页为单位读写数据。一个闪存由B个块的序列组成,每个块由P个页组成。
- 以块为单位擦除数据。只有在一页所属的块整个被擦除之后,才能写这一页(指的是该块中的所有位都被置为1)。不过,一旦一个块被擦除了,块中每一个页都可以不需要再进行擦除就写一次。
3、为什么随机写很慢?
- 擦除块需要相对较长的时间,比访问页所需时间要高一个数量级。
- 如果写操作试图修改一个包含已经有数据(所有位不全为1)的页,那么这个块中所有带有用数据的页都必须被复制到一个新(擦除过的)块,然后才能进行对页的写。
4、与磁盘的对比
优点
- 随机访问时间比磁盘快。速度:SRAM>DRAM>SSD>磁盘
- 能耗比磁盘低
- 比磁盘结实
缺点
- 容易磨损
- 每字节比磁盘贵大约30倍。造价:SRAM>DRAM>SSD>磁盘
- 常用的存储容量比磁盘小100倍
5、磨损均衡
闪存翻译层的磨损均衡(wear leveling)通过将擦除平均分布在所有的块上来最大化每个块的寿命。磨损均衡算法大致分为动态和静态两种。首先来了解几个概念:
- 冷数据,就是用户不经常更新的数据;
- 热数据,就是用户更新频繁的数据;
- 年老的块,就是擦写次数比较多的闪存块;
- 年轻的块,擦写次数比较少的闪存块。
动态磨损平衡算法的基本思想是把热数据写到年轻的块上,即在拿一个新的闪存块用来写的时候,挑选擦写次数小的。
静态磨损平衡算法的基本思想是把冷数据写到年老的块上,即把冷数据搬到擦写次数比较多的闪存块上。静态磨损均衡才是真正的全局磨损均衡。
磨损均衡算法之间的对比:
- 没有磨损均衡寿命短
- 动态磨损均衡寿命中,性能高
- 静态磨损均衡寿命长,性能低