bluesystem wrote:
在現在這麼先進的controller管理之下,我個人認為沒有必要去挑戰這些做controller的博士碩士的智慧...
感覺有點沒事找事來煩惱.... 把SSD當成傳統硬碟來看的人, 觀念真的要改一改.......(恕刪)

您誤會了.......如果有好好讀那個連結討論串中的資料,那個討論串完全是討論SSD,不是硬碟,那張圖是來自Micron美光(所以圖中有NAND字樣),可不是來自WD或Seagate,而既然Micron是不作Winchester類型硬碟的,可有想過為何Micron會出這張圖?

微軟WinHEC的資料,在2008年底,就在強調磁碟分割對齊SSD實體配置單位的重要性。







你的觀念比較適用於Wear-Leveling,但是跟磁碟分割的未對齊是兩件事,SSD再先進,它的基本運作還是受限於NAND Flash讀寫的page size/erase block size,但是由於作業系統相容性,SSD還是必須從軔體階層將自己模擬成512bytes/磁區,Partition分割基本單位是磁區,而SSD的page size普遍比512bytes大許多,也就是一個page會被模擬成許多磁區,因此若partition分割沒有對齊page size邊界,就可能造成存取許多小檔時的效能降低問題,還會增加無謂的SSD寫入、以及某些案例造成系統停頓現象。

Wear-Leveling之所以無法發揮作用,在於不管是MBR或GPT分割表、NTFS檔案系統的格式化、跟cluster的分配、及cluster與磁區間的對應關係,那都是作業系統跟系統工具程式/內建驅動程式的事,SSD只負責提供出眾多模擬出來的512bytes磁區,並處理好模擬出來的磁區跟SSD實體page之間的對應關係。

因此,當XP分割程式在MBR(位於第一個磁區)內註明第一個硬碟分割將由第63個(模擬出的)磁區開始時,SSD根本不知道發生什麼事,當格式化程式從第63個(模擬出的)磁區開始將每8個連續的(模擬出的)磁區劃分成一個NTFS預設的4KB大小cluster時,事實上SSD也不知道作業系統在規劃些什麼、作這些是何意義,對SSD來說,那只是一連串的讀寫命令,因此SSD的軔體本身或Wear-Leveling演算法絕對沒有權力擅自去更改任何作業系統的決定跟規劃,否則就天下大亂了。

Wear-Leveling能發揮作用的地方,只在於事後當作業系統對某個未對齊的4KB cluster寫入時,因為該cluster會對應到8個512bytes磁區,再透過SSD軔體對應到兩個SSD的實體page,而最終選擇寫入到哪兒,可以由Wear-Leveling演算法針對全域的SSD block使用次數情況來決定。

Win7所謂針對SSD的最佳化支援,其中一環就是將分割起始點從XP的第63個磁區(31.5KB處),向後移到第2048個磁區(1MB處),如此不管SSD的讀寫基本page size是4KB/8KB/16KB/32KB/64KB/128KB/256KB/512KB/1MB(都是1MB的因數),分割的起始點自然就會對齊SSD的page size邊界,這都是Google一下就可以找得到的資訊,您不妨想一想為何相對於XP,會有這樣的改變?如果像您說的何必擔心、SSD控制器必然會將一切搞定,Win7何必有這樣的設計?又如何保證現今市面上每一家的SSD控制器,尤其是相對較為低價的機種,都有像您認為的已針對XP匹配的問題特別下功夫去處理?

就算原先是裝了Vista/Win7,如果用了沒有特別支援對齊的Partition Image回存工具來將Vista/Win7 partition複製到新買的SSD上,在某些使用情境下,也會讓系統分割區變成沒對齊。這在Acronis的討論區上,已經有不少SSD使用者把Acronis K的滿頭包了,甚至還直接發email給Acronis的CEO抗議....。如果是在XP下安裝Vista/Win7升級版,由於是沿用XP原先在SSD上的分割區來安裝,也存在潛在的效能問題。

相對於您所謂"還把SSD當成傳統硬碟來看"的評論,我反而認為您不必先入為主拒絕接受新觀念,先去了解NAND Flash跟SSD的讀寫原理,再Google看看以上所提到的資料,是否都是有所本。

補充:對齊跟非對齊存取的問題不是只有硬碟、SSD、RAID,即使是純半導體的DRAM記憶體或SRAM快取記憶體,由於也是有block size/cache line size的觀念,因此對齊跟非對齊的記憶體存取,也會有效能的影響,所以許多程式在撰寫時,還會特地將資料結構宣告對齊8-bytes/16-bytes/32-bytes的倍數邊界,例如MPEG-2/4/AVC解壓縮/壓縮時的frame buffer。但即使frame buffer對齊了,由於MPEG視訊標準中Motion Compensation/Motion Estimation的特性,還是會有不少非對齊的存取,因此甚至還有學術論文是專門探討記憶體非對齊存取對於解壓縮、壓縮效率的影響,以及IC該如何設計減低衝擊。Intel提供給程式設計師的MMX/SSE指令集的程式設計手冊,也會提到記憶體對齊/非對齊存取的問題。
rainwen wrote:
過去是有文章曾討論過,但引起的注意不大~
http://www.mobile01.com/topicdetail.php?f=490&t=977961&p=5

其實傳統HDD的Advanced Format技術也會面臨到分割對齊的問題,
所以將來這類討論會越來越多~
...(恕刪)

確實希望如此......SSD廠商除了OCZ外,似乎沒有特別去告知使用者這個跟XP或是分割映像回存公用程式合用時的潛在問題(WD雖然因為先進格式跟WD Align被罵到臭頭,但相對之下還算有盡力告知了.....),網路上的討論,也有些人認為Samsung、Intel的SSD控制器應該沒有這個限制,而Jmicron跟Indillinx的控制器,有沒有進行分割對齊就差很多了,尤其是一堆小檔寫入時,會讓系統停頓到不像話.....

但是這裡有一位Intel SSD的使用者在Intel SSD的原廠討論網頁上po出他在對齊分割前跟重新進行對齊分割後的效能差異,雖然他不是用XP,不過他是用Acronis將Win7作業系統複製到SSD,由於Acronis不提供特定使用情境下複製到全新磁碟時的分割對齊,所以複製到SSD上後變成沒對齊了,他只好重新想辦法在SSD上弄成分割對齊的狀態.....

http://communities.intel.com/message/68938#68938

對齊前:


對齊後:


也許對齊前的效能也算是夠快了,不過數字show不出的是系統的回應速度跟一堆小檔隨機寫入時有沒有停頓的問題,如果我花錢入手了SSD,我會寧可多注意一些,讓SSD跑出它應有的表現。再說分割不對齊會造成許多明明可以一次讀寫搞定的I/O變成必須讀寫兩個SSD的Block,這不是無謂增加SSD的寫入而影響壽命?
ycweng wrote:
您誤會了.........(恕刪)


請問一下

那我在win7下利用Acronis的影像檔還原後 是否block 就不對齊了

要如何檢視呢? 謝謝
Galaxy wrote:
那我在win7下利用Acronis的影像檔還原後 是否block 就不對齊了

要如何檢視呢? 謝謝...(恕刪)

不一定,如果是覆寫到原本就有的那個分割,Acronis不會去變更分割的起始點,那就得看原先那個分割是否有對齊。如果是複製到新的SSD,就要注意了,最好事先做完對齊分割,再用Acronis複製。

若要檢查,可用Win7內建的diskpart。

1. 用系統管理員權限執行cmd
2. 執行diskpart
3. 在diskpart的命令提示後打下面兩個命令
DISKPART>select disk=0
DISKPART>list partition
4. 檢查"位移"那一欄的數值(KB),是不是Win7/Vista預設的1024KB,或是SSD的Erase Block大小的倍數。
感謝先進

不過我顯示的資料是4096kb

這代表什麼
Galaxy wrote:
不過我顯示的資料是4096kb
這代表什麼...(恕刪)

代表安全過關...
ycweng wrote:
代表安全過關......(恕刪)


所以是1024的倍數都是對齊的囉

感謝您

您是念資工的嗎
ycweng wrote:
代表安全過關......(恕刪)


想請教您 我用的p163安裝的是intel 160G MLC ssd

網路上有教導許多延壽的方法

其中有幾項是將暫存檔放入sd卡 或者是ramdisk

但是p1630的ram 只有2gb

而且sd的讀取速度不是很快

請問我有必採取那些作法嗎

請提供我您的看法

謝謝您

Galaxy wrote:
請問我有必採取那些作法嗎

請提供我您的看法
...(恕刪)

小弟的建議是買一隻2GB的記憶體,然後再開出Ramdisk,不然也只能信任Intel的保證嘍!
關閉廣告
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 7)

今日熱門文章 網友點擊推薦!