मैं एआरएम-आधारित प्रणाली पर डेटा भ्रष्टाचार के लिए रैम का परीक्षण कैसे कर सकता हूं?


20

मेरे पास एक एम्बेडेड डिवाइस है। यह एआरएम आधारित है, जिसमें लिनक्स 2.6.31 है और इसमें 256 एमबी रैम है।

मैं डेटा के भ्रष्टाचार के लिए डिवाइस रैम का परीक्षण करने के लिए सबसे प्रभावी तरीका क्या है, इस पर कुछ विचार / सुझाव प्राप्त करना चाहता था। क्या कोई परीक्षण / सॉफ्टवेयर है जो कोई सुझाव दे सकता है?

ध्यान दें:

अब मेरे पास मेमेस्टर है। मुझे यह उलरिच डांगेल (नीचे) के सुझाव के बाद मिला।

मैंने भी mtestअब uboot से सेट किया है।

कोई अन्य परीक्षण / दृष्टिकोण जो मैं उपयोग कर सकता हूं?


2
ध्यान दें कि यह एक एआरएम सीपीयू है, x86 एक नहीं; दुर्भाग्य से, Memtest86 + इस मामले में काम नहीं करेगा।
रेनन

मुझे मेमेस्टर मिला। कोई अन्य परीक्षण / दृष्टिकोण जो मैं उपयोग कर सकता हूं?
अंकुर अग्रवाल

1
@abc आपको और क्या चाहिए? मुझे लगता है कि आपके पास कुछ अन्य मुद्दे हैं यदि ये विधि आपके इच्छित परिणाम का उत्पादन नहीं करेगी। mtestमूल रूप से memtest86 + के समान है। आपके पास मूल रूप से अलग-अलग विकल्प हैं, अपने ऑपरेटिंग सिस्टम से मेमोरी टेस्ट चलाएं जैसे कि लिनक्स (यह होगा memtesterलेकिन आपको पूरे भौतिक क्षेत्र का परीक्षण करने में समस्या हो सकती है)। आप अपनी मेमोरी ( mtest) का परीक्षण करने के लिए कुछ मिनी सिस्टम (uboot) का उपयोग भी कर सकते हैं
Ulrich Dangel

क्या मार्वल का प्रोसेसर है? मेरे पास एक मार्वल नेटवर्क प्रोसेसर पर एक ही सवाल है, जो आपके समान ही एआरएम / 256 एमबी रैम / लिनक्स 2.6.31 है।
टिम वू

यहां एक समान स्टैक ओवरफ्लो प्रश्न है । यहां सभी परीक्षणों से कुछ समस्याएं मिल सकती हैं। उन्हें सभी समस्याएं नहीं मिलेंगी और वास्तव में, ऐसा करना बहुत मुश्किल है। केवल बहुत अच्छे बोर्ड सिमुलेशन उपकरण और मॉडलिंग इसे सत्यापित कर सकते हैं; सॉफ्टवेयर नहीं। यदि ऐसा किया जाता है, तो एकमात्र समस्या एक डीडीआर चिप (या संभवतः मेजबान नियंत्रक) और मेमेस्टर और एमटेस्ट हो सकती है। हालांकि, अगर वे कहते हैं कि सब कुछ ठीक है; 100% एक DDR समस्या को नियमबद्ध न करें।
आर्टलेस शोर

जवाबों:


21

मेमोरी का परीक्षण करने का सामान्य उपाय यह है 0xFFFFFFFFकि अपनी मेमोरी की तरह एक विशिष्ट पैटर्न लिखें और बाद में पढ़ें और परिणाम की तुलना करें। आप निश्चित रूप से समस्याओं की खोज के लिए पैटर्न में बदलाव कर सकते हैं। कुछ समाधान memtest86+भी यादृच्छिक पैटर्न उत्पन्न करते हैं और वे दिशा का उपयोग करते हैं जो मेमोरी में लिखने के लिए उपयोग करते हैं। Memtest86 में प्रयुक्त एल्गोरिदम के बारे में अधिक विस्तृत जानकारी के लिए उनके तकनीकी पृष्ठ पर एक नज़र डालें । इस पोस्ट में दिए गए सभी समाधान मूल रूप से एक ही अंतर्निहित विचार का उपयोग कर रहे हैं।

यदि आप अपना परीक्षण लिनक्स के भीतर से चलाना चाहते हैं (आपने अपनी पोस्ट में लिनक्स का उल्लेख किया है) मेमेस्टर और मेमस्टेस्ट सूट पर एक नज़र है जो दोनों को हाथ से काम करना चाहिए। आरंभ करने के लिए आपको मेमेस्टर का उपयोग करना चाहिए क्योंकि यह मूल रूप से वही करता है जो आप चाहते हैं।

लिनक्स के भीतर से आपकी मेमोरी का परीक्षण करने के कुछ नुकसान हैं जैसे कि आप वास्तव में अपनी सभी भौतिक मेमोरी का परीक्षण नहीं कर सकते हैं क्योंकि कर्नेल को भी मेमोरी की आवश्यकता होती है। Uboot के साथ मेमोरी का परीक्षण करने के लिए (यह लिनक्स कर्नेल की तुलना में बहुत छोटा है) एकीकृत mtest कमांड पर एक नज़र है । यह आपको पता सीमा, पैटर्न और पुनरावृत्ति निर्दिष्ट करने की अनुमति देता है। Mtest के साथ आपको ऑपरेटिंग सिस्टम पर भरोसा किए बिना बहुत व्यापक परीक्षण करने में सक्षम होना चाहिए। आपको बस यह सुनिश्चित करना है कि आप मान्य मेमोरी रेंज का उपयोग कर रहे हैं अन्यथा यह संभव हो सकता है कि आप ubootमेमोरी क्षेत्र को अधिलेखित कर दें ।

यदि mtest द्वारा प्रदान किया गया परीक्षण पर्याप्त नहीं है, तो आप निश्चित रूप से केवल uboot का विस्तार कर सकते हैं और uboot में अतिरिक्त मेमोरी परीक्षण सुविधाओं को एकीकृत कर सकते हैं।


ओके मुझे मेमेस्टर मिल गया। कोई अन्य परीक्षण जो मैं कर सकता हूं?
अंकुर अग्रवाल

1
किसी भी अन्य परीक्षण दृष्टिकोण मैं कोशिश कर सकता है? मैं uboot से RAM का परीक्षण करने के बारे में सोच रहा हूं।
अंकुर अग्रवाल

@abc ok मैंने uboots mtest कमांड के बारे में एक नोट जोड़ा
Ulrich Dangel

1
मैंने uboot कमांड का उपयोग करना शुरू कर दिया है और अब मैं देख रहा हूं कि मेमोरी डिस्प्ले uboot कमांड बीच में अटक जाती हैbist > md.w 0x00000023 10 00000023:
अंकुर अग्रवाल

यू-बूट में दो अलग-अलग mtest के लिए समर्थन है। डिफ़ॉल्ट से अधिक व्यापक स्मृति परीक्षण के लिए CONFIG_SYS_ALT_MEMTEST के साथ संकलन करें।
m__
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.