1.跑分纠结帝。
跑分纠结帝的表现为,为啥我的4KB那么低,别人的都好高。(特别喜欢用AS SSD的测试成绩来说话)。
这里我先来说说AS SSD测试成绩上的问题。
这张图是我当时跑M4测试时挂从盘,空盘跑的,平台是2600K,P67,关闭节能。如果你觉得你现在使用的笔记本,台式机平台比我这个测试平台好的,那么4KB也就应该能优化到这个程度,不然,劝你不要太过纠结那些数字。
很简单的道理,给一台P4的机器,上一块6990或者GTX590的显卡,你认为能够发挥的和别人用I7的CPU一样性能么?
看你们那么纠结图中的4KB成绩,那么我们这里来算算这成绩是如何来的?
28.14MB/s的随机4KB读取速度,队列深度QD1。
我们先来看看M4 128G的颗粒,芯片最下面排 WP = TSOP 48针脚封装。 -12 代表12ns。
对于NAND的一个读取指令,包括了发送读取指令前段(00h),发送地址,发送读取指令后段(30h或35h),等待数据从NAND里输出到NAND寄存器,然后再让数据从NAND寄存器里输出到主机的过程。
上图中为M4 128G使用的颗粒L73A内部的参数。
我们按照图中的数字来算一下,发送一个读取指令前段(1个时钟周期),发送地址(5个时钟周期),发送读取指令(1个时钟周期),等待数据从NAND里输出到NAND寄存器(50us),从NAND寄存器里取出你的数据(4320个时钟周期,1Byte一个时钟周期,一个Page是4320个Byte)
那么时间消耗就是每个随机4KB数据,12ns + (12ns X 5) + 12ns + 50us + (4320 X 12ns) = 101.912us = 0.1ms出头点。 大概在9800IOPS左右 = 38.2MB/s最大。
这上面是颗粒的纯理论速度,如果加上应用程序指令发送的延迟,主机到闪存控制器,和闪存控制器到闪存的接口延迟,主控算法和ECC开销,数据包开销等等之后,那么最高也就在30~34MB/s附近。(理论极限值)
其实上面这个4KB随机速度应该是C300的速度(34nm),M4的颗粒(25nm)要再慢一点点的。 很显然的,256GB和512GB的M4随机4KB QD1 读取不如64GB和128GB的M4,是因为Page从4KB提高到8KB,也就是每次取4KB数据,却需要从NAND里传输到NAND寄存器8KB数据,多消耗了(4320 X 12ns)的时间,这个也是可以靠以后的算法优化的。
很多朋友奇怪,按照这张表来看,编程(program)时间比读取慢多了,为啥4KB QD1的随机写入性能会比读取还强哪? 第一时间想到的自然是缓存优化的关系了,不过我这里就再解释下,告诉你这部分速度是咋回事。
我们在系统的驱动列表里,磁盘里的M4里,可以选择开关缓存,如下图:
这个勾不打,意思就是走Force Unit Access模式,如果打勾,就是开启缓存。
并不是所有的SSD支持FUA模式,当然了,C300和M4都是支持的。
关闭回写缓存后,4KB QD1的写入就剩下3MB/s附近了,如果开启,就有几十MB/s甚至上百MB/s。
我们按照前面的L73A参数表计算。
对于NAND的一个写入指令,包括了发送写入指令前段(80h),发送地址,等待数据从主机里输入到NAND寄存器,发送写入指令后段(10h),然后再让数据从NAND寄存器里写入到NAND闪存上。
那么时间消耗就是每个随机4KB数据,12ns + (12ns X 5) + (4320 X 12ns) + 12ns + 1300us = 1351.924us = 1.35ms出头点。 大概在740IOPS左右 = 2.8MB/s最大。
FUA(Force Unit Access):这个参数的作用是强制闪存访问。对于写操作,必须将收到的数据写入闪存后才返回成功信号,也就是进行write through(直写)。对于读操作,收到指令后,直接去闪存上读取数据,而不搜索缓存。 很多文档上说的“禁用”缓存这个说法是错误的,数据最先经过的永远是缓存,区别只是到了缓存就返回成功信号(回写)还是到了闪存才返回成功信号(直写)。
上面的CDM测试那个个位数的MB/s 这就是真实的NAND写入速度了。(数据真正写到闪存上了,掉电也没事) 所以大家跑AS SSD测试时候4KB随机QD1写入几十MB/s甚至上百MB/s的,根本不用开心,也没纠结的必要,这个速度是缓存速度(数据刚到缓存),不是你的闪存速度。(数据还没到闪存)
和美光的SSD不同的是,Intel的SSD和SandForce的SSD都不支持FUA模式,也就是说那个勾你打不打,都算打了,掉电就丢数据。(320有掉电保护,SandForce企业级也有电容,消费级么。。嘿嘿)
最后来看第一张AS SSD图的4KB Access Time,读取那里,竟然只有0.053ms,而我们之前算出来的4KB读取是101.912us = 0.1ms出头点,这个咋回事??
道理很简单,这个速度漏掉了从NAND传输数据到NAND寄存器,然后从寄存器传输数据到SSD主控的时间,只有SSD控制器接口到主机的时间。因为这块盘是空盘,读取的数据地址在闪存上是没有数据的,自然也就没必要从闪存上传输数据了。
如果我把闪存填满(SSD全盘填充),再跑测AS SSD测试哪?
这个速度就基本正常了,0.138ms。(其实还有漏网之鱼,因为你永远不可能把SSD装满嘛,里面至少有7.37%的OP空间)
经过这几个解析后,相信大家也发现了,为啥自己的平台M4的4KB读取不如我上面的图,假设SSD的速度没有变动的话(大家都一样),那么就是你的SATA接口延迟造成了时间浪费,比如我这里是0.053ms的话,我相信你们的那个值都在0.1ms以上(即使空盘下),这是主板的问题,不是SSD的问题哦,主板上的节能等等设置都会影响,芯片组也会造成高延迟,当然了,操作系统的驱动程序也会。
----------------------------------------------------------------------------------------------------------------------------------------------
2.系统启动速度纠结帝。
最近我还发现好多的启动纠结帝,认为只要用了SSD,系统启动速度就是10秒内,超过了就是不正常,哪里不正常?说肯定是SSD不正常。。。。我简直无语。
鉴于此,我这里按照我自己的理解,来稍微解释下系统启动的过程,当中哪些部分会影响启动速度的。(其实我之前从不关心这类东西,都是你们这帮家伙害的。)
1.开机第一步自然是按下开机键盘啦,然后就是BIOS初始化啦: (BIOS初始化的界面按照各平台不同,时间消耗也不同,设备越多自然越久)
在BIOS初始化的过程中,首先定义当前平台的固件和初始化硬件,然后运行开机自检,自检程序运行后直到检测到一个有效的系统磁盘,接下来读取主引导记录,启动Bootmgr.exe,然后Bootmgr.exe开始寻找和运行Winload.exe(在Windows启动分区下),开始接下来的OSLoader过程。
2.OSLoader (表现的时间段为BIOS自检完进入Windows后看到Loading Windows启动画面之间这段时间)
在OSLoader过程中,Winload.exe调用基本的系统驱动程序,初始化操作系统并定位到Windows的核心部分。当核心部分运行后,Winload.exe继续把系统注册表结构和被标记为启动时候加载的驱动程序调入到系统内存中。
3.MainPathBoot部分的PreSMSS子部分 (表现的时间段为出现Loading Windows画面)
PreSMSS子部分主要是进行系统核心部分的数据结构和组件初始化,并启动即插即用管理器,初始化之前调用进内存的标记为启动时加载的驱动程序,当即插即用管理器检测到硬件设备时,他会调用对应的驱动程序进入系统内存并验证驱动签名。
4.MainPathBoot部分的SMSSInit子部分 (表现的时间段为出现Loading Windows画面后到进入登陆界面前,当中可能出现黑屏)
SMSSInit子部分主要进行系统核心部分控制系统进程管理,系统注册表的初始化,调用和启动没有被标记为开机启动的设备和驱动。
5.MainPathBoot部分的WinLogonInit子部分 (表现的时间段为出现系统登陆界面到系统桌面显示之前)
WinLogonInit子部分调用服务控制管理器启动系统服务,组策略。
6.MainPathBoot部分的ExplorerInit子部分 (表现的时间段为出现系统桌面后到系统桌面图标显示完全)
ExplorerInit子部分创建Windows桌面管理进程,初始化系统桌面和显示所有图标。
7.PostBoot部分 (表现的时间段为系统桌面图标显示完全后的大约10秒左右)
这部分就是加载用户设置的开机启动服务,桌面右下角的图标,程序等等。
上面就是启动的过程了,看了这些解释后,基本能看懂几点:(还有好多自己去反思,我不列出了)
1.BIOS初始化的速度看主板,有些豪华主板设备多的,反而会更慢,养成不用的功能在BIOS里关掉的良好习惯。
2.系统加载的基本驱动程序有问题,会造成操作系统启动时间过长(无响应,因为无法跳过)导致直接无法启动。(显卡驱动升级影响不小,中毒导致驱动文件被改动的也是问题)
3.设备驱动程序越多,启动时间肯定越长,经常升级,接插外设的自己去想想。(一个蓝牙鼠标驱动可以卡你30秒,我不骗你。)
4.系统服务越多,启动时间肯定越长。(杀毒软件装N个,360这类一装就N个驱动和服务的,全套一起来几个,看你启动能快才怪。)
5.开机运行程序越多,启动时间越长。(自己先数数桌面右下角的图标数量再来和别人比。)
很多时候的瓶颈不在SSD上,不要以为换了一块SSD能够脱胎换骨,CPU和内存也很重要。类似360,QQ,鲁大师这类开机测速的,就当浮云好了,准不准不好说,一点意义没有。
如果你真想了解自己启动速度,哪个环节消费的时间多少,CPU和硬盘的速度是不是瓶颈等,我推荐这个软件,WinBootInfo。足够帮助你分析整个系统启动过程中关键位置是否正常,比那些只显示时间的有意义多了,如果大家在更换硬件,换新驱动后出现启动慢,可以靠它分析。
-----------------------------------------------------------------------------------------------
3.Intel或M4选择纠结帝。
Intel的8M门和M4的代理确实都是比较头大的问题,问题是很多事情,纠结的也没结果的,我这里还是那句话,笔记本的话可以选择Intel(兼容性好点,有电池保护对8M门可能好点,太好的SSD也发挥不出性能,保修给力),台式机的话看情况选择M4,大家要相信自己的人品不是吗?自己都不相信自己了,这人活着还有啥意义。有些东西,我这里说句老实话,你们纠结这2个的,是因为知道的“太多了“。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|