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

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

  [复制链接]
neeyuese 发表于 2010-5-28 11:03 | 显示全部楼层 |阅读模式
点击数:28591|回复数: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
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 | 显示全部楼层
不懂
听课
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部