Flash bellek denetleyicisi - Flash memory controller

Lexar USB stick 8 GB - Silicon Motion SM3253L - USB 2.0 tek kanallı flash denetleyici.

Bir flash bellek denetleyicisi (veya flash denetleyicisi ), flash bellekte depolanan verileri yönetir ve bir bilgisayar veya elektronik cihazla iletişim kurar . Flash bellek denetleyicileri düşük faaliyet için dizayn edilebilir görev döngüsü gibi ortamlarda SD kartlar , CompactFlash kartları veya diğer benzeri medya kullanılmak üzere dijital kameralar , PDA'lar , cep telefonları , vb USB flash sürücüler ile iletişim kurmak için tasarlanmış flash bellek denetleyicileri kullanmak kişisel düşük görev döngüsünde USB bağlantı noktası aracılığıyla bilgisayarlar . Flaş denetleyicileri, dizüstü bilgisayar sistemleri için veri depolaması olarak kullanılan katı hal sürücüleri (SSD) gibi daha yüksek görev döngüsü ortamları için de görev açısından kritik kurumsal depolama dizilerini temizler .

İlk kurulum

Başlangıçta bir flaş depolama cihazı üretildikten sonra, flaş denetleyici ilk olarak flaş belleği formatlamak için kullanılır. Bu, aygıtın düzgün çalışmasını sağlar, bozuk flash bellek hücrelerini haritalandırır ve gelecekteki arızalı hücrelerin yerine kullanılmak üzere yedek hücreler tahsis eder. Yedek hücrelerin bir kısmı , denetleyiciyi çalıştıran aygıt yazılımını ve belirli bir depolama aygıtı için diğer özel özellikleri tutmak için de kullanılır . Denetleyicinin mantıksal sektör taleplerini gerçek flash bellek yongaları üzerindeki fiziksel konumlara dönüştürmesine olanak sağlamak için bir dizin yapısı oluşturulur.

Okuma, yazma ve silme

Sistem veya aygıtın flash bellekten veri okuması veya bu bellekten veri yazması gerektiğinde, flash bellek denetleyicisi ile iletişim kuracaktır. SD kartlar ve USB flash sürücüler gibi daha basit cihazlar tipik olarak aynı anda bağlanan az sayıda flash belleğe sahiptir. İşlemler, bağımsız flash bellek kalıbının hızıyla sınırlıdır. Buna karşılık, yüksek performanslı bir katı hal sürücüsü, tek bir flaş kalıbından çok daha fazla hızları mümkün kılmak için paralel iletişim yollarına sahip bir matriste organize edilmiş 100 veya daha fazla kalıba sahip olacaktır.

Aşınma dengeleme ve blok toplama

Flash bellek sınırlı sayıda program silme döngüsüne dayanabilir. Belirli bir flaş bellek bloğu programlanmış ve başka herhangi bir bloğa yazılmadan tekrar tekrar silinmişse, bir blok diğer tüm bloklardan önce yıpranacak ve böylece depolama cihazının ömrünü vaktinden önce sona erdirecektir. Bu nedenle flaş denetleyicileri, yazma işlemlerini SSD'deki tüm flaş bloklarına mümkün olduğunca eşit bir şekilde dağıtmak için aşınma seviyelendirme adı verilen bir teknik kullanır . Mükemmel bir senaryoda bu, her bloğun maksimum ömrüne yazılmasını sağlar, böylece hepsi aynı anda başarısız olur.

Flash çeviri katmanı (FTL) ve haritalama

Genellikle flash bellek denetleyicileri, dosya sisteminin altında ana bilgisayar tarafı veya dosya sistemi mantıksal blok adreslerini (LBA'lar) flash belleğin fiziksel adresine (mantıksaldan fiziksele) eşleyen bir katman olan "flash çeviri katmanını" (FTL) içerir. eşleme). LBA'lar sektör numaralarına ve 512 baytlık bir eşleme birimine atıfta bulunur. Dosya sistemi tarafından görülebilen ve bu sistem tarafından yönetilen mantıksal boyutu temsil eden tüm LBA'lar, Flash'ın fiziksel bir konumuna (blok kimliği, sayfa kimliği ve sektör kimliği) eşlenir. Bir parçası olarak aşınma tesviye ve diğer flaş yönetim algoritmaları (kötü blok yönetimi, Rahatsız yönetimi, güvenli flaş vb işleme okuyun), bir LBA'nın fiziksel konumu dinamik sık değişebilir. Bir FTL'nin eşleme birimleri, LBA'ların blok, sayfa veya hatta alt sayfa tabanlı olarak eşlenmesi için farklılık gösterebilir. Kullanım modeline bağlı olarak, daha ince bir eşleme granülerliği, flaşın yıpranmasını önemli ölçüde azaltabilir ve flash tabanlı bir depolama ortamının dayanıklılığını en üst düzeye çıkarabilir.

FTL meta verileri kendi flaş alanını kapladığından, güç kaybı durumunda da korumaya ihtiyaç duyar. Ek olarak, haritalama tablosunun flaş belleğin diğer bölümlerinden önce yıpranması ve bir depolama cihazının ömrünün zamanından önce sona ermesi mümkündür. MRAM gibi daha dayanıklı depolama biçimleri FTL için de önerilmiş olsa da, kurumsal cihazlarda yedek parçalar için büyük boyutlu bir alan tahsis edilerek bu genellikle önlenir .

Çöp toplama

Katı hal depolama aygıtının her bloğu bir kez yazıldıktan sonra, flaş denetleyicinin artık geçerli verilere (eski bloklar olarak da adlandırılır) sahip olmayan bazı ilk bloklara geri dönmesi gerekecektir. Bu bloklardaki veriler yeni yazılan bloklarla değiştirildi ve şimdi bunlara yeni verilerin yazılabilmesi için silinmeyi bekliyorlar. Bu, çöp toplama (GC) adı verilen bir işlemdir . Tüm SSD'ler, CF Kartlar ve diğer flash depolama aygıtları bir miktar çöp toplama içerir. Bir flaş denetleyicinin bunu yapacağı hız değişebilir.

Referanslar