Bạn có thể định những sector giống nhau trong chế độ CHS hay LBA. Quá trình chuyên đổi từ CHS thành LBA thì luôn luôn nhất quán cho một ổ đĩa có sẵn một địa chỉ CHS cụ thể luôn luôn chuyển đổi thành một địa chỉ LBA định sẵn và ngược lại. 

Quá trình chuyển đổi CHS/LBA và LBA/CHS

Tài liệu ATA-1 chỉ ra một công thức đơn giản mà có thể được dùng để chuyển đổi các tham số CHS thành LBA:

LBA = (((CxHPC) + H)xSPT) + s – I

Bằng cách đảo ngược công thức này. Bạn có thể chuyển đổi cách khác từ LBA trở về CHS:

c = int (LBA / SPT / HPC)

H = int ((LBA /SPT) mod HPC)

S = (LBA mod SPT) + I

Đối với những công thức này các chữ viết tắt được xác định như sau:

LBA = Logical block address c = Cylinder H = Head s = Sector

HPC = Heads per cylinder (total number of heads)

SPT = Sectors per track

int X = Integer portion of X

X mod Y = Modulus (remainder) of X/Y

Dùng những công thức này bạn có thể tính toán LBA cho bất kỳ địa chỉ CHS định sẵn, và ngược lại. Cho một ổ đĩa 16.383 cy linder. 16 đầu đọc và 63 sector cho mỗi rảnh chi. Bảng 1 thể hiện những địa chỉ CHS và LBA tương đương.

Bảng 1: Các số sector CHS và LBA tương đương cho một ổ đĩa với 16,383 cylinder, 16 đầu đọc và 63 Sector cho mỗi rãnh ghi (Tống cộng 16,514,064 Sector)

Cylinder Đầu dọc Sector LBA
0 0 1 0
0 0 63 62
0 1 0 63
999 15 63 1,007,999
1,000 0 1 1,008,000
9,999 15 63 10,079,999
10.000 0 1 10,080,000
16.382 15 63 16,514,063

Các lệnh BIOS đối với các lệnh ATA

ATA

Thêm vào hai phương pháp định vị sector (CHS hay LBA). Có hai mức độ giao diện định vị sector xảy ra. Một giao diện là nơi hệ điều hành gọi ra BIOS (dùng các lệnh trình điều khiển); giao diện kia là nơi BIOS gọi ra ổ đĩa (dùng các lệnh ATA). Các lệnh cụ thể tại những mức độ này thì khác nhau, nhưng cả hai hỗ trợ các chế độ CHS và LBA. 

Khi hệ điều hành gọi ra BIOS để đọc và ghi các sector, nó đưa ra các lệnh qua ngát phần mềm (không giống như một IRQ) INT13h là cách các thủ tục con BIOS cho truy cập ổ đĩa được gọi như thế nào. Những chức năng phụ INT13h khác nhau cho phép các sector được đọc hay ghi dùng phương pháp định vị CHS hay LBA. Các thủ tục BIOS kế tiếp chuyển đổi các lệnh BIOS ra các lệnh mức phần cứng ATA. được gửi qua các cổng I/O bus đến bộ điều khiển ổ đĩa. Các lệnh tại mức phần cứng ATA cũng có thể dùng định vị CHS hay LBA. Mặc dù có giới hạn khác nhau. BIOS và ổ đĩa dùng phương pháp định vị CHS và LBA tùy thuộc vào dung lượng ổ đĩa. Tuổi của BIOS và ổ đĩa, các thiết lập BIOS và hệ điều hành được sử dụng.

Các giới hạn CHS (ranh giới 528MB)

Trình điều khiển trên cơ cở BIOS chính cho các ổ cứng được truy cập qua ngắt phần mềm 13h (13 hex) và cho những chức năng đọc và ghi các ổ đĩa tại mức sector. Các chức năng INT13h tiêu chuẩn yêu cầu một sector riêng biệt được định vị bởi vị trí cylinder, đầu đọc và sector của nó nêu không thì được biết như định vị CHS. Giao diện này được dùng bởi hệ điều hành và những tiện ích đĩa mức thấp để truy cập ổ đĩa. IBM đầu tiên viết giao diện lNT13h cho BIOS trên bộ điều khiển ổ đĩa cứng PC XT năm 1983 và năm 1984, kết hợp chặt chẽ nó vào BIOS bo mạch AT. Giao diện này dùng các số để xác định cylinder, đầu đọc và sector riêng biệt được định vị. Bảng 2 thể hiện những giới hạn tham số CHS BIOS INT13h tiêu chuẩn, bao gồm những giá trị tối đa cho những số này.

Bảng 2: Những giới hạn tham số CHS BIOS INT13h

WBSBM Kích cở trường Giá trị tối đa Dãy Tổng có thể sử dụng
Cylinder 10 bits 1,024 0-1023 1,024
Head 8bits 256 0-255 256
Sector 6bits 64 1-63 63

Khái niệm của một giá trị tối đa định sẵn một lượng con số thì đơn giản: Nếu bạn có, cho ví dụ, một khách sạn với các số phòng hai số thập phân, bạn có thể chỉ có 100 (102) phòng, được đánh số là 99. Các số CHS được dùng bởi giao diện INTI3h BIOS tiêu chuẩn là nhị phân và với một số 10-bit được dùng để đếm các cylinder, bạn có thể chỉ có tối đa 1,024 (210), được đánh số là 1,023. Bởi vì đầu đọc được nhận dạng bởi một số 8-bit, số tối đa đầu đọc là 256 (28), cược đánh số là 255. Cuối cùng, với các sector cho mỗi rãnh ghi có một sự khác biệt nhỏ. Sector trên một rãnh ghi được nhận dạng bởi một số 6-bit, thông thường cho phép tối đa 64 (26) sector; tuy nhiên, do các sector được đánh số bắt đầu với 1 (thay vì 0), dãy được giới hạn đến là 63 nghĩa là một tổng 63 sector cho mỗi rành ghi là tối đa mà BIOS có thể điều khiển.

Những giới hạn BIOS này là thực cho tất cả phiên bản BIOS hay các chương trình dựa trên định vị CHS. Dùng các số tối đa có thể cho CHS tại mức BIOS, bạn có thể định vị một ổ đĩa với 1,024 cylinder, 256 đầu đọc và 63 sector cho mỗi rành ghi. Do mỗi sector là 512 byte, bài toán giải ra như sau:

Từ những tính toán này, bạn có thể thấy ổ đĩa dung lượng tối đa có thể định vị qua giao diện BIOS INTI3h tiêu chuẩn vào khoảng 8.4GB (GB tương đương khoảng 1 tỳ byte), hay 7.8GIB (GiB có nghĩa một tỷ nhị phân byte).

Không may, những giới hạn BIOS INT13h không chỉ là những giới hạn ứng dụng. Những giới hạn cũng tồn tại trong bàn thân giao diện ATA. Những giới hạn ATA CHS được thể hiện trong bảng 3

Bảng 3: Những giới hạn tham số ATA CHS tiêu chuẩn

Trường Kích cở trường Giá trị tối đa Dãy Tổng có thể dùng được
Cylinder 16bits 65,536 0-65,535 65,536
Head 4bits 16 0-15 16
Sector 8bits 256 1-255 255

Như bạn thấy, giao diện ATA dùng những trường kích cỡ khác nhau để lưu giữ những giá trị CHS. Nhận xét răng những giới hạn ATA thì cao hơn những giới hạn BIOS cho các cylinder và sector nhưng thấp hơn giới hạn BIOS cho các đầu đọc. Những giới hạn CHS cho dung lượng theo đặc điểm kỹ thuật ATA-1 đến ATA-5 như sau:

Khi kết hợp những giới hạn của những tham số BIOS và CHS ATA. bạn kết thúc với tình huống thể hiện trong bảng 4

Bảng 4: Những giới hạn tham số BIOS và CHS ATA được kết hợp

Trường Những giới hạn tham số CHS BIOS Những giới hạn tham số CHS ATA Những giới hạn trường tham số CHS dung kết hợp
Cylinder 1,024 65,536 1.024
Head 256 16 16
Sector 63 255 63
Total sectors 16,515,072 267.386.880 1.032,192
Maximum capacity 8.4GB 136.9GB 528MB

Như bạn thấy, đặc điểm chung phổ biến thấp nhất của những giới hạn CHS được kết hợp dẫn đến những tham số có thể dùng tối đa 1.024 cylinder, 16 đầu đọc và 63 sector, kết quả là một dung lượng ổ đĩa tối đa 528MB. Điều này được biết như là giới hạn 528MB (cũng được gọi là mức giới hạn 504MÍB) và nó ảnh hưởng thực sự đến tất cả PC sản xuất năm 1993 hay cũ hơn.

Tìm hiểu thêm các loại màn hình nhấp link!