ذاكرة الوصول العشوائي XDR

ذاكرة الوصول العشوائي الديناميكية ذات معدل نقل البيانات الفائق ( XDR DRAM ) هي واجهة ذاكرة وصول عشوائي ديناميكية عالية الأداء . وهي مبنية على ذاكرة الوصول العشوائي الديناميكية (RDRAM ) وتُعدّ امتدادًا لها . ومن التقنيات المنافسة لها DDR2 و GDDR4 .
ملخص
صُممت تقنية XDR لتكون فعّالة في أنظمة المستهلكين الصغيرة ذات النطاق الترددي العالي، وتطبيقات الذاكرة عالية الأداء، ووحدات معالجة الرسومات المتطورة . وهي تُزيل مشاكل زمن الاستجابة العالي غير المعتاد التي عانت منها الأشكال الأولى من ذاكرة RDRAM. كما تُركز ذاكرة XDR DRAM بشكل كبير على عرض النطاق الترددي لكل طرف، مما يُساهم في خفض تكاليف إنتاج لوحات الدوائر المطبوعة (PCB). وذلك لأن عددًا أقل من المسارات مطلوب لنفس مقدار عرض النطاق الترددي. تمتلك شركة رامبوس حقوق هذه التقنية. وتستخدم سوني تقنية XDR في جهاز بلاي ستيشن 3. [ 1 ]
المواصفات الفنية
أداء
سمات
- مستويات إشارات رامبوس التفاضلية ثنائية الاتجاه (DRSL)
- يستخدم هذا الجهاز مشغل جامع مفتوح تفاضلي ، بنطاق جهد 0.2 فولت. وهو يختلف عن LVDS .
- إنهاء قابل للبرمجة على الشريحة
- مطابقة المعاوقة التكيفية
- بنية ذاكرة ثمانية بنوك
- ما يصل إلى أربع معاملات مصرفية متداخلة بكامل عرض النطاق الترددي
- الربط البيني للبيانات من نقطة إلى نقطة
- تغليف المنتجات على نطاق صغير
- جدولة الطلبات الديناميكية
- دعم القراءة المبكرة بعد الكتابة لتحقيق أقصى قدر من الكفاءة
- تحديث بدون أي تكلفة إضافية
متطلبات الطاقة
سهولة تصميم النظام
- تعوض دوائر FlexPhase لكل بت بدقة تصل إلى 2.5 بيكو ثانية
- يستخدم موصل XDR عدد دبابيس أدنى
كمون
- حزم طلب 1.25/2.0/2.5/3.33 نانوثانية
بروتوكول
تتضمن إشارات السرعة العالية لشريحة ذاكرة الوصول العشوائي XDR مدخل ساعة تفاضلي (ساعة من وحدة التحكم الرئيسية، CFM/CFMN)، وناقل طلب/أمر أحادي الطرف 12 بت (RQ11..0)، وناقل بيانات تفاضلي ثنائي الاتجاه يصل عرضه إلى 16 بت (DQ15..0/DQN15..0). يمكن توصيل ناقل الطلب بعدة شرائح ذاكرة بالتوازي، بينما ناقل البيانات من نقطة إلى نقطة؛ ولا يمكن توصيل سوى شريحة ذاكرة وصول عشوائي واحدة به. لدعم سعات ذاكرة مختلفة باستخدام وحدة تحكم ذاكرة ذات عرض ثابت، تتميز الشرائح بعرض واجهة قابل للبرمجة. يمكن لوحدة تحكم DRAM بعرض 32 بت دعم شريحتين 16 بت، أو توصيلها بأربع شرائح ذاكرة توفر كل منها 8 بتات من البيانات، أو ما يصل إلى 16 شريحة مُهيأة بواجهات 2 بت.
بالإضافة إلى ذلك، تحتوي كل شريحة على ناقل تسلسلي منخفض السرعة يُستخدم لتحديد إمكانياتها وتكوين واجهتها. ويتكون هذا الناقل من ثلاثة مداخل مشتركة: خط إعادة الضبط (RST)، ومدخل أوامر تسلسلي (CMD)، وساعة تسلسلية (SCK)، وخطوط إدخال/إخراج بيانات تسلسلية (SDI وSDO) متصلة على التوالي وتتصل في النهاية بدبوس واحد على وحدة تحكم الذاكرة.
جميع الخطوط أحادية الطرف فعالة عند انخفاض الجهد ؛ يتم تمثيل الإشارة المؤكدة أو القيمة المنطقية 1 بجهد منخفض.
يعمل ناقل الطلب بمعدل بيانات مضاعف بالنسبة لمدخل الساعة. وتُشكّل عمليتا نقل متتاليتان بحجم 12 بت (تبدآن مع الحافة الهابطة لإشارة CFM) حزمة أوامر بحجم 24 بت.
يعمل ناقل البيانات بسرعة تفوق سرعة الساعة بثمانية أضعاف؛ حيث تولد ساعة بتردد 400 ميجاهرتز معدل نقل بيانات يبلغ 3200 ميجا نقلة/ثانية. تتم جميع عمليات قراءة وكتابة البيانات على شكل دفعات من 16 عملية نقل تستغرق دورتين من دورات الساعة.
فيما يلي تنسيقات حزم الطلبات:
| حافة الساعة | قليل | برنامج العمل الوطني | قراءة/كتابة الأعمدة | معايرة/إيقاف التشغيل | الشحن المسبق/التنشيط | تفعيل الصف | الكتابة المقنعة | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| قليل | قليل | وصف | قليل | وصف | قليل | وصف | قليل | وصف | قليل | وصف | ||||||||
| ↓ | RQ11 | 0 | 0 | رمز العملية COL | 0 | رمز عملية COLX | 0 | رمز عملية ROWP | 0 | رمز عملية ROWA | 1 | رمز العملية COLM | ||||||
| ↓ | RQ10 | 0 | 0 | 0 | 0 | 1 | M3 | اكتب قناع البتات المنخفضة | ||||||||||
| ↓ | RQ9 | 0 | 0 | 1 | 1 | R9 | عنوان الصف - البتات العليا | M2 | ||||||||||
| ↓ | RQ8 | 0 | 1 | 0 | 1 | R10 | M1 | |||||||||||
| ↓ | RQ7 | x | WRX | بت الكتابة/القراءة | x | محجوز | POP1 | تأخير الشحن المسبق (0-3) | R11 | M0 | ||||||||
| ↓ | RQ6 | x | C8 | بتات عنوان العمود العليا | x | POP0 | R12 | محجوز | C8 | بتات عنوان العمود العليا | ||||||||
| ↓ | RQ5 | x | C9 | x | x | محجوز | R13 | C9 | ||||||||||
| ↓ | RQ4 | x | C10 | محجوز | x | x | R14 | C10 | محجوز | |||||||||
| ↓ | RQ3 | x | C11 | XOP3 | رمز العملية الفرعية | x | R15 | C11 | ||||||||||
| ↓ | RQ2 | x | BC2 | عنوان البنك | XOP2 | BP2 | بنك الشحن المسبق | BA2 | عنوان البنك | BC2 | عنوان البنك | |||||||
| ↓ | RQ1 | x | BC1 | XOP1 | BP1 | BA1 | BC1 | |||||||||||
| ↓ | RQ0 | x | BC0 | XOP0 | BP0 | BA0 | BC0 | |||||||||||
| ↑ | RQ11 | x | DELC | تأخير الأمر (0-1) | x | محجوز | POP2 | تفعيل الشحن المسبق | ديلا | تأخير الأمر (0-1) | M7 | قناع الكتابة - البتات العليا | ||||||
| ↑ | RQ10 | x | x | محجوز | x | ROP2 | أمر التحديث | R8 | البتات المنخفضة لعنوان الصف | M6 | ||||||||
| ↑ | RQ9 | x | x | x | ROP1 | R7 | M5 | |||||||||||
| ↑ | RQ8 | x | x | x | ROP0 | R6 | M4 | |||||||||||
| ↑ | RQ7 | x | C7 | بتات عنوان العمود المنخفضة | x | DELR1 | تأخير التحديث (0-3) | R5 | C7 | بتات عنوان العمود المنخفضة | ||||||||
| ↑ | RQ6 | x | C6 | x | DELR0 | R4 | C6 | |||||||||||
| ↑ | RQ5 | x | C5 | x | x | محجوز | R3 | C5 | ||||||||||
| ↑ | RQ4 | x | C4 | x | x | R2 | C4 | |||||||||||
| ↑ | RQ3 | x | SC3 | عنوان العمود الفرعي | x | x | R1 | SC3 | عنوان العمود الفرعي | |||||||||
| ↑ | RQ2 | x | SC2 | x | BR2 | تحديث البنك | R0 | SC2 | ||||||||||
| ↑ | RQ1 | x | SC1 | x | BR1 | SR1 | عنوان الصف الفرعي | SC1 | ||||||||||
| ↑ | RQ0 | x | SC0 | x | BR0 | SR0 | SC0 | |||||||||||
هناك عدد كبير من قيود التوقيت التي تحدد الحد الأدنى من الأوقات التي يجب أن تمر بين الأوامر المختلفة (انظر ذاكرة الوصول العشوائي الديناميكية § توقيت الذاكرة )؛ يجب على وحدة التحكم في ذاكرة الوصول العشوائي الديناميكية التي ترسلها التأكد من استيفائها جميعًا.
تحتوي بعض الأوامر على حقول تأخير؛ تؤخر هذه الحقول تنفيذ الأمر بعدد محدد من دورات الساعة. وهذا يسمح بتنفيذ أوامر متعددة (لبنكين مختلفين) في نفس دورة الساعة.
أمر تنشيط الصف
يعمل هذا الأمر بشكل مماثل لأمر التنشيط في ذاكرة الوصول العشوائي الديناميكية المتزامنة (SDRAM) القياسية، حيث يُحدد عنوان صف ليتم تحميله في مصفوفة مُضخِّم الإشارة. ولتوفير الطاقة، يمكن تهيئة الشريحة لتنشيط جزء فقط من مصفوفة مُضخِّم الإشارة. في هذه الحالة، تُحدد البتات SR1..0 نصف أو ربع الصف المراد تنشيطه، ويجب أن تقتصر عناوين الأعمدة لأوامر القراءة/الكتابة اللاحقة على هذا الجزء. (تستخدم عمليات التحديث دائمًا الصف بأكمله).
أوامر القراءة/الكتابة
تعمل هذه العمليات بشكل مشابه لأوامر القراءة والكتابة في ذاكرة الوصول العشوائي الديناميكية (SDRAM) القياسية، حيث تُحدد عنوان العمود. تُزوَّد الشريحة بالبيانات بعد بضع دورات من أمر الكتابة (عادةً 3 دورات)، وتُخرَج من الشريحة بعد عدة دورات من أمر القراءة (عادةً 6 دورات). وكما هو الحال مع أنواع ذاكرة الوصول العشوائي الديناميكية الأخرى، فإن وحدة تحكم ذاكرة الوصول العشوائي الديناميكية مسؤولة عن ضمان عدم جدولة ناقل البيانات للاستخدام في كلا الاتجاهين في الوقت نفسه. تُنقل البيانات دائمًا في دفعات من 16 عملية نقل، تستغرق كل منها دورتي ساعة. وبالتالي، بالنسبة لجهاز ×16، تُنقل 256 بت (32 بايت) في كل دفعة.
إذا كانت الشريحة تستخدم ناقل بيانات بعرض أقل من 16 بت، فسيتم استخدام بت واحد أو أكثر من بتات عنوان العمود الفرعي لتحديد جزء العمود المراد عرضه على ناقل البيانات. إذا كان عرض ناقل البيانات 8 بت، فسيتم استخدام SC3 لتحديد أي نصف من البيانات المراد قراءتها؛ وإذا كان عرض ناقل البيانات 4 بت، فسيتم استخدام SC3 وSC2، وهكذا.
بخلاف ذاكرة الوصول العشوائي الديناميكية التقليدية (SDRAM)، لا يوجد خيار لتحديد ترتيب إدخال البيانات ضمن دفعة واحدة. وبالتالي، لا يمكن إجراء عمليات قراءة تبدأ بالكلمة الحرجة.
أمر الكتابة المقنعة
يشبه أمر الكتابة المقنّع أمر الكتابة العادي، لكن لا يُسمح بتأخير الأمر، ويتم توفير بايت قناع. يسمح هذا بالتحكم في الحقول ذات 8 بتات التي ستُكتب. هذا ليس خريطة بتات تُشير إلى البايتات المراد كتابتها؛ إذ لن يكون حجمها كافيًا لـ 32 بايتًا في عملية الكتابة المتتالية. بل هو نمط بتات يملأ به متحكم ذاكرة الوصول العشوائي الديناميكية (DRAM) البايتات غير المكتوبة. متحكم ذاكرة الوصول العشوائي الديناميكية مسؤول عن إيجاد نمط لا يظهر في البايتات الأخرى المراد كتابتها. نظرًا لوجود 256 نمطًا ممكنًا و32 بايتًا فقط في عملية الكتابة المتتالية، فمن السهل إيجاد نمط مناسب. حتى عند توصيل عدة أجهزة بالتوازي، يمكن دائمًا إيجاد بايت قناع عندما يكون عرض ناقل البيانات 128 بتًا كحد أقصى. (سينتج عن هذا 256 بايتًا لكل عملية كتابة متتالية، ولكن لا يُستخدم أمر الكتابة المقنّع إلا إذا لم يُكتب أي بايت منها على الأقل).
كل بايت هو عبارة عن 8 بتات متتالية يتم نقلها عبر خط بيانات واحد خلال دورة ساعة معينة. يتطابق M0 مع أول بت بيانات يتم نقله خلال دورة الساعة، ويتطابق M7 مع آخر بت.
يتعارض هذا الاتفاق أيضًا مع إجراء عمليات القراءة التي تبدأ بالكلمة الحرجة؛ يجب أن تتضمن أي كلمة بتات من أول 8 بتات على الأقل تم نقلها.
أمر الشحن المسبق/التحديث
يشبه هذا الأمر مزيجًا من أوامر الشحن المسبق والتحديث في ذاكرة الوصول العشوائي الديناميكية المتزامنة التقليدية (SDRAM). تحدد البتات POP x وBP x عملية الشحن المسبق، بينما تحدد البتات ROP x وDELR x وBR x عملية التحديث. يمكن تفعيل كل منها على حدة. في حال التفعيل، قد يكون لكل منها تأخير مختلف للأمر، ويجب توجيهها إلى بنك مختلف.
لا يمكن إرسال أوامر الشحن المسبق إلا إلى بنك واحد في كل مرة؛ على عكس ذاكرة الوصول العشوائي الديناميكية التقليدية، لا يوجد أمر "شحن جميع البنوك مسبقًا".
تختلف أوامر التحديث أيضًا عن ذاكرة الوصول العشوائي الديناميكية التقليدية (SDRAM). فلا يوجد أمر "تحديث جميع البنوك"، وتُقسّم عملية التحديث إلى عمليتي تنشيط وشحن مسبق منفصلتين، بحيث يُحدد توقيتها بواسطة وحدة تحكم الذاكرة. كما يُمكن برمجة عداد التحديث بواسطة وحدة التحكم. العمليات هي:
- ٠٠٠: NOPR لا تقم بعملية تحديث
- 001: REFP تحديث الشحن المسبق؛ إنهاء عملية التحديث على البنك المحدد.
- 010: تفعيل تحديث REFA؛ قم بتفعيل الصف المحدد بواسطة سجل REFH/M/L والبنك المحدد للتحديث.
- 011: تحديث وزيادة REFI؛ كما هو الحال بالنسبة لـ REFA، ولكن قم أيضًا بزيادة سجل REFH/M/L.
- 100: LRR0 تحميل سجل التحديث إلى مستوى منخفض؛ نسخ RQ7–0 إلى البتات الثمانية المنخفضة من عداد التحديث REFL. لا يوجد تأخير في الأمر.
- 101: LRR1 تحميل سجل التحديث الأوسط؛ نسخ RQ7–0 إلى البتات الثمانية الوسطى من عداد التحديث REFM. لا يوجد تأخير في الأمر.
- 110: LRR2 تحميل سجل التحديث إلى المستوى العالي؛ نسخ RQ7–0 إلى أعلى 8 بتات من عداد التحديث REFH (إن وُجد). لا يوجد تأخير في تنفيذ الأمر.
- 111 محجوز
أمر المعايرة/إيقاف التشغيل
يُنفّذ هذا الأمر عددًا من الوظائف المتنوعة، وفقًا لما يُحدّده حقل XOP x . على الرغم من وجود 16 احتمالًا، إلا أنه يتم استخدام 4 منها فقط. تُشغّل ثلاثة أوامر فرعية عملية معايرة مُشغّل الإخراج وتُوقفها (والتي يجب إجراؤها دوريًا، كل 100 مللي ثانية).
يضع الأمر الفرعي الرابع الشريحة في وضع إيقاف التشغيل. في هذا الوضع، تُجري الشريحة تحديثًا داخليًا وتتجاهل خطوط البيانات عالية السرعة. يجب تنشيطها باستخدام ناقل البيانات التسلسلي منخفض السرعة.
ناقل تسلسلي منخفض السرعة
يتم فحص وتكوين ذاكرة الوصول العشوائي الديناميكية XDR باستخدام ناقل تسلسلي منخفض السرعة. تُرسل إشارات RST وSCK وCMD من وحدة التحكم إلى كل شريحة بالتوازي. يتم توصيل خطوط SDI وSDO معًا على التوالي، حيث يتم توصيل آخر مخرج SDO بوحدة التحكم، ويتم توصيل أول مدخل SDI بمستوى عالٍ (منطق 0).
عند إعادة الضبط، تُفعّل كل شريحة طرف SDO الخاص بها إلى مستوى منخفض (1). عند تحرير إعادة الضبط، تُرسل سلسلة من نبضات SCK إلى الشرائح. تُفعّل كل شريحة خرج SDO الخاص بها إلى مستوى عالٍ (0) بعد دورة واحدة من تفعيل دخل SDI الخاص بها إلى مستوى عالٍ (0). علاوة على ذلك، تحسب الشريحة عدد الدورات المنقضية بين تحرير إعادة الضبط وتفعيل دخل SDI الخاص بها إلى مستوى عالٍ، وتُسجل هذا العدد في سجل معرف الشريحة الداخلي. تتضمن الأوامر المُرسلة من وحدة التحكم عبر خط CMD عنوانًا يجب أن يتطابق مع حقل معرف الشريحة.
البنية العامة للأوامر
يقوم كل أمر إما بقراءة أو كتابة سجل واحد من 8 بت، باستخدام عنوان من 8 بت. وهذا يسمح بما يصل إلى 256 سجلاً، ولكن النطاق من 1 إلى 31 فقط هو المخصص حاليًا.
في الوضع الطبيعي، يبقى خط CMD عاليًا (منطق 0) ولا تؤثر نبضات SCK. لإرسال أمر، يتم إرسال سلسلة من 32 بت عبر خطوط CMD:
- 4 بتات من
1100، إشارة بدء الأمر. - بت القراءة/الكتابة. إذا كانت القيمة 0، فهذا يعني قراءة، وإذا كانت 1 فهذا يعني كتابة.
- بتة واحدة/بث. إذا كانت القيمة 0، يتم اختيار الجهاز ذي المعرّف المطابق فقط. إذا كانت القيمة 1، يتم تنفيذ الأمر على جميع الأجهزة.
- 6 بتات من معرف الجهاز التسلسلي. يتم تعيين معرفات الجهاز تلقائيًا، بدءًا من 0، عند إعادة ضبط الجهاز.
- 8 بتات من عنوان السجل
- بت واحد بقيمة "0". يوفر هذا الوقت لمعالجة طلبات القراءة، وتمكين إخراج SDO في حالة القراءة.
- ثمانية بتات من البيانات. إذا كان هذا أمر قراءة، فيجب أن تكون البتات المُقدمة أصفارًا، ويتم إنتاج قيمة السجل على طرف SDO للشريحة المُحددة. جميع الشرائح غير المُحددة تُوصل مدخلات SDI الخاصة بها بمخرجات SDO، وبالتالي سيرى المتحكم القيمة.
- بت واحد بقيمة "0". هذا ينهي الأمر ويوفر الوقت لتعطيل مخرج SDO.
انظر أيضاً
مراجع
- ↑ AnandTech: معالجات Rambus in Cell وإعلانات Intel عن المعالجات ثنائية النواة
- ↑ شركة Elpida تنتج أسرع ذاكرة وصول عشوائي ديناميكية من نوع XDR بتردد 7.2 جيجاهرتز في العالم
- ↑ تم أرشفة بنية XDR™ في 24 يوليو 2011 على موقع Wayback Machine (Rambus)
روابط خارجية
- صفحة منتج Rambus XDR مؤرشفة في ديسمبر 2011 على موقع archive.org
- توفر واجهة وحدة المعالجة المركزية Rambus FlexIO واجهة XDR، مؤرشفة في يوليو 2006 على archive.org
- منتج ذاكرة الوصول العشوائي الديناميكية XDR™ من شركة Qimonda، مؤرشف بتاريخ 1 مارس 2009 في أرشيف الإنترنت (Wayback Machine).
- ذاكرة الوصول العشوائي الديناميكية المتزامنة
