][ الوفا طبعي ][
05-12-2006, 08:13 AM
السلام عليكم ورحمة الله وبركاته
ما هو القرص الصلب ؟
لم تكن الحاسبات في البداية تحتوي على أية أقراص صلبة فقد كان تشغيل البرامج يتم من خلال الأقراص المرنة فقط لذلك فإن القرص الصلب بالنسبة للحاسب هو وسيلة التخزين الرئيسية فيه فهو الوحيد بين وسائل التخزين المختلفة الذي يملك الحجم والسرعة الكافيتين لتخزين البرامج الحديثة لتنفيذها .
لقد تطورت الأقراص الصلبة كثيراً منذ بداية استعمالها في الحاسبات الشخصية في بداية الثمانينيات ، زادت حجومها وسرعتها وتقلص حجمها ، واختيار إحداها لحاسبك يتطلب منك الفهم الجيد للقرص الصلب ومكوناته وكذلك طريقة عملة وتركيبته الداخلية .
القرص الصلب كجهاز خاص بتخزين البيانات يعتبر جهاز مستقل بذاته ويتصل مع اللوحة الأم للحاسب بكيبل خاص ، ويحتوي الجهاز نفسه على أجزاء ميكانيكية وأخرى إلكترونية :
الأجزاء الميكانيكية : يتكون من مجموعة من الأقراص متراصة فوق بعضها البعض ولها محور مشترك تدور حوله ، وهذه الأقراص مغلفة بمادة قابلة للمغنطة حتى يمكن تخزين البيانات على سطحها على شكل شحنات ، ولكي يتم تخزين واسترجاع البيانات يجب أن يكون هناك رأس للقراءة والكتابة ويوجد في الواقع رأس واحد للقراءة والكتابة على كل سطح من أسطح الأقراص ويتحرك هذا السطح جيئة وذهاباً ليتم التخزين على كامل مساحة هذه الأقراص ، وتتوضع الرؤس والأقراص معاً داخل علبة محكمة الإغلاق لمنع دخول أية أجسام غريبة مهما كانت صغيرة ، فإي جسم غريب قد يتسبب بتلف سطح القرص .
الأجزاء الإلكترونية : وهي عبارة عن لوح إلكتروني مهمته تحويل الإشارات الكهربائية ( البيانات ) إلى مناطق ممغنطة على القرص ليتمكن بعد ذلك من استعادتها( التخزين والاسترجاع ) وكذلك عملية التحكم بدوران القرص وحركة رؤوس القراءة والكتابة .
جميع الأقراص الصلبة تعمل بنفس المبدأ ، وتختلف عن بعضها في جودة المكونات وسرعة عملها .
1- أقراص التخزين
2- رؤوس القراءة و الكتابة
3- محرك رؤوس القراءة و الكتابة
4- المحور المشترك لرؤوس القراءة والكتابة
الأقراص (platters)
يمكن للأقراص أن تكون بأحجام مختلفة عادة ( 3.5 أو 5.25 إنش ) ويؤثر ذلك على الحجم الكلي للقرص الصلب لذا فإنه من الضروري في الحواسيب الصغيرة (المفكرات) تجهيزها بأقراص أصغر مثل 2.5 و 1.8 و 1.3 إنش ، وكلما زاد عدد الأقراص وكثافة البيانات التي عليها كلما زادت قدرة القرص الصلب على تخزين البيانات .
ولأن المسافة بين القرص ورأس الكتابة صغير جداً ( أجزاء من الألف من الإنش ) فإن هذه الأقراص يجب أن تكون مستوية تماماً بحيث لا تلتمس مع الرأس أثناء العمل وإلا تعطل القرص بسبب ذلك .
بالإضافة إلى ذلك فإنه - في قرص ما - كلما كانت المسافة بين القرص و رؤوس القراءة و الكتابة أقل كلما كان من الممكن تخزين كمية أكبر من البيانات في ذلك القرص و تسمى كمية البيانات التي يمكن تخزينها في مساحة معينة من سطح القرص areal density ، وأكثر الوحدات استخداماً هي الميجابايت لكل إنش مربع (MB/square inch) .
وتصنع هذه الأقراص من الألمونيوم ( حيث أنه مادة خاملة قابلة للتشكيل ورخيصة ) أو - في الأقراص الحديثة جداً - من الزجاج المقوى بالسيراميك الذي يعتبر أفضل من حيث مقاومة الارتفاع في درجة الحرارة .
والأقراص ( الزجاجية أو الألمونيوم ) لايمكنها حفظ الشحنة اللازمة لعملية التخزين بل يجب أن تطلى هذه الأقراص بمواد لها خاصية حفظ الشحنة مما يمكن رؤس القراءة والكتابة من استعمالها في حفظ البيانات ، وهذه المواد - كأي مادة صلبة - عندما تطحن تصبح حبوب صغيرة جداً ، وهذه الحبوب هي التي تخزن فيها الشحنة بواقع بت واحد لكل حبة ، فيجب إذاً أن تكون صغيرة كفاية حتى يمكن تخزين عدد كبير من البيانات في أصغر مساحة ممكنة .
والمواد المستعملة هي :
لصق المعدن بالدهن الكهربائي ، و هذه الطريقة تنتج سطح قوي و ممتاز من ناحية حفظ الشحنة ويمكن تسجيل بتات أكثر في الإنش المربع الواحد .
محرك الأقراص (spindle motor)
وهو عبارة عن محرك يقوم بتحريك الأقراص بسرعة معينة تقاس بوحدة "دورة في الدقيقة" RPM و تدور الأقراص بسرعة دوران تتراوح عادة بين 4500 و 5400 دورة في الدقيقة وقد تصل إلى 10000 الدقيقة أو أكثر في حسب نوع القرص .
وكلما كان معدل دوران المحرك أسرع كما كان أفضل لأن رأس القراءة سوف يتمكن من الحصول على البت المطلوب أسرع مما سوف يقلل الوقت الفاصل بين طلب الحاسب للبيانات وتلقيها له ( يسمى زمن التأخير )
رؤوس القراءة والكتابة
يوجد على كل قرص من الأقراص رأسين للقراءة والكتابة ( واحد على الوجه السفلي والآخر على الوجه العلوي ) ، أي أنه في حالة القرص الصلب الذي يحتوي على 4 أقراص فإنه يحوي على 8 رؤس قراءة وكتابة وهكذا .
يوجد نوعين من رؤوس القراءة والكتابة :
Inductive Head : يحوي كل رأس من رؤس القراءة والكتابة على لفة من الأسلاك الدقيقة وعندما يود القرص التسجيل في مكان ما فإنه يفعل ذلك بتمرير تيار كهربائي في اللفة عند مرورها على المنطقة المطلوب التسجبل فيها وبذلك تشحن تلك المنطقة ( تخزين البتات ) ، ويستعمل نفس الرأس في تحسس التغير في الشحنة ( قراءة البتات ) . إن المسافة بين رأس القراءة والكتابة وبين سطح القرص صغيرة جداً و لا تؤثر على عملية الكتابة والقراءة . بعد ذلك تتولى لوحة التحكم استخلاص البيانات اللازمة وإرسالها إلى المعالج .
:Magneto-Resistive وتركيب الرأس في هذه الحالة مشابه لحالة السابقة ولكن مبدأ العمل مختلف ، ففي هذا النوع يمر تيار كهربائي خفيف بشكل مستمر في رأس القراءة وعندما يمر الرأس على البتات فإن المجال المغناطيسي للبتات يؤثر على شدة التيار الكهربائي ، تقاس التغيرات في شدة التيار الكهربائي وتحول إلى بيانات ، لاحظ أن هذا النوع من الرؤوس لا يمكنه كتابة البيانات بل يستطيع قراءتها فقط لذا فمن اللازم عند استعمال هذا النوع من الرؤوس وجود رأس آخر من النوع inductive للكتابة .
ويبرز سؤال هنا وهو : إذا كان النوع الثاني من الرؤوس يستخدم للقراءة فقط فلماذا نستخدمه ؟ والجواب هو أنه أسرع في القراءة من النوع الأول ويمكنه التعامل مع أقراص ذات كثافة أعلى .
ورؤوس القراءة والكتابة تتحرك كلها معاً لأنها على محرك واحد وقاعدة واحدة ، ورأس القراءة والكتابة محمول على ذراع مرن قليلاً مما يمكنه من ملامسة القرص أو الارتفاع عنه قليلاً ، فعندما يكون القرص واقفاً فإن رأس القراءة والكتابة يكون ملامس لسطح القرص و عندما يبدأ القرص في الدوران فإن تيار الهواء الناتج من الدوران يبعد رأس القراءة والكتابة عن سطح القرص قليلاً (المسافة قليلة إلى حد أجزاء من المليون من الإنش) بحيث لا يحدث تلامس بينهما أثناء العمل ، وعندما يود القرص الصلب إيقاف الدوران فإنه يحرك الرأس لمكان آمن من القرص يسمى منطقة الهبوط (landing zone) حيث يمكن بعدها إيقاف دوران القرص والسماح برأس القراءة والكتابة بملامسة سطح القرص حيث أن منطقة الهبوط خالية من البيانات فهي مخصصة فقط لهبوط الرأس عليها ، ليس هذا فحسب بل يتم أيضاً "ربط" الرؤوس في منطقة الهبوط حتى لا يتحرك الرأس مع ارتجاج القرص الصلب وهذه العملية تتم أوتوماتيكياً في الأقراص الجديدة أما القديمة جداً فقد كانت تستلزم برنامج خاص لعمل ذلك .
تعرف أن تخزين البيانات يتم طبعاً على شكل بتات ، إن عدد البتات التي يمكن تسجيلها على المسارات الخارجية للقرص أكبر من تلك التي يمكن تسجيلها على المسارات الداخلية بسبب شكله الدائري لذا فإن رأس القراءة والكتابة يجب أن يقرأ (أو يكتب) بمعدل أسرع في الطرف الخارجي عن الداخلي .
إن رؤوس القراءة والكتابة كلما كانت أصغر حجماً كان بإمكانها التسجيل في حقول بتات أصغر وبالتالي الحصول على كثافة أعلى للبيانات ، وأيضاً يمكن للرأس الأصغر الاقتراب من سطح القرص أكثر وأكثر من دون الاحتكاك به والاقتراب من سطح القرص يعني امكانية تخزين بيانات أكثر لماذا ؟ ......
لنعرف لماذا ، دعنا ننظر للشكل المقابل حيث اللون الأحمر يمثل سطح القرص بينما يمثل اللون الأزرق المادة المغنطيسية التي تخزن البيانات و المربعات الخضراء تمثل مواقع تخزين البيانات أما الأسود فهو رأس القراءة والكتابة أما الدائرة الزرقاء التي تحيط برأس القراءة والكتابة فهي تمثيل للمجال المغناطيسي الذي يقوم بالقراءة والكتابة ، دعنا الآن نقارن بين الرقمين 1 و 2 حيث يمثل الأول قرص أقل كثافة من الثاني فنجد أن :
• عدد أكبر للبتات في رقم 2
• رأس القراءة والكتابة في رقم 2 أقرب لسطح القرص
• رأس القراءة والكتابة أصغر في رقم 2
• المجال المغناطيسي أصغر في رقم 2
أصبح الآن واضح أنه لولا رأس القراءة والكتابة الصغير الحجم والمسافة الأقل بين القرص ورأس القراءة والكتابة في الحالة الثانية لما كان بالامكان حشر عدد أكبر من البتات في المساحة نفسها من القرص في رقم 2
إذا نظرنا لرقم 3 في الشكل نرى أن رأس القراءة والكتابة عندما يكون بعيداً عن سطح القرص فإن المجال المغناطيسي يجب أن يكون كبيراً حتى يمكنه التأثير على سطح القرص ، وإذا كان كبيراً فإنه يمكن أن يؤثر على البتات التي بجانب البت المراد التأثير عليه وهكذا الخطأ في القراءة والكتابة يمكن أن يحدث بمنتهى السهولة ، حيث نرى مثلاً أنه إذا كانت المسافة بين الرأس والبت الأخير 5 مايكرون مثلاً (المايكرون هو جزء من المليون من المتر) فإن المسافة بينه وبين البت الذي بجانبه حوالي 6 أو 7 مايكرون فتصبح إمكانية الخطأ كبيرة جداً في هذه الحالة بينما في حالة رقم 2 نجد أن المسافة بينه وبين البت الذي بجانبه أكثر من ضعف المسافة بينه وبين البت المطلوب .
السؤال الذي يطرح نفسه بشكل تلقائي هو : لماذا لا تكون المسافة بين الرأس والقرص صفر أي أنهما ملتصقان تماماً ؟ والجواب أن الاحتكاك بينهم يجعل كلاهما يتلف .
سؤال آخر : لماذا لا نركب أكثر من رأس قراءة وكتابة على سطح القرص الواحد ؟ إن ذلك يقلل من زمن الوصول وسرعة القراءة والكتابة ، في الحقيقة طورت مثل هذه الأقراص سابقاً ولكنها لم تعد ذي جدوى والسبب هو أن استعمال تقنيات أخرى يجعل هذا الأمر ممكن وهي تقنية RAID الخاصة بأقراص سكزي وتوجد تقنية مشابهة أيضاً لأقراص IDE .
محرك رؤوس القراءة والكتابة (actuator)
يقوم هذا المحرك ( مع الأجهزة الإلكترونية الخاصة به ) بتحريك الرؤوس للمكان المطلوب من القرص حتى يمكن استخدام كافة مساحة القرص في تخزين البيانات ولأن المسافة بين البتات صغيرة جداً يعتبر دقة المحرك في تحريك الرأس إلى المكان المطلوب بالضبط من الأمور الأكثر أهمية في سبيل استخدام مساحة القرص كاملة . و محرك رؤوس القراءة والكتابة يمكن أن يخطئ في مكان بت ما من البتات لذا كان لابد من أساليب للتأكد من كون رأس القراءة في المكان الصحيح ، وأحد هذه الأساليب هي تلقي المحرك معلومات عن مكان رأس القراءة مما يمكنه من تصحيح الخطأ إن وقع ، والأنظمة الإلكترونية الخاصة به يمكن أن تكون مغلقة (يوجد آلية تصحيح ) أو مفتوحة ( لا يوجد مثل هذه الآلية ) .إن الحرارة التي تتولد من المحرك ودوران الأقراص تتسبب في ارتفاع درجة الحرارة داخل القرص الصلب مما يتسبب في تمدد أجزاء القرص الصلب ، لهذا يوجد ما يسمى الوزن الحراري thermal calibration حيث يوزن القرص نفسه كل فترة من الزمن تختلف باختلاف نوع القرص . بعض الأقراص الحديثة فيها ميزة تأجيل هذا الوزن إذا كان القرص يقرأ ملف كبير مثل ملف فيديو مما يساعد على عدم حدوث أي قطع في ملف الفيديو .
حتى الآن يوجد نوعان من تكنولوجيا المحركات :
الأول : يسمى " band stepper motor " يعتمد على محرك يدور على حسب "كمية" الكهرباء القادمة من لوحة التحكم ، وبالتحكم بكمية الكهرباء التي ترسلها له يمكن للوحة التحكم بأن تحرك الرأس للمكان الذي تريده ، مشكلة هذا النوع ليس فقط حساسيته للحرارة بل أيضاً التلف مع الزمن والبطء في الأداء هذا بالإضافة إلى سهولة الخطأ في مكان القراءة والكتابة على القرص خاصة عند قدم القرص لأن هذا النوع من المحركات ذو نظام إلكتروني مفتوح ( لايوجد آلية للتأكد من موقع الرأس) ، ولا يمكن لهذا القرص أن يستعمل في أقراص صلبة عالية السعة لعدم دقته .
الثاني يسمى "servo voice coil motor" و في هذا النوع تقوم لوحة التحكم بإرسال تيار كهربائي إلى المحرك وهذا التيار يستعمل في توليد مجال مغناطيسي يستخدم في تحريك الرأس ضد زنبرك مما يجعل لوحة التحكم قادرة على التحكم بموقع الرأس عن طريق التحكم بالتيار الكهربائي ، و يستعمل آلية خاصة لإستكشاف موقع السلندرات دارة إلكترونية مغلقة حيث أنه يستلم باستمرار - أثناء عمله - معلومات عن موقع الرأس على القرص ( وذلك عن طريق المعلومات المكتوبة في مواقع معروفة مسبقاً في القرص ) ويتمكن بذلك من تعديل أية أخطاء قد تحدث مع قدم القرص .
لوحة التحكم (logic board)
وهي اللوحة الإلكترونية التي تتحكم بالقرص الصلب ( الرؤوس و المحرك ) وتقوم بعمليات القراءة والكتابة من وإلى القرص ، يمكن للمكونات الإلكترونية أن تتلف مسببة توقف القرص الصلب عن العمل .
إن الأقراص الصلبة تختلف داخلياً من شركة إلى شركة ، تختلف طريقة إدارة تخزين البيانات وطرق فحص الأخطاء وتشخيصها وأشياء أخرى كثيرة ولكن جميع الأقراص يمكن أن تعمل على جميع الحواسيب لماذا ؟ هذا لأن الأقراص مع أنها تختلف من الداخل إلا أنها متماثلة من الخارج ، مثلاً عندما يود المعالج ملف ما من القرص فإنه سوف يصدر للقرص أمر لجلب القرص ( هذا الأمر قياسي ومتماثل في جميع الأقراص ) فإن القرص يستلم هذا الأمر ثم يمرره للإلكترونيات الداخلية التي تتعامل مع القرص " كما يحلو لها " وبشكل مختلف لكل نوع من الأقراص ولكن في النهاية يجب أن تجلب الملف المطلوب للمعالج في الصورة القياسية .
يعتبر القرص الصلب من المكونات الحساسة في الحاسب ، بل يمكن أن نقول أنه أكثر الأجزاء حساسية كونه يتأثر بالصدمات كثيراً ومن الجائز جداً أن يتعطل بسهولة نسبياً ، مثلاً قد يتعطل القرص عند سقوطه على الأرض .
كيف يعمل ؟
إذا أحضرنا مسمار حديد ولففنا حوله سلك وقمنا بتمرير تيار كهربائي في هذا السلك فإن السلك ينتج مجال مغناطيسي في المسمار ، وهذا هو المبدأ الذي يعمل به التخزين في القرص الصلب حيث يحتوي رأس القراءة والكتابة على لفة أسلاك دقيقة جداً ( تسمى coil ) وقطعة دقيقة من المعدن ( تسمى core ) وعند مرور تيار كهربائي في السلك ينتج مجال مغناطيسي في القطعة المعدنية التي تؤثر في البت القريب منها . ننتقل الآن إلى موضوع الكتابة على المسارات الداخلية من القرص ، في هذه المسارات الداخلية تكون البتات متقاربة مع بعضها البعض كثيراً وهذا يجعل من الصعب على رأس القراءة والكتابة أن يقرأها ، لذا كان من اللازم تسجيل البتات في هذه المناطق المزدحمة بفولتية أقوى من غيرها ليسهل قراءتها بعد ذلك ، تسمى الكتابة بفولتية أعلى على المسارات المزدحمة write precompensation وحتى تخبر الحاسب في أي سلندر من السلندرات يجب أن يبدأ استعمالها في القرص يوجد في نظام البيوس مع إعدادات القرص الصلب write precompensation (لاحظ يمكن أن تجد اختصار مثل write precom أو ما شابه ) ولكن لاحظ أن الأقراص الصلبة الجديدة تطبقه أوتوماتيكياً فلا تحتاج لذلك أن تضبطه في البيوس بل يجب أن تكتب صفر أو 65535 (حسب نوع البيوس ) في مكانها .
المسار (TRACK)
يخزن القرص الصلب البيانات على شكل بتات ، التي تشكل البايتات ( كل 8 بتات = واحد بت ) ، ترتب البتات على كل قرص من الأفراص المكونة للقرص الصلب على شكل دوائر يطلق على كل منها " مسار" track وهذه الدوائر طبعاً تكبر كلما اقتربنا من الطرف الخارجي للقرص ، وعلى الشكل المقابل نرى أربعة أقراص وقد رسم على كل منها ثلاث مسارات .
السلندر
إن رؤوس القراءة والكتابة مربوطة مع بعضها بمحور مشترك ومحرك واحد ، فإذا كان واحد من الرؤوس على المسار الخارجي الأخير من قرص ما فإن الرؤوس الأخرى جميعاً تقع على المسار نفسه على باقي الأقراص وهكذا ، وإذا تخيلنا تلك المسارات مجتمعة فإنها تكون حلقات الواحدة فوق الأخرى وتكون معاً ما يشبه الاسطوانة وهذا هو اسمها فعلاً ( السلندر) أي اسطوانة بالانجليزية .
عدد السلندرات في أي قرص صلب تساوي عدد المسارات على كل وجه من أي قرص من أقراصه، وللعلم فإن عدد المسارات في الأقراص الحديثة يعد بالألوف و كلما كان أكبر كلما أصبحت كثافة البيانات أكبر وكلما أصبح بالإمكان تخزين بيانات أكثر على نفس القرص يتأثر بحجم رأس القراءة والكتابة وكذلك بالمسافة بين القرص ورأس القراءة والكتابة .
القطاع (sector)
عندما يود الحاسب تخزين بعض البيانات فإنه طبعاً يخزنها على شكل ملفات ، وعليه عند تخزين أي ملف أن يسجل موقع كل ملف حتى يمكنه عند الحاجة إلى استرجاع الملف الرجوع إلى نفس المكان مرة أخرى ، وتخزن مواقع جميع الملفات المخزنة في القرص في منطقة مخصصة لهذا الغرض تسمى جدول مواقع الملفات FAT ، وحتى يفعل ذلك يجب أن يقوم بإعطاء كل بايت في القرص رقماً ، وإذا استعملنا هذه الطريقة فإن جدول مواقع الملفات ( ومع كثرة عدد الملفات ) سيستهلك الكثير من مساحة القرص في تخزين مواقع الملفات ، لذلك عندما يتعامل الحاسب مع الملفات في القرص الصلب فإنه لا يتعامل معها على حجم بايتات ، لذلك يقسم القرص كل مسار من المسارات إلى أقسام صغيرة متساوية تسمى " قطاعات "، وفي القرص الصلب يكون طول القطاع 512 بايت ( وليس 512 كيلوبايت ) ، وهذا الطول ( 512 بايت ) دائماً ثابت بغض النظر عن نوع أو الحجم الكلي للقرص الصلب ، لذلك يعتبر القطاع أصغر وحدة قياسية للتعامل مع القرص الصلب .
وإذا تكلمنا عن أنظمة الملفات المختلفة نجد أن بعض أنظمة الملفات تتعامل مع القطاع كوحدة القرص القياسية ( مثل نظام HPFS الخاص بنظام التشغيل OS/2 ) بينما بعض الأنظمة الأخرى مثل FAT يعتبر القطاع وحدة صغيرة ويستخدم وحدة تسمى " الكلستر" كوحدة القرص القياسية .
ولكن هل يمكن أن يكون حجم القطاع أكبر أو أصغر من 512 ؟ الجواب هو ممكن ولكن ليس في الأقراص الصلبة ، وهذا راجع لتصميم كل نوع من وحدات التخزين . فما الذي يجعل حجم القطاع 512 بايت ، لماذا لا يكون أقل أو أكثر ؟ في الحقيقة إن تحديد حجم القطاع بـ 512 بايت لهو ما يشبه اتفاق أهل الصناعة على ذلك لتصبح الأقراص متوافقة مع أنظمة التشغيل المختلفة .
وإذا نظرنا لتوزيع القطاعات على المسارات المختلفة على القرص الواحد نجد أن المسار يمكن أن يكون أطول ما يمكن ( في الطرف الخارجي للقرص ) أو أقصر ما يمكن ( في الطرف الداخلي للقرص ) فهل يكون عدد القطاعات في المسارات الصغيرة مساوي لعددها في المسارات الكبيرة ؟ في الحقيقة تختلف إجابة هذا السؤال بالنسبة للأقراص الجديدة عنها في القديمة ، ففي الأقراص القديمة نجد أن عدد القطاعات في كل المسارات متماثلة بينما في الأقراص الجديدة عددها يعتمد على حجم المسار حيث يتم بذلك استغلال مساحة القرص بشكل أفضل ، وتسمى هذه العملية "Multible Zone Recording" واختصاراً MZR كما يمكن أن يسمى بأسامي أخرى مثل Zoned Constant Angular Velocity واختصاراً ZCAV واسم آخر هو zone bit recording وكلها أسماء لنفس التقنية .
إن القطاعات في أي مسار مرقمة بأرقام ليمكن التفريق بينها ، وبما أن المسار عبارة عن دائرة ليس فيها بداية ونهاية فلا بد من تحديد أحد القطاعات ليكون بداية المسار وبالتالي يكون رقمه 1 ويتم ترقيم المسارات بعد ذلك .
عنونة القطاعات
يوجد لكل قطاع عنوان يتكون من ثلاثة أشياء :
رقم السلندر Cylinder
رقم الرأس Head
رقم القطاع Sector في المسار
فإذا أراد نظام التشغيل (مثل وندوز ) طلب بيانات معينة فإنه يطلبها بتحديد عناوين القطاعات التي يحتويها بطريقة رقم السلندر والرأس والقطاع التي يحتوي البيانات المطلوبة ، مثلاً ( 520 - 5 - 6 ) تعني السلندر رقم 520 والرأس رقم 5 والقطاع السادس ، وبهذه الطريقة يتمكن نظام التشغيل من تحديد أي موضع للبيانات يريدها ، وتسمى هذه الطريقة " عنونة CHS " وبالانجليزية (CHS addressing) .
عندما قام مهندسو شركة IBM بتصميم هذا النظام كان لابد - لأمور خاصة بالتقنية - أن يحددوا طول أقصى لكل واحد من الأعداد فمثلاً جعلوا الحد الأقصى لعدد السلندرات هو 1024 سلندر والرؤوس 255 والقطاعات 63 قطاعاً ، لذلك لا يمكن استخدام أي قرص يحوي أكثر من 1024 سلندر أو أكثر من 255 رأس أو أكثر من 63 قطاع في كل مسار ، لذلك فإن هناك حد أعلى لحجم القرص الصلب وهو يساوي :
عدد السلندرات الأفصى( 1024 سلندر) × عدد الرؤوس الأقصى(255 رأس ) × عدد القطاعات الأقصى (63 قطاع لكل مسار) ×عدد البايتات في كل كلستر (512 بايت ) = 1024 × 255 × 63 × 512 = 8422686720 بايت = 8225280 كيلوبايت = 8032.5 ميجابايت
فتبرز هنا المشكلة : إذا كان للقرص الصلب أكثر من 1024 سلندر فكيف سيتمكن نظام التشغيل من الوصول إلى السلندرات الأعلى من 1024؟ ليس هذا فقط ، إنما كان اختيار الحد الأقصى لعدد الرؤوس كبيراً حيث أن أحدث الأقراص الصلبة لا تستخدم في العادة أكثر من 16 رأس ، فذلك يجعل الحد الأقصى لسعة قرص بـ 16 رأس = 1024 × 16 × 63 × 512528482304 بايت =516096 كيلوبايت = 504 ميجابايت ، وهذه السعة قليلة بكل ما في الكلمة من معنى فما هو الحل ؟
دعونا هنا نورد مثالاً لتوضيح كيف تعمل عنونة CHS في قرص صلب ، لنفرض أن برنامجاً ما يود قراءة الملف c:\autoexec.bat من القرص الصلب فالخطوات التي ستحدث بين الأجزاء المختلفة هي ( مع الكثير من التبسيط ) :
البرنامج يقول لنظام التشغيل ( وندوز مثلاً ) : أود الحصول على الملف c:\autoexec.bat
نظام التشغيل يقول للبيوس : أود الحصول على الملف ذو العنوان C 687 H 2 S 44 ( أي عنوان CHS )
البيوس يقول لبينية IDE : أود الحصول على C 687 H2 S 44
تقوم بينية IDE ببساطة باستخلاص البيانات من القطاع المذكور وتسليمها لنظام التشغيل الذي يسلمها للبرنامج .
LBA
بما أن القرص الصلب يمكنه التحويل من التركيبة المنطقية إلى الفيزيائية فهذا يعني أنها بإمكانه أيضاً التحويل من أي تركيبة إلى التركيبة الفيزيائية ، و يعتبر LBA ( اختصار لـ Logical Block Adressing ) من الأنظمة المستخدمة على نطاق واسع وفيها يتم ترقيم القطاعات على القرص الصلب بأعداد تبدأ بـ 1 ، ويحول القرص الصلب العدد إلى تركيبة CHS المكافئة لها ، وفي ذلك تبسيط لعملية تركيب القرص الصلب حيث يستعاض عن ادخال CHS والبيانات الأخرى برقم LBA واحد .
يمكن أيضاً استخدام نظام LBA في أشرطة التخزين الاحتياطية ، وأقراص سكزي دائماً تستخدم LBA ، بل أي جهاز تخزين بيانات يقسم إلى أجزاء متساوية الطول يمكنه استعمال LBA .
إنحراف السلندرات cylinder skewing
والآن ننظر إلى ناحية أخرى من نواحي التهيئة : إذا فرغ رأس القراءة والكتابة من أحد المسارات فإنه في الغالب يود الانتقال للمسار الذي يليه ( وهو بطبيعة الحال جزء من السلندر الذي يليه ) فإذا كانت بدايات المسارات متحاذية فإن الرأس لن يتمكن - بسبب سرعة دوران القرص الهائلة - من الانتقال من آخر قطاع من المسار الأول إلى أول مسار في القطاع الثاني ، فبالتالي يضطر إلى أن ينتظر دورة كاملة
يمكن بسهولة حل هذه المشكلة وذلك بتغيير كيفية ترتيب بدايات المسارات بالنسبة لبعضها مما يعطي الوقت الكافي لرأس القراءة والكتابة لكي ينتقل من مسار إلى آخر بأقل قدر ممكن من التأخير
الكلستر
و الكلستر هو عبارة عن مجموعة متعاقبة من القطاعات يختلف عددها حسب نوع التهيئة (الفورمات) للقرص الصلب ، وكلما كان حجم الكلستر أقل كلما كان استخدام القرص أكثر كفاءة ، لماذا ؟ انظر قسم تخزين الملفات في القطاعات .
تخزين الملفات في القطاعات
عندما يود الحاسب تخزين ملف على القرص فإنه يبحث عن قطاع فارغ ويقوم بتخزين الملف به ، ولكن ماذا لو كان الملف أكبر من القطاع - مثلاً ملف حجمه 1000 بايت ؟ الحل هو أن يقوم باستخدام قطاع آخر لهذا الغرض ، ويمكن استخدام أي عدد من القطاعات .
وإذا أراد تخزين ملف آخر فإن الحاسب لا يستطيع استخدام نفس القطاع لبداية تخزين الملف الثاني ، بل عليه استخدام قطاع (أو قطاعات ) جديدة ، وقد تنسائل ماذا عن المساحة الفارغة بين القطاعين ؟ أقول أنها مساحة مهدرة .
ليس ذلك وحسب بل أن الحاسب لا يستطيع استخدام ملفين في نفس الكلستر ، فلو أن الكلستر في قرص صلب ما يساوي 20 قطاعاً وأردنا تخزين ملف بحجم قطاعين فإن ما مجموعه 18 قطاع ستكون فارغة (مهدرة ) .
لذلك فإنه - عملياً - لا يمكن تسجيل 10 جيجابايت كاملة على قرص صلب بهذه السعة بسبب المساحات المهدرة من الكلسترات ، هذا طبعاً إلا إذا كانت ال 10 جيجابايت تقع في ملف واحد ، وهذا بالطبع غير عملي .
لذا للحفاظ على نسبة المساحة المهدرة أقل ما يمكن من المهم عند تهيئة القرص الصلب الحصول على أقل حجم للكلستر يقوم نظام الملفات بإعطاء كل وحدة من وحدات القرص الصلب عنوان في هذا الجدول ليستطيع التفريق بين الوحدات
- ملاحظة : وحدة القرص الصلب يمكن أن تكون قطاع أو كلستر - فمثلاً إذا كان في القرص الصلب 100000 قطاع فإن على نظام الملفات تعيين 100000 رقم بواقع رقم لكل قطاع ، إلى هنا وليس هناك مشكلة ولكن المشكلة تبدأ عندما يزيد عدد الوحدات عن عدد معين وهو في نظام دوس ( لأن دوس يستخدم طول 16 بت لترقيم الكلسترات ) = 2 مرفوع للأس 16 التي تساوي 65536 ، أي أن دوس لا يستطيع دعم أي قرص صلب عدد وحداته أكبر من هذا العدد وبما أن الوحدة في نظام دوس هي الكلستر فهذا يعني أنه كلما زاد حجم القرص وجب علينا زيادة حجم الكلستر ، وعندما تقوم بعملية التهيئة فإن برنامج التهيئة سيقوم باختيار إقل حجم ممكن للكلستر تلقائياً . ولا يستطيع دوس دعم كلستر أكبر من 64 قطاع (32 كيلوبايت) لذا لا يستطيع دعم قرص أكبر من 2 جيجابايت (2048 ميجابايت) . لاحظ أيضاً أن نظام دوس الأقدم ( مثل دوس 3.3 و 4 و 5 لم تكن تسمح بكل هذه الإمكانيات ) فمثلاً دوس 3.3 كان يستعمل FAT ذو 12 بت .
القطاعات التالفة
لو فرضنا أن بعض القطاعات في قرص صلب ما قد تلفت لأي سبب من الأسباب فهل يعني ذلك أن نرمي القرص بكامله ؟ يمكن لبعض القطاعات - عند تلفها - أن تسبب مشاكل في القراءة أو الكتابة وربما تتسبب ب"تعليق" النظام فلا بد من معالجة هذه المشكلة .
تتوفر العديد من البرامج التي تقوم بفحص القرص ( مثل برنامج scandisk المرفق مع وندوز ) وإذا وجدت أي قطاع تالف فإنها تقوم بوضع علامة عليه للدلالة على أنه تالف فلا يقوم الحاسب بالتسجيل عليه فيما يستمر بالتسجيل على باقي أجزاء القرص غير التالفة ، وبذلك تزول المشكلة .
بينية القرص الصلب
كل قرص صلب لابد من توصيله باللوحة الأم حتى يمكن نقل المعلومات من وإلى القرص ، وحتى نفعل ذلك لابد من وجود جهاز ما يوصل هذين الشيئين وهذا ما يسمى "البينية" ، و كل قرص صلب متوافق مع نوع معين من البينيات ولا يمكنه العمل مع سواها ، ويوجد لدينا اليوم نوعين رئيسين من البينيات :
1- EIDE ويمكن تسميتها اختصاراً بـ " IDE " وترجمة الاسم هي " السواقة ذات الإلكترونيات المضمنة والمحسنة" و معنى الاسم أن الإلكترونيات اللازمة لتشغيل القرص موجودة فيه
(لوحة التحكم ) وليس خارجه ، وهي بلا منافس الأكثر شيوعاً بين المستخدمين .
وفي هذا النوع من الأقراص الصلبة يوجد بينية ( في الماضي كان بطاقة توسعة أما الآن فهي مدموجة في جميع اللوحات الأم ) لها مشبك خاص يدعى مشبك IDE ويوصل كيبل خاص ( أنظر الشكل ) من القرص الصلب إلى مشبك IDE و تستقبل بينية IDE الطلبات من المعالج وتقوم بالتفاهم مع لوحة التحكم الخاصة بالقرص لجلب البيانات المطلوبة .
تتسع بينية EIDE الواحدة إلى أربعة أجهزة IDE موزعة على قناتين : أولية وثانوية بواقع جهازين لكل قناة ، تتقبل بينية IDE أية أجهزة متوافقة مع مواصفات IDE سواء أكانت أقراص صلبة أو أي أجهزة أخرى مثل محركات الأقراص المدمجة CD أو DVD أو أجهزة التخزين الاحتياطي الأخرى .
2- SCSI وينطق "سكزي" وهي أسرع من الاولى و لكنها أغلى بكثير ، وتعتبر أفضل ميزة فيها سرعتها الكبيرة في التعامل مع طلبات كثي
ما هو القرص الصلب ؟
لم تكن الحاسبات في البداية تحتوي على أية أقراص صلبة فقد كان تشغيل البرامج يتم من خلال الأقراص المرنة فقط لذلك فإن القرص الصلب بالنسبة للحاسب هو وسيلة التخزين الرئيسية فيه فهو الوحيد بين وسائل التخزين المختلفة الذي يملك الحجم والسرعة الكافيتين لتخزين البرامج الحديثة لتنفيذها .
لقد تطورت الأقراص الصلبة كثيراً منذ بداية استعمالها في الحاسبات الشخصية في بداية الثمانينيات ، زادت حجومها وسرعتها وتقلص حجمها ، واختيار إحداها لحاسبك يتطلب منك الفهم الجيد للقرص الصلب ومكوناته وكذلك طريقة عملة وتركيبته الداخلية .
القرص الصلب كجهاز خاص بتخزين البيانات يعتبر جهاز مستقل بذاته ويتصل مع اللوحة الأم للحاسب بكيبل خاص ، ويحتوي الجهاز نفسه على أجزاء ميكانيكية وأخرى إلكترونية :
الأجزاء الميكانيكية : يتكون من مجموعة من الأقراص متراصة فوق بعضها البعض ولها محور مشترك تدور حوله ، وهذه الأقراص مغلفة بمادة قابلة للمغنطة حتى يمكن تخزين البيانات على سطحها على شكل شحنات ، ولكي يتم تخزين واسترجاع البيانات يجب أن يكون هناك رأس للقراءة والكتابة ويوجد في الواقع رأس واحد للقراءة والكتابة على كل سطح من أسطح الأقراص ويتحرك هذا السطح جيئة وذهاباً ليتم التخزين على كامل مساحة هذه الأقراص ، وتتوضع الرؤس والأقراص معاً داخل علبة محكمة الإغلاق لمنع دخول أية أجسام غريبة مهما كانت صغيرة ، فإي جسم غريب قد يتسبب بتلف سطح القرص .
الأجزاء الإلكترونية : وهي عبارة عن لوح إلكتروني مهمته تحويل الإشارات الكهربائية ( البيانات ) إلى مناطق ممغنطة على القرص ليتمكن بعد ذلك من استعادتها( التخزين والاسترجاع ) وكذلك عملية التحكم بدوران القرص وحركة رؤوس القراءة والكتابة .
جميع الأقراص الصلبة تعمل بنفس المبدأ ، وتختلف عن بعضها في جودة المكونات وسرعة عملها .
1- أقراص التخزين
2- رؤوس القراءة و الكتابة
3- محرك رؤوس القراءة و الكتابة
4- المحور المشترك لرؤوس القراءة والكتابة
الأقراص (platters)
يمكن للأقراص أن تكون بأحجام مختلفة عادة ( 3.5 أو 5.25 إنش ) ويؤثر ذلك على الحجم الكلي للقرص الصلب لذا فإنه من الضروري في الحواسيب الصغيرة (المفكرات) تجهيزها بأقراص أصغر مثل 2.5 و 1.8 و 1.3 إنش ، وكلما زاد عدد الأقراص وكثافة البيانات التي عليها كلما زادت قدرة القرص الصلب على تخزين البيانات .
ولأن المسافة بين القرص ورأس الكتابة صغير جداً ( أجزاء من الألف من الإنش ) فإن هذه الأقراص يجب أن تكون مستوية تماماً بحيث لا تلتمس مع الرأس أثناء العمل وإلا تعطل القرص بسبب ذلك .
بالإضافة إلى ذلك فإنه - في قرص ما - كلما كانت المسافة بين القرص و رؤوس القراءة و الكتابة أقل كلما كان من الممكن تخزين كمية أكبر من البيانات في ذلك القرص و تسمى كمية البيانات التي يمكن تخزينها في مساحة معينة من سطح القرص areal density ، وأكثر الوحدات استخداماً هي الميجابايت لكل إنش مربع (MB/square inch) .
وتصنع هذه الأقراص من الألمونيوم ( حيث أنه مادة خاملة قابلة للتشكيل ورخيصة ) أو - في الأقراص الحديثة جداً - من الزجاج المقوى بالسيراميك الذي يعتبر أفضل من حيث مقاومة الارتفاع في درجة الحرارة .
والأقراص ( الزجاجية أو الألمونيوم ) لايمكنها حفظ الشحنة اللازمة لعملية التخزين بل يجب أن تطلى هذه الأقراص بمواد لها خاصية حفظ الشحنة مما يمكن رؤس القراءة والكتابة من استعمالها في حفظ البيانات ، وهذه المواد - كأي مادة صلبة - عندما تطحن تصبح حبوب صغيرة جداً ، وهذه الحبوب هي التي تخزن فيها الشحنة بواقع بت واحد لكل حبة ، فيجب إذاً أن تكون صغيرة كفاية حتى يمكن تخزين عدد كبير من البيانات في أصغر مساحة ممكنة .
والمواد المستعملة هي :
لصق المعدن بالدهن الكهربائي ، و هذه الطريقة تنتج سطح قوي و ممتاز من ناحية حفظ الشحنة ويمكن تسجيل بتات أكثر في الإنش المربع الواحد .
محرك الأقراص (spindle motor)
وهو عبارة عن محرك يقوم بتحريك الأقراص بسرعة معينة تقاس بوحدة "دورة في الدقيقة" RPM و تدور الأقراص بسرعة دوران تتراوح عادة بين 4500 و 5400 دورة في الدقيقة وقد تصل إلى 10000 الدقيقة أو أكثر في حسب نوع القرص .
وكلما كان معدل دوران المحرك أسرع كما كان أفضل لأن رأس القراءة سوف يتمكن من الحصول على البت المطلوب أسرع مما سوف يقلل الوقت الفاصل بين طلب الحاسب للبيانات وتلقيها له ( يسمى زمن التأخير )
رؤوس القراءة والكتابة
يوجد على كل قرص من الأقراص رأسين للقراءة والكتابة ( واحد على الوجه السفلي والآخر على الوجه العلوي ) ، أي أنه في حالة القرص الصلب الذي يحتوي على 4 أقراص فإنه يحوي على 8 رؤس قراءة وكتابة وهكذا .
يوجد نوعين من رؤوس القراءة والكتابة :
Inductive Head : يحوي كل رأس من رؤس القراءة والكتابة على لفة من الأسلاك الدقيقة وعندما يود القرص التسجيل في مكان ما فإنه يفعل ذلك بتمرير تيار كهربائي في اللفة عند مرورها على المنطقة المطلوب التسجبل فيها وبذلك تشحن تلك المنطقة ( تخزين البتات ) ، ويستعمل نفس الرأس في تحسس التغير في الشحنة ( قراءة البتات ) . إن المسافة بين رأس القراءة والكتابة وبين سطح القرص صغيرة جداً و لا تؤثر على عملية الكتابة والقراءة . بعد ذلك تتولى لوحة التحكم استخلاص البيانات اللازمة وإرسالها إلى المعالج .
:Magneto-Resistive وتركيب الرأس في هذه الحالة مشابه لحالة السابقة ولكن مبدأ العمل مختلف ، ففي هذا النوع يمر تيار كهربائي خفيف بشكل مستمر في رأس القراءة وعندما يمر الرأس على البتات فإن المجال المغناطيسي للبتات يؤثر على شدة التيار الكهربائي ، تقاس التغيرات في شدة التيار الكهربائي وتحول إلى بيانات ، لاحظ أن هذا النوع من الرؤوس لا يمكنه كتابة البيانات بل يستطيع قراءتها فقط لذا فمن اللازم عند استعمال هذا النوع من الرؤوس وجود رأس آخر من النوع inductive للكتابة .
ويبرز سؤال هنا وهو : إذا كان النوع الثاني من الرؤوس يستخدم للقراءة فقط فلماذا نستخدمه ؟ والجواب هو أنه أسرع في القراءة من النوع الأول ويمكنه التعامل مع أقراص ذات كثافة أعلى .
ورؤوس القراءة والكتابة تتحرك كلها معاً لأنها على محرك واحد وقاعدة واحدة ، ورأس القراءة والكتابة محمول على ذراع مرن قليلاً مما يمكنه من ملامسة القرص أو الارتفاع عنه قليلاً ، فعندما يكون القرص واقفاً فإن رأس القراءة والكتابة يكون ملامس لسطح القرص و عندما يبدأ القرص في الدوران فإن تيار الهواء الناتج من الدوران يبعد رأس القراءة والكتابة عن سطح القرص قليلاً (المسافة قليلة إلى حد أجزاء من المليون من الإنش) بحيث لا يحدث تلامس بينهما أثناء العمل ، وعندما يود القرص الصلب إيقاف الدوران فإنه يحرك الرأس لمكان آمن من القرص يسمى منطقة الهبوط (landing zone) حيث يمكن بعدها إيقاف دوران القرص والسماح برأس القراءة والكتابة بملامسة سطح القرص حيث أن منطقة الهبوط خالية من البيانات فهي مخصصة فقط لهبوط الرأس عليها ، ليس هذا فحسب بل يتم أيضاً "ربط" الرؤوس في منطقة الهبوط حتى لا يتحرك الرأس مع ارتجاج القرص الصلب وهذه العملية تتم أوتوماتيكياً في الأقراص الجديدة أما القديمة جداً فقد كانت تستلزم برنامج خاص لعمل ذلك .
تعرف أن تخزين البيانات يتم طبعاً على شكل بتات ، إن عدد البتات التي يمكن تسجيلها على المسارات الخارجية للقرص أكبر من تلك التي يمكن تسجيلها على المسارات الداخلية بسبب شكله الدائري لذا فإن رأس القراءة والكتابة يجب أن يقرأ (أو يكتب) بمعدل أسرع في الطرف الخارجي عن الداخلي .
إن رؤوس القراءة والكتابة كلما كانت أصغر حجماً كان بإمكانها التسجيل في حقول بتات أصغر وبالتالي الحصول على كثافة أعلى للبيانات ، وأيضاً يمكن للرأس الأصغر الاقتراب من سطح القرص أكثر وأكثر من دون الاحتكاك به والاقتراب من سطح القرص يعني امكانية تخزين بيانات أكثر لماذا ؟ ......
لنعرف لماذا ، دعنا ننظر للشكل المقابل حيث اللون الأحمر يمثل سطح القرص بينما يمثل اللون الأزرق المادة المغنطيسية التي تخزن البيانات و المربعات الخضراء تمثل مواقع تخزين البيانات أما الأسود فهو رأس القراءة والكتابة أما الدائرة الزرقاء التي تحيط برأس القراءة والكتابة فهي تمثيل للمجال المغناطيسي الذي يقوم بالقراءة والكتابة ، دعنا الآن نقارن بين الرقمين 1 و 2 حيث يمثل الأول قرص أقل كثافة من الثاني فنجد أن :
• عدد أكبر للبتات في رقم 2
• رأس القراءة والكتابة في رقم 2 أقرب لسطح القرص
• رأس القراءة والكتابة أصغر في رقم 2
• المجال المغناطيسي أصغر في رقم 2
أصبح الآن واضح أنه لولا رأس القراءة والكتابة الصغير الحجم والمسافة الأقل بين القرص ورأس القراءة والكتابة في الحالة الثانية لما كان بالامكان حشر عدد أكبر من البتات في المساحة نفسها من القرص في رقم 2
إذا نظرنا لرقم 3 في الشكل نرى أن رأس القراءة والكتابة عندما يكون بعيداً عن سطح القرص فإن المجال المغناطيسي يجب أن يكون كبيراً حتى يمكنه التأثير على سطح القرص ، وإذا كان كبيراً فإنه يمكن أن يؤثر على البتات التي بجانب البت المراد التأثير عليه وهكذا الخطأ في القراءة والكتابة يمكن أن يحدث بمنتهى السهولة ، حيث نرى مثلاً أنه إذا كانت المسافة بين الرأس والبت الأخير 5 مايكرون مثلاً (المايكرون هو جزء من المليون من المتر) فإن المسافة بينه وبين البت الذي بجانبه حوالي 6 أو 7 مايكرون فتصبح إمكانية الخطأ كبيرة جداً في هذه الحالة بينما في حالة رقم 2 نجد أن المسافة بينه وبين البت الذي بجانبه أكثر من ضعف المسافة بينه وبين البت المطلوب .
السؤال الذي يطرح نفسه بشكل تلقائي هو : لماذا لا تكون المسافة بين الرأس والقرص صفر أي أنهما ملتصقان تماماً ؟ والجواب أن الاحتكاك بينهم يجعل كلاهما يتلف .
سؤال آخر : لماذا لا نركب أكثر من رأس قراءة وكتابة على سطح القرص الواحد ؟ إن ذلك يقلل من زمن الوصول وسرعة القراءة والكتابة ، في الحقيقة طورت مثل هذه الأقراص سابقاً ولكنها لم تعد ذي جدوى والسبب هو أن استعمال تقنيات أخرى يجعل هذا الأمر ممكن وهي تقنية RAID الخاصة بأقراص سكزي وتوجد تقنية مشابهة أيضاً لأقراص IDE .
محرك رؤوس القراءة والكتابة (actuator)
يقوم هذا المحرك ( مع الأجهزة الإلكترونية الخاصة به ) بتحريك الرؤوس للمكان المطلوب من القرص حتى يمكن استخدام كافة مساحة القرص في تخزين البيانات ولأن المسافة بين البتات صغيرة جداً يعتبر دقة المحرك في تحريك الرأس إلى المكان المطلوب بالضبط من الأمور الأكثر أهمية في سبيل استخدام مساحة القرص كاملة . و محرك رؤوس القراءة والكتابة يمكن أن يخطئ في مكان بت ما من البتات لذا كان لابد من أساليب للتأكد من كون رأس القراءة في المكان الصحيح ، وأحد هذه الأساليب هي تلقي المحرك معلومات عن مكان رأس القراءة مما يمكنه من تصحيح الخطأ إن وقع ، والأنظمة الإلكترونية الخاصة به يمكن أن تكون مغلقة (يوجد آلية تصحيح ) أو مفتوحة ( لا يوجد مثل هذه الآلية ) .إن الحرارة التي تتولد من المحرك ودوران الأقراص تتسبب في ارتفاع درجة الحرارة داخل القرص الصلب مما يتسبب في تمدد أجزاء القرص الصلب ، لهذا يوجد ما يسمى الوزن الحراري thermal calibration حيث يوزن القرص نفسه كل فترة من الزمن تختلف باختلاف نوع القرص . بعض الأقراص الحديثة فيها ميزة تأجيل هذا الوزن إذا كان القرص يقرأ ملف كبير مثل ملف فيديو مما يساعد على عدم حدوث أي قطع في ملف الفيديو .
حتى الآن يوجد نوعان من تكنولوجيا المحركات :
الأول : يسمى " band stepper motor " يعتمد على محرك يدور على حسب "كمية" الكهرباء القادمة من لوحة التحكم ، وبالتحكم بكمية الكهرباء التي ترسلها له يمكن للوحة التحكم بأن تحرك الرأس للمكان الذي تريده ، مشكلة هذا النوع ليس فقط حساسيته للحرارة بل أيضاً التلف مع الزمن والبطء في الأداء هذا بالإضافة إلى سهولة الخطأ في مكان القراءة والكتابة على القرص خاصة عند قدم القرص لأن هذا النوع من المحركات ذو نظام إلكتروني مفتوح ( لايوجد آلية للتأكد من موقع الرأس) ، ولا يمكن لهذا القرص أن يستعمل في أقراص صلبة عالية السعة لعدم دقته .
الثاني يسمى "servo voice coil motor" و في هذا النوع تقوم لوحة التحكم بإرسال تيار كهربائي إلى المحرك وهذا التيار يستعمل في توليد مجال مغناطيسي يستخدم في تحريك الرأس ضد زنبرك مما يجعل لوحة التحكم قادرة على التحكم بموقع الرأس عن طريق التحكم بالتيار الكهربائي ، و يستعمل آلية خاصة لإستكشاف موقع السلندرات دارة إلكترونية مغلقة حيث أنه يستلم باستمرار - أثناء عمله - معلومات عن موقع الرأس على القرص ( وذلك عن طريق المعلومات المكتوبة في مواقع معروفة مسبقاً في القرص ) ويتمكن بذلك من تعديل أية أخطاء قد تحدث مع قدم القرص .
لوحة التحكم (logic board)
وهي اللوحة الإلكترونية التي تتحكم بالقرص الصلب ( الرؤوس و المحرك ) وتقوم بعمليات القراءة والكتابة من وإلى القرص ، يمكن للمكونات الإلكترونية أن تتلف مسببة توقف القرص الصلب عن العمل .
إن الأقراص الصلبة تختلف داخلياً من شركة إلى شركة ، تختلف طريقة إدارة تخزين البيانات وطرق فحص الأخطاء وتشخيصها وأشياء أخرى كثيرة ولكن جميع الأقراص يمكن أن تعمل على جميع الحواسيب لماذا ؟ هذا لأن الأقراص مع أنها تختلف من الداخل إلا أنها متماثلة من الخارج ، مثلاً عندما يود المعالج ملف ما من القرص فإنه سوف يصدر للقرص أمر لجلب القرص ( هذا الأمر قياسي ومتماثل في جميع الأقراص ) فإن القرص يستلم هذا الأمر ثم يمرره للإلكترونيات الداخلية التي تتعامل مع القرص " كما يحلو لها " وبشكل مختلف لكل نوع من الأقراص ولكن في النهاية يجب أن تجلب الملف المطلوب للمعالج في الصورة القياسية .
يعتبر القرص الصلب من المكونات الحساسة في الحاسب ، بل يمكن أن نقول أنه أكثر الأجزاء حساسية كونه يتأثر بالصدمات كثيراً ومن الجائز جداً أن يتعطل بسهولة نسبياً ، مثلاً قد يتعطل القرص عند سقوطه على الأرض .
كيف يعمل ؟
إذا أحضرنا مسمار حديد ولففنا حوله سلك وقمنا بتمرير تيار كهربائي في هذا السلك فإن السلك ينتج مجال مغناطيسي في المسمار ، وهذا هو المبدأ الذي يعمل به التخزين في القرص الصلب حيث يحتوي رأس القراءة والكتابة على لفة أسلاك دقيقة جداً ( تسمى coil ) وقطعة دقيقة من المعدن ( تسمى core ) وعند مرور تيار كهربائي في السلك ينتج مجال مغناطيسي في القطعة المعدنية التي تؤثر في البت القريب منها . ننتقل الآن إلى موضوع الكتابة على المسارات الداخلية من القرص ، في هذه المسارات الداخلية تكون البتات متقاربة مع بعضها البعض كثيراً وهذا يجعل من الصعب على رأس القراءة والكتابة أن يقرأها ، لذا كان من اللازم تسجيل البتات في هذه المناطق المزدحمة بفولتية أقوى من غيرها ليسهل قراءتها بعد ذلك ، تسمى الكتابة بفولتية أعلى على المسارات المزدحمة write precompensation وحتى تخبر الحاسب في أي سلندر من السلندرات يجب أن يبدأ استعمالها في القرص يوجد في نظام البيوس مع إعدادات القرص الصلب write precompensation (لاحظ يمكن أن تجد اختصار مثل write precom أو ما شابه ) ولكن لاحظ أن الأقراص الصلبة الجديدة تطبقه أوتوماتيكياً فلا تحتاج لذلك أن تضبطه في البيوس بل يجب أن تكتب صفر أو 65535 (حسب نوع البيوس ) في مكانها .
المسار (TRACK)
يخزن القرص الصلب البيانات على شكل بتات ، التي تشكل البايتات ( كل 8 بتات = واحد بت ) ، ترتب البتات على كل قرص من الأفراص المكونة للقرص الصلب على شكل دوائر يطلق على كل منها " مسار" track وهذه الدوائر طبعاً تكبر كلما اقتربنا من الطرف الخارجي للقرص ، وعلى الشكل المقابل نرى أربعة أقراص وقد رسم على كل منها ثلاث مسارات .
السلندر
إن رؤوس القراءة والكتابة مربوطة مع بعضها بمحور مشترك ومحرك واحد ، فإذا كان واحد من الرؤوس على المسار الخارجي الأخير من قرص ما فإن الرؤوس الأخرى جميعاً تقع على المسار نفسه على باقي الأقراص وهكذا ، وإذا تخيلنا تلك المسارات مجتمعة فإنها تكون حلقات الواحدة فوق الأخرى وتكون معاً ما يشبه الاسطوانة وهذا هو اسمها فعلاً ( السلندر) أي اسطوانة بالانجليزية .
عدد السلندرات في أي قرص صلب تساوي عدد المسارات على كل وجه من أي قرص من أقراصه، وللعلم فإن عدد المسارات في الأقراص الحديثة يعد بالألوف و كلما كان أكبر كلما أصبحت كثافة البيانات أكبر وكلما أصبح بالإمكان تخزين بيانات أكثر على نفس القرص يتأثر بحجم رأس القراءة والكتابة وكذلك بالمسافة بين القرص ورأس القراءة والكتابة .
القطاع (sector)
عندما يود الحاسب تخزين بعض البيانات فإنه طبعاً يخزنها على شكل ملفات ، وعليه عند تخزين أي ملف أن يسجل موقع كل ملف حتى يمكنه عند الحاجة إلى استرجاع الملف الرجوع إلى نفس المكان مرة أخرى ، وتخزن مواقع جميع الملفات المخزنة في القرص في منطقة مخصصة لهذا الغرض تسمى جدول مواقع الملفات FAT ، وحتى يفعل ذلك يجب أن يقوم بإعطاء كل بايت في القرص رقماً ، وإذا استعملنا هذه الطريقة فإن جدول مواقع الملفات ( ومع كثرة عدد الملفات ) سيستهلك الكثير من مساحة القرص في تخزين مواقع الملفات ، لذلك عندما يتعامل الحاسب مع الملفات في القرص الصلب فإنه لا يتعامل معها على حجم بايتات ، لذلك يقسم القرص كل مسار من المسارات إلى أقسام صغيرة متساوية تسمى " قطاعات "، وفي القرص الصلب يكون طول القطاع 512 بايت ( وليس 512 كيلوبايت ) ، وهذا الطول ( 512 بايت ) دائماً ثابت بغض النظر عن نوع أو الحجم الكلي للقرص الصلب ، لذلك يعتبر القطاع أصغر وحدة قياسية للتعامل مع القرص الصلب .
وإذا تكلمنا عن أنظمة الملفات المختلفة نجد أن بعض أنظمة الملفات تتعامل مع القطاع كوحدة القرص القياسية ( مثل نظام HPFS الخاص بنظام التشغيل OS/2 ) بينما بعض الأنظمة الأخرى مثل FAT يعتبر القطاع وحدة صغيرة ويستخدم وحدة تسمى " الكلستر" كوحدة القرص القياسية .
ولكن هل يمكن أن يكون حجم القطاع أكبر أو أصغر من 512 ؟ الجواب هو ممكن ولكن ليس في الأقراص الصلبة ، وهذا راجع لتصميم كل نوع من وحدات التخزين . فما الذي يجعل حجم القطاع 512 بايت ، لماذا لا يكون أقل أو أكثر ؟ في الحقيقة إن تحديد حجم القطاع بـ 512 بايت لهو ما يشبه اتفاق أهل الصناعة على ذلك لتصبح الأقراص متوافقة مع أنظمة التشغيل المختلفة .
وإذا نظرنا لتوزيع القطاعات على المسارات المختلفة على القرص الواحد نجد أن المسار يمكن أن يكون أطول ما يمكن ( في الطرف الخارجي للقرص ) أو أقصر ما يمكن ( في الطرف الداخلي للقرص ) فهل يكون عدد القطاعات في المسارات الصغيرة مساوي لعددها في المسارات الكبيرة ؟ في الحقيقة تختلف إجابة هذا السؤال بالنسبة للأقراص الجديدة عنها في القديمة ، ففي الأقراص القديمة نجد أن عدد القطاعات في كل المسارات متماثلة بينما في الأقراص الجديدة عددها يعتمد على حجم المسار حيث يتم بذلك استغلال مساحة القرص بشكل أفضل ، وتسمى هذه العملية "Multible Zone Recording" واختصاراً MZR كما يمكن أن يسمى بأسامي أخرى مثل Zoned Constant Angular Velocity واختصاراً ZCAV واسم آخر هو zone bit recording وكلها أسماء لنفس التقنية .
إن القطاعات في أي مسار مرقمة بأرقام ليمكن التفريق بينها ، وبما أن المسار عبارة عن دائرة ليس فيها بداية ونهاية فلا بد من تحديد أحد القطاعات ليكون بداية المسار وبالتالي يكون رقمه 1 ويتم ترقيم المسارات بعد ذلك .
عنونة القطاعات
يوجد لكل قطاع عنوان يتكون من ثلاثة أشياء :
رقم السلندر Cylinder
رقم الرأس Head
رقم القطاع Sector في المسار
فإذا أراد نظام التشغيل (مثل وندوز ) طلب بيانات معينة فإنه يطلبها بتحديد عناوين القطاعات التي يحتويها بطريقة رقم السلندر والرأس والقطاع التي يحتوي البيانات المطلوبة ، مثلاً ( 520 - 5 - 6 ) تعني السلندر رقم 520 والرأس رقم 5 والقطاع السادس ، وبهذه الطريقة يتمكن نظام التشغيل من تحديد أي موضع للبيانات يريدها ، وتسمى هذه الطريقة " عنونة CHS " وبالانجليزية (CHS addressing) .
عندما قام مهندسو شركة IBM بتصميم هذا النظام كان لابد - لأمور خاصة بالتقنية - أن يحددوا طول أقصى لكل واحد من الأعداد فمثلاً جعلوا الحد الأقصى لعدد السلندرات هو 1024 سلندر والرؤوس 255 والقطاعات 63 قطاعاً ، لذلك لا يمكن استخدام أي قرص يحوي أكثر من 1024 سلندر أو أكثر من 255 رأس أو أكثر من 63 قطاع في كل مسار ، لذلك فإن هناك حد أعلى لحجم القرص الصلب وهو يساوي :
عدد السلندرات الأفصى( 1024 سلندر) × عدد الرؤوس الأقصى(255 رأس ) × عدد القطاعات الأقصى (63 قطاع لكل مسار) ×عدد البايتات في كل كلستر (512 بايت ) = 1024 × 255 × 63 × 512 = 8422686720 بايت = 8225280 كيلوبايت = 8032.5 ميجابايت
فتبرز هنا المشكلة : إذا كان للقرص الصلب أكثر من 1024 سلندر فكيف سيتمكن نظام التشغيل من الوصول إلى السلندرات الأعلى من 1024؟ ليس هذا فقط ، إنما كان اختيار الحد الأقصى لعدد الرؤوس كبيراً حيث أن أحدث الأقراص الصلبة لا تستخدم في العادة أكثر من 16 رأس ، فذلك يجعل الحد الأقصى لسعة قرص بـ 16 رأس = 1024 × 16 × 63 × 512528482304 بايت =516096 كيلوبايت = 504 ميجابايت ، وهذه السعة قليلة بكل ما في الكلمة من معنى فما هو الحل ؟
دعونا هنا نورد مثالاً لتوضيح كيف تعمل عنونة CHS في قرص صلب ، لنفرض أن برنامجاً ما يود قراءة الملف c:\autoexec.bat من القرص الصلب فالخطوات التي ستحدث بين الأجزاء المختلفة هي ( مع الكثير من التبسيط ) :
البرنامج يقول لنظام التشغيل ( وندوز مثلاً ) : أود الحصول على الملف c:\autoexec.bat
نظام التشغيل يقول للبيوس : أود الحصول على الملف ذو العنوان C 687 H 2 S 44 ( أي عنوان CHS )
البيوس يقول لبينية IDE : أود الحصول على C 687 H2 S 44
تقوم بينية IDE ببساطة باستخلاص البيانات من القطاع المذكور وتسليمها لنظام التشغيل الذي يسلمها للبرنامج .
LBA
بما أن القرص الصلب يمكنه التحويل من التركيبة المنطقية إلى الفيزيائية فهذا يعني أنها بإمكانه أيضاً التحويل من أي تركيبة إلى التركيبة الفيزيائية ، و يعتبر LBA ( اختصار لـ Logical Block Adressing ) من الأنظمة المستخدمة على نطاق واسع وفيها يتم ترقيم القطاعات على القرص الصلب بأعداد تبدأ بـ 1 ، ويحول القرص الصلب العدد إلى تركيبة CHS المكافئة لها ، وفي ذلك تبسيط لعملية تركيب القرص الصلب حيث يستعاض عن ادخال CHS والبيانات الأخرى برقم LBA واحد .
يمكن أيضاً استخدام نظام LBA في أشرطة التخزين الاحتياطية ، وأقراص سكزي دائماً تستخدم LBA ، بل أي جهاز تخزين بيانات يقسم إلى أجزاء متساوية الطول يمكنه استعمال LBA .
إنحراف السلندرات cylinder skewing
والآن ننظر إلى ناحية أخرى من نواحي التهيئة : إذا فرغ رأس القراءة والكتابة من أحد المسارات فإنه في الغالب يود الانتقال للمسار الذي يليه ( وهو بطبيعة الحال جزء من السلندر الذي يليه ) فإذا كانت بدايات المسارات متحاذية فإن الرأس لن يتمكن - بسبب سرعة دوران القرص الهائلة - من الانتقال من آخر قطاع من المسار الأول إلى أول مسار في القطاع الثاني ، فبالتالي يضطر إلى أن ينتظر دورة كاملة
يمكن بسهولة حل هذه المشكلة وذلك بتغيير كيفية ترتيب بدايات المسارات بالنسبة لبعضها مما يعطي الوقت الكافي لرأس القراءة والكتابة لكي ينتقل من مسار إلى آخر بأقل قدر ممكن من التأخير
الكلستر
و الكلستر هو عبارة عن مجموعة متعاقبة من القطاعات يختلف عددها حسب نوع التهيئة (الفورمات) للقرص الصلب ، وكلما كان حجم الكلستر أقل كلما كان استخدام القرص أكثر كفاءة ، لماذا ؟ انظر قسم تخزين الملفات في القطاعات .
تخزين الملفات في القطاعات
عندما يود الحاسب تخزين ملف على القرص فإنه يبحث عن قطاع فارغ ويقوم بتخزين الملف به ، ولكن ماذا لو كان الملف أكبر من القطاع - مثلاً ملف حجمه 1000 بايت ؟ الحل هو أن يقوم باستخدام قطاع آخر لهذا الغرض ، ويمكن استخدام أي عدد من القطاعات .
وإذا أراد تخزين ملف آخر فإن الحاسب لا يستطيع استخدام نفس القطاع لبداية تخزين الملف الثاني ، بل عليه استخدام قطاع (أو قطاعات ) جديدة ، وقد تنسائل ماذا عن المساحة الفارغة بين القطاعين ؟ أقول أنها مساحة مهدرة .
ليس ذلك وحسب بل أن الحاسب لا يستطيع استخدام ملفين في نفس الكلستر ، فلو أن الكلستر في قرص صلب ما يساوي 20 قطاعاً وأردنا تخزين ملف بحجم قطاعين فإن ما مجموعه 18 قطاع ستكون فارغة (مهدرة ) .
لذلك فإنه - عملياً - لا يمكن تسجيل 10 جيجابايت كاملة على قرص صلب بهذه السعة بسبب المساحات المهدرة من الكلسترات ، هذا طبعاً إلا إذا كانت ال 10 جيجابايت تقع في ملف واحد ، وهذا بالطبع غير عملي .
لذا للحفاظ على نسبة المساحة المهدرة أقل ما يمكن من المهم عند تهيئة القرص الصلب الحصول على أقل حجم للكلستر يقوم نظام الملفات بإعطاء كل وحدة من وحدات القرص الصلب عنوان في هذا الجدول ليستطيع التفريق بين الوحدات
- ملاحظة : وحدة القرص الصلب يمكن أن تكون قطاع أو كلستر - فمثلاً إذا كان في القرص الصلب 100000 قطاع فإن على نظام الملفات تعيين 100000 رقم بواقع رقم لكل قطاع ، إلى هنا وليس هناك مشكلة ولكن المشكلة تبدأ عندما يزيد عدد الوحدات عن عدد معين وهو في نظام دوس ( لأن دوس يستخدم طول 16 بت لترقيم الكلسترات ) = 2 مرفوع للأس 16 التي تساوي 65536 ، أي أن دوس لا يستطيع دعم أي قرص صلب عدد وحداته أكبر من هذا العدد وبما أن الوحدة في نظام دوس هي الكلستر فهذا يعني أنه كلما زاد حجم القرص وجب علينا زيادة حجم الكلستر ، وعندما تقوم بعملية التهيئة فإن برنامج التهيئة سيقوم باختيار إقل حجم ممكن للكلستر تلقائياً . ولا يستطيع دوس دعم كلستر أكبر من 64 قطاع (32 كيلوبايت) لذا لا يستطيع دعم قرص أكبر من 2 جيجابايت (2048 ميجابايت) . لاحظ أيضاً أن نظام دوس الأقدم ( مثل دوس 3.3 و 4 و 5 لم تكن تسمح بكل هذه الإمكانيات ) فمثلاً دوس 3.3 كان يستعمل FAT ذو 12 بت .
القطاعات التالفة
لو فرضنا أن بعض القطاعات في قرص صلب ما قد تلفت لأي سبب من الأسباب فهل يعني ذلك أن نرمي القرص بكامله ؟ يمكن لبعض القطاعات - عند تلفها - أن تسبب مشاكل في القراءة أو الكتابة وربما تتسبب ب"تعليق" النظام فلا بد من معالجة هذه المشكلة .
تتوفر العديد من البرامج التي تقوم بفحص القرص ( مثل برنامج scandisk المرفق مع وندوز ) وإذا وجدت أي قطاع تالف فإنها تقوم بوضع علامة عليه للدلالة على أنه تالف فلا يقوم الحاسب بالتسجيل عليه فيما يستمر بالتسجيل على باقي أجزاء القرص غير التالفة ، وبذلك تزول المشكلة .
بينية القرص الصلب
كل قرص صلب لابد من توصيله باللوحة الأم حتى يمكن نقل المعلومات من وإلى القرص ، وحتى نفعل ذلك لابد من وجود جهاز ما يوصل هذين الشيئين وهذا ما يسمى "البينية" ، و كل قرص صلب متوافق مع نوع معين من البينيات ولا يمكنه العمل مع سواها ، ويوجد لدينا اليوم نوعين رئيسين من البينيات :
1- EIDE ويمكن تسميتها اختصاراً بـ " IDE " وترجمة الاسم هي " السواقة ذات الإلكترونيات المضمنة والمحسنة" و معنى الاسم أن الإلكترونيات اللازمة لتشغيل القرص موجودة فيه
(لوحة التحكم ) وليس خارجه ، وهي بلا منافس الأكثر شيوعاً بين المستخدمين .
وفي هذا النوع من الأقراص الصلبة يوجد بينية ( في الماضي كان بطاقة توسعة أما الآن فهي مدموجة في جميع اللوحات الأم ) لها مشبك خاص يدعى مشبك IDE ويوصل كيبل خاص ( أنظر الشكل ) من القرص الصلب إلى مشبك IDE و تستقبل بينية IDE الطلبات من المعالج وتقوم بالتفاهم مع لوحة التحكم الخاصة بالقرص لجلب البيانات المطلوبة .
تتسع بينية EIDE الواحدة إلى أربعة أجهزة IDE موزعة على قناتين : أولية وثانوية بواقع جهازين لكل قناة ، تتقبل بينية IDE أية أجهزة متوافقة مع مواصفات IDE سواء أكانت أقراص صلبة أو أي أجهزة أخرى مثل محركات الأقراص المدمجة CD أو DVD أو أجهزة التخزين الاحتياطي الأخرى .
2- SCSI وينطق "سكزي" وهي أسرع من الاولى و لكنها أغلى بكثير ، وتعتبر أفضل ميزة فيها سرعتها الكبيرة في التعامل مع طلبات كثي