邏輯區塊位址
邏輯區塊位址(英語:Logical Block Address,LBA)是咧描述電腦儲存裝置資料所佇咧區塊的通用機制,一般用佇像硬碟按呢的輔助記憶裝置。LBA 會當講某一个資料的區域的位址抑是某一个位址所指向的資料區域。這馬電腦上所謂一个邏輯區塊通常是五百十二抑是一千空二十四位元組。ISO 鋪九千六百六十格式的標準 CD 則以兩千空四十八位元組為一个邏輯區塊大細。
LBA 定址機制
LBA 是足單純的一種定址模式﹔對零開始編號來定位區塊,第一坵 LBA=零,第二區塊 LBA=一,照這寡推捒。這種定址模式取代原本的作業系統必須面對儲存裝置硬體構造的方式。上蓋有代表性的首推 CHS ( cylinders-heads-sectors,磁柱-磁頭-磁區 ) 定址模式,區塊著愛用硬碟上某一个磁柱、磁頭、磁區的硬體位置所合成的位址來指定。CHS 模式對硬碟以外的裝置來講無啥作用 ( 比如講磁帶抑是網路儲存裝置 ),所以通常嘛袂講用佇遮的所在。過去 MFM ( Modified Frequency Modulation , 改良調頻式 ) 和 RLL ( Run Length Limited ) 用存的裝置攏捌使用 CHS 模式,ATA 糊糊咧閣較會延伸 CHS ( Extended Cylinders-Heads-Sectors , ECHS ) 嘛派上矣用場。
SCSI 採用 LBA 抽象定址。實際上硬體控制器猶是以 CHS 來定址區塊,但無論驅動程式抑是任何以低階存取磁碟的應用程式 ( 譬如講資料庫軟體 ) 通常攏無閣需要這个參數。各種要求區塊低階存取的系統呼叫共定義好的 LBA 傳予驅動的程式﹔上直接的情形下 ( 邏輯裝置佮實體裝置單一對應 ) 驅動程式只是將 LBA 閣傳予硬體控制器。
LBA 對應佮邏輯裝置虛擬化
邏輯裝置是經過虛擬化抑是集合所構成的,像講 RAID ( 磁碟陣列 ) 和 SANs ( Storage Area Network ) 這款複雜的狀況,著愛共應用程式根據其觀點中的磁碟來指定的 LBA 轉換做每一个實體儲存裝置的 LBA。佇複雜的分散式儲存結構下,對發出要求的應用程式到實體甚至是遠端裝置之間,會足濟按呢的 LBA 轉換。
CHS 佮 LBA 相換
CHS 位址會當用的公式來轉做 LBA ,
` ` `
- lba=( # c * H + # h ) * S + # s 影一
` ` `
其中,
- # c、# h、# s 分別是磁柱、磁頭、磁區的編號
- # lba 是邏輯區塊編號
- H=heads per cylinder,逐个磁柱的磁頭數
- S=sectors per track,每磁鐵的磁區數
LBA 會當用下的公式來對應著 CHS :
` ` `
- c=# lba / ( S * H )
- h=( # lba / S ) % H
- s=( # lba % S ) + 一
` ` `
其中,
- / 是整數除法
- % 是取整數除法中的餘數
- 請注意,做今仔日的磁仔使用 ZBR ( Zone Bit Recording , 等密度的記錄 ) 方式,實際的逐枝磁區數得根據伊是佗一軌。猶毋過吸碟猶是會提供這个參數來符合公式,內部閣自動調整。
其他的公式 :
` ` `
- lba / S=q 餘 r
- s=一 + r
q / H=# c 餘 # h ` ` `
比如講 :
- CHS 總數=[六百 , 十 , 八十四],求 # lba=一千兩百三十四所對應的 CHS 編號 :
- 八十四分之一千兩百三十四=十四餘五十八
- # s=一 + 五十八=五十九
- 十分之十四=一餘四
- # c=一
- # h=四
- # chs=( 一 , 四 , 五十九 )
- 驗算 : ( 一 \ * 十 + 四 ) \ * 八十四 + 五十九孵一=十四 \ * 八十四 + 五十八=一千兩百三十四
LBA、ATA 裝置猶閣有 Enhanced BIOS
ATA 抹一規範中定義矣二十八位元定址模式,當做是 LBA 抑是講 CHS 攏會使得。你若用 CHS 這二十八位元拆做:磁柱十六位元、磁頭四位元、磁區八位元。注意 CHS 模式磁區是對一開始算,喔所以佇這个規範中磁區數上濟干焦兩百五十五个,最大磁區編號做兩百五十四 ( 零 xFE )。
用彼陣採用,CHS 的 BIOS 規範干焦二十四位元:磁柱十位元、磁頭八位元、磁區六位元,定義佇咧 BIOS 的 INT 十三 H 軟體斷去,而且已經用佇咧 DOS 的 MBR ( Master Boot Record,主要啟動記錄 )。這造成矣 BIOS CHS 佮 ATA CHS 之間著愛經過轉換,抑若無各參數干焦會當用著兩項人的上大公因數即 CHS 位元數={ 十 , 四 , 六 },也就是一千空二十四 × 十六 × 六十三个磁區,用每磁區五百十二位元組計算甲五百空四 MiB。轉換方式其一是 Large 模式抑是講是 Enhanced BIOS 模式 ( 閣名 Bit Shift Translation , 位移轉換 ),此方式會重新對應偵測著的磁柱磁頭數而且磁區算袂變﹔方式其二是共頭一種 CHS 對應著 LBA 了後才閣換做另外一種 CHS 機制,這號做 LBA-assist。
就算利用遮的斡址方式,BIOS 定予 MS-DOS 邏輯磁區 ( 以及 Windows NT 四配零硬碟分割區 ) 的 CHS 位元數={ 十 , 八 , 六 } 機制上濟嘛干焦會當達到七堵八四 GiB。用每磁區五百十二位元組來計算,ATA 糊一間定義的二十八个元 LBA 上限達到百二八 GiB。二空空二年 ATA 鋪六規範採用四十八位元 LBA,仝款以每磁區五百十二位元組計算容量上限會到一百二十八 Petabytes。
外部連結
- 按怎佇咧 Windows XP 中啟用 ATAPI 磁碟機的四十八位元邏輯區塊定址支援
- LBAs explained
- LBA and CHS format , LBA mapping
- Microsoft article on 七鼗八 GB limit on NT 四配零
- Hard Drive Size Limitations and Barriers
- Upgrading and Repairing PC's , by Scott Mueller . Pages 五百二十四石五百三十一 .
- Source for 四十八-bit LBA Information