जीवन के अंत में SSD कैसे विफल होते हैं?


9

मान लीजिए कि एक एमएलसी एसएसडी बहुत लंबे समय तक चला है और पहली सेल ने अपने अंतिम मिटाए चक्र को मारा है और मिटाने से इनकार कर दिया है।

उसके बाद क्या होता है? क्या नियंत्रक यह पता लगाता है कि एक खराब ब्लॉक के रूप में और अगले एक के लिए आगे बढ़ता है और इसके बजाय उसे मिटाने की कोशिश करता है? क्या समय के साथ ड्राइव की कुल क्षमता धीरे-धीरे कम होती जाएगी?

संपादित करें

और निश्चित रूप से हम पहनने के स्तर के बारे में भूल सकते हैं। हाँ, यह एक ड्राइव के जीवन का विस्तार करता है, लेकिन मैं इसके बारे में बात नहीं कर रहा हूँ। आखिरकार एक सेल अपने अंतिम मिटाए जाने वाले चक्र से टकराएगा।

जवाबों:


8

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

ध्यान दें कि यह एक एमएलसी-विशिष्ट मुद्दा नहीं है; हालांकि MLC सेल एक रीड एरर के लिए अधिक प्रवण हो सकते हैं, क्योंकि त्रुटि के लिए आवश्यक रूप से एक छोटा सा मार्जिन है, एसएलसी सेल ज्यादातर एक ही तंत्र के साथ विफल होते हैं, और नियंत्रक द्वारा उसी तरह से निपटा जा सकता है।


2

हार्ड डिस्क के साथ की तरह, यह ऑपरेटिंग सिस्टम में कार्यान्वयन तक है। नियंत्रक बस रिपोर्ट करेगा कि लिखना (मिटा देना वास्तव में एक लेखन ऑपरेशन है) विफल रहा है और यह ऑपरेटिंग सिस्टम कर्नेल में डिवाइड ड्राइवर पर निर्भर है कि वह क्या करना है। मैंने अब तक जो कुछ भी देखा है, उसमें से Microsoft और लिनक्स कार्यान्वयन केवल कॉलिंग एप्लिकेशन में त्रुटि कोड लौटाते हैं - इसलिए यह I / O त्रुटि पैदा करता है।

संक्षेप में: आपको बस कुछ बिंदु पर "टूटी हुई" डिवाइस मिलती है।


खैर, वह बेकार है। तब बहुत अच्छा अमूर्त नहीं था ...
प्योरोलॉजिकल

1
और गलत। मुख्य रूप से यह स्वयं SSD में संभाला जाता है - डिवाइस ड्राइवर नहीं। क्योंकि यह सामान्य ऑपरेशन है। पहनने के स्तर के रूप में क्षेत्र में विफल रिकॉर्ड और क्षेत्र को फिर से भरना होगा।
टॉमटॉम

1

SSDs "वियर लेवलिंग" नामक कुछ का उपयोग करते हैं, जहां ड्राइव सेक्टर के उपयोग के बारे में एक आंकड़ा रखता है और कुछ बिंदु पर या जब यह समस्याओं का पता लगाता है तो यह सेक्टर को एक रिजर्व में ले जाएगा, ठीक उसी तरह जैसे कि यह नियमित हार्ड ड्राइव के साथ होता है।


हां, लेकिन मैं देख रहा हूं कि यांत्रिक HD विफल होने से पहले वे आरक्षित क्षेत्रों से बाहर निकलते हैं। एसएसडी हालांकि नहीं हो सकता है। क्या होता है जब एक ड्राइव आरक्षित क्षेत्रों से बाहर चला जाता है?
पाइरोलॉनिक

त्रुटियों को लिखें। आपको और क्या उम्मीद है?
टॉमटॉम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.