OCZ Vertex 2 - 深度優化

本帖最後由 Niel 於 2011-3-28 14:37 編輯

Rules of thumb:

  • Controller: 買SSD之前,應先清楚SSD是用甚麼牌子的controller,這很大程度決定了一隻SSD的效能及壽命。
  • NAND Flash: 同一容量的SSD可能使用了不同write cycle的NAND flash,這一個資料應該比較難找到。現時(2011)大多數MLC SSD都使用了25nm (3k-5k write cycle)的NAND Flash,配合上一個好的controller,壽命應該不是一般消費者要擔心的問題。隨著有更多不同類型的NAND flash推出市場,如eMLC,不同的用戶要因應自己的需要去選擇適合自己的SSD。
  • AHCI: 有的就一定要開啟。
  • Operating System: Windows 7的用家不太需要進行優化,文中的Tips有一些主要是為節省空間而設。
  • Enjoy: 享受SSD的速度,不要盲目的去相信過時及不切實際的優化。優化了之後,當SSD作一般的Hard disk使用就可以了。



前言
多謝大家觀看這篇文章,本文章分為三個部份
1.        基本技巧: 必須的優化技巧
2.        進階技巧: 主要為非Windows 7及進階用家而設的
3.        Mythbuster: 破除一些錯誤或含糊的優化技巧
4.        其他相關文章

建議使用以下的優化前先備份系統


測試環境
Intel i5 750 @ 3.2GHz
Asus P7P55D-E Pro
Supertalent DDR3 1600 @ 6-8-6-20 1T
OCZ Vertex 2 60GB FW1.11
Western Digital 6400AAKS
Windows 7 Professional
Intel RST 9.6.0.1014


基本技巧

        留意Firmware更新
有時候能給予SSD速度上的提升及修正問題
官方下載: http://www.ocztechnology.com/ssd_tools/OCZ_Vertex_2,_Vertex_LE,_Agility_2/

        保留一定數量的可用空間
一般SSD如果要保持SSD的高速,用家需要保留10%左右的空間,而Vertex 2使用了SandForce SF1200系列控制器,SSD內有一定數量的備用Flash Block (Over-provisioning)去作Ware leveling(增長壽命)及加速用(Vertex 2有28%備用空間,Vertex 2E有13%),所以Vertex 2對於可用空間的減少而對性能的影響比其他SSD低(大多SSD只有少於7%的備用空間)。

        不要經常使用Eraser, HDDErase, Hard Disk Wipe Tool等軟件
這類軟件的確可以回復SSD的效能,可是卻會有效地縮減SSD的壽命。而且Vertex 2的GC (Garbage Collection)能力相當之強,經過多次ATTO及AS SSD Benchmark之後也沒有出現失速的情況。筆者建議用家不需要使用此類軟件。(如果真的出現失速,大家可參考進階篇 – 真的失速怎麼辦)

        留心閣下使用的測速軟件
基於SandForce SF1200/1500的特別設計(對數據使用了壓縮),Vertex 2的Write Amplification可以低於1,亦是Vertex 2隨機寫入如此高速的原因。可是有一類型的測速軟件,如AS SSD Benchmark,Crystal Disk Mark等等,使用了隨機數據(Random Data)作測試,由於此類型數據不能有效被壓縮,Write Amplification亦會提升,對SSD損耗更大。所以OCZ官方推薦使用ATTO及IOMeter等作測速軟件,因為這些軟件產生的數據比較接近日常的使用模式(可有效被壓縮),而且對SSD損耗不高。

        正確的Sector Alignment
安裝Windows Vista及Windows 7時會自動Align Sector,如果你不確定你的SSD是否已Align的話,你可以使用AS SSD Benchmark。


紅圈內為OK,即已正確Align


紅圈內為BAD,即Alignment不正確

如閣下想安裝其他OS或Windows XP,就需要手動Align,詳細可參閱: http://www.ocztechnologyforum.com/forum/showthread.php?55238-Guide-for-Win-Xp-installation-with-Diskpar-(alignment)-nLite-Ramdrive-Page-file-Tweaks-Browser-Tweaks-My-Doc-folder-move-and-Print-Spooler-on-Vertex

如果你已安裝了作業系統的話,可以試用Paragon Partition Management內的Alignment Tool (30天試用) ,詳細可參閱:
http://www.ocztechnologyforum.com/forum/showthread.php?72550-Paragon-Alignment-Tool-2.0-Easily-Aligns-(and-Re-Aligns)-Your-SSD-Drives-amp-Partitions-On-The-Fly!

        使用優化的Sector Size
ATTO (Version 2.46, Queue Depth=10, Intel RST 9.6.0.1014, 加入WD 6400AAKS作對比)

在測試中可看到Vertex 2在NTFS檔案系統中使用4KB Sector能夠達到最高的連續讀寫效能,再大的Sector Size對速度也沒有增長,而4KB Sector亦是Windows 7的Default Sector Size。

        啟動AHCI mode
未安裝Windows

1.        在BIOS內把Storage Controller由IDE Mode轉為AHCI mode


2.        安裝Windows時,會自動安裝“Standard AHCI 1.0 Serial ATA Controller”的Microsoft Driver (如安裝Windows XP或之前的板本,需在安裝時按F6向系統提供Driver)

已安裝Windows
1.        按 Ctrl + R 快捷鍵
2.        在「執行」鍵入 regedit
3.        瀏覽到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\msahci,將”Start”的DWORD值改成0
4.        在BIOS內把Storage Controller由IDE Mode轉為AHCI mode

        確保TRIM指令的正確執行
TRIM指令的正確執行需要一個支援的環境外,還需要正確的設定。指令由OS發出,再經由儲存控制器將指令傳到SSD。


設定作業系統 (以Windows 7為例及需要系統管理員權限)
1.        按「開始」
2.        在「搜尋」鍵入cmd
3.        在cmd.exe上按滑鼠右鍵,再按「以系統管理員身份執行」
4.        在命令提示字元 (Command Prompt) 中鍵入fsutil behavior query disabledeletenotify
5.        如結果為1,代表TRIM指令沒有開啟;如為0,TRIM指令已啟動。
要啟動TRIM指令,鍵入fsutil behavior set disabledeletenotify 0
要關閉TRIM指令,鍵入fsutil behavior set disabledeletenotify 1

更新儲存控制器(Storage Controller)的driver及CPU省電功能的影響
1.        按 Ctrl + R 快捷鍵
2.        在「執行」鍵入 devmgmt.msc
3.        在「裝置管理員」中,選擇IDE ATA/ATAPI控制器或儲存控制器 (IDE ATA/ATAPI Controller or Storage Controller)
4.        如當中出現 “Standard AHCI 1.0 Serial ATA Controller”,代表電腦正在使用Microsoft的ACHI driver,這driver能傳送TRIM指令給SSD。


可是根據SandForce,這driver並不支援最新的ATA協定,引致出現刪除超過4GB的檔案時,SSD不能正確執行作業系統的TRIM指令。(例如當刪除一個8GB的檔案時,SSD只能對開頭4GB的資料執行TRIM指令)

Intel晶片組用家:建議安裝Intel Rapid Storage Technology Driver,此Driver能夠正確對應TRIM指令及最新的ATA協定,,而且對速度有所提升。
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=18859

AMD晶片組用家:截至AMD AHCI Driver 10.7,AMD還沒有提供支援TRIM的Driver供用家下載,如果大家不想依賴SSD的Garbage Collection,本人建議大家繼續使用Microsoft的AHCI driver,而且每次不刪除多於4GB的資料。(Update 20101223: AMD AHCI Driver 10.9 已經支援TRIM,建議大家使用。)

下圖是Vertex 2 60GB於不同Driver的性能比較:

先看ATTO (Version 2.46, Queue Depth=4, 4KB Sector)



由於IDE是一個舊制式,缺乏了AHCI的Write Combination、Command Queuing等功能(Vertex 2支援32 Queue Depth),所以從上圖可以看到IDE大幅落後於AHCI。而Intel Rapid Storage Technology Driver比Microsoft的再有速度上的增加,大家可參考下圖。



再看AS SSD Benchmark (Version 1.5.3784.37609, 4KB Sector, Speedsteps ON, C1E ON)



在這部份筆者亦加入了CPU省電功能對SSD的影響(Intel C-States),從測試可看到依然是Intel Rapid Storage Technology Driver領先,IDE亦在多工的測試繼續大幅落後於AHCI。而C-States省電功能的確對SSD的速度有所影響,可是影響不明顯,筆者亦不建議大家放棄C-States。


進階技巧

        停用硬碟重組 (Windows 7 會自動停用)
不同於傳統硬碟,SSD是不需要重組的,而且硬碟重組會為SSD帶來無謂的寫入工作。

        停用Prefetcher (Windows 7 會自動停用)
1.        按 Ctrl + R 快捷鍵
2.        在「執行」鍵入 regedit
3.        瀏覽到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlset/Control/Session Manager/Memory Management/PrefetchParameters,將”EnablePrefetcher”的DWORD值改成0

        停用TurboBoost (Windows 7 會自動停用)
1.        按 Ctrl + R 快捷鍵
2.        在「執行」鍵入 services.msc
3.        尋找TurboBoost的項目,之後按右鍵,選擇內容
4.        在啟動類型選擇「停用」

        停用Superfetch (Windows 7 會自動停用)
1.        按 Ctrl + R 快捷鍵
2.        在「執行」鍵入 services.msc
3.        尋找Superfetch的項目,之後按右鍵,選擇內容
4.        在啟動類型選擇「停用」

        將Windows的暫存檔案移到硬碟上 (節省空間,對壽命有少許幫助)
1.        按 Ctrl + R 快捷鍵
2.        在「執行」鍵入 control sysdm.cpl
3.        到「進階」>>「環境變數」
4.        在「系統變數」及「使用者變數」中尋找TEMP及TMP
5.        將以上路徑改到硬碟上,例如D:\Temp

        將瀏覽器的暫存檔案移到硬碟上 (節省空間)

        修改/停用Indexing Service目錄的位置 (原因可參閱Mythbuster)
修改
1.        開啟「控制台」>>「索引服務」
2.        更改「索引位置」由SSD到HD上

停用
1.        按 Ctrl + R 快捷鍵
2.        在「執行」鍵入 services.msc
3.        尋找Windows Search的項目,之後按右鍵,選擇內容
4.        在啟動類型選擇「停用」

        真的失速怎麼辦?
如果你的Vertex 2出現失速,而你亦在使用Windows 7及正確設定了TRIM指令,你可以先用SSD TRIM 去嘗試回復速度。

SSD TRIM Tool for Vertex 2:
http://www.ocztechnologyforum.com/forum/showthread.php?73888-Here-s-a-tool-to-force-TRIM-your-entire-drive

如果出現嚴重失速而且讓電腦閒置數小時之後還沒有解決的情況,用家可以SecureErase你的SSD。筆者推薦hdparm for Windows,這工具能在Windows中工作:
http://www.ocztechnologyforum.com/forum/showthread.php?73002-Secure-Erase-for-Windows


Mythbuster - 破解網上的流言
網上和坊間經常流傳著一些所謂的系統優化技巧,很多都是未經查證或是不再適合現時的系統,對系統構成風險又或對用戶做成不便。

        不應該將pagefile放在SSD上!?!?
根據Microsoft的Engineering Windows 7 Blog,大多pagefile的存取都是細小的隨機讀取和比較大的連續寫入,這正是非常適合SSD特性的。而pagefile的讀取和寫入比例大約是40:1,而讀取是不會影響SSD壽命的。Microsoft指出pagefile比絕大部份其他檔案更適合放在SSD上,而pagefile的寫入比較其他日常作業相比實在太微小。所以關閉/移動pagefile是非常不知的。
http://blogs.msdn.com/b/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx

        應該停用索引服務(Indexing Service)!?!?
停用索引服務是可以減低檔案系統的overhead,可是Windows 7預設只會對數個路徑進行Index,而且再加上SSD的極高隨機存取速度,對系統的影響近乎零。當然,如果用戶不需要對檔案內容索引進行索引的話,筆者會建議關上。如果想保留功能卻存有疑問的話,可以手動修改Indexing Service目錄的位置到硬碟上。

        Windows寫入快取的問題
很多用家都認為關閉儲存裝置的Windows寫入快取緩衝區排清(Write-cache buffer flushing)是「優化」技巧之一,其實這是非常錯的觀念。

原因是Windows預設了寫入快取給儲存裝置(所以圖中第一個選項預設有Tick),而Windows的快取管理(Cache Manager)每隔一秒就會自動發出lazy writer程序,優化寫入快取,平衡系統速度及可靠性。而「關閉裝置的Windows寫入快取緩衝區排清」(第二個選項)會令Cache Manager停止自動優化,如果系統出現不穩定又或突然失去電源,數據可能會出現錯誤,更嚴重的會失去資料。其實這個選項其實是適合一些使用Hardware RAID Card而又有BBU的朋友。正因為Windows會自動為用戶平衡效能及可靠性,所以這一個所謂「優化」是不會提升效能,更有可能令效能及可靠性下降。

有用戶更因為「優化」而令Vertex 2性能下降:
http://social.technet.microsoft.com/Forums/en/w7itprohardware/thread/f75b9b77-2dcc-4f97-be89-5503dc13ccf4

有興趣的朋友可以參閱MSDN文章:
http://msdn.microsoft.com/en-us/library/aa364218(VS.85).aspx


坊間一些錯誤/含糊的Registry優化

        修改NTFS的Master File Table (MFT)容量
NTFS檔案系統中,每一個檔案都會在MFT中有最少一個條目,而當MFT的容量不足夠的話,MFT會自動增大。而MFT增大時,有機會因為連續的空間不足的話而產生碎片,這對於傳統硬碟是有機會影響效能,可是對SSD完全沒有影響,原因和SSD不需要硬碟重組一樣。所以用家不需要修改NTFS的Master File Table (MFT)容量。

        停用NTFS的Last Access Timestamp
根據Microsoft Technet,這一個修改只會在極少數情況下帶來效能增長(一些內有超過70000個資料夾的路徑,或是一些超級頻繁更新的路徑),而且為用戶帶來的風險極大,因為有一些檔案備份工具依賴NTFS的Last Access Timestamp來工作,尤其是使用Remote Storage Service的檔案備份工具,所以筆者建議大家小心處理。

        停用NTFS的8.3檔案名稱
同上,這一個修改只會在極少數情況下帶來效能增長(一些內有超過300,000檔案的路徑)。風險是一些舊式軟件可能不能正常工作(尤其是DOS上的軟件)。


最後,要多謝友人借出Vertex 2E 60GB SSD作出測試。


其他相關文章

OCZ Vertex 2, Vertex LE, Agility 2 - 利用OCZ Toolbox讀取SSD的SMART資訊
Vertex 2 - 利用OCZ Toolbox分辨SSD是3Xnm或是2Xnm版本 (購買後)
OCZ Vertex 2, Vertex LE, Agility 2 Firmware 1.23 Update 問題/疑難排解
OCZ Vertex 2, Vertex LE, Agility 2 Firmware 1.24 Update 問題/疑難排解
OCZ Vertex 2, Vertex LE, Agility 2 Firmware 1.32 Update 問題/疑難排解
SSD壽命實測 + 討論


常見wrong concept

SSD不適合作OS drive,因為OS經常over written同一個file,會大大消耗NAND Flash的write cycle。





修正/更新
(2010-09-06) 啟動AHCI的registry path應為HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\msahci,已在上文更正。
(2010-10-24) 加入"其他相關文章"類別
(2010-12-20) 加入"Rules of thumb"(2010-12-23) Update(2011-03-28) Firmware 1.32
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊