Một số người dùng máy tính, trong đó có cả kỹ thuật viên phần cứng của các công ty tin học, thường hay lầm tưởng khái niệm “chết cơ” của ổ đĩa cứng, họ cho là ổ đĩa cứng đó chỉ có thể vứt đi mà thôi. Họ gọi là chết cơ khi ổ không thể detect, detect sai dung lượng(ổ 40Gb thành 20Gb hoặc 80Gb…), detect sai tên, hệ thống nhận được nhưng chỉ chạy một lúc rồi motor ngừng quay, không thể Format hay Fdisk, không thể chạy được các phần mềm tiện ích cấp thấp…Trên thực tế, các lỗi đó đều có thể có khả năng sửa để chạy bình thường như cũ hoặc có thể cứu lại được dữ liệu cũ đang còn trên đó.

Cấu trúc hoạt động của ổ đĩa cứng và các lỗi thường gặp

 Bài viết đã đăng trên tạp chí Tự động hóa ngày nay-Bắt đầu từ số 77+78  Nguyễn Tiến Dũng

  

  

1. Dẫn nhập:

 Ngày nay, máy vi tính (Computer) có mặt tại khắp nơi, trong văn phòng-công xưởng-phòng thì nghiệm-trường học-nhà riêng…và thật khó tưởng tượng một thế giới công nghệ cao thiếu vắng Computer. Nhờ nó mà các nhà khoa học đã làm được thật nhiều điều kỳ diệu để phục vụ cuộc sống con người. Tuy nhiên, không thể không đề cập đến, bên cạnh những lợi ích đó, đôi khi computer cũng khiến chúng ta thật đau đầu: computer không chạy khi nhấn nút nguồn, có chạy nhưng không vào được Windows, máy bị mất toàn bộ dữ liệu(data)…. Trong số những điều khó chịu đó, có lẽ việc mất dữ liệu sẽ là việc gây khó chịu cho nhiều người nhất và nguyên nhân thì có nhiều nhưng thường là do ổ cứng(HDD) của máy tính bị hỏng. Khoảng 70% các trường hợp sự cố hỏng ổ cứng(HDD) nguyên nhân do ổ bị lỗi phần SA (Service Area). Khi đó, người dùng sẽ không thể truy cập vào ổ đĩa, hệ thống sẽ nhận sai tên của ổ đĩa, sai dung lượng, ổ vẫn chạy có tiếng động cơ quay êm nhưng không thể truy cập…Ở Việt Nam, chúng ta thường hay gặp tình trạng này với ổ cứng Maxtor, hệ thống nhận được tên Maxtor nhưng các thông số về model name, dung lượng…đều bị sai hoặc không có. Điều này cũng thường xảy ra với các loại Fujitsu, Western Digital và các loại khác…Với một số loại PC computer và toàn bộ các loại laptops, chúng đều cung cấp khả năng thiết đặt password cho HDD để khóa việc truy cập và người sử dụng không thể sử dụng máy cho đến khi nhập đúng password. Thông tin về password được lưu trên SA của HDD (chứ không nằm trên mạch điều khiển của HDD hay trên mainboard). Khi người dùng quên password, HDD đó sẽ không thể chạy trên bất cứ hệ thống computers nào cho đến khi password bị phá...Đây là những lỗi rất thường gặp và chúng hoàn toàn có thể sửa chữa được nếu chúng ta có đầy đủ các công cụ giúp cho việc truy cập vào phần SA của HDD. Các thiết bị HDDLab sẽ giúp chúng ta sửa chữa các lỗi SA và phá bỏ hoặc tìm lại password, khi đó chúng ta hoàn toàn có thể truy cập lại phần dữ liệu đã lưu trên HDD. Tại Việt Nam hiện nay, việc sửa chữa các thiết bị máy tính: màn hình, bo mạch chủ… khá phát triển ở các thành phố lớn như Hà Nội, Sài Gòn, Hải Phòng…tuy nhiên, với việc sửa ổ đĩa cứng thì còn hiếm, nhất là sửa ổ đĩa cứng để cứu lại dữ liệu. Ổ đĩa cứng, như mọi người chúng ta thường biết, là một trong những phương tiện lưu trữ dữ liệu, được dùng để chứa thông tin và các trương trình chạy trên máy tính. Ổ đĩa cứng có ở máy tính để bàn(decktop) IDE, SATA, máy tính xách tay(notebook), máy chủ(server) SCSI…rất phong phú về chủng loại: IBM, HITACHI, SEAGATE, MAXTOR, FUJITSU…và về dung lượng:40Gb, 80Gb, 160Gb, 250Gb, 300Gb…Và chúng cũng rất đa dạng về cấu trúc phần cứng, phần mềm và đa dạng về lỗi gây ra việc hỏng ổ, mất dữ liệu trên ổ. Người viết xin đưa ra dưới đây vài thông tin về ổ cứng để bạn đọc có thêm thông tin hữu ích trong việc sử dụng và bảo quản và cứu lại dữ liệu bị mất trên những ổ đĩa cứng bị hỏng.

 

 Như chúng ta thường thấy, ổ đĩa cứng(HDD-HardDisk Drive) gồm có hai phần: phần cơ(như mọi người thường gọi) và phần bảng mạch điều khiển(PCB-Printed Control Board). Phần cơ thường gồm có khung thép chứa đựng các đĩa(platter) để lưu trữ thông tin, motor quay đĩa, hệ thống đầu đọc, hệ thống dịch chuyển và điều khiển dịch chuyển đầu đọc, các lỗ(hole) dùng để can thiệp đến đầu đọc, cơ đầu đọc và thông với bên ngoài, bộ phận lọc bụi…Phần PCB thường gồm có các linh kiện chủ yếu như chip điều khiển chính, ROM, RAM, chip điều khiển nguồn, IC công suất nguồn, cổng giao tiếp data và nguồn…Bên cạnh các cấu thành phần cứng đó là một phần cực kỳ quan trọng đối với HDD mà ít người biết tới, đó là firmware(micro-code). Nếu có thể gọi phần cơ và mạch điện tử, cái mà ta nhìn thấy và chạm vào được, là phần “xác” thì firmware chính là phần “hồn”. Bạn đọc có thể tìm thấy trên mạng cũng như trên giá của các nhà sách rất nhiều thông tin về ổ cứng như cấu trúc sector, liên cung, MBR, boot sector, FAT32, NTFS…Người viết chỉ xin nêu ra ở đây những điều mà bạn đọc khó có thể tìm thấy trên Internet hay trong các nhà sách vì khuôn khổ của bài viết, mong bạn đọc thông cảm.

 

 

 Một số người dùng máy tính, trong đó có cả kỹ thuật viên phần cứng của các công ty tin học, thường hay lầm tưởng khái niệm “chết cơ” của ổ đĩa cứng, họ cho là ổ đĩa cứng đó chỉ có thể vứt đi mà thôi. Họ gọi là chết cơ khi ổ không thể detect, detect sai dung lượng(ổ 40Gb thành 20Gb hoặc 80Gb…), detect sai tên, hệ thống nhận được nhưng chỉ chạy một lúc rồi motor ngừng quay, không thể Format hay Fdisk, không thể chạy được các phần mềm tiện ích cấp thấp…Trên thực tế, các lỗi đó đều có thể có khả năng sửa để chạy bình thường như cũ hoặc có thể cứu lại được dữ liệu cũ đang còn trên đó. Với chủ quan của người viết thì, HDD có khả năng không thể sửa để dùng lại khi nó bị tháo vỏ khung thép của phần cơ trong môi trường bình thường (vì sẽ có bụi bẩn và nó sẽ làm hỏng HDD), tháo rời các bộ phận đầu đọc và platter, làm bẩn và xước phần bề mặt platter và đầu đọc; HDD thực sự không thể cứu lại được data khi platter của nó bị cắt ra nhiều mảnh hoặc bị nghiền vụn, bề mặt platter bị đá mài hoặc vật cứng cày xới tróc hết lớp từ tính phủ trên bề mặt…Đến đây, chắc sẽ có bạn đọc đặt ra câu hỏi: Có cách nào-phương tiện nào có thể sửa chữa HDD và cứu lại data? Câu trả lời là có nhưng trước hết, hãy cùng nhau tìm hiểu cấu trúc HDD-SA ở phần tiếp theo đây.

 

2. Khám phá cấu trúc firmware của ổ đĩa cứng nhãn hiệu Maxtor:

  2.1 Driver firmware:

 Thiết bị ổ cứng Maxtor (Maxtor drive) thường nạp firmware lên RAM khi chạy và nó được nạp từ ba nguồn: Nguồn thứ nhất gọi là internal boot ROM, nằm bên trong chip xử lý chính của PCB; Nguồn thứ hai là external ROM(Flash ROM), phần này có thể có hoặc không tùy theo nhà sản xuất thiết kế; Và nguồn thứ ba rất quan trọng, nằm trên platter có tên gọi là SA-Service Area (driver’s SA). Chúng ta đều biết, HDD ngày nay được quản lý sử dụng theo LBA(Logical Block Addressing), tất cả mọi tác vụ đọc-ghi lên đó yêu cầu các tập lệnh nằm trên PCB và tham chiếu đến mã xác định-sửa lỗi đúng-sai, lưu trên vùng SA. PCB firmware thường được lưu ở hai vị trí: một là phần có tên gọi là internal ROM nằm trong chíp điều khiển chính của PCB; hai là external ROM (paralell or serial Flash ROM)- chip ROM nằm trên PCB. Phần internal ROM thường không thể sửa chữa được, chỉ có thể thay chip xử lý mới. Thông tin nằm trên external ROM luôn được đọc trước tiên, nếu nó có lỗi phần ROM nằm trong chip xử lý sẽ được khởi động, nếu phần này cũng bị lỗi, hệ thống sẽ nhận sai HDD bởi phần lỗi này. Ví dụ: HDD model là Calipso, nếu thông tin trong ROM bị lỗi, hệ thống sẽ nhận nó là N40P.

  Hãng Maxtor thiết kế khu vực SA, trong các sản phẩm HDD họ, nằm trên một vùng đĩa đặc biệt gọi là UBA(Util Block Addressing-gần giống như LBA). SA thường cư ngụ ở hai nơi: vùng ngoài cùng của platter-đối với các HDD chỉ dùng 01 platter và 01 head; vùng trong cùng của platter (gần sát parking zone)-đối với các HDD dùng từ 02 platter và 02 heads trở lên. Vì sự khác biệt trong sự quản lý địa chỉ logical address, không theo sự quản lý của phần LBA, nên SA không thể truy cập bởi hệ thống mainboard thông thường, vốn thường truy cập HDD theo LBA.

 

 

 Cũng giống như một số HDD của các hãng khác, Maxtor HDD chỉ cần cần nạp và chạy một số modules trong quá trình khởi động, các modules đó rất quan trọng, nếu chúng bị lỗi thì HDD sẽ hoạt động sai ngay trong quá trình POST của PC. Ví dụ về lỗi thường gặp: như trong bài trước đã đề cập, hệ thống detect sai tên ổ thành N40P, Ares64…thay vì 6E040L0, 2F040L0…là do lỗi trong phần external ROM hoặc internal ROM; HDD nếu không đọc được module chưa thông tin về đầu đọc của nó(heads map) thì sẽ phát tiếng kêu lọc cọc liên tục sau khi được cấp điện; nếu module chưa đựng thông tin kích hoạt motor HDD bị lỗi thì sẽ có hiện tượng motor có quay một lúc sau khi được cấp điện rồi dừng lại, không hoạt động tiếp. Các modules điều khiển motor cần được nạp và thực thi khi khởi động là 38h,39h, 4Fh…Vậy các lỗi như sau khi chạy được qua phần POST của PCổ cứng không thể Fdisk hay Format được, hoặc chạy một lúc rồi ổ bỗng nhiên kêu lọc cọc hay ổ vẫn thấy dữ liệu nhưng không thể xoa đi hay ghi thêm vào được…đó là do đâu, vì sao? Đi vào phần tiếp theo, chúng ta sẽ cùng nhau làm sáng tỏ các câu hỏi này.

 *SA modules:

 Modules map của Maxtor drive không chứa đựng tên của modules cho dù một số vẫn thực sự không có tên. Vậy thông tin về modules chứa đựng trong map như thế nào? Tên của modules nằm trong phần đầu của mỗi module vì thế, không thể có được tên module nếu không đọc được nó và thông tin về chúng trong map là các con số đánh dấu vị trí của chúng trong vùng SA, từ đó có thể nhận biết được công dụng của từng module. Cũng chính vì lý do này nên nếu thông tin ở vùng này bị thiếu một phần hay hỏng toàn bộ thì dù cho có vẫn còn tốt đi chăng nữa, các module cũng không thể đọc được một số hoặc tất cả. Đến đây nảy ra câu hỏi là tại sao hãng sản xuất làm phức tạp như thế nhỉ? Như chúng ta đều biết, quá trình sử dụng đòi hỏi tốc độ đọc ghi của ổ cứng ngày càng phải nhanh hơn trong khi có rất nhiều thông tin cần đọc và xử lý liên tục trong quá trình sử dụng ổ: quá trình detect, điều khiển dịch chuyển đầu đọc(head), điều khiển đọc ghi, nhận biết các sector lỗi…Nhà sản xuất đã chọn giải pháp là rút gọn thông tin đến mức không thể rút gọn hơn nữa. Và sự rút gọn này đã khiến HDD có danh mục rất dài những lỗi như: đang chạy hệ điều hành bỗng nhiên ổ cứng phát ra tiếng “lạch cạch” rồi dừng lại không hoạt động nữa (nhưng nếu tắt đi bật lại hoặc tắt máy để một quãng thời gian nào đó rồi bật thì lại chạy); Windows vẫn nhận được ổ, vẫn nhìn thấy các phân vùng nhưng tên files hay folders bị biến dạng thành các ký tự loằng ngoằng không thể truy cập được, hoặc biến mất như chưa từng tồn tại…Đây chính là sự phiền toái cho những người làm công tác quản trị hệ thống máy PC, các hệ thống máy tính tự động hóa hay Server của các cơ quan, doanh nghiệp. Họ sẽ phải chịu trách nhiệm trước người lãnh đạo của doanh nghiệp về sự cố không thể kháng cự này. Nếu đó chỉ là ổ cứng chứa đựng các thông tin ít quan trọng thì còn đỡ nhưng nếu đó là dữ liệu kế toán, các thông tin về các hợp đồng đã ký hay các phần mềm điều khiển tự động hóa…mức độ thiệt hại có khi là vài ngàn hoặc vài chục ngàn USD trở lên. Tuy nhiên, các lỗi này vẫn có thể khắc phục được nếu chúng ta có sự giúp đỡ của các chuyên gia và đặc biệt là của thiết bị chuyên dụng.

 

 Bảng dưới đây sẽ cho chúng ta biết một số modules cần thiết khi khởi động HDD:

Vị trí modules (in hex)

Chức năng modules

37

U_LIST-service area translator

1F

DISK-drive ID

78

RZTBL-zone table (translator component)

18

AT_PDL (P-List, translator component)

21

RCT-adaptive information of data zone on disk surface

1E

SRV-calibration adaptive data

1A

SECU-security system module (ATA password)

1B

AT_POL (G List) – growing table of defects

5E

EVTLG_00 – connected with GList

A7

AT_POL – Glist copy

39

ROM_SA (ROM copy)

97

ROM_ST (ROM copy)

33

HLUTL & HUSR – defect list

46

OPTI- self testing setting

 

Module 37-ULIST rất quan trọng đối với drive vì nó cung cấp thông tin về địa chỉ truy cập vùng SA. Drive sẽ kiểm tra nó trước tiên và căn cứ vào nó để nhận biết tình trạng tốt-xấu, đọc được-không đọc được của HDD. Nó có thể được lưu trữ tới 8 nơi trên vùng SA nhưng chỉ có 2 trong số chúng được đánh dấu trong modules table, các bản copy khác sẽ được đánh dấu trong các modules khác. Module 37 lưu trữ thông tin về cấu trúc của từng đầu đọc, cấu trúc đó bao gồm thông tin cụ thể về vị trí số của đầu đọc trong hệ thống và bảng chứa đựng các vị trí defect (bad physical) trong miền mà đầu đọc đó quản lý. Nó đồng thời cũng chứa đựng cả thông tin về dung lượng được sử dụng của module Plist (nơi lưu trữ các địa chỉ bad sector trên ổ từ lúc xuất xưởng). Vậy nên nếu module 37 lỗi một phần hay toàn bộ, HDD sẽ có các hiện tượng như vẫn thấy motor quay êm nhưng ổ không detect được; ổ chạy một lúc rồi kêu lọc cọc; ổ có nhận nhưng có nhiều bad sector và không thể sửa chúng bằng các tiện ích của Windows hay của các hãng khác; đôi khi nó cũng gây ra lỗi ổ vẫn detect, vẫn nhìn thấy data còn trên đó nhưng không thể Fdisk hay Format, thậm chí ngay cả xóa cũng không được…

 Bên cạnh module 37 là module 18-AT_PDL (PList), cũng rất quan trọng. Nó chứa đựng thông tin về các bad sector ngay từ khi xuất xưởng và trong quá trình sử dụng. Lỗi ở vùng này sẽ gây ra các biểu hiện như có bad mà không chương trình nào sửa nổi, các dữ liệu chứa trên ổ biến mất trong giây lát, thay vào đó là các ký tự loằng ngoằng không thể đọc được hoặc ổ bị mất phân vùng hoặc hệ thống treo cứng, không thể khởi động sau đó hiện ra thông báo kiểu như: “Fixdisk 0 erro, replace and insert bootdisk. Press anykey when ready”…

  Một trong những hiện tượng ổ cứng hỏng mà người dùng thường hay gặp, đó là hiện tượng ổ cứng có detect trong Bios nhưng  sai tên và dung lượng, ngoài nguyên nhân do ROM lỗi như đã nêu, một trong số thủ phạm chính là sự cố xảy ra với module 1F-DISK. Module này chứa đựng các thông tin về cấu hình của ổ đĩa như: model name, serial number, dung lượng LBA của ổ cứng, số lượng đầu đọc dùng trên ổ cứng và thông tin về vị trí đầu đọc. Cùng với một số modules khác, module 18-PLIST nắm giữ thông tin về các badsector có trên ổ cứng từ lúc xuất xưởng. Như chúng ta đều biết, tất cả mọi platter-đĩa từ tính lưu trữ dữ liệu của ổ-đều có các badsector ngay từ khi chúng được sinh ra. Nhà sản xuất lưu thông tin về chúng vào trong module 18 và người sử dụng bình thường không bao giờ có thể can thiệp được vào đó. Tất cả các chương trình tẩy badsector của Windows cũng như của các hãng phần mềm khác đều không thể ghi thêm địa chỉ badsector vào danh sách của nó. Các phần mềm chỉ có thể ghi thông tin của các địa chỉ badsector vào module 1B-GLIST. Nó chứa đựng danh sách các vết badsector sinh ra trong quá trình sử dụng và các chương trình phần mềm có thể can thiệp được vào nó. Khi GLIST hỏng, người dùng sẽ không thể sử dụng được ổ cứng, mặc dù ổ vẫn detect được với các thông số chính xác nhưng hệ thống sẽ bị treo khi truy cố truy cập vào các địa chỉ badsector và không thể truy cập vào vùng data. Mọi chương trình cứu dữ liệu thông thường đều không thể vượt qua được các lỗi bedsector và dữ liệu chỉ có thể cứu lại với các công cụ phần cứng cũng như phần mềm chuyên dụng. Cùng quản lý danh sách badsector với GLIST là A7-AT_POL và 5E-EVTLG_00 với chức năng là bản copy (A7) và chứa đựng các thông tin cần thiết cho quá trình thêm các địa chỉ bad vào danh sách đang có (5E) như: chỉ định việc mở bản ghi, cách ghi thêm, giải quyết các sự cố hệ thống khi đang có tiến trình lưu danh sách bad (như đang ghi vào ổ thì lỗi phần mềm, virus, lỗi phần cứng…), mất điện hoặc khởi động lại hoặc bị reset khi đang tiến hành tiến trình ghi danh sách lên module…  

 Module 39-ROM_SA chưa đựng bản copy 1 của nội dung lưu trữ trong flashROM và phục vụ cho quá trình selftest của HDD. Nếu ổ cứng không detect đúng thông số (ví dụ như khi ổ cứng bị lỗi Athena hoặc N40P…), quá trình selftest sẽ dùng thông tin lưu trong module 39 để khôi phục lại nội dung chứa trong flashROM. Module 97-ROM_ST có chức năng gần giống như module 39, nó tùy thuộc vào HDD family mà có hay không và chức nó cũng thay đổi tùy theo từng loại ổ. Module 33-HLUTL & HUSR chứa đựng các thông tin về badsector trong vùng SA, nếu nó bị hư hỏng thì một, một vài hoặc toàn bộ các modules sẽ hoặc là mất một số chức năng, hoặc là không thể truy cập được và khi đó HDD sẽ chỉ như một…cục sắt. Module 46-OPTI chứa đựng các thông tin về quá trình selftest của HDD như cách thức tiến hành, tìm kiếm nguyên nhân lỗi, lỗi ở modules nào, sửa nó ra sao, thông tin để dùng cho việc sửa chữa sẽ lấy ở đâu…

 

2.2 Adaptive Data:

 Maxtor drive có một số modules đặc biệt chứa đựng dữ liệu về adaptive-thông tin giúp ổ cứng tinh-chỉnh (nguyên gốc: fine-tune) quá trình đọc-ghi dữ liệu lên bề mặt từ tính. Các modules đó là 1E-SRV, 20-RCT, 93-FMTI và 4F. Thông tin chứa đựng trong các modules này rất quan trọng, nếu chúng bị lỗi hoặc không đọc được thì bạn sẽ mất quyền truy cập vào vùng dữ liệu đã có trên ổ. Các thông tin chứa trong adaptive data sẽ giúp drive điều khiển chính xác sự di chuyển của đầu đọc đến nơi cần thiết, xác định vị trí cần đọc-ghi. Ngay kể cả khi chúng bị hỏng và ta ghi lại các thông tin này từ một ổ cứng tốt khác thì việc truy cập vào vùng dữ liệu cũ là không thể. Vì lý do này nên cần hết sức thận trọng khi sửa chữa các modules này, nếu sai thì việc cứu lại data gần như là vô vọng. Việc sử dụng Selftest để sửa ổ cũng sẽ gây hậu quả không truy cập được vùng dữ liệu vì nó sẽ sử dụng các thông tin cũ hơn adaptive data tại thời điểm bị hỏng, để sửa chữa. Sự việc sẽ bớt phức tạp hơn nếu drive có bản sao của SA (alternate Service Area). Tiếp theo đây sẽ là mô tả về một phần quan trọng trong cấu trúc Maxtor drive, một phần có thể xem như niềm hy vọng đối với những ổ cứng bị hỏng mà chứa đựng những thông tin quan trọng cần cứu, đó là alternate service area.

2.3 Alternate service area:

 Nhà sản xuất Maxtor đã đưa các modules SA dự phòng vào các model family N40P, CALIPSO và SABRE, tuy nhiên không phải toàn bộ các Maxtor drive thuộc family N40P đều có. Family N40P là các model Diamond Max Plus 8, gồm có 6E020L0: 20Gb, 6E030L0: 30Gb và 6E040L0: 40Gb. Family CALIPSO là các model Diamond Max Plus 9, gồm có 6Y200P0: 200Gb, 6Y160L0/P0: 160Gb,  6Y120L0/P0: 120Gb,  6Y080L0/P0: 80Gb,  6Y060L0: 60Gb. Đại diện cho family SABRE-Diamond Max Plus 10, là các model 6B300S0: 300Gb, 6B250S0: 250Gb, 6B200M0/S0: 200Gb, 6B160M0: 160Gb, 6B120M0: 120Gb, 6B080M0: 80Gb. Alternate SA chứa đựng các thông tin để nhà sản xuất hoặc các HDDLaboratory sử dụng khi sửa chữa hoặc khôi phục dữ liệu trên các ổ cứng hỏng. Ngoài việc chứa đựng bản sao của vùng SA, nó còn có chức năng lưu trữ danh sách toàn bộ các badsector có trong vùng SA.

2.4 Translator:

 Chương trình biên dịch (Translator) được sử dụng trong các ổ cứng sản xuất bởi hãng Maxtor là một tập hợp phức tạp các chương trình và các bảng (Table) chứa thông tin về logical sector và physical sector. Chúng được sử dụng để chuyển đổi giữa logical sector (LBA-dùng trong việc truy cập ổ đĩa bởi hệ điều hành của hệ thống máy tính) và physical sector của ổ đĩa. Tất cả mọi badsector có từ khi xuất xưởng của ổ cứng nhãn hiệu Maxtor đều được ẩn dấu trong danh sách badsector bởi Translator, kể cả bad trong vùng SA lẫn vùng dữ liệu của người sử dụng. Translator program data được lưu trữ trong các modules 37, 18 và 78. Cấu trúc của các Translator’s table là dựa trên nền tảng của module 33-Defect List, đó chính là những ký hiệu dùng để định vị các vị trí từ tính trên ổ đĩa mà mọi người đều biết: cylinder, head, sector. Translator bị hỏng cũng chính là nguyên nhân gây ra việc ổ cứng có badsector mà không chương trình thông thường nào có thể dấu đi được.

  

3. Tìm biết những biểu hiện lỗi thường gặp của HDD:

 Trong quá trình sử dụng máy tính, chúng ta cũng đôi lúc gặp phải vấn đề hỏng ổ cứng và việc đó thường được nhận biết chung là “sự cố HDD, hỏng HDD…”. Kỳ này, người viết sẽ đưa ra một số dấu hiệu về mặt kỹ thuật của HDD hỏng để người dùng có thể nhận biết và kết luận một cách tương đối chính xác về sự cố, từ đó có thể tự đưa ra phương án tự sửa chữa hay cần mang tới chuyên gia.

 Để nhận biết HDD của mình đã bị hỏng phần nào, mời các bạn đọc các lỗi HDD được mô tả dưới đây:

-PCB (Printed Control Board) bị lỗi.

-Motor, bạc đệm của motor bị hỏng.

-Parking zone và hệ cơ dẫn đầu đọc vào nơi an toàn khi HDD không hoạt động bị lỗi.

-Hỏng một hoặc nhiều đầu đọc/ghi.

-Đầu đọc hỏng dẫn đến bề mặt từ tính bị cào xước.

-Bad sector.

-Đầu đọc không hỏng hẳn (không mất hẳn khả năng đọc-ghi) nhưng chức năng không ổn định (tại một thời điểm nào đó bị mất chức năng đọc ghi).

-Một phần hoặc toàn bộ các modules điều khiển bị lỗi, hỏng.

 Khi các sự cố đã được nhận diện và đặt tên, đó cũng chính là lúc chúng ta cùng nhau khám phá điều gì đã xảy ra, nguyên nhân gì đã gây nên các sự cố để từ đó, chúng ta sẽ cùng nhau tìm phương án giải quyết.

 

*Bước thứ nhấtlinh kiện điện tử. Hãy để tôi bắt đầu bằng việc kiểm tra tính toàn vẹn của các linh kiện điện tử. Đất nước chúng ta có khí hậu nóng-ẩm, môi trường thiếu tiện nghi (không được lắp đặt đầy đủ điều hòa nhiệt độ-máy hút ẩm) cộng thêm môi trường ô nhiễm bụi nặng nên bo mạch điện tử thường hay bị hỏng trước tiên. Vì thế, việc quan sát trước tiên là giúp chúng ta tìm ra các sự cố bo mạch bị chập, cháy nổ linh kiện. Khi quan sát thấy mọi linh kiện đều còn nguyên thì tiến hành thay thế bo mạch điện tử của HDD. Để khẳng định bo mạch bị hỏng hay còn tốt, bạn cần có 01 HDD nữa “giống hệt” như cái đang cần chẩn đoán thì mới có thể khẳng định chính xác được vấn đề. Đôi khi, HDD detect sai tên, chạy kêu lọc cọc, hệ thống không nhận…nguyên nhân do PCB bị hỏng RAM, ROM internal…

 Các dấu hiệu để nhận biết tình trạng HDD lỗi bo mạch điện tử:

-Hệ thống nhận sai tên-sai dung lượng so với thông số gốc của ổ đĩa.

-Ổ cứng không có dấu hiệu hoạt động của motor ngay khi được cấp nguồn.

-Ổ cứng kêu lọc cọc ngay khi được cấp nguồn.

 Đôi khi, một động tác đơn giản là thay bo mạch điện tử đã giúp chúng ta phục hồi chức năng của HDD lỗi.

 

*Bước thứ hailinh kiện cơ khí/điện tử của motor. Khi chúng ta đã xác định PCB không hỏng thì việc tiếp theo là kiểm tra trạng thái hoạt động của motor khi được cấp nguồn. Nếu ngay khi bật nguồn cấp cho HDD mà không thấy có dấu hiệu quay, nguyên nhân có thể do trục quay bị kẹt do đầu đọc dính chặt vào platter. Đôi khi, IC điều khiển motor hỏng dẫn đến việc gây hỏng cuộn dây của motor; hoặc motor bị kẹt bởi chất bôi trơn của bạc đệm. Với những HDD không dùng bạc đệm mà dùng bi thì không bị kẹt bởi chất bôi trơn nhưng sẽ phát ra tiếng kêu rất lớn khi chạy. Một nguyên nhân nữa có thể gây nên hiện tượng lỗi motor là do bị đoản mạch-tiếp xúc không tốt giữa mạch điện tử và đầu dây dẫn vào phần điều khiển điện tử bên trong ổ cứng.

 Các dấu hiệu để nhận biết lỗi motor:

            -Vòng quay motor giảm tốc độ xuống thấp hoặc không có dấu hiệu của motor có quay.

            -Bị kẹt bởi dung dịch bôi trơn bạc đệm.

            -Motor quay với tiếng động cơ lớn hơn mức bình thường.

            -Điểm tiếp xúc giữa motor và bo mạch điện tử.

 Việc thay thế motor cũng đòi hỏi 01 HDD khác giống hệt cái bị hỏng vì các yêu cầu về cấu trúc cơ học cũng như điện tử. Để có thể giải quyết vấn đề này, thiết bị kỹ thuật là không thể thiếu.

 

*Bước thứ babề mặt từ tính. Khi đã loại trừ nguyên nhân do lỗi PCB và motor thì chúng ta cần tiến hành bước này. Chúng ta đều đã biết, các modules điều khiển thuộc vùng (Service Area) và các dữ liệu của người dùng thuộc vùng DA (Data Area), chúng hết thảy đều chịu sự chi phối của bề mặt từ tính HDD. Nếu như bề mặt từ tính bị suy giảm (hiện tượng bad sector) trong DA thì chúng ta sẽ bị mất quyền truy cập vào một vùng đĩa trống, một hay một số file nào đó sẽ không thể sử dụng được. Nhưng nếu như từ tính bị lão hóa trong vùng SA thì có nhiều khả năng chúng ta sẽ không còn khả năng truy cập vào bất cứ vùng nào của HDD, dù đó là SA hay DA. Để giải quyết triệt để vấn đề này, chúng ta cần có thiết bị chuyên dụng HDDLab, cho dù đó là lỗi từ tính trong vùng SA hay DA. Lâu nay, rất nhiều người trong ngành công nghệ thông tin thường không thực sự hiểu lỗi bad sector của HDD là gì-cách xử lý chúng ra sao. Họ thường sử dụng những cụm từ rất “đời thường” như “cắt, tẩy, sửa bad…sector HDD” và như vậy chứng tỏ họ không hề có cách giải quyết triệt để đối với các bad sector HDD. Chúng ta đều biết, sector HDD được cấu thành từ rất nhiều điểm từ tính trên bề mặt platter. Khi điểm từ tính đó suy giảm hoặc mất khả năng từ tính thì hệ thống gọi hiện tượng đó là bad sector. Vì các điểm từ tính đó là các hạt từ tính được gắn kết lên platter bằng công nghệ và hóa chất đặc biệt, không dễ gì loại bỏ hay bổ xung khả năng từ tính cho nó. Khi gặp bad sector, chúng ta chỉ có một cách duy nhất là đưa nó vào danh sách các sector bị lỗi, không dùng được chứ không có cách chi “cắt, tẩy, sửa chữa…” cái điểm từ tính bị lỗi đó. Các bad sector sẽ được định vị trong danh sách các bad sector của HDD và hệ thống sẽ không đọc/ghi chúng trong quá trình sử dụng. Chúng ta đều đã biết qua các bài viết trước, danh sách bad sector chính là một vài modules nằm trong vùng SA và tình trạng HDD hoạt động tốt hay không là phụ thuộc vào sự liên kết chính xác giữa các modules chứa danh sách các bad sector và các điểm trên bề mặt từ tính. Nếu các bad sector không được định vị trong các list bad sector thì quá trình đọc/ghi của HDD sẽ diễn ra chậm lại hoặc không thể sử dụng được do hệ thống không thể vượt qua được các bad sector đó. Còn nếu các modules bị lỗi, mất thông tin về các bad sector hiện hữu trên HDD thì sao? Ngoài các tác hại như vừa nêu, chúng ta còn không thể dùng được HDD do không định vị được các bad sector và điều tồi tệ nữa là chúng ta sẽ rất khó để có thể lấy lại được dữ liệu đã có trên HDD. Tại sao vậy? Khi các bad sector được giải phóng khỏi sự quản lý của các modules, chúng sẽ làm phình to các miền dữ liệu, gây mất cấu trúc logic của data đã có trên HDD. Đây là câu trả lời chung cho các bạn đã, đang và sẽ gửi tới tôi câu hỏi: “nếu HDD bị lỗi firmware thì data cũ trên đó sẽ còn hay mất sau khi sửa được HDD?” Ví dụ như các ký tự mà các bạn đang đọc đây, chúng sẽ chỉ có thể là nội dung bài viết của tôi khi chúng nằm trong logic mà các bạn đang thấy, nếu chúng bị đảo lộn,thay đổi vị trí hay thứ tự, thì chắc chắn các bạn sẽ không thể hiểu nổi là gì. Các chương trình cứu data khi đó sẽ cùng lắm chỉ là lấy lại được tên của các folders hoặc files mà thôi, nội dung của chúng sẽ không thể dùng được.

 

*Bước thứ tưtình trạng các modules cần thiết trong quá trình khởi động và tình trạng các đầu đọc. Nguyên nhân HDD khi khởi động không quay motor cũng có nguyên nhân do module kích hoạt motor bị lỗi. Nếu khi khởi động motor có quay nhưng sau đó một lúc thì ngừng quay hoặc rơi vào trạng thái kêu lọc cọc liên tục thì lỗi ở vùng SA bị quá nhiều vết bad, vì thế nên các module bị hỏng, không còn thông tin chính xác để điều khiển HDD hoạt động bình thường; hoặc tồi tệ hơn, do đầu đọc bị hỏng dẫn đến không đọc được các thông tin trong các modules điều khiển. Nếu các modules bị hỏng, chúng ta không thể có cách nào khác là đưa nó vào thiết bị chuyên dụng để sửa chữa nhằm mục đích sửa lại dùng và cứu lại data đã lưu trong HDD đó. Lỗi đầu đọc/ghi thường xảy ra do hỏng IC điều khiển kênh đọc/ghi và chính đầu đọc mất khả năng đọc/ghi. Theo nghiên cứu của chúng tôi, trong một số trường hợp hỏng đầu đọc/ghi, nguyên nhân do chất bôi trơn trong motor do bị nhiệt độ cao nên bốc hơi thoát ra khỏi motor và bám vào đầu đọc. Nếu nguyên nhân hỏng là do đầu đọc bị lỗi thì chúng ta bắt buộc phải có 01 HDD khác giống hệt để tiến hành việc tráo đổi đầu đọc, cứu lại data. Lý do tại sao phải tìm HDD giống hệt thì như đã nói ở trên.

 

*Bước thứ nămlỗi firmware. Trong vùng SA, nguyên nhân gây lỗi cho các modules là do các UBA(Util Block Addressing) bị bad và bản thân các modules bị lỗi ngẫu nhiên. Để sửa chữa lỗi này, ngoài hiểu biết, kinh nghiệm, kỹ năng về HDD, chúng ta còn cần phải có các modules tốt, đã được backup từ các HDD tương tự để thông qua thiết bị HDDLab, thay thế vào vị trí bị lỗi của chúng để khôi phục lại chức năng và cứu dữ liệu.