Dữ liệu trên đĩa cứng có thể xuống cấp mà không có Windows cảnh báo tôi rằng điều này đã xảy ra khi tôi cố truy cập dữ liệu không?


30

Có khả năng sự xuống cấp vật lý của đĩa cứng có thể khiến các bit 'lật' trong nội dung tệp mà không cần hệ điều hành 'thông báo' và cho bạn biết về nó khi đọc tệp không? ví dụ: 'p' trong tệp văn bản ASCII (nhị phân 0111000 0 ) có thể thay đổi thành 'q' (0111000 1 ) và sau đó người dùng (tôi) có thể mở tệp và xem 'q' mà không nhận thấy rằng có lỗi đã xảy ra?

Tôi quan tâm đến các câu trả lời liên quan đến FAT, NTFS hoặc ReFS ... nếu nó tạo ra sự khác biệt.

Tôi muốn biết liệu HĐH có bảo vệ tôi khỏi điều này không, hoặc liệu tôi có nên kiểm tra dữ liệu của mình về sự bất biến giữa các bản sao / theo thời gian hay không.


Không liên quan cụ thể, nhưng tương tự: superuser.com/questions/613702/ mài
Michael Frank

Tôi cho rằng có thể đầu đọc / ghi bị hỏng có thể vô tình áp dụng sai phí cho đĩa, mặc dù tôi chưa bao giờ thấy hỏng dữ liệu ở quy mô nhỏ đó. Ngoài ra, tôi sẽ không tin tưởng Windows để cho tôi biết nếu một ổ đĩa bị lỗi hay không (Thông báo khi đăng nhập). Tôi đã thấy các ổ đĩa chết chậm theo thời gian mà không có bất kỳ cảnh báo nào từ Windows.
CConard96

Tất nhiên ... dữ liệu được lưu trữ dưới dạng các bit có giá trị tương đối bằng 0 hoặc 1, entropy xảy ra trong tất cả các hệ thống, bao gồm lưu trữ trạng thái từ tính và rắn. Tất cả dữ liệu xuống cấp theo thời gian.
acejavelin

2
@Moab: Tôi sẽ ấn tượng hơn với nhận xét thứ hai ("Ngoài ra ...") của bạn nếu URL, theo bất kỳ cách nào, khác với URL trong nhận xét đầu tiên của bạn.
TUYỆT VỜI 11/05/2016

1
Nếu bạn sử dụng ReFS trên một khối lượng được nhân đôi (không phải là chẵn lẻ!) Và cấu hình nó đúng cách, nó sẽ kiểm tra dữ liệu tệp cũng như siêu dữ liệu của hệ thống tệp. Nó sẽ được xác minh khi đọc (và cố định nếu cần thiết) và cũng có một công việc được lên lịch sẽ quét định kỳ toàn bộ âm lượng cho các lỗi được phát hiện.
davidbak

Câu trả lời:


24

Vâng , có một thứ gọi là bit rot.

Nhưng không , nó sẽ không ảnh hưởng đến bạn mà không chú ý.

Khi một ổ đĩa ghi một sector cho các đĩa, nó không chỉ ghi các bit giống như cách chúng được lưu trữ trong RAM - nó sử dụng một mã hóa để đảm bảo không có bất kỳ chuỗi nào của cùng một bit quá dài và nó thêm mã ECC, cho phép nó sửa các lỗi ảnh hưởng đến một vài bit và phát hiện các lỗi ảnh hưởng đến nhiều hơn một vài bit.

Khi ổ đĩa đọc khu vực, nó sẽ kiểm tra các mã ECC này và sửa chữa dữ liệu, nếu cần thiết và có thể. Điều gì xảy ra tiếp theo phụ thuộc vào hoàn cảnh và phần sụn của ổ đĩa, bị ảnh hưởng bởi sự chỉ định của ổ đĩa.

  • Nếu một khu vực có thể được đọc và không có vấn đề ECC, nó sẽ được chuyển đến HĐH
  • Nếu một khu vực có thể được sửa chữa dễ dàng, phiên bản đã sửa chữa có thể được ghi vào đĩa, đọc lại và xác minh, để xác định xem lỗi có phải là ngẫu nhiên không (tia vũ trụ ...) hoặc nếu có lỗi hệ thống với phương tiện truyền thông
  • Nếu ổ đĩa xác định có lỗi với phương tiện, nó sẽ phân bổ lại khu vực
  • Nếu một khu vực không thể đọc hoặc sửa sau một vài lần đọc, trên một ổ đĩa được chỉ định là ổ RAID , ổ đĩa sẽ từ bỏ, phân bổ lại khu vực đó và báo cho bộ điều khiển biết có vấn đề. Nó dựa vào bộ điều khiển RAID để tái cấu trúc khu vực từ các thành viên RAID khác và ghi lại vào ổ đĩa bị lỗi, sau đó lưu trữ nó trong khu vực được phân bổ lại mà hy vọng không có vấn đề gì.
  • Nếu một khu vực không thể được đọc hoặc sửa trên ổ đĩa máy tính để bàn , ổ đĩa sẽ cố gắng đọc nó nhiều hơn nữa. Tùy thuộc vào chất lượng của ổ đĩa, điều này có thể liên quan đến việc định vị lại đầu, kiểm tra xem có bit nào bị lật khi đọc lặp lại hay không, kiểm tra bit nào là yếu nhất và một vài thứ khác. Nếu bất kỳ nỗ lực nào trong số này thành công, ổ đĩa sẽ phân bổ lại khu vực và ghi lại dữ liệu đã sửa chữa.

(Đây là một trong những khác biệt chính giữa các ổ đĩa được bán dưới dạng ổ đĩa "Máy tính để bàn", "NAS / RAID" hoặc "Giám sát video". Ổ đĩa RAID có thể từ bỏ nhanh chóng và khiến bộ điều khiển sửa chữa khu vực này để tránh độ trễ trên Một ổ đĩa máy tính để bàn sẽ thử lại nhiều lần, bởi vì người dùng đợi vài giây có lẽ tốt hơn là báo cho họ biết dữ liệu bị mất. Và một ổ đĩa video có giá trị tốc độ không đổi hơn so với phục hồi lỗi, vì khung bị hỏng thường thắng thậm chí còn được chú ý.)

Dù sao, ổ đĩa sẽ biết nếu đã bị thối bit, thông thường sẽ phục hồi từ nó và nếu không thể, nó sẽ báo cho bộ điều khiển sẽ lần lượt nói với trình điều khiển sẽ báo cho HĐH. Sau đó, tùy thuộc vào HĐH để trình bày lỗi này cho người dùng và hành động. Đây là lý do tại sao không gian mạng nói

Bản thân tôi chưa bao giờ chứng kiến ​​một lỗi bit nào, nhưng tôi đã thấy rất nhiều ổ đĩa cứng trong đó toàn bộ các lĩnh vực đã thất bại.

ổ đĩa sẽ biết có điều gì đó không đúng với khu vực này, nhưng nó không biết bit nào bị lỗi. (Một bit bị lỗi sẽ luôn bị ECC bắt).

Xin lưu ý rằng chkdsk và tự động sửa chữa các hệ thống tệp, không giải quyết việc sửa chữa dữ liệu trong các tệp. Những người được nhắm mục tiêu tham nhũng với cấu trúc của hệ thống tập tin; giống như kích thước tệp khác nhau giữa mục nhập thư mục và số khối được phân bổ. Tính năng tự phục hồi của NTFS sẽ phát hiện các hư hỏng về cấu trúc và ngăn chúng ảnh hưởng đến dữ liệu của bạn hơn nữa, chúng sẽ không sửa chữa bất kỳ dữ liệu nào đã bị hỏng.

Tất nhiên, có những lý do khác khiến dữ liệu có thể bị hỏng. Ví dụ. RAM xấu trên bộ điều khiển có thể thay đổi dữ liệu trước cả khi nó được gửi tới ổ đĩa. Trong trường hợp đó, không có cơ chế nào trên ổ đĩa sẽ phát hiện hoặc sửa chữa dữ liệu và đây có thể là một lý do khiến cấu trúc của một hệ thống tệp bị hỏng. Các lý do khác bao gồm lỗi phần mềm đơn giản, mất điện trong khi ghi đĩa (mặc dù điều này được giải quyết bằng cách ghi nhật ký hệ thống tệp) hoặc trình điều khiển hệ thống tệp xấu (trình điều khiển NTFS trên Linux mặc định chỉ đọc trong một thời gian dài, vì NTFS được thiết kế ngược, không được ghi lại và các nhà phát triển đã không tin tưởng mã riêng của họ).

Tôi đã có kịch bản này một lần, trong đó một ứng dụng sẽ lưu tất cả các tệp của nó vào hai máy chủ khác nhau vào các trung tâm dữ liệu khác nhau, để giữ một bản sao hoạt động nếu dữ liệu trong mọi trường hợp. Sau một vài tháng, chúng tôi nhận thấy rằng trên một trong các bản sao, khoảng 0,1% tất cả các tệp không khớp với tổng MD5 mà ứng dụng được lưu trữ trong cơ sở dữ liệu của nó. Hóa ra là một sợi cáp bị lỗi giữa máy chủ và SAN.

Những lý do khác là lý do tại sao một số hệ thống tập tin, như ZFS, giữ thông tin tổng kiểm tra bổ sung để phát hiện lỗi. Chúng được thiết kế để bảo vệ bạn khỏi nhiều thứ có thể sai hơn là chỉ bị thối một chút.


2
+1 để chỉ ra rằng các vấn đề phần cứng khác bên cạnh sự xuống cấp phương tiện truyền thông có thể khiến dữ liệu bị hỏng được đọc và ghi . Cá nhân tôi đã có vấn đề với cáp xấu trong một trường hợp. Và, FYI, ngoài ZFS, hệ thống tệp Windows ReFS (cho Server 2012+) khi được định cấu hình đúng và chạy trên Storage Spaces sẽ kiểm tra dữ liệu tệp cũng như siêu dữ liệu hệ thống tệp và khôi phục nó, cộng với nó sẽ thực hiện toàn bộ khối lượng định kỳ quét toàn vẹn để phát hiện và sửa chữa nhiều lỗi như vậy.
davidbak

17

Có, ổ đĩa cứng có thể và làm suy giảm mà không có cảnh báo từ HĐH. Nó được gọi là thối bit . Bản thân tôi chưa bao giờ chứng kiến ​​một lỗi bit nào, nhưng tôi đã thấy rất nhiều ổ đĩa cứng trong đó toàn bộ các lĩnh vực đã thất bại.

Windows không tích hợp bảo vệ nội dung tệp ngoài cấu trúc của hệ thống tệp NTFS. Hãy nghĩ về NTFS như một cuốn sách: nó chỉ bảo vệ mục lục và xác minh rằng mọi thứ khớp với nhau. Tuy nhiên, nếu thiệt hại ở giữa một trang, nó sẽ không bảo vệ. FAT không có gì. Ổ đĩa cứng sử dụng sửa lỗi ECC trên cơ sở từng ngành, nhưng ổ đĩa không cho Windows biết. Một số loại tệp đặc biệt có băm CRC, MD5 hoặc SHA để phát hiện tham nhũng, nhưng chúng không khắc phục bất cứ điều gì.

Ngay cả sau đó, hàm băm chỉ cho bạn biết có vấn đề, nhưng nó không biết lỗi nằm ở đâu.

Ổ cứng có SMART theo dõi sức khỏe của ổ cứng, nhưng trừ khi ổ đĩa nằm ở cửa tử thần, BIOS sẽ không cảnh báo bạn. Tệ nhất là, SMART thường bị tắt theo mặc định trong BIOS của bạn. Bạn có thể theo dõi các con số thông qua phần mềm, nhưng các ổ đĩa khác nhau có các vấn đề khác nhau. Nếu bạn có một loạt các lĩnh vực di dời, hoặc lỗi ECC của bạn liên tục tăng lên. Nếu bạn có 100.000 ECC mới mỗi ngày, đó là một dấu hiệu xấu.

Nhiều loại tập tin không có bảo vệ chống thối bit . Giống như, TXT và BMP, không có sự bảo vệ nào cả. Winrar có một tùy chọn tùy chọn để thêm dữ liệu chẵn lẻ vào kho lưu trữ, điều này sẽ làm cho tệp lớn hơn, nhưng nó có thể phát hiện (tỷ lệ với lượng dữ liệu chẵn lẻ được thêm vào) và sửa chữa loại lỗi này.

Tất cả các chương trình nén khác mà tôi biết về việc phát hiện lỗi, nhưng không thể làm bất cứ điều gì về nó.

Cuối cùng, các lỗi trong một khu vực sẽ rất tệ ECC không thể sửa nó và ổ đĩa sẽ cung cấp cho bạn những gì nó đọc ngay cả khi nó sai.

Bạn có thể sử dụng QuickPar hoặc tương tự để tạo các tệp dữ liệu chẵn lẻ, nhưng theo tôi biết không có cách nào để tự động hóa nó. Ví dụ, bạn thực sự tự thay đổi tệp khi bạn phải cập nhật thủ công chẵn lẻ. Bạn cũng có thể có dữ liệu chẵn lẻ cho một nhóm các tệp, nhưng bạn thay đổi 1 tệp và toàn bộ bộ chẵn lẻ phải được tạo lại. Đây là một vấn đề đau đầu thực sự cho tất cả, nhưng một số lượng nhỏ các tập tin.


Windows, chdsk, hay NTFS cũng không phát hiện ra lỗi bit, được xử lý bởi RAID hoặc hệ thống tệp có tính chẵn lẻ. Một phân vùng xấu không phải là do bit thối. Tôi chấp nhận câu trả lời này
Ramhound

1
@Ramhound Đáng buồn thay, số người dùng bảo vệ dữ liệu bằng phản chiếu RAID, cấp 5 hoặc cấp 6 có thể ít hơn 0,01%
cybernard

Tôi biết tôi đã nói chung. Bit rot! = Phân vùng xấu
Ramhound

1
BẮC = KHÔNG HAY; được sử dụng trong một câu có nghĩa là nó là một danh sách độc quyền;
Ramhound

1
Tôi đã có ổ cứng 750GB này đã làm những việc như thế này. Trước hết máy tính bị chậm và đóng băng mọi lúc. Khi tôi một số tệp văn bản của nó là 0 hoặc đã bị cắt xén. Máy tính sau đó đã dừng khởi động. Có một ổ đĩa cứng mới (Tôi có ổ cứng không phải SSD. Tôi nghĩ rằng tôi nên có một ổ SSD) và vấn đề đã xảy ra và PC hoạt động rất nhanh
Suici Doga

2

Vâng, nó là có thể. Windows chỉ là phần mềm. Phần mềm là một loạt các hướng dẫn cho một máy tính để làm theo.

Hãy suy nghĩ về một loại khác của một loạt các hướng dẫn: một cuốn sách. Những hướng dẫn đó có thể thực hiện được những gì nếu chúng được viết trong một cuốn sách nằm trên kệ và không ai bận tâm để mở sách và đọc những hướng dẫn đó?

Giống như những hướng dẫn bằng văn bản đó yêu cầu một người đọc hướng dẫn và bắt đầu làm theo hướng dẫn, phần mềm máy tính yêu cầu phần cứng để thực hiện công cụ trở nên hữu ích. Ngay cả khi một cuốn sách có các hướng dẫn được viết với độ chính xác tuyệt vời, điều đó sẽ không ngăn được vấn đề nếu một người quyết định đọc hướng dẫn nhưng sau đó thực hiện chúng sai. Tương tự, phần mềm không thể ngăn chặn phần cứng làm điều xấu. Vì vậy, phần cứng bị hỏng có thể chiến thắng về mặt vật lý đối với bất kỳ phần mềm nào có thể làm, bao gồm cả Microsoft Windows.

Bây giờ, ReFS có thể được thiết kế với mục đích phần mềm sẽ lưu trữ chi tiết về dữ liệu và để phần mềm so sánh các chi tiết đó sau. Một khái niệm đơn giản là "tổng kiểm tra", trong đó phần mềm thêm các giá trị nhất định và đảm bảo rằng các giá trị đó khớp với kết quả mong đợi. Khi phần cứng thực hiện phần mềm đó, thì những kết quả xấu nhất định có thể được phát hiện. Điều này thậm chí có thể rất có thể làm việc. Tuy nhiên, vì số lượng các vấn đề tiềm ẩn, về mặt lý thuyết có thể tồn tại, về cơ bản là một số lượng vô hạn, không có gì đảm bảo rằng phần mềm sẽ nhất thiết phải phát hiện mọi vấn đề. (Hãy nhớ rằng phần mềm là một chuỗi các hướng dẫn đã được tạo trước thời hạn.)

FAT đặc biệt thấp về các tính năng. FAT12 được thiết kế cho các đĩa mềm và FAT16 cho các hệ thống lên đến 4GB (mặc dù hầu hết việc triển khai FAT16 của Microsoft có xu hướng không hoạt động trên 2GB). Nếu không có phần mở rộng VFAT, cả hai đều không hỗ trợ tên tệp dài hơn 11 ký tự (một số trong số đó sẽ nằm trong một phần được gọi là "phần mở rộng"). FAT được thiết kế đơn giản để lưu trữ dữ liệu trong thời gian khả năng lưu trữ dữ liệu là một khái niệm mới lạ mà người lớn cần được dạy về. Khi FAT được coi là công nghệ "tiên tiến", công nghệ máy tính vẫn chưa đủ phổ biến và công phu để mọi người lo lắng về các tính năng tiên tiến.

Hỗ trợ thêm NTFS cho một số tính năng khác, có lẽ đáng chú ý nhất là hệ điều hành có thể dễ dàng theo dõi các quyền của người dùng. Có nhiều phiên bản NTFS khác nhau. Chẳng hạn, Moab chỉ ra rằng Windows Server 2008 đã thêm hỗ trợ cho việc tự phục hồi NTFS, có thể phát hiện một số điều. Tuy nhiên, tính năng đó là mới đối với Windows Server 2008, do đó, Windows XP (hoặc Windows Server 2003 hoặc phiên bản cũ hơn) không hỗ trợ gì cả. Thậm chí, nhìn qua danh sách các tính năng, có vẻ như điều này liên quan đến một số dữ liệu meta giúp hệ điều hành nhận thấy các vấn đề nghiêm trọng đến mức đĩa không thể gắn hoặc các khu vực quan trọng khác của đĩa ảnh hưởng đến nhân của hệ điều hành. Nó không giống như mọi phần dữ liệu, trong mỗi tệp, bị ảnh hưởng bởi một tính năng cụ thể này.

Phần mềm cho các hệ điều hành như vậy rất khó có thể nhận thấy những điều như vậy, trừ khi chúng gây ra các vấn đề đáng chú ý cho hệ điều hành để hoàn thành các nhiệm vụ. Có thể có một số trường hợp ngoại lệ, như các phần của hệ điều hành kiểm tra đĩa (CheckDsk / ChkDsk / ScanDisk / ScanDskW, tùy thuộc vào hệ điều hành), nhưng thậm chí chúng sẽ bị hạn chế về những gì chúng có thể phát hiện, phần lớn là do hệ thống tệp không Không lưu trữ một lượng dữ liệu rất lớn nhằm mục đích kiểm tra đĩa.

(RAID5 có thể dễ bị phát hiện những thứ như vậy hơn, với mỗi bit có một bit chẵn lẻ sẽ giúp nhận thấy điều gì đó bất thường. Ngay cả khi đó, sẽ phải thực hiện RAID để kiểm tra để nhận thấy sự cố. Nếu sự cố xảy ra một phần của đĩa không hoạt động tích cực, vấn đề có thể vẫn không được chú ý cho đến khi ai đó cố gắng bắt đầu sử dụng dữ liệu đó.)

Trong thời gian gần đây, số lượng bit lớn hơn có nghĩa là các khả năng nhỏ, như cơ hội "1 trên 10 triệu", có nhiều khả năng ảnh hưởng đến mọi thứ. Công chúng cũng đã tìm hiểu về "các tia vũ trụ", có thể có tác động nhỏ đến mọi thứ. Do các bit đang được nhồi nhét quá chặt trong các thiết bị mới hơn, nên các yêu cầu vật lý để thể hiện một bit nhỏ hơn, do đó, ngay cả các tác động nhỏ cũng có nhiều khả năng gây rối với cách nhận biết một bit. ReFS có một số tính năng được thiết kế để giúp chúng được phát hiện. Bài viết của Wikipedia về ReFS đề cập đến điều này là "kiểm tra tính toàn vẹn tự động". Vì được mô tả là một tính năng đáng chú ý của hệ thống tệp này, các tính năng như vậy có khả năng được phát triển hơn so với NTFS (và chắc chắn là nhiều hơn so với FAT, về bản chất tương đối đơn giản,

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.