Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
18/08/2011 18:08 # 1
hddlabvn
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 3/10 (30%)
Kĩ năng: 1/10 (10%)
Ngày gia nhập: 18/08/2011
Bài gởi: 3
Được cảm ơn: 1
Khám phá bí mật ổ đĩa cứng


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

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 đó
.

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.


Nguồn: http://www.hddlabvn.com/new/content/view/9/32/



 
19/08/2011 12:08 # 2
hddlabvn
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 3/10 (30%)
Kĩ năng: 1/10 (10%)
Ngày gia nhập: 18/08/2011
Bài gởi: 3
Được cảm ơn: 1
Khám phá bí mật ổ đĩa cứng


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.





 
Các thành viên đã Thank hddlabvn vì Bài viết có ích:
27/10/2011 12:10 # 3
hddlabvn
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 3/10 (30%)
Kĩ năng: 1/10 (10%)
Ngày gia nhập: 18/08/2011
Bài gởi: 3
Được cảm ơn: 1
Phản hồi: Khám phá bí mật ổ đĩa cứ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… 




 
Copyright© Đại học Duy Tân 2010 - 2024