Bảo toàn dữ liệu là phương pháp sử dụng xử lý giao thức để phát hiện và khắc phục
lỗi, trong đó phát hiện lỗi đóng vai trò hàng đầu. Khi đã phát hiện được lỗi, có thể có
cách khôi phục dữ liệu, hay biện pháp đơn giản hơn là yêu cầu gửi lại dữ liệu. Các
phương pháp bảo toàn dữ liệu thông dụng là:
• Parity bit 1 chiều và 2 chiều
• CRC (Cyclic Redundancy Check)
• Nhồi bit (Bit stuffing).
Nguyên lý cơ bản
Nhiệm vụ bảo toàn dữ liệu là một có thể sắp xếp thuộc lớp 2 (lớp liên kết dữ liệu)
trong mô hình qui chiếu OSI. Trong quá trình mã hóa nguồn, bên gửi bổ sung một số
thông tin phụ trợ, được tính theo một thuật toán qui ước vào bức điện cần gửi đi. Dựa
vào thông tin bổ trợ này mà bên nhận có thể kiểm soát và phát hiện ra lỗi trong dữ liệu
nhận được (giải mã).
Chú ý rằng kể cả thông tin nguồn và thông tin phụ trợ đều có thể bị lỗi, nên phải cân
nhắc quan hệ giữa lượng thông tin nguồn và lượng thông tin phụ trợ, nếu không một
phương pháp bảo toàn dữ liệu sẽ không đạt được mong muốn về độ tin cậy của dữ liệu,
thậm chí có thể sẽ phản tác dụng. Trước khi phân tích, đánh giá tác dụng của các
phương pháp bảo toàn dữ liệu, cần đưa ra một số định nghĩa như dưới đây.
Tỉ lệ bit lỗi
Tỉ lệ bit lỗi p là thước đo đặc trưng cho độ nhiễu của kênh truyền dẫn, được tính bằng
tỉ lệ giữa số bit bị lỗi trên tổng số bit được truyền đi. Nói một cách khác, tỉ lệ bit lỗi
chính là xác suất một bit truyền đi bị lỗi. Lưu ý rằng, tỉ lệ bit lỗi xấu nhất không phải là
1, mà là 0,5. Trong trường hợp p = 1, tức là bất cứ bit nào truyền đi cũng bị sai lệch, ta
chỉ việc đảo lại tất cả các bit để khôi phục lại dữ liệu. Khi p = 0,5 tức xác suất cứ hai bit
truyền đi lại có một bit bị lỗi thì đường truyền này hoàn toàn không sử dụng được, bởi
theo lý thuyết thông tin thì không thể có một phương pháp bảo toàn dữ liệu nào có thể
áp dụng tin cậy, có hiệu quả. Trong kỹ thuật, p = 10-4 là một giá trị thường chấp nhận
được. Một đường truyền có tỉ lệ bit lỗi như vậy có thể thực hiện được tương đối dễ
dàng.
Tỉ lệ lỗi còn lại
Tỉ lệ lỗi còn lại R là thông số đặc trưng cho độ tin cậy dữ liệu của một hệ thống
truyền thông, sau khi đã thực hiện các biện pháp bảo toàn (kể cả truyền lại trong trường
hợp phát hiện ra lỗi). Tỉ lệ lỗi còn lại được tính bằng tỉ lệ giữa số bức điện còn bị lỗi
không phát hiện được trên tổng số bức điện đã được truyền. Đương nhiên, giá trị này
không những phụ thuộc vào tỉ lệ bit lỗi và phương pháp bảo toàn dữ liệu mà còn phụ thuộc vào chiều dài trung bình của các bức điện. Một bức điện càng dài thì xác suất lỗi
càng lớn.
Thời gian trung bình giữa hai lần lỗi
Tỉ lệ lỗi còn lại là một thông số tương đối khó hình dung, vì vậy trong thực tế người
ta hay xét tới thời gian trung bình giữa hai lần lỗi TMTBF (MTBF = Mean Time Between
Failures). Thông số này có liên quan chặt chẽ tới giá trị tỉ lệ lỗi còn lại:
TMTBF = n/(v*R),
với n là chiều dài bức điện tính bằng bit và v là tốc độ truyền tính bằng bit/s. Giả sử
một bức điện có chiều dài n = 100 bit được truyền liên tục với tốc độ 1200 bit/s, quan hệ
giữa tỉ lệ bit lỗi và thời gian trung bình giữa hai lần lỗi sẽ được thể hiện như sau:
Khoảng cách Hamming (Hamming Distance, HD)
Khoảng cách Hamming (gọi theo nhà khoa học Mỹ R.W. Hamming) là thông số đặc
trưng cho độ bền vững của một mã dữ liệu, hay nói cách khác chính là khả năng phát
hiện lỗi của một phương pháp bảo toàn dữ liệu. HD có giá trị bằng số lượng bit lỗi tối
thiểu mà không đảm bảo chắc chắn phát hiện được trong một bức điện. Nếu trong một
bức điện chỉ có thể phát hiện một cách chắc chắn k bit bị lỗi, thì HD = k+1. Ví dụ, nếu
một lỗi duy nhất có thể phát hiện được một cách chắc chắn (như trong phương pháp
dùng parity bit 1 chiều), thì khoảng cách Hamming là 2. Đây là giá trị tối thiểu mà một
phương pháp truyền đòi hỏi. Các hệ thống bus trường thông dụng thường có khoảng
cách Hamming là 4, các hệ thống đạt độ tin cậy rất cao với HD = 6.
Theo lý thuyết thông tin thì số lượng bit lỗi chắc chắn phát hiện được không bao giờ
lớn hơn lượng thông tin phụ trợ dùng để kiểm lỗi. Đương nhiên, muốn đạt được giá trị
HD lớn thì phải tăng lượng thông tin phụ trợ, nhưng ta cũng chú ý khía cạnh phản tác
dụng của thông tin phục trợ đã được nhắc tới - khi mà thông tin phụ trợ cũng có thể bị
lỗi.
Hiệu suất truyền dữ liệu
Hiệu suất truyền dữ liệu E là một thông số đặc trưng cho việc sử dụng hiệu quả các
bức điện phục vụ chức năng bảo toàn dữ liệu, được tính bằng tỉ lệ số bit mang thông tin
nguồn (bit dữ liệu) không bị lỗi trên toàn bộ số bit được truyền.
Ta có:
E = m (1-p)
n
/n
m - Số lượng bit dữ liệu trong mỗi bức điện
n - Chiều dài bức điện
p - Tỉ lệ bit lỗi
Ví dụ 1:
m = 8 bit
n = 11 bit (1 bit đầu + 8 bit dữ liệu + 1 bit chẵn lẻ+ 1 bit cuối)
p = 10-3
Hiệu suất truyền dữ liệu E = 0,72.
Ví dụ 2:
m = 8 bit
n = 24 bit (4 bit đầu + 8 bit dữ liệu + 8 bit CRC + 4 bit cuối)
p = 10-3
Hiệu suất truyền dữ liệu E = 0,325.
Ví dụ 3:
m = 8 bit
n = 19 bit (4 start bit + 8 bit dữ liệu + 3 bit CRC + 4 stop bit)
p = 10-3
Hiệu suất truyền dữ liệu E = 0,413.
Rõ ràng, việc tăng lượng thông tin phụ trợ ở một chừng mực nào đó có thể tăng độ
tin cậy cho dữ liệu, song hiệu quả truyền dữ liệu vì thế cũng giảm đi. Như đã bàn, nếu tỉ
lệ bit lỗi p = 0,5 thì bức điện nhận được hoàn toàn không có giá trị. Điều đó có nghĩa là,
số lượng bit kiểm lỗi không bao giờ cần thiết phải bằng hoặc lớn hơn một nửa số bit dữ
liệu. So sánh ví dụ 2 và ví dụ 3, ta sẽ thấy sự lựa chọn 3 bit thông tin kiểm lỗi ở ví dụ 3
đúng đắn hơn trên cả phương diện hiệu quả truyền dữ liệu và độ tin cậy dữ liệu
Đăng ký:
Đăng Nhận xét
(
Atom
)