一:手机/电脑的内存和存储
内存和硬盘的区别
现如今,无论是手机还是电脑内存都使用了DRAM存储技术。DRAM(Dynamic Random Access Memory),即动态随机存取存储器,最为常见的系统内存。DRAM只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。
对于数据的表示,单个存储单元中内部所存储电荷的电压,和某个特定的阈值电压Vth,相比,如果大于此Vth值,就是表示1,反之,小于Vth,就表示0;对于nand Flash的数据的写入1,就是控制External Gate去充电,使得存储的电荷够多,超过阈值Vth,就表示1了。而对于写入0,就是将其放电,电荷减少到小于Vth,就表示0了。
2DRAM和NAND的单位
以DRAM内存颗粒为例,其存储组织结构为深度(Depth)加上位宽(Width),下面我们以美光官方的一份内存颗粒文档为大家解析,例如编号为MT40A1G16HBA-083E的内存颗粒,其深度(Depth)和位宽(Width)分别为1Gb和16,容量显然为16Gb,关于内存颗粒的容量我们这样解释下大家可能会更好理解一些。
而现在无论是桌面PC还是手机基本已经进入了64bit时代,处理器每次吞吐数据的单位为64,也就是说处理器一次需要抽调64个家庭,那么怎么办呢?于是我们就将多个国家联合起来,对于一个拥有16个城市的国家而言,那么只需要4个国家就可以满足处理器的需求。不过如果对于一些小国只有4个或者8个城市的,那么一次就需要16个国家联合起来或者8个国家联合起来才能够满足需求。
另外在数据流,例如网络带宽、USB带宽、PCI-E带宽,我们又会发现以b为单位,这是因为对于数据传输而言,都是以通道流形式,就像上面的例子一样一次只能放行一个家庭。而在数据传输过程中为了确保数据的安全还会加入一些校验数据在其中例如USB 3.0就采用了8b/10b的编码方式(每传输8bit数据就需要加入2bit校验数据),这个时候如果再使用Byte作为单位显然乱了章法,不合时宜。
3SLC、MLC、TLC NAND的区别
SLC–SLC英文全称(Single Level Cell——SLC)即单层式储存
SLC技术特点是在浮置闸极与源极之中的氧化薄膜更薄,在写入数据时通过对浮置闸极的电荷加电压,然后透过源极,即可将所储存的电荷消除,通过这样的方式,便可储存1个信息单元,这种技术能提供快速的程序编程与读取,不过此技术受限于Silicon efficiency的问题,必须要由较先进的流程强化技术(Process enhancements),才能向上提升SLC制程技术。
英特尔(Intel)在1997年9月最先开发成功MLC,其作用是将两个单位的信息存入一个Floating
Gate(闪存存储单元中存放电荷的部分),然后利用不同电位(Level)的电荷,通过内存储存的电压控制精准读写。MLC通过使用大量的电压等级,每 个单元储存两位数据,数据密度比较大。SLC架构是0和1两个值,而MLC架构可以一次储存4个以上的值,因此,MLC架构可以有比较好的储存密度。
TLC–TLC英文全称(Trinary-Level Cell)即三层式储存
TLC即3bit per cell,每个单元可以存放比MLC多1/2的数据,共八个充电值,所需访问时间更长,因此传输速度更慢。TLC优势价格便宜,每百万字节生产成本是最低的,但是寿命短,只有约1000次擦写寿命。
正如上面的介绍,从SLC到MLC再到TLC,cell对于电压的精确控制更高,这直接导致TLC的寿命下降到只有1000次PE,而对应的SLC和MLC分别为10000+和3000,相对来说TLC的耐久度显著下降。TLC的另外一个劣势就是数据的读写效率,在SLC时代,1个cell一次只需要读取/写入1个bit,到MLC时代每次需要读取/写入2bit,而到TLC时代则上升到3bit,很显然其性能受到电压控制的程序复杂度会变慢,当然由于工艺和主控的不断升级,目前TLC已经可以追平MLC产品。不过TLC耐久的硬伤短时间内并无法得到有效解决,当然TLC的耐久可以通过存储设备的容量加大而均衡磨损,变相演唱了产品的使用寿命。