کنترلگر حافظه

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