看板 Storage_Zone 關於我們 聯絡資訊
請服用好讀版 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 : 回答你第4題:http://i.imgur.com/EuDAy.png 11/10 04:41
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