Mã hóa FM, MFM và RLL
December 22, 2018Một trong những kỹ thuật ra đời sớm nhất cho dữ liệu mã hóa của lưu trữ từ tính gọi là Frequency Modulation. Hệ thống mã hóa này đôi khi được gọi là Mã hóa mật độ đơn (Single- Density encoding) được sử dụng trong các ổ đĩa mềm cũ nhất được lấp đặt trong các PC.
Mã hóa FM
Máy tính xách tay Osborne, cho ví dụ dùng ổ đĩa mềm mặt độ đơn này, lưu trừ khoảng 80KB dữ liệu trên một đĩa đơn. Mặc dù nó phổ biến cho đến cuối thập niên 1970, mã hóa FM không còn được sử dụng nữa.
Mã hóa MFM
Mã hóa Modified Frequency Modulation được phát minh ra để làm giảm số lượng các đảo chiều thông lượng được sử dụng trong hệ thống mã hóa FM ban đầu, do đó nén được nhiều dữ liệu vào đĩa hơn. Mã hóa MFM giảm tối đa việc sử dụng của các chuyển đổi đồng hồ, đề dành nhiều chỗ trống cho dữ liệu. Nó ghi lại chuyển đổi đồng hồ chỉ khi một bit 0 được lưu trữ bị theo sau bởi một bit 0 khác: trong tất cả các trường hợp khác, một chuyển đổi đồng hồ không bị yêu cầu. Bởi vì MFM làm giảm thiểu tối đa việc sử dụng các chuyển đổi đồng hồ, nó làm tăng gấp đôi tần số đồng hồ được sử dụng bởi mã hóa FM, cho phép nó lưu trữ gấp đôi dữ liệu bit trong cùng số lượng đảo chiều thông lượng như FM. Do mã hóa MFM ghi gấp đôi dữ liệu bit bằng cách dùng cùng số lượng đảo chiều thông lượng như FM, xung của dữ liệu được tăng gấp đôi và ổ đĩa thực sự thấy cùng tổng số đảo chiều thông lượng như FM. Điều này có nghĩa là một ổ đĩa sử dụng mã hóa MFM đọc và ghi dữ liệu ở tốc độ gấp hai lần FM. Mặc dù ổ đĩa thấy các đảo chiều thông lượng đạt tần số như trong FM. Bởi vì nó hiệu quả gấp hai lần mã hóa FM, mã hóa MFM còn được gọi là Ghi mật độ gấp đôi (Doubled-Density recording). MFM hầu như được sử dụng trong tất cả các ổ đĩa mềm ngày nay và gần như đà trong tất cả các ổ đĩa cứng trong nhiều năm. Ngày nay, hầu hết các ổ đĩa cứng sử dụng sự đa dạng của các mã hóa RLL, cung cấp hiệu quả tốt hơn MFM. Bảng 1 thể hiện biên dịch từ bit dữ liệu đến đảo chiều thông lượng trong mã hóa MFM.
Bảng 1: Mã hóa dữ liệu đến chuyển đổi thông lượng MFM
Giá trị Bit dữ liệu | Mã hóa thông lượng |
1 | NT |
0 dẫn trước bởi 0 | TN |
0 dẫn trước bởi 1 | NN |
Mã hóa RLL
Phương án mã hóa phổ biến nhất ngày nay cho các ổ đĩa cứng, được gọi là Run Length Limited, đóng gói gấp đôi lượng thông tin trên một đĩa hơn MFM và gấp ba lần lượng thông tin hơn FM. Trong mã hóa RLL, ổ đĩa kết hợp các nhóm bit vào trong một đơn vị để tạo ra mẫu cụ thể của các đảo chiều thông lượng. Vì các tín hiệu đồng hồ và dữ liệu được kết hợp trong những mẫu này, xung có thể tăng lên trong khi duy trì khoảng cách cơ bản như cũ giữa các đảo chiều thông lượng trong môi trường lưu trữ.
IBM phát minh ra mã hóa RLL và sử dụng phương pháp này đầu tiên trong nhiều ổ đĩa thuộc hệ thống máy tính khổng lồ của họ. Trong suốt những năm cuối thập niên 1980, ngành công nghiệp ổ đĩa cứng PC bắt đầu dùng các phương án mã hóa RLL để tăng khả năng lưu trữ của các ổ cứng PC. Ngày nay, hầu như tất cả ổ đĩa trên thị trường đều sử dụng một số hình thức của mã hóa RLL.
Thay vì mã hóa một bit đơn, RLL thường mã hóa một nhóm bit dữ liệu cùng lúc. Thuật ngữ RunLength Limited xuất phát từ hai đặc điểm kỹ thuật chủ yếu của những mã này, là số khoảng tối thiểu (the run length) và số khoảng tối đa (the run limit) của các ổ chuyển đổi được phép giữa hai chuyển đổi thông lượng thực sự. Vài biến thể của chương trình được hoàn tất bằng cách thay đồi độ dài và các tham số giới hạn nhưng chỉ hai đạt được sự thịnh hành thật sự: RLL 2.7 va Rl.L 1,7.
Thậm chí bạn có thể diễn tà mã hóa FM và MFM như một hình thức của RLL. FM được gọi là RLL 0,1 bơi vì ít như không có chuyển đổi và nhiều như một ô chuyến đồi tách biệt hai chuyển đổi thông lượng. MFM được gọi là RLL1.3 bởi vì ít như một chuyển đổi và nhiều như ba ô chuyển đổi tách biệt hai chuyển đổi thông lượng. (Mặc dù những mã này được diễn đạt như những biến thể của hình thức RLL, thông thường không thực hiện như vậy.)
RLL 2,7 khởi đầu là biến thể RLL phố biến nhất do nó cho tỷ lệ mật độ cao với một cửa sổ phát hiện chuyển đổi cùng kích cỡ tương đối như MFM. Phương pháp này cung cấp một độ lưu trữ cao và độ tin cậy khá tốt. Tuy vậy trong các ổ đĩa dung lượng rất cao, RLL 2,7 không chứng tỏ đủ tin cậy. Hầu như các ổ đĩa dung lượng cao nhất hôm nay dùng mã hóa RLL 1.7 cho tỷ lệ mật độ 1.27 lần so với MFM và một cửa sổ phát hiện chuyển đổi lớn hơn MFM. Do cửa sổ định thời gian liên quan lớn hơn hay kích cỡ ô trong đó một chuyển đổi được phát hiện,
RLL 1.7 là mã dễ chấp nhận hơn và đáng tin cậy hơn là quan trọng khi đĩa và công nghệ đầu từ đang bị đẩy vào những giới hạn của chúng.
Một biến thể RLL khác được dime ít được gọi là RLL 3.9 đôi khi cũng được gọi là Advanced RLL (ARLL) cho phép một tỷ lệ mật độ thậm chí cao hơn RLL 2.7. Không may là độ tin cậy quá kém so với RLL 3.9: phương pháp này chỉ được dùng bởi vài bộ điều khiển ngày nay đã lỗi thời và không còn nữa.
Hiểu cách các mà RLL hoạt động thì khó khăn nếu không xem một ví dụ. Trong một biến thể RLL có sẵn (như là RLL 2.7 hay 1.7) bạn có thể xây dựng nhiều bảng mà chuyển đổi thông lượng để giải thích cách nhóm các bit riêng biệt được mã hóa vào các chuyển đổi thông lượng như thế nào.
Trong bảng chuyển đổi thể hiện ở bảng 2, các nhóm dữ liệu cụ thể dài 2, 3 và 4 bit được biên dịch thành chuỗi chuyển đổi thông lượng các ổ dài 4, 6 và 8 chuyển đổi theo thứ tự. Các chuyển đổi được chọn cho dãy bit cụ thể được thiết kế để đảm bảo rằng các chuyển đổi thông lượng không xảy ra quá gần nhau hay quá xa nhau.
Giới hạn hai chuyển đổi thông lượng gần nhau như thế nào là cần thiết là do các khả năng phân giải cố định của đầu từ và môi trường lưu trữ. Giới hạn hai chuyển đổi thông lượng xa nhau như thế nào có thể đảm bảo các đồng hồ trong thiết bị vẫn đồng bộ.
Bảng 2: RLL 2,7 Mã hóa chuyển đổi dữ liệu đến thông lượng
Giá trị Bit dữ liệu | Mã hóa thông 1 trọng |
10 | NTNN |
,, | TNNN |
000 | NNNTNN |
010 | TNNTNN |
011 | NNTNNN |
0010 | NNTNNTNN |
0011 | NNNNTNNN |
T – Flux transition
v = No Jlux transition
Nghiên cứu bảng 2 bạn có thể nghĩ rằng mã hóa một giá trị byte như là 00000001 b là không thể được bởi vì không có những kết hợp nhóm dữ liệu vừa với byte này. Mã hóa loại byte này không là vấn đề bởi vì bộ điều khiển không truyền các byte riêng lẻ: thay vì vậy, bộ điều khiển gửi toàn bộ sector, làm mã hóa như một byte có thể bằng cách bao gồm một số bit trong byte tiếp theo, vấn đề duy nhất thực sự xảy ra trên byte cuối của một sector nếu các bit thêm vào cần thiết để hoàn tất chuỗi nhóm cuối cùng. Trong những trường hợp này, endec trong bộ điều khiển thêm các bit dư vào phần cuối byte cuối. Các bit trội này sau đó được cắt bỏ trong suốt bất kỳ đọc nào nên bộ điều khiển luôn luôn giải mã byte cuối chính xác.
Đừng bỏ qua thông tin hữu ích về các loại laptop và màn hình máy tính!