作者SmallBeeWayn (喵喵叫的蜜蜂猫)
看板Storage_Zone
标题Re: [问题] 关於SSD的了解
时间Mon Nov 22 15:13:46 2010
後面回的很长,先讲一下我想问的
就是目前各大SSD控制卡厂商
对於AMD晶片组的相容性有谁弄得比较好或是有在弄的?
白白都是SF-1200,在AMD晶片组下效能整个哭哭
※ 引述《iamstudent (stu)》之铭言:
: 现在的SSD虽然价格偏贵
: 但是至少已经下降到可以买的程度了
: 所以做了一点功课
: 爬了不少文章之後有点心得
: 不过也有一些问题
: 所以想请教一下版上先进
: 看看这些想法是不是对的
: 1 一般硬碟的传输速度,读和写是差不多的。
一般硬碟的读取还是会比写入快一点
取得磁粉的方向,跟改变磁粉的方向所需要的时间还是会有些微的差距
但这个差距在机械限制(读取头移位 & 转盘定位)前显得微不足道
: 7200转大概是 90~100MB/s
: 10000转可以到130MB/s
: 而同转速下,容量比较大的硬碟则通常会快一点?
这样讲不对,应该说「同转速下,资料密度比较高的硬碟比较快」
同样1T硬碟,单碟500G的会比单碟333G的快(连续读/写速度)
: 而一般SSD的读取速度能有200MB/s 但是写入就只有70~110MB/s
: ocz vertex2 可以有200MB/s的写入则是例外
: 一般SATA2 可以有3Gb/s,也就是375MB/s的传输速度
: 整体来说,也就是SATA3 (6Gb/s) 其实没有必要,对吗?
写入速度随着SF-1200等控制器出现後,过去只有SLC(=昂贵)才能拥有的写入效能
可以用不到NTD.1k/1GB买到,未来还会继续下降
SATA-3目前并不普及,再加上Intel要在下一代晶片才开始提供SATA-3
(Sandy Bridge 预计2011Q1)
所以各厂商都还呈现观望态度(这是个人臆测)
事实上已经有不少SSD达到SATA-2的实际传输上限了
SATA-3还有新的指令集与省电处理,不光是提高速度一项而已
: 2 HDD Access Time大约都是20ms左右
转速越快通常时间越短,两万转的SCSI HDD可以到3ms吧
: SSD Access Time一般都是0.1ms
: 但是这个Access Time主要是用来看出什麽用的?
: 是小档的存取还是硬碟反应?
Access Time=从系统送出【我要存取资料】到硬碟回复【我准备好了】所需要的时间
(读取头到达定位)
当在存取小档案的时候,准备完成几乎等於存取完成
如果是存取大档案,还会有额外的写入跟读取时间
: 3 真正比较能够表现平常使用的情况,其实是4k多重读写的速度。
: 所以连续读写其实不重要?
: 因为SSD通常不会拿来当作资料碟
有它的价值,不过SSD的应用确实比较少需要连续读写
: 4 关於trim
: 因为SSD写入时,就算只要写入一个Byte
: 也要把一个最小单位区域(2k or 4K)清除
: 当该区块有资料时,就要先移动到其他地方放置 (这边我自己觉得应该是不对的)
这是对的,SSD的资料储存是用映射方式,以防止特定区块抹除次数太多
SSD在写入资料的方式是:
1.SSD从映射表把该区域的资料读取到快取
2.(快取中)写入变更
3.(从快取)写入到空区块(伫列首位)
4.更改映射表指向到新写入的区块
5.将旧区块排入(空区块)伫列尾端
: 所以SSD快要满的时候,写入速度就会变慢到大概70%
: trim指令是让OS可以通知SSD,在空闲时间去清除区域
: 目前只有win 7和linux有trim,而XP没有
过去电脑在删除档案资料时,并不是真的从硬碟中把资料完全清掉
而是把档案开头清零,并且从档案结构表中删除
未来写入资料时,就直接把旧资料覆盖
而在SSD上,对於有旧资料(就算那些资料没有意义)的区块做写入
就必须多一个读取动作,导致写入变慢
所以才有TRIM指令,通知SSD「这个区块已经空了」
(SSD要把区块清零是瞬间的事情,不像HDD要花时间写入)
: 但是也有给XP专用的优化程式(对吗?)
就是去检查档案结构表,把已经没有用的区块清零
: 一旦使用SSD组Raid0,trim就无法使用
应该有支援TRIM的RAID卡了(吧?)
: 目前在控制器上面,写的比较好的是intel与sandFocus
: 另外,只有写入速度会变慢
: 而读取速度是不会变慢的?
SSD的读取速度是不会变慢的,除非发生你第五点的问题
: 5 买了SSD要使用win7格式化
: 因为winXP的格式化会把sector的起点放在31.5k的位置
: 并不是2k或是4k的整数倍
: 这会让逻辑上与实体上的sector没有对齐
: 导致存取的区域数会提高
正解
: 6 假设拿来当作系统碟使用
: 长时间使用後的写入速度
: SSD Raid0 > SSD with trim > SSD without trim ?
: 至於系统效能,主要还是看读取速度?
: 所以其实长时间影响不大?
RAID会导致Access Time增加,对於系统碟未必是优势
尤其现在SSD单颗就可以把SATA2连续存取速度峰顶
RAID之後反而是负面影响
: 7 理论上SSD组Raid之後读取速度会到400MB/s (会超越SATA2速度上限)
: 如果是使用主机板内建的raid功能
: 会导致SSD的效能卡在南桥而没有意义?
肯定的
: 所以要用SSD组Raid0
: 就要用Raid卡
: 或者原生就走PCI-e的Raid SSD
: 例如ocz RevoDriver (内建Raid0,读540MB/s 写400MB/s)
直接买PCI-E介面的SSD不是更简单...
另外现在的SSD内部本身就是RAID0(对里面的Flash同时存取)
与其在外部搞RAID,不如买颗更高级的
: 8 有执行3D程式时录影的需求
: 但是SSD因为写入没有比一般HDD快多少(也是约100MB/s)
: 所以为此买SSD帮助不大?
是的,连续写入仍以传统硬碟为佳
: 9 如果把SSD当作系统碟,为了减少写入提高寿命
: 要把虚拟记忆体和环境变数的TEMP设定到HDD上
: 但是这样不就很矛盾?
: 实际上这应该是最常发生的存取动作
: 却又搬到HDD上,不就又是使用HDD的速度了?
早期的SSD真的只是Flash to SATA转接卡,所以很容易因为连续抹除而坏区块
现在的SSD都有很多平衡跟安全机制,加上制作工艺的提升,都敢保到三年或五年
所以说,尽管享受吧....像我不光Temp,连Pagefile都丢到SSD去了
最好是看能不能保固内去换一个新的....
而且SSD不像HDD,马达说停就停,不小心摔到磁头就把磁盘刮坏掉
区块有损坏容易早期发现早期应对
: 一个可行的办法是开RamDisk
: 把虚拟记忆体搬到RamDisk上我确认过没有问题
: 但是把TEMP环境变数设定到RamDisk
: 会不会发生有程式写入RamDisk等待下次重开机时要呼叫
: 而资料却随着记忆体的重开机一起消失?
: 因为感觉还有不少程式,安装-时会要求重开机的
会发生这种问题,是程式自己设计有问题
TEMP内档案的存活时间,只应到操作程式关闭为止
: 10 如果HD Turn 测SSD比预期的速度慢
: 找出有个预设64的选项,改成8就ok了
哪个项目啊....
11 SSD还有一个重要的测试标的:IOPS
理论上既然SSD的Access Time 是 0.1ms
那一秒钟应该能够下一万个指令?
事实上当然不是这样,硬碟存取有很多各式各样的指令
HDD是慢速设备,IOPS(Input/Output Operations Per Second)不会过千,也不需要高
(每秒可执行的输入/输出指令数)
但SSD是高速设备,IOPS从数千到数万都有可能
在进行高度密集的随机存取时就会显现差异
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.180.163
1F:推 chang0206 :血泪控诉RevoDriver 实测绝对没有那个数据! 11/22 15:33
2F:推 flamedevil :revo要在特定设定下才会跑出官方数据 11/22 16:40
3F:推 k5a :印象中,第5点如果一开始没用Win7格式化,是不是有个 11/22 18:51
4F:→ k5a :软体程式可以事後补救,有网友记得那程式名称是什麽吗 11/22 18:52
5F:→ y3k :Paragon Aligment Tool 11/22 19:18
6F:推 k5a :Thanks..刚刚慢慢爬文,#1CrKmoVF 这里也找到了 11/22 19:21
7F:→ Nafusica :不知道为何我看了想打哈欠 11/23 12:36
8F:推 iamstudent :我倒是很开心有人愿意回答这些问题 11/24 17:40