کنترلگر حافظه یک مدار دیجیتالی است که جریان حرکت داده را به حافظه اصلی و برعکس کنترل می کند؛ که می تواند یک تراشهٔ مجزا یا اضافه شده به تراشهٔ دیگری باشد. مانند یک die(قالب) از میکروپروسسور؛ که تراشهٔ کنترلگر حافظه نیز نامیده می شود(MMC)کامپیوترهایی که از میکروپروسسورهای اینتل استفاده می کنند بطور مرسوم کنترلگر حافظه ای دارند که روی اتصال شمالی مادربوردشان طراحی شده است، ام بسیاری از میکروپروسسورهای مدرن مثل آلفا ۲۱۳۶DEC/Compaq، آلتئن ۶۴AMDو پردازنده های آبترون، IBM’s POWER5, Sun Microsystems's UltraSPARC T۱، و اکثر ۷هسته ای های جدید اینتل یک کنترلگر حافظهٔ ترکیب شده روی قالب میکروپروسسور دارند که از پوشیدگی حافظه جلوگیری به عمل می آورد. با اینکه توانایی بالا بردن کارایی سیستم را دارد، میکروپروسسور را درگیر نوع (یا انواع) خاصی از حافظه می کند؛ که این یک طراحی مجدد برای پشتیبانی از تکنولوژی های جدید تر حافظه را لازم می نماید. زمانی که DDR2 SDRAM معرفی شد، AMD سی پی یوهای جدید اتلون ۶۴ را به بازار عرضه کرد. این مدل های جدید، با یک کنترلگر DDR۲ از یک سوکت فیزیکی متفاوت استفاده می کنند (که با عنوان سوکت AM۲ شناخته می شود)، بنابراین آن ها فقط در مادربوردهایی که برای نوع جدید RAM طراحی شده اند جایگذاری می شوند. وقتی که کنترلگر حافظه روی قالب نیست، همان سی پی یو روی یک مادربورد جدید با یک اتصال شمالی به روزرسانی شده نصب خواهد شد.تجمع کنترلگر حافظه روی قالب میکروپروسسور یک ایدهٔ جدید نیست. برخی میکروپروسسورهای دههٔ ۱۹۹۰ مثل آلفا ۲۱۰۶۶ DEC و PA-7300LC HP کنترلگر حافظه های تجمع یافته داشتند اما برای افزایش کارایی، این طراحی شد تا هزینهٔ سیستم ها را با برطرف کردن نیاز به یک کنترلگر حافظهٔ خارجی کاهش دهد.
گذرگاه حافظه
کنترلگرهای حافظه شامل منطق اجباری برای خواندن و نوشتن در DRAM، و تجدید حافظه کردن DRAM از طریق ارسال جریان در تمام دستگاه می باشند. بدون تجدید حافظه کردن پیوسته ،DRAM داده هایی را که روی آن نوشته شده است را توسط تخلیه شارژ خازن ها در کسری از ثانیه از دست خواهد داد. (نه کمتر از ۶۴ میلی ثانیه بر اساس استانداردهای JEDEC)خواندن و نوشتن در DRAM توسط انتخاب آدرس سطر و ستون دادهٔ DRAM به عنوان ورودی های مدار مالتی پلکسر صورت می گیرد و دی مالتی پلکسر ورودی های تغییر یافته را برای انتخاب مکان صحیح حافظه استفاده می کند و داده را برمی گرداند که پس از آن از طریق مالتی پلکسر برگردانده می شود تا داده ها ادغام شوند تا نیاز به پهنای باس برای این عملیات را کاهش دهد.پهنای باس عبارت است از تعداد خطوط موازی موجود برای ارتباط برقرار کردن با سلول حافظه. بازهٔ پهنای باس کنترلگر حافظه در سیستم های جدیدتر از ۸ بیت تا ۵۱۲ بیت در بیشتر سیستم های پیچیده و کارت های ویدئو می باشد (عموماً به گونه ای طراحی شده اند که ۴ عدد کنترلگر حافظهٔ شبیه سازی شدهٔ ۶۴ بیت به صورت موازی عمل می کنند، گویی برخی برای عمل کردن در حالت گنگ طراحی شده اند جاییکه ۲ تا کنترلگر حافظهٔ ۶۴ تایی می توانند برای دسترسی به یک دستگاه حافظه ۱۲۸ بیتی به کار برده شوند.
کنترلگر حافظه های DDR برای راه انداختن DDR DSRAM بکار برده می شوند. جایی که انتقال داده هم در لبه بالایی و هم در لبه پایینی کلاک سیستم انجام می پذیرد. کنترلگرهای حافظه DDR، مشخصا پیچیده تر از کنترلگرهای با نرخ داده عادی هستند، اما دو برابر آن ها داده انتقال می دهند بدون آن که کلاک یا پنهای باس سلول حافظه افزایش یابد.
کنترلگرهای دو کاناله، کنترل کننده های حافظه ای هستند که در آن ها، دستگاه های DRAM به دو باس متفاوت تقسیم می شوند تا به کنترلگرهای حافظه اجازه بدهند تا به صورت موازی به آن ها دسترسی داشته باشند. این کار به صورت تئوری مقدار پهنای باند گذرگاه حافظه را دوبرابر می کند. در تئوری کانال های بیشتری می توانند ساخته شوند (یک راه حل ایده آل داشتن یک کانال برای هر سلول DRAM می باشد) اما بنابر تعداد سیم ها، مقاومت سیم ها، و نیاز به خطوط موازی دسترسی برای داشتن طول های مشابه، بیشتر کانال ها خیلی سخت است که اضافه شوند.
گذرگاه حافظه
کنترلگرهای حافظه شامل منطق اجباری برای خواندن و نوشتن در DRAM، و تجدید حافظه کردن DRAM از طریق ارسال جریان در تمام دستگاه می باشند. بدون تجدید حافظه کردن پیوسته ،DRAM داده هایی را که روی آن نوشته شده است را توسط تخلیه شارژ خازن ها در کسری از ثانیه از دست خواهد داد. (نه کمتر از ۶۴ میلی ثانیه بر اساس استانداردهای JEDEC)خواندن و نوشتن در DRAM توسط انتخاب آدرس سطر و ستون دادهٔ DRAM به عنوان ورودی های مدار مالتی پلکسر صورت می گیرد و دی مالتی پلکسر ورودی های تغییر یافته را برای انتخاب مکان صحیح حافظه استفاده می کند و داده را برمی گرداند که پس از آن از طریق مالتی پلکسر برگردانده می شود تا داده ها ادغام شوند تا نیاز به پهنای باس برای این عملیات را کاهش دهد.پهنای باس عبارت است از تعداد خطوط موازی موجود برای ارتباط برقرار کردن با سلول حافظه. بازهٔ پهنای باس کنترلگر حافظه در سیستم های جدیدتر از ۸ بیت تا ۵۱۲ بیت در بیشتر سیستم های پیچیده و کارت های ویدئو می باشد (عموماً به گونه ای طراحی شده اند که ۴ عدد کنترلگر حافظهٔ شبیه سازی شدهٔ ۶۴ بیت به صورت موازی عمل می کنند، گویی برخی برای عمل کردن در حالت گنگ طراحی شده اند جاییکه ۲ تا کنترلگر حافظهٔ ۶۴ تایی می توانند برای دسترسی به یک دستگاه حافظه ۱۲۸ بیتی به کار برده شوند.
کنترلگر حافظه های DDR برای راه انداختن DDR DSRAM بکار برده می شوند. جایی که انتقال داده هم در لبه بالایی و هم در لبه پایینی کلاک سیستم انجام می پذیرد. کنترلگرهای حافظه DDR، مشخصا پیچیده تر از کنترلگرهای با نرخ داده عادی هستند، اما دو برابر آن ها داده انتقال می دهند بدون آن که کلاک یا پنهای باس سلول حافظه افزایش یابد.
کنترلگرهای دو کاناله، کنترل کننده های حافظه ای هستند که در آن ها، دستگاه های DRAM به دو باس متفاوت تقسیم می شوند تا به کنترلگرهای حافظه اجازه بدهند تا به صورت موازی به آن ها دسترسی داشته باشند. این کار به صورت تئوری مقدار پهنای باند گذرگاه حافظه را دوبرابر می کند. در تئوری کانال های بیشتری می توانند ساخته شوند (یک راه حل ایده آل داشتن یک کانال برای هر سلول DRAM می باشد) اما بنابر تعداد سیم ها، مقاومت سیم ها، و نیاز به خطوط موازی دسترسی برای داشتن طول های مشابه، بیشتر کانال ها خیلی سخت است که اضافه شوند.
wiki: کنترلگر حافظه