關於SSD的瞭解 - 儲存設備

By Rebecca
at 2010-11-22T15:13
at 2010-11-22T15:13
Table of Contents
後面回的很長,先講一下我想問的
就是目前各大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從數千到數萬都有可能
在進行高度密集的隨機存取時就會顯現差異
--
就是目前各大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從數千到數萬都有可能
在進行高度密集的隨機存取時就會顯現差異
--
Tags:
儲存設備
All Comments

By Hardy
at 2010-11-22T18:25
at 2010-11-22T18:25

By Lucy
at 2010-11-26T01:10
at 2010-11-26T01:10

By Puput
at 2010-11-27T06:11
at 2010-11-27T06:11

By Tracy
at 2010-11-29T12:13
at 2010-11-29T12:13

By Rosalind
at 2010-11-29T14:42
at 2010-11-29T14:42

By Rachel
at 2010-12-03T13:34
at 2010-12-03T13:34

By Charlotte
at 2010-12-06T21:58
at 2010-12-06T21:58

By Zora
at 2010-12-09T19:53
at 2010-12-09T19:53
Related Posts
重灌時抓不到

By Dorothy
at 2010-11-22T14:32
at 2010-11-22T14:32
WD 1TB 突然不能開機

By Hamiltion
at 2010-11-22T14:29
at 2010-11-22T14:29
請問wd藍標1tb eals可否開啟aam設定?

By Poppy
at 2010-11-22T13:29
at 2010-11-22T13:29
HDD Regenerator檢測出的delay是什麼意思?

By Jack
at 2010-11-22T12:12
at 2010-11-22T12:12
Kingmax16G 658元(限今天)/威剛4G聖誕碟 288元

By Tristan Cohan
at 2010-11-22T12:10
at 2010-11-22T12:10