2010年6月29日星期二

固態硬碟 ADATA SSD S599 「飛」一般的速度 SF1222 當前明月

還沒到中秋啊?! 這顆明月卻已是光芒盡顯; 話說 SSD 這貴補今年已步入進化期, 由去年的 Intel X25-M G2 34nm 顆粒及後採用 Indilinx Barefoot 控制器晶片的其他品牌, 今年盛名的 Sandforce SF1200 控制器晶片及其 SF1500 企業級系列, 今年後期還會有 NAND Flash 顆粒 25nm 新進程, 在今年 Computex 2010 台北國際電腦展內不小廠商亦展示了新產品的工程樣本, 更有 SATA 6Gb/s 介面支援等等, 無容置疑 SSD 固態硬碟的技術進步在速度效能及功耗電量上是市場上 HDD 物理機械硬碟所望塵莫及, 特別是 0.1ms 的訪問時間(access time)是一般機械硬碟無法匹敵, 唯一的最大缺點是...售價啊 ~~!

省略一大段文字, 今次採購是搜集專業比對資料, 經過了十分詳細腦惱般的考慮, 排除一大片遮天蔽日的網上行銷腦殘槍手文; SSD 的售價是不用爭議的貴, 主流級的 SSD 是效能級用戶群的欣物, 在有限財力下經過一個多月不斷查看腦場售價貨比三家, 最終選擇了主流級 Sandforce 高效能系列如下:
  • OCZ Vertex 2 100GB OCZSSD2-2VTX100G
    使用 Intel 29F64G08CAMDB 顆粒
  • Corsair Force F100 100GB CSSD-F100GB2-BRKT
    使用 Micron(美光) MT29F64G08CFABA 顆粒
  • ADATA SSD S599 100GB AS599S-100GM-C
    使用 Intel 29F64G08CAMDB 顆粒
選擇 100GB 容量對個人用戶來說是滿足夠的, 戶外公務使用時也實用性強, 以上三個產品其實速度效能是相若接近的最高 280MB/s 讀取 270MB/s 寫入, 都是使用了 Sandforce SF1222 控制器晶片, 而 Corsair Force 使用了 Micron NAND Flash 顆粒, 最大的差異是腦場的售價, 幾經爭扎下選擇最低價(人性啊)的...是 ADATA SSD S599 100GB, 它較最貴的類同 Vertex 2 便宜達 USD77(HKD600/TWD2,472); 以使用四年為限天天使用, 四年內每天費用只是 ~USD0.25(HKD1.92/TWD7.90), 此投資尚可接受的了, 功耗最高 2W 節能效益較一般機械硬碟 ~10W 強得多, 節省下的時間更是無價。

近照, 蜂鳥飛翔標誌, 沒有採用浪費資源的華麗包裝
是 2.5" 大小體積給 Notebook 使用包裝內附的 2.5" 轉 3.5" 安裝架, 貼心的好啊! 安裝到桌面電腦時不用額外採購安裝架了安裝轉 3.5" 安裝架十分方便, 圖中 SSD 旁白色的是保固貼紙
安裝簡易完成, 接線後啟動電腦, 進入 BIOS 內查看偵測成功, 進入 OS(Windows 7) 亦自動掛載成功, 過程十分順利安裝在桌面機箱 ADATA SSD S599 的運作溫度是 35℃(室溫 28℃) 比較 HDD 硬碟機發熱量低(硬碟機還有氣孔吹風啊)S599 100GB 詳細資料, 格化後空間容量 93.16GB, Firmware 是 3.0.5
關於 SF1200 系列控制器晶片資料
http://www.sandforce.com/index.php?id=19&parentId=2
其他的開箱裸脫資料等等可善用 google 搜尋

SSD 初始效能的問題情況:
在仍然使用舊硬碟時進入 Windows 7 後, 會自動掛載新 SSD 然後重啟, 重啟後即可使用。
不過, 初始使用時發現 SSD 自動格化及分割成 NTFS 格式, 當然就立即測試一下速度效能, 使用的是 ATTO Disk Benchmark, 首測的效能速度結果令人感到十分訝異莫名...不是因為高速讀取的 280MB/s, 而是寫入速度最高大約在 17xMB/s 至 22xMB/s 之間, 明顯有不明原因的設定問題, 與官方參數有很大的差異(驚訝得忘記了截圖 ^^!)
曾經參考過關於 SSD disk alignment 對效能影響的資料, 由於 SSD block 在 NTFS 預設分割格化時並沒有對齊 4KB 邊界, 在實體 block 模擬磁區寫入動作要抹寫兩個實體 block 而造成寫入效能影響。所以需要額外使用 disk align 工具程式來對齊優化 SSD, WD 公司就提供了的對齊工具軟體 WD Align 給自家支援的 WD AFD 硬碟使用, 而另一個 Paragon 公司的 Paragon Alignment Tool 對齊工具軟體是非常好的選擇...其實 WD Align 也是 Paragon 公司所開發的, 幸運地在六月中已經在官方下載了軟體, 所以立即安裝 Paragon Alignment Tool 2.0 然後執行將 SSD 對齊, 完成 align 後再執行 atto 測試, 結果顯示效能回復到寫入速度 270MB/s(截圖), Excellent!!

執行 Paragon Alignment Tools 將 ADATA SSD S599 align 對齊(綠色碟是可支援對齊功能, 黃色分割區是仍沒對齊)完成 SSD 對齊後 ATTO 效能測試,「飛」一般的速度...280MB/s read 270MB/s write, 爽死啊!!SSD S599 實用速度參考(電腦 ASUS P5QL-EM CPU E8400 3Ghz RAM 4GB DDR2):
光碟安裝 Windows 7 時間 8分艟完成...(BIOS 啟用 AHCI 模式)
從 Windows Advanced Boot 畫面啟動到登入帳號畫面 16秒
從按掣開機啟動到 Windows 7 登入帳號畫面 28秒...(BIOS 沒有停用 Marvell IDE 額外 5秒 IDE detect)
從按掣開機啟動到 Windows 7 桌面畫面 33秒...(同上)
Windows 7 windows experience index 使用 ADATA S599 儲存傳輸指數是 7.8Windows 7 windows experience index 使用 WD 5000AAKS 500GB 儲存傳輸指數是 5.9(系統的樽頸)所以, 如果採購了 SSD 的買家, 在初始使用時如果有寫入效能問題, 建議將 SSD 執行 alignment 對齊, 將 SSD 的寫入效能推至高鋒。

Paragon 公司的 Paragon Alignment Tool 對齊工具軟體免費官方下載體驗版及註冊碼只提供至 30/6/2010, 無緣下載的話善用 google 啊!
無聊的也將舊 IDE 硬碟機及 SATA 3Gbs 硬碟機(AHCI 及 無 AHCI)的 ATTO 效能測試作紀念參考
WD Caviar WD800BB 80GB PC133 IDE 硬碟機, 古董的最高效能 ~36MB/s...(汗)Hitachi Deskstar P7K500 HDP725032GLA380 320GB SATA 3Gbs 硬碟機, 無 AHCI 下最高只得 ~75MB/s read ~70MB/s write...未盡全力的結果(只得 8MB cache...無辦法囉)WD Caviar Blue WD5000AAKS 500GB SATA 3Gbs 硬碟機, AHCI(NCQ) 下最高 ~128MB/s read ~120MB/s write...算是合格吧
搞定了安裝 SSD 後, 就是優化 OS 系統, (Windows 7 SSD 優化篇)待續...

溫馨提示: 今年內 NAND flash 顆粒大降價是不太可能, 25nm 新製程量產後的散貨潮要到明年才有機會出現, 想買得 SSD 心頭好的話, 早買早享受啊! 有些品牌的 SSD 販售了快近一年售價仍然是鐵一般的硬。

2010年6月24日星期四

Firefox 3.6.4 官方釋出 OOPP 的降臨(Firefox 3.6.6 迅即補上)

經歷數月不斷的 bugfix 開發階段及一再延期, Mozilla 終於官方釋出 Firefox 3.6.4, 此版本最重大改造 Out of Process Plugins(OOPP) 外掛處理功能, 將 plugins 外掛(Flash, Quicktime, Silverlight, java??)以獨立的程序(plugin-container)處理, 避免一但外掛程序錯誤時拖垮當掉瀏覽器主程式的煩惱, 而此功能暫時只適用於 Windows 及 Linux 系統, MacOSX 就要繼續等待未來開發; 可能Mozilla 對穩定性考慮, 此進階功能「並不是」預設全局啟用的, 只是針對特定 plugins(例如 flash)而已, 用戶需要手動修改機碼才可真正享受其好處(可能也是壞處?!)。
更新
雖然 Firefox 3.6.4 是經歷不斷的改造而成, 不過短暫的光輝豈會永恆, 它成為 Firefox 生命周期史上的最短紀錄...繼 3.6.4 後 Firefox 3.6.6 在短短數天後已經官方釋出, 主要是修正了 plugin timeout 的臭蟲問題。
如果懶得立即更新到 3.6.6 的話(剛剛重灌完啊...SSD ^^!), 只需修改機碼 dom.ipc.plugins.timeoutSecs 的預設值 10(秒) 改為 30 或 45, 令某些 flash 遊戲玩家滿意吧。

預設(編譯)安裝 Firefox 3.6.4 的 OOPP 功能狀態(Windows)
about:config
dom.ipc.plugins.enabled 預設值 false
dom.ipc.plugins.enabled.npctrl.dll 預設值 true
dom.ipc.plugins.enabled.npqtplugin.dll 預設值 true
dom.ipc.plugins.enabled.npswf32.dll 預設值 true
dom.ipc.plugins.enabled.libnptest.so 預設值 true
dom.ipc.plugins.timeoutSecs 預設值 10


預設(編譯)安裝 Firefox 3.6.4 的 OOPP 功能狀態(Linux)
about:config
dom.ipc.plugins.enabled 預設值 false
dom.ipc.plugins.enabled.libflashplayer.so 預設值 true
dom.ipc.plugins.enabled.libnptest.so 預設值 true
dom.ipc.plugins.timeoutSecs 預設值 10


dom.ipc.plugins.enabled 預設值是 false, 則其他所有非特定的 plugins 都不會採用 OOPP 功能, 預設特定 plugins 時使用。
如需要(或嘗試)使用全局啟用(包括 java, acrobat 等等), 只需將 dom.ipc.plugins.enabled 預設值改為 true。

實測使用 http://www.myspeedmeter.net 網頁, 同時使用了 flash 及 java
dom.ipc.plugins.enabled 預設 false 沒有啟用全局 OOPP
flash 是以 plugin-container 來執行, 而 java 則個別額外執行沒有使用 plugin-ccontainer

dom.ipc.plugins.enabled 預設改為 true, 啟用全局 OOPP
flash 及 java 都是以 plugin-ccontainer 來呼喚執行

備註:
自行編譯 Firefox 時留意套件打包時, 新增 binary 文件 plugin-container, 及必需同時編譯內建 nspr 執行庫。

2010年6月21日星期一

CentOS 系統 SATA 硬碟由 IDE 模式啟用轉到 AHCI

SATA 硬碟 Advanced Host Controller Interface(AHCI) 的技術網上已經有很多參考, 現代 SATA 硬碟內的 Native Command Queuing(NCQ)效能增強功能需要有 AHCI 及系統驅動程式來運作, 其好處最明顯用於新型號 SSD(固態硬碟)當CPU頻繁時有效達到更高傳輸效能, 可以衝到 SATA rev 2(3Gb/s) bus 的傳輸邏輯上限(250MB/s), 一般單夥 SATA 3Gb 硬碟受限於機械物理, 實用傳輸速度大約在 130MB/s, 那麼在安裝 OS 時沒有啟用 AHCI 及同時安裝系統驅動程式的話, OS 只會以一般 IDE 模式運行, 而事後再啟用 AHCI(BIOS)的話, 啟動電腦時進入 OS系統會失敗, Windows(XP,Vista,Win7)都會出現藍屏重啟(INACCESSABLE_BOOT_DEVICE), 而 Linux 會出現 Kernel panic 的錯誤死當。

網上腦殘專才流傳謬論至重灌系統云云, 其實還有更簡易的解決辦法; 在電腦仍然使用 IDE 模式時進入 OS系統內修改其硬碟模式機碼, 預設載入 AHCI 驅動程式, 修改後重啟電腦然後進入主機板 BIOS 內啟用 AHCI, 就可以順利載入 OS系統, 也不用十分鐘時間就可以完成。

Windows 7/Vista SP2 的話(XP 的話善用 google啊), 參考微軟技術文件 KB922976, 修改如下機碼:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
start 預設值 3 修改為 0

已安裝 Linux 的系統 SATA 硬碟一般預設是 ata 模式, 而 kernel 並沒有預設載入 AHCI, 必需指向性的令系統 kernel 起動時啟用 AHCI

實作使用 CentOS 5.5 Linux, WD SATA 3Gbs 500GB 硬碟 WD5000AAKS 及 ASUS P5QL-EM 主機板
SATA 硬碟 IDE 模式啟用轉到 AHCI 修改步驟:
1. 在主機板(BIOS)仍然是 IDE 模式時, 正常起動 Linux 載入系統
2. 設定 scsi_hostadapter 模式, 修改系統配置文件 /etc/modprobe.conf 加入 ahci登入 root 權限, 編輯 /etc/modprobe.conf 文件:
在下列一行後

alias scsi_hostadapter ata_piix

新增一行內容
alias scsi_hostadapter2 ahci

3. 修改內核預載模組(驅動程式)預設載入 AHCI登入 root 權限, 執行:
mkdir /boot/AHCI
mkinitrd --preload ahci --force-scsi-probe /boot/AHCI/initrd-`uname -r`.img `uname -r`

4. 修改 boot-loader grub 載入預設
登入 root 權限, 編輯 /etc/grub.conf 保留舊條目及新增 AHCI 預載(如圖)例如:

#boot=/dev/sda
default=0
timeout=10
splashimage=(hd0,4)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.3.1.el5PAE)
root (hd0,4)
kernel /vmlinuz-2.6.18-194.3.1.el5PAE ro root=LABEL=/ quiet
initrd /initrd-2.6.18-194.3.1.el5PAE.img

修改為
#boot=/dev/sda
default=1
timeout=10
splashimage=(hd0,4)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.3.1.el5PAE)
root (hd0,4)
kernel /vmlinuz-2.6.18-194.3.1.el5PAE ro root=LABEL=/ quiet
initrd initrd-2.6.18-194.3.1.el5PAE.img
title CentOS (2.6.18-194.3.1.el5PAE) AHCI
root (hd0,4)
kernel /vmlinuz-2.6.18-194.3.1.el5PAE ro root=LABEL=/ quiet
initrd /AHCI/initrd-2.6.18-194.3.1.el5PAE.img

以上修改新增了另一個載入 default=1 的 ahci

完成 OS系統修改後重啟電腦, 進入主機板 BIOS, 將硬碟模式由 IDE 修改為 AHCI 後, 再進入 OS系統就能使用 AHCI 了。

備註:
  • 不是所有的主機板都支援 AHCI 模式, 某些廠牌的舊型號電腦 BIOS 內並沒有 AHCI 模式選項(例如: 聯想 G31 晶片組的 ThinkCentre A57); BIOS 沒有此功能的話, 失望的唯一辦法是額外採購 SATA 介面卡(例如: Adaptec SATA II Raid 1220SA)。
  • 舊型號的 SATA 硬碟(或 SSD)不一定都有 NCQ 功能, 採購(使用)時要留意型號及其詳細資料。

2010年6月15日星期二

遷移及配置 Windows 7 的用戶帳號 UserProfile 預設目錄位置

近日(六月)除了 SCO 宣示對 Unix 智慧財產權的訴訟官司最後裁決 Novell 全勝的重大新聞外, 逃不掉一片世界盃足球熱, 眾多電腦宅懶還會用數碼接收器(USB)來收看高清數碼電視, 時差關係會錄影存檔留待翻看, Windows 系統硬碟的剩餘容量空間不足導致出現狀態; 我個人亦心癢準備採購一夥 SSD(固態硬碟)用作系統硬碟來日常使用, 所以也在測試網上流傳多種近似方法可以遷移 Windows 7 用戶帳號 UserProfile 預設目錄位置, 在測試的過程中不能幸免的出現了系統死當 Hang up, 甚至 Ctrl+Alt+Del 都失敗需要 Power Off 按掣關機, 所以惡搞 UserProfile 預設目錄前, 必需做好檔案備份及有心理準備; 個人用戶帳號 UserProfile 目錄由 SSD(細容量)移動到HDD硬碟(大容量), 除了容量擴展外其實還有多個好處, 減輕了登入使用時 SSD 系統碟不斷的寫入動作, 並且減小了個人用戶檔案的暫存檔案空間碎片(累積SSD效能下降), 尤其是網頁瀏覽器及 Temp 目錄的頻繁寫入, 當一但 OS 系統碟失陷需要重灌時也無需為拯救個人文件檔案及設定而優心煩惱。

在實測多種不同方法後綜合一個可行而且頗為滿意(起碼沒有踫到死當或缺陷), 過程快捷順利, 只要注意權限問題, 加上一些手動小修改罷了。

認識 Windows 7 系統的本機帳號目錄 UserProfile 位置架構如下:
  • 帳號預設目錄是 C:\Users\
  • 共用帳號目錄是 C:\Users\Public\
  • 預設配置帳號目錄(隱藏)是 C:\Users\Default\
  • 個人用戶帳號目錄是 C:\Users\%用戶名稱%\

網上流傳眾多方法也有不小誤判或缺陷:
  • 微軟的輕鬆傳輸(Easy Transfer)當然就不能輕鬆地將用戶帳號目錄在系統 C:\Users\ 目錄遷移到其他硬碟機, 也不用妄想啊
  • 將用戶帳號目錄遷移後利用 mklink 指令以 junction point(NTFS) 的連結方式使用, 此方法有不良的嚴重後果(原因不明, 可能是 junction 的權限問題), 在登入後使用到 Windows 某些個人配置功能時(例如: 桌面背景..等等)會令整個 GUI 介面死當或超緩慢, 部分軟體(例如: Outlook)在設定後使用時出狀態
  • 將用戶帳號目錄在 File Explorer 介面中每一個都更改 Location 位置, 實在太過手動(煩死啊), 而且用戶帳號子目錄的 AppData 帳號配置資料(及暫存檔案)都仍然使用 C: 系統碟, 此方法只是適合沒有(或不能使用)系統管理員權限的個人環境臨時的簡易方案而已
  • 將系統機碼 HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList 的 Default, Public, ProfileDirectory 都修改為其他硬碟機位置, 此方法是可行的亦是針對本機的完全修改, 不過...已經存在 C: 的系統管理員帳號還是需要手動遷移及修改系統機碼

遷移個人用戶帳號目錄 C:\Users\%用戶名稱%\ 到其他硬碟機無論任何情況必需先做好系統完全備份!!
實測應用安裝及格化準備好的硬碟(及分割區), 如圖 e: 硬碟

實測配置 Windows 7 的用戶帳號 UserProfile 目錄位置實作步驟:
1. 登入系統管理員帳號
2. 修改系統機碼將新增用戶帳號目錄指向 e: 硬碟, 以 系統管理員身分執行 登錄編輯程式(regedit):
尋找機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
如果需要將所有用戶帳號目錄(包括預設配置、共用及新增帳號)全部遷移到 e: 硬碟的話, 修改三個預設機碼如下:
Default 預設由 %SystemDrive%\Users\Default 修改為 e:\Default
ProfileDirectory 預設由 %SystemDrive%\Users 修改為 e:\
Public 預設由 %SystemDrive%\Users\Public 修改為 e:\Public
如果只需要新增帳號遷移到 e: 硬碟的話, 只需要修改"一個"預設機碼如下:
ProfileDirectory 預設由 %SystemDrive%\Users 修改為 e:\

實測遷移 Windows 7 的用戶帳號 UserProfile 目錄位置實作步驟:
1. 登入 系統管理員 帳號
2. 以 系統管理員身分 執行 cmd 命令提示字元(Command Prompt)
3. 複製用戶帳號目錄(例如: Doggie帳號)到指定位置(e:)硬碟, 在 命令提示字元 內 執行:

robocopy c:\Users\ e:\ /e /copyall /xj /xf c:\Users\desktop.ini /xd "Default" "Public" "%其他用戶帳號%"
以上的複製方法以排除 exclude(/xd) %其他用戶帳號目錄% 及不遷移的 Default 及 Public 帳號目錄
好處是無需煩惱地手動修改目錄讀寫權限, 與原來的帳號目錄權限一模一樣, 而 /xj 是不複製 junction point 連結(否則無限複製 loop, 必需手動再建立帳號目錄內 16個 junction)
4. 在"已遷移"的 e: 硬碟用戶帳號目錄內再建立 16個 junction(兼容舊軟體的目錄架構)
查看舊的 junction 目錄如下(例如: Doggie 帳號):

dir c:\Users\Doggie /al /s

手動再建立 16個 junction 到 e: 硬碟(例如: Doggie 帳號), 以 系統管理員身分 執行 cmd 命令提示字元(Command Prompt)
在 命令提示字元 內執行:

e:
cd Doggie

mklink /j "Application Data" "AppData\Roaming"
mklink /j "Cookies "AppData\Roaming\Microsoft\Windows\Cookies"
mklink /j "Local Settings" "AppData\Local"
mklink /j "My Documents" "Documents"
mklink /j "NetHood" "AppData\Roaming\Microsoft\Windows\Network Shortcuts"
mklink /j "PrintHood" "AppData\Roaming\Microsoft\Windows\Printer Shortcuts"
mklink /j "Recent" "AppData\Roaming\Microsoft\Windows\Recent"
mklink /j "SendTo" "AppData\Roaming\Microsoft\Windows\SendTo"
mklink /j "Start Menu" "AppData\Roaming\Microsoft\Windows\Start Menu"
mklink /j "Templates" "AppData\Roaming\Microsoft\Windows\Templates"

mklink /j "AppData\Local\Application Data" "AppData\Local"
mklink /j "AppData\Local\History" "AppData\Local\Microsoft\Windows\History"
mklink /j "AppData\Local\Temporary Internet Files" "AppData\Local\Microsoft\Windows\Temporary Internet Files"

mklink /j "Documents\My Music" "Music"
mklink /j "Documents\My Pictures" "Pictures"
mklink /j "Documents\My Videos" "Videos"


5. 修改系統機碼將用戶帳號目錄指向 e: 硬碟, 以 系統管理員身分 執行登錄編輯程式(regedit):
展開機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
在其中參找一條長機碼包含有用戶帳號名稱, 將其 ProfileImagePath 機碼由 c:\Users\%用戶帳號名稱% 改為 e:\%用戶帳號名稱%(如圖)
修改後即時生效

備註:
1. 如果要遷移的帳號目錄是登入使用中的系統管理員的話, 則必需建立及登入使用另一個臨時系統管理員帳號, 否則登入使用中的部分檔案文件因為系統使用中而不能完全複製成功。
2. 在 系統管理員身分 使用 xcopy 或 File Explorer 中複製帳號目錄貼上的話, 帳號目錄權限會錯誤, 導致用戶部分功能錯誤及保密讀寫權限缺失
例如: 所有預設圖示失蹤(如圖)錯誤的帳號目錄權限(如圖), 任何用戶均可讀寫檔案文件正確的帳號目錄權限

最後個人建議:
如果要遷移用戶帳號目錄(包括其一切檔案文件資料)的話, 遷移後不要立即刪除舊帳號目錄, 視不同情況酌情保留舊目錄資料一段時間, 緊急需要時還可以用來拯救狀態。

更正:
mklink -j 改正為 mklink /j 指令。