PCEVA,PC绝对领域,探寻真正的电脑知识

标题: Intel 520条带后对数据压缩的影响探究(不完备) [打印本页]

作者: nighttob    时间: 2014-9-12 00:17
标题: Intel 520条带后对数据压缩的影响探究(不完备)
本帖最后由 nighttob 于 2014-9-12 00:25 编辑

大家都知道Intel 520的SF-2281主控具备数据压缩的能力(DualWrite技术),于是我想实验一下,这个数据压缩会不会被RAID 0条带(Strip)所影响。

在开始正文之前,先解释一下为什么标题里有“不完备”。

1. 实验精度不足。

我们都知道如果一块SSD如果没有数据压缩能力的话,其NAND写入量必然是大于主机写入量的,而如果具备数据压缩能力的话,NAND写入量就可以小于主机写入量。NAND写入量和主机写入量之间的比值,也就是我们常说的写入放大倍率(WA)。

对Intel 520这款SSD来说,计算WA很容易,因为其SMART报告了NAND写入量(F9)和主机写入量(F1)。但是,SMART报告的数据精确度并不高,F9的精度是1GBF1是32MB(详细解读见http://bbs.pceva.com.cn/thread-96031-1-1.html)。这也就导致计算出的结果,在数值较小的时候,误差很大。除非把写入量提升到TB级别,这样才能在宏观上减小精确度不足带来的误差,但这么做的代价太大,一个完整的实验做下来需要写入几十TB数据,耗时几个月,我没能力做到。

2. 测试方式可能不合理。

我采用的方式是不断写入一组持续数据,这组数据可以被SF-2281的DualWrite技术实时压缩,但并不是全0全1这样的理想数据。也就是说,把这组数据写进520以后,NAND写入量和主机写入量之间会有一个比较显著的差异,便于观察结果。

问题在于我的这组数据是否与我预想中的一致,虽然宏观上是可压缩的,但分解到条带水平上是否符合预期,这不能肯定。另外简单粗暴的组一个RAID 0,分区,然后直接写入方式是否适用于这个实验,也是个未知数。

3. 没有理论基础。

这点极为关键,因为我并不清楚DualWrite技术的细节。如果这项技术做的足够周全或者有什么黑科技,就完全可以做到数据被条带以后依然跟原始数据一样具备同样的压缩率。如果真有这种黑科技,那这个实验就纯粹是浪费时间了。

以上三点就是这个实验做不到完备的地方,如果你看到这儿已经觉得这实验没意义了就可以直接右上角了。老实说,我开始实验以后也犹豫过是否有必要发个帖子把结果呈现出来。想了想,这也不是什么亏心事,发出来也没什么不好意思;就算结论不可靠,也许可以起到抛砖引玉的效果;对个人来说,正常使用的规模也就如此,那么这个结果也能反映出一些现实情况了。





接下来开始正文。

如题目所示,本文的实验对象是Intel 520 SSD,当然,两块,不然没得条带。

实验的方式是用一组可压缩数据数次写入进这两块520组成的RAID 0分区里。这组数据是903个TGA格式图片(类似于BMP格式,只要像素数和色深固定,文件大小就一样),共4.11GB。因为这个数据量太小,所以由18份组成一组,这样一组数据就有74GB大。这两块520通过RST控制台创建再删除的方式分别组成条带大小不同的数个RAID 0阵列,然后用Windows磁盘管理分区并格式化,再用准备好的数据写入。为了尽可能精确,连续写入6组之前准备好的数据。以填满两块240G 520组成的RAID 0。

每次组建好RAID 0,在写入之前用CDI截取当前SMART数据,在写入完毕后再用CDI截取SMART,以此计算每次写入量。

实验开始,首先是单盘作为对照。
[attach]252479[/attach]
写入开始前。因为两块盘都是新买的,所以就只发其中一块(A盘)的了,另外一块(B盘)做了一些准备工作。在初始化并分区之前,两块盘的F1都是0,格式化后增加到2。
[attach]252480[/attach]
写入结束后,F1增大7117,F9增大158,WA为0.71。

第一个RAID 0,4KB Strip。
[attach]252474[/attach]
系统在3块盘的RAID 0里,测试数据也在这里。新建的RAID 0除了条带大小为4KB以外,其他都是默认。
[attach]252478[/attach]
A盘,第一组RAID 0写入开始前。由于重新分区格式化,F1又增加了2。
[attach]252476[/attach]
B盘,第一组RAID 0写入开始前。因为做过一些预先测试,所以写入量不是0。
[attach]252477[/attach]
A盘,第一组RAID 0写入结束后。F1增大7117,F9增大158。
[attach]252475[/attach]
B盘,第一组RAID 0写入结束后。F1增大7117,F9增大159。

后面的数据不再单独贴图并给数据了,一并用表格说明。
[attach]252511[/attach]
在解释数据之前说一下我做这个实验的目的。

一个整体可以被压缩的数据,在分段以后是否依然可以被压缩?逐个分段压缩的平均压缩率是否跟一个整体的压缩率一样?

以文件的尺度来说,在我实验中的TGA图片,每个都可以被压缩,但压缩率不尽相同,因为画面复杂度不同。全部903个文件一起用zip压缩,压缩率是51%。每张图片各自分别压缩,就会出现压缩率高于51%的,当然也会有低于51%的。这903个zip压缩文件的总体积要比1个包含903张图片的压缩文件的体积要大,因为每个压缩文件都要有文件头/尾和字典,这就是额外开销。

如果把每张图片想象为条带,那么每个条带也会有类似表现。我的猜想是,如果条带大小足够低,那么条带数据中的可压缩内容相对就少,使得开销所占比例增大,也就使压缩率(WA)变大。反之,当条带大小大到一定程度后,条带个体差异就会降低,开销所占比例也会降低,压缩率(WA)也会趋近于非条带情况。关键就在于条带大小的“拐点”在哪里,有可能即使最小可用的4KB Strip也在这个拐点之上。当然还有可能DualWrite技术足够黑科技,能够抹消条带的影响,使WA没有显著变化。

从我的测试结果上看,每一组的ΔF1和ΔF9差异都在±1,不能确定是实验误差还是实验设计的问题。因而WA的数值变化也就没有实际意义,如果保留小数不够多的话,会是完全一样的结果。

所以我的测试结论是,在这个测试尺度下,条带对Intel 520这块SSD,或者说对SF-2281主控的DualWrite数据压缩技术来说没有影响。不管你用RST组RAID 0,条带大小是4KB还是128KB,都不影响数据压缩功能的实用。所以,有RAID 0需求的,又少了一样可以纠结的东西,可喜可贺~




后记

这两块盘当然是新买的,但这个实验只是顺带着做而已,完事以后拆开,一块给服务器扩容数据存储卷,一块替代日用主机上的RAID 0用。这此的规模比当年那个测试(http://bbs.pceva.com.cn/thread-96023-1-1.html)小多了,不过出发点是一样的,那个是验证主板RAID 5能跑过千兆网,这个是验证RAID 0后会不会丢掉压缩特性。

我的本意是想通过这个测试能得到条带会影响压缩能力,以此劝阻一些人组RAID 0。结果虽然没能达到预期,但也是在意料当中,毕竟实验条件十分有限。

SF-2281主控的全盘trim时间真是太久了。写入数据的时候还有进度条可以看,每次分完区格式化可只有鼠标在转圈。要知道,组RAID 0以后这个时间也是翻倍的,但写入速度并没翻倍……所以不要脑残给SF-2281的盘来手动trim;忍不了等待就别组RAID 0;你的带宽需求达不到,组RAID 0也没用。

我当然把壳给拆了,结果其中一块盘有6颗ME2,其余全是ME3。也就是说一块是全ME3,一块是ME2和ME3的混血。谁说ISN最后三位是CGN的就是ME2颗粒的?

据小道消息称,Intel这回是真的清仓大甩卖,最后就剩这些板子(520的PCB板)了。日后即使颗粒有的是,也不会再继续造520了。在IMFT的3D-NAND没投入量产之前,Intel的消费级主力是20nm颗粒的产品。

本次测试两块盘都写入了1.5TB数据,实际的NAND写入都是900GB多,消耗了不到4个PE……

作者: Ramaxel    时间: 2014-9-12 02:21
我可以理解为2281的黑科技够黑么?可惜520以后也不见有固件可以升级了
作者: summer78725    时间: 2014-9-12 06:51
本帖最后由 summer78725 于 2014-9-12 07:36 编辑

(1) 就现状来看,SSD内部实行的数据压缩,是一种“私人”行为,对其外部的硬件、软件环境而言,处于“透明”状态。没有证据表明SSD的压缩行为可被外部环境直接控制,或者说,RAID不RAID,SSD根本“不屑知道”,外部“机构”也不用“通知它”。
(2) SSD内部实行的数据压缩机制,可能是有条件或者门槛的。而RAID 0之于SSD,不同的Stripe Size,至多会影响那些“条件”中涉及数据流长度的部分(如果存在这种“条件”的话)。
(3) 在计算机的发展历程中,传统型的内、外部存贮器的一些特征,对计算机的体结构影响深远,例如Sector、Page等。搭建RAID 0的控制器,通常不会给用户把Stripe Size设为小于4KB的某个值(例如128B)的机会;而SSD的压缩机制,断不会漏掉这些因素。
(4) 对于具有压缩能力的SSD来说,既不会为了追求压缩率而严重降低存取速度,也不会为了追求压缩率而大幅增高页式随机存取的管理复杂度。以4KB为基本压缩单位,应该是一种合理的选择。如果是俺,干脆弄一堆独立且并行的4KB压缩/解压器。


作者: guangyunjian    时间: 2014-9-12 07:21
没玩得那么深,一直没明白530的对nand写入为什么这么大。牺牲这个得到了什么。虽然不在意PE。
作者: nighttob    时间: 2014-9-12 09:10
guangyunjian 发表于 2014-9-12 07:21
没玩得那么深,一直没明白530的对nand写入为什么这么大。牺牲这个得到了什么。虽然不在意PE。 ...

intel觉得520太费电,所以在530上强化了节能,WA巨大大概就是其副作用。
作者: nighttob    时间: 2014-9-12 09:12
summer78725 发表于 2014-9-12 06:51
(1) 就现状来看,SSD内部实行的数据压缩,是一种“私人”行为,对其外部的硬件、软件环境而言,处于“透明 ...

你说的跟我想的一样。

如果SF做的这个机制很完备的话,那么就应该是没差异的,这也是完全可以做到的。

这帖子的意思也就是,让你放心大胆地组RAID 0了。
作者: nighttob    时间: 2014-9-12 09:14
Ramaxel 发表于 2014-9-12 02:21
我可以理解为2281的黑科技够黑么?可惜520以后也不见有固件可以升级了

整天找固件升级,这是病,没得治。

LSI现在还在给SF-2xxx出新的公版固件,黑科技功能还有新的。但Intel肯定不会去破坏一个成熟产品的完整度了。
作者: Pale_Cheung    时间: 2014-9-12 09:31
实践出真知啊。

我以前也算“误导”别人了。

sf2281,压缩能力和条带化没关系。

作者: einstein86    时间: 2014-9-12 11:50
当年是谁提出R0条带化之后SF主控的压缩特性就会没有的?这个测试倒是告诉许多纠结帝一个利好消息,SF主控盘安心跑R0
作者: Calvi    时间: 2014-9-12 13:20
SF2281还是intel做的最好
作者: littlefisher    时间: 2014-9-12 13:27
犹豫要不要买块520收藏
作者: 固特异轮胎    时间: 2014-9-12 17:54
盘霸,我还是想问问,两块520组R0之后支不支持TRIM?在安装了intel的驱动之后?
作者: iFive    时间: 2014-9-12 18:54
固特异轮胎 发表于 2014-9-12 17:54
盘霸,我还是想问问,两块520组R0之后支不支持TRIM?在安装了intel的驱动之后? ...


装完RST驱动后就能支持Raid 0 Trim
RAID Option ROM要求最低11.0版本
作者: nighttob    时间: 2014-9-12 18:54
本帖最后由 nighttob 于 2014-9-12 18:57 编辑
固特异轮胎 发表于 2014-9-12 17:54
盘霸,我还是想问问,两块520组R0之后支不支持TRIM?在安装了intel的驱动之后? ...


只要主板BIOS里的RAID OROM版本在11.0以上就支持RAID 0后的trim,跟你用什么盘没关系,除非盘没有trim。
当然RST驱动也得是11.0以后的版本。

但是11.0版本有点BUG,所以一般建议用11.2及以后。

更老的板子可以自己手动替换修改版OROM实现RAID 0后的trim,当然,责任自负。
http://www.win-raid.com/t7f13-AHCI-amp-RAID-ROM-Modules.html
作者: batzxcboy    时间: 2014-9-12 19:22
我说的CGN结尾或者在C前面的都是ME2颗粒

话说我有2块240G的 520 都是CGN结尾 拆了的确是ME2呀
作者: 固特异轮胎    时间: 2014-9-12 23:12
nighttob 发表于 2014-9-12 18:54
只要主板BIOS里的RAID OROM版本在11.0以上就支持RAID 0后的trim,跟你用什么盘没关系,除非盘没有trim。
...

原来如此啊...........
作者: 固特异轮胎    时间: 2014-9-12 23:14
iFive 发表于 2014-9-12 18:54
装完RST驱动后就能支持Raid 0 Trim
RAID Option ROM要求最低11.0版本

520很费电么?ssd再费电能用多少电。再说了,我觉得sf主控没有马牌主控费电,当然ssd整体的话另说了
作者: iFive    时间: 2014-9-12 23:33
固特异轮胎 发表于 2014-9-12 23:14
520很费电么?ssd再费电能用多少电。再说了,我觉得sf主控没有马牌主控费电,当然ssd整体的话另说了 ...

笔记本用户看重节能 1W的差距都会影响待机时间(但节能必定会加大写入放大)
台式机用户可以无视节能

作者: 固特异轮胎    时间: 2014-9-12 23:41
iFive 发表于 2014-9-12 23:33
笔记本用户看重节能 1W的差距都会影响待机时间(但节能必定会加大写入放大)
台式机用户可以无视节能
...

哎哟,你还别说,520还真挺费电的来,我用笔电里面安了2块ssd,主盘就是520,待机时间要比以前一块东芝的nsnh主盘少不少.....东芝的那个盘是最轻的ssd,也很省电...
其实增加点wa真不要紧,本来寿命就用不完.............
作者: haierccc    时间: 2014-9-13 10:18
本帖最后由 haierccc 于 2014-9-13 10:24 编辑

好文,严谨,用实验数据说话!
如果问我这个问题,我不会这样严谨的做实验,不过会得出相同的结论:没有影响。
因为我认为,盘内压缩是底层的行为,不管其上层怎样组建逻辑单元,对底层是没有影响的。
但这个结论是建立在“数据本身任然可被压缩”的前提下,因为条带化以后,写入盘内的数据已经被改动过了,这个被改动过的数据是否仍然可被压缩,或者压缩率是多大,还真不得而知。
经过LZ的实测,看来是没有太大影响,仍然可被压缩。
作者: nighttob    时间: 2014-9-13 10:45
固特异轮胎 发表于 2014-9-12 23:41
哎哟,你还别说,520还真挺费电的来,我用笔电里面安了2块ssd,主盘就是520,待机时间要比以前一块东芝的 ...

520的活动功耗850mW,待机功耗600mW
对比一下530分别是195mW和125mW
采用新主控的盘活动功耗可以超过1W,但是待机功耗都低于200mW
对移动平台来说,520算是挺费电的了。
作者: longe    时间: 2014-9-13 10:46
请教楼主,两个240G的520组raid0装系统,性能提升大么?

作者: nighttob    时间: 2014-9-13 10:47
longe 发表于 2014-9-13 10:46
请教楼主,两个240G的520组raid0装系统,性能提升大么?

我没测,什么跑分软件我都没跑
作者: longe    时间: 2014-9-13 12:17
nighttob 发表于 2014-9-13 10:47
我没测,什么跑分软件我都没跑

再请教一下,在bios里组raid0和用RST组建,有区别吗?谢谢
作者: nighttob    时间: 2014-9-13 12:19
longe 发表于 2014-9-13 12:17
再请教一下,在bios里组raid0和用RST组建,有区别吗?谢谢

RAID BIOS里的可选项太少,但做出来的跟RST UI里面的默认值一样。
作者: longe    时间: 2014-9-13 12:21
nighttob 发表于 2014-9-13 12:19
RAID BIOS里的可选项太少,但做出来的跟RST UI里面的默认值一样。

回复好快,楼主一早上都在刷屏么

作者: neeyuese    时间: 2014-9-13 13:46
Intel倒是希望用户买730组RAID 0。

作者: bssharp    时间: 2014-9-13 15:02
nighttob 发表于 2014-9-13 10:45
520的活动功耗850mW,待机功耗600mW
对比一下530分别是195mW和125mW
采用新主控的盘活动功耗可以超过1W, ...

呃,差这么多!我以为额定电流都一样(5V 1A)额定功率也应该接近呢……可就算是850mW也比机械硬盘省电多了吧
作者: nighttob    时间: 2014-9-13 15:14
bssharp 发表于 2014-9-13 15:02
呃,差这么多!我以为额定电流都一样(5V 1A)额定功率也应该接近呢……可就算是850mW也比机械硬盘省电多 ...


本盘差不多也就是1W左右这功耗了,具体多少我不记得了。
外壳上标的电流一般都是典型最大值,不是额定。

作者: 固特异轮胎    时间: 2014-9-13 17:44
nighttob 发表于 2014-9-13 10:45
520的活动功耗850mW,待机功耗600mW
对比一下530分别是195mW和125mW
采用新主控的盘活动功耗可以超过1W, ...

我的笔电现在是520主盘+nsnh从盘,用最省电模式原来可以达到3+小时,现在不到2小时了.....
作者: 3332243    时间: 2014-9-13 21:36
请解答为什么会出现这样情况,百思不得其解[attach]252897[/attach]
作者: nighttob    时间: 2014-9-13 21:40
3332243 发表于 2014-9-13 21:36
请解答为什么会出现这样情况,百思不得其解

你指什么情况?我没看出有什么情况。
作者: guangyunjian    时间: 2014-9-13 21:50
nighttob 发表于 2014-9-13 21:40
你指什么情况?我没看出有什么情况。

怪我给了他一个链接,他就是想问为什么写放大过1。
http://bbs.pceva.com.cn/thread-98767-1-1.html

作者: 3332243    时间: 2014-9-14 00:16
nighttob 发表于 2014-9-13 21:40
你指什么情况?我没看出有什么情况。

写入放大问题

作者: summer78725    时间: 2014-9-14 08:17
本帖最后由 summer78725 于 2014-9-14 09:23 编辑

楼上都在说520的功耗,有数据来源吗?下面是俺测量的数据:

     型号        生产时间代码       固件         待机功率(W)         极端最大功率(W)
520/120G          424              400i               0.875                      3.000
520/240G          311              400i               0.840                      3.660

只看最大功耗,Intel 520并不特别大:
[attach]252958[/attach]


附:读写测试条件
文件传输: 1个5GB的WinRAR压缩文件分卷+1个5GB的文本文件,在SSD和内存盘之间传输一个循环。
跑分测试:AS_SSD Benchmark完成测试。
静置4分钟。
以2Hz的采样频率记录全程电流。
作者: nighttob    时间: 2014-9-14 08:45
3332243 发表于 2014-9-14 00:16
写入放大问题

SF2281主控只是可以把WA控制在1以下,你给它不可压缩数据写入当然没办法把WA降到1以下。
日常使用WA在0.9-2之间都正常。
作者: nighttob    时间: 2014-9-14 08:47
summer78725 发表于 2014-9-14 08:17
楼上都在说520的功耗,有数据来源吗?下面是俺测量的数据:

     型号        生产时间代码       固件    ...

你不把这个帖子补档么?

520的active功耗其实不算大,问题在于idle功耗降不下去。
数据来源是intel的pdf。
作者: summer78725    时间: 2014-9-14 09:18
nighttob 发表于 2014-9-14 08:47
你不把这个帖子补档么?

520的active功耗其实不算大,问题在于idle功耗降不下去。

俺没有任何备份,补不了了。
作者: 3332243    时间: 2014-9-14 23:03
nighttob 发表于 2014-9-14 08:45
SF2281主控只是可以把WA控制在1以下,你给它不可压缩数据写入当然没办法把WA降到1以下。
日常使用WA在0.9 ...

sandforce不是标称正常使用可压缩数据占40%么

作者: kkess    时间: 2014-9-14 23:10
520现在确实是末班车了
作者: nighttob    时间: 2014-9-15 07:11
3332243 发表于 2014-9-14 23:03
sandforce不是标称正常使用可压缩数据占40%么

100份数据中有40份是可压缩的,这40份的压缩率是多少?99%?90%?10%?
剩下不可压缩的60份的WA是多少?1.1?1.2?2.0?




欢迎光临 PCEVA,PC绝对领域,探寻真正的电脑知识 (https://bbs.pceva.com.cn/) Powered by Discuz! X3.2