Apa yang salah dengan saya kecepatan 4K? Mengapa begitu lambat? Atau memang seharusnya seperti itu?
Adalah kecepatan yang oke? Mengapa saya memiliki kecepatan rendah di 4K?
Ada, luas, dua cara yang berbeda anda dapat mengakses file.
Sequential akses berarti anda membaca atau menulis file lebih atau kurang satu byte setelah yang lain. Misalnya, jika anda're menonton video, anda akan memuat video dari awal sampai akhir. Jika anda're men-download file, itu akan di-download dan ditulis ke disk dari awal sampai akhir. Dari disk yang's perspektif,'s melihat perintah seperti "baca blok no. 1, baca blok no. 2, baca blok #3, baca byte blok #4"1.
Random akses berarti ada's tidak ada pola yang jelas untuk membaca atau menulis. Ini doesn't harus berarti benar-benar acak; itu benar-benar berarti "tidak berurutan". Misalnya, jika anda're mulai banyak program sekaligus mereka'll perlu membaca banyak file yang tersebar di seluruh drive anda. Dari drive's perspektif,'s melihat perintah seperti "baca blok #56, baca blok #5463, baca blok no. 14, baca blok #5"
Akses sekuensial ini umumnya lebih cepat daripada akses acak. Hal ini karena akses sekuensial memungkinkan sistem operasi dan drive memprediksi apa yang akan dibutuhkan berikutnya, dan beban sebagian besar di muka. Jika anda've diminta blok "1, 2, 3, 4", OS bisa menebak anda'll ingin "5, 6, 7, 8" berikutnya, jadi ia memberitahu drive untuk membaca "1, 2, 3, 4, 5, 6, 7, 8" dalam satu pergi. Demikian pula, drive dapat membaca penyimpanan fisik dalam satu pergi, bukan "mencari untuk 1, baca 1,2,3,4, berusaha untuk 5, baca 5,6,7,8". Oh, yang saya sebutkan mencari sesuatu. Mekanik Hdd sangat lambat mencari waktu karena cara mereka're fisik ditata: mereka terdiri dari jumlah berat metalised disk berputar, dengan fisik lengan bergerak bolak-balik untuk membaca disk. [Berikut ini adalah video dari HDD mana anda dapat melihat disk yang berputar dan menggerakkan lengan.](
Akses acak, di sisi lain, don't memiliki manfaat prediktabilitas. Jadi jika anda ingin membaca 8 byte random, mungkin dari blok "8,34,76,996,112,644,888,341", yang mendorong kebutuhan untuk pergi "berusaha untuk 8, baca 8, mencari to34, dibaca 34, mencari to76, baca 76, ...". Perhatikan bagaimana perlu mencari lagi untuk setiap blok? Sebaliknya rata-rata 0.003125 ms per berurutan 512 blok B, it's sekarang rata-rata (5ms mencari + 0.003125 ms baca) = 5.003125 ms per blok. Yang's banyak kali lebih lambat. Ribuan kali lebih lambat, pada kenyataannya.
1 Lebih akurat, dengan LBA drive yang ditujukan dalam blok 512 byte (512n/512e) atau 4kB (4Kn) untuk alasan efisiensi. Juga, program-program nyata hampir tidak pernah membutuhkan hanya satu byte pada suatu waktu. 2 secara Teknis, mencari hanya mengacu pada lengan perjalanan. Menunggu data untuk memutar di bawah kepala rotational latency di atas mencari waktu. 3 secara Teknis, mereka memiliki lookup tabel dan remap untuk alasan lain, misalnya memakai levelling, tapi ini benar-benar diabaikan dibandingkan dengan HDD...
Seperti yang sudah ditunjukkan oleh jawaban yang lain, "4K" hampir pasti mengacu pada akses acak dalam blok-blok ukuran 4 KiB.
Setiap kali sebuah hard disk (bukan SSD) diminta untuk membaca atau menulis data, ada dua penundaan yang signifikan yang terlibat:
Kedua ini relatif konstan dalam jumlah waktu yang diberikan untuk setiap drive. Mencari latency adalah fungsi dari seberapa cepat kepala dapat dipindahkan dan seberapa jauh ia harus pindah, dan rotational latency adalah fungsi dari seberapa cepat piringan berputar. Apa's lebih, mereka yang ingin't banyak berubah selama beberapa dekade terakhir. Produsen benar-benar digunakan untuk penggunaan rata-rata mencari waktu misalnya dalam iklan, mereka cukup banyak berhenti melakukan itu ketika ada sedikit atau tidak ada pembangunan di daerah. Tidak ada produsen, terutama di lingkungan kompetisi, ingin produk mereka terlihat tidak lebih baik daripada pesaing mereka.
Khas desktop hard disk berputar pada 7200 rpm, sedangkan khas drive laptop mungkin berputar di sekitar 5000 rpm. Ini berarti bahwa masing-masing kedua, ia pergi melalui total 120 revolusi (desktop drive) atau sekitar 83 revolusi (hard disk laptop). Sejak rata-rata disk akan perlu untuk berputar setengah sebelum revolusi sektor yang diinginkan lewat di bawah kepala, ini berarti bahwa kita dapat mengharapkan disk untuk dapat melayani sekitar dua kali lebih banyak permintaan I/O per detik, dengan asumsi bahwa
Jadi kita harus mengharapkan untuk dapat tampil pada urutan 200 I/O per detik jika data itu diminta untuk mengakses (membaca atau menulis) adalah relatif terlokalisasi secara fisik, sehingga rotational latency menjadi faktor pembatas. Dalam kasus umum, kita harapkan drive untuk dapat tampil pada urutan 100 I/O per detik jika data menyebar di seluruh platter atau piring-piring, yang membutuhkan cukup banyak yang mencari dan menyebabkan berusaha latency menjadi faktor pembatas. Dalam penyimpanan istilah, ini adalah "IOPS kinerja" dari hard disk; ini, tidak berurutan kinerja I/O, biasanya faktor pembatas dalam real-world sistem penyimpanan. (Ini adalah alasan besar mengapa Ssd jauh lebih cepat untuk menggunakan: mereka menghilangkan rotational latency, dan sangat mengurangi berusaha latency, sebagai gerakan fisik dari kepala baca/tulis menjadi sebuah tabel lookup di flash pemetaan lapisan tabel, yang disimpan secara elektronik.)
Menulis biasanya lebih lambat ketika ada flush cache yang terlibat. Biasanya sistem operasi dan hard disk mencoba untuk menyusun ulang random menulis untuk mengubah random I/O ke sequential I/O mana mungkin, untuk meningkatkan kinerja. Jika ada eksplisit flush cache atau menulis penghalang, optimasi ini dihilangkan untuk tujuan memastikan bahwa keadaan data dalam penyimpanan persisten adalah konsisten dengan apa yang perangkat lunak mengharapkan. Pada dasarnya alasan yang sama berlaku selama membaca ketika tidak ada disk cache yang terlibat, baik karena tidak ada (jarang hari ini di desktop-gaya sistem) atau karena perangkat lunak yang sengaja melewati itu (yang sering dilakukan ketika mengukur kinerja I/O). Kedua orang mengurangi potensi maksimum IOPS kinerja yang lebih pesimis kasus, atau 120 IOPS untuk 7200 rpm.
Yang hanya begitu terjadi untuk mencocokkan angka yang hampir sama persis. I/O acak dengan ukuran blok yang kecil adalah mutlak kinerja pembunuh untuk rotasi hard disk, yang juga mengapa hal itu's sebuah metrik yang relevan.
Adapun murni sequential I/O, throughput di kisaran 150 MB/s isn't pada semua yang tidak masuk akal untuk rotasi hard disk. Tapi sangat sedikit di dunia nyata I/O adalah benar-benar berurutan, sehingga dalam kebanyakan situasi, murni berurutan kinerja I/O menjadi lebih dari latihan akademis dari indikasi dari kinerja dunia nyata.
4K mengacu pada I/O acak. Ini berarti disk sedang diminta untuk akses blok kecil (4 KB dalam ukuran) pada titik-titik acak di dalam file tes. Ini adalah kelemahan dari hard drive; kemampuan untuk mengakses data di daerah yang berbeda dari disk dibatasi oleh kecepatan di mana disk berputar dan cara cepat membaca-menulis kepala dapat bergerak. Sequential I/O, di mana blok berturut-turut yang sedang diakses, lebih mudah karena drive hanya dapat membaca atau menulis blok sebagai disk berputar.
Sebuah solid-state drive (SSD) tidak memiliki masalah tersebut dengan random I/O karena semua yang perlu anda lakukan adalah mencari di mana data disimpan dalam mendasari memori (biasanya NAND flash, dapat menjadi 3D XPoint atau bahkan DRAM) dan membaca atau menulis data pada lokasi yang sesuai. Ssd yang sepenuhnya elektronik, dan tidak perlu menunggu pada disk yang berputar atau bergerak kepala baca-tulis untuk akses data, yang membuat mereka jauh lebih cepat daripada hard drive dalam hal ini. Hal ini untuk alasan ini bahwa upgrade ke SSD secara dramatis meningkatkan kinerja sistem.
Catatan: sequential I/O pada kinerja SSD ini sering jauh lebih tinggi dari pada hard drive juga. Khas SSD memiliki beberapa NAND chip yang terhubung secara paralel ke flash memory controller, dan dapat mengaksesnya secara bersamaan. Dengan menyebarkan data di chip ini, drive tata letak mirip dengan RAID 0 dicapai, yang sangat meningkatkan kinerja. (Perhatikan bahwa beberapa perangkat baru, terutama yang lebih murah, menggunakan tipe NAND yang disebut TLC NAND yang cenderung lambat saat menulis data. Drive dengan TLC NAND sering menggunakan buffer lebih cepat NAND untuk memberikan kinerja yang lebih tinggi untuk lebih kecil menulis operasi tetapi dapat melambat secara dramatis setelah buffer penuh.)