Rigorosamente, la memoria di sola lettura si riferisce alla memoria che è cablata, come la matrice di diodi e la successiva ROM mask. Sebbene i circuiti discreti possano essere alterati (in linea di principio), i circuiti integrati (CI) non possono e sono inutili se i dati sono cattivi. Il fatto che tale memoria non possa mai essere cambiata è un grosso inconveniente; più recentemente, la ROM si riferisce comunemente alla memoria che è di sola lettura nel normale funzionamento, riservando il fatto di qualche possibile modo per cambiarla.,
Altri tipi di memoria non volatile come la memoria di sola lettura programmabile cancellabile (EPROM) e la memoria di sola lettura programmabile cancellabile elettricamente (EEPROM o Flash ROM) sono talvolta indicati, in modo abbreviato, come “memoria di sola lettura” (ROM); sebbene questi tipi di memoria possano essere cancellati e riprogrammati più volte, la scrittura su questa memoria richiede più tempo e può richiedere procedure diverse rispetto alla lettura della memoria., Quando viene utilizzato in questo modo meno preciso, ” ROM ” indica una memoria anon-volatile che serve funzioni tipicamente fornite da mask ROM, come la memorizzazione del codice del programma e dei dati non volatili.
Cronologia
Molte console di gioco utilizzano cartucce ROM intercambiabili, consentendo a un sistema di riprodurre più giochi.
Il tipo più semplice di ROM a stato solido è vecchio quanto la tecnologia dei semiconduttori stessa., Le porte logiche combinatorie possono essere unite manualmente per mappare l’input dell’indirizzo n-bit su valori arbitrari dell’output dei dati m-bit (una tabella di ricerca). Con l’invenzione del circuito integrato è arrivatomaschera ROM. Mask ROM è costituito da una griglia di linee di parola (l’ingresso indirizzo) e linee di bit (l’uscita dei dati), selettivamente uniti insieme con interruttori a transistor, e può rappresentare una tabella di ricerca arbitraria con un layout fisico regolare e prevedibile ritardo di propagazione.
In mask ROM, i dati sono fisicamente codificati nel circuito, quindi possono essere programmati solo durante la fabbricazione., Ciò porta a una serie di gravi svantaggi:
- È economico acquistare mask ROM in grandi quantità, poiché gli utenti devono contrarre con una fonderia per produrre un design personalizzato.
- Il tempo di consegna tra il completamento della progettazione di una ROM maschera e la ricezione del prodotto finito è lungo, per lo stesso motivo.
- Mask ROM non è pratico per il lavoro R&D poiché i progettisti hanno spesso bisogno di modificare il contenuto della memoria mentre perfezionano un progetto.,
- Se un prodotto viene spedito con maschera ROM difettosa, l’unico modo per risolvere il problema è quello di richiamare il prodotto e fisicamente sostituire la ROM in ogni unità spedita.
I successivi sviluppi hanno posto rimedio a queste carenze. PROM, inventato nel 1956, permetteva agli utenti di programmare il suo contenuto esattamente una volta alterando fisicamente la sua struttura con l’applicazione di impulsi ad alta tensione. Questo ha affrontato i problemi 1 e 2 sopra, dal momento che un’azienda può semplicemente ordinare un grande lotto di chip PROM freschi e programmarli con i contenuti desiderati a piacimento dei suoi progettisti., L’invenzione 1971 di EPROM essenzialmente risolto problema 3, dal momento che EPROM (a differenza di PROM) può essere ripetutamente ripristinato al suo stato non programmato da esposizione a forte luce ultravioletta. EEPROM, inventato nel 1983, è andato un lungo cammino per risolvere il problema 4, dal momento che un EEPROM può essere programmato sul posto se il dispositivo contenente fornisce un mezzo per ricevere il contenuto del programma da una fonte esterna (ad esempio, un personal computer tramite cavo aserial)., La memoria flash, inventata a Toshiba a metà degli anni 1980 e commercializzata nei primi anni 1990, è una forma di EEPROM che fa un uso molto efficiente dell’area del chip e può essere cancellata e riprogrammata migliaia di volte senza danni.
Tutte queste tecnologie hanno migliorato la flessibilità della ROM, ma ad un costo significativo-per-chip, in modo che in grandi quantità ROM maschera rimarrebbe una scelta economica per molti anni. (Diminuendo il costo dei dispositivi riprogrammabili aveva quasi eliminato il mercato per mask ROM entro l’anno 2000.) Le tecnologie riscrivibili sono state concepite come sostituzioni per mask ROM.,
Lo sviluppo più recente è NAND flash, inventato anche a Toshiba. I suoi progettisti hanno esplicitamente rotto dalla pratica passata, affermando chiaramente che” lo scopo di NAND Flash è quello di sostituire i dischi rigidi”, piuttosto che l’uso tradizionale della ROM come una forma di archiviazione primaria non volatile. A partire dal 2007, NAND ha parzialmente raggiunto questo obiettivo offrendo un throughput paragonabile ai dischi rigidi, una maggiore tolleranza agli shock fisici, una miniaturizzazione estrema (sotto forma di unità flash USB e piccole schede di memoria microSD, ad esempio) e un consumo energetico molto più basso.,
Utilizzare per la memorizzazione di programmi
Ogni computer con programma memorizzato può utilizzare una forma di archiviazione non volatile (ovvero, archiviazione che conserva i propri dati quando viene rimossa l’alimentazione) per memorizzare il programma iniziale che viene eseguito quando il computer è acceso o inizia altrimenti l’esecuzione (un processo noto come bootstrap, spesso abbreviato in “avvio” o “avvio”). Allo stesso modo, ogni computer non banale ha bisogno di una qualche forma di memoria mutabile per registrare i cambiamenti nel suo stato mentre viene eseguito.,
Forme di memoria di sola lettura sono state impiegate come memoria non volatile per i programmi nella maggior parte dei primi computer a programma memorizzato, come ENIAC dopo il 1948. (Fino ad allora non era un computer con programma memorizzato in quanto ogni programma doveva essere collegato manualmente alla macchina, il che potrebbe richiedere giorni o settimane.) La memoria di sola lettura era più semplice da implementare poiché necessitava solo di un meccanismo per leggere i valori memorizzati e non per modificarli sul posto, e quindi poteva essere implementata con dispositivi elettromeccanici molto grezzi (vedi esempi storici sotto)., Con l’avvento dei circuiti integrati nel 1960, entrambi ROM e la sua mutevole statici RAM sono state implementate come array di transistor in un chip di silicio; tuttavia, una ROM cella di memoria potrebbe essere implementata utilizzando un minor numero di transistor di una cella di memoria SRAM, dato che quest’ultimo ha bisogno di un dispositivo di chiusura (che comprende 5-20 transistor) per mantenere il suo contenuto, mentre una ROM cella potrebbe consistere di assenza (0 logico) o presenza (1 logico) di un transistor collegamento di un po ‘ di linea di una parola di linea. Di conseguenza, la ROM potrebbe essere implementata a un costo per bit inferiore rispetto alla RAM per molti anni.,
La maggior parte dei computer domestici degli anni 1980 memorizzava un interprete di BASE o un sistema operativo in ROM poiché altre forme di archiviazione non volatile come le unità disco magnetiche erano troppo costose. Ad esempio, il Commodore 64 includeva 64 KB di RAM e 20 KB di ROM contenevano un interprete BASIC e il “KERNAL” del suo sistema operativo., Più tardi computer di casa o in ufficio, come l’IBM PC included spesso inclusi dischi magnetici, e grandi quantità di RAM, permettendo loro di caricare i loro sistemi operativi da disco in RAM, con solo un nucleo di inizializzazione hardware minimo e bootloader rimanendo in ROM (noto come il BIOS nei computer IBM compatibili). Questa disposizione ha permesso un sistema operativo più complesso e facilmente aggiornabile.,
Nei PC moderni, “ROM” (o flash) viene utilizzato per memorizzare il firmware di bootstrap di base per il processore principale, nonché i vari firmware necessari per controllare internamente dispositivi autonomi come schede grafiche, dischi rigidi, unità DVD, schermi TFT, ecc., nel sistema. Oggi, molte di queste memorie “di sola lettura” – in particolare il BIOS-sono spesso sostituite con memoria Flash (vedi sotto), per consentire la riprogrammazione sul posto in caso di necessità di un aggiornamento del firmware., Tuttavia, sottosistemi semplici e maturi (come la tastiera o alcuni controller di comunicazione nei circuiti integrati sulla scheda principale, ad esempio) possono impiegare mask ROM o OTP (programmabili una tantum).
ROM e tecnologie successive come flash sono prevalenti nei sistemi embedded. Questi sono in tutto, dai robot industriali agli elettrodomestici e all’elettronica di consumo (lettori MP3, set-top box, ecc.) tutti progettati per funzioni specifiche, ma basati su microprocessori generici., Con il software solitamente strettamente accoppiato all’hardware, le modifiche al programma sono raramente necessarie in tali dispositivi (che in genere mancano di dischi rigidi per motivi di costo, dimensioni o consumo energetico). A partire dal 2008, la maggior parte dei prodotti utilizza Flash piuttosto che mask ROM, e molti forniscono alcuni mezzi per la connessione a un PC per gli aggiornamenti del firmware; ad esempio, un lettore audio digitale potrebbe essere aggiornato per supportare un nuovo formato di file., Alcuni hobbisti hanno approfittato di questa flessibilità per riprogrammare i prodotti di consumo per nuovi scopi; ad esempio, i progetti iPodLinux e OpenWrt hanno permesso agli utenti di eseguire distribuzioni Linux complete sui loro lettori MP3 e router wireless, rispettivamente.
ROM è utile anche per la memorizzazione binaria di dati crittografici, in quanto li rende difficili da sostituire, che può essere auspicabile al fine di migliorare la sicurezza delle informazioni.,
Utilizzare per la memorizzazione dei dati
Poiché la ROM (almeno in forma di maschera cablata) non può essere modificata, è davvero adatta solo per la memorizzazione di dati che non è prevista la necessità di modifiche per la vita del dispositivo. A tal fine, la ROM è stata utilizzata in molti computer per memorizzare tabelle di ricerca per la valutazione di funzioni matematiche e logiche (ad esempio, un’unità in virgola mobile potrebbe tabulare la funzione seno per facilitare il calcolo più veloce). Ciò era particolarmente efficace quando le CPU erano lente e la ROM era economica rispetto alla RAM.,
In particolare, le schede video dei primi personal computer memorizzavano tabelle di caratteri bitmap in ROM. Questo di solito significava che il carattere di visualizzazione del testo non poteva essere modificato in modo interattivo. Questo è stato il caso sia per gli adattatori CGA e MDA disponibili con il PC IBM XT.
L’uso della ROM per memorizzare tali piccole quantità di dati è scomparso quasi completamente nei moderni computer general-purpose. Tuttavia, Flash ROM ha assunto un nuovo ruolo come mezzo per l’archiviazione di massa o archiviazione secondaria dei file.,
Tipi
La prima EPROM, un Intel 1702, con i legami die e wire chiaramente visibili attraverso la finestra di cancellazione.
Semiconductor based
I classici chip ROM programmati con maschera sono circuiti integrati che codificano fisicamente i dati da memorizzare, e quindi è impossibile modificarne il contenuto dopo la fabbricazione., Altri tipi di memoria a stato solido non volatile consentono un certo grado di modifica:
- La memoria di sola lettura programmabile (PROM) o la ROM programmabile una tantum (OTP) possono essere scritte o programmate tramite un dispositivo speciale chiamato programmatore PROM. In genere, questo dispositivo utilizza alte tensioni per distruggere in modo permanente o creare collegamenti interni (fusibili o antifuses) all’interno del chip. Di conseguenza, un ballo di fine anno può essere programmato solo una volta.,
- La memoria di sola lettura programmabile cancellabile (EPROM) può essere cancellata dall’esposizione a una forte luce ultravioletta (in genere per 10 minuti o più), quindi riscritta con un processo che richiede nuovamente una tensione superiore al solito applicata. L’esposizione ripetuta alla luce UV finirà per logorare una EPROM, ma la resistenza della maggior parte dei chip EPROM supera i 1000 cicli di cancellazione e riprogrammazione. I pacchetti di chip EPROM possono spesso essere identificati dalla “finestra” di quarzo prominente che consente alla luce UV di entrare. Dopo la programmazione, la finestra è in genere coperto con un’etichetta per evitare la cancellazione accidentale., Alcuni chip EPROM vengono cancellati in fabbrica prima di essere confezionati e non includono finestre; questi sono effettivamente PROM.
- La memoria di sola lettura programmabile cancellabile elettricamente (EEPROM) si basa su una struttura semiconduttrice simile all’EPROM, ma consente di cancellare elettricamente l’intero contenuto (o le banche selezionate), quindi riscriverlo elettricamente, in modo che non debbano essere rimossi dal computer (o fotocamera, lettore MP3, ecc.). Scrivere o lampeggiare una EEPROM è molto più lento (millisecondi per bit) rispetto alla lettura da una ROM o alla scrittura su una RAM (nanosecondi in entrambi i casi).,
- Electrically Alterable read-only memory (EAROM) è un tipo di EEPROM che può essere modificato un bit alla volta. La scrittura è un processo molto lento e richiede ancora una volta una tensione più elevata (di solito intorno a 12 V) rispetto a quella utilizzata per l’accesso in lettura. Gli auricolari sono destinati ad applicazioni che richiedono una riscrittura poco frequente e solo parziale. EAROM può essere utilizzato come archiviazione non volatile per informazioni critiche di configurazione del sistema; in molte applicazioni, EAROM è stato soppiantato dalla RAM CMOS fornita dall’alimentazione di rete e supportata da una batteria al litio.,
- La memoria flash (o semplicemente flash) è un tipo moderno di EEPROM inventato nel 1984. La memoria flash può essere cancellata e riscritta più velocemente della normale EEPROM e i disegni più recenti presentano una resistenza molto elevata (superiore a 1.000.000 cicli). Il moderno flash NAND fa un uso efficiente dell’area del chip di silicio, con conseguente IC individuali con una capacità fino a 32 GB a partire dal 2007; questa caratteristica, insieme alla sua resistenza e durata fisica, ha permesso al flash NAND di sostituire il magnetico in alcune applicazioni (come le unità flash USB)., Memoria flash è talvolta chiamato flash ROM o flash EEPROM quando viene utilizzato come un sostituto per i vecchi tipi di ROM, ma non in applicazioni che sfruttano la sua capacità di essere modificato rapidamente e frequentemente.
Applicando la protezione da scrittura, alcuni tipi di ROM riprogrammabili possono diventare temporaneamente memoria di sola lettura.
Altre tecnologie
Esistono altri tipi di memoria non volatile che non si basano sulla tecnologia IC a stato solido, tra cui:
- Supporti di memorizzazione ottici, come CD-ROM di sola lettura (analogo alla ROM mascherata)., CD-R è scrivere una volta letto molti (analogo a PROM), mentre CD-RW supporta cicli di cancellazione-riscrittura (analogo a EEPROM); entrambi sono progettati per retrocompatibilità con CD-ROM.
esempi Storici
Trasformatore matrice ROM (TROS), da IBM System 360/20
- Diodo matrice ROM, utilizzato in piccole quantità in molti computer nel 1960 elettroniche calcolatrici scrivania e la tastiera encoder per i terminali., Questa ROM è stata programmata installando diodi a semiconduttore discreti in posizioni selezionate tra una matrice di tracce di linea di parola e tracce di linea di bit su un circuito stampato.
- Resistenza, condensatore, o trasformatore matrix ROM, utilizzato in molti computer fino al 1970. Come diodo matrix ROM, è stato programmato posizionando componenti in posizioni selezionate tra una matrice di linee di parole e linee di bit. Le tabelle delle funzioni di ENIAC erano ROM a matrice di resistori, programmate impostando manualmente gli interruttori rotativi., Vari modelli di IBM System / 360e periferiche complesse memorizzavano il loro microcodice in un condensatore (chiamato BCROS per l’archiviazione di sola lettura del condensatore bilanciato su 360/50 e 360/65, o CCROS per l’archiviazione di sola lettura del condensatore caricato su 360/30) o trasformatore (chiamato TROS per l’archiviazione di sola lettura del trasformatore su 360/20, 360/40 e altri).
- Core rope, una forma di tecnologia ROM a matrice di trasformatori utilizzata dove le dimensioni e il peso erano critici. Questo è stato utilizzato computer Apollo navicella inNASA / MIT, computer PDP-8 di DEC, e in altri luoghi., Questo tipo di ROM è stato programmato a mano tessendo “fili di linea di parola” all’interno o all’esterno di nuclei di trasformatori in ferrite.
- Negozi anello Dimond, in cui fili sono filettati attraverso una sequenza di grandi anelli di ferrite che funzionano solo come dispositivi di rilevamento. Questi sono stati utilizzati nelle centrali telefoniche TXE.,
- La maschera di carattere metallico perforato (“stencil”) in tubi catodici Charactron, che è stato utilizzato come ROM per modellare un ampio fascio di elettroni per formare una forma di carattere selezionato sullo schermo sia per la visualizzazione o un fascio di elettroni scansionato per formare una forma di carattere selezionato come sovrapposizione su un segnale video.
Velocità
Lettura
Sebbene la velocità relativa della RAM rispetto alla ROM sia variata nel tempo, a partire dal 2007 i chip RAM di grandi dimensioni possono essere letti più velocemente della maggior parte delle ROM., Per questo motivo (e per consentire un accesso uniforme), il contenuto della ROM viene talvolta copiato nella RAM o ombreggiato prima del suo primo utilizzo e successivamente letto dalla RAM.
Scrittura
Per quei tipi di ROM che possono essere modificati elettricamente, la velocità di scrittura è sempre molto più lenta della velocità di lettura e potrebbe essere necessario un voltaggio insolitamente alto, il movimento delle spine jumper per applicare segnali di abilitazione alla scrittura e codici di comando speciali di blocco / sblocco., Il moderno flash NAND raggiunge le più alte velocità di scrittura di qualsiasi tecnologia ROM riscrivibile, con velocità fino a 15 MB/s (o 70 ns/bit), consentendo la scrittura simultanea di grandi blocchi di celle di memoria.
Resistenza e conservazione dei dati
Poiché vengono scritti forzando gli elettroni attraverso uno strato di isolamento elettrico su un gate a transistor galleggiante, le ROM riscrivibili possono sopportare solo un numero limitato di cicli di scrittura e cancellazione prima che l’isolamento sia permanentemente danneggiato., Nei primi EAROMs, questo potrebbe verificarsi dopo appena 1.000 cicli di scrittura, mentre nella moderna Flash EEPROM la resistenza può superare i 1.000.000, ma non è affatto infinita. Questa durata limitata, così come il costo più elevato per bit, significa che lo storage basato su Flash è improbabile che soppiantare completamente le unità disco magnetiche nel prossimo futuro.
Il periodo di tempo su cui una ROM rimane leggibile con precisione non è limitato dal ciclo di scrittura. La conservazione dei dati di EPROM, EAROM, EEPROM e Flash può essere limitata dalla perdita di carica dalle porte galleggianti dei transistor delle celle di memoria., La perdita è accelerata da alte temperature o radiazioni. Mascherato ROM e fusibile / antifuse PROM non soffrono di questo effetto, come la loro conservazione dei dati dipende fisica piuttosto che la permanenza elettrica del circuito integrato (anche se fusibile ri-crescita una volta era un problema in alcuni sistemi).
Immagini di contenuto
Il contenuto dei chip ROM nelle cartucce della console per videogiochi può essere estratto con dispositivi software o hardware speciali. I file di dump della memoria risultanti sono noti come immagini ROM e possono essere utilizzati per produrre cartucce duplicate o in emulatori di console., Il termine è nato quando la maggior parte dei giochi per console sono stati distribuiti su cartucce contenenti chip ROM, ma raggiunto tale uso diffuso che è ancora applicato alle immagini di giochi più recenti distribuiti su CD-ROM o altri supporti ottici.
Immagini ROM di giochi commerciali di solito contengono software protetto da copyright. La copia non autorizzata e la distribuzione di software protetto da copyright è di solito una violazione delle leggi sul copyright (in alcune giurisdizioni, la duplicazione di cartucce ROM per scopi di backup può essere considerata fair use)., Tuttavia, c’è una fiorente comunità impegnata nella distribuzione illegale e nel commercio di tali software e abandonware. In tali ambienti, il termine “immagini ROM” è talvolta abbreviato semplicemente in” ROM “o talvolta modificato in” romz “per evidenziare la connessione con”warez”.