1957 年 IBM 公司研制勝利的 IBM 350 RA MA C 第一臺真正意義上的硬盤存儲器,之后經(jīng)歷了漫長的技術(shù)革新,于 80 年代初期引入 PC 個人電腦)當(dāng)時的容量僅為 20-40M 而經(jīng)過 10 幾年的發(fā)展,硬盤的容量逐步提高,而當(dāng)時一些設(shè)計上的失誤就造成了今天可能呈現(xiàn)的硬盤容量限制問題。容量限制問題:就是系統(tǒng)無法完全識別或正常使用超過一定容量的硬盤)
容量限制問題的成因
要明白這個原因我需要對 IDE 接口硬盤的工作方式做一個介紹,即使到現(xiàn)在今天的 IDE 硬盤驅(qū)動依舊使用早先的 DOS-BIOS 磁盤操作系統(tǒng) - 基本輸入 / 輸出系統(tǒng))分層結(jié)構(gòu)上。基本工作模式就是順序調(diào)用 ->DOS 功能調(diào)用 -> 文件管理設(shè)備 ->INT 13 中斷管理(讀 / 寫) ->BIOS 磁盤服務(wù) ->IDE ATA 界面 -> 磁盤控制器,也就是說我如果需要對硬盤進(jìn)行操作必需通過以上的一系列步驟才能完成,那么我以下一起來看看這一系列步驟的作用http://www.xsyzj.cn。
文件管理設(shè)備:其負(fù)責(zé)文件及其在磁盤上存儲位置之間的映射關(guān)系,不過需要通過磁盤讀寫中斷 INT13 執(zhí)行讀寫命令來存儲、調(diào)入文件。當(dāng)新文件被保存時,文件管理器決定它當(dāng)前目錄里的存儲位置,文件分配表中為這個新文件添加文件目錄項,并把文件寫入磁盤。當(dāng)讀文件時,文件管理器在 FA T 中找到文件在磁盤上的位置,接著就調(diào)入文件。
IDE ATA 界面:介紹 IDE ATA 界面前,簡單說說硬盤的結(jié)構(gòu):硬盤分為一定數(shù)量的柱面(以硬盤中心為圓心的同心圓磁跡)每個柱面都需要磁頭來讀寫數(shù)據(jù)。另外,硬盤上的數(shù)據(jù)都是以每扇區(qū) 512 字節(jié)的格式存儲的所有的數(shù)據(jù)傳輸都是以扇區(qū)(柱面被等分的園弧磁跡)為單位的 IDE ATA 界面是寄存器驅(qū)動式的并口總線。要傳輸數(shù)據(jù), BIOS 首先往 IDE ATA 里特定的寄存器寫入數(shù)據(jù)的開始地址和數(shù)據(jù)傳輸?shù)拈L度,再把有關(guān)的讀 / 寫命令往特定的寄存器里發(fā)送從而開始數(shù)據(jù)傳輸。
現(xiàn)在硬盤一般都支持邏輯塊尋址 ( LBA 和柱面磁頭扇區(qū)尋址 ( CHS , 以 CHS 尋址方式來舉例:數(shù)據(jù)傳輸?shù)拈_始地址是寫到 4 個 8 位寄存器里的分別是
柱面低位寄存器
柱面高位寄存器
扇區(qū)寄存器
設(shè)備 / 磁頭寄存器
因此,柱面地址是 16 位 [ 柱面低位寄存器( 8 位)柱面高位寄存器( 8 位) ] 扇區(qū)地址是 8 位(注意:扇區(qū)寄存器里第一個扇區(qū)是 1 扇區(qū),而不是 0 扇區(qū))而磁頭地址是 4 位(沒有完全占用 8 位)因此,硬盤柱面的最大數(shù)是 65,536 2 16 次方)磁頭的最大數(shù)是 16 2 4 次方)扇區(qū)的最大數(shù)是 255 2 8 次方 -1 注意剛剛我提到扇區(qū)寄存器問題 ) 所以,能尋址的最大扇區(qū)數(shù)是 267,386,880 65,536x16x255 一扇區(qū)又是 512 字節(jié),也就是說如果以 CHS 尋址方式, IDE 硬盤的最大容量為 136.9GB LBA 尋址方式,上述的總共 28 位可用的寄存器空間 ( 16+8+4 被看作一個完整的 LBA 地址,因為包括位 0 CHS 里扇區(qū)不能從 0 開始計算)其能尋址的扇區(qū)數(shù)是 268,435,456 65,536x16x256 這時 IDE 硬盤的最大容量為 137.4GB
INT 13 管理: INT 13 管理其實也是依照寄存器的模式來設(shè)計的高層即文件管理器層發(fā)布數(shù)據(jù)讀寫命令和有關(guān)的參數(shù)給 CPU 然后觸發(fā) INT 13 中斷的進(jìn)行,激活 BIOS 磁盤服務(wù)來執(zhí)行數(shù)據(jù)傳輸。數(shù)據(jù)的開始地址被寫到 3 個 8 位寄存器里,分別是
柱面低位寄存器
柱面高位 / 扇區(qū)寄存器
磁頭寄存器
柱面地址是 10 位(柱面低位寄存器占用 8 位、柱面高位寄存器占用 2 位)扇區(qū)地址為 6 位( 8 位-已經(jīng)被計算過的高位寄存器的 2 位)磁頭寄存器為 8 位。因此如果這樣的話:柱面的最大數(shù)是 1024 2 10 次方) 磁頭的最大數(shù)是 256 2 8 次方)扇區(qū)的最大數(shù)是 63 2 6 次方 -1 所以,通過 INT 13 管理能尋址的扇區(qū)數(shù)是 16,515,072 1,024x256x63 一扇區(qū)是 512 字節(jié),也就是說如果以 CHS 尋址方式, IDE 硬盤的最大容量為 8.456GB LBA 尋址方式能尋址的扇區(qū)數(shù)是 16,777,216 1024x256x64 這時 IDE 硬盤的最大容量為 8.601GB
看到這里,應(yīng)該感到硬盤容量限制的成因有了一些 “ 眉目 ” 吧,那么我具體來到底是什么讓硬盤出現(xiàn)了所謂的限制: