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抗議....

相對於您所謂"還把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指令集的程式設計手冊,也會提到記憶體對齊/非對齊存取的問題。