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

标题: [SSD高级]SandForce主控的专利算法分析。 [打印本页]

作者: neeyuese    时间: 2010-5-28 11:03
标题: [SSD高级]SandForce主控的专利算法分析。
本帖最后由 neeyuese 于 2010-5-28 23:23 编辑

我个人对SandForce的算法有非常浓厚的兴趣,所以研究了不少时间,这里就分析下,也有可能完全不是这回事,有知道的欢迎一起讨论。


SandForce的主控,目前民用SSD里处理能力最强,价格最昂贵的主控,甚至有自己的专用DSP。
SandForce的主控,算法独特,首次把写入放大缩小到0.5x。(Intel官方说自己写入放大是1.1x)
采用SandForce主控的SSD,竟然没有外置缓存,由于主控太强大,内部的处理器缓存已经足够,而且压缩算法留出空闲闪存作为预留空间。
采用SandForce主控的SSD,实际RAW速度为R/W 220MB/130MB,而Compressed速度为R/W 285MB/275MB


我特地画了张草图来说明这个算法的与众不同。
[attach]4109[/attach]

以此图为例,假设我从一块机械硬盘复制一个10MB大小的EXCEL表格文件到SANDFORCE的SSD,假设这个文件进入SF主控后,经过压缩算法处理后,变成为一个2MB大小的压缩文件。然后再把这个压缩后的2MB大小的压缩文件放进闪存里,但是在操作系统的LBA里还是认为是原本的10MB(逻辑上),这样,我们就得到了8MB的空闲空间(物理上),由于这个SSD在这个操作里实际只占用了2MB的闪存空间,所以出现了以下几个优点:
1.闪存的实际磨损被减小了(这也是为啥写放大低于1的道理,压缩),间接的让MLC的写入次数达到了接近SLC的次数。
2.控制器可以清除8MB过时的“脏”数据,用来作为干净的预留空间(备用区)来提高写速度。(很像TRIM)
3.主控制器原生支持TRIM,更让这个效果得到了加强。

此主控的缺点是已经压缩过的或者被加密的数据将不能被压缩,这样就会真实反映出此主控下,SSD颗粒的真正速度(RAW)。这个速度和当前几大主流的SSD主控方案比,没太大优势。


我们继续把这个图反过来分析,既然数据是被主控压缩了存进闪存的,那么当我们想要访问这个数据时,自然需要“解压缩”才能使用了,虽然此主控有强大的处理能力,但是会造成一定的延迟,所以随机读取IOPS速度就受到了影响,造成SF主控的SSD低深度下随机读取能力并不是很出色。
作者: DR.tang    时间: 2010-5-28 11:43
坐听讲课。米不动SandForce主控的。
学习研究。
作者: karl.12    时间: 2010-5-28 11:54
不懂
听课
作者: kofko    时间: 2010-5-28 12:15
丫 最后一句不知道有何奥妙 :Q
作者: fox750916    时间: 2010-5-28 12:35
围观之{:4_137:}
作者: neeyuese    时间: 2010-5-28 12:36
没写完,不过这句是精髓。
作者: neeyuese    时间: 2010-5-28 21:21
基本写完了,感觉还有点啥一时半会无从解释。
作者: 无心飘落    时间: 2010-5-28 21:51
:P学习了  感谢分享=。=.
作者: 无心飘落    时间: 2010-5-28 21:57
有机会的话也想摸摸=、=
作者: Enlighten    时间: 2010-6-10 02:32
vertex-le 就是使用这个主控,这么说,随机读取的速度会逐渐降低咯?
作者: overthink    时间: 2010-6-10 11:39
来学习一下
作者: 彩虹糖    时间: 2010-6-10 12:10
湿湿的文盲进来学习学习。。。。。
作者: neeyuese    时间: 2010-6-13 08:45
vertex-le 就是使用这个主控,这么说,随机读取的速度会逐渐降低咯?
Enlighten 发表于 10/6/2010 04:32


盘的速度要看文件的压缩率,读取的速度单任务偏低,多任务胜出。
作者: DR.tang    时间: 2010-6-13 09:17
现在机械盘的4K扇区技术如何?不支持XP?
作者: ovortune    时间: 2010-6-24 10:40
有点不明白:
1、如果原始写入是10M,主控压缩写进去是2M,且剩余8M空间被新数据写入的话,那么要想读出原有的10M(也就是被压缩成2M)数据,“解压”过程是由主控进行的,但解压缓存从哪里来呢?
2、写入和读取都需要主控的“压缩”和“解压”,那么主控的处理能力会不会造成在多线程下的性能瓶颈?
作者: neeyuese    时间: 2010-6-24 11:52
1.这个主控是个双核处理器,内部有硬件DSP,成本很高,所以不会造成瓶颈。(内部有L1,L2缓存。)
作者: pureivan    时间: 2010-7-23 08:54
听课的来了.我是听课的
作者: 大D来了    时间: 2010-7-25 21:37
懂了,intel1.1X写入放大,那不是比较浪费空间?
作者: coolspy    时间: 2010-9-30 23:34
已阅~~~~~继续看第二篇
作者: patrick47    时间: 2010-10-3 11:18
不懂
听课
作者: DICKLI    时间: 2010-11-25 15:45
求完整篇
作者: carlyu    时间: 2010-12-5 10:16
懂了,intel1.1X写入放大,那不是比较浪费空间?
大D来了 发表于 2010-7-25 21:37



    个人认为,写放大 不会浪费空间,只会减少寿命
:D
作者: 大D来了    时间: 2010-12-5 10:18
回复 22# carlyu


    理解了
作者: zongyongchun    时间: 2010-12-15 13:15
已阅,这是第一篇吗?

----暂停购置SSD的计划~
作者: wk__85    时间: 2010-12-27 15:45
sandforce的这种压缩算法感觉上应该只针对特定的数据和应用才能用上,要知道有些数据从理论上就不可能再压缩了,他的算法再强大也不可能突破理论极限吧。。
不过没有外部缓存这个确实太无敌了,真不知道用了什么算法
作者: junweb    时间: 2010-12-28 17:14
有机会对比下Intel的算法,横向比较,结论才比较客观嘛。
作者: zy9104    时间: 2011-1-3 15:48
学习了  感谢分享=。=.
作者: wujian1982    时间: 2011-1-19 01:34
原来SF的主控贵在这里。。。。
学习了。。
作者: clouds    时间: 2011-3-10 12:23
SSD内部怎么可能看到文件的概念呢?如果按照Page压缩,压缩率不可能到达0。5这么高。肯定还有别的猫腻啊。
作者: neeyuese    时间: 2011-3-10 13:00
不需要文件的概念,数据流就行。
作者: clouds    时间: 2011-3-10 13:20
看到这个帖子是您半年前写的,如果还有兴趣交流的话,我愿意说一下我的观点.
1. 压缩率依赖于输入的数据量大小,比如,有10MByte的内容,压缩到5MB,比较容易。但是8K Page,压缩到4K就比较难。
2. 压缩数据都是上下文相关的,如果输入的数据单位大于两个Page,那么如果Host要改写一个Page,就Latency很长。
3. Sandforce带的那个电容几乎可以维持1秒以上的供电,不知道他的内存有多大。如果不是MCP,1MByte的SRAM都很大了。用电容供电,目的只有保护数据。因为Table是可以重建的。1MByte的Data应该不需要这么大的电容,不过也有可能这种电容最便宜。

能否推荐几个Sandforce的SSD,我想买来研究一下。
作者: wohengdkj    时间: 2011-5-29 01:02
回复 30# neeyuese


    那就是说,如果我买了镁光的,就只能享受到RAW的速度了? 岂不是很亏。。。。(不过它芯片好)(但ONFI的寿命有提高吗?)现在 vertex2 60g(25nm)   ==  760  C300 64=805


    不过,我们还有NTFS压缩啊,用CPU代替Sandforce,还有性能提升,甚至可以省出空间。在这个CPU性能极度过剩的时代是由使用价值的吧?


    不知道外国网站上有没有这方面的测试,不过中国是没有了,e文又看不懂,劳烦浴大解答!

    为现诚意,附上几张图,讨论讨论啦。


[attach]35963[/attach]
[attach]35965[/attach]
[attach]35964[/attach]
[attach]35966[/attach][attach]35967[/attach]
NTFS压缩后,随机01的写入微微下降
作者: wohengdkj    时间: 2011-5-29 01:28
本帖最后由 wohengdkj 于 2011-5-29 01:32 编辑

回复 1# neeyuese


    又测试了一下0FILL失望啊
[attach]35968[/attach]
NTFS压缩前/后

最夸张的是。。。。。。有NTFS时,SSD 4K读取的CPU占用率达到50%,4K写也稳定在30%  (P8700  2.53GHz)
而且CDM测试完成删除1gb测试文件的速度差了很远,有NTFS压缩的情况下机器无响应了20秒,无NTFS压缩时瞬间完成。
唉,这个压缩果然是给机械硬盘设计的啊(连续读写时也没那么大的CPU占用)。

我觉得我的成果可以开个帖子了。。。。。。{:1_301:}
作者: wohengdkj    时间: 2011-5-29 01:41
回复 33# wohengdkj


    最后一点,我的前后两个回帖分别是在做了您的 《【原创】是谁抢走了我的SSD性能? part1、2》前后做的测试

    不知道影响大不大,因为我是笔记本很需要CPU调节功能,所以打算再改回来,顺带再做个测试排除干扰。
作者: wohengdkj    时间: 2011-5-29 02:00
本帖最后由 wohengdkj 于 2011-5-29 02:04 编辑

回复 34# wohengdkj


    优化前后对比
[attach]35970[/attach]

  得出结论:优化绝对有用!!!!!!
但是笔记本就别试了,CPU会一直工作在最高频率:我的ThinkPad的散热系统都会一直工作,我刚清理过风扇。。。。

最终结论:NTFS压缩无用,浴大优化有用!


请版主和浴大过目~
作者: rocketeer    时间: 2011-5-29 02:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: James007ss    时间: 2011-5-29 02:34
回复 36# rocketeer


你是HK的吧,我们说的数据不是指具体的资料文档,是指0和1这些最原始的二进制数据,不知这么说你明白不?
作者: nopaynoget    时间: 2011-5-29 17:36
回复 1# neeyuese


    没看到算法,比较可惜
    加密的过程不知道会不会提供一个接口给操作系统调用,不知道还能不能像普通硬盘一样直接进行比较低层的写操作.
    如果不能的话那很多功能的实现就非常不方便
作者: luckissy    时间: 2011-5-29 18:14
学习了  很给力
作者: bello    时间: 2011-5-30 06:10
既然主控这么强大,那发热也不低吧!
作者: roshine    时间: 2011-5-30 20:07
{:1_325:} 浴大的讲解基本看懂了,很精辟.
作者: tux2049    时间: 2011-5-30 20:12
我来听课啦
作者: a295327207    时间: 2012-1-29 15:07
学习了,学习了
作者: moogly    时间: 2012-6-21 15:22
刚刚入手ssd,进来学习一下,这个技术是好呢还是不好呢?

纠结啊
作者: neeyuese    时间: 2012-6-21 15:34
回头看看,2年了。
作者: qzwalter    时间: 2012-6-21 17:41
neeyuese 发表于 2012-6-21 15:34
回头看看,2年了。

最后看看才发现是好早之前的帖子了。。。
作者: compal_zero    时间: 2013-1-19 14:27
学习了,正在一路拜读楼主大作。




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