چگونه احتمال شكستن و خرابي هارد ديسك را كاهش دهيم ؟
تمامي بيمه گذاران مورد شكستگي را جزء گارانتي كالا توسط خودشان نمي پذيرند و خوشبختانه اين مورد در رابطه با هارد ديسك به دليل داشتن بدنه ي چدني و يا آلمينيمي مستحكمي كه دارند بسيار نادر رخ مي دهد و حفاظت بايستي بيشتر در مورد اور هيتينگ و لرزش درايو صورت گيرد .
درايو در حالتي كه سرعت صفحه ديسك آن از 5400 دور در دقيقه فراتر مي رود بسيار آسيب پذير ميگردد به خصوص در مورد هارد ديسك هاي مدرن امروزي كه حجم بسيار بالايي از داده ها در سطح مقطع كوچكي وجود دارند لرزش و ضربه زدن به درگاه ها و محل نصب هارد در كيس كامپپوتر از بالاترين علل خرابي هارد ديسك ها در اولين ماه كاركردنشان مي باشد .
قرار دادن UPS در مسير ولتاژ بي ثبات و گرفتن خروجي از UPS و دادن به سيستم شخصيتان مي تواند محافظ خوبي براي سيستم شما در برابر زيان هاي شوك هاي ولتاژي برق شهري باشد .
در مورد لپ تاپ ها زماني زماني كه منبع تغذيه توانايي چنداني براي ارائه ولتاژ مورد نياز سيستم را ندارد به كاربر پيغام هشداري را مي دهد و مدت زمان كوتاهي به كاربر مي دهد تا كاربر كارهاي ناتملم خود را به پايان رساند و سيستم را Shutdown كند در اين مواقع مي بايستي كاربر به سرعت سيستم را خاموش كند تا ار آسيب هاي افت و قطع ولتاژ در مورد هارد ديسك Laptop پيشگيري كند .
Ncq به كمك هاردديسكها ميآيد:هـاردديسـك هـاي تنبل
هاردديسكها مكانيكيترين قطعه موجود در كامپيوترها به شمار ميآيند. اگر فنها را كنار بگذاريم، هاردديسك اولين قطعه به لحاظ حركت داشتن هنگام كار كردن است. البته اين حركت در داخل هاردديسك است و ما آن را نميبينيم. بر خلاف هاردديسكها، عملكرد اكثر قطعات ديگر سيستم، توسط حركت الكترونها صورت ميگيرد و ديگر خبري از قطعه متحرك نيست. اين موضوع باعث ميشود هاردديسك سيستم را از پتانسيل كارآيي واقعي آن دور كند. به عنوان مثال تيم فوتبالي را در نظر بگيريد كه همه بازيكنان آن به جز دروازهبان آن آماده و در بهترين شرايط به سر ميبرند. خط حمله اين تيم هر چقدر هم كه گل بزند، دروازهبان تيم با گل خوردن خود، زحمت بقيه تيم را خراب ميكند و مانع برد تيم ميشود. نقش هاردديسك در يك كامپيوتر، تقريبا مشابه نقش اين دروازهبان است.
كندي هاردديسكها تنها به كامپيوتر محدود نميشود و در وسايل الكترونيكي ديگر مثل پخشكنندههاي موسيقي كه هاردديسك دارند، نيز ردي از اين اثر ديده ميشود. به عنوان مثال اگر يك iPod با ظرفيت 30 گيگابايت داشته باشيد، حتما هنگام پخش يا جلو يا عقب بردن موسيقي و يا فيلم، دستور شما كمي با تاخير اجرا ميشود، اين تاخير به خاطر ماهيت مكانيكي هاردديسك موجود در اين دستگاه است.
با اين وجود، هاردديسكهاي الكترومكانيكي، فسيل زنده كامپيوتر است. اولين هاردديسك در سال 1956 توسط آيبيام ساخته شد آن دستگاه داراي 5 مگابايت حافظه بود كه توسط 50 ديسك 24 اينچي فراهم ميشد. اگر چه ظرفيت هاردديسكهاي امروزي تا يك ترابايت هم افزايش يافته و تغييراتي هم در تكنولوژيهاي به كار رفته در ساخت آنها صورت گرفته ولي وضعيت نسبي هاردديسكها، كماكان بدون تغيير به نظر ميرسد يك هاردديسك 400 گيگابايتي امروزي، داراي 5 ديسك 5/3 اينچي هر كدام با ظرفيت 80 گيگابايت است.
با افزايش ظرفيت هاردديسكها، تنوع اطلاعات موجود روي آنها نيز افزايش مييابد كه باعث افزايش قابل توجه زمان دسترسي (Access Time) ميشود. منظور از زمان دسترسي مدت زماني است كه طول ميكشد تا هدهاي خواندن و نوشتن شيار موردنظر روي يك ديسك خاص را پيدا كنند و سپس ديسك بچرخد تا اطلاعات درخواست شده پيدا شود. طبق فرآيند گفته شده، مدت زماني براي پيدا كردن و چرخش تاخير خواهيم داشت. همين تاخير سبب ميشود كه هاردديسك، كامپيوتر شما را از پتانسيل واقعي آن دور كند. اين زمان تاخير شايد در حد ميليثانيه باشد و به تنهايي به چشم نيايد ولي يك نرمافزار ممكن است دستههاي اطلاعات زيادي را در صف درخواست قرار دهند و اگر اين اطلاعات درخواستي در قسمتهاي مختلف هاردديسك باشند، مدت زيادي در حد چندثانيه طول خواهد كشيد تا هاردديسك تمامي اطلاعات درخواستي را خوانده و نرمافزار را اجرا كند. در واقع فاصله زماني بين كليك كردن روي آيكون يك نرمافزار از سوي شما و باز شدن كامل آن (چيزي كه از آن به عنوان Load شدن ياد ميكنيم)، شامل همين فرآيند است و بخش زيادي از زمان طول كشيده، به سرعت هاردديسك بستگي دارد.
اما براي روشنتر شدن موضوع بهتر است نگاهي به چگونگي خواندن و نوشتن اطلاعات توسط هاردديسك بيندازيم. هاردديسك داراي چندين ديسك و هرديسك داراي چندين واحد ذخيرهسازي اطلاعات است.
شيار يا (Track) يكي از اين واحدها است كه به شكل دايره همانند شيارهاي صفحه گرامافون است. واحد بعدي كلاستر (Cluster) است. خود كلاستر شامل يك يا چند سكتور يا قطاع (Sector) است. اين سكتورها كوچكترين واحدهاي ذخيرهسازي اطلاعات هستند كه اطلاعات درون آنها قرار ميگيرد. ارتباط ميان اين سكتورها توسط «فايل سيستم» بررسي و پيگيري ميشود.
در شكل ميتوانيد قسمتهاي نام برده روي يك ديسك را مشاهده كنيد. نمونه شيار روي شكل با قرمز پررنگ، كلاستر با قرمز روشن و سكتور با زرد نشان داده شده است.
به طور كلي، هاردديسكها اطلاعات را با نوشتن آنها روي يك قسمت خاص روي يك شيار، ذخيره ميكنند. هاردديسك توسط چيزي شبيه الگوريتم زير به اطلاعات دست مييابد:
1 - اطلاعات روي كدام ديسك است؟ برو به آن ديسك...
2 - اطلاعات روي كدام شيار از اين ديسك است؟ برو به آن شيار...
3 - اطلاعات روي كدام كلاستر از اين شيار است؟ برو به آن كلاستر...
4 - اطلاعات روي كدام سكتور از اين كلاستر نوشته شده است؟ برو به آن سكتور...
5 - اطلاعات درخواستي پيدا شد، اطلاعات خوانده ميشود...
اين مراحل بيانگر شيوه بهينه در خواندن اطلاعات روي هاردديسك است. براي نوشتن اطلاعات روي هاردديسك نيز مراحلي مشابه فوق دنبال ميشود.
براي خواندن و نوشتن اطلاعات بايد يك ابزار درون هاردديسك وجود داشته باشد. هدهاي خواندن و نوشتن اين وظيفه را انجام ميدهند. اين هدها روي يك بازوي محرك قرار دارند. براي چرخش ديسكها نيز، يك وسيله دوكي شكل در نظر گرفته شده تا حركت دوراني يا چرخشي ايجاد كند. اصطلاح 5400 دور يا 5400 RPM در هاردديسكها نيز از همين جا نشات ميگيرد. RPM يا Round per Minute به معناي چرخش در دقيقه، بيانگر تعداد دورهايي است كه ديسكها در يك دقيقه ميزنند. هر چه اين سرعت چرخش بالاتر باشد، ديسك سريعتر عملياتها را انجام ميدهد.
زمان دسترسي مجموع زمان جستوجو و چرخش است. براي مثال اگر پيدا كردن اطلاعات درخواستي 3/8 ميليثانيه و زمان چرخش ديسكها تا محل موردنظر نيز 1/3 ميليثانيه طول بكشد، در كل زمان دسترسي 4/11 ميليثانيه را خواهيم داشت.
اين 4/11 به اين معناست كه 4/11 ميليثانيه طول خواهد كشيد تا به اطلاعات درخواستي، دسترسي حاصل شود، شايد زماني در حد هزارم ثانيه اصلا مشكلي به نظر نيايد، ولي وقتي شما چندين بسته اطلاعاتي را در يك زمان درخواست كنيد مشكلساز خواهد شد. مثلا با اجراي يك نرمافزار ساده مثل «ويندوز مديا پلير» چندين نوع اطلاعات از هاردديسك درخواست ميشود تا نرمافزار اجرا شود. فرض كنيد، اين بستههاي درخواستي را با B، R، G و Y نشان دهيم، در اين صورت براي هر بسته به عنوان مثال خواهيم داشت:
B:ا 3/8 ميليثانيه زمان جستوجو + 1/3 ميليثانيه زمان چرخش= 4/11 ميليثانيه زمان دسترسي
R: ا2/4 ميليثانيه زمان جستوجو+ 2/2 ميليثانيه زمان چرخش= 4/6 ميليثانيه زمان دسترسي
G: ا3/4 ميليثانيه زمان جستوجو+ 5/8 ميليثانيه زمان چرخش= 8/12 ميليثانيه زمان دسترسي
Y: ا7/0 ميليثانيه زمان جستوجو+ 1/1 ميليثانيه زمان چرخش= 8/1 ميليثانيه زمان دسترسي
مجموع زمان طول كشيده براي جمعآوري اين اطلاعات 4/32 ميليثانيه است. البته اين يك مثال بود ولي هنگام اجراي نرمافزار ذكر شده، حتما اين مدتزمان تاخير را احساس كردهايد. براي نرمافزارهاي سنگينتر هم كه مدت تاخير بيشتر هم خواهد بود. البته باز تاكيد ميكنيم كه همه زمان تاخيري كه هنگام اجراي نرمافزارها ميبينيد ناشي از هاردديسك نيست ولي بخش بسيار زيادي از آن به ناكارآمدي هاردديسكها بازميگردد.
مشكل
براي توضيح مشكل موجود، موقعيت چهار بسته اطلاعاتي B، R، G و Y را به صورت بستههاي آبي، قرمز، سبز و زرد روي ديسك نمايش دادهايم.
در ابتدا هد روي نقطه آبي قرار ميگيرد و اطلاعات خوانده ميشود سپس بازوي محرك وضعيت را عوض كرده و با چرخش ديسك هدها در نقطه قرمز قرار ميگيرند. سپس به همين ترتيب نوبت به نقطه سبز و سپس نقطه زرد ميرسد و عمليات تكميل ميشود.
شايد در نگاه اول اين فرآيند مشكلي نداشته باشد ولي واقعيت اين است كه طي اين فرآيند وقت زيادي بابت چرخش ديسكها و حركتهاي اضافي هدر رفته است. اگر به خط بنفش كه مسير حركت هد را نشان ميدهد دقت كنيد ميبينيد كه پس از نقطه آبي، هد از دو نقطه سبز و زرد كه در نزديكي آنهاست دور شده و به سمت قرمز ميرسد و بعدا طي يك مسير طولاني به سراغ اين دو نقطه ميآيد.
ايده بهتر براي رسيدن براي انجام اين فرآيند به اين صورت است كه ابتدا به نقطه سبز، سپس نقطه آبي و بعد از آن به نقطه زرد برويم در پايان نيز به سمت نقطه قرمز حركت كنيم تا عمليات به اتمام برسد. براي اينكه متوجه شويد فرآيند زمان بر اولي در چه حد حاد است، بهتر است به شكل شماره2 نگاه كنيد.
اين شكل نمايي از ديسكهاي موجود در يك هاردديسك را نمايش ميدهد. اگر اطلاعاتي كه ما روي يك ديسك نمايش داديم روي يك ديسك نبود و بين سكتورهاي مختلف در چند ديسك پخش شده بود، آن وقت زمان بيشتري هم هدر ميرفت. در سمت چپ شكل بازوي محرك با سطوح مختلف بين ديسكها را ميبينيد. هدهاي موجود روي نوك اين بازوها، به اطلاعات موجود روي هر دو روي هد ديسك دسترسي دارند. در وسط صفحهها نيز دوك چرخنده ديسكها قرار دارد، همانطور كه گفتيم وظيفه اين دوك، تنظيم سرعت چرخش ديسكها است. هر چه دوك ديسكها را سريعتر به گردش درآورد، زمان تاخير ناشي از چرخش نيز كاهش خواهد يافت.
راهحل
تكنولوژي NCQ يا «صفبندي ذاتي دستورات» براي حل اين مشكل ارائه شده است. اين تكنولوژي براي ديسكهاي سازگار با درگاه SATA در نظر گرفته شده تا سرعت آنها را در شرايط خاص بهبود بخشد. NCQ دستورات رسيده براي دسترسي به آدرسهاي اطلاعاتي روي هاردديسك را طوري ترتيبدهي و صفبندي ميكند كه بيشتري بازده و كمترين زمان تاخير حاصل شود. شكل شماره3 دو هاردديسك يكي با NCQ و ديگري بدون NCQ را نشان ميدهد.
هاردديسك بدون NCQ شبيه يك پستچي است كه بايد نامهها را به چهارخانه كه در راستاي يك خيابان هستند تحويل دهد. اين پستچي نامه خانه اول را تحويل داده، پس با طي مسيري طولاني به سراغ خانه چهارم رفته، بعد از آن برگشته و نامه خانه دوم را تحويل ميدهد و در آخر نيز كمي جلوتر رفته و نامه خانه سوم را تحويل ميدهد. اين پستچي هيچگاه عنوان كارمند نمونه پستخانه انتخاب نخواهد شد!
اما در شكل دوم، نامهها در سريعترين و بهترين شكل ممكن تحويل داده ميشوند.
هاردديسكهاي بدون NCQ، دستورات را طبق ترتيبي كه دريافت ميكنند اجرا ميكنند، درست مانند وقتي كه وارد يك فروشگاه بزرگ شدهايد و بخواهيد خريد خود را دقيقا مطابق ترتيب موجود در ليست خريد انجام دهيد.
هاردديسكهايي كه NCQ دارند، دستورات را به ترتيب نزديكي آنها به محل فعلي هدهاي هاردديسك انجام ميدهند. دقيقا مثل موقعي كه در فروشگاه حركت كنيد و يك نگاه به ليست و يك نگاه به اجناس كنار خود بيندازيد و هر جنسي كه در ليست بود و دم دست هم بود، برداريد.
در عالم واقع و براي هاردديسكها، NCQ هميشه هم تاثير مثبت ندارد. براي سرورها و سيستمهايي كه هاردديسك آنها دائما در حال خواندن و نوشتن اطلاعات است و به طور كلي براي نرمافزارهاي Multi Thread كه در يك لحظه مشخص، چندين نوع اطلاعات را از هاردديسك ميخوانند، NCQ تاثير قابل ملاحظهاي در عملكرد آنها خواهد داشت.
اما براي اجراي نرمافزارهاي ساده و كارهاي عادي NCQ را خيلي تاثيرگذار نخواهيد ديد. به طور كلي NCQ آنجايي خودش را نشان خواهد داد كه همزمان چندين كار سنگين را از هاردديسك بخواهيد.