برای کنترل اطلاعات در هارد دیسک و نحوه ذخیره آن بر روی صفحات مغناطیسی آن و خواندن محتویات آن به حافظه RAM از یک مدار کنترلر استفاده میشود که معمولاً در کامپیوترهای XT بر روی یک بورد موسوم به کنترلر هارد بوده و در یک اسلات قرار میگیرد. در هاردهای جدید بر روی خود هارد دیسک تعبیه میشود و از یک کارت به عنوان واسط بین کنترلر و هارد و مادربورد استفاده میشود. اگر سیستم ON board باشد این واسط یا آداپتور بر روی مادربورد قرار میگیرد ولی اگر ON bord نباشد بر روی یک کارت موسوم به مالتی I/O وجود دارد. در بسیاری از سیستمهای ON bord لین قابلیت که بتوانیم قسمت مربوطه روی مادربورد را غیر فعال نماییم و یک کارت واسط در اسلاتها قرار دهیم، را فراهم میسازد. برای اینکار باید جامپر مربوط به هارد (مثلاً IDE) را بر روی مادربورد غیر فعال (Disable) و بر روی کارت فعال (Enable) نماییم و آنگاه کارت را در یک اسلات قرار دهیم. دراین نوع سیستمها برای اینکار یک سوئیچ یا جامپر وجود دارد. با غیر فعال کردن این جامپر یا جامپرها میتوانیم یک کارت مالتی I/O را در اسلاتها قرار دهیم. شکل 8-9 یک نوع مالتی I/O را نشان میدهد (روی کارت مالتی I/O هر سه واسط هارد، فلاپی و I/O وجود دارد) ولی برای کنترل هارد به تنهایی نیز کارتهای موسوم به کنترلر هارد (مثلاً IDE) وجود دارد که از آنها نیز میتوانیم استفاده نماییم.
انواع کنترلرها
تقریباً تمامی کنترلرهای مهم هاردهای موجود را در چهار نوع تقسیمبندی مینماید که عبارتاند از IDE ,SCSI,ESDI,ST506 فرمت ذخیره اطلاعات نه تنها به نوع کنترلرها بلکه به نسبت انتقال اطلاعات بین کامپیوتر و هارد بستگی دارد.. برای انتقال اطلاعات از هارد به حافظه DRAM، کنترلر از اینترفیسهای مختلف همانند بایاس و داس، برنامههای کاربردی و شاید بسیاری برنامههای TSR استفاده مینماید، که این سطوح مختلف بر روی سرعت انتقال تاثیر نامطلوب میگذارد.
کنترلر ST 506
کنترلر فوق به عنوان اولین کنترلر هارد در دنیای کامپیوتر استفادههای زیادی داشته است و نام آن نشان میدهد که مربوط به کمپانی سیگیت میباشد که یکی از کارخانههای مهم سازنده هارد در دنیا میباشد. حتی اکنون نیز از ساختار این کنترلر به طور گسترده استفاده میشود، این استفاده در کنترلرهای جدید IDE ، در اشکال مختلف به چشم میخورد.
معمولاً هاردهای طراحی شده توسط کنترلر 506 ST از برچسب MFM/RLL برخوردار میباشد. به وسیله این برچسب یا سوئیچ مربوطه میتوانیم یکی از دو روش ذخیرهسازی را برای هارد فوق انتخاب نماییم. انتخاب حالت RLL ترجیحاً برتر خواهد بود. زیرا ظرفیت ذخیرهسازی اطلاعات را بیشتر مینماید. به خاطر استفاده زیاد این کنترلر و داشتن مجموعه مختلف استانداردهای سختافزاری و پشتیبانی کامل بایاس از آن هنوز تاثیر روش و کار آنرا در اغلب کنترلرهای جدید مشاهده میکنیم. به عنوان مثال کنترلهای IDS و SCSI در اغلب موارد با 506 ST سازگار میباشد که در ادامه آن را بحث خواهیم کرد.
در کنترلر استاندارد 506 ST هارد در درایو و کنترلر دو قسمت کاملاً جدا از یکدیگر میباشند، قسمت کنترلر به صورت یک کارت در اسلات ها قرار دارد. این کنترلر میتواند حداکثر دو عدد هارد را پشتیبانی نماید. در این کنترلر دو عدد کابل از کنترلر به هاردها وصل میشود، سیگنالهای اطلاعات هر هارد به طور جداگانه توسط یک کابل جداگانه 20 پین به کنترلر مربوط وصل میشود و اگر دو هارد بر روی سیستم نصب باشد هر دو هارد برای قسمت کنترل خود از یک کابل مشترک 34 پین استفاده مینماید. بنابراین هر هارد شامل دو عدد کانکتور برای اتصال به کنترلر مربوطه میباشد. کابل کنترل برای ارسال سیگنالهای الکتریکی جهت انتخاب هد خواندن و نوشتن مناسب، جستجو برای سیلندر مناسب و کابل اطلاعات جهت انتقال اطلاعات برای نوشتن و یا خواندن به صورت سریال و آنالوگ مورد استفاده قرار میگیرد. از وظایف دیگر کنترلر، تبدیل اطلاعات دیجیتال به زنجیرههایی از بیتها و سیلندرها به صورت صفر و یک میباشد. کنترلر میتواند مقادیر دیجیتال را به سیگنالهای مورد نیاز تبدیل نماید، این عملیات را تغییر فلو گویند. اگر از روش MFM استفاده شود، سرعت انتقال اطلاعات به 5 مگابایت در ثانیه و (اطلاعات و سگنالهای کنترلی به صورت مخلوط) اگر از روش RLL استفاده شود این نرخ به 5/7 مکابایت خواهد رسید. گرچه باید سیگنالهای مربوطه به کنترلر از مجموعه اطلاعات جدا شود . این امر سرعت انتقال را به میزان چشمگیری کاهش میدهد. همچنین مقادیر گفته شده مربوط به تئوری بوده و فاکتورهای همچون زمان انتخاب هد، زمان دستیابی سیلندر، و غیره این نرخ را کاهش میدهد و علاوه بر آن فرض بر آن است که سکتورهای خوانده شده در کنار همدیگر قرار دارند، که در عمل به این شکل نمیباشد و سکتورهای یک فایل در نقاط مختلف هارد قرار دارندو نرخ بالاتر انتقال در RLL از روش MFM بیشتر بوده و در درایوهای MFM میتواند 17 سکتور در ترک باشد و این در حالی است که در RLL تا 26 سکتور قابل تعریف میباشد و در این حالی است که در هر نوع، سرعت چرخش موتور درایو PRM 3600 میباشد.
زمانیکه برای اولین بار XTها به بازار آمد تنها کنترلرهای ST506 از نوع MFM موجود بودند بعداً با افزایش توابعی به ROMBIOS توسعههایی داده شدند. این توابع محدودیتهای سختافزاری را به کارخانههای سازنده هارد تحمیل نمود، به عنوان مثال تعداد درایوها به دو عدد و حداکثر سیلندر به 1024 و حداکثر تعداد سکتور در ترک به 63 و حداکثر تعداد هدها به 16 و تعداد بایتها در هر سکتور به 512 بایت محدود گردید که این محدودیتها ماکزیمم ظرفیت هارد را به MB 504 محدود نموده است برای غلبه بر این محدودیت ها بعضی از کنترلرها به حیله متوسل میشوند و بر این باور عمل مینمایند که گویی سیستم دارای دو عدد هارد میباشدٰ ولی در واقع یک هارد به ظرفیت بالا وجود دارد که توسط پارامترهای گفته شده در بالا قابل تعریف نمیباشد. این عمل باعث شد که هاردهای با ظرفیت بالا MB 504 داشته باشیم ولی کنترلر ST506 برای اتصال به هاردهای با ظرفیت بالای امروز غیر ممکن میباشد.
کنترلرهای ESDI
کنترلرهای فوق، توسعه یافته کنترلر ST506 میباشند، این کنترلر در بسیاری از کامپیوترها IBM , PS/2 به کار برده شدهاند کنترلر ESDI به طور کامل با ST506 سازگار بوده نصب بر روی کامپیوترهایی که با یاس آنها ST506 را پشتیبانی مینماید، میباشد. به طور غیر مشابه با ST506 مدار موجود بر روی هارد ESDI تمام تغییر فلو را به طور سریال به کارت کنترلر ارسال مینمیاد. قسمتی از محتویات خوانده شده از هارد را که موسوم به اطلاعات جدا کننده میباشد از کل اطلاعات جدا نموده و فقط سیگنالهای کنترلی را برای مدار کنترلی برای کنترلر میفرستد. چون کنترلر و قسمت جدا کننده به طور موازی کار مینمایند، انتقال اطلاعات به 10 مگابایت در ثانیه میرسد و این روش برابر روش MFM در کنترلر ST506 میباشد، همچنین کنترلر ST506 به پارامتر اینترلیو شش نیاز دارد. یعنی برای خواندن اطلاعات یک ترک یا شیار باید شش بار دیسک بچرخد. برای پارامتر اینترلیو، دیسک باید سه بار بچرخد تا کل اطلاعات ترک خوانده شود. حال آن که به پارامتر اینترلیو یک فقط با یک بار چرخش دیسک کل اطلاعات ترک یا شیار مربوطه خوانده یا نوشته میشود. در نتیجه سرعت دستیابی به اطلاعات دیسک سه تا شش برابر (به ترتیب نسبت به اینترلیو 3 و 6) افزایش پیدا میکند. همچنین بعضی از کنترلرهای ESDIمیتوانند با نرخ انتقال 15 یا 20 و حتی 24 مگابیت در ثانیه کار نمایند اما کار کردن یک کنترلر ESDI با سرعت بالا، گران بودن آن را به دنبال خواهد داشت بنابراین برای داشتن یک نرخ انتقال معقول و قیمت مناسب، نرخ MB 10 (اطلاعات خام که از صفحه مغناطیسی خوانده میشود) برای آن در نظر گرفته شده است. یکی از تفاوتهای کنترلر ST506 و ESDI این است که آدرس نقاط خراب دیسک را برای کنترلر ارسال میدارد و در نتیجه میتواند آنها را در ست آپ مشخص کرده و علامت بزنید که این کار در ST506 باید توسط استفاده کننده انجام گیرد.