SSD’ler Nasıl Çalışır?

Sıradaki içerik:

SSD’ler Nasıl Çalışır?

SSD’ler Nasıl Çalışır?

avatar

nasilbe

  • e 0

    Mutlu

  • e 0

    Eğlenmiş

  • e 0

    Şaşırmış

  • e 0

    Kızgın

  • e 0

    Üzgün

Rate this post

SSD’ler Nasıl Çalışır?

SSD’lerin dönen disklerden nasıl ve neden farklı olduğunu anlamak için sabit diskler hakkında biraz konuşmamız gerekir. Bir sabit disk, verileri plakalar olarak adlandırılan bir dizi dönen manyetik disk üzerine depolar. Okuma / yazma kafaları ona bağlı bir aktüatör kolu vardır. Bu kol, bilgi okumak veya yazmak için okuma-yazma kafalarını sürücünün doğru alanına yerleştirir. Sürücü kafaları veri okumak veya yazmak için diskin bir alanı üzerine hizalanmalıdır (ve disk sürekli dönüyor), verilere erişilebilmesi için bekleme süresi sıfırdır. Sürücü, bir programı başlatmak veya bir dosyayı yüklemek için birden fazla konumdan okumak zorunda kalabilir; bu, tabakları komutu tamamlayabilmeleri için uygun konuma birden çok kez dönmesini beklemek zorunda kalabilir. Bir sürücü düşük güç durumunda ise, diskin tam güçle çalışması ve çalışmaya başlaması birkaç saniye sürebilir.

En başından beri sabit disklerin CPU’ların çalışabileceği hızlarla eşleşemeyeceği açıktı. HDD’lerdeki gecikme, tipik CPU’nuzun nanosaniyesine kıyasla milisaniye cinsinden ölçülür. Bir milisaniye 1.000.000 nanosaniye cinsindendir ve sürücüyle ilgili verileri bulmak ve okumaya başlamak genellikle 10-15 milisaniyelik bir sabit disk alır. Sabit disk endüstrisi, daha küçük plakalar, disk belleği önbellekleri ve bu eğilimi gidermek için daha hızlı iş mili hızları getirdi ancak bu sürücüler o kadar hızlı dolaşabiliyor. Western Digital’in 10.000 RPM’lik VelociRaptor ailesi, şimdiye kadar tüketici pazarında üretilen en hızlı tahrik setidir; bazı işletmeler ise 15.000 dev / dak’a kadar dönmüştür. Sorun şu ki, en büyük önbellekleri ve en küçük tabakları olan en hızlı dönen tahrik ünitesi CPU’su açısından hala yavaş oluyor. Katı hal sürücülerine, özellikle hareket eden parçalara ya da dönen disklere dayanmadıkları için bunun yerine, veriler NAND flaş havuzuna kaydedilir. NAND kendisi kayan geçiş transistörleri denilen şeyden oluşur. DRAM’da kullanılan transistör tasarımlarının saniyede birden çok kez yenilenmesi gereken aksine, NAND flaş güç verilmemiş olsa da şarj durumunu korumak üzere tasarlanmıştır. Bu, NAND’i uçucu olmayan bir bellek haline getirir.

Yukarıdaki diyagram basit bir flaş hücresi tasarımı göstermektedir. Elektronlar kayan kapıda saklanır ve daha sonra şarj “0” veya şarj edilmemiş “1” olarak okunur. Evet, NAND flaşında, 0, verilerin bir hücrede saklandığı anlamına gelir – tipik olarak nasıl düşündüğümüzün tam tersi Sıfır ya da bir. NAND flaşı bir ızgarada düzenlenmiştir. Izgarayı oluşturan ayrı satırlara bir sayfa denirken, tüm kılavuz düzenine bir blok denir. Ortak sayfa boyutları 2 K, 4 K, 8 K veya 16 K’dır ve her blok için 128 ila 256 sayfa içerir. Bu nedenle blok boyutu genellikle 256KB ile 4MB arasında değişir. Bu sistemin bir avantajı hemen açık olmalıdır. SSD’lerin hareketli parçaları olmadığından, tipik bir HDD’nin hızının çok üstünde çalışabilirler. Aşağıdaki grafik, mikrosaniye cinsinden verilen tipik depolama ortamları için erişim gecikmesini göstermektedir. NAND, ana bellek kadar kısa bir sürede hiçbir yere yakın olmamasına karşın, sabit diskten çok daha hızlıdır. Yazma gecikmeleri, okuma gecikmelerine kıyasla NAND flaşı için önemli derecede daha yavaş olmakla birlikte, geleneksel eğirme ortamını hala aşmaktadır.

Yukarıdaki grafikte dikkat edilmesi gereken iki şey var. Öncelikle, NAND hücresi başına daha fazla bit eklenmesinin belleğin performansı üzerinde önemli bir etkisi olduğunu unutmayın. Okumalar yerine yazılar için daha kötüdür – tipik üç katmanlı hücre (TLC) gecikmesi, okumalar için tek düzeyli hücre (SLC) NAND’e kıyasla 4 kat daha kötüdür, ancak yazılar için 6 kat daha kötüdür. Silme gecikmeleri de önemli ölçüde etkilenir. Etki orantılı değil, ya – TLC NAND, sadece% 50 daha fazla veri tutmasına rağmen (iki yerine üç bit) MLC NAND’ın neredeyse iki katı daha yavaş. TLC NAND’ın MLC veya SLC’den daha yavaş olmasının nedeni, verilerin NAND hücresine girip çıkışı ile ilişkili olmasıdır. SLC NAND ile denetleyicinin yalnızca bitin 0 veya 1 olup olmadığını bilmesi gerekir. MLC NAND ile hücrenin 00, 01, 10 veya 11 olmak üzere dört değeri olabilir. TLC NAND ile hücrenin sekiz değeri olabilir . Hücrenin uygun değerini okumak, bellek denetleyicisinin belirli bir hücrenin şarj edilmiş olup olmadığını belirlemek için çok hassas bir voltaj kullanmasını gerektirir.

SSD’lerin işlevsel kısıtlamalardan biri, boş bir sürücüye çok hızlı bir şekilde veri okuyup yazabiliyor olmasına rağmen verilerin üzerine yazmanın çok daha yavaş olmasıdır. Bunun nedeni, SSD’ler verileri sayfa düzeyinde (yani NAND bellek ızgarasındaki tek tek satırlardan) okurken ve sayfa düzeyinde yazabiliyorlar, çevreleyen hücrelerin boş olduğunu varsayarsak, yalnızca verileri blok seviyesinde silebilirler. Bunun nedeni, NAND flaşını silme eyleminin yüksek voltaj gerektirmesi. Teorik olarak NAND’yi sayfa düzeyinde silmekte iken, gereken gerilim miktarı, yeniden yazılmakta olan hücrelerin etrafındaki hücreleri vurgular. Verileri blok seviyesinde silmek, bu sorunun giderilmesine yardımcı olur. Bir SSD’nin mevcut bir sayfayı güncellemesinin tek yolu, tüm bloğun içeriğini belleğe kopyalamak, bloğu silmek ve daha sonra eski bloğun içeriğini güncellenmiş sayfayı yazmaktır. Sürücü doluysa ve boş sayfa yoksa, SSD önce silinmek üzere işaretlenmiş fakat henüz silinmemiş blokları taramalı, silinmeli ve sonra verileri şimdi silinmiş sayfaya yazmalıdır. SSD’ler yaşlandıkça yavaşlayabilirler – çoğunlukla boş olan sürücü hemen yazılabilen bloklarla doludur, çoğunlukla tam sürücünün tüm program / silme dizisi boyunca zorlanması daha muhtemeldir. SSD kullandıysanız büyük olasılıkla “çöp toplama” adlı bir şey duymuşsunuzdur. Çöp toplama işlemi, bir sürücünün arka planda belirli görevleri gerçekleştirerek program / silme döngüsünün performans etkisini azaltmasına olanak tanıyan bir arka plan işlemi. Aşağıdaki resim, çöp toplama işlemi boyunca adımlar. Blocks AD şimdi artık eski olarak işaretlenmiştir; yani sürücünün güncelliğini yitirmiş olduğu bilgileri içermektedir. Boşta bir süre boyunca, SSD yeni sayfaları yeni bir bloğa taşır, eski bloğu siler ve boş alan olarak işaretler. Bu, bir dahaki sefer SSD’nin bir yazma gerçekleştirmesi gerektiğini, program / silme işlemini gerçekleştirmek yerine doğrudan boş olan Blok X’e doğrudan yazabileceği anlamına gelir.

Tartışmak istediğim yeni kavram TRIM. Bir dosyayı Windows’tan tipik bir sabit sürücüde sildiğinizde, dosya hemen silinmez. Bunun yerine, işletim sistemi, sabit sürücüye bir dahaki sefer bir yazma işlemi gerçekleştirmek için bir sonraki sefer bu verilerin depolandığı fiziksel alanın üzerine yazdırabileceğini söyler. Bu nedenle dosyaların silinmesini kaldırmak mümkündür (ve Windows’daki dosyaların silinmesinin geri dönüşüm kutusu boşaltılana kadar genellikle çok fazla fiziksel disk alanı temizlemediğini) nedeni budur. Geleneksel bir sabit disk sürücüsüyle, işletim sisteminin verilerin nereye yazıldığına veya blokların veya sayfaların nispi durumunun ne olduğuna dikkat etmesi gerekmez. Bir SSD ile bu önemli. TRIM komutu, işletim sisteminin SSD’ye bir dahaki sefer bir blok silme işlemini gerçekleştirirken bazı verilerin tekrar yazılmasını atlatmasını sağlar. Bu, sürücünün yazdığı toplam veri miktarını düşürür ve SSD’nin ömrünü uzatır. Hem okur hem de yazar NAND flash’a zarar verir, ancak yazma okumadan çok daha fazla zarar verir. Neyse ki, blok düzeyinde ömrün modern NAND flaşında bir sorun olduğu kanıtlanmadı. Tech Report’un izniyle SSD ömrü hakkındadaha fazla veri bulabilirsiniz.
Konuşmak istediğimiz son iki kavram, aşınma dengeleyici ve yazma kuvvetlendirme. SSD’ler sayfalara veri yazar, ancak verileri bloklar halinde siler çünkü sürücüye yazılmakta olan veri miktarı gerçek güncellemeden daha büyüktür. Örneğin, 4KB dosyası için bir değişiklik yaparsanız, 4K dosyanın içindeki tüm blok güncelleştirilmeli ve yeniden yazılmalıdır. Blok başına sayfa sayısına ve sayfaların boyutuna bağlı olarak, 4KB dosyayı güncellemek için 4MB veri yazmaya son verebilirsiniz. Çöp toplama, TRIM komutu gibi yazma kuvvetlendirmesinin etkisini azaltır. Sürücünün serbest bırakılması ve / veya üreticinin aşırı tedarik edilmesinin önemli bir bölümünü de tutmak, yazma büyütme etkisini azaltabilir.
Aşınmaya dayanıklılık, bazı NAND bloklarının diğerlerinden daha sık yazılıp silinmediğini göstermek için uygulanır. Aşınma dengelemesi bir sürücünün ömrünü ve dayanıklılığını artırırken, NAND’ye eşit olarak yazarak aslında yazma amplifikasyonunu da artırabilir. Yazıları disk boyunca eşit olarak dağıtmak için, içerikleri gerçekten değişmedi olsa bile bazen blokları programlamak ve silmek gerekiyor. İyi bir aşınma dengeleyici algoritma, bu etkileri dengelemeye çalışır.

Artık SSD’lerin sabit disklerden çok daha karmaşık kontrol mekanizmaları gerektirdiği açıktır. Bu, manyetik medyayı dağıtmak değil – HDD’lerin verildiklerinden daha fazla saygı duymayı hak ettiğini düşünüyorum. 5,400 ila 10,000 RPM’de dönen plakalardan çok okuma-yazma kafaları nanometreleri dengelemek için yapılan mekanik zorluklar, hapşıracak hiçbir şey değildir. HDD’lerin bu meydan okumayı gerçekleştirirken manyetik medyaya yeni kayıt yöntemleri önermesi ve sonunda diskleri 3-5 sent / gigabayta satması son derece inanılmaz. Bununla birlikte, SSD denetleyicileri kendi başına bir sınıfta. Genellikle NAND’in kendisini yönetmek için bir DDR3 bellek havuzuna sahiptirler. Çoğu sürücü, arabellek gibi davranan ve okuma / yazma döngülerine hızlı NAND ayırarak sürücü performansını artıran tek düzey hücre önbelleklerini de içerir. Bir SSD’deki NAND flaşı genellikle bir dizi paralel bellek kanalı vasıtasıyla denetleyiciye bağlandığından, sürücü denetleyicisini üst seviye depolama dizisi ile aynı yük dengeleme işinin bir kısmını gerçekleştirdiğini düşünebilirsiniz – SSD’ler dağıtmayın RAID dahili olarak, ancak aşınma tesviyesi, çöp toplama ve SLC önbellek yönetiminin hepsi büyük demir dünyasında paralellikler içeriyor. Bazı sürücüler ayrıca, toplam yazma sayısını azaltmak ve sürücünün kullanım ömrünü artırmak için veri sıkıştırma algoritmaları kullanmaktadır. SSD denetleyicisi hata düzeltmeyi ele alır ve tek bitlik hataları kontrol eden algoritmalar zaman geçtikçe gittikçe daha karmaşık hale gelmiştir.

Ne yazık ki SSD denetleyicileri hakkında çok fazla ayrıntıya girmek mümkün değil çünkü şirketler çeşitli gizli soslarını kilitlemektedir. NAND flash’ın performansının büyük kısmı temel denetçi tarafından belirleniyor ve şirketler, rakibine bir avantaj sağlanmaması için, yaptıkları işi nasıl kapattıkları konusunda çok fazla istemiyorlar. NAND flaşı sabit disklere kıyasla büyük bir gelişme kaydediyor ancak kendi dezavantajları ve zorlukları olmaksızın değil. Sürücü kapasiteleri ve gigabayt başına fiyatların sırasıyla yükselmeye ve azalmaya devam etmesi bekleniyor ancak SSD’lerin gigabayt başına fiyat cinsinden sabit diskleri yakalayacakları çok az. Küçülen işlem düğümleri, NAND flaşı için önemli bir sorundur – çoğu donanım düğüm küçüldükçe iyileşirken, NAND daha kırılgan hale gelir. Veri yoğunluğu ve toplam kapasite büyük oranda geliştirilmiş olsa bile, veri tutma süreleri ve yazma performansı, 20nm NAND için 40nm NAND’den daha düşüktür. Şimdiye dek, SSD üreticileri, daha hızlı veri standartları, daha fazla bant genişliği ve denetleyiciye daha fazla kanal sunarak daha iyi performans sağladı ve ayrıca daha önce bahsettiğimiz SLC önbelleklerini kullandı. Bununla birlikte, uzun vadede, NAND’in başka bir şeyle değiştirileceği varsayıldı.

Başka bir şeyin nasıl görüneceği tartışmaya açıktır. Hem manyetik RAM hem de faz değiştirme belleği kendilerini aday gösterdi, ancak her iki teknoloji halen erken aşamalardalar ve NAND’in yerine geçmek için önemli zorlukların üstesinden gelmek zorundalar. Tüketicilerin farkı farkedecekleri açık bir sorudur. NAND’den bir SSD’ye yükselttikten sonra daha hızlı bir SSD’ye geçtiyseniz, HDD’ler ve SSD’ler arasındaki boşluğun nispeten ılımlı bir sürücüye geçiş yaparken bile, SSD – SSD aralığından çok daha fazla olduğunu fark etmiş olabilirsiniz. Erişim sürelerini milisaniyeden mikrosaniye düzeyine yükseltmek önemli bir konudur ancak bunları mikrosaniye ile nanosaniye arasında değiştirmek, çoğu durumda insanların gerçekçi olarak algıladıklarının altına düşebilir. Intel’in 3D XPoint (Intel Optane olarak pazarlanan), NAND flaşının potansiyel bir yarışmacısı ve ana üretimdeki mevcut alternatif teknolojilerden biri olarak ortaya çıktı (faz değiştirme belleği veya manyetik dirençli RAM gibi diğer alternatifler) Intel, kartlarını yeleğe yakın bir yerde oynadı. Optane ile birlikte çalışıyor ve temel teknolojilerinin çoğunu açıklamadı, ancak yakın zamanda şirketin yaklaşmakta olan Optane SSD’leri hakkında bazı güncellenmiş bilgileri gördük. Optane SSD’lerin mevcut NAND flash sürücülere benzer ardışık performans sunması bekleniyor, ancak performansı çok daha iyi düşük sürücü kuyruklarında. Sürücü gecikmesi, NAND flash’ın kabaca yarısı (10 mikrosaniye, 20’ye karşı) ve dayanıklılık (günde 30 tam sürücü yazma, üst uç bir Intel SSD için günde 10 tam sürücü yazması ile karşılaştırıldığında). Şimdilik, Optane hala büyük ve ölçek ekonomilerinden yararlanan NAND flash’la eşleşmek için çok yeni ve pahalı, ancak bu gelecekte değişebilir.

  • Site İçi Yorumlar

Aşağıdaki Boş Yeri Doldurun *Captcha loading...

En az 10 karakter gerekli

Gönderdiğiniz yorum moderasyon ekibi tarafından incelendikten sonra yayınlanacaktır.