PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

[SSD高级]SandForce主控的专利算法分析。

  [复制链接]
跳转到指定楼层
1#
neeyuese 发表于 2010-5-28 11:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
点击数:28795|回复数:46
本帖最后由 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


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


以此图为例,假设我从一块机械硬盘复制一个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低深度下随机读取能力并不是很出色。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
47#
compal_zero 发表于 2013-1-19 14:27 | 只看该作者
学习了,正在一路拜读楼主大作。
46#
qzwalter 发表于 2012-6-21 17:41 | 只看该作者
neeyuese 发表于 2012-6-21 15:34
回头看看,2年了。

最后看看才发现是好早之前的帖子了。。。
45#
neeyuese  楼主| 发表于 2012-6-21 15:34 | 只看该作者
回头看看,2年了。
44#
moogly 发表于 2012-6-21 15:22 | 只看该作者
刚刚入手ssd,进来学习一下,这个技术是好呢还是不好呢?

纠结啊
43#
a295327207 发表于 2012-1-29 15:07 | 只看该作者
学习了,学习了
42#
tux2049 发表于 2011-5-30 20:12 | 只看该作者
我来听课啦
41#
roshine 发表于 2011-5-30 20:07 | 只看该作者
{:1_325:} 浴大的讲解基本看懂了,很精辟.
40#
bello 发表于 2011-5-30 06:10 | 只看该作者
既然主控这么强大,那发热也不低吧!
39#
luckissy 发表于 2011-5-29 18:14 | 只看该作者
学习了  很给力
38#
nopaynoget 发表于 2011-5-29 17:36 | 只看该作者
回复 1# neeyuese


    没看到算法,比较可惜
    加密的过程不知道会不会提供一个接口给操作系统调用,不知道还能不能像普通硬盘一样直接进行比较低层的写操作.
    如果不能的话那很多功能的实现就非常不方便
37#
James007ss 发表于 2011-5-29 02:34 | 只看该作者
回复 36# rocketeer


你是HK的吧,我们说的数据不是指具体的资料文档,是指0和1这些最原始的二进制数据,不知这么说你明白不?
36#
rocketeer 发表于 2011-5-29 02:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
35#
wohengdkj 发表于 2011-5-29 02:00 | 只看该作者
本帖最后由 wohengdkj 于 2011-5-29 02:04 编辑

回复 34# wohengdkj


    优化前后对比


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

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


请版主和浴大过目~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
34#
wohengdkj 发表于 2011-5-29 01:41 | 只看该作者
回复 33# wohengdkj


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

    不知道影响大不大,因为我是笔记本很需要CPU调节功能,所以打算再改回来,顺带再做个测试排除干扰。
33#
wohengdkj 发表于 2011-5-29 01:28 | 只看该作者
本帖最后由 wohengdkj 于 2011-5-29 01:32 编辑

回复 1# neeyuese


    又测试了一下0FILL失望啊

NTFS压缩前/后

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

我觉得我的成果可以开个帖子了。。。。。。{:1_301:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
32#
wohengdkj 发表于 2011-5-29 01:02 | 只看该作者
回复 30# neeyuese


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


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


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

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






NTFS压缩后,随机01的写入微微下降

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
31#
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,我想买来研究一下。
30#
neeyuese  楼主| 发表于 2011-3-10 13:00 | 只看该作者
不需要文件的概念,数据流就行。
29#
clouds 发表于 2011-3-10 12:23 | 只看该作者
SSD内部怎么可能看到文件的概念呢?如果按照Page压缩,压缩率不可能到达0。5这么高。肯定还有别的猫腻啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部