در این مقاله قصد داریم با انواع حافظههای DDR، مشخصات فنی و نحوهی کار آنها بیشتر آشنا شویم و نسلهای مختلف این حافظهها از DDR تا DDR4 را بررسی و با یکدیگر از جنبههای گوناگون مقایسه خواهیم کرد. همچنین اصطلاحات تخصصی حافظههای DDR مانند سرعت کلاک، نرخ انتقال داده، تاخیر و تایمینگ را مرور خواهیم کرد.
حافظهی DDR SDRAM یا به طور خلاصه حافظههای DDR نوعی حافظهی موقت با دسترسی تصادفی دینامیکی (SDRAM) است که در هر سیکل کلاک به جای یک واحد داده، دو واحد داده را جابهجا می کنند و لذا به آنها Double Data Rate یا به طور خلاصه DDR گفته می شود. این حافظهها جایگزین حافظههای قدیمی SDR SDRAM شده اند که در آنها در هر سیکل کلاک یک بیت داده منتقل میشد.
در حافظههای DDR یک واحد داده در هر خیز (Rise) کلاک و یک واحد داده در هر افت (Down) کلاک جابهجا میشود؛ از این رو نرخ انتقال دادهی این حافظهها نسبت به حافظه های فاقد این ویژگی، در سرعت کلاک یکسان دو برابر خواهد شد. بنابراین برچسب سرعتی که شرکت های سازنده بر روی ماژولهای حافظه DDR میزنند، دو برابر سرعت کلاک واقعی آن حافظه است. به عنوان مثال یک حافظهی DDR4-2133 با سرعت کلاک واقعی ۱۰۶۶ مگاهرتز کار میکند، اما شرکت سازنده سرعت کلاک آن را ۲۱۳۳ مگاهرتز اعلام میکند.
گاه به سرعت درج شده بر روی ماژولِ حافظهی DDR سرعت موثر نیز میگویند. در این مقاله نیز برای سادگی، سرعت درج شده بر روی ماژول فیزیکی حافظهی DDR را سرعت موثر و سرعت کلاکی که حافظه عملاً با آن کار میکند، سرعت واقعی خواهیم خواند.
با توجه به حمل دو بیت داده در هر سیکل کلاک توسط حافظههای DDR، سازندگان این نوع حافظهها سرعت کلاک را دو برابر فرکانس کلاک واقعی ماژول اعلام میکنند.
البته باید دانست سرعت کلاکی که برای هر حافظهی DDR قید میشود، حداکثر سرعت آن حافظه بوده و هیچ تضمینی وجود ندارد که حافظهی موردنظر به طور خودکار و به شکل پایدار با آن سرعت کار کند. برای مثال اگر یک حافظهی DDR2-1۰۶۶ را بر روی سوکتی نصب کنیم که در آن امکان کار با نرخ کلاک واقعی ۴۰۰ مگاهرتز ( یا ۸۰۰ مگاهرتز DDR) وجود داشته باشد، حداکثر سرعت موثر قابل دستیابی برای این ماژول حافظه ۸۰۰ مگاهرتز است؛ چرا که سیگنال کلاک توسط کنترلر حافظه که در داخل پردازنده و در خارج از ماژول قرار گرفته پیشبینی و تامین میشود و این کنترلر حداکثر توانایی پردازش دادهها با نرخ کلاک ۴۰۰ مگاهرتز در خروجی ماژول را دارد (عموماً کنترلرهای حافظهی DRAM یا به صورت یکپارچه داخل پردازنده قرار دارد یا در تراشهی موسوم به پل شمالی مادربرد مستقر شده اند).
با توجه به اینکه در هر سیکل کلاک ۲ بیت داده در حافظههای DDR رد و بدل میشود، با ضرب سرعت واقعی کلاک در عدد ۲، تعداد دادهی انتقال یافته (Transfer) در هر ثانیه نیز به دست میآید که با واحد میلیون انتقال بر ثانیه (MT/s) بیان میشود و گاه این عدد به عنوان جایگزین سرعت کلاک موثر حافظهی DDR اعلام میشود.
روش نامگذاری حافظههای DDR
برای نامگذاری تراشههای حافظهی موجود در یک ماژول از عبارت DDRx-yyyy استفاده می شود که در آن حرف x نشاندهندهی نسلِ حافظه (نظیر DDR2 یا DDR3) و عدد yyyy گویای سرعت کلاک موثر حافظهی مورد نظر است. اما برای نامگذاری خود ماژولهای حافظه (DIMM) از عبارت PCx-zzzz استفاده میشود که در آن حرف x باز هم نشاندهندهی نسل حافظهی DDR است و عدد zzzz حداکثر نرخ انتقال دادهی آن ماژول حافظه را بیان می کند.
برای محاسبهی حداکثر نرخ انتقال دادهی یک ماژول حافظه، سرعت موثر آن حافظهی DDR را در عدد ۶۴ ضرب و سپس برای تبدیل حاصل به بایت بر ۸ تقسیم میکنند (عدد ۶۴ در این رابطه پهنای باس ماژولهای حافظهی DIMM مورد استفاده در کامپیوترهای شخصی است، ماژولهای DIMM دادهها را در بستههای ۶۴ بیتی انتقال میدهند). به عبارت دیگر و به سادگی، اگر نرخ کلاک موثر یک حافظهی DDR را در عدد هشت ضرب کنیم، حداکثر نرخ انتقال دادهی آن ماژول حافظه محاسبه میشود. حداکثر نرخ انتقال دادهی یک ماژول در فصل مشترک کنترلر حافظه و ماژول را میتوان پهنای باند آن ماژول در نظر گرفت.
حداکثر نرخ انتقال دادهی ماژول حافظه = سرعت موثر ماژول × ۸
برای مثال اگر بر روی ماژول حافظه عبارت DDR3-1333 درج شده باشد، این حافظه از نسل سوم حافظههای DDR بوده و سرعت کلاک موثر آن ۱۳۳۳ مگاهرتز است. بنابراین، حداکثر نرخ انتقال دادهی این حافظه از ضرب عدد ۱۳۳۳ در عدد ۸ به دست میآید که حاصل 10666 مگابایت در هر ثانیه خواهد بود، لذا این ماژول حافظه با نام PC3-10666 تعریف میشود که این عبارت همراه با نام تراشهی حافظهی مورد استفاده (DDR3-1333) بر روی برچسب ماژول درج می شود. گاه عدد به دست آمده رند میشود و مثلاً به جای عدد ۱۰۶۶۶، ماژول حافظه با عنوان PC3-10600 شناسایی میشود.
باید توجه داشت که سرعت و نرخ انتقال دادهی بیان شده بر روی برچسبهای حافظهی DDR، حداکثر سرعت و نرخ انتقال دادهی آن ماژول است و ممکن است دسترسی به این اعداد به لحاظ محدودیتهای مادربرد عملاً امکانپذیر نباشد. از طرفی برای محاسبهی این اعداد و ارقام فرض بر این است که در هر سیکل کلاک میان تراشه و کنترلرِ حافظه دادههایی رد و بدل شود که معمولا چنین اتفاقی نمیافتد؛ چرا که در برخی سیکل ها به جای انتقال داده، دستورالعملها و فرامینی میان کنترلر و تراشه جابهجا میشود. برای مثال گاه فرمانی از سوی کنترلر در برخی سیکلها به ماژول ارسال میشود تا داده های ذخیره شده در محل خاصی از حافظه را تحویل کنترلر دهد و در این گونه موارد دادهای بین کنترلر و تراشه جابهجا نمیشود.
مقایسه انواع حافظههای DDR
سرعت کلاک و نرخ انتقال داده
تا به امروز چهار نسل از حافظه های DDR شامل DDR۳، DDR2، DDR و DDR4 ارائه شده است. تفاوت اصلی میان نسلهای مختلف حافظههای DDR حداکثر نرخ انتقال دادهای است که در هر نسل از این تراشه ها قابل دستیابی است. به عنوان مثال حداکثر نرخ انتقال دادهی حافظه DDR3 برابر است با 12800MB/s و حداکثر نرخ انتقال دادهی یک ماژول DDR2 مساوی است با 8533MB/s.
باید توجه داشت که امکان دارد برخی از سازندگان ماژولهایی با سرعتهای بالاتر از استانداردهای فوق در هر نسل DDR ارائه دهند که این سرعتهای بالاتر تنها از طریق اورکلاک ماژول قابل دستیابی است و به طور عادی مادربرد، خروجی ماژول حافظه را روی آن سرعت تنظیم نمیکند. به عنوان مثال فرض کنید که یک ماژول حافظهی DDR3-2133 یا PC3-17064 خریداری و آن را بر روی سوکت DDR3 سیستم خود نصب کردهاید. عدد ۲۱۳۳ حداکثر سرعت کلاک موثر این ماژول است و فرکانس کلاکی که این ماژول در شرایط عادی با آن کار میکند، عددی کوچکتر است.
ماژولهای DDR3 عموماً با سرعت موثر استاندارد ۱۳۳۳ مگاهرتز (سرعت واقعی ۶۶۶ مگاهرتز) کار میکند و برای رسیدن به سرعت موثر ۲۱۳۳ مگاهرتز ( سرعت واقعی 1066 مگاهرتز در صورت پشتیبانی مادربرد) باید به صورت دستی حافظهی رم را اورکلاک کرد. برای اورکلاک حافظهی DDR باید از پشتیبانی مادربرد از آن میزان فرکانس هدف اطمینان حاصل کرد و حتیالامکان از حافظههایی استفاده کرد که با تجهیز به خنککنندهی مناسب امکان دفع حرارت مازاد تراشههای DDR را داشته باشد. محدودهی سرعت کلاک موثر در نسل های مختلف DDR به اضافهی محدوده قابل دستیابی طی اورکلاک در شکل زیر بهتر دیده میشود.
در جدول شماره (۱) نسلهای مختلف حافظههای DDR از نظر سرعت کلاک، نرخ انتقال داده با یکدیگر مقایسه شده است. دقت کنید که در جدول زیر محدودهی استاندارد برای سرعت و نرخ انتقال دادهی انواع حافظههای DDR درج شده و ممکن است حافظههایی با سرعتهای خارج از این محدوده در بازار در دسترس باشد.
جدول شماره (۱): مشخصات نسلهای مختلف استاندارد حافظهی DDR
استاندارد حافظهی DDR | سرعت کلاک داخلی (MHz) | سرعت کلاک واقعی ماژول (MHz) | ضریب واکشی | تعداد داده انتقالی (MT/s) | حداکثر نرخ انتقال داده (GB/s) | ولتاژ کاری |
DDR | 133-200 | 133-200 | 2 | 266-400 | 2.1-3.2 | 2.5 |
DDR2 | 133-200 | 266-400 | 4 | 533-800 | 4.2-6.4 | 1.8 |
DDR3 | 133-200 | 400-1066 | 8 | 1066-1600 | 8.5-14.9 | 1.35-1.5 |
DDR4 | 133-200 | 1066-1600 | 8 | 2133-3200 | 17-25.6 | 1.2-1.4 |
ولتاژ کاری
تفاوت دیگری که حافظه های DDRx با یکدیگر دارد در میزان ولتاژ کاری تراشههای حافظه است. عموماً با پیشرفت این تراشهها در نسلهای بالاتر، ولتاژ کاری تراشههای حافظه کاهش مییابد و تراشهی حافظهای که با ولتاژ کمتری کار میکند در نهایت توان مصرفی کمتری را به دست خواهد داد. معمولاً تراشههای DDR با ولتاژ ۲.۵ ولت، تراشه های DDR2 با ولتاژ ۱.۸ ولت و تراشه های DDR3 با ولتاژ ۱.۳5 تا ۱.۵ ولت کار میکند و سرانجام ولتاژ کاری تراشههای نسل چهارم DDR4 فقط ۱.۲ ولت است؛ لذا مشاهده میشود که ولتاژ هر نسل از نسل قبلی کمتر است. در آخرین ستون جدول شماره (۱) ولتاژ کاری هر نسل از حافظههای DDR ارائه شده است.
واکشی (Prefetch)
حافظههای دینامیک دادهها را در ماتریسی از خانههای الکترونیکی یا خازنها ذخیره میکند. در تمامی حافظههای DDR در هر سیکل کلاک دو واحد داده میان بافر و کنترلر تبادل میشود، اما میزان دادهی منتقل شده از تراشه به بافر در هر سیکل کلاک در نسلهای مختلف تفاوت دارد؛ به انتقال تعداد مشخصی از دادهها از تراشه به بافر حافظه واکشی میگویند.
بافر یا Memory Buffer Register قسمتی از ماژول حافظه است که دادهها قبل از انتقال به تراشه یا پیش از تحویل به کنترلر موقتاً در آن ذخیره میشود و در واقع واسطهی میان تراشههای حافظهی رم و پردازندهی اصلی است. زمانی که در مورد سرعت کلاک یک ماژول حافظه صحبت می کنیم، عمدتاً منظور سرعت خارجی آن ماژول، یعنی سرعت کلاک در فصل مشترک ماژول و کنترلر حافظه است و سرعت کلاک داخلی یا سرعت کلاک در خروجی تراشههای DDR کسری از این سرعت است.
آرایهی تراشههای DDR در هر سیکل کلاک دو واحد داده را به بافر ماژول منتقل میکند، به این روش واکشی دوبیتی می گویند. در حافظهی DDR2 تعداد دادههای منتقل شده از تراشهها به بافر ۴ بیت و در حافظههای DDR3 تعداد دادههای انتقالی به بافر ۸ بیت است. در حافظههای DDR4 علیرغم تکنولوژی بالاتر همچنان تعداد واحدهای واکشی شده هشت بیت است.
برای انطباق سرعت کلاک در خروجی تراشه (فصل مشترک تراشه DDR و بافر) و خروجی ماژول (فصل مشترک بافر و کنترلر حافظه) و پرهیز از ایجاد گلوگاه، سرعت کلاک واقعی در خروجی تراشه به نحوی تنظیم میشود که با ضرب آن در تعداد دادهی واکشی شده، سرعت کلاک موثر در خروجی بافر به دست آید. در شکل زیر این مسئله به وضوح ترسیم شده است؛ در هر نسل با ضرب کردن سرعت کلاک واقعی خروجی تراشه در تعداد دادههای منتقل شده به بافر در هر سیکل کلاک، سرعت کلاک DDR (موثر) در خروجی بافر محاسبه میشود. سرعت کلاک واقعی در خروجی بافر نیمی از آن مقدار است (بافر در هر سیکل کلاک دو واحد داده به کنترلر منتقل میکند).
پس بر طبق شکل بالا در یک حافظهی DDR2 که در آن سرعت کلاک DDR در خروجی بافر ۴۰۰ مگاهرتز است، سرعت کلاک ۱۰۰ مگاهرتز در خروجی تراشه، برای انطباق سرعت کلاک داخلی و خارجی ماژول کافی خواهد بود و چنانچه تراشهای از نوع DDR۳ داشته باشیم که سرعت در خروجی ماژول ۴۰۰ مگاهرتز باشد، سرعت کلاک خروجی تراشه ۵۰ مگاهرتز برای دستیابی به این انطباق کفایت میکند.
بنا بر موراد فوق، در هر سه مدل حافظهی DDR2-800، DDR-400 و DDR3-1600 سرعت کلاک داخلی ماژول حافظه (سرعت در خروجی تراشه) بر روی ۲۰۰ مگاهرتز تنظیم شده، اما سرعت موثر خروجی بافر (در فصل مشترک ماژول و کنترلر یا مقدار xxx) به ترتیب ۴۰۰، ۸۰۰ و ۱۶۰۰ مگاهرتز است. این همان شگرد افزایش نسل به نسل سرعت کلاک در حافظههای رم است. در جدول شماره (۱) جزییات سرعت کلاک داخلی، تعداد دادهی واکشی شده و تعداد دادهی انتقال یافته به کنترلر در هر سیکل کلاک در نسلهای مختلف DDR ارائه شده است.
تاخیر (Latency)
تاخیر در یک حافظهی رم عبارت است از مدت زمانی که از درخواست دادهی معین توسط کنترلر حافظه به ماژول تا تحویل دادههای مورد نظر از طریقِ ماژول به کنترلر به طول میانجامد. به عبارت دیگر تاخیر یک حافظه همان مدت زمانی است که کنترلر حافظه پس از درخواست، منتظر دریافت دادهی مورد نظر است. عبارات مخفف CAS یا CL نیز اشاره به تأخیر در حافظههای رم DDR دارد.
تاخیر در یک حافظهی رم عبارت است از مدت زمانی که از درخواست دادهی معین توسط کنترلر حافظه به ماژول تا تحویل دادههای مورد نظر از طریقِ ماژول به کنترلر به طول میانجامد.
میزان تاخیر در حافظه معمولاً برحسب تعداد سیکل کلاک بیان میشود. به عنوان مثال حافظهی CL3 حافظهای است که در آن از زمان درخواست دادهی معین توسط کنترلر حافظه تا تحویل آن دادهها به کنترلر ۳ سیکل کلاک سپری میشود. برای حافظه با تاخیر CL5 این زمان طولانیتر و مساوی با ۵ سیکل کلاک است. بنابراین هر چه زمان تاخیر CL کمتر باشد، توانایی ماژول حافظه و تراشههای آن در اجرای دستورات رسیده از کنترلر و بازیابی دادهها از سطر و ستون مورد نظر در حافظه و تحویل آن به کنترلر بیشتر بوده و این ماژول سریعتر عمل میکند. پس برای خرید ماژولهای حافظه بهتر است به دنبال حافظههای DDR باشیم که تاخیر CAS کمتری دارد.
حافظههای DDR3 میزان تاخیر بیشتری نسبت به حافظههای DDR2 داشته و این میزان تاخیر برای حافظههای DDR4 باز هم بیشتر است. به عنوان مثال تاخیر در یک حافظه DDR3-1333 برابر با ۶ سیکل کلاک و در یک حافظه DDR4-2666 مساوی با ۱۸ سیکل کلاک است. از طرفی در هر نسل از این حافظهها با افزایش فرکانس کلاکِ ماژول، میزان تاخیر در حافظه بیشتر میشود. مثلاً در حافظههای DDR4 با فرکانس کلاک ۲۱۳۳ مگاهرتز میزان تاخیر CAS هجده سیکل کلاک بوده و چنانچه فرکانس کلاک به ۳۲۰۰ مگاهرتز برسد، میزان تاخیر به ۲۴ سیکل کلاک افزایش خواهد یافت.
گاهی میزان تاخیر حافظه را با واحد زمان نیز بیان میکنند؛ برای مثال در یک حافظهی DDR4-2600 هر سیکل کلاک ۰.۷۵ نانو ثانیه به طول می انجامد (برای محاسبهی زمان هر سیکل کلاک، عدد ۱ بر فرکانس کلاک واقعی حافظه تقسیم میشود، مثلا در مورد حافظهی فوق با سرعت کلاک واقعی ۱۳۳۳ مگاهرتز، مدت زمان هر سیکل کلاک برابر است با ۱/1،333،000،000). پس اگر در این حافظه میزان تاخیر ۱۸ سیکل کلاک باشد، مدت زمان تاخیر به سادگی ۱۳.۵ نانو ثانیه محاسبه می شود.
اگرچه با پیشرفت نسلها تاخیر در حافظهی DDR بر حسب تعداد سیکلهای کلاک افزایش مییابد، اما با توجه به افزایش فرکانس ماژول در نسلهای بالاتر و کاهش زمان هر سیکل کلاک، میزان کلی تاخیر کمتر خواهد بود.
با برهمنهی موارد فوق میتوان گفت اگرچه با افزایش فرکانس یک تراشه میزان تاخیر بر حسب تعداد سیکل کلاک افزایش مییابد؛ اما افزایش تعداد سیکل کلاک لزوماً به معنای طولانی شدن زمان تاخیر CAS یا زمان انتظار کنترلر نخواهد بود؛ چرا که مدت زمان هر سیکل کلاک با افزایش فرکانس حافظه کاهش مییابد. برای مثال زمان انتظار برای تحویل داده به کنترلر (تاخیر CAS) در یک حافظهی DDR3-1333 با ۶ سیکل کلاک تاخیر، ۱۳.۵ نانوثانیه و برای حافظه سریعتر DDR4-2666 با میزان تاخیر ۱۸ سیکل کلاک، باز هم زمان انتظار کنترلر همان ۱۳.۵ نانو ثانیه خواهد بود. همچنین یک حافظه DDR2-800 با تاخیر CL5 تاخیری به مدت ۱۲.۵ نانوثانیه دارد که بیشتر از میزان تاخیر حافظه DDR3-1333 با CL7 و و مدت زمان تاخیر ۱۰.۵ نانو ثانیه است.
به طور کلی زمان تاخیر تابعی از فرکانس کلاک ماژول حافظه است؛ هرچه فرکانس کلاک حافظه بیشتر باشد، زمان تحویل داده به کنترلر کوتاهتر خواهد بود.
زمانبندی (Timing) حافظه
سازندگان حافظه معمولا زمانبندی یک ماژول حافظه را با رشتهای از اعداد که با خط فاصله از یکدیگر جدا شده، بیان میکنند. به عنوان مثال رشتههای اعداد 5-5-5-5 یا 10-10-10-7 دو نوع زمانبندی متفاوت حافظههای DDR است. در این سری اعداد، اولین عدد همان تاخیر CAS است. این اعداد معمولا بر روی برچسب ماژولهای حافظه DDR درج میشود. در فرکانس کلاک یکسان هر چه اعداد در این سری کوچکتر باشد با حافظه قدرتمندتری روبهرو هستیم.
برای کاربران عادی تنها پارامتر حائز اهمیت نوع حافظههای DDR یعنی DDR3 ،DDR2 و... است. اما برای کاربران حرفهای و کسانی که سطح عملکرد بالاتری از یک ماژول حافظه انتظار دارند، مسائل دیگری مثل تایمینگ حافظه و میزان تأخیر آن قابل چشم پوشی نیست. اگر دو ماژول حافظهی رم DDR با نرخ انتقال دادهی یکسان اما با تایمینگ متفاوت داشته باشیم، سطح عملکرد این دو ماژول یکسان نخواهد بود؛ اگرچه هر دو با سرعت کلاک یکسانی کار می کنند.
سری اعداد بیان شده در تایمینگ یک حافظه گویای زمان تاخیر آن حافظه در انجام کارهای متفاوت است. مثلا اولین عدد در این سری میزان تاخیر CAS را بیان میکند. برای دانستن مفهوم اعداد دیگر این سری در ابتدا باید بدانیم که داده ها در تراشههای حافظه DRAM به صورت ماتریسی سازماندهی میشود؛ یعنی دادهها در محل تقاطع سطرها و ستونهای مختلف نگهداری میشود. نامگذاری هر کمیت در سری اعداد زمانبندی به صورت زیر است:
CL-tRCD-tRp-tRAS-CMD
هر کدام از این اعداد زمان مورد نیاز برای انجام کاری متفاوت در حافظه را بیان میکند که در ادامه به بررسی جداگانهی هر یک از آنها میپردازیم.
تاخیر CL یا CAS
این عدد نشاندهندهی زمانی است که از ارسال یک فرمان از سوی کنترلر به تراشهی حافظه تا پاسخگویی تراشه به آن فرمان به طول میانجامد. این عدد در واقع تعداد سیکل کلاک سپری شده از درخواست پردازنده برای دریافت دادههای مشخص تا تحویل آن داده ها توسط تراشه به پردازنده است که قبلاً به طور کامل در مورد آن توضیح دادیم.
در شکل فوق دیده میشود که در حافظهی CL7 از ارسال دستور Read از سوی کنترلر برای خواندن دادهای مشخص در قسمتی از حافظه تا تحویل دادهی مورد نظر به کنترلر توسط ماژول، ۷ سیکل کلاک طول کشیده و این میزان برای حافظهی Cl9 مساوی با ۹ سیکل کلاک است.
تاخیر tRCD (تاخیر RAS به CAS)
مدت زمانی است که برای فعال سازی سطر و ستونی از ماتریس که داده در آن ذخیره شده است، سپری میشود. هر تراشهی حافظه در درون خود به صورت یک ماتریس سازماندهی شده است و در محل تقاطع هر سطر و ستون، یک خانهی الکترونیکی یا خازنی کوچک وجود دارد که مقادیر ۰ و ۱ را در صورت شارژ و دشارژ به خود میگیرد. فرایند دسترسی به دادههای ذخیره شده با اولین فعالسازی سطر و ستون مربوطه که داده صفر یا یک در آن قرار گرفته انجام میگیرد.
این فعالسازی سطر و ستون مورد نظر با دو سیگنال کنترلی با نامهای RAS یا Row Address Strobe و CAS یا Column Address Strobe یکی پس از دیگری محقق میشود. هرچه فاصله میان ارسال این دو سیگنال کوتاهتر باشد با حافظه بهتری روبرو هستیم و دادهها زودتر خوانده می شود.
همانطور که در نمودار فوق دیده میشود تاخیر RAS به CAS را میتوان تعداد سیکلهای کلاک از صدور فرمان فعالسازی یک خانه الکترونیکی در تراشه تا صدور فرمان بعدی خواندن یا نوشتن داده انگاشت، این میزان تاخیر هم به مانند تاخیر CAS مبتنی بر کلاک واقعی ماژول حافظه است. هر چه این میزان تاخیر کمتر باشد با حافظه سریعتری روبهرو هستیم و سرعت خواندن یا نوشتن از/بر حافظه بیشتر است.
تاخیر tRp (یا RAS Precharge)
مدت زمانی است که برای غیرفعالسازی دسترسی به سطری از داده و فعال کردن دسترسی به سطر دیگر داده سپری میشود. در شکل زیر این تاخیر بر حسب تعداد سیکل کلاک ترسیم شده است.
پس از دستیابی به دادهای از حافظه، نیاز به صدور فرمانی به نام Precharge است. با صدور این فرمان سطری از حافظه که اخیراً مورد استفاده قرار گرفته غیرفعال و سطر دیگری فعال میشود. زمان RAS Precharge مدت زمانی است که از صدور فرمان Precharge تا صدور فرمان فعالسازی بعدی به طول میانجامد. فرمان فعالسازی نیز همانطور که گفته شد، منجر به خواندن یا نوشتن دادهای از قسمت مشخص حافظه می شود. این پارامتر هم مثل CAS و RAS به CAS بر پایهی کلاک واقعی تراشه کار میکند و نه کلاک درج شده بر روی برچسب حافظه. هرچه این پارامتر کوچکتر باشد، حافظهی DDR سریعتر است و فرمان فعالسازی بعدی زودتر صادر می شود.
با در نظر گرفتن مقادیر تاخیر فوق، میزان کلی تاخیر ماژول برابر است با tRp+tRCD+CL.
تاخیر tRAS
عبارت است از مدت زمان انتظار پردازنده برای ایجاد دسترسی بعدی به حافظه. به عبارت دیگر پس از صدور فرمان فعالسازی، صدور فرمان Precharge دیگری تا سپری شدن زمان tRAS ممکن نخواهد بود.پس این پارامتر محدود کنندهی خواندن یا نوشتن ردیف دیگری از داده است.
تاخیر CMD
زمانی است که از شروع فعالسازی تراشه تا ارسال فرمان بعدی به حافظه سپری میشود. در برخی موارد از بیان این مقدار صرف نظر می شود؛ چرا که معمولا از دو سیکل کلاک تجاوز نخواهد کرد. میزان این پارامتر با حرف T به صورت 1T به معنای یک سیکل کلاک یا 2T به معنی ۲ سیکل کلاک معین میشود.
دو پارامتر اخیر tRAS و CMD نیز با کلاک واقعی حافظه کار می کند و هر چه میزان آنها کمتر باشد حافظهی DDR سریعتر عمل خواهد کرد.
در مورد حافظههای DDR4 بیشتر بدانیم
چهارمین و آخرین نسل از حافظههای DRAM مورد استفاده در کامپیوترهای دسکتاپ حافظههای DDR4 هستند. این حافظهها سرعت کلاک و حداکثر نرخ انتقال دادهی بالاتری نسبت به نسل های قبلی DDR2 و DDr3 دارد. از سویی با توجه به رابط فیزیکی متفاوت این حافظهها و سطح ولتاژ کاری پایینتر، با سوکتهای حافظهی نسلهای قبلی از جمله DDR3 سازگاری ندارد. حافظهها DDR4 با عرضهی پردازندههای Haswell سری E که برای کار با حافظههای DDR4 بهینهسازی شده بود، به طور رسمی در سهماههی سوم سال ۲۰۱۴ پا به بازار سختافزار گذارد.
چگالی حافظه در این تراشههای نسل جدید بالاتر است؛ در حالی که چگالی حافظه DIMM در استاندارد DDR3 بالغ بر ۸ گیگابایت (۱۶ تراشهی ۴ گیگابیتی) بود؛ یعنی در هر ماژول حداکثر امکان دسترسی به ۸ گیگابایت حافظهی رم وجود دارد، چگالی تراشه در استاندارد DDR4 بالاتر و در هر ماژول امکان تعبیهی تا ۱۶ گیگابایت (۱۶ تراشهی ۸ گیگابیتی) حافظه وجود دارد.
الیته تلاشهایی برای افزایش چگالی تراشه در حافظههای DDR3 صورت گرفته است، مثلا ماژولهایی با ظرفیت ۱۶ گیگابایت برای کاربردهای سازمانی و سرور تولید شد، اما تنها پردازندههای AMD امکان پشتیبانی از این ماژولها را داشت و پردازندههای اینتل محدود به ماژولهایی با ظرفیت ۸ گیگابایت بود. برای همین ماژولهای بالاتر از ۸ گیگابایت در استاندارد DDR3 هیچگاه عمومیت پیدا نکرد.
در حافظههای DDR4 شاهد افزایش فرکانس کلاک ماژول، نرخ انتقال دادهی بالاتر، چگالی تراشه بیشتر، ولتاژ مصرفی کمتر و در نهایت توان مصرفی کمتر نسبت به استاندارد DDR3 هستیم.
الزامات ولتاژ مصرفی حافظههای DDR4 نسبت به نسلهای قبلی پایینتر بوده و از سویی نرخ انتقال دادهی بالاتری با ماژولهای نسل جدید قابل دسترسی است؛ همانطور که گفته شد مهمترین تفاوت ماژولهای حافظه DDR نسلهای مختلف، در نرخ انتقال دادهی آنهاست. اگرچه تعداد دادههای واکشیشده توسط بافر در حافظههای DDR4 نسبت به DDR3 تغییری نکرده، اما با صدور و پاسخگویی به تعداد بیشتری از دستورات خواندن و نوشتنِ داده با دستهبندی بهتر تراشهها، امکان دستیابی به نرخ بالاتر انتقال داده در این حافظهها وجود دارد.
برای برقراری چنین سازوکاری در استاندارد DDR4، تراشههای DRAM به چهار گروه بانک که هر گروه متشکل از چهار بانکِ حافظهی داخلی قابل آدرسدهی است، تقسیمبندی میشود و بدین ترتیب امکان انتقال داده به هر یک از این گروه بانکهای مختلف (در مجموع ۱۶ بانک) با تکرار بیشتر و البته سریعتر از قبل وجود دارد. در استاندارد DDR3 و DDR2 آرایهی تراشهها متشکل از ۸ بانک داخلی بود.
با توجه به اینکه با افزایش سرعت کلاک، توان مصرفی نیز بیشتر میشود، ضمن کاهشِ سطح ولتاژ کاری تراشههای DDR4 امکان دسترسی به سرعتهای بالاتر بدون الزامات توان و خنک کنندگی غیرمنطقی فراهم می شود.
حافظههای DDR4 با ولتاژ ۱.۲ تا ۱.۴ ولت (طبق استاندارد ۱.۲ ولت) و با فرکانس کلاک واقعی 1066 تا ۲۱۳۳ مگاهرتز (DDR4-2133 تا DDR4-4266) کار میکند. این در حالی است که نسل قبلی این حافظهها یعنی DDR3 با ولتاژ ۱.3۵ تا ۱.5 ولت و در محدودهی فرکانس واقعی ۴۰۰ تا ۱۰۶۷ مگاهرتز کار میکند.
در نسل چهارم حافظههای DDR آیندهنگری تحسینبرانگیزی در نظر گرفته شده است. استاندارد DDR4 اولین استاندارد حافظهای است که در آن امکان انباشت تراشههای DRAM به صورت سهبعدی پیشبینی شده است. در این روش، امکان انباشت ۸ تراشهی Slave بر روی یک تراشهی Master وجود دارد و آدرسدهی هر یک از این تراشهها به صورت مستقل و از طریق تراشهی Master قابل اجراست.
آخرین نکته در مورد حافظههای DDR4 این است که با افزایش چگالی تراشه و امکان کاشت ICهای کوچکتر اما با ظرفیت بیشتر نسبت به استاندارد DDR3 هزینه تولید کاهش یافته و در نتیجه سطح قیمتها منطقیتر خواهد شد. برای مثال برای ایجاد ظرفیت ۸ گیگابایت در یک ماژول DDR3 به تعبیهی ۱۶ تراشهی ۴ گیگابیتی در آن نیاز است، در حالی که در استاندارد جدید با کاشت ۸ تراشهی ۸ گیگابیتی در فضایی کمتر همان میزان ظرفیت قابل دستیابی است.
تفاوتهای فیزیکی ماژولهای DDR
ماژولهای حافظهی DDR از نظر فیزیکی نیز با هم تفاوتهایی دارند. ماژولهای حافظه، بردهای الکترونیکی هستند که تراشههای DRAM به آنها متصل میشود. این ماژولها در قسمت زیرین تعدادی پین دارند که از طریق این پینها ارتباط ماژول با منابع مادربرد برقرار میشود. حافظههای DDR۲ و DDR3 هر یک با ۲۴۰ پین به سوکت مادربرد متصل میشود و فقط محل بریدگی (Notch) در ماژول متفاوت است.
در حافظههای DDR4 تعداد پینهای ماژول 288 است و محل قرار گیری بریدگی نیز با DDR3 متفاوت است. لذا امکان نصب حافظههای DDR4 بر روی سوکتهای DDR3 وجود ندارد.
در حافظههای DDR2 به بعد تراشههای DRAM به روش لحیمکاری (Ball Grid) به برد الکترونیکی متصل میشود. اما در حافظههای نسل اول DDR این اتصال از طریق پایههای فرو رونده در برد برقرار میشد. با توجه به تفاوتهای فیزیکی موجود میان نسلهای مختلف حافظههای DDR، امکان استفاده از یک حافظه بر روی سوکت حافظهی قدیمیتر وجود ندارد و لذا برای استفاده از حافظههای جدیدتر نیاز به ارتقای مادربرد و احتمالاً ارتقای پردازنده خواهد بود.