Ổ đĩa WD SMR: Cách truy cập dữ liệu khi Second-Level Translator (Trình biên dịch thứ cấp) bị hỏng
Ổ đĩa SMR hiện đại là điều đã không còn xa lạ với các chuyên viên kỹ thuật số điện tử tuy nhiên thực sự hiểu bản chất và xử lý sao cho đúng thì không phải ai cũng nắm được. Ở bài viết này, hãy cùng tìm hiểu về nguyên lý của SMR, sự khác biệt giữa ổ đĩa SMR và PMR, cách khắc phục sự cố trong ổ đĩa SMR và cách truy cập dữ liệu của ổ với Hệ thống PC-3000 Portable III / Express / UDMA.
Tìm hiểu về SMR
Công nghệ Ghi Lợp Từ “Shingled Magnetic Recording” (viết tắt: SMR) tăng số lượng rãnh trên mỗi đĩa lên 25%. Mật độ cao hơn đạt được nhờ sử dụng đầu đọc từ tính, hẹp hơn 4-5 lần so với đầu ghi. Ví dụ, đầu ghi trong ổ đĩa hiện đại có chiều rộng 50 µm, đầu đọc là 10 µm. Nhưng làm thế nào để nó ghi lại một rãnh(track) hẹp hơn đầu ghi? Nếu đầu từ tính viết một rãnh(track) và sau đó thêm một rãnh khác lên trên nó, nhưng với độ lệch bằng chiều rộng đầu đọc, thì cả hai rãnh sẽ có thể đọc được. Do đó, quá trình ghi sẽ phần nào giống với cách sắp xếp gạch trên mái nhà: hàng trên cùng trước, sau đó hàng tiếp theo được đặt thấp hơn một chút với một phần nhô ra. Tên của phương pháp ghi từ tính này chính là dựa trên nguyên lý đó.
Hình trên cho thấy sự xuất hiện của 7 rãnh chồng và cách chúng được tạo ra.
Đầu tiên, ổ đĩa ghi rãnh 1. Sau đó, rãnh 2 được viết ở độ lệch bằng chiều rộng đầu đọc. Ổ đĩa tiếp tục được ghi theo cách này cho đến khi nó viết rãnh (track) 8, tạo thành đường rãnh chồng (shingled track) 7 và một rãnh (track) 8 thông thường.
Bây giờ, bạn có thể thắc mắc: tại sao mật độ thực chỉ tăng 25% nếu đầu đọc nhỏ hơn 5 lần cho phép ghi dày hơn gấp 5 lần? Thực tế, độ chính xác hiện tại của vị trí đầu hệ thống là +/-7 μm. Điều này ngăn cản việc tạo ra một rãnh hẹp hơn 35 μm.
Mật độ ghi đường rãnh chồng (shingled track) tăng lên đi kèm với một yêu cầu. Khả năng đạt được dung lượng cao hơn đòi hỏi việc sắp xếp dữ liệu trên bề mặt phải tinh vi hơn nhiều: để viết lại một vùng dữ liệu duy nhất, bạn phải viết lại không chỉ rãnh (track) với khu vực đó mà còn tất cả các rãnh (track) theo sau nó.
Tất nhiên, để viết lại dữ liệu ở bất cứ đâu, trước tiên bạn phải đọc nó từ vị trí đó. Do đó, nếu toàn bộ ổ đĩa được sắp xếp theo các đường rãnh chồng (shingled track), việc sửa đổi một bit duy nhất sẽ yêu cầu đọc và ghi tất cả các rãnh từ vị trí của bit cho đến khi kết thúc không gian đĩa. Do đó, hiệu suất viết sẽ giảm đi rất rất nhiều lần. Rõ ràng, không có cách nào để tránh giảm hiệu suất do việc ghi hoàn toàn. Nhưng có cách nào để tăng tốc nó không?
Có. Và để làm được điều đó, các rãnh (track) SMR được kết hợp trong các nhóm nhỏ hơn được gọi là dãy (band) và do đó chỉ các rãnh (track) trong mỗi dãy (band) mới bị ghi lợp. Bất cứ khi nào dữ liệu cần được sửa đổi, việc nhóm các rãnh (track) như vậy cho phép chỉ đọc và viết lại một số rãnh (track) giới hạn thay vì toàn bộ đĩa và chi tiết này tăng tốc quá trình đáng kể.
Tuy nhiên, điều gì sẽ xảy ra khi hệ điều hành yêu cầu sửa đổi dữ liệu trong 100 sector, và không may nó nằm trong các dải khác nhau? Rõ ràng, ổ đĩa sẽ cần vô cùng tận thời gian để xử lý yêu cầu và nếu tiếp tục xảy ra tình trạng tắt nguồn trước khi hoàn tất, dữ liệu sẽ rất khó có thể truy cập và bảo toàn nguyên vẹn. Như một nỗ lực để tránh các tình huống như vậy, kích thước dãy (bands) cụ thể và hệ thống ghi đệm được thiết kế cho mọi loại ổ đĩa xem xét khu vực ứng dụng của chúng. Có ba loại thiết bị chính hỗ trợ ghi chồng:
1) Drive Managed
2) Host Managed
3) Host Aware
Loại 2 và 3 được thiết kế và vận hành trong các thiết bị chuyên dụng cho các trung tâm dữ liệu, chúng sẽ không dùng trong các máy tính tiêu chuẩn. Tuy nhiên, loại 1 đã được sử dụng rộng rãi. Hãy để chúng tôi mô tả nó một cách chi tiết.
Ổ đĩa SMR được quản lý không yêu cầu thay đổi BIOS hoặc hệ điều hành của máy tính. Toàn bộ sự phức tạp của các quá trình đọc/ghi được xử lý bởi hệ thống bộ nhớ đệm của chính ổ đĩa. Bất kỳ thay đổi nào đối với dữ liệu được lưu trữ trên một ổ đĩa như vậy trước tiên được thực hiện ở các khu vực bên ngoài các dãy chồng (shingled bands) và được đăng ký trong một danh sách sửa đổi đặc biệt được gọi là trình dịch thứ cấp trong Western Digital và là bộ đệm phương tiện trong các mô hình Seagate. Những sửa đổi này được ghi vào các dãy chồng (shingled bands) sau đó khi đọc chúng hoặc khi thiết bị không hoạt động. Tuy nhiên, khi việc ghi được thực hiện liên tục, ổ đĩa cuối cùng sẽ hết dung lượng bộ nhớ cache và ngừng xử lý các yêu cầu mới trong một thời gian trong khi sắp xếp dữ liệu và ghi nó vào các dãy(bands).
Tóm lại
Công nghệ SMR được ứng dụng để sử dụng không gian đĩa hợp lý hơn để tăng dung lượng của đĩa cứng. Việc sử dụng ổ đĩa với SMR không yêu cầu bất kỳ nâng cấp giao diện hoặc yếu tố hình thức nào của ổ đĩa, vì vậy việc chuyển đổi sang công nghệ mới này sẽ không được hầu hết người dùng chú ý. Nhược điểm là tốc độ ghi giảm nhỏ so với đĩa PMR truyền thống. Rõ ràng là thuật toán hoạt động của ổ cứng như vậy không cải thiện độ tin cậy của nó và làm phức tạp nghiêm trọng việc khôi phục dữ liệu nếu Second-Level Translator (Trình biên dịch thứ cấp) hoặc bảng bộ nhớ đệm phương tiện bị mất.
Trong thực tế, truy cập logic (LBA) có tính đến việc dịch các sector và bỏ qua các khiếm khuyết (ẩn trong danh sách khiếm khuyết).
Ổ đĩa SMR ghi dữ liệu theo các nhóm dãy (bands). Second-Level Translator (Trình biên dịch thứ cấp) đã tính đến điều này và HDD FW hiển thị cấu trúc tốt của các tệp và thư mục. Nhưng nếu trình dịch thứ cấp (SMR) bị hỏng, chúng ta sẽ chẳng nhận được gì tất cả các sector.
Cách xử lý khi ổ đĩa SMR gặp sự cố
Trước hết, cần phải thực hiện sao lưu “Service Area”. Không cần thiết phải lưu rãnh (track) hoặc RAM, chỉ cần ROM và mô-đun là đủ.
Trong trường hợp mất quyền truy cập dữ liệu trong quá trình khôi phục dữ liệu, cần phải ghi lại trình Trình biên dịch thứ cấp (Service Area module 190) và khởi động lại ổ cứng. Xin lưu ý rằng mô-đun này không chứa giá trị tổng kiểm (checksum). Đây không phải là một lỗi, nó là đặc thù của mô-đun liên quan đến kích thước khổng lồ của nó.
Ngay sau khi ghi lại ID modun 190 gốc, chúng ta phải ngăn chặn bất kỳ việc ghi nào xảy ra sau đó trong mô-đun này bằng cách sử dụng một tính năng mới trong PC-3000: Khóa ghi User Area. Ý tưởng chính là nếu ổ đĩa không thể ghi vào User Area, nó sẽ không cập nhật trình dịch cấp hai và nó sẽ không thay đổi.
Nhưng nếu chúng ta có ổ đĩa bằng không trong tất cả các sector, cách duy nhất để đọc dữ liệu là sử dụng Physical Block Access (PBA). Với quyền truy cập PBA, chúng ta không thể có được cấu trúc tệp vì chúng ta không biết cách mà các khối dữ liệu được ghi, nhưng chúng ta có thể đọc từng khối (blocks) một theo trình tự mà chúng được ghi vật lý trên ổ đĩa.
Vì vậy, trong tiện ích WDC Marvell, ta nhận thấy rằng tất cả các sector chỉ được viết bằng số không. Chúng ta đã sao lưu và bây giờ sẽ đi đến Data Extractor, để Tiện ích (Utility) được mở. Trong Data Extractor, chúng ta đi tới cài đặt và chọn cách đọc từ tiện ích PC-3000 đang hoạt động, đọc PBA.
Tất nhiên, chúng ta không thể thấy cấu trúc tệp vì các sector nằm ở một vị trí không xác định, vì vậy chúng ta nhấn nút RAW để chạy phục hồi RAW
và nhận các tệp có chất lượng tốt có thể được lưu trong kết quả khôi phục RAW.
Trên đây là quá trình khôi phục dữ liệu cho ổ đĩa SMR. Nếu bạn muốn tìm hiểu kĩ hơn, hãy tham khảo video dưới đây: