[Data Storage] – Địa chỉ CHS và địa chỉ LBA

0
23

“Bài viết đuợc sử dụng làm tư liệu phụ cho Series Quản trị hệ thống Linux”.

Ngoài phương pháp LBA(Logical Block Addressing) giúp định địa chỉ cho những block dữ liệu trên ổ cứng ,phương pháp định địa chỉ CHS (Cylinder-Head-Sector) vẫn là một phương pháp quan trọng trong việc phân vùng cho các thiết bị lưu trữ như đĩa cứng hay SSD. Bạn muốn truy xuát các phân vùng ổ cứng theo một style cụ thể và rõ ràng ? Vậy thì không thể không nhắc tới CHS.

1. CHS – Cylinder – Head – Sector

CHS là một phương pháp định địa chỉ ổ cứng xuất hiện từ rất sớm. Mặc dù việc đánh địa chỉ với ổ đĩa bằng CHS ngày nay không đuợc khuyến khích do những đặc điểm kỹ thuật của ổ đĩa hiện đại , tuy nhiên chúng vẫn đuợc sử dụng bởi rất nhiều các trình tiện ích. Dưới đây là một số thuật ngữ đuợc sử dụng :

  • Tracks : Các vòng tròn đồng tâm trên đĩa cứng.
  • Mỗi track đuợc chia ra thành nhiều sector
  • Mỗi ổ cứng bao gồm nhiều các đĩa cứng chịu ảnh hưởng của từ trường (đĩa từ) , mỗi đĩa có một thanh chuyển động (Arm) với hai đầu (Head) nam châm , mỗi mặt đĩa một đầu .
  • Cylinder – hình trụ : Tưởng tưởng ra một hình trụ tròn đi qua các track có bán kính bằng nhau trên các đĩa từ thì hình trụ đó đuợc gọi là Cylinder.
  • screen-shot-2016-10-28-at-2-15-19-pm
    • Các sector trên các đĩa từ có thể đuợc định vị bằng “hệ tọa độ” CHS . CHS là viết tắt của :
    • C – Cylinder : Chỉ số của Cylinder , từ 0 đến 1023
    • H – Head : Chỉ số của đầu nam châm. Một thanh chuyển động có hai đầu nam châm thì đầu trên có chỉ số là 0, đầu dưới có chỉ số là 1. Nếu có một thanh chuyển động thứ hai thì đầu trên là của thanh thứ 2 có chỉ số là 2, đầu dưới là 3, tương tự với những đầu nam châm khác nếu có.Giá trị của H là từ 0 đến 254 , trước kia chỉ là 0 đến 15.
    • S : Sector, giá trị của S trong khoảng 1 đến 63
    • Một tập hợp các sector nằm trên một track đuợc gọi là 1 cụm (cluster).

    Tất nhiên , những phạm vi nói trên không nói lên sự thật trong thực tế, chẳng có cái ổ đĩa nào chứa tới 128 đĩa từ cả. Ngày nay , địa chỉ CHS chủ yếu đuợc dùng trong những tiện ích giúp phân vùng ổ đĩa. Như trên ta thấy , giá trị của C và H bắt đầu từ 0, và giá trị của S bắt đầu từ 1. Sector đầu tiên của ổ đĩa sẽ đựoc định địa chỉ là 0/0/1. Trên lý thuyết thì mỗi sector là một khối(block) gồm 512 bytes mặc dù các ổ đĩa với diện tích sector lên đến 4096 bytes đã xuất hiện từ năm 2010. Nếu mỗi sector là 512bytes , thì dung luợng tối đa mà ổ đĩa mang lại là 7,844 Gigabytes (1024 x 255 x 63 x 512 = 8.422.686.720 : tám tỉ bốn trăm hai mươi hai triệu sáu trăm tám mươi sáu nghìn bảy trăm hai mươi bytes)

    2. LBA – Logical Block Addressing – một phương pháp khác dùng trong việc đánh địa cho các đơn vị lưu trữ trong ổ đĩa.

  • Đối với các ổ cứng lớn hơn 7,844 Gigabytes, CHS có vẻ bất lực , nhưng vì các lý do tương thích (chí ít là cho việc khởi động hệ thống chẳng hạn), chúng ta vẫn phải nhờ tới nó. Các BIOS hiện đại ngày nay có thể chuyển sang chế độ LBA dễ dàng thông qua các extensions của ngắt Int13H (Một ngắt được định nghĩa trong các kiến trúc x86 , ngắt này sẽ thiết lập dịch vụ đọc/ghi sector của ổ đĩa cứng hoặc mềm, dựa trên hệ tọa độ CHS – Wikipedia).

    Khái niệm LBA xóa nhòa đi các định nghĩa về Cylinders , về Head trong CHS . Hệ địa chỉ LBA coi ổ đĩa là một thực thể lưu trữ chứa liên tiếp các block. Vậy nên có thể nói hệ địa chỉ LBA là một hệ địa chỉ tuyến tính , nghĩa là block đầu tiên sẽ mang địa chỉ 0; và block cuối cùng sẽ sở hữu một địa chỉ cao nhất , tùy vào kích thước ổ đĩa và diện tích của block.

    Thay vì xác định rõ vị trí của Cylinder , của Head và của Sector như trong CHS , disk controller chỉ cần biết địa chỉ LBA của một block là có thể truy xuất vào block đó dễ dàng.Sử dụng LBA ,ổ đĩa có thể truy xuất tới nhiều block chỉ hơn , đồng nghĩa với việc dung lượng của nó có thể lớn hơn. Lưu ý rằng khái niệm block trong LBA tương đương với sector trong CHS.

    3. MBR – Master Boot Record

    Sector đầu tiên của một ổ đĩa đã được phân vùng. (LBA 0 hoặc CHS 0/0/1), nó chứa :

    • Master Boot Record (MBR) : Một chương trình nhỏ , là chương trình đầu tiên đuợc BIOS gọi lên. Sau khi tiến hành các hoạt động (ví dụ :yêu cầu người dùng chọn hệ điều hành để boot vào), nó sẽ nạp hệ điều hành vào RAM và chuyển quyền kiểm soát máy lại cho hệ điều hành.
    • Master Partition Table (MPT) : Một bảng chứa thông tin về các phân vùng trong ổ đĩa , đủ dung lượng để chứa tối đa thông tin của 4 phân vùng. Thông tin của mỗi ổ đĩa đuợc lưu trữ trong một entry rộng 16bytes. Các thông tin có thể là filesystem, cluster , size …v….v….
    • Giới hạn về số lượng phân vùng này không còn đúng trên các ổ đĩa GPT.

    4. Bảng phân vùng mở rộng – Extended Partition Table

    Các phân vùng chia làm 2 loại, phân vùng chính (primary partition) và phân vùng mở rộng (extended partition) . Phân vùng mở rộng còn có thể đuợc chia thành các phân vùng logic khác.

    Các phân vùng logic không đuợc định nghĩa tại MPT, partition table của chúng đuợc đặt tại sector đầu tiên của Phân vùng mở rộng (Extended Partition Table – EPT). Tương tự như MPT , EPT cũng chỉ có 4 entries 16byte, lưu trữ đuợc thông tin về tối đa 4 phân vùng logic. Tuy nhiên chúng ta không bao giờ sử dụng quá 2 entries của nó.

    Nếu như có nhiều hơn 2 phân vùng logic , một danh sách liên kết (linked list) các EPTs sẽ đuợc tạo ra.

    Trích nguồn: Techtalk.

Facebook Comments