هر سیستم کامپیوتری برای کار کردن نیاز به RAM دارد. اما تنوع این RAM ها آنقدر زیاد است که ممکن است برای انتخاب یک RAM مناسب گیج شوید. بیشترین نوع حافظهای که امروز استفاده میشود یا Registered memory است یا حافظهی .Unregistered memory
در این مقاله قرار است به بررسی تفاوت بین این دو نوع حافظه بپردازیم.
حافظهی Registered، که با عنوان RDIMM نیز شناخته میشود، یک ثبات بین ماژولهای DRAM و کنترل گر حافظهی سیستم ایجاد میکند. این یعنی بار الکتریکی کمتری روی کنترلگر حافظهی سیستم قرار میگیرد و به سیستمها اجازه میدهد تا ماژولهای حافظهی بیشتری را برای برقراری تعادل پشتیبانی کنند.
memory registered به دلیل نیاز به شدت جریان برق بیشتر، هزینهی بیشتری نسبت به Unregisterها دارند. بنابراین، registered memory معمولا تنها برای سیستمهایی استفاده میشود که نیاز به RAMزیادی دارند و قابل اطمینان بودن سیستم مثل “سرور ها” ضرورت دارد.
بیشتر رمهای registered شامل ECC نیز میشوندکه میتواند بیشتر خطاهای دادهی اینترنتی را شناسایی و اصلاح کند.
امروزه، بیشترین حافظههای استفاده شده در دکستاپها، نوت بوک ها و موبایل ها که توسط کاربران عادی استفاده میشود از نوع unbuffered یا همان non-Ecc میباشد. این نوع RAM ها به عنوان رم های رایج شناخته میشوند. همانطور که قبلا اشاره شد، شما برای راه اندازی یک سیستم کامپیوتری ساده به رمهای ECC نیاز ندارید، ولی اگر قصد راه اندازی یک سرور بزرگ یا ساخت یک دیتاسنتر را دارید استفاده از ECC ها یک امر ضروری به شمار میآید.
تفاوت عملکرد Registered ECC Memory با Unbuffered ECC
تفاوت اساسی بین این دو این است که command یا دستوری که در پیکربندی unbuffered داده میشود، مستقیما از کنترلگر به سمت ماژول حافظه میرود؛ درحالی که در پیکربندی Registered memory دستورها اول به بانک registered memory و بعد به ماژول ها ارسال میشوند. همچنین استفاده از ECC memory موجب میشود صدمه و آسیب کمتری به سرورها وارد شود.
حافظهی ECC چکار میکند؟
حافظهی ECC برای بیشتر محیطهای تجاری ضروری محسوب میشود. اصلاح خطای تک بیتی در یک 8بیت بایت باعث میشود ارورهای تک بیتی هنگام وقوع، هم شناسایی و هم اصلاح شوند. برخلاف اکثر رم های دیگر که دارای 8 تراشه هستند، حافظهی ECC دارای 9 تراشه است و همین تراشهی اضافی، تراشه ای است که برای تشخیص خطا و اصلاح استفاده میشود.
بیشتر مصرف کنندگان انتخاب دیگری به جز استفاده از حافظههای unregisterd ندارند، به این خاطر که CPU هایی مثل Intel’ Core و یا سری AMD Ryzen تنها حافظههای Unregistered را پشتیبانی میکند.
در حقیقت، Unbuffered Ecc DRAM تنها گزینهی موجود برای بیشتر برای کاربران است ، مگر اینکه یکی از این دستگاهها با یک پردازندهی Intel یا AMD اجرا شود که بتواند حافظهی ECC را پشتیبانی کند.
پشتیبانی از ماژولهای registered memory تنها برای سیستمهایی امکانپذیر است که دارای CPU های سطح سرور باشند. مثل : Intel’s Xeon lineup یا AMD’s EPYC.
دلیل اصلی آن این است که memory registerd از یک unregistered memory گران تر است حتی با اینکه از ظرفیت یکسانی برخوردار هستند و برای طیف وسیعی از مصرفکنندگان عادی استفاده از registerd Memory یا ECC هیچ نفع یا کاربردی ندارد.
نتیجهگیری
ما دو نوع حافظه داریم : Registered ECC Memory با Unbuffered ECC (unregistered memory)
- سیستمهای کامپیوتری معمولی (PC) ، موبایل ها و … که توسط کاربران عادی استفاده می شود از رم های unregistered memory استفاده میکنند.
- ECC Memory ها برای سرورها که نیاز به قدرت بیشتر و عملکرد بالاتری دارند استفاده میشود. هر سازمان کوچک یا بزرگی نیاز به یک سرور قوی یا یک دیتاسنتر دارد. برای این نوع سرورها تنها از ECC Memory ها استفاده میشود.
- ECC Memory توانایی شناسایی و اصلاح خطاهای رایج را دارد که قابلیت تشخیص سریع آن با کمتری احتمال خطای ممکن از مهمتری مزایای این رم ها محسوب میشود.