فقط کامپیوتر از وجود ROM بهرهمند نیست. بلکه در بسیاری از دستگاههای دیجیتالی اطراف ما از ROM استفاده میشود.ROM دارای پنج نوع اصلی است:
• ROM
• PROM
• EPROM
• EEPROM
• Flash Memory
هر کدام از این حافظهها تواناییهای متفاوتی دارند ولی خاصیت مشترک تمام آنها این است که اطلاعات آنها با خاموش و روشن شدن کامپیوتر از بین نمیرود. اطلاعات این حافظهها در حالت عادی غیر قابل تغییر است و برای تغییر آن نیاز به عملیات خاصی است.
ROM:
اگر از کارکرد RAM اطلاع داشته باشید ،[RAM چطور کار میکند؟] میدانید که RAM برای ذخیره اطلاعات از جدولی که هر سطر و ستون آن شماره خاصی دارد و آدرس هر بیت شماره و سطر ستون است، استفاده میکند. و RAM در هر بیت یک خازن دارد که خالی بودن آن صفر و پر بودنش یک طلقی میشود و از ترانزیستور برای پر و خالی کردن خازن استفاده میکند. ولی ROM به جای خازن و ترانزیستور از «دیود» استفاده میکند. به این ترتیب که اگر آن بیت دارای یک باشد سطر و ستون با دیود به هم متصل میشوند و اگر صفر باشد اصلاً به هم وصل نمیشوند.
همان طور که گفته شد اطلاعات ROM هنگامی که در کارخانه ساخته میشود بر روی آن قرار میگیرد. دیود جریان را در یک جهت هدایت میکند و دارای یک محدودیت برای عبور جریان است. در پردازشگر و حافظهها این ولتاژ 0.6 ولت است. به این ترتیب هر جریانی که بالا تر از این حد باشد به سطر و ستون مربوط میرود و یک بیتِ «یک» محسوب میشود. اگر بیت «صفر» باشد، اصلاً در آن بیت دیودی وجود نخواهد داشت و جریان از آن نقطه عبور نمیکند. همین عدم عبور جریان باعث میشود که آن بیت به صورت «صفر» خوانده شود.
همانطور که گفته شد اطلاعات ROM در هنگام ساختن آن در داخل خود حافظه قرار داده میشود و قابل تغییر نیست. اگر یک بیت از اطلاعات به صورت غلط ثبت شود باید حافظه را عوض کرد. به همین دلیل ساختن ROM کاری پر خطا است و نیاز به تست دقیق هر کدام از آنها دارد. ولی ارزانی آن دلیل استفاده گسترده از ROM است. ROM همچنین برق بسیار کمی مصرف میکند. مثال خوبی از یک ROM ساده، عروسکهای موزیکال است. موزیک چند ثانیهای این عروسکها در داخل یک ROM به کوچکی ناخن انگشت شماست و دارای اطلاعات ملودیهایی است که باید از بلندگو پخش شود.
PROM:
ساختن ROM در تعداد کم وقتگیر و گران است. به همین دلیل ROMهایی به نام PROM (Programmable Read-Only Memory) ساخته میشود که قابل اطلاعات دهی توسط خود کاربر است. این کار با استفاده از وسیله ای به نام Programmer انجام میشود. توجه داشته باشید که بعد از مقدار دهی به بیتهای PROM دیگر نمیتوان آن را تغییر داد.
ساختار PROM مانند ROM است. با این تفاوت که در هر بیت ( سطر-ستون) یک فیوز وجود دارد. وقتی که PROM خالی است تمام بیتها « یک» است. هنگام نوشتن اطلاعات Programmer با فرستادن ولتاژ معینی فیوزهای مربوط به بیت «صفر» را میسوزاند و باقی فیوزها را سالم نگه میدارد. PROM به شدت به الکتریسیته ساکن حساس است و قرار گرفتن آن در محیطی که دارای بار الکتریکی ساکن است باعث سوختن فیوزها میشود.
EPROM:
اینکه فقط میتوان یک اطلاعات را روی ROM و PROM ذخیره کرد کمی کار را مشکل میسازد.(EPROM (Erasable Programmable Read-Only Memory این مشکل را حل کرده است. این نوع ROM را میتوان بارها پر و خالی کرد. این کار نیازمند وسیله مخصوصی است که فرکانس معینی از نور فرا بنفش را از خود گسیل میکند.
همانند همه ROM ها ، EPROM هم از همان روش سطر و ستون استفاده میکند. مانند یک ماتریس.در EPROM هر خانه حافظه دارای دو ترانزیستور است که توسط یک لایه اکسید از هم جدا شدهاند. یکی از این ترانزیستورها Floating Gate (درگاه شناور) نام دارد و دیگری Control Gate (درگاه کنترل) نام دارد. Floating gate توسط Control gate به هر سطر مرتبط است.
وقتی این ارتباط وجود دارد مقدار «یک» است. برای صفر کردن مقدار به روشی به نام Tunneling نیاز داریم. این روش برای جابجا کردن الکترونهای درون Floating Gate کاربرد دارد. جریانی به بزرگی 10 یا 13 ولت از ستون رد میشود و به این درگاه میرود. وسیلهای به نام Cell Sensor جریان عبوری از Floating Gate را اندازه گیری میکند. اگر این مقدار بیشتر از 50 درصد جریان ورودی به سطر باشد آن بیت «یک» محسوب میشود. اگر این مقدار کمتر از 50 درصد باشد مقدار بیت صفر میگردد. برای خالی کردن اطلاعات EPROM نیاز به انرژی بالایی داریم که الکترونهای بین دو ترانزیستور را به حرکت در بیارد و آنها را تخلیه کند. معمولاً این کار توسط نور فرابنفش با فرکانس 253.7 هرتز انجام میشود.
چون این فرکانس فرابنفش توانایی نفوذ به داخل پلاستیک و شیشه را ندارد این نوع حافظه دارای صفحهای از جنس کوارتز است. وقتی EPROM را پاک میکنیم تمام اطلاعات آن پاک میشود. اگر صفحه کوارتز آن بیش از حد در معرض نور فرابنفش قرار گیرد، صفحه اکسید توانایی ذخیره الکترون را از دست میدهد.
EEPROM و Flash Memory:
تمام دردسرهایی که برای تغییر اطلاعات در EPROM انجام داده میشود با استفاده از این نوع ROM از بین رفته است. چون برای پاک کردن اطلاعات نیاز به جدا کردن حافظه و قرار دادن آن زیر دستگاههای مخصوص نداریم و میتوان بیتهایی را که برای پاک کردن نیاز داریم را مشخص کنیم و دیگر نیازی به پاک کردن تمام بیتها نداریم.
برای پاک کردن هر بیت دیگر نیازی به نور فرابنفش نیست و با ایجاد یک میدان الکتریکی میتوان الکترونها را از ترانزیستورها جدا کرد.
همچنین میتوان پاک کردن را بیت به بیت انجام داد. این کار با سرعت کمی انجام میشود.
به همین دلیل نوعی از این حافظه که Flash Memory نام دارد ساخته شد. این نوع حافظه اطلاعات را در ابعاد 512بیت پاک میکند.