Öncelikle, sadece performansın düşmesine neden olan şeyin ne olduğunu anlayarak başlayalım. Bunu bilmeden birçok insan yetersiz çözümler önerecektir (daha önce de gördüğüm gibi). Tüm bu çıkmazın temel noktası, Wikipedia'dan da değinildiği gibi, temel olarak aşağıdaki gerçeğe dayanıyor . Unutma, önemli:
NAND flash bellekte, okuma ve programlama işlemleri her seferinde bir sayfa yapılmalı, kilit açma ve silme işlemi blok şeklinde yapılmalıdır.
SSD'ler NAND flaştan oluşur ve flaş "bloklardan" oluşur. Her blokta birçok "sayfa" var. Sadelik uğruna, sadece bir göze çarpan tek bir bellek bloğu içeren parlak bir SSD aldığımızı ve bu blokun 4 boş sayfadan oluştuğunu düşünelim.
Netlik sağlamak için boş sayfalar, kullanılmış sayfalar ve pages, 1 ve X işaretli sayfalar arasında ayrım yapıyorum. Buradaki anahtar her biri arasında kontrolörlerin bakış açısından bir fark olduğu! 1'ler ve 0lar kadar basit değil. Öyleyse, başlamak için, yeni sürücümüzdeki sayfalar şöyle görünür:
∅, ∅, ∅, ∅ (tümü boş)
Şimdi, sürücüye bazı veriler yazmaya gidiyoruz ve ilk sayfada saklanması sona eriyor, böylece:
1, ∅, ∅, ∅
Daha sonra, biraz daha fazla veri yazıyoruz, ancak bu sefer iki sayfa gerektirecek kadar yeterli ve böylece 2. ve 3. sayfada saklanıyor:
1, 1, 1, ∅
Alanımız tükeniyor! Yazdığımız ilk verilere gerçekten ihtiyacımız olmadığına karar veriyoruz.
X, 1, 1, ∅
Son olarak, kalan iki sayfayı tüketecek şekilde kaydetmemiz gereken başka bir büyük veri setine sahibiz. BU TRİM OLMADAN SÜRÜCÜLERDE PERFORMANS VARLIK NEREDE OLUR? Son durumumuzdan şuna:
1, 1, 1, 1
... çoğu insanın düşündüğünden daha fazla iş gerektirir. Yine bu, flaşın sadece blok şeklinde silinebilir, sayfadaki değil, tam olarak yukarıdaki son geçişin tam olarak neyi ifade ettiğidir. SSD en esaslı TRIM ve non-TRIM arasındaki farklılaştırıcı olduğu zaman aşağıdaki çalışma yapılır!
Boş bir sayfadan ve silinmiş bir sayfadan faydalanmamız gerektiğinden, SSD'nin önce tüm bloğun içeriğini bir miktar harici depolama / belleğe okuması, orijinal bloğu silmesi, içeriği değiştirmesi ve sonra bu içerikleri tekrar yazması gerekir. blok. Bir "yazma" kadar basit değil, şimdi bir "okuma-silme-yazma" haline geldi. Bu büyük bir değişimdir ve çok fazla veri yazarken gerçekleşmesi, gerçekleşmesi için muhtemelen en uygun zaman değildir. Bu "silinmiş" sayfanın önceden TRIM'in yapması amaçlandığı şekilde kurtarılmış olması halinde her şeyden kaçınılabilir. TRIM ile, SSD ya silindikten hemen sonra ya da TRIM algoritmalarının uygun gördüğü başka bir uygun zamanda silinmiş sayfalarımızı kurtarır. Önemli olan, TRIM ile bir yazının ortasında olduğumuzda olmamak!
TRIM olmadan, sürücülerimizi verilerle doldururken yukarıdaki senaryodan kaçınamayız. Neyse ki bazı yeni SSD'ler sadece TRIM'in ötesine geçiyor ve gerekli ATA komutları olmadan donanım seviyesinde arka planda TRIM ile aynı şeyi yapıyorlar (bazıları bu çöp toplama işlemidir). Ancak, sahip olamayacak kadar şanssız olanlarımız için, orijinal performansı geri kazanmak için tüm sürücüye sıfır yazmanın yeterli olmadığını bilmek önemlidir. Tüm sıfırların sürücüye yazılması, denetleyiciye flaş sayfanın yazma için boş olduğunu göstermez. Bunu TRIM'i desteklemeyen bir sürücüde yapmanın tek yolu, HDDErase (Wayback Machine üzerinden) gibi bir araç kullanarak sürücünüzdeki ATA güvenli silme komutunu çağırmaktır .
Ben inanıyorum sadece silme bölümleri üzerine veya Windows 7'nin "diskpart hepsi temiz" değil, bireysel dosyaların silinmesi üzerine gibi şeyler üzerine TRIM desteklenen bazı erken SSD en vardı. Bu, eski bir sürücünün, bu komutu yerine getirdikten sonra performansı yeniden kazanmasının ortaya çıkmasının bir nedeni olabilir. Bu bana biraz puslu görünüyor ama ...
SSD'ler ve genel olarak donanım / gadget'lar hakkındaki bilgilerimin çoğu anandtech.com'dan geliyor . Tüm bunları anlatan harika bir yazı olduğunu düşündüm ama benim için yaşamı bulamıyorum!