论文部分内容阅读
目前硬盘主轴电机的转速已经接近工艺极限,而一味地提高存储密度收效并不明显。这时事物的螺旋形发展规律再次体现:就像当年CPU发展到一定程度后,发现内存已经很难满足CPU高速存储数据的需求时,开发人员为CPU添加了二级缓存一样。当如今内存的速度已经远远超过硬盘时,为何不在内存和硬盘之间加一个读写速度介于两者之间的存储层呢?
令人没有想到的是,微软在这个技术问题上走在了硬件厂商之前。从Windows Vista开发伊始便把这种理念扎根于新的操作系统中,并提出了三种解决方案:ReadyBoost、ReadyDrive和SuperFetch。其中ReadyBoost是通过在Flash芯片上建立类似页面文件的缓存来提高磁盘性能;而ReadyDrive就是现在炒得火热的混合式硬盘;最后一种SuperFetch,我们可以将它看作前两种方式的合体。可惜计划归计划,实践起来并没有这么顺利。ReadyBoost由于微软局限于USB Flash载体,在需要频繁读取大容量文件的场合用处不大;ReadyDrive虽然听上去不错,可是目前高速的NAND闪存集成到硬盘里的工艺要求太高,至今还没有价格合理的成品上市;至于SuperFetch,就更是音讯全无。Robson Card横空出世
很明显,微软的初步意图是这样的:用目前较容易实现的USB 2.0接口、支持ReadyBoost功能的优盘或者SD卡之类的存储介质,把它放置在内存和硬盘之间缓冲。而Intel也在打着类似的算盘,只是内存和硬盘之间的缓冲区由外界的Flash存储器换成了内置、PCI Express接口的Robson Card,也就是我们今天将要剖析的主角。
ReadyBoost是借助USB接口,主要在需要频繁读取一些小文件的场合用处较大,可以提高小容量内存系统的磁盘性能(比如在小容量内存的平台上运行Vista系统)。而Robson则是借助PCI-Express接口的高速高带宽在硬盘和内存之间建立缓冲区,在需要频繁读取大容量文件的应用场合发挥自己的用武之地。两种方式在实现原理上颇为类似,却有各自的应用侧重点。
我们知道,在编程设计中如果一个变量需要反复快速读取,可以将其申明寄存器变量,利用CPU Cache的读写速度远高于内存的特点来提高程序的执行效率。与此类似,当某一个硬盘上的文件需要频繁读取的时候,也可以通过将其载入到Robson Card上来提高读写速度。例如,某程序需要访问文件A,它首先会在内存中查找是否有该文件,如果没有,那么会立即到硬盘中去查询。在使用了Robson Card之后整个过程发生了变化:当某程序需要访问文件A时,它依然会先在内存中查找,如果没有找到,它会先查看Robson的数据库,如果此文件被放在了Robson Card上,那么就会直接被调用,再也没硬盘什么事儿了。
近距离剖析Robson Card
说了那么多,接下来就让我们看看工程版Robson Card是什么样子吧(据说已经和最终成品相差不大)。
相比早期版本,现在几乎可算是成品的样卡PCB板型更小,更有利于节省成本。板卡上共有四个Flash芯片焊位,两个留空。这样的设计可以通过搭配不同规格的Flash芯片来生产高,中、低端的产品。
虽然从整体板型上来看,Robson Card远没有显卡、声卡来的复杂,但是由于它的成本直接体现在闪存芯片和控制芯片上,因此目前这种板型的Robson Card具有很大的弹性空间。容量上有四个焊位可以灵活组合,控制芯片的升级换代将直接影响到它的性能和价格。
我们拿到的这块样卡是4GB版本,板载两颗编号为“29F16G08FANB1”的单颗2GB容量NANDFlash芯片,另外还有一种1GB版本的(板载两颗512MB的NAND Flash芯片)。
按照Intel的市场定位,1GB的版本适合绝大多数普通用户而4GB的版本,按照惯例应该会成为“Extreme”版。一般来说,使用4GB版本的高端用户会拥有2GB左右的系统内存,同时会运用到高系统负载和多任务环境,如游戏,多媒体编辑等。当然,Intel的Extreme系列产品价格也不是普通用户能够承受得了的。
可以看到,整个板卡结构并不复杂,但这不代表该项技术实现起来不复杂。Robson,也就是现在的Intel Turbo Memory,是一个基于软硬件混合的平台,在硬件方面需要拥有配备ICH7/8/9R或者DH南桥芯片的主板支持,其中ICH7(一般搭配975X北桥芯片)和ICH8(一般搭配P/G/0965北桥芯片)都是成品,而与ICH9配套的G33、P/G35和X38北桥芯片也将于今年第二季度面世。除了这些集成SATA控制器的南桥芯片以外,自然还需要我们前面已经细看过的Robson Card。为了尽可能提高其性能,Robson Card上的NAND Flash芯片也必须拥有较高的读写速度。
软件方面,当然少不了Robson Card的驱动。另外还有一个程序连结软件(Intel Application Pinning Technology),至于这个程序如何使用,我们将在稍后的测试中介绍。
让卡动起来——Robson Card性能测试
由于是最新技术的测试,因此测试环境也基本是最高端的配置。我们搭建了两套完全一样的平台,一个平台使用Robson Card,另一个则没有。
激活Robson Card
Step1
最先要做的是更新AHCI驱动。Windows Vista在安装的时候会自动安装上兼容驱动,对于一般应用,这款兼容驱动并没有问题。但是由于我们要开启SATA控制器对Robson的支持,因此必须更新内部版本的驱动。
Step 2
安装Robson Card的驱动,我们可以看到该设备名为“IntelDiamond Lake NAND‘RHCI’Disk Cache Controller”。这个Controller其实指的就是之前我们看到的板卡上靠近PCI,Express接口的那颗小小芯片。
完成驱动安装后需要重新启动电脑,让操作系统能够正确调用驱动程序。然后打开一个叫“Robson Driver Settings Editor
令人没有想到的是,微软在这个技术问题上走在了硬件厂商之前。从Windows Vista开发伊始便把这种理念扎根于新的操作系统中,并提出了三种解决方案:ReadyBoost、ReadyDrive和SuperFetch。其中ReadyBoost是通过在Flash芯片上建立类似页面文件的缓存来提高磁盘性能;而ReadyDrive就是现在炒得火热的混合式硬盘;最后一种SuperFetch,我们可以将它看作前两种方式的合体。可惜计划归计划,实践起来并没有这么顺利。ReadyBoost由于微软局限于USB Flash载体,在需要频繁读取大容量文件的场合用处不大;ReadyDrive虽然听上去不错,可是目前高速的NAND闪存集成到硬盘里的工艺要求太高,至今还没有价格合理的成品上市;至于SuperFetch,就更是音讯全无。Robson Card横空出世
很明显,微软的初步意图是这样的:用目前较容易实现的USB 2.0接口、支持ReadyBoost功能的优盘或者SD卡之类的存储介质,把它放置在内存和硬盘之间缓冲。而Intel也在打着类似的算盘,只是内存和硬盘之间的缓冲区由外界的Flash存储器换成了内置、PCI Express接口的Robson Card,也就是我们今天将要剖析的主角。
ReadyBoost是借助USB接口,主要在需要频繁读取一些小文件的场合用处较大,可以提高小容量内存系统的磁盘性能(比如在小容量内存的平台上运行Vista系统)。而Robson则是借助PCI-Express接口的高速高带宽在硬盘和内存之间建立缓冲区,在需要频繁读取大容量文件的应用场合发挥自己的用武之地。两种方式在实现原理上颇为类似,却有各自的应用侧重点。
我们知道,在编程设计中如果一个变量需要反复快速读取,可以将其申明寄存器变量,利用CPU Cache的读写速度远高于内存的特点来提高程序的执行效率。与此类似,当某一个硬盘上的文件需要频繁读取的时候,也可以通过将其载入到Robson Card上来提高读写速度。例如,某程序需要访问文件A,它首先会在内存中查找是否有该文件,如果没有,那么会立即到硬盘中去查询。在使用了Robson Card之后整个过程发生了变化:当某程序需要访问文件A时,它依然会先在内存中查找,如果没有找到,它会先查看Robson的数据库,如果此文件被放在了Robson Card上,那么就会直接被调用,再也没硬盘什么事儿了。
近距离剖析Robson Card
说了那么多,接下来就让我们看看工程版Robson Card是什么样子吧(据说已经和最终成品相差不大)。
相比早期版本,现在几乎可算是成品的样卡PCB板型更小,更有利于节省成本。板卡上共有四个Flash芯片焊位,两个留空。这样的设计可以通过搭配不同规格的Flash芯片来生产高,中、低端的产品。
虽然从整体板型上来看,Robson Card远没有显卡、声卡来的复杂,但是由于它的成本直接体现在闪存芯片和控制芯片上,因此目前这种板型的Robson Card具有很大的弹性空间。容量上有四个焊位可以灵活组合,控制芯片的升级换代将直接影响到它的性能和价格。
我们拿到的这块样卡是4GB版本,板载两颗编号为“29F16G08FANB1”的单颗2GB容量NANDFlash芯片,另外还有一种1GB版本的(板载两颗512MB的NAND Flash芯片)。
按照Intel的市场定位,1GB的版本适合绝大多数普通用户而4GB的版本,按照惯例应该会成为“Extreme”版。一般来说,使用4GB版本的高端用户会拥有2GB左右的系统内存,同时会运用到高系统负载和多任务环境,如游戏,多媒体编辑等。当然,Intel的Extreme系列产品价格也不是普通用户能够承受得了的。
可以看到,整个板卡结构并不复杂,但这不代表该项技术实现起来不复杂。Robson,也就是现在的Intel Turbo Memory,是一个基于软硬件混合的平台,在硬件方面需要拥有配备ICH7/8/9R或者DH南桥芯片的主板支持,其中ICH7(一般搭配975X北桥芯片)和ICH8(一般搭配P/G/0965北桥芯片)都是成品,而与ICH9配套的G33、P/G35和X38北桥芯片也将于今年第二季度面世。除了这些集成SATA控制器的南桥芯片以外,自然还需要我们前面已经细看过的Robson Card。为了尽可能提高其性能,Robson Card上的NAND Flash芯片也必须拥有较高的读写速度。
软件方面,当然少不了Robson Card的驱动。另外还有一个程序连结软件(Intel Application Pinning Technology),至于这个程序如何使用,我们将在稍后的测试中介绍。
让卡动起来——Robson Card性能测试
由于是最新技术的测试,因此测试环境也基本是最高端的配置。我们搭建了两套完全一样的平台,一个平台使用Robson Card,另一个则没有。
激活Robson Card
Step1
最先要做的是更新AHCI驱动。Windows Vista在安装的时候会自动安装上兼容驱动,对于一般应用,这款兼容驱动并没有问题。但是由于我们要开启SATA控制器对Robson的支持,因此必须更新内部版本的驱动。
Step 2
安装Robson Card的驱动,我们可以看到该设备名为“IntelDiamond Lake NAND‘RHCI’Disk Cache Controller”。这个Controller其实指的就是之前我们看到的板卡上靠近PCI,Express接口的那颗小小芯片。
完成驱动安装后需要重新启动电脑,让操作系统能够正确调用驱动程序。然后打开一个叫“Robson Driver Settings Editor