LBA的英文全名為Logical Block Addressing,中文名稱為邏輯區塊定址。
LBA所指的是一種磁碟設備的定址技術,它是利用邏輯映對的方式來指定磁碟機的磁區,目前個人電腦所使用的傳輸介面中,增強型 IDE (Enhanced IDE) 和 SCSI 均使用邏輯區塊定址方式。
傳統的硬碟定址技術是採取實體定址(physical mapping、physical addressing)的方式,以磁碟上的實際結構,直接作為資料區塊位址的結構。但由於初期在設計實體定址方式時,硬碟容量只有5、10、20 MB等等小容量機種,所以設計出來的最大的定址能力,只能到1024個磁柱(cylinder)、16個磁頭(head)、63個磁區(sector)。以每個磁區(sector)512位元組(bytes)計算,實體定址的方式最多只能使用512×63×1024×16=528482304位元組(528MB)的硬碟空間。
但是由於磁性儲存技術不斷的提昇,硬碟容量大幅增加的情況之下,這樣的限制讓使用者必須將硬碟畫分為多個區塊,使用上非常的不方便。因此硬體廠商研究出了LBA邏輯定址方式,也就是電腦系統並沒有將資料存放地點的相關記錄,應對到硬碟上資料實際存放的位置。而是由IDE控制電路和BIOS負責轉換定址(mapping)資料的記錄位置表。經過轉換後的記錄方式,是將第1個磁柱上的第1條磁軌的第1個磁區編號為0,第二個磁區編號為1,以此類推……,假設1條磁軌有2000個磁區,那麼第2000個磁區的編號就是1999。第2條磁軌上的第1個磁區就是2000,如此一直線性排列下去。以邏輯區塊的方式來定址的硬碟,最多可達16383磁柱,最大磁頭數為16個,每軌磁區有63區,磁區大小為512位元組,所支援之硬碟空間為512×63×16383×16=8455200768位元組(8.4GB)。
當硬碟在存取時,以操作端來說,會先經從作業系統開始,然後透過BIOS的「int 13h」的中斷來下命令給硬碟,通知硬碟該存取檔案的位置,然後是硬碟本身的控制晶片去解譯BIOS所需的位置,最後再由硬碟本身找出資料的位置,去讀取該筆資料(或是將資料寫入)。而這個中斷13h處於BIOS中,可是當初IBM個人電腦在設計的時候,並沒有想到硬碟的容量發展會擴大到現在的規格,所以在BIOS部份只用到只到1024個磁柱、16個磁頭、63個磁區來定址,造成前文所提的528MB限制。後來雖然改採用LBA的定址模式,可以支援到8.4GB的硬碟,但到了1998年左右,硬碟又突破了8.4GB的限制,這下又得制定新的解決方案。
在ATA的介面規格中,定義了使用28位元來定址,因此計算出來,它可以支援到224×512=137GB的容量。不過不幸的,BIOS並無法配合,它使用24位元來定址(也就是LBA模式)。所以根本之道,就是改變BIOS對中斷13h的支援,因此後來的BIOS就設計了加強版的中斷13h。一口氣使用了64位元來對硬碟做定址,因此可以支援到264×512=9.4TB,相當於3萬億倍的8.4GB。
在1998年前的電腦,BIOS可能還不支援這項加強版中斷13h,不過到了98年中期,主要的BIOS製造廠商都把這項功能加入,讓所有的電腦系統都能支援8.4GB以上的硬碟了。
註:這邊所使用的 1GB=1000MB
相關網址:www.ansi.org;www.ibm.com
- Sep 03 Wed 2008 13:34
名詞解說-LBA「邏輯區塊定址」
close
全站熱搜
留言列表
發表留言