Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1174817
  • 博文数量: 220
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1769
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-13 16:19
个人简介

努力, 努力, 再努力

文章分类

全部博文(220)

文章存档

2018年(8)

2017年(46)

2016年(75)

2015年(92)

我的朋友

分类: 服务器与存储

2015-11-07 19:24:47

摘自: 主要元件的NAND闪存,我们经常见到的有SLC和MLC两种,甚至还细分出eSLC和eMLC等等,现在我们谈一下他们之间的区别。
       SLC全称single-level cell,即单阶存储单元;MLC全称Multi-level cell,即多阶存储单元。因NAND闪存是一种电压元件,因此它以不同的电压范围来代表不同的数据,原理如下面图片所示:

 

SLC、eSLC、MLC、eMLC的区别-U盘之家 

       SLC就是在NAND闪存的每个存储单元里存储1bit的数据,存储的数据代表”0”还是”1”是由基于Vth电压阈值来判定,对于NAND闪存的写入(编程),就是对其充电,使得它的电压超过上图的电压判定点A,存储单元就表示0-已编程,如果没有充电或者电压阈值低于那个A点,就表示1-已擦除。
       MLC则是每个存储单元里存储2bit的数据,存储的数据是”00”,”01”,”10”,”11”也是基于电压阈值的判定,当电压没到判定点B时,就代表”11”,当电压在B和C之间,则代表“10”,电压在C和D之间,则表示”01”,而电压达到D以上,则表示”00”。由上面的图片可以看到,MLC相比SLC电压之间的阈值被分成了4份,这样肯定会直接影响性能和稳定性,相对来说,主要受影响的有以下四点:


       1.相邻的存储单元间会互相干扰,造成电压不稳定而出现bit错误,MLC由于阈值相比SLC更接近,所以出错几率会更大。
       2.MLC读写性能降低,写入更达到50%的差距以上,因为需要更精确的充电处理。SLC只有”0”和”1”,,而MLC会有“00”,“01“,”10”,”11” 4个状态,在充电后还要去判断处于哪个状态,速度自然就慢了。
       3.如上所说,因为有额外的读写压力,所以功耗明显增大。
       4.同样因为有额外的读写压力,造成闪存的写入耐久度和数据保存期都受到影响。



       前面说过SLC和MLC的区别,那eSLC和eMLC又是怎么一回事呢?


       在NAND Flash工厂制造处理过程中,厂商把晶元上最好的那部分Flash晶片挑选出来并用企业级的标准来检测晶片的数据完整性和耐久度。检测完成后,这些晶片被取下来改变内部参数并进行之后的比标准MLC更苛刻的测试。当这些晶片通过测试后,就被定义为eMLC级别组,余下的就成为MLC级别组了。同理eSLC就是从SLC晶元上挑出来的优质晶片经过内参调整和企业级标准筛选的产物。


 相对普通MLC来说,eMLC的不同之处主要体现在下面4个方面:
       1.标称P/E数,34nm镁光的eMLC是30,000次,而MLC则是5000次。
       2.eMLC擦写操作和编程操作所需要的时间相比MLC更长。(通过内参调整达到增加P/E的目的)
       3.当使用完厂商保证的P/E数后,eMLC的数据保存期一般在3个月,而MLC的数据保存期在1年。
       4.相对在的企业级应用下,使用eMLC的稳定性比MLC要高得多,也就是出错的概率更小。 


SLC、eSLC、MLC、eMLC的区别:

阅读(1458) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~