چگونه طراحان سیستم با ایجاد تعادل بین SRAM، DRAM و حافظه فلش NAND از افت سرعت پردازش جلوگیری میکنند
عملکرد کامپیوتر به یک سلسلهمراتب دقیق حافظه بستگی دارد؛ جایی که SRAM گرانقیمت و فوقسریع پردازنده را تغذیه میکند، در حالی که DRAM با تراکم بیشتر و فلش NAND غیرفرار، ذخیرهسازی انبوه را بر عهده دارند. ایجاد تعادل بین این سه فناوری، سرعت، هزینه و بهرهوری انرژی دستگاه را تعیین میکند.
به قلم کامران صادقی
این خبر را به اشتراک بگذارید
- طراحان سیستم
- تمرکز بر به حداکثر رساندن دستورالعملها در هر چرخه کلاک از طریق گسترش SRAM روی تراشه.
- اپراتورهای دیتاسنتر
- اولویت دادن به تراکم DRAM و بهرهوری انرژی برای پشتیبانی از مجازیسازی در مقیاس عظیم.
- تولیدکنندگان تجهیزات ذخیرهسازی
- تلاش برای رابطهای سریعتر NAND جهت کمرنگ کردن مرز بین فضای ذخیرهسازی و حافظه.
دیدگاههایی که این گزارش پوشش نداده
- خریداران لوازم الکترونیکی مصرفی
- توسعهدهندگان نرمافزار در حال بهینهسازی کد
طراحان سیستمی که نسل بعدی پردازندهها را طراحی میکنند، با محدودیت شدید فضای سیلیکونی روبهرو هستند. آنها دقیقاً تصمیم میگیرند که چه مقدار فضا به حافظه پنهان روی تراشه، حافظه خارجی و ذخیرهسازی دائمی اختصاص یابد تا بین سرعت پردازش و هزینه تولید تعادل ایجاد کنند. فرصت بعدی آنها برای تغییر این تعادل با ورود فناوری ساخت ۲ نانومتری فرا میرسد که نیازمند محاسبه مجدد این است که چه مقدار حافظه سریع میتواند از نظر فیزیکی روی یک تراشه واحد جای بگیرد. هر میلیمتر از سیلیکون که به ذخیرهسازی اختصاص مییابد، یک میلیمتر از هستههای پردازشی کم میکند؛ موضوعی که سلسلهمراتب حافظه را به یکی از بحثبرانگیزترین جنبههای طراحی تراشههای مدرن تبدیل کرده است.[6]
برای هر کسی که در حال پیکربندی یک سرور، اسمبل کردن یک ورکاستیشن یا صرفاً درک دلیل کندی یک دستگاه است، نکته کاربردی بسیار ساده است. خریداران باید برای کارهای حساس به تأخیر مانند گیمینگ یا معاملات فرکانس بالا، حافظه پنهان روی تراشه (SRAM) را در اولویت قرار دهند؛ برای مجموعه دادههای بزرگ و مجازیسازی، حافظه اصلی (DRAM) را به حداکثر برسانند؛ و برای ظرفیت انبوه، صرفاً به فضای ذخیرهسازی NVMe (فلش NAND) تکیه کنند. درک نحوه تعامل این سه نوع حافظه مجزا نشان میدهد که چرا صرفاً اضافه کردن یک هارد دیسک بزرگتر، بهندرت مشکل سیستمی را که از اساس کند است، حل میکند.[6]
سلسلهمراتب حافظه به این دلیل وجود دارد که هیچ فناوری نیمههادی واحدی نمیتواند همزمان سریع، متراکم و ارزان باشد. یک پردازنده مدرن با سرعت میلیاردها چرخه در ثانیه کار میکند و برای پر نگه داشتن مسیرهای اجرایی خود، به دادهها بهصورت لحظهای نیاز دارد. اگر پردازنده منتظر رسیدن دادهها بماند، پردازش کاملاً متوقف میشود. برای جلوگیری از این افت سرعت، طراحان انواع حافظه را لایهبندی میکنند؛ سریعترین و گرانترین حافظه را در نزدیکترین فاصله به هستههای پردازنده و کندترین و ارزانترین حافظه را در دورترین فاصله قرار میدهند. همانطور که در برنامه درسی OpenCourseWare دانشگاه امآیتی اشاره شده است، این ساختار تضمین میکند که سیستم با سرعتِ سریعترین حافظه کار کند، در حالی که ظرفیتِ ارزانترین حافظه را نیز ارائه میدهد.[3][4]
حافظه دسترسی تصادفی ایستا (SRAM) در بالاترین نقطه این سلسلهمراتب قرار دارد. SRAM که مستقیماً در قالب حافظه پنهان L1، L2 و L3 درون تراشه پردازنده ساخته میشود، از یک مدار فلیپفلاپ پیچیده استفاده میکند (که معمولاً به شش ترانزیستور مجزا برای هر بیت نیاز دارد) تا دادهها را بدون نیاز به تازهسازی مداوم الکتریکی نگه دارد. این طراحی پایدار و همیشه آماده، به SRAM اجازه میدهد تا دادهها را در یک تا دو نانوثانیه تحویل دهد که کاملاً با سرعت کلاک فوقالعاده بالای پردازنده مطابقت دارد. وقتی پردازنده فوراً به یک دستورالعمل نیاز دارد، SRAM تنها فناوری قادر به ارائه آن بدون ایجاد تأخیر است.[1][3]
با این حال، این طراحی شش ترانزیستوری فضای فیزیکی عظیمی را روی ویفر سیلیکونی اشغال میکند. SRAM فوقالعاده سریع است، اما تراکم بسیار پایینی دارد و تولید آن در مقیاس انبوه بهشدت گران تمام میشود. یک پردازنده دسکتاپ مدرن ممکن است تنها ۳۲ تا ۹۶ مگابایت حافظه پنهان L3 داشته باشد، اما همین ظرفیت ناچیز میتواند بیش از نیمی از مساحت کل تراشه را اشغال کند. گسترش بیشتر ظرفیت SRAM نیازمند بزرگتر کردن فیزیکی کل پردازنده است که این امر تعداد تراشههای تولیدی در هر ویفر را بهشدت کاهش داده و هزینههای مصرفکننده را به سطوح غیرقابلتحملی میرساند.[2]
وقتی پردازنده نمیتواند دادههای مورد نیاز خود را در حافظه پنهان SRAM پیدا کند (وضعیتی که به عنوان نقص حافظه پنهان شناخته میشود)، به سراغ حافظه اصلی میرود که با استفاده از حافظه دسترسی تصادفی پویا (DRAM) ساخته شده است. بر اساس گزارش شبکه تحقیقاتی SPEAR ITN، حافظه DRAM با جفت کردن یک ترانزیستور دسترسی منفرد با یک خازن ذخیرهسازی منفرد، جایگزینی «پرتراکم و کمهزینه» ارائه میدهد. از آنجا که این حافظه به جای شش ترانزیستور تنها به یک ترانزیستور در هر بیت نیاز دارد، تولیدکنندگان میتوانند حافظه بسیار بیشتری را در همان فضای فیزیکی جای دهند و به یک کامپیوتر دسکتاپ استاندارد اجازه دهند تا ۳۲ تا ۶۴ گیگابایت ظرفیت را با قیمتی مقرونبهصرفه در خود جای دهد.[1][4]
بر اساس گزارش شبکه تحقیقاتی SPEAR ITN، حافظه DRAM با جفت کردن یک ترانزیستور دسترسی منفرد با یک خازن ذخیرهسازی منفرد، جایگزینی «پرتراکم و کمهزینه» ارائه میدهد.
بهای این تراکم بالا، افت شدید در تأخیر است. از آنجا که خازنهای میکروسکوپی بار الکتریکی را نشت میدهند، DRAM باید هزاران بار در ثانیه بهطور مداوم تازهسازی شود تا فقط دادههای خود را حفظ کند. این چرخه تازهسازی مداوم، همراه با فاصله فیزیکی که سیگنال باید از سوکت پردازنده تا اسلاتهای حافظه مادربرد طی کند، تأخیر دسترسی DRAM را به ۵۰ تا ۱۰۰ نانوثانیه میرساند. این حافظه تقریباً ۵۰ برابر کندتر از SRAM است و پردازنده را مجبور میکند تا صدها چرخه کلاک را در حالت بیکار بماند و منتظر رسیدن دادههای درخواستی باشد.[3][4]
هر دو حافظه SRAM و DRAM یک محدودیت اساسی مشترک دارند که مانع از استفاده آنها به عنوان فضای ذخیرهسازی دائمی میشود: آنها کاملاً فرار هستند. به محض قطع شدن منبع تغذیه، فلیپفلاپها بازنشانی شده و خازنها تخلیه میشوند و تمام دادههای ذخیرهشده فوراً پاک میگردند. برای حفظ سیستمعامل، برنامهها و فایلهای کاربر هنگام خاموش شدن دستگاه، سیستم به یک راهحل غیرفرار در پایه این سلسلهمراتب نیاز دارد. بدون این پایه دائمی، کامپیوتر مجبور است با هر بار روشن شدن، سیستمعامل خود را از ابتدا نصب کند.[1][2]
حافظه فلش NAND این نقش ذخیرهسازی دائمی را پر میکند و به عنوان پایه و اساس درایوهای حالت جامد (SSD) مدرن، فلش درایوهای USB و حافظه دستگاههای موبایل عمل میکند. برخلاف رمهای فرار، فلش NAND از ترانزیستورهای تخصصی گیت شناور یا تله بار استفاده میکند که الکترونها را بهطور فیزیکی درون یک لایه نیمههادی ایزوله به دام میاندازند تا دادههای باینری را نشان دهند. از آنجا که این الکترونها حتی در صورت قطع کامل جریان الکتریکی بهطور ایمن در دام باقی میمانند، فلش NAND وضعیت خود را تا مدت نامحدودی حفظ میکند و فضای ذخیرهسازی پایدار و قابلاعتمادی را که برای ایمن نگه داشتن دادهها در طول چرخههای قطع برق و راهاندازی مجدد سیستم لازم است، فراهم میکند.[2]
تولیدکنندگان با روی هم چیدن عمودی این سلولهای حافظه در ساختارهای پیچیده سهبعدی (که گاهی ارتفاع آنها به بیش از ۲۰۰ لایه میرسد)، به تراکم داده عظیمی دست مییابند و اجازه میدهند چندین ترابایت فضای ذخیرهسازی در درایوی به اندازه یک آدامس خرسی جای بگیرد. بهای اجتنابناپذیر این تراکم، سرعت است. دسترسی به دادهها در فلش NAND دهها میکروثانیه طول میکشد که آن را هزاران بار کندتر از DRAM و میلیونها بار کندتر از SRAM میکند. اگر پردازنده بخواهد برنامهای را مستقیماً از روی فلش NAND اجرا کند، سیستم در حین انتظار برای دادهها کاملاً متوقف خواهد شد.[2][5]
کنترلر حافظه سیستم به عنوان هدایتکننده ترافیک پرسرعت در سراسر این سلسلهمراتب عمل میکند. این کنترلر از الگوریتمهای پیچیدهای برای پیشبینی دادههای بعدی مورد نیاز پردازنده استفاده میکند؛ دادهها را از فلش کند NAND بیرون میکشد، در حافظه جادار DRAM بارگذاری میکند و در نهایت، تنها چند میلیثانیه قبل از درخواست واقعی پردازنده، آنها را در حافظه پنهان فوقسریع SRAM قرار میدهد. وقتی این پیشخوانیِ پیشبینانه بهدرستی کار کند، کاربر سرعت لحظهای SRAM را در ترکیب با ظرفیت عظیم و پایدار فلش NAND تجربه میکند.[3][4]
محققان بهطور فعال در حال توسعه فناوریهای نوظهور حافظه غیرفرار (NVM) مانند رم مقاومت مغناطیسی (MRAM) و حافظه تغییر فاز (PCM) هستند تا شکاف عملکردی عظیم بین سرعت DRAM و پایداری NAND را پر کنند. با این حال، تحلیل سال ۲۰۲۰ پلتفرم ریسرچگیت از تراشههای حافظه نوظهور نشان میدهد که اگرچه این گزینههای غیرفرار جدید وجود دارند، اما هنوز برای رسیدن به تراکم و مقرونبهصرفه بودن NAND سنتی با چالشهای قابلتوجهی روبهرو هستند. تا زمانی که تکنیکهای تولید بهطور چشمگیری بهبود نیابند، این جایگزینها به جای لوازم الکترونیکی مصرفی جریان اصلی، محدود به کاربردهای صنعتی خاص و سرورهای سازمانی تخصصی باقی میمانند.[5]
تا زمانی که یک فناوری حافظه جهانی آنقدر بالغ شود که بتواند همزمان جایگزین هر سه سطح شود، این تقسیم کار دقیق همچنان پایه و اساس مهندسی کامپیوتر باقی خواهد ماند. طراحان سیستم به ایجاد تعادل بین سرعت فوقالعاده SRAM، ظرفیت مقرونبهصرفه DRAM و تراکم پایدار فلش NAND ادامه خواهند داد تا پردازندهها را تغذیه کرده و دادهها را ایمن نگه دارند. دستاوردهای عملکردی در دهه آینده، به همان اندازه که به افزایش سرعت خام خود پردازنده بستگی دارد، به مدیریت ترافیک بین این انواع حافظه نیز وابسته خواهد بود.[6]
نکات کلیدی
- SRAM تأخیر نانوثانیهای برای حافظه پنهان پردازنده ارائه میدهد، اما برای ذخیرهسازی انبوه بسیار گران و کمتراکم است.
- DRAM ظرفیت مقرونبهصرفهای برای حافظه اصلی فراهم میکند، اما به دلیل نیاز به تازهسازی مداوم الکتریکی، با افت تأخیر ۵۰ نانوثانیهای مواجه است.
- فلش NAND تراکم ذخیرهسازی عظیم و غیرفراری ارائه میدهد، اما هزاران بار کندتر از رم سیستم است.
- طراحان سیستم این سه سطح را متعادل میکنند تا بدون افزایش هزینههای تولید، دادههای مورد نیاز پردازندهها را تأمین کنند.
بررسی عمیق دیدگاهها
طراحان سیستم
تمرکز بر به حداکثر رساندن دستورالعملها در هر چرخه کلاک از طریق گسترش SRAM روی تراشه.
برای مهندسانی که پردازندهها را طراحی میکنند، گلوگاه اصلی تأخیر حافظه است. آنها از اختصاص دادن بیشترین مساحت ممکن از قالب سیلیکونی به حافظههای پنهان L2 و L3 از نوع SRAM دفاع میکنند. شواهد آنها به بارهای کاری مدرن، بهویژه گیمینگ و استنتاج هوش مصنوعی اشاره دارد؛ جایی که پردازنده بیشتر وقت خود را صرف انتظار برای رسیدن دادهها از حافظه اصلی میکند. با نگه داشتن دادهها روی تراشه، آنها میتوانند از افت ۵۰ نانوثانیهای مراجعه به DRAM جلوگیری کنند.
اپراتورهای دیتاسنتر
اولویت دادن به تراکم DRAM و بهرهوری انرژی برای پشتیبانی از مجازیسازی در مقیاس عظیم.
اپراتورهایی که زیرساختهای ابری را مدیریت میکنند، نگاه متفاوتی به این سلسلهمراتب دارند. سرورهای آنها صدها ماشین مجازی را بهطور همزمان اجرا میکنند؛ بار کاری که به جای حافظه پنهان فوقسریع و محلی، به استخرهای عظیمی از حافظه اصلی نیاز دارد. آنها ماژولهای DRAM با تراکم بالا و فناوریهای نوظهور Compute Express Link (CXL) را که به سرورها اجازه میدهد منابع حافظه را به اشتراک بگذارند، در اولویت قرار میدهند و استدلال میکنند که ظرفیت و مصرف انرژی کمتر به ازای هر گیگابایت، بسیار مهمتر از تأخیر در سطح نانوثانیه است.
تولیدکنندگان تجهیزات ذخیرهسازی
تلاش برای رابطهای سریعتر NAND جهت کمرنگ کردن مرز بین فضای ذخیرهسازی و حافظه.
شرکتهای تولیدکننده فلش NAND و درایوهای NVMe استدلال میکنند که لایه ذخیرهسازی در حال رسیدن به سرعتی است که میتواند وظایفی را که بهطور سنتی برای DRAM رزرو شده بودند، انجام دهد. آنها با استفاده از رابطهای PCIe 5.0 و رابطهای برنامهنویسی Direct Storage، قصد دارند دادهها را مستقیماً از فلش غیرفرار به پردازنده یا پردازنده گرافیکی استریم کنند. آنها به صرفهجویی عظیم در هزینهها با استفاده از 3D NAND پرتراکم نسبت به DRAM فرار اشاره میکنند، بهویژه برای بارهای کاری مبتنی بر خواندن اطلاعات مانند رندر ویدیو و بارگذاری مدلهای زبانی بزرگ.
چرا مهم است
درک سلسلهمراتب حافظه نشان میدهد که چرا صرفاً اضافه کردن یک هارد دیسک بزرگتر باعث افزایش سرعت کامپیوتر نمیشود و به خریداران کمک میکند تا بودجه خود را بر اساس نیازهای کاریشان، بهدرستی بین حافظه پنهان، رم و فضای ذخیرهسازی تقسیم کنند.
منابع
[1]Wonderful PCBاپراتورهای دیتاسنترThe different between RAM, ROM, SRAM, DRAM, EEPROM, NAND, NOR
مطالعه در Wonderful PCB →
[2]Wccftechتولیدکنندگان تجهیزات ذخیرهسازیA Deep Dive Into Modern Computer Memory: ROM, DRAM, SRAM & Flash
مطالعه در Wccftech →
[3]MIT OpenCourseWareطراحان سیستمL14: The Memory Hierarchy
مطالعه در MIT OpenCourseWare →
[4]SPEAR ITNاپراتورهای دیتاسنترMemory Hierarchy – How does computer memory work
مطالعه در SPEAR ITN →
[5]ResearchGateتولیدکنندگان تجهیزات ذخیرهسازیSecurity of Emerging Memory Chips
مطالعه در ResearchGate →
[6]تیم سردبیری کوهستانطراحان سیستمتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
نظرات
بیشتر در راهنماها
مشاهده همه →هر زاویه. هر روز.
دریافت راهنماها اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.




