NVMe SSD’lerin performansı aldı başını gidiyor, artık son tüketici ürünlerinde PCI Express 5.0 ile birlikte 14.000 MB/sn’ye ulaşan muazzam hızlar görmeye başladık. Yüksek performans elde etmek için NAND yongalardan kontrolcülere ve DRAM’e kadar birçok alanda iyileştirme yapmak gerekiyor. Üst sınıf sürücülerin neredeyse tümü DRAM önbellek çipleriyle destekleniyor. Peki ya bu tampon belleğe sahip olmayan ürünler? İşte tam olarak bu noktada devreye Host Memory Buffer (HMB) giriyor.
Şirketler SSD’leri tasarlarken eğer işin içine DRAM’i katarsa, maliyetler de katlanarak yükseliyor. Hiçbir şey yapmadan PCB’ye yeni bir DRAM çipi entegre etmek bile ekstra maliyet demek. HMB teknolojisi ise düşük fiyatlı sürücüler tasarlarken performans ödün vermemek üzere geliştirildi. Muhtemelen birçoğu bu teknolojinin adını ilk kez duyuyor. Harika bir çözüm lakin ne yazık ki tüm SSD modellerinde kullanılmıyor.
SSD’lerde DRAM’in Görevi Ne?
Çoğu modern SSD, tipik olarak 1 TB NAND flash bellek başına 1 GB oranında yerleşik DRAM yongası içermekte. Bu RAM her bir mantıksal blok adresinin fiziksel olarak NAND flash üzerinde nerede depolandığını takip etmek ve önemli verileri hafızada tutmak üzere kullanılmakta. Herhangi bir okuma işlemi gerektiğinde doğrudan DRAM işin içine dahil oluyor.
SSD kontrolcüsü, DRAM yardımıyla daha karmaşık veri yapıları yerine istenilen bilgiye basit ve hızlı şekilde erişebiliyor. Böylelikle kontrolcünün girdi/çıktı işlemlerini gerçekleştirmek için yapması gereken iş büyük ölçüde azalıyor, daha yüksek seviyede daha tutarlı performans sağlanabiliyor.
DRAM kullanmayan SSD’ler daha ucuz ve daha küçük olabilir, ancak eşleme tablolarını hızlı DRAM yerine yalnızca flash bellekte saklayabildikleri için önemli bir performans kaybı söz konusu. Bu durumda ana bilgisayardan gelen her okuma isteği, önce mantıksal ve fiziksel adres eşlemesine bakmak için bir NAND flash okuması ve ardından istenen verileri gerçekten almak için ikinci bir okuma gerektirdiğinden okuma gecikmesi iki katına çıkıyor.
Host Memory Buffer (HMB) Nedir?
DRAM önbelleği SSD’nizin performansını artırmak için harika bir yol olsa da HMB gibi alternatif teknolojiler belirli zorlukların ve kısıtlamaların üstesinden gelebiliyor. HMB teknolojisine sahip olan bir SSD, sistem RAM’inin bir kısmını önbelleğe alma amacıyla tampon olarak kullanabiliyor. Bu yaklaşım, SSD’deki özel bir DRAM önbelleğine benzer avantajlar elde etmek için sistem RAM’inin yüksek hızlı ve uçucu olmayan yapısından yararlanmakta.
HMB’nin dikkate değer bir diğer avantajı ise SSD’ler için üretim maliyetlerini azaltma potansiyeli. Üreticiler, sistemin mevcut RAM’ine güvenerek daha uygun maliyetli sürücüler üretebiliyor ve DRAM’li SSD’lere benzer şekilde avantajlar sağlayabiliyor.
HMB ilk olarak NVMe sürüm 1.3 ile birlikte sunuldu. Şimdi konuyu biraz daha açalım. Bu özellik, dahili DRAM yerine SSD’nin normalde sistem genelinde kullanılan RAM’in bir kısmını kullanılmasına imkan tanıyor. CPU’ya bağı DRAM’i kullanabilmek için PCI Express’in DMA özelliklerinden faydalanılmakta.
Haliyle kontrolcü ve NAND belleklere yakın bir DRAM kullanmak ve sistem belleğine erişim arasında fark var. PCIe üzerinden ana belleğe erişmek dahili DRAM’e göre daha yavaş, ancak yine de NAND flash’tan okumaya kıyasla çok daha hızlı.
HMB, ana SSD’lerin kullandığı yerleşik DRAM’in tam boyutlu bir alternatifi olarak tasarlanmadı. Diyebiliriz ki dahili DRAM kadar hızlı olmamakla birlikte benzer kapasiteler elde edilemiyor. Buna rağmen HMB ile birçok tüketici iş yükü için yeterli alan ve performans sağlanabiliyor.
Önbelleğe alma süreci bilgisayar bilimindeki en zor problemlerden biri. SSD kontrolcüleri üreten şirketler, HMB özelliğine sahip kontrolcüler üretirken nasıl bir yol izlediklerini asla kesinlikle paylaşmak istemezler. Önbellekleme işleminin nasıl ilerlediğini de göstermiyorlar. Tahminlere göre önbelleğe alma stratejileri şu şekilde: En yoğun kullanılan eşleme bilgileri tutuluyor, bu sayede kullanıcıların en sık erişmek istediği veriler daha hızlı şekilde önüne getiriliyor. SSD kontrolcüler dahili olarak bir miktar önbellek taşıyor olsa da, bu kapasite NAND eşleme tablolarını hafızaya alacak kadar yeterli değil.
Ancak HMB’nin sınırlamaları da yok değil. Özel olarak yerleştirilen bir DRAM çipinin aksine, HMB’nin etkinliği mevcut sistem RAM’ine bağlı. Ayrıca sistemin kendisi tarafından desteklenmesi gerekiyor, örneğin PS5 HMB’yi desteklemiyor. HMB destekli ürünler ek yük nedeniyle DRAM’e kıyasla daha yavaş çalışmakta.
HMB Çok Fazla Bellek Tüketiyor mu?
HMB çok fazla sistem belleği kullanmıyor, bu nedenle bilgisayara ekstra yük binmiyor. Kullanılan bellek miktarı genellikle çift haneli MB seviyesinde, genellikle 128 MB’ın altında. Özetle HMB kullanımıyla CPU ve sistem performansı olumsuz etkilenmemekte.
HMB Desteği
Öncelikle, SSD’nin bu teknolojiden faydalanabilmesi için kontrolcünün HMB desteğine sahip olması şart. Marvell, SMI ve Phison gibi birçok kontrolcü üreticisi bu tür tasarımlar yapmakta. Örneğin Marvell 88NV1160/88NV1120, SMI SM2263XT/SM2258XT ve Phison PS5008-E8T gibi kontrolcü modelleri mevcut.
Toshiba’nın DRAM’siz RC100 serisi SSD’leri, 160K IOPS’ye kadar rastgele okuma hızları ve 120K IOPS’ye kadar rastgele yazma hızları elde etmek için HMB teknolojisinden faydalanıyor. Diğer yandan DRAM’siz sürücü tasarımları için üretilen SM2263XT kontrolcü, yalnızca IOPS performansını iki katına çıkarmakla kalmayıp aynı zamanda SM2263’ün IOPS performansını da SM2263’ün IOPS performansına eşitlemek için HMB teknolojisini kullanıyor.
İşletim sistemlerine gelince, HMB’yi kullanabilmek için en az Windows 10 1703 veya 1709 sürümlerinde olmak gerekli. Ek olarak, yalnızca NVMe sürücülerde HMB kullanmak mümkün. Yani SATA sürücülerde böyle bir seçenek yok.
Söylediğimiz gibi Host Memory Buffer’ın amacı SSD maliyetlerini en aza indirmek. İlk etapta destekli sürücülerin sayısı azdı, teknoloji oldukça HMB SSD’lerin sayısı her geçen gün artıyor.
DRAM’in Önemi
RAM ana sistem belleği olarak kullanılıyor bildiğiniz üzere, SSD’lerdeki DRAM ise sadece belli bir amaca hizmet ediyor. NAND belleklere kıyasla çok daha hızlı çalışan DRAM, tampon görevi görerek tıpkı sistem genelinde olduğu gibi verileri tutmak ve ulaştırmakla görevli.
Depolama cihazı ile bilgisayar arasında köprü görevi gören dinamik bellekler SSD’lerin performansına doğrudan etki etmekte. NAND flash tabanlı sürücülerin uzun süreli veri depolama hücrelerinin aksine, DRAM önbelleği sık erişilen bilgiler için hızlı bir depolama ortamı sağlıyor. Böylece gecikme süresi düşük tutulurken verilere daha hızlı erişim sağlanabiliyor.
Bu özellik, uygulamaların yüklenmesi veya işletim sisteminin hızlı bir şekilde başlatılması gibi anlık veri erişimi gerektiren görevlerle uğraşırken önemini daha fazla hissettiriyor. DRAM önbelleğin uyarlanabilir yapısı, depolama cihazının performansını kullanım modellerine göre optimize etmesini sağlıyor. Sık erişilen veriler, kolay erişim için önbellekte tutuluyor ve bu da düzenli olarak değiştirdiğiniz uygulamaların yüklenme süresini önemli ölçüde azaltabiliyor.

SSD’nizin bir DRAM önbelleğe sahip olup olmadığını fiziksel olarak inceleyerek ya da teknik özelliklerini kontrol ederek anlayabilirsiniz. Bu konu için ayrı bir başlık açacağız.
Dinamik belleğin avantajı çok fazla, dezavantajı ise tek bir tane diyebiliriz. Önbellekte saklanan bilgiler güvende değil ve bir elektrik kesintisi ya da sistem çökmesi durumunda kaybolacaktır. Bu küçük olumsuz yanını görmezden gelebiliriz. Zira önbelleğin sağladığı daha hızlı yükleme süreleri ve veri okuma/yazma hızları gibi avantajlar çok değerli.
Birçok kullanıcı SSD performansını yalnızca okuma ve yazma hızları gibi ölçütlerle ilişkilendirir, ancak dikkat etmeniz gereken farklı konular da var. Örneğin sürücüler dosya aktarım işlemi yaparken performansını koruyabiliyor, üst seviyede tutabiliyor mu? Özetle sürdürülebilir performans da önemli, DRAM bu konuda önemli katkı sağlıyor. Sürdürülebilir performans, sürücünün uzun süreli ve yoğun kullanım sırasında tutarlı hızları demek. DRAM önbelleğin asıl önemi de burada ortaya çıkmakta.
Veri okuma veya yazma hızını doğrusal olarak ölçen sıralı performansın aksine, sürekli performans sürücünün değişen iş yükleri altında tutarlı hızlar sunma becerisini temsil ediyor. DRAM önbellek, zaman içinde performans düşüşüne yol açabilecek rastgele erişim modellerinin etkisini azaltarak sürekli performansa önemli ölçüde katkıda bulunmakta.
Teknolojik cihazları kullanırken sürekli bazı verilere ulaşmaya çalışırız, SSD’lerdeki kontrolcüler de bu verileri bizim önümüze getirmek için çalışır. DRAM dediğimiz önbellek sık erişilen bilgilerin hazır olmasını sağlayarak sürücünün yavaşlamasını önlüyor. Bir şeyi gidip almak mı daha hızlı sürer, yoksa önünüzde hazır olan bir şeye uzanmak mı? İster büyük dosyalar kopyalansın, ister karmaşık yazılımlar çalıştırılsın ya da çok sayıda uygulama ile çoklu görevler gerçekleştirilsin, bir SSD’de DRAM önbelleğinin bulunması performansa her zaman olumlu katkı sağlamakta.







