“If I had asked people what they wanted, they would have said faster horses.” – Henry Ford
ফোর্ডের কথাটা সত্য। ঠিক এই কারণে
বিগত বেশ কয়েক বছর ধরে Solid State Drives (SSD) ট্রেডিশনাল হার্ড ড্রাইভের স্থান দখল করছে করছে, বিশেষত ল্যাপটপে। আর এসএসডি ও হার্ড ড্রাইভ মেমরি সিস্টেম হলেও দুটোর মৌলিক দিকগুলো সম্পুর্ন ভিন্ন।
হার্ড ডাইভের মতো এসএসডিও বিশাল আকারের ডেটা সংরক্ষণ করে পাওয়ার অন বা অফ অবস্থাতে, একটা দীর্ঘ সময়ের জন্য। হার্ড ড্রাইভের মতো এসএসডিতে কোনো মুভিং পার্টস থাকে না এবং এটা অনেকটাই ফ্লাশ ড্রাইভের মতো কাজ করে। মোট কথায় একটা এসএসডি এর সাথে USB ফ্লাশ ড্রাইভ, এসডি কার্ড বা স্মার্টফোন ও ল্যাবলেটে থাকা মেমরি চিপের মধ্যে তেমন পার্থক্য নেই।
মূলত দুই ধরণের ফ্লাশ মেমরী রয়েছে
১. নর ২. ন্যান্ড।
দুটোতেই গ্রিডে ট্রান্সজিস্টর ব্যবহার করা হয়ে থাকে, তবে সেলগুলোর সংযোগ ব্যবস্থা ভিন্ন। নর ফ্লাশে সেল প্যারালালভাবে সংযুক্ত থাকে। আর ন্যান্ড সেলে সিরিজ ভাবে। একারণে নর সেলে অধিক পরিমাণে সংযোগ থাকে যা সেগুলো বড়ো এবং জটিল বানিয়ে দেয়। সেখানে ন্যান্ড সেলে খুব কম সংযোগ লাগে, এবং একটি চিপের মধ্যে বহু সংযোগ চিপ রাখা সম্ভব হয়। যার ফলে ন্যান্ড চিপ কিছুটা কম দামে এবং ফাস্ট রিড রাইট করতে পারে।
এবার এসএসডি নিয়ে আসা যাক। বাজারে পাওয়া এসএসডিতে মূলত একটি হার্ডকেস ব্যবহার করা হয়। এটি বাহিরে বাহিরের বিভিন্ন বস্তু থেকে মেইন বোর্ডকে রক্ষা করে। এসএসডি এর অংশ হলো-
ন্যান্ড ফ্লাশ চিপঃ
প্রতিটা এসএসডিতে থাকে কিছু ন্যান্ড চিপ। এইগুলোতেই মূলত ডেটা স্টোর হয়।
কন্ট্রোলারঃ
রিড রাইটের ইনিশ্ট্রাকশন ন্যান্ড চিপে পাঠায়।
ডি-র্যাম চিপঃ
এটা সাধারণ কম্পিউটার র্যামের মতোই কাজ করে। অবস্থায়ীভাবে ডেটা এখানে যায়।
ন্যান্ড চিপ কীভাবে কাজ করে?
ন্যান্ড চিপের মধ্যে থাকে অসংখ্য ন্যান্ড সেল। এখানে ০/ ১ বিট রূপে ডেটা স্টোর হয়। এই সেলগুলো মূলত হয়ে থাকে মসফেটস ট্রান্সজিস্টরের মতো। সেখানে ডেটা ফ্লোটিং গেটের উপরে জমা হয়।
ন্যান্ড ফ্লাশ চিপ হলো মূল মেমরী। আর এর সেলগুলো বিভিন্নভাবে তৈরী করা হয়ে থাকে। সেলগুলো কত বিটের হবে তার উপর রিড রাইট স্পিড নির্ভর করে। বিট যত বেশি বাড়বে বিট প্যানাল্টি তত বাড়বে। একটি গেট দিয়ে একাধিক বিট বের হতে একটু বেশি সময় লাগবে। সেলে যত বিট বাড়ছে ডেটা এক্সেস টাইমও তত বেড়ে যাচ্ছে। সেজন্য অনেক ন্যান্ড ফ্লাশ চিপে ডি-র্যাম ক্যাশ ব্যবহার করা হয় যাতে রিড রাইট স্প্রিড এ অতিরিক্ত বাফার হয়।
নিচে কয়েক ধরণের সেল নিয়ে আলোচনা করা হলো-
Slc:
প্রথমদিকে যখন এই ন্যান্ড সেলগুলো তৈরী করা slc সেল বা single level shell। এর মধ্যে মূলত একটি বিট থাকে। কিন্তু এতে খরচ অনেক বেশি হয়।
Mlc:
খরচের দিকে খেয়াল রেখে mlc বা multi level shell. মাল্টি মানে এখানে একাধিক নয় বরং একটি সেলের মধ্যে দুইটা বিট ধারণ করতে পারে তা বোঝাই। এর ফলে একই খরচে স্টোরেজ ডাবল হয়ে যায়। যদিও এতে খরচ খুব একটা সাধারণ মানুষের নাগালে আনা যায় নি।
Tlc:
tlc বা triple level shell বা একটি সেলে তিনটি বিট ধারণ করতে পারে। এই ধরণের চিপ বর্তমানে সাধারণ এসএসডিগুলোতে ব্যবহার করা হয়।
Qlc:
Qlc বা quad level shell একটি সেলে ৪টি বিট ধারণ করতে পারে। এমন চিপ এর দাম অনেক কম হয়ে থাকল।
Plc:
গতবছর ইন্টেল ও টোশিবা plc বা penta level shell সেল নিয়ে কাজ শুরু করার ঘোষণা দিয়েছে।
এখন ন্যান্ড ফ্লাশ চিপের মধ্যে থাকা বিভিন্ন অংশ যা উচ্চগতিতে ডেটা রাইট ও রিড করতে সহায়তা করে, সেগুলো নিয়ে আলোচনা করা হলো-
ডাই (Die):
প্রতিটা ন্যান্ড ফ্লাশ চিপে এক বা একাধিক ডাই থাকে। ছবির নীল কালার অংশটা হলো ডাই। একটা কমান্ড স্বাধীনভাবে থাকার এটাই শেষ স্টেজ।
প্লেন (plane):
ডাই এর মধ্যে একটা বা দুইটা প্লেন থাকতে পারে। ছবিতে গাঢ় নীল রংয়ের অংশটা প্লেন। ডেটা রিড রাইটের ক্ষেত্রে দুইটা প্লেন একসাথে কাজ করতে পারে।
ব্লক (block):
একটা প্লেনের মধ্যে একাধিক ব্লক থাকতে পারে। ছবিতে পেস্ট কালারের অংশগুলো হলো ব্লক। ডেটা ইরেজ হয় এই ব্লক লেভেল এ। এখানে ১২৮/২৫৬ কিলোবাইট ডেটা ইরেজ হয়ে থাকে। অনেকগুলো পেজের ডেটা একসাথে প্রতিটা ব্লকে ইরেজ হওয়াই ফাইল ডিলিট করার সময় অতিরিক্ত ডেটা র্যাম এ চলে যায়। আবার ইরেজ হলে পুনরায় পেজ লেভেল এ চলে আসে।
পেজ (page):
ব্লকের মধ্যে প্রচুর পেজ থাকে। ছবিত হলুদ রঙয়ের ছোটো ছোটো খোপ হলো এক একটি পেজ। এই পেজের মধ্যে ডেটা রাইট হয়। একেকটা পেজের আকার ২/৮/১৬ কিলোবাইট হয়ে থাকে।
ডেটা ইরেজ করার সময় সেল এ আলাদা ভোল্টেজ প্রয়োগ করা হয়। বার বার ডেটা আদান প্রদান করলে ভোল্টেজলর জন্য ট্রান্সজিস্টর এর লাইফ স্প্যান কমে আসে। এজন্য এসএসডি এক ধরণের এ্যালগরিদম ব্যবহার করা হয় যাতে ডেটা ইরেজ যে ব্লক করা হয়েছে সেখানে বাদে অন্য ফাঁকা পেজে রাইট করা হয়। আবার যখন এসএসডিতে ধীরে ধীরে ডেটা পুর্ণ হয়ে যায় তখন সেই ইরেজ হয়ে যাওয়া ব্লকের পেজগুলো ডেটা রাইট করে। এজন্য যে এসএসডি যত বেশি ব্যবহার করা যায় তার আয়ু তত কমে আসে বা ডেটা রিড রাইট স্প্রিড তত কমে যায়। এখানে slc এসএসডিগুলোতে সবচেয়ে বেশি সাইকেল থাকে এবং যতবেশি বিট ধারণ করবে সাইকেলের পরিমাণও কমে যাবে।
এখন এসএসডি এর গায়ে বিভিন্ন রকমের টেকনোলজির কথা উল্লেখ থাকে৷ যেগুলো এসএসডির মান ও লাইফ স্প্যান বৃদ্ধিতে সহায়তা করে। এই টেকনোলজিগুলো হলো-
ট্রিম কমান্ডঃ
এই কমান্ডে হলো যখন একটি ডেটা মডিফাই করার কমান্ড দেওয়া হবে তখন যেটা কিছু জায়গাকে ইরেজ করবে। আবার যখন ডেটা মুভ করা হবে তখন সেই কমান্ডটা আবার পারফর্ম করবে। এতে করে কিছু ব্লক এ ইরেজ করার দরকার হয় না। যার জন্য এসএসডি এর লাইফস্প্যান কিছুটা বৃদ্ধি পায়।
গারবেজ কালেকশনঃ
যেহেতু ডেটা রাইট হয় পেজ লেভেলে আর ইরেজ হয় ব্লক লেভেলে, সেজন্য ছোটো কোনো ফাইল রাইট করতেও পুরো ব্লক ইরেজ করে ফেলে। যার জন্য ছোটো ফাইল রাইট করার দরকার হলেও সেটা অনেক বড়ো জায়গা দখল করে ফেলে। একে রাইট অ্যাম্পিফ্লিশন বলে। গারবেজ কালেকশন এই অযথা জায়গা দখলকে কমিয়ে দেয়।
ওভার প্রভিশনঃ
রাইট এর ইমপেক্ট কমানোর জন্য এসএসডিতে ওভার প্রভিশন করা থাকে। যে টুকু স্টোরেজ ব্যবহার করা হয় তার থেকে কিছুটা বেশি স্টোরেজ ফাঁকা রাখা থাকে। যেটা সাধারণত ব্যবহার করা যায় না কিন্তু রাইট অ্যাম্পিফ্লিশন এর ইমপেক্ট কমিয়ে দেই।
ওয়্যার লেভেলিংঃ
এটি একটি এ্যালগরিদম যা কোন কোন ব্লকে ডেটা ইরেজ হচ্ছে বা রাইট হচ্ছে তার খেয়াল রাখে। কোনো চিপে ডেটা কম রাইট হচ্ছে আবার অন্যগুলোতে বেশি হচ্ছে এমনটা যেনো না হয়ে একটা ব্যালেন্সড পর্যায়ে থাকে সব জায়গাই তা খেয়াল রাখে।
এখন পারফরম্যান্স নিয়ে আলোচনা করা যাক।
এই ক্ষেত্রে সবচেয়ে বড়ো বিষয় হলো, হার্ড ড্রাইভ ও এসএসডি পারফরম্যান্সের পার্থক্য।
এসএসডি হার্ড ড্রাইভ থেকে প্রায় ১০ গুণ রিড স্পিড এবং ২০ গুণ রাইট স্প্রিড সম্পন্ন।
যা অপারেটিং সিস্টেমকে ১৫ সেকেন্ডে, সাধারণ ফাইল রিড ৫০০ মেগাবাইট এর বেশি এবং প্রায় ১৫০ মেগাবাইট রাইট স্প্রিড হয়।
অ্যাপস, গেমস ও কম্পিউটারের অভারঅল পারফরম্যান্স দ্রুত ও স্মুথ মনে হয়।
আর আরেকটি বিষয় হলো এর আকার, আকৃতি। এসএসডি আকারে ছোটো প্রায় ২.৫ ইঞ্চি এবং আকারে হালকা। এর ফেইলিওর রেটও অনেক কম। এবং এক্সট্রা ফিচার error-correctin g code (ECC) থাকায় ইরোর হওয়ার সম্ভাবনা কম।
এবার এসএসডি এর সমস্যা নিয়ে আসা যাক।
এসএসডিতে থাকা ন্যান্ড ফ্লাস চিপের জন্য এর দাম হার্ডড্রাইভের দামের তুলনায় অনেক বেশি।
এবং ন্যান্ড ফ্লাস চিপ বেশি দীর্ঘস্থায়ী নয়। মূল কারণ ন্যান্ড চিপগুলোর নির্দিষ্ট সংখ্যক রাইট হওয়াই। ওপরে আলোচনা হয়েছে কারণ নিয়ে।
মূলত প্রতি সাইকেলে কমতে থাকবে। একটি ন্যান্ড ফ্লাশ সেল ৫০,০০০ বার রাইট/ইরেজ সাইকেল পর্যন্ত কাজ করবে। Mlc এর চেয়ে Tlc -তে বিট ধারণ ক্ষমতা বেশি হওয়াই এর রাইট/ইরেজার সাইকেল কম। অর্থাৎ প্রতি জেনারেশনে এর সংখ্যা কমে আসছে।
সাধারণত এজন্য অপারেটিং সিস্টেম ও অ্যাপসগুলো এসএসডিতে রাখা হয় এবং সাধারণ ফাইলগুলো হার্ড ড্রাইভে। এই কম্বিনেশন দীর্ঘস্থায়ী হবে এবং এসএসডি এর ফাস্ট রেসপন্স ও খরচও তুলনামূলক কম হবে।
Writer: Rownok Shahriar
Tags:
Technology