যখন যে কোনও সময় বিদ্যুৎ চলে যেতে পারে নিরাপদে এসডি কার্ডগুলি ব্যবহার করুন


10

আমরা ওএস এবং অ্যাপ্লিকেশনগুলির (250-500 মেগ) জন্য একটি ছোট্ট অভ্যন্তরীণ নান্ড ডিভাইস এবং ডেটার জন্য 8 জিবি এসডিএইচসি এসডি কার্ড সহ একটি এসডি কার্ড সহ একটি ছোট এমবেডেড লিনাক্স সিস্টেম (2.6.35-ইশ) নিয়ে কাজ করছি।

ইউনিটের শক্তি যে কোনও সময় কাটা যেতে পারে।

সিস্টেমকে অবশ্যই এসডি কার্ডগুলিতে ডেটা সঞ্চয় করতে হবে। এই ডেটাটি বেশ গুরুত্বপূর্ণ ... এটি সিস্টেমের পুরো উদ্দেশ্য। সিস্টেমগুলি সাধারণত প্রত্যন্ত অঞ্চলের যে কোনও নেটওয়ার্ক থেকে সম্পূর্ণ সংযোগ বিচ্ছিন্ন হয়ে যায় এবং প্রতি 4-8 সপ্তাহে স্নিকার্নেটের মাধ্যমে ডেটা পুনরুদ্ধার করা হয়।

বর্তমানে, আমরা কেবল এসডি কার্ডগুলিতে ভিএফএটি পেয়েছি। এটি মূলত তাই প্রথম পরীক্ষার ক্লায়েন্টরা সহজেই তাদের উইন 7 ল্যাপটপে ম্যানুয়ালি ডেটা অনুলিপি করতে পারে।

যাইহোক, আমি এখন চিন্তিত হয়েছি যে ভুল সময়ে বিদ্যুৎ বিভক্ত হওয়া ডেটা হ্রাস না হওয়া পর্যন্ত এটি সময়ের বিষয় মাত্র।

ডেটা ক্ষতি রোধে এ জাতীয় সিস্টেম কনফিগার করার সর্বোত্তম উপায় কোনটি? জেএফএফএস 2 এর মত শোনায় যে কীভাবে এটি ডেটা লিখবে (এবং পারফরম্যান্সের প্রয়োজনীয়তাগুলি মোটেই বেশি নয়) এর ক্ষেত্রে আমি কী চাইব, তবে এটি ব্লক 2 এমটি, ইত্যাদি ব্যবহার করার জন্য মোটামুটি কলুষিত মনে হচ্ছে ইত্যাদি I'm আমিও নিশ্চিত নই যে কার্ডের পোশাক পরা স্তর কীভাবে ইন্টারেক্ট করবে will এর সাথে.

এটি করার সর্বোত্তম উপায় কী?

সম্পাদনা

আমি এখন ফাইল সিস্টেম ভিএফএটি ছেড়ে চলে যাব এবং 0xFF দিয়ে পূর্ণ একসময় দিনের আকারের ফাইলগুলি বরাদ্দ করার কথা ভাবছি, যা পাওয়ার চক্র ব্যর্থতার বহুলাংশে এক্সপোজারকে সীমাবদ্ধ করে। আমি তখন কেবল সেই পূর্ববর্তী ব্লকের মধ্যে রেকর্ড সংযোজন করতে পারতাম এবং আশা করি এসডি কার্ডগুলি এতটা বোকা নয় যে তারা মুছে ফেলবে / পরিধানের স্তরটি 0xFF অঞ্চলে লিখবে।

আমি নোয়াটাইম ব্যবহার করতে পারি, তবে পরিবর্তিত সময়ের ক্ষেত্রে লেখাগুলি রোধ করার জন্য কোনও ভিএফএটি নামফল সমতুল্য? নতুন দিনের ফাইল তৈরি না হওয়া পর্যন্ত আমার কোনও মেটাডেটা আপডেটগুলি রোধ করার জন্য কিছু উপায় প্রয়োজন।

সম্পাদনা 2

ইলেক্ট্রনিক্স স্ট্যাক এক্সচেঞ্জের কেউ আমাকে মনে করিয়ে দিয়েছিল যে ন্যানডে ইসিসি ডেটা রয়েছে, সুতরাং মুছে ফেলার প্রয়োজনীয়তা রোধ করার উপায় নেই।

সুতরাং, ব্লক 2 এমটিডির মাধ্যমে জেএফএফএস 2 কি এই পরিস্থিতিতে উপযুক্ত হবে?

সম্পাদনা 3

এটা ভেবেছি তার চেয়েও খারাপ। আমার কাছে থাকা এসডি কার্ডগুলি আপনি ডিস্কে ঠিক একই বিষয়বস্তু লিখলেও ডেটা ব্লকগুলি মুছে ফেলবেন। এরিস ব্লকগুলি 64 কেবি, এবং এটি পুরোপুরি বিলম্ব করার পক্ষে এত বড় যে লিখতে হয়। আমি এক ধরণের জার্নালে ন্যাণ্ড ফ্ল্যাশ (যার লেখার আচরণটি নিয়ন্ত্রণ করতে পারি) -এ 128KB অবধি ডেটা সঞ্চয় করব এবং তারপরে এসডি কার্ডের ভিএফএটি বিভাজনে 128 কেবি-প্রান্তিকিত ফাইলটিতে 128KB ব্লক লিখব (এতে) যদি অন্য এসডি কার্ডগুলিতে 128 কেবি এরস ব্লক থাকে)।


1
"আশা করি এসডি কার্ডগুলি এত বোকা না ..." <--- আরএফএলএল। তেমন কিছু নাহ!
ডারোবার্ট

যতক্ষণ না আপনি নিজের সমস্যার পুরো সমাধানটি খুঁজে পেয়েছেন, ততক্ষণ syncএসডি কার্ডে প্রতিটি লেখার পরে কমান্ডটি ব্যবহার করুন , আপনি র‌্যামে সংরক্ষণ না করে সেগুলি পরিবর্তন / তৈরি করার পরে বিটগুলি লিখিতভাবে লিখে ফেলবেন যাতে আপনার পরিবর্তনগুলি অন্ততপক্ষে কার্ডে থাকে এবং বিদ্যুতের ক্ষয় হয় নি
হানান এন।

syncসম্ভবত বিষয়টি আরও খারাপ করে দেবে, যেহেতু এটি মেটাডেটা মিড-আপডেট হওয়ার সময় সময়ের ভগ্নাংশ বৃদ্ধি করে।
বেন ভয়েগট

উত্তর:


5

ঠিক আছে, আপনি যেভাবে এটি ঠিক করতে পারেন তা হ'ল "যে কোনও সময় বিদ্যুত্ কাটা যেতে পারে" সমস্যাটি ঠিক করা। এক মিনিট ব্যাটারি শক্তি যোগ করা কি অসম্ভব?

বিকল্পভাবে, সম্ভবত আপনি দুটি এসডি কার্ড ব্যবহার করতে পারেন। এক কার্ডে ডেটা লিখুন, সিঙ্ক করুন, অন্যটিতে লিখুন। আপনার ডেটা প্রতিটি ব্লকের জন্য একটি চেকসাম এবং ব্লক নম্বর লাগবে, তবে তারপরেও বেশ কিছু দুর্ভাগ্যজনক শক্তি ব্যর্থতার পরেও কার্ডগুলির একটি সঠিক হওয়া উচিত।

আপনার প্রাথমিক সমস্যাটি এসডি কার্ডগুলিতে সমতলকরণ হতে চলেছে, যা আফাইক কার্ড বিক্রেতার উপর নির্ভর করে (এবং সম্ভবত ব্যাচ, তারা যখনই এটি পরিবর্তন করতে পারে)। এটি সম্ভবত পাওয়ার আউটেজকে সঠিকভাবে পরিচালনা করে না। এবং এটি কী করে তার উপর নির্ভর করে তার অর্থ কেবল আপনি যে ব্লকটি লিখছেন তা কলুষিত করা উচিত নয়।

  1. তুচ্ছভাবে ছোট কার্ড — 3 (ফ্ল্যাশ) ব্লক ধরে নিন। ব্লক 1 2 বা 3 এর চেয়ে বেশি লেখক পেয়েছে I'll আমি দৈহিক ব্লকগুলিকে সংখ্যায় কল করব এবং লজিকাল ব্লকগুলি এ, বি, সি চিঠি দ্বারা কল করব। এখনই, এ = 1, বি = 2, সি = 3।
  2. আপনি এ ব্লক করার জন্য একটি লিখন ইস্যু করুন। এসডি কার্ড আহার মতো! আমাদের এখানে সমতলকরণ দরকার, অন্যথায় ব্লক 1 2 এবং 3 এর আগে পরিধান করবে It এটি ব্লক 1 এবং 2 কে অদলবদল করার সিদ্ধান্ত নিয়েছে।
  3. এটিতে ব্লক 1 টি র‌্যাম পজিশনে পড়েছে (এসডি কার্ডে, সিস্টেম র‌্যাম নয়)। আপনি যে অংশটি পরিবর্তন করতে চেয়েছিলেন সেটি আপডেট করে।
  4. এটি ব্লক 2 কে র‌্যাম পজিশনে পড়বে ii
  5. এটি ব্লক 1 মুছে ফেলে
  6. এটি র‍্যাম পজিশন ii লিখে ব্লক 1।
  7. এটি বি = 1 বলতে ম্যাপিং টেবিলটি আপডেট করে
  8. এটি ব্লক 2 মুছে ফেলে।
  9. এটি র‍্যাম পজিশন আমি লিখি 2।
  10. এটি = 2 বলতে ম্যাপিং টেবিলটি আপডেট করে

অবশ্যই, "ম্যাপিং টেবিল আপডেট করুন" সর্বদা তুচ্ছ নয়। এবং 5-10 এর ক্রমটি ভিন্ন হতে পারে (যদি তারা সমস্ত সম্পূর্ণ করে তবে এটি কোনও বিষয় নয়, ভাল করে লেখার আগে অবশ্যই মুছে ফেলা উচিত)। তবে একটি বিদ্যুৎ ব্যর্থতা ঘটে, আপনি কেবল একটি দুর্নীতিগ্রস্থ নয় (পাশাপাশি আপনি যেমনটি প্রত্যাশা করেছিলেন) তবে বিও দিয়েও বাড়ে যেতে পারেন। বা, যদি কোনও ম্যাপিং আপডেটের সময় পাওয়ারের ব্যর্থতা ঘটে থাকে তবে কে কী ধরনের দুর্নীতি ঘটাবে তা কে জানে।


1
এই ইউনিটগুলি অবশ্যই বহু বছর ধরে তুলনামূলকভাবে কঠোর পরিবেশে থাকতে হবে এবং ইনস্টল হওয়ার পরে এগুলি বিভিন্ন দেশে প্রেরণ করা হবে যার জন্য আমরা ব্যাটারি অর্জন করতে চাই না। আমরা সম্ভবত এমএমসি / এসডি ড্রপ করে ব্যাটারি ব্যবহারের আগে আমাদের নিজস্ব ন্যানড-ফ্ল্যাশ সমাধান তৈরি করতাম।
ড্যারন

ঠিক আছে, আমাদের ক্ষেত্রে "সমাধান 'কোনও সময় যে কোনও সময় কেটে নেওয়া যেতে পারে" "সমাধানটি" ​​চালকদের পিছনে ঘুমিয়ে পড়া এবং আমাদের ডিভাইসগুলিতে গাড়ি চালানো থেকে আটকাতে ট্র্যাক চালকদের থামাতে "এড়াতে সিদ্ধ হয়। "একটি ট্রাক এতে বিধ্বস্ত হয়েছে" এটি ব্যর্থতার সবচেয়ে সাধারণ মোড সম্পর্কে।
এসএফ

1
এক মিনিটের ব্যাটারি পাওয়ার প্রয়োজন হবে না। কোনও এসডি কার্ডকে নিরাপদে আনমাউন্ট করার জন্য প্রয়োজনীয় পরিমাণের পরিমাণ ক্যাপাসিটার সঞ্চয় করতে পারে এমন পরিসরের মধ্যে ভাল হওয়া উচিত।
বেন ভয়েগ্ট

4

ইলেক্ট্রনিক্স.সটাকেক্সচেঞ্জ.কম এ অনুরূপ কিছু আলোচনা করা হয়েছিল: অপ্রত্যাশিত শক্তি ব্যর্থতার বিরুদ্ধে কীভাবে আমি এসডি কার্ডকে রক্ষা করব?

একটি পাশের উত্তর যা সফ্টওয়্যার সমাধানগুলির সাথে সামঞ্জস্যপূর্ণভাবে কাজ করে তা হল হার্ডওয়ারটি দেখুন (এটি সম্পর্কে ESE সম্পর্কে একটি প্রশ্নও ছিল তবে আমি এখন এটি খুঁজে পাচ্ছি না) এটি এসডি কার্ড সম্পর্কে কঠোরভাবে ছিল না, কেবল ডিভাইস শক্তি হারাতে হবে না এবং এটি কীভাবে সনাক্ত করা যায় এবং এতে কীভাবে কাজ করা যায়)।

সংক্ষিপ্ত বিবরণটি হ'ল: আপনার ব্যাটারি শক্তি নাও থাকতে পারে তবে আপনার পাওয়ার সাপ্লাইতে সরবরাহটি মসৃণ করতে বেশ কয়েকটি বড় ক্যাপাসিটার রয়েছে। মূলত, শক্তি কেবল বাইরে যায় না। ভোল্টেজ টেপ বন্ধ। সম্ভবত একটি ব্রাউন-আউট সুরক্ষা আইসি / সার্কিট রয়েছে যা আপনার এম্বেড থাকা সিস্টেমে রিসেট সিগন্যালটি জোর দেয় যখন ভোল্টেজ নির্দিষ্ট পয়েন্টের নীচে নেমে যায়। পিসি মাদারবোর্ডগুলির সেগুলিও রয়েছে এবং তারা পিএসইউর 'পাওয়ারক' সিগন্যালে সাড়া দেয়। এর অর্থ কী, যখন বিদ্যুৎ চলে যায়, নিরাপদ স্তরের ভোল্টেজ নেমে যাওয়ার আগে কম্পিউটারটি কয়েক মিলিসেকেন্ড জোর করে থামিয়ে দেওয়া হবে। এই সময়ের মধ্যে, এসডি কার্ডের মতো পেরিফেরিয়ালগুলি এখনও চালিত হয়, তবে কম্পিউটার থেকে আর কোনও লেনদেন আসে না।

এটি খুব সম্ভবত যে কোনও এসডি কার্ডের পাওয়ার শেষ হওয়ার আগেই পরিধান সমতলকরণ সহ কোনও মুলতুবি লেনদেন সম্পন্ন করার জন্য পর্যাপ্ত সময় রয়েছে । একটি বৃহত পর্যাপ্ত ক্যাপাসিটার দিয়ে আপনার পাওয়ার সাপ্লাই উন্নত করা বা এসডি কার্ডের কাছাকাছি একটি ব্যবহার করা এটি নিশ্চিত করতে সহায়তা করতে পারে তবে আপনি সর্বদা আপনার প্ল্যাটফর্মের সাথে পরীক্ষা করতে পারেন। এটি যথেষ্ট সময়ের জন্য শক্তি ধরে রাখার যথেষ্ট সম্ভাবনা রয়েছে।

যদি সমস্যার হার্ডওয়্যার দিকটি একটি অ-ইস্যু হয় তবে আপনি কেবল সফ্টওয়্যারটিই সমাধান করতে পারেন। অপ্রয়োজনীয়তার জন্য দুটি কার্ড ব্যবহার করার জন্য ডার্বার্টের আইডিস খারাপ নয়, এবং ভিএফএটি এর মতো একটি প্রমিত ফাইল সিস্টেম ব্যবহার করা কার্ডের পরিধান সমতলকরণ অ্যালগরিদমগুলিকে বিভ্রান্ত করার ঝুঁকি কম কম চলে।

যাইহোক, এটি ভাল হতে পারে যে আপনার কাছে এতটা সমস্যা নেই। আপনার কার্ডের একটি ব্লক ধরে নিলে ১০০ টি রক্ষা পেতে পারে (রক্ষণশীল - তবে ভাল মানের কার্ড পাওয়ার চেষ্টা করুন!), এবং ৮ জিবি কার্ড ব্যবহার করে, আপনি প্রথম ব্লকটি মারা যাওয়ার সময় অবধি 800 গিগাবাইট লিখে রেখেছেন (অবশ্যই পরিসংখ্যান বলবেন)।


প্রশ্নটি শুরু হয়েছিল কারণ আমি ইতিমধ্যে বিদ্যুত বন্ধ ইভেন্টগুলিতে প্রচুর এসডি কার্ডের দুর্নীতি পেয়েছিলাম। খুব প্রায়ই, আসলে। 20 টির মধ্যে পাওয়ার ব্যর্থতার ঘটনাগুলি বিপর্যয়কর ছিল এবং সম্ভবত 4 টির মধ্যে 1 কমপক্ষে কিছু ক্ষতি করেছে। আমি অবশেষে অভ্যন্তরীণ ন্যাণ্ড ফ্ল্যাশগুলিতে এক দিনের মূল্যবান ডেটা সঞ্চয় করতে এবং মধ্যরাতে এসডি-তে অনুলিপি করতে (এক 1 সেকেন্ড বা তত অপারেশন) হিসাবে পরিবর্তিত হয়েছি। আমি ভবিষ্যতে জিনিসগুলির উন্নতি করতে চাই। আমি ইতিমধ্যে রেলপথে 400uF মূল্যের ক্যাপ পেয়েছি ... যথেষ্ট নয়, দৃশ্যত ... সম্ভবত ব্রাউনআউটটি সঠিকভাবে পরিচালনা করা হচ্ছে না।
দারন

এটি একটি খুব উচ্চ ঘটনার হার! অ্যাসিলোস্কোপ প্রোবগুলি পাওয়ার এবং এটি কার্যকরভাবে দেখার সময়, মিথিলিক্স। যদিও এটি সম্ভবত আপনি সফ্টওয়্যারটিতে এটিকে ঘিরে কাজ করতে পারেন, বিদ্যুৎ ব্যবহারের ক্ষেত্রে সবচেয়ে ভাল উপায় হ'ল আপনার হার্ডওয়ারের বিস্কুট না রয়েছে তা নিশ্চিত করা। হতে পারে আপনি আপনার বেট হেজ করতে পারেন এবং পাশাপাশি ইলেক্ট্রনিক্স.স্ট্যাকেক্সচেঞ্জ.কম এ জিজ্ঞাসা করতে পারেন ?
অ্যালেক্সিয়াস

@ সদরন, আপনার এসডি কার্ড স্টোরেজ সমস্যার জন্য আপনি কী সমাধানটি শেষ করেছেন? আপনি এখনও NANDFlash লিখছেন তারপর দিনের মধ্যে একবার অনুলিপি? আমার কাছে প্রধান আরএফএস হিসাবে আলাদা এসডি কার্ডের একটি নকশা রয়েছে (আলাদা আলাদা এনএএনডিএফ্ল্যাশ নেই) এবং হঠাৎ বিদ্যুৎ ব্যর্থ শর্তের সাথে এবং ছাড়াও ডেটা দুর্নীতির সমস্যাগুলি দেখছি।
ফ্রেড বাসেট

4

আমাদের এসডি নিয়ে আমাদের সমস্যা হয়েছিল, অপ্রত্যাশিত শক্তি ব্যর্থ হওয়ার কারণে ext2 রুট ফাইল-সিস্টেমটি দূষিত হচ্ছে। প্রথমত, আমরা সিস্টেমটি কেবল পঠনযোগ্য রুট মাউন্ট দিয়ে চালিত করি। যেহেতু আমাদের কিছু লিখনযোগ্য স্টোরেজ প্রয়োজন (তবে আমরা ডেটা লগিং করিনি) আমরা লিখনযোগ্য হিসাবে একটি দ্বিতীয় বিভাজন স্থাপন করি। অপ্রত্যাশিত শক্তিতে এফএসের ক্ষতি হ্রাস করতে আমরা এটিকে একটি এক্সট্রি পার্টিশন বানিয়েছি, যদিও এটি কার্ডে কম বেশি শারীরিক লেখার চেয়ে কমপক্ষে দ্বিগুণ হয়ে যাবে। এই সংমিশ্রণটি (তবে আমি স্বীকার করি যে আমাদের দ্বিতীয় বিভাজনের লেখাগুলি কোনও ডেটা লগারের সাথে তুলনা করা খুব কম) মনে হয় সমস্যা ছাড়াই চলে। যতদূর. (পেশাদার সুবিধার জন্য সিস্টেমগুলি প্রায় 30 মাসের জন্য ইনস্টল করা হয়েছে)


3

পাওয়ার কাট এবং সামগ্রিক ডেটা সুরক্ষার সম্ভাবনা সহ পরিবেশে ডেটা সুরক্ষার জন্য আপনার আরও বেশি পয়েন্টগুলি বোঝাতে হবে।

সঞ্চয়ের জন্য কোনও এমএলসি কোষ ব্যবহার করুন, কেবল এসএলসি-তে ডেটা ধরে রাখার সময় রয়েছে যা যথেষ্ট। তারপরে এই এসএলসি কার্ডগুলিতে স্মার্ট ফার্মওয়্যার থাকতে পারে, কিছু কিছু বিদ্যুতের ক্ষতিতে কোনও রাজ্যের অধীনে দূষিত হতে পারে না। তারা পরিমাপ করে পাওয়ার কাটাটি সনাক্ত করে এবং সুরক্ষা দেয় যে শেষ ব্লকটি পুরোপুরি লেখা হয়েছে।

এই কার্ডগুলি আরও ব্যয়বহুল এবং কিছুটা ধীরে ধীরে তখন এমএলসি কোষ। কার্ডের জন্য সুইসবিটের মতো বিক্রেতাদের দেখুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.