Bir SD / MMC Kartının, kendi kontrol cihazı ile seviyelendirme yaptığı doğru mu?


51

Bununla ilgili güvenilir bilgi bulamıyorum. SD / MMC Kart donanımının tam özelliklerine sahip değilim.

Bu doğru mu? Üst düzey uygulamamın bu kartlarla çalışırken aşınma dengelemesiyle ilgilenmesine gerek yok mu?

DÜZENLE

Birisi aşınma seviyesinin SD spesifikasyonu tarafından garanti edildiğini doğrulayabilir mi? Emin olmak istiyorum, çünkü çoğu satıcı bunu yapıyor gibi görünüyor, ancak şartname tarafından istenmiyor.


5
Tüm flash medya üreticileri aşınma dengeleme algoritmalarına yatırım yapmazlar. Üreticilerin pazara liderlik ettiği SSD'lerde aşınma seviyelendirme daha yaygındır.
Chetan Bhargava

Yanıtlar:


43

Eskiden SD derneğine üye olan bir şirket için çalışıyorum, 2.0 (SDHC) şartnamesini biliyoruz. SD kart spec aşınma seviyeleme için NO girişi vardır. Bu, tamamen tercih ettikleri takdirde, bunun üstesinden gelmek için SD üreticisine bağlıdır. Bazılarının muhtemel olduğunu gördük, diğerleri ise bunu yapmıyor (süper ucuz nakavt SD kartlarına dikkat edin). SDXC, aşınma seviyesini içerecek şekilde değişmiş olabilir, ancak bundan emin değilim. Maalesef bunu göstermenin tek yolu resmi şartnameye dikkat etmektir. En çok çevrimiçi bulabilirsin, ancak SD derneği gerçekten parasını ödemeni istiyor.

Bir yandan not olarak, 2GB'lık bir kart almak ve tekrar tekrar sona ermeye başlamak üzere yazmak, kart bitmeden ortalama olarak 10TB civarındadır ve artık yazılabilir değildir. Ayrıca, SD kartlar verilerin ne zaman kötü olduğunu size bildirmeyecek, yani PC harddrive gibi bir G / Ç hatası döndürmeyecektir. Bu, gömülü tasarımlar için bir sorun olmayabilir, çünkü 10 TB bir LOT veridir, ancak birisi için bir faktör olabilir.


2
Şartnamede olmasa da, şirketlerin itibarlarını korumak için hala bunu yapmak istediklerini tahmin ediyorum. Süper ucuz nakavtlar itibarı önemsemiyor olsa da, her şeyde ucuz görünmek isteyenlere satıyorlar. Bu mantıklı geliyor mu?
Kellenjb

1
@Kellenjb Bu çok makul bir varsayım ve şahsen sizinle aynı fikirdeyim. Ancak, spesifikasyonda olmadığı ve herhangi bir üreticinin SD kontrol cihazı tasarımlarına erişim kazanması pek mümkün olmadığından, kanıtlanamıyor. Yıllar boyunca birçok test yaptık, bazı önemli markalar diğerlerinden daha iyi performans gösteriyor. İç algoritmalarda farklılıklar veya bunların tam eksikliği olabilir.
Kris Bahnsen

4
Ucuz nakavtlar şartnamede olsa bile umursamayacaklar. Hemen müşteriye görünmez, eksik olabilir. IC olarak satış fişi satan insanlardan bahsediyoruz. Aşınma seviyelendirmesi yapılmayan bir marka kartı duymadım ama sanırım mümkün.
darron

@KrisBahnsen, kurtarılamaz bir hata olduğunda SD kartın gerçekte ne döndürdüğünü açıklayabilir misiniz? Bununla çok ilgileniyorum. Bu durumu tespit etmenin hiçbir yolu yok mu?
fred basset

3
@ fredbasset, ipliğin zombisinin yolu;) SD kart çalışmaları yaptığımdan bu yana bir süre geçti. Ancak, IIRC SD kartların kendileri fiziksel olarak istediklerini geri getireceklerdir. Yeni sürücülerden bazıları iyi sürücülerle birleştirildiğinde bir G / Ç hatası tespit edebiliyor olabilir. Bununla birlikte, eski SD kartların mayısları NAND'da depolanan kötü verileri döndürür ve onu iyi çağırır. Yazma tamamlanamıyorsa, bu bir GÇ hatası verir.
Kris Bahnsen

23

Bu doğru! MicroSD kartlar, bazı siyah plastiklerin içine yerleştirilmiş bir (ARM) mikrodenetleyiciye bağlı bir NAND flaş yongası içerir. http://www.bunniestudios.com/blog/?p=898 açıklar.

Takip yazısının sonunda http://www.bunniestudios.com/blog/?p=918 Bunnie, kontrol cihazını entegre etmenin muhtemelen flaşı test etmekten daha az masraflı olduğunu belirtti.

SanDisk'in SD kart ürün el kitabından alıntı: "1.9 Aşınma Dengeleme. Aşınma dengelemesi, NAND belleği kullanan SD Kartın silme havuzu işlevinin temel bir parçasıdır." Her şeyi SanDisk marka bir kartın veri sayfasında okuyabilirsiniz .


1
Bunnie Huang kesinlikle benim için yeterince güvenilir!
Vicatcu

Bunu bilmek güzel, ancak bu teknolojinin resmi özelliklerine dayanarak bu soruyu aydınlatabilecek birini bekleyeceğim.
ivarec

2
Digikey bana bir veri sayfasına bakmaya çalıştığımda bu işe yaramaz SanDisk broşürünü gösterdi . Wintec ve SWISSBIT bilgi formu daha iyiydi ve her iki aşınma tesviye söz etti. Digikey tarafından barındırılan veri sayfasına bağlanabilir misiniz?
Kevin Vermeer

Bunlar eski SanDisk'ten çok daha iyi.
joeforker

Wintec mükemmel değildi, ama yeni SanDisk olanı en iyisi! Düzenleme için teşekkürler.
Kevin Vermeer

19

Evet, SD / MMC kartlarda aşınma dengeleme yapan denetleyiciler var. Olmazlarsa, yanlış yazma düzenleriyle birkaç dakika içinde birini yok edebilirsiniz.

Bu aslında bazı gömülü projeler için bir sorun. Herhangi bir zamanda hangi sektörlerin hangi seviyelerde aşınabileceğini bilmenin kesinlikle hiçbir yolu yoktur (bu nedenle yanlış zamanda yapılan bir güç döngüsü, nerede yazıyor olursanız olun, kartın herhangi bir yerindeki verileri tahrip edebilir. (nasıl bildiğimi sorma :))

SD kartlar, temiz bir sistem kapanmasını garanti eden bir sistemde kullanılmalıdır (veya en azından yazma işlemine izin verilir), yoksa veri kaybı (sonunda) ortaya çıkar.

DÜZENLE

Sorun, aşınma dengeleme işleminin tamamen gizli olmasıdır. Diskteki HERHANGİ bir sektör herhangi bir zamanda hareket ettirilebilir (yazılı sayfa ile değiştirilir) ve eğer bu işlemin ortasında güç kesilirse, rastgele kesim bozulabilir.

Bu hamleyi uygulamak için makul derecede güvenli yollar varken, herhangi bir spesifikasyonda bulunmadığından, kartın yapacağına güvenemezsiniz. Bir kartı test edebilirsiniz, çalışmasını sağlayın, ardından üretici parça numarasını değiştirmeden uygulamayı değiştirebilir ve vidalanırsınız.

Testlerden, SD kartlarımın denetleyicisi bunu güvenli bir şekilde yapmaz.

Elektrik kesintisi toleransı için özel olarak reklamını gördüğüm "yüksek güvenilirlikli" bir SD karta bakabilirim ... ama daha sonra bunu doğru şekilde yapmak için üreticiye güvenmelisiniz ve ben yapmam. Gerçekten sayfa silmeleri üzerinde doğrudan kontrol istiyorum. Hala bunu anlamaya çalışıyorum.


4
Gönderilmiş cevabımı gör. Aşınma dengeleme algoritmaları üreticiye bağlı olduğundan, karışmayabilirler. İyi bir aşınma dengeleme algoritması önce verileri taşır, sonra bu verileri iyi olarak işaretler, sonra çöpler orijinal verileri toplar. Bu bazı kartlarda sorun olabilir, belki başkalarında değil. SD dibine aldığınızda çok çirkin bir tasarım.
Kris Bahnsen

2
Evet, ilgilendiğim kadarıyla standart bir standart. Böyle her yerde bulunan bir bellek depolama standardının bu kadar doğal olarak güvenilmez olması çok can sıkıcı.
darron

2
@jpc: Belki o zaman bir blog girişi yaparım. Sıkça dikkate alınmadığı izlenimini edindim. Etkilerini çok geç olmadan kendim fark etmedim. Bununla savaştım, SD kart üreticimle konuştum, vb. Yazma süresini en aza indirmenin dışında bir çözüm yoktu. Şimdi NAND flash'a yazıyorum ve mümkün olduğunca çabuk günde bir kez SD'ye kopyaladım. Rasgele elektrik kesintilerine karşı "dayanıklı" olacak şekilde tasarlanmış ARE SD kartları var, ancak bunların tamamen güvenilir olduğundan emin değilim.
darron

2
@fred basset Tuhaf bir şekilde, endüstriyel kartlardaki teknik özellikler bu cevabın yazıldığı günden beri değişmiş görünüyor. Ben edildi yazıyor (Sanırım, journaled) üzerinde teminat olan microSD kartlarını görerek ... şimdi, onlar böyle bir iddiada. Bir üreticiyle konuşurken, şu anda süper kapaklar kullanıyorlar ... ancak yalnızca kompakt flash kartlar için onlara yer var. İşleri güvenli bir şekilde yapmak performansı çok düşürür. Bir şekilde, bir yazıyı yazmak için yeterli yedekleme gücü sağladığını söylüyorlar. Modern ARM SBC'lerin ne kadar karmaşık olduğu göz önüne alındığında ... eğer satıcı referans tasarımı yapmazsa, yapmak gerçekten zor. Bildiğim hiçbiri yok.
darron

2
@freq basset Ben UBI ve UBIFS kullanıyorum. İyi çalışıyor gibi görünüyor ... Artık yıllardır sorunsuz çalışan birçok sistemim var.
darron

12

Herhangi bir geleneksel NAND flash bellek kullanan herhangi bir tipte SD kartın bir tür sektör sanallaştırması kullanması gerekecektir, çünkü hiçbir geleneksel NAND flaş cihazı, 512 bayt sektörlerin her birinin silinmesini destekleyemez ve önemli boyutta geleneksel bir NAND flaş cihazı yoktur. eğer bir sektör yazmaya her girişimi, cihazın o sektörün silme bloğundaki tüm sektörleri kopyalamasını, daha sonra RAM'e silmesini ve daha sonra bloğu silmesini ve yazmasını gerektiriyorsa, marjinal olarak kabul edilebilir olma sırasına göre performans sağlayabilir. tüm sektörler geri döndü. Sektör sanallaştırma tekniklerinin çoğu doğal olarak biraz aşınma seviyelendirmedir. Kaliteli cihazlar ve nakavtlar arasındaki en büyük varyans sorununun, bir cihazın aktif olarak bloklar arasındaki seviyeyi eşitlemeye çalışma derecesi olacağını umuyorum, karşı basitçe sahte rasgele blok tahsisi kullanma ve kabul edilebilir bir şekilde tek biçimli sonuçlar verecek şekilde umut verilmesi. Uygulamada, çoğu durumda rasgele / en iyi umut için tahsisatın bile yeterli olacağını beklerdim.


Çok iyi olabilir, bazı üreticilerin uyguladıkları "aşınma seviyesinin" NAND arayüzünün kendisinden kaynaklanması ve sanallaştırmayı engellemek için sektöre / sektöre engel olması olabilir.
Kris Bahnsen

1
@KrisBahnsen: Aşınma seviyelendirme talebinde bulunan üreticilerin, farklı blokların ve oradaki verilerin yaşını göreceli olarak aşınmasını aktif bir şekilde izleyeceğini ve uzun ömürlü verileri olan blokların ortalamadan daha az aşınmaya sahip bloklarda bulunduğunu tahmin ediyorum. Bu bloklardan elde edilen veriler daha fazla aşınmaya sahip bloklara taşınacaktır (büyük olasılıkla, bu bloklarda gelecekteki aşınmayı en aza indirecek şekilde). Bu,% 95 oranında hiçbir zaman değişmeyen verilerle dolu bir cihazın kullanım ömrünün 10 katını artırabilirken, kalan% 5'lik alan sık sık çalkalanır.
Supercat

Kabul ediyorlarsa, reklam veriyorlarsa, bir tür gerçek aşınma seviyelendirme yapacaklarını hayal ediyorum. Özür dilediğim konu hakkında biraz olumsuzum; Birkaç kez SD tuhaflıkları tarafından ısırıldım.
Kris Bahnsen

1
@KrisBahnsen: Bence en büyük sorun, ardışık olarak numaralandırılmış 512 bayt sektörlerin doğrusal demetini varsayan bir sanallaştırma modeli. DOS ile arabirim oluşturmak uygun olabilir, ancak var olan donanıma ve ana bilgisayar yazılımının gerçekten ne istediğine tam olarak uymuyor. Blok numaralarını 64 bit'e açın ve rasgele ardışık olmayan bir şekilde bırakmalarını sağlayın ve ardından dosyaların her zaman mantıksal ardışık bloklarda saklanmasını sağlayın. Bir dosyayı silmek için blok aralığını silin.
Supercat

2
Bu muhtemelen en iyi cevaptır. Sanırım bunların hepsi böyle yapıyor. Bunu düşünürseniz, herhangi bir gerçekten sofistike algoritma ile deterministic aşınma seviyeleme yapmanın bir yolu yoktur, çünkü aşınma geçmişinin kendisi aynı kartta bir yerde saklanmak zorunda kalacak ve ilk önce o kısım başarısız olacaktır. Randomize tesviye tek pratik olasılıktır. SSD'lerin daha akıllı olduğuna ikna olmadım. Çok daha fazla değiştirme tamponuna sahip olabilirler, ancak kesinlikle çok kaba (ve dolayısıyla güncellenmediği için) aşınma bilgilerini saklama olasılıkları dahilindedir.
Nimrod

7

Sandisk , kartlarındaki aşınma dengeleme mantığını açıklayan bir beyaz kağıda sahiptir ve kartın ömrünün tahminlerini birkaç senaryo altında vermeye devam eder. Yönetici özeti: Kartı durmadan çekiçlemediğiniz sürece, onlarca yıl sürecek.


Link öldü ve içeriği çoktan silinmiş görünüyor - belki de çok fazla gösterdiği için?
Cuadue

6
@Cuadue Bağlantıya erişilebilir. Sadece kırar durumunda, sayfa şimdi arşivlenir web.archive.org/web/20150326122100/http://ugweb.cs.ualberta.ca/...
Lekensteyn

2

Buna rağmen, birçok cihazın SD pil ve microSD kartları özellikle de pil seviyesi düşükse veya telefon çöktüğünde / kapanıyorsa / vb. Sorunun bu iyi bazı kartlarda (öksürük Reklam bilindiği gibi gerilim kaynağının yetersiz düzenleme olduğundan şüpheleniyorsanız t belirli dış okuyucular üzerinde okunamayan kartın fenomen sonuçlanması / öksürük), ancak bazıları tarafından sağlanan mikro çeşitli çalışıyor bilgisayar dükkanları.

Şu anda bu hatayla bir kartı kurtarma sürecinde yaşıyorum, verilerin çoğu yeterince kurtarılabilir durumda. Ancak bazı sektörler her denemede değişse de öyle değil. Aşınma seviyesinin kendisi hatalı olabilir mi? (evet birden fazla okuyucu denedi, aynı hata!)


0

Ayrıca bazı başarılı "nuking" zombi kartları vardı, yani formatı tamamlamayan ya da salt okunur olanlar. Yalnızca küçük bir yüzde üzerinde çalışırlar, ancak bu etki için en "resmi" kurallardan çok daha hassastırlar.

Böylece tedavi edilen bir test kartı tekrar arıza vermeden dört ay önce sürdü, eğer cihaz için olmasaydı, gürültülü voltaj sağlamak için kullanılmışsa ömür boyu daha uzun olabilirdi.


1
"Nükleer" derken, onu mikrodalga fırına koymak mı demek istiyorsun? Hangi wattta ve ne kadar süre?
0x6d64,

Ah, hayır :-) Ayrıca neden bir parıltılı deşarj (RF) benzer bir etkiye sahipse ve kullandığım yöntemden daha az tehlikeli olsaydı? Bir tarafta metal bir kasa bulunmamasından dolayı, usd kartların çok daha hassas olduğu ortaya çıktı.
Conundrum5642Z

Nukingin yasal nedenlerden dolayı "gadget" 5642 + HVPS kullanmaya başladığını onaylayamam veya reddedemem. Ancak tekrar tekrar çalışma yaptı ve bunu vb vardı yayınlanan tekniği şimdi bilinir
Conundrum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.