Ada dua kelas utama cache, cache baca, dan cache tulis. Cache baca adalah alat yang menyediakan akses cepat ke data lain yang akan lambat diakses. Cache tulis adalah alat yang menawarkan ilusi kecepatan tulis cepat, umumnya menyembunyikan kecepatan lambat sebenarnya dari perangkat memori dari pengguna.
Struktur dari Cache
Biasanya, cache disimpan satu tingkat memori lebih rendah dari data sebenarnya. Namun, data dari satu cache dapat di-cache lebih lanjut di tingkat memori berikutnya. Ada empat tingkat memori, dengan cache/register CPU sebagai tingkat terendah dan tercepat dan penyimpanan arsip sebagai tingkat tertinggi dan paling lambat. Tingkat terendah hingga tertinggi adalah cache/register CPU, RAM sistem, drive penyimpanan, dan penyimpanan arsip.
Setiap langkah menuruni tingkatan memori menawarkan peningkatan kecepatan akses namun kapasitas yang berkurang. Sebagian besar pengguna rumahan hanya memiliki tiga tingkat penyimpanan terendah di dunia nyata. Penyimpanan arsip umumnya mengacu pada penyimpanan tape yang ditujukan untuk penyimpanan jangka panjang dan offline. Penyimpanan arsip juga dapat mengacu pada penggunaan media penyimpanan optik atau standar lainnya yang telah dihapus dari perangkat dan disimpan secara offline. Contoh-contoh ini secara signifikan lebih mungkin ditemukan di rumah tetapi masih belum begitu umum.
Catatan: Sampai taraf tertentu, penyimpanan cloud dapat dianggap sebagai varian penyimpanan arsip. Ini sangat online tetapi belum tentu dapat segera diakses dan umumnya lambat untuk diakses. Media yang dapat dilepas seperti memori USB juga agak mengangkangi batas antara drive penyimpanan dan penyimpanan arsip.
Jenis Disk Cache
Cache disk mengacu pada cache apa pun pada "disk", yaitu drive penyimpanan seperti SSD dan HDD. Ada tiga jenis cache disk. Cache baca akan melibatkan penyalinan beberapa data dari penyimpanan arsip sementara untuk membuat akses lebih cepat saat diperlukan. Cache tulis dapat berupa cache SLC pada SSD. Cache I/O umumnya berupa memori flash atau DRAM yang digunakan untuk melakukan cache operasi baca dan tulis. Fitur yang menentukan dari semua ini adalah bahwa cache ada di disk itu sendiri.
Baca Disk Cache
Versi cache baca dari cache disk kemungkinan merupakan jenis cache disk yang paling jarang digunakan. Penyimpanan arsip, menurut definisinya, jarang dibutuhkan. Data juga dapat dibaca langsung dari media arsip. Masalahnya adalah kecepatan. Waktu akses lambat karena data offline, memerlukan perangkat penyimpanan yang sesuai untuk diidentifikasi dan dihubungkan. Kecepatan baca bergantung pada media arsip, tetapi umumnya cukup untuk sebagian besar kasus. Namun mungkin tidak ideal untuk kebutuhan bandwidth tinggi seperti menonton video definisi tinggi. Dalam skenario ini, cache disk baca dapat digunakan untuk meng-cache salinan file video ke media penyimpanan yang dapat memutarnya secara real-time.
Tulis Cache Disk
SSD modern sangat cepat, menawarkan kecepatan baca dan tulis yang luar biasa cepat. Apa yang mungkin tidak Anda sadari adalah bahwa ini tidak benar secara teknis. Sebagian besar SSD di pasaran adalah TLC, alias Triple Layer Cells. Ini berarti bahwa setiap sel memori dapat menyimpan tiga bit data. Meskipun ini menawarkan kepadatan penyimpanan tiga kali lipat dari SLC mentah (Single Layer Cells) dengan satu bit per sel, ini juga jauh lebih lambat.
Tip: Flash TLC masih cepat. Ini berkali-kali lebih cepat daripada bandwidth puncak bus SATA 3 yang digunakan oleh HDD dan SSD awal. QLC flash atau Quad Level Cells bahkan lebih lambat, dalam beberapa pengujian sebenarnya bekerja lebih lambat daripada HDD.
Cache SLC diciptakan untuk menyembunyikan kecepatan tulis yang lambat dari pengguna. Cache SLC hanya memperlakukan flash TLC sebagai flash SLC, yang memungkinkannya beroperasi dengan kecepatan yang meningkat. Data yang ditulis ke cache SLC kemudian disalin secara internal ke format TLC secepat kecepatan tulis memungkinkan. Teknik ini bekerja dengan sangat baik, menawarkan peningkatan kecepatan yang mengharuskan pengembangan standar baru yang lebih cepat.
Cache SLC, bagaimanapun, memiliki beberapa peringatan. Ukuran cache SLC adalah 1/3 dari ruang kosong SSD yang tersisa. Saat SSD terisi, ukuran cache SLC berkurang. Ini tidak terlalu menjadi masalah pada drive kosong yang besar tetapi bisa terjadi pada SSD yang lebih kecil atau hampir berkapasitas. Setelah cache SLC terisi, pengguna melihat kecepatan tulis turun secara dramatis saat mereka terpapar pada kecepatan tulis TLC asli.
Catatan: Secara teknis, jika data akan ditulis ke media arsip di masa mendatang, setiap disk penyimpanan dapat dianggap sebagai cache tulis untuk media arsip. Makna ini umumnya tidak akan diasumsikan.
Cache Diska I/O
HDD umumnya sangat lambat, bahkan dalam beban kerja optimalnya. Untuk membantu menyembunyikan ini dari pengguna sebanyak mungkin, cache I/O dapat digunakan. Cache I/O menyimpan operasi baca dan tulis sesuai kebutuhan. Cache ini biasanya terdiri dari memori Flash atau DRAM di drive itu sendiri. Kapasitas umumnya rendah, meskipun kelas SSHD atau Solid State Hybrid Drive yang dilengkapi memori Flash menawarkan kemampuan yang lebih besar meskipun tidak sebanding dengan kapasitas SSD modern.
Caching membaca berarti HDD tidak perlu mencari dan kemudian membaca data. Ini dapat menawarkan manfaat kinerja yang sangat baik, tetapi hanya pada operasi baca berikutnya. Bacaan pertama selalu lambat. Caching menulis berarti bahwa operasi tulis kecil dapat diserap ke cache dan kemudian ditulis ke HDD yang sebenarnya secepat mungkin. Ini menawarkan kecepatan yang lebih cepat tetapi melihat penurunan kinerja yang besar jika cache pernah habis.
Cache I/O harus secara hati-hati menyeimbangkan kebutuhan fungsi baca dan tulis, terutama bila hanya tersedia cache kecil. Cache yang lebih besar agak meniadakan masalah ini, meskipun kasus edge dengan kumpulan data yang besar masih dapat membanjiri cache flash SSHD terbesar.
Catatan: SSD secara teknis juga dapat menggunakan DRAM bawaannya sebagai cache I/O. Namun, ini biasanya terutama atau secara eksklusif digunakan untuk menyimpan tabel terjemahan alamat logis ke fisik yang digunakan untuk menemukan data di SSD.
Kesimpulan
Cache disk adalah cache yang ada langsung di drive penyimpanan. Itu bisa berupa cache baca-atau-tulis atau cache I/O. Membaca cache biasanya meng-cache data dari penyimpanan arsip yang lebih lambat. Cache tulis menyembunyikan kecepatan tulis disk penyimpanan yang lambat dari pengguna. Cache I/O menyembunyikan kecepatan baca lambat dan tulis lambat dari pengguna.
Cache adalah alat kegunaan yang sangat baik tetapi dapat menyebabkan beberapa sakit kepala bagi pengguna saat habis. Hal ini terutama berlaku untuk cache tulis dinamis seperti cache SLC. Karena pengguna non-teknis mungkin tidak mengerti mengapa kecepatan tulis mereka sangat lambat sehingga tidak dapat memperbaikinya dengan mengatasi masalah kapasitas.