CHS模式值轉換成LBA值

來源:互聯網
上載者:User

硬碟的每個碟片都有兩個盤面(Side),即上、下盤盤面,安照順序從上至下從“0”開始依次編號。磁碟在格式化時被劃分成許多同心圓,這些同心圓軌跡叫磁軌(Track)。磁軌從外向內從0開始順序編號。所有盤面上的同一磁軌構成的一個圓柱,通常稱做柱面(Cylinder),每個柱面上的磁頭由上而下從“0”開始編號。 作業系統以扇區(Sector)形式將資訊儲存在硬碟上,每個扇區包括512個位元組的資料和一些其他資訊。
這些通常用來表示硬碟的物理地址,現在隨著硬碟容量增大我們用邏輯地址即線性地址(LBA)。因此我們需要瞭解CHS與LBA之間的轉換。 C/H/S與LBA地址的對應關係: 從CHS到LBA 假設用C表示當前柱面號,H表示當前磁頭號,Cs表示起始柱面號,Hs表示起始磁頭號,Ss表示起始扇區號,PS表示每磁軌有多少個扇區,PH表示每柱面有多少個磁軌,則有以下對應關係:
LBA=(C-Cs)*PH*PS+(H-Hs)*PS+(S-Ss)

一般情況下,CS=0、HS=0、SS=1;PS=63、PH=255

那麼以下可以根據公司計算,如下:

C/H/S=0/0/1,代入上述公式中得到LBA=0

C/H/S=0/0/63,代入上述公式中得到LBA=62

C/H/S=1/0/1,代入上述公式中得到LBA=63

C/H/S=220/156/18,代入上述公式中得到LBA=3544145 從LBA到CHS 在這裡先介紹兩種運算DIV和MOD。DIV做整除運算,即被除數除以除數所得的商的整數部分;比如5
DIV 3=1,33 DIV 6=5。

MOD是餘運算,MOD運算則取商的餘數;比如:5 MOD 3=2,33 MOD 6=5。

DIV和MOD是一對搭檔,一個取整一個取餘。各個變數按照上面的進行假設,那麼有:

C=LBA DIV (PH*PS) + Cs

H=(LBA DIV PS) MOD PH + Hs

S=LBA MOD PS + Ss 假如上述不用MOD運算,只用DIV運算可以如下:

C= LBA DIV (PH*PS) + Cs

H=LBA DIV PS –(C-Cs) * Ps + Ss

S=LBA- (C-Cs) * PH * PS - (H-Hs) * PS + Ss 那麼按照這個規律則有:

LBA=0,相應地C/H/S=0/0/1

LBA=62,相應地C/H/S=0/0/63

LBA=63,相應地C/H/S=1/0/1

LBA=62,相應地C/H/S=0/0/63

LBA=3544145,相應地C/H/S=220/156/18, 通過以上轉換,大家對CHS與LBA之間的轉換有一定的瞭解了。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.