作者landattack (none)
看板Storage_Zone
標題[心得] 在Windows XP下使用SSD的心得
時間Sun Nov 9 17:02:32 2014
請服用好讀版
http://www.ptt.cc/bbs/Storage_Zone/M.1415523754.A.CFE.html
只是為了讓自己工作上爽一點
在之前出差前夕把公司的筆電硬碟換成SSD
(系統是
XP Pro)
但沒有時間處理細節
所以...driver仍是pciide, 也沒有4KB對齊
最近稍微有時間,想把這些問題解一解
一來這SSD是我自費的,把它弄對齊對壽命也好一點
二來既然用了就把效能調好 把SSD的效果發揮出來
以下就簡述我做了些什麼,當作分享
筆電是
thinkpad T400
1.
IDE mode 換成 AHCI mode
原本系統是跑在IDE mode
參考這篇
http://goo.gl/zkhcqY
a. 先去lenovo 網站找到
"Intel Matrix Storage Manager Driver for Windows 7 (32-bit), Vista (32-bit)
and XP (32-bit) - ThinkPad "
我記得裡面有個 .bat 執行了它就自動把 driver 複製到系統裡
b. 重開機 在BIOS裡從 compatible mode 改成 AHCI mode
c. 進入 Windows
這時 Windows 發現硬體是一個 AHCI controller
它會在硬碟裡尋找相對應的driver
如果沒做第a.步 就會藍底白字
d. 成功進入 Windows。執行AS SSD,你會看到 driver 從 pciide 變成 iaStor
2. 這時我的 alignment 是 31K - bad (用AS SSD看)
這個的由來是 XP 是由 sector 為單位去建 partition
因為歷史因素 它通常把第一個partition建在 sector 63的地方
1個sector 為512 bytes, 63個sector 為31.5KB
AS SSD 就說它是 31KB
某些 Windows 命令列指行會秀 32KB
實際上 它就是沒有 4KB-aligned
3. 為
解決沒有4KB-aligned問題,我使用免費的 EaseUS Todo Backup
將整顆硬碟複製到外接硬碟
再還原回去(用EaseUS 開機光碟)
還原時要記得勾選"optimize for SSD" 意思就是它會幫你在還原時做好4K-align
(這裡我遇到機器的bug...
還原完要進Windows 時 有時是 logon process 出問題
有時是 VGA not initialized
都會藍底白字。
我猜是過熱。
結果猜對。我過3小時後再開機就正常。)
4. AS SSD 顯示 align to 4K, 但卻是bad
https://farm4.staticflickr.com/3952/15554459550_8585a09801_o.png
我百思不得其解。
大家不都是公認就是 align to 4K嗎? 為什麼還 bad
我還去找AS SSD 作者的網站,沒找到解答
最後
我猜是這個答案:
AS SSD作者認為:我的系統必須做到align to 64KB,它才會給OK
(你看它那個提示文字! 不知道有沒有網友也在XP上試的,是不是XP上都要64KB?)
https://farm4.staticflickr.com/3951/15560638380_c526e7df11_o.jpg
Paragon Hard Disk Manager顯示我的C:有4K對齊
https://farm8.staticflickr.com/7519/15554458890_d9948e5c03_o.jpg
AOMEI Partition Assistant 顯示我的C:有4K對齊
https://farm8.staticflickr.com/7478/15554104617_fdd2f9c04d_o.jpg
用AS SSD查看D: 它也要求要 align to 64KB
https://farm4.staticflickr.com/3949/15560638510_9abce5de14_o.jpg
但是根據微軟的網頁
http://support.microsoft.com/kb/314878/en-us#top
其實 NTFS 的最大 cluster(又名 allocation unit)size 就是4KB
(我的C: D: 確定是NTFS)
只是 若FAT的話 2GB ~ 4GB 會使用 64KB cluster
不知道 AS SSD的作者是否把程式寫成:
只要OS是XP 為了應付所有的狀況 它就要求partition要64KB對齊(不論實際情況為何)
有做到就給OK 沒做到就給bad
網路上找到的XP設定 我看過的是把系統碟起始位置設到1024KB
1024KB是64KB的整數倍 所以AS SSD給OK了
我本來也想學他那樣做 但後來發現只是AS SSD不知為何要求64KB-align
我就不做了
5. [補充:有關 Windows XP不支援trim]
Windows XP不支援trim,
所以當你在OS下刪掉了某些檔案 SSD韌體不知道這些檔案所使用的碟區內容已作廢
所以它內部還會搬來搬去 影響效能也無謂的降低SSD壽命
我的SSD是美光M500 240GB
上網查的結果 美光曾經有出過Crucial Wiper tool 但只支援M225
不同韌體可能是不同team在開發 所以硬上可能無濟於事
至於想藉由第三方軟體來幫忙trim
我認為是不可能的。
trim的工具必須要能直接與韌體溝通(穿過driver);
通用性的軟體就算它寫下去的是全0 或是全1,你又怎麼知道韌體會不會檢查資料內容
如果它不檢查 那它依然會把它當成有效資料 在內部搬來搬去
所以.. 我並沒有找到tool可以幫我的M500做trim。
當它還在XP底下被使用時,我就先不管這事了吧。
//原po是在SSD產業工作。如果理解有任何錯誤,還請大力鞭。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.2.214
※ 文章網址: http://www.ptt.cc/bbs/Storage_Zone/M.1415523754.A.CFE.html
※ 編輯: landattack (114.32.2.214), 11/09/2014 17:05:19
→ landattack : 其實是想問板友1個問題:是否大家在XP上使用AS SSD 11/09 17:12
→ landattack : 它的提示文字都是"offset/alignment @ 64K Cluster" 11/09 17:12
→ landattack : 然後,為什麼呢? 11/09 17:12
→ enjoyself : 先把trim和gc分清楚',網路上ㄧ堆trim xxoo的,言過 11/09 17:43
→ enjoyself : 其實 11/09 17:43
→ landattack : Hi enjoyself, 我對trim的認知有誤嗎? 11/09 21:38
推 GJME : 推原po寫下詳細過程 記得在對岸pceva論壇看過有人 11/10 01:49
→ GJME : 釋出XP下的萬用trim程式,不曉得可靠性就是,不過 11/10 01:49
→ GJME : 說來說去還是intel的toolbox厲害,但就只能在他家 11/10 01:49
→ GJME : 產品使用 11/10 01:49
推 GJME : 話說XP底下使用SSD方案似乎以SF系列會稍微好一點 11/10 01:56
→ GJME : 有一說是指出這家對trim的使用跟大家不太一樣,或 11/10 01:57
→ GJME : 是說不敏感,所以在XP底下,當其他方案效能大幅折損 11/10 01:57
→ GJME : 時,SF方案效能損失會稍微好一丁點 11/10 01:57
→ ddrdod : 這是我的Plextor M3刷M3P 128GB在XP SP3跑了 11/10 04:44
→ ddrdod : 2年2個月,我買來整棵沒分割,用快速格式化成NTFS 11/10 04:47
→ ddrdod : 再用Paragon Alignment Tool做4K對齊搞定的 11/10 04:48
推 sevenfeet : XP pro用兩年多了 先借別人電腦分割直接對齊 11/10 07:15
→ landattack : hi ddrdod 我想想知道你滑鼠移到1024K-OK那裡 出現 11/10 23:39
→ landattack : 的提示文字是不是"offset/alignment @ 64K cluster" 11/10 23:39
→ landattack : 而且我想知道為什麼作者這樣定... 11/10 23:39
→ serlontw : 其實PO主把C槽容量除4096就知道了... 11/11 09:45
推 ddrdod : 我滑鼠指標移到 1024K-OK 那裏是顯示: 11/11 21:54
→ ddrdod : Offset/Alignment @ 4K Cluster 11/11 21:54
→ landattack : 謝謝ddrdod 11/12 21:05
關於Offset/Alignment @ xxK Cluster問題,我跑去Crucial forum問了。
希望能有人能回答。
關於Windows XP trim 的問題,後來想到其實
還是有解法,即使你不是買Intel SSD。
Windows 7 開始支援trim command (從driver支援)
所以可以
(1)將整個disk備份到別處 (2)用Windows 7 光碟開機,確認可以找到SSD
隨便你怎麼分割,將所有的分割區快速格式化 (格式化的過程中,就會下trim
command給SSD) (3) 重開機,用你的工具把disk還原回去
把你的SSD想成是一塊連續的空間
假設整個SSD可用容量是 128GiB (128 * 1024 * 1024 * 1024 bytes)
上面會有 sector 0 ~ 268435455
經過格式化後 因為有trim command 的緣故,SSD韌體會知道這絕大部分的sector
沒有有效資料; 它們是空的。
在Windows XP運作過程中,會寫入某些sectors,例如sector #5566,
當sector相關的檔案被刪除後,作業系統會更檔案系統表,檔案系統會知道
sector #5566沒資料(將來新資料可寫在這裡);但是SSD韌體不知道。
在XP的運行中,許多檔案被寫過又被刪除。我假設XP要寫新資料時,總是從前頭找
可用sector,這樣的話,就不會"汙染"太多sectors (使SSD韌體認為其有資料)
例如:裝完程式後,是60GB。日常使用中,總是使用空間在60GB ~ 70GB徘徊。
假設總容量是128GB,應該SSD韌體會認為有58GB是空的。
SSD不會去搬動那58GB。
所以上述那個『手動trim』的功夫不用常常作,除非你曾經磁碟用量到達90%以上。
第二個想法,是想知道
有沒有軟體可以『讀NTFS表,對那些未被使用的sectors或
Allocation Units,下命令到driver層,讓driver去下trim』
這樣的話,就可以用Windows 7 光碟開機,跑一次這個軟體,就收工。
可以省下備份/還原的功夫。
(在Windows 安裝程式,按 shift + F10 可以叫出Command Line視窗)
※ 編輯: landattack (114.32.2.214), 11/12/2014 21:52:08
※ 編輯: landattack (114.32.2.214), 11/12/2014 21:54:04
推 chang0206 : 其實,我真的覺得你想太多了... 11/13 08:25