حافظه فقط خواندنی یا رام (ROM) چیست و چه انواعی دارد؟
حافظه فقط خواندنی یا رام (ROM) و کاربردهای آن
تراشههای رام در صنعت کامپیوتر و الکترونیک کاربردهای مهمی دارند. بدون حافظه رام نه میتوانید کامپیوترتان را راهاندازی، و نه از گوشیتان استفاده کنید. بسیاری از دیگر لوازم الکترونیکی مانند ماشینهای لباسشویی، کنسولهای بازی و تلویزیونهای هوشمند نیز بدون حافظه رام کار نخواهندکرد. اما حافظه رام چه قابلیتهایی دارد که چنین مهم است؟
معمولا برنامهها یا دادههایی که وجودشان برای راهاندازی یا شناسایی اجزای یک سامانه ضروری است، در حافظه رام آن سامانه ذخیره میشوند و لذا بهراحتی قابل حذف یا تغییر نیستند. یکی از رایجترین کاربردهای حافظه رام در تراشه بایوس (BIOS) رایانهها است که به آن «رام بایوس» هم میگویند. تراشه رام بایوس حاوی برنامهای است که وقتی رایانه را روشن میکنید، سختافزارها و قطعات آن را شناسایی و سپس سیستمعامل را بارگذاری میکند. بدون تراشه یا حافظه رام بایوس، رایانه راهاندازی و شناسایی نمیشود و کاربر نمیتواند از آن استفاده کند. سیپییو دادههای موجود در حافظه رام را فقط میتواند بخواند و نمیتواند آن را تغییر دهد. ضمنا برای اینکه سیپییو دادههای رام را پردازش کند، آن دادهها به حافظه رم (RAM) منتقل میشوند.
حافظه رام (ROM)، حافظهای اصطلاحا پایدار (non-volatile) است، یعنی برخلاف حافظه رم (RAM)، محتوای آن ماندگار است و با قطع شدن برق از بین نمیرود. و البته رام نسبت به رم، حافظه کمظرفیتتر، کندتر و ارزانتری است.
امروزه تقریبا هر گوشی و رایانهای حافظه رام دارد. برنامه یا نرمافزار موجود درون حافظه رام را اصطلاحا سفتافزار (firmware) مینامند. برنامه مذکور حاوی دستورهایی است که مراحل لازم برای شروع به کار گوشی و رایانه را فراهم میکند، از جمله: بارگذاری سیستمعامل در حافظه رم و نیز شناسایی سختافزارهای گوشی/رایانه. گفتنی است حافظه رام در چاپگرهای لیزری نیز کاربرد دارد و فونتهای چاپگر درون رام ذخیره میشود.
انواع حافظه فقط خواندنی یا رام (ROM)
حافظههای «فقط خواندنی» یا رام (ROM) انواع مختلفی دارند. برخی از آنها فقط یکبار برنامهنویسی میشوند و دیگر نمیتوان محتوایشان را تغییر داد. اما برخی دیگر از آنها را میتوان با استفاده از روشهایی که چندان هم ساده و سریع نیستند، پاک و مجددا بازنویسی کرد. شاید عدهای بپرسند که اگر برخی از حافظههای رام را میتوان پاک و بازنویسی کرد، پس چرا آنها را «فقط خواندنی» نامیدهاند؟ در پاسخ باید گفت که اولین حافظههای رام واقعا هم فقط خواندنی بودند. آنها در مرحله تولید، برنامهنویسی میشدند و دیگر نمیشد آن برنامه را پاک کرد و یا تغییر داد. اما بعدها گونههای دیگری از حافظه رام تولید شدند که میشد پاک، ویرایش یا بازنویسیشان کرد، هرچند این کار چندان ساده و سریع نبود تا اینکه حافظههای رام فلش (Flash ROM) سربرآوردند. محتوای حافظههای فلش را میتوان بهراحتی و با سرعت حذف، ویرایش و بازنویسی کرد.
با توجه به آنچه گفته شد، حافظههای رام به چهار دسته اصلی تقسیم میشوند که عبارتند از: MROM، PROM، EPROM و EEPROM.
حافظه رام ماسک (MROM: Mask ROM)
تراشه MROM را میتوان به معنای واقعی کلمه، «فقط خواندنی» دانست زیرا شرکت سازنده، آن را در مرحله تولید برنامهنویسی میکند و پس از آن دیگر نمیشود محتوای تراشه را پاک کرد یا تغییر داد. چون حافظههای MROM پاکشدنی و ویرایشپذیر نیستند، باید درست و بینقص برنامهنویسی شوند. چنانچه اشتباهی رخ دهد یا دادهها نیازمند بهروزرسانی باشند باید آن تراشه را کنار گذاشت و تراشه دیگری با برنامه دلخواه جایگزینش کرد. ساخت اولین نمونه نهایی تراشه MROM اغلب پرزحمت، پرهزینه و حاصل آزمون و خطاهای متعدد است، لذا تولید کمتعداد آنها صرفه اقتصادی ندارد. اما تولید انبوه آنها از روی نمونه اصلی ارزان تمام میشود. تراشههای MROM بسیار کممصرف و بسیار اطمینانپذیرند و میتوانند همه برنامههای لازم برای کنترل قطعات الکترونیکی کوچک را در خود ذخیره کنند.
حافظه رام برنامهپذیر (PROM: Programmable ROM)
گفته شد که تولید تراشه MROM از صفر، زمانبر و بسیار پرهزینه است و اگر کمتعداد تولید شود، صرفه اقتصادی ندارد. به همین سبب، حافظهسازها بیشتر به ساخت حافظههای PROM متمایل شدند که کمهزینهترند. حافظههای PROM نیز فقط یکبار برنامهنویسی میشوند اما تفاوتشان این است که هنگام تولید هیچ برنامهای روی آنها نوشته نمیشود و خالی به فروش میرسند تا خریدار هر برنامهای را که لازم داشت روی آن بنویسد. پس از آنکه کاربر تراشه PROM را برنامهنویسی کرد، دیگر نمیتواند آن را حذف یا ویرایش کند. برای برنامهنویسی PROM از دستگاهی به نام PROM Programmer استفاده میشود. تراشههای PROM در مقایسه با تراشههای MROM شکنندهترند؛ طوری که اگر الکتریسیته ساکن به حافظه PROM شوک وارد کند، فیوزهای درون تراشه بهراحتی میسوزند و وضعیت بیتهای داخلی تراشه از یک به صفر تغییر مییابد.
حافظههای PROM در گوشیهای همراه، کنسولهای بازی، تجهیزات پزشکی کاشتنی، رابطهای چندرسانهای پروضوح (HDMI) و نیز در تراشههای بازشناسی با امواج رادیویی (RFID) به کار میروند.
حافظه رام برنامهپذیر پاکشونده (EPROM: Erasable Programmable ROM)
حافظههای MROM و PROM هرچند ارزان هستند، بهکارگیری آنها در بلندمدت هزینه زیادی دارد، زیرا فقط یکبار برنامهنویسی میشوند و اگر کاربر بخواهد برنامه آنها را حذف یا بهروزرسانی کند، خود حافظه نیز باید عوض شود. حافظههای EPROM برای رفع همین مشکل ساخته شدند. تراشههای EPROM میتوانند بارها پاک و از نو برنامهنویسی شوند. برای پاک کردن حافظه EPROM باید حدود 20 دقیقه به آن پرتو فرابنفش تابانده شود. نور عادی خانه آنقدر پرتو فرابنفش ندارد که برای پاک کردن دادههای حافظه کافی باشد، اما نور درخشنده خورشید میتواند آن را پاک کند. هنگام برنامهنویسی حافظه EPROM شارژ الکتریکی، درون ناحیه گیت عایقشدهای محصور میشود. این شارژ بیش از 10 سال دوام میآورد زیرا راهی ندارد که نشت کند. برای از بین بردن شارژ الکتریکی و در واقع پاک کردن حافظه، پرتو فرابفنش را از دریچه ویژهای از جنس کریستال دُرّ کوهی (quartz crystal) که روی حافظه EPROM تعبیه شده است، به تراشه میتابانند. تابش پرتو فرابنفش، شارژ الکتریکی را از هم میپاشاند. در مواقع عادی و زمانی که از حافظه استفاده میشود، دریچه حافظه بسته است تا نور به آن نتابد و برنامه حافظه پاک نشود.
گفتنی است، با افزایش تعداد دفعات پرتوتابی و بازنویسی حافظه، تراشه کمکم کارایی خود را از دست میدهد. عیب دیگر تراشه PROM این است که تمام محتوای آن یکباره پاک میشود و کاربر نمیتواند فقط بایت یا بخش خاصی از فضای حافظه را پاک کند. پاک کردن تراشه EPROM زمانبر است و برای این کار باید حافظه را از رایانه یا دستگاه مربوطه جدا کرد. ضمنا ماندگاری دادههای EPROM تقریبا 10 سال است و پس از حدود ده سال حافظه باید دوباره برنامهنویسی شود.
تراشه بایوس برخی از رایانهها (بهویژه رایانههای قدیمیتر) و همچنین تراشه ذخیرهساز برنامه در مودم، کارت گرافیک و بسیاری از لوازم الکترونیک گاهی از نوع EPROM است. حافظه EPROM در میکروکنترلرها نیز بهعنوان تراشه ذخیرهسازی برنامه به کار میرود. همچنین برای رفع عیب (دیباگ) و توسعه برنامهها از تراشه EPROM استفاده میشود.
حافظه رام برنامهپذیر پاکشونده با برق (EEPROM: Electrically Erasable Reprogrammable ROM)
حافظه EEPROM را میتوان با اعمال ولتاژی بالاتر از ولتاژ عادی تراشه، بارها پاک و از نو برنامهنویسی کرد. حافظه EEPROM در مقایسه با EPROM دستکم سه مزیت مهم دارد. یکی اینکه پاک کردن و بازنویسی EEPROM فقط 4 تا 10 میلیثانیه زمان میبرد. دوم اینکه کاربر میتواند فقط بایتهای خاصی از حافظه EEPROM را پاک کند و لذا فرآیند بازنویسی حافظه EEPROM انعطافپذیرتر اما کندتر است. و مزیت سوم این است که برای برنامهنویسی مجدد حافظه EEPROM لازم نیست آن را از رایانه یا دستگاه مربوطه جدا کنید. حافظههای EEPROM را میتوان دهها تا صدها هزار بار ویرایش و بازنویسی کرد.
البته حافظه EEPROM معایبی هم دارد؛ از جمله اینکه گرانتر است و نیز برای پاک کردن، خواندن و نوشتن دادههای تراشه EEPROM باید از ولتاژهای متفاوتی استفاده کرد.
از حافظه EEPROM برای ذخیره دادههای کمحجم در تراشههای بایوس، میکروکنترلرها، کارتهای هوشمند، قفلهای الکترونیکی راه دور و... استفاده میشود. یکی از رایجترین گونههای EEPROM حافظه فلش رام (Flash ROM Memory) یعنی همان حافظه فلش رایج است که با ولتاژ عادی رایانه، پاک و بازنویسی میشود.
حافظه رام فلش (Flash ROM Memory) چیست؟
حافظه فلش نوعی حافظه پایدار (non-volatile) از نوع EEPROM است. حذف و بازنویسی دادهها در حافظه فلش بسیار سریعتر از حافظههای EEPROM عادی صورت میپذیرد، زیرا در حافظه فلش چند بلوک داده که هر یک 412 بایت است، همزمان پاک و بازنویسی میشوند.
در بایوس رایانههای جدید از حافظه فلش استفاده میشود و به آن بایوس فلش میگویند. در مودمها و کارتهای حافظه نیز از رام فلش استفاده میشود.
حافظههای رام فلش مزیتهایی دارند از جمله: سرعت انتقال زیاد، قابلیت ذخیرهسازی دادهها حتی هنگام قطع بودن برق، مقاومتر بودن در برابر آسیبهای احتمالی، و صرفه اقتصادی در مقایسه با دیگر ذخیرهسازهای کمظرفیت. و البته بیعیب هم نیستند و مثلا در مقایسه با دیسک سخت، گرانتر و تعداد دفعات خواندن و نوشتنشان محدودتر است.
جمعبندی
رایانهها، گوشیها و در کل همه محصولات الکترونیکی و رایانهای به حافظه رام (ROM) احتیاج دارند. دادهها و برنامههایی که کارشان شناسایی و راهاندازی رایانه، گوشی و... است در حافظه رام ذخیره میشوند تا بهراحتی و تصادفا پاک یا مخدوش نشوند. حافظه رام کمظرفیتتر و ارزانتر از حافظه رم است، اما پایدار (non-volatile) است و لذا در نبود برق نیز دادههای آن محفوظ میماند. دادههای حافظه رام رایانه برای اینکه پردازش شوند ابتدا به حافظه اصلی یا رم (RAM) منتقل میشوند.