SandForce公司成立于2006年,今年4月宣布了首批两款固态硬盘控制器产品SF-1200和SF-1500。两者均使用Tensilica DC_570T CPU核心,区别在于Sf-1200面向民用,仅支持MLC颗粒;而SF-1500面向企业,支持MLC和SLC颗粒。11月,OCZ宣布与SandForce开展合作。现在,首款采用SandForce控制器的固态硬盘产品OCZ Vertex 2 Pro即将出炉,Anandtech网站已经拿到了样品进行测试。
首先来看SandForce的技术创新。我们这里关注的是SSD控制器的一项主要功能:Page mapping页面映射。简单地说,这一操作就是将文件系统里的簇映射到闪存中的一个Page(页),实际上就是一个分类整理优化的过程。为实现这一映射,Intel需要在控制器外使用DRAM缓存来保存映射表,Indilinx方案中的缓存除了保存映射表外,还能缓存用户数据。而SandForce则完全不需要外置缓存,因为在他们的方案中,你实际写入闪存的数据,要比操作系统传输给控制器的少。
NAND闪存存储的一大缺陷就是需要在写入时对存储结构进行整理,这导致实际上写入的数据比我们真正需要存储的数据量大。在一款比较普通的固态硬盘中,如果你需要写入1GB数据,在盘内结构已经比较混乱(存储、删除、再存储)的情况下,最后真正写入的数据量可能高达10GB甚至20GB。真实写入数据与需要写入数据之比即为“写入放大率”(Write Amplification)。Intel固态硬盘的性能之所以如此出色,就是因为他们把写入放大率降低到了1.1x左右,而SandForce可以达到0.5x!
没错,在SandForce方案中,写入1GB数据时,最终写进闪存的可能只有500MB甚至更少,这就是SandForce的DuraWrite技术。根据厂方的测试,安装Windows Vista和Office 2007的全过程共需要写入25GB数据,而使用DuraWrite技术实际写入仅为11GB。
可能大家已经猜到了,SandForce在将数据写入闪存前进行了压缩。但不过根据厂方的说法,这并不仅仅是压缩这么简单,而是一套多种多样的数据缩量算法。比如当数据存在重复时,仅写入特殊部分;当数据可压缩时,即进行压缩再存储等。
由于写入数据变少,SandForce控制器不需要使用外部DRAM缓存,而是在芯片内直接集成了较大容量的缓存。但这样的技术也有弱点,当需要写入的数据已经进行过压缩时(如图片、视频或压缩文件),其算法就无法再发挥理想效果。