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

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

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

AMD K8 (लगभग 2003) से पहले, उन्नत माइक्रो डिवाइसेस माइक्रोप्रोसेसरों के पास उनके मदरबोर्ड के नॉर्थब्रिज_ (कंप्यूटिंग) पर मेमोरी कंट्रोलर लागू था। K8 और बाद में, AMD ने एक एकीकृत मेमोरी नियंत्रक नियोजित किया। इसी तरह, नेहलेम (माइक्रोआर्किटेक्चर) (लगभग 2008) तक, इंटेल माइक्रोप्रोसेसरों ने मदरबोर्ड के नॉर्थब्रिज पर कार्यान्वित स्मृति नियंत्रकों का उपयोग किया। नेहलेम और बाद में एक एकीकृत स्मृति नियंत्रक में बदल गया। एकीकृत स्मृति नियंत्रकों का उपयोग करने वाले माइक्रोप्रोसेसरों के अन्य उदाहरणों में NVIDIA का फर्मी (माइक्रोआर्किटेक्चर), IBM का POWER5 और सन माइक्रोसिस्टम्स का UltraSPARC T1 शामिल हैं।

जबकि एक एकीकृत मेमोरी कंट्रोलर में सिस्टम के प्रदर्शन को बढ़ाने की क्षमता होती है, जैसे कि स्मृति विलंबता को कम करके, यह माइक्रोप्रोसेसर को एक विशिष्ट प्रकार (या प्रकार) की मेमोरी में लॉक कर देता है, जिससे नई मेमोरी तकनीकों का समर्थन करने के लिए एक रीडिज़ाइन को मजबूर किया जाता है। जब DDR2 SDRAM पेश किया गया था, AMD ने नए Athlon 64 CPU जारी किए। DDR2 नियंत्रक के साथ ये नए मॉडल, एक अलग भौतिक सॉकेट (सॉकेट AM2 के रूप में जाना जाता है) का उपयोग करते हैं, ताकि वे केवल नए प्रकार के RAM के लिए डिज़ाइन किए गए मदरबोर्ड में फिट हो सकें। जब मेमोरी कंट्रोलर ऑन-डाई नहीं होता है, तो उसी सीपीयू को अपडेटेड नॉर्थब्रिज (कंप्यूटिंग) के साथ नए मदरबोर्ड पर स्थापित किया जा सकता है।

1990 के दशक में कुछ माइक्रोप्रोसेसर, जैसे कि DEC Alpha 21066 और HP PA-7300LC, में एकीकृत स्मृति नियंत्रक थे; हालाँकि, प्रदर्शन लाभ के बजाय, इसे बाहरी मेमोरी नियंत्रक की आवश्यकता को समाप्त करके सिस्टम की लागत को कम करने के लिए लागू किया गया था।

कुछ सीपीयू को उनके मेमोरी नियंत्रकों को समर्पित बाहरी घटकों के रूप में डिज़ाइन किया गया है जो चिपसेट का हिस्सा नहीं हैं। एक उदाहरण IBM POWER8 है, जो बाहरी Centaur (कंप्यूटिंग) चिप्स का उपयोग करता है जो DIMM मॉड्यूल पर लगाए जाते हैं और मेमोरी बफ़र्स, L4 कैश चिप्स और वास्तविक मेमोरी कंट्रोलर के रूप में कार्य करते हैं। Centaur चिप के पहले संस्करण में DDR3 मेमोरी का उपयोग किया गया था लेकिन एक अद्यतन संस्करण बाद में जारी किया गया था जो DDR4 का उपयोग कर सकता है।

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

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

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

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

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

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

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

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

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

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

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

यह भी देखें

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

बाहरी संबंध

 * 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?