SSD 4K 對齊( 4K Alignment )關鍵其實不在於分割磁碟,而在於格式化。傳統機械硬碟 ( Hard Disk Drive , HDD ) 的讀寫操作都是以磁區作為單位,而每個扇區( Sector )的大小是 512 位元組( Byte )。但是,固態硬碟( Solid-State Drive 或 Solid-State Disk , SSD )採用快閃記憶體( NAND Flash )作為儲存單元,最小儲存單位稱為 Page,容量大小為 4K Byte。
本篇文章可以看到兩個結果:【1】、SSD 4K 對齊後,使用 UEFI 或 Legacy 開機模式安裝 Windows 10,對效能有影響嗎? 【2】、SSD 沒有 4K 對齊的話,對效能影響多大呢?
SSD 4K 對齊的理由
當我們要讀或寫一份大小為 4KB 的資料時,沒有 4K 對齊的 SSD 需要進行兩次的磁區資料調取操作;然而進行 4K 對齊後的 SSD ,就能將資料與 SSD 快閃記憶體 ( NAND Flash ) 的最小存儲單元對應,在一次讀寫操作中就能完成資料的讀或寫了。
固態硬碟為了提高容錯能力和讀寫速度,將原來的每個扇區 512 Byte 改為每個扇區 4096 Byte,也就是現在常說的【 4K 對齊 】。符合【 4K 扇區 】定義格式化過的硬碟,並且按照 4KB 的規則寫入數據,理論上可以提升讀寫效能。
實驗的硬體規格:
1、主機板:GA-H110M-DS2 DDR3
2、CPU:Intel Pentium G4400
3、固態硬碟 ( Solid-State Drive, SSD ):SanDisk SDSSDXPS、KingSton SUV400S37
4、作業系統 ( Operating System ):Windows 10 Professional 64-bit

更改 BIOS 設定來支援 SSD 4K 對齊
安裝 Windows 10 作業系統,不需要啟動 CSM ( 全名 Compatibility Support Module 是【兼容性支持模塊】 )。因為關閉 CSM 的話,電腦開機就會變成純 UEFI 啟動,且完全支持安全啟動( Secure Boot )。
早期因為 Windows 7 不完全支持 UEFI ,所以在安裝 Windows 7 系統時,最好不要使用【UEFI】開機進行 Windows 10 安裝,而且還要禁用【 Secure Boot 】。
BIOS 設定:
1、在 BIOS 選單中找到【SATA 設定】並啟用【AHCI 模式】
2、將 SSD 插在主機板任一 SATA 的連接插槽上面
3、系統開機後,根據需求選擇開機模式:【關閉 CSM】與【UEFI 開機】


用 UEFI 開機模式,安裝 Windows 10 的流程
新增新磁區
因為只有裝一顆 SSD 在系統中,所以會看到【 Drive 0 Unallocated Space, 223.6GB 】是正常的。用滑鼠點一下【 Drive 0 Unallocated Space 】,然後按【 New 】。

調整磁區容量大小
【 Size 】預設值是最大容量,因為不打算分割其他的磁碟區,所以就使用預設值,然後按【 Apply 】。

執行格式化,才能實現 SSD 4K 對齊
用滑鼠點一下【 Drive 0 Partition 4 】,然後按【 Format 】。

選擇安裝作業系統的磁區
【 Drive 0 Partition 1 】 ~ 【 Drive 0 Partition 3 】屬於系統磁區,所以用滑鼠點一下【 Drive 0 Partition 4 】,最後按下【 Next 】開始安裝作業系統。

開始安裝作業系統
看到這個畫面,表示正在將 USB 隨身碟的 Windows 10 安裝檔案,複製到 SSD 進行系統安裝。剩下的過程,就是 Windows 10 系統安裝的設定。

用 Legacy 開機模式,安裝 Windows 10 的流程
新增新磁區
用滑鼠點一下【 Drive 0 Unallocated Space 】,然後按【 New 】。

調整磁區容量大小
【 Size 】預設值是最大容量,因為不打算分割其他的磁碟區,所以就使用預設值,然後按【 Apply 】。

準備將兩個磁區合併成一個
【 Drive 0 Partition 1: System Reserved 】屬於系統磁區,【 Drive 0 Partition 2 】才是安裝作業系統的磁區。但是我們要把兩個磁區合併成一個,所以需要完成以下動作。

刪除系統保留磁區
點選【 Drive 0 Partition 1: System Reserved 】,然後按【 Delete 】。

再新增新磁區
接著滑鼠點一下【 Drive 0 Unallocated Space 】,然後按【 New 】。

調整新磁區容量大小
【 Size 】使用預設值就可以了,然後按【 Apply 】。

把原本磁區 2 刪除
滑鼠點【 Drive 0 Partition 2 】,然後按【 Delete 】。

延伸磁區
滑鼠移動到【 Drive 0 Partition 1 】,點一下,然後按【 Extend 】。

決定延伸磁區容量大小
【 Size 】使用預設值就可以了,然後按【 Apply 】。

執行格式化,才能實現 SSD 4K 對齊
接著按【 Format 】。

準備安裝作業系統
然後按【 Next 】。

開始安裝作業系統
看到這個畫面,表示正在將 USB 隨身碟的 Windows 10 安裝檔案,複製到 SSD 進行系統安裝。

SATA SSD 4K 對齊的效能測試
測試數據分成兩部分來觀察:
1、開機碟:SSD 4K 對齊的效能差異
2、資料碟:SSD 4K 對齊的效能差異
開機碟:SSD 4K 對齊的效能差異
Windows 10 安裝完成後,用 CrystalDiskMark 與 AS SSD Benchmark 兩套軟體進行測試,會發現 UEFI 與 Legacy 開機模式的效能差異並不是很大。
建議:使用 UEFI 開機模式安裝 Windows 10 省時又省事!
CrystalDiskMark 測試數據
Kingston SUV400S37240G


CrystalDiskMark 主要功能就是透過【 連續讀寫 】和【 隨機讀寫 】等方式,來測試硬碟 ( SSD 、 HDD )的實際讀寫速度。
CrystalDiskMark 測試項目說明:
1、All:測試所有項目
2、Seq Q32T1:針對 NCQ、AHCI 模式做循序讀取、寫入測試 ( 1024K 位元組,佇列深度為 32,1 線程)
3、4KiB Q8T8:針對 NCQ、AHCI 模式做隨機讀取、寫入測試 ( 4K 位元組,佇列深度為 8,8 線程)
4、4KiB Q32T1:針對 NCQ、AHCI 模式做隨機讀取、寫入測試 ( 4K 位元組,佇列深度為 32,1 線程)
5、4KiB Q1T1:針對 NCQ、AHCI 模式做隨機讀取、寫入測試 ( 4K 位元組,佇列深度為 1,1 線程)
【註1】:Q32 指的是 queue_depth 32。意思是把命令放在等候序列 ( 或佇列 ) 中再傳送給磁碟,可以提高 I/O 傳輸資料的性能。根據 SATA(AHCI 協議)定義,SATA SSD 可以處理的最大 queue_depth 是 32
【註2】:T8 指的是 8 個線程(8 CPU核心)。基本上,以我的案例,4KiB Q8T8 的測試項目根本就可以略過,因為我的CPU不是 8 核心;再來Q8T8 = 64,已經超過 SATA SSD 可以處理最大 32 的 queue_depth 了
AS SSD Benchmark 測試數據
UEFI 開機模式

Legacy 開機模式

UEFI 開機模式

Legacy 開機模式

AS SSD Benchmark測試項目說明:
1、Seq:連續讀寫測試
2、4K:隨機單佇列測試
3、4K-64Thrd:隨機 64 佇列深度測試
4、Acc.time:資料存取時間測試
圖中左上角綠色文字:
1、storahci 代表【AHCI 模式】
2、綠色代表支援【4K 對齊】,不論是 630784K 或 1024K 都代表是SSD 4K 對齊
【註 1】:未對齊時,在軟體左上方會有紅色的【BAD】字樣,理論上 4K 讀寫數據也很差。有 4K 對齊的 SSD,則會在左上角顯示綠色【OK】,測試數據也快上許多。
資料碟:SSD 4K 對齊的效能差異
使用同一顆 SSD 並透過 diskpart 程式,刻意將 SSD 設定成非 4K 對齊的狀態,來觀察 SSD 4K 對齊與 SSD 沒有 4K 對齊的效能差異。

使用 diskpart 程式更改 SSD 對齊參數的步驟如下:
Total Time: 1 minute
使用系統管理員身份,開啟命令提示字元視窗

>> 搜尋列輸入:cmd 並以系統管理員身份開啟
執行 diskpart 程式
參考上圖,依序輸入下列步驟的指令
>> diskpart
掃描電腦中所有硬碟
>> list disk
指定硬碟代號
>> select disk 5
清除硬碟中所有資料
>> clean
設定 SSD 對齊參數
參數:33,可以根據需求,自行更改成其它值
>> create partition primary align=33
指定檔案系統並格式化硬碟
label (磁碟標籤)可自行更改
>> format fs=ntfs label=”align33” quick
指定磁碟代號
letter (磁碟代號)可自行更改
>> assign letter=E
離開 diskpart
>> exit
4 種 SSD 對其參數的測試結果如下:
#1:SSD alignment = 33KB (沒對齊)
#2:SSD alignment = 512KB
#3:SSD alignment = 1027KB (沒對齊)
#4:SSD alignment = 1024KB
SanDisk SDSSDXPS240G




常見問題
SSD 4K 對齊需要手動設定嗎?
基本上不需要。Windows 10 的內建格式化功能,就可以實現 4K 對齊的目的,請參考上圖。
透過 Windows 10 內建功能檢查 SSD 是否有 4K 對齊

Step 1. 同時按下:Win + R
Step 2. 會跳出執行視窗,請輸入:msinfo32
Step 3. 磁碟分割啟動 Offset 的值,除以4096。假使得到整數值的話,就是有 4K 對齊。
透過軟體檢查 SSD 是否有 4K 對齊
使用 AS SSD Benchmark 軟體 >> 參考範例。
NTFS 資料儲存的起始位置
NTFS 分區起始位置不是從 0 開始,而是從 LBA63 開始。所以,必須保留 512Byte*63 = 31.5KB 的空間大小後,才能開始第一個資料儲存分區。
兩個 SSD 4K 對齊的結論
一、在開機碟的章節可以發現:使用 UEFI 或 Legacy 開機模式來安裝 Windows 10,假使 SSD 在安裝過程已經格式化成 4K 對齊的話,其實兩者之間的效能差異並不大。
二、在資料碟的章節可以發現:SSD 4K 對齊的效能在小檔案( 4KB )高佇列深度(64Thrd)的隨機讀寫下,效能會有很大的差異。