All But Reality

Imagine a catchphrase here

Simple template. Background and Customization by Shihab Elagib. Powered by Blogger

January 26, 2018

براحة على الهارديسك!


[النص ادناه عبارة عن transcript لمحتوى فيديو على اليوتيوب بنفس العنوان]




دقيقة، الخلعة من شنو؟

هارديسكك ما بتجيه حاجة يا عباس!

مش؟

كدي عاين معاي للهارديسك دة جوة كيف: عندك يا سيدي الموضوع ممكن تختصره في الـ"قرص الصلب" دة نفسه، الموتور البيلفه، الراس البيقرا ويكتب، الدائرة المنطقية البتتحكم في الشغلة دي والصندوق البيلم الحاجات دي كلها.

تقريباً 90% من الاعطال البتجي للهارديسك بتجي من القرص الصلب والراس، او زي ما بيسموه اسياد الشغلة دي: الـHead-Disk Interface.

عملية الكتابة والقراية في الهارديسك، في مجملها انه الراس القلناه قبيل دة بيتحرك فوق القرص لحد ما يصل المنطقة المطلوب تتقري منها او تتكتب فوقها البيانات. العمليتين ديل بيتمو -على التوالي- بي قياس او تغيير ميغنطسية السطح في المنطقة دي، بالتالي الراس دة ما بيحتاج يكون ملامس للسطح دة تماماً، يكفي انه يكون "طاير" فوقه.

ودة فعلياً البيحصل، راس الكتابة بيكون "طاير" فوق القرص الصلب، ممكن تشبهه بي جناح الطيارة. دوران القرص حول نفسه بسرعة كبيرة بيخلق تيار هوا عالي نسبيا فوقه (متذكرين الطبقة الجدارية المتاخمة، يا ناس الفلويد ميكانيكس)، التيار دة هو البيسمح للراس انه يعوم فوق القرص.


الآلية دي عندها سبب تاني طبعاً، اولها انه سطح القرص لازم يكون محتفظ بهيئته البيتصنع بيها عشان يشتغل. اي تغيير ميكانيكي كبير في السطح، زي انه راس الكتابة القبيل داك يلامس السطح ويحكه، حيكشط الطلاء الميغنطيسي البتعتمد عليه آلية عمل الهارديسك، و دة حيؤدي لإنه يبقى ما صالح للكتابة، واي بيانات مكتوبة فيه حتضيع.

طيب جميل، المفروض بس نضمن انه الراس دة يكون بعيد من السطح بس والموضوع يبقى تمام، مش كدة؟ 
الكلام دة ساهل تقوله، لكن على ارض الواقع، ارتفاع الطيران القلنا عليه قبيل داك الزمن دة اقل من 25 نانوميتر. للمقارنة، قطر شعر الانسان بيتراوح بين 30،000 لي 100،000 نانوميتر.

دة السبب الرئيس البيخلي المختصين يقولو انه الهارديسكات حساسة للصدمات. اي صدمة يتعرض ليها الهارديسك دة اثناء ما الراس طاير فوق القرص بتخاطر بإنه الراس يقع ويحك القرص ويكشطه. وبكدة الافلام والمسلسلات الكنت مخزنها في الهارديسك دة تاني الا تستناها في التلفزيون.

الهارديسكات بتتبنى كذا تقنية حماية عشان تقلل من المخاطر دي، منها انه السطح الميغنطيسي دة نفسه بيتغطى بطبقات حماية وتزييت. للأسف، الاقراص دي عادة بتدور بسرعات كبيرة جداً بتتراوح بين 5400 لي 7200 دورة في الدقيقة (دي القيم الشائعة في الهارديسكات المتاحة للمستخدمين حالياً، الاولى اكثر شيوعاً في اللابتوبات والوحدات الخارجية، التاني في الدسكتوبات والاجهزة الثابتة) وممكن تفوت الـ10,000 والـ 15,000 في بعض الهارديسكات عالية الاداء). للمقارنة، مروحة السقف بتدور اقل من 500 دورة في الثانية.
السرعة العالية دي، زائداً للسمك البسيط جداً لطبقات الحماية وضعفها صلادتها الكبير مقارنة بمعدن راس الكتابة والقراية، بتخلي احتمال صمود الهارديسك في حالة صدمة معتبرة موضوع مستبعد ممكن تقول عليه مستحيل. 

لحسن الحظ، الهارديسكات ما بتكون دائماً بتقرا او بتكتب. مصنعي الهارديسكات فكرو لي روحهم، طيب ما دام في فترات الهارديسك ما بيستخدم فيها، ليه نخلي الراس دة طاير فوق الاقراص ساي؟ هنا ظهرت فائدة تانية لتقنية قديمة اسمها الـHead Parking  او كما يسميها البعض Ramp Loading and Unloading المستخدمة في يمكن كل الهارديسكات المعاصرة. فكرتها، ببساطة، لما الهارديسك يكون ما شغال، الراس بيتحرك يطير برة من القرص ويركن في حتة مخصص ليه. 

قديماً الحركة دي كانت مستخدمة بس لما الهارديسك يقيف تماماً زي لما تقفل الكمبيوتر، اليوم الهارديسكات بقت تركن الراس دة بعد كل مدة زمنية من عدم الاستخدام احتياطاً لحدوث صدمة للوحدة. في بعض التقنيات المستخدمة في بعض الاجهزة المحمولة بتستفيد من وجود مستشعرات حركة Accelerometers في الجهاز عشان تتوقع حدوث صدمة وبتقوم تجبر الهارديسك يركن الراس استعداداً للصدمة دي. عملية ركن الراس سريعة جداً بالمناسبة، راس الكتابة ممكن يتحرك من بداية القرص لحد نهايته في حوالي 20 ملي ثانية بينما، المدة البياخدها اللابتوب عشان يقع مسافة متر بتجاهل مقاومة الهواء- هي 450 ملي ثانية. المتر دة سكته طوييييييلة بالنسبة لزمن الهارديسك!

زي التقنيات دي بتلقاها تحت مسيات مختلفة، منها ال Sudden Motion Sensor في اجهزة Apple، الـEasyGuard في اجهزة توشيبا وال 3D DriveGuard في اجهزة HP.


الحالة التانية الواجب ذكرها هو ايقاف تشغيل الهارديسك. اعتماد طيران راس القراية على تيار الهواء البيخلقه دوران القرص معناها -بديهياً- انه اذا القرص وقف الراس حيقع. في حالة عملت shutdown طبيعي للهارديسك ممكن الوحدة تركن الراس قبل ما توقف دوران القرص، طيب اذا الكهربا قطعت فجأة، البيحصل ايه؟
لحسن الحظ تاني انه المهندسين الشغالين في تصنيع الحاجات دي عارفين شغلهم، وبعد حكة راس (pun not intended) شوية طلعو بعدة سبل احتياطية للموضوع دة، في غالبها بتدور حول محور واحد (pun not intended)، ركن الراس دة بي سبل ميكانيكية ما بتحتاج مصدر كهربة خارجي. في تقنيتين شائعتين هنا، الاولى والاقل انتشاراً هي استخدام ياي يرجع الراس برة القرص، والتاني استخدام الطاقة الحركية الباقية في القرص نفسه (القرص ما بيقبض فرملة اول ما الكهربة تنقطع منه) عشان يولد طاقة ترجع الراس!


كدة جاوبنا على الكلام القبيل يعني؟ ممكن عادي نفصل الهارديسك من الوصلة مباشرة بدون ما نعمل ليه safely remove من نظام التشغيل؟

ايوة!
 ولأ…

من ناحية هاردوير صرفة، الهارديسك ما مفروض تحصل ليه مشكلة من فصل الوصلة مباشرة. الهارديسك حيرجع راس القراية للقرّاش بتاعه والاقراص سرعتها حتقل لحد ما تقيف. وكله تمام التمام.

من ناحية السوفتوير، لكن، الموضوع ممكن يكون معقد اكبر حبة. الوضع هنا بيعتمد على انت كنت بتعمل شنو في الهارديسك لما فصلته.
بديهياً، لو كنت بتنقل حاجة للهارديسك دة لما فصلته، البيانات دي حتكون ما اتنقلت بالكامل وحتبقى في حالة جزئية، او من وجهة نظر السوفتوير لما تجي توصل الهارديسك تاني، الملفات دي بقت "تالفة.”  الموضوع ممكن يكون اسوأ من كدة لكن، على حسب البيانات دي بتتخزن في الهارديسك بياتو نظام تخزين. او زي ما بيسموه ناس علوم الحاسوب: الـFilesystem المستخدم شنو.
بدون الدخول في تفاصيل، الـfilesystems القديمة نسبياً تحملها ضعيف لفصل الكهربا اثناء الكتابة، دة قد يؤدي الى انه ما بس الملف الكنت بتنقل فيه يبوظ، بل قد تبوظ عدة ملفات غيره ويمكن البيانات الفي الـpartition كله تبوظ.
 الفايل سيستمس الحديثة بتقلل من الاثر دة بصورة كبيرة، وعادة الضرر بينحصر كله في خسارة الملف قيد الكتابة الواحد داك.
بالنسبة لنظام الويندوز، الفايلسيستمس القديمة الشائعة هي نظام الـFAT32 المستخدم بكثرة في الفلاش-درايفز او الفلاشات والهارديسكات القديمة، الانظمة الجديدة بقى زي الـNTFS البقى متطلب رئيس لتشغيل الويندوز من ايام ويندوز فيستا ( فيستا طلع2006 ما قلنا جديد؟ وفي الحقيقة الـNTFS اقدم من كدة كتير).

ولكن، لازم تاخد في الاعتبار انه فقط كونه نظام التشغيل قال ليك الـCopy خلاص تم 100%، دة لا يعني انه البيانات فعلاً اتكتبت في الهارديسك 100%. الهارديسكات نسبياً بطيئة في الكتابة مقارنة بوحدات تخزين مؤقتة زي الرام او الفلاش ميموري (زي المستخدمة فري السمارت فونز). انظمة التشغيل بتحاول تسرع شغلها بإستخدام اسلوب تخزين بيسموه الـcaching، فيه بي بساطة التخزين بيتم مؤقتاً في الوسائط السريعة عشان المستخدم ما يقعد يستنى العملية كتير، بعديها بتقوم تنقل البيانات للهارديسك البطيئ في الخلفية على راحتها.
المشكلة هنا بتبقى انه المستخدم ممكن يدقس يفصل الهارديسك مباشرة بعد نافذة الكوبي تصل 100%، وهنا الداتا ما بتكون اتكتبت بالفعل في الهارديسك، ودة بيرجعنا للمشكلة القبيل: الداتا تلفت!
هنا بتبدا تظهر اهمية خيار الـSafely remove hardware. الخيار دة بيجبر النظام انه يكتب كل الداتا دي في الهارديسك، وما بيقول ليك خلاص الوحدة دي من الأمن تفكها الا بعد الداتا تتكتب.

في حل تاني للعملية دي طبعاً، وهو انك تقفل الخاصية دي نهائي! في الفلاشات، الويندوز ليه سنين بيقفل الـcaching دة اوتوماتيكالي ( لو متأكد انه ماف عمليات كتابة ولا قراية شغالة في الفلاش، ممكن تفصله عادي بدون Safe removal)، في الهارديسكات لكن ما مضمون. 

عملياً، حتى لو الـcaching دة شغال، الموضوع يمكن ما يكون بالخطورة النظرية الفوق دي. نظام الويندوز عادة بيبدا يكتب الداتا في الهارديسك بعد ثانية من ما تتكتب في الـcache، فلو استنيت كم ثانية بعد الكوبي ينتهي، الويندوز حيكون انتهى من كتابتها في الهارديسك، وممكن تفصله بدون قلق. لكن برضو الضمان امان، لو بياناتك قلقان عليها، الـSafe removal احسن ليك.

اختصاراً للفات دة كلو يا عباس: الهارديسكات حساسة جداً، وتحريكها وهي شغال تكتب وتقرا خطر عليها. لكن فصل وصلتها من الجهاز مباشرة لأ. في احتمال البيانات تضيع جزئياً او كلياً، لكن دي حاجة ممكن عادي تتفاداها بشوية صبر. استنى الكتابة تنتهي، اديها كم ثانية، واتوكل. او اعمل safe removal وخليك في الـSafe side.