构成SSD的主要IC有主控芯片和NAND闪存,估计有不少人认为单纯看主控就可以知道SSD的性能,其实这是错误的,就像OCZ现在的产品线那样,用的都是SandForce SF-2281主控,但是通过不同的闪存与固件搭配划分出Vertex 3 MAX IOPS、Vertex 3、Agility 3与Solid 3等不同层次的产品,相互之间性能差异比较大,可见SSD所用的固件与闪存种类都是对其性能有相当大影响的。 今天我们就来说说这个NAND闪存,目前闪存制造厂主要分为三星与东芝联合的ToggleDDR阵营和英特尔与美光为首的ONFI阵营,他们各有各的接口,产品之间的规格也不相同, 主流的SandForce SF-2000系列主控和Marvell 88SS9174主控都提供了对ONFI和ToggleDDR标准闪存的支持,下面就来介绍一下这两个标准。 ONFI接口标准 ONFI(Open NAND Flash Interface)标准是由英特尔,镁光,海力士,台湾群联电子,SanDisk, 索尼,飞索半导体为首宣布统一制定的连接NAND闪存和控制芯片的接口标准,当初制定ONFI标准的主要目的是统一当时混乱的闪存标准。 2006年,随着手机、MP3播放器、U盘的需求量逐渐增大,以及开始步入消费市场的SSD,市场对NAND闪存的需求也增加不少,而当时各个闪存制造厂所用的设计标准各有不同,这样导致闪存控制器厂商和下游产品制造厂在制作产品时碰到各种麻烦,业界迫切需求一个统一的标准,这就是ONFI的诞生背景。 ONFI 1.0制定于2006年12月,内容主要是制定闪存的物理接口、封装、工作机制、控制指令、寄存器等规范,增加对ECC的支持,传输带宽从传统的Legacy接口的40MB/s提升到50MB/s,性能提升幅度不大,不过其主要目的还是统一闪存接口规范,减轻产品厂商的开发压力。 ONFI 2.0标准诞生于2008年2月,2.0标准将带宽速度提高到133MB/s以满足高速设备对闪存性能的需求,在该版本中,主要是通过两项技术来提高传输速度。第一项就是在DRAM领域里常用的DDR(Double Data Rate,双倍数据率)信号技术。第二项是使用源同步时钟来精确控制锁存信号,使其能够达到更高的工作频率。 ONFI 2.1标准于2009年1月发布,带宽提升到166MB/s和200MB/s(工作模式不同速度不同),8KB page数据传输延时降低,改良电源管理降低写入操作能耗,加强ECC纠错能力,新增“Small Data Move”与“Change Row Address”指令。 ONFI 2.2发表于2009年10月,增加了LUN(逻辑单元号)重置、增强页编程寄存器的清除和新的ICC测量和规范。LUN重置和页编程寄存器清除提升了拥有多个NAND闪存芯片设备的处理效率,ICC规范则简化了下游厂家的测试程序。 ONFI 2.3在2010年8月的闪存峰会上发布,在2.2标准的基础上加入了EZ-NAND协议。EZ-NAND是Error Zero NAND的简写,这一协议将NAND闪存的纠错码管理由主控芯片中转移到闪存自身,以减轻主控芯片负担。 今年3月ONFI 3.0规范发布,接口带宽提升到400MB/s,需求的针脚数更少让PCB走线更加方便,从目前披露的资料来看,ONFI 3.0采用更短的信道、更宽的信号间距,并加入片内终止技术,使其传输带宽能够达到400MB/s。 三星与东芝的ToggleDDR阵营 面对ONFI组织的攻势,占有全球70% NAND产能的两大闪存生产巨头三星与东芝决定携手对抗,2007年12月,三星与东芝联合通过了一项关于闪存专利技术互换授权协议,根据这项协议,三星电子和东芝在闪存规格和技术上将完全共享。 根据项协议规定,三星将允许东芝生产和制造自己旗下的OneNAND和Flex-OneNAND闪存芯片,而东芝公司则将以自己的LBA-NAND和mobileLBA-NAND闪存芯片技术作为条件与三星电子进行交换,这些闪存芯片生产技术都是三星电子和东芝的核心技术,但是新的合作协议让双方在闪存芯片制造技术实力上都取得了进一步的增强,此外他们将一同合作研发新一代闪存产品,也就是后来的Toggle DDR NAND闪存。 2010年6月三星与东芝开始投产符合Toggle DDR 1.0接口标准的NAND闪存,Toggle DDR NAND采用双向DQS信号控制读写操作,信号的上升与下降沿都可以进行资料的传输,能使传输速度翻倍,接口带宽为133MB/s,而且没有内置同步时钟发生器(即NAND还是异步设计),因此其功耗会比同步NAND更低。 2010年8月,最新的Toggle DDR 2.0接口标准发布,传输带宽上升到400MB/s,目前网上关于此标准的详细消息还不多,不过可以可以确定的是技术指标与ONFI 3.0是类似的。 闪存的同步与异步 我们经常说闪存的同步与异步模式,其实是在ONFI 2.0标准中新加入的特性(ToggleDDR不存在同步闪存的情况,均为异步设计,但性能仍然强悍),ONFI 2.0标准在NAND中加入了同步时钟发生器,主控可以通过发送同步指令激活闪存上的同步时钟信号,使闪存工作在同步模式 ,此时闪存的数据传输速率会大幅度提升,异步模式相当于ONFI 1.0,闪存的带宽为50MB/s,而同步模式下闪存至少也符合ONFI 2.0,闪存带宽可达到133MB/s以上。 实际上同步与异步闪存都是同一生产线上下来的,颗粒品质的优劣才产生了这样的区别。比如英特尔29F64G08AAME1颗粒属于异步闪存,而英特尔29F32B08JCME2则支持同步/异步模式,又如镁光的29F64G08CBAAA是异步闪存,而29F64G08CBAAB颗粒支持同步/异步模式。 下面是镁光NAND在异步与同步模式下的部分针脚定义: 开机时SSD是运行在异步模式的,只有当主控发送同步指令给闪存后,才激活闪存上的源同步时钟,然后针脚定义发生改变,激活DQS信号, 让其工作在同步模式,并将异步模式下的WE#信号变为CLK信号,RE#变为W/R信号,同步模式下DQS信号的上升沿与下级沿都能控制信号的传输,使传输速度翻倍。 异步模式的数据相位 同步模式的数据相位 市面上有少数SSD使用异步闪存,但强制运行在同步模式,性能是上来了,稳定性存在隐患。 闪存类型对SSD速度的影响 上面的图左边是OCZ Agility 3 60GB,右边的是Vertex 3 60GB,这两个SSD都是用SandForce SF-2281主控,差别就是Agility 3用的是异步的闪存而Vertex 3用的是同步的闪存,SF-2281主控共有8条通道,如果使用8颗异步模式闪存的话理论内部总带宽是400MB/s,如果用8颗同步模式闪存的话理论内部总带宽则达到1333MB/s,当然这是理论上的,实际上还受着主控性能和各种延迟的影响,异步闪存与同步闪存的差别看上面两个OCZ SSD的读取速度就知道了。 最后来说一下NAND最基本的分类,就是SLC、MLC、TLC它们的差别。 SLC = Single-Level Cell,即1 bit per cell,只存在0和1两个充电值,结构简单但是执行效率高。SLC闪存的优点是传输速度更快,功率消耗更低和存储单元的寿命更长。然而,由于每个存储单元包含的信息较少,其每百万字节需花费较高的成本来生产,约10万次擦写寿命,在企业级SSD上比较常见,例如比较经典的Intel X25-E系列,此外还在某些高端U盘上使用。 MLC = Multi-Level Cell,即2 bit per cell,有00,01,10,11四个充电值,因此需要比SLC更多的访问时间,不过每个单元可以存放比SLC多一倍的数据。MLC闪存可降低生产成本,但与SLC相比其传输速度较慢,功率消耗较高和存储单元的寿命较低,约3000---10000次擦写寿命,大多数消费级SSD都是使用MLC做的。 TLC = Trinary-Level Cell,即3 bit per cell,每个单元可以存放比MLC多1/2的数据,共八个充电值,所需访问时间更长,因此传输速度更慢。TLC优势价格便宜,每百万字节生产成本是最低的,但是寿命短,只有约500次擦写寿命,通常用在U盘或者存储卡这类移动存储设备上。 |
针对SMR叠瓦式硬盘存在的问题,西数正在用更先进的技术解决,他们开
固态硬盘不认盘了能做数据恢复吗?从专业数据恢复层面来讲,当前有一
如今固态硬盘基本成为了标配,机械硬盘相比固态硬盘在读写速度在存在