SLC 和MLC分别是是Single Layer Cell 单层单元和Multi-Level Cell多层单元的缩写,SLC的特点是成本高、容量小、速度快,而MLC的特点是容量大成本低,但是速度慢。MLC的每个单元是2bit的,相对SLC来说整整多了一倍。不过,由于每个MLC存储单元中存放的资料较多,结构相对复杂,出错的几率会增加,必须进行错误修正,这个动作导致其性能大幅落后于结构简单的SLC闪存。
存储单元分为两类:SLC(Single Level Cell 单层单元)和MLC(Multi-Level Cell多层单元)。此外,SLC闪存的优点是复写次数高达100000次,比MLC闪存高10倍。此外,为了保证MLC的寿命,控制芯片都校验和智能磨损平衡技术算法,使得每个存储单元的写入次数可以平均分摊,达到100万小时故障间隔时间(MTBF)。
对MLC和SLC两大架构现在网上存在一个普遍的认识误区,那就是大家都认为MLC架构的NAND闪存是劣品,只有SLC架构的NAND闪存才能在质 量上有保障。我们先来回忆一下MLC的发展历程以及SLC目前的发展状况再来给这个假设做定论吧。
MLC技术开始升温应该说是从2003年2月东芝推出了第一款MLC架构NAND Flash开始,当时作为NAND Flash的主导企业三星电子 对此架构很是不屑,依旧我行我素大力推行SLC架构。第二年也就是2004年4月东芝接续推出了采用MLC技术的4Gbit和 8Gbit NAND Flash,显然这对于本来就以容量见长的NAND闪存更是如虎添翼。三星电子长期以来一直倡导SLC架构,声称SLC优于 MLC,但该公司于2004和2005年发表的关于MLC技术的ISSCC论文却初步显示它的看法发生了转变。三星在其网站上仍未提供关于MLC闪存的任 何营销材料,但此时却已经开发出了一款4Gbit的MLC NAND闪存。该产品的裸片面积是156mm2,比东芝的90nm工艺MLC NAND闪存大 了18m㎡。两家主流NAND闪存厂商在MLC架构上的竞争就从这时开始正式打响了。除了这三星和东芝这两家外,现在拥有了英特尔MLC技术的IM科技 公司更是在工艺和MLC上都希望超越竞争对手,大有后来者居上的冲劲。MLC技术的竞争就这样如火如荼地进行着。
另一方面我们再来看看SLC技术,存取原理上SLC架构是0和1两个充电值,即每Cell只能存取1bit数据,有点儿类似于开关电路,虽然简单但却 非常稳定。如同电脑的CPU部件一样,要想在一定体积里容纳更多的晶体管数,就必须提高生产工艺水平,减小单晶体管体积。目前SLC技术受限于低硅效率问 题,要想大幅度提高制程技术就必须采用更先进的流程强化技术,这就意味着厂商必须更换现有的生产设备,投入大不说而且还是个无底洞。而MLC架构可以一次 储存4个以上的充电值,因此拥有比较好的存储密度,再加上可利用现有的生产设备来提高产品容量,厂商即享有生产成本上的优势同时产品良率又得到了保证,自 然比SLC架构更受欢迎。
既然MLC架构技术上更加先进,同时又具备成本和良率等优势,那为什么迟迟得不到用户的认同呢。除了认识上的误区外,MLC架构NAND Flash 确实存在着让使用者难以容忍的缺点,但这都只是暂时的。为了让大家能更直观清楚地认识这两种架构的优缺点,我们来做一下技术参数上的对比。
首先是存取次数。MLC架构理论上只能承受约1万次的数据写入,而SLC架构可承受约10万次,是MLC的10倍。这其中也存在一个误区,网上很多媒 体都有写MLC和SLC知识普及的文章,笔者一一拜读过,可以说内容不够严谨,多数都是你抄我我抄你,相互抄来抄去,连错误之处也都完全相同,对网友很不 负责。就拿存取次数来说吧,这个1万次指的是数据写入次数,而非数据写入加读取的总次数。数据读取次数的多寡对闪存寿命有一定影响,但绝非像写入那样严 重,这个寿命值正随着MLC技术的不断发展和完善而改变着。MLC技术并非一家厂商垄断,像东芝(Toshiba)已生产了好几代MLC架构NAND闪 存,包括前不久宣布和
美国SanDisk公司共同开发的采用最先进56nm工艺的16Gb(2gigabyte)和 8Gb(1gigabyte)MLC NAND闪存,16Gb是单芯片的业内最大容量。
东芝在MLC闪存设计方面拥有经验与技术,去年东芝利用90nm工艺与三星的73nm产品竞争。东芝90nm MLC闪存的位密度达 29 Mbits/ mm2,超过了三星的73nm闪存(位密度为25.8 Mbits/mm2)。对于给定的存储密度,东芝闪存的裸片面积也比三星的要 小。例如东芝的4-Gbit 90nm NAND裸片面积是138 mm2,而三星的4-Gbit 73nm NAND裸片面积是156 mm2,这使东 芝在成本方面更具竞争力。三星方面现在正奋起直追,与东芝之间的竞争异常激烈。再加上IMFT、海力士等厂商的参与,MLC技术发展势头迅猛,今天 MLC NAND Flash写寿命还只有1万次,明天也许就会是2万次、3万次甚至达到与SLC同等级别的10万次,这是完全有可能的。
拿MLC NAND Flash的写寿命我们一起来算笔帐,假如近期笔者购买了一款2GB容量MP3播放器,闪存是东芝产的MLC架构 NAND Flash,理论上只能承受约1万次数据写入。笔者是个疯狂的音乐爱好者,每天都要更新一遍闪存里的歌曲文件,这样下来一年要执行365次数据 写入,1万次可够折腾至少27年的,去除7年零头作为数据读取对闪存寿命的损耗,这款MP3播放器如果其它部件不出问题笔者就可以正常使用至少20年。 20年对于一款电子产品有着怎样的意义?就算笔者恋旧,也不可能20年就用一款MP3播放器吧。况且就算是SLC架构,闪存里的数据保存期限最多也只有 10年,1万次的数据写入寿命其实一点儿也不少。
其次是读取和写入速度。这里仍存在认识上的误区,所有闪存芯片读取、写入或擦除数据都是在闪存控制芯片下完成的,闪存控制芯片的速度决定了闪存里数据 的读取、擦除或是重新写入的速度。可能你会拿现成的例子来辩驳,为什么在同样的控制芯片、同样的外围电路下SLC速度比MLC快。首先就MLC架构目前与 之搭配的控制技术来讲这点笔者并不否认,但如果认清其中的原因你就不会再说SLC在速度方面存在优势了。SLC技术被开发的年头远早于MLC技术,与之相 匹配的控制芯片技术上已经非常成熟,笔者评测过的SLC产品数据写入速度最快能达到9664KB/s( KISS KS900),读取速度最快能达到13138KB/s( mobiBLU DAH-1700), 而同样在高速USB2.0接口协议下写入速度最慢的还不足1500KB/s,读取速度最慢的也没有超过2000KB/s。都是SLC闪存芯片,都是高速 USB2.0接口协议,为什么差别会如此大。笔者请教了一位业内资深
设计师,得到的答案是闪存控制芯片效能低,且与闪存之间的兼容性不好,这类产品不仅速 度慢而且在数据操作时出错的概率也大。这个问题在MLC闪存刚投入市场时同样也困扰着MLC技术的发展,好在去年12月我们终于看到了曙光。这就是擎泰科 技(Skymedi Corporation)为我们带来的新一代高速USB2.0控制芯片SK6281及SD 2.0/MMC 4.2的combo快闪 记忆卡控制芯片SK6621,在MLC NAND闪存的支持与速度效能上皆有良好表现。其所支持的MLC芯片已经达到了Class4的传输速度。
MLC NAND Flash自身技术的原因,只有控制芯片效能够强时才能支持和弥补其速度上的缺点,支持MLC制程的控制芯片需要较严格的标准,以 充分发挥NAND闪存芯片的性能。擎泰科技所推出的系列控制芯片经过长时间可靠性测试及针对不同装置兼容性进行的比对较正,已能支持目前市场主流的MLC 闪存,如英特尔JS29F16G08CAMB1、JS29F08G08AAMB1,三星K9G4G08U0A、K9G8G08U0M、 K9LAG08U0M、K9HBG08U1M,东芝TC58NVG2D4CTG00、TC58NVG3D4CTG00、TH58NVG4D4CTG00, 美光(Micron)、海力士(Hynix)等等。此外,藉由良好的韧体设计,可大幅提升性能,达到最高的存取速度,例如:SK6621支持MLC可到 Class4水准,其所支持SLC皆可支持到Class6的传输速度。SK6281还达到了Vista ReadyBoost速度的需求 (Enhanced for Windows ReadyBoost),且支持单颗MLC时可达22MB/s的读取速度及6MB/s的写入速度,综合下来 并不比SLC慢多少。你手上的MP3播放器USB传输速度慢并不全是因为闪存芯片采用了MLC架构,它与控制芯片的关系要更加密切一些。
第三是功耗。SLC架构由于每Cell仅存放1bit数据,故只有高和低2种电平状态,使用1.8V的电压就可以驱动。而MLC架构每Cell需要存 放多个bit,即电平至少要被分为4档(存放2bit),所以需要有3.3V及以上的电压才能驱动。最近传来好消息,英特尔新推出的65纳米MLC写入速 度较以前产品提升了二倍,而工作电压仅为1.8V,并且凭借低功耗和深层关机模式,其电池使用时间也得到了延长。
第四是出错率。在一次读写中SLC只有0或1两种状态,这种技术能提供快速的程序编程与读取,简单点说每Cell就像我们日常生活中使用的开关一样, 只有开和关两种状态,非常稳定,就算其中一个Cell损坏,对整体的性能也不会有影响。在一次读写中MLC有四种状态(以每Cell存取2bit为例), 这就意味着MLC存储时要更精确地控制每个存储单元的充电电压,读写时就需要更长的充电时间来保证数据的可靠性。它已经不再是简单的开关电路,而是要控制 四种不同的状态,这在产品的出错率方面和稳定性方面有较大要求,而且一旦出现错误,就会导致2倍及以上的数据损坏,所以MLC对制造工艺和控制芯片有着更 高的要求。目前一些MP3主控制芯片已经采用了硬件4bit ECC校验,这样就可以使MLC的出错率和对机器性能的影响减小到最低。
第五是制造成本。为什么硬盘容量在成倍增大的同时生产成本却能保持不变,简单点说就是在同样面积的盘片上存储更多的数据,也就是所谓的存储密度增大 了。MLC技术与之非常类似,原来每Cell仅存放1bit数据,而现在每Cell能存放2bit甚至更多数据,这些都是在存储体体积不增大的前提下实现 的,所以相同容量大小的MLC NAND Flash制造成本要远低于SLC NAND Flash。
综上所述,MLC技术是今后NAND Flash的发展趋势,就像CPU单核心、双核心、四核心一样,MLC技术通过每Cell存储更多的bit来实 现容量上的成倍跨越,直至更先进的架构问世。而SLC短期内仍然会是市场的佼佼者,但随着MLC技术的不断发展和完善,SLC必将退出历史的舞台。
- 购买SSD固态硬盘须当心,你知道什么是SLC、 MLC、TLC闪存芯片颗粒吗?
固态硬盘凭借其存取速率超快等自身优势,被越来越多的电脑爱好者所青睐,并迅速普及到了广大用户的电脑中,因为固态硬盘与传统机械硬盘相比,确实在运行效率等方面有了质的提升,但是亦是美网络小编要提醒大家的是, ...
- SLC和MLC闪存芯片的区别
许多人对闪存的SLC和MLC区分不清.就拿目前热销的MP3随身听来说,是买SLC还是MLC闪存芯片的呢?在这里先告诉大家,如果你对容量要求不高,但是对机器质量.数据的安全性.机器寿命等方面要求较高,那 ...
- 储存技术(SLC、MLC、TLC和QLC的NAND闪存技术)和Optane Memory
1.转载:Optane Memory 2.构成SSD的主要IC有主控芯片和NAND闪存,SLC.MLC和TLC三者都是闪存的类型 需要说明的闪存的寿命指的是写入(擦写)的次数,不是读出的次数,因为读取 ...
- SLC、MLC和TLC三者的区别
SLC=Single-LevelCell,即1bit/cell,速度快寿命长,价格超贵(约MLC3倍以上的价格),约10万次擦写寿命 MLC=Multi-LevelCell,即2bit/cell,速度 ...
- ssd存储的SLC、MLC、TLC闪存芯片颗粒有什么区别?
SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格贵(约MLC 3倍以上的价格),约10万次擦写寿命: MLC = Multi-Level Cell,即2bit ...
- SSD -----TLC MLC SLC
SLC缓存什么鬼?TLC评测造假要持续多久 2016.5.5来源:中关村在线 TLC的廉价真的将SSD引入了全面普及的高速公路上,谈到TLC我们更多的理解是TLC的P/E(Program/Erase ...
- SLC、eSLC、MLC、eMLC的区别
SLC.eSLC.MLC.eMLC的区别 作为SSD主要元件的NAND闪存,我们经常见到的有SLC和MLC两种,甚至还细分出eSLC和eMLC等等,现在我们谈一下他们之间的区别. SLC全 ...
- 深入解析SSD中MLC与SLC的性能差异
固态硬盘(Solid State Disk或Solid State Drive),也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘. 固态硬盘的接口规范和 ...
- 优盘(U 盘) 采用TLC, MLC, SLC芯片 的区别 与使用寿命
最近一直在看大家在讨论sandisk,pny,金士顿等大厂都开始用tlc的芯片问题,让大家基本都不敢用U盘存数据了按照之前的擦写参数TLC 1000次MLC 10000次SL ...
随机推荐
- juce AsyncUpdaterMessage 分析
这个类同样是基于 CallbackMessage, 主要目的是为了在主线程中进行回调,只不过在收到消息的时候进行检测,检测消息发送对象是否已经删除,如果消息发送对象已经没了.消息回调最终调用了调用者的 ...
- 使用HAProxy、PHP、Redis和MySQL支撑每周10亿请求
在公司的发展中,保证服务器的可扩展性对于扩大企业的市场需要具有重要作用,因此,这对架构师提出了一定的要求.Octivi联合创始人兼软件架构师Antoni Orfin将向你介绍一个非常简单的架构,使用H ...
- Sublime text3 安装和配置
1.下载安装 首先到http://www.sublimetext.com/3根据你的电脑配置下载对应的安装包,然后不断的点击next,然后blablabla......就可以安装好了.本文是安装por ...
- Linux05--Shell程序设计01
1.Shell脚本介绍 基本介绍: shell脚本是一个可执行的纯文本文件,由多个shell命令组成. 命令的执行是从上而下,从左而右的分析和执行 命令,参数间的多个空白也会被忽略 #是注释 #!用于 ...
- UML--用例图
一.UML概述 1.UML的作用:a 把复杂的问题分解 b 实现了可视化 UML是由Rational公司创建的 2.UML是什么:是一种语言,有属于自己的标准表达规则,是一种分析设计语言, ...
- C语言单片和C#语言服务器端DES及3DES加密的实现
原文:C语言单片和C#语言服务器端DES及3DES加密的实现 公司最近在做单片机和C#语言的通信.用的是Socket通信.传输的数据是明文,后来 在会上讨论准备用DES加密(对称加密)来做. 双方约定 ...
- 如何在同一系统里同时启动多个Tomcat
需要在同一系统里启动多个tomcat,应该怎么处理? tomcat是个服务程序,需要占用几个通讯端口,所以默认情况是不能启动多个tomcat,如果要启动多个tomcat,需要修改配置文件,通过在配置文 ...
- web本地存储-LocalStorage
LocalStorage是HTML5 提供的在客户端存储数据的方法.替代但不同于之前的globalStorage,规则作用范围事先已设定好,是同一个域名(子域无效),使用同一种协议,在同一个端口上.目 ...
- 排列与组合的C语言实现
排列与组合是数学里的经典问题,由这个问题可引申出子集.字典排序等问题,那么,我们先看经典的排列与组合,怎么在程序里实现. 在网上搜了一下,关注这个问题的人还是挺多的,有不了人给出的回答是使用几个for ...
- 剖析magento中关于Email模板的设置
public function send() { $emailTemplate = Mage::getModel('core/email_template'); // ...