नंद फ्लैश और बैड ब्लॉक क्या है?
Oct 25, 2022
1 नंद फ्लैश
1.1 नंद फ्लैश मेमोरी का परिचय
नंद फ्लैश मेमोरी, चीनी नाम फ्लैश मेमोरी। इसकी तेजी से मिटाने की गति के कारण इसे इसका नाम मिला।
नंद फ्लैश का आविष्कार जापान के तोशिबा समूह के श्री फुजियो मासुओका ने किया था। अन्य स्टोरेज डिवाइस से अलग, नंद फ्लैश डेटा लाइन और एड्रेस लाइन मल्टीप्लेक्स हैं, और एड्रेस लाइन का इस्तेमाल रैंडम एड्रेसिंग के लिए नहीं किया जा सकता है। इसलिए, NAND FLASH पेज पेजों को रीडिंग यूनिट के रूप में उपयोग करता है (आमतौर पर एक सिंगल पेज 2K बाइट्स होता है), और इरेज़िंग यूनिट के रूप में ब्लॉक करता है। (आम तौर पर एक एकल ब्लॉक 128KB या 256KB होता है)। इरेज़ कमांड भेजने के बाद, NAND FLASH एक बार में सभी ब्लॉकों को मिटाकर 1 कर देता है, और अंदर की सभी सामग्री 0xFF हो जाती है। क्योंकि मिटाने का समय बहुत कम है, यह बिजली की तरह तेज है। इसलिए हम इस मेमोरी को फ्लैश मेमोरी कहते हैं।
1.2 नंद फ्लैश का हार्डवेयर कार्यान्वयन तंत्र
NAND FLASH की मूल इकाई एक फ्लोटिंग गेट वाला MOSFET है।
फ्लैश मेमोरी सेल में डेटा को इलेक्ट्रिकल चार्ज के रूप में स्टोर किया जाता है। संग्रहित चार्ज की मात्रा बाहरी गेट पर लगाए गए वोल्टेज पर निर्भर करती है। डेटा का प्रतिनिधित्व यह दर्शाता है कि क्या संग्रहीत चार्ज का वोल्टेज एक विशिष्ट थ्रेशोल्ड Vth से अधिक है, और यदि संग्रहीत चार्ज पर्याप्त है और थ्रेशोल्ड Vth से अधिक है, तो यह दर्शाता है। 0 लिखने के लिए, इसे डिस्चार्ज करना है यह, और शुल्क घटाकर Vth से कम कर दिया गया है, जिसका अर्थ है 0।
2 खराब ब्लॉक
2.1 खराब ब्लॉक की परिभाषा
चूंकि नंद फ्लैश की प्रक्रिया अपने जीवन चक्र के दौरान नंद मेमोरी एरे के प्रदर्शन की विश्वसनीयता की गारंटी नहीं दे सकती है, नंद के उत्पादन और उपयोग के दौरान खराब ब्लॉक होंगे। खराब ब्लॉकों की विशेषताएं हैं: इस ब्लॉक को प्रोग्रामिंग/मिटाते समय, कुछ बिट्स को ऊंचा नहीं खींचा जा सकता है, जिससे पेज प्रोग्राम और ब्लॉक इरेज़ ऑपरेशन में त्रुटियां होंगी।
2.2 खराब ब्लॉकों का वर्गीकरण: फैक्ट्री खराब ब्लॉक एफबीबी और इस्तेमाल किए गए खराब ब्लॉक जीबीबी
(1) FBB: फैक्ट्री बैड ब्लॉक, फैक्ट्री बैड ब्लॉक, बैड ब्लॉक जो अभी फैक्ट्री से निकला है, मास्क्ड बैड ब्लॉक या शुरुआती बैड / अमान्य ब्लॉक कहलाता है। जब नंद फ्लैश कारखाना छोड़ता है, तो निर्माण प्रक्रिया के कारण एक निश्चित मात्रा में खराब ब्लॉक होंगे। उसी समय, कारखाने छोड़ने से पहले मूल कारखाना नंद फ्लैश का परीक्षण करेगा, और परीक्षण के लिए उपयोग किए जाने वाले ब्लॉक को मूल कारखाने द्वारा खराब ब्लॉक के रूप में भी चिह्नित किया जा सकता है।
कारखाने छोड़ने से पहले, मूल कारखाना खराब ब्लॉकों को चिह्नित करेगा। विशिष्ट चिह्न यह है कि सामान्य नंद फ्लैश के लिए 2K के पृष्ठ आकार के साथ, नंद फ्लैश के लिए, खराब ब्लॉक चिह्न आमतौर पर प्रत्येक ब्लॉक के पहले पृष्ठ पर स्थित होता है। पेज स्पेयर एरिया का पहला बाइट। विशेष रूप से, आप विभिन्न उत्पादों के डेटाशीट को क्वेरी कर सकते हैं। अगर यह 0xFF नहीं है, तो इसका मतलब है कि यह एक खराब ब्लॉक है। इसके अनुरूप, सभी सामान्य ब्लॉक, अच्छे ब्लॉक और उनमें मौजूद सभी डेटा 0xFF हैं।
(2) जीबीबी: खराब ब्लॉकों का उपयोग करके खराब ब्लॉक विकसित किया गया। नंद फ्लैश के उपयोग के दौरान, क्योंकि नंद फ्लैश का मिटाना और लिखना सीमित है (आमतौर पर 100,000 बार से अधिक नहीं), उपयोग की एक निश्चित अवधि के बाद भी खराब ब्लॉक होंगे। . यदि ब्लॉक इरेज़ या पेज प्रोग्राम त्रुटि पाई जाती है, तो ब्लॉक को खराब ब्लॉक के रूप में चिह्नित किया जा सकता है। अंतर्निहित खराब ब्लॉक जानकारी के अनुरूप होने के लिए, अतिरिक्त क्षेत्र के पहले बाइट (बाइट) को 0xFF के अलावा अन्य मानों के साथ भी चिह्नित किया जाएगा।
2.3 खराब ब्लॉक तालिका:
फ़ैक्टरी छोड़ते समय फ्लैश का पहला ब्लॉक अच्छा होना चाहिए, अन्यथा इसका मतलब है कि पूरे फ्लैश का उपयोग नहीं किया जा सकता है। क्योंकि आम तौर पर पहले ब्लॉक का इस्तेमाल खराब ब्लॉक टेबल (बीबीटी, बैड ब्लॉक टेबल) को बचाने के लिए किया जाएगा। लिनक्स कर्नेल एमटीडी आर्किटेक्चर के तहत नंद फ्लैश ड्राइवर में खराब ब्लॉक प्रबंधन (बैड ब्लॉक मैनेजमेंट) के कार्य तंत्र और यूबीओओटी के नंद फ्लैश ड्राइवर के कारण, ड्राइवर को लोड करने के बाद, यदि आप पैरामीटर नहीं जोड़ते हैं, तो आप सक्रिय रूप से स्किप करने के लिए कहते हैं खराब ब्लॉक स्कैन। यदि ऐसा है, तो यह सक्रिय रूप से खराब ब्लॉकों के लिए स्कैन करेगा और बाद में खराब ब्लॉक प्रबंधन के लिए आवश्यक बीबीटी स्थापित करेगा।
2.4 खराब ब्लॉकों की संख्या और स्थान
मूल नंद फ्लैश फैक्ट्री में खराब ब्लॉकों की संख्या और स्थान के लिए एक मानक होगा। मूल कारखाना आम तौर पर वादा करता है कि खराब ब्लॉकों की संख्या 2% से अधिक नहीं है, लेकिन खराब ब्लॉकों के स्थान की गारंटी नहीं है (लेकिन फैक्ट्री छोड़ने पर पहला ब्लॉक अच्छा होना चाहिए। , क्योंकि पहले वाले का उपयोग किया जाएगा स्टोर बीटीटी)। उदाहरण के लिए, एक NAND चिप में 2048 ब्लॉक, 2048*0.02=40.96 होते हैं, इसलिए खराब ब्लॉकों की संख्या 40 से अधिक नहीं होगी। लेकिन जहां खराब ब्लॉक दिखाई देते हैं, चाहे वे निरंतर हों या यादृच्छिक, कोई गारंटी नहीं है।
2.5 अच्छे ब्लॉक पर खराब ब्लॉक का प्रभाव
एक खराब ब्लॉक अच्छे ब्लॉक के प्रदर्शन को प्रभावित नहीं करता है क्योंकि इसे चुनिंदा गेटों द्वारा बिट लाइनों से अलग किया जाता है)
2.6 खराब ब्लॉकों का पता लगाना
"खराब ब्लॉक" के रूप में चिह्नित इन ब्लॉकों पर एक "मिटा" ऑपरेशन किया जाता है। यदि ब्लॉक इरेज़ एरर होता है, तो यह साबित करता है कि ब्लॉक एक वास्तविक खराब ब्लॉक है।
2.7 इरेज़ ऑपरेशन पर नोट्स
वास्तव में, हम चिह्नित खराब ब्लॉकों को भी मिटा सकते हैं। इस तरह से जबरन मिटाने के बाद, खराब ब्लॉक की जानकारी अब मौजूद नहीं है। फ़ैक्टरी खराब ब्लॉकों के लिए, आमतौर पर चिह्नित जानकारी को मिटाने की अनुशंसा नहीं की जाती है।
UBOOT में "नंद स्क्रब" नामक एक कमांड होता है, जो ब्लॉक में सभी सामग्री को मिटा देता है, जिसमें खराब ब्लॉक चिह्न भी शामिल है, चाहे वह कारखाना हो या नया चिह्न जो बाद में उपयोग की प्रक्रिया में दिखाई देता है। आमतौर पर इसका उपयोग करने की अनुशंसा नहीं की जाती है। जब नंद फ्लैश फैक्ट्री का उत्पादन किया जाता है, तो नंद खराब ब्लॉकों का परीक्षण किया जाता है और अपेक्षाकृत व्यापक तापमान और वोल्टेज रेंज में चिह्नित किया जाता है। ये खराब ब्लॉक अभी भी एक निश्चित तापमान या वोल्टेज के तहत काम कर सकते हैं, लेकिन स्थिति बदलने पर किसी अन्य समय में बदला जा सकता है। विफलता, एक संभावित टिकिंग टाइम बम बनना। यदि मूल कारखाने द्वारा चिह्नित खराब ब्लॉकों को मिटा दिया जाता है, तो डेटा लिखते और सहेजते समय डेटा हानि की समस्या का सामना करना आसान होता है।
केवल अच्छे ब्लॉकों को मिटाने के लिए "नंद मिटाएं" का उपयोग करना बेहतर है, पहले से ही खराब ब्लॉक चिह्नित ब्लॉक के लिए, मिटाएं नहीं।
3 खराब ब्लॉक प्रबंधन
डिवाइस या फ्लैश का नियंत्रक खराब ब्लॉकों का प्रबंधन करेगा, जो बीबीएम (बैड ब्लॉक मैनेजमेंट) है। हम इसे बाद में जोड़ेंगे।
टिप्पणी
1 एक अच्छे ब्लॉक को 0xff के साथ क्यों चिह्नित किया जाता है: क्योंकि नंद फ्लैश को मिटाने के लिए संबंधित ब्लॉक के सभी बिट्स को 1 में बदलना है, राइट ऑपरेशन के दौरान, चिप के प्रत्येक बिट को केवल 1 से बदला जा सकता है करने के लिए 0, लेकिन नहीं। 0 से 1 में बदलें। 0XFF का अर्थ है कि सभी को 11111111 में मिटाया जा सकता है। यह इंगित करता है कि इसे सफलतापूर्वक मिटाया जा सकता है, और यह एक अच्छा ब्लॉक है।
———————————————
कॉपीराइट स्टेटमेंट: यह लेख सीएसडीएन ब्लॉगर "अलेक्जेंडर{{0}}लाई" का एक मूल लेख है और सीसी 4.0 बाय-एसए कॉपीराइट समझौते का पालन करता है। कृपया मूल स्रोत लिंक और इस विवरण को पुनर्मुद्रण के लिए संलग्न करें।







