मेमोरी कंट्रोलर

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

मेमोरी कंट्रोलर का सामान्य रूप मेमोरी प्रबंधन इकाई (एमएमयू) है जो कई ऑपरेटिंग प्रणाली में आभासी पता को प्रायुक्त करता है।

इतिहास
अधिकांश आधुनिक डेस्कटॉप या वर्कस्टेशन माइक्रोप्रोसेसर एकीकृत मेमोरी कंट्रोलर (आईएमसी) का उपयोग करते हैं, जिसमें इंटेल, एएमडी के माइक्रोप्रोसेसर और एआरएम वास्तुकला के आसपास निर्मित माइक्रोप्रोसेसर सम्मिलित हैं।

के8 (लगभग 2003) से पहले, उन्नत माइक्रो उपकरणेस ( एएमडी) माइक्रोप्रोसेसरों के पास उनके मदरबोर्ड के नॉर्थब्रिज (कंप्यूटिंग) पर मेमोरी कंट्रोलर प्रायुक्त था। के8 और बाद में, एएमडी ने एकीकृत मेमोरी नियंत्रक नियोजित किया था। इसी प्रकार, नेहलेम (माइक्रोआर्किटेक्चर) (लगभग 2008) तक, इंटेल माइक्रोप्रोसेसरों ने मदरबोर्ड के नॉर्थब्रिज पर कार्यान्वित मेमोरी नियंत्रकों का उपयोग किया था। नेहलेम और बाद में एकीकृत मेमोरी नियंत्रक में बदल गया था।

एकीकृत मेमोरी नियंत्रकों का उपयोग करने वाले माइक्रोप्रोसेसरों के अन्य उदाहरणों में एनवीडिया का फर्मी (माइक्रोआर्किटेक्चर), आईबीएम का पॉवर5 और सन माइक्रोप्रणाली्स का अल्ट्रास्पार्क टी1 सम्मिलित हैं।

जबकि एकीकृत मेमोरी कंट्रोलर में प्रणाली के प्रदर्शन को बढ़ाने की क्षमता होती है, जैसे कि मेमोरी विलंबता को कम करके, यह माइक्रोप्रोसेसर को विशिष्ट प्रकार (या प्रकार) की मेमोरी में बंद कर देता है, जिससे नई मेमोरी तकनीकों का समर्थन करने के लिए एक रीडिज़ाइन को विवश किया जाता है। जब डीडीआर2 एसडीआरएएम प्रस्तुत किया गया था, और एएमडी ने नए एथलॉन 64 सीपीयू जारी किए। डीडीआर2 नियंत्रक के साथ ये नए मॉडल, अलग भौतिक सॉकेट (सॉकेट एएम2 के रूप में जाना जाता है) का उपयोग करते हैं, जिससे वे केवल नए प्रकार के रैम के लिए डिज़ाइन किए गए मदरबोर्ड में उपयुक्त हो सकें। जब मेमोरी कंट्रोलर ऑन-डाई नहीं होता है, तो उसी सीपीयू को अपडेटेड नॉर्थब्रिज (कंप्यूटिंग) के साथ नए मदरबोर्ड पर स्थापित किया जा सकता है।

1990 के दशक में कुछ माइक्रोप्रोसेसर, जैसे कि डेक अल्फा 21066 और एचपी पीए-7300एलसी, में एकीकृत मेमोरी नियंत्रक थे; चूँकि, प्रदर्शन लाभ के अतिरिक्त, इसे बाहरी मेमोरी नियंत्रक की आवश्यकता को समाप्त करके प्रणाली की लागत को कम करने के लिए प्रायुक्त किया गया था।

कुछ सीपीयू को उनके मेमोरी नियंत्रकों को समर्पित बाहरी घटकों के रूप में डिज़ाइन किया गया है जो चिपसेट का भाग नहीं हैं। उदाहरण आईबीएम पॉवर8 है, जो बाहरी सेंटूर (कंप्यूटिंग) चिप्स का उपयोग करता है जो डीआईएमएम मॉड्यूल पर लगाए जाते हैं और मेमोरी बफ़र्स, एल4 कैश चिप्स और वास्तविक मेमोरी कंट्रोलर के रूप में कार्य करते हैं। सेंटूर चिप के पहले संस्करण में डीडीआर3 मेमोरी का उपयोग किया गया था किन्तु अद्यतन संस्करण बाद में जारी किया गया था जो डीडीआर4 का उपयोग कर सकता है।

उद्देश्य
मेमोरी नियंत्रकों में डायनेमिक रैंडम एक्सेस मेमोरी को पढ़ने और लिखने के लिए और मेमोरी रिफ्रेश करने के लिए आवश्यक तर्क होते हैं डीआरएएम को रिफ्रेश करें। निरंतर रिफ्रेश के बिना, डीआरएएम उस पर लिखे गए डेटा को खो देगा क्योंकि संधारित्र एक सेकंड (जेडईसी मानकों के अनुसार 64 मिलीसेकंड से अधिक नहीं) के अंश के अन्दर अपना चार्ज लीक कर देते हैं।

डीआरएएम को पढ़ना और लिखना डीआरएएम के पंक्ति और स्तंभ डेटा पतों को बहुसंकेतक परिपथ के इनपुट के रूप में चुनकर किया जाता है, जहां डीआरएएम पर विबहुसंकेतक सही मेमोरी स्थान का चयन करने और डेटा वापस करने के लिए परिवर्तित इनपुट का उपयोग करता है, जो तब होता है ऑपरेशन के लिए आवश्यक बस चौड़ाई को कम करने के लिए डेटा को समेकित करने के लिए बहुसंकेतक के माध्यम से वापस पारित किया गया।

बस की चौड़ाई मेमोरी सेल के साथ संचार करने के लिए उपलब्ध समांतर रेखाओं की संख्या है। अधिक जटिल प्रणालियों और वीडियो कार्डों में मेमोरी नियंत्रकों की बस की चौड़ाई 8 बिट से लेकर 512-बिट तक होती है (सामान्यतः समानांतर में संचालित चार 64-बिट एक साथ मेमोरी नियंत्रकों के रूप में प्रायुक्त किया जाता है, चूंकि कुछ को गैंग मोड में संचालित करने के लिए डिज़ाइन किया गया है जहां 128-बिट मेमोरी उपकरण तक पहुंचने के लिए दो 64-बिट मेमोरी कंट्रोलर का उपयोग किया जा सकता है)।

कुछ मेमोरी कंट्रोलर, जैसे कि पॉवरक्यूआईसीसी II प्रोसेसर में एकीकृत, त्रुटि का पता लगाने और सुधार हार्डवेयर सम्मिलित हैं।

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

कुछ इण्टेल कोर प्रोसेसर में एकीकृत मेमोरी नियंत्रक भी विशेषता के रूप में मेमोरी अस्फुटक प्रदान करते हैं जो मुख्य मेमोरी में लिखे गए उपयोगकर्ता डेटा को छद्म-यादृच्छिक पैटर्न में बदल देता है।

मेमोरी अस्फुटक (क्रिप्टोग्राफ़िक थ्योरी में) कंप्यूटर फोरेंसिक्स और प्रतिलोम अभियांत्रिकी विश्लेषण को डीआरएएम डेटा शेष पर आधारित विभिन्न प्रकार के कोल्ड बूट हमलों को अप्रभावी रूप से प्रस्तुत करने से रोकने वाला माना जाता है। वर्तमान अभ्यास में यह प्राप्त नहीं किया गया है।

चूँकि मेमोरी अस्फुटक को केवल डीआरएएम से संबंधित विद्युत समस्याओं के समाधान के लिए डिज़ाइन किया गया है। 2010 के बाद के मेमोरी अस्फुटक मानक सुरक्षा उद्देशों या समस्याओं को ठीक नहीं करते हैं या उन्हें रोकते नहीं हैं। 2010 के मेमोरी अस्फुटक मानक क्रिप्टोग्राफिक रूप से सुरक्षित नहीं हैं, या आवश्यक रूप से खुले स्रोत या सार्वजनिक संशोधन या विश्लेषण के लिए खुले हैं।

असुस और इंटेल के अपने मेमोरी अस्फुटक मानक हैं। वर्तमान में असुस मदरबोर्ड ने उपयोगकर्ता को यह चुनने की अनुमति दी है कि [असुस या इंटेल] का उपयोग करने के लिए कौन से मेमोरी अस्फुटक मानक हैं या सुविधा को पूरी तरह से बंद करना है या नहीं।

युग्म डेटा दर मेमोरी
डीडीआर एसडीआरएएम को चलाने के लिए दुगनी डाटा दर (डीडीआर) मेमोरी कंट्रोलर का उपयोग किया जाता है, जहाँ प्रणाली की मेमोरी क्लॉक के बढ़ते और गिरते दोनों किनारों पर डेटा ट्रांसफर किया जाता है। एकल डेटा दर नियंत्रकों की तुलना में डीडीआर मेमोरी नियंत्रक उल्लेखनीय रूप से अधिक जटिल होते हैं, किन्तु वे मेमोरी सेल की घड़ी की दर या बस की चौड़ाई को बढ़ाए बिना दो बार डेटा स्थानांतरित करने की अनुमति देते हैं।

बहुचैनल मेमोरी
बहूचैनल मेमोरी मेमोरी कंट्रोलर मेमोरी कंट्रोलर होते हैं जहां डीआरएएम उपकरण को मेमोरी कंट्रोलर (एस) को समानांतर में एक्सेस करने की अनुमति देने के लिए कई अलग-अलग बसों पर अलग किया जाता है। यह चैनलों की संख्या के कारक द्वारा बस की बैंडविड्थ की सैद्धांतिक मात्रा को बढ़ाता है। जबकि प्रत्येक डीआरएएम सेल के लिए चैनल आदर्श समाधान होगा, वायर काउंट, रेखा समाई और समान लंबाई के समानांतर एक्सेस लाइनों की आवश्यकता के कारण अधिक चैनल जोड़ना बहुत कठिन है।

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

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

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

यह भी देखें

 * मेमोरी स्क्रबिंग
 * मेमोरी प्रबंधन इकाई
 * पता निर्माण इकाई
 * बहू-चैनल मेमोरी आर्किटेक्चर

बाहरी संबंध

 * Infineon/Kingston (a memory vendor) Dual Channel DDR Memory Whitepaper – explains dual channel memory controllers, and how to use them
 * Introduction to Memory Controller
 * Intel guide on Single- and Multichannel Memory Modes
 * What is a Memory Controller and How Does it Work
 * What is Memory Controller?