Làm thế nào để một ổ cứng biết dữ liệu bắt đầu từ đâu? [bản sao]


14

Tôi đã luôn tự hỏi làm thế nào một ổ cứng tìm thấy bit dữ liệu đầu tiên.

Khi ổ cứng quay lên, bất cứ thứ gì nó đọc phải là luồng dữ liệu tròn cho đến khi đầu đọc chuyển sang vị trí khác.

Nhưng trong một luồng tròn như vậy, làm thế nào để ổ đĩa biết được bit đầu tiên và bit cuối nằm ở đâu, để nó có thể truyền dữ liệu theo đúng thứ tự?


BTW (hiếm khi được đề cập nhưng nổi bật) Có dấu chỉ mục để chỉ ra điểm bắt đầu (và kết thúc) của bản nhạc. Khi bộ điều khiển đĩa gặp chỉ mục lần thứ hai, thì điều đó cho thấy rằng nó đã đọc mọi cung trong rãnh ghi.
mùn cưa

Câu trả lời:


2

Nó đọc nó từ đĩa.

Dữ liệu trên đĩa không chỉ có cấu trúc (như @psusi nói), mà còn được mã hóa. Mã hóa đảm bảo rằng dữ liệu được ghi có thể bị nhầm lẫn đối với các điểm đánh dấu vị trí trong các tiêu đề của ngành, do đó, luồng tròn có thể được đọc cho đến khi tìm thấy điểm đánh dấu vị trí đích.

Theo tôi hiểu, các ổ cứng hiện đại không hoàn toàn làm được điều đó; họ đọc toàn bộ vòng tròn vào một bộ đệm, theo dõi vị trí của từng khu vực và sử dụng bộ đệm để gửi lại dữ liệu được yêu cầu.

CẬP NHẬT:

Phương tiện từ tính là vật liệu có từ trường với hai thuộc tính chính: 1) nó không bao giờ tự thay đổi và 2) thiết bị ghi có thể thay đổi hướng của trường tại bất kỳ điểm nào trên bề mặt. Khi đọc phương tiện, cảm biến sẽ phát hiện nơi trường được định hướng về cảm biến và nơi trường được định hướng khỏi cảm biến. Khi cảm biến di chuyển trên bề mặt, nó phát hiện thời gian của các chuyển đổi phân cực này; lớp giải mã đầu tiên là dịch các định thời này thành các giá trị bit . Do sự không chắc chắn cần thiết về mặt vật lý trong quá trình này, mã hóa không được yêu cầu kéo dài cùng cực; nghĩa là, nó phải là mã hóa giới hạn độ dài Run (RLL).

Các chi tiết cụ thể của thiết kế ổ cứng nói chung là bí mật thương mại, nhưng về cơ bản có hai cách để đảm bảo rằng các dấu hiệu ngành không bao giờ xuất hiện trong nội dung của ngành:

  1. Thiết kế một RLL cho phép các giá trị đặc biệt sẽ không bao giờ xảy ra do mã hóa dữ liệu nội dung. Các giá trị đặc biệt này có thể được sử dụng không chỉ để đánh dấu ranh giới ngành mà còn để sửa lỗi hoặc cho bất kỳ mục đích phụ nào khác.

  2. Sử dụng lớp mã hóa thứ hai để đảm bảo các giá trị đánh dấu chỉ xuất hiện ở các điểm đánh dấu. Đây giống như mã hóa URL để cho phép các ký tự đặc biệt được "ẩn" trong các URL, nhưng với một ràng buộc bổ sung tương đương với việc giới hạn số lượng ký tự có thể được thêm vào, do đó, nó kết thúc giống như mã hóa base64 .

Vì vậy, đầu đọc di chuyển trên bề mặt phát hiện thay đổi phân cực từ, thời gian của những thay đổi đó được sử dụng để xác định chuỗi giá trị bit tương ứng (có thể bao gồm một số giá trị đặc biệt không biểu thị dữ liệu được lưu trữ) và chuỗi đó được sử dụng để xác định những lĩnh vực nào đang được đọc và nội dung của những lĩnh vực đó. Khi nội dung của các lĩnh vực được xác định, dữ liệu có thể được lưu trữ trong bộ đệm trạng thái rắn và / hoặc được lưu trữ trong bộ đệm RAM và / hoặc gửi lại để thực hiện yêu cầu.


Đây có phải là mã hóa giống như mã hóa Huffman? Nếu ai đó có thể đưa ra một ví dụ rõ ràng về cách thức hoạt động của nó ở cấp độ phần cứng như vậy: "Đầu đọc một luồng dữ liệu tròn như 010111010010111010 ... trong đó cứ 111 đánh dấu sự khởi đầu của một ngành, và sau đó ..." Tôi có thể chấp nhận câu trả lời.
uzumaki

Các ổ đĩa cứng phải mã hóa dữ liệu trừu tượng dưới dạng các đặc tính vật lý của phương tiện từ tính và kết quả phải được giải quyết dễ dàng; Mã hóa Huffman ánh xạ một luồng dữ liệu trừu tượng thành luồng dữ liệu trừu tượng (thường) ngắn hơn (phá vỡ địa chỉ). Chúng hầu như không liên quan.
ShadSterling

Bản cập nhật của tôi không thêm bất kỳ ví dụ nào, nhưng nếu bạn theo liên kết RLL thì nó có một số.
ShadSterling

18

Dữ liệu không được ghi dưới dạng luồng tùy ý của số và số không. Nó được viết trong các lĩnh vực. Mỗi khu vực có tải trọng dữ liệu người dùng và tiêu đề. Tiêu đề chứa mã sửa lỗi, cũng như trường đồng bộ hóa đặc biệt xác định điểm bắt đầu của khu vực và số khu vực để ổ đĩa có thể biết khi nào nó tìm thấy sự khởi đầu của một khu vực và đó là lĩnh vực nào.


3
Một số tài liệu tham khảo hoặc liên kết sẽ làm cho câu trả lời tốt này tuyệt vời. : D
mèo

1
@cat, tôi cho rằng "Máy tính hoạt động như thế nào" hay "Bên trong PC" của Peter Norton, nếu một trong số đó vẫn còn in ... có thể là một vài phiên bản mới kể từ những phiên bản trên giá sách của tôi.
psusi

Điều này không trả lời câu hỏi. Câu hỏi là làm thế nào ổ đĩa biết nơi tiêu đề hoặc trường đồng bộ bắt đầu.
Martin Argerami

@MartinArgerami - Điều này không trả lời câu hỏi vì nó sửa chữa quan niệm sai lầm của OP và đưa ra khái niệm nổi bật về các lĩnh vực. Việc đi sâu vào mức độ đọc / ghi của các miền từ tính dường như quá mãnh liệt đối với OP IMO. Nếu bạn / anh ấy muốn biết thêm chi tiết thì hãy xem superuser.com/questions/427554/ từ
mùn cưa

1
@ user134593 - Các byte đồng bộ luôn nằm sau một khoảng trống và là các byte đầu tiên của bản ghi. Họ chỉ đơn thuần chỉ ra sự bắt đầu của hồ sơ. Do đó bộ điều khiển đĩa không bao giờ có xung đột hoặc nhầm lẫn với tải trọng hoặc dữ liệu người dùng. Bạn dường như nghĩ rằng đó là một luồng hơi (giống như OP), nhưng đó là phương tiện từ tính, có nghĩa là bạn không thể chỉ đọc hoặc viết bất cứ lúc nào bạn muốn.
mùn cưa

7

Psusi là chính xác (dữ liệu trên đĩa được cấu trúc và các phần khác nhau của máy tính sử dụng các phần khác nhau của cấu trúc đó) nhưng không thực sự nhận được câu hỏi của bạn.

Ổ đĩa không thực sự "biết" bất cứ điều gì. Nó có các thiết bị điện tử cấp thấp có thể đọc các điểm đánh dấu trên đĩa (thường được viết tại nhà máy hoặc bằng chính đầu ổ đĩa), đọc các khối dữ liệu từ đĩa hoặc ghi các khối dữ liệu vào đĩa hoặc cho biết nếu một vị trí cụ thể trên đĩa bị hỏng hoặc bị hỏng, hoặc nó sẽ di chuyển đến một vị trí cụ thể trên đĩa. Đó là về tất cả những gì nó "biết". Đầu đọc không quyết định tự di chuyển đi nơi khác, một cái gì đó cao hơn trong máy bảo nó ...


2
Nhưng cái gì đó cao hơn vẫn là một phần của ổ cứng. (Được chỉ huy bởi thứ gì đó bên ngoài ổ cứng, được chỉ huy bởi thứ gì đó bên ngoài máy tính, được chỉ huy bởi một thứ gì đó siêu hình, nhưng chúng ta không nói về bất kỳ điều gì trong số đó)
user20574

0

Ngoài các câu trả lời khác, các đĩa cứng chắc chắn được sử dụng (và vẫn có thể làm) có một đĩa ("đầu" theo thuật ngữ hình trụ / đầu / khu vực) được dành riêng cho dữ liệu hiệu chuẩn / định vị, hoàn toàn không được sử dụng để lưu trữ dữ liệu người dùng .


3
Đây không phải là điều tôi đã nghe nói, bạn có tham khảo về nó không?
ShadSterling

Phải, không .... đó không phải là một điều.
psusi

Bạn dường như đang đề cập đến bề mặt servo / đĩa. Nhưng đó là công nghệ lạc hậu mà tôi chưa từng thấy kể từ các gói đĩa 14 ", có trước ổ cứng ST-506 của IBM PC-XT ban đầu. Winchester và các ổ đĩa hiện đại sử dụng một servo nhúng.
Mùn cưa

À, tôi cũng chưa nghe về điều này trong một thời gian dài, mặc dù tôi đã đặt nó xuống các đĩa hiện đại là các hộp đen.
Mark K Cowan

0

Câu trả lời bạn đang tìm kiếm có hai phần:

1) Bộ điều khiển phần cứng

2) Một hệ thống tập tin

Giống như bạn đã nói, trong một ổ cứng (trái ngược với các công nghệ khác như SSD), dữ liệu thực tế được ghi vào các tấm kim loại tròn như các vòng tròn đồng tâm giữ từ trường có hoa văn. Phía trên các đĩa chứa dữ liệu này là đầu ghi di chuyển xung quanh để đọc và ghi dữ liệu, rất giống như một máy ghi đĩa vinyl. Các đĩa mà nó di chuyển qua được gắn vào một động cơ điện điều khiển vòng quay của chúng.

Bộ điều khiển phần cứng hoạt động như một giao diện giữa hệ điều hành và ổ cứng. Bộ điều khiển có thể đọc vị trí của đầu ghi cũng như góc quay của đĩa và sử dụng thông tin này để quyết định cách định vị đầu và đĩa để đọc và viết. Nó chuyển các yêu cầu đọc và ghi từ hệ điều hành thành các tín hiệu điều khiển để di chuyển đầu ghi và xoay các đĩa, cũng như chuyển đổi dữ liệu song song từ hệ điều hành thành một dòng dữ liệu nối tiếp. Nó cũng phân tách dòng nối tiếp này và quyết định vị trí vật lý hoặc khu vực nào để đặt từng phần vào và ghi lại thông tin này theo cách được chỉ định bởi hệ thống tệp.

Hệ thống tập tin là một đặc điểm kỹ thuật về cách thức và nơi lưu trữ dữ liệu. Hệ điều hành của máy tính biết cách diễn giải hệ thống tệp này và sử dụng kiến ​​thức này để giao tiếp đầy đủ với bộ điều khiển phần cứng, trong trường hợp này, chia các vòng dữ liệu thành các phân đoạn có thể sử dụng được gọi là các cung và báo cho hệ thống tệp nơi các khu vực này được đặt. Hệ thống tệp cung cấp cho mỗi khu vực một địa chỉ, chỉ là một số duy nhất và địa chỉ này được bộ điều khiển phần cứng dịch thành một vòng quay đĩa cụ thể và vị trí đầu đọc để bắt đầu đọc hoặc ghi.

Để biết thêm thông tin, các phần sau trong các bài viết Wikipedia này khá hữu ích:

Xem phần giới thiệu và phần 3.1 "Quản lý không gian" tại đây: https://en.wikipedia.org/wiki/File_system

Xem phần 2.1 "Ghi từ" tại đây: https://en.wikipedia.org/wiki/Hard_disk_drive#Mag từ_recply

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.