00_ SSD 4K 對齊 WIN10的效能差異 cover 1024x512

SSD 4K 對齊 : Windows 10的效能差異

  • Post category:Drive
  • Reading time:21 mins read

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

02_ SSD 4K 對齊 WIN10的效能差異 System info summary_U0824
進行實驗的硬體規格

更改 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 開機】

03_ SSD 4K 對齊 WIN10的效能差異 BIOS AHCI
啟用【 AHCI 模式 】
04 SSD 4K 對齊 WIN10的效能差異 BIOS CSM
【關閉 CSM】與【UEFI 開機】

用 UEFI 開機模式,安裝 Windows 10 的流程

新增新磁區

因為只有裝一顆 SSD 在系統中,所以會看到【 Drive 0 Unallocated Space, 223.6GB 】是正常的。用滑鼠點一下【 Drive 0 Unallocated Space 】,然後按【 New 】。

07_ SSD 4K 對齊 UEFI install win10 (1)
新增新磁區

調整磁區容量大小

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

08_ SSD 4K 對齊 UEFI install win10 (2)
調整磁區容量大小

執行格式化,才能實現 SSD 4K 對齊

用滑鼠點一下【 Drive 0 Partition 4 】,然後按【 Format 】。

10_ SSD 4K 對齊 UEFI install win10 (5)
執行格式化,才能完成 4K對齊

選擇安裝作業系統的磁區

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

09_ SSD 4K 對齊 UEFI install win10 (4)
選擇安裝作業系統的磁區

開始安裝作業系統

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

12_ SSD 4K 對齊 UEFI install win10 (8)
開始安裝作業系統

用 Legacy 開機模式,安裝 Windows 10 的流程

新增新磁區

用滑鼠點一下【 Drive 0 Unallocated Space 】,然後按【 New 】。

13 SSD 4K 對齊 Legacy install win10 1
新增新磁區

調整磁區容量大小

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

14_ SSD 4K 對齊 Legacy install win10
調整磁區容量大小

準備將兩個磁區合併成一個

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

15_ SSD 4K 對齊 Legacy install win10
準備將兩個磁區合併成一個

刪除系統保留磁區

點選【 Drive 0 Partition 1: System Reserved 】,然後按【 Delete 】。

16_  Legacy boot mode install win10
刪除系統保留磁區

再新增新磁區

接著滑鼠點一下【 Drive 0 Unallocated Space 】,然後按【 New 】。

17_  Legacy boot mode install win10
再新增新磁區

調整新磁區容量大小

【 Size 】使用預設值就可以了,然後按【 Apply 】。

18_  Legacy boot mode install win10
調整新磁區容量大小

把原本磁區 2 刪除

滑鼠點【 Drive 0 Partition 2 】,然後按【 Delete 】。

19_  Legacy boot mode install win10
把原本磁區 2 刪除

延伸磁區

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

20_  Legacy boot mode install win10
延伸磁區

決定延伸磁區容量大小

【 Size 】使用預設值就可以了,然後按【 Apply 】。

21_  Legacy boot mode install win10
決定延伸磁區容量大小

執行格式化,才能實現 SSD 4K 對齊

接著按【 Format 】。

22_  Legacy boot mode install win10
執行格式化,才能完成4K對齊

準備安裝作業系統

然後按【 Next 】。

23_  Legacy boot mode install win10
準備安裝作業系統

開始安裝作業系統

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

24_-Legacy-boot-mode-install-win10
開始安裝作業系統

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

25_-Kingston-SUV400S37240G-CSM-disable-UEFI-mode-CrystalDiskMark-performance
UEFI 開機模式安裝 Windows 10 的效能數據
26_-Kingston-SUV400S37240G-CSM-enable-CrystalDiskMark-performance
Legacy 開機模式安裝 Windows 10 的效能數據

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 開機模式

28_ Kingston SUV400S37240G  CSM disable UEFI mode as ssd performance
UEFI 開機模式安裝 Windows 10 的效能數據:Throughput

Legacy 開機模式

30_ Kingston SUV400S37240G CSM enable Legacy mode as ssd performance
UEFI 開機模式安裝 Windows 10 的效能數據:Throughput

UEFI 開機模式

27_ Kingston SUV400S37240G  CSM disable UEFI mode as ssd IOPS
UEFI 開機模式安裝 Windows 10 的效能數據:IOPS

Legacy 開機模式

29_ Kingston SUV400S37240G CSM enable Legacy mode as ssd IOPS
Legacy 開機模式安裝 Windows 10 的效能數據:IOPS

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 對齊的效能差異。

45 Diskpart command 4k alignment
使用 diskpart 程式更改 SSD 對齊參數

使用 diskpart 程式更改 SSD 對齊參數的步驟如下:

Total Time: 1 minute

使用系統管理員身份,開啟命令提示字元視窗

46 open Diskpart via Windows Command (DOS) Prompt

>> 搜尋列輸入: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

41 SSD Align33 benchmark
#1 align=33KB (沒對齊)
42 SSD Align512 benchmark
#2 align=512KB
44 SSD Align1027 benchmark
#3 align=1027KB (沒對齊)
43 SSD Align1024 benchmark
#4 align=1024KB

常見問題

SSD 4K 對齊需要手動設定嗎?

基本上不需要。Windows 10 的內建格式化功能,就可以實現 4K 對齊的目的,請參考上圖

透過 Windows 10 內建功能檢查 SSD 是否有 4K 對齊

47 check ssd 4k alignment by windows 10 system info

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)的隨機讀寫下,效能會有很大的差異。

延伸閱讀