磨损平衡技术
磨损平衡技术的大致含义就是通过主控芯片的调配,将读写操作平均分配给不同的闪存芯片,以避免频繁对某一区块进行读写而造成该区块寿命减少。
该技术分为两种:动态损耗均衡和静态损耗均衡,两者的原理一致,区别在于动态算法只会处理动态数据,比如数据改写时才会触发数据迁移的动作,对静态数据不起作用。而静态算法则可以均衡静态数据,当后台任务发现损耗很低的静态数据块时,将其迁移到其他数据块上,并将这些块放入空闲池中使用。从均衡的效果来看,静态算法要好于动态算法,因为几乎所有的Bk都可以被均衡地使用。.但是静态算法的缺点是当数据迁移时,可能会导致写性能下降。目前SandForce和Marvell的主控方案都支持静态磨损算法。
3.闪存转换层
谈到SSD主控,我们还需要关注一下闪存转换层技术。闪存转换层也叫“FTL”,是一种页面映射技术。
FLT的算法非常巧妙。如果要写入一个数据,SSD并不会先擦除某个页的数据再进行写入。而是将需要写入的信息写入不同的空闲的物理页中,然后再通过FTL映射,将闪存芯片上的这个页标记为无效,由此这个存储空间就被释放了。e-rL的算法是否科学,直接决定着SSD的性能。为实现这一映射,Intel需要在主控外使用DRAM缓存来保存映射表:当SSD为空盘时,缓存会直接返回FTL闪存转换层映射的地址,并不会真正映射到对应的闪存地址中。而SandForce则完全不需要外置缓存,因为在他们的方案中,实际写入闪存的数据比操作系统传输给控制器的数据要少。
来看看各家的主控芯片,目前最主流的有Intel、SandForce、Marvell等几家。
Intel作为芯片业的巨头无需多说,SandForce作为后起之秀,其口碑和影响力甚至不逊色于Intel,它新一代的主控均支持SATA6Gbps。至于HDD主控最大提供商Marvell,它的SSD主控整体性能也相当不错。
1.Intel主控由于在南桥芯片的开发过程中积累了丰富的磁盘控制器经验,Intel的SSD主控产品异常优秀,算法和固件都很先进,实际性能也很强。‘Intel是最先在SSD中引入写入放大指标的厂商,其专门为写入放大控制配备DRAM缓存:缓存用来作为储存数据的短期内存,从而比传统SSD主控能更有效率地执行写入操作。而‘传统控制器每一次都触发写入动作,即使储存小数据区块时也会写入放大到较大容量的存储块中。借助优秀的算法,Intel主控的写入放大率仅为1.1×,读写值已经很接近文档读写的真实,值。需要说明的是,考虑到产品寿命,Intel的主控限制了写入速度,这会影响突发写入速度,但持续写入性能更平衡、优秀,所以InteI主控在性能测试上的成绩也许并不是最高的,但读写稳定性绝对是一流的。
目前Intel的主打主控产品为PC29AS21BAO,这是采用34nm制程工艺的第二代产品,带有32MB缓存,随机4KB读写性能超过35000/600010PS。
目前Intel的X25系列、320系列均使用该主控方案。
2.SandForce主控从2009年推出SF-1000系列SSD控制器开始,SandForce迅速成为了固态存储领域的生力军,之所以能独霸一方,一个关键的因素就是它的DuraWrite技术。
DuraWrite技术采用了实时压缩和重复的数据算法,从而减小了操作系统传输给控制器的数据的大小。根据厂方的说法,这并不仅仅是压缩这么简单,而是一套多种多样的数据缩量算法:比如当数据存在重复时,仅写入特殊部分;当数据可压缩时,即进行压缩再存储,从而大大降低数据写入量。
如果你需要往SSD写入10MB的文件,那在文件进入硬盘之前SandForce主控会对文件进行压缩处理,可能被压缩到5MB甚至更低,而文件最终写入NAND颗粒的大小也就是压缩后的容量。但是在操作系统里仍然看到的是10MB占用率,因为操作系统记录的LBA还是10MB地址。然后从SSD里打开这个文件时,主控会对此文件先进行解压再送进系统内存。假设系统花了20ms读取了这个5MB的文件’,那么就是250MB/s的读取速度(1s=50个20ms),但是在主控里它被解压成了10MB,也就是数据量增大了1倍,看上去就变成了500MB/s的传输速度。
DuraWrite技术使得主控的写入放大能够达到0.5×,由于写入数据变少,主控不需要使用外部DRAM缓存,而是在芯片内直接集成了较大容量的缓存。
在去年10月,SandForce推出了第二代SF主控。针对主流民用市场的SF一2200系列,相较上一代产品在性能方面有了显着的提升:SATA6Gbps接口、60000IOPS随机读写、500MB/s连续读写等,这样的性能绝对是目前的SATASSD的巅峰表现。、3.Marvell主控说起Marvell,大家不可能不熟悉。目前大家常用的机械硬盘的主控芯片基本上都是它的芯片。面对日益火爆的SSD市场,Marvell怎么忍心缺席呢?于是,Marvell也针对SSD推出了一款全新的主控芯片88SS9174。
这是一款支持SATA6Gbps的芯片,它具有355MB/s的读取能力,连续写入性能也超过200MB/s,这些可都是实打实的规格,不像SandForce那样标称的是在数据可以被即时压缩的环境下的最佳性能。由于Marvell的旗舰产品主要面向企业级用户,虽然性能无比强大,但是其价格远非一般个人用户所能接受的。
总结可以说,不同主控之间的能力相差非常大,在主控算法、数据处理能力、对闪存芯片的读取写入控制上会有非常大的不同,直接会导致SSD产品在性能上差距高达数十倍。一款优秀的主控芯片即便配上相对廉价的MLC闪存,其性能也要优于较差的主控芯片搭配SLC闪存。因此,大家选择SSD时不妨用心留意一下SSD的“芯”。