مقدمة إلى SSD. الجزء 2. واجهة



في الجزء الأخير من سلسلة مقدمة إلى SSD ، تحدثنا عن تاريخ ظهور الأقراص. الجزء الثاني سوف يخبرنا عن واجهات التفاعل مع محركات الأقراص.

يحدث الاتصال بين المعالج والأجهزة الطرفية وفقًا لمصطلحات محددة مسبقًا تسمى واجهات. تحكم هذه الاتفاقيات مستوى التفاعل الفعلي والبرنامجي.

واجهة - مجموعة من الأدوات والأساليب وقواعد التفاعل بين عناصر النظام.

يؤثر التنفيذ الفعلي للواجهة على المعلمات التالية:

  • عرض النطاق الترددي قناة الاتصال؛
  • الحد الأقصى لعدد الأجهزة المتصلة في وقت واحد.
  • عدد الأخطاء التي تحدث.

بنيت واجهات القرص على منافذ الإدخال / الإخراج ، وهو عكس I / O خلال الذاكرة ولا تشغل مساحة في مساحة العنوان للمعالج.

المنافذ المتوازية والمسلسلية


وفقًا لطريقة تبادل البيانات ، يتم تقسيم منافذ الإدخال والإخراج إلى نوعين:

  • موازية.
  • متسقة.

كما يوحي الاسم ، يقوم المنفذ المتوازي بإرسال كلمة آلية تتكون من عدة وحدات بت في المرة الواحدة. المنفذ المتوازي هو أسهل طريقة لتبادل البيانات ، لأنه لا يحتاج إلى حلول دوائر معقدة. في أبسط الحالات ، يتم إرسال كل جزء من كلمة آلة على خط الإشارة الخاص به ، ويتم استخدام خطي إشارة خدمة للتغذية المرتدة: البيانات جاهزة واستلام البيانات .


المنافذ المتوازية ، للوهلة الأولى ، تدرج بشكل مثالي: خطوط إشارة أكثر - يتم إرسال المزيد من البتات في وقت واحد ، وبالتالي ، إنتاجية أعلى. ومع ذلك ، بسبب زيادة عدد خطوط الإشارة ، ينشأ تفاعل التداخل بينهما ، مما يؤدي إلى تشويه الرسائل المرسلة.

المنافذ التسلسلية هي عكس التوازي. يتم إرسال البيانات بت واحد في كل مرة ، مما يقلل من إجمالي عدد خطوط الإشارة ، لكنه يعقد وحدة تحكم الإدخال / الإخراج. تستقبل وحدة التحكم في جهاز الإرسال كلمة الآلة في وقت واحد ويجب أن ترسل وحدة بت واحدة في كل مرة ، ويجب أن تتلقى وحدة التحكم في جهاز الاستقبال وحدات بت وتخزينها بنفس الترتيب.


يسمح عدد صغير من خطوط الإشارة بزيادة وتيرة إرسال الرسائل دون تدخل.

SCSI



ظهرت واجهة أنظمة الكمبيوتر الصغيرة (SCSI) في عام 1978 وتم تصميمها في الأصل لدمج أجهزة من ملفات التعريف المختلفة في نظام واحد. توفر مواصفات SCSI-1 للاتصال حتى 8 أجهزة (مع وحدة التحكم) ، مثل:

  • الماسحات الضوئية.
  • محركات الشريط (اللافتات) ؛
  • محركات الأقراص الضوئية
  • محركات الأقراص وغيرها من الأجهزة.

كانت SCSI تسمى في الأصل Shugart Associates System Interface (SASI) ، لكن لجنة التقييس لم تكن لتوافق على اسم الشركة ، وبعد يوم من العصف الذهني ، ظهر اسم Small Computer Systems Interface (SCSI). "والد" SCSI ، لاري باوتشر ، أشار إلى أن الاختصار سيكون واضحًا "مثير" ، لكن Dal Allan قرأ "ssuzzy". في وقت لاحق ، نطق "حكايات" الراسخ بقوة في هذا المعيار.

في مصطلحات SCSI ، يتم تقسيم الأجهزة المتصلة إلى نوعين:

  • المبادرين.
  • الأجهزة المستهدفة.

يرسل البادئ أمرًا إلى الجهاز الهدف ، ثم يرسل ردًا إلى البادئ. يتم توصيل البادئين والأجهزة المستهدفة بحافلة SCSI شائعة ، تكون سرعة النقل في معيار SCSI-1 5 ميجابايت / ثانية.

طبولوجيا الناقل الشائعة المستخدمة تفرض عددًا من القيود:

  • في نهاية الحافلة هناك حاجة إلى أجهزة خاصة - أجهزة الإنهاء ؛
  • يتم تقاسم عرض النطاق الترددي الحافلة بين جميع الأجهزة.
  • الحد الأقصى لعدد الأجهزة المتصلة في وقت واحد محدود.



يتم التعرف على الأجهزة الموجودة على الناقل بواسطة رقم فريد يسمى معرف الهدف SCSI . يتم تمثيل كل وحدة من وحدات SCSI في النظام بواسطة جهاز منطقي واحد على الأقل ، ويحدث عنونة حسب رقم وحدة منطقية فريدة (LUN) داخل الجهاز الفعلي.


يتم إرسال الأوامر في SCSI ككتل واصف الأوامر (CDBs) ، والتي تتكون من رمز العملية ومعلمات الأمر. يصف المعيار أكثر من 200 فريق ، مقسمة إلى أربع فئات:

  • إلزامي - يجب أن يدعمه الجهاز ؛
  • اختياري - يمكن تنفيذه ؛
  • بائع محدد - يستخدم من قبل شركة تصنيع محددة ؛
  • أوامر قديمة - قديمة.

من بين العديد من الفرق ، ثلاثة منهم فقط إلزاميون للأجهزة:

  • اختبار وحدة جاهزة - فحص استعداد الجهاز.
  • طلب إحساس - يطلب رمز الخطأ للأمر السابق ؛
  • الاستفسار - طلب الخصائص الرئيسية للجهاز.

بعد تلقي الأمر ومعالجته ، يرسل الجهاز المستهدف البادئ رمز حالة يصف نتيجة التنفيذ.

وساعد تحسين SCSI (مواصفات SCSI-2 و Ultra SCSI) على توسيع قائمة الأوامر المستخدمة وزيادة عدد الأجهزة المتصلة إلى 16 ، وسرعة تبادل البيانات على الحافلة حتى 640 ميجابايت / ثانية. نظرًا لأن SCSI هي واجهة متوازية ، فقد ارتبطت زيادة في تكرار تبادل البيانات بانخفاض في الحد الأقصى لطول الكابل وأدت إلى إزعاج في الاستخدام.

بدءًا من معيار Ultra-3 SCSI ، ظهر دعم "القابس الساخن" - وهو توصيل الأجهزة عند تشغيل الطاقة.

أول SCSI SSD المعروف هو M-Systems FFD-350 ، الذي صدر في عام 1995. كان القرص عالي التكلفة وليس واسع الانتشار.

لا تعد SCSI المتوازية حاليًا واجهة شائعة لتركيب القرص ، ولكن لا تزال مجموعة الأوامر تستخدم بكثرة في واجهات USB و SAS.

ATA / PATA



تم تطوير واجهة ATA (مرفق التكنولوجيا المتقدمة) ، والمعروفة أيضًا باسم PATA (Parallel ATA) ، بواسطة Western Digital في عام 1986. أكد الاسم التسويقي لمعيار IDE (إلكترونيات القيادة المتكاملة - "الإلكترونيات المدمجة في محرك الأقراص") على ابتكار مهم: تم تضمين وحدة التحكم في محرك الأقراص في محرك الأقراص بدلاً من بطاقة توسيع منفصلة.

قرار وضع وحدة التحكم داخل محرك الأقراص حل العديد من المشاكل في وقت واحد. أولاً ، انخفضت المسافة بين محرك الأقراص ووحدة التحكم ، مما أثر إيجابًا على خصائص محرك الأقراص. ثانياً ، تم "شحذ" وحدة التحكم المدمجة لنوع معين من محرك الأقراص ، وبالتالي ، كانت أرخص.


يستخدم ATA ، مثل SCSI ، طريقة إدخال / إخراج متوازية ، والتي تؤثر على الكابلات المستخدمة. لتوصيل الأقراص باستخدام واجهة IDE ، هناك حاجة إلى كبلات 40 نواة ، وتسمى أيضًا الحلقات. تستخدم المواصفات الأحدث حلقات 80 نواة: أكثر من نصفها يتم التأريض لتقليل التداخل عند الترددات العالية.

على كابل ATA ، يوجد من موصلين إلى أربعة موصلات ، أحدها متصل باللوحة الأم ، والباقي بالمحركات. عند توصيل جهازين بحلقة واحدة ، يجب تكوين أحدهما على شكل Master ، والثاني باسم Slave . لا يمكن توصيل الجهاز الثالث إلا في وضع القراءة فقط.


يحدد موضع وصلة المرور دور جهاز معين. إن المصطلحين Master و Slave فيما يتعلق بالأجهزة غير صحيحين تمامًا ، حيث فيما يتعلق بوحدة التحكم ، فإن جميع الأجهزة المتصلة هي Slaves.

هناك ابتكار خاص في ATA-3 وهو تقديم تقنية المراقبة الذاتية والتحليل وإعداد التقارير (SMART) . تضافرت خمس شركات (IBM و Seagate و Quantum و Conner و Western Digital) لتوحيد تقنية تقييم صحة القيادة.

دعم محركات الأقراص الصلبة جاء مع الإصدار الرابع من المعيار ، الذي صدر في عام 1998. يوفر هذا الإصدار من المعيار أسعارًا لتبادل البيانات تصل إلى 33.3 ميجابايت / ثانية.

يضع المعيار المتطلبات الصارمة للأجزاء ATA:

  • يجب أن تكون الحلقة مسطحة ؛
  • الحد الأقصى لطول الحلقة 18 بوصة (45.7 سم).

كانت الحلقة قصيرة وعريضة غير مريحة وتتداخل مع التبريد. أصبح من الصعب أكثر فأكثر زيادة تردد الإرسال مع كل إصدار تالي من المعيار ، وحل ATA-7 المشكلة بشكل جذري: تم استبدال الواجهة المتوازية بالواجهة التسلسلية. بعد ذلك ، حصلت ATA على كلمة Parallel وأصبحت تعرف باسم PATA ، وحصلت النسخة السابعة من المعيار على اسم مختلف - Serial ATA. بدأت إصدار SATA بواحد.

SATA



تم تقديم معيار Serial ATA (SATA) في 7 يناير 2003 وحل المشكلات التي سبقته من خلال التغييرات التالية:

  • يتم استبدال المنفذ المتوازي بسلسلة ؛
  • حلقة 80 نواة واسعة تحل محلها 7 النواة.
  • تم استبدال طوبولوجيا الحافلة الشائعة باتصال من نقطة إلى نقطة.

على الرغم من أن معيار SATA 1.0 (SATA / 150 ، 150 ميجابايت / ثانية) كان أسرع قليلاً من ATA-6 (UltraDMA / 130 ، 130 ميجابايت / ثانية) ، كان الانتقال إلى طريقة متسلسلة لتبادل البيانات "يعد التربة" لزيادة بسرعة.

تم استبدال ستة عشر خط إشارة لنقل البيانات في ATA بزوجين ملتويين: واحد للإرسال والآخر للاستقبال. تم تصميم موصلات SATA لتكون أكثر مرونة في عمليات إعادة الاتصال المتعددة ، كما أن مواصفات SATA 1.0 تجعل Hot Plug ممكنة.

بعض المسامير الموجودة على محركات الأقراص أقصر من جميع الأجهزة الأخرى. يتم ذلك لدعم Hot Swap. أثناء عملية الاستبدال ، "يفقد" الجهاز و "يعثر" على الخطوط بترتيب محدد مسبقًا.

بعد أكثر من عام بقليل ، في أبريل 2004 ، تم إصدار الإصدار الثاني من مواصفات SATA. بالإضافة إلى سرعة تصل إلى 3 جيجابت / ثانية ، قدم SATA 2.0 تقنية Native Command Queuing (NCQ). الأجهزة التي تدعم NCQ قادرة على تنظيم أمر التنفيذ للأوامر المستلمة بشكل مستقل لتحقيق أقصى أداء.


خلال السنوات الثلاث التالية ، عملت مجموعة عمل SATA على تحسين المواصفات الحالية ، وظهرت الموصلات المدمجة Slimline و micro SATA (uSATA) في الإصدار 2.6. هذه الموصلات هي نسخة صغيرة من موصل SATA الأصلي وهي مصممة لمحركات الأقراص الضوئية والأقراص الصغيرة في أجهزة الكمبيوتر المحمولة.

على الرغم من أن عرض النطاق الترددي للجيل الثاني من SATA كان كافياً لمحركات الأقراص الصلبة ، إلا أن محركات أقراص الحالة الصلبة تتطلب المزيد. في مايو 2009 ، تم إصدار الإصدار الثالث من مواصفات SATA بزيادة عرض النطاق الترددي حتى 6 جيجابت / ثانية.


تم إيلاء اهتمام خاص لمحركات أقراص الحالة الثابتة في إصدار SATA 3.1. تمت إضافة موصل Mini-SATA (mSATA) لتوصيل محركات الأقراص ذات الحالة الصلبة بأجهزة الكمبيوتر المحمولة. على عكس Slimline و uSATA ، بدا الموصل الجديد وكأنه PCIe Mini ، على الرغم من أنه لم يكن متوافقًا كهربائيًا مع PCIe. بالإضافة إلى الموصل الجديد ، يتميز SATA 3.1 بالقدرة على الانتظار لأوامر TRIM بأوامر القراءة والكتابة.

يخطر الأمر TRIM SSD بكتل البيانات التي لا تحمل حمولة. قبل تشغيل SATA 3.1 ، أدى تنفيذ هذا الأمر إلى مسح ذاكرة التخزين المؤقت وإيقاف عمليات الإدخال / الإخراج مؤقتًا ثم تنفيذ الأمر TRIM. هذا النهج تدهور أداء القرص أثناء عمليات الحذف.

لم تواكب مواصفات SATA الزيادة السريعة في سرعة الوصول إلى محركات الأقراص ذات الحالة الصلبة ، مما أدى إلى ظهور تسوية في عام 2013 تسمى SATA Express في معيار SATA 3.2. بدلاً من مضاعفة عرض النطاق الترددي SATA مرة أخرى ، استخدم المطورون ناقل PCIe الواسع النطاق ، الذي تتجاوز سرعته 6 جيجابت / ثانية. اكتسبت محركات أقراص SATA Express الممكّنة عامل الشكل الخاص بها المسمى M.2.

SAS



معيار SCSI المنافس مع ATA أيضًا لم يقف ساكناً وبعد عام واحد فقط من ظهور Serial ATA ، في 2004 ، تحول إلى واجهة تسلسلية. اسم الواجهة الجديدة هو Serial Attached SCSI (SAS).

على الرغم من أن SAS ورث مجموعة تعليمات SCSI ، كانت التغييرات مهمة:

  • واجهة تسلسلية
  • كابل الطاقة 29 النواة.
  • اتصال من نقطة إلى نقطة

كما تم توريث مصطلحات SCSI. لا يزال يسمى وحدة التحكم البادئ ، والأجهزة المتصلة هي الهدف. جميع الأجهزة المستهدفة والبادئ تشكل مجال SAS. في SAS ، لا يعتمد النطاق الترددي للاتصال على عدد الأجهزة في المجال ، لأن كل جهاز يستخدم قناة مخصصة خاصة به.

وفقًا للمواصفات ، يتجاوز الحد الأقصى لعدد الأجهزة المتصلة في وقت واحد في مجال SAS 16 ألفًا ، وبدلاً من معرف SCSI ، يتم استخدام معرف الاسم العالمي (WWN) للعنونة.

WWN هو معرف فريد بطول 16 بايت ، وهو تناظرية لعنوان MAC لأجهزة SAS.


على الرغم من أوجه التشابه بين موصلات SAS و SATA ، فإن هذه المعايير ليست متوافقة تمامًا. ومع ذلك ، يمكن توصيل محرك أقراص SATA بموصل SAS ، ولكن ليس بالعكس. يتم توفير التوافق بين أقراص SATA ومجال SAS باستخدام بروتوكول SATA Tunneling Protocol (STP).

يشتمل الإصدار الأول من SAS-1 القياسي على عرض نطاق ترددي قدره 3 جيجابت / ثانية ، وأحدثها ، SAS-4 ، قام بتحسين هذا الرقم بمقدار 7 مرات: 22.5 جيجابت / ثانية.

بكيي



Peripheral Component Interconnect Express (PCI Express، PCIe) - واجهة تسلسلية لنقل البيانات ، والتي ظهرت في عام 2002. بدأت شركة إنتل عملية التطوير ، وتم نقلها لاحقًا إلى مؤسسة خاصة - مجموعة PCI ذات الاهتمام المشترك.

لم تكن واجهة PCIe التسلسلية استثناءً وأصبحت استمرارًا منطقيًا لواجهة PCI المتوازية ، والتي تم تصميمها لتوصيل بطاقات التوسع.

يختلف PCI Express بشكل كبير عن SATA و SAS. واجهة PCIe لديها عدد متغير من الخطوط. عدد الخطوط مساوٍ لقوى اثنين ويتراوح من 1 إلى 16.

لا يعني مصطلح "الخط" في PCIe وجود خط إشارة محدد ، ولكن قناة اتصال ثنائية الاتجاه منفصلة ، تتكون من خطوط الإشارة التالية:

  • الاستقبال و الاستقبال
  • انتقال + ونقل- ؛
  • أربعة موصلات الأرض.

يؤثر عدد خطوط PCIe بشكل مباشر على الحد الأقصى لعرض النطاق الترددي للاتصال. يتيح لك PCI Express 4.0 القياسي الحديث تحقيق 1.9 جيجابايت / ثانية على سطر واحد ، و 31.5 جيجابايت / ثانية عند استخدام 16 سطرًا.


"شهية" من محركات الأقراص الصلبة تنمو بسرعة كبيرة. ليس لدى كل من SATA و SAS الوقت الكافي لزيادة عرض النطاق الترددي الخاص بهما لمواكبة SSDs ، مما أدى إلى ظهور SSDs مع اتصال PCIe.

على الرغم من أن بطاقات PCIe الوظيفة الإضافية تكون مشدودة ، إلا أن PCIe تدعم التبادل السريع. تتيح لك دبابيس PRSNT القصيرة (الحالية - الحالية) التأكد من إدخال البطاقة بالكامل في الفتحة.

يتم تنظيم محركات أقراص الحالة الصلبة المتصلة عبر PCIe بواسطة معيار منفصل لواجهة التحكم في مضيف الذاكرة غير المتطاير ويتم تضمينها في العديد من عوامل النموذج ، لكننا سنتحدث عنها في الجزء التالي.

محركات الأقراص عن بعد


عند إنشاء مستودعات بيانات كبيرة ، كانت هناك حاجة للبروتوكولات التي تسمح لك بتوصيل محركات الأقراص الموجودة خارج الخادم. كان الحل الأول في هذا المجال هو SCSI Internet (iSCSI) ، الذي طورته شركة IBM و Cisco في عام 1998.

فكرة iSCSI بسيطة: يتم لف أوامر SCSI في حزم TCP / IP وإرسالها إلى الشبكة. على الرغم من الاتصال عن بُعد ، يتم إنشاء الوهم للعملاء بأن محرك الأقراص متصل محليًا. يمكن إنشاء شبكة منطقة تخزين تستند إلى iSCSI (SAN) على البنية التحتية للشبكة الحالية. استخدام iSCSI يقلل بشكل كبير من تكلفة تنظيم شبكة منطقة التخزين (SAN).

لدى ISCSI خيار "ممتاز" - بروتوكول القناة الليفية (FCP). تم تصميم SAN باستخدام FCP على روابط ألياف بصرية مخصصة. هذا النهج يتطلب معدات إضافية للشبكة البصرية ، لكنه يختلف في الاستقرار والإنتاجية العالية.

هناك العديد من البروتوكولات لإرسال أوامر SCSI عبر شبكات الكمبيوتر. ومع ذلك ، يوجد معيار واحد فقط يحل المشكلة المعاكسة ويسمح لك بإرسال حزم IP على ناقل SCSI - IP-over-SCSI .

تستخدم معظم بروتوكولات شبكة منطقة التخزين (SAN) مجموعة أوامر SCSI لإدارة محركات الأقراص ، ولكن هناك استثناءات ، مثل ATA البسيط عبر Ethernet (AoE). يرسل بروتوكول AoE أوامر ATA في حزم Ethernet ، ولكن يتم عرض محركات الأقراص كـ SCSI في النظام.

مع ظهور محركات NVM Express ، توقفت iSCSI و FCP عن تلبية الطلبات المتزايدة بسرعة لمحركات أقراص الحالة الصلبة. ظهر حلان:

  • إزالة ناقل PCI Express خارج الخادم ؛
  • إنشاء NVMe عبر بروتوكول الأقمشة.

ترتبط إزالة ناقل PCIe بإنشاء معدات تبديل معقدة ، ولكنها لا تجري تغييرات على البروتوكول.

أصبح NVMe over Fabrics بديلاً جيدًا لـ iSCSI و FCP. يستخدم NVMe-oF روابط الألياف البصرية ومجموعة أوامر NVM Express.

DDR-T



تعمل معايير iSCSI و NVMe-oF على حل مشكلة توصيل محركات الأقراص البعيدة بأنها محلية ، بينما ذهبت شركة Intel في الاتجاه الآخر وجعلت محرك الأقراص المحلي أقرب ما يمكن إلى المعالج. وقع الاختيار على فتحات DIMM التي تتصل بها ذاكرة الوصول العشوائي. الحد الأقصى لعرض النطاق الترددي لقناة DDR4 هو 25 جيجابايت / ثانية ، وهو ما يتجاوز سرعة ناقل PCIe بشكل ملحوظ. هذه هي الطريقة التي نشأت بها ذاكرة SSD من Intel® Optane ™ DC الثابتة.

لتوصيل محرك الأقراص بفتحات DIMM ، تم ابتكار بروتوكول DDR-T ، وهو متوافق فعليًا وكهربائيًا مع DDR4 ، ولكنه يتطلب وحدة تحكم خاصة ترى الفرق بين شريط الذاكرة ومحرك الأقراص. سرعة الوصول إلى محرك الأقراص أقل من ذاكرة الوصول العشوائي ، ولكن أكثر من NVMe.

يتوفر DDR-T فقط مع بحيرة ®Intel Cascade أو معالجات أحدث.

استنتاج


جميع الواجهات تقريبًا قطعت شوطًا طويلًا من نقل البيانات التسلسلي إلى المتوازي. سرعة محركات أقراص الحالة الصلبة تنمو بسرعة ، بالأمس ، كانت محركات أقراص الحالة الثابتة حداثة ، ولكن اليوم لم تعد NVMe مفاجأة.

في Selectel Lab لدينا ، يمكنك اختبار محركات أقراص الحالة الثابتة ومحركات NVMe بنفسك.

Source: https://habr.com/ru/post/ar478684/


All Articles