क्या यह सच है कि एक एसडी / एमएमसी कार्ड अपने स्वयं के नियंत्रक के साथ समतलन करता है?


51

मुझे इस बारे में कोई विश्वसनीय जानकारी नहीं मिल रही है। मेरे पास SD / MMC कार्ड हार्डवेयर का पूरा विनिर्देश नहीं है।

क्या यह सच है? इन कार्डों के साथ काम करने पर मेरे उच्च-स्तरीय एप्लिकेशन को पहनने के स्तर से संबंधित होने की आवश्यकता नहीं है?

संपादित करें

क्या कोई पुष्टि कर सकता है कि पहनने के स्तर की गारंटी एसडी विनिर्देश द्वारा दी गई है? मैं निश्चित होना चाहता हूं, क्योंकि ऐसा लगता है कि ज्यादातर विक्रेता ऐसा करते हैं, लेकिन विनिर्देश द्वारा इसकी आवश्यकता नहीं है।


5
सभी फ्लैश मीडिया निर्माता पहनने वाले एल्गोरिदम पहनने में निवेश नहीं करते हैं। SSDs में वेयर लेवलिंग अधिक प्रचलित है, जहां निर्माता एल्गोरिदम के कारण बाजार का नेतृत्व करते हैं।
चेतन भार्गव

जवाबों:


43

मैं एक कंपनी के लिए काम करता हूं जो एसडी एसोसिएशन का सदस्य हुआ करता था, हम 2.0 (एसडीएचसी) की युक्ति से परिचित हैं। एसडी कार्ड कल्पना में पहनने के स्तर के लिए कोई प्रविष्टि नहीं है। यह पूरी तरह से एसडी निर्माता पर निर्भर करता है कि यदि वे ऐसा चुनते हैं तो उन्हें संभालना है। हमने देखा है कि कुछ संभावना है, जबकि अन्य बहुत अधिक नहीं करते हैं (सुपर सस्ते नॉक-ऑफ एसडी कार्ड से सावधान रहें)। SDXC ने हो सकता है कि पहनने के स्तर को समाहित करने के लिए बदल दिया हो, लेकिन मैं इससे अनिश्चित हूं। दुर्भाग्य से वास्तव में दिखाने का एकमात्र तरीका है कि आधिकारिक कल्पना पर अपने हाथों को प्राप्त करना है। आप इसे ऑनलाइन सबसे अधिक संभावना पा सकते हैं, लेकिन एसडी एसोसिएशन वास्तव में आपको इसके लिए भुगतान करना चाहता है।

एक साइड नोट के रूप में, 2 जीबी कार्ड लेना और इसे खत्म होने की शुरुआत में लिखना और कार्ड के मृत होने से पहले लगभग 10TB का औसत और अब गलत नहीं है। इसके अलावा, एसडी कार्ड आपको यह नहीं बताएंगे कि डेटा ख़राब होने पर, यानी एक पीसी हार्डड्राइव जैसी I / O त्रुटि वापस नहीं होगी। यह एम्बेडेड डिजाइन के लिए एक मुद्दा नहीं हो सकता है क्योंकि 10TB डेटा का एक बहुत है, लेकिन यह किसी के लिए एक कारक हो सकता है।


2
मुझे लगता है कि भले ही यह कल्पना में नहीं है, फिर भी कंपनियां अपनी प्रतिष्ठा को अच्छा बनाए रखने के लिए ऐसा करना चाहती हैं। जबकि सुपर सस्ते नॉक-ऑफ प्रतिष्ठा के बारे में परवाह नहीं करते हैं, वे उन लोगों को बेचते हैं जो हर चीज पर सस्ते जाते हैं। क्या यह आवाज़ उचित है?
केलेंज्ब

1
@ केलेनजेब यह एक बहुत ही उचित धारणा है, और मैं व्यक्तिगत रूप से आपके साथ सहमत हूं। हालाँकि, क्योंकि यह कल्पना में नहीं है, और यह किसी विशेष निर्माता के एसडी नियंत्रक डिजाइनों तक पहुंच प्राप्त करने की बहुत संभावना नहीं है, यह वास्तव में सिद्ध नहीं किया जा सकता है। हमने कई वर्षों में कई परीक्षण किए हैं, कुछ प्रमुख ब्रांड दूसरों की तुलना में बहुत बेहतर प्रदर्शन करते हैं। यह आंतरिक एल्गोरिदम या उनमें से पूर्ण अभाव में अंतर हो सकता है।
क्रिश बानसेन

4
सस्ते नॉकऑफ की परवाह नहीं की जा सकती है भले ही यह कल्पना में हो। यह तुरंत ग्राहक को दिखाई नहीं देता है, यह गायब होना चाहिए। हम उन लोगों के बारे में बात कर रहे हैं जो IC के रूप में लीड प्लग बेचते हैं। मैंने एक नाम-ब्रांड कार्ड के बारे में नहीं सुना है जो लेवलिंग नहीं पहनता, लेकिन मुझे लगता है कि यह संभव है।
darron

@ क्रिसबैनसेन आपको बता सकता है कि एक गैर वसूली योग्य त्रुटि होने पर एसडी कार्ड वास्तव में क्या देता है? मुझे इसमें बहुत दिलचस्पी है। क्या इस स्थिति का पता लगाने में कोई रास्ता नहीं है?
ब्रेडेट

3
@fredbasset, थ्रेड को ज़ोंबी करने का तरीका;) जब से मैंने कोई एसडी कार्ड काम किया है, तब से यह एक समय है। हालांकि, IIRC SD कार्ड खुद को शारीरिक रूप से वापस लौटा देगा जो भी वे महसूस करते हैं। सभ्य ड्राइवरों के साथ संयुक्त कुछ नए आईओ त्रुटि का पता लगाने में सक्षम हो सकते हैं। हालाँकि पुराने एसडी कार्ड से खराब डेटा वापस आ जाएगा जो NAND में स्टोर किया गया था और इसे अच्छा कहा जाता है। हालाँकि, यदि कोई लेखन पूरा करने में सक्षम नहीं है, तो वह एक IO त्रुटि लौटाएगा।
क्रिश बानसेन

23

यह सच है! माइक्रोएसडी कार्ड में एक NAND फ्लैश चिप होता है जो कुछ काले प्लास्टिक में संलग्न एआरएम (एआरएम) माइक्रोकंट्रोलर से जुड़ा होता है। http://www.bunniestudios.com/blog/?p=898 बताते हैं।

अनुवर्ती पोस्ट के अंत में http://www.bunniestudios.com/blog/?p=918 बन्नी ने कहा कि नियंत्रक को एकीकृत करना संभवत: समय से पहले फ्लैश के परीक्षण से कम खर्च होता है।

सैनडिस्क के एसडी कार्ड उत्पाद मैनुअल का हवाला देते हुए: "1.9 वियर लेवलिंग। वियर लेवलिंग नंद मेमोरी का उपयोग करके एसडी कार्ड के एरेस पूलिंग कार्यक्षमता का एक आंतरिक हिस्सा है।" आप सैनडिस्क ब्रांड कार्ड के लिए डेटाशीट में पूरी बात पढ़ सकते हैं ।


1
बन्नी हुआंग निश्चित रूप से मेरे लिए पर्याप्त विश्वसनीय है!
vicatcu

यह जानना अच्छा है, लेकिन मैं किसी ऐसे व्यक्ति की प्रतीक्षा करूँगा जो इस तकनीक के औपचारिक विनिर्देश के आधार पर इस प्रश्न को समझ सके।
ivarec

2
जब मैंने डेटशीट देखने की कोशिश की तो डिजिके ने मुझे यह बेकार सैनडिस्क ब्रोशर दिखाया । Wintec और Swissbit datasheets बेहतर थे, और दोनों का उल्लेख पहनने लेवलिंग। क्या आप उस Digikey द्वारा होस्ट की गई डेटशीट से लिंक कर सकते हैं?
केविन वर्मियर

वे पुराने सैनडिस्क से बेहतर हैं।
जोफोरकर

विंटेक महान नहीं था, लेकिन नए सैनडिस्क एक गुच्छा का सबसे अच्छा है! संपादन के लिए धन्यवाद।
केविन वर्मर

19

हां, एसडी / एमएमसी कार्ड में नियंत्रक होते हैं जो लेवलिंग पहनते हैं। यदि वे नहीं करते हैं, तो आप गलत लेखन पैटर्न के साथ मिनटों के मामले में एक को नष्ट कर सकते हैं।

यह वास्तव में कुछ एम्बेडेड परियोजनाओं के लिए एक समस्या है। यह जानने का कोई तरीका (जाहिरा तौर पर) है कि किसी भी समय कौन से सेक्टर पहने जा सकते हैं, इसलिए गलत समय पर एक पावर चक्र कार्ड पर कहीं भी डेटा को नष्ट कर सकता है, चाहे आप जहां भी लिख रहे हों। (यह मत पूछो कि मुझे कैसे पता है :))

एसडी कार्ड का उपयोग एक ऐसी प्रणाली के साथ किया जाना चाहिए जो एक साफ सिस्टम शटडाउन की गारंटी देता है (या कम से कम जो लिखता है उसे पूरा करने की अनुमति है), या डेटा हानि (अंततः) परिणाम देगा।

संपादित करें

समस्या यह है कि पहनने की प्रक्रिया पूरी तरह से छिपी हुई है। डिस्क पर किसी भी क्षेत्र को किसी भी समय स्थानांतरित किया जा सकता है (लिखित पृष्ठ के साथ स्वैप किया गया), और यदि उस प्रक्रिया के बीच में विफल होना था, तो यादृच्छिक क्षेत्र दूषित हो सकता है।

हालांकि इस कदम को लागू करने के लिए पर्याप्त सुरक्षित तरीके हैं, यह किसी भी तरह से नहीं है, इसलिए आप भरोसा नहीं कर सकते कि कार्ड ऐसा करेगा। आप एक कार्ड का परीक्षण कर सकते हैं, यह काम कर सकता है, फिर निर्माता भाग संख्या को बदलने के बिना कार्यान्वयन को बदल सकता है और आप खराब हो सकते हैं।

परीक्षण से, मेरे एसडी कार्ड्स नियंत्रक यह सब सुरक्षित तरीके से नहीं करते हैं।

मैं एक "उच्च विश्वसनीयता" एसडी कार्ड में देख सकता हूं मैंने विशेष रूप से बिजली की विफलता सहिष्णुता के लिए विज्ञापित देखा ... लेकिन फिर आपको निर्माता को सही ढंग से करने के लिए भरोसा करना होगा, और मैं नहीं। मैं वास्तव में पेज इरेज़ पर सीधा नियंत्रण चाहता हूं। मैं अभी भी यह पता लगाने की कोशिश कर रहा हूं।


4
मेरा पोस्ट किया गया जवाब देखें। चूंकि पहनने वाले लेवलिंग एल्गोरिदम निर्माता तक हैं, इसलिए वे सूंघने के लिए नहीं हो सकते हैं। एक अच्छा पहनने लेवलिंग एल्गोरिदम पहले डेटा को स्थानांतरित करेगा, फिर उस डेटा को अच्छे से चिह्नित करेगा, फिर कचरा मूल डेटा एकत्र करेगा। यह कुछ कार्डों पर एक मुद्दा हो सकता है, शायद अन्य नहीं। एसडी एक बहुत ही बदसूरत डिजाइन है जब आप इसके नीचे तक पहुंचते हैं।
क्रिश बानसेन

2
हाँ, यह एक बकवास मानक है जहाँ तक मेरा संबंध है। यह बहुत कष्टप्रद है कि ऐसा सर्वव्यापी स्मृति भंडारण मानक इतना स्वाभाविक रूप से अविश्वसनीय होगा।
डे्रॉन

2
@jpc: शायद तब मैं एक ब्लॉग प्रविष्टि करूंगा। मुझे यह आभास हो रहा है कि इसे अक्सर नहीं माना जाता है। जब तक बहुत देर नहीं हो गई, मुझे अपने आप में निहितार्थ का एहसास नहीं हुआ। मैंने इसके साथ संघर्ष किया, अपने एसडी कार्ड निर्माता के साथ बात की, आदि के अलावा कोई उपाय नहीं है कि लिखने का समय कम से कम हो। मैं अब नंद फ्लैश को लिखता हूं, और दिन में एक बार एसडी को कॉपी करता हूं जितनी जल्दी हो सके। वहाँ एसडी कार्ड यादृच्छिक शक्ति विफलताओं के लिए "प्रतिरोधी" होने के लिए डिज़ाइन किए गए हैं, लेकिन मुझे यकीन नहीं है कि ये पूरी तरह से भरोसेमंद भी हैं।
१६:

2
@ ब्रेड्ड ओडली, इस उत्तर के लिखे जाने के बाद से औद्योगिक कार्ड के चश्मे बदल गए हैं। मैं माइक्रोएसडी कार्ड्स पर गारंटी के साथ लिख रहा था (जर्नलेड, मुझे लगता है) ... अब, वे ऐसा कोई दावा नहीं करते हैं। एक निर्माता से बात करते हुए, वे अब सुपरकैप का उपयोग कर रहे हैं ... लेकिन केवल कॉम्पैक्ट फ्लैश कार्ड में उनके लिए जगह है। चीजें सुरक्षित रूप से करने से प्रदर्शन बहुत कम हो जाता है। वे कह रहे हैं कि बस किसी तरह एक लेखन को पूरा करने के लिए पर्याप्त बैकअप शक्ति प्रदान करें। यह देखते हुए कि आधुनिक एआरएम एसबीसी कितने जटिल हैं ... यदि विक्रेता के संदर्भ डिजाइन ऐसा नहीं करता है तो यह वास्तव में करना मुश्किल है। कोई भी ऐसा नहीं है जो मुझे पता है।
डैरन

2
@freq बैसेट मैं यूबीआई और यूबीआईएफएस का उपयोग कर रहा हूं। यह अच्छी तरह से काम करने लगता है ... मैं बहुत सालों से बिना किसी समस्या के सालों से चल रहा हूं।
द्रोण

12

किसी भी प्रकार के पारंपरिक नंद फ्लैश मेमोरी का उपयोग करने वाले किसी भी प्रकार के एसडी कार्ड में कुछ प्रकार के सेक्टर वर्चुअलाइजेशन का उपयोग किया जाना है, क्योंकि कोई भी पारंपरिक नंद फ्लैश डिवाइस व्यक्तिगत 512-बाइट क्षेत्रों के उन्मूलन का समर्थन नहीं कर सकता है, और महत्वपूर्ण आकार का कोई पारंपरिक नंद फ्लैश डिवाइस नहीं है। उस प्रदर्शन को प्राप्त करने में सक्षम हो सकता है, जो मामूली रूप से स्वीकार्य होने के परिमाण के भीतर था यदि किसी सेक्टर को लिखने के हर प्रयास के लिए डिवाइस को उस सेक्टर के सभी सेक्टर को कॉपी करने की आवश्यकता होती है (यहां तक ​​कि रैम भी), तो ब्लॉक को मिटा दें और लिखें सभी सेक्टर वापस। अधिकांश सेक्टर-वर्चुअलाइजेशन तकनीक स्वाभाविक रूप से कुछ हद तक पहनने वाले होते हैं। मुझे उम्मीद है कि गुणवत्ता वाले उपकरणों और नॉक-ऑफ के बीच विचरण का सबसे बड़ा मुद्दा यह होगा कि एक उपकरण किस हद तक ब्लॉक के बीच समतलन को सक्रिय करने की कोशिश करता है, बनाम छद्म-यादृच्छिक ब्लॉक आवंटन का उपयोग करके और उम्मीद है कि यह लगभग समान-समान परिणाम देगा। व्यवहार में, मैं उम्मीद करूंगा कि ज्यादातर मामलों में रैंडम / आशा-फॉर-द-बेस्ट आवंटन भी पर्याप्त होगा।


यह बहुत अच्छी तरह से हो सकता है कि कुछ निर्माताओं द्वारा लागू "वियर लेवलिंग" नंद इंटरफेस के कारण ही होता है और वर्चुअलाइजेशन को ब्लॉक करने के लिए सेक्टर / सेक्टर को ब्लॉक करता है।
क्रिश बानसेन

1
@ क्रिसबैनसेन: मैं उम्मीद करूंगा कि वे निर्माता जो दावा करते हैं कि वे लेवलिंग पहनते हैं, विभिन्न ब्लॉक और उसमें डेटा की आयु के सापेक्ष पहनने की सक्रिय रूप से निगरानी करेंगे, और यदि लंबे समय तक रहने वाले डेटा वाले ब्लॉक औसत से बहुत कम पहनने वाले ब्लॉक में पाए जाते हैं, तो उन ब्लॉकों से डेटा को उन ब्लॉकों में स्थानांतरित किया जाएगा, जिनके पास अधिक पहनने (इसलिए जैसे, सबसे अधिक संभावना है, उन ब्लॉकों पर भविष्य के पहनने को कम से कम)। यह एक उपकरण के उपयोगी जीवन में सुधार कर सकता है जो 95% डेटा से भरा होता है जो कभी नहीं बदलता है, जबकि शेष 5% स्थान अक्सर मंथन किया जाता है।
सुपरकैट

मैं सहमत हूं, अगर वे इसका विज्ञापन कर रहे हैं, तो मुझे लगता है कि वे किसी तरह के असली पहनने-जमाने का काम करेंगे। मैं पूरे विषय पर थोड़ा नकारात्मक हूं, जिसके लिए मैं माफी चाहता हूं; मैं एसडी के quirks द्वारा कुछ बार काट लिया गया है।
क्रिश बानसेन

1
@ क्रिसबहेनसेन: मुझे लगता है कि सबसे बड़ी समस्या एक वर्चुअलाइजेशन मॉडल है, जो लगातार गिने जाने वाले 512-बाइट क्षेत्रों के एक रैखिक गुच्छा को मानता है। यह डॉस के साथ इंटरफेस करने के लिए सुविधाजनक हो सकता है, लेकिन यह वास्तव में मौजूद हार्डवेयर के साथ अच्छी तरह से फिट नहीं है, और न ही मेजबान सॉफ्टवेयर वास्तव में क्या चाहता है। 64 बिट्स के लिए ब्लॉक नंबर खोलें और उन्हें मनमाने ढंग से गैर-स्थिर होने की अनुमति दें, और फिर फाइलों को हमेशा तार्किक रूप से ब्लॉक में संग्रहीत करने की व्यवस्था करें। किसी फ़ाइल को हटाने के लिए, उसके ब्लॉक को हटाएं।
सुपरकाट

2
यह संभवतः सबसे अच्छा जवाब है। मुझे संदेह है कि यह सब कैसे करते हैं। यदि आप इसके बारे में सोचते हैं, तो किसी भी तरह के परिष्कृत एल्गोरिदम के साथ नियतात्मक पहनने को समतल करने का कोई तरीका नहीं है क्योंकि पहनने का इतिहास खुद को उसी कार्ड पर कहीं संग्रहीत करना होगा और वह हिस्सा पहले विफल हो जाएगा। यादृच्छिक स्तर पर केवल व्यावहारिक संभावना है। मुझे यकीन नहीं हो रहा है कि एसएसडी कोई भी होशियार है। उनके पास बस अधिक प्रतिस्थापन बफ़र्स हो सकते हैं, हालांकि यह निश्चित रूप से संभावना के भीतर है कि वे बहुत मोटे स्टोर करते हैं (और इसलिए अक्सर अद्यतन किए गए जानकारी पहनते हैं)।
निमरोड

7

सैंडिस्क के पास एक सफेद कागज होता है जो उनके कार्ड में पहनने के स्तर का तर्क बताता है, और कई परिदृश्यों के तहत कार्ड के जीवन का अनुमान देता है। कार्यकारी सारांश: जब तक आप कार्ड को नॉन-स्टॉप हथौड़ा नहीं कर रहे हैं, यह दशकों तक चलेगा।


लिंक मर चुका है और लगता है कि सामग्री समाप्त हो गई है - क्योंकि यह बहुत अधिक पता चला है, शायद?
Cuadue

6
@Cuadue लिंक सुलभ है। बस टूटने की स्थिति में, यह पेज अब web.archive.org/web/20150326122100/http://ugweb.cs.ualberta.ca/…
Lekensteyn

2

यह ध्यान रखना दिलचस्प है कि इसके बावजूद बहुत सारे उपकरण एसडी और माइक्रोएसडी कार्डों को विशेष रूप से उच्च घनत्व वाले भ्रष्ट करते हैं यदि बैटरी कम है या फोन क्रैश / बंद हो जाता है / आदि। मुझे संदेह है कि समस्या वोल्टेज की आपूर्ति के अपर्याप्त विनियमन है क्योंकि यह कुछ कार्डों पर अच्छी तरह से जाना जाता है (खांसी विज्ञापन टी / खांसी) कुछ बाहरी पाठकों पर एक अपठनीय कार्ड की घटना के परिणामस्वरूप लेकिन कुछ द्वारा आपूर्ति की गई सूक्ष्म विविधता पर ठीक काम करता है कंप्यूटर की दुकानें।

मैं इस समय इस गलती के साथ एक कार्ड को पुनर्प्राप्त करने की प्रक्रिया में हूं, अजीब तरह से अधिकांश डेटा पुनर्प्राप्त करने योग्य है, लेकिन कुछ क्षेत्र हालांकि प्रत्येक प्रयास पर यह परिवर्तन नहीं हैं। क्या पहनने का लेवलिंग ही गलती पर हो सकता है? (हाँ कई पाठकों की कोशिश की, एक ही गलती!)


0

ज़ॉम्बी कार्ड्स को "nuking" करने में भी कुछ सफलता मिली, यानी जो एक प्रारूप को पूरा नहीं करेंगे या केवल पढ़ने के लिए हैं। केवल एक छोटे प्रतिशत पर काम करता है लेकिन वे प्रभाव के लिए "आधिकारिक" दिशानिर्देशों की तुलना में बहुत अधिक संवेदनशील हैं।

इस प्रकार एक परीक्षण कार्ड फिर से विफल होने से पहले पूरे चार महीने तक रहता है, अगर यह उस डिवाइस के लिए नहीं था जिसका उपयोग शोर वोल्टेज की आपूर्ति में किया गया था तो जीवनकाल लंबा हो सकता है।


1
"Nuking" से आपका मतलब है इसे माइक्रोवेव में रखना? किस वाट्सएप पर और कब तक?
0x6d64

उह, नहीं :-) इसके अलावा, जब एक ग्लो डिस्चार्ज (आरएफ) एक समान प्रभाव होगा और मेरे द्वारा उपयोग की जाने वाली विधि की तुलना में बहुत कम खतरनाक होगा? एक तरफ धातु आवरण की कमी के कारण यूडीएस कार्ड बहुत अधिक संवेदनशील हैं।
Conundrum5642Z

मैं पुष्टि या इनकार नहीं कर सकता कि कानूनी कारणों से "गैजेट" 5642 + एचवीपीएस का उपयोग करने के लिए संदर्भित करता है। हालाँकि इसने बार-बार काम किया, और तकनीक को अब मैं इसे HaD आदि पर प्रकाशित करने के लिए जाना जाता है
Conundrum
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.