Tìm hiểu về Bad block: Ý nghĩa và Cách xử lý trên ổ SSD
Bad block trên ổ SSD: Hiểu về lỗi và Cách xử lý
Bad block là vùng lưu trữ đa phương tiện mất tính tin cậy do hỏng vật lý hoặc lỗi. Còn được biết đến như Bad Sector.
Bad block chia thành 2 loại: Bad block cứng do lỗi vật lý và bad block mềm (hoặc bad sector logic) xảy ra khi hệ điều hành không đọc được dữ liệu từ sector.
Ví dụ về bad block mềm là khi CRC hoặc ECC cho một khối lưu trữ không khớp với dữ liệu đọc được. Hoặc khi gặp lỗi bad block khi thực hiện Ghost Win.
Trên ổ cứng HDD, bad block có thể xảy ra khi một vị trí trên bề mặt ghi bị lỗi hoặc hỏng. Trên ổ USB NAND, các block có thể mòn khi sử dụng, làm cho chúng không tin cậy hoặc không sử dụng được sau một số chu kỳ ghi và xóa.
Nguyên nhân gây ra bad block
Ổ đĩa được vận chuyển từ nhà máy có thể bị lỗi trong quá trình sản xuất. Trước khi rời khỏi nhà máy, bad block này được đánh dấu và được thêm vào phần tử bộ nhớ của ổ đĩa.
Bad block có thể gây thiệt hại vật lý cho thiết bị, khiến hệ điều hành không thể truy cập dữ liệu. Trên ổ cứng HDD, rủi ro như laptop rơi có thể làm hỏng ổ đĩa. Bụi bẩn và mòn tự nhiên cũng có thể gây ra lỗi hoặc hỏng.
Ổ cứng SSD hỏng xảy ra khi bóng bán dẫn bộ nhớ bị hỏng. Các phần tử lưu trữ có thể trở nên không tin cậy theo thời gian, vì chất nền flash NAND trong một phần tử có thể không sử dụng được sau một số chu kỳ xóa chương trình nhất định.
Trong quá trình xóa trên ổ cứng SSD, cần gửi lượng nguồn lớn qua phần tử flash. Điều này dần làm giảm lớp oxit, làm tăng tốc độ lỗi.
Bộ điều khiển của ổ đĩa có thể sử dụng các cơ chế phát hiện và sửa lỗi. Tuy nhiên, ở một số điểm, các lỗi có thể vượt quá khả năng sửa của bộ điều khiển, khiến phần tử trở nên không đáng tin cậy.
Bad block mềm thường phát sinh do các vấn đề phần mềm. Ví dụ, nếu máy tính tắt đột ngột, ổ cứng tắt khi ghi vào block. Trong trường hợp này, block có thể chứa dữ liệu không khớp với mã sửa lỗi CRC và được coi là bad block.
Bad block gây ra lỗi nào?
Khi một block bị hỏng, dữ liệu trong đó có thể trở nên không thể truy cập được. Nếu hệ điều hành hoặc ứng dụng được lưu trữ trong block bị lỗi, có thể dẫn đến việc chúng không thể hoạt động. Sự tăng của bad block có thể giảm dung lượng và không gian trống, làm giảm hiệu suất ổ đĩa và gây ra lỗi phần cứng.
Các tiện ích như CHKDSK trên Windows hoặc badblock trên Linux có thể đánh dấu các sector bị lỗi mà hệ điều hành không sử dụng được.
Firmware trên HDD controller có thể xác định và đánh dấu bad block không sử dụng được. Sau khi được xác định là xấu, sector đó sẽ không được sử dụng cho các hoạt động trong tương lai.
Khi ổ USB flash NAND phát hiện bad block, nó sẽ ghi vào Bad Block Table (BBT) của thiết bị để tránh bad block. Có 2 loại BBT: loại NAND thường trú được giữ lại trên hệ thống khởi động và BBT thường trú RAM được tạo lại mỗi khi hệ thống khởi động.
Quản lý bad block
Phương pháp tốt nhất để khắc phục file bị ảnh hưởng bởi bad block trên HDD là ghi đè lên file gốc. Hành động này có thể gây ra lỗi làm cho ổ cứng phải map lại bad block hoặc sửa CRC hoặc dữ liệu.
Quản lý bad block nhằm mục tiêu nâng cao độ tin cậy và tuổi thọ của ổ NAND. Khác với các phương tiện lưu trữ từ tính, ổ flash không thể ghi đè ở mức byte, mà tất cả các thay đổi phải được ghi vào một block mới và dữ liệu trong block ban đầu phải được đánh dấu để xóa.
Khi ổ flash trở nên đầy, bộ điều khiển sẽ bắt đầu xóa các block đã được đánh dấu để xóa trước khi có thể ghi đè dữ liệu mới. Để thực hiện điều này, nó sẽ hợp nhất các dữ liệu tốt bằng cách sao chép chúng vào block mới.
Quá trình này yêu cầu thêm việc ghi để hợp nhất dữ liệu tốt và kết quả là mở rộng khả năng ghi (write amplification), tức là số lần ghi thực tế vượt quá số lần ghi được yêu cầu. Write amplification có thể làm giảm hiệu suất và tuổi thọ ổ flash.
Các nhà sản xuất ổ flash áp dụng các kỹ thuật khác nhau để kiểm soát write amplification. Trong đó, kỹ thuật đầu tiên là garbage collection (hoặc quá trình thu gom rác), liên quan đến việc tự động hợp nhất dữ liệu bằng cách giải phóng các block đã bị ghi đè trước đó. Khi thực hiện đúng cách, việc phân bổ lại các sector có thể giảm nhu cầu xóa toàn bộ khối dữ liệu cho mỗi lần ghi.
Ngoài ra, các nhà sản xuất còn áp dụng các công nghệ giảm dữ liệu như nén và sao chép để giảm thiểu lượng dữ liệu cần ghi và xóa trên ổ đĩa.
Bên cạnh đó, giao diện của ổ SSD có thể giúp giảm write amplification. Các lệnh TRIM của ATA và UNMAP của SAS xác định các khối dữ liệu không còn sử dụng mà có thể bị xóa hoàn toàn. Cách tiếp cận này giảm thiểu quá trình thu gom rác và giải phóng không gian trống trên ổ đĩa, từ đó cải thiện hiệu suất.
Để gia tăng tuổi thọ của các ổ SSD, phần mềm điều khiển có thể áp dụng thuật toán cân bằng độ mòn (wear-leveling) để phân phối chu kỳ ghi - xóa (P/E cycles) trên các block sao cho không có block nào được sử dụng nhiều hơn các block khác. Điều này giúp đảm bảo rằng các chu kỳ ghi được phân phối đồng đều trên toàn bộ bộ nhớ và không có block nào bị quá tải, từ đó giảm thiểu các lỗi trên block.
Để hỗ trợ các hoạt động như cân bằng độ mòn và quá trình thu gom rác, các nhà sản xuất thêm phần cứng lưu trữ vào ổ đĩa mà không hiển thị cho người dùng - gọi là overprovision. Điều này giúp tăng hiệu suất của ổ đĩa và thay thế các phần tử bị mòn.
Hiện nay có nhiều phần mềm tốt để sửa lỗi bad sector trên ổ cứng như HDD Regenerator hoặc Hard Disk Sentinel. Nếu bạn không chuyên về lĩnh vực này, bạn có thể tham khảo nhiều bài viết hướng dẫn trên Mytour.
Vậy là bài viết trên đây của Mytour đã giải đáp câu hỏi về bad block là gì? Cách kiểm tra, sửa lỗi và khắc phục bad block trên ổ SSD hay sửa lỗi bad sector SSD. Hy vọng bạn đã nhận được các thông tin hữu ích về vấn đề này. Nếu có bất kỳ thắc mắc nào, hãy để lại ý kiến của bạn dưới bài viết.