Khả năng chịu lỗi đề cập đến khả năng hệ thống duy trì hoạt động bình thường ngay cả khi một số thành phần nhất định bị hỏng hoặc trục trặc. Khả năng này rất cần thiết cho các hệ thống có tính sẵn sàng cao, nhiệm vụ quan trọng và thậm chí quan trọng trong cuộc sống. Khả năng chịu lỗi đặc biệt đề cập đến việc hệ thống không gặp phải bất kỳ sự xuống cấp hoặc thời gian ngừng hoạt động nào khi xảy ra lỗi. Khi xảy ra lỗi, người dùng cuối không nhận thức được bất kỳ vấn đề nào. Ngược lại, một hệ thống gặp lỗi nhưng vẫn có các dịch vụ đang chạy được gọi là "hệ thống linh hoạt". Hệ thống như vậy có thể thích ứng với việc xảy ra lỗi và duy trì các dịch vụ nhưng có những tác động nhất định đến hiệu suất.
Khả năng chịu lỗi được sử dụng cụ thể để mô tả các hệ thống máy tính đảm bảo rằng toàn bộ hệ thống tiếp tục hoạt động ngay cả khi xảy ra sự cố về phần cứng hoặc phần mềm.
Trong lịch sử phát triển máy tính, chiếc máy tính có khả năng chịu lỗi sớm nhất là SAPO do Antonín Svoboda chế tạo ở Tiệp Khắc vào năm 1951. Thiết kế cơ bản của máy tính được triển khai dưới dạng trống từ quấn dây và sử dụng phương pháp biểu quyết để phát hiện lỗi bộ nhớ, một kỹ thuật được gọi là dự phòng ba mô-đun. Theo thời gian, nhiều thiết bị tương tự khác đã được phát triển, chủ yếu dành cho mục đích quân sự. Sau đó, ba loại lựa chọn dần dần xuất hiện: những máy tính có thể chạy trong thời gian dài mà không cần bảo trì, chẳng hạn như máy tính thám hiểm không gian và vệ tinh của NAASA; rất đáng tin cậy nhưng yêu cầu giám sát liên tục, chẳng hạn như những thiết bị được sử dụng để giám sát và điều khiển các nhà máy điện hạt nhân hoặc các thí nghiệm về chất siêu dẫn; và các máy tính hoạt động dưới tải nặng, chẳng hạn như nhiều siêu máy tính được các công ty bảo hiểm sử dụng để giám sát xác suất.
Nhiều nghiên cứu về cái gọi là máy tính LLNM (tuổi thọ cao, không cần bảo trì) do NASA thực hiện vào những năm 1960 đã mở đường cho các sứ mệnh không gian trong tương lai. Các máy tính này hỗ trợ các phương pháp phục hồi bộ nhớ thông qua việc sử dụng các mảng bộ nhớ dự phòng, chẳng hạn như máy tính JSTAR, có thể tự phát hiện và sửa lỗi hoặc kích hoạt các mô-đun dự phòng. Những máy tính này tiếp tục hoạt động cho đến ngày nay.
Các thiết kế trước đây có xu hướng tập trung vào chẩn đoán nội bộ, trong đó các lỗi có thể được phát hiện và thay thế bởi các chuyên gia.
Tuy nhiên, các thiết kế sau này cho thấy nhu cầu về hệ thống phải có khả năng tự phục hồi và chẩn đoán, có khả năng cách ly lỗi và thực hiện sao lưu dự phòng khi xảy ra lỗi. Điều này rất quan trọng để triển khai các hệ thống máy tính có tính sẵn sàng cao.
Ví dụ: một số hệ thống có khả năng chịu lỗi phần cứng yêu cầu phải tháo và thay thế các bộ phận bị hỏng trong khi hệ thống đang chạy, điều này được gọi là "trao đổi nóng". Những hệ thống như vậy thường có một bản sao lưu duy nhất, được gọi là một điểm dung sai duy nhất và hầu hết các hệ thống có khả năng chịu lỗi đều thuộc loại này. Kỹ thuật chịu lỗi đã đạt được thành công đáng kể trong các ứng dụng máy tính.
Máy tính Tandem dựa trên điều này và thiết lập hệ thống NonStop để tính toán thời gian chạy hàng năm.
Ngoài phần cứng, khả năng chịu lỗi cũng có thể được phản ánh trong phần mềm máy tính, chẳng hạn như thiết kế hoàn hảo của quá trình sao chép và định dạng dữ liệu, để chúng có thể xuống cấp một cách nhẹ nhàng. HTML là một ví dụ điển hình, cho phép trình duyệt web bỏ qua các thực thể HTML mới và không được hỗ trợ mà không ảnh hưởng đến khả năng sử dụng của toàn bộ tài liệu. Các thiết kế tương tự cũng xuất hiện trên nhiều trang web phổ biến, cung cấp giao diện nhẹ trong Deepin để duy trì khả năng truy cập rộng rãi.
Việc triển khai một thiết kế có khả năng chịu lỗi không phải lúc nào cũng là một lựa chọn thực tế vì sự dư thừa liên quan sẽ gây ra các vấn đề như tăng trọng lượng, chi phí và thời gian thiết kế. Vì vậy, các nhà thiết kế phải xem xét cẩn thận thành phần nào yêu cầu khả năng chịu lỗi.
Mỗi thành phần cần được đánh giá cẩn thận về khả năng xảy ra lỗi, mức độ nghiêm trọng và chi phí.
Ví dụ: radio của ô tô, mặc dù không phải là bộ phận quan trọng nhưng có tầm quan trọng tương đối thấp, trong khi hệ thống hạn chế người ngồi trong xe (chẳng hạn như dây an toàn) được coi là cần thiết vì chức năng quan trọng của nó là cung cấp sự an toàn trong một vụ tai nạn. thiết kế.
Các đặc điểm cơ bản của hệ thống có khả năng chịu lỗi bao gồm: không có điểm lỗi duy nhất; khả năng cách ly các thành phần bị lỗi và nhu cầu khắc phục lỗi, thường yêu cầu phân loại và xác định các lỗi hệ thống.
Trước một thế giới công nghệ ngày càng phức tạp, liệu thiết kế có khả năng chịu lỗi có thực sự bảo vệ được nhiều hệ thống khác nhau trong cuộc sống hàng ngày của chúng ta và cho phép chúng ta tránh những nguy hiểm không cần thiết trong cuộc sống công nghệ cao trong tương lai không?