Read-only memory refers to memory chips storing permanent data and instructions.

In this problem, serial NBCD data arrives on line X, with the most significant digit first. Each data bit is synchronised with a clock pulse. It is required to design a circuit using a ROM that generates a fault signal Z = 1 each time an invalid code is received.

The block diagram and the internal state diagram are shown in Figures 11.11(a) and (b). The state table (Figure 11.11(c)) is shown in a suitable form for programming a ROM. For example, in the first row of the table, the current input to the ROM is A = 0, B = 0, C = 0, and X = 0, and the ROM output word is A = 1, B = 0, C = 0 and Z = 0. Using this state table, the ROM design can be developed, as illustrated in Figure 11.11(d). This implementation (using two-dimensional addressing) requires an 8 × 8 = 64-bit ROM.

Read-only memory refers to memory chips storing permanent data and instructions.

Figure 11.11. The invalid code detector (a) Overall system diagram (b) Internal state diagram (c) State table (d) Connection matrix (e) Circuit diagram for ROM implementation

Besides the ROM, additional logic is required to produce the output signal

Read-only memory refers to memory chips storing permanent data and instructions.
, and also three D-type flip-flops are required, one in each address line to buffer the ROM outputs from the inputs and to synchronise the operation of the circuit to the clock. These additional components with their connections to the ROM are shown in the circuit diagram in Figure 11.11(e). The outputs from the ROM on the lines A, B and C are transferred back to the input of the ROM on the trailing edge of the clock pulse.

View chapterPurchase book

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780750645829500123

The Digital Computer

Martin Plonus, in Electronics and Communications for Scientists and Engineers, 2001

8.3.4 ROM

Read-only memory is permanent and is indelibly etched into the ROM chip during manufacture. ROM contains information (usually programs) that can be repeatedly read by the computer but cannot be modified. For example, when a computer is first turned on, there are no operating instructions because the computers main memory (RAM) is “empty.”7 For a computer to start up it first executes a bootstrap program residing in ROM. The bootstrap program, which is permanently stored on ROM chips, is an initialization program (located at a special place in the addresss space) which actually is a small part of the operating system.8 The instructions on the ROM cause the computer to look for the remaining and major part of the operating system, which can be on a floppy disk or CD-ROM, but usually is stored on the hard disk, and install the operating system into the computer's working memory, or RAM. It is only now that the desired application software can be loaded from floppies, CD-ROM, or the hard disk into RAM, after which the computer is ready to do useful work.

Besides containing the bootstrap program, ROMs can give a particular type of computer some of its character. Some makes are better suited for number crunching, while, for example, Macintosh computers are especially suitable for a graphical user interface because Macintosh ROM contains elements of the software that implements that interface, even though, generally speaking, it is the operating system that gives a computer its character.

View chapterPurchase book

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780125330848500197

Introduction to Digital Logic Design

Ian Grout, in Digital Systems Design with FPGAs and CPLDs, 2008

5.6.3 Read-Only Memory

ROM is used for holding program code that must be retained when the memory power is removed, so it is considered nonvolatile storage. The code can take one of three forms:

1.

Fixed when the memory is fabricated—mask-programmable ROM

2.

Electrically programmed once—PROM, programmable ROM

3.

Electrically programmed multiple times—EPROM (electrically programmable ROM) erased using ultraviolet (UV) light; EEPROM or E2PROM (electrically erasable PROM); and flash (also electrically erased).

PROM is sometimes considered in the same category of circuit as programmable logic, although in this text, PROM is discussed only in the memory category.

RAM is used for holding data and program code that must be accessed quickly and modified during normal operation. RAM differs from read-only memory (ROM) in that it can be both read from and written to in the normal circuit application. However, flash memory is also referred to as nonvolatile RAM (NVRAM).

A basic ROM design in which ROM is provided in a dual in-line package is shown in Figure 5.83. Here, the ROM consists of the following connections:

Read-only memory refers to memory chips storing permanent data and instructions.

Figure 5.83. Basic ROM in a DIL package

Address lines define the memory location to be selected for reading or writing.

Output data lines access the data from memory.

Output enable (OE) is a control input that enables the output buffer for reading data from the memory (usually active low).

Chip select (CS) selects the memory (usually active low).

Power supply provides the necessary power to operate the circuit.

In this view, the data bus is considered to be unidirectional (i.e., output only). Where the ROM may be electrically programmed, then the data and control line arrangement will be more complex.

View chapterPurchase book

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780750683975000052

Introduction to Digital Logic Design with VHDL

Ian Grout, in Digital Systems Design with FPGAs and CPLDs, 2008

6.16.3 Read-Only Memory

ROM can be modeled in a number of ways in VHDL. In the simplest terms, the ROM can be modeled as a combinational logic circuit, with the address providing the input that creates the data output. This is achieved using statements such as If-then-else and Case-when. Another way of considering the ROM is by creating a look-up table. Both these models in their basic form, shown in Figure 6.90, do not consider the control signals (ROM enable and read signals) that would normally exist with the address and data signals.

Read-only memory refers to memory chips storing permanent data and instructions.

Figure 6.90. Simple read-only memory model

A simple ROM design can be generated by creating an array and filling it with the data values. In the example shown in Figure 6.91, an array type (Rom_Array) is defined within the architecture with a size (number of elements) equal to the number of address locations in the memory. This has sixteen address locations and eight data bits per address.

Read-only memory refers to memory chips storing permanent data and instructions.

Figure 6.91. 16 address X 8 data bit ROM

The array is filled with values in the constant data object. The Data output is assigned the value held within selected element of the Rom_Array. The Address input selects the array element to access. The Address here is an integer data type with values from 010 to +1510. An example VHDL test bench for this design is shown in Figure 6.92.

Read-only memory refers to memory chips storing permanent data and instructions.

Figure 6.92. 16 × 8 ROM test bench

This design could be modified either by adding control signals and a tristate output (the output being high impedance when the rom is not selected), or by considering the use of std_logic_vector data input for the address rather than an integer data input.

View chapterPurchase book

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780750683975000064

ARM EMBEDDED SYSTEMS

ANDREW N. SLOSS, ... CHRIS WRIGHT, in ARM System Developer's Guide, 2004

1.3.3.3 Types

There are many different types of memory. In this section we describe some of the more popular memory devices found in ARM-based embedded systems.

Read-only memory (ROM) is the least flexible of all memory types because it contains an image that is permanently set at production time and cannot be reprogrammed. ROMs are used in high-volume devices that require no updates or corrections. Many devices also use a ROM to hold boot code.

Flash ROM can be written to as well as read, but it is slow to write so you shouldn't use it for holding dynamic data. Its main use is for holding the device firmware or storing long-term data that needs to be preserved after power is off. The erasing and writing of flash ROM are completely software controlled with no additional hardware circuity required, which reduces the manufacturing costs. Flash ROM has become the most popular of the read-only memory types and is currently being used as an alternative for mass or secondary storage.

Dynamic random access memory (DRAM) is the most commonly used RAM for devices. It has the lowest cost per megabyte compared with other types of RAM. DRAM is dynamic—it needs to have its storage cells refreshed and given a new electronic charge every few milliseconds, so you need to set up a DRAM controller before using the memory.

Static random access memory (SRAM) is faster than the more traditional DRAM, but requires more silicon area. SRAM is static—the RAM does not require refreshing. The access time for SRAM is considerably shorter than the equivalent DRAM because SRAM does not require a pause between data accesses. Because of its higher cost, it is used mostly for smaller high-speed tasks, such as fast memory and caches.

Synchronous dynamic random access memory (SDRAM) is one of many subcategories of DRAM. It can run at much higher clock speeds than conventional memory. SDRAM synchronizes itself with the processor bus because it is clocked. Internally the data is fetched from memory cells, pipelined, and finally brought out on the bus in a burst. The old-style DRAM is asynchronous, so does not burst as efficiently as SDRAM.

View chapterPurchase book

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9781558608740500022

Physical Attacks and Countermeasures

Swarup Bhunia, Mark Tehranipoor, in Hardware Security, 2019

10.2.6.2 ROM RE

To reverse engineer the ROM content, one can take advantage of modern optical and electron microscopy to observe the binary states of each cell, as indicated below:

Active-layer programming ROM: The metal layer and poly layer need to be removed using the delayering approaches discussed in Section 10.4, for they will obscure the active layer underneath.

Contact-layer programming ROM: It is much easier to reverse engineer this kind of ROM, as there is often no need to delayer the metal layer and the poly layer. In the relatively old ROM technology, the contact layer is clearly visible, but in more modern technologies, some delaying is still needed to expose the contact layer before observation.

Metal-layer programming ROM: This type of ROM can be directly observed under a microscope without having to perform any delayering process.

Implant programming ROM: This type of ROM is inherently resistant to optical microscopy, as different logic states appear identical. To observe the impact of different doping levels, additional dopant-selective crystallographic etch techniques [62] should be utilized to separate the two logic states.

Generally, ROM only provides limited protection against RE. Among all types of ROM, the metal-layer programming ROM offers the worst security, because the metal layer is easy to obtain with little effort, whereas the implant programming ROM provides the highest level of protection available.

View chapterPurchase book

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780128124772000150

Embedded Systems Analysis

Ronald van der Knijff, in Handbook of Digital Forensics and Investigation, 2010

Memories

From a forensic examination perspective, memories are the most interesting embedded system components because they contain the most user related data. Memory refers to all semiconductor components of embedded systems that retain digital data. Besides memory, embedded systems can also contain other data storage media like hard drives or optical discs but these components can mostly be treated like open system components. For forensic examination of semiconductor memory it is important to know the main characteristics of different memory types.

Read Only Memory (ROM)

ROM is nonvolatile1 memory in which data are deposited during the production process and thereafter can only be read. ROM is used to store software and other static data. Embedded operating systems were often stored in ROM but this has changed since the introduction of flash memory.

Programmable ROM (PROM)

PROM is nonvolatile memory in which data are deposited not during the production process but at a later programming stage and thereafter can only be read. Variations on the basic design have resulted in different programming concepts with the following distinguished names.

Erasable PROM (EPROM)

EPROM is a PROM that can be erased as a whole with UV light and then reprogrammed (on the order of a hundred times).

Electrically Erasable PROM (EEPROM)

EEPROM is a PROM in which each individual byte can be erased electrically (up to a million times for modern types). In embedded systems, EEPROM is mainly used for nonvolatile storage of dynamic data (configuration preferences, transactions, etc.).

Flash

Flash is an EEPROM in which data can only be erased in blocks (up to a million times for modern types). Erasing results in a memory block that is filled completely with 1s. Flash memory comes in two flavors: NOR flash and NAND flash, named after the basic logical structures of these chips. Contrary to NAND flash, NOR flash can be read byte by byte in constant time. This property allows more efficient execution of code and is the reason why NOR flash is often used when the primary goal of the flash memory is to store firmware.2 Parts of NOR flash that are not occupied by firmware are then used for user data storage. In NAND flash, blocks are divided further into pages, for example 32 or 64 per block. A page is usually a multiple of 512 bytes in size, to emulate 512 byte sector size commonly found in file systems on magnetic media. Additionally, a page has a number of so-called spare area bytes, generally used for storing metadata such as error-correcting codes (ECC). Modern NAND flash uses multiple levels of electrical charge to store more than one bit in each cell. This mechanism and the limited amount of erase cycles cause bit errors during normal device operation. Modern NAND flash relies on error-correcting codes, stored in the spare area bytes, to detect and correct these errors. If errors cannot be recovered, a block is marked bad and another block is used instead.

Because of its high density of storage and fast access time, flash is emerging as a replacement for both ROM and EEPROM. NAND flash is the most used technology for the storage of multimedia data (music, photos, etc.) in embedded systems.

Such flash memory is often represented at the system level as an ATA disk with a FAT file system. The block structure has two important implications for forensic investigations. First, these systems are mostly built in such a way that deleted files are only marked in the FAT as deleted but can still be retrieved. After a disk formatting operation, the blocks might be physically erased, which makes recovery almost impossible. Second, different physical versions of one logical file can be present. This occurs when the size of the files is much smaller than the flash block size, which makes it more efficient to erase a block only if there is no more free space available in it. While there is free space, markings (available/unavailable) show which physical areas of memory are available. When there is no more free space in a block, only the active areas are copied to a free block and the old block is erased physically.

Random Access Memory (RAM)

RAM is volatile memory that can be written to as well as read. RAM can be divided into Dynamic RAM (DRAM needs to be refreshed periodically) and Static RAM (SRAM does not need to be refreshed). In embedded systems, RAM is used as working memory and in combination with a battery for nonvolatile storage of dynamic data.

Ferro Electric RAM (FeRAM)

FeRAM is a new, nonvolatile memory with the read and write characteristics of DRAM. For embedded systems, FeRAM has the potential in the future to replace all other types of memory as universal memory.

Table 8.1 summarizes the most important characteristics of the discussed memory types.

Table 8.1. Main Characteristics of Different Memory Types

CharacteristicsROMPROMEPROMEEPROMFLASHDRAMSRAMFeRAMDensity61.541.56415Retention time∞∞10 years10 years10 years0010 yearsRewritablen/a1100106106∞∞1016Writing speedn/a----+++++++Reading speed++++++++++

View chapterPurchase book

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780123742674000082

Domain 2: Asset Security (Protecting Security of Assets)

Eric Conrad, ... Joshua Feldman, in CISSP Study Guide (Third Edition), 2016

RAM and ROM

RAM is volatile memory used to hold instructions and data of currently running programs. It loses integrity after loss of power. RAM memory modules are installed into slots on the computer motherboard. RAM is also becoming increasingly embedded in computer motherboards, making upgrading difficult, if not impossible.

ROM (Read Only Memory) is nonvolatile: data stored in ROM maintains integrity after loss of power. A computer Basic Input Output System (BIOS) Firmware is stored in ROM. While ROM is “read only,” some types of ROM may be written to via flashing, as we will see shortly in the “Flash Memory” section.

Note

The volatility of RAM is a subject of ongoing research. Historically, it was believed that DRAM lost integrity after loss of power. The “cold boot” attack has shown that RAM has remanence: it may maintain integrity seconds or even minutes after power loss. This has security ramifications: encryption keys usually exist in plaintext in RAM, and may be recovered by “cold booting” a computer off a small OS installed on DVD or USB key, and then quickly dumping the contents of memory. A video on the implications of cold boot called “Lest We Remember: Cold Boot Attacks on Encryption Keys” is available at http://citp.princeton.edu/memory/

Remember that the exam sometimes simplifies complex matters. For the exam, simply remember that RAM is volatile (though not as volatile as we once believed).

View chapterPurchase book

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780128024379000035

Digital electronics

Martin Plonus, in Electronics and Communications for Scientists and Engineers (Second Edition), 2020

7.6.5 ROM

A ROM module has provisions for READ only, and not for WRITE, which makes it simpler than RAM. ROM is also nonvolatile, which means that data are permanently stored and appear on the output lines when the cell is selected. In other words, once a pattern in memory is established, it stays even when power is turned off.

Typically the manufacturer programs ROMs that cannot be altered thereafter. PROMs are field programmable, which allows the user to program each cell in the memory. A PROM comes to the user with all cells set to zero but allows the user to change any zeros to ones. Again, once the user programs the PROM, it is irreversible in the sense that it cannot be reprogrammed or erased. Changing one's mind about the contents of the memory implies that the memory chip must be discarded. As noted already, EEPROMs can be rewritten many times, typically 10,000 to 100,000 times, and can be written by the processor itself while the computer is running.

Which memory chips are used to store fixed Permanent start up instructions?

ROM contains the programming that allows a computer to start up or regenerate each time it is turned on. ROM also performs large input/output (I/O) tasks and protects programs or software instructions. Once data is written on a ROM chip, it cannot be removed.

Which unit is a case that contains the electronic components of the computer used to process data?

System Unit is a case that contains electronic components of the computer used to process data. ❖ Made of metal or plastic to protects the internal components from damage. ❖ All computers have a system unit. It is available in variety of shapes & sizes.

What speeds the processes of the computer because it stores frequently used instructions and data?

Cache memory, also called CPU memory, is high-speed static random access memory (SRAM) that a computer microprocessor can access more quickly than it can access regular random access memory (RAM).

Is the electronic component that interprets and carries out the basic instructions that operate the computer?

The central processing unit, or the processor, interprets and carries out the basic instructions that operate a computer.