Phân loại lỗi
—Lỗi phát hiện ₫ược, không sửa ₫ược
—Lỗi phát hiện ₫ược nhưng sửa ₫ược, và
—Lỗi không phát hiện ₫ược.
Giải pháp
—Giải pháp phần cứng
—Giải pháp phần mềm (xử lý giao thức) => Bảo toàn dữ liệu
Phát hiện lỗi là vấn ₫ề quan trọng hàng ₫ầu!
Nguyên lý cơ bản: Bổsung thông tin dự trữ (redundancy) phục vụ kiểm soát lỗi
18 trang |
Chia sẻ: haohao89 | Lượt xem: 3382 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Bài giảng Bảo toàn dữ liệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
©2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
C
h
ư
ơ
n
g
1
Hệ thống
thông tin công nghiệp
1/20/2006
4.4 Bảo toàn dữ liệu
2©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
4.4 Bảo toàn dữ liệu
1. Vấn ₫ề bảo toàn dữ liệu
2. Phương pháp bit chẵn lẻ
3. Bit chẵn lẻ hai chiều
4. Mã vòng (CRC)
5. Nhồi bit
3©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
1. Vấn ₫ề bảo toàn dữ liệu
Phân loại lỗi
— Lỗi phát hiện ₫ược, không sửa ₫ược
— Lỗi phát hiện ₫ược nhưng sửa ₫ược, và
— Lỗi không phát hiện ₫ược.
Giải pháp
— Giải pháp phần cứng
— Giải pháp phần mềm (xử lý giao thức) => Bảo toàn dữ
liệu
Phát hiện lỗi là vấn ₫ề quan trọng hàng ₫ầu!
Nguyên lý cơ bản: Bổ sung thông tin dự trữ
(redundancy) phục vụ kiểm soát lỗi
4©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Các vấn ₫ề cần xem xét
Chiều dài thông tin kiểm soát lỗi?
— Dài hay ngắn thì tốt?
— Tỉ lệ so với lượng thông tin ban ₫ầu?
Thuật toán xác ₫ịnh thông tin kiểm soát lỗi?
Biện pháp kiểm soát lỗi liên quan tới tính năng kỹ
thuật nào?
— Độ tin cậy
— Hiệu suất sử dụng ₫ường truyền
— Tính ₫ơn giản
— Tính thời gian thực
5©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Một số khái niệm liên quan
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.
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)
Thời gian trung bình giữa hai lần lỗi TMTBF (MTBF = Mean
Time Between Failures): TMTBF = n/(v*R)
Ví dụ: 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
R TMTBF
10-6 1 ngày
10-10 26 năm
10-14 260 000 năm
6©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Khoảng cách Hamming: thông số ₫ặc trưng cho ₫ộ bền vững
của một mã dữ liệu
— 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.
Hiệu suất sử dụng ₫ường truyền
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.
7©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
2. Bit chẵn lẻ (parity bit)
Ví dụ dùng parity chẵn:
Dãy bit nguyên bản: 1001101
Dãy bit gửi ₫i: 10011010
Giả sử nhận ₫ược 10111010 => Lỗi phát hiện ₫ược
Giả sử nhận ₫ược 11111010 => Lỗi không phát hiện ₫ược
Hai kiểu parity:
— Parity chẵn: Tổng số bit 1 trong bức ₫iện cuối cùng phải
chẵn
— Parity lẻ: Tổng số bit 1 trong bức ₫iện cuối cùng phải lẻ
Khoảng cách Hamming: 2
8©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Ví dụ: Khung UART
UART (Universal Asynchronous Receiver/Transmitter) ₫ược
sử dụng khá rộng rãi
Start 0 1 2 3 4 5 6 7 P Stop
0 LSB MSB 1
9©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
3. Bit chẵn lẻ hai chiều (bảo toàn khối)
1. 2. 3. 4. 5. 6. 7. p
1. 0 1 0 0 1 0 1 1
2. 1 0 0 1 0 0 0 0
3. 1 1 1 0 1 1 1 0
4. 0 1 0 1 0 1 0 1
5. 1 1 1 1 0 1 1 0
6. 0 0 0 1 1 1 1 0
7. 1 1 0 0 1 1 0 0
p 0 1 0 0 0 1 0 0
10
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Trường hợp xảy ra 1 lỗi
1. 2. 3. 4. 5. 6. 7. p
1. 0 1 0 0 1 0 1 1
2. 1 0 0 1 0 0 0 0
3. 1 1 1 1 1 1 1 0
4. 0 1 0 1 0 1 0 1
5. 1 1 1 1 0 1 1 0
6. 0 0 0 1 1 1 1 0
7. 1 1 0 0 1 1 0 0
p 0 1 0 0 0 1 0 0
11
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Trường hợp xảy ra 3 lỗi
1. 2. 3. 4. 5. 6. 7. p
1. 0 1 0 0 1 0 1 1
2. 1 0 0 1 0 0 0 0
3. 1 1 1 1 0 1 1 0
4. 0 1 0 1 0 1 0 1
5. 1 1 1 0 1 1 1 0
6. 0 0 0 1 1 1 1 0
7. 1 1 0 0 1 1 0 0
p 0 1 0 0 0 1 0 0
12
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Khoảng cách Hamming?
1. 2. 3. 4. 5. 6. 7. p
1. 0 1 0 0 1 0 1 1
2. 1 0 0 1 0 0 0 0
3. 1 1 1 1 0 1 1 0
4. 0 1 0 1 0 1 0 1
5. 1 1 1 0 1 1 1 0
6. 0 0 0 1 1 1 1 0
7. 1 1 0 0 1 1 0 0
p 0 1 0 0 0 1 0 0
13
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
4. Mã vòng (CRC)
CRC (Cyclic Redundancy Check ): thông tin kiểm lỗi (ở
₫ây ₫ược gọi là checksum) phải ₫ược tính bằng một
thuật toán thích hợp, trong ₫ó giá trị mỗi bit của
thông tin nguồn ₫ều ₫ược tham gia nhiều lần vào quá
trình tính toán.
CRC ₫ược sử dụng rộng rãi trong ₫a số các hệ thống
truyền thông CN
CRC còn ₫ược gọi là phương pháp ₫a thức, bởi nó sử
dụng phép chia ₫a thức (nhị phân)
14
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Phép chia ₫a thức (nhị phân)
Đa thức nhị phân: các hệ số là 0 hoặc 1, ví dụ
— G = x7 + x6 + x5 + (0x4 + 0x3) + x2 + (0x1) + 1
— Viết gọn lại thành một dãy bit G = {11100101}
Phép chia ₫a thức nhị phân ₫ược qui về các phép so
sánh, sao chép và XOR (hay trừ không có nhớ)
1 - 1 = 0
0 - 0 = 0
1 - 0 = 1
0 - 1 = 1
15
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Nguyên tắc thực hiện
Hai bên qui ước một “₫a thức phát” G bậc n, ví dụ
x3+x+1 tương ứng với dãy bit {1011}.
Dãy bit mang thông tin nguồn I ₫ược thêm vào n bit 0
và coi như một ₫a thức nhị phân P.
— Ví dụ thông tin nguồn là {110101} => {110101000}
Lấy P chia cho G
Phần dư R (lấy n chữ số) của phép chia ₫ược thay thế
vào chỗ của n chữ 0 bổ sung trong P, tức là ta có D = P
+ R. R ₫ược gọi là checksum và D chính là dãy bit ₫ược
gửi ₫i thay cho I.
Giả sử dãy bit nhận ₫ược là D' không chia hết cho G
=> bức ₫iện chắc chắn bị lỗi. Nếu D' chia hết cho G,
thì xác suất rất cao là bức ₫iện nhận ₫ược không có
lỗi.
16
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Ví dụminh họa
Thông tin cần truyền I = 110101, ₫a thức G = 1011 (tức x3 + x + 1)
Thêm 3 bit 0 vào thông tin nguồn I, ta có P = 110101000
Chia ₫a thức P : G
110101000 1011
-1011 111101
01100
-1011
01111
-1011
01000
-1011
001100
-1011
0111 Phần dư R
Dãy bit ₫ược chuyển ₫i: D = P + R = 110101111
Giả sử dữ liệu nhận ₫ược là D' = 110101111
Chia ₫a thức D' : G 110101111 : 1011 = 111101
Phần dư 0000 -> Xác suất rất cao là không có lỗi
17
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
5. Nhồi bit (Bit stuffing)
Nguyên tắc thực hiện:
— Bên gửi: Nếu trong dữ liệu có n bits 1 ₫ứng liền nhau
thì thêm một bit 0 vào ngay sau ₫ó. Như vậy trong dãy
bit ₫ược chuyển ₫i không thể xuất hiện n+1 bits 1 ₫i liền
nhau.
— Bên nhận: Nếu phát hiện thấy n bits 1 liền nhau mà bit
tiếp theo là 0 thì ₫ược tách ra, còn nếu là bit 1 thì dữ
liệu chắc chắn bị lỗi.
Ví dụ với n = 5 (như ở CAN-Bus):
— Thông tin nguồn I = 0111111
— Thông tin gửi ₫i D = 01111101
— Nếu thông tin nhận ₫ược D' = 01111101, bên nhận có
thể coi xác suất cao không có lỗi
— Nếu thông tin nhận ₫ược D' = 11111101, qua mẫu bit
₫ặc biệt bên nhận sẽ phát hiện ra lỗi.
18
©
2
0
0
4
,
H
O
À
N
G
M
I
N
H
S
Ơ
N
4.4 Bảo toàn dữ liệu © 2005 - HMS
Sử dụng phối hợp các biện pháp bảo
toàn dữ liệu
Ví dụ dãy bit ban ₫ầu
Áp dụng CRC
Phân chia thành từng byte
Bổ sung bit chẵn lẻ và các bit ₫ầu, bit cuối
101011000......1011010
101011000......1011010 01001101
parity
Checksum
10101100 11011010 01001101
01010110001 00101101011 00100110101
...
parity