分區4K對齊那些事,你想知道的都在這里


在對磁盤進行分區時,有一個很重要的注意事項,就是要將分區對齊,不對齊可能會造成磁盤性能的下降。尤其是固態硬盤SSD,基本上都要求4K對齊。磁盤讀寫速度慢還找不到原因?可能就是4K對齊的鍋。那么分區對齊究竟是怎么回事?為什么要對齊?如何才能對齊?如何檢測是否對齊呢?今天,我們就來說說分區4K對齊這些事。你想知道的都在這里了。

  1. 物理扇區的概念
  2. 分區及其格式化
  3. 為什么要分區對齊
  4. 如何才能對齊如何檢測是否對齊
    1. 如何檢測物理扇區大小
    2. 對齊到多少個扇區才正確
    3. 為什么大家都說4K對齊
    4. 划分分區時如何具體操作分區對齊
  5. 如何糾正未對齊的分區

 

物理扇區的概念

分區對齊,是指將分區起始位置對齊到一定的扇區。我們要先了解對齊和扇區的關系。我們知道,硬盤的基本讀寫單位是“扇區”。對於硬盤的讀寫操作,每次讀寫都是以扇區為單位進行的,最少一個扇區,通常是512個字節。由於硬盤數據存儲結構的限制,單獨讀寫1個或幾個字節是不可能的。通過系統提供的接口讀寫文件數據時,看起來可以單獨讀寫少量字節,實際上是經過了操作系統的轉換才實現的。硬盤實際執行時讀寫的仍然是整個扇區。

近年來,隨着對硬盤容量的要求不斷增加,為了提高數據記錄密度,硬盤廠商往往采用增大扇區大小的方法,於是出現了扇區大小為4096字節的硬盤。我們將這樣的扇區稱之為“物理扇區”。但是這樣的大扇區會有兼容性問題,有的系統或軟件無法適應。為了解決這個問題,硬盤內部將物理扇區在邏輯上划分為多個扇區片段並將其作為普通的扇區(一般為512字節大小)報告給操作系統及應用軟件。這樣的扇區片段我們稱之為“邏輯扇區”。實際讀寫時由硬盤內的程序(固件)負責在邏輯扇區與物理扇區之間進行轉換,上層程序“感覺”不到物理扇區的存在。

邏輯扇區是硬盤可以接受讀寫指令的最小操作單元,是操作系統及應用程序可以訪問的扇區,多數情況下其大小為512字節。我們通常所說的扇區一般就是指的邏輯扇區。物理扇區是硬盤底層硬件意義上的扇區,是實際執行讀寫操作的最小單元。是只能由硬盤直接訪問的扇區,操作系統及應用程序一般無法直接訪問物理扇區。一個物理扇區可以包含一個或多個邏輯扇區(比如多數硬盤的物理扇區包含了8個邏輯扇區)。當要讀寫某個邏輯扇區時,硬盤底層在實際操作時都會讀寫邏輯扇區所在的整個物理扇區。

這里說的“硬盤”及其“扇區”的概念,同樣適用於存儲卡、固態硬盤(SSD)。接下來我們統稱其為“磁盤”。它們在使用上的基本原理是一致的。其中固態硬盤在實現上更加復雜,它有“頁”和“塊”的概念,為了便於理解,我們可以簡單的將其視同為邏輯扇區和物理扇區。另外固態硬盤在寫入數據之前必須先執行擦除操作,不能直接寫入到已存有數據的塊,必須先擦除再寫入。所以固態硬盤(SSD)對分區4K對齊的要求更高。如果沒有對齊,額外的動作會增加更多,造成讀寫性能下降。

分區及其格式化

磁盤在使用之前必須要先分區並格式化。簡單的理解,分區就是指從磁盤上划分出來的一大片連續的扇區。格式化則是對分區范圍內扇區的使用進行規划。比如文件數據的儲存如何安排、文件屬性儲存在哪里、目錄結構如何存儲等等。分區經過格式化后,就可以存儲文件了。格式化程序會將分區里面的所有扇區從頭至尾進行分組,划分為固定大小的“簇”,並按順序進行編號。每個“簇”可固定包含一個或多個扇區,其扇區個數總是2的n次方。格式化以后,分區就會以“簇”為最小單位進行讀寫。文件的數據、屬性等等信息都要保存到“簇”里面。

為什么要分區對齊

為磁盤划分分區時,是以邏輯扇區為單位進行划分的,分區可以從任意編號的邏輯扇區開始。如果分區的起始位置沒有對齊到某個物理扇區的邊緣,格式化后,所有的“簇”也將無法對齊到物理扇區的邊緣。如下圖所示,每個物理扇區由4個邏輯扇區組成。分區是從3號扇區開始的。格式化后,每個簇占用了4個扇區,這些簇都沒有對齊到物理扇區的邊緣,也就是說,每個簇都跨越了2個物理扇區。

為什么要分區對齊

由於磁盤總是以物理扇區為單位進行讀寫,在這樣的分區情況下,當要讀取某個簇時,實際上總是需要多讀取一個物理扇區的數據。比如要讀取0號簇共4個邏輯扇區的數據,磁盤實際執行時,必須要讀取0號和1號兩個物理扇區共8個邏輯扇區的數據。同理,對“簇”的寫入操作也是這樣。顯而易見,這樣會造成讀寫性能的嚴重下降。

下面再看對齊的情況。如下圖所示,分區從4號扇區開始,剛好對齊到了物理扇區1的邊緣,格式化后,每個簇同樣占用了4個扇區,而且這些簇都對齊到了物理扇區的邊緣。

為什么要分區對齊

在這樣對齊的情況下,當要讀取某個簇,磁盤實際執行時並不需要額外讀取任何扇區,可以充分發揮磁盤的讀寫性能。顯然這正是我們需要的。

由此可見,對於物理扇區大小與邏輯扇區大小不一致的磁盤,分區4K對齊才能充分發揮磁盤的讀寫性能。而不對齊就會造成磁盤讀寫性能的下降。

 

如何才能對齊

通過前述圖示的兩個例子可以看到,只要將分區的起始位置對齊到物理扇區的邊緣,格式化程序就會將每個簇也對齊到物理扇區的邊緣,這樣就實現了分區的對齊。其實對齊很簡單。

如何檢測物理扇區大小

划分分區時,要想實現4K對齊,必須首先知道磁盤物理扇區的大小。那么如何查詢呢?

打開DiskGenius軟件,點擊要檢測的磁盤,在軟件界面右側的磁盤參數表中,可以找到“扇區大小”和“物理扇區大小”。其中“扇區大小”指的是邏輯扇區的大小。如圖所示,這個磁盤的物理扇區大小為4096字節,通過計算得知,它包含了8個邏輯扇區。

DiskGenius查看結果

對齊到多少個扇區才正確

知道了“扇區大小”和“物理扇區大小”,用“物理扇區大小”除以“扇區大小”就能得到每個物理扇區所包含的邏輯扇區個數。這個數值就是我們要對齊的扇區個數的最小值。只要將分區起始位置對齊到這個數值的整數倍就可以了。舉個例子,比如物理扇區大小是4096字節,邏輯扇區大小是512字節,那么4096除以512,等於8。我們只要將分區起始位置對齊到8的整數倍扇區就能滿足分區對齊的要求。比如對齊到8、16、24、32、... 1024、2048等等。只要這個起始扇區號能夠被8整除就都可以。並不是這個除數數值越大越好。Windows系統默認對齊的扇區數是2048。這個數值基本上能滿足幾乎所有磁盤的4K對齊要求了。

 

為什么大家都說4K對齊

習慣而已。因為開始出現物理扇區的概念時,多數磁盤的物理扇區大小都是4096即4K字節,習慣了就俗稱4K對齊了。實際划分分區時還是要檢測一下物理扇區大小,因為有些磁盤的物理扇區可能包含4個、8個、16個或者更多個邏輯扇區(總是2的n次方)。知道物理扇區大小后,再按照剛才說的計算方法,以物理扇區包含的邏輯扇區個數為基准,對齊到實際的物理扇區大小才是正確的。如果物理扇區大小是8192字節,那就要按照8192字節來對齊,嚴格來講,這就不能叫4K對齊了。

 

划分分區時如何具體操作分區對齊

以DiskGenius軟件為例,建立新分區時,在“建立新分區”對話框中勾選“對齊到下列扇區數的整數倍”,然后選擇需要對齊的扇區數目,點“確定”后建立的分區就是對齊的了。如下圖所示:

DiskGenius復制文件

軟件在“扇區數目”下拉框中列出了很多的選項,從中選擇任意一個大於物理扇區大小的扇區數都是可以的,都能滿足對齊要求。軟件列出那么多的扇區數選項只是增加了選擇的自由度,並不是數值越大越好。使用過大的數值可能會造成磁盤空間的浪費。軟件默認的設置已經能夠滿足幾乎所有磁盤的 4K對齊要求。

除了“建立新分區”對話框,DiskGenius軟件還有一個“快速分區”功能,其中也有相同的對齊設置。如下圖所示:

注冊DiskGenius

如何檢測是否對齊

作為一款強大的分區管理軟件,DiskGenius同樣提供了分區4K對齊檢測的功能。你可以用它檢測一下自己硬盤的分區是否對齊了。使用方法很簡單,打開軟件后,首先在軟件左側選中要檢測的磁盤,然后選擇“工具”菜單中的“分區4KB扇區對齊檢測”,軟件立即顯示檢測結果,如下圖所示:

注冊DiskGenius

最右側“對齊”一欄是“Y”的分區就是對齊的分區,否則就是沒有對齊。沒有對齊的分區會用紅色字體顯示。

如何糾正未對齊的分區

對於分區已有數據但是又沒有對齊的情況,DiskGenius軟件目前還沒有提供直接的解決方案(相信以后的版本會提供)。大家可以通過DiskGenius軟件,采用分步的方法實現4K對齊。具體步驟如下:

1、用“備份分區”的功能將未對齊的分區備份到鏡像文件中。

2、刪除未對齊的分區,然后重新建立,建立時選擇4K對齊。

3、用“從鏡像文件還原分區”的功能通過第一步備份的鏡像文件還原分區數據。

 

對於沒有對齊又沒有數據的分區就很簡單了,刪除再重建就好。

怎么樣?通過上面的介紹,你是否對分區4K對齊有了一個比較全面的認識呢?

 

轉自:https://www.diskgenius.cn/exp/about-4k-alignment.php


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM