● 第三章 第四节 “迅盘”技术解析
以往,迅驰价构往往由三大块组成——CPU、Chipset和无线模块。就这一代来看,如果说CPU和Chipset架构没有特别大的惊喜,那么,官方命名为“迅盘”的闪存模组算是最大的亮点了。和无线模组一样,迅盘也是一个通过PCI-E接口和主板连接的模组,其作用是主要是利用大容量闪存作为缓冲区,部分提高系统的磁盘性能以及整体性能。
现在来看,Intel似乎还没有将迅盘模组单独提列出来、使之成为并列于其它三大部分成为构成迅驰平台第四大组成部分的意向。目前迅盘仍然是迅驰系统的一个可选功能扩展模块。本章我们不妨来简单了解一下闪存加速是怎样实现的,领先步先粗略了解一下闪存的分类。
● 领先小节 闪存诞生和分类
● NAND闪存 大容量闪存发展方向
1980年,Intel以原EPROM为基础,研制成功block读写的Flash Memory,这也是今天闪存的鼻祖。1987年,东芝公布了NAND闪存;1988年,Intel公布NOR闪存。NOR闪存和NAND闪存目前已经成为主流的两种闪存。。除了NOR闪存和NAND闪存,后来还有三菱的DiNOR闪存和日立的AND型闪存,不过都不如NOR和NAND闪存那样常见,本文也就略过不提了。
Intel无线NOR闪存
AD MUX I/O NOR闪存芯片
简单来说,NOR闪存因为先天设计特点等方面的原因,在读取速度上比NAND闪存更快,但是擦除和写入速度却不如NAND闪存。并且由于Cell Size比较大,相对耗电比NAND闪存更多、成本更高。现在NOR闪存主要用于如手机内建存储装置等领域。而NAND闪存由于Cell Size小,容量上占有优异的优势,相对成本低、耗电低,目前广泛应用于各种存储卡、U盘等外接存储装备。
NAND闪存架构和芯片
不难看出,正因为因为容量和成本上的优异优势,NAND闪存成为我们日常接触最多的闪存。并且, NAND闪存的应用范围越来越广。象我们这里提到的Intel的迅盘技术,采用的就是NAND闪存。本节我们介绍的重点也只能是NAND闪存。
● SLC和MLC
NAND闪存可分为三大架构:单层单元(Single Level Cell),SLC;多层单元(Multi Level Cell),MLC;多位单元(Multi Bit Cell),MBC。其中,MBC是Infineon和Saifun以NROM技术为基础共同开发的NAND闪存架构,该项架构技术并不是十分成熟,目前没有广泛应用,本节略过不提。
SLC和MLC结构和工作原理示意图
SLC是基础的NAND闪存技术,与EEPROM的原理类似(整个NAND闪存都是东芝根据EEPROM发展开发的)。其工作原理简单来说,是在源极和漏极之间电流单向传导的半导体上形成贮存电子的浮动栅(Floating Gate,闪存存储单元中存放电荷的部分),数据是0或1取决于浮动栅中是否有电荷。有电荷为0,无电荷为1。写入时只有数据为0时才进行写入,写入方式是向栅电极和漏极施加高电压,增加在源极和漏极之间传导的电荷能量。电荷突破氧化膜绝缘体,进入浮动栅。读取数据时,向栅电极施加一定的电压,电流大为1,电流小则定为0。
采用这样的方式在每个Cell中可存储1个bit的信息,其特点是稳定、读写速度快,但Cell可写入次数为10万次,三星是SLC是主要倡导者。但是SLC也有很大的缺点,就是同面积容量比较小,并且由于先天上的限制,基本上很难再往前发展。
两个MCL Block的NAND FLASH
1997年,Intel率先研发成功MLC,其原理是将2个或2个以上bit以上的信息写入一个浮动栅,然后利用不同电位的电荷,透过内存储存格的电压控制精准读写。MLC由于成本低,容量大,问世以来得到了Intel、东芝、Hynix等多家闪存大厂的支持,其中东芝更是大力发展MLC技术。不过,MLC也有其缺点,那就是工作不如SLC稳定,读写速度也比SLC慢。还有,MLC的可写入次数为1万次。因此,MLC曾一度被误解为劣质闪存芯片。不过,由于容量上的先天优势,MLC技术也在不断改进和发展。
● 大容量低价闪存的出现使闪存的应用更广泛
2004年,东芝接续推出了MLC 4Gbit和8Gbit容量NAND芯片,将NAND闪存容量更推上新高峰。2005年,东芝曾采用90nm技术与三星的73nm技术展开肉搏。东芝90nm MLC闪存的存储密度为每平方毫米29Mb,远远高于三星73nm闪存的每平方毫米25.8Mb的密度。
三星73nm闪存核心
因此,一直将重点放在SLC的三星也开始改变对MLC的看法。2004年和2005年三星在国际固态电路大会(ISSCC)上提交的MLC技术论文,标志着该公司的观点发生了变化。虽然在三星的网站上仍旧没有任何有关MLC闪存的营销信息,但该公司的确已生产出了4Gb MLC NAND闪存芯片。其裸片尺寸是156平方mm,同东芝采用90nm工艺的MLC 4Gb NAND闪存相比,还是大了18平方mm。因此在MLC技术上追上东芝,三星在其下一代MLC技术上还需要改进。
不过,三星最近改进了新的的Flex-OneNAND型闪存,这是一种混合型闪存芯片,可以在一颗芯片封装里混合采用SLC和MLC。以此来综合两者的优势,这种产品的接受度和实际性能还有待市场的检验。
Flex-OneNAND成为三星闪存重要组成部分
无论如何,MLC的出现和发展,使得闪存在相对低的成本下实现越来越高的容量成为可能。近年来各种NAND闪存存储卡体积越来越小,容量越来越大。以往由于容量上的缺陷,需要由0.8英寸、1英寸、1.8英寸等微型硬盘来填补空白的领域,现在正逐渐被大容量闪存“收复失地”,例如CF卡。相对于硬盘来说,闪存由于没有硬盘那样比较复杂伺服机构,稳定性、安全性、抗震性都要高很多,此外体积、重量、发热、噪音等各方面都要低不少。
在读取速度上,闪存相比硬盘也有显著的优势(理论读取速度目前可达108MB/s,SATA 300硬盘目前实测持续读取传输率普遍在60MB/s~70MB/s的水平)。日常我们使用U盘和移动硬盘测试读取速度,结果都差不多。除了读写控制芯片的差异外,主要是受限于USB 2.0等外置接口的速度限制,目前采用USB接口外置移动存储设备的读取速度大约都在20MB/s~30MB/s左右。而采用SATA 300或是PCI-E×1等接口就没有这么低的速度上限。并且,硬盘中的一些数据,很可能都是碎文件(也就是与相关的其它数据不连接),硬盘如果要存取该数据,必须移动磁头臂→转动磁盘到相应磁道→磁头读/写数据→数据经过硬盘相关芯片的解码和传输,整个步骤非常复杂,因此也消耗不少处理时间,特别是前述的机械动作,如果有大量的使用者同时存取硬盘,I/O瓶颈的问题会更加严重。因此,利用容量日益扩大、成本逐渐降低的闪存来加快系统外部存储设备的数据读写速度,成为众多厂商争相研究的一个课题。
第二小节 用内存代替硬盘!——闪存加速的前身
●
事实上,对硬盘速度发展过于缓慢不慢的厂商有很多。一些DIY厂商很早就在研制使用内存来部分代替硬盘工作的技术。不过,这些技术和产品并没有成为统一的可行规范进行普及,而是仅限于DIY发烧玩家的范围内。这些产品的共同特性就是:采用多根内存条组成大容量内存模组,模组采用PATA或SATA等接口与主板连接,被主板识别为硬盘使用。由于内存是易失性存储设备,断电后采用电池供电。
Rocket Drive模组
需要外置电源才能正常工作
可组RAID的i-RAM模组
2005年,技嘉推出了名噪一时的i-RAM模组。i-RAM模组同样采用PCI设计,不过并不是用来交换数据,而是用来工作状态中取电,与主板数据交换则是通过位于i-RAM右上角的SATA 150接口。也就是说i-RAM真正从物理接口上模拟了硬盘。i-RAM模组上一共提供了4组2.5V DDR内存插槽,最大支持4GB内存总容量。也就是说,i-RAM可将这4G DDR SDRAM模拟为一个4GB容量硬盘,并被主板识别为硬盘,可作为硬盘使用。
第二小节
我们来看看i-RAM中最重要的两个控制芯片,领先个是XILINX Spartan DSP芯片,它会通过卡上EEPROM芯片内的i-RAM Firmware程序,来控制卡上的DDR内存存取动作,同时它还要负责和卡上的另一颗芯片JMicron JM20330沟通。JMicron JM20330是一颗SATA桥接控制芯片,支持SATA 150,透过它与主板上的SATA控制器连接后,对i-RAM进行数据的读写。
JMicron JM20330
i-RAM的另外一个显著特征就是在电路板上还提供了一块电池。i-RAM在产品的正面的右下角方设计了一个3.7V、1700mAh的锂电池当作备用电力。该电池可以为内存模组提供约16个小时的正常供电。
类似的产品还有不少,这里就不一一介绍了。这样的产品主要可以用来作为主系统盘或是文件服务器,经过国内不少媒体的实际测试,Windows XP启动只需要6秒左右,磁盘持续读取传输率也达到了135MB/s左右,今天来看,SATA 300硬盘的突发传输率也不过如此。
i-RAM价格为1399元,大约能买两块主流硬盘
性能上的好处明显,缺点也是显而易见的:一是价高,i-RAM光是模组价格即为1399元,够买大约2个大容量硬盘的,这还不包括内存条的价钱;二是安全性差,还是以i-RAM为例,使用电池只能持续供电16小时,万一一不小心超过16小时,数据就全没了,对于系统盘来说是致命的;三是容量低,4GB容量装个XP完全版都相形见绌。
总的来说,使用内存代替硬盘的产品并不是一种成熟的产品,但可以反映出一种趋势,厂商将SSD(Solid State Drive)产品推向民用化提高多年来发展缓慢的系统磁盘性能的趋势。只是,由于成本、容量以及物理特性(断电数据消失),DRAM当时来看并不是一种成熟的介质。
● 第三小节 Intel Robson——将闪存加速提到日程上
2006年的IDF大会上,就在公布新一代CPU Core架构的同时,Intel向大家展示了其Robson技术。当时业界对Robson的看法,“是把DOS时代就有的虚拟磁盘(Virtual Disk)技术改成闪存版,变成断电后数据仍可持留的非易失性储存设备,并在存取上比真实硬盘快,如同一颗超高速硬盘。”这,也就是今天迅盘技术的前身。
2006年IDF上发布的Robson,具备今天迅盘技术的雏形
Robson一经发布,立刻引起了各方面的广泛关注。根据Intel当时的介绍,自1996年以来硬盘的读写速度平均以2.5%的幅度增长,硬盘的性能提高幅度还不到原来的1.3倍,而同时期内CPU的性能提升幅度超过了30倍,如此不协调的发展速度所产生的最大后果就是电脑在读写数据时出现明显的性能瓶颈,进而严重拖慢了系统的运行速度。体现在实际应用中,就是系统启动时间较长、运行大型3D游戏时长时间的启动等待等,这些看似不大不小的问题严重地影响了用户的使用感受。
Intel当时表示,Robson技术将率先应用在代号为Santa Rosa的第4代迅驰中。Robson技术是利用NAND闪存作为硬盘的高速缓存,达到大幅度提高数据读写速度的目的。在具体实现方式上,Intel的Robson技术采用的是“闪存扩展卡+核心驱动”的运行模式,其中扩展卡包括一颗NAND闪存控制芯片和NAND闪存,其中控制芯片负责数据读写动作,其作用类似于内存控制器,而NAND闪存则用于存储数据,其容量大约在128MB~4GB范围内(容量越大,可存储的数据越多,加速的效果也越好)。核心驱动的作用是将系统和应用程序启动所需的预加载数据拷贝到NAND闪存中,显然,闪存容量越大,所容纳的程序也越多。
为了获得更好的加速性能,Robson扩展卡不仅会采用高速NAND闪存芯片,还将借助多通道总线把多颗NAND芯片“捆绑”在一起,实现数据的并行读写,这样便可大幅度提高闪存模块的读写性能。有点类似于RAID 0阵列获得的磁盘读取速度的提升。
当时发布的Robson工作示意图
在物理形式上,Robson扩展卡将采用Mini PCI-E卡的形式(部分笔记本很可能会将Robson模块直接集成到主板上),它通过PCI-E总线与系统I/O控制器进行通讯。Robson技术中很重要的一部分是智能预存取技术,即它能够判断系统马上需要哪些数据,并预先把数据放到闪存中,这样,当启动操作系统或应用程序时,CPU就直接从NAND闪存中快速获取数据,并将数据传送到内存中。由于NAND闪存响应快,数据读取速度也快,加载等量数据所需的时间自然大大减少,从而达到启动提速的目的(系统从开机到完全可操作状态仅需5秒时间)。
而在写入数据时,系统会把NAND闪存当作领先目标,即数据先写入闪存,如果闪存已满,系统会自动启动硬盘并将数据写入其中,在这期间,硬盘处于长时间的休眠状态。如此一来,系统功耗可以大幅度降低,同时硬盘的使用寿命也大大延长了。据Intel介绍,Robson模块自身的功耗仅有0.1W(瓦),而采用2.5英寸/7200rpm/SATA笔记本硬盘的功耗一般为1W~1.3W。实际工作时,采用Robson技术的笔记本存储系统的平均功耗只有0.49W,这比常规机型的平均功耗(1.18W)少了一半以上。
可以看出,在公布Robson之时,该技术的雏形、结构已经比较成熟了,包括实现原理、模组构成、数据交换方式等已经有了比较详细的规范。今天的迅盘技术与之相比,几乎没有变化的地方。不过,当时Intel并详细说明Robson技术是否需要操作系统的支持。
第四小节 微软的闪存加速——Ready Boost
(本节资料来源:无疤者奥斯里安)
除了Intel在硬件端,公布了Robson技术来实现磁盘性能的提速,微软在操作系统端也考虑到了使用闪存来部分提高操作系统执行的效率。在新一代的Windows Vista系统中,加入了利用外置闪存盘来提升系统效率的的技术,这就是我们最近听得比较多的一个名词——Ready Boost。
● 虚拟内存的概念
在所有使用保护模式寻址内存的操作系统里,虚拟内存一直是一个重要的概念,Windows Vista也不例外。即使所有程序的内存占用小于系统内存的总量,Windows仍然要使用到虚拟内存管理技术。实际上,每个运行在Windows环境下的进程,在载入时操作系统都会自动为他们指派虚拟内存空间。简单地说,虚拟内存技术就是一种使用硬盘等外部存取设备,来保存物理内存不足以存放的信息的技术。
在Windows操作系统中,使用虚拟内存技术的具体情况是:如果系统出现物理内存不足,那么在启动某个新程序时,操作系统将释放内存中被其它程序占用的空间,并将这些空间中的信息拷贝到硬盘的Pagefile.sys文件中(交换文件),以便为这个新程序释放一部分物理内存空间。
而当需要再次运行那些被释放的程序时,Windows会到Pagefile.sys中查找相关交换文件,同时释放其它程序的内存空间,再完成当前程序的载入过程。这种互换内存页面的过程被称之为“交换”(switch),而用于暂存的Pagefile.sys文件则被称之为“交换文件”(switch file)。
系统交换文件
虚拟内存技术虽然解决了内存不足的问题,但在程序运行过程中经常需要载入其它文件到内存中,此时如果物理内存不足,则需要进行换页操作,频繁地读写硬盘,造成程序运行时响应缓慢。
● 虚拟内存的改进Prefetch到Superfetch
在Windows XP操作系统中,微软对虚拟内存技术做了进一步改进,发展出了预取技术(Prefetch),预取技术的基本思路是,在载入某个程序之前,预先从硬盘上中载入一部分该程序运行所需的数据到物理内存中,这样便能加快程序的启动速度。具体实现方法是:在系统和应用程序启动时,监视内存与交换文件以及硬盘上其它文件的数据交换状况,当发生数据交换时,Windows XP会纪录下每一个程序运行时经常需要读取的硬盘文件,并将读取的情况记录在\\windows\\Prefetch目录中的pf后缀名文件中。
Prefetch目录下可调用的PF文件
一旦建立了这些pf文件,在每次需要启动系统或相应程序的时候,Windows会首先中断当前准备载入的程序,而转去查找\\Windows\\Prefetch目录,看是否有当前载入程序的纪录,如果有纪录,则马上按照纪录的情况载入程序运行过程中可能会用到的所需文件到物理内存中。这项任务完成之后,Windows才继续载入被中断的程序。
经过这样的处理之后,在程序运行过程中,需要读取那些文件时,由于文件已经被“预取”到内存中,此时就不用再到硬盘上进行读取,因此减轻了程序载入过程中频繁交换内存页面与交换文件的现象,改善了内存不足时程序运行的响应速度。
为了进一步优化预取操作的效率,Windows XP还会定期对pf文件进行分析处理,组织好程序文件载入的顺序,并将这些分析处理后的信息存放在\\Windows\\Prefetch目录中的Layout.ini文件中。同时还会通知磁盘碎片整理程序,在下次运行碎片整理时,按照Layout.ini文件记录的内容,将相关文件的位置整理在连续的硬盘区块中。
不难发现,WinXP的这项技术从根本上说仍然属于被动式的调度。换句话说,只有在程序主动发起载入请求时,Windows才会进行相关的调度操作。被动式调度的存在可能对系统性能造成一些影响。我们考虑这样一个例子,假设你有在工作的午休时间运行杀毒软件的习惯,那么在下班前,一般会停止处理工作程序,然后运行杀毒软件,此时,如果使用的是Windows XP,那么操作系统会将工作程序所占用的内存空间写入硬盘交换文件中,并读取杀毒软件的文件载入内存。午休过后,杀毒软件已经运行完毕,但是你在重新开始使用工作程序的时候,系统仍然需要经历杀毒软件和工作程序的硬盘交换文件与内存空间的交换过程,此时程序的响应速度明显降低。
Vista下已经进化为Superfetch
如果系统能够进一步自动记录下这些经常性的操作行为所发生和结束的时间,当时运行的前台和后台软件等等详细情况,那么在内存有空闲空间的时候,就可以在预定的时机预先将一部分文件载入到内存中,这样就避免了上面例子中发生的不愉快情况,这正是Windows Vista中Superfetch技术所能解决的问题。
由于采用了新算法,Superfetch不但继承了Windows XP预取技术的全部优点,还进一步具备监视程序运行时状况,时间等详细情况的功能,可以根据用户的使用习惯,自动预先将存放在硬盘的交换文件转换到内存页面中去,使用户经常运行的程序启动时的速度得到进一步的加快。
Superfetch技术的中心思想是:“过分空余的内存空间即是浪费”。的确,如果一个操作系统总是保留着过多的空余物理内存耗费电能,却不能够利用这些多余的内存空间提高系统性能的话,为什么不更好地利用这些多余的内存空间呢?将这些多余的物理内存作为缓存使用,就是Superfetch技术的本质。而也正是由于采用了这种以内存为缓存的策略,才造成了Vista对内存容量的渴求。
Readyboot目录下存放的Trace文件
当然,如果你对这项技术感到反感,或者物理内存容量实在太小,那么到管理工具—服务中关闭Superfetch服务也是一种选择。但需要注意的是,如果再次开启Supertech服务,那么由于需要经过一段监视记录用户使用习惯的过程,因此需要等待较长一段时间后,Superfetch技术才能重新为系统带来明显的提速效果。
联系实际情况看,在Vista系统的Windows\\Prefetch目录中,保存的内容也发生了一些变化,除了pf和layout.ini之外,增加了不少db后缀名和bin后缀名的数据记录文件,还增加了一个Readyboot(注意不是Readyboost)目录,里面存放着一些Trace文件。
● Superfetch带来Ready Boost优化整体性能
正如前文所说,Superfetch机制固然好用,但由于该技术预先载入交换文件的特点,因此对物理内存容量的需求进一步增长,假如系统的内存容量不够,依然会出现需要到硬盘中读取文件,造成启动迟缓的现象。
Ready Boost相关载入项目
为了提高内存容量较小的系统中Superfetch机制的整体性能,微软采用以USB2.0接口的外部存储器件(如闪盘、SD/CF卡等电子器件)为缓存的办法,在内存与硬盘之间建立一个闪存缓冲区,来减轻内存不足时可能带来的不利影响。这便是Ready Boost技术在闪存盘上的应用。在Vista载入的服务列表中,我们可以看到Superfetch和Ready Boost的相关项目。
在数据零散分散的情况下,闪存的读取效率反而可能优于机械式寻道的硬盘。而由于被频繁地读出和写入,存放在硬盘上的交换文件正具有这样的分布特点。这便是使用闪存为缓存的优势所在。
简单地说,Ready Boost在系统内存不足时可以使大型程序启动的速度有较大幅度的加快,它是作为Superfetch技术的一种辅助技术而开发出来的,由于闪存一些先天物理特性的优势,被选用为实现Ready Boost功能的介质。要达到Ready Boost的要求,微软对闪存设备做出了如下的限定:
1.读写速度方面:低要求闪盘等存取设备在随机读取4KB尺寸文件时,速度应达到2.5MB/s以上,而在随机写512KB尺寸文件时,速度应不低于1.75MB/s;要想完全发挥出Ready Boost技术的性能优势,要求闪盘等存取设备在随机读取4KB尺寸文件时,速度应达到5MB/s以上,而在随机写入512KB尺寸文件时,速度应不低于3MB/s。
2.闪存容量和接口方面,至少具备256MB以上的空余空间,微软推荐使用1GB以上空余空间的闪存。另外,如果使用USB 1.1及以下规格的接口,将无法开启Ready Boost功能。
3.闪存整体的读写性能要保持一定的一致性,内部不同位置的读写响应不能相差太大。有些闪存使用了不同速度的Cell,会造成不同区域的读写性能不一致(三星Flex-OneNAND这样的产品危险)。具体的一致性数值要求微软并没有作出说明,仅提供了测试软件以供用户测试。
无法通过相关测试的闪存设备
没有达到这些要求的闪盘设备,虽然在“属性”中也有Readyboost选项,但无法开启Readyboost功能。
第五小节 Ready Drive——硬盘也有L2 Cache
● 利用闪存来增加硬盘性能
从前面的叙述可以看出,Ready Boost其实更多的改进是在系统运行机制上,虽然有利用物理硬件——U盘,但那只是一种辅助手段。要从根本上逐步解决硬盘的性能瓶颈问题,还是要从物理硬件上入手,这就是本节要讲述的Ready Drive技术。下面我们先来看看微软官方对于Ready Drive是如何描述的:
HHD工作示意图
“Ready Drive是一项利用了名为H-HDD 的新型混合硬盘驱动器的Windows Vista功能。H-HDD是一种带有嵌入式非易失性闪存(NVRAM)的磁盘。典型H-HDD所包含的缓存大小介于50MB到512MB之间,但Windows Vista缓存限制为2TB。
Windows Vista使用ATA-8命令来定义要在闪存中存放的磁盘数据。例如,Windows Vista会在系统关闭时将引导数据保存到缓存,从而可以更快速地重新启动。它还会在系统处于休眠状态时将某些部分的休眠文件数据存储在缓存中,以便加速后来的恢复过程。即使在磁盘盘片降速时也会启用缓存。因此,Windows可以将闪存用作磁盘写入缓存,这样可避免在系统靠电池电源运行时将磁盘盘片加速。使磁盘轴保持关闭状态可以节省由磁盘驱动器在正常使用期间所消耗的大量电源。”
这里的H-HDD显然是指Hybrid Hard Drive Disk(以下简称HHD),也就是最近被谈论很多的混合式硬盘。我们知道,硬盘是通过Cache来和主板交换数据的。读取数据时,数据会先从硬盘到传送到Cache,通常硬盘到Cache的速度我们称之为硬盘的内部数据传输速度,内部传输率由硬盘的数据密度、潜伏时间、伺服机构、寻址方式等多种因素决定,目前也是硬盘传输率瓶颈的关键所在;然后,数据再由Cache通过SATA等接口传送到主板,这个速度通常称为硬盘的外部数据传输速度,外部数据传输速度通常是由接口规范规定的理论值,例如SATA 300,理论值就是300MB/s。
传统硬盘用作Cache的DRAM
可以看出,硬盘的Cache带宽、Cache容量都对硬盘的性能有着重要的影响。通常硬盘用DRAM作为Cache,近年来随着成本的不断降低,硬盘Cache的容量也从2MB到8MB,再到16MB。由于前文所述机械结构的原因,同时,DRAM成本虽然在下降,但还是没有大到可以用几百MB甚至1GB的DRAM来做硬盘Cache的地步,所以硬盘的性能提升还是非常缓慢的。并且,DRAM属于易失性存储器,它的作用在于硬盘加电工作时充当硬盘和主板之间的缓冲,其性能主要关联的是硬盘的持续传输率,对于数据寻址的移动磁头臂→转动磁盘到相应磁道→磁头读/写数据→数据经过硬盘相关芯片的解码和传输这个过程,并没有直接的帮助。
而HHD,就是在硬盘Cache之上,再增加大容量的闪存作为新的Cache,我们姑且可以把这个闪存的Cache看成是硬盘的“L2 Cache”(为行文方便,以下L2 Cache指硬盘的闪存Cache),把硬盘原来的Cache看成是硬盘的“L1 Cache”。这样,L2 Cache和L1 Cache成为并行的工作关系。由于L2 Cache容量很大,理论上,L2 Cache填满之后,磁盘的机械伺服机构有一段时间的休眠,有利于减少机械部分的工作时间,从而延长其平均故障间隔时间(MTBF)。
同时,由于这个“L2 Cache”还不同于“L1 Cahce”,属于非易失性存储器,意思就是说断电后资料依然能够保存。虽然其带宽远远不如L1 Cache,但是可以做很多L1 Cache做不到的事情。例如前文所述,在系统关闭时将引导数据保存到L2 Cache中,从而可以更快速地重新启动;同时,在系统处于休眠状态时,将部分休眠文件储在L2 Cahce中,加速恢复过程;还有,Windows可以将L2 Cache用作写入Cache,可避免在系统靠电池电源运行时将磁盘盘片加速(这一特性显然是针对笔记本的)
由此可见,闪存Cache除了在某些应用领域的加速,在这些领域中所有的加速功能机会都会延展出一个附加功能——省电。无论是减少机械机构的运行次数,还是加速休眠启动过程,都会不同程度省电。显然,功耗的节省,是笔记本领域一直以来都在重点研究的问题。同时,MTBF的提升,笔记本来说同样是相当重要的。因此,HHD可以说是非常适合笔记本的一项技术。
这里可以发现,Ready Drive主要是依赖硬件HHD的一种技术。有人认为Ready Drive是和Intel Robson不同的两种利用闪存提升磁盘性能解决方案:一是将闪存集成到硬盘内部;一是将闪存模块集成到主板上。笔者个人不大同意这种说法,因为微软目前还没有在官方资料中宣称Ready Drive只能通过HDD实现,Intel的解决方案从技术理论上来说也是符合Ready Drive要求的。
无论如何,这“两种方案”其实都殊途同归,利用大容量闪存在主板和硬盘之间建立一道“L2 Cache”,来达到提升部分性能、省电、有限延长磁盘MTBF的作用,这些特性,都是很适合笔记本的。
三星MH80样品,PCB板已经加载闪存
硬盘厂商对于HHD的态度还是比较积极的,富士通、日立、三星、希捷和东芝这五家主要的笔记本硬盘供应商组成了“混合存储联盟”,共同发展混合硬盘技术,他们预计在2010年将混合硬盘占到市场硬盘销量的35%。其中,三星已经推出有搭载256MB容量闪存的HHD样品MH80,而先进搭载MH80的笔记本是三星15英寸屏的R55。希捷也于2006年中发布了混合硬盘——Momentus系列的Momentus 5400 PSD,其中PSD代表Power-Saving Drive(省电型驱动器)。可见,混合硬盘目前在笔记本硬盘供应商看来,最主要的作用还是“省电”。
希捷Momentus 5400 PSD官方样图
并不是所有人都对Ready Drive持肯定态度,来自互联网的消息称,联想一名员工在其Block中表示,经过内部测试显示,HHD在减少功耗方面作用甚微。这名工程师建议,用户好不要使用领先代Ready Drive技术,想提高存储速度好购买一款转速较快的传统硬盘。他建议等到Ready Drive第二代产品推出后再考虑使用HHD硬盘。这种担心也不无道理,新技术刚出现时带来性能提升非常有限、甚至接近与无的例子并不少见。等待更加成熟的技术再使用,不失为理性消费者的做法。
● 第六小节 FRMT到迅盘 技术最终确立
FRMT,全称应该是Intel Flash Response Memory Technology。这又是什么呢?原来是Intel对其Robson技术的更名,FRMT变成了正式的称谓。从技术参数和规格来看,FRMT相对于Robson来说几乎没有什么变化,可以看成是Robson的改名版。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
不久前,我们拿到了Intel的宣传资料,较新Santa Rosa平台采用的FRMT,又有一个新的名称“Intel Turbo Memory”,中文名称已经定为“迅盘”,看来是沿用了“迅驰”的命名风格,借“迅驰”的知名度来推广“迅盘”。就笔者个人看来,“Turbo Memory”要比“Flash Response Memory Technology”形象得多。
Intel关于硬盘读写性能的描述
官方资料称,若没有Intel迅盘,硬盘必须要经常转动,性能受驱动器机械延迟影响降低,功耗受硬盘经常转动影响而加大。实际上迅盘这里的作用和我们前文HHD部分所述的章节,利用大容量闪存充当硬盘的L2 Cache原理是相同的,不同的是,迅盘部分是将这块L2 Cache加载到了主板上。
Intel关于迅盘原理的示意图,在硬盘和主板间建立L2 Cache
Intel还认为,实现上迅盘是比U盘更好的Ready Boost解决方案。首先迅盘属于内置设备,并非由终端客户控制的外围设备。迅盘比U盘功耗更低,而USB设备不能节省功耗,迅盘仅仅消耗U盘3分之1的功耗。同时,迅盘带宽更高,速度更快,这是因为PCI-E×1接口比USB 2.0带宽高得多。还有,迅盘属于无缝连接技术,无需终端用户进行配置。此外,迅盘显然更持久稳定,因为Vista并没有把U盘当作一个持久稳定的设备,可能会抵消Ready Boost应用带来的好处。
从Intel的迅盘工作示意图可以证实笔者前文的猜想,迅盘模组其实就是在主板上充当硬盘的L2 Cache,实现加速、省电、提高硬盘MTBF的功能。
标准PCI-E接口迅盘模组
而这次Intel对待迅盘模组的供应比较宽松,OEM厂商可以选择从Intel购买迅盘模块、在主板上安装Intel迅盘套件中的组件或者是自己设计并制造相应模块。
● 第七小节 迅盘技术应用范围和产生的影响
前文所述利用大容量闪存作为硬盘的“L2 Cache”带来的好处目前还仅仅是理论上的,实际应用中,可能会受到硬盘本身结构、操作系统支持度等多方面因素的影响,实际可能发挥的功效有可能不如预期。这在新技术出台的初期也是正常的。
不管怎样,NAND闪存由于容量不断增大,价格不断降低,而硬盘性能由于硬件架构的先天缺陷,导致性能发展缓慢、成为PC架构系统性能的瓶颈。例如大容量闪存解决硬盘性能瓶颈问题,已成为摆在台面上的一个问题。Intel、微软等业界举足轻重的厂商带头研发相关技术,也会对其它厂商产生重要的影响。
A-DATA 128GB容量SSD
除了混合硬盘外,基于NAND闪存的SSD(Solid State Disk)也是最近比较热门的一个话题。SSD完全抛弃了传统硬盘的机械结构,采用大容量NADN闪存作为存储介质、SATA等标准硬盘接口,来代替传统的硬盘。和传统硬盘相比,SSD具有随机访问时间超短、MTBF时间长、抗震指标高、低发热、低功耗和几乎无噪音等优势。以三星64GB SSD公布的性能指标来看,随机访问时间0.2ms,这对于传统机械硬盘来说是难以想象的,在持续传输速度方面,64MB/s的指标基本和主流7200rpm SATA 300硬盘相当。而抗震指标20G、MTBF大于100万小时,传统机械硬盘更是难望其项背。
不过,由于技术发展的限制,目前已公布SSD容量最大的A-DATA产品才128GB,和主流300GB到500GB容量的硬盘差距还不小。另外,SSD目前的价格也是天价,三星64GB版本的价格就高达700美元,够配置一台主流PC。价格和容量,是目前限制闪存SSD发展的最大要素。
类似i-RAM的产品,不过是采用SD卡作为介质
另外,最近市面上还出现了类似以前i-RAM的非标准化DIY产品,这种产品基本也是用RAM来模拟硬盘,不过这次的主角不是DRAM而是闪存的SD卡,使用SD卡大体可模拟4GB到8GB的硬盘。跟i-RAM不同的是,体积小,耗电低,无需外接电源。
上述各种解决方案,我们可以发现都离不开NAND闪存。进入2007年以来,我们可以发现东芝、三星、IM Flash(Intel和Micron合资的NAND闪存工资)、奇梦达等闪存大厂的出货不断增加,闪存的价格也不断下跌,甚至一度有传言说跌破变动成本。原因在于传统闪存应用市场的需求主要在存储卡、MP3等领域,而存储卡市场接近饱和,不少用户手里拥有2到3张存储卡。扩展NAND闪存应用领域,甚至是抢夺原硬盘市场,成了这些厂商的当务之急。
可以看出,三星、Intel等集团内部本来就拥有NAND闪存业务的厂商对于混合硬盘或SSD的态度是相当积极的。拿三星举例,三星硬盘事业已经经营多年,始终是个不温不火的局面,混合硬盘以及SD的出现,跟本来就是NAND闪存出货领先大厂的三星带来了曙光。依靠集团在NAND闪存上的优势,和硬盘相关事业很好结合,是缩小和希捷差距的绝好机会。
再拿Intel举例,迅驰平台推广成功,以CPU的强势地位捆绑销售了自身Chipset和无线模组,同时打造了迅驰这个新的品牌。而迅盘的出现,可以说又一次给了Intel机会:借迅驰的强势地位去推广迅盘,扩大自身NAND闪存的市场需求。不过,Intel这次并未采取捆绑销售的策略,也给其它的NAND闪存厂商带来了机会。<