بخش اول

- اهداف

برنامه اي که در اين قسمت توضيح داده مي شود شامل PC3000 در محيط ويندوز است . اين ابزار براي تعميرات هاردهاي Maxtor بکار ميرود .در زير به قابليت هاي آن بطور مختصر اشاره مي کنيم :

 

 
 

 اصلاح ساختار data که در ناحيه service area  خراب شده است بوسيله :

-           پنهان کردن بخش هاي خراب سطح هارد با استفاده از فضاي رزرو شده که کارخانه سازنده هارد آن را در نظر گرفته است .

-          با استفاده از مختصات فيزيکي سيلندر ، هد و سکتور دسترسي به سطح هارد را فراهم مي کند و در اين رابطه از جدول مترجم که براي استفاده در نرم افزار Data Extractor ايجاد شده نيز استفاده مي کند.

-          ازبين بردن تمامي password ها .

همچنين در اين مقاله ، روشهاي تعمیربرد الکترونيکي را بر اساس نوع خرابي توضيح مي دهيم.

تذکر:

هاردها ممکن است خرابي هاي زيادي داشته باشند و براي هر خرابي روش هاي مختلفي وجود دارد. هرچند ممکن است خيلي از روشها هنوز پياده نشده باشند و اين به دليل عدم وجود اطلاعات کافي مي باشد.

به عنوان مثال از دست رفتن adaptive data (داده هاي انطباقي)هارد با عث مي شود که تعمير و بازيابي اطلاعات غير ممکن شود . هر چند قدم هايي در نظر گرفته شده تا احتمال بروز چنين حالاتي (از دست رفتن data ضروري براي کار کردن هارد) به حداقل برسد ولي هنوز در بعضي موارد اين احتمال وجود دارد

همه خصوصيات اين دستگاه ، بوسيله خانواده متناظر هارد تست شده است . لطفاً به خاطر بسپاريد که هنوز اين خانواده ي هارد  توليد مي شوند و سازندگان در صورت لزوم در آن تغييراتي ايجاد مي کنند و ما نيز نمي توانيم  مانع از توليد هاردهايي که با اين دستگاه incompatible (نا سازگار)هستند شويم .

 

 
 

2- option هاي اصلي تعمير هارد هاي Maxtor :

اين package براي کار با هاردهاي Diamond Max VL40 ،  D536DX ، D541X ، D540 – 4D ، D531X ، Diamond Max plus 8 ، Diamond Max plus 9 ، Diamond Max plus 60 ، Diamond Max plus 16 و Fireball 3 مورد استفاده قرار مي گيرد . کارهاي زير را مي توان بوسيله اين package انجام داد:

-          تست هارد در Techno Mode

-          برگرداندن service data هارد

-          خواندن و ثبت کردن محتويات Flash Rom هارد (در صورتيکه وجود داشته باشد.)

-          بازنگري و چک کردن ساختار service data (با استفاده از وضعيت Interactive Mode)

-          Load کردن برنامه اي که دسترسي به service data را فراهم مي کند (فايل LDR)

-          ايجاد يک فايل LDR در هارد اصلي يا غير اصلي تا بتوان بين برنامه اي که Load شده و آن چه که در service data ذخيره شده مقايسه  اي انجام داد .

-          بازنگري جداول P - List   و G – List خرابي هاي پنهان.

-          اضافه کردن خرابي هايي که جديداً کشف شده به P – List و G – List

-          ايجاد دوباره يک مترجم

-          اصلاح برنامه هاي پيکر بندي و پارتيشن بندي.

-          از بين بردن خطاهاي SMART و امثالهم.

-          اجرا و بازبيني روتين هاي Self – Testing

 

 
 

3 – شروع به کار :

در حاليکه آماده  مي شويد لطفاً به وضعيت جامپر ها روي هارد و برد PC3000 توجه کنيد . PC3000 در حالت Master Mode کار مي کند . اگر جامپر CSEL0 يا CSEL1 (بسته  به نوع پورتي که استفاده شده) روي برد PC3000 ، enable باشد ، دستگاه در حالت Cable Select مطابق mode هاردي که تست مي شود ، کار مي کند .

 

 
 

4 – بررسي ساختار هاردديسک هاي خانواده Maxtor :

 1- 4 ) firmware هارد :

Firmware هاردهاي Maxtor از  Ram اجرا مي شود و از 3 Source قابليت Load  شدن دارد .اولين Source ، masked Rom است  که نزديک چيپ پردازنده قرار دارد . دومين Source ، Flash Rom است و اگر نصب شده باشد سومين Source ، Service Area هاردديسک است .

شناسايي صحيح هارد و کار با LBA منوط به اجراي صحیح کد هاي ذخيره  شده در برد هاي الکترونيکي و خواندن صحيح داده ها از Service Area است .

PCB firmware شامل دو بخش است : Mask Rom و Flash Rom

پردازنده بوسيله يک ROM خارجي (External  ROM) مقدار دهي مي شود در صورتيکه اين ROM آسيب ديده و يا از بين برود  ، firmware از يک ROM که داخل پردازنده قرار دارد Start مي کند .

يک حالت امکان پذير است زماني که ميکرو کد داخل پردازنده به يک خانواده ديگر تعلق داشته باشد به عنوان مثالCALIPSO ممکن است به يک صورت ديگر مثلاً N40P شناخته شود .

در هاردهاي Maxtor ، Service Area از طريق سکتورهاي منطقي  که براي اين هدف در نظر گرفته شده اند و "UBA" ناميده مي شوند (Utile Block Addressing  چيزي شبيه LBA) بطور خودکار بوسيله ميکروکد به مکان فيزيکي آن در سطح هاردديسک برگردانده مي شود . Service Area در هاردهاي Half- Size شامل سيلندرهاي بيروني (نزديک لبه) مي باشد و در هارد هاي Full – Size شامل سيلندر هاي دروني (نزديک به ناحيه پارک) مي باشد .

هاردهاي Maxtor جامپر Safe Mode دارند و وقتي که Enable باشد تنها firmware که در PCB ذخيره شده Load مي شود و روتين هاي استارت موتور و مقدارگيري بخش Service Data از قلم مي افتند.

جامپر "Safe Mode" همچنين روي مقدار دهي اوليه هارد زماني که فايل LDR بکار گرفته مي شود تاثير گذار است . و بعضي از Step ها ي فرمت (مقدار دهي اوليه)هارد از قلم مي افتند. و اين به دليل تفاوت بين راه اندازي فايل LDR  و enable  يا disable بودن جامپر safe mode مي باشد شکل 1 را ببينيد . شما مي توانيد با enable  کردن جامپر safe mode و نصب دستگاه PC 3000 ، ورژن PCB firmware را ببينيد .

 در خط firmware ميتوانيد ورزن ROM را نيز ببينيد.

بعلاوه ، اگر براي بار پنجم يا ششم Flash chip اتصال کوتاه پيدا کند ورزن تغيير مي کند . Service Area جايگزين (يدک) با ALT – SA نمايش داده مي شود در بخش 5- 4  توضيح داده مي شود .

براي اينکه هارد کار کند لازم است PCB firmware با firmware کپي شده در ناحيه Service Area بطور کامل عوض شوند .

اگر به هر دليلي firmware نتوانست  با Service Area راه اندازي شود هارد به وضعيت "FAIL" که مشابه "Safe Mode" است مي رود در هر دو مورد هارد  با نام مستعار شناخته مي شود . براي اينکه از وضعيت "FAIL" خارج شويد لازم است کل "firmware" شامل (ROM و Overlay ها) را Load کرده تا بتوان از فايل LDR استفاده کرد . به خاطر داشته باشيد فايل LDR فقط حاوي ميکرو کد (کپي ROM و Overlay  ها) مي باشد و حاوي data مورد نياز هارد براي اينکه کار کند نيست (مانند ليست خرابي ها ، داده هاي انطباقي  و ديگر تنظيمات )

ميکرو کد PCB و firmware هارد ورژن هاي مختلفي دارند . و اختلاف بين ورژن ها کمک مي کند تا بگوئيم کدام ورژن در حال حاضر بوسيله پردازنده اجرا مي شود . اگر آخرين کاراکتر در عدد ورژن "Z "باشد به اين معناست که رويه مقدار دهي اوليه بطور کامل اجرا نمي شود . به عنوان مثال ممکن است بعد از اينکه بطور کامل استارت خورد WAK2IR90 ببيند و اگر استارت کار با شکست مواجه شود WAK2IR9Z روي صفحه ديده مي شود . در خانواده هاي Ardent / Poker ، Service Area حاوي دو برنامه براي کنترل هارد است :

  • برنامه 1 حاوي ماژولهاي 38h ، 39h و 4Fh است .
  • برنامه 2 حاوي ماژولهاي 97h ، 96h و 98h مي باشد .

هر يک از ريز برنامه ها با حروف A ،B و C در عدد ورزن از هم تفکيک مي شوند . به عنوان مثال در خانواده هارد N40P : NARxxxxZ ، NBRxxxxZ  و NCRxxxxZ .

ورژن A به Boot ROM تخصيص داده مي شود ولي برنامه ي واقعي کاملاً با کد هايي که Service Area در ورژن A (NARxxxxZ ) ذخيره شده است فرق مي کند .

لطفاً توجه کنيد ديدگاه هاي متفاوت سازندگان هارد در عملکرد هارد تاثير گذار است  . بوسيله فرمان DOWNLOAD MICROCODE ماژول (92H) مي توان ميکرو کد ها را update کرد .

 

 
 

 

 

 
 

 

 

 
 

 

 

2- 4 تشخيص ورژن firmware :

ورژن firmware درHDA اصلي ذخيره مي شود . ممکن است به صورت زير باشد :

(Module + HDA +PCBA +UNIQE) 6E630L0510202C در خط "Utility Status" دستگاه ديده مي شود (شکل 2) و مي توان آنرا در ماژول با PN = 48h ديد . اگر ماژولي که حاوي ورژن است غير قابل خواندن باشد ، دستگاه قابل ديدن نيست .

حال اجازه دهيد يک مورد را بررسي کنيم زماني که مي خواهيم يک برد را با نوع سوخته اش عوض کنيم . اگر از يک هارد ديگر با همان ورژن استفاده کنيم  توجه داشته باشيد که در بسياري موارد ايجاد سازگاري بسيار سخت است . احتمال عدم تطابق بين HDA و PCB براي همه ي خانواده هاي هارد به جز N40P و CALYPSO بسيار کم است . در اين دو نوع خانواده تنظيمات برد نقش بسيار حياتي در خواندن داده هاي موجود در Service Area بازي مي کنند . هر چند اين تنظيمات به طور کامل مانع از سازگاري بقيه تنظيمات نمي شود .

موضوع سازش پذيري برد در هاردها N40P و CALYPSO به طور مفصل در بخش هاي 11 9  و 12 – 9 توضيح داده مي شود

حال اجازه دهيد حالتي را بررسي کنيم که ورژن firmware با ورژن هارد مورد استفاده match باشد .

بايد توجه داشت که کد هاي service area مکمل محتويات ROM نيستند ولي در واقع بطور کامل با boot ROM جايگزين مي شوند . ديگر سازندگان هارد از طرح هاي ديگري استفاده کرده و بنابراين در هاردهايشان ديگر قواعد سازش پذيري صدق مي کند .

آنها از يک ساختار پوششي استفاده مي کنند به اين معني که يک تطابق محکم بين کدهاي ROM و overlay در سطح هارد وجود دارد

اگر کد firmware و overlay به ورژنهاي مختلفي تعلق داشته باشد .، اين عدم تناسب مانع از استارت خوردن هارد مي شود . در مورد هاردهاي Maxtor تشابه زيادي وجود ندارد . کارخانه سازنده به هيچ وجه کدهاي firmware را يک هارد مشخص مي تواند استفاده کند را علامت گذاري نمي کند

مسئله عدم تطابق loader توسط داده اي منحصر بفرد که نتيجه عدم load شدن رويه مقدار دهي اوليه است ، در هر loader ممکن است ايجاد شود .

اگر رويه مقدار دهي کامل نشود هارد هنگ مي کند و يا به حالت "ROM firmware " (وضعيت "FAIL")برمي گرددو يا اينکه سعي در استفاده از يک service area جايگزين ("ALT - SA"وضعيت) می کند .

علاوه بر اين در حالت "safe mode" همه چک مارک ها در service area ، disable نمي شوند . واين باعث مي شود که هارد هنگامي که فرايند مقدار دهي اجرا مي شود ، هنگ مي کند . بنا براين بر اساس آنچه که گفته شد تنها ملاک سازگاري هارد در حال کار و loader مورد استفاده فقط کد خانوادگي (family code ) مي باشد .

به عنوان مثال در مورد جايگزييني هارد در هارد هاي N40P ، Service Area با استفاده از loader هاردهاي donor که در حالت اورجينال firmware هارد ايجاد شده باشد غيرقابل خواندن است . اما بوسيله يک loader که در يک هارد ديگر با ID متفاوت (شامل ورژن ، تاريخ ساخت ، check sum و ... متفاوت) ايجاد شده باشد امکان پذير است .

هنوز نتوانسته ايم برنامه کنترل جايگزيني ها را در service area قرار دهيم . که اگر مي توانستيم اين اطلاعات بدون تاثيرات خارجي از بين نمي رفت اين يک واقعيت ثابت شده است اگر چه جايگزين کردن کد اين برنامه در service area ممکن است در حالتي که هارد قادر به خواندن توسط داده هاي انطباقي نباشد در اين نوع هارد فرايند read يا write متوقف مي شود .

زماني که يک هارد donor براي جايگزين کردن هد استفاده مي کنيد لازم است از يک کاما براي تعيين حدود استفاده کنيد (به عنوان مثال K,M,B,E)

حرف اول نماينده نوع امپلي فاير ، حرف دوم نماينده نوع هد مورد استفاده است .

توصيه مي شود اين دو با هم کاملاً منطبق باشند . در شکل 2 براي هاردهايي که بيش از يک خصيصه دارند نمايش داده مي شود : در لحظه اي که دستگاه را روشن مي کنيد check sum ، ROM (در خط "Loaded ROM Checksum") و هم چنين check sum ROM که مربوط به Service Area است ديده مي شود (در خط "[ROM - SA]") .

اگر هارد بوسيله borrowed loader بالا بيايد مقادير check sum متفاوت است .