心蝴蝶飞了 新迅驰来了


英特尔迅盘技术

    作为迅驰平台中首个可选部件,迅盘技术在出现伊始就被广泛关注。事实上这完全可以理解,因为在笔记本电脑中,处理器、内存以及显示芯片的升级换代一直保持着令人惊喜的速度,但作为影响系统性能的重要因素之一的硬盘却没有什么变化。究其原因,硬盘技术所面临的极限已经不仅仅是容量问题了,其机械结构决定了硬盘的速度已经不太可能再有什么提升空间——一方面,高转速带来的发热量达到一定程度时,将直接影响硬盘的存储性能和可靠性;另一方面,只要存在马达这类机械运动,硬盘的速度就永远不会有太大的提升。

    另一个问题是,尽管电子存储没有机械运动,但高昂的价格和目前容量的限制远远不能满足实际的需求。因此性价比较高的闪存自然就成为了工程师们的“榨取”目标,如何才能够发挥这些闪存的威力呢?

上图左边展示的就是在新一代迅驰平台中首次亮相的迅盘,它采用NAND闪存模块。通过笔记本电脑主板上的PCI-Express x1接口与系统相连(右)。

ReadyBoost
    我们可以看到最新的Windows Vista系统提供了ReadyBoost功能,允许使用者通过闪存来加速系统。ReadyBoost由一个在%SystemRoot%System32Emdmgmt.dll中实现的运行于主机进程中的服务和一个卷过滤器驱动程序 (%SystemRoot%System32DriversEcache.sys)组成。当闪存设备插入系统后,ReadyBoost服务会查看该设备以确定其性能特征,并将测试结果存储在HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentversionEmdmgmt中。

    并不是所有闪存设备都能够支持ReadyBoost功能,在微软的技术文档中写道:“当闪存设备容量介于256MB和 32GB之间,对于4KB随机读取的传输率为2.5MBps或更高、对于512KB随机写入的传输率为1.75MBps或更高”时, ReadyBoost才会将询问用户是否想要将部分存储空间用于进行磁盘缓存。

    尽管ReadyBoost可以使用NTFS,它还是会将最大缓存大小限制在4GB,以适应FAT32的限制。如果用户同意使用ReadyBoost功能的话,那么该服务便会在该设备的根目录下创建一个名为ReadyBoost.sfcache的缓存文件,并要求SuperFetch在后台预先填充缓存。

    在ReadyBoost服务对缓存进行初始化之后,Ecache.sys设备驱动程序会将所有读写数据截取到本地硬盘卷(例如 C:),并将要写入的所有数据复制到该服务创建的缓存文件中。Ecache.sys会将数据压缩,压缩比通常达到2:1。这样,4GB的缓存文件通常将包含8GB数据。驱动程序会联合使用高级加密标准(AES)和一个随机生成的引导会话密钥对其写入的每个块进行加密,以在将设备从系统移除的情况下保证缓存中数据的保密性。

    当ReadyBoost确定闪存内的缓存比硬盘内的缓存更能满足随机读取需求时,它便会从闪盘介质内随机读取数据。而硬盘的有序读取访问要明显胜过闪存,因此,当ReadyBoost侦测到有系统正在使用有序访问数据的时候,将直接从磁盘读取,即使该数据同样位于闪盘介质内的缓存中。

    正是基于这个原理,ReadyBoost可充当内存与硬盘之间的桥梁作用,从而加速系统性能。

ReadyDriver
    ReadyDriver功能是针对ReadyDrive提出的,为ReadDrive提供了软件上的支持。ReadyDrive事实上就是微软对Hybrid硬盘(带有内部闪存部件的硬盘)的称呼。这种硬盘除了闪存显而易见的随机访问速度优势外,最大的诱惑还是在于其中保存的数据“立等可取”—因为对于闪存而言,既不需要启动磁头,也不用等待磁头转动到合适的位置。

    Hybird硬盘的启动、休眠、睡眠速度更快,而且功耗更低。因为当操作系统读写缓存时,驱动器本身可以暂时停止工作,不消耗任何电力。而从休眠状态恢复运行时,笔记本电脑也能够马上从缓存中读取数据开始工作,而不用像往常那样,先得等待驱动器的磁头启动起来。

    迅驰中闪存所实现的ReadeyDriver功能类似于Hybird硬盘的原理,不同的是迅驰通过Mini PCI-E总线与系统交换数据,而Hybird硬盘依旧通过SATA接口与系统进行数据交换。

英特尔迅盘技术
    英特尔迅盘,(Intel Turbo Memory)也就是此前我们经常提及的Robson。迅盘采用了闪存模块+主控芯片的组成方式,其中主控制芯片针对数据的读写进行相应的控制,类似北桥芯片组中的内存控制器,闪存模块则用来存放数据。英特尔表示,在目前阶段销售的迅盘模块仅提供512MB和1GB两种规格。

    我们不排除迅盘模块被集成在笔记本电脑主板上的可能性,但更多时候它还是一个Mini PCI-E 1x规格的扩展卡,通过PCI-E总线与系统I/O控制器进行数据交换。迅盘支持智能预存取技术,能够判断出系统即将使用哪些数据,并预先把数据写入闪存芯片中,这样一来当启动操作系统或该应用程序时,CPU将直接从闪存中获取数据,再将其转入内存。由于是高速闪存之间的数据传递,其读取方式也变成了简单的电信号传输,省去了硬盘的机械动作,数据加载所需的时间自然大幅度降低,从而达到快速启动程序的目的。需要说明的是,迅盘所采用的闪存模块为NAND,而并非NOR,这是由于NAND在存取数据的性能方面要优于NOR,且具备更好的性价比。

    在迅盘的驱动程序中可以看出,使用者可以通过软件界面设定该模块提供ReadyBoost、ReadyDriver功能,还是两者兼具。需要说明的是,并不是任何一款笔记本电脑均支持迅盘模块,这不仅要求笔记本电脑提供一个额外的Mini PCI-E插槽,同时更重要的还要求笔记本电脑的SATA接口支持ACHI功能。

    AHCI的全称为“Serial ATA Advanced Host Controller Interface”,即“SATA高级主控接口”,是在英特尔的指导下,由多家公司联合研发的接口标准,其研发小组成员主要包括英特尔、AMD、戴尔、Marvell、迈拓、微软、Red Hat、希捷和StorageGear等著名企业。AHCI描述了一种PCI类设备,主要是在系统内存和SATA设备之间扮演一种接口的角色,而且它在不同的操作系统和硬件中是通用的。AHCI通过一个PCI BAR(基址寄存器)来实现原生SATA功能。由于AHCI统一接口的研发成功,使得支持SATA产品的开发工作大为简化,操作系统和设备制造商省去了单独开发接口的工作,取而代之的是直接在统一接口上进行操作,可以实现包括NCQ(Native Command Queuing)在内的诸多功能。

    一直以来SCSI硬盘在多任务负载下的表现能力为人称道,其根本的原因除了SCSI接口惊人的接口速率外,便是它的指令排序功能。以往的PATA、SATA硬盘也正是因为缺少一种指令优化执行功能而在性能上落后于SCSI硬盘。针对这一困境,英特尔的AHCI规范引入了NCQ,它的应用能够大幅度减少硬盘无用的寻道次数和数据查找时间,这样就能显著增强多任务情况下硬盘的性能。

    请注意,ACHI在系统内存和SATA之间提供了接口,这正是迅盘所需要的。因此,直接在系统BIOS中打开SATA的ACHI选项是启动迅盘模块的先决条件。
[an error occurred while processing this directive]

相关文章