র‍্যান্ডম অ্যাক্সেস মেমোরি

র‍্যান্ডম অ্যাক্সেস মেমোরি(), সংক্ষেপে র‍্যাম (RAM) হল এক ধরনের কম্পিউটারের উপাত্ত (ডাটা) সংরক্ষণের মাধ্যম। র‍্যাম থেকে যে কোন ক্রমে উপাত্ত "অ্যাক্সেস" করা যায়, এ কারণেই একে র‍্যান্ডম অ্যাক্সেস মেমোরি বলা হয়। র‍্যান্ডম শব্দটি দিয়ে এখানে বুঝানো হয়েছে - যে কোনো উপাত্ত (তার অবস্থানের উপরে নির্ভর না করে) ঠিক একই নির্দিষ্ট সময়ে উদ্ধার করা যায়। রক্ষনাত্মক দৃষ্টিতে, আধুনিক ডির‍্যামগুলো র‍্যান্ডম এ্যাকসেস মেমোরি নয় (যেভাবে এগুলো ডাটা রিড করতে পারে)। একইসাথে, বিভিন্ন ধরনের এসর‍্যাম, রম, ওটিপি এবং নর ফ্ল্যাশ ইত্যাদি র‍্যান্ডম এ্যাকসেস মেমোরি। র‍্যামকে ভোলাটাইল মেমোরি বলা হয় কারণ এতে সংরক্ষিত তথ্য বিদ্যুৎ সংযোগ বিচ্ছিন্ন হওয়ার পর আর থাকে না। আরও কিছু নন-ভোলাটাইল মেমোরি (যেগুলোতে বিদ্যুৎ চলে যাওয়ার পরও তথ্য মুছে যায় না) যেগুলো রক্ষণাত্মক দৃষ্টিতে র‍্যাম সেগুলো হল রম, একধরনের ফ্লাশ মেমোরি যাকে নর-ফ্লাশ বলে। প্রথম র‍্যাম মডিউল বাজারে আসে যেটা তৈরী হয়েছিল ১৯৫১ সালে এবং ১৯৬০ দশকে এবং ১৯৭০ দশকের প্রথমদিকে বিক্রি হয়েছিল। যাইহোক, অন্যান্য স্মৃতি যন্ত্রাংশ (চৌম্বকীয় টেপ, ডিস্ক) তাদের জমাকৃত স্মৃতিতে নিশ্চিতভাবে প্রবেশ এবং ব্যবহার করতে পারে সবসময়ের জন্য।
প্রথমদিকের একটি বহুল ব্যবহৃত লিখা যায় এমন একটি র‍্যান্ডম এ্যাকসেস মেমোরি হয় চৌম্বকীয় কোর স্মৃতি যা ১৯৫৫ থেকে ১৯৭৫ সালে উন্নয়ন করা হয়েছিল এবং একই সময়ে তা তখনকার কম্পিউটারগুলোতে ব্যবহার করা হয়েছিল র‍্যামে ডাইনামিক এবং স্ট্যাটিক প্রযুক্তি ব্যবহার করার আগে। এর আগে কম্পিউটারগুলো ব্যবহার করত রিলে, ডিলে লাইন বা ডিলে মেমোরি, অথবা বিভিন্ন ধরনের বায়ুশূণ্য টিউব (শত থেকে হাজার হাজার)। ড্রাম মেমোরিগুলো কম খরচে বাড়ানো যেত কিন্তু তথ্যের উদ্ধার এবং গতি বাড়ানোর জন্য ড্রামের নকশা বা লে-আউট জানার প্রয়োজন হত। সমন্নিত রম সার্কিট উন্নয়নের আগে রমগুলো প্রায়ই বানানো হত সেমিকন্ডাক্টর ডাইওড ম্যাট্রিক্স ব্যবহার করে।
র‍্যামের আধুনিক দুটো প্রধান প্রকার হল স্ট্যাটিক র‍্যাম এবং ডাইনামিক র‍্যাম। স্ট্যাটিক র‍্যামের ক্ষেত্রে, এক বিট তথ্য সংরক্ষণ করা হয় ফ্লিপ-ফ্লপ অবস্থা ব্যবহার করে। এই ধরনের র‍্যাম উৎপাদন ব্যয়বহুল, কিন্তু ডির‍্যাম থেকে কম শক্তি এবং বেশি গতির হয়। এটি আধুনিক কম্পিউটারে, ক্যাশ মেমোরি হিসেবে ব্যবহার করা হয়। ডির‍্যাম এক বিট তথ্য সংরক্ষণ করে একজোড়া ট্রানজিস্টর এবং ক্যাপাসিটর ব্যবহার করে, যেগুলো একসাথে একটি মেমোরি কোষ তৈরী করে। ক্যাপাসিটর উচ্চ অথবা নিম্ন সিগন্যাল ব্যবহার করে তথ্য সংরক্ষণ করে (১ অথবা ০ পুন পুনভাবে)। ট্রানজিস্টর সুইচ হিসেবে কাজ করে যেটা তথ্যের প্রবাহ নিয়ন্ত্রণ করে এবং ক্যাপাসিটরের সিগন্যালের পরিবর্তন পড়ে। এই মেমোরি কম ব্যয়বহুল উৎপাদনের জন্য, ফলে এটি কম্পিউটারের র‍্যাম হিসেবে বেশি ব্যবহৃত হয়।
স্ট্যাটিক এবং ডাইনামিক র‍্যাম উভয়ই ভোলাটাইল (বিদ্যুৎ চলে গেলে স্মৃতি মুছে যায়)। অন্যদিকে রম তথ্য স্থায়ীভাবে সংরক্ষণ করে যেটা কোন অবস্থাতেই পরিবর্তন করা যায় না। যেসব রমগুলো রাইটেবল বা লিখন উপযোগী যেমন ইইপিরম এবং ফ্লাশ মেমোরি সেগুলো রম এবং র‍্যাম উভয়ের বৈশিষ্ট্য বহন করে যা বিদ্যুৎ ছাড়াই তথ্য ধরে রাখে এবং কোন বিশেষ যন্ত্র ব্যবহার না করেই হালনাগাদ হতে পারে। এই ধরনের রম হল ইউএসবি ফ্ল্যাশ ড্রাইভ, মেমোরি কার্ডগুলো ইত্যাদি। ২০০৭ সাল অনুযায়ী এনএএনডি ফ্ল্যাশগুলো আগের এইধরনের মেমোরিগুলোর বদলে ব্যবহৃত হবে বিভিন্ন নেটবুকগুলোতে, কারণ এটি সত্যিকারের র‍্যান্ডম একসেস মেমোরির মত যেটি সরাসরি কোড এক্সিকিউশন করতে পারে।
কিছু স্ট্যাটিক র‍্যাম এবং ডাইনামিক র‍্যাম আছে যেগুলোতে বিশেষ সাকির্ট আছে যা এটির মধ্যে সংরক্ষিত র‍্যান্ডম ভুল ধরতে পারে এবং ঠিক করতে পারে এরর করেকশন কোড ব্যবহার করে। সাধারণত, র‍্যাম বলতে বুঝায় সলিড স্টেট মেমোরি যন্ত্র এবং আরও বিশেষভাবে বেশিরভাগ কম্পিউটারের প্রধান মেমোরি।
অস্থায়ী মেমোরি এবং অপারেটিং সিস্টেমের কাজের ক্ষেত্র (এপ্লিকেশন চালানো) হওয়া ছাড়াও এর আরও ব্যবহার আছে।
বেশির ভাগ আধুনিক অপারেটিং সিস্টেমে র‍্যামের কার্মক্ষমতা বাড়ানোর জন্য একটি প্রক্রিয়া আছে একে ভাচুর্য়াল মেমোরি বলে থাকে। কম্পিউটারের হার্ড ড্রাইভের একটি অব্যবহৃত অংশ পেজ ফাইল হিসেবে রাখা হয়। এই পেজ ফাইল এবং র‍্যামের সংযুক্তিতে পুরো সিস্টেমের প্রধান মোট মেমোরি হয়। উদাহরণসরূপ, একটি কম্পিউটারের ২ জিবি র‍্যাম এবং ১ জিবি পেজ ফাইল থাকলে অপারেটিং সিস্টেমের জন্য মোট মেমোরি হবে ৩ জিবি। যখন সিস্টেমের সাথে দেয়া র‍্যামের মেমোরি কম থাকে তখন এটি পেজ ফাইল ব্যবহার করে তার কাজ সম্পাদনের জন্য। এই পদ্ধতির অত্যধিক ব্যবহার সিস্টেমের কর্মক্ষমতা হ্রাস করে কারণ হার্ড ড্রাইভ র‍্যামের চেয়ে বেশি কম গতি সম্পন্ন।
সফটওয়্যার কম্পিউটার র‍্যামকে পাটির্শন করতে পারে, যাতে করে সেটা একটা দ্রুতগতি সম্পন্ন হার্ড ড্রাইভের মত কাজ করতে পারে যাকে র‍্যাম ডিস্ক বলে। র‍্যাম ডিস্ক যেহেতু র‍্যামের অংশ তাই বিদ্যুৎ চলে গেলে এর মধ্যে সংরক্ষিত তথ্য হারিয়ে যায়।
কোন কোন সময়, কম গতি সম্পন্ন রমের তথ্য কপি করা হয় র‍্যামে তথ্য ব্যবহারের জন্য। রম চিপটি তখন ডিজেবল বা নিস্ক্রিয় করা থাকে যখন চালু করা মেমোরি স্থানান্তর হয় করা হয় র‍্যামের কোন ব্লকে (প্রায়ই রাইট-প্রটেক্টেড অবস্থায় থাকে)। এই প্রক্রিয়াকে বলা হয় শ্যাডোইং বা ছায়াকরণ। সাধারণত দেখা যায় কম্পিউটার এবং সংযুক্ত সিস্টেমগুলোতে (তা না হলে এটা সাপোর্ট নাও করতে পারে বা অপারেটিং সিস্টেম চালু নাও হতে পারে)।
একটি সাধারণ উদাহরণ হতে পারে, কিছু পারসোনাল কম্পিউটারের বায়োসে একটি অপশন থাকে “ইউজ শ্যাডো বায়োস” বা ছায়া বাইওস ব্যবহার করুন অথবা এইরকমই কোন নামে। যখন সক্রিয় করা হয়, বাইওসের তথ্যগুলো ডির‍্যামের কোন জায়গায় চলে যায়। সিস্টেমের উপর নির্ভর করে, এটি হয়ত কর্মক্ষমতা নাও বাড়াতে পারে বা নাও কাজ করতে পারে। এর ফলে খালি মেমোরি কমে যায়।
বিভিন্ন নতুন ধরনের নন-ভোলাটাইল র‍্যাম, যেগুলো বিদ্যুৎ চলে গেলেও তথ্য জমা রাখবে, উন্নয়নের কাজ চলছে। যেসব প্রযুক্তির ব্যবহার করা হচ্ছে তার মধ্যে কারবন ন্যানো টিউব এবং চৌম্বকীয় টানেল প্রভৃতি রয়েছে। প্রথম ধারার এমর‍্যামগুলোর মধ্যে, একটি হল ১২৮ কেআইবি চৌম্বকীয় র‍্যাম চিপ যেটা উৎপাদিত হয়েছে ০.১৮ µএম প্রযুক্তিতে ২০০৩ সালের গ্রীষ্মে। ২০০৪ সালের জুনে, ইনফেনিয়ন টেকনোলজিস একটি ১৬ এমআইবির প্রোটোটাইপ বের করে ০.১৮ µএম প্রযুক্তির বিপরীতে। ২য় প্রজন্মের বা ধারার দুটো প্রযুক্তি এখন প্রক্রিয়াধীন রয়েছে: থামার্ল এসিস্টেড সুইচিং (ক্রোকাস টেকনোলজি) এবং স্পিন টোর্ক ট্রান্সফার (ক্রোকাস, হাইনিক্স, আইবিএম এবং আরও কিছু কোম্পানী)। ন্যানটেরো কার্মক্ষম একটি কারবন ন্যানোটিউবের প্রোটোটাইপ বের করে ১০ জিআইবির ২০০৪ সালে। এগুলোর কোনটি ডির‍্যাম, এসর‍্যাম অথবা ফ্লাশ মেমোরির জায়গা দখল করে তা এখন দেখার বিষয়।
২০০৬ সাল থেকেই “সলিড স্টেট ড্রাইভস” (ফ্লাশ মেমোরির উপর ভিত্তি করে) ক্ষমতা ২৫৬ গিগাবাইট পেরিয়ে যায় এবং কর্মক্ষমতা পুরনোগুলোর থেকেও বেশি এখন পাওয়া যায় বাজারে। এই প্রযুক্তি র‍্যান্ডম একসেস মেমোরি এবং ডিস্কের মধ্যে নিশ্চিতভাবেই দুটো আলাদা ধারণা তৈরী করছে। কিছু র‍্যান্ডম একসেস মেমোরি যেমন ইকো র‍্যাম, নকশা করা হয়েছে সার্ভারের জন্য যেগুলো কম বিদ্যুৎ খরচ করে এবং দ্রুত গতি সম্পন্ন।