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


sudo lspci -vv | grep -E 'PCI bridge|LnkCap|LnkSta'
بالنسبة إلى جهاز PCI محدد، يكون فحص الجهاز مباشرة أسهل عادةً بعد معرفة عنوان الناقل الخاص به:
sudo lspci -s 05:00.0 -vv
الحقول المهمة هي:
- LnkCap: سرعة PCIe وعرض الوصلة اللذان يمكن لنقطة النهاية أو الوصلة الإعلان عن دعمهما.
- LnkSta: السرعة وعرض المسارات اللذان جرى التفاوض عليهما حالياً.
إذا كان محرك الأقراص قادراً على العمل بوصلة أعرض، لكن أظهر LnkSta عدداً أقل من المسارات، فهذا يعني أن المنصة تشغّل الجهاز حالياً بعرض الوصلة الأضيق الذي جرى التفاوض عليه.
ربط أسماء NVMe بعناوين PCIe
وجد صاحب المنشور الأصلي أيضاً أن مخرجات nvme-cli المطوّلة مفيدة لمطابقة أسماء الأجهزة في Linux بوحدات التحكم وعناوين PCIe:
nvme list -v
وهذا يسهّل ربط إدخال مثل /dev/nvme1 بعنوان PCI الذي تفحصه باستخدام lspci.
سرعة الوصلة ليست مماثلة لمعدل النقل الحقيقي لمحرك SSD
يجيب LnkSta عن سؤال تفاوض PCIe. لكنه لا يخبرك بسرعة الكتابة التسلسلية الفعلية لمحرك SSD، أو عدد عمليات الإدخال والإخراج العشوائية في الثانية، أو سلوك خفض الأداء الحراري، أو الأداء المستدام.
لقياس سلوك الإدخال والإخراج الفعلي، استخدم اختباراً مناسباً على بيانات اختبار يمكن الاستغناء عنها، وحدد عبء العمل بعناية. تشرح وثائق أعباء العمل في fio سبب تأثير حجم الكتلة، وعمق قائمة الانتظار، ونمط الوصول، ومحرك الإدخال والإخراج، وحجم الاختبار، جميعها في النتيجة.
لا تشغّل اختبارات مدمّرة على جهاز خام لنظام ملفات أو قرص يحتوي على بيانات تحتاج إليها.
السياق الحالي لـ PCIe والاختبارات
يفيد منظومة Zima لـ PCIe في فهم الفرق بين المنفذ الفعلي وعرض مساراته الكهربائية الفعلي. وتعرض بطاقات توسعة PCIe أنواع محولات NVMe والشبكات المستخدمة في مشروعات توسعة Zima، بينما توفّر أجهزة ZimaBoard 2 مثالاً حالياً ملموساً لمنصة تُحدَّد فيها صراحةً أجيال PCIe وعدد المسارات.
تعرّف أداة فحص الأجهزة lspci الأمر lspci على أنه أداة Linux لفحص نواقل PCI والأجهزة، بينما توضّح قائمة أجهزة nvme-cli كيفية ربط nvme list -v بين وحدات التحكم ومساحات الأسماء ووسيلة النقل وعناوين PCIe. ولقياس الإدخال والإخراج الفعلي بدلاً من تفاوض الناقل، استخدم وثائق أعباء العمل في fio؛ إذ يغيّر عمق قائمة الانتظار وحجم الكتلة ومزيج القراءة والكتابة وحجم الاختبار النتيجة كلها.
الخلاصة
استخدم lspci -vv للتحقق من جيل PCIe وعرض المسارات اللذين جرى التفاوض عليهما، واستخدم nvme list -v لربط أجهزة NVMe بعناوين PCIe الخاصة بها. ثم أجرِ اختباراً منفصلاً إذا كنت تحتاج إلى معرفة معدل نقل التخزين الفعلي. فمعدل الوصلة الذي جرى التفاوض عليه خاصية للناقل، وليس مقياساً لأداء SSD.
