Пам'ять постійного зберігання (ППЗ), постійна пам’ять, постійний запам'ятовуючий пристрій — тип енергонезалежної пам’яті, що використовується в комп’ютерах та інших електронних пристроях. Дані, що зберігаються в ППЗ, як правило, не можуть бути змінені(перезаписані) програмним способом після виготовлення пристрою пам'яті та запису на нього інформації. Постійна пам’ять корисна для зберігання програмного забезпечення, яке не змінюється протягом терміну використання системи (вбудоване програмне забезпечення). Програмні застосунки (наприклад, відеоігри) для програмованих пристроїв(ігрових консолей) можна розповсюджувати записаними до ППЗ.
Строго кажучи, пам’ять лише для читання відноситься до пам’яті, яка є жорстко підключеною, наприклад, діодною матрицею або інтегральною схемою ППЗ маски (IC), яку неможливо змінити електронним способом після виготовлення. Хоча дискретні схеми можуть бути змінені в принципі шляхом додавання провідників та/або видалення або заміни компонентів, мікросхеми не можуть. Виправлення помилок або оновлення програмного забезпечення вимагають виробництва нових пристроїв і заміни встановленого пристрою.
Напівпровідникова пам’ять ППЗ з плаваючим затвором у формі стираної програмованої постійної пам’яті (EPROM), електрично стираної програмованої постійної пам’яті (EEPROM) і флешпам’яті можна стирати та перепрограмувати. Але це можна зробити лише на відносно низьких швидкостях запису, для цього може знадобитися спеціальне обладнання, і зазвичай це можливо лише певну кількість разів.
Термін «ROM» іноді використовується для позначення пристрою ROM, що містить певне програмне забезпечення, або файл із програмним забезпеченням, який буде зберігатися в записуваному пристрої ROM. Наприклад, користувачі, які змінюють або замінюють операційну систему Android, описують файли, що містять змінену або замінену операційну систему, як «спеціальні ППЗ» після типу сховища, куди файл був записаний, і вони можуть розрізняти ППЗ (де програмне забезпечення та дані зберігається, як правило, флеш-пам’ять) і оперативна пам’ять.
Історія
Дискретно-компонентна постійна пам'ять
IBM використовувала конденсаторне сховище лише для читання (CROS) і трансформаторне сховище лише для читання (TROS) для зберігання мікрокоду для молодших моделей System/360, 360/85, і перших двох моделей System/370 (370/155 і 370/ 165). У деяких моделях також було доступне для запису сховище керування (WCS) для додаткової діагностики та підтримки емуляції. Комп’ютер наведення космічного корабля Apollo використовував феромагнітну пам’ять ядра, запрограмовану шляхом протягування дротів через магнітні сердечники.
Твердотільна постійна пам'ять
Найпростіший тип твердотільної ППЗ з'явився з появою напівпровідникової технології. Комбінації логічних вентилів можна об’єднати вручну, щоб відобразити n-бітну вхідну адресу на довільні значення m -бітових вихідних даних (таблиця пошуку). З винаходом інтегральної схеми з'явилася маскові ROM. Mask ROM складається з гратки рядків слів (введення адреси) і рядків бітів (вихід даних), вибірково об’єднаних разом за допомогою транзисторних перемикачів, і може представляти довільну таблицю пошуку зі звичайним фізичним розташуванням і передбачуваною затримкою поширення. Mask ROM програмується фотомасками у фотолітографії під час виробництва напівпровідників. Маска визначає фізичні особливості або структури, які будуть видалені або додані у мікросхеми ППЗ, і наявність або відсутність цих функцій представлятиме 1 або 0 біт, залежно від дизайну ППЗ. Таким чином, будь-які спроби змінити дані в електронному вигляді зазнають невдачі, оскільки дані визначаються наявністю або відсутністю фізичних особливостей або структур, які не можуть бути змінені в електронному вигляді. Для кожної програми, навіть для версій тієї самої програми, потрібно змінити всю маску, що може коштувати дорого.
У маскових ППЗ дані фізично закодовані в схемі, тому їх можна запрограмувати лише під час виготовлення. Це призводить до ряду серйозних недоліків:
- Економічно вигідно купувати маскові ППЗ у великих кількостях, оскільки користувачі повинні укладати контракт із заводом, щоб створити індивідуальний дизайн для кожної деталі або переглянути програмне забезпечення.
- Час виконання між завершенням розробки ППЗ маски та отриманням готового продукту тривалий з тієї ж причини.
- Mask ROM є непрактичним для науково-дослідної роботи, оскільки дизайнерам часто потрібно швидко змінювати вміст пам’яті під час вдосконалення дизайну.
- Якщо продукт постачається з несправною масковою ППЗ, єдиний спосіб виправити це — відкликати продукт і фізично замінити ППЗ в кожній надісланій одиниці.
Подальші розробки усунули ці недоліки. Програмована постійна пам'ять (PROM), винайдена Вень Цін Чоу в 1956 році дозволяла користувачам програмувати її вміст точно один раз, фізично змінюючи її структуру за допомогою імпульсів високої напруги. Це вирішило проблеми 1 і 2 вище, оскільки компанія може просто замовити велику партію свіжих чіпів PROM і запрограмувати їх із бажаним вмістом у зручний для її розробників спосіб.
Поява польового транзистора метал-оксид-напівпровідник (MOSFET), винайденого в Bell Labs в 1959 році дозволила практичне використання транзисторів метал-оксид-напівпровідник (MOS) як запам'ятовуючих елементів комірки пам'яті в напівпровідниковій пам'яті, функція, яку раніше виконували магнітні сердечники в пам'яті комп'ютера. У 1967 році Давон Кан і Саймон Се з Bell Labs запропонували, щоб плаваючий затвор МОП-напівпровідникового пристрою можна було використовувати для комірки перепрограмованого ППЗ, що дозволило Дову Фроману з Intel створити стрирану програмовану постійну пам’ять(EPROM) у 1971 році. Винахід EPROM по суті вирішив проблему 3, оскільки EPROM (на відміну від PROM) можна неодноразово повертати до свого незапрограмованого стану під впливом потужного ультрафіолетового світла.
Електрично стирана програмована постійна пам’ять (EEPROM), розроблена Ясуо Таруї, Ютакою Хаясі та Кійоко Нагою в Електротехнічній лабораторії в 1972 році, пройшла довгий шлях до вирішення проблеми 4, оскільки EEPROM можна запрограмувати на місці, якщо пристрій, що містить, забезпечує засіб отримання програмного вмісту із зовнішнього джерела (наприклад, персонального комп’ютера через послідовний кабель). Флеш-пам'ять, винайдена Фудзіо Масуока в Toshiba на початку 1980-х і комерційно доступна з кінця 1980-х, є формою EEPROM, яка дуже ефективно використовує площу мікросхеми і може бути стерта і перепрограмована тисячі разів без пошкоджень. Це дозволяє видаляти та програмувати лише певну частину пристрою, а не весь пристрій. Це можна зробити на високій швидкості, звідси й назва «флеш».
Усі ці технології покращили гнучкість ППЗ, але зі значною ціною за чіп, так що у великих кількостях маскова ППЗ залишатиметься економічним вибором протягом багатьох років. (Зменшення вартості перепрограмованих пристроїв майже знищило ринок маскових ППЗ до 2000 року) Перезаписувані технології були передбачені як заміна маскових ППЗ.
Найновішою розробкою є флешпам’ять NAND, також винайдена Toshiba. Його розробники явно відійшли від минулої практики, прямо заявивши, що «метою флеш-пам’яті NAND є заміна жорстких дисків», а не традиційне використання ППЗ як форми енергонезалежної основної пам’яті. Станом на 2021 рік, NAND майже повністю досяг цієї мети, запропонувавши пропускну здатність, вищу за жорсткі диски, нижчу затримку, вищу толерантність до фізичних ударів, надзвичайну мініатюрність (наприклад, у формі флешнакопичувачів USB і крихітних карток пам’яті microSD) і значно нижче енергоспоживання.
Використання для зберігання програм
Багато комп’ютерів із збереженими програмами використовують форму енергонезалежного сховища (тобто сховище, яке зберігає свої дані після відключення живлення) для зберігання початкової програми, яка запускається, коли комп’ютер увімкнено або іншим чином починає виконуватися (процес, відомий [ як завантаження, часто скорочено до «завантаження» або «завантаження»). Так само кожному нетривіальному комп’ютеру потрібна певна форма змінної пам’яті для запису змін у його стані під час виконання.
Форми постійної пам’яті використовувалися як енергонезалежне сховище для програм у більшості ранніх комп’ютерів із збереженими програмами, таких як ENIAC після 1948 року. (До того часу це не був комп’ютер зі збереженими програмами, оскільки кожну програму потрібно було вручну підключати до машини, що могло зайняти кілька днів або тижнів.) Пам’ять лише для читання було простіше реалізувати, оскільки їй потрібен був лише механізм для читання збережених значень, і не змінювати їх на місці, і, отже, можна реалізувати за допомогою дуже грубих електромеханічних пристроїв (див. історичні приклади нижче). З появою інтегральних схем у 1960-х роках і ПЗП, і його змінний аналог статична оперативна пам'ять були реалізовані як масиви транзисторівв кремнієвих мікросхемах; однак комірка пам’яті ROM може бути реалізована з використанням меншої кількості транзисторів, ніж комірка пам’яті SRAM, оскільки остання потребує засувки (що містить 5-20 транзисторів), щоб зберегти її вміст, тоді як комірка ROM може складатися з відсутності (логічний 0) або наявність (логічна 1) одного транзистора, що з'єднує бітову лінію з лінією слова. Отже, ROM можна було б реалізувати за нижчою ціною за біт, ніж RAM протягом багатьох років.
Більшість домашніх комп’ютерів 1980-х років зберігали інтерпретатор BASIC або операційну систему в ППЗ, оскільки інші форми енергонезалежного зберігання, такі як магнітні дисководи, були надто дорогими. Наприклад, Commodore 64 включав 64 КБ оперативної пам'яті та 20 КБ ППЗ, що містить інтерпретатор BASIC і операційну систему KERNAL. Пізніші домашні чи офісні комп’ютери, такі як IBM PC XT, часто включали магнітні дисководи та більші обсяги оперативної пам’яті, що дозволяло їм завантажувати свої операційні системи з диска в оперативну пам’ять, при цьому лише мінімальне ядро ініціалізації апаратного забезпечення та завантажувач залишалися в ПЗП (відомі як BIOS _в IBM-сумісних комп’ютерах). Таке розташування дозволило створити більш складну операційну систему, яку можна було легко оновити.
У сучасних комп’ютерах «ПЗП» використовується для зберігання базової мікропрограми початкового завантаження для процесора, а також різноманітної мікропрограми, необхідної для внутрішнього керування автономними пристроями, такими як графічні карти, жорсткі диски, твердотільні накопичувачі, оптичні дисководи, TFT екрани тощо в системі. Сьогодні багато з цих пам’яті «лише для читання» – особливо BIOS/UEFI – часто замінюють на EEPROM або флеш-пам’ять.(див. нижче), щоб дозволити перепрограмування на місці, якщо виникне потреба в оновленні мікропрограми. Однак прості та зрілі підсистеми (наприклад, клавіатура або деякі комунікаційні контролери в інтегральних схемах на головній платі, наприклад) можуть використовувати ППЗ маски або OTP (одноразово програмований).
ППЗ та наступні технології, такі як флеш-пам'ять, переважають у вбудованих системах. Це все, починаючи від промислових роботів і закінчуючи побутовою технікою та споживчою електронікою (MP3-плеєри, телевізійні приставки тощо), усі вони розроблені для певних функцій, але базуються на мікропроцесорах загального призначення. Оскільки програмне забезпечення, як правило, тісно пов’язане з апаратним забезпеченням, у таких пристроях рідко потрібні зміни в програмі (у яких зазвичай немає жорстких дисків через вартість, розмір або енергоспоживання). Станом на 2008 рік більшість продуктів використовують флешпам’ять, а не маскові ППЗ, і багато з них забезпечують певні засоби підключення до комп’ютера для мікропрограми.оновлення; наприклад, цифровий аудіопрогравач можна оновити для підтримки нового формату файлів. Деякі любителі скористалися цією гнучкістю, щоб перепрограмувати споживчі продукти для нових цілей; наприклад, проекти iPodLinux і OpenWrt дозволили користувачам запускати повнофункціональні дистрибутиви Linux на своїх MP3-плеєрах і бездротових маршрутизаторах відповідно.
ППЗ також корисно для двійкового зберігання криптографічних даних, оскільки це ускладнює їх заміну, що може бути бажаним для підвищення безпеки інформації.
Використання для зберігання даних
Оскільки ППЗ (принаймні у формі жорсткої маски) не можна модифікувати, воно підходить лише для зберігання даних, які, як очікується, не потребують модифікації протягом усього терміну служби пристрою. З цією метою ROM використовувався в багатьох комп’ютерах для зберігання пошукових таблиць для оцінки математичних і логічних функцій (наприклад, одиниця з плаваючою комою може табулювати функцію синуса, щоб сприяти швидшому обчисленню). Це було особливо ефективним, коли процесори були повільними, а ППЗ дешевше порівняно з оперативною пам’яттю.
Примітно, що адаптери дисплея ранніх персональних комп’ютерів зберігали таблиці растрових символів шрифту в ППЗ. Зазвичай це означало, що шрифт відображення тексту не можна було змінити інтерактивно. Це стосувалося як адаптерів CGA, так і MDA, доступних з IBM PC XT.
Використання ППЗ для зберігання таких малих обсягів даних майже повністю зникло в сучасних комп’ютерах загального призначення. Однак флешпам’ять NAND взяла на себе нову роль як засіб масового зберігання або вторинного зберігання файлів.
Хронологія
Дивіться також: Флешпам’ять , Оперативна пам’ять
Дата введення | Назва мікросхеми | Ємність ( біт ) | тип ППЗ | MOSFET | Виробник(и) | процес | Площа | посилання |
---|---|---|---|---|---|---|---|---|
1956 рік | ? | ? | PROM | ? | Arma | ? | ? | |
1965 рік | ? | 256-біт | ROM | Біполярний TTL | Sylvania | ? | ? | |
1965 рік | ? | 1 кб | ROM | MOS | General Microelectronics | ? | ? | |
1969 рік | 3301 | 1 кб | ROM | Біполярний | Intel | ? | ? | |
1970 рік | ? | 512-біт | PROM | Біполярний TTL | Radiation | ? | ? | |
1971 рік | 1702 рік | 2 кб | EPROM | Статичний MOS (кремнієвий затвор) | Intel | ? | 15 мм² | |
1974 рік | ? | 4 кб | ROM | MOS | AMD, General Instrument | ? | ? | |
1974 рік | ? | ? | EAROM | MNOS | General Instrument | ? | ? | |
1975 рік | 2708 | 8 кб | EPROM | NMOS ( FGMOS ) | Intel | ? | ? | |
1976 рік | ? | 2 кб | EEPROM | MOS | Toshiba | ? | ? | |
1977 рік | µCOM-43 (PMOS) | 16 кб | PROM | PMOS | NEC | ? | ? | |
1977 рік | 2716 | 16 кб | EPROM | TTL | Intel | ? | ? | |
1978 рік | EA8316F | 16 кб | ROM | NMOS | Electronic Arrays | ? | 436 мм² | |
1978 рік | µCOM-43 (CMOS) | 16 кб | PROM | CMOS | NEC | ? | ? | |
1978 рік | 2732 | 32 кб | EPROM | NMOS ( HMOS ) | Intel | ? | ? | |
1978 рік | 2364 | 64 кб | ROM | NMOS | Intel | ? | ? | |
1980 рік | ? | 16 кб | EEPROM | NMOS | Motorola | 4000 нм | ? | |
1981 рік | 2764 | 64 кб | EPROM | NMOS (HMOS II) | Intel | 3500 нм | ? | |
1982 рік | ? | 32 кб | EEPROM | MOS | Motorola | ? | ? | |
1982 рік | 27128 | 128 кб | EPROM | NMOS (HMOS II) | Intel | ? | ? | |
1983 рік | ? | 64 кб | EPROM | CMOS | Signetics | 3000 нм | ? | |
1983 рік | 27256 | 256 кб | EPROM | NMOS (HMOS) | Intel | ? | ? | |
1983 рік | ? | 256 кб | EPROM | CMOS | Fujitsu | ? | ? | |
Січень 1984 року | MBM 2764 | 64 кб | EEPROM | NMOS | Fujitsu | ? | 528 мм² | |
1984 рік | ? | 512 кб | EPROM | NMOS | AMD | 1700 нм | ? | |
1984 рік | 27512 | 512 кб | EPROM | NMOS (HMOS) | Intel | ? | ? | |
1984 рік | ? | 1 Мб | EPROM | CMOS | NEC | 1200 нм | ? | |
1987 рік | ? | 4 Мб | EPROM | CMOS | Toshiba | 800 нм | ? | |
1990 рік | ? | 16 Мб | EPROM | CMOS | NEC | 600 нм | ? | |
1993 рік | ? | 8 Мб | MROM | CMOS | Hyundai | ? | ? | |
1995 рік | ? | 1 Мб | EEPROM | CMOS | Hitachi | ? | ? | |
1995 рік | ? | 16 Мб | MROM | CMOS | AKM, Hitachi | ? | ? |