Saya memiliki Samsung 960 Pro 512 GB SSD di NVMe dengan PCIe Gen.3x4 berjalan. Saya menggunakan Driver Samsung NVMe 2.0.0.1607. SSD bekerja dengan baik. Namun, saya tidak mengerti mengapa penulisan 4k lebih cepat daripada membaca 4k. Saya menggunakan AS Benchmark:
Ini adalah faktor 3! Apakah ada yang salah (dengan sistem saya atau AS Benchmark) atau apakah ini normal?
ssd
performance
Musbach
sumber
sumber
Jawaban:
Membaca 4k akan menjadi hal tersulit yang dapat dilakukan drive. Mereka berada di antara ukuran blok terkecil yang dapat ditangani oleh drive, dan tidak ada cara bagi drive untuk memuat data dalam jumlah besar, bahkan mereka mungkin sangat tidak efisien jika logika load-ahead drive bermaksud membaca apa pun lebih besar dari 4kb.
Drive "Normal" lebih besar kemungkinannya lebih besar dari 4kb karena ada sangat sedikit file yang sekecil itu, dan bahkan file halaman cenderung dibaca dalam potongan besar karena akan aneh jika sebuah program memiliki "hanya" Memori 4KB keluar. Ini berarti bahwa setiap preloading yang dilakukan drive akan benar-benar menghukum throughput drive.
Pembacaan 4K mungkin melewati buffer drive, tetapi bagian "acak" dari pengujian membuatnya sepenuhnya tidak dapat diprediksi. Pengontrol tidak akan tahu kapan drive mungkin membutuhkan "besar" yang lebih sering dibaca lagi.
4K menulis di sisi lain dapat disangga, diantri, dan ditulis secara berurutan dengan cara yang efisien. Drive buffer dapat melakukan banyak pekerjaan menangkap dan menulis yang dirancang untuk itu, dan penyamaratakan aus bahkan mungkin mengalokasikan semua penulisan 4K tersebut ke blok penghapusan drive yang sama, kadang-kadang mengubah apa yang menjadi 4K "acak" tulis menjadi sesuatu yang lebih dekat ke tulisan berurutan.
Bahkan saya menduga bahwa inilah yang terjadi di "4K-64Thrd" menulis, "64-Thrd" tampaknya menggunakan kedalaman antrian yang besar , sehingga menandakan ke drive bahwa ia memiliki sejumlah besar data untuk membaca atau menulis . Ini memicu banyak pengelompokan penulisan dan mendekati kecepatan tulis berurutan drive. Masih ada overhead untuk melakukan penulisan 4K, tetapi sekarang Anda sepenuhnya mengekspos potensi buffer. Dalam versi Baca pengujian pengontrol drive, sekarang mengakui bahwa itu di bawah beban berat yang sangat konstan, menghentikan preloading data, mungkin menghindari buffer dan alih-alih beralih ke mode baca "mentah", lagi-lagi mendekati kecepatan baca berurutan.
Pada dasarnya pengontrol drive dapat melakukan sesuatu untuk membuat menulis 4K lebih efisien, terutama jika sekelompok mereka tiba pada waktu yang sama, sementara itu tidak dapat melakukan apa pun untuk membuat 4K tunggal dibaca lebih efisien, terutama jika ia mencoba untuk mengoptimalkan aliran data dengan pra-memuat data ke dalam cache.
sumber
Jawaban lain telah menjelaskan mengapa menulis mungkin lebih cepat daripada membaca; Saya ingin menambahkan bahwa untuk drive ini ini benar-benar normal, karena dikonfirmasi oleh tolok ukur yang dapat Anda temukan di ulasan.
Ulasan ArsTecnica
ArsTechnica telah meninjau drive, baik versi Anda (512 GB) dan yang 2 TB:
(Grafik ini tidak langsung terlihat di ulasan, ini yang ke 5 di galeri pertama, Anda harus mengkliknya)
Kinerja kedua model ini sangat mirip, dan jumlahnya terlihat seperti milik Anda: drive dapat membaca pada 37 MB / s dan menulis pada 151 MB / s.
Ulasan AnandTech
AnandTech juga telah meninjau drive: mereka menggunakan model 2TB, rata-rata hasil tes dengan kedalaman antrian 1, 2 dan 4. Ini adalah grafik:
Drive membaca pada 137 MB / s dan menulis pada 437 MB / s. Jumlahnya jauh lebih tinggi daripada Anda, tetapi mungkin karena kedalaman antrian yang lebih tinggi. Pokoknya kecepatan tulis adalah 3 kali kecepatan baca, seperti pada kasus Anda.
Ulasan PC World
Satu lagi review, oleh PC World : mereka telah menguji versi 1 TB, dan hasil untuk 4K adalah 30 MB / s untuk membaca dan 155 MB / s untuk menulis: Kecepatan menulis sesuai dengan Anda, tetapi di sini drive itu adalah bahkan lebih lambat dalam membaca. Hasilnya adalah rasionya lima banding satu, bukan tiga banding satu.
Kesimpulan
Ulasan mengkonfirmasi bahwa untuk drive ini adalah normal bahwa kecepatan tulis untuk 4K acak jauh lebih cepat daripada kecepatan membaca: tergantung pada tes, bahkan dapat 5 kali lebih cepat.
Drive Anda baik-baik saja. Tidak ada alasan untuk percaya itu salah, atau bahwa sistem Anda memiliki masalah.
sumber
Cache pengontrol SSD menulis di NVRAM onboard, dan mem-flush-nya ke media flash pada waktu yang tepat. Jadi latensi tulis adalah latensi akses cache, biasanya 20us. Sebaliknya, bacaan disajikan di luar media, dengan waktu akses terbaik 120-150.
sumber
Memperluas jawaban Andrey, Anda perlu melihat overhead yang terlibat sebelum SSD dapat memberi sinyal ke komputer bahwa operasi selesai.
Untuk menulis, data harus ditulis ke cache RAM internal. Nanti akan ditulis ke memori flash, bersama dengan blok 4k lainnya dan metadata yang diperlukan untuk memeriksa, memperbaiki kesalahan dan menemukannya.
Untuk membaca, SSD harus terlebih dahulu menemukan data. Lokasi yang ingin dibaca komputer disebut alamat logis, dan tidak memiliki hubungan langsung dengan lokasi fisik data dalam memori flash. SSD menerjemahkan alamat logis menjadi alamat fisik, berdasarkan geometri memori flash (cara sel diatur), remapping blok yang buruk, leveling keausan dan berbagai faktor lainnya. Kemudian harus menunggu operasi lain selesai sebelum mengambil data dari flash, lalu memeriksanya dan jika diperlukan membaca kembali dan menerapkan koreksi kesalahan, bahkan mungkin menulis ulang seluruh blok di tempat lain.
Sementara total waktu yang diambil oleh operasi tulis mungkin lebih lama dari operasi membaca biasa, waktu yang dibutuhkan untuk SSD untuk melaporkan bahwa operasi selesai sejauh ia dapat memproses perintah lebih lanjut lebih rendah. Dengan blok besar, overhead bukan merupakan faktor pembatas, tetapi dengan banyak blok kecil mulai membatasi kecepatan baca / tulis.
sumber