ارسالی: مدینه
عیب یابی مشکلات حافظه کار ساده ای نیست و در واقع حافظه کامپیوتر هنوز برای بسیاری از افراد پدیده ای رازگونه می باشد. مشکل دیگر آن است که اشکالات حافظه ماهیت دوسویه داشته و اغلب شبیه اشکالات مربوط به قسمت های دیگر سیستم حتی نرم افزار می باشد. برای عیب یابی حافظه، ابتدا نیاز به برخی برنامه های تست عیب یابی حافظه داریم. قبلاً با چند برنامه از این نوع آشنا شده اید. هر بایوس مادربرد دارای یک برنامه تشخیص عیب حافظه در POST می باشد که هنگامی که سیستم را روشن می کنید اجرا می شود. در اغلب موارد، شما همچنین یک برنامه تشخیص عیب حافظه را روی یک دیسک یوتیلیتی همراه با سیستم خود دریافت می کنیم. بسیاری از برنامه های تشخیص عیب تجاری که در بازار موجود هستند، دارای قابلیت تست حافظه می باشند. هنگامی که POST اجرا می شود، نه تنها حافظه را تست می نماید بلکه به لحاظ کمی مقدار ظرفیت آنرا محاسبه می کند. این مقدار با عدد محاسبه شده در آخرین محاسبه بایوس مقایسه می شود. اگر این دو رقم با یکدیگر تفاوت داشته باشند، پیام خطایی صادرمی شود. همچنانکه برنامه POST اجرا می شود، الگویی از داده ها را به همه مکان های حافظه در سیستم نوشته و بمنظور بررسی صحت کارکرد حافظه، دوباره این داده ها را می خواند. اگر هرگونه اشکالی پیدا شود، شما با یک پیام صوتی یا تصویری مواجه می شوید. پیام های صوتی( Beep) برای خطاهای بحرانی یا fatal که در محیطهای استراتژیک سیستم رخ می دهند، مورد استفاده قرار می گیرد. اگر این سیستم بتواند به حافظه کافی دسترسی داشته باشد بطوری که حداقل امکان کارکرد ویدئویی سیستم را فراهم کند، شما بجای کدهای صوتی Beep، پیام های خطا را روی مانیتور مشاهده خواهید کرد. اغلب مادربردهای اینتل از بایوس فونیکس استفاده می کنند. چندین کد Beep بمنظور نشان دادن خطاهای حافظه fatal مورد استفاده قرار می گیرند. اگر سیستم شما هنگام اجرای برنامه POST هیچ خطایی را در مورد حافظه آشکارسازی نکند ممکن است اشکال حافظه از نوع سخت افزاری نباشد و یا اینکه برنامه POST قادر به آشکارسازی مشکل نباشد. خطاهای متناوب حافظه اغلب در طی اجرای برنامه POST مشخص نمی شوند و نیز سایر اشکالات سخت افزاری کوچک ممکن است توسط برنامه POST قابل آشکارسازی نباشد. برنامه POST برای اجرای سریع طراحی شده است؛ بنابراین نمی تواند با دقت بسیار بالا اشکالات ظریف سیستم را شناسایی کند. به همین دلیل اغلب به یک دیسک تشخیص عیب و اجرای یک برنامه تشخیص عیب سخت افزاری دقیق برای تست حافظه نیاز داریم. این نوع آزمون ها می توانند بطور پیوسته اجرا گشته و حتی در صورت لزوم روزهای متوالی بطول بیانجامند. خوشبختانه چندین برنامه تست حافظه برای دانلود رایگان موجود است: در آدرس Microsoft Windows Memory Diagnostic: http://oca.microsoft.com/en/windiag.asp Memtest 86: در آدرس www.memtest86.com توجه داشته باشید نسخه ای از Windows Memory Diagnostic در ویندوز ۷ و ویستا وجود دارد. این برنامه بعنوان بخشی از administrative tools یا روی DVDهای نصب bootable( تحت گزینه repair) قابل دسترسی است. حتی این برنامه ها نیز فقط آزمون Pass/fail را به انجام می رسانند. بدان معنا که همه کاری که می توانند انجام دهند، نوشتن الگوها به حافظه و خواندن مجدد آن ها از حافظه می باشد. آن ها نمی توانند میزان خطری که حافظه با آن مواجه هست را تعیین نمایند. برای انجام بالاترین سطح آزمون حافظه، بهترین چیز داشتن یک ماشین اختصاصی تست حافظه می باشد که معمولاً SIMM/DIMM/RIMM module tester نامیده می شود. این دستگاه ها به شما امکان می دهند تا یک ماژول را در داخل آن قرار داده و آنرا در سرعت ها، ولتاژها و زمانبندی های گوناگون تست نمائید تا بدانید برای تست همه انواع حافظه از SIMMهای قدیمی تا آخرین حافظه های DDR DIMM یا RIMM وجود دارد. پس از آنکه سیستم عامل شما اجرا می گردد،هنوزممکن است خطاهای حافظه ظاهر شوند.معمولاً این خطاها بصورت پیام های خطا روی مانیتور ظاهر می شوند. معمول ترین خطاهای مذکور عبارتند از: خطاهای Parity: نشان می دهند که مدار بررسی Parity روی مادربرد، یک تغییر در حافظه را آشکار نموده است. خطاهای حفاظت عمومی: یک خطاهای عمومی که نشان می دهد یک برنامه در حافظه، دچار آسیب گشته و معمولاً منجر به بستن فوری برنامه می گردد. خطاهای Fatal exception: کدهای خطا هنگامی که یک دستورالعمل غیرقانونی ظاهر می گردد، یا داده های نادرستی مورد دسترسی قرار می گیرد و یا اینکه سطح اولویت یک عمل نادرست می باشد، بوسیله برنامه بازگردانده می شود. خطای تقسیم: یک خطای عمومی که نشان می دهد عمل تقسیم به صفر، رخ داده است و یا اینکه یک عمل ریاضی متناسب با رجیستر مقصد نمی باشد. اگر شما با این نوع خطاها مواجه شدید، آن ها می توانند بوسیله حافظه هایی با پیکره بندی نامناسب ایجاد شوند اما ممکن است علت ایجاد آن ها خطاهای نرم افزاری( بویژه درایورها) منبع تغذیه هایی با کیفیت نامناسب، تخلیه الکتریکی، فرستنده های رادیویی نزدیک به سیستم، مشکلات زمانبندی و غیره باشد. اگر شما به مشکلاتی که بوسیله حافظه تولید می شوند مشکوک هستید، روش هایی برای تست حافظه بمنظور تعیین این مشکلات وجود دارد. اغلب این آزمون ها مستلزم اجرای یک یا چند برنامه تست حافظه می باشند. جای تعجب دارد که اغلب مردم هنگامی که یک نرم افزار تست حافظه را اجرا می کنند، دچار یک اشتباه اساسی می گردند. اغلب آن ها آزمون های حافظه را زمانی اجرا می کنند که حافظه کاشه سیستم فعال است. این کار بطور مؤثری عمل تست حافظه را غیرمعتبر می سازد زیرا اغلب سیستم دارای کاشه Write-back هستند. این بدان معناست که داده های نوشته شده به حافظه اصلی ابتدا روی کاشه نوشته می شود. از آنجائیکه یک برنامه تست حافظه ابتدا داده ها را می نویسد و سپس بلافاصله آن ها را می خواند، این داده ها از روی کاشه خوانده می شوند، نه حافظه اصلی. این امر باعث می شود که برنامه تست حافظه خیلی سریع اجرا شود، اما چیزی که تست می شود در واقع حافظه کاشه است. حرف آخر اینکه اگر شما حافظه را با کاشه فعال تست نمائید، شما در واقع روی SIMM/DIMها نمی نویسید بلکه اطلاعات را روی حافظه کاشه می نویسید. قبل از آنکه هر برنامه تست حافظه را اجرا نمائید، اطمینان حاصل کنید که حافظه کاشه شما غیرفعال می باشد. سیستم هنگامی که شما این کار را انجام می دهید خیلی کند اجرا می گردد و پروسه تست حافظه تا نقطه تکمیل، زمان بیشتری بطول می انجامد. اما در این حالت شما حافظه RAM واقعی را تست می کنید نه حافظه کاشه. مراحل ذیل به شما امکان می دهند تا بطور مؤثر حافظه RAM سیستم خود را تست نمائید. ابتدا اجازه دهید تا روند تست و عیب یابی حافظه را مورد بررسی قرار دهیم: ۱) سیستم را روشن کرده و پروسه POST را مشاهده کنید. اگر POST بدون خطا تکمیل گردد، قابلیت کارکرد پایه حافظه آزمایش شده است. اگر خطایی آشکار شود به پروسیجرهای ایزوله سازی خطا مراجعه کنید. ۲) سیستم را استارت مجدد نمائید و وارد برنامه بایوس شوید. در اغلب سیستم ها، این کار با فشار دادن کلید F2 در طی اجرای روتین POST( اما قبل از شروع پروسه بوت) میسر می گردد. به محض آنکه در برنامه بایوس اطمینان حاصل نمودید که مقدار حافظه محاسبه شده معادل با مقدار حافظه نصب شده می باشد، این مرحله با موفقیت به اتمام رسیده است اما در صورت عدم سازگاری در این مرحله به پروسه های ایزوله سازی خطا مراجعه کنید. ۳) گزینه های مربوط به حافظه کاشه در برنامه بایوس را یافته و همه آن ها را غیرفعال کنید. این تنظیمات را ذخیره نموده و سیستم را با دیسک سیستمی فرمت شده DOS حاوی برنامه تشخیص عیب مجدداً استارت نمائید. در صورتیکه سیستم شما دارای یک دیسک تشخیص عیب می باشد، می توانید از آن استفاده کنید. ۴) از دستورالعمل هایی که در برنامه تشخیص عیب شما ظاهر می شود پیروی نموده تا حافظه پایه و توسعه یافته سیستم شما، تست گردد. اغلب برنامه ها دارای یک مود خاص می باشند که امکان می دهد آن ها تست را در یک حلقه تکرار کنند بدان معنا که این آزمون ها بطور پیوسته اجرا می شود تا خطاهای متناوب ظاهر گردند. در صورتیکه این برنامه با یک خطای حافظه مواجه شود، پروسیجرهای ایزوله سازی خطا را اجرا کنید. ۵) اگر هیچ خطایی در برنامه POST یا برنامه های تشخیص عیب حافظه قوی تر آشکار نگردید، حافظه شما به لحاظ سخت افزاری سالم است. در این مرحله سیستم را مجدداً بوت نموده، وارد برنامه بایوس شوید و گزینه های حافظه کاشه را مجدداً فعال کنید. ۶) اگر هنوز اشکالات حافظه وجود دارند اما نتایج تست این مشکلات را نشان نمی دهند،ممکن است یک مشکل غیرقابل آشکارسازی بوسیله آزمون های ساده Pass/fail داشته باشید و یا اینکه این اشکالات، علت نرم افزاری داشته یا یکی از اشکالات سیستمی باشد. شما می بایست در این حالت حافظه را برای تحلیل دقیق تر در داخل دستگاه module tester تست نمائید.