সলিড স্টেট স্টোরেজ দিয়ে সন্ধান কী করে?


13

যান্ত্রিক স্টোরেজ সহ, নিম্ন স্তরের ডিস্ক অপারেশন seek()হার্ড ড্রাইভের মাথাগুলিকে এমন কোনও স্থানে নিয়ে যায় যার ফলে তারা ডিস্কের প্রদত্ত অঞ্চল থেকে পড়তে প্রস্তুত থাকে।

শক্ত স্টেট স্টোরেজ, যেমন এসডি কার্ড, ফ্ল্যাশ ড্রাইভ এবং এসএসডি সহ, হার্ডওয়্যারের কোনও চলমান অংশ নেই, কেবল বৈদ্যুতিক সংকেত।

ন্যানড অ-উদ্বায়ী র‌্যাম প্রযুক্তিকে হার্ডওয়্যার ভিত্তি করে ধরে নেওয়া, এই seek()জাতীয় ডিভাইসটির জন্য হার্ডওয়্যার পর্যায়ে আসলে কোন কার্য সম্পাদন করা হয়?

কেবল পরিষ্কার করে বলতে গেলে, আমি ইতিমধ্যে জানি যে নিম্নলিখিতগুলি ঘটে:

  1. ইউজারস্পেস প্রোগ্রাম কল করে seek()সিস্টেম কল বা ওএস-নির্দিষ্ট সমতুল্য

  2. কার্নেল সিস্টেম কলটি ব্যাখ্যা করে এবং স্যাটা নিয়ন্ত্রকের কাছে সন্ধানের জন্য একটি বার্তা প্রেরণ করে

  3. এসএটিএ নিয়ন্ত্রক কমান্ডটির ব্যাখ্যা করে এবং সংযুক্ত ডিস্ক ডিভাইসটি, যা দৃ state় অবস্থা বলে, তা জানতে বলে (বা সম্ভবত এটি যথেষ্ট শক্তিশালী যে এটি শক্ত রাষ্ট্র এবং এটি এমনকি এটিও বলে না ??)

  4. আমি যা জানি না তা হল, সলিড স্টেট ডিভাইস কি ??? "সন্ধান" কমান্ড সহ।

অপারেটিং সিস্টেমের উপর নির্ভর করে এমন কিছু বিবরণ উপস্থিত থাকলে, কার্নেল সংস্করণ 3.2 সহ GNU / লিনাক্সের তুলনামূলকভাবে স্ট্যান্ডার্ড ডেস্কটপ সংস্করণটি ধরুন ume


2
আমি মনে করি এটি একটি বড় ফ্যাট এনওপি করে। কৌতুক বাদ দিন, আমি যদি এসএসডি ড্রাইভ হতাম তবে ক্যাশে কিছু "সতর্কতা" পড়া করতাম, যাতে যত তাড়াতাড়ি সম্ভব ঘটনাগুলি ঘটে তা নিশ্চিত করতে। তবে যেহেতু এটি সম্পর্কে আমার কাছে কিছুটা ধারণাও নেই কেবল এটি একটি অস্পষ্ট অনুমান, তাই এটি একটি
নুনের

আমি মনে করি না "সন্ধান" অপারেশনগুলি নিম্ন-স্তরের স্টোরেজ ইন্টারফেসে আর ব্যবহৃত হয়। যদি তাদের উপস্থিতি থাকে, তবে তারা কেবলমাত্র পরবর্তী আই / ও ক্রিয়াকলাপের জন্য সঞ্চিত অবস্থান পরিবর্তন করতে পারে।
ডেভিড শোয়ার্জ

উত্তর:


4

আপনি যদি লিনাক্সের কথা উল্লেখ করছেন তবে এখনও প্রয়োজনীয় সংখ্যক বাইটের দিকে এগিয়ে যান। উদাহরণ স্বরূপ:

dd if=/dev/zero of=/dev/sdb bs=512 SEEK=2

ডিস্কের শুরুতে জিরোস 1024 বাইটগুলি অনুলিপি করা শুরু করবে, এসডিবি কোনও এসডি কার্ড বা এসএসডি ড্রাইভ কিনা তা বিবেচ্য নয় কারণ অ্যাবস্ট্রাকশন নামক একটি সামান্য জিনিসের কারণে এটির প্রকৃত যান্ত্রিকগুলি নিম্ন স্তরে যত্ন নেওয়া হয়।

হালনাগাদ

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


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

@allquixotic আমি আমার উত্তর আপডেট করেছি।
MDMoore313

1
এমনকি কোনও শারীরিক স্পিনিং হার্ড ড্রাইভেও ওএস এলবিএ এক্স পেতে ড্রাইভের জন্য একটি কমান্ড (একটি এসসিএসআই কমান্ড, এটিএ / স্যাটাক কমান্ড, বা ইউএসবি ভর স্টোরেজ কমান্ড) প্রেরণ করে। হোস্টটি ড্রাইভটি নাড়াতে বলছে না আসলে যে কোনও স্তরের দিকে যান, ড্রাইভের ফার্মওয়্যার এটি করে। আপনি যদি কোনও এসএসডি ফার্মওয়্যার স্টোরেজ কমান্ডের প্রতিক্রিয়াতে কী করেন সে সম্পর্কে কিছু ধারণা চান তবে জেসমিন ওপেনএসএসডি প্রকল্পের কয়েকটি স্প্যাকগুলি দেখুন যদি সেগুলি পাওয়া যায় তবে এর মধ্যে কয়েকটি খুব নিম্ন স্তরের বিষয়গুলি ব্যাখ্যা করে।
লরেন্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.