Bad sector là gì? Nhận biết ổ cứng bị bad sector và cách khắc phục Trước hết, chúng ta hãy cùng xem xét vấn đề nguồn gốc của sector. Cấu trúc vật lý của ổ đĩa cứng thông thường sẽ gồm 03 thành phần: · Platter(đĩa hình tròn): nơi lưu trữ firmware-phần điều khiển cấp thấp của HDD và dữ liệu. · Bộ đọc/ghi(Actuator): bộ phận truyền tải thông tin. · Bảng mạch điều khiển điện tử(PrintedCircuitBoard=PCB): thành phần chứa đựng các cổng giao tiếp và phần điều khiển cấp cao của HDD. Mỗi platter của ổ cứng thường có 03 lớp: lớp nền tảng thường được chế tạo bằng hợp kim nhôm hoặc thủy tinh và có 02 bề mặt; lớp từ tính được phủ trên cả 02 bề mặt của lớp nền tảng và được cấu tạo từ các phần tử có thể nhiễm từ tính; lớp bảo vệ được phủ bên ngoài cùng cả 02 bề mặt. Tuân theo quy chuẩn chung về sản xuất HDD nên mỗi sản phẩm xuất xưởng, trên bề mặt platter đều có khuôn dạng lưu trữ là các vòng tròn đồng tâm mà chúng ta thường biết đến với tên gọi track hay cylinder. Các cylinders được chia cắt bởi các đường thẳng chạy từ tâm ra biên, chúng tạo nên các vùng lưu trữ data mà chúng ta vẫn quen nghe tên: sector. Để đọc/ghi dữ liệu lên platter, HDD sử dụng bộ đọc/ghi (Actuator). Cấu tạo chung của Actuator gồm có: bộ chuyển động, bộ khung đầu đọc, mạch điều khiển đọc ghi chung và đầu đọc từ tính(magnetic head). Trong quá trình đọc/ghi, đầu đọc treo lơ lửng phía trên, cách bề mặt platter vài microns. Áp lực không khí sinh ra trong khi platter quay với tốc độ cao đã góp phần tạo ra khoảng cách an toàn này, giúp bảo vệ an toàn head và bề mặt platter. Để đọc dữ liệu nào đó trên HDD, computer ra lệnh yêu cầu đọc data từ một sector cụ thể nằm trên ổ đĩa cứng với tham số chỉ định là một số nguyên dương. Bảng mạch điều khiển của ổ đĩa cứng khi tiếp nhận lệnh từ computer sẽ giải mã thông tin, định nghĩa bề mặt của platter có chứa đựng sector cần đọc, định nghĩa head của bề mặt đó, dịch chuyển head đến đúng vị trí của cylinder có chứa sector cần đọc và đọc dữ liệu từ tính tại đó. Tiếp theo, dữ liệu đó sẽ được chuyển về mạch đọc/ghi của bộ đọc ghi rồi dịch dữ liệu đó sang dạng bits và gửi các dữ liệu dạng bits đó về computer. Tiến trình ghi dữ liệu lên HDD cũng tương tự như tiến trình đọc ngoại trừ chút ít khác biệt: computer gửi lệnh ghi kèm theo 512 bytes dữ liệu cần ghi và HDD sẽ gửi trả lại kết quả của việc ghi dữ liệu. Đây là tính siêu đơn giản của phương án này, computer không cần biết bất cứ điều gì liên quan đến HDD ngoại trừ thông số về tổng số sector chứa đựng trong nó. Đây cũng chính là nguyên nhân dẫn đến hiện tượng lỗi mà đôi khi chúng ta gặp phải: ổ đĩa cứng có dectect trong BIOS, trong DOS nhưng sau đó hệ thống treo cứng, không khởi động được; hệ thống nhận diện được tên nhưng dung lượng báo sai hoặc sai tên; khi ra lệnh đọc ghi một file nào đó, hệ thống báo lỗi hoặc treo máy… 2. Nguyên nhân: Đến đây, chắc hẳn mọi người chúng ta đều có cùng một câu hỏi: “Nguyên nhân nào đã gây ra bad sector của ổ đĩa cứng?”. Câu trả lời chính xác là có 7 nguyên nhân đã gây ra lỗi bad sector. Ba nguyên nhân đầu là do lỗi trong quá trình sản xuất, hai nguyên nhân tiếp theo là do người sử dụng và hai nguyên nhân cuối cùng là do lỗi logical. Duy nhất chỉ có hai nguyên nhân cuối là có thể khắc phục. Các nguyên nhân gây lỗi bad sector: · 1 hole (hố) tạo ra do lỗi trong quá trình phủ lớp từ tính lên bề mặt platter. · Sự liên kết yếu kém giữa lớp từ tính và lớp nền platter tại một vị trí tạo ra 1 hole. · 1 hole được tạo ra trên bề mặt nền tảng của platter gây ra bởi thời gian. · Lỗi gây ra bởi chuyển động cơ học của Actuator hoặc do người dùng gây va đập dẫn đến head bị va vào bề mặt platter. · Chất bôi trơn bên trong motor, do nhiệt độ cao của môi trường đã bốc hơi thoát ra ngoài, gặp nhiệt độ thấp hơn nên đông cứng thành hạt vật chất, va đập và phá hoại bề mặt platter. · Nhiệt độ cao của môi trường sử dụng computer gây nên sự thoái hoá công năng của bề mặt từ tính. · Lỗi về điện và/hoặc reset xảy ra trong tiến trình đọc/ghi data. Trong quá trình sử dụng computer, chúng ta thường hay gặp thông báo lỗi dạng: “Can not copy file(s) or folder(s), ECC failure when reading sector xxxxxx”…ECC (“error correction [or correcting] code" or "error checking and correcting”) được sử dụng để kiểm tra và sửa lỗi trong quá trình đọc và truyền dữ liệu. ECC được sử dụng với các phương tiện lưu trữ (media storage) như RAM, HDD…Vậy ECC hoạt động như thế nào? Chúng ta đều biết, mỗi đơn vị data (or word) được lưu trữ dù là tạm thời trong RAM hay lâu dài trên HDD, chúng đều phải được “đính” kèm các thông tin quan trọng. Gần giống như một “thẻ kho”, mỗi thông tin này sẽ cho biết độ dài liên tục của bits dữ liệu có trong mỗi đơn vị data. Cứ mỗi 64 bits của một đơn vị data sẽ gắn kèm 7 bits mở rộng để lưu trữ ECC. Khi có một lệnh yêu cầu đọc data tại một vị trí lưu trữ 64 bits đó, code đã lưu trữ trong 7 bits mở rộng sẽ được đọc và đưa vào vế trái của lệnh so sánh. Vế phải sẽ là kết quả của một tiến trình: thông tin về độ dài của 64 bits sẽ được tính toán và trả về kết quả theo cùng một phương pháp như đã tạo ra code đã lưu trữ, tiếp đó sẽ ghi kết quả vào vị trí so sánh. Nếu kết quả so sánh khớp nhau, tiến trình kiểm tra lỗi kết thúc, data sẽ được truyền đi theo yêu cầu của lệnh. Nếu kết quả so sánh không khớp nhau, một hay nhiều bits bị thiếu hay lỗi sẽ được sửa hoặc thêm vào cho đến khi mọi thông tin đều khớp và tiến trình ECC kết thúc, data sẽ được truyền đi theo lệnh đọc. Chúng ta thấy ở đây có một vấn đề: một việc “sửa” đã được tạo ra, vậy thì nó có gây sai lệch các thông tin nguyên bản đã lưu trữ? Liệu các thông tin về tài chính, các tài liệu sống còn của doanh nghiệp chúng ta có bị mất đi hay sai lệch sau việc sửa chữa này? Câu trả lời sau đây sẽ khiến chúng ta an tâm: không có sự thay đổi gì với 64 bits của mỗi đơn vị data đã lưu trữ, tất cả dữ liệu của chúng ta vẫn nằm trên vùng từ tính đã lưu trữ nó. Việc sửa chữa chỉ xảy ra với 07 bits mở rộng có chứa code, ECC chỉ cố gắng giúp cho tiến trình thực hiện lệnh đọc được thực thi mà thôi. Các dữ liệu thuộc về 64 bits của đơn vị dữ liệu vẫn còn trên phương tiện lưu trữ chỉ có điều, nếu không có chuyên môn và thiết bị chuyên dụng, chúng ta không thể nào lấy chúng ra được. Lỗi bad sector, xét về mặt vật lý là không thể sửa chữa (can not repaired). Đôi khi, chúng ta gặp một số quảng cáo như: “tẩy, cắt, sửa…bad sector”, đó là sự quảng cáo sai sự thật, thiếu chuyên môn. Thật vậy, chúng ta không thể có cách nào lấp đầy các “hố”(hole) được tạo ra bởi quá trình sản xuất hay do sự va đập trong sử dụng; chúng ta cũng không thể nào khôi phục được khả năng từ tính tại một điểm nào đó trên bề mặt platter đã bị suy yếu sau một thời gian sử dụng…Tuy nhiên, chúng ta có thể khắc phục lỗi bad sector bằng cách ra lệnh cho hệ thống không sử dụng chúng. Câu trả lời là: về mặt kỹ thuật, không hề có khái niệm đó, các sector trên các phương tiện lưu trữ như HDD không hề giống như các bài viết thiếu chuyên môn trên mạng cũng như báo, tạp chí về vấn đề “thay thế” bad sector bằng một “sector dự trữ”. Với trí tưởng tượng của mình, những người viết các thông tin sai lệch đó đã cho rằng các sector sẽ “giống như” những ngăn kéo của một cái tủ và bằng một cách nào đó, họ sẽ “rút” cái hỏng ra và thay thế bằng cái “tốt” đã được “dự trữ ở đâu đó” trong miền lưu trữ của thiết bị. Về mặt kỹ thuật, chúng ta có thể cùng xem xét một tiến trình chung cho việc khắc phục lỗi bad sector như sau: Khi một sector bị đánh dấu là bad, hệ thống sẽ không sử dụng nó cho mục đích đọc/ghi dữ liệu nữa và tổng dung lượng của ổ đĩa cứng sẽ bị giảm đi một lượng bằng với lượng mà một sector chiếm dụng trên không gian nhớ của thiết bị lưu trữ. Khi gặp hiện tượng bad sector, chúng ta nên sao lưu các dữ liệu quan trọng bởi chúng có thể sẽ nằm ngoài khả năng sử dụng của chúng ta. Nếu các bad sector hiện ra quá đột ngột mà ta không thể kịp sao lưu thì tốt hơn hết nên gửi phương tiện lưu trữ của mình đến những nơi chuyên nghiệp, tránh tự làm vì có thể mất đi cơ hội lấy lại các dữ liệu quan trọng. Còn nếu các dữ liệu không quan trọng, hoặc giả dụ như bạn muốn tự làm để có thể tiếp tục sử dụng một HDD đã bị lỗi bad sector thì sao? Các biện pháp được mô tả dưới đây sẽ phần nào giúp chúng ta đạt được mục đích của mình. 3. Các biện pháp phòng tránh và khắc phục lỗi BAD SECTOR: Để hạn chế tối đa bad sector chúng ta nên lưu ý về vấn đề tản nhiệt cho các thiết bị lưu trữ như HDD. Đất nước chúng ta nằm trong một miền địa lý với khí hậu nóng ẩm và đó là một trong những nguyên nhân gây ra bad sector. Vấn đề điện nguồn cũng nên được lưu ý vì điện lưới sinh hoạt của chúng ta thường xuyên tăng-giảm hay mất đột ngột cộng với việc các thiết bị cung cấp điện nguồn cho computer như ổ cắm điện, phíc cắm điện…thiếu an toàn cũng sẽ rất dễ gây lỗi. Nên sử dụng các thiết bị lưu trữ của chính hãng và dùng kèm theo computer một bộ cung cấp nguồn ổn định, ví dụ như dùng UPS online. Tránh sử dụng các thiết bị ổn áp cơ học, chỉ có giá trị về mặt lý thuyết hoặc giá trị rất nhỏ cho việc sử dụng computer. Các biện pháp khắc phục lỗi bad sector: Chúng ta có thể sử dụng chính các công cụ miễn phí có trong hệ điều hành đã cài đặt sẵn. Với Windows XP chúng ta có thể làm như sau: chạy chương trình My Computer, click vào My Computer trong khung bên trái màn hình. Khung bên phải sẽ liệt kê các ổ đĩa có trong hệ thống, click chuột phải vào tên ổ đĩa muốn khắc phục lỗi bad chọn Properties. Trên màn hình sẽ hiển thị khung Properties của ổ đĩa,àsector click Check Now…; Với cácàtrong khung Error-Checkingàclick chuột vào tab Tools bạn thích sử dụng dòng lệnh, chúng ta làm như sau: bấm tổ hợp phím Windows+R để gọi lệnh thực thi RUN. Trong khung Open, gõ CMD và bấm Enter. Trong khung cửa sổ có dấu nhắc hiện ra, gõ chữ cái đại diện tên ổ đĩa có bad sector kèm theo dấu hai chấm, (ví dụ như D và bấm phím Enter. Tại dấu nhắc, gõ lệnh CHKDSK và bấm Enter để bắt đầu tiến trình kiểm tra bad sector; Chúng ta cũng có thể sử dụng các chương trình tiện ích của hãng khác như Norton Disk Doctor, HDDRegenerator…để đánh dấu không sử dụng các bad sector. NHẬN BIẾT ĐĨA CỨNG BỊ Bad sector: 1. Trong lúc đang cài đặt Windows hệ thống bị treo mà không hề xuất hiện một thông báo lỗi nào (đĩa cài đặt Windows vẫn còn tốt), mặc dù vẫn có thể dùng Partition Magic phân vùng cho HDD một cách bình thường. 2. Không Fdisk được: Khi Fdisk báo lỗi No fixed disk present (đĩa cứng hiện tại không thể phân chia) hoặc Fdisk được nhưng rất có thể máy sẽ bị treo trong quá trình Fdisk. 3. Không format được HDD: Khi tiến hành format đĩa cứng máy báo lỗi Bad Track 0 - Disk Unsable. 4. Khi đang format thì máy báo Trying to recover allocation uint ***x. Lúc này máy báo cho ta biết cluster ***x bị hư và nó đang cố gắng phục hồi lại cluster đó, nhưng thông thường cái ta nhận được là một bad sector! 5. Đang chạy bất kỳ ứng dụng nào, nhận được một câu thông báo như Error reading data on driver C:, Retry, Abort, Ignore, Fail? Hoặc Sector not found on driver C:, Retry, Abort, Ignore, Fail? Hoặc A serious error occur when reading driver C:, Retry or Abort ?. 6. Khi chạy Scandisk hay NDD (Norton Disk Doctor) hay bất kỳ phần mềm kiểm tra bề mặt đĩa (surface scan) nào, ta sẽ gặp rất nhiều bad sector Nguồn: shoptinhoc.com