SLC和MLC

  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必将退出历史的舞台。
 
上一篇:Apache Spark源码走读之23 -- Spark MLLib中拟牛顿法L-BFGS的源码实现


下一篇:C# 使用itextsharp 读取pdf中文字坐标