查看單個文章
舊 2011-02-25, 07:09 AM   #1
lutunhsiang 帥哥
列管會員
 
lutunhsiang 的頭像
榮譽勳章
UID - 278416
在線等級: 級別:53 | 在線時長:3126小時 | 升級還需:6小時級別:53 | 在線時長:3126小時 | 升級還需:6小時級別:53 | 在線時長:3126小時 | 升級還需:6小時級別:53 | 在線時長:3126小時 | 升級還需:6小時級別:53 | 在線時長:3126小時 | 升級還需:6小時級別:53 | 在線時長:3126小時 | 升級還需:6小時級別:53 | 在線時長:3126小時 | 升級還需:6小時級別:53 | 在線時長:3126小時 | 升級還需:6小時
註冊日期: 2007-08-31
VIP期限: 2009-12
住址: Taichung
文章: 14124
精華: 0
現金: -3 金幣
資產: -3 金幣
預設 如何突破硬碟2.1TB的容量限制?

隨著硬碟容量不斷提高,我們終於要面臨既有磁碟分割方式的2TB容量限制瓶頸,為此,硬碟、主機板與作業系統廠商紛紛提出對應措施

較資深的電腦使用者都曾經歷過多次硬碟容量瓶頸問題,受BIOS的INT 13H中斷服務功能、硬碟的CHS定址方式、作業系統與檔案系統等因素影響,過去十多年來曾陸續出現過528MB、2.1GB、8.4GB、137GB等容量瓶頸,電腦廠商也透過引進24位元與48位元LBA定址模式、BIOS INT 13H Extension模式等技術,先後突破了前述限制。
然而隨著硬碟技術不斷發展,碟片儲存密度持續提高,今日的硬碟應用又再次遭遇2.1TB的容量瓶頸。

限制可用磁碟容量的因素
電腦中的資料儲存都須按一定的編址方式來進行,以便有序的寫入、搜尋與取用資料,進而達成有效的資料組織與管理。從另一個方面來看,不同編址方式的最大定址能力,也就決定了理論上可存取的最大空間上限。

從最上層的應用程式資料到底層儲存裝置,電腦中的資料儲存會經過應用程式、作業系統、檔案系統、儲存裝置驅動程式、磁碟控制器與磁碟儲存裝置等環節,任一環節的定址能力,都會影響到底層硬碟實際可用的儲存容量。

以最普遍的x86架構電腦為例,影響磁碟可用空間的主要因素有以下幾種:

作業系統的硬碟分割方式
不同版本作業系統所支援的硬碟分割方式(Partition styles)中,能應用的分割區容量不同。如傳統的MBR(master boot record)允許的分割區容量上限為2TB,新的GPT(GUID Partition Table)分割理論上則可達到9.4ZB。

檔案系統支援的磁碟區容量
磁碟區分割後,便須格式化為檔案系統才能為應用程式使用,不同檔案系統所能支援的磁碟區(Volume)容量上限各有不同,以DOS/Windows系統採用的檔案系統為例,早期FAT16允許的上限為2GB,後來改進的FAT32提高到2TB,NTFS則進一步提高到256TB(NTFS理論上可支援更大的磁碟區,但實務應用上最大只到256TB)。

而Linux採用的Ext2與Ext3檔案系統,則視格式化時採用的區塊(block)大小不同(1/4/8/32KB等),可允許最大2~32TB的磁碟區(每個檔案系統最多允許2的32次方個區塊),Ext4則能支援最大1EB的磁碟區。不過檔案系統儘管可支援這樣大的磁碟區,Linux用於建立與維護檔案系統的e2fsprogs程式,卻只能支援最大16TB容量,因此在實務部署上限制了檔案系統最大磁碟區空間。

不同磁碟指令集的定址能力
磁碟裝置的運作是透過磁碟指令集(command-set)進行,不同規格的硬碟各有其指令集,如ATA指令集或SCSI指令集等。因此應用程式必須透過作業系統底層的磁碟控制器驅動程式,將存取需求轉換為對應的磁碟區塊指令,對ATA設備發送ATA指令,對SCSI設備則發送SCSI指令,這些指令中包含了對應於磁碟的位址區段,藉以對指定的硬碟區域執行存取作業。

而磁碟指令集支援的定址方式,將直接影響到實際可允許存取的磁碟容量。

如SCSI Block Command指令中的LBA(Logical block addressing)位址變數長度,將決定一個SCSI目標上的LUN所能存取的儲存空間。早期的SCSI指令集支援的是32位元LBA定址,由於硬碟每個扇區(sector)大小為512Bytes,2的32次方乘以512等於2TB,因此有2TB容量限制。改版的SCSI Block Command便擴展為支援64位元LBA定址,因而解除了該限制,可定址高達8ZB的空間。

而以ATA指令集來說,在早期的IDE規格時代是採用22位元LBA定址,最大只能定址2.1GB空間,但從1994年的ATA-1以後,便能支援28位元的LBA定址,所以最大可定址容量提高到137GB。從2003年的ATA-6以後,更進一步支援了48位元LBA定址,最大定址容量也隨之提高到 144PB。

而影響到電腦對不同磁碟指令集支援能力的因素,則主要是硬碟本身、磁碟控制器,以及作業系統中對應於磁碟控制器的驅動程式。舉例來說,IDE/ATA便要 ATA-6以後規格的ATA硬碟才提供48位元LBA定址,此外也要一定版本以後的主機板南橋晶片組與其驅動程式,才能支援48位元LBA定址的硬碟,必須兩方面共同配合,才能實現完整的硬碟48位元LBA定址支援,從而使用大於137GB的硬碟容量。

而SCSI方面,則是在比ATA更早許多的時候,SCSI卡的控制器、驅動程式與SCSI硬碟就已支援64位元LBA。

BIOS中斷指令的定址能力
在x86架構下,當電腦啟動、尚未載入作業系統之前,必須透過BIOS中斷呼叫服務來探索與初始化硬體資源,自IBM建立PC AT架構以來,x86架構電腦都是透過BIOS的INT 13H中斷服務,來進行低階磁碟操作,因此INT 13H的定址能力,便決定了底層磁碟最大可用容量。

INT 13H採用以10位元磁柱為基礎的24位元CHS定址(磁柱10位元,磁頭8位元,磁區6位元),理論上可定址8.4GB容量。但問題在於這樣的定址方式與底層硬碟的定址方式有所衝突。

ATA-3以前的ATA指令集是採用16位元磁柱模式的28位元CHS定址(磁柱16位元,磁頭4位元,磁區8位元),理論容量上限是137GB,這雖然還比BIOS 13H允許的定址上限大上許多,但是當這兩者遭遇時,由於記錄方式不同,通約的結果只能取兩種定址模式中的最小值(磁柱10位元,磁頭4位元,磁區6位元),導致電腦只能定址528MB磁碟空間,反而低於兩種定址方式所允許的最小值,這也就是早期IDE硬碟所謂528MB容量限制的由來。

為解決這個問題,主機板廠商一開始是採取修改BIOS 13H的方式來因應,為主機板BIOS磁碟機選項中新增一個Large模式,可透過轉移2個磁頭記錄位元給磁柱記錄,將定址空間增加到2.1GB,比 528MB大了4倍,這就是早期電腦主機板BIOS提供的一種特殊的Large硬碟模式。

不過前述方式只是一種暫時的應付辦法,僅能將容量瓶頸問題稍往後延,而非徹底解決方法,於是後來便出現了新的BIOS INT 13H extension中斷服務,可直接支援LBA定址模式,透過虛擬的邏輯CHS位址來存取磁碟,因而擺脫了INT 13H服務與硬碟之間因不同CHS定址方式所產生的528MB容量限制,也解除了INT 13H的8.4GB定址能力限制。

擁有10年以上電腦使用經驗的用戶,應該都會對10多年前電腦BIOS中磁碟機選項提供的Normal、Large與LBA三種模式有印象,其中 Normal對應傳統的13H中斷服務與磁碟CHS定址,所以有528MB上限,主要用於小硬碟;Large提供修改的BIOS 13H,適用於528MB以上、小於2.1GB的硬碟;更大的硬碟則須要設定為LBA模式才能支援。
以上來自:http://www.ithome.com.tw/itadm/article.php?c=65935
=================================
假設現在有一顆4TB的硬碟,我會分割三個槽,也就是兩個1.5TB,最後一個剩下空間
我現在電腦1TB硬碟就不知道要放哪些檔案了?光作業系統iso檔也不夠讓硬碟爆炸
lutunhsiang 目前離線  
送花文章: 56979, 收花文章: 12813 篇, 收花: 50123 次
回覆時引用此帖
有 2 位會員向 lutunhsiang 送花:
Copprofield (2011-02-27),YaYa07 (2011-02-25)
感謝您發表一篇好文章