- 积分
- 6
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2017-10-31
- 精华
|
推荐
发表于 2017-11-20 15:20:01
|
只看该作者
来自: LAN 来自 LAN
给大家科普一下,目前手机上主流的eMMC都是MLC和TLC的NAND颗粒。
MLC就是一个数据单元存2bit数据,TLC就是一个数据单元存3bit数据。
eMMC厂家为了提高读写速度,在开始的一段时间,不管是MLC还是TLC都只写一bit数据,这样就相当于SLC的颗粒,性能非常好。
但是!!
使用空间超过一半容量(MLC)或者三分之一(TLC),eMMC内部会开始写2bit,写之前会进行大量的数据搬移,此时性能会降低到原来的五分之一。
所以说你的容量越大,手机速度快的时间相对越长。
下面是相关的出处
(看到图上的曲线了吗,开始是SLC阶段,然后最低的切换成MLC并开始搬数据,最后稍微高一点的是数据搬完以后正常MLC速度)(看到图上的曲线了吗,开始是SLC阶段,然后最低的切换成MLC并开始搬数据,最后稍微高一点的是数据搬完以后正常MLC速度)
如果大家有兴趣我后面更新一下SLC,MLC,TLC的原理,为什么TLC可以当做SLC来用,为什么SLC速度比TLC快。
---------2017.04.02--------
1.SLC,MLC,TLC的原理
大家都知道数字电路是用高低电平来表示0和1的,对于存储器也是类似。其中NAND FLASH内部最小存储单元类似由一个电容和晶体管组成,具体结构后面上图。其代表的数据是由电容上的【电荷量】决定。其电荷量取决电容两端电压(假如每个数据单元的电容量一样)。
下面来看一个量化的数据。
以SLC举例,假如其逻辑电压是1.8V,那么要表示一位数据只要有两种电压就够了,存储器实际判断高低电平是取的电压范围,如果直接把电容两端电压分成两段,那么其数据对应的电压如下:
0~0.9V: 1
0.9~1.8V: 0
如果是MLC要在一个存储单元存2bit数据要怎么办呢,很简单,把电容电压分成4段,每一段对应一个数据,如下:
0~0.45V:11
0.45~0.9V:10
0.9~1.35V:01
1.35~1.8V:00
同理TLC则把电压分成8段,共表示3bit数据。
说到这里大家应该能明白所谓的MLC和TLC能当成SLC来用了吧。实际就是电压的分段问题。
在网上找到一个英文网站有讲这个原理,英文好的可以看下,说的更详细,更清楚。(顺便借了个图)
https://flashdba.com/2015/01/09/understanding-flash-floating-gates-and-wear/
未完待续 |
|