所屬欄目:計算機信息管理論文 發布日期:2017-04-13 13:42 熱度:
硬盤是計算機系統中關鍵部分,硬盤存儲了大量數據,需要維護與及時修復,掌握硬盤的結構和儲存原理對維護和修復至關重要,本文主要研究硬盤的組織和存儲結構。
《信息技術》電子信息期刊,創刊于1977年,是由中國電子信息產業發展研究院、黑龍江省信息技術學會主辦;主管部門黑龍江省信息產業廳;由黑龍江移動通信公司、黑龍江省誠信建設促進會、黑龍江省軟件行業協會、黑龍江省農業信息中心、黑龍江省農墾通信有限公司等單位協辦。
硬盤組織和存儲結構這部分內容對于了解硬盤中數據的組織與存儲,對于硬盤中數據的維護與修復,都很重要。本文對此問題進行討論,希望對感興趣的讀者有所幫助,能更好地了解和應用這一知識。
1 前言
從1957年IBM公司研制成功出第一臺真正意義上的硬盤存儲器到現在已將近半個世紀,在這短短的幾十年時間里,硬盤逐漸成為電腦不可缺少的外部存儲設備,被廣泛應用。硬盤的容量成千上萬倍地增長,從當初的數十MB發展到現在的數百GB,甚至達TB量級。硬盤容量的大幅度增加,其尋址模式也隨之不斷變化。最早采用的是C/H/S(Cylinder/Head/Sector)尋址模式,它依據磁頭數(Heads)、柱面數(Cylinders)和扇區數(Sectors)構成的絕對地址來尋址的,也稱為物理磁盤地址。通常DOS將“柱面/磁頭/扇區”這樣表示法稱為“絕對扇區”表示法,但DOS不能直接使用絕對扇區進行磁盤上的信息管理,而是用所謂“相對扇區”或“DOS扇區”——即按扇區號,磁頭號,柱面號(磁道號)增長的順序連續地分配DOS扇區號。
在早期的硬盤中,由于每個磁道的扇區數相等,外磁道的記錄密度遠低于內磁道,因此造成很多磁盤空間的浪費。為了解決這一問題,人們改用等密度結構,即外圈磁道的扇區比內圈磁道多。此種結構的硬盤不再具有實際的3D參數,尋址方式也改為以扇區為單位的線性尋址,這種尋址模式便是LBA(Logic Block Address, 邏輯塊地址)。在這種模式下,硬盤的物理地址與邏輯地址的轉換問題有一定必要性和復雜性,本文對此進行討論,希望對感興趣的讀者有所幫助。
2 轉換過程
所謂邏輯扇區是物理扇區的一組連續數字的編號,操作系統采用的一種扇區編號方式,其編號是從0開始到某個最大值方式排列,并連成一條線。使用邏輯扇區主要有以下兩個優點:第一,邏輯扇區的概念使硬盤的讀寫操作脫離了柱面、磁頭和扇區的硬件參數;第二,在硬盤中每一定數目的扇區組成了數據文件的最小單位—— 簇,在對一個具體的簇進行讀寫操作時,操作系統劃分一個一維的邏輯扇區號要比使用三維物理扇區號簡單的多,如果一個簇的扇區跨越在兩個盤片,則使用“柱面、磁頭和扇區”的表示方法就更加復雜了。那么硬盤的物理地址和邏輯地址是如何轉換的呢?下面具體介紹其相互轉換方法。
2.1 硬盤物理地址轉換為邏輯地址
首先我們先來了解一下從C/H/S到LBA線性地址的轉換規則。為了與使用C/H/S尋址的老軟件兼容,于是在硬盤控制器內部安裝了一個地址翻譯器,它負責將C/H/S參數翻譯成LBA地址。
同時,由于系統在寫入數據時是按照從柱面到柱面的方式,當上一個柱面寫滿數據后才移動磁頭到下一個柱面,而且是從柱面的第一個磁頭的第一個扇區開始寫入,從而使磁盤性能最優。那么在對物理扇區進行線性編址時,也是按照這種方式進行。即把第一柱面(0柱)第一磁頭(0面)的第一扇區(1扇區)編為邏輯“0”扇區,把第一柱面(0柱)第一磁頭(0面)的第二扇區(2扇區)編為邏輯“1”扇區,直至第一柱面(0柱)第一磁頭(0面)的第63扇區(63扇區)編為邏輯“62”扇區,然后將磁頭轉到第一柱面(0柱)第二磁頭(1面)的第一扇區(1扇區),接著上面其對應的邏輯編號為第“63”扇區,0柱面所有扇區編號完畢后才轉到1柱面的0磁頭1扇區,依次向下進行,直到將所有的扇區都編上號。我們需要注意的是,物理扇區C/H/S中的扇區編號是從“1”至“63”,而邏輯扇區LBA方式下扇區是從“0”開始編號,所有扇區編號按順序進行。
在此轉換過程中,我們必須要知道的物理量有:
C1—起始扇區的柱面號
H1—起始扇區的磁頭號
S1—起始扇區的扇區號
NS—每磁道的扇區數
NH—硬盤每柱面磁道數
C、H、S表示硬盤當前的柱面號、磁頭號和扇區號,則計算柱面C、磁頭H、扇區S對應的相對邏輯扇區號RS的公式為:
邏輯扇區RS=NH×NS×(C-C1)+NS×(H-H1)+(S-S1),為驗證此公式,下面我們來舉個例子。
實例:已知有一個4磁頭(硬盤每柱面的磁道數為4),每磁道有17個扇區的硬盤,其中有一個邏輯硬盤D:,它的第一個扇區在硬盤的柱面號為120,磁頭號為1,扇區號為1的位置,則計算柱面號為160,磁頭號為3,扇區號為6的邏輯扇區號RS是多少?
分析:
根據前面的說明,已知條件有:C1=120, H1=1, S1=1, NS=17, NH=4,C=160,H=3,S=6,則代入上面公式可得到邏輯扇區號RS=4×17×(160-120)+17×(3-1)+(6-1)=2759,即硬盤柱面號為160,磁頭號為3,扇區號為6的邏輯扇區號為2759.
2.2 硬盤邏輯地址轉換成物理地址
在對硬盤進行故障維護或者進行相關軟件開發時,不僅需要將硬盤的物理地址轉換成邏輯地址,有時還需要知道邏輯地址轉換為物理地址的方法。
根據計算機中符號的常用法則,我們用“div”表示除法運算,用“mod”表示取余數運算,其他參數如C、H、S依然表示硬盤當前的柱面、磁頭和扇區號,C1、H1、S1、NS和NH含義也和上面一致。在已知硬盤邏輯地址即邏輯扇區號LS的情況下,求硬盤對應的物理地址的柱面號C、磁頭號H和扇區號S的方法如下:
C=((Ls div NS)div NH)+ C1
H=((Ls div NS)mod NH)+ H1
S=(Ls mod NH)+ S1
實例:設硬盤的磁頭號為4,每磁道17個扇區,其中邏輯硬盤D的第一個扇區在硬盤的柱面120、磁頭1、扇區1上,求邏輯D盤上邏輯扇區為2757編號對應的物理地址是多少?
分析:根據上面的已知條件,我們可知C1=120, H1=1,S1=1,NS=17,NH=4,Ls=2757,則將這些數據代入上面的公式可得:
C=((2757 div 17)div 4)+120=160
H=((2757 div 17)mod 4)+1=3
S=(2757 mod 17)+1=4
即邏輯扇區號Ls為2757的硬盤對應的物理地址為柱面號是160、磁頭號是3和扇區號為4。
3 結束語
以上是本人在教學中的一些教學總結,有可能還存在一些不完善的地方。因為我深知,關于硬盤的這一塊知識還有很多有待于我們去進一步的探索和積累,所以希望大家對于以上的內容給予提出寶貴的意見,以更好的促進我們的教學。
參考文獻
[1] 張鐘澍.大容量硬盤修復技術及數據管理.電子科技大學出版社,2008.
[2] 范國渠.計算機組裝與維護.北京:北京交通大學出版社,2008.
[3] 杜樹杰.計算機組裝與維護.北京:中國鐵道出版社,2009.
[4] 林俊豪,劉丹等改.DIY硬盤管理/數據備份/系統恢復.人民郵電出版社,2008.
文章標題:硬盤物理地址與邏輯地址的轉換
轉載請注明來自:http://www.optiwork.cn/fblw/dianxin/xinxiguanli/35506.html
攝影藝術領域AHCI期刊推薦《Phot...關注:105
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:120
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
copyright © www.optiwork.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3