Keandalan flash: diharapkan dan tidak terduga. Bagian 1. Konferensi XIV dari asosiasi USENIX. Teknologi penyimpanan file

Karena solid state drive berbasis flash menjadi sarana utama untuk menyimpan informasi secara permanen di pusat data, penting untuk menyadari betapa andalnya mereka. Sampai saat ini, sejumlah besar studi laboratorium chip memori flash menggunakan tes sintetis telah dilakukan, tetapi tidak ada informasi yang cukup tentang perilaku mereka di lapangan. Artikel ini dikhususkan untuk hasil studi lapangan skala besar yang mencakup jutaan hari menggunakan hard drive, 10 model solid state drive, berbagai teknologi memori flash (MLC, eMLC, SLC) dan lebih dari 6 tahun penggunaan operasional di pusat data Google.



Kami memeriksa berbagai karakteristik keandalan perangkat ini dan sampai pada sejumlah kesimpulan yang tidak terduga. Misalnya, ketika drive aus, Bit Bit Error Rate (RBER) meningkat pada tingkat yang jauh lebih lambat daripada yang ditunjukkan oleh indikator eksponensial, dan, yang lebih penting, itu tidak memungkinkan memprediksi terjadinya kesalahan yang tidak dapat diperbaiki atau jenis kesalahan lainnya.

Metrik UBER (Unrecoverable Bit Error Rate) yang banyak digunakan bukanlah indikator keandalan yang signifikan, karena kami tidak melihat hubungan antara jumlah bacaan dan jumlah kesalahan yang tidak dapat diperbaiki. Kami juga tidak menemukan bukti bahwa selama kehidupan normal SSD, drive yang didasarkan pada arsitektur SLC satu tingkat lebih dapat diandalkan daripada drive MLC. Dibandingkan dengan hard drive tradisional, frekuensi penggantian SSD berbasis flash jauh lebih rendah, tetapi mereka memiliki tingkat koreksi kesalahan yang lebih tinggi.

1. Pendahuluan


Popularitas menggunakan solid-state flash drive berbasis teknologi NAND di pusat data terus meningkat. Semakin banyak data yang dapat ditempatkan pada disk seperti itu, semakin besar keamanan dan ketersediaan informasi tergantung pada keandalan flash drive itu sendiri. Meskipun keunggulan kinerja SSD dibandingkan dengan HDD sudah dikenal, karakteristik kegagalan flash drive tidak dipahami dengan baik.

Data yang diberikan oleh produsen memori flash hanya berisi jaminan yang tidak jelas, seperti jumlah siklus penghapusan hingga perangkat benar-benar usang. Pemahaman yang khas tentang masalah ini didasarkan pada studi yang mempelajari keandalan flash drive dengan melakukan eksperimen laboratorium yang terkontrol (misalnya, uji ketahanan yang dipercepat). Pada saat yang sama, sejumlah kecil perangkat yang dipilih secara acak digunakan untuk menguji efek dari beban kerja sintetis. Ada kurangnya penelitian yang membangun hubungan antara hasil uji laboratorium dan karakteristik keandalan flash drive yang dioperasikan dalam kondisi nyata.

Artikel ini memberikan hasil terperinci dari studi lapangan tentang keandalan flash drive, berdasarkan data yang dikumpulkan selama 6 tahun operasinya di pusat data Google. Data ini mencakup jutaan hari operasi disk (jumlah persis disk dan perangkat yang menggunakannya dirahasiakan oleh Google, sehingga kami tidak dapat memberikan angka pasti. Namun, kami dapat memverifikasi signifikansi statistik dari data yang diberikan kepada kami), sepuluh model flash drive yang berbeda, berbagai flash -teknologi (MLC, eMLC dan SLC) dengan teknologi chip dari 24 hingga 50 nm.

Kami menggunakan data ini untuk memberikan pemahaman yang lebih baik tentang keandalan operasional memori flash. Secara khusus, kami menganalisis aspek keandalan perangkat tersebut:

  1. Berbagai jenis kesalahan yang terjadi dalam memori flash dan frekuensi kemunculannya di lapangan (bagian 3).
  2. Bit error rate (RBER), pengaruh faktor-faktor seperti keausan, usia drive dan beban kerja, serta hubungan RBER dengan jenis kesalahan lainnya (bagian 4).
  3. Kesalahan yang tidak dapat dipulihkan, frekuensinya dan pengaruh berbagai faktor terhadapnya (bagian 5).
  4. Karakteristik lapangan dari berbagai jenis kegagalan peralatan, termasuk kegagalan kompleks, kegagalan chip, dan frekuensi perbaikan dan drive pengganti (bagian 6).
  5. 5. Perbandingan keandalan berbagai teknologi flash (MLC, eMLC, disk SLC) (bagian 7) dan perbandingan keandalan SSD dan HDD (bagian 8).

Kami memastikan bahwa analisis kami mengungkapkan sejumlah aspek keandalan memori flash di lapangan, yang berbeda dari kesimpulan yang dibuat dalam karya sebelumnya. Kami berharap bahwa pekerjaan kami akan berfungsi sebagai insentif untuk penelitian lebih lanjut di bidang ini.


Tab. 1. Karakteristik modul yang berpartisipasi dalam tes lapangan.

2. Informasi latar belakang tentang data dan sistem


2.1. Flash drive


Penelitian kami melibatkan drive SSD berkinerja tinggi serial berdasarkan chip yang diproduksi secara industri, tetapi kami menggunakan antarmuka PCIe khusus, firmware khusus, dan driver. Kami fokus pada 2 generasi drive, di mana semua drive dari generasi yang sama menggunakan driver perangkat yang sama dan firmware yang sama. Ini berarti mereka juga menggunakan kode koreksi kesalahan (ECC) yang sama untuk mendeteksi dan memperbaiki bit yang rusak dan algoritma yang sama untuk menentukan tingkat keausan. Perbedaan utama antara model drive dari generasi yang sama adalah jenis chip memori yang digunakan.

Studi kami berfokus pada 10 model drive, karakteristik utama ditunjukkan pada Tabel 1. Kami memilih model dari empat produsen, yang masing-masing bekerja selama beberapa juta hari, menggunakan tiga jenis memori flash yang paling umum (MLC, SLC, eMLC).

2.2. Data yang digunakan


Kami menggunakan data dari pemantauan harian operasi flash drive di lapangan selama periode operasi 6 tahun. Selain itu, berbagai jenis kesalahan dihitung setiap hari, statistik pada beban kerja dikompilasi, termasuk jumlah operasi tulis dan hapus, dan jumlah blok buruk yang terjadi selama hari itu dihitung. Jumlah operasi baca, tulis, dan hapus termasuk jumlah operasi pengguna dan jumlah operasi "pengumpulan sampah" internal. Juga digunakan adalah rekaman kasus kegagalan chip, serta kasus perbaikan atau penggantian SSD.

3. Prevalensi berbagai jenis kesalahan


Mari kita mulai dengan beberapa statistik dasar tentang frekuensi terjadinya berbagai jenis kesalahan di lapangan. Kami menyoroti kesalahan transparan yang tidak terlihat oleh pengguna dan kesalahan buram yang menyebabkan kegagalan operasi pengguna. Driver flash drive melaporkan jenis kesalahan transparan berikut:

Kesalahan yang dapat diperbaiki: selama operasi baca, kesalahan yang terdeteksi diperbaiki oleh fungsi koreksi kesalahan ECC bawaan.

  • Kesalahan baca Kesalahan baca: kesalahan yang terjadi selama proses pembacaan (untuk memori tanpa koreksi kesalahan non-ECC), diperbaiki setelah pembacaan berulang;
  • Kesalahan tulis Kesalahan penulisan: operasi penulisan kesalahan yang berhasil setelah mencoba lagi.
  • Erase erase Erase erase: Operasi erase di blok gagal.

Perangkat juga melaporkan jenis kesalahan buram berikut:

  • Kesalahan tidak dapat diperbaiki: selama operasi, lebih banyak bit yang rusak terjadi daripada yang dapat diperbaiki ECC.
  • Final read error Final read error: kesalahan yang terjadi saat membaca tidak diperbaiki pada upaya berulang;
  • Kesalahan penulisan akhir Kesalahan penulisan akhir: kesalahan yang terjadi saat penulisan tidak diperbaiki pada upaya berulang;
  • Meta-error Meta-error: kesalahan mengakses metadata internal disk.
  • Kesalahan batas waktu: Operasi dibatalkan setelah 3 detik.

Kesalahan fatal mencakup kesalahan yang terdeteksi selama operasi yang dimulai pengguna atau operasi pengumpulan sampah internal, sementara kesalahan membaca akhir termasuk kesalahan yang terjadi selama operasi pengguna.

Harap dicatat bahwa kesalahan bervariasi dalam keparahan dampaknya. Selain perbedaan antara kesalahan transparan dan buram, tingkat keparahan kesalahan buram itu sendiri berubah. Secara khusus, beberapa kesalahan ini (kesalahan pembacaan akhir, kesalahan fatal, kesalahan meta) menyebabkan hilangnya data jika sistem tidak memiliki redundansi pada tingkat yang lebih tinggi, karena disk tidak dapat menyediakan pengguna dengan data yang telah diterima untuk penyimpanan.

Kami menganggap hanya disk yang dimasukkan ke dalam produksi setidaknya 4 tahun yang lalu (disk eMLC dirilis 3 tahun yang lalu, karena ini adalah jenis flash drive yang lebih baru), dan kesalahan yang terjadi selama 4 tahun pertama operasi. Tabel 2 menunjukkan persentase drive dari masing-masing model yang mengalami berbagai jenis kesalahan jika kesalahan ini terjadi setidaknya 1 kali (bagian atas tabel), dan persentase hari operasi selama drive mengalami kesalahan dari jenis tertentu (bagian bawah tabel).


Tab. 2. Prevalensi berbagai jenis kesalahan. Setengah bagian atas tabel menunjukkan persentase disk yang dipengaruhi oleh kesalahan, dan bagian bawah menunjukkan persentase hari penggunaan disk selama berbagai jenis kesalahan terjadi.

3.1. Kesalahan buram


Kami percaya bahwa kesalahan buram yang paling umum adalah kesalahan pembacaan akhir, yaitu kesalahan yang tidak dapat diperbaiki oleh operasi pembacaan berulang. Tergantung pada model drive, setidaknya 20-63% perangkat memiliki kesalahan seperti itu terjadi dalam 2-6 hari dari 1000 hari operasi disk.

Kami menyimpulkan bahwa jumlah kesalahan pembacaan akhir sangat berkorelasi dengan jumlah kesalahan yang tidak dapat diperbaiki dan bahwa kesalahan pembacaan akhir ini terjadi semata-mata karena kerusakan bit tidak dapat diperbaiki menggunakan ECC. Untuk semua model drive, kesalahan pembacaan akhir lebih sering terjadi 2 urutan besarnya (jika Anda fokus pada jumlah hari drive digunakan ketika kesalahan ini terjadi) daripada jenis kesalahan buram lainnya.

Tidak seperti kesalahan baca, kesalahan penulisan jarang berubah menjadi kesalahan buram. Bergantung pada model, hanya 1,5-2,5% dari disk yang mengalami kesalahan penulisan akhir dalam 1-4 hari dari 10.000 hari operasi, mis. operasi penulisan gagal yang tidak diperbaiki setelah upaya berulang kali. Perbedaan dalam frekuensi kesalahan baca dan tulis akhir ini mungkin disebabkan oleh fakta bahwa operasi penulisan yang gagal hanya diperbaiki dengan menulis ke tempat lain pada disk di area dengan bit-bit utuh. Jadi, jika kegagalan operasi baca hanya dapat disebabkan oleh adanya beberapa bit yang rusak, kesalahan penulisan akhir menunjukkan masalah perangkat keras yang lebih besar.

Kesalahan meta terjadi pada frekuensi yang sebanding dengan tingkat kesalahan tulis, tetapi sekali lagi jauh lebih jarang daripada kesalahan pembacaan akhir. Ini tidak mengherankan, mengingat bahwa disk berisi metadata jauh lebih sedikit daripada jumlah data nyata, yang mengurangi frekuensi akses ke metadata. Kesalahan buram lainnya (kesalahan batas waktu dan kesalahan respons) sangat jarang dan, sebagai aturan, mempengaruhi kurang dari 1% disk selama 1 hari dari 100.000 hari operasi disk.

3.2. Kesalahan transparan


Tidak mengherankan, perbaikan bug adalah jenis kesalahan transparan yang paling umum. Hampir semua drive memiliki setidaknya beberapa kesalahan yang dapat diperbaiki yang terjadi selama sebagian besar hari operasi disk (61-90%). Kesalahan yang dapat diperbaiki secara lebih rinci, termasuk bit rate rate analysis (RBER), dibahas dalam Bagian 4 artikel ini.

Jenis kesalahan transparan paling umum berikut adalah kesalahan menulis dan menghapus. Biasanya mereka terjadi di 6-10% dari drive, tetapi untuk beberapa model SSD mencapai sebanyak 40-68%. Dalam kebanyakan kasus, kesalahan tersebut terjadi dalam waktu kurang dari 5 hari dari 10.000 hari operasi. Menurut penelitian kami, kesalahan menulis dan menghapus mengindikasikan kerusakan pada unit, masalah ini dibahas secara rinci di bagian 6.

Kesalahan yang terjadi selama operasi baca kurang umum daripada kesalahan transparan, mungkin karena, selain mengoreksi kesalahan saat menggunakan ECC, masalah ini tidak diperbaiki oleh operasi berulang. Kesalahan pembacaan tidak lengkap, yaitu, kesalahan pembacaan yang dapat diperbaiki dengan upaya berulang, terjadi pada kurang dari 2% drive dan bertahan kurang dari 2-8 hari dari 100.000 hari operasi disk.

Akibatnya, selain kesalahan yang dapat diperbaiki yang terjadi dalam sejumlah besar hari operasi disk, kesalahan transparan terjadi lebih jarang dibandingkan dengan semua jenis kesalahan buram. Jenis kesalahan buram yang paling umum adalah kesalahan yang tidak dapat diperbaiki yang terjadi lebih dari 2-6 hari dari 1000 hari operasi disk.

4. Tingkat kesalahan bit (RBER)


Metrik standar untuk menilai keandalan flash drive adalah bit error rate (RBER) disk, yang didefinisikan sebagai rasio jumlah bit yang rusak dengan jumlah bit yang dibaca (termasuk kasus kesalahan yang dapat diperbaiki dan tidak dapat diperbaiki).

Drive generasi kedua (model eMLC-A dan eMLC-B) memberikan jumlah bit yang rusak dan bit baca yang tepat, memungkinkan kami untuk menentukan RBER dengan presisi tinggi.
Generasi pertama dari drive melaporkan jumlah bit yang dibaca, tetapi untuk setiap halaman yang terdiri dari 16 blok data, laporan diberikan pada jumlah bit yang rusak dari hanya blok data yang memiliki jumlah bit rusak terbesar. Sebagai akibatnya, dalam kasus statistik terburuk, ketika semua blok mengandung kesalahan dan jumlah kesalahan ini sama, koefisien RBER dapat 16 kali lebih tinggi dari koefisien yang diperoleh berdasarkan laporan status disk.

Masalah ini tidak terlalu menjadi masalah sementara perbandingan dibuat antara drive dari generasi yang sama, tetapi harus diperhitungkan ketika membandingkan drive dari generasi yang berbeda.


Tab. 3. Tingkat kesalahan bit agregat RBER untuk berbagai model SSD.

4.1. Tinjauan RBER Tingkat Tinggi


Tabel 3 menunjukkan nilai median RBER untuk setiap model drive untuk semua drive model ini, serta persentil ke-95 dan ke-99. Kami memutuskan untuk bekerja dengan median dan persentil, karena kami menemukan indikator rata-rata sangat bias karena beberapa nilai yang dibedakan dengan tajam, yang membuatnya sulit untuk mengidentifikasi tren apa pun.

Kami mengamati perbedaan besar dalam RBER untuk model drive yang berbeda, mulai dari 5.8e-10 hingga lebih dari 3e-08 untuk drive generasi pertama. Perbedaan-perbedaan ini bahkan lebih besar ketika mempertimbangkan bukan nilai median RBER, tetapi persentil ke-95 atau ke-99. Misalnya, rentang RBER ke-99 berkisar antara 2,2e-08 untuk model SLC-B hingga 2,7e-05 untuk model MLC-D. Ada perbedaan besar bahkan di dalam garis penggerak dari model yang sama: penggerak RBER di persentil ke-99 cenderung setidaknya urutan besarnya lebih besar dari penggerak RBER median dari model yang sama.

Perbedaan RBER antara model sebagian dapat dijelaskan oleh perbedaan dalam teknologi flash yang mendasarinya. Nilai RBER untuk model MLC lebih tinggi daripada untuk model SLC, sehingga harga yang lebih tinggi dari model SLC memperhitungkan nilai RBER yang lebih rendah. Di bagian 5 artikel ini, kita akan melihat bagaimana perbedaan ini diterjemahkan menjadi perbedaan kesalahan buram yang terlihat oleh pengguna.
Model EMLC melaporkan RBER, yang beberapa urutan besarnya lebih tinggi daripada model drive lain. Bahkan dengan mempertimbangkan bahwa drive RBER generasi pertama dapat 16 kali lebih tinggi dalam kasus terburuk, perbedaan yang ada dalam nilai koefisien adalah urutan besarnya lebih besar. Kami berasumsi bahwa ada faktor ukuran, karena dua model eMLC memiliki chip dengan litografi mikroelektronika terendah dibandingkan dengan semua model drive lainnya.

Akhirnya, tidak ada produsen yang produknya memiliki keunggulan dibandingkan produk dari produsen lain. Dalam grup disk SLC dan eMLC, vendor yang sama menghasilkan salah satu model terburuk dan salah satu model terbaik dalam grup.
Secara umum, RBER sangat bervariasi antar model disk, serta antara SDD dengan model yang sama. Ini memotivasi kami untuk mempelajari lebih lanjut faktor-faktor yang memengaruhi RBER.

4.2. Faktor apa yang memengaruhi nilai RBER


Di bagian ini, kita akan memeriksa efek pada RBER dari sejumlah faktor:

  • keausan yang disebabkan oleh siklus Program / Hapus (PE);
  • usia fisik, yaitu jumlah bulan selama perangkat dioperasikan di lapangan, terlepas dari siklus PE;
  • beban kerja, diukur dengan jumlah operasi baca, tulis, dan hapus, serta jumlah operasi pada halaman yang berpotensi merusak sel-sel memori di sekitarnya;
  • adanya jenis kesalahan lainnya.

Kami mempelajari efek dari masing-masing faktor pada RBER dalam dua cara berbeda. Kami menggunakan data visual visual dengan memplot pengaruh faktor pada RBER dan menyelidiki indikator pengaruh kuantitatif menggunakan koefisien korelasi. Kami menggunakan koefisien korelasi peringkat Spearman, karena dapat mencakup hubungan nonlinear monotonik dalam metode nonparametrik, berbeda dengan, misalnya, koefisien korelasi Pearson.

Sebelum menganalisis masing-masing faktor secara rinci, kami menyusun grafik ringkasan, seperti yang ditunjukkan pada Gambar 1.


Fig. 1. Ketergantungan koefisien korelasi peringkat Spearman antara nilai RBER selama bulan operasi disk dan faktor lainnya.

Ini menunjukkan hubungan antara koefisien korelasi peringkat Spearman antara nilai RBER selama bulan operasi disk dan faktor-faktor seperti jumlah siklus PE sebelumnya, jumlah membaca, menulis atau menghapus bulan ini, nilai RBER di bulan sebelumnya, dan jumlah kesalahan yang tidak dapat diperbaiki (UE) di bulan sebelumnya. Koefisien korelasi peringkat Spearman dapat bervariasi dari -1 (korelasi negatif yang kuat) hingga +1 (korelasi positif yang kuat).

Setiap kelompok label menunjukkan koefisien korelasi antara RBER dan satu faktor tertentu (lihat interpretasi pada sumbu X), dan label yang berbeda di setiap kelompok sesuai dengan model drive yang berbeda. Semua koefisien korelasi layak mendapatkan kepercayaan lebih dari 95%.

Kami memastikan bahwa semua faktor, kecuali terjadinya kesalahan fatal pada bulan sebelumnya, menunjukkan hubungan yang jelas dengan RBER, setidaknya untuk beberapa model. Kami juga menarik perhatian pada fakta bahwa beberapa dependensi ini mungkin salah, karena beberapa faktor dapat saling berkorelasi, jadi kami memeriksa masing-masing faktor secara lebih rinci di subbab berikutnya.

4.2.1. RBER dan pakai

Karena daya tahan sel memori flash terbatas, koefisien RBER meningkat dengan meningkatnya siklus Program / Hapus (PE). Koefisien korelasi yang tinggi antara siklus RBER dan PE pada Gambar 2 membuktikan hubungan mereka.


Fig. 2. Ketergantungan median dan 95 persen RBER pada jumlah siklus PE.

2 95- RBER . , PE, 95- RBER .

, , RBER PE , 95- RBER. , , . : , , .

, RBER , , RBER PE. , MLC RBER PE, , PE (3,000 MLC), 4- RBER.

, , RBER , (., , MLC-D PE = 3000). , RBER 3- PE, , , PE.

…

, . ? ? Dukung kami dengan melakukan pemesanan atau merekomendasikannya kepada teman-teman Anda, diskon 30% untuk pengguna Habr pada analog unik dari server entry-level yang kami temukan untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps dari $ 20 atau bagaimana membagi server? ( RAID1 RAID10, 24 40GB DDR4).

Dell R730xd 2 ? 2 Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 $199 ! Dell R420 β€” 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB β€” $99! . c Dell R730xd 5-2650 v4 9000 ?

Source: https://habr.com/ru/post/id470019/


All Articles