文档介绍:突破硬盘性能瓶颈目前硬盘主轴电机的转速已经接近工艺极限,而一味地提高存储密度收效并不明显。这时事物的螺旋形发展规律再次体现:就像当年CPU发展到一定程度后,发现内存已经很难满足CPU高速存储数据的需求时,开发人员为CPU添加了二级缓存一样。当如今内存的速度已经远远超过硬盘时,为何不在内存和硬盘之间加一个读写速度介于两者之间的存储层呢? 令人没有想到的是,微软在这个技术问题上走在了硬件厂商之前。从WindowsVista开发伊始便把这种理念扎根于新的操作系统中,并提出了三种解决方案:ReadyBoost、ReadyDrive和SuperFetch。其中ReadyBoost是通过在Flash芯片上建立类似页面文件的缓存来提高磁盘性能;而ReadyDrive就是现在炒得火热的混合式硬盘;最后一种SuperFetch,我们可以将它看作前两种方式的合体。可惜计划归计划,实践起来并没有这么顺利。ReadyBoost由于微软局限于USBFlash载体,在需要频繁读取大容量文件的场合用处不大;ReadyDrive虽然听上去不错,可是目前高速的NAND闪存集成到硬盘里的工艺要求太高,至今还没有价格合理的成品上市;至于SuperFetch,就更是音讯全无。RobsonCard横空出世很明显,微软的初步意图是这样的:、支持ReadyBoost功能的优盘或者SD卡之类的存储介质,把它放置在内存和硬盘之间缓冲。而Intel也在打着类似的算盘,只是内存和硬盘之间的缓冲区由外界的Flash存储器换成了内置、PCIExpress接口的RobsonCard,也就是我们今天将要剖析的主角。 ReadyBoost是借助USB接口,主要在需要频繁读取一些小文件的场合用处较大,可以提高小容量内存系统的磁盘性能(比如在小容量内存的平台上运行Vista系统)。而Robson则是借助PCI-Express接口的高速高带宽在硬盘和内存之间建立缓冲区,在需要频繁读取大容量文件的应用场合发挥自己的用武之地。两种方式在实现原理上颇为类似,却有各自的应用侧重点。我们知道,在编程设计中如果一个变量需要反复快速读取,可以将其申明寄存器变量,利用CPUCache的读写速度远高于内存的特点来提高程序的执行效率。与此类似,当某一个硬盘上的文件需要频繁读取的时候,也可以通过将其载入到RobsonCard上来提高读写速度。例如,某程序需要访问文件A,它首先会在内存中查找是否有该文件,如果没有,那么会立即到硬盘中去查询。在使用了RobsonCard之后整个过程发生了变化:当某程序需要访问文件A时,它依然会先在内存中查找,如果没有找到,它会先查看Robson的数据库,如果此文件被放在了RobsonCard上,那么就会直接被调用,再也没硬盘什么事儿了。近距离剖析RobsonCard 说了那么多,接下来就让我们看看工程版RobsonCard是什么样子吧(据说已经和最终成品相差不大)。相比早期版本,现在几乎可算是成品的样卡PCB板型更小,更有利于节省成本。板卡上共有四个Flash芯片焊位,两个留空。这样的设计可以通过搭配不同规格的Flash芯片来生产高,中、低端的产品。虽然从整体板型上来看,RobsonCard远没有显卡、声卡来的复杂,但是由于它的成本直接体现在闪存芯片和控制芯片上,因此目前这种板