SSD-艰苦卓绝的优化历程(3-MFT-成功)

002.jpg

所谓的苦尽甘来,其实就是关于SSD的MFT优化的这一步。

MFT,Managed Flash Technology,很多人说,没有了它,SSD就是废物一块。虽然有点极端(至少在Windows 7下并非如此),但是,我一个星期的惨痛折腾经验却很明确地证明了这一点。

也许你会认为我在上一篇文章中所说的优化方案其实有多么多么的好,可是,在我自己的这一台P7230面前,以前的那些优化方案的确起不到太大的作用。

MFT是EasyCo LLC研制的,他们在《Windows and Linux Installation Instructions》中这样描述SSD以及他们的MFT技术:

Flash SSDs commonly random write 500 times more slowly than they random read. As a result, Flash SSDs often spend 98% or even more than 99% of their IO time doing writes, and only 1% to 2% performing reads. MFT technology often results in overall random read/write performance gains that are typically 70- to 150-fold based upon average data sizes. Though twenty to a hundred times faster at random reading than Hard Disk Drives (HDDs), SSDs by themselves are generally slower than Hard Disks because of their very slow random write speeds. But with MFT, even very ordinary Flash SSDs are often ten to fifteen times faster than the fastest Hard Disks made, and 50 to 100 times faster than the Hard Disks commonly found in Laptop and Netbook computers.

大意就是说,SSD的随机写入性能大约比随机读性能慢500倍,所以,SSD经常要花98%甚至是超过99%的I/O响应时间用于写入,而仅仅用1%到2%的时间用于读。MFT技术在平均数据容量条件下可以获得70-150倍的性能提升。尽管SSD的随机读取速度是传统硬盘HDD的20-100倍,但是,由于糟糕的随机写入性能,使得SSD的整体性能往往还不如HDD。但是有了MFT之后,即使是普通的SSD也能比最快的HDD快出10-15倍,大部分时候,我们在笔记本电脑和便捷电脑往往可以达到相较于HDD 50倍的速度提升。

非常诱人的介绍和数据,不过我至今没有使用任何的硬盘数据测试软件测试过MFT使用后的效能,还是那句话,我只相信我眼前打开的这么多程序及其运行效率。那么,来看看MFT的运作原理吧:

MFT is a software solution for both Linux and Windows platforms which accelerates the random write performance of Flash Solid State Disks (SSDs) by converting traditional random writes into clusters of writes which are expressed as linear writes into free space. The new location of these written elements is then preserved both in a memory table and within the metadata of the writes themselves.
MFT reduces data integrity problems. It writes all data in the order in which it was received: First-in-first-out (FIFO). Similarly, accumulated data is written within a half second of when it is received. Thus, there is no need to have a forced flush process on shutdown. All MFT does is write more data faster, assuring that data is on disk rather than in the limbo of main system memory. This rapid flushing also often contributes to improved read performance in that more memory is available to handle reusable reads.

MFT是在Windows和Linux平台下,改善SSD随机写入方式的一种解决方案。传统的随机写入方案是直接将数据写入簇(SSD慢的原因就在这里,因为这个时候SSD需要预先擦除原先写入的数据才能再次写入),而MFT可以通过存储在内存表里的磁盘位置,在SSD的剩余可用空间中连续写入数据,以此达到大幅度提升随机写入性能的效果。
(第二段不翻译了,也是介绍MFT提升读写性能的东西……)

000.jpg

正如上一篇介绍过的内容所说,MFT针对Windows Xp的优化方案有以下几种,分别适用于不同的情况:

1、克隆Windows XP系统到SSD上(需要另一个与SSD相同接口类别的硬盘)
2、在现有SSD中制作镜像
3、在现有系统条件下,制作一个MFT分区并使用(个人认为,这其实并不算一类优化)

其中,第一种方案针对的是原有操作系统,但是又不想重新安装并且改变已安装软件的,第二种方案针对没有第二块硬盘的使用者,第三种方案针对已有操作系统,但是只想建立一个速度性能极佳的SSD分区的使用者。
个人认为第一种方案和第二种方案效果差不多,而第三种方案则只是增加一个高性能存储空间而已,意义并不大。
我自己采用的就是第一种方案,安装环境非常干净,制作的镜像也很完美。当然,由于一开始对软件不熟悉就着急操作,而且我有些设置和软件实在不愿意重来,因此我只好采用繁杂无比的第一方案来保留原有系统,其实第二种方案更好,还支持多分区,如果你不是非要保留原有XP系统以及软件的话,建议采用第二种方案,而且还不需要第二块硬盘的支持。同时,如果是正版XP操作系统,强烈推荐方案二,因为方案一显然需要一个更换硬盘的过程,这样一来系统的激活就会出现问题,需要非常麻烦的CPL拷贝过程。以下简单介绍一下第一种方案的优化过程:

1、在HDD的Windows XP下安装MFT,并激活(激活需要重启--MFT是付费软件,激活是要付钱的,不过你要是有Keygen除外)。
2、关机,将你的SSD通过硬盘盒(笔记本)或者通过主板上的数据线连接至电脑上,打开"磁盘管理"工具,删除所有SSD下的磁盘分区。
3、启动MFT,选择Migration工具,依次操作。
4、完成之后,将SSD设为主启动盘,重启。
5、现在可以激活你的操作系统,并安装软件。

安装完成之后,SSD启动,发现系统中出现C盘和W盘两个分区,同时还有11.1G左右的隐藏分区。

111.jpg

W盘是主启动盘,也是未经MFT优化过的分区。这是MFT特点之一,MFT优化过的分区不可作为Windows系统启动盘:MFT a Non-bootable Volume,这里面的主要原因在于windows无法在没有MFT驱动的情况下识别经过MFT优化过的分区--The reason for this is because MFT formats data in a manner that cannot be recognized by windows during the initial boot sequence.,所以,MFT只能在安装了MFT驱动之后的Windows操作系统之下运行,这样一来,Windows系统本身当然不可能被MFT优化。W盘里仅保存着Windows文件夹,当然,在资源管理器界面下,你还可以看到Documents and Settings以及Program Files等其他系统文件夹,但这些文件夹实际上已经存放在了C盘,W盘只是一个映射和镜像,不过,在注册表里,很多系统文件夹的设置依然指向W盘,不过不用担心,其实这些文件届时都会存在MFT优化过的C盘;不得不提的是,软件安装过程中必须写入Windows文件夹的文件,比如dll动态链接库,或者是硬件驱动,还有一些Windows Update文件,这些还是会写入W盘的Windows文件夹。

222.jpg


C盘是经过MFT优化过的分区,保存着W盘之外的任何文件,而且,不支持再行分区。所以,MFT克隆方式优化的系统,只有一个分区C可供使用,W分区最好不要乱动。为了解决数据分区存放的问题,我是通过虚拟分区程序Subst将C盘中的两个文件夹虚拟出来作为D盘和E盘。其实,分区本身就只是问了数据管理的方便,在HDD时代,还有数据保护的味道,防止磁道损坏和碎片文件,但是,SSD的特点就是闪存和零寻道时间,没有必要再像HDD那样做物理分区了,虚拟分区足够,因此,只有一个可操作MFT优化分区并非MFT让人难以接受的原因。
11.1G左右的隐藏分区是用来做数据交换的,最好不要随便使用分区软件改变它,否则将导致整个MFT环境下的操作系统崩溃。

好了,这样一个系统就算完成了,完全可以正常使用,而且速度飞快,完全给人耳目一新的感觉。但是在使用过程中,我发现几个问题,需要注意,否则很容易安装失败:

1、HDD源系统最好不要有隐藏的EISA分区(及各大品牌电脑所谓的"一键恢复"的预制隐藏分区),如果有,也请将它删除。虽然官方的说明文档中说EISA没有问题,但是我没有成功。原因就是隐藏分区默认在Partition1,而系统盘C盘则只能在Partition2,这样,在SSD本身并没有EISA。默认情况下MFT复制系统过程中会预留一个很小的分区以适应EISA,以确保系统盘的Boot.ini的启动分区可以使用Partition2,但是我尝试了两次都失败了,因此,既然你要换SSD,还是删除HDD里面的EISA分区吧,留着也没什么用。实在不行,就用GHOST的DISK To IMAGE先备份出来。
2、做好MFT优化以后,最好不要再使用关闭优化磁盘启动以及关闭磁盘预读的优化方案,我曾这样试过,结果导致系统无法登陆。具体原因我暂时还没想明白。当然,我觉得MFT之后,上一篇文章中说的那些优化设置和第三方软件,大部分没有必要再安装使用了。

关于分区,还有一点需要引起注意:

目前在网上,有很多人介绍这样的方案:直接在SSD上分一个很小的分区(5-8G),剩余空间暂时不分区,作为"未分配空间"预留,然后在小分区上干净安装Windows XP,接下来在MFT上建立几个MFT优化分区,接下来通过修改注册表的将Documents and Settings以及Program Files手动移植修改到MFT分区(中间省略N步WinPE等文件复制转移过程)。这种办法很容易造成系统不稳定,而且效果并不好。其实,MFT本身已经提供了这样的功能,而且可以完美制作Documents and Settings以及Program Files文件夹的镜像,根本不用手动修改文件夹,那就是方案二。方案二的具体操作如下:

1、在你的SSD上SSD上分一个很小的分区(5-8G),并且删除任何其他分区。然后再这个小分区上安装操作系统。
2、装好系统后,安装MFT,激活(需重启)。
3、运行MFT,创建MFT优化分区(可以建立多个,不过一定要确保其中一个用于存放系统文件夹的分区空间足够)。
4、使用Migration命令创建系统镜像(其原理和效果和方案一很类似,都是将启动盘改成了W盘,其他文件映射到C盘)。
5、完成Migration,重启。

这样一来,你就有了一个存在着多个MFT分区的操作系统,而且不用两块硬盘倒来倒去,是非常适用的优化方案。当然了,如果你想保留原有操作系统,也可以采用方案二,但是如果你的系统文件很多的情况下,还是不建议使用,除非你的SSD空间足够大,以确保你能顺利移植文件(这种情况下,还是现将数据备份到其他媒介上,然后干净安装操作系统)。

最后提一下方案三,我觉得根本不用考虑这个东西,因为对系统基本没有优化。当然,你可以利用MFT的读写速度,将系统的TEMP,虚拟内存,以及IE等浏览器的临时文件放入MFT分区以加快系统速度,不过,这样一来意义并不大。

好了,这就是我这一个星期最终的优化结果。我自己总结了一下,MFT软件的特点大概如下:

1、改变随机读写为线性读写(联系读写)
2、可以增加SSD的寿命
3、MFT需要对分区进行优化操作,但不支持Windows系统启动分区(MFT a Non-bootable Volume)
4、MFT优化过的分区在WinPE里面或者挂在其他HDD系统下根本无法读出,所以,请注意重要数据的备份(可以通过GHOST解决,并通过GOSTEXP读出来)
5、MFT需要占用一定的内存,不过并不多--The MFT drives uses kernel memory to store mapping tables. This is about 0.12% of the drive's logical, mounted, size. Thus for a 30GB partition, MFT will need about 35 MB of page-locked kernel memory. For partitions up to about 250 GB, this is fine with both 32- and 64-bit kernels. If you are building a server with more than 250 GB of SSD storage, you should use a 64 bit OS

优化告一段落,如果你不怕折腾,又想享受畅快的速度体验,完全可以在你的SSD上尝试一下MFT!

详细的MFT介绍和安装使用说明,包括所有优化方案及详细介绍,请参看:
http://downloads.managedflash.com/documentation/090315_windowsinstall.pdf(英文,PDF)。



[本日志由 bestfuzhi 于 2016-01-31 03:47 PM 更新]
上一篇: SSD-艰苦卓绝的优化历程(2-失败的优化)
下一篇: Fame及歌舞片
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: MFT SSD
相关日志:
评论: 3 | 引用: 0 | 查看次数: 25118
cancelpj[2012-05-24 03:07 PM | | | 218.106.121.10 | del | 取消审核 | 回复回复[地板] ]
我是win7的系统,只要一重启,那块MFT盘就无法识别了,真是头疼!我怀疑是驱动没成功加载,可是我以管理员权限重装了多次还是不行,太不可靠了。
csnr[2011-10-13 09:21 PM | | | 60.216.158.36 | del | 取消审核 | 回复回复[板凳] ]
读到您的大作,非常想在自己刚刚买的固态硬盘上试试,无奈没有办法购买,我没有国外的信用卡付费,请教是否能发给我一个注册机?lmyx@yeah.com
Leo[2011-09-08 00:04 AM | | | 221.2.225.251 | del | 取消审核 | 回复回复[沙发] ]
多谢,很有帮助。