Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows 8系統教程 >> 關於Windows8系統教程 >> 微軟談Windows 8支持大容量硬盤、4KB扇區

微軟談Windows 8支持大容量硬盤、4KB扇區

日期:2017/1/23 22:45:44      編輯:關於Windows8系統教程

  雖然硬盤存儲技術的進步越來越慢,但容量的增大是攔不住的。IDC最近預測稱,2015年的時候單塊硬盤的容量將達到8TB(單碟容量怎麼也得2TB),是目前的兩倍還多。

  因為硬件、軟件設計上的缺陷,大容量硬盤曾在歷史上多次造成麻煩,最近一次硬盤容量問題出現在2.2TB身上,因此在開發Windows 8的時候,微軟就充分考慮了大容量硬盤的完整支持問題,以及新的4KB扇區格式。

 

  硬盤尋址方法

  硬盤最初使用的尋址方法是柱面/磁頭/扇區(CHS),通過分別指定柱面、磁頭、扇區來確定某個數據塊的確切位置,但這種方法在137GB以上容量硬盤面前就失效了。

  取而代之的是邏輯區塊尋址(LBA),不再使用離散幾何來指定扇區,而改用扇區編號來代表特定的數據塊。每個扇區都有預定義的尺寸(之前是512字節),從0開始順序編號,最大就是總容量除以扇區尺寸。

  磁盤分區機制

  LBA尋址方法理論上支持超大硬盤容量,但實際上扇區的數量還受制於磁盤分區機制。

  磁盤分區的概念可以追溯到二十世紀八十年代初,是系統管理員們為了方便使用不同文件系統存儲數據而發明的。主引導記錄(MBR)分區表支持最多32-bit信息,換算成字節數就是2的32次方,也就是大約2.2TB。

  你也許會蔑視他們的“短視”,但在三十年前的人們看來,2.2TB幾乎就是個遙不可及的天文數字,要知道當時最大的民用硬盤也不過5MB,而價格超過1500美元。

  其實剛剛進入九十年代的時候,人們就已經意識到了2.2TB容量限制問題,為此多家公司聯合制定了一種彈性的分區機制,這就是GUID分區表,簡稱GPT,並將其做為UEFI(統一可擴展固件界面)規范的一部分。GPT支持最多64-bit信息,理論最大容量為9.4ZB,相當於9400000000TB。又是一個“天文數字”,不過說不定哪天就會成為第二個“2.2TB”。

  Windows Vista 64位開始,微軟就支持從GPT分區硬盤啟動系統,但要求主板固件必須是UEFI,而不能是傳統BIOS。

  PC裡的固件:BIOS、UEFI

  BIOS的意思就代表了其用途:基本輸入輸出系統。三十年前PC發明的時候它就出現了,但時至今日基本都還是老樣子。UEFI就是用來取代BIOS的,但長時間都未能投入實用,直到最新的Intel、AMD平台上才開始普及。

  UEFI從設計之初就考慮了對GUID分區表合超大容量硬盤的支持,比之那些通過BIOS繞道而行的方法可靠得多。Windows 8開始,微軟將會全面完善對UEFI的支持,借助UEFI固件、GTP分區表、LBA尋址方法共同管理超大硬盤。

 

  下邊就是在一塊3TB硬盤上通過上述方法安裝、啟動操作系統的樣子。

微軟暢談Windows 8支持大容量硬盤、4KB扇區

  4KB扇區格式

  所有硬盤都內建了某種形式的錯誤糾正信息和邏輯,以便在讀取磁盤碟片的時候自動處理信噪比(SNR)。隨著硬盤容量的增大,數據存儲位越靠越近,SNR隨之降低,硬盤的每個扇區就都不得不存儲更多的ECC(錯誤校驗碼),以彌補讀取錯誤,512字節的狹窄扇區空間慢慢就不夠用了。

  於是,硬盤廠商將扇區容量擴大到了4KB,稱之為“高級格式”(AF),並使用了新的ECC編碼機制,可以更高效地糾正錯誤,所占存儲空間也更少,等同於擴大了可用容量。目前,西數、希捷等硬盤廠商都逐漸普及了4KB扇區格式。

  扇區容量增大到4KB,數據的更新也必須按照這個尺寸來,所以為了實現更小數據塊的邏輯尋址,硬盤必須做一些額外的工作。

微軟暢談Windows 8支持大容量硬盤、4KB扇區

  如上圖,一個4KB物理扇區仍然可以劃分成512字節邏輯扇區進行邏輯尋址。為了寫入單獨一個512字節的邏輯扇區,硬盤不能簡單地把磁頭挪到 4KB物理扇區上就寫入,而是需要先把整個物理扇區中的數據讀取到緩存中,在那裡修改相應的512字節邏輯扇區,然後再整體寫回去,覆蓋舊扇區。這叫做“讀取-修改-寫入”(Read-Modify-Write)。

  有這種中間轉換層的硬盤叫做“4K with 512-byte emulation”,縮寫為512e,而沒有的叫做“4K Native”,即一個是模擬的,一個是原生的。

  讀取-修改-寫入可能會在面臨大容量非一致性數據的時候影響實際性能,因為Windows必須確保應用程序能夠提取整個4KB物理扇區,應用程序則需要確保I/O的一致性以報告物理扇區尺寸。

  吸取了之前版本在高級格式上的經驗教訓之後,Windows 8將其做為了關鍵的設計點,將成為第一個完整支持512e、4K Native兩種格式的操作系統,主要包括:

  - 增強現有API、引入新的API,方便應用程序更好地查詢硬盤的物理扇區尺寸;

  - 增強NTFS文件系統的大容量扇區識別,包括在執行擴展寫入的時候確保合適的後續扇區(寫入文件末尾的時候);

  - Hyper-V虛擬化技術的新文件格式VHDx同樣可以識別大容量扇區,完整支持兩種格式;

  - 增強Windows啟動代碼,保證在4K Native原生硬盤上正確啟動。

  還有更多工作將在Windows 8裡默默進行。

Copyright © Windows教程網 All Rights Reserved