ANKET

Sitemizde En Çok Hangisinin İncelemesini Görmek İstersiniz ?

Dizüstü Bilgisayar - 16 ( 28.07 % )

Ekran Kartı - 10 ( 17.54 % )

RAM - 1 ( 1.75 % )

Intel NUC Mini Bilgisayar - 1 ( 1.75 % )

USB Bellek - 2 ( 3.51 % )

Sadece SSD Yeterli ! - 27 ( 47.37 % )

TÜM ANKETLER

TOPLAM REY : 57

SON TWEETLER

SON YORUMLAR

Write Amplification ( WA ) Nedir, Nasıl Çalışır ?

Yazar: 26-11-13  15:02

 

Write_Amplification-1-0

 

Write Amplification ( WA )  A’dan Z’ye SSD Rehberimizin bir evvelki sayfasında NAND Flash belleklerin mâhiyetinden ve çalışma kâidelerinden bahsetmiş ve işin yazılım cihetinin, yâni NAND yongalarını idâre edecek olan kontrolcünün ön plâna çıktığını belirtmiş idik. Kontrolcünün işleyiş mantığından söz ederken hatırlayacağımız üzere 8 unsur saymıştık, şimdi onları tekrar edelim:

 

 

  • Write Amplification
  • ECC ( Error Correction Code )
  • Over-Provisioning
  • Wear Levelling
  • Garbage Collection
  • TRIM
  • Firmware
  • Tampon Bellek

 

 

SSD kontrolcüsünü anlama açısından saydığımız bu sekiz unsur arasından en fazla ehemmiyete hâiz mefhum olan Write Amplification’ı ele alalım:

 

Write Amplification, işletim sisteminin yazmak istediği veri miktârı ve SSD kontrolcüsünün yazmakla mükellef olduğu miktar arasındaki nisbetdir. Bu değer her katı hâl diski için taşıdığı kontrolcüye göre değişmektedir. Misâllendirir isek, bilgisayarımızda 1GB’lik bir veri yazmak istediğimizde SSD’miz bunu yapabilmek için arka plânda 1GB’den fazla miktarda yazma işlemi yapmak zorundadır. Çünkü, daha öncede zikrettiğimiz üzere NAND Flash bellekli SSD’lerde veri ancak boş sahaya tatbik edilir ve okuma / yazma işlemi ancak Page’ler, silme işlemi de Block’lar bazında gerçekleştirilir.

 

Makâlemizin iş bu sayfasında katı hâl disklerindeki Kontrolcü ve NAND Flash bellekler arasındaki emir komuta zincirinde en mühim unsur olan Write Amplification’ı yakından tanıyacak ve kontrolcü üreticilerinin NAND Flash teknolojisinin bu kamburuna mümküm olduğunca takılmamak için geliştirdikleri çözümleri göreceğiz.

 

 

Îmâlât bandından çıkan bir SSD’de Page’ler temiz, yâni silinmiş durumdadır ve üzerine veri yazılmaya hazırdır. Sâbit disklerdeki gibi verinin bir arada yazılma mecbûriteyi olmadığından SSD kontrolcüsü veriyi belleklere dağıtarak yazar. Bunun sebebi de Flash bellek yongalarının bir yazma / silme ömürlerinin olmasıdır. Buna İngilizce’de Program / Erase cycles = PECycles denilir.

 

Günümüzde îmâl edilen son kullanıcı SSD’lerinde kullanılan NAND belleklerin ekserisi MLC tipi olup 19nm ilâ 25nm arasında değişen üretim teknikleri ile hazırlanırlar. Bu şekilde vücûda getirilmiş umûmî bir katı hâl diskinin taşıdığı NAND yongalarının ömrü takrîben 2.000 – 3.000 devir arasıdır. Yâni SSD’nin devir ömrü, onun NAND belleklerine toplamda kaç TB ( TeraByte ) veri yazılma imkânı olduğunu ifâde eden rakamdır. Bu değerin üzerine çıkıldığında hücreler ölmeye başlar ve SSD’de performans düşüklüğü yanında veri kaybı sıkıntıları da baş gösterir.

 

 

Evvelâ WA denklemimize bir göz atıp, ardından normal bir son kullanıcı için durum bu kadar endişe verici midir değil midir şimdi hep birlikte bakalım:

 

 

Write-Amplification-Denklemi

 

 

Burada Write Amplification değerinin ise her bir SSD’de farklılık arz edeceğini belirtelim. Çünkü kontrolcü üreten ve firmware yazan firmaların kullandıkları husûsî algoritmalar burada anahtar rôl oynamaktadır. İş bu sebeble SSD îmâtlatçısı olan firmalar arasındaki rekâbet de bu sahada yoğunlaşmaktadır.

 

Write Amplification değerinin her kontrolcüde farklı olabileceğini söylemiş idik. Emsâl teşkil etmesi için WA değerini 1x kabûl edebiliriz. Fakat, yukarıda da belirttiğimiz üzere firmaya göre değişik değerler söz konusudur. Bunu misâllendirecek olur isek, kötü SSD’lerde bu rakam 10 ilâ 20x  arasında değişirken, mûteber kabûl edebileceğimiz modellerde ise daha aşağıya çekilebilmekte. Meselâ Intel’in belirttiğine göre X25-M serîsinde bu rakam 1.1x kadardı. Yâni, Intel’in adı geçen model SSD’si ile 1GB dosya yazmak istedeğimizde nazâriyede ( teoride ) 2.2GB veri yazmak durumunda kalırız. Buna kontrolcünün ihtivâ ettiği ECC, Garbage Collection, Wear Levelling ve TRIM’i da eklediğimizde ( çünkü bunlar da Flash bellek idâresinde kontrolcünün taşıdığı, kendilerine tahsis edilen saha ve vakitlerde vazîfelerini îfâ ederken belli miktarda yazma işlemi gerçekleştiren komutlardır ), en nihâyetinde tablomuzdaki rakamlar, SSD’nin o anki umûmî durumu ve kontrolcüdeki bu komutların hem kendi kendilerine hem de birbirleri ile çalışma muvaffakiyet ve uyumlarının nisbetine göre artış göstermektedir. Çünkü her kontrolcü üreticisi aynı kalitede silikon ve yazılım îmâl edemez, müşterek bir çalışma ya da kopyalama gibi durumlar söz konusu değilse, hepsinin kendine has bir teknoloji vücûda getirme usûlleri vardır.

 

SSD tercîhi yapar iken dikkât edilmesi gereken husus da kullanıcının kendisine ‘’ Bilgisayarımda günlük ne kadar veri yazıyorum ? ‘’ suâlini sormasıdır. Çünkü her kullanıcının ihtiyaçları farklılık arz edecektir. Meselâ, günlük bilgisayar kullanımı toplamda 20GB veri yazımına tekâbül eden bir kullanıcı için 120GB MLC tipi ve 3.000 devir NAND ömrüne sâhib bir SSD’nin ortalama yazma ömrünü hesablayalım. Bu denklem için SSD’nin kapasitesi ve NAND’ların devir ömrü çarpılır:

 

 

SSD-Omru-Hesablama

 

 

Denklemimizin netîcesine göre SSD’mizin NAND bellekleri toplamda 360 TB ömre sâhibtir. Fakat, muhtelif kullanım şekillerine göre kontrolcünün Write Amplification değeri değişebilmektedir. Yâni, Page ve Block’ların o anki vaziyetine göre kontrolcü, yeni bir veri yazmadan evvel durumu tetkik eder ve en düşük WA değeri ile veriyi yazmaya ya da silmeye çalışır. Bu tür durumlarda Write Amplification değeri, kontrolcünün kalitesine göre 40x gibi ürkütücü değerlere kadar yükselebilir. Kaldı ki, daha evvel kontrolcünün ihtivâ ettiği belli komut setlerinin de kendi vazîfeleri esnâsında bir miktar yazma işlemi gerçekleştirdiklerini belirtmiştik. Bunların net bir değerini ifâde etmek zor, fakat burada tahmîni bir rakam zikredebiliriz.

 

Günlük kullanımda da SSD’mizin Write Amplification değerini 5x, mevzû bahis komut setlerinin de işlediği veri değerini 2x şeklinde alır isek,

>Misâl aldığımız kullanıcımız da günde 20GB veri yazıyor idi:

 

 

Write-Amplification-Hesablama

 

 

Takrîben 7 seneye tekâbül eden bu rakam normal bir kullanıcı için hayli hayli kâfîdir. Fakat, tedbîr maksadı ile bu değerlerin bir ortalama olduğunu tekrar hatırlatalım. Günümüzde hergün 20GB veri yazan kullanıcı sayısı cüz’î derecededir. Kullanıcıların kâhir ekserîsi umûmen okuma işlemine dayanan uygulamalar üzerinden çalışmaktadır.

 

 

 

Kontrolcü üreten firmaları daha uzun ömürlü SSD vücûda getirebilme hedefinde kendilerini en zorlayan unsur olan Write Amplification’ı ortadan kaldırmak mümkün değildir, ki NAND Flash belleğin temelinde bu mefhum yatmaktadır. WA unsurunu mümkün mertebe en az seviyede tutabilmek adına her bir îmâlâtçı firma farklı algoritmalar geliştirme yoluna eğilmekte, bu vesîleyle pazarda ayağını daha sağlam basmayı ummaktadır.

 

 

Kontrolcünün Flash bellek idâresindeki en büyük yükünü teşkil eden Write Amplification kısmı burada bitti. Şimdi ise daha evvel bahsetmiş olduğumuz 8 unsurdan ikincisi olan ECC ( Error Correction Code ) kısmına geçeceğiz.

 

 

 

 

 

İKTİBASLAR:

 

 

 

 


  • ugr krl

    Çok açıklayıcı anlatılmış . emeğinize sağlık. yalnız “1.1x kadardı. Yâni, Intel’in adı geçen model SSD’si ile 1GB dosya yazmak istedeğimizde nazâriyede ( teoride ) 2.2GB veri yazmak durumunda kalırız.” kısmında 1.1Gb olmuyormu. sonuçta 10gb veri yazmışız , nand bloklarına 11gb yazılmış olmaz mı sonuç olarak ?