Saya selalu bertanya-tanya bagaimana hard drive menemukan bit data pertama.
Ketika hard drive berputar, apa pun yang dibacanya harus berupa aliran data yang melingkar hingga kepala pembaca bergerak ke posisi yang berbeda.
Tetapi dalam aliran melingkar, bagaimana drive tahu di mana bit pertama dan bit terakhir berada, sehingga dapat meneruskan data dalam urutan yang benar?
hard-drive
data-transfer
uzumaki
sumber
sumber
Jawaban:
Bunyinya dari disk.
Data pada disk tidak hanya terstruktur (seperti kata @psusi), tetapi juga disandikan. Pengkodean memastikan bahwa data yang direkam tidak dapat dikacaukan dengan penanda posisi dalam judul sektor, sehingga aliran melingkar dapat dibaca sampai penanda posisi target ditemukan.
Seperti yang saya pahami, hard drive modern tidak cukup melakukannya; mereka membaca seluruh lingkaran menjadi buffer, melacak di mana masing-masing sektor berada, dan menggunakan buffer untuk mengirim kembali data yang diminta.
MEMPERBARUI:
Media magnetik adalah material yang memiliki medan magnet dengan dua sifat utama: 1) tidak pernah berubah sendiri, dan 2) alat perekam dapat mengubah orientasi medan pada titik mana pun di permukaan. Saat membaca media, sensor mendeteksi di mana bidang diorientasikan ke arah sensor dan di mana bidang diorientasikan menjauh dari sensor. Saat sensor bergerak melintasi permukaan, ia mendeteksi timing transisi polaritas ini; lapisan pertama decoding menerjemahkan timing ini ke dalam nilai bit . Karena ketidakpastian yang diperlukan secara fisik dalam proses ini, pengkodean tidak harus memerlukan bentangan panjang dengan polaritas yang sama; yaitu, itu harus berupa Run-length limited coding (RLL).
Khususnya desain hard drive umumnya adalah rahasia dagang, tetapi pada dasarnya ada dua cara untuk memastikan bahwa penanda sektor tidak pernah muncul dalam konten sektor:
Desain RLL yang memungkinkan nilai-nilai khusus yang tidak akan pernah dihasilkan dari penyandian data konten. Nilai-nilai khusus ini dapat digunakan tidak hanya untuk menandai batas-batas sektor tetapi juga untuk koreksi kesalahan atau tujuan sekunder lainnya.
Gunakan pengkodean lapisan kedua yang memastikan nilai marker hanya muncul di marker. Ini sedikit mirip dengan pengodean URL untuk memungkinkan karakter khusus "disembunyikan" dalam URL, tetapi dengan batasan tambahan yang setara dengan membatasi berapa banyak karakter yang dapat ditambahkan, sehingga berakhir lebih seperti pengodean base64 .
Jadi, kepala baca bergerak melintasi permukaan mendeteksi perubahan polaritas magnetik, penentuan waktu dari perubahan tersebut digunakan untuk menentukan urutan nilai bit yang sesuai (mungkin termasuk beberapa nilai luar biasa yang tidak mewakili data yang disimpan), dan urutan tersebut digunakan untuk menentukan sektor mana yang sedang dibaca dan konten dari sektor tersebut. Ketika konten sektor ditentukan, data dapat disimpan dalam buffer solid-state dan / atau disimpan dalam buffer RAM dan / atau dikirim kembali untuk memenuhi permintaan.
sumber
Data tidak ditulis sebagai aliran sembarang dari nol dan nol. Itu ditulis dalam sektor. Setiap sektor memiliki muatan data pengguna, dan header. Header berisi kode koreksi kesalahan, serta bidang sinkronisasi khusus yang mengidentifikasi awal sektor, dan nomor sektor sehingga drive dapat mengetahui kapan ia menemukan awal suatu sektor, dan sektor apa itu.
sumber
Psusi benar (data pada disk terstruktur , dan berbagai bagian komputer menggunakan bagian berbeda dari struktur itu) tetapi tidak benar-benar memahami pertanyaan Anda.
Drive tidak benar-benar "tahu" apa-apa. Ini memiliki elektronik tingkat rendah yang dapat membaca spidol pada disk (umumnya ditulis di pabrik, atau oleh kepala drive itu sendiri), membaca blok data dari disk, atau menulis blok data ke disk, atau mengetahui jika ada tempat tertentu pada disk. disk rusak atau rusak, atau harus dipindahkan ke lokasi tertentu pada disk. Itu semua "tahu". Kepala membaca tidak memutuskan untuk pindah ke tempat lain dengan sendirinya, sesuatu yang lebih tinggi di mesin memberitahu ...
sumber
Selain jawaban lain, hard disk tentu dulu (dan mungkin masih) memiliki satu piring ("head" dalam istilah silinder / head / sektor) yang dicadangkan untuk data kalibrasi / posisi, tidak digunakan sama sekali untuk penyimpanan data pengguna .
sumber
Jawaban yang Anda cari memiliki dua bagian:
1) Kontroler perangkat keras
2) Sistem file
Seperti yang Anda katakan, dalam HDD (berbeda dengan teknologi lain seperti SSD), data sebenarnya dituliskan ke pelat logam bulat sebagai cincin melingkar konsentris yang memegang medan magnet berpola. Di atas piringan yang memegang data ini adalah kepala tulis yang bergerak untuk membaca dan menulis data, sangat mirip dengan pemutar kaset vinil. Piring-piring yang bergerak itu melekat pada motor listrik yang mengontrol putarannya.
Pengontrol perangkat keras bertindak sebagai antarmuka antara sistem operasi dan hard drive. Pengontrol dapat membaca posisi kepala tulis serta rotasi piring-piring dan menggunakan informasi ini untuk memutuskan bagaimana menempatkan kepala dan piring-piring untuk membaca dan menulis. Ini menerjemahkan permintaan baca dan tulis dari sistem operasi menjadi sinyal kontrol yang menggerakkan kepala tulis dan memutar piringan, serta mengubah data paralel yang masuk dari sistem operasi menjadi satu baris data serial. Itu juga memecah baris serial ini dan memutuskan lokasi fisik atau sektor apa, untuk menempatkan masing-masing bagian dan mencatat informasi ini dengan cara yang ditentukan oleh sistem file.
Sistem file adalah spesifikasi bagaimana dan di mana menyimpan data. Sistem operasi komputer tahu bagaimana menafsirkan sistem file ini dan menggunakan pengetahuan ini untuk berkomunikasi secara memadai dengan pengontrol perangkat keras, dalam hal ini memecah cincin melingkar data menjadi segmen yang dapat digunakan yang disebut sektor dan memberi tahu sistem file tempat sektor-sektor ini berada secara fisik. Sistem file memberikan setiap sektor sebuah alamat, yang hanya merupakan angka unik, dan alamat ini diterjemahkan oleh pengontrol perangkat keras ke dalam rotasi piringan tertentu dan membaca posisi kepala untuk mulai membaca atau menulis.
Untuk informasi lebih lanjut, bagian berikut dalam artikel Wikipedia ini cukup membantu:
Lihat Pengantar dan bagian 3.1 "Manajemen ruang" di sini: https://en.wikipedia.org/wiki/File_system
Lihat bagian 2.1 "Rekaman Magnetik" di sini: https://en.wikipedia.org/wiki/Hard_disk_drive#Magnetic_recording
sumber