पूर्णिमा लल्लन शर्मा फाउंडेशन · स्थापना 2021
PLS FoundationPLS FOUNDATIONज्ञान। सामर्थ्य। सेवा।

क्वांटम शर्मा · सिलिकॉन एटलस

SSD के भीतर: NAND, कंट्रोलर और फ़र्मवेयर

सहेजे ब्लॉक का रास्ता फ़्लैश मैपिंग, त्रुटि सुधार और घिसावट प्रबंधन से होकर देखें; NVMe इंटरफ़ेस और मेमोरी सेल को अलग समझें।

सिलिकॉन एटलस का अध्ययन-वृक्ष →

SSD, NAND के आसपास की पूरी प्रणाली है

NAND डाइ संग्रह सेल देती हैं। SSD इन डाइ को कंट्रोलर, फ़र्मवेयर और विद्युत कनेक्शन के साथ, प्रायः बोर्ड पर जोड़ता है। पैकेज में अनेक डाइ हो सकते हैं और कुछ छोटी SSD अपने भाग एक पैकेज में जोड़ती हैं। RAM मॉड्यूल भी मेमोरी चिप वाला बोर्ड हो सकता है, लेकिन वह SSD जैसे ब्लॉक स्टोरेज के बजाय मेमोरी कंट्रोलर को DRAM देता है।

SSD एक प्रबंधित स्टोरेज प्रणाली हैहोस्ट इंटरफ़ेस फ़र्मवेयर वाले कंट्रोलर से जुड़ता है। कंट्रोलर NAND पैकेज सँभालता है और DRAM बफ़र भी उपयोग कर सकता है।SSD की उदाहरण असेंबलीहोस्ट कनेक्शनजैसे PCIe + NVMeकंट्रोलर + फ़र्मवेयरमैपिंग / ECCघिसावट प्रबंधनNAND पैकेजएक या अनेक डाइNAND पैकेजसहेजा हुआ डेटावैकल्पिक DRAM बफ़र
मूल वैचारिक चित्र; कनेक्शन और स्थान सरल किए गए हैं, यह चिप का भौतिक लेआउट नहीं है। छोटी स्क्रीन पर चित्र को दाएँ-बाएँ सरकाएँ।

मूल स्रोत पढ़ें: Samsung: SSD के घटक और प्रबंधन ↗ · KIOXIA: बिना DRAM वाली SSD और होस्ट मेमोरी बफ़र ↗

फ़ाइल से फ़्लैश के भौतिक पेज तक

फ़ाइल सिस्टम फ़ाइल व्यवस्थित करके लॉजिकल ब्लॉक की क्रियाएँ देता है। SSD कंट्रोलर स्टोरेज कमांड लेता है और उसकी फ़्लैश ट्रांसलेशन लेयर (FTL) लॉजिकल पतों को NAND के भौतिक स्थानों से जोड़ती है। इसलिए अपडेट के बाद वही लॉजिकल पता दूसरे भौतिक पेज पर जा सकता है। सामान्य SSD में होस्ट प्रायः फ़ाइल के लिए ठीक वही सेल नहीं चुनता जहाँ डेटा रखा जाए।

मूल स्रोत पढ़ें: Samsung: फ़्लैश की लॉजिकल से भौतिक मैपिंग ↗

NAND में सामान्यतः पेज प्रोग्राम करना और बड़ा ब्लॉक इरेज़ करना पड़ता है। डेटा बदलते समय नया पेज लिखा जा सकता है, मैपिंग बदली जाती है और पुराना पेज अमान्य होता है। बाद में garbage collection ज़रूरी पेज दूसरे स्थान पर ले जाती है, ताकि ब्लॉक इरेज़ करके फिर उपयोग हो। इन अंदरूनी क्रियाओं से होस्ट के अनुरोध से अधिक फ़्लैश लेखन हो सकता है।

मूल स्रोत पढ़ें: Samsung: SSD के घटक और प्रबंधन ↗

कंट्रोलर हार्डवेयर और फ़र्मवेयर साथ काम करते हैं

प्रबंधन के काम
कामSSD को इसकी ज़रूरत क्यों है
FTL और मेटाडेटालॉजिकल से भौतिक स्थान तथा मान्य डेटा का रिकॉर्ड रखना।
ECCअतिरिक्त जाँच जानकारी से समर्थित त्रुटियाँ पहचानना और सुधारना।
घिसावट का वितरणकुछ ब्लॉक बार-बार घिसाने के बजाय इरेज़ और लेखन फैलाना।
खराब ब्लॉक का प्रबंधनअनुपयोगी स्थानों से बचना और उपलब्ध वैकल्पिक क्षमता उपयोग करना।
शेड्यूलिंग और garbage collectionNAND क्रियाएँ व्यवस्थित करना और फिर उपयोग योग्य जगह निकालना।

मूल स्रोत पढ़ें: Samsung: SSD के घटक और प्रबंधन ↗

फ़र्मवेयर कंट्रोलर के हार्डवेयर वातावरण में चलने वाला सॉफ़्टवेयर है। वह सेल की भौतिक घिसावट सीमा नहीं मिटाता, लेकिन डेटा रखने, क्रिया चलाने और बहाली की उसकी नीतियाँ स्टोरेज का व्यवहार बदलती हैं। ECC की तय सुधार क्षमता होती है; वह हर खराब चिप या हर अधूरे लेखन को बहाल करने की गारंटी नहीं है।

बोर्ड पर DRAM वैकल्पिक है। कुछ SSD उसे मैपिंग जैसी कार्य-जानकारी के लिए उपयोग करती हैं; बिना DRAM वाले डिज़ाइन समर्थित host memory buffer (HMB) जैसे दूसरे संसाधन ले सकते हैं। HMB सहमत इंटरफ़ेस से होस्ट DRAM का भाग लेता है। इसका अर्थ यह नहीं कि SSD का स्थायी डेटा अब केवल वोलाटाइल RAM में रहता है।

मूल स्रोत पढ़ें: KIOXIA: बिना DRAM वाली SSD और होस्ट मेमोरी बफ़र ↗

NVMe, PCIe और M.2 अलग प्रश्नों के उत्तर हैं

NVMe तय करता है कि होस्ट सॉफ़्टवेयर स्टोरेज कंट्रोलर से कैसे संवाद करे। यह NAND सेल का प्रकार नहीं है। PCIe एक सिस्टम इंटरकनेक्ट है, जिसे स्थानीय NVMe SSD अक्सर उपयोग करती हैं। M.2 मॉड्यूल और कनेक्टर की व्यवस्था बताता है, अपने-आप स्टोरेज प्रोटोकॉल नहीं। इंटरफ़ेस, भौतिक मॉड्यूल और वास्तविक मेमोरी तकनीक को अलग पहचानना चाहिए।

मूल स्रोत पढ़ें: NVM Express: NVMe इंटरफ़ेस क्या तय करता है ↗ · KIOXIA: बिना DRAM वाली SSD और होस्ट मेमोरी बफ़र ↗

इसी तरह SSD की बताई क्षमता उसका इंतज़ार समय या लगातार काम की गति नहीं बताती। कमांड की कतार, स्थानांतरण का आकार, अंदरूनी गतिविधि और होस्ट सब मायने रखते हैं। नॉन-वोलाटाइल NAND सहेजे सेल की अवस्था बताता है; इसका अर्थ नहीं कि सॉफ़्टवेयर या वोलाटाइल हार्डवेयर बफ़र में रुका अधूरा लेखन अचानक बिजली जाने पर बच ही जाएगा।

हल किया उदाहरण: एक लॉजिकल पता स्थान बदलता है

कागज़ पर एक SSD बनाएँ, जिसमें लॉजिकल पते L0, L1 और भौतिक पेज P0, P1, P2 हों। ये नाम और मान उदाहरण के लिए हैं; ये किसी असली डिवाइस का पेज आकार या फ़र्मवेयर नीति नहीं बताते।

पुराना पेज दोबारा लिखे बिना L0 अपडेट करना
चरणमैपिंग और डेटा
शुरुआतL0 → P0 में 10 और L1 → P1 में 20 है।
L0 को 11 करेंनए पेज P2 में 11 प्रोग्राम करें।
मैपिंग बदलेंL0 → P2; P0 पुराना हो गया। L1 अभी भी P1 पर है।
बाद में जगह खाली करनाब्लॉक इरेज़ करने से पहले उसके अब भी मान्य पेज दूसरे स्थान पर लें।

स्टोरेज प्रणाली केवल उसकी चिप नहीं है

  • “NAND चिप = पूरी SSD।” उपयोग योग्य ड्राइव को कंट्रोल, फ़र्मवेयर, कनेक्शन और प्रबंधन भी चाहिए।
  • “बिना DRAM का अर्थ कहीं भी प्रबंधन मेमोरी नहीं।” कंट्रोलर अलग कार्य-मेमोरी व्यवस्था और समर्थन होने पर HMB उपयोग कर सकता है।
  • “ECC घिसावट रोकता है।” त्रुटि सुधार और घिसावट फैलाना अलग काम हैं; कोई भी स्टोरेज को अटूट नहीं बनाता।
  • “NVMe वह पदार्थ है जिसमें बिट रहते हैं।” वह संवाद तय करता है; इन उदाहरणों में NAND सेल संग्रह माध्यम हैं।

हर स्तर अपने शब्दों में समझाएँ

समझ को प्रोजेक्ट से जोड़ें

पहले ऐसा एक भाग चुनें जिसे आप समझा और जाँच सकें। डिज़ाइन बढ़ाने से पहले इनपुट, अपेक्षित आउटपुट और सीमाएँ नोटबुक में लिखें।

एक लॉजिक भाग बनाएँ

चयनकर्ता या हाफ ऐडर बनाकर इनपुट का हर संयोजन जाँचें।

लॉजिक लैब खोलें →

बनाने का रास्ता जानें

जानें कि जाँचा डिज़ाइन लेआउट, निर्माण प्रक्रिया और असली हार्डवेयर तक कैसे पहुँचता है।

बनाना समझें →

ट्रांज़िस्टर, बाइनरी जोड़ या CPU निर्देश का मॉडल आजमाएँ →