Okuma önbelleği ve yazma önbelleği olmak üzere iki ana önbellek sınıfı vardır. Okuma önbelleği, normalde erişimi yavaş olan verilere hızlı erişim sağlayan bir araçtır. Yazma önbelleği, yüksek yazma hızları yanılsaması sunan ve genellikle bir bellek aygıtının gerçek yavaş hızını kullanıcıdan gizleyen bir araçtır.
Önbelleğin Yapısı
Tipik olarak bir önbellek, gerçek verilerden bir bellek katmanı daha aşağıda depolanır. Ancak, bir önbellekten alınan veriler bir sonraki bellek katmanında daha fazla önbelleğe alınabilir. Dört bellek katmanı vardır; CPU önbelleği/kayıtları en düşük ve en hızlı katmandır ve arşiv depolama en yüksek ve en yavaş katmandır. En düşükten en yükseğe katmanlar, CPU önbelleği/kayıtları, sistem RAM'i, depolama sürücüleri ve arşiv depolamasıdır.
Bellek katmanlarındaki her adım, artırılmış erişim hızı, ancak azaltılmış kapasite sunar. Çoğu ev kullanıcısı, gerçek dünyada yalnızca en düşük üç depolama katmanına sahiptir. Arşiv depolaması, genellikle uzun süreli ve çevrimdışı depolamaya yönelik teyp depolaması anlamına gelir. Arşiv depolama, cihazlardan çıkarılmış ve çevrimdışı tutulan optik veya diğer standart depolama ortamlarının kullanımına da atıfta bulunabilir. Bu örneklerin evde bulunma olasılığı önemli ölçüde daha yüksektir, ancak yine de o kadar yaygın değildir.
Not: Bir dereceye kadar, bulut depolama, arşiv depolamanın bir çeşidi olarak düşünülebilir. Oldukça çevrimiçidir, ancak hemen erişilebilir olması gerekmez ve genellikle yavaş erişime sahiptir. USB bellek gibi çıkarılabilir ortamlar da depolama sürücüsü ile arşiv depolaması arasındaki sınırı biraz aşar.
Disk Önbelleği Türleri
Disk önbelleği, bir "disk" üzerindeki herhangi bir önbelleği, yani SSD'ler ve HDD'ler gibi depolama sürücülerini ifade eder. Üç tür disk önbelleği vardır. Okuma önbelleği, gerektiğinde erişimi daha hızlı hale getirmek için bazı verilerin geçici olarak arşiv deposundan kopyalanmasını içerir. Bir yazma önbelleği, bir SSD'de bir SLC önbelleği biçimini alabilir. Bir G/Ç önbelleği, genellikle hem okuma hem de yazma işlemlerini önbelleğe almak için kullanılan bir miktar flash bellek veya DRAM olacaktır. Tüm bunların tanımlayıcı özelliği, önbelleğin diskin kendisinde olmasıdır.
Disk Önbelleğini Oku
Bir disk önbelleğinin okuma önbelleği sürümü, muhtemelen en az kullanılan disk önbelleği türüdür. Arşiv depolama, tanımı gereği, nadiren gereklidir. Veriler doğrudan arşiv ortamından da okunabilir. Sorun hız. Veriler çevrimdışı olduğundan erişim süresi yavaştır ve uygun bir depolama cihazının tanımlanması ve bağlanması gerekir. Okuma hızları arşiv ortamına bağlıdır, ancak genellikle çoğu durumda yeterli olacaktır. Ancak, yüksek tanımlı video görüntüleme gibi yüksek bant genişliği gereksinimleri için ideal olmayabilir. Bu senaryolarda, video dosyasının bir kopyasını gerçek zamanlı olarak oynatabilen bir depolama ortamına önbelleğe almak için bir okuma disk önbelleği kullanılabilir.
Disk Önbelleği Yaz
Modern SSD'ler son derece hızlıdır ve inanılmaz derecede yüksek okuma ve yazma hızları sunar. Farkına varmayabileceğiniz şey, bunun teknik olarak doğru olmadığıdır. Piyasadaki SSD'lerin çoğu, Üç Katmanlı Hücreler olarak da bilinen TLC'dir. Bu, her bellek hücresinin üç bit veri depolayabileceği anlamına gelir. Bu, hücre başına bir bit ile ham SLC'nin (Tek Katmanlı Hücreler) üç katı depolama yoğunluğu sunarken, aynı zamanda çok daha yavaştır.
Uç: TLC flaşı hala hızlı. HDD'ler ve eski SSD'ler tarafından kullanılan SATA 3 veri yolunun en yüksek bant genişliğinden çok daha hızlıdır. QLC flaş veya Dört Seviyeli Hücreler, bazı testlerde aslında HDD'lerden daha yavaş performans göstererek daha da yavaştır.
SLC önbelleği, yavaş yazma hızlarını kullanıcıdan gizlemek için icat edildi. SLC önbelleği, TLC flaşını basitçe SLC flaşı olarak ele alır ve artan hızlarda çalışmasına izin verir. SLC önbelleğine yazılan veriler daha sonra yazma hızlarının izin verdiği en yüksek hızda dahili olarak TLC biçimine kopyalanır. Bu teknik, yeni ve daha hızlı standartların geliştirilmesini gerektiren artan hızlar sunarak mükemmel şekilde çalışır.
Bununla birlikte, SLC önbelleklerinin bazı uyarıları vardır. SLC önbelleğinin boyutu, SSD'de kalan boş alanın 1/3'ü kadardır. SSD doldukça, SLC önbellek boyutu küçülür. Bu, büyük boş sürücülerde çok fazla bir sorun değildir, ancak daha küçük veya kapasiteye yakın bir SSD'de olabilir. SLC önbelleği dolduğunda, kullanıcı gerçek TLC yazma hızına maruz kaldığı için yazma hızlarının önemli ölçüde düştüğünü görür.
Not: Teknik olarak, gelecekte veriler arşiv ortamına yazılacaksa, herhangi bir depolama diski, arşiv ortamı için bir yazma önbelleği olarak kabul edilebilir. Yine de bu anlam genellikle varsayılmaz.
G/Ç Disk Önbelleği
HDD'ler, optimum iş yüklerinde bile genellikle oldukça yavaştır. Bunu kullanıcıdan olabildiğince gizlemeye yardımcı olmak için bir G/Ç önbelleği kullanılabilir. G/Ç önbelleği hem okuma hem de yazma işlemlerini gerektiği gibi önbelleğe alır. Bu önbellek genellikle sürücünün kendisinde bulunan Flash bellekten veya DRAM'den oluşur. Kapasiteler genellikle düşüktür, ancak Flash belleğe sahip SSHD veya Katı Hal Hibrit Sürücü sınıfı, modern SSD kapasiteleriyle kıyaslanamaz olsa da daha önemli yetenekler sunar.
Okumaları önbelleğe alma, HDD'nin verileri bulması ve ardından okuması gerekmediği anlamına gelir. Bu, yalnızca sonraki okuma işlemlerinde mükemmel performans avantajları sağlayabilir. İlk okuma her zaman yavaştır. Yazmaların önbelleğe alınması, küçük yazma işlemlerinin önbelleğe alınabileceği ve ardından gerçek HDD'ye izin verdiği kadar hızlı yazılabileceği anlamına gelir. Bu, daha yüksek hızlar sunar, ancak önbellek tükenirse büyük bir performans düşüşü görür.
Bir G/Ç önbelleği, özellikle yalnızca küçük bir önbellek olduğunda, hem okuma hem de yazma işlevlerinin gereksinimlerini dikkatli bir şekilde dengelemelidir. Daha büyük önbellekler bu sorunu biraz ortadan kaldırsa da, büyük veri kümelerine sahip uç durumlar yine de en büyük SSHD'lerin flaş önbelleğini aşabilir.
Not: SSD'ler teknik olarak yerleşik DRAM'lerini G/Ç önbelleği olarak da kullanabilir. Bununla birlikte, bu genellikle SSD'de veri bulmak için kullanılan mantıksaldan fiziksel adrese çeviri tablosunu depolamak için birincil veya özel olarak kullanılır.
Çözüm
Disk önbelleği, doğrudan bir depolama sürücüsünde bulunan bir önbellektir. Okuma veya yazma önbelleği veya G/Ç önbelleği biçimini alabilir. Okuma önbellekleri genellikle verileri daha yavaş, arşiv deposundan önbelleğe alır. Yazma önbellekleri, depolama disklerinin düşük yazma hızlarını kullanıcıdan gizler. G/Ç önbellekleri, kullanıcıdan hem yavaş okuma hem de yavaş yazma hızlarını gizler.
Önbellekler mükemmel kullanılabilirlik araçlarıdır ancak tükendiğinde kullanıcılar için bazı baş ağrılarına neden olabilir. Bu, özellikle SLC önbelleği gibi dinamik yazma önbellekleri için geçerlidir. Teknik bilgisi olmayan kullanıcılar yazma hızlarının neden bu kadar yavaş olduğunu anlayamayabilir ve bu nedenle kapasite sorunlarını ele alarak bu hızları düzeltemeyebilirler.