مقاله

SCSI چیست؟ راهنمای پروتکل اسکازی، معماری، انواع و کاربردها

SCSI - اسکازی

SCSI یکی از مهم‌ترین معماری‌های ارتباطی در تاریخ تجهیزات ذخیره‌سازی است؛ اما یک سوءبرداشت رایج این است که SCSI را فقط یک نوع هارد یا فقط یک رابط موازی قدیمی بدانیم. در واقع SCSI مجموعه‌ای از استانداردها برای تعریف فرمان‌ها و نحوه ارتباط میان سیستم میزبان و تجهیزات جانبی است و مدل دستوری آن هنوز در فناوری‌هایی مانند SAS، Fibre Channel و iSCSI حضور دارد.

این مقاله روی خود پروتکل و معماری SCSI تمرکز دارد: SCSI چیست، Initiator و Target چه هستند، SCSI ID و LUN چه تفاوتی دارند، Termination چرا اهمیت دارد، نسل‌های Parallel SCSI چه سرعتی داشتند و SCSI امروز چگونه در فناوری‌های جدید ادامه پیدا کرده است. اگر هدف شما شناخت یا انتخاب هارد اسکازی، پورت‌های 50، 68 و 80 پین و نکات خرید هارد است، راهنمای جداگانه هارد اسکازی (SCSI) اطلاعات دقیق‌تری برای آن موضوع دارد.

SCSI چیست؟

SCSI مخفف Small Computer System Interface است و معمولاً به صورت «اسکازی» یا در انگلیسی Scuzzy تلفظ می‌شود. SCSI مجموعه‌ای از استانداردها برای ارتباط سیستم میزبان با تجهیزاتی مانند هارددیسک، Tape Drive، درایو نوری، اسکنر و تجهیزات ذخیره‌سازی است.

نکته مهم این است که SCSI فقط شکل کانکتور یا کابل را تعریف نمی‌کند. در معماری SCSI، فرمان‌هایی مانند خواندن، نوشتن، Inquiry و Request Sense تعریف می‌شوند و دستگاه‌ها بر اساس یک مدل مشخص با یکدیگر ارتباط برقرار می‌کنند. به همین دلیل مفهوم SCSI از رابط فیزیکی قدیمی Parallel SCSI گسترده‌تر است.

تفاوت پروتکل SCSI با Parallel SCSI

در بسیاری از تجهیزات قدیمی، وقتی از SCSI صحبت می‌شود منظور همان Parallel SCSI است؛ یعنی چند دستگاه روی یک باس مشترک قرار می‌گیرند، هر دستگاه SCSI ID مخصوص خود را دارد و دو انتهای باس باید به‌درستی Terminate شوند. رابط‌های 50 و 68 پین و نسل‌هایی مانند Ultra160 و Ultra320 از همین خانواده هستند.

اما SCSI به Parallel SCSI محدود نماند. در نسل‌های جدیدتر، همان مدل فرمان‌های SCSI روی Transportهای متفاوت منتقل شد. برای مثال SAS مسیر سریال را ادامه داد، Fibre Channel Protocol (FCP) فرمان‌های SCSI را روی شبکه Fibre Channel منتقل می‌کند و iSCSI فرمان‌های SCSI را روی TCP/IP جابه‌جا می‌کند. بنابراین عبارت «SCSI منسوخ شده» فقط درباره بخش زیادی از سخت‌افزارهای Parallel SCSI درست است، نه درباره خود معماری و مجموعه فرمان‌های SCSI.

معماری SCSI چگونه کار می‌کند؟

در ساده‌ترین مدل، ارتباط SCSI بین بخشی که درخواست را صادر می‌کند و بخشی که آن درخواست را اجرا می‌کند شکل می‌گیرد. چهار مفهوم زیر برای درک این معماری مهم هستند:

  • Initiator: بخشی که فرمان SCSI و درخواست I/O را آغاز می‌کند. این نقش معمولاً توسط HBA، کنترلر یا نرم‌افزار Initiator انجام می‌شود.
  • Target: نقطه‌ای که فرمان‌های Initiator را دریافت و پردازش می‌کند. Target می‌تواند یک دستگاه فیزیکی یا یک سیستم ذخیره‌سازی باشد.
  • Logical Unit یا LU: واحد منطقی ذخیره‌سازی یا دستگاهی که در پشت یک Target ارائه می‌شود.
  • LUN: شماره‌ای که برای شناسایی یک Logical Unit درون Target به کار می‌رود. LUN با SCSI ID یک مفهوم واحد نیست.

در یک عملیات ساده، Initiator یک فرمان مانند READ یا WRITE را به Target می‌فرستد. Target آن را برای Logical Unit مربوط اجرا می‌کند و نتیجه یا وضعیت عملیات را برمی‌گرداند. همین مدل پایه در بسیاری از سیستم‌های ذخیره‌سازی مدرن نیز دیده می‌شود، حتی اگر دیگر کابل Parallel SCSI در میان نباشد.

کارت کنترلر SCSI و Host Bus Adapter
نمونه‌ای از کارت کنترلر SCSI

SCSI ID و LUN چیست و چه تفاوتی دارند؟

در Parallel SCSI هر دستگاه روی باس باید SCSI ID منحصربه‌فرد داشته باشد. در یک باس 8 بیتی معمولاً شناسه‌های 0 تا 7 و در یک باس 16 بیتی شناسه‌های 0 تا 15 در دسترس هستند. یکی از این شناسه‌ها نیز توسط Host Adapter استفاده می‌شود؛ در بسیاری از کنترلرهای کلاسیک، ID شماره 7 برای کنترلر در نظر گرفته می‌شد.

برای همین، یک باس 8 بیتی معمولاً حداکثر هفت دستگاه دیگر و یک باس 16 بیتی حداکثر پانزده دستگاه دیگر را در کنار کنترلر پشتیبانی می‌کند؛ البته محدودیت واقعی به کنترلر، طول کابل، نسل SCSI و توپولوژی بستگی دارد.

SCSI ID دستگاه یا Target را روی باس مشخص می‌کند، در حالی که LUN یک Logical Unit را درون Target مشخص می‌کند. این دو اصطلاح را نباید به جای هم استفاده کرد.

Termination در SCSI چیست و چرا اهمیت دارد؟

در باس‌های Parallel SCSI، سیگنال الکتریکی در طول کابل حرکت می‌کند و اگر انتهای باس به شکل صحیح Terminate نشود، بازتاب سیگنال می‌تواند باعث خطا، Timeout، شناسایی نشدن دستگاه یا حتی خطاهای خواندن و نوشتن شود. به همین دلیل دو انتهای فیزیکی باس SCSI باید Termination صحیح داشته باشند.

در بسیاری از سیستم‌ها Host Adapter یک انتهای باس را Terminate می‌کند و Terminator یا آخرین دستگاه، انتهای دیگر را پوشش می‌دهد. دستگاه‌هایی که در میانه زنجیره قرار دارند نباید به‌صورت مستقل Termination اضافه کنند. نوع Terminator نیز باید با نوع باس و سیگنالینگ سازگار باشد.

اگر با تجهیزات قدیمی SCSI کار می‌کنید، مقاله Terminator چیست؟ جزئیات بیشتری درباره این بخش دارد.

نسل‌های مهم Parallel SCSI و سرعت آن‌ها

نام‌گذاری نسل‌های SCSI می‌تواند گیج‌کننده باشد، زیرا اصطلاحاتی مانند Fast، Wide، Ultra، Ultra2، Ultra160 و Ultra320 گاهی هم‌زمان به عرض باس، نرخ انتقال و نسل سیگنالینگ اشاره دارند. جدول زیر چند نام رایج را به شکل ساده مقایسه می‌کند.

نسل / نام رایجعرض باس رایجحداکثر نرخ اسمی باسنکته
Fast SCSI8 بیت10 MB/sنسل قدیمی Parallel SCSI
Fast Wide SCSI16 بیت20 MB/sپهنای باس بیشتر نسبت به Fast SCSI
Ultra SCSI8 یا 16 بیت20 یا 40 MB/sسرعت بالاتر با محدودیت بیشتر در طول کابل
Ultra2 Wide SCSI16 بیت80 MB/sمعمولاً مبتنی بر LVD
Ultra16016 بیت160 MB/sرایج در سرورها و تجهیزات Enterprise قدیمی
Ultra32016 بیت320 MB/sاز آخرین نسل‌های پرکاربرد Parallel SCSI

این اعداد حداکثر نرخ اسمی یا Burst Rate باس هستند، نه سرعت پایدار خود هارد. سرعت واقعی درایو به مکانیک دیسک، RPM، Firmware، کش، کنترلر و نوع Workload نیز وابسته است.

کانکتورهای رایج SCSI

SCSI در طول عمر خود با کانکتورهای زیادی عرضه شد و شکل کانکتور به‌تنهایی برای تعیین نسل یا سرعت کافی نیست. از نمونه‌های شناخته‌شده می‌توان به DB-25، کانکتورهای 50 پین، Centronics، HD50، 68 پین، VHDCI و 80 پین SCA اشاره کرد.

انواع کانکتورهای SCSI
نمونه‌ای از کانکتورهای مختلف SCSI

برای انتخاب کابل، تبدیل یا دستگاه جایگزین باید علاوه بر تعداد پین، نوع SCSI، عرض باس، نوع سیگنالینگ مانند SE/LVD/HVD، کنترلر، Termination و سازگاری Firmware نیز بررسی شود. به همین دلیل یک «تبدیل فیزیکی» لزوماً به معنی سازگاری کامل دو دستگاه نیست.

آیا SCSI هنوز استفاده می‌شود؟

اگر منظور Parallel SCSI با کابل‌ها و کانکتورهای قدیمی باشد، این فناوری در سیستم‌های جدید عمدتاً Legacy محسوب می‌شود و بیشتر در سرورها، تجهیزات پزشکی، صنعتی، مخابراتی و دستگاه‌های تخصصی قدیمی دیده می‌شود.

اما خود SCSI به عنوان معماری و مجموعه فرمان‌ها هنوز زنده است. SAS یا Serial Attached SCSI یک رابط سریال مدرن‌تر است و در معماری SAS، فرمان‌های SCSI برای ارتباط با دستگاه‌های SAS استفاده می‌شوند. در Fibre Channel نیز FCP فرمان‌های SCSI را حمل می‌کند و در iSCSI همین فرمان‌ها روی شبکه TCP/IP منتقل می‌شوند.

برای بررسی دقیق‌تر نسل سریال، مقاله هارد SAS یا Serial Attached SCSI چیست؟ را ببینید.

تفاوت SCSI، SAS و SATA در یک نگاه

ویژگیParallel SCSISASSATA
نوع اتصالباس موازی مشترکسریال و Point-to-Pointسریال و Point-to-Point
مدل فرمانSCSISCSIATA
کاربرد تاریخی/رایجسرور و تجهیزات Enterprise قدیمیسرورها و ذخیره‌سازی سازمانیرایانه شخصی، ذخیره‌سازی عمومی و بخشی از سرورها
نیاز به SCSI ID و Termination کلاسیکبله، در باس Parallelخیر، به شکل Parallel SCSI نیستخیر
وضعیت امروزعمدتاً Legacyفعال در تجهیزات Enterpriseفعال و بسیار رایج

بنابراین SAS را نباید صرفاً «SCSI با کانکتور جدید» دانست. SAS علاوه بر استفاده از مدل فرمان‌های SCSI، معماری فیزیکی و Transport سریال متفاوتی دارد.

چک‌لیست عیب‌یابی تجهیزات Parallel SCSI

اگر یک هارد، Tape Drive یا دستگاه SCSI در BIOS یا سیستم‌عامل شناسایی نمی‌شود، قبل از تعویض قطعه این موارد را بررسی کنید:

  • برای هر دستگاه روی باس، SCSI ID منحصربه‌فرد تنظیم شده باشد.
  • Termination فقط در دو انتهای فیزیکی باس و متناسب با نوع باس قرار گرفته باشد.
  • نوع کابل، طول کابل و کیفیت آن با سرعت SCSI مورد استفاده سازگار باشد.
  • نوع سیگنالینگ SE، LVD یا HVD و سازگاری کنترلر و دستگاه بررسی شود.
  • کابل داده، کانکتورها و تغذیه دستگاه از نظر اتصال و آسیب فیزیکی کنترل شوند.
  • BIOS یا تنظیمات Host Adapter، Driver و Firmware کنترلر بررسی شود.
  • در هاردهای 80 پین SCA، تنظیم ID ممکن است توسط Backplane انجام شود و مانند بسیاری از درایوهای 68 پین جامپر مستقل نداشته باشد. برای تشخیص دقیق تفاوت کانکتورها، راهنمای تفاوت 50، 68 و 80 پین SCSI را ببینید.

برای تجهیزات Legacy، مدل دقیق کنترلر و دستگاه اهمیت زیادی دارد. اگر قصد استفاده از مبدل USB به SCSI یا هر Bridge دیگری را دارید، فقط شباهت کانکتور کافی نیست؛ نوع دستگاه، استاندارد SCSI، درایور سیستم‌عامل و نحوه Termination باید با مبدل سازگار باشد.

جمع‌بندی

SCSI فقط یک هارد یا یک کابل قدیمی نیست؛ یک معماری و مجموعه استاندارد ارتباطی است که بخش مهمی از تاریخ ذخیره‌سازی سازمانی را شکل داده و مفاهیم آن هنوز در SAS، Fibre Channel و iSCSI حضور دارند. در Parallel SCSI، شناخت SCSI ID، Termination، نوع باس و کانکتور برای سازگاری و عیب‌یابی حیاتی است.

اگر مسئله شما انتخاب یا جایگزینی خود هارد است، مقاله هارد اسکازی (SCSI) را مبنا قرار دهید؛ اگر مسئله، شناخت پروتکل، ساختار باس، کنترلر، ID یا Termination است، همین راهنما مرجع مناسب‌تری است.

سوالات متداول درباره SCSI

SCSI مخفف چیست؟

SCSI مخفف Small Computer System Interface است و مجموعه‌ای از استانداردها و فرمان‌های ارتباطی برای تجهیزات ذخیره‌سازی و جانبی را تعریف می‌کند.

آیا SCSI فقط برای هارددیسک است؟

خیر. SCSI برای دستگاه‌های مختلفی مانند هارد، Tape Drive، درایو نوری، اسکنر و تجهیزات ذخیره‌سازی استفاده شده است. هارد SCSI فقط یکی از کاربردهای آن است.

SCSI ID چیست؟

در Parallel SCSI هر دستگاه روی باس یک شناسه منحصربه‌فرد دارد. در باس 8 بیتی شناسه‌های 0 تا 7 و در باس 16 بیتی شناسه‌های 0 تا 15 وجود دارند و یکی از آن‌ها نیز توسط Host Adapter استفاده می‌شود.

تفاوت SCSI ID و LUN چیست؟

SCSI ID در Parallel SCSI یک دستگاه یا Target را روی باس مشخص می‌کند، در حالی که LUN شماره یک Logical Unit درون Target است. این دو مفهوم متفاوت‌اند.

Termination در SCSI چیست؟

Termination برای جلوگیری از بازتاب سیگنال در باس Parallel SCSI استفاده می‌شود. دو انتهای فیزیکی باس باید به‌درستی Terminate شوند و دستگاه‌های میانی نباید Termination اضافی ایجاد کنند.

چند دستگاه را می‌توان به یک SCSI Bus وصل کرد؟

در باس 8 بیتی معمولاً 8 شناسه و در باس 16 بیتی 16 شناسه وجود دارد که یکی از آن‌ها به کنترلر اختصاص پیدا می‌کند؛ در نتیجه حداکثر نظری دستگاه‌های دیگر معمولاً 7 یا 15 عدد است. محدودیت واقعی می‌تواند کمتر باشد.

تفاوت SCSI و SAS چیست؟

Parallel SCSI از یک باس موازی مشترک استفاده می‌کند، در حالی که SAS یا Serial Attached SCSI از لینک‌های سریال Point-to-Point استفاده می‌کند. SAS همچنان از مدل فرمان‌های SCSI بهره می‌برد.

آیا SCSI منسوخ شده است؟

Parallel SCSI در سیستم‌های جدید عمدتاً Legacy است، اما معماری و فرمان‌های SCSI همچنان در SAS، Fibre Channel و iSCSI استفاده می‌شوند.

آیا می‌توان SCSI را با یک کابل ساده به USB تبدیل کرد؟

معمولاً خیر. برای تبدیل واقعی به یک Bridge یا مبدل فعال سازگار نیاز است و باید نوع SCSI، کانکتور، دستگاه، درایور، SCSI ID و Termination نیز بررسی شوند.

منابع فنی برای مطالعه بیشتر