حافظه با هدف ذخیره سازی اطلاعات (دائم، موقت) در کامپیوتر استفاده می گردد.
از انواع متفاوتی حافظه درکامپیوتر استفاده می گردد .
RAM ROM Cache Dynamic RAM Static RAM Flash Memory Virtual Memory Video Memory BIOS استفاده از حافظه صرفا" محدود به کامپیوترهای شخصی نبوده و در دستگاههای متفاوتی نظیر : تلفن های سلولی، PDA ، رادیوهای اتومبیل ، VCR ، تلویزیون و ...
نیز در ابعاد وسیعی از آنها استفاده بعمل می آید.هر یک از دستگاههای فوق مدل های متفاوتی از حافظه را استفاده می نمایند.
مبانی اولیه حافظه با اینکه می توان واژه " حافظه " را بر هر نوع وسیله ذخیره سازی الکترونیکی اطلاق کرد، ولی اغلب از واژه فوق برای مشخص نمودن حافظه های سریع با قابلیت ذخیره سازی موقت استفاده بعمل می آید.
در صورتیکه پردازنده مجبور باشد برای بازیابی اطلاعات مورد نیاز خود بصورت دائم از هارد دیسک استفاده نمائد، قطعا" سرعت عملیات پردازنده ( با آن سرعت بالا) کند خواهد گردید.
زمانیکه اطلاعات مورد نیاز پردازنده در حافظه ذخیره گردند، سرعت عملیات پردازنده از بعد دستیابی به داده های مورد نیاز بیشتر خواهد گردید.
از حافظه های متعددی بمنظور نگهداری موقت اطلاعات استفاده می گردد.
انواع حافظه حافظه ها را می توان بر اساس شاخص های متفاوتی تقسیم بندی کرد .
Volatile و Nonvolatile نمونه ای از این تقسیم بندی ها است .
حافظه های volatile بلافاصله پس از خاموش شدن سیستم اطلاعات خود را از دست می دهند.
و همواره برای نگهداری اطلاعات خود به منبع تامین انرژی نیاز خواهند داشت .
اغلب حافظه های RAM در این گروه قرار می گیرند.
حافظه های Nonvolatile داده های خود را همچنان پس از خاموش شدن سیستم حفظ خواهند کرد.
حافظه ROM نمونه ای از این نوع حافظه ها است .
حافظه RAM حافظه (RAM(Random Access Memory شناخته ترین نوع حافظه در دنیای کامپیوتر است .
روش دستیابی به این نوع از حافظه ها تصادفی است .
چون می توان به هر سلول حافظه مستقیما" دستیابی پیدا کرد .
در مقابل حافظه های RAM ، حافظه های(SAM(Serial Access Memory وجود دارند.
حافظه های SAM اطلاعات را در مجموعه ای از سلول های حافظه ذخیره و صرفا" امکان دستیابی به آنها بصورت ترتیبی وجود خواهد داشت.
( نظیر نوار کاست ) در صورتیکه داده مورد نظر در محل جاری نباشد هر یک از سلول های حافظه به ترتیب بررسی شده تا داده مورد نظر پیدا گردد.
حافظه های SAM در مواردیکه پردازش داده ها الزاما" بصورت ترتیبی خواهد بود مفید می باشند ( نظیر حافظه موجود بر روی کارت های گرافیک ).
داده های ذخیره شده در حافظه RAM با هر اولویت دلخواه قابل دستیابی خواهند بود.
مبانی حافظه های RAM حافظه RAM، یک تراشه مدار مجتمع (IC) بوده که از میلیونها ترانزیستور و خازن تشکیل شده است.
در اغلب حافظهها با استفاده و بکارگیری یک خازن و یک ترانزیستور میتوان یک سلول را ایجاد کرد.
سلول فوق قادر به نگهداری یک بیت داده خواهد بود.
خازن اطلاعات مربوط به بیت را که یک و یا صفر است، در خود نگهداری خواهد کرد.
عملکرد ترانزیستور مشابه یک سوییچ بوده که امکان کنترل مدارات موجود بر روی تراشه حافظه را بمنظور خواندن مقدار ذخیره شده در خازن و یا تغییر وضعیت مربوط به آن، فراهم می نماید.
خازن مشابه یک ظرف (سطل) بوده که قادر به نگهداری الکترونها است.
بمنظور ذخیره سازی مقدار "یک" در حافظه، ظرف فوق میبایست از الکترونها پر گردد.
برای ذخیره سازی مقدار صفر، می بایست ظرف فوق خالی گردد.
مسئله مهم در رابطه با خازن، نشت اطلاعات است (وجود سوراخ در ظرف) بدین ترتیب پس از گذشت چندین میلیثانیه یک ظرف مملو از الکترون تخلیه می گردد.
بنابراین بمنظور اینکه حافظه بصورت پویا اطلاعات خود را نگهداری نماید، می بایست پردازنده و یا "کنترل کننده حافظه" قبل از تخلیه شدن خازن، مکلف به شارژ مجدد آن بمنظور نگهداری مقدار "یک" باشند.
بدین منظور کنترل کننده حافظه اطلاعات حافظه را خوانده و مجددا" اطلاعات را بازنویسی می نماید.
عملیات فوق (Refresh)، هزاران مرتبه در یک ثانیه تکرار خواهد شد.
علت نامگذاری DRAM بدین دلیل است که این نوع حافظه ها مجبور به بازخوانی اطلاعات بصورت پویا خواهند بود.
فرآیند تکراری " بازخوانی / بازنویسی اطلاعات" در این نوع حافظه ها باعث می شود که زمان تلف و سرعت حافظه کند گردد.
سلول های حافظه بر روی یک تراشه سیلیکون و بصورت آرائه ای مشتمل از ستون ها (خطوط بیت) و سطرها (خطوط کلمات) تشکیل می گردند.
نقطه تلاقی یک سطر و ستون بیانگر آدرس سلول حافظه است.
حافظه های DRAM با ارسال یک شارژ به ستون مورد نظر باعث فعال شدن ترانزیستور در هر بیت ستون، خواهند شد.در زمان نوشتن خطوط سطر شامل وضعیتی خواهند شد که خازن می بایست به آن وضغیت تبدیل گردد.
در زمان خواندن Sense-amplifier ، سطح شارژ موجود در خازن را اندازه گیری می نماید.
در صورتیکه سطح فوق بیش از پنجاه درصد باشد مقدار "یک" خوانده شده و در غیراینصورت مقدار "صفر" خوانده خواهد شد.
مدت زمان انجام عملیات فوق بسیار کوتاه بوده و بر حسب نانوثانیه ( یک میلیاردم ثانیه ) اندازه گیری می گردد.
تراشه حافظه ای که دارای سرعت 70 نانوثانیه است ، 70 نانو ثانیه طول خواهد کشید تا عملیات خواندن و بازنویسی هر سلول را انجام دهد.
سلول های حافظه در صورتیکه از روش هائی بمنظور اخذ اطلاعات موجود در سلول ها استفاده ننمایند، بتنهائی فاقد ارزش خواهند بود.
بنابراین لازم است سلول های حافظه دارای یک زیرساخت کامل حمایتی از مدارات خاص دیگر باشند.
مدارات فوق عملیات زیر را انجام خواهند داد: مشخص نمودن هر سطر و ستون (انتخاب آدرس سطر و انتخاب آدرس ستون ) نگهداری وضعیت بازخوانی و باز نویسی داده ها ( شمارنده ) خواندن و برگرداندن سیگنال از یک سلول ( Sense amplifier) اعلام خبر به یک سلول که می بایست شارژ گردد و یا ضرورتی به شارژ وجود ندارد (Write enable) سایر عملیات مربوط به "کنترل کننده حافظه" شامل مواردی نظیر : مشخص نمودن نوع سرعت ، میزان حافظه و بررسی خطاء است .
حافظه های SRAM دارای یک تکنولوژی کاملا" متفاوت می باشند.
در این نوع از حافظه ها از فلیپ فلاپ برای ذخیره سازی هر بیت حافظه استفاده می گردد.
یک فلیپ فلاپ برای یک سلول حافظه، از چهار تا شش ترانزیستور استفاده می کند .
حافظه های SRAM نیازمند بازخوانی / بازنویسی اطلاعات نخواهند بود، بنابراین سرعت این نوع از حافظه ها بمراتب از حافظه های DRAM بیشتر است .با توجه به اینکه حافظه های SRAM از بخش های متعددی تشکیل می گردد، فضای استفاده شده آنها بر روی یک تراشه بمراتب بیشتر از یک سلول حافظه از نوع DRAM خواهد بود.
در چنین مواردی میزان حافظه بر روی یک تراشه کاهش پیدا کرده و همین امر می تواند باعث افزایش قیمت این نوع از حافظه ها گردد.
بنابراین حافظه های SRAM سریع و گران و حافظه های DRAM ارزان و کند می باشند .
با توجه به موضوع فوق ، از حافظه های SRAM بمنظور افزایش سرعت پردازنده ( استفاده از Cache) و از حافظه های DRAM برای فضای حافظه RAM در کامپیوتر استفاده می گردد.
ماژول های حافظه تراشه های حافظه در کامییوترهای شخصی در آغاز از یک پیکربندی مبتنی بر Pin با نام (DIP(Dual line Package استفاده می کردند.
این پیکربندی مبتنی بر پین، می توانست لحیم کاری درون حفره هائی برروی برداصلی کامپیوتر و یا اتصال به یک سوکت بوده که خود به برد اصلی لحیم شده است .همزمان با افزایش حافظه ، تعداد تراشه های مورد نیاز، فضای زیادی از برد اصلی را اشغال می کردند.از روش فوق تا زمانیکه میزان حافظه حداکثر دو مگابایت بود ، استقاده می گردید.
راه حل مشکل فوق، استقرار تراشه های حافظه بهمراه تمام عناصر و اجزای حمایتی در یک برد مدار چاپی مجزا (Printed circut Board) بود.
برد فوق در ادامه با استفاده از یک نوع خاص از کانکنور ( بانک حافظه ) به برد اصلی متصل می گردید.
این نوع تراشه ها اغلب از یک پیکربندی pin با نام Small Outline J-lead ) soj ) استفاده می کردند .
برخی از تولیدکنندگان دیگر که تعداد آنها اندک است از پیکربندی دیگری با نام) Thin Small Outline Package ) tsop استفاده می نمایند.
تفاوت اساسی بین این نوع پین های جدید و پیکربندی DIP اولیه در این است که تراشه های SOJ و TSOR بصورت surface-mounted در PCB هستند.
به عبارت دیگر پین ها مستقیما" به سطح برد لحیم خواهند شد .
( نه داخل حفره ها و یا سوکت ) .
تراشههای حافظه از طریق کارتهائی که "ماژول" نامیده می شوند قابل دستیابی و استفاده می باشند.
شاید تاکنون با مشخصات یک سیستم که میزان حافظه خود را بصورت 32 * 8 , یا 16 * 4 اعلام می نماید، برخورده کرده باشید.
اعداد فوق تعداد تراشهها ضربدر ظرفیت هر یک از تراشهها را که بر حسب مگابیت اندازه گیری میگردند، نشان می دهد.
بمنظور محاسبه ظرفیت، می توان با تقسیم نمودن آن بر هشت میزان مگابایت را بر روی هر ماژول مشخص کرد.
مثلا" یک ماژول 32 * 4، بدین معنی است که ماژول دارای چهار تراشه 32 مگابیتی است.
با ضرب 4 در 32 عدد 128 (مگابیت) بدست می آید.
اگر عدد فوق را بر هشت تقسیم نمائیم به ظرفیت 16 مگابایت خواهیم رسید.
نوع برد و کانکتور استفاده شده در حافظه های RAM، طی پنج سال اخیر تفاوت کرده است.
نمونههای اولیه اغلب بصورت اختصاصی تولید می گردیدند.
تولید کنندگان متفاوت کامپیوتر بردهای حافظه را بگونهای طراحی میکردند که صرفا" امکان استفاده از آنان در سیستم های خاصی وجود داشت.
در ادامه (SIMM (Single in-line memory مطرح گردید.
این نوع از بردهای حافظه از 30 پین کانکتور استفاده کرده و طول آن حدود 3/5 اینچ و عرض آن یک اینچ بود ( یازده سانتیمتر در 2/5 سانتیمتر ).
در اغلب کامپیوترها میبایست بردهای SIMM بصورت زوج هائی که دارای ظرفیت و سرعت یکسان باشند، استفاده گردد.
علت این است که پهنای گذرگاه داده بیشتر از یک SIMM است.
مثلا" از دو SIMM هشت مگابایتی برای داشتن 16 مگابایت حافظه بر روی سیستم استفاده میگردد.
هر SIMM قادر به ارسال هشت بیت داده در هر لحظه خواهد بود با توجه به این موضوع که گذرگاه داده شانزده بیتی است از نصف پهنای باند استفاده شده و این امر منطقی بنظر نمی آید.
در ادامه بردهای SIMM بزرگتر شده و دارای ابعاد 25 / 4 * 1 شدند (11 سانتیمتر در 2/5 سانتیمتر) و از 72 پین برای افزایش پهنای باند و امکان افزایش حافظه تا میزان 256 مگابایت بدست آمد.
بموازات افزایش سرعت و ظرفیت پهنای باند پردازندهها، تولیدکنندگان از استاندارد جدید دیگری با نام dual in-line memory module) DIMM) استفاده کردند.
این نوع بردهای حافظه دارای 168 پین و ابعاد 1 * 5/4 اینچ (تقریبا" 14 سانتیمتر در 2/5 سانتیمتر) بودند.
ظرفیت بردهای فوق در هر ماژول از هشت تا 128 مگابایت را شامل و می توان آنها را بصورت تک (زوج الزامی نیست) استفاده کرد.
اغلب ماژولهای حافظه با 3/3 ولت کار میکنند.
در سیستم های مکینتاش از 5 ولت استفاده مینمایند.
یک استاندارد جدید دیگر با نام Rambus in-line memory module ، RIMM از نظر اندازه و پین با DIMM قابل مقایسه است ولی بردهای فوق ، از یک نوع خاص گذرگاه داده حافظه برای افزایش سرعت استفاده می نمایند.
اغلب بردهای حافظه در کامپیوترهای دستی (notebook) از ماژول های حافظه کاملا" اختصاصی استفاده می نمایند ولی برخی از تولیدکنندگان حافظه از استاندارد small outline dual in-line memory module) SODIMM استفاده می نمایند.
بردهای حافظه SODIMM دارای ابعاد 1* 2 اینچ ( 5 سانتیمنتر در 5 /2 سانتیمنتر ) بوده و از 144 پین استفاده می نمایند.
ظرفیت این نوع بردها ی حافظه در هر ماژول از 16 مگابایت تا 256 مگابایت می تواند باشد.
انواع حافظه RAM Static random access memory)SRAM) .
این نوع حافظه ها از چندین ترانزیستور ( چهار تا شش ) برای هر سلول حافظه استفاده می نمایند.
برای هر سلول از خازن استفاده نمی گردد.
این نوع حافظه در ابتدا بمنظور cache استفاده می شدند.
Dynamic random access memory)DRAM) .
در این نوع حافظه ها برای سلول های حافظه از یک زوج ترانزیستورو خازن استفاده می گردد .
Fast page mode dynamic random access memory)FPM DRAM) .
شکل اولیه ای از حافظه های DRAM می باشند.در تراشه ای فوق تا زمان تکمیل فرآیند استقرار یک بیت داده توسط سطر و ستون مورد نظر، می بایست منتظر و در ادامه بیت خوانده خواهد شد.( قبل از اینکه عملیات مربوط به بیت بعدی آغاز گردد) .حداکثر سرعت ارسال داده به L2 cache معادل 176 مگابایت در هر ثانیه است .
Extended data-out dynamic random access memory)EDO DRAM) .
این نوع حافظه ها در انتظار تکمیل و اتمام پردازش های لازم برای اولین بیت نشده و عملیات مورد نظر خود را در رابطه با بیت بعد بلافاصله آغاز خواهند کرد.
پس از اینکه آدرس اولین بیت مشخص گردید EDO DRAM عملیات مربوط به جستجو برای بیت بعدی را آغاز خواهد کرد.
سرعت عملیات فوق پنج برابر سریعتر نسبت به حافظه های FPM است .
حداکثر سرعت ارسال داده به L2 cache معادل 176 مگابایت در هر ثانیه است .
Synchronous dynamic random access memory)SDRM) از ویژگی "حالت پیوسته " بمنظور افزایش و بهبود کارائی استفاده می نماید .بدین منظور زمانیکه سطر شامل داده مورد نظر باشد ، بسرعت در بین ستون ها حرکت و بلافاصله پس از تامین داده ،آن را خواهد خواند.
SDRAM دارای سرعتی معادل پنج برابر سرعت حافظه های EDO بوده و امروزه در اکثر کامپیوترها استفاده می گردد.حداکثر سرعت ارسال داده به L2 cache معادل 528 مگابایت در ثانیه است .
Rambus dynamic random access memory )RDRAM) یک رویکرد کاملا" جدید نسبت به معماری قبلی DRAM است.
این نوع حافظه ها از Rambus in-line memory module)RIMM) استفاده کرده که از لحاظ اندازه و پیکربندی مشابه یک DIMM استاندارد است.
وجه تمایز این نوع حافظه ها استفاده از یک گذرگاه داده با سرعت بالا با نام "کانال Rambus " است .
تراشه های حافظه RDRAM بصورت موازی کار کرده تا بتوانند به سرعت 800 مگاهرتز دست پیدا نمایند.
Credit card memory: یک نمونه کاملا" اختصاصی از تولیدکنندگان خاص بوده و شامل ماژول های DRAM بوده که دریک نوع خاص اسلات ، در کامپیوترهای noteBook استفاده می گردد .
PCMCIA memory card .نوع دیگر از حافظه شامل ماژول های DRAM بوده که در notebook استفاده می شود.
FlashRam نوع خاصی از حافظه با ظرفیت کم برای استفاده در دستگاههائی نظیر تلویزیون، VCR بوده و از آن به منظور نگهداری اطلاعات خاص مربوط به هر دستگاه استفاده می گردد.
زمانیکه این نوع دستگاهها خاموش باشند همچنان به میزان اندکی برق مصرف خواهند کرد.
در کامپیوتر نیز از این نوع حافظه ها برای نگهداری اطلاعاتی در رابطه با تنظیمات هارد دیسک و ...
استفاده می گردد.
VideoRam)VRAM) یک نوع خاص از حافظه های RAM بوده که برای موارد خاص نظیر : آداپتورهای ویدئو و یا شتا ب دهندگان سه بعدی استفاده می شود.
به این نوع از حافظه ها multiport dynamic random access memory) MPDRAM) نیز گفته می شود.علت نامگذاری فوق بدین دلیل است که این نوع از حافظه ها دارای امکان دستیابی به اطلاعات، بصورت تصادفی و سریال می باشند .
VRAM بر روی کارت گرافیک قرار داشته و دارای فرمت های متفاوتی است.
میزان حافظه فوق به عوامل متفاوتی نظیر : " وضوح تصویر " و " وضعیت رنگ ها " بستگی دارد.
به چه میزان حافظه نیاز است؟
حافظه RAM یکی از مهمترین فاکتورهای موجود در زمینه ارتقاء کارآئی یک کامپیوتر است.
افزایش حافظه بر روی یک کامپیوتر با توجه به نوع استفاده میتواند در مقاطع زمانی متفاوتی انجام گیرد.
در صورتیکه از سیستمهای عامل ویندوز 95 و یا 98 استفاده میگردد حداقل به 32 مگابایت حافظه نیاز خواهد بود.
(64 مگابایت توصیه میگردد).
اگر از سیستم عامل ویندوز 2000 استفاده میگردد حداقل به 64 مگابایت حافظه نیاز خواهد بود.
(128 مگابایت توصیه میگردد) سیستم عامل لینوکس صرفا" به 4 مگابایت حافظه نیاز دارد.
در صورتیکه از سیستم عامل اپل استفاده می گردد به 16 مگابایت حافظه نیاز خواهد بود.( 64 مگابایت توصیه می گردد) میزان حافظه اشاره شده برای هر یک از سیستم های فوق بر اساس کاربردهای معمولی ارائه شده است.
دستیابی به اینترنت، استفاده از برنامههای کاربردی خاص و سرگرم کننده، نرمافزارهای خاص طراحی، انیمیشن سه بعدی و ...
مستلزم استفاده از حافظه بمراتب بیشتری خواهد بود.
حافظه ROM حافظه ROM یک نوع مدار مجتمع (IC) است که در زمان ساخت داده هائی در آن ذخیره می گردد.
این نوع از حافظه ها علاوه بر استفاده در کامپیوترهای شخصی در سایر دستگاههای الکترونیکی نیز بخدمت گرفته می شوند.
حافظه های ROM از لحاظ تکنولوژی استفاده شده، دارای انواع زیر می باشند: ROM PROM EPROM EEPROM Flash Memory هر یک از مدل های فوق دارای ویژگی های منحصربفرد خود می باشند .
حافظه های فوق در موارد زیردارای ویژگی مشابه می باشند: داد های ذخیره شده در این نوع تراشته ها " غیر فرار " بوده و پس از خاموش شدن منبع تامین انرژی اطلاعات خود را از دست نمی دهدند.
داده های ذخیره شده در این نوع از حافظه ها غیر قابل تغییر بوده و یا اعمال تغییرات در آنها مستلزم انجام عملیات خاصی است.
مبانی حافظه های ROM حافظه ROM از تراشه هائی شامل شبکه ای از سطر و ستون تشکیل شده است ( نظیر حافظه RAM) .
هر سطر وستون در یک نقظه یکدیگر را قطع می نمایند.
تراشه های ROM دارای تفاوت اساسی با تراشه های RAM می باشند.
حافظه RAM از " ترانزیستور " بمنظور فعال و یا غیرفعال نمودن دستیابی به یک " خازن " در نقاط برخورد سطر و ستون ، استفاده می نمایند.در صورتیکه تراشه های ROM از یک " دیود" (Diode) استفاده می نماید.
در صورتیکه خطوط مربوطه "یک" باشند برای اتصال از دیود استفاده شده و اگر مقدار "صفر" باشد خطوط به یکدیگر متصل نخواهند شد.
دیود، صرفا" امکان حرکت " جریان " را در یک جهت ایجاد کرده و دارای یک نفطه آستانه خاص است .
این نقطه اصطلاحا" (Forward breakover) نامیده می شود.
نقطه فوق میزان جریان مورد نیاز برای عبور توسط دیود را مشخص می کند.
در تراشه ای مبتنی بر سیلیکون نظیر پردازنده ها و حافظه ، ولتاژ Forward breakover تقریبا" معادل شش دهم ولت است .با بهره گیری از ویژگی منحصر بفرد دیود، یک تراشه ROM قادر به ارسال یک شارژ بالاتر از Forward breakover و پایین تر از ستون متناسب با سطر انتخابی ground شده در یک سلول خاص است .در صورتیکه دیود در سلول مورد نظر ارائه گردد، شارژ هدایت شده (از طریق Ground ) و با توجه به سیستم باینری ( صفر و یک )، سلول یک خوانده می شود ( مقدار آن 1 خواهد بود) در صورتیکه مقدار سلول صفر باشد در محل برخورد سطر و ستون دیودی وجود نداشته و شارژ در ستون ، به سطر مورد نظر منتقل نخواهد شد.
همانطور که اشاره گردید، تراشه ROM ، مستلزم برنامه نویسی وذخیره داده در زمان ساخت است .
یک تراشه استاندارد ROM را نمی توان برنامه ریزی مجدد و اطلاعات جدیدی را در آن نوشت .
در صورتیکه داده ها درست نبوده و یا مستلزم تغییر و یا ویرایش باشند، می بایست تراشه را دور انداخت و مجددا" از ابتدا عملیات برنامه ریزی یک تراشه جدید را انجام داد.فرآیند ایجاد تمپلیت اولیه برای تراشه های ROM دشوار است .اما مزیت حافظه ROM بر برخی معایب آن غلبه می نماید.
زمانیکه تمپلیت تکمیل گردید تراشه آماده شده، می تواند بصورت انبوه و با قیمت ارزان به فروش رسد.این نوع از حافظه ها از برق ناچیزی استفاده کرده ، قابل اعتماد بوده و در رابطه با اغلب دستگاههای الکترونیکی کوچک، شامل تمامی دستورالعمل های لازم بمنظور کنترل دستگاه مورد نظر خواهند بود.استفاده از این نوع تراشه ها در برخی از اسباب بازیها برای نواختن موسیقی، آواز و ...
متداول است .
حافظه PROM تولید تراشه های ROM مستلزم صرف وقت و هزینه بالائی است .بدین منظور اغلب تولید کنندگان ، نوع خاصی از این نوع حافظه ها را که PROM )Programmable Read-Only Memory) نامیده می شوند ، تولید می کنند.این نوع از تراشه ها با محتویات خالی با قیمت مناسب عرضه شده و می تواند توسط هر شخص با استفاده از دستگاههای خاصی که Programmer نامیده می شوند ، برنامه ریزی گردند.
ساختار این نوع از تراشه ها مشابه ROM بوده با این تفاوت که در محل برخورد هر سطر و ستون از یک فیوز( برای اتصال به یکدیگر) استفاده می گردد.
یک شارژ که از طریق یک ستون ارسال می گردد از طریق فیوز به یک سلول پاس داده شده و بدین ترتیب به یک سطر Grounded که نماینگر مقدار "یک" است ، ارسال خواهد شد.
با توجه به اینکه تمام سلول ها دارای یک فیوز می باشند، درحالت اولیه ( خالی )، یک تراشه PROM دارای مقدار اولیه " یک" است .
بمنظور تغییر مقدار یک سلول به صفر، از یک Programmer برای ارسال یک جریان خاص به سلول مورد نظر، استفاده می گردد.ولتاژ بالا، باعث قطع اتصال بین سطر و ستون (سوختن فیوز) خواهد کرد.
فرآیند فوق را " Burning the PROM " می گویند.
حافظه های PROM صرفا" یک بار قابل برنامه ریزی هستند.
حافظه های فوق نسبت به RAM شکننده تر بوده و یک جریان حاصل از الکتریسیته ساکن، می تواند باعث سوخته شدن فیور در تراشه شده و مقدار یک را به صفر تغییر نماید.
از طرف دیگر ( مزایا ) حافظه ای PROM دارای قیمت مناسب بوده و برای نمونه سازی داده برای یک ROM ، قبل از برنامه ریزی نهائی کارآئی مطلوبی دارند.
حافظه EPROM استفاده کاربردی از حافظه های ROM و PROM با توجه به نیاز به اعمال تغییرات در آنها قابل تامل است ( ضرورت اعمال تغییرات و اصلاحات در این نوع حافظه ها می تواند به صرف هزینه بالائی منجر گردد)حافظه هایEPROM)Erasable programmable read-only memory) پاسخی مناسب به نیاز های مطح شده است ( نیاز به اعمال تغییرات ) تراشه های EPROM را می توان چندین مرتبه باز نویسی کرد.
پاک نمودن محتویات یک تراشه EPROM مشتلزم استفاده از دستگاه خاصی است که باعث ساطع کردن یک فرکانس خاص ماوراء بنفش باشد..
پیکربندی این نوع از حافظه ها مستلزم استفاده از یک Programmer از نوع EPROM است که یک ولتاژ را در یک سطح خاص ارائه نمایند ( با توجه به نوع EPROM استفاده شده ) این نوع حافظه ها ، نیز دارای شبکه ای مشتمل از سطر و ستون می باشند.
در یک EPROM سلول موجود در نقظه برخورد سطر و ستون دارای دو ترانزیستور است .ترانزیستورهای فوق توسط یک لایه نازک اکسید از یکدیگر جدا شده اند.
یکی از ترانزیستورها Floating Gate و دیگری Control Gate نامیده می شود.
Floating gate صرفا" از طریق Control gate به سطر مرتبط است.
مادامیکه لینک برقرارباشد سلول دارای مقدار یک خواهد بود.
بمنظور تغییر مقدار فوق به صفر به فرآیندی با نام Fowler-Nordheim tunneling نیاز خواهد بود .Tunneling بمنظور تغییر محل الکترون های Floating gate استفاده می گردد.یک شارژ الکتریکی بین 10 تا 13 ولت به floating gate داده می شود.شارژ از ستون شروع و پس از ورود به floating gate در ground تخلیه خواهد گردید.
شارژ فوق باعث می گردد که ترانزیستور floating gate مشابه یک "پخش کننده الکترون " رفتار نماید .
الکترون های مازاد فشرده شده و در سمت دیگر لایه اکسید به دام افتاد و یک شارژ منفی را باعث می گردند.
الکترون های شارژ شده منفی ، بعنوان یک صفحه عایق بین control gate و floating gate رفتار می نمایند.دستگاه خاصی با نام Cell sensor سطح شارژ پاس داده شده به floating gate را مونیتور خواهد کرد.
در صورتیکه جریان گیت بیشتر از 50 درصد شارژ باشد در اینصورت مقدار "یک" را دارا خواهد بود.زمانیکه شارژ پاس داده شده از 50 درصد آستانه عدول نموده مقدار به "صفر" تغییر پیدا خواهد کرد.یک تراشه EPROM دارای گیت هائی است که تمام آنها باز بوده و هر سلول آن مقدار یک را دارا است.
بمنظور باز نویسی یک EPROM می بایست در ابتدا محتویات آن پاک گردد.
برای پاک نمودن می بایست یک سطح از انرژی زیاد را بمنظور شکستن الکترون های منفی Floating gate استفاده کرد.در یک EPROM استاندارد ،عملیات فوق از طریق اشعه ماوراء بنفش با فرکانس 253/7 انحام می گردد.فرآیند حذف در EPROM انتخابی نبوده و تمام محتویات آن حذف خواهد شد.
برای حذف یک EPROM می بایست آن را از محلی که نصب شده است جدا کرده و به مدت چند دقیقه زیر اشعه ماوراء بنفش دستگاه پاک کننده EPROM قرار داد.
حافظه های EEPROM و Flash Memory با اینکه حافظه ای EPROM یک موفقیت مناسب نسبت به حافظه های PROM از بعد استفاده مجدد می باشند ولی کماکن نیازمند بکارگیری تجهیزات خاص و دنبال نمودن فرآیندهای خسته کننده بمنظور حذف و نصب مجدد آنان در هر زمانی است که به یک شارژ نیاز باشد.
در ضمن، فرآیند اعمال تغییرات در یک حافظه EPROM نمی تواند همزمان با نیاز و بصورت تصاعدی صورت پذیرد و در ابتدا می بایست تمام محتویات را پاک نمود.حافظه های Electrically Erasable Programmable Read Only Memory)EEOPROM) پاسخی مناسب به نیازهای موجود است .
در حافظه های EEPROM تسهیلات زیر ارائه می گردد: برای بازنویسی تراشه نیاز به جدا نمودن تراشه از محل نصب شده نخواهد بود.
برای تغییر بخشی از تراشه نیاز به پاک نمودن تمام محتویات نخواهد بود.
اعمال تغییرات در این نوع تراشه ها مستلزم بکارگیری یک دستگاه اختصاصی نخواهد بود.
در عوض استفاده از اشعه ماوراء بنفش، می توان الکترون های هر سلول را با استفاده از یک برنامه محلی و بکمک یک میدان الکتریکی به وضعیت طبیعی برگرداند.
عملیات فوق باعث حذف سلول های مورد نظر شده و می توان مجددا" آنها را بازنویسی نمود.تراشه های فوق در هر لحظه یک بایت را تغییر خواهند داد.فرآیند اعمال تغییرات در تراشه های فوق کند بوده و در مواردی که می بایست اطلاعات با سرعت تغییر یابند ، سرعت لازم را نداشته و دارای چالش های خاص خود می باشند.
تولیدکنندگان با ارائه Flash Memory که یک نوع خاص از حافظه های EEPROM می باشد به محدودیت اشاره شده پاسخ لازم را داده اند.در حافظه Falsh از مدارات از قبل پیش بینی شده در زمان طراحی ، بمنظور حذف استفاده می گردد ( بکمک ایجاد یک میدان الکتریکی).
در این حالت می توان تمام و یا بخش های خاصی از تراشه را که " بلاک " نامیده می شوند، را حذف کرد.این نوع حافظه نسبت به حافظه های EEPROM سریعتر است ، چون داده ها از طریق بلاک هائی که معمولا" 512 بایت می باشند ( به جای یک بایت در هر لحظه ) نوشته می گردند.