MCPLive > 杂志文章 > SandForce SF3700主控芯片技术预览

SandForce SF3700主控芯片技术预览

2014-05-09黄博文 马宇川《微型计算机》2014年3月下

尽管没有什么夸张的规格,尽管性能并不惊人,但说到SF-2281,相信很多DIY玩家都不陌生。这种看似“烂大街”的主控芯片以低廉的价格、够用的性能成为不少中、低端固态硬盘的首选,而SandForce也与主流划上了等号。不过,自2011年被LSI以3.22亿美元收购以后,SandForce似乎获得了全面的新生。在2014年CES展会上,SandForce展出了号称拥有未来强性能的新一代SF3700系列主控芯片。接下来,就让我们通过其泄露的新资料,看看它到底拥有怎样的绝技,其性能又达到了何种高度?

我们知道,在Sand Force并入LSI旗下之前,曾推出过两代SSD主控芯片,分别为SF1200系列和SF2200系列。SF2200系列的产品并没有对主要架构做出很大调整,为了缩短产品推向市场的时间,SF2200系列的设计基本上是在SF1200系列的基础上修改完成的。因此,SF1200和SF2200系列在性能上没有明显差别,这不能不说是Sand Force留下的一大遗憾。而这一遗憾在SF3700系列中得到了补救。虽然SF3700继承了前代产品SF2200系列的技术特性,比如DuraWrite压缩算法、RAISE等等,但SF3700的架构却是全新设计。

模块化设计带来灵活配置

从架构图中我们不难发现,新一代主控SF3700的设计具有非常鲜明的模块化特点,前端、核心,以及后端三部分都实现了模块设计。在这样的模块化设计上,增减技术特性会变得十分容易,从高端到低端的芯片布局只要增减模块就能实现控制。替换前端接口模块就可以让SF3700快速地与其他接口协议对接。当前的SSD市场正在实现从SATA到PCI-E的转换,这样的模块化设计显然能够让迁移更加便捷。

目前SF3700的前端模块支持SATA 6Gb/s和PCI-E 2.0 x4两种接口,但值得注意的是,使用哪一个接口的能力并没有开放给普通用户自由设置,而是由厂商决定。后端模块则配备了多达9条NAND闪存读写通道,允许与Toggle-Mode和ONFI NAND等多种类型的闪存颗粒搭配。与此前的SandForce产品相同,SF3700控制器也不需要外部DR AM缓存,闪存映射表以及其他关键数据都保存在SSD控制器内部的高速缓存中,这样一来访问这些数据所需的延迟更低,有助于实现高速传输。

SF3700主控芯片采用模块化设计,可以让厂商非常灵活地开发各类产品。
SF3700主控芯片采用模块化设计,可以让厂商非常灵活地开发各类产品。

改进DuraWrite技术

对于写入寿命有限的SSD产品来说,如何控制写入放大是一个可以反映厂商技术实力的问题。若谈及Sand Force的产品,那么它那独特的DuraWrite技术不可不提。其特有的压缩算法不仅可以减少对闪存的写入量,也顺带提高了读写速度。举例来说,如果一个数据库的文件原本需占用1GB的容量,那么在写入基于SandForce主控芯片的SSD上,很可能只需要占用硬盘约80MB的空间(数据库模型文件一般可压缩到原有体积的8%)。同时,如果固态硬盘的写入速度原本为300MB/s,那么在写入这个1GB数据库文件时,由于其实际写入量仅80MB,因此只需不到1秒的时间就可完成。

而在SF3700主控上,它对Dura Write技术进行了加强,可以进一步提升低熵数据的压缩率。所谓低熵数据就是指那些数据库文件、文本文件以及程序类文件等可以被压缩的数据类型。而对影音、RAR、图片等这些已经被压缩过的高度熵值文件,则不会具备太大作用。

配备两级R AISE 增强数据恢复能力

除了控制写入的DuraWrite,SF前代产品也配备了冗余阵列来防止意外情况下导致的数据丢失。这个冗余阵列被称为RAISE。此前的RAISE技术通过占用一颗Die,来保护单一的页面或数据块,而SF3700提供了两级RAISE,使得SSD能够保护多个页面、数据块,乃至一整颗Die。这一保护能力不可谓不强,对于非常注重数据安全的企业客户来说无疑是福音。不过,要完整保护一颗Die的数据也就意味着SSD必须使用更多的空间进行冗余备份。要开启两级AISE功能的话,不仅需要占用SSD上的两颗Die,还得为冗余芯片专门设计一条数据传输通道,而这也是SF3700主控芯片设计9条读写通道的主要原因(其余8条用于正常工作状态下的数据传输)。这显然将不可避免地抬高SSD的成本简单地说,如果要保证一块SSD拥有256GB的可用空间,并使用两级R AISE功能,那么厂商必须为这块SSD配备288GB的闪存容量,其中两颗Die的容量即32GB用于备份。

对于普通消费者来说,这显然不是一个划算的买卖,因此Sand Force还为SF3700设计了新的单级RAISE阵列技术一小型RAISE。从前文可以看到,在以往,即便只是保护单一的页面或数据块也需要占用一颗Die,因此一块64GB容量的SSD也会损失1/8的容量,其实际可用空间只有56GB左右。而在优化算法的帮助下,小型RAISE技术将减少对冗余空间的需求,只需占用一颗Die的部分容量,就能具备以往单级RAISE阵列技术的功能。业内人士认为,该技术将在未来的小容量SSD上大放异彩。

将P/E次数提升到1万8

随着SSD向更低线宽的先进工艺迁移,硬件存储上遇到的错误会越来越多,并且出错几率会随着SSD的使用时长而逐渐提高。在SSD使用初期所需要的纠错算法,与寿命将尽时需要的纠错算法并不相同。SF3700支持一项被称为SHIELD(护盾)的数据纠错技术。

该技术引入了多种数据纠错算法来进行自适应的数据纠错。在数据错误率较低,工作状况良好时,SSD将使用简单而处理延迟较低的纠错算法。而当错误率开始升高的时候,SSD就会采用复杂、处理延迟较高的纠错算法。

值得一提的是,数据纠错算法本身也需要存储一些校验码作为辅助数据使用。一般来说复杂的校验纠错算法需要更多的校验码,但是识别错误的能力也更强。举例来说,硬件上简单的错误校验算法是单位奇偶校验,只需对一整块数据(通常是一个字节)里面的0或1的数目做记录,当0和1的相对数目发生变化时便可侦测到错误。这种效验码开销极低,但是检错能力受限。暂且不说它无法侦知偶数个的比特错误,即便它侦知有错误产生,也无法定位错误所在,使得错误纠正成为不可能,这才是头疼的问题。硬件上常用的另外两种算法,二维奇偶校验和汉明码,则提供了定位错误所在并加以纠正的关键能力,但代价是需要更多的存储空间来存储效验码,并且数据规模越大,所需开销越多,这部分校验码会占据SSD本来就不多的存储空间。

因此,SHIELD的“特异功能”是允许用户控制每一个闪存页面,设置数据纠错算法使用的空间百分比。用户可以在S SD的使用初期,也就是使用简单数据纠错算法的时候,将SSD有效容量维持在较高水平,而当SSD走入使用寿命后期时,则提升数据纠错算法的占用空间,从而提升SSD的稳定性。不过遗憾的是,该技术需要专业操作系统的支持,很可能只会出现在面对服务器及数据中心设计的企业级产品上。SandForce表示,通过SHIELD技术的应用,可以把10nm级别的NAND的P/E次数从3000次提高到1万8千次左右。

DuraWrite技术可以有效减少对闪存的写入量,并顺带提高读写速度。
DuraWrite技术可以有效减少对闪存的写入量,并顺带提高读写速度。

SF3700家族成员

目前,SF3700家族中有四种不同型号。低端入门级型号SF3719是为高性价比的PC而设计,支持SATA 6Gb/s和PCI-E2.0x2接口。SF3729的定位则比较适合超极本与笔记本,以上这两种主控均被建议在采用M.2(NGFF)板型的SSD上使用。而SF3739则适合性能发烧级以及企业入门级的用户,它舍弃了对SATA接口的支持,换来了两条额外的PCI-E通道,由此支持PCI-E 2.0 x4接口,并拥有掉电保护功能。SF3759则是面向企业级存储的旗舰型号,可定制需使用的PCI-E通道数,将主要应用在采用HHH L(半标高半标长)板型的大型企业级SSD上。

分享到:

用户评论

用户名:

密码: