- Giriş: Neden SSD?
- SSD Ünitelerinin Yapısı ve Çalışma Mantığı
- Write Amplification Fenomeni
- Performansı Doğru Algılama ve SSD Seçimi
- Montaj, İşletim Sistemi Kurulumu ve Optik Sürücüye 2. Disk Sürücü Montajı
- Secure Erase
- Maksimum performans için ayarlama: SSD optimizasyonu
- Özet: Sık sorulan sorular ve cevapları
- EK 1: OCZ Toolbox ve Linux based Tools ile Firmware Güncelleme
Yazı boyunca Page, Block, Plane, Write Amplification, Over-provisioning, Garbage collection vs. gibi pek çok Türkçe olmayan ama SSD literatüründe bu şekilde bilinen terim geçecek veya geçti. Normalde bunların Türkçe karşılıklarını kullanma taraftarıyım ama alttaki sebeplerden dolayı -istemeyerek de olsa- yazı boyunca bütün terimleri orjinal hallerinde kullandım:
Hatam oldu ise affola. |
SSD üniteleri marka, model, form faktör, kapasite gibi pek çok değişken yüzünden birbirinden farklı yapılarda olabilir. Ancak bir SSD ünitesi temel olarak alttaki elemanlardan oluşur;
- PCB (Baskı Devre Kartı)
- Bilgisayara bağlantıyı sağlayan bir ara yüz (SATA veya PCI-E)
- İşlemci başka bir deyişle SSD Kontrolcüsü
- NAND flash bellek çipleri
PCB (Baskı Devre Kartı) resimde yeşil olarak gördüğünüz ve bütün elemanları üzerinde barındıran ve onların iletişimlerini sağlayan bir eleman. Konu daha çok elektronik ile alakalı bu yüzden geçiyoruz. Ama diğer elamanları detaylıca inceleyeceğiz...
ARAYÜZ
Ara yüz terimini bilgisayar terminolojisinde bir donanımın diğer donanım ya da donanımlarla ilişkisini sağlayan bağlantı tipini tanımlamak için kullanıyoruz. Böyle söyleyince bir şeye benzemedi bu yüzden gerçek hayattan örnekler vereyim:
- Ütünüzün elektrik şebekesinden güç alabilmesi için kullandığınız fiş, priz kablo üçlüsü bir ara yüzdür.
- Arabanıza bir akaryakıt istasyonundan yakıt doldururken kullandığınız hortum bir ara yüzdür.
- Bilgisayarınızdan panel televizyonunuza görüntü aktarımı için kullandığınız HDMI bağlantı noktaları bir ara yüzdür.
Her ara yüzün yapabileceklerinin bir sınırı vardır ve birbirine bağladıkları donanımı doğrudan etkilerler. Örneğin 550 MB/sn. okuma yazma hızına sahip bir SSD ünitesini USB 2.0 ara yüzü ile bilgisayara bağlarsanız USB 2.0 ara yüzünün sınırlamalarına tabi olursunuz. Yani SSD üniteniz 550 MB/sn. okuma yazma hızına sahip olduğu halde bilgisayarla olan iletişimi USB 2.0 ara yüzünün ortalama hızı olan 35 MB/sn. olacaktır. Buradan çıkartmanız gereken sonuç şu:
Ara yüz sınırlamaları dominanttır. Birbirine bağladığınız donanımların hızı, kapasitesi, kabiliyetleri ne olursa olsun kullanılan arayüzün sınırlamalarına tabi olacaklardır.
Bu açıklamadan sonra gelelim SSD ünitelerinde kullanılan ara yüzlere. SSD ünitelerinde şu anda 2 çeşit ara yüz kullanılıyor: SATA ve PCI-E (PCI Express)
PCI-E daha hızlı bir ara yüz ve sadece masaüstü bilgisayarlarda kulanılabiliyor. SATA ara yüzü ise an itibari ile piyasada bulunan modellerde SATA 3.0 GBit/s (SATA 2) ve SATA 6.0 GBit/s (SATA 3) olarak 2 tipte bulunuyor.
Bunların dışında genelde üreticilerin notebook kasası içinde entegre olarak barındırdığı mSATA ara yüzü mevcut ama bu kafanızı karıştırmasın. mSATA, SATA 2 ya da SATA 3 gibi bir SATA ara yüzü nesli değil sadece SATA ara yüzünün ufaltılmış hali. Yani mSATA bir disk SATA 2 ya da SATA 3 olarak üretilebilir. Altta 2.5" bir sabit diskin üzerinde mSATA ara yüzlü bir SSD görüyorsunuz. Gördüğünüz gibi oldukça ufak;
SATA 2 ara yüzü 280 MB/s veri aktarma kapasitesine sahipken, bu aktarım hızı SATA 3 ara yüzünde 550 MB/s. Burada ayrıntıya girmeden bilmeniz gereken en önemli nokta şu:
Bütün SATA SSD üniteleri hem geriye hem ileriye yönelik uyumludur.
Yani bilgisayarınızda sadece SATA 2 portu olsa da SATA 3 ara yüzüne sahip bir SSD ünitesini sorunsuzca kullanabilirsiniz. Yada SATA 3 portu olan bir bilgisayara SATA 2 ara yüzüne sahip bir SSD ünitesi takabilir ve sorunsuzca kullanabilirsiniz. Ancak her iki durumda da hızınız SATA 2 düzeyinde olacaktır. SATA 3 hızını kullanabilmeniz için hem bilgisayarın SATA 3 portu olmalı hem de SSD üniteniz, SATA 3 ara yüzüne sahip olmalı.
Buna rağmen bilgisayarınızda SATA 3 portu olmasa bile tercihiniz SATA 3 bir SSD modeli olsun. Çünkü aralarında hem fiyat farkı yok hem de ileride bilgisayarınızı değiştirme ihtimali belirirse pişman olmazsınız.
SSD Kontrolcüsü
Tüm SSD üniteleri, yazma ve okuma işlemini düzenleyen ve bilgisayarlarda kullandığımız işlemcilere benzer hesaplama kabiliyetleri olan kontrolörlere sahiptir. Bu kontrolör SSD ünitesini SSD yapan şeydir ve performansına direkt etki eder. Performansı etkileyen şeyler ise çok çeşitlidir: aynı anda yazılabilecek veri miktarı, yazma hızı, bellek bant genişliği ve bellek verimliliği bunların başında gelir. İşte tüm bunları yöneten ve performansı belirleyen bellek kontrolörüdür.
Kontrolörün en önemli olduğu konu ise performansa çok önemli etkisi olan "Write Amplification" fenomenidir. Bu fenomeni tüm ayrıntılarıyla bir sonraki yazıda anlatacağım ama kısaca tanımlamak gerekirse;
Write Amplification, SSD kontrolcüsünün yazmak zorunda olduğu veri miktarı ile işletim sisteminin yazmak istediği veri miktarı arasındaki orandır. Bu değer standart bir SSD ünitesi için 1'in üstündedir. Yani 1 MB boyutunda veri yazmak istediğinizde SSD ünitesi bunu yapabilmek için 1 MB'tan fazla miktarda yazma işlemi yapmak zorundadır.
Günümüzde kontrolcü piyasasını domine eden kontrolcü, SandForce. Bu kontrolcünün en büyük özelliği verileri sıkıştırma kabiliyetine sahip olması ve bu yeteneğe sahip tek kontrolcü olması. Üreticisinin DuraClass olarak adlandırdığı bir teknoloji paketine sahip ve bu teknoloji yüksek kapasitede ön belleklere ihtiyaç olmadan Write Amplification oranını 1'in altına çekmeyi mümkün kılıyor. DuraClass teknolojisine sahip bir SandForce SSD kontrolcüsü, daha etkili sayfa yönetimi algoritmaları kullanarak Garbage Collection (Çöp toplama-Bir sonraki makalede inceleyeceğiz) ihtiyacını minimum seviyelere indiriyor. Bu ise performansı arttırıyor. Bir SSD ünitesinin SandForce kontrolcüye sahip olup olmadığını anlamanın en kolay yolu okuma ve yazma hızlarına bakmak. Yazma hızı sadece SandForce kontrolcüye sahip SSD ünitelerinde okuma hızına yakın (Neredeyse eşit) olabiliyor. Diğer kontrolcülerde ise bu oran neredeyse yarı yarıya.
SandForce kontrolcülerin dışında Marvell, Intel, Samsung, JMicron ve Phison gibi kontrolcüler mevcut. Bunların içinde SandForce kontrolcülere rakip olabilecek en güçlü kontrolcü Marvell. Marvell kontrolcüler yukarıda bahsettiğim gibi verileri sıkıştırma kabiliyetine sahip değiller. Bu yönde SandForce kontrolcülerin gerisinde kalıyorlar. Ancak bunun sadece yazma anlamında geçerli olduğunu not olarak düşeyim. Öte yandan olay film, fotoğraf ve ses dosyaları gibi sıkıştırılması pek mümkün olmayan dosyaların yazılmasına geldiğinde SandForce kontrolcüler bu avantajlarını kaybediyorlar ve Marvell ile aynı performans seviyesine geliyorlar. Buna ek olarak Marvell kontrolcülerin Trim komutunun kullanılamadığı durumlarda -daha iyi bir Garbage Collection performansına sahip oldukları için- daha performanslı çalıştıkları göz önüne alındığında RAID yapılandırmalarda Marvell kontrolcüye sahip SSD ünitelerinin daha avantajlı olduğu söylenebilir.
Özetlersek, hangisinin tercih edileceği tamamen kullanıcı profiline bağlı. Ancak çok miktarda sıkıştırılabilir verinin kullanıldığı klasik kullanıcı senaryolarında SandForce kontrolcüsüne sahip SSD ünitelerinin tercih edilmesi daha mantıklı. Piyasayı SandForce kontrolcülere sahip SSD'lerin domine etmesinin, pek çok üreticinin bu kontrolcüleri tercih etmelerinin -şimdilik- sebebi de bu.
NAND flash bellek çipleri
Bu kısım NAND flash bellek çiplerinin çalışma mantığından çok bu çiplere sahip bir sürücünün (SSD) veriyi hangi prensiplerle depoladığına ve dolayısıyla genel SSD depolama mantığını açıklamaya yönelik olacak. Ancak konuyu doğru anlayabilmek için önce HDD'lerin yapısını ve çalışma mantığını anlamak gerekiyor...
Klasik sabit diskler (HDD) birbirlerine paralel bir çok plakadan oluşurlar. Bu plakaların her iki yüzüne de bilgi yazılır. Veri yazma ve okuma işini kafa (Head) yapar. Her plakanın iki yönü için birer kafa mevcuttur. Örneğin diskinizde 2 plaka varsa bunun 2 katı kadar yani 4 kafa vardır.
Bir plakadaki yarıçapı farklı olan her çembere ise Track (İz) denir. Geometriden bildiğiniz üzere bir daire sonsuz sayıda çemberden oluşur. Bizim dairelerimiz (Track) o kadar ince olmadığı için sayısı sonsuz değildir ama oldukça fazladır ve bu Track'lar birleşerek plakayı oluşturur.
Cylinder (Silindir) ise Track'la çok benzerlik gösterse de küçük bir nüans farkı ile farklı şeylerdir. Cylinder farklı plakalardaki aynı yarıçapa sahip Track'ların toplamını ifade eder. (Bir HDD de birden fazla plaka olduğunu ilk paragrafta belirmiştim) Örneğin 4 tane plakası olan bir HDD'de Cylinder 1 dediğimizde bu 4 plakadaki bütün Track 1'lerin toplamı demektir. Alttaki resmi incelerseniz kafanızda oturtabilirsiniz.
Her plaka ise mantıksal olarak, eşit açılarla çeşitli parçalara bölünmüştür. Her bir Track'in belirli bir açıya karşılık gelen bir kısmı Sector (sektör) olarak adlandırılır. Sector bir HDD'deki adreslenebilir en küçük noktadır. Boyutu ise genellikle 512 byte olsa da yeni HDD'lerde 4096 byte (4 KB veya 4K) olabilir. (HDD üreticileri bunu Advanced Format Sectors olarak adlandırıyorlar) Altta bu konuyu anlaşılır kılan başka bir resim görüyorsunuz.
Şimdi ise daha kritik bir noktaya değineceğim: Cluster.
Cluster şimdiye kadar anlattığım terimlerin aksine disk yapısı ile ilgili değil dosya sistemleri ile ilgili bir terim. (Örneğimizde NTFS) Cluster, HDD'deki verileri işletim sisteminin daha etkin adresleyebilmesi için kullanılan ve 8 sektörden oluştuğu için büyüklüğü 4096 Byte/4 kibibyte (KiB) olan bir mantıksal depolama alanı. Yani disk en küçük 512 Byte'lık okunabilir birimlerden oluşurken kullandığımız dosya sistemi (NTSF) en küçük 4096 Byte'lık birimler (Cluster) kullanıyor. Bunu biz diski biçimlendirirken ayarlayabiliyoruz ama optimum Cluster boyutu 4096 Byte olduğu için varsayılan biçimlendirme ayarı bu. Alttaki resmi incelediğinizde Cluster'in anlamını kafanızda canlandırabileceksiniz;
NAND flash bellek Çiplerinin depolama prensiplerine geçmeden önce yapısal özellikleri ile ilgili 2 konuyu açıklığa kavuşturmak gerekiyor;
Bir SSD ünitesinin en küçük yapı elemanı NAND-flash hücrelerdir. Bir NAND-flash hücre, 1 ya da 2 byte veri saklayabilir. Eğer 1 Byte depolayabiliyorsa Single Level Cell (SLC), 2 Byte depolayabiliyorsa Multi Level Cell (MLC) adı verilir. SLC tipi NAND-flash hücrelere sahip SSD üniteleri daha uzun kullanım süresi, daha yüksek veri yazma hızları ve sistem dosyası gibi küçük boyutlu çok sayıda dosyayı daha iyi işleme yeteneklerine sahiptir. Ancak bunun konumuzla alakası yok çünkü piyasada satılan tüketici tipi SSD ünitelerinin tamamı MLC olduğu için seçim şansınız -en azından yakın zamanda- yok. SLC tipi NAND-flash hücrelere sahip SSD üniteleri Enterprice SSD olarak adlandırılıyor ve üreticileri Smart, STEC ve -Sandisk'in satın aldığı- Pliant gibi tüketici tarafından pek bilinmeyen firmalar. Bunların hedef kitlesi ise kurumsal uygulamalar.
SLC, MLC kavramını açıklığa kavuşturduktan sonra Senkron (Synchronous) ve Asenkron (Asynchronous) kavramına da kısaca değinmek istiyorum. Aslında aralarındaki fark gayet basit: Senkron Nand Flash Çiplere sahip SSD üniteler, Asenkron Nand Flash Çiplere sahip SSD ünitelere karşı sıkıştırılamayan (Video, Fotoğraf, Ses gibi. Bunların sıkıştırılamamasının sebebi bu dosyaların zaten çok etkin sıkıştırma algoritmaları ile sıkıştırılmış olmaları) verilerin transferinde daha performanslılar. Ancak bu fark "Kağıt üzerinde" bir fark. Normal bir kullanıcı hatta bir uzmanın dahi benchmark testleri yapmadan gündelik kullanım senaryolarında aralarındaki farkı anlamasının imkânı yok. Unutmayın benchmark testleri başka şeydir, gerçek kullanım senaryolarında alınan performans başka bir şeydir.
Özetlersek Benchmark testlerine aldanmayın. Eğer Asenkron bir SSD ile Senkron bir SSD arasında kayda değer bir fiyat farkı varsa asenkron olanı tercih edin. Çünkü -gündelik kullanım senaryolarında- aralarında hiçbir performans farkı olmayacaktır. (Bunları ileride SSD ünitelerinde performansı doğru algılama ve yanlışlar/doğrular kısmında detaylıca açıklayacağım)
"Peki Senkron SSD üniteleri kime hitap ediyor?" sorusu aklınıza takılabilir. Senkron SSD üniteleri tercih etmesi gereken kullanıcılar sadece profesyonel olarak Video, fotoğraf ve ses dosyaları ile uğraşan kullanıcılar olmalı. Bunların dışındaki kullanıcıların Senkron Nand Flash Çiplere sahip bir SSD alması neredeyse "0" performans farkı karşılığında %20-40 daha fazla ödemesi anlamına gelecektir. Tabii bu söylediklerim kayda değer fiyat farkı olduğunda geçerli. Fiyatlar birbirine çok yakınsa senkron diskleri tercih etmeniz daha mantıklı doğal olarak.
Altta an itibari ile (Ağustos 2012) piyasada satılan SSD ünitelerinin -bir kısmının- hangisinin senkron hangisinin asenkron olduğuyla alakalı bir tablo görüyorsunuz;
Senkron | Asenkron | |
OCZ | Vertex 3-4, Synapse | Agility 3-4 |
Corsair | Force GT | Force 3 |
Kingston | HyperX, HyperX 3k | SSDNow V+200 |
Intel | SSD 520 | |
Sandisk | Extreme |
NAND flash depolama nasıl işler?
Bu kurallar her SSD ünitesinde performansa direkt olarak etki ediyorlar;
İşte bu kuralların getirdiği kısıtlamalar SSD teknolojisinin gelişiminin bu kadar zaman almasının ve zorlanmasının sebebi. Write Amplification konusunu işlerken bu kuralları getirdiği kısıtlamaları/zorlukları ayrıntılı olarak anlatacağım... |
Yukarıda HDD'lerin çalışma prensibini anlatırken Plaka, Track, Sector, Cylinder gibi terimlerle konuyu anlatmıştım. SSD ünitelerinde ise bu kavramların karşılığı farklı terimlerle ifade edilir.
Yukarıda da bahsetmiştim bir SSD ünitesinin en küçük yapı elemanı NAND-flash hücrelerdir. (NAND-flash cell) Bunlar birleşerek sayfaları (Page), blokları (Block), planyaları (Plane), zarları (Die) ve tek bir NAND flash belleği (NAND flash chip) oluştururlar. Birden fazla NAND flash belleğin birleşimi ile de SSD ünitesinin depolama alanı oluşur.
Ancak bir SSD ünitesinin yapısal olarak ve dosya sistemi açısından yapı elemanlarının sıralanması farklıdır. Yapısal olarak küçükten büyüğe NAND-flash cell < Page < Block < Plane < Die < NAND flash chip sıralaması yapılabilecekken depolama anlamında sıralama şu şekilde olur: Page < Block < Plane < Die < NAND flash chip.
Bundan sonra bizde konuyu depolama anlamında ele alacağımız için NAND-flash hücrelere veda ediyoruz ve Page'den başlıyoruz.
Page; 4 KB büyüklüğünde SLC veya MLC hücre kullanımına bağlı olarak farklı sayıda NAND-flash hücrenin birleşiminden meydana gelen bir depolama alanıdır. Önemli olduğu için tekrar vurguluyorum;
Bir SSD ünitesinde yazılıp okunabilecek en küçük boyut Page'dir, yani 4 KB'tır.
4 KB'lık 128 adet Page ise birleşerek bir Block oluşturur.
Block'un boyutu ise (Hesaplaması kolay: 128 * 4 KB) 512 KB'tır.
Block'un önemini ise tekrar vurgulamak istiyorum:
Block SSD ünitelerinde silinebilir en küçük boyuttur. (512 KB)
Block'lar birleşerek (1024 adet) Plane'leri oluştururlar. Bir Plane, 512 MB boyutundadır. (1024 * 512 KB = 512 MB)
Kesin olarak anlatılabilecek kısım buraya kadar. Bundan sonrası markaya, modele göre değişiyor. Plane'ler birleşerek Zar'ları (Die) oluşturuyorlar. Altta bir Zar (Die) görüyorsunuz;
Bu zarların birkaç tanesi paketlenerek NAND flash bellekler oluşturulur. (Alttaki resim)
Bunların yeteri kadarı bir PCB üzerinde birleştirilip diğer temel bileşenler eklenerek (Kontrolcü ve SATA ara yüzü) bir SSD ünitesi oluşturulur.(Alttaki resim)
Sonraki bölüm:
Hiç yorum yok:
Yorum Gönder