disk array controller یک قطعه سخت افزاری است که کار آن کنترل دیسک درایو های متصل شده به هم و نمایش آن‌ها به صورت یک واحد در سیستم عامل است. از آنجایی که کار disk array controller قطعه کنترل دیسک های تحت RAID می‌باشد، با نام RAID Controller نیز نامیده می‌شود. disk array controller خود cache دارد و آنرا به cache سیستم اضافه می‌کند.
گاهی به نادرست disk array controller با نام disk controller شناخته می‌شود. دقت داشته باشید که کار disk array controller کنترل هر نوع ساختار دیسکی نیست بلکه وظیفه آن کنترل RAID است.
Front-end and back-end side
Disk array controller دو نوع واسطه ایجاد می‌کند، front-end interface و back-end interface.
Back-end interface به دیسک های کنترل شده ارتباط دارد در این بین از پروتکل های معمول ATA ( یا عبارتی a.K.a PATA که به اشتباه IDE نامیده می‌شود) ، SATA ، SCSI ، FC و SAS استفاده می‌شود.
Front-end interface با آداپتور host کامپیوتر (شامل HBA ، Host Bus Adapter ) ارتباط برقرار و از پروتکل های زیر استفاده می کند:
یکی از پروتکل های ATA ، SATA ، SCSI و FC که پروتکل های معروف هستند که در دیسک ها استفاده میشوند. بنابراین، با استفاده از یکی از آنها به کامپیوتر یک دیسک واحد را نشان می‌دهد. پس در واقع کار این بخش کنترل کننده توهم دادن به کامپیوتر است.
از سوی دیگر پروتکل های کمتر شناخته شده‌ای چون FICON/ESCON ، iSCSI ، HyperSCSI ، ATA over Ethernet یا InfintBand می‌باشند.
یک controller ممکن است در آن واحد از بیش از یک پروتکل back-end و front-end استفاده کند. به عنوان مثال بسیاری ازenterprise controller ها از FC در front-end و SATA در back-end استفاده می‌کنند.
Enterprise controller ها
در معماری enterprise مدرنdisk array controller ها بخش های فیزیکی غیر وابسته enclosure ها هستند. این بخش های فیزیکی شامل آرایه های دیسک به کار رفته در SAN یا همان Storage area network و NAS یا سرور های network-attached storage هستند.
یک سیستم RAID از زیر سیستم های مختلف مانندRAID controller ، دیسک های درایو ها، منبع های برق - power supplies – و نرم‌افزار های مدیریت سیستم تشکیل می‌شود. در کل وظیفهRAID controller ایجاد شرایط مناسب جهت عملکرد مناسب RAID است. از جمله این وظایف عبارت است از:
  • کنترل خطا های سیستم (انتقال و پخش داده‌ها بین ساختار تحت RAID)
  • عملیات های طولانی مدت و بدون وقفه
  • ایجاد یک ساختار RAID جدید
  • تجدید RAID های مشکل پیدا کرده (پس از مشکل پیدا کردن یک دیسک)
  • اضافه کردن online یک مجموعه RAID شده دیگر به سیستم
  • حذف یک دیسک از مجموعه RAID شده (که به ندرت به کار میرود)
  • partition بندی مجموعه درایو های RAID شده
  • نمایش لحظه‌ای ساختار RAID شده
  • کنترلpartition های سیستم
  • کنترل بازنویسی داده ها روی دیسک ها

controller های ساده
یک disk array controller ساده معمولا درون کامپیوتر قرار میگیرد و یا به صورت کارت به PCI مادربرد متصل می‌شود. این controller ها جهت حفظ فضا از host bus adapter یا HBA استفاده می‌شود. به همین دلیل این کارت ها گاهی RAID adapter نامیده می‌شوند.
در سال ۲۰۰۷ شرکت اینتل روی محصولات جدید خود کارت های Matix RAID controller تولید خود را قرار داد. این کارت قادر به کنترل ۴ دستگاه و یک سیستم کنترل کننده با ۲ عدد درگاه SATA و در کل اتصال سرعت بالای ۳ گیگابیت در ثانیه در هر درگاه است. به کمک یک اتصال IDE که قادر به اتصال ۲ عدد دستگاه ATA با سرعت ۱۰۰ مگابیت در ثانیه است نیز این کارت زمان تولید خود تک بود.

تاریخچه
RAID controller ها سالیان سال است که در بازار هستند اما هنوز درایو های SCSI موجود در بازار گران قیمت هستند. از امکانات SCSI امکان اتصال ۱۵ دستگاه به یک bus ، انتقال داده غیر وابسته ، hot-swapping و زمان MTBF بهتر می‌باشد.
حدود سال ۱۹۹۷ بود که با معرفی ATAPI-4 (و در ادامه آن Ultra-DMA-Mode 0 که امکان انتقال داده با استفاده از توان کمتری از CPU را فراهم می کرد) اولین سری کارت های ATA RAID controller با اتصال PCI نیز معرفی شد. امکان استفاده دیسک های ارزان تر به کمک این RAID ها توجه بسیاری را به خود جلب کرد و خیلی سریع وارد بازار فروش شدند.
به کمک درایو های ATA می‌توان سیستم های تحت RAID ارزان قیمت نسبت به SCSI ها ایجاد کرد. البته RAID controller های ATA امکان جدا سازی buffer یا سخت‌افزار های XOR های high-performance را فراهم نمی کند. بنابراین، RAID های ATA نسبت بهRAID controller های SCSI عملکرد خوبی ندارند. از سوی دیگر اگر سیستم به هر دلیلی مشکل برق پیدا کند چون در ATA باتری وجود ندارد ممکن است سیستم کاملا از کار بایستد.



موضوعات مشابه: